在协程中,我设置刚体的速度以跟随触摸屏位置:
rb.velocity = direction * touchDragPhysicsSpeed;
但我也希望它的旋转趋势回到零度。我怎样才能做到这一点?
AI 不断告诉我做这样的事情:
Quaternion targetRotation = Quaternion.Euler(Vector3.zero);
rb.MoveRotation(Quaternion.Slerp(rb.rotation, targetRotation, rotationCorrectionSpeed));
但是 MoveRotation 行给出了错误:
Argument 1: cannot convert from 'float' to 'UnityEngine.Quaternion'
这是正确的做法吗?如果是这样,我该如何修复该错误?或者有更好的办法吗?
根据 Unity - Quaternion.Euler 的脚本 API 文档,您无法将
Vector3.zero
作为参数传递,因为需要浮点数而不是四元数,在本例中为 Vector3.zero
。单独传递值而不是 Vector3.zero
。
Quaternion targetRotation = Quaternion.Euler(0, 0, 0);