Хочу повернуть объект только по осям 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, не помогло. Помогите пожалуйста разрабы добрые!