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

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

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

<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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bestway-1.gitbook.io/documentation/gem-rts-v1-ru/redaktor/redaktor-fx/vfx-na-osnove-generatora-chastic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
