Unity计算

transform.InverseTransformPoint 和 transform.TransformPoint

一个是变换自身坐标到世界坐标 一个是变换世界坐标到自身坐标
比如说物体a的坐标内有一个3,3,3的点 你想知道这个点在世界坐标的位置 就应该用TransformPoint
反之在世界坐标下有一个点 你想知道这个点如果是在物体a的坐标下是一个什么位置 就应该用InverseTransformPoint
其实吧 就是在编辑器里把物体拽到根目录下的位置和物体在某物体内的位置之间的一个转换

deltaTime

Time.delatTime 是完成上一帧的时间,也就是本帧开始的时间减去上一帧开始的时间。
因为完成一帧所需要的时间不同,常用于时间一致性的动画计算。
new Vector3(Speed * Time.deltaTime, 0f, 0f);

normalized

Vector3.normalized 返回一个新的规范化的向量,用向量的计算;
public Vector3 Direction;
Direction.normalized;

Quaternion.LookRotation

Quaternion.LookRotation(Vector3 forward, Vector3 upwards);
这个函数就是根据对局部坐标轴的描述, 构造对应的代表旋转程度的四元数。
forward:向前向量, 即z轴的朝向。但是仅仅有z轴的朝向是不够的, 因为对象还可能绕着z轴旋转, 所以需要upwards来约束。
upwards:向上向量, 注意, 此向量不需要是精确的y轴的朝向(即不需要与forward垂直), 但是, 此向量应该处于z轴、y轴平面上。
题外话, 那么是如何得到正确的up向量(y轴的朝向)的呢?
可以先以forward、upwards求出right向量(x轴的朝向), 再以forward、right求出up向量(y轴的朝向), 即可。

Quaternion.RotateTowards

RotateTowards (from : Quaternion, to : Quaternion, maxDegreesDelta : float)
旋转一个角度从from向to。
这个函数的角速度永远不会超过maxDegreesDelta。负的maxDegreesDelta值将使旋转远离to。

Random.insideUnitSphere

返回半径为1的球体内的一个随机点。

this.transform.parent

比如创建一个空的gameObject,在这个空对象里面再创建一个cube,那么cube.transform.parent就是那个空对象。
他的作用在克隆的时候有用到,因为克隆出来的物体为了位置的统一和管理的统一,你要把他们放到同一个父体里面,也就是直接设置clone.transform.parent=某个对象。这样克隆出来的对象直接就放到“某个对象”里面了。

你可能感兴趣的:(Unity计算)