套件 | flash.geom |
類別 | public class Utils3D |
繼承 | Utils3D Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
相關 API 元素
flash.geom.Vector3D
flash.geom.Transform
flash.geom.PerspectiveProjection
flash.display.Graphics
flash.display.GraphicsTrianglePath
Vector
方法 | 定義自 | ||
---|---|---|---|
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
pointTowards(percent:Number, mat:Matrix3D, pos:Vector3D, at:Vector3D = null, up:Vector3D = null):Matrix3D [靜態]
插補時將物件的方向朝向某個位置。 | Utils3D | ||
[靜態]
使用投影 Matrix3D 物件,將 Vector3D 物件從一個空間座標投影至另一個空間座標。 | Utils3D | ||
projectVectors(m:Matrix3D, verts:Vector.<Number>, projectedVerts:Vector.<Number>, uvts:Vector.<Number>):void [靜態]
使用投影 Matrix3D 物件,將三維空間座標的 Vector (verts) 投影至二維空間座標的 Vector (projectedVerts)。 | Utils3D | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object |
pointTowards | () | 方法 |
public static function pointTowards(percent:Number, mat:Matrix3D, pos:Vector3D, at:Vector3D = null, up:Vector3D = null):Matrix3D
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
插補時將物件的方向朝向某個位置。pointTowards()
方法結合了 Matrix3D.pointAt()
和 Matrix3D.interpolateTo()
方法的功能。
pointTowards()
方法允許原地修改方向。它會分解顯示物件的 Matrix3D,並將旋轉元素取代為會朝向目標位置以一個百分點轉動的旋轉元素。此物件可以朝向目標遞增式轉動,同時仍依照自己的方向移動。對 pointTowards()
的連續呼叫,然後再接著轉移方法,可以產生物件追逐或跟隨移動中目標的動畫。首先,將此物件以一個百分點指向目標,接著沿著軸遞增式移動物件。
參數
percent:Number — 一個介於 0 和 1 之間的數字,會朝向目標遞增式轉動物件。
| |
mat:Matrix3D — 變形物件的 Matrix3D 屬性。
| |
pos:Vector3D — 目標物件的世界相對位置。「世界相對」會相對於世界空間和座標 (即所有物件的位置) 來定義物件變形。
| |
at:Vector3D (default = null ) — 物件相對的向量,會定義顯示物件指向的位置。「物件相對」會相對於物件空間 (即物件專屬的參考座標和座標系統) 來定義物件變形。預設值為 (0,0,-1)。
| |
up:Vector3D (default = null ) — 物件相對的向量,會定義顯示物件的「上方」。如果繪製由上往下看的物件,+z 軸就是物件的「上方」向量。「物件相對」會相對於物件空間 (即物件專屬的參考座標和座標系統) 來定義物件變形。預設值為 (0,-1,0)。
|
Matrix3D — 第二個參數中指定之 Matrix3D 物件的修改版本。若要使用 pointTowards() 方法來轉換顯示物件,請將顯示物件的 Matrix3D 屬性設定為傳回的 Matrix3D 物件。
|
相關 API 元素
projectVector | () | 方法 |
public static function projectVector(m:Matrix3D, v:Vector3D):Vector3D
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
使用投影 Matrix3D 物件,將 Vector3D 物件從一個空間座標投影至另一個空間座標。projectVector()
方法就像 Matrix3D.transformVector()
方法,唯一的不同是,projectVector()
方法會將原始 Vector3D 物件的 x、y 和 z 元素除以投影深度值。深度值是眼睛至檢視或眼睛空間中之 Vector3D 物件的距離。這個距離的預設值為 z 元素的值。
參數
m:Matrix3D — 實作投影變形的投影 Matrix3D 物件。如果顯示物件有 PerspectiveProjection 物件,您可以使用 perspectiveProjection.toMatrix() 方法來產生可套用至顯示物件子系的投影 Matrix3D 物件。針對更進階的投影,請使用 matrix3D.rawData 屬性來建立自訂投影矩陣。沒有任何內建 Matrix3D 方法可用來建立投影 Matrix3D 物件。
| |
v:Vector3D — 投影至新空間座標的 Vector3D 物件。
|
Vector3D — 具有變形空間座標的新 Vector3D。
|
相關 API 元素
projectVectors | () | 方法 |
public static function projectVectors(m:Matrix3D, verts:Vector.<Number>, projectedVerts:Vector.<Number>, uvts:Vector.<Number>):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
使用投影 Matrix3D 物件,將三維空間座標的向量 (verts) 投影至二維空間座標的向量 (projectedVerts
)。投影的 Vector 物件應該預先配置,才能當做參數使用。
projectVectors()
方法也會設定 uvt 資料的 t 值。您應該預先配置可保存每組投影座標 Vector 之 uvts 資料的 Vector。此外,也要指定 uvt 資料的 u 和 v 值。uvt 資料是用於紋理對應之標準化座標的 Vector。在 UV 座標中,(0,0) 是點陣圖的左上方,而 (1,1) 是點陣圖的右下方。
這個方法可搭配 Graphics.drawTriangles()
方法和 GraphicsTrianglePath
類別一起使用。
參數
m:Matrix3D — 實作投影變形的投影 Matrix3D 物件。您可以使用 Matrix3D.rawData 屬性來產生投影 Matrix3D 物件。
| |
verts:Vector.<Number> — 數字的向量,其中每三個數字代表三維空間的 x、y 和 z 座標,如 Vector3D(x,y,z) 。
| |
projectedVerts:Vector.<Number> — 數字的向量,其中每兩個數字代表一個投影的二維座標,如 Point(x,y) 。您應該預先配置 Vector。projectVectors() 方法會針對每個投影點填滿值。
| |
uvts:Vector.<Number> — 數字的向量,其中每三個數字代表 uvt 資料的 u、v 和 t 元素。u 和 v 是每個投影點的紋理座標。t 值是投影深度值,即眼睛至檢視或眼睛空間中之 Vector3D 物件的距離。您應該預先配置 Vector 並指定 u 和 v 值。projectVectors 方法會針對每個投影點填滿 t 值。
|
相關 API 元素
Tue Jun 12 2018, 03:47 PM Z