Unity基础——世界坐标系(Global)和本地坐标系(Local)

一.概念对比

        在 Unity 3D 开发的奇妙世界里,坐标系是构建虚拟场景和操控物体的基础框架,而世界坐标系(Global)和本地坐标系(Local)则是其中两个至关重要的概念。清晰理解它们的差异,对于精确控制物体的位置、姿态和运动起着决定性的作用。

特性世界坐标系(Global)本地坐标系(Local)
原点固定为场景原点(0,0,0)父物体的位置(Parent.transform.position)
坐标轴方向X 右,Y 上,Z 前(标准右手坐标系)父物体的旋转方向决定轴方向
位置相对性绝对位置,相对于场景原点相对位置,相对于父物体的位置
典型应用物体在场景中的全局定位父子物体层级关系(如机械臂关节、角色武器)


二.实例

前提条件:黑cube:father   坐标为:0,0,0                             白cube:son   坐标为:2,0,0

黑:世界坐标为(0,0,0),本地坐标(0,0,0)

白:世界坐标为(2,0,0),本地坐标(2,0,0)

把黑cube沿着x正方向移动2个单位后:

黑:世界坐标为(2,0,0),本地坐标(2,0,0)

白:世界坐标为(4,0,0),本地坐标(2,0,0)

        通过这个实例,我们可以清楚地看到,子物体的本地坐标始终相对于父物体的当前位置,而子物体的世界坐标会随着父物体的移动而相应地改变。


三.总结

位置关系总结

1.子物体本地坐标始终相对于父物体当前位置,子物体的世界坐标会随父物体移动而变化。子物体的本地坐标是相对于父物体当前位置的,这使得我们在处理父子物体之间的相对位置关系时更加方便。无论父物体如何移动,子物体在本地坐标系中的坐标保持不变,而其世界坐标会随着父物体的移动而变化。这种特性在创建复杂的物体层级结构和实现物体之间的相对运动时非常有用。

旋转影响总结

2.父物体的旋转会改变本地坐标系的轴方向(例如父物体 Y 轴旋转后,子物体的本地 Z 轴方向会同步变化)。父物体的旋转会对本地坐标系的轴方向产生影响。当父物体发生旋转时,本地坐标系的坐标轴也会随之旋转,子物体在这个旋转后的本地坐标系中的位置和方向描述也会相应地改变。例如,当父物体绕 Y 轴旋转后,子物体的本地 Z 轴方向会同步变化,这就需要我们在编写代码控制物体运动时,充分考虑到这种旋转对本地坐标系的影响。


四.Unity切换Global和Local视角

        在 Unity 的场景视图中,我们可以通过点击工具栏上的 “Global” 和 “Local” 按钮来实现这两种视角的切换。当我们选择 “Global” 视角时,场景中的物体将以世界坐标系为参考进行显示和操作。此时,我们可以看到物体在整个场景中的绝对位置和方向,方便进行全局定位和布局。而当我们选择 “Local” 视角时,物体将以其本地坐标系为参考进行显示和操作。在这个视角下,我们可以更清晰地观察物体相对于其父物体的位置和姿态,便于进行局部的调整和动画制作。通过灵活切换这两种视角,我们可以更加高效地完成 Unity 项目的开发工作,确保物体在世界坐标系和本地坐标系中的位置和方向都符合我们的预期。


五.结语

        在 Unity 开发的征程中,世界坐标系和本地坐标系是我们手中的有力工具。深入理解它们的概念、差异和应用,能够帮助我们更加精确地控制物体的位置、姿态和运动,创造出更加逼真、精彩的虚拟世界。希望通过本文的介绍,你对这两个重要的概念有了更清晰的认识。愿你我在 Unity 之路上一路高歌,用创意和技术打造出令人惊叹的作品!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值