mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-04 10:09:56 +03:00
684 lines
71 KiB
ReStructuredText
684 lines
71 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.com/Advanced-OpenGL/Face-culling>`__ за годинниковою стрілкою для передніх граней примітивних режимів трикутника.
|
||
|
||
.. 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>`
|
||
|
||
Вказати позицію поточного вершини. Повинен називатися після позначення інших властивостей вершини (наприклад, колір, УФ).
|
||
|
||
.. 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:`Mesh<class_Mesh>` до поточного масиву вершин за допомогою заданого :ref:`Transform3D<class_Transform3D>`.
|
||
|
||
.. 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>`
|
||
|
||
Зніміть всю інформацію, отриману в поверхневий інструмент так далеко.
|
||
|
||
.. 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>`
|
||
|
||
Повертає сконструйований :ref:`ArrayMesh<class_ArrayMesh>` із поточної переданої інформації. Якщо наявний :ref:`ArrayMesh<class_ArrayMesh>` передано як аргумент, буде додано додаткову поверхню до існуючого :ref:`ArrayMesh<class_ArrayMesh>`.
|
||
|
||
Аргумент ``flags`` може бути порозрядним АБО :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>` або :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>`
|
||
|
||
Записує дані у тому ж форматі, що використовується методами :ref:`ArrayMesh.add_surface_from_arrays()<class_ArrayMesh_method_add_surface_from_arrays>`, :ref:`ImporterMesh.add_surface()<class_ImporterMesh_method_add_surface>` та :ref:`create_from_arrays()<class_SurfaceTool_method_create_from_arrays>`. Таким чином, ви можете додатково обробляти дані сітки за допомогою API :ref:`ArrayMesh<class_ArrayMesh>` або :ref:`ImporterMesh<class_ImporterMesh>`.
|
||
|
||
.. 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>`
|
||
|
||
Створює цей SurfaceTool з існуючих масивів вершин, таких як повернені методами :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>` та :ref:`ImporterMesh.get_surface_blend_shape_arrays()<class_ImporterMesh_method_get_surface_blend_shape_arrays>`. Параметр ``primitive_type`` контролює тип даних сітки, за замовчуванням встановлюючи значення :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.
|
||
|
||
Генерує рівень визначення (LOD) для заданого ``nd_threshold`` у лінійних одиницях (квадратний корінь з метрики квадратичної помилки), використовуючи не більше ``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>`
|
||
|
||
Генерує нормалі з вершин, тому вам не потрібно робити це вручну. Якщо ``flip`` має значення ``true``, отримані нормалі будуть інвертовані. :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` слід викликати *після* генерації геометрії та *перед* фіксацією сітки за допомогою :ref:`commit()<class_SurfaceTool_method_commit>` або :ref:`commit_to_arrays()<class_SurfaceTool_method_commit_to_arrays>`. Для правильного відображення поверхонь, нанесених на карту нормалей, вам також доведеться генерувати дотичні за допомогою :ref:`generate_tangents()<class_SurfaceTool_method_generate_tangents>`.
|
||
|
||
\ **Примітка:** :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` працює, лише якщо для примітивного типу встановлено значення :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`.
|
||
|
||
\ **Примітка:** :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` враховує гладкі групи. Щоб згенерувати згладжені нормалі, встановіть для згладженої групи значення більше або рівне ``0`` за допомогою :ref:`set_smooth_group()<class_SurfaceTool_method_set_smooth_group>` або залиште згладжену групу за замовчуванням ``0``. Щоб створити плоскі нормалі, перед додаванням вершин встановіть згладжену групу на ``-1`` за допомогою :ref:`set_smooth_group()<class_SurfaceTool_method_set_smooth_group>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_SurfaceTool_method_generate_tangents:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **generate_tangents**\ (\ ) :ref:`🔗<class_SurfaceTool_method_generate_tangents>`
|
||
|
||
Генерує дотичний вектор для кожної вершини. Вимагає, щоб кожна вершина вже мала встановлені UV та нормалі (див. :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 впливи кісток на вершину.
|
||
|
||
Повертає :ref:`SKIN_8_WEIGHTS<class_SurfaceTool_constant_SKIN_8_WEIGHTS>`, якщо використовується до 8 впливів..
|
||
|
||
\ **Примітка:** Ця функція повертає перерахування, а не точну кількість вагових коефіцієнтів.
|
||
|
||
.. 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>` для використання *next* vertex. Якщо кожна вершина повинна мати цей набір інформації, і ви не можете подати його на перший вершину, ця інформація не може бути використана у всіх випадках.
|
||
|
||
\ **Примітка:** Матеріал повинен мати :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``.
|
||
|
||
\ :ref:`set_custom_format()<class_SurfaceTool_method_set_custom_format>` повинен бути викликаний першим для цього ``channel_index``. Формати, які не 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:`Material<class_Material>` для використання :ref:`Mesh<class_Mesh>` ви конструктори.
|
||
|
||
.. 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>`
|
||
|
||
Визначає нормальне використання для *next* vertex. Якщо кожна вершина повинна мати цей набір інформації, і ви не можете подати його на перший вершину, ця інформація не може бути використана у всіх випадках.
|
||
|
||
.. 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>`
|
||
|
||
Установіть значення :ref:`SKIN_8_WEIGHTS<class_SurfaceTool_constant_SKIN_8_WEIGHTS>`, щоб вказати, що можна використовувати до 8 впливів на кістку на вершину.
|
||
|
||
За замовчуванням використовуються лише 4 впливи на кістку (:ref:`SKIN_4_WEIGHTS<class_SurfaceTool_constant_SKIN_4_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>`
|
||
|
||
Визначає гладку групу для використання *next* vertex. Якщо це ніколи не називається, всі вершини будуть мати гладку групу за замовчуванням ``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>`
|
||
|
||
Вкажіть тангенс для використання *next* vertex. Якщо кожна вершина повинна мати цей набір інформації, і ви не можете подати його на перший вершину, ця інформація не може бути використана у всіх випадках.
|
||
|
||
.. 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>`
|
||
|
||
Визначає набір УФ-координат для використання для *next* vertex. Якщо кожна вершина повинна мати цей набір інформації, і ви не можете подати його на перший вершину, ця інформація не може бути використана у всіх випадках.
|
||
|
||
.. 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>`
|
||
|
||
Вкажіть додатковий другий набір УФ-координат для використання для *next* vertex. Якщо кожна вершина повинна мати цей набір інформації, і ви не можете подати його на перший вершину, ця інформація не може бути використана у всіх випадках.
|
||
|
||
.. 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>`
|
||
|
||
Визначає значення ваги для використання *next* vertex. ``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 (Значення не повертається.)`
|