博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Unity中物体分别在本地和世界坐标系对应方向的移动
阅读量:6297 次
发布时间:2019-06-22

本文共 921 字,大约阅读时间需要 3 分钟。

方向

Vector3可以定义以世界坐标轴为参考的三维矢量,Vector3.forward,Vector3.up,Vector3.right方别对应物体世界坐标系的Z,Y,X轴方向的单位向量,或者叫三维单位方向向量,是矢量

this.transform.forward,this.transform.up,this.transform.right分别对应当前物体在本地坐标系的Z,Y,X轴方向的单位向量,或者叫三维单位方向向量,是矢量

 

距离

Update(){

  float distance = this.first_move_speed * Time.deltaTime;//每秒移动的距离,是标量

  ......

 

注意

三维单位方向向量乘标量距离才能成为一个可以使用的有长度有方向的三维矢量

移动translate函数用(X轴方向的标量,Y轴方向的标量,,Z轴方向的标量,,指定的坐标系)就可以表示

move函数的是以三维矢量为参数

物体position的加减是以三维矢量为单位的

 

方法一

this.transform.Translate(0, 0, -distance, Space.Self);//本地坐标系为参考系

this.transform.Translate(0, 0, -distance, Space.World);//世界坐标系为参考系

 

方法二

this.c_ctrl.Move(-this.transform.forward * distance);//,this.c_ctrl是Unity自带的角色控制器,括号里的是一个三维矢量,三维单位方向向量乘标量距离,本地坐标系为参考系

this.c_ctrl.Move(-Vector3.forward * distance);//世界坐标系为参考系

 

方法三

this.transform.position+=transform.forward * distance;//做了一个三维矢量的加法,三维单位方向向量乘标量距离,本地坐标系为参考系

this.transform.position+=Vector3.forward * distance;//世界坐标系为参考系

转载地址:http://qvlta.baihongyu.com/

你可能感兴趣的文章
刚搭建的linux环境的基本优化以及优化脚本---菜鸟初写
查看>>
北京20-35万Sharepoint Senior Consultant
查看>>
Vue开源项目库汇总
查看>>
apache 站点安全
查看>>
zabbix监控管理维护脚本
查看>>
使用async/await——Nodejs+ExpressJs+Babel
查看>>
贵州省新农合业务系统容灾技术支撑服务项目
查看>>
zabbix邮件报警python脚本
查看>>
zabbix自动发现规则实现批量监控主机的TCP监听端口
查看>>
smarty半小时快速上手教程
查看>>
python fabric实现远程操作和部署
查看>>
表单form类型数据转换为数组array
查看>>
AIX系统日志学习笔记之三
查看>>
搜索进一步细化 谷歌或重回大陆
查看>>
瑞星个人安全产品又添新丁
查看>>
搭建web服务器,发布站点
查看>>
ansible之fetch模块
查看>>
ftp虚拟账户配置
查看>>
sql server 2008数据复制
查看>>
EIGRP的AD(管理距离)、AD(宣告距离)、FD(可行距离)
查看>>