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

