Quaternion.LookRotation含义与用法

链接

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)的小球,如下图所示:


1.png

按照官方说明文档中的用例,target是小球,自身是方块,对小球施加LookRotation(target.position - transform.position, Vector3 upwards = Vector3.up)。

那么z轴会旋转至target.position - transform.position(也就是方块朝向小球的方向),x轴会旋转至朝向方向与Vector3.up叉积的方向。如下图所示:


2.png

假设将upwards改成Vector3.right,那么z轴仍旧会旋转至target.position - transform.position(也就是方块朝向小球的方向),x轴会旋转至朝向方向与Vector3.right叉积的方向。如下图所示:


3.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容