class_openxrdpadbindingmodifier.rst 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  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/modules/openxr/doc_classes/OpenXRDpadBindingModifier.xml.
  6. .. _class_OpenXRDpadBindingModifier:
  7. OpenXRDpadBindingModifier
  8. =========================
  9. **Inherits:** :ref:`OpenXRIPBindingModifier<class_OpenXRIPBindingModifier>` **<** :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. The DPad binding modifier converts an axis input to a dpad output.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. The DPad binding modifier converts an axis input to a dpad output, emulating a DPad. New input paths for each dpad direction will be added to the interaction profile. When bound to actions the DPad emulation will be activated. You should **not** combine dpad inputs with normal inputs in the same action set for the same control, this will result in an error being returned when suggested bindings are submitted to OpenXR.
  15. See `XR_EXT_dpad_binding <https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_dpad_binding>`__ for in-depth details.
  16. \ **Note:** If the DPad binding modifier extension is enabled, all dpad binding paths will be available in the action map. Adding the modifier to an interaction profile allows you to further customize the behavior.
  17. .. rst-class:: classref-reftable-group
  18. Properties
  19. ----------
  20. .. table::
  21. :widths: auto
  22. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  23. | :ref:`OpenXRActionSet<class_OpenXRActionSet>` | :ref:`action_set<class_OpenXRDpadBindingModifier_property_action_set>` | |
  24. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  25. | :ref:`float<class_float>` | :ref:`center_region<class_OpenXRDpadBindingModifier_property_center_region>` | ``0.1`` |
  26. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  27. | :ref:`String<class_String>` | :ref:`input_path<class_OpenXRDpadBindingModifier_property_input_path>` | ``""`` |
  28. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  29. | :ref:`bool<class_bool>` | :ref:`is_sticky<class_OpenXRDpadBindingModifier_property_is_sticky>` | ``false`` |
  30. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  31. | :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` | :ref:`off_haptic<class_OpenXRDpadBindingModifier_property_off_haptic>` | |
  32. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  33. | :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` | :ref:`on_haptic<class_OpenXRDpadBindingModifier_property_on_haptic>` | |
  34. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  35. | :ref:`float<class_float>` | :ref:`threshold<class_OpenXRDpadBindingModifier_property_threshold>` | ``0.6`` |
  36. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  37. | :ref:`float<class_float>` | :ref:`threshold_released<class_OpenXRDpadBindingModifier_property_threshold_released>` | ``0.4`` |
  38. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  39. | :ref:`float<class_float>` | :ref:`wedge_angle<class_OpenXRDpadBindingModifier_property_wedge_angle>` | ``1.5708`` |
  40. +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
  41. .. rst-class:: classref-section-separator
  42. ----
  43. .. rst-class:: classref-descriptions-group
  44. Property Descriptions
  45. ---------------------
  46. .. _class_OpenXRDpadBindingModifier_property_action_set:
  47. .. rst-class:: classref-property
  48. :ref:`OpenXRActionSet<class_OpenXRActionSet>` **action_set** :ref:`🔗<class_OpenXRDpadBindingModifier_property_action_set>`
  49. .. rst-class:: classref-property-setget
  50. - |void| **set_action_set**\ (\ value\: :ref:`OpenXRActionSet<class_OpenXRActionSet>`\ )
  51. - :ref:`OpenXRActionSet<class_OpenXRActionSet>` **get_action_set**\ (\ )
  52. Action set for which this dpad binding modifier is active.
  53. .. rst-class:: classref-item-separator
  54. ----
  55. .. _class_OpenXRDpadBindingModifier_property_center_region:
  56. .. rst-class:: classref-property
  57. :ref:`float<class_float>` **center_region** = ``0.1`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_center_region>`
  58. .. rst-class:: classref-property-setget
  59. - |void| **set_center_region**\ (\ value\: :ref:`float<class_float>`\ )
  60. - :ref:`float<class_float>` **get_center_region**\ (\ )
  61. Center region in which our center position of our dpad return ``true``.
  62. .. rst-class:: classref-item-separator
  63. ----
  64. .. _class_OpenXRDpadBindingModifier_property_input_path:
  65. .. rst-class:: classref-property
  66. :ref:`String<class_String>` **input_path** = ``""`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_input_path>`
  67. .. rst-class:: classref-property-setget
  68. - |void| **set_input_path**\ (\ value\: :ref:`String<class_String>`\ )
  69. - :ref:`String<class_String>` **get_input_path**\ (\ )
  70. Input path for this dpad binding modifier.
  71. .. rst-class:: classref-item-separator
  72. ----
  73. .. _class_OpenXRDpadBindingModifier_property_is_sticky:
  74. .. rst-class:: classref-property
  75. :ref:`bool<class_bool>` **is_sticky** = ``false`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_is_sticky>`
  76. .. rst-class:: classref-property-setget
  77. - |void| **set_is_sticky**\ (\ value\: :ref:`bool<class_bool>`\ )
  78. - :ref:`bool<class_bool>` **get_is_sticky**\ (\ )
  79. If ``false``, when the joystick enters a new dpad zone this becomes true.
  80. If ``true``, when the joystick remains in active dpad zone, this remains true even if we overlap with another zone.
  81. .. rst-class:: classref-item-separator
  82. ----
  83. .. _class_OpenXRDpadBindingModifier_property_off_haptic:
  84. .. rst-class:: classref-property
  85. :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **off_haptic** :ref:`🔗<class_OpenXRDpadBindingModifier_property_off_haptic>`
  86. .. rst-class:: classref-property-setget
  87. - |void| **set_off_haptic**\ (\ value\: :ref:`OpenXRHapticBase<class_OpenXRHapticBase>`\ )
  88. - :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **get_off_haptic**\ (\ )
  89. Haptic pulse to emit when the user releases the input.
  90. .. rst-class:: classref-item-separator
  91. ----
  92. .. _class_OpenXRDpadBindingModifier_property_on_haptic:
  93. .. rst-class:: classref-property
  94. :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **on_haptic** :ref:`🔗<class_OpenXRDpadBindingModifier_property_on_haptic>`
  95. .. rst-class:: classref-property-setget
  96. - |void| **set_on_haptic**\ (\ value\: :ref:`OpenXRHapticBase<class_OpenXRHapticBase>`\ )
  97. - :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **get_on_haptic**\ (\ )
  98. Haptic pulse to emit when the user presses the input.
  99. .. rst-class:: classref-item-separator
  100. ----
  101. .. _class_OpenXRDpadBindingModifier_property_threshold:
  102. .. rst-class:: classref-property
  103. :ref:`float<class_float>` **threshold** = ``0.6`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_threshold>`
  104. .. rst-class:: classref-property-setget
  105. - |void| **set_threshold**\ (\ value\: :ref:`float<class_float>`\ )
  106. - :ref:`float<class_float>` **get_threshold**\ (\ )
  107. When our input value is equal or larger than this value, our dpad in that direction becomes true. It stays true until it falls under the :ref:`threshold_released<class_OpenXRDpadBindingModifier_property_threshold_released>` value.
  108. .. rst-class:: classref-item-separator
  109. ----
  110. .. _class_OpenXRDpadBindingModifier_property_threshold_released:
  111. .. rst-class:: classref-property
  112. :ref:`float<class_float>` **threshold_released** = ``0.4`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_threshold_released>`
  113. .. rst-class:: classref-property-setget
  114. - |void| **set_threshold_released**\ (\ value\: :ref:`float<class_float>`\ )
  115. - :ref:`float<class_float>` **get_threshold_released**\ (\ )
  116. When our input value falls below this, our output becomes false.
  117. .. rst-class:: classref-item-separator
  118. ----
  119. .. _class_OpenXRDpadBindingModifier_property_wedge_angle:
  120. .. rst-class:: classref-property
  121. :ref:`float<class_float>` **wedge_angle** = ``1.5708`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_wedge_angle>`
  122. .. rst-class:: classref-property-setget
  123. - |void| **set_wedge_angle**\ (\ value\: :ref:`float<class_float>`\ )
  124. - :ref:`float<class_float>` **get_wedge_angle**\ (\ )
  125. The angle of each wedge that identifies the 4 directions of the emulated dpad.
  126. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  127. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  128. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  129. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  130. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  131. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  132. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  133. .. |void| replace:: :abbr:`void (No return value.)`