Constant Rate
メニューパス : Spawn > Constant Rate
Constant Rate ブロックは、一定の割合で、スポーン数を追加します。例えばレートが 10 の場合、このブロックは Spawn Context に対して、毎秒 10 のスポーンイベントを送信します。1 未満のレートも有効ですが、レートが 0.5 の場合は 2 秒に 1 回になります。
ブロックの互換性
このブロックは、以下のコンテキストと互換性があります。
ブロックのプロパティ
| Input | Type | 説明 |
|---|---|---|
| Rate | float | 秒ごとのスポーンレートです。 |
補足
このブロックを、以下に挙げる同等のカスタムスポーナーコールバックの実装で模倣することができます。
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)
{
}
}