Четверг, 26 Декабря 2024, 14:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с нахождением оси Y
dzrone3488Дата: Вторник, 22 Марта 2016, 22:13 | Сообщение # 1
участник
Сейчас нет на сайте
Может быть тупой вопрос, по этому предупреждаю сразу. Я просто не знаю, что еще делать. Из за не стабильной и не исправной работы оси Y (Не надо писать коль исправить всё можно! Это точно не исправить) мне нужно её вычислить имея только две, то есть X и Z. Могу ли я каким нибудь алгебраическим трюком найти значение оси Y зная значения X и Z?

Я делаю игры, а вы в них играете! :)
Моя группа по созданию игр - www.vk.com/dzrone

falcowareДата: Вторник, 22 Марта 2016, 22:21 | Сообщение # 2
старожил
Сейчас нет на сайте
Y = cross_product(X, Z);
NecrolichДата: Вторник, 22 Марта 2016, 22:24 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Код

dir = new Vector3(x,0,z).normalized;
float radA = Atan2(dir.x,dir.z);
float degA = radA * Mathf.Rad2Deg;//eularAngles


Сообщение отредактировал Necrolich - Вторник, 22 Марта 2016, 22:27
seamanДата: Вторник, 22 Марта 2016, 22:34 | Сообщение # 4
старожил
Сейчас нет на сайте
Жуть. Зачем атаны и т д.? Написали же уже.
Vector3.Cross(X, Z)
Это для любых векторов - перпендикулярный им вектор.
Ну а для оси Y я бы использовал все же up. Vector3.up или trznsform.up по необходимости
falcowareДата: Вторник, 22 Марта 2016, 22:34 | Сообщение # 5
старожил
Сейчас нет на сайте
Necrolich, ты хоть сам то понял, что написал?

Сначало, ты нормализовал вектор. Потом нашел угол между осью х и z который всегда равен 90 градусов? biggrin
seamanДата: Среда, 23 Марта 2016, 22:27 | Сообщение # 6
старожил
Сейчас нет на сайте
Судя по всему это будет полезно: habrahabr
wcptДата: Среда, 23 Марта 2016, 23:57 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
векторное произведение же!
  • Страница 1 из 1
  • 1
Поиск:

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