Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
CSGPolygon3D
繼承: CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
拉伸 2D 多邊形形狀以建立 3D 網格。
說明
擠出一組 2D 點,以快速輕鬆地建立各種 3D 網格。另請參閱 CSGMesh3D,以瞭解將 3D 網格用作 CSG 節點。
注意:CSG 節點旨在用於關卡原型設計。與使用 PrimitiveMesh 建立 MeshInstance3D 相比,建立 CSG 節點具有顯著的 CPU 成本。在另一個 CSG 節點中,移動一個 CSG 節點,也會大量消耗 CPU,因此在遊戲過程中,應該避免這種情況。
教學
屬性
|
||
|
||
|
||
|
||
列舉
enum Mode: 🔗
Mode MODE_DEPTH = 0
polygon 形狀沿負 Z 軸擠出。
Mode MODE_SPIN = 1
polygon 形狀通過圍繞 Y 軸旋轉來擠出。
Mode MODE_PATH = 2
polygon 形狀沿 path_node 中指定的 Path3D 擠出。
enum PathRotation: 🔗
PathRotation PATH_ROTATION_POLYGON = 0
polygon 形狀不會被旋轉。
注意:要求路徑的 Z 座標不斷減少,以確保可行的形狀。
PathRotation PATH_ROTATION_PATH = 1
polygon 形狀沿路徑旋轉,但並不繞路徑軸旋轉。
注意:需要路徑的 Z 座標不斷減小,以確保可行的形狀。
PathRotation PATH_ROTATION_PATH_FOLLOW = 2
polygon 多邊形的形狀跟隨路徑及其圍繞路徑軸的旋轉。
enum PathIntervalType: 🔗
PathIntervalType PATH_INTERVAL_DISTANCE = 0
當 mode 被設定為 MODE_PATH 時,path_interval 將決定路徑的每個間隔將被擠出的距離,單位為米。
PathIntervalType PATH_INTERVAL_SUBDIVIDE = 1
當 mode 被設定為 MODE_PATH時,path_interval 將沿著路徑細分多邊形。
屬性說明
當 mode 為 MODE_DEPTH 時,擠出的深度。
用於生成的網格的材質。UV 將材質的上半部分對應到擠出形狀(U 沿著擠出的長度,V 圍繞 polygon 的輪廓),左下四分之一對應到前端面,右下四分之一對應到後端面。
當 mode 為MODE_PATH 時,預設情況下,material 的上半部分會沿著擠出形狀的整個長度被拉伸。如果為 false,擠出的每一步都會重複材質的上半部分。
當 mode 為 MODE_PATH 時,路徑間隔或路徑點比例擠出。
PathIntervalType path_interval_type 🔗
void set_path_interval_type(value: PathIntervalType)
PathIntervalType get_path_interval_type()
當 mode 為 MODE_PATH 時,這將確定間隔是按距離(PATH_INTERVAL_DISTANCE)還是細分分數(PATH_INTERVAL_SUBDIVIDE)。
當 mode 為 MODE_PATH 時,如果 true 路徑的兩端會被連接起來,在路徑的最後一個點和第一個點之間新增擠出。
當 mode 為 MODE_PATH 時,如果為 true,則該 CSGPolygon3D 的 Transform3D 將被用作擠出的起點,而非 path_node 的 Transform3D。
當 mode 為 MODE_PATH 時,用於擠出 polygon 的 Path3D 物件的位置。
PathRotation path_rotation 🔗
void set_path_rotation(value: PathRotation)
PathRotation get_path_rotation()
When mode is MODE_PATH, the path rotation method used to rotate the polygon as it is extruded.
When mode is MODE_PATH, if true the polygon will be rotated according to the proper tangent of the path at the sampled points. If false an approximation is used, which decreases in accuracy as the number of subdivisions decreases.
當 mode 為 MODE_PATH 時,小於此角度的擠出將合併在一起以減少多邊形數量。
當 mode 為 MODE_PATH 時,這是紋理座標沿著路徑的距離,以米為單位,將進行平鋪。當設定為 0 時,紋理座標將與幾何圖形完全配對,沒有平鋪。
PackedVector2Array polygon = PackedVector2Array(0, 0, 0, 1, 1, 1, 1, 0) 🔗
void set_polygon(value: PackedVector2Array)
PackedVector2Array get_polygon()
頂點陣列,用於定義要擠出的 2D 多邊形。需要包含 3 個或更多頂點,可以是凸多邊形也可以是凹多邊形。該多邊形中不能存在相交的邊。否則,三角形化會失敗,不會生成任何網格。
注意:如果 polygon 中只定義了 1 個或 2 個頂點,則不會生成網格。
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.
如果為 true,則對擠出套用平滑著色。
當 mode 為 MODE_SPIN,polygon 在擠出時旋轉的總度數。