mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
686 lines
66 KiB
ReStructuredText
686 lines
66 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. _class_SurfaceTool:
|
|
|
|
SurfaceTool
|
|
===========
|
|
|
|
**Eredita:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
|
|
|
Strumento di supporto per la creazione di geometrie.
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
Descrizione
|
|
----------------------
|
|
|
|
**SurfaceTool** serve per costruire una :ref:`Mesh<class_Mesh>` specificando gli attributi dei vertici singolarmente. Può essere utilizzato per costruire una :ref:`Mesh<class_Mesh>` da uno script. È necessario aggiungere tutte le proprietà, eccetto gli indici, prima di chiamare :ref:`add_vertex()<class_SurfaceTool_method_add_vertex>`. Ad esempio, per aggiungere i colori dei vertici e gli 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));
|
|
|
|
|
|
|
|
Il suddetto **SurfaceTool** ora contiene un vertice di un triangolo che ha una coordinata UV e un :ref:`Color<class_Color>` specificato. Se un altro vertice fosse aggiunto senza chiamare :ref:`set_uv()<class_SurfaceTool_method_set_uv>` o :ref:`set_color()<class_SurfaceTool_method_set_color>`, sarebbero utilizzati gli ultimi valori.
|
|
|
|
Gli attributi dei vertici devono essere passati **prima** di chiamare :ref:`add_vertex()<class_SurfaceTool_method_add_vertex>`. Altrimenti, si verificherà un errore commettendo le informazioni del vertice in una mesh.
|
|
|
|
Inoltre, gli attributi utilizzati prima di aggiungere il primo vertice determinano il formato della mesh. Ad esempio, se si aggiungono solo gli UV al primo vertice, non è possibile aggiungere il colore a nessuno dei vertici successivi.
|
|
|
|
Vedi anche :ref:`ArrayMesh<class_ArrayMesh>`, :ref:`ImmediateMesh<class_ImmediateMesh>` e :ref:`MeshDataTool<class_MeshDataTool>` per la generazione di geometria procedurale.
|
|
|
|
\ **Nota:** Godot utilizza l'`ordine di avvolgimento <https://learnopengl.com/Advanced-OpenGL/Face-culling>`__ in senso orario per le facce frontali delle modalità di primitiva triangolare.
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
Tutorial
|
|
----------------
|
|
|
|
- :doc:`Utilizzo di SurfaceTool <../tutorials/3d/procedural_geometry/surfacetool>`
|
|
|
|
- `Demo di voxel 3D <https://godotengine.org/asset-library/asset/2755>`__
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Metodi
|
|
------------
|
|
|
|
.. 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
|
|
|
|
Enumerazioni
|
|
------------------------
|
|
|
|
.. _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``
|
|
|
|
Limita l'intervallo dei dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` normalizzato da 0 a 1 (senza segno), memorizzato in 8 bit per canale. Vedi :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``
|
|
|
|
Limita l'intervallo dei dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` normalizzato da -1 a 1 (con segno), memorizzato in 8 bit per canale. Vedi :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``
|
|
|
|
Memorizza i dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` in valori in virgola mobile a mezza precisione, utilizzando i canali di colore rosso e verde. Vedi :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``
|
|
|
|
Memorizza i dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` in valori in virgola mobile a mezza precisione, utilizzando tutti i canali di colore. Vedi :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``
|
|
|
|
Memorizza i dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` in valori in virgola mobile a precisione completa, utilizzando solo il canale di colore rosso. Vedi :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``
|
|
|
|
Memorizza i dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` in valori in virgola mobile a precisione completa, utilizzando solo i canali di colore rosso e verde. Vedi :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``
|
|
|
|
Memorizza i dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` in valori in virgola mobile a precisione completa, utilizzando solo i canali di colore rosso, blu e verde. Vedi :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``
|
|
|
|
Memorizza i dati passati a :ref:`set_custom()<class_SurfaceTool_method_set_custom>` in valori in virgola mobile a precisione completa, utilizzando tutti i canali di colore. Vedi :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``
|
|
|
|
Utilizzato per indicare un canale personalizzato disabilitato.
|
|
|
|
.. 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``
|
|
|
|
Ogni singolo vertice può essere influenzato solo da 4 pesi di ossa.
|
|
|
|
.. _class_SurfaceTool_constant_SKIN_8_WEIGHTS:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`SkinWeightCount<enum_SurfaceTool_SkinWeightCount>` **SKIN_8_WEIGHTS** = ``1``
|
|
|
|
Ogni singolo vertice può essere influenzato da un massimo di 8 pesi di ossa.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Descrizioni dei metodi
|
|
--------------------------------------------
|
|
|
|
.. _class_SurfaceTool_method_add_index:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **add_index**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SurfaceTool_method_add_index>`
|
|
|
|
Aggiunge un vertice all'array di indici se si utilizzano vertici indicizzati. Non è necessario chiamarlo prima di aggiungere i vertici.
|
|
|
|
.. 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>`
|
|
|
|
Inserisce un ventaglio triangolare costituito da un array di dati nella :ref:`Mesh<class_Mesh>` in fase di costruzione.
|
|
|
|
Richiede che il tipo di primitiva sia impostato su :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>`
|
|
|
|
Specifica la posizione del vertice attuale. Dovrebbe essere chiamato dopo aver specificato le altre proprietà del vertice (ad esempio il colore, l'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>`
|
|
|
|
Aggiunge i vertici da una determinata superficie della :ref:`Mesh<class_Mesh>` all'array attuale di vertici con il :ref:`Transform3D<class_Transform3D>` specificato.
|
|
|
|
.. 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>`
|
|
|
|
Chiamato prima di aggiungere qualsiasi vertice. Accetta il tipo di primitiva come argomento (ad esempio :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>`
|
|
|
|
Cancella tutte le informazioni passate finora allo strumento di superficie.
|
|
|
|
.. 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>`
|
|
|
|
Restituisce un :ref:`ArrayMesh<class_ArrayMesh>` costruito dalle informazioni attuali passate. Se un :ref:`ArrayMesh<class_ArrayMesh>` esistente viene passato come argomento, aggiungerà una superficie aggiuntiva all':ref:`ArrayMesh<class_ArrayMesh>` esistente.
|
|
|
|
L'argomento ``flags`` può essere l'OR bit a bit di :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>` o :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>`
|
|
|
|
Commette i dati nello stesso formato utilizzato da :ref:`ArrayMesh.add_surface_from_arrays()<class_ArrayMesh_method_add_surface_from_arrays>`, :ref:`ImporterMesh.add_surface()<class_ImporterMesh_method_add_surface>` e :ref:`create_from_arrays()<class_SurfaceTool_method_create_from_arrays>`. In questo modo è possibile elaborare ulteriormente i dati della mesh utilizzando le API di :ref:`ArrayMesh<class_ArrayMesh>` o :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>`
|
|
|
|
Crea un array di vertici da una :ref:`Mesh<class_Mesh>` esistente.
|
|
|
|
.. 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>`
|
|
|
|
Crea questo SurfaceTool dagli array di vertici esistenti come quelli restituiti da :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>` e :ref:`ImporterMesh.get_surface_blend_shape_arrays()<class_ImporterMesh_method_get_surface_blend_shape_arrays>`. ``primitive_type`` controlla il tipo di dati della mesh, il cui valore predefinito è :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>`
|
|
|
|
Crea un array di vertici dalla forma di fusione specificata di una :ref:`Mesh<class_Mesh>` esistente. Può essere utilizzato per estrarre una posa specifica da una forma di fusione.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SurfaceTool_method_deindex:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **deindex**\ (\ ) :ref:`🔗<class_SurfaceTool_method_deindex>`
|
|
|
|
Rimuove l'array degli indici espandendo la matrice dei vertici.
|
|
|
|
.. 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>`
|
|
|
|
**Deprecato:** 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.
|
|
|
|
Genera un LOD per la soglia ``nd_threshold`` in unità lineari (radice quadrata della metrica di errore quadrico), utilizzando al massimo ``target_index_count`` indici.
|
|
|
|
.. 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>`
|
|
|
|
Genera le normali dai vertici in modo da non doverlo fare manualmente. Se ``flip`` è ``true``, le normali risultanti saranno invertite. :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` dovrebbe essere chiamato *dopo* la generazione della geometria e *prima* di commettere le mesh usando :ref:`commit()<class_SurfaceTool_method_commit>` o :ref:`commit_to_arrays()<class_SurfaceTool_method_commit_to_arrays>`. Per visualizzare correttamente le superfici mappate con le normali, sarà necessario anche generare le tangenti usando :ref:`generate_tangents()<class_SurfaceTool_method_generate_tangents>`.
|
|
|
|
\ **Nota:** :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` funziona solo se il tipo di primitiva è impostato su :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>`.
|
|
|
|
\ **Nota:** :ref:`generate_normals()<class_SurfaceTool_method_generate_normals>` tiene conto dei gruppi lisci. Per generare normali lisce, imposta il gruppo di lisciatura su un valore maggiore o uguale a ``0`` tramite :ref:`set_smooth_group()<class_SurfaceTool_method_set_smooth_group>` o lascia il gruppo sul valore predefinito di ``0``. Per generare normali piatte, imposta il gruppo di lisciatura su ``-1`` tramite :ref:`set_smooth_group()<class_SurfaceTool_method_set_smooth_group>` prima di aggiungere i vertici.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SurfaceTool_method_generate_tangents:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **generate_tangents**\ (\ ) :ref:`🔗<class_SurfaceTool_method_generate_tangents>`
|
|
|
|
Genera un vettore tangente per ogni vertice. Richiede che ogni vertice abbia già impostato gli UV e le normali (vedi :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>`
|
|
|
|
Restituisce la bounding box allineata agli assi delle posizioni dei vertici.
|
|
|
|
.. 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>`
|
|
|
|
Restituisce il formato per il canale personalizzato all'indice ``channel_index`` (attualmente fino a 4). Restituisce :ref:`CUSTOM_MAX<class_SurfaceTool_constant_CUSTOM_MAX>` se questo canale personalizzato non è utilizzato.
|
|
|
|
.. 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>`
|
|
|
|
Restituisce il tipo di geometria della mesh, come ad esempio :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>`
|
|
|
|
Come predefinito, restituisce :ref:`SKIN_4_WEIGHTS<class_SurfaceTool_constant_SKIN_4_WEIGHTS>` per indicare che sono utilizzate solo 4 influenze delle ossa per ogni vertice.
|
|
|
|
Restituisce :ref:`SKIN_8_WEIGHTS<class_SurfaceTool_constant_SKIN_8_WEIGHTS>` se sono utilizzate fino a 8 influenze.
|
|
|
|
\ **Nota:** Questa funzione restituisce un'enumerazione, non il numero esatto di pesi.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SurfaceTool_method_index:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **index**\ (\ ) :ref:`🔗<class_SurfaceTool_method_index>`
|
|
|
|
Riduce l'array dei vertici creando un array di indici. Ciò può migliorare le prestazioni evitando che i vertici siano riutilizzati.
|
|
|
|
.. 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>`
|
|
|
|
Ottimizza l'ordinamento dei triangoli per migliorare le prestazioni. Richiede che :ref:`get_primitive_type()<class_SurfaceTool_method_get_primitive_type>` sia :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>`
|
|
|
|
Specifica un array di ossa da utilizzare per il *prossimo* vertice. ``bones`` deve contenere 4 numeri interi.
|
|
|
|
.. 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>`
|
|
|
|
Specifica un :ref:`Color<class_Color>` da usare per il *prossimo* vertice . Se ogni vertice deve avere questa informazione impostata e non la si invia per il primo vertice, tale informazione potrebbe non essere usata affatto.
|
|
|
|
\ **Nota:** Il materiale deve avere :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` abilitato affinché il colore del vertice sia visibile.
|
|
|
|
.. 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>`
|
|
|
|
Imposta il valore personalizzato su questo vertice per il canale all'indice ``channel_index``.
|
|
|
|
È necessario chiamare prima :ref:`set_custom_format()<class_SurfaceTool_method_set_custom_format>` per il canale all'indice ``channel_index``. I formati che non sono RGBA ignoreranno gli altri canali di colore.
|
|
|
|
.. 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>`
|
|
|
|
Imposta il formato colore per il canale personalizzato all'indice ``channel_index``. Usa :ref:`CUSTOM_MAX<class_SurfaceTool_constant_CUSTOM_MAX>` per disabilitare.
|
|
|
|
Deve essere richiamato dopo :ref:`begin()<class_SurfaceTool_method_begin>` e impostato prima di :ref:`commit()<class_SurfaceTool_method_commit>` o :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>`
|
|
|
|
Imposta il :ref:`Material<class_Material>` da utilizzare per la :ref:`Mesh<class_Mesh>` che stai costruendo.
|
|
|
|
.. 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>`
|
|
|
|
Specifica una normale da usare per il *prossimo* vertice. Se ogni vertice deve avere questa informazione impostata e non la si invia per il primo vertice, tale informazione potrebbe non essere usata affatto.
|
|
|
|
.. 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>`
|
|
|
|
Imposta su :ref:`SKIN_8_WEIGHTS<class_SurfaceTool_constant_SKIN_8_WEIGHTS>` per indicare che è possibile utilizzare fino a 8 influenze delle ossa per ogni vertice.
|
|
|
|
Come predefinito, sono utilizzate solo 4 influenze delle ossa (:ref:`SKIN_4_WEIGHTS<class_SurfaceTool_constant_SKIN_4_WEIGHTS>`)
|
|
|
|
\ **Nota:** Questa funzione accetta un'enumerazione, non il numero esatto di pesi.
|
|
|
|
.. 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>`
|
|
|
|
Specifica il gruppo di lisciatura da usare per il *prossimo* vertice. Se non viene mai chiamato, tutti i vertici avranno il gruppo di lisciatura predefinito di ``0`` e saranno lisciati con i vertici adiacenti dello stesso gruppo. Per produrre una mesh con normali piatte, imposta il gruppo di lisciatura su ``-1``.
|
|
|
|
\ **Nota:** Questa funzione in realtà accetta un ``uint32_t``, quindi gli utenti in C# dovrebbero usare ``uint32.MaxValue`` invece di ``-1`` per produrre una mesh con normali piatte.
|
|
|
|
.. 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>`
|
|
|
|
Specifies a tangent to use for the *next* vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all.
|
|
|
|
\ **Note:** Even though ``tangent`` is a :ref:`Plane<class_Plane>`, it does not directly represent the tangent plane. Its :ref:`Plane.x<class_Plane_property_x>`, :ref:`Plane.y<class_Plane_property_y>`, and :ref:`Plane.z<class_Plane_property_z>` represent the tangent vector and :ref:`Plane.d<class_Plane_property_d>` should be either ``-1`` or ``1``. See also :ref:`Mesh.ARRAY_TANGENT<class_Mesh_constant_ARRAY_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>`
|
|
|
|
Specifica le coordinate UV da usare per il *prossimo* vertice. Se ogni vertice deve avere questa informazione impostata e non la si invia per il primo vertice, tale informazione potrebbe non essere usata affatto.
|
|
|
|
.. 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>`
|
|
|
|
Specifica le coordinate UV secondarie da usare per il *prossimo* vertice. Se ogni vertice deve avere questa informazione impostata e non la si invia per il primo vertice, tale informazione potrebbe non essere usata affatto.
|
|
|
|
.. 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>`
|
|
|
|
Specifica i valori di peso da usare per il *prossimo* vertice. Se ogni vertice deve avere questa informazione impostata e non la si invia per il primo vertice, tale informazione potrebbe non essere usata affatto.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)`
|
|
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
|
.. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)`
|
|
.. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)`
|
|
.. |constructor| replace:: :abbr:`constructor (Questo metodo è utilizzato per creare un tipo.)`
|
|
.. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può essere chiamato direttamente usando il nome della classe.)`
|
|
.. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)`
|
|
.. |bitfield| replace:: :abbr:`BitField (Questo valore è un intero composto da una maschera di bit dei seguenti flag.)`
|
|
.. |void| replace:: :abbr:`void (Nessun valore restituito.)`
|