我正在实例化一个具有一定偏移量的子项的Gameobject。这个Co-Routine每个孩子都会被召唤一次。我想随机化孩子们的Y位置并将他们回到正确的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;
}
}
答案 0 :(得分:1)
我使用上面的代码列表编写了一个小测试,endPos没有改变,所以问题可能在于其他功能。以下是我的猜测:
如果我的猜测是正确的,那就有解决方案: