Unity 四元数和向量相乘

  1. position = rotation*Vector3(0.0, 0.0, -distance) + target.position;  

这是相机环绕的一段代码,当时无法理解这是怎么实现环绕的,上网查找了一些资料之后终于明白了,特来记录一下。

Unity 里的rotation是四元数,四元数*向量   得到的是经过旋转后的向量,  例如 Quaternion.Euler(0,90,0) *  vector3(0 , 0 , -distance)  得到的是  (-distance,0,0)

实际上就是把(0,0,-distance)绕着y轴旋转90度变成了 (-distance,0,0)   ,在与目标位置相加后就能围绕目标环绕了

你可能感兴趣的:(Unity学习)