Пятница, 29 Марта 2024, 13:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Кватернионы, Эйлеры, Матан, ИИ
Кватернионы, Эйлеры, Матан, ИИ
zaicev9797Дата: Четверг, 17 Октября 2019, 18:38 | Сообщение # 1
AbRaKaDaBrA
Сейчас нет на сайте
Имеется самолетик склеенный как конструктор и к нему прицеплена пачка движков. Он может PitchUp(a), PitchDown(a), YawRight(a), YawLeft(a), RollRight(a), RollLeft(a) относительно себя самого, и какими движками подруливать разбирается сам.
Например он неплохо может гасить момент и инерцию этими тремя методами, если игрок не управляет бандурой в данный момент.

Имеется вектор в направлении от самолета к цели

Как заставить его повернуться параллельно этому вектору "не читерным" способом (тоесть вот этими шестью методами, которыми он располагает)?

для меня показалось очевидным, что мне нужно как то получить Вектор3, чтоб понять как поворачивать.
пробовал получить нужный вектор так

Код
Vector3 dir = targetTransform.position - transform.position;
Quaternion qr = Quaternion.LookRotation(dir, targetTransform.up);
Vector3 vr = qr.eulerAngles;


так

Код
Quaternion qr = Quaternion.FromToRotation(transform.forward, (transform.position - targetTransform.position).normalized);
Vector3 vr = qr.eulerAngles;


и так

Код
Vector3 dir = transform.forward;
Vector3 neededDir = (transform.position - targetTransform.position).normalized;
float angle = Vector3.Angle(dir, neededDir);
Vector3 vr = Vector3.Cross(dir, neededDir)*(180-angle);

тут по отдельности (если не вращать по Х или не вращать по У) работает правильно.
Если же разрешить ему одновременно подруливать и по Х и по У то работает почти норм, но в некоторых случаях он смотрит рожей, а в некоторых поворачивается задницей.
Тут я долго пытался понять в чем трабл, в иттоге мой качан сей матан не осилил, за сим пришел сюда за помощью.

Добавлено (19 Октября 2019, 10:10)
---------------------------------------------
может где то что то почитать можно в более менее доходчивом виде, может с примерами. Ато чот в универе такие геметро-матанячьи приколы как то не освещались совсем

Добавлено (19 Октября 2019, 11:39)
---------------------------------------------
Нда, а ошибка то смешная... Не забывайте следить за тем, когда вы используете глобальные, а когда локальные координаты.
В этом была моя ошибка.


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Суббота, 19 Октября 2019, 10:08
LLLДата: Суббота, 19 Октября 2019, 18:51 | Сообщение # 2
участник
Сейчас нет на сайте
Так этож читерство :)
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Кватернионы, Эйлеры, Матан, ИИ
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг