链接
https://docs.unity3d.com/ScriptReference/Quaternion.LookRotation.html
签名
public static Quaternion LookRotation(Vector3 forward, Vector3 upwards = Vector3.up);
含义
将自身坐标系(也就是以自身为原点的标准坐标系)的z轴旋转至forward,将自身坐标系的x轴旋转至forward x upwards方向,将自身坐标系的y轴旋转至(forward x upwards) x forward方向,所对应的旋转四元数。
说明
对于初始状态为(0.5,0.5,0.5)的方块,以及初始状态为(1,1,1)的小球,如下图所示:
按照官方说明文档中的用例,target是小球,自身是方块,对小球施加LookRotation(target.position - transform.position, Vector3 upwards = Vector3.up)。
那么z轴会旋转至target.position - transform.position(也就是方块朝向小球的方向),x轴会旋转至朝向方向与Vector3.up叉积的方向。如下图所示:
假设将upwards改成Vector3.right,那么z轴仍旧会旋转至target.position - transform.position(也就是方块朝向小球的方向),x轴会旋转至朝向方向与Vector3.right叉积的方向。如下图所示: