mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
413 lines
42 KiB
ReStructuredText
413 lines
42 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_EditorNode3DGizmo:
|
||
|
||
EditorNode3DGizmo
|
||
=================
|
||
|
||
**Успадковує:** :ref:`Node3DGizmo<class_Node3DGizmo>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Gizmo для редагування :ref:`Node3D<class_Node3D>` об'єктів.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Гізмо, що використовується для забезпечення власної візуалізації та редагування (дескриптори та підгізмо) для об'єктів :ref:`Node3D<class_Node3D>`. Може бути перевизначений для створення власних гізмо, але для простих гізмо зазвичай рекомендується створення :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методи
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_begin_handle_action<class_EditorNode3DGizmo_private_method__begin_handle_action>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_commit_handle<class_EditorNode3DGizmo_private_method__commit_handle>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, restore\: :ref:`Variant<class_Variant>`, cancel\: :ref:`bool<class_bool>`\ ) |virtual| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_commit_subgizmos<class_EditorNode3DGizmo_private_method__commit_subgizmos>`\ (\ ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, restores\: :ref:`Array<class_Array>`\[:ref:`Transform3D<class_Transform3D>`\], cancel\: :ref:`bool<class_bool>`\ ) |virtual| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`_get_handle_name<class_EditorNode3DGizmo_private_method__get_handle_name>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Variant<class_Variant>` | :ref:`_get_handle_value<class_EditorNode3DGizmo_private_method__get_handle_value>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Transform3D<class_Transform3D>` | :ref:`_get_subgizmo_transform<class_EditorNode3DGizmo_private_method__get_subgizmo_transform>`\ (\ id\: :ref:`int<class_int>`\ ) |virtual| |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_is_handle_highlighted<class_EditorNode3DGizmo_private_method__is_handle_highlighted>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_redraw<class_EditorNode3DGizmo_private_method__redraw>`\ (\ ) |virtual| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_set_handle<class_EditorNode3DGizmo_private_method__set_handle>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_set_subgizmo_transform<class_EditorNode3DGizmo_private_method__set_subgizmo_transform>`\ (\ id\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |virtual| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_subgizmos_intersect_frustum<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, frustum\: :ref:`Array<class_Array>`\[:ref:`Plane<class_Plane>`\]\ ) |virtual| |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`_subgizmos_intersect_ray<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>`\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_collision_segments<class_EditorNode3DGizmo_method_add_collision_segments>`\ (\ segments\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_collision_triangles<class_EditorNode3DGizmo_method_add_collision_triangles>`\ (\ triangles\: :ref:`TriangleMesh<class_TriangleMesh>`\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>`\ (\ handles\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, billboard\: :ref:`bool<class_bool>` = false, secondary\: :ref:`bool<class_bool>` = false\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_lines<class_EditorNode3DGizmo_method_add_lines>`\ (\ lines\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, billboard\: :ref:`bool<class_bool>` = false, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_mesh<class_EditorNode3DGizmo_method_add_mesh>`\ (\ mesh\: :ref:`Mesh<class_Mesh>`, material\: :ref:`Material<class_Material>` = null, transform\: :ref:`Transform3D<class_Transform3D>` = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), skeleton\: :ref:`SkinReference<class_SkinReference>` = null\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_unscaled_billboard<class_EditorNode3DGizmo_method_add_unscaled_billboard>`\ (\ material\: :ref:`Material<class_Material>`, default_scale\: :ref:`float<class_float>` = 1, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`clear<class_EditorNode3DGizmo_method_clear>`\ (\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Node3D<class_Node3D>` | :ref:`get_node_3d<class_EditorNode3DGizmo_method_get_node_3d>`\ (\ ) |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` | :ref:`get_plugin<class_EditorNode3DGizmo_method_get_plugin>`\ (\ ) |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_subgizmo_selection<class_EditorNode3DGizmo_method_get_subgizmo_selection>`\ (\ ) |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_subgizmo_selected<class_EditorNode3DGizmo_method_is_subgizmo_selected>`\ (\ id\: :ref:`int<class_int>`\ ) |const| |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_hidden<class_EditorNode3DGizmo_method_set_hidden>`\ (\ hidden\: :ref:`bool<class_bool>`\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_node_3d<class_EditorNode3DGizmo_method_set_node_3d>`\ (\ node\: :ref:`Node<class_Node>`\ ) |
|
||
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи методів
|
||
--------------------------
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__begin_handle_action:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_begin_handle_action**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__begin_handle_action>`
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this method. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__commit_handle:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_commit_handle**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, restore\: :ref:`Variant<class_Variant>`, cancel\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__commit_handle>`
|
||
|
||
Перевизначте цей метод, щоб зафіксувати дескриптор, який редагується (дескриптори мають бути попередньо додані за допомогою :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>`). Зазвичай це означає створення дії :ref:`UndoRedo<class_UndoRedo>` для зміни, використовуючи поточне значення дескриптора як "do" і аргумент ``restore`` як "undo".
|
||
|
||
Якщо аргумент ``cancel`` має значення ``true``, значення ``restore`` слід встановити безпосередньо, без застосування дії :ref:`UndoRedo<class_UndoRedo>`.
|
||
|
||
Аргумент ``secondary`` має значення ``true``, якщо зафіксований дескриптор є вторинним (див. :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` для отримання додаткової інформації).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__commit_subgizmos:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_commit_subgizmos**\ (\ ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, restores\: :ref:`Array<class_Array>`\[:ref:`Transform3D<class_Transform3D>`\], cancel\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__commit_subgizmos>`
|
||
|
||
Перевизначте цей метод, щоб зафіксувати групу підгізмів, які редагуються (див. :ref:`_subgizmos_intersect_ray()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>` і :ref:`_subgizmos_intersect_frustum()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`). Зазвичай це означає створення дії :ref:`UndoRedo<class_UndoRedo>` для зміни, використовуючи поточні перетворення як "do", а перетворення ``restores`` як "undo".
|
||
|
||
Якщо аргумент ``cancel`` має значення ``true``, перетворення ``restores`` слід встановити безпосередньо, без жодної дії :ref:`UndoRedo<class_UndoRedo>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__get_handle_name:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **_get_handle_name**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__get_handle_name>`
|
||
|
||
Зазначте цей метод, щоб повернути ім'я редагованої ручки (ручка повинні бути попередньо додані :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>`). Руки можуть бути названі для посилання на користувача при редагуванні.
|
||
|
||
\ ``secondary`` аргумент ``true``, коли потрібна ручка вторинна (див. :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` для отримання додаткової інформації).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__get_handle_value:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Variant<class_Variant>` **_get_handle_value**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__get_handle_value>`
|
||
|
||
Надіславши цей метод для повернення поточного значення ручки. Ця вартість буде запитана при старті редагування та використовується як ``restore`` аргумент :ref:`_commit_handle()<class_EditorNode3DGizmo_private_method__commit_handle>`.
|
||
|
||
\ ``secondary`` аргумент ``true``, коли потрібна ручка вторинна (див. :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` для отримання додаткової інформації).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__get_subgizmo_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Transform3D<class_Transform3D>` **_get_subgizmo_transform**\ (\ id\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__get_subgizmo_transform>`
|
||
|
||
На відміну від цього способу повернення поточного перетворення підгізмо. Ця трансформація буде запитана при старті редагування та використаних як аргумент `` і `` в :ref:`_commit_subgizmos()<class_EditorNode3DGizmo_private_method__commit_subgizmos>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__is_handle_highlighted:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_is_handle_highlighted**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__is_handle_highlighted>`
|
||
|
||
Перевизначте цей метод, щоб він повертав ``true`` щоразу, коли заданий дескриптор має бути виділений у редакторі.
|
||
|
||
Аргумент ``secondary`` має значення ``true``, якщо запитуваний дескриптор є вторинним (див. :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` для отримання додаткової інформації).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__redraw:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_redraw**\ (\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__redraw>`
|
||
|
||
На відміну від цього способу, щоб додати всі мікроелементи, коли запитується оновлення gizmo. Зазвичай, щоб викликати :ref:`clear()<class_EditorNode3DGizmo_method_clear>` на початку цього способу, а потім додати візуальні елементи в залежності від властивостей вузла.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__set_handle:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_set_handle**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__set_handle>`
|
||
|
||
Перевизнайте цей метод для оновлення властивостей вузлів, коли користувач перетягує рукоятку (попередньо додано :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>`). Надана ``точка`` є позиція мишки в координатах екрана і ``camera`` може бути використана для перетворення його в промені.
|
||
|
||
\ ``secondary`` аргумент ``true``, коли редагована ручка вторинна (див. :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` для отримання додаткової інформації).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__set_subgizmo_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_set_subgizmo_transform**\ (\ id\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__set_subgizmo_transform>`
|
||
|
||
На відміну від цього способу оновлення властивостей вузлів під час редагування субгізмо (див. :ref:`_subgizmos_intersect_ray()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>` і :ref:`_subgizmos_intersect_frustum()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`). У локальній координаційній системі «Node3D» надана трансформація ``transform``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedInt32Array<class_PackedInt32Array>` **_subgizmos_intersect_frustum**\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, frustum\: :ref:`Array<class_Array>`\[:ref:`Plane<class_Plane>`\]\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`
|
||
|
||
Надіславши цей метод, щоб дозволити вибрати підгізмос за допомогою миші перетягування коробки. З огляду на ``camera`` і ``frustum``, цей метод повинен повернути, які subgizmos містяться в межах frustum. ``frustum`` аргумент складається з масиву з усіма :ref:`Plane<class_Plane>`, які складають вибір frustum. Повернуте значення має містити список унікальних ідентифікаторів субгізмо, які можуть мати будь-яке негативне значення і будуть використані в інших віртуальних методах, таких як :ref:`_subgizmo_transform()<class_EditorNode3DGizmo_private_method__subgizmo_transform>` або :ref:`_commit_subgizmos()<class_EditorNode3DGizmo_private_method__commit_subgizmos>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **_subgizmos_intersect_ray**\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>`
|
||
|
||
Надіславши цей метод, щоб дозволити вибрати підгізмос за допомогою кліків миші. З огляду на ``camera`` і ``point`` в координатах екрана, цей метод повинен повернути який subgizmo слід вибрати. Повернуте значення має бути унікальним ідентифікатором субгізмо, який може мати будь-яке негативне значення і буде використовуватися в інших віртуальних методах, таких як :ref:`_subgizmo_transform()<class_EditorNode3DGizmo_private_method__subgizmo_transform>` або :ref:`_commit_subgizmos()<class_EditorNode3DGizmo_private_method__commit_subgizmos>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_add_collision_segments:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_collision_segments**\ (\ segments\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_collision_segments>`
|
||
|
||
Додає вказані сегменти ``segments`` до форми зіткнення гізмо для вибору. Викликайте цей метод під час :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_add_collision_triangles:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_collision_triangles**\ (\ triangles\: :ref:`TriangleMesh<class_TriangleMesh>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_collision_triangles>`
|
||
|
||
Додає трикутники зіткнення до гізмо для вибору. :ref:`TriangleMesh<class_TriangleMesh>` також може бути згенерований зі звичайного :ref:`Mesh<class_Mesh>`. Викличте цей метод під час :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_add_handles:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_handles**\ (\ handles\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, billboard\: :ref:`bool<class_bool>` = false, secondary\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_handles>`
|
||
|
||
Додає список ручок (точки), які можуть використовуватися для редагування властивостей Gizmo :ref:`Node3D<class_Node3D>`. Текст ``ids`` може бути використаний для визначення користувацького ідентифікатора для кожної ручки, якщо пропущений порожній масив, попередження буде автоматично від ``ручки`` аргумента замовлення.
|
||
|
||
\ ``secondary`` аргумент позначить додані ручки як вторинний, тобто вони зазвичай мають більш низький пріоритет вибору, ніж звичайні ручки. Коли користувач тримає ключ змінного струму вторинними ручками буде переходити до більш високого пріоритету, ніж звичайні ручки. Ця зміна в пріоритеті може бути використана для розміщення декількох ручок в тій же точці, коли все ще дає контроль користувача на їх вибір.
|
||
|
||
Ви знайдете віртуальні методи, які будуть викликані редагуванням цих ручок. Зателефонуйте цей метод під час :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_add_lines:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_lines**\ (\ lines\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, billboard\: :ref:`bool<class_bool>` = false, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_lines>`
|
||
|
||
Додає лінії до гізмо (як набори з 2 точок), із заданим матеріалом. Лінії використовуються для візуалізації гізмо. Викличте цей метод під час :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_add_mesh:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_mesh**\ (\ mesh\: :ref:`Mesh<class_Mesh>`, material\: :ref:`Material<class_Material>` = null, transform\: :ref:`Transform3D<class_Transform3D>` = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), skeleton\: :ref:`SkinReference<class_SkinReference>` = null\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_mesh>`
|
||
|
||
Додає сітку до гізмо із заданими параметрами ``material``, локальними параметрами ``transform`` та ``skeleton``. Викликайте цей метод під час виконання :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_add_unscaled_billboard:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_unscaled_billboard**\ (\ material\: :ref:`Material<class_Material>`, default_scale\: :ref:`float<class_float>` = 1, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_unscaled_billboard>`
|
||
|
||
Додає немасштабований рекламний щит для візуалізації та вибору. Викличте цей метод під час :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_clear:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **clear**\ (\ ) :ref:`🔗<class_EditorNode3DGizmo_method_clear>`
|
||
|
||
Видаляє все в гізмо, включаючи сітки, колізії та ручки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_get_node_3d:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Node3D<class_Node3D>` **get_node_3d**\ (\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_get_node_3d>`
|
||
|
||
Повертає вузол :ref:`Node3D<class_Node3D>`, пов'язаний з цим gizmo.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_get_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` **get_plugin**\ (\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_get_plugin>`
|
||
|
||
Повертає :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`, якому належить цей гізмо. Корисно отримувати матеріали за допомогою :ref:`EditorNode3DGizmoPlugin.get_material()<class_EditorNode3DGizmoPlugin_method_get_material>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_get_subgizmo_selection:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedInt32Array<class_PackedInt32Array>` **get_subgizmo_selection**\ (\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_get_subgizmo_selection>`
|
||
|
||
Повертає список вибраних підґізмів. Може використовуватися для виділення вибраних елементів під час виконання :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_is_subgizmo_selected:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_subgizmo_selected**\ (\ id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_is_subgizmo_selected>`
|
||
|
||
Повертає ``true``, якщо даний subgizmo наразі вибрано. Може використовуватися для виділення вибраних елементів під час :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_set_hidden:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_hidden**\ (\ hidden\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_set_hidden>`
|
||
|
||
Налаштовує прихований стан гізмо. Якщо ``true``, то гизмо буде приховано. Якщо ``false``, він буде показано.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorNode3DGizmo_method_set_node_3d:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_node_3d**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_set_node_3d>`
|
||
|
||
Встановлює посилання :ref:`Node3D<class_Node3D>` вузол для gizmo. ``node`` повинен успадкуватися :ref:`Node3D<class_Node3D>`.
|
||
|
||
.. |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 (Значення не повертається.)`
|