最近做题正好遇到了这样的问题,移动,或旋转,或缩放物体时,如何判断使用局部(自身)坐标系,还是世界坐标系。
因此特意写了一个小例子测试了下,局部坐标系到底受哪些因素影响。
创建两个物体,为其建立父子物体关系。
分别针对父物体旋转90度,子物体旋转90度,两者均旋转90度以及初始化状态的四种情况下,让父子物体按照transform.forward向量,各自在Center.World(世界坐标系)和Center.Self(局部坐标系)下进行移动。
观察两个物体的运动趋势,实验如下:
以上表格观察不难得出,在四种情况中,父物体出现了两种结果,而子物体出现了四种结果。
因此可以判断处于父子关系最顶层的物体,其局部坐标系的改变,仅受自身的位置、旋转改变的影响。
而处于父子关系下层的物体,除受自身的位置、旋转改变的影响外,还受父物体(们)的影响。
再次总结下:
最后再记录下心得:
1.子物体的Inspector视窗中显示的Transfrom属性,实际均为local属性(localPosition、localRotation、localScale)
2.在缩放有父子关系的物体群组时,物体之间的间距也会随之缩放