Files
godot-docs-l10n/classes/ru/class_animationnodeblendspace2d.rst

435 lines
26 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_AnimationNodeBlendSpace2D:
AnimationNodeBlendSpace2D
=========================
**Наследует:** :ref:`AnimationRootNode<class_AnimationRootNode>` **<** :ref:`AnimationNode<class_AnimationNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Набор :ref:`AnimationRootNode<class_AnimationRootNode>`, размещенных в 2D-координатах, плавно переходящих между тремя соседними. Используется :ref:`AnimationTree<class_AnimationTree>`.
.. rst-class:: classref-introduction-group
Описание
----------------
Ресурс, используемый :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`.
\ **AnimationNodeBlendSpace2D** представляет собой виртуальное 2D-пространство, на котором размещены :ref:`AnimationRootNode<class_AnimationRootNode>`. Выводит линейное смешивание трех смежных анимаций с использованием веса :ref:`Vector2<class_Vector2>`. Смежный в этом контексте означает три :ref:`AnimationRootNode<class_AnimationRootNode>`, составляющие треугольник, содержащий текущее значение.
Вы можете добавить вершины в пространство смешивания с помощью :ref:`add_blend_point()<class_AnimationNodeBlendSpace2D_method_add_blend_point>` и автоматически триангулировать его, установив :ref:`auto_triangles<class_AnimationNodeBlendSpace2D_property_auto_triangles>` на ``true``. В противном случае используйте :ref:`add_triangle()<class_AnimationNodeBlendSpace2D_method_add_triangle>` и :ref:`remove_triangle()<class_AnimationNodeBlendSpace2D_method_remove_triangle>` для триангуляции пространства смешивания вручную.
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- :doc:`Использование дерева анимации <../tutorials/animation/animation_tree>`
- `Демонстрация шутера от третьего лица (TPS) <https://godotengine.org/asset-library/asset/2710>`__
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`auto_triangles<class_AnimationNodeBlendSpace2D_property_auto_triangles>` | ``true`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>` | :ref:`blend_mode<class_AnimationNodeBlendSpace2D_property_blend_mode>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`max_space<class_AnimationNodeBlendSpace2D_property_max_space>` | ``Vector2(1, 1)`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`min_space<class_AnimationNodeBlendSpace2D_property_min_space>` | ``Vector2(-1, -1)`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`snap<class_AnimationNodeBlendSpace2D_property_snap>` | ``Vector2(0.1, 0.1)`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`sync<class_AnimationNodeBlendSpace2D_property_sync>` | ``false`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`String<class_String>` | :ref:`x_label<class_AnimationNodeBlendSpace2D_property_x_label>` | ``"x"`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
| :ref:`String<class_String>` | :ref:`y_label<class_AnimationNodeBlendSpace2D_property_y_label>` | ``"y"`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_blend_point<class_AnimationNodeBlendSpace2D_method_add_blend_point>`\ (\ node\: :ref:`AnimationRootNode<class_AnimationRootNode>`, pos\: :ref:`Vector2<class_Vector2>`, at_index\: :ref:`int<class_int>` = -1\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_triangle<class_AnimationNodeBlendSpace2D_method_add_triangle>`\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`, z\: :ref:`int<class_int>`, at_index\: :ref:`int<class_int>` = -1\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_blend_point_count<class_AnimationNodeBlendSpace2D_method_get_blend_point_count>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AnimationRootNode<class_AnimationRootNode>` | :ref:`get_blend_point_node<class_AnimationNodeBlendSpace2D_method_get_blend_point_node>`\ (\ point\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_blend_point_position<class_AnimationNodeBlendSpace2D_method_get_blend_point_position>`\ (\ point\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_triangle_count<class_AnimationNodeBlendSpace2D_method_get_triangle_count>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_triangle_point<class_AnimationNodeBlendSpace2D_method_get_triangle_point>`\ (\ triangle\: :ref:`int<class_int>`, point\: :ref:`int<class_int>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_blend_point<class_AnimationNodeBlendSpace2D_method_remove_blend_point>`\ (\ point\: :ref:`int<class_int>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_triangle<class_AnimationNodeBlendSpace2D_method_remove_triangle>`\ (\ triangle\: :ref:`int<class_int>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_blend_point_node<class_AnimationNodeBlendSpace2D_method_set_blend_point_node>`\ (\ point\: :ref:`int<class_int>`, node\: :ref:`AnimationRootNode<class_AnimationRootNode>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_blend_point_position<class_AnimationNodeBlendSpace2D_method_set_blend_point_position>`\ (\ point\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_AnimationNodeBlendSpace2D_signal_triangles_updated:
.. rst-class:: classref-signal
**triangles_updated**\ (\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_signal_triangles_updated>`
Вызывается каждый раз, когда создаются, удаляются треугольники пространства смешивания или когда одна из их вершин меняет положение.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_AnimationNodeBlendSpace2D_BlendMode:
.. rst-class:: classref-enumeration
enum **BlendMode**: :ref:`🔗<enum_AnimationNodeBlendSpace2D_BlendMode>`
.. _class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_INTERPOLATED:
.. rst-class:: classref-enumeration-constant
:ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>` **BLEND_MODE_INTERPOLATED** = ``0``
Интерполяция между анимациями линейная.
.. _class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_DISCRETE:
.. rst-class:: classref-enumeration-constant
:ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>` **BLEND_MODE_DISCRETE** = ``1``
Пространство смешивания воспроизводит анимацию узла анимации, к которому ближе всего позиция смешивания. Полезно для покадровой 2D-анимации.
.. _class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_DISCRETE_CARRY:
.. rst-class:: classref-enumeration-constant
:ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>` **BLEND_MODE_DISCRETE_CARRY** = ``2``
Аналогично :ref:`BLEND_MODE_DISCRETE<class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_DISCRETE>`, но запускает новую анимацию с позиции воспроизведения последней анимации.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_AnimationNodeBlendSpace2D_property_auto_triangles:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **auto_triangles** = ``true`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_auto_triangles>`
.. rst-class:: classref-property-setget
- |void| **set_auto_triangles**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_auto_triangles**\ (\ )
Если ``true``, пространство смешивания триангулируется автоматически. Сетка обновляется каждый раз, когда вы добавляете или удаляете точки с помощью :ref:`add_blend_point()<class_AnimationNodeBlendSpace2D_method_add_blend_point>` и :ref:`remove_blend_point()<class_AnimationNodeBlendSpace2D_method_remove_blend_point>`.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_blend_mode:
.. rst-class:: classref-property
:ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>` **blend_mode** = ``0`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_blend_mode>`
.. rst-class:: classref-property-setget
- |void| **set_blend_mode**\ (\ value\: :ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>`\ )
- :ref:`BlendMode<enum_AnimationNodeBlendSpace2D_BlendMode>` **get_blend_mode**\ (\ )
Управляет интерполяцией между анимациями.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_max_space:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **max_space** = ``Vector2(1, 1)`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_max_space>`
.. rst-class:: classref-property-setget
- |void| **set_max_space**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
- :ref:`Vector2<class_Vector2>` **get_max_space**\ (\ )
Верхний предел осей X и Y пространства смешивания для положения точек. См. :ref:`add_blend_point()<class_AnimationNodeBlendSpace2D_method_add_blend_point>`.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_min_space:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **min_space** = ``Vector2(-1, -1)`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_min_space>`
.. rst-class:: classref-property-setget
- |void| **set_min_space**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
- :ref:`Vector2<class_Vector2>` **get_min_space**\ (\ )
Нижний предел осей X и Y пространства смешивания для положения точек. См. :ref:`add_blend_point()<class_AnimationNodeBlendSpace2D_method_add_blend_point>`.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_snap:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **snap** = ``Vector2(0.1, 0.1)`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_snap>`
.. rst-class:: classref-property-setget
- |void| **set_snap**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
- :ref:`Vector2<class_Vector2>` **get_snap**\ (\ )
Приращение позиции для привязки при перемещении точки.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_sync:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **sync** = ``false`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_sync>`
.. rst-class:: classref-property-setget
- |void| **set_use_sync**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_using_sync**\ (\ )
Если ``false``, кадр смешанной анимации останавливается, когда значение смешивания равно ``0``.
Если ``true``, смешанная анимация принудительно переходит на следующий кадр.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_x_label:
.. rst-class:: classref-property
:ref:`String<class_String>` **x_label** = ``"x"`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_x_label>`
.. rst-class:: classref-property-setget
- |void| **set_x_label**\ (\ value\: :ref:`String<class_String>`\ )
- :ref:`String<class_String>` **get_x_label**\ (\ )
Имя оси X пространства смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_property_y_label:
.. rst-class:: classref-property
:ref:`String<class_String>` **y_label** = ``"y"`` :ref:`🔗<class_AnimationNodeBlendSpace2D_property_y_label>`
.. rst-class:: classref-property-setget
- |void| **set_y_label**\ (\ value\: :ref:`String<class_String>`\ )
- :ref:`String<class_String>` **get_y_label**\ (\ )
Имя оси Y пространства смешивания.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_AnimationNodeBlendSpace2D_method_add_blend_point:
.. rst-class:: classref-method
|void| **add_blend_point**\ (\ node\: :ref:`AnimationRootNode<class_AnimationRootNode>`, pos\: :ref:`Vector2<class_Vector2>`, at_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_add_blend_point>`
Добавляет новую точку, которая представляет ``node`` в позиции, заданной ``pos``. Вы можете вставить ее в определенный индекс, используя аргумент ``at_index``. Если вы используете значение по умолчанию для ``at_index``, точка вставляется в конец массива точек смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_add_triangle:
.. rst-class:: classref-method
|void| **add_triangle**\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`, z\: :ref:`int<class_int>`, at_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_add_triangle>`
Создает новый треугольник, используя три точки ``x``, ``y`` и ``z``. Треугольники могут перекрываться. Вы можете вставить треугольник в определенный индекс, используя аргумент ``at_index``. Если вы используете значение по умолчанию для ``at_index``, точка вставляется в конец массива точек смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_get_blend_point_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_blend_point_count**\ (\ ) |const| :ref:`🔗<class_AnimationNodeBlendSpace2D_method_get_blend_point_count>`
Возвращает количество точек в пространстве смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_get_blend_point_node:
.. rst-class:: classref-method
:ref:`AnimationRootNode<class_AnimationRootNode>` **get_blend_point_node**\ (\ point\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AnimationNodeBlendSpace2D_method_get_blend_point_node>`
Возвращает :ref:`AnimationRootNode<class_AnimationRootNode>`, на который ссылается точка с индексом ``point``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_get_blend_point_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_blend_point_position**\ (\ point\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AnimationNodeBlendSpace2D_method_get_blend_point_position>`
Возвращает положение точки с индексом ``point``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_get_triangle_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_triangle_count**\ (\ ) |const| :ref:`🔗<class_AnimationNodeBlendSpace2D_method_get_triangle_count>`
Возвращает количество треугольников в пространстве смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_get_triangle_point:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_triangle_point**\ (\ triangle\: :ref:`int<class_int>`, point\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_get_triangle_point>`
Возвращает положение точки с индексом ``point`` в треугольнике с индексом ``triangle``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_remove_blend_point:
.. rst-class:: classref-method
|void| **remove_blend_point**\ (\ point\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_remove_blend_point>`
Удаляет точку с индексом ``point`` из пространства смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_remove_triangle:
.. rst-class:: classref-method
|void| **remove_triangle**\ (\ triangle\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_remove_triangle>`
Удаляет треугольник с индексом ``triangle`` из пространства смешивания.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_set_blend_point_node:
.. rst-class:: classref-method
|void| **set_blend_point_node**\ (\ point\: :ref:`int<class_int>`, node\: :ref:`AnimationRootNode<class_AnimationRootNode>`\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_set_blend_point_node>`
Изменяет :ref:`AnimationNode<class_AnimationNode>`, на который ссылается точка с индексом ``point``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeBlendSpace2D_method_set_blend_point_position:
.. rst-class:: classref-method
|void| **set_blend_point_position**\ (\ point\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_AnimationNodeBlendSpace2D_method_set_blend_point_position>`
Обновляет положение точки с индексом ``point`` в пространстве смешивания.
.. |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 (Нет возвращаемого значения.)`