私のゲームでは、異なるウェイポイントをパトロールする必要がある複数のオブジェクトがあります。子ども用ウェイポイントを使用したパトロール
public Transform[] targets;
public float speed = 1;
private int currentTarget = 0;
IEnumerator StartMoving()
{
while (true)
{
float elapsedTime = 0;
Vector3 startPos = transform.position;
while (Vector3.Distance(transform.position, targets[currentTarget].position) > 0.05f)
{
transform.position = Vector3.Lerp(startPos, targets[currentTarget].position, elapsedTime/speed);
elapsedTime += Time.deltaTime;
yield return null;
}
yield return new WaitForSeconds(delay);
}
}
コードが正常に動作しますが、その理由を整理するために私は、そのオブジェクトの子としてそのウェイポイントを持っているために、各オブジェクトをしたいと思いますが、問題はウェイポイントがそのオブジェクトの子であるため、彼らはそれと一緒に移動され、望ましくない動作を引き起こします。
これに対応する方法はありますか?
これは最も簡単な解決策です。 – Abdou023