Ru/Creating A Fire Particle

== Обзор ==
Эта краткая статья даст Вам понять как создавать партикл огня вот такого типа:
:
=== Базовые свойства ===
Создайте новую партикл систему и назовите её. Мы должны определится с главными свойствами партикла. В главной таблице партиклов нажмите properties (свойства).
Измените максимальное количество партиклов (max_particles) на 40. Теперь выберите material, нажмите ... и в браузере выберите текстуру. 
Для примера пусть будет particle\fire_particle_4\fire_particle_4.vmt Установим bounding_box_min на -512 -512 -512 и bounding_box_max на 512 512 512
Измените color на оранжевый. В этих настройках мы закончили. Переключаемся на рендеринг (табличка render ). 
=== Рендер ===
Всем партиклам нужна какая-то визуализация. Мы же это будем делать с помощью рендера render_animated_sprites. 
Создайте и внутри его измените значение animation_rate на 0.8999999762 и измените animation_fit_lifetime на 1. Рендер настроили. 
Теперь нажмите на таблице operator.
=== Оператор ===
С помощью оператора мы заставим наши партиклы двигаться, иcчезать и т. д.
В табличке операторов добавьте movement_basic . Эта штукенция определяет базовые движения партикла.
Измените gravity на 0 0 50 . Гравитация направляет огонь в нужную сторону. 0 0 50 направляет его вверх как в реальности. 
Если установить 0 0 -50 то огонь будет направлен вниз. Далее добавьте Oscillate_Vector. 
Этот оператор поможет создать "волновой эффект" (wavy fire effect). 
Этот эффект поможет придать реализма и живости огню, а не чтобы он стоял статичным и не двигался. Примерно вот такую функцию колебаний мы будем использовать:
В 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 . С этим закончили. 
Добавим Lifespan Decay этот оператор поможет уничтожить (чтобы он плавно исчез) партикл после некоторого времени. 
давайте сделаем "затухания партикла" (альфы). Добавляем 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
С операторами закончили.
=== Инициализаторы ===
Добавим инициализатор для установки начального состояния партикла. 
Добавьте Radius Random и установите radius_min на 3 и radius_max на 10 . Это сымитирует партикл с заданным радиусом. 
Если хотите больший огонь, то установите radius_max на 50. Далее добавьте Alpha Random, установите alpha_min на 120 и alpha_max на 200.
Добавьте Rotation Random ничего не изменяя.
Добавьте 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 . Это спавнит партикл в заданной сфере и с заданной скоростью.
Добавьте Lifetime Random и измените lifetime_max на 1.25 и lifetime_min на 1 . Это установить в партикле время жизни партиклов рандомно в пределах этих цифр.
Добавим Sequence Random и установите sequence_max и min на 2
Теперь добавляем osition Modify Offset Random и установим offset in local space 0/1 на 1. 
С инициализацией закончили.
=== Излучатели ===
Теперь последнее действие это добавление главной функции, которая оживит наш огонь. Добавьте emit_continuously и теперь наш огонь зажжется в окне превью!) 
Измените emission_rate на 50.
== Заключение ==
На этом всё. На этом примере можно сделать много похожих партиклов.
Category:Russian