刨根问底 : 为什么, unity 的 Y轴 使用 惯性坐标系 旋转, 原因是什么,为什么要这样设计,理由

chatgpt 回复 :Unity中使用惯性坐标系(即世界坐标系)旋转物体的Y轴的设计决策可能有以下理由:

1. **一致性和易用性**:在许多情况下,游戏开发者更倾向于以世界坐标系为基准来操作物体,因为它是固定不变的。这样设计可以使旋转操作更加直观和易于理解,因为Y轴的旋转将保持相对于全局坐标系的一致性。

2. **便于控制**:使用惯性坐标系旋转Y轴可以使得控制物体的旋转更加直观和容易。例如,如果一个游戏中有一个角色需要绕着地面的Y轴旋转,那么使用惯性坐标系可以使得旋转操作更符合直觉。

3. **与其他引擎的兼容性**:Unity的设计也考虑到了与其他游戏引擎的兼容性。许多其他游戏引擎(如Unreal Engine)也使用了类似的坐标系设计,这样可以使开发者更容易在不同的引擎之间进行迁移或协作。

4. **避免混淆**:在某些情况下,如果Y轴的旋转使用了模型坐标系,可能会导致开发者混淆,因为物体的旋转将会受到其自身旋转的影响,这可能会增加复杂性和错误的可能性。

总的来说,Unity选择使用惯性坐标系旋转物体的Y轴可能是为了提高易用性、直观性和与其他引擎的兼容性。这种设计决策使得开发者更容易理解和控制物体的旋转行为,从而提高了开发效率和用户体验。

 

 

为什么会共面,因为y轴变换将影响x和z轴,因为有轴处在变换的最顶层(y-x-z),最主要的是y轴变换是模型在惯性坐标里变换,而其他轴的变换是在模型轴变换。所以就会出旋转面共面(万向锁)的情况。

 

 

我很满意, 

 

 https://www.cnblogs.com/w-wfy/p/7612598.html

https://blog.csdn.net/dmk17771552304/article/details/120110629

posted @ 2024-05-05 00:07  porter_代码工作者  阅读(16)  评论(0编辑  收藏  举报