mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
1300 lines
87 KiB
ReStructuredText
1300 lines
87 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. _class_SpringBoneSimulator3D:
|
|
|
|
SpringBoneSimulator3D
|
|
=====================
|
|
|
|
**继承:** :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
|
|
|
对骨骼链应用惯性摆动的 :ref:`SkeletonModifier3D<class_SkeletonModifier3D>`\ 。
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
描述
|
|
----
|
|
|
|
这种 :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` 可以用来扭动头发、布料和尾巴,其行为与 :ref:`PhysicalBoneSimulator3D<class_PhysicalBoneSimulator3D>` 不同,修改后会尝试返回到原始姿势。
|
|
|
|
如果设置了 :ref:`set_root_bone()<class_SpringBoneSimulator3D_method_set_root_bone>` 和 :ref:`set_end_bone()<class_SpringBoneSimulator3D_method_set_end_bone>` 就会将其视为骨骼链。请注意,不支持像 Y 形链那样的分支链。
|
|
|
|
创建骨骼链时会根据首尾之间的骨骼生成数组,在关节列表中展示。
|
|
|
|
每个关节都有许多属性可以应用,例如 :ref:`set_joint_stiffness()<class_SpringBoneSimulator3D_method_set_joint_stiffness>`\ 、\ :ref:`set_joint_drag()<class_SpringBoneSimulator3D_method_set_joint_drag>` 和 :ref:`set_joint_gravity()<class_SpringBoneSimulator3D_method_set_joint_gravity>`\ 。
|
|
|
|
为了简化操作,你可以使用 :ref:`Curve<class_Curve>` 同时设置所有关节的值。如果你想单独指定详细值,请将 :ref:`set_individual_config()<class_SpringBoneSimulator3D_method_set_individual_config>` 设置为 ``true``\ 。
|
|
|
|
物理模拟时,\ **SpringBoneSimulator3D** 可以有子对象作为独立的碰撞体,这些碰撞体与 :ref:`PhysicsServer3D<class_PhysicsServer3D>` 无关,另见 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>`\ 。
|
|
|
|
\ **警告:**\ 缩放后的 **SpringBoneSimulator3D** 可能不会按预期行为。请确保父级 :ref:`Skeleton3D<class_Skeleton3D>` 及其骨骼没有缩放。
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
属性
|
|
----
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-------------------------------+----------------------------------------------------------------------------------+----------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`external_force<class_SpringBoneSimulator3D_property_external_force>` | ``Vector3(0, 0, 0)`` |
|
|
+-------------------------------+----------------------------------------------------------------------------------+----------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`mutable_bone_axes<class_SpringBoneSimulator3D_property_mutable_bone_axes>` | ``true`` |
|
|
+-------------------------------+----------------------------------------------------------------------------------+----------------------+
|
|
| :ref:`int<class_int>` | :ref:`setting_count<class_SpringBoneSimulator3D_property_setting_count>` | ``0`` |
|
|
+-------------------------------+----------------------------------------------------------------------------------+----------------------+
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
方法
|
|
----
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`are_all_child_collisions_enabled<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`clear_collisions<class_SpringBoneSimulator3D_method_clear_collisions>`\ (\ index\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`clear_exclude_collisions<class_SpringBoneSimulator3D_method_clear_exclude_collisions>`\ (\ index\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`clear_settings<class_SpringBoneSimulator3D_method_clear_settings>`\ (\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_center_bone<class_SpringBoneSimulator3D_method_get_center_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_center_bone_name<class_SpringBoneSimulator3D_method_get_center_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` | :ref:`get_center_from<class_SpringBoneSimulator3D_method_get_center_from>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`NodePath<class_NodePath>` | :ref:`get_center_node<class_SpringBoneSimulator3D_method_get_center_node>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_collision_count<class_SpringBoneSimulator3D_method_get_collision_count>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`NodePath<class_NodePath>` | :ref:`get_collision_path<class_SpringBoneSimulator3D_method_get_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_drag<class_SpringBoneSimulator3D_method_get_drag>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Curve<class_Curve>` | :ref:`get_drag_damping_curve<class_SpringBoneSimulator3D_method_get_drag_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_end_bone<class_SpringBoneSimulator3D_method_get_end_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`BoneDirection<enum_SkeletonModifier3D_BoneDirection>` | :ref:`get_end_bone_direction<class_SpringBoneSimulator3D_method_get_end_bone_direction>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_end_bone_length<class_SpringBoneSimulator3D_method_get_end_bone_length>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_end_bone_name<class_SpringBoneSimulator3D_method_get_end_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_exclude_collision_count<class_SpringBoneSimulator3D_method_get_exclude_collision_count>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`NodePath<class_NodePath>` | :ref:`get_exclude_collision_path<class_SpringBoneSimulator3D_method_get_exclude_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_gravity<class_SpringBoneSimulator3D_method_get_gravity>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Curve<class_Curve>` | :ref:`get_gravity_damping_curve<class_SpringBoneSimulator3D_method_get_gravity_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`get_gravity_direction<class_SpringBoneSimulator3D_method_get_gravity_direction>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_joint_bone<class_SpringBoneSimulator3D_method_get_joint_bone>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_joint_bone_name<class_SpringBoneSimulator3D_method_get_joint_bone_name>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_joint_count<class_SpringBoneSimulator3D_method_get_joint_count>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_joint_drag<class_SpringBoneSimulator3D_method_get_joint_drag>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_joint_gravity<class_SpringBoneSimulator3D_method_get_joint_gravity>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`get_joint_gravity_direction<class_SpringBoneSimulator3D_method_get_joint_gravity_direction>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_joint_radius<class_SpringBoneSimulator3D_method_get_joint_radius>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>` | :ref:`get_joint_rotation_axis<class_SpringBoneSimulator3D_method_get_joint_rotation_axis>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`get_joint_rotation_axis_vector<class_SpringBoneSimulator3D_method_get_joint_rotation_axis_vector>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_joint_stiffness<class_SpringBoneSimulator3D_method_get_joint_stiffness>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_radius<class_SpringBoneSimulator3D_method_get_radius>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Curve<class_Curve>` | :ref:`get_radius_damping_curve<class_SpringBoneSimulator3D_method_get_radius_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_root_bone<class_SpringBoneSimulator3D_method_get_root_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_root_bone_name<class_SpringBoneSimulator3D_method_get_root_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>` | :ref:`get_rotation_axis<class_SpringBoneSimulator3D_method_get_rotation_axis>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`get_rotation_axis_vector<class_SpringBoneSimulator3D_method_get_rotation_axis_vector>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_stiffness<class_SpringBoneSimulator3D_method_get_stiffness>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Curve<class_Curve>` | :ref:`get_stiffness_damping_curve<class_SpringBoneSimulator3D_method_get_stiffness_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_config_individual<class_SpringBoneSimulator3D_method_is_config_individual>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_end_bone_extended<class_SpringBoneSimulator3D_method_is_end_bone_extended>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`reset<class_SpringBoneSimulator3D_method_reset>`\ (\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_center_bone<class_SpringBoneSimulator3D_method_set_center_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_center_bone_name<class_SpringBoneSimulator3D_method_set_center_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_center_from<class_SpringBoneSimulator3D_method_set_center_from>`\ (\ index\: :ref:`int<class_int>`, center_from\: :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_center_node<class_SpringBoneSimulator3D_method_set_center_node>`\ (\ index\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_collision_count<class_SpringBoneSimulator3D_method_set_collision_count>`\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_collision_path<class_SpringBoneSimulator3D_method_set_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_drag<class_SpringBoneSimulator3D_method_set_drag>`\ (\ index\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_drag_damping_curve<class_SpringBoneSimulator3D_method_set_drag_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_enable_all_child_collisions<class_SpringBoneSimulator3D_method_set_enable_all_child_collisions>`\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_end_bone<class_SpringBoneSimulator3D_method_set_end_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_end_bone_direction<class_SpringBoneSimulator3D_method_set_end_bone_direction>`\ (\ index\: :ref:`int<class_int>`, bone_direction\: :ref:`BoneDirection<enum_SkeletonModifier3D_BoneDirection>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_end_bone_length<class_SpringBoneSimulator3D_method_set_end_bone_length>`\ (\ index\: :ref:`int<class_int>`, length\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_end_bone_name<class_SpringBoneSimulator3D_method_set_end_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_exclude_collision_count<class_SpringBoneSimulator3D_method_set_exclude_collision_count>`\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_exclude_collision_path<class_SpringBoneSimulator3D_method_set_exclude_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_extend_end_bone<class_SpringBoneSimulator3D_method_set_extend_end_bone>`\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_gravity<class_SpringBoneSimulator3D_method_set_gravity>`\ (\ index\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_gravity_damping_curve<class_SpringBoneSimulator3D_method_set_gravity_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_gravity_direction<class_SpringBoneSimulator3D_method_set_gravity_direction>`\ (\ index\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_individual_config<class_SpringBoneSimulator3D_method_set_individual_config>`\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_drag<class_SpringBoneSimulator3D_method_set_joint_drag>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_gravity<class_SpringBoneSimulator3D_method_set_joint_gravity>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_gravity_direction<class_SpringBoneSimulator3D_method_set_joint_gravity_direction>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_radius<class_SpringBoneSimulator3D_method_set_joint_radius>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_rotation_axis<class_SpringBoneSimulator3D_method_set_joint_rotation_axis>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_rotation_axis_vector<class_SpringBoneSimulator3D_method_set_joint_rotation_axis_vector>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, vector\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_joint_stiffness<class_SpringBoneSimulator3D_method_set_joint_stiffness>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_radius<class_SpringBoneSimulator3D_method_set_radius>`\ (\ index\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_radius_damping_curve<class_SpringBoneSimulator3D_method_set_radius_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_root_bone<class_SpringBoneSimulator3D_method_set_root_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_root_bone_name<class_SpringBoneSimulator3D_method_set_root_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_rotation_axis<class_SpringBoneSimulator3D_method_set_rotation_axis>`\ (\ index\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_rotation_axis_vector<class_SpringBoneSimulator3D_method_set_rotation_axis_vector>`\ (\ index\: :ref:`int<class_int>`, vector\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_stiffness<class_SpringBoneSimulator3D_method_set_stiffness>`\ (\ index\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_stiffness_damping_curve<class_SpringBoneSimulator3D_method_set_stiffness_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
|
|
+-------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
枚举
|
|
----
|
|
|
|
.. _enum_SpringBoneSimulator3D_CenterFrom:
|
|
|
|
.. rst-class:: classref-enumeration
|
|
|
|
enum **CenterFrom**: :ref:`🔗<enum_SpringBoneSimulator3D_CenterFrom>`
|
|
|
|
.. _class_SpringBoneSimulator3D_constant_CENTER_FROM_WORLD_ORIGIN:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **CENTER_FROM_WORLD_ORIGIN** = ``0``
|
|
|
|
将世界原点定义为中心。
|
|
|
|
.. _class_SpringBoneSimulator3D_constant_CENTER_FROM_NODE:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **CENTER_FROM_NODE** = ``1``
|
|
|
|
将 :ref:`set_center_node()<class_SpringBoneSimulator3D_method_set_center_node>` 指定的 :ref:`Node3D<class_Node3D>` 定义为中心。
|
|
|
|
如果未找到 :ref:`Node3D<class_Node3D>`\ ,则将父 :ref:`Skeleton3D<class_Skeleton3D>` 作为中心。
|
|
|
|
.. _class_SpringBoneSimulator3D_constant_CENTER_FROM_BONE:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **CENTER_FROM_BONE** = ``2``
|
|
|
|
将 :ref:`set_center_bone()<class_SpringBoneSimulator3D_method_set_center_bone>` 指定的父 :ref:`Skeleton3D<class_Skeleton3D>` 的骨骼姿势原点定义为中心。
|
|
|
|
如果未找到 :ref:`Node3D<class_Node3D>`\ ,则将父 :ref:`Skeleton3D<class_Skeleton3D>` 作为中心。
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
属性说明
|
|
--------
|
|
|
|
.. _class_SpringBoneSimulator3D_property_external_force:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **external_force** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_SpringBoneSimulator3D_property_external_force>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_external_force**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_external_force**\ (\ )
|
|
|
|
始终作用于骨骼的恒定力。当父级 :ref:`Skeleton3D<class_Skeleton3D>` 以相反方向以此速度移动时,该力等于其结果。
|
|
|
|
对于风和反重力等效果非常有用。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_property_mutable_bone_axes:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`bool<class_bool>` **mutable_bone_axes** = ``true`` :ref:`🔗<class_SpringBoneSimulator3D_property_mutable_bone_axes>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_mutable_bone_axes**\ (\ value\: :ref:`bool<class_bool>`\ )
|
|
- :ref:`bool<class_bool>` **are_bone_axes_mutable**\ (\ )
|
|
|
|
If ``true``, the solver retrieves the bone axis from the bone pose every frame.
|
|
|
|
If ``false``, the solver retrieves the bone axis from the bone rest and caches it, which increases performance slightly, but position changes in the bone pose made before processing this **SpringBoneSimulator3D** are ignored.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_property_setting_count:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`int<class_int>` **setting_count** = ``0`` :ref:`🔗<class_SpringBoneSimulator3D_property_setting_count>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_setting_count**\ (\ value\: :ref:`int<class_int>`\ )
|
|
- :ref:`int<class_int>` **get_setting_count**\ (\ )
|
|
|
|
设置的数量。
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
方法说明
|
|
--------
|
|
|
|
.. _class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **are_all_child_collisions_enabled**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>`
|
|
|
|
如果所有子 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 都包含在设置中索引为 ``index`` 的碰撞列表中,则返回 ``true``\ 。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_clear_collisions:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **clear_collisions**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_clear_collisions>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``false`` 时,清空设置中索引为 ``index`` 的碰撞列表中的所有碰撞。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_clear_exclude_collisions:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **clear_exclude_collisions**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_clear_exclude_collisions>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``true`` 时,清空设置中索引为 ``index`` 的碰撞列表中的所有排除碰撞。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_clear_settings:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **clear_settings**\ (\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_clear_settings>`
|
|
|
|
清空所有设置。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_center_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_center_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_center_bone>`
|
|
|
|
返回骨骼链中间骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_center_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`String<class_String>` **get_center_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_center_bone_name>`
|
|
|
|
返回骨骼链中间骨骼的名称。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_center_from:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **get_center_from**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_center_from>`
|
|
|
|
返回骨骼链中心的来源。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_center_node:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`NodePath<class_NodePath>` **get_center_node**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_center_node>`
|
|
|
|
返回骨骼链中心节点的路径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_collision_count:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_collision_count**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_collision_count>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``false`` 时,返回骨骼链的碰撞列表中的碰撞数量。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_collision_path:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`NodePath<class_NodePath>` **get_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_collision_path>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``false`` 时,返回骨骼链的碰撞列表中 ``collision`` 的 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 节点路径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_drag:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_drag**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_drag>`
|
|
|
|
返回骨骼链的阻力阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_drag_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Curve<class_Curve>` **get_drag_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_drag_damping_curve>`
|
|
|
|
返回骨骼链的阻力阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_end_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_end_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_end_bone>`
|
|
|
|
返回骨骼链末尾骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_end_bone_direction:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`BoneDirection<enum_SkeletonModifier3D_BoneDirection>` **get_end_bone_direction**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_end_bone_direction>`
|
|
|
|
Returns the tail direction of the end bone of the bone chain when :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` is ``true``.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_end_bone_length:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_end_bone_length**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_end_bone_length>`
|
|
|
|
Returns the end bone tail length of the bone chain when :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` is ``true``.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_end_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`String<class_String>` **get_end_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_end_bone_name>`
|
|
|
|
返回骨骼链末尾骨骼的名称。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_exclude_collision_count:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_exclude_collision_count**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_exclude_collision_count>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``true`` 时,返回骨骼链的排除碰撞列表中的排除碰撞数量。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_exclude_collision_path:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`NodePath<class_NodePath>` **get_exclude_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_exclude_collision_path>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``true`` 时,返回骨骼链的排除碰撞列表中 ``collision`` 的 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 节点路径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_gravity:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_gravity**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_gravity>`
|
|
|
|
返回骨骼链的重力强度。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_gravity_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Curve<class_Curve>` **get_gravity_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_gravity_damping_curve>`
|
|
|
|
返回骨骼链的重力强度阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_gravity_direction:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Vector3<class_Vector3>` **get_gravity_direction**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_gravity_direction>`
|
|
|
|
返回骨骼链的重力方向。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_joint_bone**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_bone>`
|
|
|
|
返回骨骼链关节列表中位于 ``joint`` 的骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`String<class_String>` **get_joint_bone_name**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_bone_name>`
|
|
|
|
返回骨骼链关节列表中位于 ``joint`` 的骨骼的名称。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_count:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_joint_count**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_count>`
|
|
|
|
返回骨骼链关节列表中的关节数量。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_drag:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_joint_drag**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_drag>`
|
|
|
|
返回骨骼链关节列表中 ``joint`` 关节的阻力。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_gravity:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_joint_gravity**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_gravity>`
|
|
|
|
返回骨骼链关节列表中 ``joint`` 关节的重力强度。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_gravity_direction:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Vector3<class_Vector3>` **get_joint_gravity_direction**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_gravity_direction>`
|
|
|
|
返回骨骼链关节列表中 ``joint`` 关节的重力方向。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_radius:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_joint_radius**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_radius>`
|
|
|
|
返回骨骼链关节列表中 ``joint`` 关节的半径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_rotation_axis:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>` **get_joint_rotation_axis**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_rotation_axis>`
|
|
|
|
返回骨骼链关节列表中 ``joint`` 关节的旋转轴。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_rotation_axis_vector:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Vector3<class_Vector3>` **get_joint_rotation_axis_vector**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_rotation_axis_vector>`
|
|
|
|
Returns the rotation axis vector for the specified joint in the bone chain. This vector represents the axis around which the joint can rotate. It is determined based on the rotation axis set for the joint.
|
|
|
|
If :ref:`get_joint_rotation_axis()<class_SpringBoneSimulator3D_method_get_joint_rotation_axis>` is :ref:`SkeletonModifier3D.ROTATION_AXIS_ALL<class_SkeletonModifier3D_constant_ROTATION_AXIS_ALL>`, this method returns ``Vector3(0, 0, 0)``.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_joint_stiffness:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_joint_stiffness**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_joint_stiffness>`
|
|
|
|
返回骨骼链关节列表中 ``joint`` 关节的刚度力。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_radius:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_radius**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_radius>`
|
|
|
|
返回骨骼链的关节半径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_radius_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Curve<class_Curve>` **get_radius_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_radius_damping_curve>`
|
|
|
|
返回骨骼链的关节半径阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_root_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`int<class_int>` **get_root_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_root_bone>`
|
|
|
|
返回骨骼链根骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_root_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`String<class_String>` **get_root_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_root_bone_name>`
|
|
|
|
返回骨骼链根骨骼的名称。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_rotation_axis:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>` **get_rotation_axis**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_rotation_axis>`
|
|
|
|
返回骨骼链的旋转轴。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_rotation_axis_vector:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Vector3<class_Vector3>` **get_rotation_axis_vector**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_rotation_axis_vector>`
|
|
|
|
Returns the rotation axis vector of the bone chain. This vector represents the axis around which the bone chain can rotate. It is determined based on the rotation axis set for the bone chain.
|
|
|
|
If :ref:`get_rotation_axis()<class_SpringBoneSimulator3D_method_get_rotation_axis>` is :ref:`SkeletonModifier3D.ROTATION_AXIS_ALL<class_SkeletonModifier3D_constant_ROTATION_AXIS_ALL>`, this method returns ``Vector3(0, 0, 0)``.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_stiffness:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`float<class_float>` **get_stiffness**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_stiffness>`
|
|
|
|
返回骨骼链的刚度力。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_get_stiffness_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Curve<class_Curve>` **get_stiffness_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_get_stiffness_damping_curve>`
|
|
|
|
返回骨骼链的刚度力阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_is_config_individual:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **is_config_individual**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_is_config_individual>`
|
|
|
|
如果可以为每个关节单独编辑配置,则返回 ``true``\ 。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_is_end_bone_extended:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **is_end_bone_extended**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SpringBoneSimulator3D_method_is_end_bone_extended>`
|
|
|
|
Returns ``true`` if the end bone is extended to have a tail.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_reset:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **reset**\ (\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_reset>`
|
|
|
|
重置与当前骨骼姿势相关的模拟状态。
|
|
|
|
这样做有助于防止模拟结果变得剧烈。例如在不带渐变调用 :ref:`AnimationPlayer.play()<class_AnimationPlayer_method_play>` 之后立即调用该方法,或者在前一个 :ref:`SkeletonModifier3D.modification_processed<class_SkeletonModifier3D_signal_modification_processed>` 信号中当条件发生显著变化时调用。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_center_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_center_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_center_bone>`
|
|
|
|
设置骨骼链中心骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_center_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_center_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_center_bone_name>`
|
|
|
|
设置骨骼链中心骨骼的名称。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_center_from:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_center_from**\ (\ index\: :ref:`int<class_int>`, center_from\: :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_center_from>`
|
|
|
|
设置骨骼链中心的来源。
|
|
|
|
骨骼的移动是基于中心与骨骼在前后帧之间相对距离的变化来计算的。
|
|
|
|
例如将父级 :ref:`Skeleton3D<class_Skeleton3D>` 用作中心,那么 :ref:`Skeleton3D<class_Skeleton3D>` 在世界中移动时,骨骼就会被视为没有移动。
|
|
|
|
在这种情况下,只有骨骼姿势的变化才被视为骨骼的移动。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_center_node:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_center_node**\ (\ index\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_center_node>`
|
|
|
|
设置骨骼链中心节点的路径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_collision_count:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_collision_count**\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_collision_count>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``false`` 时,设置索引为 ``index`` 的碰撞列表中的碰撞数量。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_collision_path:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_collision_path>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``false`` 时,设置骨骼链的碰撞列表中 ``collision`` 的 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 节点路径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_drag:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_drag**\ (\ index\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_drag>`
|
|
|
|
设置骨骼链的阻力。值越大,摆动越受到抑制。
|
|
|
|
该值由 :ref:`set_drag_damping_curve()<class_SpringBoneSimulator3D_method_set_drag_damping_curve>` 进行缩放,并缓存到关节列表中每个关节的设置中。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_drag_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_drag_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_drag_damping_curve>`
|
|
|
|
设置骨骼链的阻力阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_enable_all_child_collisions:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_enable_all_child_collisions**\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_enable_all_child_collisions>`
|
|
|
|
如果 ``enabled`` 为 ``true``\ ,则所有子级 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 都会发生碰撞,\ :ref:`set_exclude_collision_path()<class_SpringBoneSimulator3D_method_set_exclude_collision_path>` 在设置中的 ``index`` 处启用作为排除列表。
|
|
|
|
如果 ``enabled`` 为 ``false``\ ,则需要手动使用 :ref:`set_collision_path()<class_SpringBoneSimulator3D_method_set_collision_path>` 注册所有有效的碰撞。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_end_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_end_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_end_bone>`
|
|
|
|
设置骨骼链中末端骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_end_bone_direction:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_end_bone_direction**\ (\ index\: :ref:`int<class_int>`, bone_direction\: :ref:`BoneDirection<enum_SkeletonModifier3D_BoneDirection>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_end_bone_direction>`
|
|
|
|
当 :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` 为 ``true`` 时,设置骨骼链中末端骨骼的尾部方向。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_end_bone_length:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_end_bone_length**\ (\ index\: :ref:`int<class_int>`, length\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_end_bone_length>`
|
|
|
|
当 :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` 为 ``true`` 时,设置骨骼链中末端骨骼的尾部长度。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_end_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_end_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_end_bone_name>`
|
|
|
|
设置骨骼链中末端骨骼的名称。
|
|
|
|
\ **注意:** 末端骨骼必须是根骨骼或根骨骼的子骨骼。如果相同,则必须通过 :ref:`set_extend_end_bone()<class_SpringBoneSimulator3D_method_set_extend_end_bone>` 扩展尾部,使骨骼产生摆动。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_exclude_collision_count:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_exclude_collision_count**\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_exclude_collision_count>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``true`` 时,设置索引为 ``index`` 的排除碰撞列表中的排除碰撞数量。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_exclude_collision_path:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_exclude_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_exclude_collision_path>`
|
|
|
|
当 :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` 为 ``true`` 时,设置骨骼链的排除碰撞列表中 ``collision`` 的 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 节点路径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_extend_end_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_extend_end_bone**\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_extend_end_bone>`
|
|
|
|
If ``enabled`` is ``true``, the end bone is extended to have a tail.
|
|
|
|
The extended tail config is allocated to the last element in the joint list. In other words, if you set ``enabled`` to ``false``, the config of the last element in the joint list has no effect in the simulated result.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_gravity:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_gravity**\ (\ index\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_gravity>`
|
|
|
|
设置骨骼链的重力强度。该值不是加速度,而是 :ref:`set_gravity_direction()<class_SpringBoneSimulator3D_method_set_gravity_direction>` 的恒定运动速度。
|
|
|
|
如果 ``gravity`` 不为 ``0``\ ,则修改后的姿势将不会返回到原始姿势,因为它始终受到重力的影响。
|
|
|
|
该值会被 :ref:`set_gravity_damping_curve()<class_SpringBoneSimulator3D_method_set_gravity_damping_curve>` 缩放,并缓存到关节列表中的每个关节设置中。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_gravity_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_gravity_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_gravity_damping_curve>`
|
|
|
|
设置骨骼链的重力强度阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_gravity_direction:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_gravity_direction**\ (\ index\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_gravity_direction>`
|
|
|
|
设置骨骼链的重力方向。内部会对该值进行归一化,然后乘以 :ref:`set_gravity()<class_SpringBoneSimulator3D_method_set_gravity>`\ 。
|
|
|
|
该值会被缓存到关节列表中的每个关节设置中。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_individual_config:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_individual_config**\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_individual_config>`
|
|
|
|
如果 ``enabled`` 为 ``true``\ ,则可以为每个关节单独编辑配置。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_drag:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_drag**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_drag>`
|
|
|
|
当 :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` 为 ``true`` 时,设置骨骼链关节列表中 ``joint`` 关节的阻力。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_gravity:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_gravity**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_gravity>`
|
|
|
|
当 :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` 为 ``true`` 时,设置骨骼链关节列表中 ``joint`` 关节的重力强度。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_gravity_direction:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_gravity_direction**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_gravity_direction>`
|
|
|
|
当 :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` 为 ``true`` 时,设置骨骼链关节列表中 ``joint`` 关节的重力方向。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_radius:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_radius**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_radius>`
|
|
|
|
当 :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` 为 ``true`` 时,设置骨骼链关节列表中 ``joint`` 关节的半径。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_rotation_axis:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_rotation_axis**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_rotation_axis>`
|
|
|
|
Sets the rotation axis at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
|
|
|
|
The axes are based on the :ref:`Skeleton3D.get_bone_rest()<class_Skeleton3D_method_get_bone_rest>`'s space, if ``axis`` is :ref:`SkeletonModifier3D.ROTATION_AXIS_CUSTOM<class_SkeletonModifier3D_constant_ROTATION_AXIS_CUSTOM>`, you can specify any axis.
|
|
|
|
\ **Note:** The rotation axis and the forward vector shouldn't be colinear to avoid unintended rotation since **SpringBoneSimulator3D** does not factor in twisting forces.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_rotation_axis_vector:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_rotation_axis_vector**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, vector\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_rotation_axis_vector>`
|
|
|
|
Sets the rotation axis vector for the specified joint in the bone chain.
|
|
|
|
This vector is normalized by an internal process and represents the axis around which the bone chain can rotate.
|
|
|
|
If the vector length is ``0``, it is considered synonymous with :ref:`SkeletonModifier3D.ROTATION_AXIS_ALL<class_SkeletonModifier3D_constant_ROTATION_AXIS_ALL>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_joint_stiffness:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_joint_stiffness**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_joint_stiffness>`
|
|
|
|
当 :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` 为 ``true`` 时,设置骨骼链关节列表中 ``joint`` 关节的刚度力。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_radius:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_radius**\ (\ index\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_radius>`
|
|
|
|
设置骨骼链的关节半径,用于在碰撞列表中与 :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` 一起移动和滑动。
|
|
|
|
该值由 :ref:`set_radius_damping_curve()<class_SpringBoneSimulator3D_method_set_radius_damping_curve>` 进行缩放,并缓存到关节列表中每个关节的设置中。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_radius_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_radius_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_radius_damping_curve>`
|
|
|
|
设置骨骼链的关节半径阻尼曲线。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_root_bone:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_root_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_root_bone>`
|
|
|
|
设置骨骼链中根骨骼的索引。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_root_bone_name:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_root_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_root_bone_name>`
|
|
|
|
设置骨骼链中根骨骼的名称。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_rotation_axis:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_rotation_axis**\ (\ index\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SkeletonModifier3D_RotationAxis>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_rotation_axis>`
|
|
|
|
Sets the rotation axis of the bone chain. If set to a specific axis, it acts like a hinge joint. The value is cached in each joint setting in the joint list.
|
|
|
|
The axes are based on the :ref:`Skeleton3D.get_bone_rest()<class_Skeleton3D_method_get_bone_rest>`'s space, if ``axis`` is :ref:`SkeletonModifier3D.ROTATION_AXIS_CUSTOM<class_SkeletonModifier3D_constant_ROTATION_AXIS_CUSTOM>`, you can specify any axis.
|
|
|
|
\ **Note:** The rotation axis vector and the forward vector shouldn't be colinear to avoid unintended rotation since **SpringBoneSimulator3D** does not factor in twisting forces.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_rotation_axis_vector:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_rotation_axis_vector**\ (\ index\: :ref:`int<class_int>`, vector\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_rotation_axis_vector>`
|
|
|
|
Sets the rotation axis vector of the bone chain. The value is cached in each joint setting in the joint list.
|
|
|
|
This vector is normalized by an internal process and represents the axis around which the bone chain can rotate.
|
|
|
|
If the vector length is ``0``, it is considered synonymous with :ref:`SkeletonModifier3D.ROTATION_AXIS_ALL<class_SkeletonModifier3D_constant_ROTATION_AXIS_ALL>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_stiffness:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_stiffness**\ (\ index\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_stiffness>`
|
|
|
|
设置骨骼链的刚度力。值越大,恢复到初始姿势的速度越快。
|
|
|
|
如果 ``stiffness`` 为 ``0``\ ,则修改后的姿势不会返回到原始姿势。
|
|
|
|
该值由 :ref:`set_stiffness_damping_curve()<class_SpringBoneSimulator3D_method_set_stiffness_damping_curve>` 进行缩放,并缓存到关节列表中每个关节的设置中。
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpringBoneSimulator3D_method_set_stiffness_damping_curve:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_stiffness_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`🔗<class_SpringBoneSimulator3D_method_set_stiffness_damping_curve>`
|
|
|
|
设置骨骼链的刚度力阻尼曲线。
|
|
|
|
.. |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 (无返回值。)`
|