В моей игре у меня есть несколько объектов, которые должны патрулировать разные путевые точки.Патруль с использованием детских путевых точек
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