Маппинг в дф. Мануал для новичков.
Часть #1

By 2pac!

Предисловие.
В первую очередь хочу поблагодарить: iFX_X4me1eoH, GT-3oHT, GT-Unwind, GT-Agressor, Spiteful Max & other :D
За основу я взял статьи: "Введение. Автор Spiteful Max, 23.03.2003" и "С чего начать DeFRaG маппинг. Автор GT-Agressor, 11.02.2005", объединил их в одну и добавил своего, чтобы, как я надеюсь, было понятнее.
Этот мануал предназначен для новичков, которые совсем не имеют представление как создавать карты, но хотят освоить маппинг для дефрага.
Прошу строго не судить, ибо я сам новичок в этом деле. Тем самым постараюсь написать так чтобы было понятно всем :D

1. Вступление.
1.1.Для создания карт существует несколько редакторов. Я использую GTKRadiant 1.4.0, насколько я знаю это самый распространенный, именно этой версии. Скачать его можно по этой ссылке(урезанная версия): http://q3mapping.on.ufanet.ru/soft/GTKRadiant1.4.0.cut.rar ; пароль для архива: http://q3mapping.on.ufanet.ru/
1.2.Небольшой совет. Перед тем как делать скелет карты уже в редакторе, я иногда делаю набросок на бумаге :D а потом уже маплю, так намного проще, чтобы не упустить мысль :)

2. Первые шаги.
2.1.Краткий обзор редактора. Я советую использовать стандартный вид редактора (как на изображении ниже).

Грубо говоря, он разделяется на 3 окна:
1)Главное окно. В нем собственно и нужно создавать браши и другие объекты. Для переключения вида в осях XY, XZ, YZ используй Ctrl+Tab.
2)Окно для визуального обзора в трехмерном виде. Нажми один раз Right Mouse Button и используй стрелки для перемещения камеры. Повтроное нажатие Right Mouse Button - зафиксировать камеру.
3)Окно для выбора текстур. Набор текстур находится в меню 'Textures', н-р: 'base\base_wall'
Главной идеей BSP технологии является браш (brush). Кубы, циллиндрические колонны, кривые - все это браши.
Теперь попробуем создать первую карту.

2.2.Создание комнаты.
Для того, чтобы выбрать любой браш или объект, жми Shift+Left Mouse Button. Для создания комнат используется функция 'Make Hollow', а для прорезания дыр или любых других отверстий, функция 'CSG Subtract'.
Жми левую кнопку мыши в главном окне(1) и, не отпуская кнопки, перетащи курсор вниз-вправо (ты увидишь красное выделение в форме квадрата), теперь используй Ctrl+Tab для переключения вида с XY Top на XZ Front, сделай так, чтобы во всех проекциях у тебя был квадрат, постарайся его сделать побольше). Браш выделен только тогда, когда он подсвечен красным контуром по краям. Лучше выделять во втором окне(2), так как если выделять в первом можно выделить чего
Теперь выбери в меню 'Selection->CSG-> Make Hollow' или нажми кнопку 'Hollow' (Созданный тобой браш должен быть выделен) на панели (кнопка выглядит как квадрат, внутри которого другой квадрат поменьше).
У нас получилась комната со стенами, полом и потолком.

2.3.Точка появления игрока.
Теперь нам нужно сделать точку появления игрока. Для этого в главном окне(1) кликай правой кнопкой мыши и из появившегося меню выбирай 'info\info_player_start'. Если ты её не поставишь, то карта просто не загрузится. Нужно чтобы точка появления игрока была в этой комнате, которую мы уже создали.

2.4.Простейший источник света.
Чтобы игрок хоть что-то увидел на твоей карте, нужно добавить источник света. Опять кликай правой кнопкой мыши в главном окне(1) и выбирай пункт 'light', в появившемся окне нужно ввести интенсивность света, по умолчанию 300, но нам хватит и 150. 300 - это очень мощный свет. Если рядом со стенами, то такого 50-125 достаточно, если свет ставить по центру, то 300.

2.5.Текстуры.
Сначала, нужно загрузить набор текстур, для этого выбери в меню 'Textures' набор, для примера 'base\base_wall'. Теперь выбери любой браш (Shift+Left Mouse Button, если хочешь выделить одну сторону браша, а не полностью браш жми Ctrl+Shift+Left Mouse Button) и в окошке с текстурами кликни по любой картинке. Твой браш должен был окраситься в выбранную тобой текстуру. Теперь разукрась всю комнату по своему усмотрению. Естественно нужно окрашивать стены, потолок, пол в текстуры предназначенные для них(wall, floor и т.п.)

2.6.Объекты(таймеры, чекпоинты...)
Для создания полноценной карты достаточно двух объектов target_startTimer, target_stopTimer. Первый запускает таймер, второй - останавливает. Сначала нужно создать браш на том месте, где предполагается старт, окрашиваем его в текстуру 'trigger'(Textures\common\trigger). Присваиваем этому брашу функцию trigger_multiple (клик правой кнопкой мыши на выделенном браше - trigger - trigger_multiple).
Потом с свойствах этого триггера (<N>) в поле "key" вводим "target", а в поле "value" - например, "start". После того как ввели значения в поля key и value, нужно нажать 'Enter', тоько после этого значения запишутся в свойства объекта.
Затем создаем target_StartTimer. (уже отдельно в главном окне(1) клик правой кнопкой target - target_StartTimer). И в его свойствах(<N>) прописываем:
Key: targetname
Value: start (надо, чтобы это значение совпадало с тем, что написано в свойствах trigger_multiple). Если все прошло успешно, то объект target_StartTimer(маленький красный квадрат) и браш с текстурой 'trigger' соединятся красной линией. Стартовый таймер готов.
Аналогичную операцию проделываем с target_stopTimer. Выбираем место где будет финиш и делаем все тчно также, но важно, только, чтобы значения ключей target/targetname отличались от тех, что были у старта. Например: в свойствах браши триггера:
key: target
Value: stop
А в свойствах объекта target_stopTimer:
key: targetname
Value: stop
Стартовый и стоп таймеры готовы.
Чекпойнты (их желательно использовать на длинных картах) создаются точно так же как и старт и стоп таймеры. Сначала trigger_multiple - потом target_checkpoint.
Target_init нужен для того, чтобы отбиралось оружие (и прочие полезные итемы). Он используется для предотвращения таймрезетов (то есть я не могу побегать по карте, собрать все рулезы, вернуться на старт и начать проходить карту, их у меня просто отберут). Его создание в точности повторяет описанный выше механизм создания старта.
Для начала этого хватит.

2.7.Компиляция, defi скрипт, levelshot, паковка в .pk3
Карта уже готова, остается ее только откомпилировать. В основном компилю так:


После компиляции появляется файл .bsp с названием вашей карты. Например: test.bsp
Для того, чтобы карта отображалась в списке всех дефраговских карт нужен файл с расширением .defi
Создаем в папке /baseq3/scripts текстовый файл с названием: название_карты.defi
Его содержимое:

{
map "название_карты"
longname "пиши_что_хочешь"
style "run"
author "твой_ник"
vq3 "1"
cpm "0"
}

Строчки "vq3" и "cpm" обозначают какая физика на карте (стандартная - vq3)
В строчке style можно "training" "accuracy" "level"
В нашем случае будет так test.defi:
{
map "test"
longname "test map"
style "run"
author "mapper"
vq3 "1"
cpm "0"
}
Defi скрипт создан и должен лежать в папке /baseq3/scripts
Bsp файл должен лежать в папке /baseq3/maps
Запускаем дефраг, и уже можно сделать первую демку в своей карте :)
После того как набегались в ней, делаем levelshot:
Сначала выбери место на карте и сделай скриншот (в кваке, а не в радианте). Желательно, чтобы на нем не было всякого оружия, хелса и прочих индикаторов. Теперь этот скрин в каком-нибудь редакторе сожми до размера 128х128 и сохрани в формате jpg. Размеры картинки не ограничены в размерах. Я обычно делаю 640х480. Осталось обозвать файл так же, как и файл карты и положить его в 'baseq3\levelshots'.
В итоге нам нужны 3 файла, которые должны лежать в соответсвующих папках. В нашем случае:
levelshots\test.jpg
maps\test.bsp
scripts\test.defi
Выделяет эти три папки и добавляем в архив. После архивации переименовываем в test.pk3
Карта готва, кидаем в папку \defrag, Должно работать :D

Как тестить карту в процессе создания: создаете файл .defi в /baseq3/scripts и когда нужно потестить - компилим и кидаем .bsp в /baseq3/maps. Да, еще забыл сказать - экспериментируйте - именно так вы наберете опыт в маппинге, пробуйте все что вам интерсно и задавайте вопросы :)
Самое приятное ощущение - когда первый раз тестишь свою карту :)
Уже потом, набив руку, вы освоитесь и будете создавать более сложные карты в плане гэймплэя и дизайна. На ваших мапах будут играть, бить реки, а еще лучше если они попадут в какой-нибудь дефраговский мувик :D
Удачи!

3.FAQ
Q:как выделить браш, как снять с него выделение?
A:Выделить браш: Shift+Left Mouse Button, выделить несколько брашей: повторные нажатия Shift+Left Mouse Button на других брашах
Выделить одну сторону браша: Ctrl+Shift+Left Mouse Button
Снять выделение: Esc

Q:Как скопировать браш, обьект?
A:Клавиша - пробел. Это очень удобно когда нужно сделать много повторяющихся брашей, объектов. Также можно выделить несколько брашей, объектов и копировать их.

Q:Как удалить браш?
A:Клавиша BackSpace :)

Q:Как можно изменить прямоугольный браш?
A:Во втором окне(2) редактора зажав клавишу Ctrl двигайте браш за углы

Q:Как сделать браш ввиде круга,эллипс и т.п.?
A:Кривые браши можно сделать во вкладке меню Curve, эксперементируйте :)

Q:Как сделать воду?
A:Жидкости находятся в 'textures\liquids'

Q:Как оптимизировать карту?
A:Читайте статью ЗоНТ'а "оптимизация карт"

Q:При компиляции выдает: map is leaked
A:Произошла утечка в карте, она должна быть закрыта полностью

Задавайте вопросы в тему Defrag.ru Community > Quake3 (Defrag) > FoR MaPPeRs oNLy!

Хотелось бы дополнить FAQ, так что задавайте вопросы. Бывалым мапперам прошу сообщить об ошибхах в мануале :)

 

FUBU(ForUsByUs)

Сайт управляется системой uCoz