mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-05 14:10:19 +03:00
This reverts commit 57781dc0bc.
The rename, although in line with what we did in the engine, caused problems with RTD we need to fix (or push for a fix) first.
684 lines
64 KiB
ReStructuredText
684 lines
64 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_SurfaceTool:
|
||
|
||
SurfaceTool
|
||
===========
|
||
|
||
**繼承:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
建立幾何圖形的輔助工具。
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
說明
|
||
----
|
||
|
||
**SurfaceTool** 可用於通過指定單獨的頂點屬性來建構 :ref:`Mesh<class_Mesh>`\ 。可以用來從腳本中構建 :ref:`Mesh<class_Mesh>`\ 。除索引外的所有屬性都需要在呼叫 :ref:`add_vertex()<class_SurfaceTool_method_add_vertex>` 之前新增。例如,要新增頂點顏色和 UV:
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
var st = SurfaceTool.new()
|
||
st.begin(Mesh.PRIMITIVE_TRIANGLES)
|
||
st.set_color(Color(1, 0, 0))
|
||
st.set_uv(Vector2(0, 0))
|
||
st.add_vertex(Vector3(0, 0, 0))
|
||
|
||
.. code-tab:: csharp
|
||
|
||
var st = new SurfaceTool();
|
||
st.Begin(Mesh.PrimitiveType.Triangles);
|
||
st.SetColor(new Color(1, 0, 0));
|
||
st.SetUV(new Vector2(0, 0));
|
||
st.AddVertex(new Vector3(0, 0, 0));
|
||
|
||
|
||
|
||
上面的 **SurfaceTool** 現在就包含了三角形中的一個頂點,具有 UV 座標和指定的 :ref:`Color<class_Color>`\ 。如果又新增了一個頂點,而沒有呼叫 :ref:`set_uv()<class_SurfaceTool_method_set_uv>` 或 :ref:`set_color()<class_SurfaceTool_method_set_color>`\ ,則會使用之前的值。
|
||
|
||
頂點屬性必須在呼叫 :ref:`add_vertex()<class_SurfaceTool_method_add_vertex>` **之前**\ 傳遞。不傳的話,就會在向網格提交頂點資訊時出錯。
|
||
|
||
另外,新增第一個頂點前所使用的屬性會用來確定網格的格式。例如,如果你只為第一個頂點新增了 UV,那麼你就無法為後續的頂點新增顏色。
|
||
|
||
程式式幾何體生成另見 :ref:`ArrayMesh<class_ArrayMesh>`\ 、\ :ref:`ImmediateMesh<class_ImmediateMesh>` 以及 :ref:`MeshDataTool<class_MeshDataTool>`\ 。
|
||
|
||
\ **注意:**\ Godot 中三角形圖元模式的正面使用順時針 `纏繞順序 <https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/04%20Face%20culling/>`__\ 。
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
教學
|
||
----
|
||
|
||
- :doc:`使用 SurfaceTool <../tutorials/3d/procedural_geometry/surfacetool>`
|
||
|
||
- `3D 體素示範 <https://godotengine.org/asset-library/asset/2755>`__
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
方法
|
||
----
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_index<class_SurfaceTool_method_add_index>`\ (\ index\: :ref:`int<class_int>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_triangle_fan<class_SurfaceTool_method_add_triangle_fan>`\ (\ vertices\: :ref:`PackedVector3Array<class_PackedVector3Array>`, uvs\: :ref:`PackedVector2Array<class_PackedVector2Array>` = PackedVector2Array(), colors\: :ref:`PackedColorArray<class_PackedColorArray>` = PackedColorArray(), uv2s\: :ref:`PackedVector2Array<class_PackedVector2Array>` = PackedVector2Array(), normals\: :ref:`PackedVector3Array<class_PackedVector3Array>` = PackedVector3Array(), tangents\: :ref:`Array<class_Array>`\[:ref:`Plane<class_Plane>`\] = []\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_vertex<class_SurfaceTool_method_add_vertex>`\ (\ vertex\: :ref:`Vector3<class_Vector3>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`append_from<class_SurfaceTool_method_append_from>`\ (\ existing\: :ref:`Mesh<class_Mesh>`, surface\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`begin<class_SurfaceTool_method_begin>`\ (\ primitive\: :ref:`PrimitiveType<enum_Mesh_PrimitiveType>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`clear<class_SurfaceTool_method_clear>`\ (\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`ArrayMesh<class_ArrayMesh>` | :ref:`commit<class_SurfaceTool_method_commit>`\ (\ existing\: :ref:`ArrayMesh<class_ArrayMesh>` = null, flags\: :ref:`int<class_int>` = 0\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>` | :ref:`commit_to_arrays<class_SurfaceTool_method_commit_to_arrays>`\ (\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`create_from<class_SurfaceTool_method_create_from>`\ (\ existing\: :ref:`Mesh<class_Mesh>`, surface\: :ref:`int<class_int>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`create_from_arrays<class_SurfaceTool_method_create_from_arrays>`\ (\ arrays\: :ref:`Array<class_Array>`, primitive_type\: :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` = 3\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`create_from_blend_shape<class_SurfaceTool_method_create_from_blend_shape>`\ (\ existing\: :ref:`Mesh<class_Mesh>`, surface\: :ref:`int<class_int>`, blend_shape\: :ref:`String<class_String>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`deindex<class_SurfaceTool_method_deindex>`\ (\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`generate_lod<class_SurfaceTool_method_generate_lod>`\ (\ nd_threshold\: :ref:`float<class_float>`, target_index_count\: :ref:`int<class_int>` = 3\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`generate_normals<class_SurfaceTool_method_generate_normals>`\ (\ flip\: :ref:`bool<class_bool>` = false\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`generate_tangents<class_SurfaceTool_method_generate_tangents>`\ (\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AABB<class_AABB>` | :ref:`get_aabb<class_SurfaceTool_method_get_aabb>`\ (\ ) |const| |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` | :ref:`get_custom_format<class_SurfaceTool_method_get_custom_format>`\ (\ channel_index\: :ref:`int<class_int>`\ ) |const| |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` | :ref:`get_primitive_type<class_SurfaceTool_method_get_primitive_type>`\ (\ ) |const| |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>` | :ref:`get_skin_weight_count<class_SurfaceTool_method_get_skin_weight_count>`\ (\ ) |const| |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`index<class_SurfaceTool_method_index>`\ (\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`optimize_indices_for_cache<class_SurfaceTool_method_optimize_indices_for_cache>`\ (\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_bones<class_SurfaceTool_method_set_bones>`\ (\ bones\: :ref:`PackedInt32Array<class_PackedInt32Array>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_color<class_SurfaceTool_method_set_color>`\ (\ color\: :ref:`Color<class_Color>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_custom<class_SurfaceTool_method_set_custom>`\ (\ channel_index\: :ref:`int<class_int>`, custom_color\: :ref:`Color<class_Color>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_custom_format<class_SurfaceTool_method_set_custom_format>`\ (\ channel_index\: :ref:`int<class_int>`, format\: :ref:`CustomFormat<enum_SurfaceTool_CustomFormat>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_material<class_SurfaceTool_method_set_material>`\ (\ material\: :ref:`Material<class_Material>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_normal<class_SurfaceTool_method_set_normal>`\ (\ normal\: :ref:`Vector3<class_Vector3>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_skin_weight_count<class_SurfaceTool_method_set_skin_weight_count>`\ (\ count\: :ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_smooth_group<class_SurfaceTool_method_set_smooth_group>`\ (\ index\: :ref:`int<class_int>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_tangent<class_SurfaceTool_method_set_tangent>`\ (\ tangent\: :ref:`Plane<class_Plane>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_uv<class_SurfaceTool_method_set_uv>`\ (\ uv\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_uv2<class_SurfaceTool_method_set_uv2>`\ (\ uv2\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_weights<class_SurfaceTool_method_set_weights>`\ (\ weights\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |
|
||
+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
列舉
|
||
----
|
||
|
||
.. _enum_SurfaceTool_CustomFormat:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **CustomFormat**: :ref:`🔗<enum_SurfaceTool_CustomFormat>`
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RGBA8_UNORM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RGBA8_UNORM** = ``0``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料限制到無符號正規化的 0 到 1 範圍內,每個通道儲存 8 個比特位。見 :ref:`Mesh.ARRAY_CUSTOM_RGBA8_UNORM<class_Mesh_constant_ARRAY_CUSTOM_RGBA8_UNORM>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RGBA8_SNORM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RGBA8_SNORM** = ``1``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料限制到帶符號正規化的 -1 到 1 範圍內,每個通道儲存 8 個比特位。見 :ref:`Mesh.ARRAY_CUSTOM_RGBA8_SNORM<class_Mesh_constant_ARRAY_CUSTOM_RGBA8_SNORM>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RG_HALF:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RG_HALF** = ``2``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料儲存為半精度浮點數,只使用紅色和綠色通道。見 :ref:`Mesh.ARRAY_CUSTOM_RG_HALF<class_Mesh_constant_ARRAY_CUSTOM_RG_HALF>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RGBA_HALF:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RGBA_HALF** = ``3``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料儲存為半精度浮點數,使用所有顏色通道。見 :ref:`Mesh.ARRAY_CUSTOM_RGBA_HALF<class_Mesh_constant_ARRAY_CUSTOM_RGBA_HALF>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_R_FLOAT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_R_FLOAT** = ``4``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料儲存為全精度浮點數,只使用紅色通道。見 :ref:`Mesh.ARRAY_CUSTOM_R_FLOAT<class_Mesh_constant_ARRAY_CUSTOM_R_FLOAT>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RG_FLOAT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RG_FLOAT** = ``5``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料儲存為全精度浮點數,只使用紅色和綠色通道。見 :ref:`Mesh.ARRAY_CUSTOM_RG_FLOAT<class_Mesh_constant_ARRAY_CUSTOM_RG_FLOAT>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RGB_FLOAT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RGB_FLOAT** = ``6``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料儲存為全精度浮點數,只使用紅色、綠色和藍色通道。見 :ref:`Mesh.ARRAY_CUSTOM_RGB_FLOAT<class_Mesh_constant_ARRAY_CUSTOM_RGB_FLOAT>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_RGBA_FLOAT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_RGBA_FLOAT** = ``7``
|
||
|
||
將傳遞給 :ref:`set_custom()<class_SurfaceTool_method_set_custom>` 的資料儲存為全精度浮點數,使用所有顏色通道。見 :ref:`Mesh.ARRAY_CUSTOM_RGBA_FLOAT<class_Mesh_constant_ARRAY_CUSTOM_RGBA_FLOAT>`\ 。
|
||
|
||
.. _class_SurfaceTool_constant_CUSTOM_MAX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **CUSTOM_MAX** = ``8``
|
||
|
||
用於表示已禁用的自訂通道。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_SurfaceTool_SkinWeightCount:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **SkinWeightCount**: :ref:`🔗<enum_SurfaceTool_SkinWeightCount>`
|
||
|
||
.. _class_SurfaceTool_constant_SKIN_4_WEIGHTS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>` **SKIN_4_WEIGHTS** = ``0``
|
||
|
||
每個單獨的頂點只能受到 4 個骨骼權重的影響。
|
||
|
||
.. _class_SurfaceTool_constant_SKIN_8_WEIGHTS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>` **SKIN_8_WEIGHTS** = ``1``
|
||
|
||
每個單獨的頂點最多能夠受到 8 個骨骼權重的影響。
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
方法說明
|
||
--------
|
||
|
||
.. _class_SurfaceTool_method_add_index:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_index**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SurfaceTool_method_add_index>`
|
||
|
||
如果你在使用頂點索引,則向索引陣列中新增一個頂點。不需要在新增頂點前呼叫。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_add_triangle_fan:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_triangle_fan**\ (\ vertices\: :ref:`PackedVector3Array<class_PackedVector3Array>`, uvs\: :ref:`PackedVector2Array<class_PackedVector2Array>` = PackedVector2Array(), colors\: :ref:`PackedColorArray<class_PackedColorArray>` = PackedColorArray(), uv2s\: :ref:`PackedVector2Array<class_PackedVector2Array>` = PackedVector2Array(), normals\: :ref:`PackedVector3Array<class_PackedVector3Array>` = PackedVector3Array(), tangents\: :ref:`Array<class_Array>`\[:ref:`Plane<class_Plane>`\] = []\ ) :ref:`🔗<class_SurfaceTool_method_add_triangle_fan>`
|
||
|
||
將一個由陣列資料組成的三角扇插入正在建構的 :ref:`Mesh<class_Mesh>` 中。
|
||
|
||
需要將圖元型別設定為 :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_add_vertex:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_vertex**\ (\ vertex\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SurfaceTool_method_add_vertex>`
|
||
|
||
指定目前頂點的位置。應在指定其他頂點屬性(例如顏色、UV)後呼叫。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_append_from:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **append_from**\ (\ existing\: :ref:`Mesh<class_Mesh>`, surface\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) :ref:`🔗<class_SurfaceTool_method_append_from>`
|
||
|
||
使用指定的 :ref:`Transform3D<class_Transform3D>` 將來自給定 :ref:`Mesh<class_Mesh>` 表面的頂點追加到目前的頂點陣列中。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_begin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **begin**\ (\ primitive\: :ref:`PrimitiveType<enum_Mesh_PrimitiveType>`\ ) :ref:`🔗<class_SurfaceTool_method_begin>`
|
||
|
||
在新增任何頂點之前被呼叫。接收圖元型別作為參數(例如:\ :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`\ )。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_clear:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **clear**\ (\ ) :ref:`🔗<class_SurfaceTool_method_clear>`
|
||
|
||
清除到目前為止傳入表面工具(surface tool)的所有資訊。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_commit:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`ArrayMesh<class_ArrayMesh>` **commit**\ (\ existing\: :ref:`ArrayMesh<class_ArrayMesh>` = null, flags\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_SurfaceTool_method_commit>`
|
||
|
||
Returns a constructed :ref:`ArrayMesh<class_ArrayMesh>` from current information passed in. If an existing :ref:`ArrayMesh<class_ArrayMesh>` is passed in as an argument, will add an extra surface to the existing :ref:`ArrayMesh<class_ArrayMesh>`.
|
||
|
||
The ``flags`` argument can be the bitwise OR of :ref:`Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE<class_Mesh_constant_ARRAY_FLAG_USE_DYNAMIC_UPDATE>`, :ref:`Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS<class_Mesh_constant_ARRAY_FLAG_USE_8_BONE_WEIGHTS>`, or :ref:`Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY<class_Mesh_constant_ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_commit_to_arrays:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>` **commit_to_arrays**\ (\ ) :ref:`🔗<class_SurfaceTool_method_commit_to_arrays>`
|
||
|
||
Commits the data to the same format used by :ref:`ArrayMesh.add_surface_from_arrays()<class_ArrayMesh_method_add_surface_from_arrays>`, :ref:`ImporterMesh.add_surface()<class_ImporterMesh_method_add_surface>`, and :ref:`create_from_arrays()<class_SurfaceTool_method_create_from_arrays>`. This way you can further process the mesh data using the :ref:`ArrayMesh<class_ArrayMesh>` or :ref:`ImporterMesh<class_ImporterMesh>` APIs.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_create_from:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **create_from**\ (\ existing\: :ref:`Mesh<class_Mesh>`, surface\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SurfaceTool_method_create_from>`
|
||
|
||
從現有的網格 :ref:`Mesh<class_Mesh>` 建立一個頂點陣列。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_create_from_arrays:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **create_from_arrays**\ (\ arrays\: :ref:`Array<class_Array>`, primitive_type\: :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` = 3\ ) :ref:`🔗<class_SurfaceTool_method_create_from_arrays>`
|
||
|
||
Creates this SurfaceTool from existing vertex arrays such as returned by :ref:`commit_to_arrays()<class_SurfaceTool_method_commit_to_arrays>`, :ref:`Mesh.surface_get_arrays()<class_Mesh_method_surface_get_arrays>`, :ref:`Mesh.surface_get_blend_shape_arrays()<class_Mesh_method_surface_get_blend_shape_arrays>`, :ref:`ImporterMesh.get_surface_arrays()<class_ImporterMesh_method_get_surface_arrays>`, and :ref:`ImporterMesh.get_surface_blend_shape_arrays()<class_ImporterMesh_method_get_surface_blend_shape_arrays>`. ``primitive_type`` controls the type of mesh data, defaulting to :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_create_from_blend_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **create_from_blend_shape**\ (\ existing\: :ref:`Mesh<class_Mesh>`, surface\: :ref:`int<class_int>`, blend_shape\: :ref:`String<class_String>`\ ) :ref:`🔗<class_SurfaceTool_method_create_from_blend_shape>`
|
||
|
||
從現有 :ref:`Mesh<class_Mesh>` 的指定混合形狀建立一個頂點陣列。這可用於從混合形狀中提取特定姿勢。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_deindex:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **deindex**\ (\ ) :ref:`🔗<class_SurfaceTool_method_deindex>`
|
||
|
||
通過擴充頂點陣列移除索引陣列。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_generate_lod:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedInt32Array<class_PackedInt32Array>` **generate_lod**\ (\ nd_threshold\: :ref:`float<class_float>`, target_index_count\: :ref:`int<class_int>` = 3\ ) :ref:`🔗<class_SurfaceTool_method_generate_lod>`
|
||
|
||
**已棄用:** This method is unused internally, as it does not preserve normals or UVs. Consider using :ref:`ImporterMesh.generate_lods()<class_ImporterMesh_method_generate_lods>` instead.
|
||
|
||
Generates an LOD for a given ``nd_threshold`` in linear units (square root of quadric error metric), using at most ``target_index_count`` indices.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_generate_normals:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **generate_normals**\ (\ flip\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_SurfaceTool_method_generate_normals>`
|
||
|
||
Generates normals from vertices so you do not have to do it manually. If ``flip`` is ``true``, the resulting normals will be inverted. :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` should be called *after* generating geometry and *before* committing the mesh using :ref:`commit()<class_SurfaceTool_method_commit>` or :ref:`commit_to_arrays()<class_SurfaceTool_method_commit_to_arrays>`. For correct display of normal-mapped surfaces, you will also have to generate tangents using :ref:`generate_tangents()<class_SurfaceTool_method_generate_tangents>`.
|
||
|
||
\ **Note:** :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` only works if the primitive type is set to :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`.
|
||
|
||
\ **Note:** :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` takes smooth groups into account. To generate smooth normals, set the smooth group to a value greater than or equal to ``0`` using :ref:`set_smooth_group()<class_SurfaceTool_method_set_smooth_group>` or leave the smooth group at the default of ``0``. To generate flat normals, set the smooth group to ``-1`` using :ref:`set_smooth_group()<class_SurfaceTool_method_set_smooth_group>` prior to adding vertices.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_generate_tangents:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **generate_tangents**\ (\ ) :ref:`🔗<class_SurfaceTool_method_generate_tangents>`
|
||
|
||
Generates a tangent vector for each vertex. Requires that each vertex already has UVs and normals set (see :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>`).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_get_aabb:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AABB<class_AABB>` **get_aabb**\ (\ ) |const| :ref:`🔗<class_SurfaceTool_method_get_aabb>`
|
||
|
||
返回頂點位置的軸對齊邊界框。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_get_custom_format:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`CustomFormat<enum_SurfaceTool_CustomFormat>` **get_custom_format**\ (\ channel_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SurfaceTool_method_get_custom_format>`
|
||
|
||
返回索引為 ``channel_index`` 的自訂通道的格式(索引最多為 4)。如果這個自訂通道尚未使用,則返回 :ref:`CUSTOM_MAX<class_SurfaceTool_constant_CUSTOM_MAX>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_get_primitive_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PrimitiveType<enum_Mesh_PrimitiveType>` **get_primitive_type**\ (\ ) |const| :ref:`🔗<class_SurfaceTool_method_get_primitive_type>`
|
||
|
||
返回網格幾何體的型別,例如 :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_get_skin_weight_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>` **get_skin_weight_count**\ (\ ) |const| :ref:`🔗<class_SurfaceTool_method_get_skin_weight_count>`
|
||
|
||
預設情況下,返回 :ref:`SKIN_4_WEIGHTS<class_SurfaceTool_constant_SKIN_4_WEIGHTS>` 以指示每個頂點僅使用 4 個骨骼影響。
|
||
|
||
如果使用最多 8 個影響,則返回 :ref:`SKIN_8_WEIGHTS<class_SurfaceTool_constant_SKIN_8_WEIGHTS>`\ 。
|
||
|
||
\ **注意:**\ 該函式返回一個列舉,而不是確切的權重數量。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_index:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **index**\ (\ ) :ref:`🔗<class_SurfaceTool_method_index>`
|
||
|
||
通過建立索引陣列來縮小頂點陣列。這可以避免頂點重複而提高性能。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_optimize_indices_for_cache:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **optimize_indices_for_cache**\ (\ ) :ref:`🔗<class_SurfaceTool_method_optimize_indices_for_cache>`
|
||
|
||
優化三角形排序以提高性能。要求 :ref:`get_primitive_type()<class_SurfaceTool_method_get_primitive_type>` 為 :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_bones:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_bones**\ (\ bones\: :ref:`PackedInt32Array<class_PackedInt32Array>`\ ) :ref:`🔗<class_SurfaceTool_method_set_bones>`
|
||
|
||
指定用於\ *下一個*\ 頂點的骨骼陣列。\ ``bones`` 必須包含 4 個整數。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_color:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_color**\ (\ color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_SurfaceTool_method_set_color>`
|
||
|
||
指定\ *下一個*\ 頂點使用的 :ref:`Color<class_Color>`\ 。如果每個頂點都需要設定此資訊,而你沒有成功為第一個頂點提交,則可能根本不會使用此資訊。
|
||
|
||
\ **注意:**\ 材質必須啟用 :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` 才能使頂點顏色可見。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_custom:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_custom**\ (\ channel_index\: :ref:`int<class_int>`, custom_color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_SurfaceTool_method_set_custom>`
|
||
|
||
設定這個頂點的 ``channel_index`` 通道的自訂值。
|
||
|
||
必須先為 ``channel_index`` 通道呼叫 :ref:`set_custom_format()<class_SurfaceTool_method_set_custom_format>`\ 。非 RGBA 格式會忽略其他顏色通道。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_custom_format:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_custom_format**\ (\ channel_index\: :ref:`int<class_int>`, format\: :ref:`CustomFormat<enum_SurfaceTool_CustomFormat>`\ ) :ref:`🔗<class_SurfaceTool_method_set_custom_format>`
|
||
|
||
設定索引為 ``channel_index`` 的自訂通道的顏色格式。禁用請使用 :ref:`CUSTOM_MAX<class_SurfaceTool_constant_CUSTOM_MAX>`\ 。
|
||
|
||
必須在 :ref:`begin()<class_SurfaceTool_method_begin>` 之後呼叫,應當在 :ref:`commit()<class_SurfaceTool_method_commit>` 或 :ref:`commit_to_arrays()<class_SurfaceTool_method_commit_to_arrays>` 之前設定。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_material:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_material**\ (\ material\: :ref:`Material<class_Material>`\ ) :ref:`🔗<class_SurfaceTool_method_set_material>`
|
||
|
||
設定要由你正在建構的 :ref:`Mesh<class_Mesh>` 使用的 :ref:`Material<class_Material>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_normal:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_normal**\ (\ normal\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SurfaceTool_method_set_normal>`
|
||
|
||
指定\ *下一個*\ 頂點所使用的法線。如果每個頂點都需要設定此資訊,而你沒有為第一個頂點提交,則可能根本無法使用此資訊。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_skin_weight_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_skin_weight_count**\ (\ count\: :ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>`\ ) :ref:`🔗<class_SurfaceTool_method_set_skin_weight_count>`
|
||
|
||
Set to :ref:`SKIN_8_WEIGHTS<class_SurfaceTool_constant_SKIN_8_WEIGHTS>` to indicate that up to 8 bone influences per vertex may be used.
|
||
|
||
By default, only 4 bone influences are used (:ref:`SKIN_4_WEIGHTS<class_SurfaceTool_constant_SKIN_4_WEIGHTS>`).
|
||
|
||
\ **Note:** This function takes an enum, not the exact number of weights.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_smooth_group:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_smooth_group**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SurfaceTool_method_set_smooth_group>`
|
||
|
||
指定用於\ *下一個*\ 頂點的平滑組。如果從未呼叫過,則所有頂點都將具有預設的 ``0`` 平滑組,並將與同一組的相鄰頂點一起平滑。要生成具有平坦法線的網格,請將平滑組設定為 ``-1``\ 。
|
||
|
||
\ **注意:**\ 這個函式實際接受的是 ``uint32_t``\ ,所以 C# 使用者如果要生成法線平坦的網格,那麼就應該使用 ``uint32.MaxValue`` 而不是 ``-1``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_tangent:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_tangent**\ (\ tangent\: :ref:`Plane<class_Plane>`\ ) :ref:`🔗<class_SurfaceTool_method_set_tangent>`
|
||
|
||
指定\ *下一個*\ 頂點所使用的切線。如果每個頂點都需要設定此資訊,而你沒有為第一個頂點提交,則可能根本無法使用此資訊。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_uv:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_uv**\ (\ uv\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_SurfaceTool_method_set_uv>`
|
||
|
||
指定\ *下一個*\ 頂點所使用的 UV 座標。如果每個頂點都需要設定此資訊,而你未能為第一個頂點提交此資訊,此資訊可能根本就不會被使用。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_uv2:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_uv2**\ (\ uv2\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_SurfaceTool_method_set_uv2>`
|
||
|
||
指定可選的第二組UV座標,用於\ *next*\ 頂點。如果每個頂點都需要設定這個資訊,而你沒有為第一個頂點提交這個資訊,此資訊可能根本就不會被使用。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_set_weights:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_weights**\ (\ weights\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) :ref:`🔗<class_SurfaceTool_method_set_weights>`
|
||
|
||
指定用於\ *下一個*\ 頂點的權重值。\ ``weights`` 必須包含 4 個值。如果每個頂點都需要設定該資訊,且為第一個頂點提交失敗,則可能根本不會使用該資訊。
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (本方法通常需要使用者覆寫才能生效。)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (本方法沒有副作用。不會修改該實例的任何成員變數。)`
|
||
.. |vararg| replace:: :abbr:`vararg (本方法除了這裡描述的參數外,還可以接受任意數量的參數。)`
|
||
.. |constructor| replace:: :abbr:`constructor (本方法用於建構一個型別。)`
|
||
.. |static| replace:: :abbr:`static (本方法無需實例即可呼叫,因此可以直接使用類別名稱呼叫。)`
|
||
.. |operator| replace:: :abbr:`operator (本方法描述將本型別作為左運算元時可用的有效運算子。)`
|
||
.. |bitfield| replace:: :abbr:`BitField (此值是由下列旗標組成的位元遮罩整數。)`
|
||
.. |void| replace:: :abbr:`void (無回傳值。)`
|