Описание
Состояние спауна системы спауна.
Этот класс полезен для отладки генератора визуальных эффектов. Например, вы можете увидеть, воспроизводится ли эффект в данный момент, количество циклов, обработанных генератором, а также текущий спавн state.
Чтобы получить доступ к состоянию системы создания визуальных эффектов, используйте либо VisualEffect.GetSpawnSystemInfo, либо класс, наследуемый от VFXSpawnerCallbacks, переопределите метод 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 | Получает изменяемый атрибут текущего события (только для чтения). |