Создание частиц пламени
Обзор
Цель этого руководства - дать представление о создании пламени огня с помощью частиц.
В этой статье не будет подробного объяснения всех аспектов создания частиц, поскольку имеется отдельная документация. Вы научитесь создавать частицу пламени следующим образом:
Свойства
1. Создайте новую систему частиц и назовите её. Мы должны определится с основными свойствами частиц. В главной вкладке частиц нажмите properties (свойства).
2. Измените максимальное количество частиц (max_particles) на 40. Теперь выберите material, нажмите кнопку ..., чтобы выбрать в открывшемся обзоре материалов подходящую текстуру огня. Для примера пусть будет particle/fire_particle_4/fire_particle_4.vmt
3. Установите bounding_box_min на -512 -512 -512 и bounding_box_max на 512 512 512
Измените значение color на оранжевый. В этих настройках мы закончили. Переходим на вкладку "render (отображение)".
Отображение
Всем частицам нужна какая-то визуализация. Мы же это будем делать с помощью отображения render_animated_sprites. Создайте и измените его значение animation_rate на 0.9 и измените animation_fit_lifetime на 1. Отображение настроили. Теперь нажимаем на вкладку "operator".
Операторы
1. С помощью операторов определяются такие параметры, как тип движения, появление/исчезание за счёт альфа-канала, время жизни и т.д. Операторы выполняются после после того, как инициаторы определят начальное состояние.
2. На вкладке операторов добавьте Movement Basic . Это определяет основные движения частицы. Измените gravity на 0 0 50 . Гравитация направляет огонь в нужную сторону. 0 0 50 направляет его вверх как в реальности. Если установить 0 0 -50, то огонь будет направлен вниз.
3. Далее добавьте Oscillate Vector. Этот оператор поможет создать эффект дрожания пламени, чтобы пламя переливалось и тряслось как в реальности, а не выглядело статичным. Пример функции колебаний пламени:
4. В Oscillate Vector возле oscillation rate min измените значение на -0.400000006 -0.400000006 0 и oscillation rate max на 0.400000006 0.400000006 0. Измените значения oscillation frequency min на 0.5 0.5 1, далее oscillation frequency max на 1 1 0.
С этим закончили.
5. Добавим Lifespan Decay этот оператор поможет уничтожить (чтобы он плавно исчезал) частицу после некоторого времени.
6. Давайте сделаем Alpha Fade. Добавляем Alpha Fade In Random в нем изменяем значения fade in time min на 0.3000000119 и fade in time max на 0.400000006. Теперь добавим Alpha Fade Out Random и измените в нём значения fade out time min на 0.349999994 и fade out time max на 0.5.
С операторами закончили.
Инициаторы
Добавим инициатор для определения начального состояния частиц.
1. Добавьте Radius Random и установите значения radius_min на 3 и radius_max на 10 . Это определет размер испускаемых частиц, если нужно больше, то измените максимальное значение на 50.
2. Далее добавьте Alpha Random, установите значения alpha_min на 120 и alpha_max на 200.
3. Добавьте Rotation Random ничего не изменяя.
4. Добавьте Position Within Sphere Random , установите значения distance_bias на 1 1 0 и speed_max на 10.
Установите значения speed_in_local_coordinate_system_min и speed_in_local_coordinate_system_max на 0 0 5 . Это определит появление частиц в пределах этой сферы с заданной скоростью.
5. Добавьте Lifetime Random и измените lifetime_max на 1.25 и lifetime_min на 1. Это задаст произвольное время жизни каждой частицы пламени в пределах этих значений.
6. Добавим Sequence Random и установите sequence_max и sequence_min на 2
7. Теперь добавляем Position Modify Offset Random и установим offset in local space 0/1 на 1.
С инициализацией закончили.
Испускатели
Для завершения нужно добавить основную функцию, которая включит частицу. Это делается излучателем.
1. Добавьте emit_continuously и теперь пламя зажжется в окне просмотра!)
Измените значение emission_rate на 50.
Заключение
Создание частицы завершено, должна была получиться небольшая частица пламени. Можно использовать этот способ для редактирования и создания других частиц, например, водопада.
