プレイヤーがトリガーゾーンに入った場合、Unity で 2 つのパーティクル システムの開始色をある色から別の色に変更したいと考えています。私は Color.Lerp でそれをやろうとしましたが、その結果、「ラグ」が発生し、間に 3 つの色しかありませんでした。私のコード:
public IEnumerator animateTriggerEnter(float duration = 0.1f)
{
float elapsedTime = 0f;
float lerp = 0f;
while (lerp <= 1f)
{
elapsedTime += Time.deltaTime;
lerp = elapsedTime / (float) duration;
topParticle.startColor = Color.Lerp(standardColor, triggerColor, lerp);
botParticle.startColor = Color.Lerp(standardColor, triggerColor, lerp);
yield return null;
}
}
value についてはlerp、常に同じ 6 つの値を取得しますが、それ以上になるべきではありませんか? また、持続時間が長くてもラグが残ります。