Unity个人学习——物体的局部坐标->世界坐标的转换

世界坐标 (0, 0, 0)

物体相对于父物体的坐标(本地坐标/局部坐标)

矩阵变换:平移矩阵、旋转矩阵、缩放矩阵

一、不包含旋转/缩放的局部坐标->世界坐标的转换

这种方式比较容易理解,要求默认的旋转角度为 (0, 0, 0),缩放为 (1, 1, 1)。计算方式为:转换后的世界坐标 = 父物体的坐标 + 物体的局部坐标

1、物体没有父对象

这种情况下物体相对的父坐标就是世界坐标,所以物体的世界坐标就是其本身的坐标。

物体世界坐标 = 世界坐标 (0, 0, 0) + 局部坐标 (1, 0, 0) = (1, 0, 0)

2、物体有父对象

这种情况下就从物体的局部坐标一直往上加父对象的坐标,直到加上世界坐标。

假设:

  • 物体局部坐标 (0, 2, 0)
  • 父物体局部坐标 (1, 0, 0)(相对于其父物体,例如:世界)

物体世界坐标 = 世界坐标 (0, 0, 0) + 父物体局部坐标 (1, 0, 0) + 物体局部坐标 (0, 2 ,0) = (1, 2, 0)

 

二、只包含旋转的局部坐标->世界坐标的转换

1、只有物体旋转

2、只有父物体旋转

3、物体和父物体带旋转

三、只包含缩放的局部坐标->世界坐标的转换

四、包含旋转/缩放的局部坐标->世界坐标的转换

这种情况下变换的顺序非常重要, 通常的变换顺序是先缩放,再旋转,最后是平移。

未完待续……

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 局部坐标系是相对于特定参考系的坐标系,它的原点和坐标轴是相对于参考系的某个点和方向定义出来的,它的坐标值是相对于参考系而言的;而世界坐标系是一个统一的参考系,它的原点和坐标轴是在所有参考系之间共有的,它的坐标值是相对于全局参考系而言的。 ### 回答2: Unity中的局部坐标世界坐标是游戏对象或其组件在空间中位置的两种不同表示方式。 局部坐标是指相对于游戏对象本身的坐标系的位置。在局部坐标系中,游戏对象的原点通常指向该对象的中心点,而其它位置和方向则相对于该原点进行描述。例如,一个立方体游戏对象的局部坐标系原点在立方体的中心,其它点的坐标则根据中心进行描述。因此,不同的游戏对象即使有相同的局部坐标,其实际在世界坐标系中的位置也可能不同。 世界坐标是相对于整个游戏场景的坐标系的位置。在世界坐标系中,坐标的原点通常是整个场景的原点,而游戏对象的位置和方向则是相对于该场景的原点进行描述。例如,在一个2D游戏中,世界坐标系可能将原点定位在屏幕左下角,而一个角色的世界坐标则根据左下角进行描述。因此,相同的局部坐标在不同的游戏对象中转换世界坐标后可能得到不同的结果。 局部坐标世界坐标之间的转换可以通过游戏对象的变换组件进行。变换组件包含了游戏对象的位置、旋和缩放信息,它可以将局部坐标转换世界坐标,或将世界坐标转换局部坐标。通过变换组件,我们可以在不同的坐标系中操作游戏对象,实现各种移动、旋和缩放效果。 总之,局部坐标是相对于对象自身的坐标系,而世界坐标是相对于整个场景的坐标系。通过变换组件,我们可以在不同的坐标系中操作游戏对象,实现所需的效果。 ### 回答3: Unity中的局部坐标世界坐标是游戏中重要的概念,它们描述了对象在空间中的位置和方向。 局部坐标(Local Coordinates)是相对于对象自身的坐标系而言的。可以将局部坐标看作是对象的“本地”坐标。对于一个对象来说,它的局部坐标始终以对象自身为参考点,原点通常位于对象的中心点。局部坐标用于定义对象内部元素之间的位置关系。例如,对于一个人物模型,它的腿、手、头等各个部位都可以使用局部坐标进行描述。 而世界坐标(World Coordinates)是相对于整个场景的坐标系而言的。在Unity中,每个对象都有一个与之关联的世界坐标系。世界坐标系是以场景中的绝对位置为参考,用于表示对象在整个场景中的位置。世界坐标局部坐标不同,它描述了对象在整个场景中的绝对位置,不受对象自身的变换所影响。 两者的最大区别在于参考点的不同。局部坐标以对象自身为参考点,用于描述对象内部元素之间的位置关系;而世界坐标以场景中的绝对位置为参考点,用于描述对象在整个场景中的位置。 在Unity中,可以通过transform组件来获取和操作对象的局部坐标世界坐标。transform.localPosition为获取和设置对象的局部坐标,transform.position为获取和设置对象的世界坐标。了解和正确使用局部坐标世界坐标,对于对象的位置和方向的管理和操作都非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值