问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/MY_future_/article/details/145879055

在Unity 3D开发中,坐标系是构建虚拟场景和操控物体的基础框架。世界坐标系(Global)和本地坐标系(Local)作为其中两个至关重要的概念,清晰理解它们的差异对于精确控制物体的位置、姿态和运动起着决定性的作用。本文将通过对比表格、实例演示和Unity软件中的实际操作,详细解释这两个坐标系的特点和使用场景。

一.概念对比

在 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 之路上一路高歌,用创意和技术打造出令人惊叹的作品!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号