Популярные

Наши Группы

Голосование

Чего не хватает на сайте?

Наша кнопка

Казахстанский Игровой Портал!

Друзья сайта

Реклама

Казахстанский Игровой Портал!

Продвинутый маппинг УРОК 1 !

Добавил: love makeserver|20 сен 2011|Просмотров: 3 126|Комментариев: 0
  • Не нравится
  • 0
  • Нравится
Продвинутый маппинг УРОК  1 !


А вот так будет выглядеть авиаудар в игре:

Схема работы авиаудара будет такой (смотрите картинку ниже):

Игрок проходит через trigger_multiple, расположенный на мосту
Trigger_multiple активирует multi_manager
Multi_manager активирует все объекты, создающие эффект авиаудара

Продвинутый маппинг УРОК  1 !


1. Trigger_multiple
Что же, начнём с создания брашевого энтити-объекта trigger_multiple. Его мы расположим посередине моста (смотрите картинку ниже). Когда игрок пройдет через данный триггер, будет активирован multi_manager, расположенный чуть выше (местоположение его значения не имеет).

Продвинутый маппинг УРОК  1 !


Trigger_multiple (активирует объект multi_manager)
Target: jet_multi (здесь мы указали название multi_manager'а)
Delay before trigger: 5 (время до активации multi_manager'а, в секундах)
Delay before reset: 360 (время в секундах, в течении которого триггер не может быть активирован повторно)

2. Multi_manager

Multi_manager, как видно из схемы, расположенной выше, запускает четыре энтити-объекта: сначала звук самолета, потом запускает сам самолет, после этого активирует встряску земли и, в конце концов, запускает подрыв разрушаемых ящиков.

Свойства multi_manager'а выглядят так:

Продвинутый маппинг УРОК  1 !


«Targetname» при отжатой кнопке «Smart Edit» означает название энтити-объекта multi_manager, то есть jet_multi. Ниже названия мы видим запуск звука jet_sound через 0.1 сек, запуск самолета jet через 1.0 сек, запуск встряски jet_shake через 1.0 сек и запуск взрыва ящиков jet_crate через 1.9 сек. Время запуска всех данных объектов рассчитано с учётом скорости полёта самолета (ведь нужно подорвать ящики, когда самолет будет пролетать над ними, но не раньше и не позже).

3. Звук самолета Ambient_generic

Самым 1-ым энтити-объектом запускаемым через 0.1 секунды является звук самолета. Конечно, это будет энтити-объект ambient_generic. А вот как выглядят его параметры и флаги:

Ambient_generic (звук самолета)
Name: jet_sound (название объекта)
Path: ambience/jetflyby1.wav (путь к звуку, это стандартный звук самолета)
Volume: 10 (громкость звука, максимальная)

Флаги:


Play Everywhere: играть по всему уровню
Start Silent: в начале нового раунда звук не играется
Not Toggled: играет один раз (затем его нужно запускать ещё раз)

. Запуск самолета Func_door

Для профессионального создателя карт энтити-объекты не более, чем просто объекты, обладающие определенными свойствами. В самом деле, не стоит думать, что энтити-объект func_door может быть только дверью исходя из названия. Если раскрасить дверь подходящими текстурами и расположить горизонтально, то вполне можем получить платформу или простой лифт.

Так и в нашем случае, дверь будет выполнять отличную от её прямого назначения функцию — она будет самолетом :-) В нашем тестовом уровне мы использовали текстуры самолета из de_torn.

На рисунке ниже видно, что самолет у нас будет плоским прямоугольным брашевым энтити-объектом func_door, повернутым на угол 45 градусов в направлении своего движения.

Продвинутый маппинг УРОК  1 !


Раскрасив браш текстурой самолета, поверните его на виде сверху (2D top). Советуем использовать ровные значения: 30 градусов, 45 градусов, 60 градусов и т.п.

Превратите браш нажатием комбинации клавиш [Ctrl-T] в энтити-объект func_door и выставьте в параметре «Angle» точно такой же угол, на который развернули самолет. В нашем случае самолет повёрнут на угол 45 градусов. Важно также указать параметр Delay before close: -1, чтобы самолет мог произвести авиаудар только один раз за раунд, то есть долетев до конечной точки своего пути, он останется там до конца раунда, чтобы с началом нового раунда вернуться в изначальную позицию.

Чтобы синие части текстуры стали в игре невидимыми, нужно указать такие режимы отображения:
Render Mode: Solid, FX Amount: 255.

Следующим значимым параметром нашего будущего самолёта (func_door) является «Lip», определяющий расстояние, на которое переместится самолет. Стандартно самолёт пролетит расстояние, равное своей длине (ширине). Дистанция при использовании параметра «Lip» вычисляется так: дистанция = длина самолета - Lip.

Эту дистанцию определяем на двумерном виде сверху (2D top). Так как градус, под которым летит наш самолет, равен 45, то расстояние легко высчитать по диагонали координатной сетки. Если у нас сетка разбита на квадраты 128х128 юнитов, то по теореме Пифагора (вы же её помните? :-) длина диагонали получается равной примерно 180 юнитов. Как Вы конечно же понимаете, теорема Пифагора применима к любому прямоугольному треугольнику, независимо от того, одинаковы катеты A и B или нет.

Продвинутый маппинг УРОК  1 !


читаем число квадратов с размером 128х128 юнитов от начального до конечного положения самолета. У нас получилось 9 квадратов, а значит дистанция равна примерно 1600 юнитов. Именно поэтому в параметр «Lip» мы вбили значение «-1600» («минус», так как отрицательное значение увеличивает дистанцию полёта. В самом деле, в формуле: дистанция = длина самолета - Lip перед параметром «Lip» стоит минус, а минус на минус дает плюс).

Func_door (самолет)
Angle: 45 градусов (направление полета самолета, определяется на двумерном виде сверху — 2D top)
Name: jet (название самолета)
Render mode: Solid (данный режим отображения вместе с fx amount: 255 делает синие части самолета невидимыми)
FX Amount: 255
Speed: 1600 (скорость самолета, высокая)
Lip: -1600 (дополнительная дистанция, на которую пролетит самолёт; значение никак не связано со скоростью, просто цифры совпали)
Wait before close: -1 (остаётся в конечном положении до конца раунда; затем в начале следующего раунда возвращается на место)


5. Встряска Env_shake

Данный спецэффект отсутствует на de_torn, но мы решили немного пошалить :-) и усилить восприятие низко летящего реактивного самолета, поэтому добавили маленькое землетрясение при помощи энтити-объекта env_shake.

Env_shake (объект, вызывающий встряску карты)
Name: jet_shake (название «встряски»)
Amplitude 0-16: 2 (амплитуда колебаний, маленькая)
Duration (seconds): 3 (длительность встряски в секундах)
0.1 jerk, 255.0 = rumble: 2 (частота толчков; чем больше значение, тем чаще трясет)

Флаги:

GlobalShake: землетрясение распространяется по всему уровню


6. Взрыв ящиков Func_breakable


Func_breakable (взрывающиеся ящики)
Strenght: 1 (прочность ящиков, можно оставить по умолчанию)
Material type: Wood (тип материала, дерево)
Explode magnitude: 170 (сила взрыва, значительная)

Флаги:

Only Trigger: взрывается только от активации (игрок расстрелять ящики не может)



Заключение

При изготовлении данного самолета рекомендуется размещать его так, чтобы он не был виден с земли, иначе может получиться, что самолёт будет висеть над каким-либо домом и ждать, когда его активируют :-)

Также нужно учитывать следующую особенность энтити-объекта func_door: в начале следующего раунда func_door всегда возвращается в начальное положение, то есть можно увидеть, как самолет задом летит в изначальное положение. Зная эту особенность, не размещайте респауны рядом с траекторией полёта самолета, если вы не хотите, чтобы игроки увидели сей казусный маневр :-)





в архиве карта-пример в форматах BSP и RMF.


Скачать:
Внимание! У Вас нет прав для просмотра скрытого текста.

Категория: Разное Cs 1.6
  • Нажмите на для того чтобы отправить Жалобу или уведомить Администратора о ошибке в новости.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Казахстанский Игровой Портал!