| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> TransformDirection()菜鸟自己总结最容易理解 -> 正文阅读 |
|
[游戏开发]TransformDirection()菜鸟自己总结最容易理解 |
一、现在有一个cube,pos和rotation都是(0,0,0),三个轴代表世界的三个轴,粗的那边为正方向。 对于cube自己的本地坐标系来说,cube前==世界前,cube右==世界右,cube上==世界上。也就是和世界坐标系(世界空间)重合。(Unity的轴为cube身上的local轴) 二、
(代码挂在cube上,cube.transform就是transform) 这句代码含义是:打印( cube的(0,0,1)这个向量相当于世界的哪个向量?) ; 代码输出为:(0,0,1) 解释:cube自己坐标系的前方(0,0,1),相当于世界坐标系的哪个方向?因为现在是重合,所以cube的前方就是世界的前方,所以输出还是(0,0,1)。(Vector3.forward这里指的仅仅只是(0,0,1)而已,并不是世界坐标的前方。)
这段代码Translate()括号里的内容就是第一段代码,所以可以理解为Translate(0,0,1)。那么cube.Translate(0,0,1)是朝哪移动呢?肯定是顺着Z轴正方向(Z+)移动。 三、现在cube在军训,教官叫他“向右转”(Y转90°): 现在pos为(0,0,0),rotation为(0,90,0) 现在本地坐标和世界坐标不再重合了。从图222可看出,cube前==世界右,cube右==世界后,cube上==世界上。 再来看这两段代码:
现在输出为:(1,0,0) 代码含义不变:打印( cube的(0,0,1)这个向量相当于世界的哪个向量?) ;现在的cube前相当于世界右,所以是(1,0,0)。
现在这段代码等于transform.Translate(1,0,0); 也就是cube向自己的右边平移,上面说cube的右==世界的后,所以,没错,cube朝着世界坐标的后移动(Z-)。 四、再来一组试试,cube的x转90,y转90。现在pos为(0,0,0),rotation为(90,90,0),且代码中TransformDirection(xxx)的参数改为Vector3.right。 从图333可看出,cube前==世界下,cube右==世界后,cube上==世界右。
输出:(0,0,-1),因为看图333,cube的右==世界后。
代码等于transform.Translate(0,0,-1),也就是cube向后移动,还是看图333,cube的后就是世界的上,所以cube朝上飞 总结、
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/17 4:04:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |