Движение по Waypoints

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Движение по Waypoints

Сообщение DjKoKs 10 авг 2011, 13:46

Здравствуйте. Есть некий объект и waypoints(в виде кубов без колайдеров и с отключенным mesh render) мне нужно заставить его двигаться по этим объектам. Если эти waypoints расположены квадратом(то есть по углам квадрата), то легко спасают команды:
Синтаксис:
Используется csharp
gameObject.transform.position += Wayp.transform.forward;
 

или
Синтаксис:
Используется csharp
gameObject.transform.position += Wayp.transform.right;
 

Но эти команды дают движение строго по линии заданной оси. Если я расположу вайпоинты не квадратом, а в другой последовательности объект будет сбиваться с курса, проходить мимо и много других неприятностей. Или же если другой физический объект столкнет его с траектории, сущность будет не корректно себя вести. Есть ли команда которая бы строго задала (включая все оси) перемещение к статическому объекту? Ну или как с помощью выше переведенных команд решить данную проблему?
Аватара пользователя
DjKoKs
UNец
 
Сообщения: 33
Зарегистрирован: 05 дек 2010, 23:42

Re: Движение по Waypoints

Сообщение seaman 10 авг 2011, 13:55

Посмотрите хотя бы уроки Огасода. Там враг не то что по WayPoint ходил, он преследовал игрока. И все это азы.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Движение по Waypoints

Сообщение IDoNotExist 10 авг 2011, 14:09

Используйте Vecto3.MoveTowards()

Пример
Синтаксис:
Используется csharp

class MoveAcrossWaypoint: MonoBehaviour{

Vector3[] waypoints; //множество точек маршрута
float speed = 1.0f; //скорость движения
int currentRoutePoint = 0; //текущий индекс пути

void Update(){
      if(transform.position==waypoints[currentRoutePoint]){
           currentRoutePoint++;
           if(currentRoutePoint==waypoints.length){
               currentRoutePoint--;
           }
      }
     
      transform.position = Vector3.MoveTowards(transform.position,waypoints[currentRoutePoint],speed);
}

}

 
Последний раз редактировалось IDoNotExist 10 авг 2011, 18:15, всего редактировалось 1 раз.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Движение по Waypoints

Сообщение DjKoKs 10 авг 2011, 14:34

IDoNotExist, спасибо. seaman, Огасода это тот человек, который выпустил уроки по RPG?
Аватара пользователя
DjKoKs
UNец
 
Сообщения: 33
Зарегистрирован: 05 дек 2010, 23:42

Re: Движение по Waypoints

Сообщение Genusatplay 10 авг 2011, 14:39

Огасода это тот человек, который выпустил уроки по RPG?

да, у него есть такие уроки
Genusatplay
UNIт
 
Сообщения: 59
Зарегистрирован: 04 июн 2011, 11:59
Откуда: Ростов-на-Дону

Re: Движение по Waypoints

Сообщение IDoNotExist 10 авг 2011, 18:18

Первый раз фиговый пример написал, исправил, щас посмотрите.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Движение по Waypoints

Сообщение DjKoKs 12 авг 2011, 16:19

IDoNotExist, спасибо огромное за пример! Сейчас буду пробовать.
Аватара пользователя
DjKoKs
UNец
 
Сообщения: 33
Зарегистрирован: 05 дек 2010, 23:42


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20