1.首先明白一个点,什么是左手坐标系,什么是右手坐标系,在此不详细说了,看下图应该就知道了。
2.unity在模型空间(Model)和世界空间(World)中用的是左手坐标系
在观察空间(View)unity使用的是右手坐标系
3.齐次坐标:增加一个维度可以实现对平移的表示。(四维向量)
4.M矩阵 把模型坐标转化为世界坐标。M= M(translation)*M(rotation)*M(scale)(这个顺序很重要,不能错乱)
P(world) = M*P(local)
5.固定的左乘顺序: 缩放->旋转->平移 (需要知道为什么???)
解释:假设一个点在坐标原点先移动(0,0,5),再缩放(2,2,2),最后的坐标是(0,0,10)错误。
但是如果我们先缩放在平移的话,最后的坐标就是(0,0,5),正确,旋转也是同样的道理。
通过unity中对应的Transform可以计算出平移,旋转,缩放三个矩阵的表达式
6:注意点 给定旋转角度(Ox,Oy,Oz),如果同时绕XYZ轴旋转的话, unity 给出的旋转顺序是zxy
好了,仅此记录自己学习的收获,但如果你觉得对你也有所帮助的话,还请帮忙点个赞吧。😊














网友评论