Files
godot-docs-l10n/classes/uk/class_curve3d.rst

496 lines
37 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_Curve3D:
Curve3D
=======
**Успадковує:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Опишіть криву Bézier в просторі 3D.
.. rst-class:: classref-introduction-group
Опис
--------
Цей клас описує криву Bézier в просторі 3D. В основному використовується для додавання форми до :ref:`Path3D<class_Path3D>`, але може бути вручну зразка для інших цілей.
Забезпечує кеш заготовлених точок по криві, щоб прискорити подальші розрахунки.
.. rst-class:: classref-reftable-group
Властивості
----------------------
.. table::
:widths: auto
+---------------------------+--------------------------------------------------------------------+-----------+
| :ref:`float<class_float>` | :ref:`bake_interval<class_Curve3D_property_bake_interval>` | ``0.2`` |
+---------------------------+--------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`closed<class_Curve3D_property_closed>` | ``false`` |
+---------------------------+--------------------------------------------------------------------+-----------+
| :ref:`int<class_int>` | :ref:`point_count<class_Curve3D_property_point_count>` | ``0`` |
+---------------------------+--------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`up_vector_enabled<class_Curve3D_property_up_vector_enabled>` | ``true`` |
+---------------------------+--------------------------------------------------------------------+-----------+
.. rst-class:: classref-reftable-group
Методи
------------
.. table::
:widths: auto
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_point<class_Curve3D_method_add_point>`\ (\ position\: :ref:`Vector3<class_Vector3>`, in\: :ref:`Vector3<class_Vector3>` = Vector3(0, 0, 0), out\: :ref:`Vector3<class_Vector3>` = Vector3(0, 0, 0), index\: :ref:`int<class_int>` = -1\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_points<class_Curve3D_method_clear_points>`\ (\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_baked_length<class_Curve3D_method_get_baked_length>`\ (\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_baked_points<class_Curve3D_method_get_baked_points>`\ (\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`get_baked_tilts<class_Curve3D_method_get_baked_tilts>`\ (\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_baked_up_vectors<class_Curve3D_method_get_baked_up_vectors>`\ (\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_closest_offset<class_Curve3D_method_get_closest_offset>`\ (\ to_point\: :ref:`Vector3<class_Vector3>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_closest_point<class_Curve3D_method_get_closest_point>`\ (\ to_point\: :ref:`Vector3<class_Vector3>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_point_in<class_Curve3D_method_get_point_in>`\ (\ idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_point_out<class_Curve3D_method_get_point_out>`\ (\ idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_point_position<class_Curve3D_method_get_point_position>`\ (\ idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_point_tilt<class_Curve3D_method_get_point_tilt>`\ (\ idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_point<class_Curve3D_method_remove_point>`\ (\ idx\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`sample<class_Curve3D_method_sample>`\ (\ idx\: :ref:`int<class_int>`, t\: :ref:`float<class_float>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`sample_baked<class_Curve3D_method_sample_baked>`\ (\ offset\: :ref:`float<class_float>` = 0.0, cubic\: :ref:`bool<class_bool>` = false\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`sample_baked_up_vector<class_Curve3D_method_sample_baked_up_vector>`\ (\ offset\: :ref:`float<class_float>`, apply_tilt\: :ref:`bool<class_bool>` = false\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform3D<class_Transform3D>` | :ref:`sample_baked_with_rotation<class_Curve3D_method_sample_baked_with_rotation>`\ (\ offset\: :ref:`float<class_float>` = 0.0, cubic\: :ref:`bool<class_bool>` = false, apply_tilt\: :ref:`bool<class_bool>` = false\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`samplef<class_Curve3D_method_samplef>`\ (\ fofs\: :ref:`float<class_float>`\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_point_in<class_Curve3D_method_set_point_in>`\ (\ idx\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_point_out<class_Curve3D_method_set_point_out>`\ (\ idx\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_point_position<class_Curve3D_method_set_point_position>`\ (\ idx\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_point_tilt<class_Curve3D_method_set_point_tilt>`\ (\ idx\: :ref:`int<class_int>`, tilt\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`tessellate<class_Curve3D_method_tessellate>`\ (\ max_stages\: :ref:`int<class_int>` = 5, tolerance_degrees\: :ref:`float<class_float>` = 4\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`tessellate_even_length<class_Curve3D_method_tessellate_even_length>`\ (\ max_stages\: :ref:`int<class_int>` = 5, tolerance_length\: :ref:`float<class_float>` = 0.2\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи властивостей
------------------------------------
.. _class_Curve3D_property_bake_interval:
.. rst-class:: classref-property
:ref:`float<class_float>` **bake_interval** = ``0.2`` :ref:`🔗<class_Curve3D_property_bake_interval>`
.. rst-class:: classref-property-setget
- |void| **set_bake_interval**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_bake_interval**\ (\ )
Відстань між двома суміжними пунктами кешування. Зміна кешу, щоб бути переведеним в наступний раз, функція :ref:`get_baked_points()<class_Curve3D_method_get_baked_points>`. Чим менша відстань, тим більше точок в кеші і чим більше пам'яті буде споживати, тому використовуйте з обережністю.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_property_closed:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **closed** = ``false`` :ref:`🔗<class_Curve3D_property_closed>`
.. rst-class:: classref-property-setget
- |void| **set_closed**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_closed**\ (\ )
Якщо ``true`` і крива має більше 2 контрольних точок, остання та перша точки будуть з’єднані в цикл.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_property_point_count:
.. rst-class:: classref-property
:ref:`int<class_int>` **point_count** = ``0`` :ref:`🔗<class_Curve3D_property_point_count>`
.. rst-class:: classref-property-setget
- |void| **set_point_count**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_point_count**\ (\ )
Кількість точок, що описують криву.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_property_up_vector_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **up_vector_enabled** = ``true`` :ref:`🔗<class_Curve3D_property_up_vector_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_up_vector_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_up_vector_enabled**\ (\ )
Якщо ``true``, крива запікати вектори, які використовуються для орієнтації. Це використовується, коли :ref:`PathFollow3D.rotation_mode<class_PathFollow3D_property_rotation_mode>` встановлюється до :ref:`PathFollow3D. ROTATION_ORIENTED<class_PathFollow3D_constant_ ROTATION_ORIENTED>` Змінює кеш, щоб бути переведеним.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи методів
--------------------------
.. _class_Curve3D_method_add_point:
.. rst-class:: classref-method
|void| **add_point**\ (\ position\: :ref:`Vector3<class_Vector3>`, in\: :ref:`Vector3<class_Vector3>` = Vector3(0, 0, 0), out\: :ref:`Vector3<class_Vector3>` = Vector3(0, 0, 0), index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_Curve3D_method_add_point>`
Додає точку з вказаною ``position`` відносно власної позиції кривої, з контрольними точками в ``in`` і ``out``. Додає нову точку в кінці списку точок.
Якщо вказано ``index``, нова точка вставляється перед уже наявною, визначеною ``index``. Кожна наявна точка, починаючи з ``index``, передається далі в список точок. Індекс повинен бути більшим чи рівним ``0`` і не повинен перевищувати кількість наявних точок в рядку. Дивитись :ref:`point_count<class_Curve3D_property_point_count>`.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_clear_points:
.. rst-class:: classref-method
|void| **clear_points**\ (\ ) :ref:`🔗<class_Curve3D_method_clear_points>`
Видаліть всі точки з кривої.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_baked_length:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_baked_length**\ (\ ) |const| :ref:`🔗<class_Curve3D_method_get_baked_length>`
Повертає загальну довжину кривої на основі кешованих точок. За умови достатньої щільності (див. :ref:`bake_interval<class_Curve3D_property_bake_interval>`) вона має бути достатньо приблизною.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_baked_points:
.. rst-class:: classref-method
:ref:`PackedVector3Array<class_PackedVector3Array>` **get_baked_points**\ (\ ) |const| :ref:`🔗<class_Curve3D_method_get_baked_points>`
Повертає кеш точок як :ref:`PackedVector3Array<class_PackedVector3Array>`.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_baked_tilts:
.. rst-class:: classref-method
:ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_baked_tilts**\ (\ ) |const| :ref:`🔗<class_Curve3D_method_get_baked_tilts>`
Повернення кешу дотів як :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_baked_up_vectors:
.. rst-class:: classref-method
:ref:`PackedVector3Array<class_PackedVector3Array>` **get_baked_up_vectors**\ (\ ) |const| :ref:`🔗<class_Curve3D_method_get_baked_up_vectors>`
Повертає кеш до векторів як :ref:`PackedVector3Array<class_PackedVector3Array>`.
\ ``false``, кеш буде порожнім.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_closest_offset:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_closest_offset**\ (\ to_point\: :ref:`Vector3<class_Vector3>`\ ) |const| :ref:`🔗<class_Curve3D_method_get_closest_offset>`
Повертає найближче зміщення до ``to_point``. Це зміщення призначене для використання в :ref:`sample_baked()<class_Curve3D_method_sample_baked>` або :ref:`sample_baked_up_vector()<class_Curve3D_method_sample_baked_up_vector>`.
\ ``to_point`` має бути в локальному просторі цієї кривої.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_closest_point:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_closest_point**\ (\ to_point\: :ref:`Vector3<class_Vector3>`\ ) |const| :ref:`🔗<class_Curve3D_method_get_closest_point>`
Повертає найближчу точку на запечених сегментах (у локальному просторі кривої) до ``to_point``.
\ ``to_point`` має бути в локальному просторі цієї кривої.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_point_in:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_point_in**\ (\ idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Curve3D_method_get_point_in>`
Повертає позицію контрольної точки, що веде до вершини ``idx``. Повернуте положення відносно вершини ``idx``. Якщо індекс вимкнено з меж, функція надсилає помилку до консолі, і повертає ``(0, 0, 0)``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_point_out:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_point_out**\ (\ idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Curve3D_method_get_point_out>`
Повертає позицію контрольної точки, що ведеться з вершини ``idx``. Повернуте положення відносно вершини ``idx``. Якщо індекс вимкнено з меж, функція надсилає помилку до консолі, і повертає ``(0, 0, 0)``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_point_position:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_point_position**\ (\ idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Curve3D_method_get_point_position>`
Повертає позицію вершини ``idx``. Якщо індекс вимкнено з меж, функція надсилає помилку в консолі, і повертає ``(0, 0, 0)``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_get_point_tilt:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_point_tilt**\ (\ idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Curve3D_method_get_point_tilt>`
Повертає кут нахилу в редисках для точки ``idx``. Якщо індекс вимкнено з меж, функція надсилає помилку до консолі, і повертає ``0``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_remove_point:
.. rst-class:: classref-method
|void| **remove_point**\ (\ idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Curve3D_method_remove_point>`
Видаляє точку ``idx`` з кривої. Виводить помилку в консоль, якщо ``idx`` виходить за межі.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_sample:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **sample**\ (\ idx\: :ref:`int<class_int>`, t\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Curve3D_method_sample>`
Повертає позицію між вершиною ``idx`` і вершиною ``idx + 1``, де ``t`` контролює, якщо точка є першою вершиною (``t = 0.0``), останнього вершини (``t = 1.0``), або між. Значення ``t`` за межі (``0.0>= т <=1``) дають дивний, але передбачуваний результат.
Якщо ``idx`` є з меж, він truncated to the first or last vertex, і ``t`` ігнорується. Якщо крива не має точок, функція надсилає помилку в консолі, і повертає ``(0, 0, 0)``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_sample_baked:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **sample_baked**\ (\ offset\: :ref:`float<class_float>` = 0.0, cubic\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Curve3D_method_sample_baked>`
Повертає точку в межах кривої на позиції ``offset``, де ``offset`` вимірюється як відстань в 3D одиницях уздовж кривої. З цією метою шукаються дві кешовані точки, між якими знаходиться ``offset``, а потім відбувається інтерполяція значень. Ця інтерполяція є кубічна, якщо ``cubic`` встановлено на ``true``, або лінійна, якщо встановлено на ``false``.
Кубічна інтерполяція має бути краще слідувати вигинам, але лінійна швидше (і часто досить точна).
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_sample_baked_up_vector:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **sample_baked_up_vector**\ (\ offset\: :ref:`float<class_float>`, apply_tilt\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Curve3D_method_sample_baked_up_vector>`
Повертаємо вектор в межах кривої на позиції ``offset``, де вимірюється ``offset`` як відстань в 3D одиниць уздовж кривої. Щоб зробити це, знаходиться два забитих векторів, де лежить ``offset``, потім переполює значення. Якщо ``apply_tilt`` є ``true``, інтерпольований тент наноситься на міжшліфований вектор.
Якщо крива не має векторів, функція надсилає помилку в консолі, і повертає ``(0, 1, 0)``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_sample_baked_with_rotation:
.. rst-class:: classref-method
:ref:`Transform3D<class_Transform3D>` **sample_baked_with_rotation**\ (\ offset\: :ref:`float<class_float>` = 0.0, cubic\: :ref:`bool<class_bool>` = false, apply_tilt\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_Curve3D_method_sample_baked_with_rotation>`
Повертаємо :ref:`Transform3D<class_Transform3D>` з ``origin`` як позицію точки, ``basis.x`` в якості бічного вектора, ``basis.y`` в якості вектора, ``basis.z`` як вектор вперед. Коли довжина кривої 0, немає розумного способу розрахувати обертання, всі вектори вирівняні з глобальними космічними осями. Дивись також :ref:`sample_baked()<class_Curve3D_method_sample_baked>`.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_samplef:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **samplef**\ (\ fofs\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Curve3D_method_samplef>`
Повертає позицію у вершині ``fofs``. Викликає метод :ref:`sample()<class_Curve3D_method_sample>`, використовуючи цілу частину ``fofs`` як ``idx``, а його дробову частину як ``t``.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_set_point_in:
.. rst-class:: classref-method
|void| **set_point_in**\ (\ idx\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Curve3D_method_set_point_in>`
Налаштовує позицію контрольної точки, що веде до вершини ``idx``. Якщо індекс виходить з меж, функція відправляє помилку в консолі. Позиція відносно вершини.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_set_point_out:
.. rst-class:: classref-method
|void| **set_point_out**\ (\ idx\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Curve3D_method_set_point_out>`
Налаштовує позицію контрольної точки, що ведеться з вершини ``idx``. Якщо індекс виходить з меж, функція відправляє помилку в консолі. Позиція відносно вершини.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_set_point_position:
.. rst-class:: classref-method
|void| **set_point_position**\ (\ idx\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Curve3D_method_set_point_position>`
Встановлює позицію для вершини ``idx``. Якщо індекс виходить з меж, функція відправляє помилку в консолі.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_set_point_tilt:
.. rst-class:: classref-method
|void| **set_point_tilt**\ (\ idx\: :ref:`int<class_int>`, tilt\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Curve3D_method_set_point_tilt>`
Налаштовує кут нахилу в редисках для точки ``idx``. Якщо індекс виходить з меж, функція відправляє помилку в консолі.
Увімкніть об’єкт, який вирушає шлях. У разі кривої контролінгу :ref:`PathFollow3D<class_PathFollow3D>` цей тент є офсетом над природним нахилом :ref:`PathFollow3D<class_PathFollow3D>` обчислюється.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_tessellate:
.. rst-class:: classref-method
:ref:`PackedVector3Array<class_PackedVector3Array>` **tessellate**\ (\ max_stages\: :ref:`int<class_int>` = 5, tolerance_degrees\: :ref:`float<class_float>` = 4\ ) |const| :ref:`🔗<class_Curve3D_method_tessellate>`
Повертає список точок вздовж вигину, з нахилом контрольованої щільності точки. Що це, деталі кривих будуть мати більше точок, ніж прямі частини.
Ця апроксимація робить прямі сегменти між кожною точкою, потім позбавляє від цих сегментів до тих пір, поки отримана форма аналогічна.
\ ``max_stages`` контролює, як багато підрозділів кривого сегмента може зіткнутися до того, як він вважається досить наближеним. Кожен підрозділ розбиває сегмент навпіл, тому етапи за замовчуванням 5 може означати до 32 підрозділів на кривому сегменті. Підвищений догляд!
\ ``толерантність_degrees`` контролює, скільки ступенів середньої точки сегмента може відхилити від реальної кривої, до того, як сегмент повинен бути відхилений.
.. rst-class:: classref-item-separator
----
.. _class_Curve3D_method_tessellate_even_length:
.. rst-class:: classref-method
:ref:`PackedVector3Array<class_PackedVector3Array>` **tessellate_even_length**\ (\ max_stages\: :ref:`int<class_int>` = 5, tolerance_length\: :ref:`float<class_float>` = 0.2\ ) |const| :ref:`🔗<class_Curve3D_method_tessellate_even_length>`
Повертає список точок вздовж вигину, з майже рівномірною щільністю. ``max_stages`` контролює, як багато підрозділів кривого сегмента може зіткнутися до того, як він вважається досить наближеним. Кожен підрозділ розбиває сегмент навпіл, тому етапи за замовчуванням 5 може означати до 32 підрозділів на кривому сегменті. Підвищений догляд!
\ ``толерантність_довжина`` контролює максимальну відстань між двома сусідніми точками, перш ніж сегмент повинен бути підпорядкований.
.. |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 (Значення не повертається.)`