纳金网

标题: 请问,unity 如何获取当前物体的方向呢 [打印本页]

作者: 比巴卜    时间: 2012-10-18 08:38
标题: 请问,unity 如何获取当前物体的方向呢
请问,unity 如何获取当前物体的方向呢
作者: 艾西格亚    时间: 2012-10-18 14:22
参考一下:



Vector3向量既可以用来表示位置,也可以用来表示方向。在数学与物理中,既有大小又有方向的量叫做向量(亦称矢量),与标量相对。



在立体三维坐标系中,分别取与x轴、y轴,z轴方向相同的3个单位向量i,j, k作为一组基底。若a为该坐标系内的任意向量,以坐标原点O为起点作向量OP=a。由空间基本定理知,有且只有一组实数(x,y, z),使得 a=向量OP=xi+yj+zk,因此把实数对(x,y, k)叫做向量a的坐标,记作a=(x,y, z)。这就是向量a的坐标表示。其中(x,y, k),也就是点P的坐标。向量OP称为点P的位置向量。



首先是Vector3的变量

1)x,y,z  this[int index]

三个轴向,也可以用Vector3 i=[0,2]的整数来表示。



2)normalized (Read Only)

返回从坐标轴原点(0,0,0)到点P(x,y,z)的方向,向量的长度为 1。也就是说返回的向量的点P(x,y,z)到原点(0,0,0)的距离为1。这个很多时候被用来指示一个方向,然后再乘以想要的距离就可以得到我们想要的位置坐标。只能读取。



3)magnitude (Read Only)

返回向量的长度,也就是点P(x,y,z)到原点(0,0,0)的距离。最常用的是用来返回物体的移动速度

speed=rigidbody.velocity.magnitude;



只能读取。如果想自行规定距离可以先normalized然后乘以距离

speed=speed.normalized*objSpeed;



4)sqrMagnitude (Read Only)

返回向量的长度的两次方。大家知道向量的长度是用勾股定理计算出来的,计算机计算两次方和开跟的运算量比加减法要费时的多。所以如果是想比较两个向量的长度的话,用sqrMagnitude可以快很多。

作者: 比巴卜    时间: 2012-10-18 17:12
好全面 谢谢圈主




欢迎光临 纳金网 (http://old.narkii.com/club/) Powered by Discuz! X2.5