特定のオフセットで多数の子を持つゲームオブジェクトをインスタンス化しています。このコルーチンは、子ごとに 1 回呼び出されます。子供たちの Y 位置をランダム化し、Lerp で正しい endPosition に戻したいと考えています。ただし、何らかの理由で endPosition がこの変更の影響を受けています。開始位置のランダム化された Yoffset が何であれ、パーツは最終的に組み立てられます。
startPos.y; のみをランダム化しています。endPos が影響を受けるのはなぜですか?
多くの人がこの問題に悩まされているので、どんな助けも素晴らしいでしょう.
IEnumerator TransitionAnim(Transform part, bool start)
{
float t = 0;
if (start)
{
Vector3 startPos = new Vector3(part.position.x, Random.Range(30,-30), part.position.z);
Vector3 endPos = new Vector3(part.position.x - startingOffset, part.position.y, part.position.z);
while (t < duration)
{
t += Time.deltaTime;
part.position = Vector3.Lerp(startPos, endPos, Mathf.SmoothStep(0,1F,t/duration));
yield return 0;
}
part.position = endPos;
}
}