Наша-Life

Торнадо собственными руками.
Half-Life 2 / Импорт с inside.HL2.ru
Дата: 25 Авг, 2004 г. - 11:23

И опять всем маперам SDK в подарок.
Так вот по просьбе Lip'a я пишу тутор про то как сделать торнадо.
Ну, правда, выглядит он не совсем реалистично, но функции свои исполняет.
Щас всё объясню. Эта мысль пришла мне в голову в два часа ночи. Ну вообще тут нечего особо объяснять, это надо видеть...
Ну вообще торнадо будет состоять из очень большого количества trigger_push. У которого в flags надо поставить все галочки, а в свойствах speed of push поставить по вкусу.
Так вот создаем восьмигранный цилиндр, делим его на 8 частей, кладём на всё текстуру tools/toolstrigger. Режем его на восемь частей в виде top. И каждую часть в Энтити trigger_push.
Далее ставим свойства как я выше сказал(скорость около 100 можно больше), потом ставим в Push directions направление так, что бы они как бы закручивали по кругу. Затем Ставим в центр такой же цилиндр, только поменьше, его тоже trigger_push, но push Direction ставим up.
Speed of push лучше поставить больше 300. Не забывайте про флаги!!!
Так в принципе торнадо готов, но пока его не видно, сделаем же это. Для этого поставим env_steam(Ентитя, которая создает как бы газ(пар) в указанном направлении) и направляем его вверх. Ставим Initial state: On
Spread speed: 15
Speed: 120
Particle start size: 50
Particle end size: 75
Emisson rate: 10
Color: 255 255 255
Lenght of steam jet: по высоте триггера(у меня 1800)
Translucency: 255.
Так теперь он виден. Но где вы видели стоящий торнадо??? Сделаем его подвижным. Это легко сделать с помощью func_tracktarin и поля parent.
Объясняю. Создаёт маленький квадратик, закрашиваем его текстурой nodraw. В энтити как func_tracktrain. Указываем ему имя, и пишем это имя в поле parent у env_steam и всех trigger_push.
Как известно func_tracktrain движется по path_track. Так вот ставим их, и делаем так, что бы они образовали замкнутый трак. Для непонимающих:
В поле next stop target последнего пишем имя первого. Да и незабудьте указать в поле First stop targer у fanc_tracktrain нужно указать имя первого path_track.
Теперь запускаем всё это.
Т.Е. создаем logic_auto и в OutPuts у него:
OnmapSpawn
Имя func_tracktrain
StartForward.
Скриншотов не будет, извините. Есть только исходник и откомпилированный пример.
Скачать исходник.
Скачать скомпилированный пример.


Автор: Freeman
Веpнуться к оглавлению

Новость сайта: Half-Life 2: Source


Эта новость опубликована на сайте Наша-Life
http://www.nashalife.ru/

URL этой новости:
http://www.nashalife.ru/news-article3631.html