Задать вопрос
Fcorpion
@Fcorpion
Per aspera ad astra = Через терни к звёздам.

Как повернуть объект с помощью Quaternion-ов по осям x и z чтобы координата y не менялась?

Хочу повернуть объект только по осям x и z но во время этого координата Y меняется. В плане использование и теории кватернионов я Чайник.
public class PlatformRotator : MonoBehaviour
{
 
    [SerializeField] private float _speed;

    private Rigidbody _rigidbody;
    private SwipeReader _input;

    private void Awake()
    {
        _rigidbody = GetComponent<Rigidbody>();
        _input = GetComponent<SwipeReader>();
    }

    private void Start()
    {
        _input.OnDirectionChanged += OnSwipingHandler;
    }

    private void OnSwipingHandler(Vector2 direction)
    {
        var currentPosition = transform.localRotation;
        var direction3D = new Vector3(direction.y, 0,-direction.x);
        var rotate = UnityEngine.Quaternion.Euler(direction3D) * currentPosition;
        _rigidbody.MoveRotation(rotate);
    }

    private void OnDrawGizmos()
    {
     
    }
}

Обнуляю Y координату в направлении и у самого объекта но почему то всё равно она меняется, даже пробовал в rigitbody галочку freeze rotation Y, не помогло. Помогите пожалуйста разрабы добрые!
  • Вопрос задан
  • 82 просмотра
Подписаться 2 Сложный 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы