class_animationnodestatemachinetransition.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachineTransition.xml.
  6. .. _class_AnimationNodeStateMachineTransition:
  7. AnimationNodeStateMachineTransition
  8. ===================================
  9. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Tutorials
  11. ---------
  12. - :doc:`AnimationTree <../tutorials/animation/animation_tree>`
  13. Properties
  14. ----------
  15. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  16. | :ref:`StringName<class_StringName>` | :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>` | ``&""`` |
  17. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  18. | :ref:`String<class_String>` | :ref:`advance_expression<class_AnimationNodeStateMachineTransition_property_advance_expression>` | ``""`` |
  19. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  20. | :ref:`NodePath<class_NodePath>` | :ref:`advance_expression_base_node<class_AnimationNodeStateMachineTransition_property_advance_expression_base_node>` | ``NodePath("")`` |
  21. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  22. | :ref:`bool<class_bool>` | :ref:`auto_advance<class_AnimationNodeStateMachineTransition_property_auto_advance>` | ``false`` |
  23. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  24. | :ref:`bool<class_bool>` | :ref:`disabled<class_AnimationNodeStateMachineTransition_property_disabled>` | ``false`` |
  25. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  26. | :ref:`int<class_int>` | :ref:`priority<class_AnimationNodeStateMachineTransition_property_priority>` | ``1`` |
  27. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  28. | :ref:`SwitchMode<enum_AnimationNodeStateMachineTransition_SwitchMode>` | :ref:`switch_mode<class_AnimationNodeStateMachineTransition_property_switch_mode>` | ``0`` |
  29. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  30. | :ref:`float<class_float>` | :ref:`xfade_time<class_AnimationNodeStateMachineTransition_property_xfade_time>` | ``0.0`` |
  31. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+
  32. Signals
  33. -------
  34. .. _class_AnimationNodeStateMachineTransition_signal_advance_condition_changed:
  35. - **advance_condition_changed** **(** **)**
  36. Emitted when :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>` is changed.
  37. Enumerations
  38. ------------
  39. .. _enum_AnimationNodeStateMachineTransition_SwitchMode:
  40. .. _class_AnimationNodeStateMachineTransition_constant_SWITCH_MODE_IMMEDIATE:
  41. .. _class_AnimationNodeStateMachineTransition_constant_SWITCH_MODE_SYNC:
  42. .. _class_AnimationNodeStateMachineTransition_constant_SWITCH_MODE_AT_END:
  43. enum **SwitchMode**:
  44. - **SWITCH_MODE_IMMEDIATE** = **0** --- Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
  45. - **SWITCH_MODE_SYNC** = **1** --- Switch to the next state immediately, but will seek the new state to the playback position of the old state.
  46. - **SWITCH_MODE_AT_END** = **2** --- Wait for the current state playback to end, then switch to the beginning of the next state animation.
  47. Property Descriptions
  48. ---------------------
  49. .. _class_AnimationNodeStateMachineTransition_property_advance_condition:
  50. - :ref:`StringName<class_StringName>` **advance_condition**
  51. +-----------+------------------------------+
  52. | *Default* | ``&""`` |
  53. +-----------+------------------------------+
  54. | *Setter* | set_advance_condition(value) |
  55. +-----------+------------------------------+
  56. | *Getter* | get_advance_condition() |
  57. +-----------+------------------------------+
  58. Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the :ref:`AnimationTree<class_AnimationTree>` that can be controlled from code (see `#controlling-from-code <../tutorials/animation/animation_tree.html#controlling-from-code>`__ in :doc:`../tutorials/animation/animation_tree`). For example, if :ref:`AnimationTree.tree_root<class_AnimationTree_property_tree_root>` is an :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>` and :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>` is set to ``"idle"``:
  59. .. tabs::
  60. .. code-tab:: gdscript
  61. $animation_tree.set("parameters/conditions/idle", is_on_floor and (linear_velocity.x == 0))
  62. .. code-tab:: csharp
  63. GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.x == 0));
  64. ----
  65. .. _class_AnimationNodeStateMachineTransition_property_advance_expression:
  66. - :ref:`String<class_String>` **advance_expression**
  67. +-----------+-------------------------------+
  68. | *Default* | ``""`` |
  69. +-----------+-------------------------------+
  70. | *Setter* | set_advance_expression(value) |
  71. +-----------+-------------------------------+
  72. | *Getter* | get_advance_expression() |
  73. +-----------+-------------------------------+
  74. Use an expression as a condition for state machine transitions. It is possible to create complex animation advance conditions for switching between states and gives much greater flexibility for creating complex state machines by directly interfacing with the script code.
  75. ----
  76. .. _class_AnimationNodeStateMachineTransition_property_advance_expression_base_node:
  77. - :ref:`NodePath<class_NodePath>` **advance_expression_base_node**
  78. +-----------+-----------------------------------------+
  79. | *Default* | ``NodePath("")`` |
  80. +-----------+-----------------------------------------+
  81. | *Setter* | set_advance_expression_base_node(value) |
  82. +-----------+-----------------------------------------+
  83. | *Getter* | get_advance_expression_base_node() |
  84. +-----------+-----------------------------------------+
  85. The path to the :ref:`Node<class_Node>` used to evaluate an :ref:`Expression<class_Expression>` if one is not explicitly specified internally.
  86. ----
  87. .. _class_AnimationNodeStateMachineTransition_property_auto_advance:
  88. - :ref:`bool<class_bool>` **auto_advance**
  89. +-----------+-------------------------+
  90. | *Default* | ``false`` |
  91. +-----------+-------------------------+
  92. | *Setter* | set_auto_advance(value) |
  93. +-----------+-------------------------+
  94. | *Getter* | has_auto_advance() |
  95. +-----------+-------------------------+
  96. Turn on the transition automatically when this state is reached. This works best with :ref:`SWITCH_MODE_AT_END<class_AnimationNodeStateMachineTransition_constant_SWITCH_MODE_AT_END>`.
  97. ----
  98. .. _class_AnimationNodeStateMachineTransition_property_disabled:
  99. - :ref:`bool<class_bool>` **disabled**
  100. +-----------+---------------------+
  101. | *Default* | ``false`` |
  102. +-----------+---------------------+
  103. | *Setter* | set_disabled(value) |
  104. +-----------+---------------------+
  105. | *Getter* | is_disabled() |
  106. +-----------+---------------------+
  107. Don't use this transition during :ref:`AnimationNodeStateMachinePlayback.travel<class_AnimationNodeStateMachinePlayback_method_travel>` or :ref:`auto_advance<class_AnimationNodeStateMachineTransition_property_auto_advance>`.
  108. ----
  109. .. _class_AnimationNodeStateMachineTransition_property_priority:
  110. - :ref:`int<class_int>` **priority**
  111. +-----------+---------------------+
  112. | *Default* | ``1`` |
  113. +-----------+---------------------+
  114. | *Setter* | set_priority(value) |
  115. +-----------+---------------------+
  116. | *Getter* | get_priority() |
  117. +-----------+---------------------+
  118. Lower priority transitions are preferred when travelling through the tree via :ref:`AnimationNodeStateMachinePlayback.travel<class_AnimationNodeStateMachinePlayback_method_travel>` or :ref:`auto_advance<class_AnimationNodeStateMachineTransition_property_auto_advance>`.
  119. ----
  120. .. _class_AnimationNodeStateMachineTransition_property_switch_mode:
  121. - :ref:`SwitchMode<enum_AnimationNodeStateMachineTransition_SwitchMode>` **switch_mode**
  122. +-----------+------------------------+
  123. | *Default* | ``0`` |
  124. +-----------+------------------------+
  125. | *Setter* | set_switch_mode(value) |
  126. +-----------+------------------------+
  127. | *Getter* | get_switch_mode() |
  128. +-----------+------------------------+
  129. The transition type.
  130. ----
  131. .. _class_AnimationNodeStateMachineTransition_property_xfade_time:
  132. - :ref:`float<class_float>` **xfade_time**
  133. +-----------+-----------------------+
  134. | *Default* | ``0.0`` |
  135. +-----------+-----------------------+
  136. | *Setter* | set_xfade_time(value) |
  137. +-----------+-----------------------+
  138. | *Getter* | get_xfade_time() |
  139. +-----------+-----------------------+
  140. The time to cross-fade between this state and the next.
  141. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  142. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  143. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  144. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  145. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  146. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`