在UE4虚幻引擎中,常见的嵌套坐标系有Skeletal骨骼,以及嵌套多节点(子节点,父节点)Actor。本文中,以嵌套多节点Actor为例。
Skeletal骨骼,嵌套坐标系。
1、Relative相对位置,相对旋转。
相对位置,表示以父节点为原点的坐标位置。
如图中Cube2的相对位置(X=-32.023560,Y=25.381744,Z=-115.120667)。Cube2的世界坐标位置,通过运算以Cube2的相对位置(X=-32.023560,Y=25.381744,Z=-115.20667)+父节点Cube1的坐标位置(X=119.980339,Y=-300.000000,Z=340.289795)就能得到Cube2的世界坐标位置(X=87.956779,Y=-274.618256,Z=225.169128)。
因此Relative相对位置,可以理解为以父节点为原点的偏移位置。
Cube2的世界坐标位置
2、World 世界位置,以世界坐标(0,0,0)点为原点的,坐标位置。
图中的Cube2的世界位置,(X=87.956779,Y=-274.618256,Z=225.169128)
3、父节点旋转之后,子节点的World世界坐标位置会发生变化。
父节点Cube1的X轴旋转107.99度
子节点Cube2的世界位置发生了变化。
子节点Cube2的相对位置没有变化。
4、相对旋转,以自身坐标系为基础旋转。
父节点Cube1的Z轴(Yaw)旋转了30度,会影响到子节点跟随一起旋转。
Cube2自身的Y轴(Pitch)旋转30度。此时Cube2的Rotation旋转值是(Pitch(Y轴):30.0,Yaw(Z轴):30.0,Roll(X轴):0.0);
父节点Cube1没有旋转。此时Cube2的Rotation旋转值是(Pitch(Y轴):30.0,Yaw(Z轴):0.0,Roll(X轴):0.0);
父节点Cube1没有旋转。
5、世界场景旋转,以世界坐标轴为基础旋转。
父节点Cube1的Z轴(Yaw)旋转了30度。
总结:在嵌套坐标系中,父节点会影响子节点。子节点的相对位置,相对旋转以及相对缩放是基于在父节点的基础上的。