он как-то повернут, по всем осям.
Я знаю его кватернион поворота. Как мне повернуть этот объект по нужной оси на нужное количество градусов?
Я делаю так: currentQuaternion * Quaternion.CreateFromAxisAngle(axis, angle)
Синтаксис условный. Но почему-то ведет себя странно, не могу понять почему. У меня это делается в апдейте, axis постоянно меняется, и объект постепенно теряет ось врещения (вращается не вокруг axis)
Так если не использовать Rotate transform'a. quaternion *= Quaternion.AngleAxis(Time.deltaTime * _speed, _direction);
Как сказал человек, он не в Unity делает. Но даже если fixed, странно что поворот не успевает за осью. Скорее дело в глобальном и локальном пространстве.
Там нет локального пространства, все в глобал делается
Но тем нее менее, ось вращения можно указывать относительно объекта или относительно мирового пространства. Я прикрепил скрипт, вроде это то, чего ты добиваешься.
Обсуждают сегодня