Страница 1 из 1

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

СообщениеДобавлено: 06 янв 2017, 22:21
Ozbend
Пару дней уже ищу и не могу найти внятного примера. При перетягивании героя по сцене, он всегда смотрит в заданную точку. Всё в 2D.

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

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

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

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


Это я пробовал, не корректно работает. Вот ещё пример: AngryB, когда двигаешь птицу, она всегда смотрит на стартовую позицию. Вот такое мне нужно.

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

СообщениеДобавлено: 07 янв 2017, 12:51
samana
Я не играл в AngryB и не знаю что там происходит.

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

Но что именно не корректно работает? Может вы хоть скриншот покажите или часть кода.

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

СообщениеДобавлено: 07 янв 2017, 13:03
Ozbend
Изображение

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

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

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

Либо попробуйте нацеливать треугольник осью Y (transform.up), а не Z (transform.right).

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

СообщениеДобавлено: 07 янв 2017, 14:03
Ozbend
Он должен смотреть на зелёный круг, а смотрит почему-то на жёлтый (примерно, где-то там). Не могу понять, почему он ориентируется на координаты жёлтого круга, хотя я ему дал зелёный.

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


Изображение

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

СообщениеДобавлено: 07 янв 2017, 14:56
samana
А у вас герой и эти круги точно по позиции в нулях по Z?

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

СообщениеДобавлено: 07 янв 2017, 16:17
Ozbend
Да, проверил.

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

СообщениеДобавлено: 07 янв 2017, 18:55
Ozbend
Заработала твоя строчка. Вдруг. Магия. Спасибо.