如何获取基于世界坐标系的相机角度(无需自行计算)
获取世界坐标系下的相机角度
- 直接调用相机Transform组件的
rotation属性即可,它本身就对应世界空间的旋转(四元数形式)。如果需要转换为欧拉角,用eulerAngles属性:// 获取主相机的世界空间欧拉角(角度值) Vector3 worldCameraAngles = Camera.main.transform.eulerAngles; // 分别提取各轴角度:Y轴是航向,X轴是俯仰,Z轴是翻滚 float yaw = worldCameraAngles.y; float pitch = worldCameraAngles.x; float roll = worldCameraAngles.z; - 区分容易混淆的属性:
transform.localRotation:相机相对于父物体的局部坐标系旋转transform.rotation:相机相对于世界坐标系的绝对旋转
- 注意:欧拉角存在万向锁问题,如果需要精确的旋转计算,建议直接使用四元数
rotation进行操作,避免转换为欧拉角。
内容的提问来源于stack exchange,提问作者Sung.P
相关产品推荐
相关产品推荐

