Взрывы в UDK. Физика
Итак, всем привет! J
Мы с Вами по пунктам постепенно создадим бомбу в UDK. И это вам уже не шутки. Мы изучим много блоков в Kismet, которые нам позволят качественно, точно и красиво сделать взрыв в игре.
Шаг №1. Дизайн уровня
Прежде чем взрывать нужно место, где это делать. Поэтому мы, вспоминая по ходу и Geometry Mode, делаем дизайн…
1. Создайте новую карту (Blank Map)
2. Нажмите правой кнопкой мыши по значку кубика в колонке Brushes
Откроются свойства
Создайте платформу размера 1024x1024x32
Нажмите SCG Add
3. Используя Geometry Mode, сделайте стенки вокруг платформы
4. Теперь добавьте на платформу Static Meshes (нас интересует рычажки, бочки, стенки и т.д.)
Как видите, это три рычага (грубо говоря). В общем, лучше это назвать пусковыми установками.
И у нас есть три бочки, которые будут разлетаться при взрыве.
Это чуть более общая картина J. Далее, добавьте материал на стены
Используя Static Meshes, наполните вашу комнату объектами. Что бы смотрелось хорошо)))
Шаг №2. Конвертирование и еще некоторые фишки
1. Итак, сейчас в нашей комнате все предметы Static Meshes. Это означает то, что они не воспринимают на себя никакие удары. При взрыве мы хотим, что бы бочки разлетелись + упал блок стены. Вот для этого есть такая вещь – Converter
Выберите одну бочку
Правой кнопкой мыши тыкните на бочку à Convert à … To KActor
В виде Brush Wireframe она сразу же поменяет цвет
Проделайте то же самое со всеми моделями.
Теперь запустите ваш уровень с оружием и попробуйте пострелять в бочки. Вы сразу же увидите, как они отлетают. То есть бочки воспринимают на себя физику!
Шаг №3. Добавление триггеров и сообщений
1. Мы же не просто так поставили панели управления! Триггер – это пространство. Как только вы в него входите, что-то происходит. Что именно? В нашем случае начинают появляться сообщения, а потом происходит взрыв! Поэтому добавляем вот так триггеры
P.S. Как добавить триггер (Правой кнопкой мыши по полу à Add Actor à Add Trigger)
2. Теперь заходим в кизмет
Примерно так разместите окошки. Слева ваш уровень, а справа – Kismet.
Выберите самый первый триггер на вашем уровне
Правой кнопкой мыши по серому экрану в Kismet (R.C.[Kismet]) à New Event Using Trigger_& à Touch
3. За сообщения отвечают много блоков. Мы с вами в классе прошли только два. Первый – это блок, который выводит сообщения в центре экрана. Как добавить: R.C.[Kismet] à New Action à Voice/Announcements à Play Announcement
Соединяем два блока
Заходим в свойства блока Play Announcement
Видим три вкладки. Открываем первую
И меняем свойство Announcement Text. То есть, вписываем туда сообщение: Hello! If you want to attack this building click ‘E’.
Запускаем игру, подходим к пульту и видим сообщение
Отлично! Теперь опять выберите ваш триггер и зайдите в Kismet. Но теперь сделайте так: Kismet (R.C.[Kismet]) à New Event Using Trigger_& à Used (использование)
Разместите в точности блоки как и я!!! Как двигать блоки? Выберите блок и, удерживая CTRL, тяните левой кнопкой мыши куда угодно.
Теперь проходим еще одни сообщения – они располагаются внизу, в левом углу экрана. Добавить блок можно так: R.C.(Kismet) à New Action à Misc à Log
Добавьте 3 блока LOG и один PLAY ANNOUCEMENT
Соедините их следующим образом
То есть, как только мы нажмем на кнопку E (used), то у нас буде происходить событие, состоящее вот из такой цепочки J. Теперь настроим каждый блок. В свойствах у LOG отвечает за вывод на экран свойство OBJ COMMENT
· Введите туда: 3..
· Второй блок: 2..
· Третий блок: 1..
· Последний: BOMB!!!
Вот что получится
Если мы сейчас запустим игру, то сообщения будут выводиться слишком быстро. Можно настроить время между блоками. Это сделать очень просто. У каждого блока есть вход и выход (черные квадратики). Правой кнопкой мыши щелкните по входу у одного из блоков и выберите в списке SET ACTIVATE DELAY
Введите время. Мне достаточно 1 секунды. То есть каждый последующий блок будет через 1 секунду срабатывать. На каждом блоке так сделайте.
Лучше будет, если вы расположите блоки вот так:
Так на много красивее. Запустите игру и проверьте, все ли работает…
Не все!!! И верно. Мы с вами забыли снять галочку кое где… Зайдите в кизмет, выберите триггер used, перейдите в его свойства à Снимите галочку вот здесь
Опять запустите. Теперь все работает…