> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/gem-rts-v1-ru/redaktor/redaktor-fx/vfx-na-osnove-generatora-chastic.md).

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

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

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

<table><thead><tr><th width="220">Блок</th><th>Описание</th></tr></thead><tbody><tr><td>offset</td><td>Регулирует смещение частиц относительно их исходной позиции.</td></tr><tr><td>delay</td><td>Устанавливает задержку перед началом эмиссии частиц.</td></tr><tr><td>nightonly</td><td>Ограничивает активность частиц только ночным временем.</td></tr><tr><td>fire</td><td>Добавляет эффекты огня к частицам, имитируя пламя или искры.</td></tr><tr><td>entitygenerator</td><td>Генерирует дополнительные объекты или эффекты в процессе воспроизведения частиц.</td></tr><tr><td>ground</td><td>Определяет, должны ли частицы взаимодействовать с поверхностью земли.</td></tr><tr><td>notifyowner</td><td>Уведомляет владельца частиц о событиях, связанных с их состоянием.</td></tr></tbody></table>

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

<table><thead><tr><th width="294">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td>emissionarea/radius</td><td>Определяет радиус в котором будут генерироваться партиклы</td></tr><tr><td>emissionarea/speed</td><td>Задает значения скорости спавна частиц</td></tr><tr><td>emissionarea/alpha0</td><td>Определяет разброс угла спавна частиц в градусах, данная функция при комбинации с другими функциями дает разные результаты.</td></tr><tr><td>emissionarea/alpha1</td><td>Определяет разброс угла спавна частиц в градусах, данная функция при комбинации с другими функциями дает разные результаты.</td></tr><tr><td>emissionarea/psi</td><td>Поворачивает направление спавна частиц на указанный в градусах угол по вертикали.</td></tr><tr><td>emissionarea/theta</td><td>Поворачивает направление спавна частиц на указанный в градусах угол по горизонтали.</td></tr><tr><td>emissionarea/distributionlaw</td><td>Позволяет изменять принцип спавна частиц из точки на сферу или диск, результат напрямую связан с радиусом спавна частиц.</td></tr><tr><td>particleinit/speed</td><td>Задает начальное ускорение для частиц.</td></tr><tr><td>particleinit/lifetime</td><td>Задает время жизни частиц в секундах.</td></tr><tr><td>totalparicles</td><td>Задает значение количества частиц для конкретно этого генератора, которые одновременно могут существовать.</td></tr><tr><td>particlesinblock</td><td>Задает значение частиц которые могут быть порождены генератором за одну единицу времени, частота спавна при этом может регулироваться параметром generator/emissionarea/speed</td></tr><tr><td>timetolive</td><td>Задаёт время жизни самого генератора</td></tr><tr><td>axisz</td><td>Меняет принцип спавна частиц с сонаправленого оси “x” самого эффекта на строго вертикальный.</td></tr><tr><td>autoturn</td><td><br></td></tr><tr><td>ovnerspeed</td><td>Позволяет учитывать скорость объекта к которому относится эффект.</td></tr><tr><td>color</td><td><br></td></tr><tr><td>killparticlessafterstop</td><td>Удаляет частицы после их полной остановки</td></tr></tbody></table>

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

<table><thead><tr><th width="290">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td>damping</td><td>Определяет степень сопротивления частиц воздуху, где 1 это полностью отсутствующее сопротивление а 0 - полное сопротивление, полностью блокирующее их движение.</td></tr><tr><td>gravity</td><td>Определяет степень влияния гравитации на частицы</td></tr><tr><td>collisions</td><td>Позволяет задать коллизию частиц с землёй или объектами, а также указать “упругость” при столкновениях.</td></tr><tr><td>nodependonwind</td><td>Отключает влияние ветра на частицы.</td></tr></tbody></table>

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

<table><thead><tr><th width="289">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td>stage</td><td>stage является блоком позволяющий предусмотреть изменения частиц, разбив их на разные состояния.</td></tr><tr><td>stage/flags</td><td>Позволяет установить дополнительные параметры для частиц.</td></tr><tr><td>stage/sprite</td><td>Выбор спрайта и набор параметров для его изменения с течением времени, по сути все параметры аналогичны параметра spriteview</td></tr></tbody></table>

<details>

<summary>Пример содержимого def файла спецэффекта на основе генератора частиц</summary>

```
{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}
}
```

</details>
