transform.Translate()与 Vector3.方向,transform.方向 以及坐标系之间的关系

10 篇文章 1 订阅

transform.Translate()与 Vector3.方向,transform.方向 以及坐标系之间的关系

1.首先先考虑特殊情况:当物体自身的坐标系与世界坐标系重合时
transform.Translate()与 Vector3.方向,transform.方向 以及坐标系的各种组合最终的组合都是一样的。
2.当物体自身的坐标系与世界坐标系不重合时(也就是物体发生了旋转)
如图:(以Vector3.forward,transform.forward 为例)

在这里插入图片描述

(1)transform.Translate(Vector3.forward, Space.World);

因为物体以世界坐标系为中心,而Vector3.forward又是一个固定的向量(0,0,1)
此时物体会朝Space.World世界坐标系的z轴移动:
在这里插入图片描述

(2)transform.Translate(transform.forward, Space.World);

因为物体以世界坐标为中心,而transform.forward又是一个永远指向物体前方的向量,会随着物体的旋转而改变,在本例中它的值的值为(0.9,0,0.4),在Space.World世界坐标系合成一下,你会发现该方向就是物体自身坐标系的z轴方向,
所以此时物体会朝物体的正前方移动,也就是物体自身坐标系的z轴移动。

在这里插入图片描述

(3)transform.Translate(Vector3.forward, Space.Self);

因为物体以自身自身坐标系为中心,而Vector3.forward又是一个固定的向量(0,0,1)
所以此时物体会朝物体的正前方移动,也就是Space.Self物体自身坐标系的z轴移动。

在这里插入图片描述

(4) transform.Translate(transform.forward, Space.Self);

物体以自身坐标为中心,而transform.forward又是一个永远指向物体前方的向量,会随着物体的旋转而改变,在本例中它的值为(0.9,0,0.4),在 Space.Self自身坐标系合成一下,你会发现该方向就是:把世界坐标系和物体自身坐标系看成一个整体,然后把该整体的世界坐标系旋转到与物体自身坐标系相重合,此时实际运动方向为此时该整体中物体自身坐标系的z轴,如图

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值