Vector3 по двум осям.
Добавлено: 15 май 2020, 12:50
Здравствуйте.
Писал скрипт для управления воздушным транспортом и столкнулся с проблемкой. Нужно, чтобы объект, на который повешен скрипт по осям крена и тангажа отклонялся на определённый угол (я управляю с геймпада и этот угол пропорционален углу наклона джойстика), а по оси рысканья он вращался пока джойстик отклонён так, что скорость вращения зависит от угла наклона джойстика. Это сложно объяснить на словах, но из скрипта дело проясняется.
Отрывок:
Но дело в том, что Vector3 не даёт объекту вращаться в оси рысканья. Можно ли как-то сделать так, чтобы одна из осей Vector3 не была задействована вообще?
Также, скорее всего, придётся управлять осями крена и тангажа (из первой строчки) в локальном пространстве. Пока тоже не совсем понятно, как это сделать.
Заранее спасибо.
Писал скрипт для управления воздушным транспортом и столкнулся с проблемкой. Нужно, чтобы объект, на который повешен скрипт по осям крена и тангажа отклонялся на определённый угол (я управляю с геймпада и этот угол пропорционален углу наклона джойстика), а по оси рысканья он вращался пока джойстик отклонён так, что скорость вращения зависит от угла наклона джойстика. Это сложно объяснить на словах, но из скрипта дело проясняется.
Отрывок:
Синтаксис:
Используется csharp
RigBody.transform.eulerAngles = new Vector3(c * 200f, [ДАННАЯ ОСЬ НЕ ДОЛЖНА БЫТЬ ЗАДЕЙСТВОВАНА В ЭТОЙ СТРОЧКЕ], a * 200f); //Эта строчка управляет наклонами по осям крена и тангажа.
transform.Rotate(b * transform.up * YawSensitivity, Space.World); //Эта строчка управляет осью, незадействованной в строчке выше (Рысканье).
transform.Rotate(b * transform.up * YawSensitivity, Space.World); //Эта строчка управляет осью, незадействованной в строчке выше (Рысканье).
Но дело в том, что Vector3 не даёт объекту вращаться в оси рысканья. Можно ли как-то сделать так, чтобы одна из осей Vector3 не была задействована вообще?
Также, скорее всего, придётся управлять осями крена и тангажа (из первой строчки) в локальном пространстве. Пока тоже не совсем понятно, как это сделать.
Заранее спасибо.