Слежение ГГ за точкой

Программирование на Юнити.

Слежение ГГ за точкой

Сообщение Ozbend 06 янв 2017, 22:21

Пару дней уже ищу и не могу найти внятного примера. При перетягивании героя по сцене, он всегда смотрит в заданную точку. Всё в 2D.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Слежение ГГ за точкой

Сообщение samana 07 янв 2017, 11:16

Например, чтобы голова всегда была направлена на цель, своей осью X (right).
Синтаксис:
Используется csharp
голова.transform.right = цель.transform.position - голова.transform.position.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Слежение ГГ за точкой

Сообщение Ozbend 07 янв 2017, 12:37

samana писал(а):Например, чтобы голова всегда была направлена на цель, своей осью X (right).
Синтаксис:
Используется csharp
голова.transform.right = цель.transform.position - голова.transform.position.


Это я пробовал, не корректно работает. Вот ещё пример: AngryB, когда двигаешь птицу, она всегда смотрит на стартовую позицию. Вот такое мне нужно.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Слежение ГГ за точкой

Сообщение samana 07 янв 2017, 12:51

Я не играл в AngryB и не знаю что там происходит.

Ozbend писал(а):Это я пробовал, не корректно работает.

Но что именно не корректно работает? Может вы хоть скриншот покажите или часть кода.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Слежение ГГ за точкой

Сообщение Ozbend 07 янв 2017, 13:03

Изображение

Треугольник, при движении вокруг круга, всегда должен на него смотреть, а выходит, что смотрит не совсем даже понятно куда, не могу уловить какие координаты он берёт.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Слежение ГГ за точкой

Сообщение samana 07 янв 2017, 13:32

Если вы используете ось X (right) для наведения, то значит что треугольник будет нацелен на цель свой правой стороной, то-есть изначально поворот треугольника по Z = 0 и он должен смотреть вправо одним из углов.

Либо попробуйте нацеливать треугольник осью Y (transform.up), а не Z (transform.right).
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Слежение ГГ за точкой

Сообщение Ozbend 07 янв 2017, 14:03

Он должен смотреть на зелёный круг, а смотрит почему-то на жёлтый (примерно, где-то там). Не могу понять, почему он ориентируется на координаты жёлтого круга, хотя я ему дал зелёный.

Перетаскиваю игрока этим:
Синтаксис:
Используется csharp
                Vector3 mouseWorldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                Vector2 startpointToMouse = mouseWorldPoint - startpoint.position;


Изображение
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Слежение ГГ за точкой

Сообщение samana 07 янв 2017, 14:56

А у вас герой и эти круги точно по позиции в нулях по Z?
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Слежение ГГ за точкой

Сообщение Ozbend 07 янв 2017, 16:17

Да, проверил.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Слежение ГГ за точкой

Сообщение Ozbend 07 янв 2017, 18:55

Заработала твоя строчка. Вдруг. Магия. Спасибо.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37


Вернуться в Скрипты

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

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