Pitch、Yaw、Roll角的概念
Pitch角,也叫俯仰角,用于描述物体绕x轴旋转的旋转角度。对应相机的上下旋转。
float pitch = Mathf.Atan2(direction.y, direction.z) * Mathf.Rad2Deg;
Yaw角,也叫航向角,用于描述物体绕y轴旋转的旋转角度。对应相机的水平旋转。
float yaw = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg;
Roll角,也叫横滚角,用于描述物体绕z轴旋转的旋转角度。相机应保持水平,不应该有横滚角。
代码文章来源:https://www.toymoban.com/news/detail-621340.html
给定一个方向,让物体旋转到这个角度(其实用Quaternion.LookRotation就可以..文章来源地址https://www.toymoban.com/news/detail-621340.html
float GetYawAngleFromDirection(Vector3 direction)
{
float yaw = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg;//所给方向与世界坐标系的z轴夹角(yaw angle,偏航角)
return yaw;
}
float GetPitchAngleFromDirection(Vector3 direction)
{
float pitch = Mathf.Atan2(direction.y, direction.z) * Mathf.Rad2Deg;
return pitch;
}
float GetRollAngleFromDirection(Vector3 direction)
{
float roll = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
return roll;
}
public void LookRotation(Vector3 direction)
{
transform.rotation = Quaternion.Euler(GetPitchAngleFromDirection(direction), GetYawAngleFromDirection(direction), GetRollAngleFromDirection(direction));
}
到了这里,关于Unity 根据所给方向计算Pitch、Yaw、Roll角的大小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!