對unity3d 中quaternion一些整理
quaternion 中文是四元數。記得計算機圖形學中,在x,y,z的基礎上新增了新的乙個w。這樣算是所謂的四元數。具體的解釋可以參考,百科等。
quaternion.angleaxis ,angleaxis角軸
繞axis軸,旋轉angle角度。例如:繞y軸旋轉30度。
transform.rotation = quaternion.angleaxis(30,vector3.up);代表的是y軸正方向。
quaternion.angle 返回的是 a 和 b 之間的角度。
float angle = quaternion.angle(transform.rotation,target.rotation);//返回的是transform和target兩個之間的角度
quaternion.dot 兩個旋轉之間的點乘。點乘即所謂的內積,學過數學的都知道內積。簡單點就是對應座標相乘在相加。
print(quaternion.dot((transform.rotation,target.rotation));
quaternion.eularangle 返回表示旋轉的尤拉角度。繞z軸旋轉euler.z度,繞x軸旋轉euler.x度,繞y軸旋轉euler.y度。這樣的順序,就是繞軸旋轉的角度
var rotation = quaternion.identity;
rotation.eulerangles = new vector3(0,30,0) ;
quaternion.eular 返回表示旋轉的尤拉角度。繞z軸旋轉euler.z度,繞x軸旋轉euler.x度,繞y軸旋轉euler.y度。這樣的順序,可以理解成兩個向量之間的角度。
quaternion.euler(vector3(0,30,0));
quaternion.fromtorotation 旋轉乙個變換的其中乙個軸,即旋轉乙個軸到另乙個軸的位置。
quaternion.identity. 無旋轉。
quaternion.lerp(from,to,float t).通過t值from 向to之間插值,並且規範化結果。
transform.rotation = quaternion.lerp(from.rotationg,to.rotation,time.deltatime);
static function slerp(from:quaternino,to:quaternion,t:float); 球形插值,通過t值from向to 之間插值。
transform.rotation = quaternion.slerp(from.rotation,to.rotation,time.delttime);
quaternion.lookrotation 注釋旋轉 建立乙個旋轉,沿著forward(z軸)並且頭部沿著upwards(y軸)的約束注視。也就是建麗乙個旋轉,使z軸朝向view,y軸朝向up
transform.rotation = quaternion.lookrotation(target.position-transform.position);
注意:在檢視面板中顯示的rotation的值就是euler值,但是你要是在**中寫到 transform.rotation.這時獲取的值是四元數。這時你要是想將四元數轉換成rotation,就要進行一系列的計算。但是你如果想直接獲取物體的角度。這時,你可以使用transform.rotation.eulerangles獲取此時的角度。即旋轉的角度。
對unity3d 中quaternion一些整理
Unity3D開發(九) Unity3d流光效果
遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...
unity3D 中Quaternion旋轉演算法
quaternion.euler x,y,z 返回乙個繞x軸旋轉x度再繞y軸旋轉y度再繞z軸旋轉z度的quaternion,因此quaternion.euler 0,90,0 返回乙個繞y軸旋轉90度的旋轉操作。quaternion作用於vector3的右乘操作 返回乙個將向量做旋轉操作後的向量。因...
Unity3d中3D Text對模型的穿透顯示
原帖 昨晚,好友在 裡問我在unity3d中使用3d text,不想讓其穿透模型顯示,即想讓場景中的3d text與模型有正確的遮擋關係,怎麼解?今早谷歌上查了查,明白了原因,因為3d text的預設材質的shader是gui text shader 自然就有了gui的穿透顯示的特性 而且不可以去手...