VFX на основе генератора частиц

Основой спецэффекта является блок particleview

Блоки второго уровня

БлокОписание

offset

Регулирует смещение частиц относительно их исходной позиции.

delay

Устанавливает задержку перед началом эмиссии частиц.

nightonly

Ограничивает активность частиц только ночным временем.

fire

Добавляет эффекты огня к частицам, имитируя пламя или искры.

entitygenerator

Генерирует дополнительные объекты или эффекты в процессе воспроизведения частиц.

ground

Определяет, должны ли частицы взаимодействовать с поверхностью земли.

notifyowner

Уведомляет владельца частиц о событиях, связанных с их состоянием.

Параметры для блока generator

ПараметрОписание

emissionarea/radius

Определяет радиус в котором будут генерироваться партиклы

emissionarea/speed

Задает значения скорости спавна частиц

emissionarea/alpha0

Определяет разброс угла спавна частиц в градусах, данная функция при комбинации с другими функциями дает разные результаты.

emissionarea/alpha1

Определяет разброс угла спавна частиц в градусах, данная функция при комбинации с другими функциями дает разные результаты.

emissionarea/psi

Поворачивает направление спавна частиц на указанный в градусах угол по вертикали.

emissionarea/theta

Поворачивает направление спавна частиц на указанный в градусах угол по горизонтали.

emissionarea/distributionlaw

Позволяет изменять принцип спавна частиц из точки на сферу или диск, результат напрямую связан с радиусом спавна частиц.

particleinit/speed

Задает начальное ускорение для частиц.

particleinit/lifetime

Задает время жизни частиц в секундах.

totalparicles

Задает значение количества частиц для конкретно этого генератора, которые одновременно могут существовать.

particlesinblock

Задает значение частиц которые могут быть порождены генератором за одну единицу времени, частота спавна при этом может регулироваться параметром generator/emissionarea/speed

timetolive

Задаёт время жизни самого генератора

axisz

Меняет принцип спавна частиц с сонаправленого оси “x” самого эффекта на строго вертикальный.

autoturn

ovnerspeed

Позволяет учитывать скорость объекта к которому относится эффект.

color

killparticlessafterstop

Удаляет частицы после их полной остановки

Параметры для блока mover

ПараметрОписание

damping

Определяет степень сопротивления частиц воздуху, где 1 это полностью отсутствующее сопротивление а 0 - полное сопротивление, полностью блокирующее их движение.

gravity

Определяет степень влияния гравитации на частицы

collisions

Позволяет задать коллизию частиц с землёй или объектами, а также указать “упругость” при столкновениях.

nodependonwind

Отключает влияние ветра на частицы.

Параметры для блока visualizer

ПараметрОписание

stage

stage является блоком позволяющий предусмотреть изменения частиц, разбив их на разные состояния.

stage/flags

Позволяет установить дополнительные параметры для частиц.

stage/sprite

Выбор спрайта и набор параметров для его изменения с течением времени, по сути все параметры аналогичны параметра spriteview

Пример содержимого def файла спецэффекта на основе генератора частиц
{fx
	{sound "detonation/hit_big/hit_big"}
	{particleview fire2
		{generator
			{emissionarea
				{radius 0}
				{speed 5}
				{alpha0 0}
				{alpha1 45 15}
			}
			{particleinit
				{speed 10}
				{lifetime 5.5 1.5}
			}
			{totalparticles 0}
			{particlesinblock 3}
			{timetolive 0.25}
			{axisz}
		}
		{mover
			{damping 0.8}
			{gravity
				{value 0.1}
			}
			{collisions
				{terrain}
				{restitution 1}
			}
			{nodependonwind}
		}
		{visualizer
			{stage initial
				{sprite "/texture/fx/flash/flash_muzzle05"
					{timer
						{mode play }
						{duration -1}
					}
					{scale 1
						{npower
							{min 0.1375 0.0625}
							{max 0.025}
							{pow 0.5}
						}
					}
					{preturn 180 180}
					{light 1
						{peak
							{min 0}
							{max 1}
						}
					}
					{highlight 0xffffce79}
				}
			}
			{stage collided
				{flags ground}
				{sprite "/texture/fx/flash/flash_muzzle05"
					{timer
						{mode play }
						{duration -1}
					}
					{scale 1
						{npower
							{min 0.1375 0.0625}
							{max 0.025}
							{pow 0.5}
						}
					}
					{light 1
						{peak
							{min 0}
							{max 1}
						}
					}
					{highlight 0xffffce79}
					{preturn 180 180}
				}
			}
		}
		{offset 0 0 0}
	}
	{storeable 1}
}

Last updated