SED 1.0 Helicopter Tutorial


Всем добрый день, с вами Псих, и сегодня я расскажу вам про создание полностью управляемого вертолета. Вам понадобится Player Parenter, длл которого не заменяет стандартную EntitiesMP.dll, поэтому вы можете свободно использовать ее в любом моде/карте. Скачать его вы можете по этой ссылке. Безусловно, вы всегда можете воспользоваться энтитей Vehicle из ХВОХ-мода, однако данный туториал хорош тем, что позволяет создать вертолет без замены Вашей длл, как я уже говорил.


1. Создаем комнату произвольного размера, но желательно так, чтобы там было, где полетать. Я остановлюсь на комнате 300х300х100.


2. Комната есть, теперь нужен вертолет, на котором будем летать. Можете его смоделировать/создать из брашей/нарисовать плоским спрайтом, что угодно. Однако данный туториал предусматривает создание вертолета с управлением полностью от первого лица, поэтому я рекомендую вам остановиться на брашах или моделях.


3. Далее нам потребуется пространство, в котором вертолет будет летать, для этого над созданной комнатой создаем еще одну так, чтобы они соединялись двумя нижними полигонами.


4. У вас должна получиться одна большая комната размерами 300х300х200. Выделяем верхний сектор...


5 ...и настраиваем его следующим бразом.

Мы отключили всю гравитацию в верхнем секторе комнаты, верно.

6. Теперь, когда пространство для полетов готово, размещаем игрока где-нибудь в верхнем секторе.


7. Чтобы игрок не провалился вниз, выделяем нажатием клавиш Shift + ПКМ этот полигон,


8. и снимаем галочку с параметра Passable.


9. А сейчас - внимание! Важная часть туториала. На сцену выходит Player Parenter.
Размещаем его где-нибудь на карте, но желательно рядом с игроком, чтобы не потерять.


10. Настраиваем соответствующим образом Player Parenter.


11.


12. Время разместить на уровне триггер, который запустится при начале игры и активирует Player Parenter. у PlayerStart'a в параметре Target укажите созданный триггер, а у самого триггера параметр Target 01 должен ссылаться на Player Parenter.


13. Тип события (Event Type) должен быть следующим.


14. Теперь пора сажать игрока в вертолет. Прежде всего нужно убедиться, что у Player Parenter'a не включен следующий параметр:


15. Размещаем вертолет так, чтобы игрок находился прямо в его кабине.


16. Фактически, вертолет готов, однако он еще крайне недоработан и багнут. Первый из багов - невозможность нормально на нем полетать, игрока все время как-бы останавливает невидимая стенка. Чтобы устранить это, выделите все полигоны вертолета,


17. и настройте их следующим образом:


18. Теперь вертак может свободно летать под вашим управлением.
ИЗВЕСТНЫЕ ПРОБЛЕМЫ НА ЭТОМ ЭТАПЕ - вертолет летает, но при приближении к краям комнаты он выходит за их пределы. Чтобы этого не произошло, достаточно просто разместить невидимые стены на некотором расстоянии от стенок комнаты. 
Однако, если вам всего этого мало, и вы хотите большего функционала, то вертак можно научить стрелять. Ракетами, лазерами, чем угодно. Чтобы это осуществить, делаем прямо под носом у игрока невидимый браш (Moving Brush),
а лучше коробку вокруг игрока, ведь тогда, если игрок перейдет в режим вида от третьего лица, он не увидит себя в... странной позе мужика, стоящего ногами сквозь сидение.

19. Браш настраиваем следующим образом:

(Не забываем припарентить его к вертолету.)

20-21. Здесь все крайне просто. Не нуждается в разъяснении. Создаем на карте Switch и еще один Trigger. У созданного Moving Brush'a в параметре Switch указываем (Вот неожиданность!) Созданный нами Switch. Его же мы в свою очередь настроим позже.

Вертак можно и протестировать.

22. Просто удостоверьтесь, что созданный нами браш перед игроком присоеден к вертолету.


 23. Все корректно, но перед глазами маячит надпись Use. 


24. Существует множество способов его убрать. Можно, например, сделать ее стопроцентно прозрачной, и игрок ее не увидит. Однако я сделаю ее такой большой, что она просто не поместится на экране и будет невидима. Для этого в параметре Message у Switch'a вводим следующее.


Для тех, кто ленив - вставляем следующее: ^s900BlaBlaBla

 25. Настало время размещать эрупторы по бортам вертака, именно они будут стрелять всякими лазерами/ракетами. 


26. Не забываем присоединить из к вертолету.


27. Настраиваем Spawn time


28. А вот теперь возвращаемся к Switch'y. Создаем новый триггер...

...и нацеливаем на него Switch следующим образом:

29. ON-OFF Target:


30. OFF Target:


31. ON Event Type:


32. OFF Event Type:


33. Создем еще два триггера.
От главного триггера, на которого нацелен Switch, проводим Target 01 к Триггеру А, а от него Target 01 к Триггеру Б. Поясняющий скриншот, чтобы не запутаться:


34. Акцентируем свое внимание на Триггере А.


35. На этой таблице показано, как он должен быть настроен.


36. Теперь переходим к Триггеру Б. Его параметр Wait должен быть равен 0.6


37. Эта таблица показывает настройку Триггера Б.


38. С триггерами все. Переходим к эрупторам. Убедимся, что они правильно настроены. Speed Min я поставлю побольше.


39. Angle обязательно должен быть равен 0, если, конечно, вам не нужна ацццкая дисперсия при стрельбе.


40. Также эрупторы следует сделать невидимыми. Однако если вы просто поставите их размер на 0.0001, или еще что в этом роде, то потом найти их будет проблематично. Разве что только через окно Select Entities. Достаточно просто отключить параметр Active


 41. Вертак теперь абсолютно готов, вы можете на нем летать, стрелять, мочить армии Ментала. Протестируйте еще раз. 
ИЗВЕСТНЫЕ ПРОБЛЕМЫ НА ЭТОМ ЭТАПЕ Существует такой баг, когда монстры просто не атакуют игрока, находящегося в вертолете. Чтобы исправить это, выделите все его полигоны, а также полигоны невидимого браша перед игроком, и поставьте галочку у следующих параметров: 

Translucent
Transparent
Portal


HAVE FUN!



Ну, вот и все, всем спасибо, все свободны, увидимся позже.)


Комментарии   

№ 29  |  29.09.2014  |  0  
и еще, когда я наблюдаю из нижнего сектора, все, что есть наверху исчезает
Ответ Цитата

№ 28  |  29.09.2014  |  0  
у меня есть вопрос попроще - как сделать так, чтобы игрок не проваливался сквозь границу гравитаций и при этом через нее пролетали ракеты/лазеры? если отключаем параметр Passable, то ведь и ракеты вниз не пролетят.
Ответ Цитата

№ 27  |  30.07.2014  |  -1  
Лол, а я для убирания надписи Use в Message оставляю одиночный пробел и всё.
Ответ Цитата

№ 26  |  24.04.2014  |  0  
Замечательная статья! Но этот заголовок... Что это вообще? Аргонианин ведущий новости? Тогда почему он ведет их с обнаженным торсом? Блин мне это изображение будет в страшных снах сниться. Завязывай ты с этим! (Ну или по крайней мере не выставляй на показ.)
Ответ Цитата

№ 25  |  16.01.2014  |  0  
Псих, ну ты даешь! Молодчина!
Ответ Цитата

№ 20  |  06.01.2014  |  0  
Бинго!

Даже более того - от PlayerView можно унаследоваться в дополнительной ДЛЛке и подсунуть игроку этого "мутанта" вместо обычного PlayerView, после чего можно лепить замысловатые вариации парента к игроку без использования мода.
Ответ Цитата

№ 17  |  05.01.2014  |  0  
thecre, сказать честно? Я ваще ничего не понял, куда уж мне до великих мододелов и мапперов С-Сайта... У меня на компе уже больше чем 2 месяца ни одна игра не работает и Serious Editor 1 тоже...
Ответ Цитата

№ 7  |  04.01.2014  |  0  
Картинка в кратком описании ржачная! :D И сама статья очень крутая сразу видно! :)
Ответ Цитата

№ 8  |  04.01.2014  |  0  
Да, прикольнулся типо.) :D
Ответ Цитата

№ 4  |  04.01.2014  |  0  
А как из открывшейся ссылки скачать Player Parenter?
Ответ Цитата

№ 3  |  04.01.2014  |  0  
Оценка выше чем 5+ ставить надо !
Ответ Цитата

№ 1  |  04.01.2014  |  0  
Молодец. Но чтобы спрятать Eruptor не обязательно изворачиваться, достаточно отключить у него параметр Active. Этот параметр у него от ModelHolder2, и "неактивный" Eruptor сможет стрелять, просто будет невидимым.

А теперь вопрос на миллион долларов. Обычный PlayerParenter прикрепляет объект к нижней части игрока (к ногам). Поэтому, если повернуться на месте, а потом нажать "вперёд", вертолёт очень резко развернётся. Как этого избежать? За правильный ответ - награда.
Ответ Цитата

№ 2  |  04.01.2014  |  0  
Я не гоняюсь за наградами, и это никак исправить нельзя, а если даже и можно, то я не знаю.
Ответ Цитата

№ 5  |  04.01.2014  |  0  
А при чём здесь ты? Кто первый правильно ответит - тому и награда.
Ответ Цитата

№ 6  |  04.01.2014  |  0  
В следующем тексте я опять показываю себя с крайне плохой стороны. Пожалуйста, минусуйте меня, портите мне репутацию, говорите, какой я плохой ящер, вы поступите абсолютно правильно. Нет, серьезно.
Ответ Цитата

№ 9  |  04.01.2014  |  0  
Сначала говоришь, что не гонишься за наградами, а потом возмущаешься, что её тебе не дали. ) Так и быть, я вручу тебе награду, чтобы ты в следующий раз написал статью про создание боевого дрона и управляемого механоида (Как из ФЕАР) без каких либо EntitiesMP.dll.
Ответ Цитата

№ 11  |  05.01.2014  |  0  
Ну дык дело в принципе. Забей уже, я вообще удивлен, как меня не заминусовали ниже плинтуса.

P.S.
Окай, будет вам и механоид, и боевой дрон, и джетпак...
Ответ Цитата

№ 24  |  08.01.2014  |  0  
А мну сделал игру без всяких dll... а награбы не было ='(
Ответ Цитата

№ 10  |  05.01.2014  |  0  
Я бы парентил к игроку маркеры MovingBrush'а, а сам вертолет бы им и сделал и поставил достаточно высокую скорость, что бы успевать за игроком и в то же время избегать такого глюка. Еще можно было бы парентить маркеры камеры, а вертолет парентить к камере - так было бы плавнее %)
Ответ Цитата

№ 12  |  05.01.2014  |  0  
Ты мог бы это все по-подробнее расписать? Тогда я помещу это в статью под заголовком типо "Исправление бага с резким изменением поведения вертолета по методике SeriousAlexej"
Ответ Цитата

№ 14  |  05.01.2014  |  0  
Сначала исправь то, что ты написал про прятание Eruptor'ов.
Ответ Цитата

№ 13  |  05.01.2014  |  0  
Такое я уже проверял; и с камерой, и с MovingBrush вертолет будет дергаться на каждом маркере, к тому же, игрок не будет постоянно находиться в кабине, она начнет ездить туда-сюда. Но идея неплохая, добавь сюда телепортацию маркеров с помощью типа Teleport entity у EffectMarker'a и получишь управляемый автомобиль, который однажды склеил именно таким образом некто Смертоносец.
Ответ Цитата

№ 18  |  06.01.2014  |  0  
Управляемая тачка делается без всего этого.
Ответ Цитата

№ 19  |  06.01.2014  |  0  
Без ДЛЛ её иначе не сделаешь управляемой.
Ответ Цитата

№ 21  |  07.01.2014  |  0  
Psych, причем тут Кадат? Ты меня не любишь?
Ответ Цитата

№ 22  |  07.01.2014  |  0  
Я тебе и остальным не отвечу вот этот раз. Профилактика срачей, которые неминуемо возникают в любом моем материале. Ничего личного.
Ответ Цитата

№ 23  |  07.01.2014  |  0  
Ой, тут есть правильный ответ... =)
Ответ Цитата

№ 15  |  05.01.2014  |  0  
Простите за глупый вариант, написать свой парентер, который позволит избежать этого? Он должен будет парентить не к самой энтите класса CPlayer, а к его модели. Однако, если парентить к одной из моделей игрока, то все это чудо может невероятно дергаться, кстати. Так и не понял, при каких условиях
Ответ Цитата

№ 16  |  05.01.2014  |  0  
Правильно мыслишь. ) Но! Привычный PlayerParenter прикрепляет как раз таки к модели игрока. Если RenderType у энтити равен RT_MODEL (как у игрока), то положение модели и самой энтити совпадает. А тебе нужно припарентить вертолёт к верхней части игрока, то есть, к аттачменту Torso. Итак, вопрос упрощается - как припарентить вертолёт к аттачменту игрока?
Ответ Цитата

Оставьте комментарий

Мини-профиль

Гость

Вы в группе: Гости
Ваш IP: 54.80.185.137

Информация

Прочее

Категории раздела

Croteam [4]
Материалы по студии разработчика игр CroTeam.
Интервью с разработчиками [9]
Интервью с разработчиками, а также их издателями.
Serious Sam 1 [10]
Статьи о Serious Sam 1
Serious Sam 2 [6]
Статьи о Serious Sam 2
Serious Sam HD [5]
Статьи о HD-серии, ремейков классических версий Сэма.
Serious Sam 3: BFE [9]
Статьи о Serious Sam 3: BFE
Уроки по Serious Editor 1 [55]
Уроки по Serious Editor 2 [2]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [33]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [26]
Всё что не подошло не под одну из вышеупомянутых категорий.
Serious Sam: Revolution [1]
Материалы по SS: Revolution, серьёзном обновлении классических Крутых Сэмов.
Serious Sam 1.05/1.07 SDK [10]
SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07.

Голосование

Где вы (собираетесь) приобрели (-ти) Serious Sam 3: BFE

Статистика



На сайте: 6
Гостей: 6
Пользователей: 0