VFXSpawnerState
класс в UnityEngine.VFX
Описание
Состояние системы Rescue.
Этот класс удобен для отладки порождателя визуального эффекта. Например, по нему видно, воспроизводится ли эффект сейчас, сколько циклов обработал порождатель, а также текущее state нерестителя.
Чтобы получить доступ к состоянию системы Rescue визуального эффекта, либо используйте VisualEffect.GetSpawnSystemInfo или, в классе, наследующем VFXSpawnerCallbacks, override the OnUpdate метод.
using UnityEngine; using UnityEngine.VFX;
class ConstantRateEquivalent : VFXSpawnerCallbacks { public class InputProperties { [Min(0), Tooltip("Sets the number of particles to spawn per second.")] public float Rate = 10; }
static private readonly int rateID = Shader.PropertyToID("Rate");
public sealed override void OnPlay(VFXSpawnerState state, VFXExpressionValues vfxValues, VisualEffect vfxComponent) { }
public sealed override void OnUpdate(VFXSpawnerState state, VFXExpressionValues vfxValues, VisualEffect vfxComponent) { if (state.playing) { float currentRate = vfxValues.GetFloat(rateID); state.spawnCount += currentRate * state.deltaTime; } }
public sealed override void OnStop(VFXSpawnerState state, VFXExpressionValues vfxValues, VisualEffect vfxComponent) { } }
Свойства
| Свойство | Описание |
|---|---|
| delayAfterLoop | Текущее время задержки, которое VFXSpawner ожидает после завершения цикла. |
| delayBeforeLoop | Текущее время задержки, которое VFXSpawner ожидает, прежде чем начать цикл. |
| deltaTime | Текущее дельта время. |
| loopCount | Текущее количество циклов. |
| loopDuration | Длительность цикла состояния. |
| loopIndex | Текущий индекс цикла. |
| loopState | Текущее состояние VFXSpawnerState. |
| newLoop | Этот логический показатель указывает на то, что только что начался новый цикл. |
| playing | Текущее состояние игры. |
| spawnCount | Текущее количество спаунов. |
| totalTime | Накопленное дельта-время с момента последнего события Play. |
| vfxEventAttribute | Получение изменяемого атрибута текущего события (только для чтения). |