文档章节

关于Vector3.forward 和 transform.forward 本地坐标和世界坐标的区别

g
 gametodoN
发布于 2017/02/13 12:32
字数 499
阅读 658
收藏 0

首先  Vector3.forward  的值永远是 (0,0,1)    

世界坐标系的值加它就沿世界坐标z轴运动,本地坐标系的值加它就沿本地坐标的z轴运动

Vector3 dir = transform.TransformDirection(Vector3.forward);

我们可以用这个方法将  Vector3.forward 的方向从局部坐标值转换到世界坐标值

它相当于当前物体的自身坐标系z轴在世界坐标上指向,不一定等于(0,0,1)但是其magnitude长度是1,指向是当前物体的z轴,也就是物体的正前方

transform.forward  它的值其实就是上面所讲的  dir的值  其道理是一样的  它的值就相对于当前物体的自身坐标系的z轴在世界坐标上的指向,不一定等于(0,0,1)但是其magnitude长度是1,指向是当前物体的z轴,也就是物体的正前方

必须用世界坐标系的值去加transform.forward  它才可以沿物体的z轴也就是正前方运动

 

事例:

transform.position 本身就是世界坐标。

 

1、transform.position+= vector3.forward 

等于是在世界坐标的z轴前进。

2、transform.position+=transform.forward 

等于是物体自身坐标系的z轴前进。

 

3、transform.translate(vector3.forward,space.self) 

等于是自身坐标系的z轴前进。

效果等同于2

 

4、transform.translate(transform.forward,space.self) 

这种方法会导致不明确的方向移动  transform.forward本身就是相对于自身坐标z轴的世界坐标上的指向,你再在自身坐标运动这个值,当然是不会沿自身z轴或者是世界坐标的z值运动了

 

5、transform.translate(vector3.forward,space.world)

等于是让物体沿着世界坐标的z轴前进。

效果等同于1。

 

6、transform.translate(transform.forward,space.world)

等于是让物体沿着“物体自身坐标z轴在世界坐标上的方向”前进(等同与物体沿着自身z轴前进)。

效果等同于2

 

 

 

© 著作权归作者所有

g
粉丝 3
博文 6
码字总数 3935
作品 0
私信 提问
Unity3d Transform.forward和Vector3.forward的区别!

在Unity中有两个forward,一个是Transform.forward一个是Vector3.forward。 对于Vector3来说,它只是缩写。没有其它任何含义。 Vector3.forward ,(0,0,1)的缩写。//在transform.Translate()...

祝福丶
2018/08/29
0
0
unity CharacterController move/simplemove参考自己轴的方向的运动(以自己局部坐标系)

Vector3 move_direction; CharacterController controller; move_direction=new Vector3(V,0,H); //从键盘输入的方向值 Vector3 currentdirection=transform.TransformPoint(movedirection)......

qq_24378389
2017/03/21
0
0
unity3d 数学基础与数学辅助类

------------------------------------------------------------- 转载注明smartdot:http://my.oschina.net/u/243648/blog/67193 1. 数学(点乘/叉乘)/unity3d的数学辅助类 2. 坐标系统(本......

Matrix4X4
2012/07/15
12K
1
unity 第三人称控制对象平移转向C#脚本(亲测有效)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24378389/article/details/60327181 using UnityEngine; using System.Collections; public class Control......

LY-C
2017/03/04
0
0
unity ray和line射线检测

RaycastHit 光线投射碰撞 Struct Structure used to get information back from a raycast. 用来获取从raycast函数中得到的信息反馈的结构。 参见:Physics.Raycast, Physics.Linecast, Phys......

小辉歌
01/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员web前端教程分享web前端入门基础知识

  好程序员web前端教程分享web前端入门基础知识,作为合格的Web前端工程师必须得掌握HTML、CSS和JavaScript。只懂其中一两个还不行,必须对这三门语言都要熟悉。下面我们一起来看一看吧! ...

好程序员官网
29分钟前
3
0
elasticsearch 中文分词插件IK-Analyze

elasticsearch 版本 7.3 安装中文分词插件 插件对应的版本需要和elasticsearch的版本一致 插件各个版本下载地址 https://github.com/medcl/elasticsearch-analysis-ik/releases 使用elastic...

kdy1994
33分钟前
4
0
只用一套解决方案,就可解决80%的交通物流行业信息难题

行业背景 新中国成立70多年来,中国交通运输总体上已经形成了多节点、全覆盖的综合运输网络,“五纵五横”综合运输大通道基本贯通,一大批综合客运、货运枢纽站场(物流园区)投入运营,取得...

朕想上头条
35分钟前
4
0
spring-boot结合AOP实现数据源动态配置

Spring-Boot+AOP方式实现多数据源切换 设计总体思路:Spring-Boot+AOP方式实现多数据源切换,继承AbstractRoutingDataSource实现数据源动态的获取,在service层使用注解指定数据源。 一、多数...

蜗牛伊
36分钟前
3
0
干货 | 京东技术中台的Flutter实践之路

在 2019 年,Flutter 推出了多个正式版本,支持的终端越来越多,使用的项目也越来越多。Flutter 正在经历从小范围尝鲜到大面积应用的过程,越来越多的研发团队加入到 Flutter 的学习热潮中,...

京东云技术新知
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部