Урок Мини-гайд по tracking снарядам Particle Editor

Hocok of Chaos

Новичок
4 Авг 2018
6
9
Привет. В этом небольшом гайде я расскажу как сделать вот такую штуку:
ezgif.com-video-to-gif.gif

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

Партикль будет состоять из 3 частей:
  1. Основная модель которая двигается к цели
  2. Эффекты находящиеся вокруг модели
  3. Эффект взрыва происходящий когда снаряд попадает в цель

Итак, начнём!

В Particle Editor'е выберите File -> New и сразу сохраните его в вашу рабочую папку.
В "Base Properties" указываем "max particles" 1 и "lifetime" 0

Сначала всё добавим, потом настроим.
Через кнопку "Add Function" добавляем:
  • "Emit instantaneously" - создаёт наш партикль
  • "Position within sphere random" - создаёт отправную точку (в нашем случае CP0) (если не создать, то снаряд будет вылетать из центра карты).
  • "Movement max velocity" - задаёт максимальную скорость снаряда через CP.
  • "Rotation orient relative to CP" - будет поворачивать модель к нашей цели.
  • "Movement basic" - позволяет двигаться нашей снаряду.
  • "Lifespan decay" - убирает наш снаряд когда он попадает в цель.
  • "Set child control points from particle positions" - Прикрепляет эффекты к снаряду-модели.
  • "Movement place on ground" - Модель двигается по земле.
  • "Pull towards control point" - Указывает цель к которой двигается снаряд.
  • "Render models" - создаёт саму модель.

Теперь займёмся настройкой некоторых параметров:
  • В "Emit instantaneously" меняем "num to emit" на 1, чтобы создавалась только 1 модель.
  • В "Movement max velocity" ставим "override max velocity from this CP" на 2, для того чтобы CP2 отвечал за скорость снаряда.
  • В "Rotation orient relative to CP" меняем "control point" на 1 (точка куда двигается снаряд) и rotation field на Yaw чтобы он нормально поворачивался.
  • В "Lifespan decay" меняем "operator end cap state" на "Only Enabled During Endcap" чтобы он пропадал только после попадания в цель.
  • В "Set child control points from particle positions" меняем "first control point to set" на 3, чтобы эффекты закреплённые за CP3 крепились к CP0
  • В "Pull towards control point" меняем "Amount of Force (or Max Force)" на любое больше число (это макс. скорость), "falloff power" на 0, чтобы снаряд двигался и "control point number" на 1, чтобы указать снаряду куда лететь.
  • В "Render models" во вкладке models меняем "model" на "penguin.vmdl", во вкладке orientation ставим галочку у "ignore normal", во вкладке Renderer Modifiers ставим "Radius Scale" на 0.3 и наконец во вкладке Animation ставим галочки у "animated" и "force looping animations", "animation rate" указываем на 60.

После всех проделанных манипуляций, у нас должен быть пингвин, который стоит на точке CP0, двигается к точке CP1, со скоростью заданной в CP2.

Теперь займёмся созданием эффекта окружающего нашего пингвина (тех снежинок):

Снова создадим новый партикль.
  • В "Base Properties" указываем "max particles" 128 (чтобы их не создавалось слишком много и они не грузили систему) и "lifetime" 2 (время жизни партикля)
  • Добавляем "Emit continuously" - постоянно создаёт частицы, в течении жизни партикля. Указываем "emission rate" 32, чтобы создавалось 32 партикля в секунду(?).
  • Добавляем "Position within sphere random", устанавливаем "control point number" 3 (помним, что мы будем цеплять это к модели), в "speed in local coordinate system min" ставим 0 0 -150, в "speed ... max" 0 0 -50, чтобы частицы с разной скоростью падали на землю.
  • Добавляем "Position modify offset random" в "offset min" ставим -50 -50 40, в "offset max" ставим 50 50 40, это распределит наши частицы в радиусе 100 от CP3 и приподнимет их на 40 единиц.
  • Добавляем "Sequence Random", ставим "sequence max" 15 и галочку на "shuffle", это позволит выбирать случайный спрайт снежинок, которые мы добавим чуть позже.
  • Добавляем "Lifespan decay" - т.к. мы ничего в нём не меняем, то партикль будет исчезать по истечении его срока жизни (То, что мы указывали в Base Properties)
  • Добавляем "Movement Basic"
  • И теперь сами снежинки, добавляем "Render sprites", во вкладке Textures ставим "snowflakes_01.vtex".
Создание эффекта закончено, не забудьте добавить его с помощью "Add Child" нашему основному партиклю (модельке пингвина).

И под конец сделаем эффект взрыва пингвинов =)
Создаём последний партикль.
  • В "Base Properties" ставим "max particles" 50.
  • Добавляем "Emit instantaneously", ставим "num to emit" 50.
  • Добавляем "Position within sphere random", ставим "control point number" 1, "speed ... min" -250 -250 0, "speed ... max" 250 250 250 (это позволит нашему партиклю разлетаться в разные стороны).
  • Добавляем "Position modify offset random" ставим "offset min" 0 0 40, "offset max" 0 0 40. (это немного приподнимет стартовую точку нашего партикля). (необязательно)
  • Добавляем "Movement basic" ставим "gravity" 0 0 -250 чтобы наши пингвины падали после того как из разбросает.
  • Добавляем "Alpha fade and decay". (Тоже самое, что просто "Lifespan decay", но ещё и заставляет партикль исчезать после определённого времени)
  • Добавляем "Rotation spin yaw" ставим "spin rate degrees" 90, чтобы наши пингвины крутились во время "взрыва".
  • Добавляем "Render models" во вкладке models ставим ту же модель, что и в нашем снаряде, во вкладке Orientation ставим галочку у "orient model z to normal", во вкладке Render Modifiers ставим "Radius Scale" 0.2 чтобы уменьшить размер модели и во вкладке Animation ставим "animation sequence field" на "NONE/Disabled"

Добавляем этот партикль в наш основной снаряд и во вкладке Children (в основном партикле), нажимаем на созданный эффект взрыва и ставим галочку "end cap effect".

Поздравляю, с созданием вашего первого (или нет) партикля!!!
 

Sannin

Пользователь
6 Янв 2019
28
5
Проект
NWHC
Пингвин (и не только) создаётся, но не двигается - в чём может быть проблема?
 
Реклама: