關於U3D中的移動和旋轉

2022-03-18 03:32:54 字數 905 閱讀 7295

第乙個引數標識移動的距離,是乙個向量;第二個引數是因為遊戲物件有自己的座標系,還有乙個世界座標系,使用的座標系不同將導致運動的結果不同;

function translate (translation : vector3, relativeto : space = space.self) : void
①繞著自己旋轉,在u3d中,旋轉用尤拉角表示,可以直接使用尤拉角,也可以通過三個軸向上的旋轉角度來確定乙個旋轉;同樣,繞自己旋轉也需要確定座標系,所以有了下面的兩種api介面

function rotate (eulerangles : vector3, relativeto : space = space.self) : void

function rotate (xangle : float, yangle : float, zangle : float, relativeto : space = space.self) : void

②繞著某一固定軸旋轉,這個軸通常由通過某乙個點的三維向量來標識,因此形成了如下兩種api

function rotate (axis : vector3, angle : float, relativeto : space = space.self) : void

function rotatearound (point : vector3, axis : vector3, angle : float) : void

其中,繞著固定軸旋轉時,若這個軸與自己的中心重合,也就是繞自己旋轉了,這個時候的軸線可能使用的世界座標軸系,也可能是自己的座標軸系,因此有space引數;

如果固定軸不與自己的中心重合,那選定的點和軸線同時屬於世界座標軸系或者同時屬於自己的座標軸系,旋轉的結果都是一樣的,因此沒有space引數;

U3D層的運用

layermask下面簡單說一下層的開關方法 1.首先引入 的概念 與 交集 10000001 10000100 10000000 或 並集 10000001 10000100 10000101 非 反轉 10000001 01111110 2.int mylayermask 1 curlayer ...

U3D層的運用

layermask下面簡單說一下層的開關方法 1.首先引入 的概念 與 交集 10000001 10000100 10000000 或 並集 10000001 10000100 10000101 非 反轉 10000001 01111110 2.int mylayermask 1 curlayer ...

U3D中對物體的平移旋轉縮放位置操作

位置 obj.transform.position vector3 vector3為乙個三維向量,存放位置座標 平移 obj.transform.translate vector3 引數僅為平移的方向和向量的模 旋轉 obj.transform.rotate vector3 縮放 obj.trans...