@yraiv

Как в unity3d сделать поочередное прохождение через заданные точки?

Сделал небольшой код, хочу, чтоб персонаж двигался из точки в точку. Столкнулся с проблемой, если у меня всего 1 точка, то понятно всё, персонаж направляется к ней и все хорошо, но у меня должен быть массив и персонаж должен двигаться к ним в порядке очереди, а как реализовать не понимаю. Можно сделать проверку на каждую точку в ручную, но понимаю, что это глупо и должен быть вариант, который сделает это для всех точек подряд перебором.

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;

public class ZombieStandart : MonoBehaviour
{

public float speed = 1f;
public int health;
public int atack;
public Transform[] WayPoints;

public void FixedUpdate()
{
transform.position = Vector3.Lerp(transform.position,WayPoints[].position, Time.deltaTime * speed); // ругается, что в [] должно быть значение, если массив тут и в объявлении убрать, то работает, но идёт только к 1 заданной точке.
}

}


Мне кажется, что было бы правильнее сделать проверку, если объект дошёл до координат точки первой, то подставлялась бы вторая точка и он уже шёл к ней и т.д. но я не понимаю как это сделать
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
@NIKROTOS
Начинающий программист.
Паттерн итератор в помощь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы