Отправлено: 07.04.09 13:19. Заголовок: Создаем большой взрыв
Думаю, ты со мной согласишься, что ломать – не строить. И гораздо веселей в какой-то момент прохождения подорвать весь уровень к чертовой бабушке и носиться по дотлевающим остаткам зданий, чем скучать без этого, + это обязательный элемент любого боевика. Итак, как же нам устроить огромный взрыв?
Сражу сразу: для создания красивого взрыва одним скриптом не обойдешься. Еще нужно создать подходящую деколь, и даже не одну, а несколько штук. Также нам понадобится собственно детонатор, в роли которого можно взять любой компонент.
Этап 1.Создание детонатора.
Я объясню ситуацию, как сделать детонатор невидимым, ведь возможен вариант, что взрыв происходит просто в воздухе (с видимым проще и не так интересно). Упростим себе задачу и возьмем бочку. Поставим ее в эпицентре будущего взрыва.
Какие настройки нужны бочке? Открывай правой кнопкой настройки и смотри: Static Mode – обязательно No, Spawn at start – Yes (не страшно, мы сделаем такой скрипт, что игрок не будет замечать ее присутствия с начала игры), Strenght – неважно, лишь бы не ноль (при нуле бочка бессметрная), раздел настроек Physics очень важен, в нем, где только возможно, изменяем значения параметров на Yes, Physics Weight и Physics Friction ставим побольше, в несколько тысяч, Physics Force Damage и Explode Damage – процентные значения, поэтому их вписываем как 100. Текстуру для объекта нужно сделать альфаканалом, то есть прозрачной. На форуме обсуждалось как сделать такую текстуру, но повторюсь, что, открыв Paint.NET, нажимаем комбинацию Ctrl-A и Del, затем Ctrl-S, указываем .dds, в настройках DXT-3, и в конце имени текстуры нужно дописать _D2 (пример: alpha_d2.dds). Путь к текстуре прописываем в поле Texture наших настроек.
Этап 2.Создание деколей взрыва.
В паках достаточно нужных деколей, но они все недостаточно большого размера. Поэтому мы возьмем существующие деколи и поменяем им их масштаб. Нам нужны три деколи: 1-собственно взрыв, 2-огонь, который остается после него, 3-дым от огня. Добавим их с центром в эпицентре взрыва. Более красиво и правильнее будет, если деколи будут фиксированные, собственно, в скрипте мы это оговорим. Так, что сразу рассчитывай, если не хочешь, чтобы у тебя огонь вопреки всем законам физики горел горизонтально, то направляй синие стрелки вверх, зеленые в предполагаемое место нахождения игрока в момент взрыва, ну а красные – уж куда останется (можешь попробовать их изогнуть в любимую сторону, если выйдет
Этап 3.Создание скриптов.
Теперь самое сложное – правильные скрипты. Нам нужны будут три штуки – один для деколи взрыва, еще один для деколей огня и дыма. Ах, да, и еще для компонента, который выступает детонатором. Вот примеры скриптов, которые я набросал. Можешь их немного поправить или дополнить. Первый скрипт (первая строка запускает таймер, вторая через 5 секунд (timergreater=5000) включает деколь взрыва и ее звук, третья убивает ГГ, если он находится в точке взрыва): Показать скрытый текст
Второй скрипт (похожий на первый, вторая строка чуть больше, чем через 5 секунд (timergreater=5200) начинает проигрывать деколь взрыва и ее звук (в отличие от первого скрипта, где взрыв единоразовый), третья ежесекундно забирает хитпоинты у ГГ, если он находится в зоне огня): Показать скрытый текст
Третий скрипт (первая строка отключает возможные столкновения игрока с детонатором, вторая через 5 секунд (timergreater=5000) уничтожает бочку, чем провоцирует взрыв): Показать скрытый текст
Опять же, условия можно сделать разнообразные, просто всего лишь заменив строку timergreater=5000 во всех скриптах на необходимую. Взрыв через 5 секунд после запуска уровня сделан просто для демонстрации. Скрипты ставим деколям и детонатору в поле Main.
Для создания красивого эффекта сделай динамические компоненты, которые будут находится вокруг взрыва, более легкими – пусть они разлетятся во все стороны куда подальше…
Еще можно сделать воронку, тогда просто при расположении сегментов оставь яму под будущим взрывом и закрой ее какой-нибудь динамической ентитей со скриптом, что мы ставим детонатору (доской, например, хотя можно просто однополигональной текстурой пола) - при взрыве она исчезнет и мы увидим дыру (чтобы она не была квадратной, можна использовать наклонные мешы из romhub pack.
Хотя написано довольно мнго, это просто расписано подробно, на самом деле мы ставим бочку, ставим три деколи и всм им ставим нужные скрипты. Все!
Ну все... Тема почищена от лишних деталей и недоразумений. По мне, так урок отличный (незря ждали)! А главное, что таким макаром можно устроить не только взрыв, но и, например, прорыв воды, гейзеры и что-нибудь еще :)
Все даты в формате GMT
5 час. Хитов сегодня: 10
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет