四元數(shù)乘法 *
建議非特別了解的人群就不要用了岗屏。
作用很簡單夯辖,c=ab (c,a,b∈Quaternion)可以理解為 ∠c=∠a+∠b
但是ab 和ba效果不一樣的翰绊。
相乘會得到一個新的疊加旋轉(zhuǎn)的四元數(shù)
以下為lua代碼實現(xiàn)功能胆屿,
始終沿著一個軸旋轉(zhuǎn)
local quaternionX = Quaternion.AngleAxis(self.y, self.m_fishTankRot.parent:TransformDirection(Vector3.left));
local quaternionY = Quaternion.AngleAxis(self.x, self.m_fishTankRot.parent:TransformDirection(Vector3.down));
local quaternion = quaternionXquaternionY;
self.m_fishTankRot.localRotation = quaternion;
static function AngleAxis (angle : float, axis : Vector3) : Quaternion
Description
Creates a rotation which rotates angle degrees around axis.
物體沿指定軸向axis旋轉(zhuǎn)角度angle, 很實用的一個函數(shù)也是箭养。
腳本:
var obj1: Transform;
var obj2: Transform;
var q:Quaternion;
//物體沿obj2的z軸旋轉(zhuǎn)慕嚷,角度等于obj1的z軸。
q=Quaternion.AngleAxis(obj1.localEularAngle.z, obj2.TransformDirection(Vector3.forward));
transform.rotation=q;