diff --git a/classes/class_audiostreamgenerator.rst b/classes/class_audiostreamgenerator.rst index eaa588a52..7dd0128d2 100644 --- a/classes/class_audiostreamgenerator.rst +++ b/classes/class_audiostreamgenerator.rst @@ -31,6 +31,7 @@ Here's a sample on how to use it to generate a sine wave: var playback # Will hold the AudioStreamGeneratorPlayback. @onready var sample_hz = $AudioStreamPlayer.stream.mix_rate var pulse_hz = 440.0 # The frequency of the sound wave. + var phase = 0.0 func _ready(): $AudioStreamPlayer.play() @@ -38,7 +39,6 @@ Here's a sample on how to use it to generate a sine wave: fill_buffer() func fill_buffer(): - var phase = 0.0 var increment = pulse_hz / sample_hz var frames_available = playback.get_frames_available() @@ -53,6 +53,7 @@ Here's a sample on how to use it to generate a sine wave: private AudioStreamGeneratorPlayback _playback; // Will hold the AudioStreamGeneratorPlayback. private float _sampleHz; private float _pulseHz = 440.0f; // The frequency of the sound wave. + private double phase = 0.0; public override void _Ready() { @@ -67,7 +68,6 @@ Here's a sample on how to use it to generate a sine wave: public void FillBuffer() { - double phase = 0.0; float increment = _pulseHz / _sampleHz; int framesAvailable = _playback.GetFramesAvailable(); diff --git a/classes/class_audiostreamsynchronized.rst b/classes/class_audiostreamsynchronized.rst index 914abe5cb..6b6a9cd5c 100644 --- a/classes/class_audiostreamsynchronized.rst +++ b/classes/class_audiostreamsynchronized.rst @@ -19,7 +19,7 @@ Stream that can be fitted with sub-streams, which will be played in-sync. Description ----------- -This is a stream that can be fitted with sub-streams, which will be played in-sync. The streams being at exactly the same time when play is pressed, and will end when the last of them ends. If one of the sub-streams loops, then playback will continue. +This is a stream that can be fitted with sub-streams, which will be played in-sync. The streams begin at exactly the same time when play is pressed, and will end when the last of them ends. If one of the sub-streams loops, then playback will continue. .. rst-class:: classref-reftable-group diff --git a/classes/class_colorpicker.rst b/classes/class_colorpicker.rst index 5e53d4e4b..632d9e11c 100644 --- a/classes/class_colorpicker.rst +++ b/classes/class_colorpicker.rst @@ -121,6 +121,8 @@ Theme Properties +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`picker_cursor` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ + | :ref:`Texture2D` | :ref:`picker_cursor_bg` | | + +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`sample_bg` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`sample_revert` | | @@ -726,6 +728,18 @@ The image displayed over the color box/circle (depending on the :ref:`picker_sha ---- +.. _class_ColorPicker_theme_icon_picker_cursor_bg: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **picker_cursor_bg** :ref:`🔗` + +The fill image displayed behind the picker cursor. + +.. rst-class:: classref-item-separator + +---- + .. _class_ColorPicker_theme_icon_sample_bg: .. rst-class:: classref-themeproperty diff --git a/classes/class_cpuparticles2d.rst b/classes/class_cpuparticles2d.rst index 32dfad4ec..2f61c3100 100644 --- a/classes/class_cpuparticles2d.rst +++ b/classes/class_cpuparticles2d.rst @@ -155,6 +155,8 @@ Properties +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ | :ref:`Curve` | :ref:`scale_curve_y` | | +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ + | :ref:`int` | :ref:`seed` | ``0`` | + +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ | :ref:`float` | :ref:`speed_scale` | ``1.0`` | +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`split_scale` | ``false`` | @@ -169,6 +171,8 @@ Properties +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ | :ref:`Texture2D` | :ref:`texture` | | +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ + | :ref:`bool` | :ref:`use_fixed_seed` | ``false`` | + +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+ .. rst-class:: classref-reftable-group @@ -189,7 +193,9 @@ Methods +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_particle_flag`\ (\ particle_flag\: :ref:`ParticleFlags`\ ) |const| | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`restart`\ (\ ) | + | |void| | :ref:`request_particles_process`\ (\ process_time\: :ref:`float`\ ) | + +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`restart`\ (\ keep_seed\: :ref:`bool` = false\ ) | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_param_curve`\ (\ param\: :ref:`Parameter`, curve\: :ref:`Curve`\ ) | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -1477,6 +1483,23 @@ Each particle's vertical scale will vary along this :ref:`Curve`. S ---- +.. _class_CPUParticles2D_property_seed: + +.. rst-class:: classref-property + +:ref:`int` **seed** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_seed**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_seed**\ (\ ) + +Sets the random seed used by the particle system. Only effective if :ref:`use_fixed_seed` is ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_CPUParticles2D_property_speed_scale: .. rst-class:: classref-property @@ -1592,6 +1615,23 @@ Minimum equivalent of :ref:`tangential_accel_max` **use_fixed_seed** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_use_fixed_seed**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_use_fixed_seed**\ (\ ) + +If ``true``, particles will use the same seed for every simulation using the seed defined in :ref:`seed`. This is useful for situations where the visual outcome should be consistent across replays, for example when using Movie Maker mode. + .. rst-class:: classref-section-separator ---- @@ -1661,14 +1701,30 @@ Returns the enabled state of the given particle flag (see :ref:`ParticleFlags`\ ) :ref:`🔗` + +Requests the particles to process for extra process time during a single frame. + +Useful for particle playback, if used in combination with :ref:`use_fixed_seed` or by calling :ref:`restart` with parameter ``keep_seed`` set to ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_CPUParticles2D_method_restart: .. rst-class:: classref-method -|void| **restart**\ (\ ) :ref:`🔗` +|void| **restart**\ (\ keep_seed\: :ref:`bool` = false\ ) :ref:`🔗` Restarts the particle emitter. +If ``keep_seed`` is ``true``, the current random seed will be preserved. Useful for seeking and playback. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_cpuparticles3d.rst b/classes/class_cpuparticles3d.rst index cd6cb798a..a7d9c355a 100644 --- a/classes/class_cpuparticles3d.rst +++ b/classes/class_cpuparticles3d.rst @@ -175,6 +175,8 @@ Properties +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ | :ref:`Curve` | :ref:`scale_curve_z` | | +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`int` | :ref:`seed` | ``0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ | :ref:`float` | :ref:`speed_scale` | ``1.0`` | +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ | :ref:`bool` | :ref:`split_scale` | ``false`` | @@ -187,6 +189,8 @@ Properties +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ | :ref:`float` | :ref:`tangential_accel_min` | ``0.0`` | +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`bool` | :ref:`use_fixed_seed` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ | :ref:`AABB` | :ref:`visibility_aabb` | ``AABB(0, 0, 0, 0, 0, 0)`` | +---------------------------------------------------------+---------------------------------------------------------------------------------------------+----------------------------+ @@ -211,7 +215,9 @@ Methods +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_particle_flag`\ (\ particle_flag\: :ref:`ParticleFlags`\ ) |const| | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`restart`\ (\ ) | + | |void| | :ref:`request_particles_process`\ (\ process_time\: :ref:`float`\ ) | + +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`restart`\ (\ keep_seed\: :ref:`bool` = false\ ) | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_param_curve`\ (\ param\: :ref:`Parameter`, curve\: :ref:`Curve`\ ) | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -1689,6 +1695,23 @@ Curve for the scale over life, along the z axis. ---- +.. _class_CPUParticles3D_property_seed: + +.. rst-class:: classref-property + +:ref:`int` **seed** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_seed**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_seed**\ (\ ) + +Sets the random seed used by the particle system. Only effective if :ref:`use_fixed_seed` is ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_CPUParticles3D_property_speed_scale: .. rst-class:: classref-property @@ -1791,6 +1814,23 @@ Minimum tangent acceleration. ---- +.. _class_CPUParticles3D_property_use_fixed_seed: + +.. rst-class:: classref-property + +:ref:`bool` **use_fixed_seed** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_use_fixed_seed**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_use_fixed_seed**\ (\ ) + +If ``true``, particles will use the same seed for every simulation using the seed defined in :ref:`seed`. This is useful for situations where the visual outcome should be consistent across replays, for example when using Movie Maker mode. + +.. rst-class:: classref-item-separator + +---- + .. _class_CPUParticles3D_property_visibility_aabb: .. rst-class:: classref-property @@ -1887,14 +1927,30 @@ Returns the enabled state of the given particle flag (see :ref:`ParticleFlags`\ ) :ref:`🔗` + +Requests the particles to process for extra process time during a single frame. + +Useful for particle playback, if used in combination with :ref:`use_fixed_seed` or by calling :ref:`restart` with parameter ``keep_seed`` set to ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_CPUParticles3D_method_restart: .. rst-class:: classref-method -|void| **restart**\ (\ ) :ref:`🔗` +|void| **restart**\ (\ keep_seed\: :ref:`bool` = false\ ) :ref:`🔗` Restarts the particle emitter. +If ``keep_seed`` is ``true``, the current random seed will be preserved. Useful for seeking and playback. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 0b10e0574..f8f55eccf 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -644,7 +644,7 @@ The display server supports all features of :ref:`FEATURE_NATIVE_DIALOG_FILE` **FEATURE_WINDOW_DRAG** = ``27`` -The display server supports initiating window drag operation on demand. See :ref:`window_start_drag`. +The display server supports initiating window drag and resize operations on demand. See :ref:`window_start_drag` and :ref:`window_start_resize`. .. _class_DisplayServer_constant_FEATURE_SCREEN_EXCLUDE_FROM_CAPTURE: @@ -1884,7 +1884,7 @@ Shows a text input dialog which uses the operating system's native look-and-feel Shows a text dialog which uses the operating system's native look-and-feel. ``callback`` should accept a single :ref:`int` parameter which corresponds to the index of the pressed button. -\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. Supported platforms include macOS and Windows. +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. Supported platforms include macOS, Windows, and Android. .. rst-class:: classref-item-separator @@ -2032,6 +2032,8 @@ Returns an :ref:`Array` of :ref:`Rect2`, each of which Returns the unobscured area of the display where interactive controls should be rendered. See also :ref:`get_display_cutouts`. +\ **Note:** Currently only implemented on Android and iOS. On other platforms, ``screen_get_usable_rect(SCREEN_OF_MAIN_WINDOW)`` will be returned as a fallback. See also :ref:`screen_get_usable_rect`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_editorsceneformatimporter.rst b/classes/class_editorsceneformatimporter.rst index 552e8ea7d..286da8639 100644 --- a/classes/class_editorsceneformatimporter.rst +++ b/classes/class_editorsceneformatimporter.rst @@ -33,17 +33,19 @@ Methods .. table:: :widths: auto - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`_get_extensions`\ (\ ) |virtual| |const| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`_get_import_flags`\ (\ ) |virtual| |const| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`_get_import_options`\ (\ path\: :ref:`String`\ ) |virtual| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`_get_option_visibility`\ (\ path\: :ref:`String`, for_animation\: :ref:`bool`, option\: :ref:`String`\ ) |virtual| |const| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Object` | :ref:`_import_scene`\ (\ path\: :ref:`String`, flags\: :ref:`int`, options\: :ref:`Dictionary`\ ) |virtual| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_extensions`\ (\ ) |virtual| |const| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_get_import_options`\ (\ path\: :ref:`String`\ ) |virtual| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`_get_option_visibility`\ (\ path\: :ref:`String`, for_animation\: :ref:`bool`, option\: :ref:`String`\ ) |virtual| |const| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Object` | :ref:`_import_scene`\ (\ path\: :ref:`String`, flags\: :ref:`int`, options\: :ref:`Dictionary`\ ) |virtual| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_import_option`\ (\ name\: :ref:`String`, value\: :ref:`Variant`\ ) | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_import_option_advanced`\ (\ type\: :ref:`Variant.Type`, name\: :ref:`String`, default_value\: :ref:`Variant`, hint\: :ref:`PropertyHint` = 0, hint_string\: :ref:`String` = "", usage_flags\: :ref:`int` = 6\ ) | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -153,23 +155,7 @@ Method Descriptions :ref:`PackedStringArray` **_get_extensions**\ (\ ) |virtual| |const| :ref:`🔗` -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! - -.. rst-class:: classref-item-separator - ----- - -.. _class_EditorSceneFormatImporter_private_method__get_import_flags: - -.. rst-class:: classref-method - -:ref:`int` **_get_import_flags**\ (\ ) |virtual| |const| :ref:`🔗` - -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Return supported file extensions for this scene importer. .. rst-class:: classref-item-separator @@ -181,9 +167,11 @@ Method Descriptions |void| **_get_import_options**\ (\ path\: :ref:`String`\ ) |virtual| :ref:`🔗` -.. container:: contribute +Override to add general import options. These will appear in the main import dock on the editor. Add options via :ref:`add_import_option` and :ref:`add_import_option_advanced`. - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** All **EditorSceneFormatImporter** and :ref:`EditorScenePostImportPlugin` instances will add options for all files. It is good practice to check the file extension when ``path`` is non-empty. + +When the user is editing project settings, ``path`` will be empty. It is recommended to add all options when ``path`` is empty to allow the user to customize Import Defaults. .. rst-class:: classref-item-separator @@ -195,9 +183,7 @@ Method Descriptions :ref:`Variant` **_get_option_visibility**\ (\ path\: :ref:`String`, for_animation\: :ref:`bool`, option\: :ref:`String`\ ) |virtual| |const| :ref:`🔗` -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Should return ``true`` to show the given option, ``false`` to hide the given option, or ``null`` to ignore. .. rst-class:: classref-item-separator @@ -209,9 +195,31 @@ Method Descriptions :ref:`Object` **_import_scene**\ (\ path\: :ref:`String`, flags\: :ref:`int`, options\: :ref:`Dictionary`\ ) |virtual| :ref:`🔗` -.. container:: contribute +Perform the bulk of the scene import logic here, for example using :ref:`GLTFDocument` or :ref:`FBXDocument`. - There is currently no description for this method. Please help us by :ref:`contributing one `! +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSceneFormatImporter_method_add_import_option: + +.. rst-class:: classref-method + +|void| **add_import_option**\ (\ name\: :ref:`String`, value\: :ref:`Variant`\ ) :ref:`🔗` + +Add a specific import option (name and default value only). This function can only be called from :ref:`_get_import_options`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSceneFormatImporter_method_add_import_option_advanced: + +.. rst-class:: classref-method + +|void| **add_import_option_advanced**\ (\ type\: :ref:`Variant.Type`, name\: :ref:`String`, default_value\: :ref:`Variant`, hint\: :ref:`PropertyHint` = 0, hint_string\: :ref:`String` = "", usage_flags\: :ref:`int` = 6\ ) :ref:`🔗` + +Add a specific import option. This function can only be called from :ref:`_get_import_options`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index e113c9849..2178512fa 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -245,6 +245,12 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/skeleton` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/spring_bone_collision` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/spring_bone_inside_collision` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/spring_bone_joint` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/stream_player_3d` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/visibility_notifier` | @@ -2099,6 +2105,42 @@ The 3D editor gizmo color used for :ref:`Skeleton3D` nodes. ---- +.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/spring_bone_collision: + +.. rst-class:: classref-property + +:ref:`Color` **editors/3d_gizmos/gizmo_colors/spring_bone_collision** :ref:`🔗` + +The 3D editor gizmo color used for :ref:`SpringBoneCollision3D` nodes. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/spring_bone_inside_collision: + +.. rst-class:: classref-property + +:ref:`Color` **editors/3d_gizmos/gizmo_colors/spring_bone_inside_collision** :ref:`🔗` + +The 3D editor gizmo color used for :ref:`SpringBoneCollision3D` nodes with inside mode. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/spring_bone_joint: + +.. rst-class:: classref-property + +:ref:`Color` **editors/3d_gizmos/gizmo_colors/spring_bone_joint** :ref:`🔗` + +The 3D editor gizmo color used for :ref:`SpringBoneSimulator3D` nodes. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/stream_player_3d: .. rst-class:: classref-property diff --git a/classes/class_gpuparticles2d.rst b/classes/class_gpuparticles2d.rst index 6f4f6c818..309a269a6 100644 --- a/classes/class_gpuparticles2d.rst +++ b/classes/class_gpuparticles2d.rst @@ -77,6 +77,8 @@ Properties +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ | :ref:`float` | :ref:`randomness` | ``0.0`` | +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ + | :ref:`int` | :ref:`seed` | ``0`` | + +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ | :ref:`float` | :ref:`speed_scale` | ``1.0`` | +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ | :ref:`NodePath` | :ref:`sub_emitter` | ``NodePath("")`` | @@ -91,6 +93,8 @@ Properties +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ | :ref:`int` | :ref:`trail_sections` | ``8`` | +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ + | :ref:`bool` | :ref:`use_fixed_seed` | ``false`` | + +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ | :ref:`Rect2` | :ref:`visibility_rect` | ``Rect2(-100, -100, 200, 200)`` | +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+ @@ -109,7 +113,9 @@ Methods +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`emit_particle`\ (\ xform\: :ref:`Transform2D`, velocity\: :ref:`Vector2`, color\: :ref:`Color`, custom\: :ref:`Color`, flags\: :ref:`int`\ ) | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`restart`\ (\ ) | + | |void| | :ref:`request_particles_process`\ (\ process_time\: :ref:`float`\ ) | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`restart`\ (\ keep_seed\: :ref:`bool` = false\ ) | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -517,6 +523,23 @@ Emission lifetime randomness ratio. ---- +.. _class_GPUParticles2D_property_seed: + +.. rst-class:: classref-property + +:ref:`int` **seed** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_seed**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_seed**\ (\ ) + +Sets the random seed used by the particle system. Only effective if :ref:`use_fixed_seed` is ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_GPUParticles2D_property_speed_scale: .. rst-class:: classref-property @@ -642,6 +665,23 @@ The number of sections to use for the particle trail rendering. Higher values ca ---- +.. _class_GPUParticles2D_property_use_fixed_seed: + +.. rst-class:: classref-property + +:ref:`bool` **use_fixed_seed** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_use_fixed_seed**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_use_fixed_seed**\ (\ ) + +If ``true``, particles will use the same seed for every simulation using the seed defined in :ref:`seed`. This is useful for situations where the visual outcome should be consistent across replays, for example when using Movie Maker mode. + +.. rst-class:: classref-item-separator + +---- + .. _class_GPUParticles2D_property_visibility_rect: .. rst-class:: classref-property @@ -708,16 +748,32 @@ The default ParticleProcessMaterial will overwrite ``color`` and use the content ---- +.. _class_GPUParticles2D_method_request_particles_process: + +.. rst-class:: classref-method + +|void| **request_particles_process**\ (\ process_time\: :ref:`float`\ ) :ref:`🔗` + +Requests the particles to process for extra process time during a single frame. + +Useful for particle playback, if used in combination with :ref:`use_fixed_seed` or by calling :ref:`restart` with parameter ``keep_seed`` set to ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_GPUParticles2D_method_restart: .. rst-class:: classref-method -|void| **restart**\ (\ ) :ref:`🔗` +|void| **restart**\ (\ keep_seed\: :ref:`bool` = false\ ) :ref:`🔗` Restarts the particle emission cycle, clearing existing particles. To avoid particles vanishing from the viewport, wait for the :ref:`finished` signal before calling. \ **Note:** The :ref:`finished` signal is only emitted by :ref:`one_shot` emitters. +If ``keep_seed`` is ``true``, the current random seed will be preserved. Useful for seeking and playback. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_gpuparticles3d.rst b/classes/class_gpuparticles3d.rst index 29502828b..3432198ac 100644 --- a/classes/class_gpuparticles3d.rst +++ b/classes/class_gpuparticles3d.rst @@ -87,6 +87,8 @@ Properties +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`randomness` | ``0.0`` | +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ + | :ref:`int` | :ref:`seed` | ``0`` | + +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`speed_scale` | ``1.0`` | +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ | :ref:`NodePath` | :ref:`sub_emitter` | ``NodePath("")`` | @@ -97,6 +99,8 @@ Properties +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ | :ref:`TransformAlign` | :ref:`transform_align` | ``0`` | +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`use_fixed_seed` | ``false`` | + +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ | :ref:`AABB` | :ref:`visibility_aabb` | ``AABB(-4, -4, -4, 8, 8, 8)`` | +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+ @@ -117,7 +121,9 @@ Methods +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Mesh` | :ref:`get_draw_pass_mesh`\ (\ pass\: :ref:`int`\ ) |const| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`restart`\ (\ ) | + | |void| | :ref:`request_particles_process`\ (\ process_time\: :ref:`float`\ ) | + +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`restart`\ (\ keep_seed\: :ref:`bool` = false\ ) | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_draw_pass_mesh`\ (\ pass\: :ref:`int`, mesh\: :ref:`Mesh`\ ) | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -716,6 +722,23 @@ Emission randomness ratio. ---- +.. _class_GPUParticles3D_property_seed: + +.. rst-class:: classref-property + +:ref:`int` **seed** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_seed**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_seed**\ (\ ) + +Sets the random seed used by the particle system. Only effective if :ref:`use_fixed_seed` is ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_GPUParticles3D_property_speed_scale: .. rst-class:: classref-property @@ -809,6 +832,23 @@ The amount of time the particle's trail should represent (in seconds). Only effe ---- +.. _class_GPUParticles3D_property_use_fixed_seed: + +.. rst-class:: classref-property + +:ref:`bool` **use_fixed_seed** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_use_fixed_seed**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_use_fixed_seed**\ (\ ) + +If ``true``, particles will use the same seed for every simulation using the seed defined in :ref:`seed`. This is useful for situations where the visual outcome should be consistent across replays, for example when using Movie Maker mode. + +.. rst-class:: classref-item-separator + +---- + .. _class_GPUParticles3D_property_visibility_aabb: .. rst-class:: classref-property @@ -887,16 +927,32 @@ Returns the :ref:`Mesh` that is drawn at index ``pass``. ---- +.. _class_GPUParticles3D_method_request_particles_process: + +.. rst-class:: classref-method + +|void| **request_particles_process**\ (\ process_time\: :ref:`float`\ ) :ref:`🔗` + +Requests the particles to process for extra process time during a single frame. + +Useful for particle playback, if used in combination with :ref:`use_fixed_seed` or by calling :ref:`restart` with parameter ``keep_seed`` set to ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_GPUParticles3D_method_restart: .. rst-class:: classref-method -|void| **restart**\ (\ ) :ref:`🔗` +|void| **restart**\ (\ keep_seed\: :ref:`bool` = false\ ) :ref:`🔗` Restarts the particle emission cycle, clearing existing particles. To avoid particles vanishing from the viewport, wait for the :ref:`finished` signal before calling. \ **Note:** The :ref:`finished` signal is only emitted by :ref:`one_shot` emitters. +If ``keep_seed`` is ``true``, the current random seed will be preserved. Useful for seeking and playback. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_input.rst b/classes/class_input.rst index 7e6b4cdaf..06da22d96 100644 --- a/classes/class_input.rst +++ b/classes/class_input.rst @@ -973,7 +973,9 @@ Feeds an :ref:`InputEvent` to the game. Can be used to artific |void| **remove_joy_mapping**\ (\ guid\: :ref:`String`\ ) :ref:`🔗` -Removes all mappings from the internal database that match the given GUID. +Removes all mappings from the internal database that match the given GUID. All currently connected joypads that use this GUID will become unmapped. + +On Android, Godot will map to an internal fallback mapping. .. rst-class:: classref-item-separator diff --git a/classes/class_inputeventwithmodifiers.rst b/classes/class_inputeventwithmodifiers.rst index 51bad3bd4..b62f29e7e 100644 --- a/classes/class_inputeventwithmodifiers.rst +++ b/classes/class_inputeventwithmodifiers.rst @@ -23,6 +23,8 @@ Description Stores information about mouse, keyboard, and touch gesture input events. This includes information about which modifier keys are pressed, such as :kbd:`Shift` or :kbd:`Alt`. See :ref:`Node._input`. +\ **Note:** Modifier keys are considered modifiers only when used in combination with another key. As a result, their corresponding member variables, such as :ref:`ctrl_pressed`, will return ``false`` if the key is pressed on its own. + .. rst-class:: classref-introduction-group Tutorials diff --git a/classes/class_navigationregion2d.rst b/classes/class_navigationregion2d.rst index 59fe054d2..69dc6a206 100644 --- a/classes/class_navigationregion2d.rst +++ b/classes/class_navigationregion2d.rst @@ -72,23 +72,25 @@ Methods .. table:: :widths: auto - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`bake_navigation_polygon`\ (\ on_thread\: :ref:`bool` = true\ ) | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_navigation_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`get_navigation_map`\ (\ ) |const| | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`get_region_rid`\ (\ ) |const| | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_baking`\ (\ ) |const| | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_navigation_layer_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_navigation_map`\ (\ navigation_map\: :ref:`RID`\ ) | - +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`bake_navigation_polygon`\ (\ on_thread\: :ref:`bool` = true\ ) | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2` | :ref:`get_bounds`\ (\ ) |const| | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_navigation_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_navigation_map`\ (\ ) |const| | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_region_rid`\ (\ ) |const| | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_baking`\ (\ ) |const| | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_navigation_layer_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_navigation_map`\ (\ navigation_map\: :ref:`RID`\ ) | + +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -247,6 +249,18 @@ Bakes the :ref:`NavigationPolygon`. If ``on_thread`` is ---- +.. _class_NavigationRegion2D_method_get_bounds: + +.. rst-class:: classref-method + +:ref:`Rect2` **get_bounds**\ (\ ) |const| :ref:`🔗` + +Returns the axis-aligned rectangle for the region's transformed navigation mesh. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationRegion2D_method_get_navigation_layer_value: .. rst-class:: classref-method diff --git a/classes/class_navigationregion3d.rst b/classes/class_navigationregion3d.rst index 15f9a586c..970f1452f 100644 --- a/classes/class_navigationregion3d.rst +++ b/classes/class_navigationregion3d.rst @@ -75,6 +75,8 @@ Methods +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`bake_navigation_mesh`\ (\ on_thread\: :ref:`bool` = true\ ) | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AABB` | :ref:`get_bounds`\ (\ ) |const| | + +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_navigation_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_navigation_map`\ (\ ) |const| | @@ -247,6 +249,18 @@ Bakes the :ref:`NavigationMesh`. If ``on_thread`` is set t ---- +.. _class_NavigationRegion3D_method_get_bounds: + +.. rst-class:: classref-method + +:ref:`AABB` **get_bounds**\ (\ ) |const| :ref:`🔗` + +Returns the axis-aligned bounding box for the region's transformed navigation mesh. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationRegion3D_method_get_navigation_layer_value: .. rst-class:: classref-method diff --git a/classes/class_navigationserver2d.rst b/classes/class_navigationserver2d.rst index d0e10a4fd..9a3df4aa2 100644 --- a/classes/class_navigationserver2d.rst +++ b/classes/class_navigationserver2d.rst @@ -257,6 +257,8 @@ Methods +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`region_create`\ (\ ) | +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2` | :ref:`region_get_bounds`\ (\ region\: :ref:`RID`\ ) |const| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`region_get_closest_point`\ (\ region\: :ref:`RID`, to_point\: :ref:`Vector2`\ ) |const| | +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`region_get_connection_pathway_end`\ (\ region\: :ref:`RID`, connection\: :ref:`int`\ ) |const| | @@ -1582,6 +1584,18 @@ Creates a new region. ---- +.. _class_NavigationServer2D_method_region_get_bounds: + +.. rst-class:: classref-method + +:ref:`Rect2` **region_get_bounds**\ (\ region\: :ref:`RID`\ ) |const| :ref:`🔗` + +Returns the axis-aligned rectangle for the ``region``'s transformed navigation mesh. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationServer2D_method_region_get_closest_point: .. rst-class:: classref-method diff --git a/classes/class_navigationserver3d.rst b/classes/class_navigationserver3d.rst index 17ee28dd2..283aae15b 100644 --- a/classes/class_navigationserver3d.rst +++ b/classes/class_navigationserver3d.rst @@ -293,6 +293,8 @@ Methods +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`region_create`\ (\ ) | +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AABB` | :ref:`region_get_bounds`\ (\ region\: :ref:`RID`\ ) |const| | + +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`region_get_closest_point`\ (\ region\: :ref:`RID`, to_point\: :ref:`Vector3`\ ) |const| | +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`region_get_closest_point_normal`\ (\ region\: :ref:`RID`, to_point\: :ref:`Vector3`\ ) |const| | @@ -1955,6 +1957,18 @@ Creates a new region. ---- +.. _class_NavigationServer3D_method_region_get_bounds: + +.. rst-class:: classref-method + +:ref:`AABB` **region_get_bounds**\ (\ region\: :ref:`RID`\ ) |const| :ref:`🔗` + +Returns the axis-aligned bounding box for the ``region``'s transformed navigation mesh. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationServer3D_method_region_get_closest_point: .. rst-class:: classref-method diff --git a/classes/class_node3d.rst b/classes/class_node3d.rst index dfa491a34..88afd4d58 100644 --- a/classes/class_node3d.rst +++ b/classes/class_node3d.rst @@ -12,7 +12,7 @@ Node3D **Inherits:** :ref:`Node` **<** :ref:`Object` -**Inherited By:** :ref:`AudioListener3D`, :ref:`AudioStreamPlayer3D`, :ref:`BoneAttachment3D`, :ref:`Camera3D`, :ref:`CollisionObject3D`, :ref:`CollisionPolygon3D`, :ref:`CollisionShape3D`, :ref:`GridMap`, :ref:`ImporterMeshInstance3D`, :ref:`Joint3D`, :ref:`LightmapProbe`, :ref:`Marker3D`, :ref:`NavigationLink3D`, :ref:`NavigationObstacle3D`, :ref:`NavigationRegion3D`, :ref:`OpenXRCompositionLayer`, :ref:`OpenXRHand`, :ref:`Path3D`, :ref:`PathFollow3D`, :ref:`RayCast3D`, :ref:`RemoteTransform3D`, :ref:`ShapeCast3D`, :ref:`Skeleton3D`, :ref:`SkeletonModifier3D`, :ref:`SpringArm3D`, :ref:`VehicleWheel3D`, :ref:`VisualInstance3D`, :ref:`XRFaceModifier3D`, :ref:`XRNode3D`, :ref:`XROrigin3D` +**Inherited By:** :ref:`AudioListener3D`, :ref:`AudioStreamPlayer3D`, :ref:`BoneAttachment3D`, :ref:`Camera3D`, :ref:`CollisionObject3D`, :ref:`CollisionPolygon3D`, :ref:`CollisionShape3D`, :ref:`GridMap`, :ref:`ImporterMeshInstance3D`, :ref:`Joint3D`, :ref:`LightmapProbe`, :ref:`Marker3D`, :ref:`NavigationLink3D`, :ref:`NavigationObstacle3D`, :ref:`NavigationRegion3D`, :ref:`OpenXRCompositionLayer`, :ref:`OpenXRHand`, :ref:`Path3D`, :ref:`PathFollow3D`, :ref:`RayCast3D`, :ref:`RemoteTransform3D`, :ref:`ShapeCast3D`, :ref:`Skeleton3D`, :ref:`SkeletonModifier3D`, :ref:`SpringArm3D`, :ref:`SpringBoneCollision3D`, :ref:`VehicleWheel3D`, :ref:`VisualInstance3D`, :ref:`XRFaceModifier3D`, :ref:`XRNode3D`, :ref:`XROrigin3D` Most basic 3D game object, parent of all 3D-related nodes. diff --git a/classes/class_openxrapiextension.rst b/classes/class_openxrapiextension.rst index ead58327b..1263df7c0 100644 --- a/classes/class_openxrapiextension.rst +++ b/classes/class_openxrapiextension.rst @@ -50,6 +50,8 @@ Methods .. table:: :widths: auto + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`action_get_handle`\ (\ action\: :ref:`RID`\ ) | +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`begin_debug_label_region`\ (\ label_name\: :ref:`String`\ ) | +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -57,6 +59,8 @@ Methods +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`end_debug_label_region`\ (\ ) | +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`find_action`\ (\ name\: :ref:`String`, action_set\: :ref:`RID`\ ) | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_error_string`\ (\ result\: :ref:`int`\ ) | +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_hand_tracker`\ (\ hand_index\: :ref:`int`\ ) | @@ -180,6 +184,18 @@ Means that :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND` **action_get_handle**\ (\ action\: :ref:`RID`\ ) :ref:`🔗` + +Returns the corresponding ``XrAction`` OpenXR handle for the given action RID. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_begin_debug_label_region: .. rst-class:: classref-method @@ -216,6 +232,18 @@ Marks the end of a debug label region. Removes the latest debug label region add ---- +.. _class_OpenXRAPIExtension_method_find_action: + +.. rst-class:: classref-method + +:ref:`RID` **find_action**\ (\ name\: :ref:`String`, action_set\: :ref:`RID`\ ) :ref:`🔗` + +Returns the :ref:`RID` corresponding to an ``Action`` of a matching name, optionally limited to a specified action set. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_get_error_string: .. rst-class:: classref-method diff --git a/classes/class_particleprocessmaterial.rst b/classes/class_particleprocessmaterial.rst index 2f2d9535d..6cda7a2b5 100644 --- a/classes/class_particleprocessmaterial.rst +++ b/classes/class_particleprocessmaterial.rst @@ -184,6 +184,8 @@ Properties +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`int` | :ref:`sub_emitter_amount_at_end` | | +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int` | :ref:`sub_emitter_amount_at_start` | | + +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`float` | :ref:`sub_emitter_frequency` | | +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`bool` | :ref:`sub_emitter_keep_velocity` | ``false`` | @@ -268,6 +270,8 @@ Signals Emitted when this material's emission shape is changed in any way. This includes changes to :ref:`emission_shape`, :ref:`emission_shape_scale`, or :ref:`emission_sphere_radius`, and any other property that affects the emission shape's offset, size, scale, or orientation. +\ **Note:** This signal is only emitted inside the editor for performance reasons. + .. rst-class:: classref-section-separator ---- @@ -621,11 +625,23 @@ enum **SubEmitterMode**: :ref:`🔗 +.. _class_ParticleProcessMaterial_constant_SUB_EMITTER_AT_START: + +.. rst-class:: classref-enumeration-constant + +:ref:`SubEmitterMode` **SUB_EMITTER_AT_START** = ``4`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + .. _class_ParticleProcessMaterial_constant_SUB_EMITTER_MAX: .. rst-class:: classref-enumeration-constant -:ref:`SubEmitterMode` **SUB_EMITTER_MAX** = ``4`` +:ref:`SubEmitterMode` **SUB_EMITTER_MAX** = ``5`` Represents the size of the :ref:`SubEmitterMode` enum. @@ -2043,6 +2059,25 @@ The amount of particles to spawn from the subemitter node when the particle expi ---- +.. _class_ParticleProcessMaterial_property_sub_emitter_amount_at_start: + +.. rst-class:: classref-property + +:ref:`int` **sub_emitter_amount_at_start** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_sub_emitter_amount_at_start**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_sub_emitter_amount_at_start**\ (\ ) + +The amount of particles to spawn from the subemitter node when the particle spawns. + +\ **Note:** This value shouldn't exceed :ref:`GPUParticles2D.amount` or :ref:`GPUParticles3D.amount` defined on the *subemitter node* (not the main node), relative to the subemitter's particle lifetime. If the number of particles is exceeded, no new particles will spawn from the subemitter until enough particles have expired. + +.. rst-class:: classref-item-separator + +---- + .. _class_ParticleProcessMaterial_property_sub_emitter_frequency: .. rst-class:: classref-property diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index 5540ce251..4cd9cc09f 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -9418,9 +9418,13 @@ During each physics tick, Godot will multiply the linear velocity of RigidBodies Sets which physics engine to use for 2D physics. -"DEFAULT" and "GodotPhysics2D" are the same, as there is currently no alternative 2D physics server implemented. +\ **DEFAULT** is currently equivalent to **GodotPhysics2D**, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine. -"Dummy" is a 2D physics server that does nothing and returns only dummy values, effectively disabling all 2D physics functionality. +\ **GodotPhysics2D** is Godot's internal 2D physics engine. + +\ **Dummy** is a 2D physics server that does nothing and returns only dummy values, effectively disabling all 2D physics functionality. + +Third-party extensions and modules can add other physics engines to select with this setting. .. rst-class:: classref-item-separator @@ -9656,9 +9660,15 @@ During each physics tick, Godot will multiply the linear velocity of RigidBodies Sets which physics engine to use for 3D physics. -"DEFAULT" and "GodotPhysics3D" are the same, as there is currently no alternative 3D physics server implemented. +\ **DEFAULT** is currently equivalent to **GodotPhysics3D**, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine. -"Dummy" is a 3D physics server that does nothing and returns only dummy values, effectively disabling all 3D physics functionality. +\ **GodotPhysics3D** is Godot's internal 3D physics engine. + +\ **Jolt Physics** is an alternative physics engine that is generally faster and more reliable than **GodotPhysics3D**. As it was recently implemented, it is currently considered experimental and its behavior may change in future releases. + +\ **Dummy** is a 3D physics server that does nothing and returns only dummy values, effectively disabling all 3D physics functionality. + +Third-party extensions and modules can add other physics engines to select with this setting. .. rst-class:: classref-item-separator @@ -13110,6 +13120,8 @@ Loads the contents of the .pck or .zip file specified by ``pack`` into the resou \ **Note:** The optional ``offset`` parameter can be used to specify the offset in bytes to the start of the resource pack. This is only supported for .pck files. +\ **Note:** :ref:`DirAccess` will not show changes made to the contents of ``res://`` after calling this function. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_raycast3d.rst b/classes/class_raycast3d.rst index 4ce605303..580afc58d 100644 --- a/classes/class_raycast3d.rst +++ b/classes/class_raycast3d.rst @@ -12,14 +12,14 @@ RayCast3D **Inherits:** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` -A ray in 3D space, used to find the first :ref:`CollisionObject3D` it intersects. +A ray in 3D space, used to find the first object it intersects. .. rst-class:: classref-introduction-group Description ----------- -A raycast represents a ray from its origin to its :ref:`target_position` that finds the closest :ref:`CollisionObject3D` along its path, if it intersects any. +A raycast represents a ray from its origin to its :ref:`target_position` that finds the closest object along its path, if it intersects any. \ **RayCast3D** can ignore some objects by adding them to an exception list, by making its detection reporting ignore :ref:`Area3D`\ s (:ref:`collide_with_areas`) or :ref:`PhysicsBody3D`\ s (:ref:`collide_with_bodies`), or by configuring physics layers. @@ -350,6 +350,8 @@ Updates the collision information for the ray immediately, without waiting for t Returns the first object that the ray intersects, or ``null`` if no object is intersecting the ray (i.e. :ref:`is_colliding` returns ``false``). +\ **Note:** This object is not guaranteed to be a :ref:`CollisionObject3D`. For example, if the ray intersects a :ref:`CSGShape3D` or a :ref:`GridMap`, the method will return a :ref:`CSGShape3D` or :ref:`GridMap` instance. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_renderingdevice.rst b/classes/class_renderingdevice.rst index b8c3b0514..d35abcbf6 100644 --- a/classes/class_renderingdevice.rst +++ b/classes/class_renderingdevice.rst @@ -55,6 +55,8 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`buffer_get_data_async`\ (\ buffer\: :ref:`RID`, callback\: :ref:`Callable`, offset_bytes\: :ref:`int` = 0, size_bytes\: :ref:`int` = 0\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`buffer_get_device_address`\ (\ buffer\: :ref:`RID`\ ) | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`buffer_update`\ (\ buffer\: :ref:`RID`, offset\: :ref:`int`, size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`capture_timestamp`\ (\ name\: :ref:`String`\ ) | @@ -187,9 +189,11 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_tracked_object_type_count`\ (\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_feature`\ (\ feature\: :ref:`Features`\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`index_array_create`\ (\ index_buffer\: :ref:`RID`, index_offset\: :ref:`int`, index_count\: :ref:`int`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`index_buffer_create`\ (\ size_indices\: :ref:`int`, format\: :ref:`IndexBufferFormat`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_restart_indices\: :ref:`bool` = false\ ) | + | :ref:`RID` | :ref:`index_buffer_create`\ (\ size_indices\: :ref:`int`, format\: :ref:`IndexBufferFormat`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_restart_indices\: :ref:`bool` = false, enable_device_address\: :ref:`bool` = false\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`limit_get`\ (\ limit\: :ref:`Limit`\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -263,7 +267,7 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`texture_update`\ (\ texture\: :ref:`RID`, layer\: :ref:`int`, data\: :ref:`PackedByteArray`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`uniform_buffer_create`\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray()\ ) | + | :ref:`RID` | :ref:`uniform_buffer_create`\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray(), enable_device_address\: :ref:`bool` = false\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`uniform_set_create`\ (\ uniforms\: :ref:`Array`\[:ref:`RDUniform`\], shader\: :ref:`RID`, shader_set\: :ref:`int`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -271,7 +275,7 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`vertex_array_create`\ (\ vertex_count\: :ref:`int`, vertex_format\: :ref:`int`, src_buffers\: :ref:`Array`\[:ref:`RID`\], offsets\: :ref:`PackedInt64Array` = PackedInt64Array()\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`vertex_buffer_create`\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_as_storage\: :ref:`bool` = false\ ) | + | :ref:`RID` | :ref:`vertex_buffer_create`\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_as_storage\: :ref:`bool` = false, enable_device_address\: :ref:`bool` = false\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`vertex_format_create`\ (\ vertex_descriptions\: :ref:`Array`\[:ref:`RDVertexAttribute`\]\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -2999,6 +3003,14 @@ flags **StorageBufferUsage**: :ref:`🔗` **STORAGE_BUFFER_USAGE_DEVICE_ADDRESS** = ``2`` + +Allows usage of :ref:`buffer_get_device_address` on supported GPUs. + .. rst-class:: classref-item-separator ---- @@ -4219,6 +4231,24 @@ Floating-point specialization constant. ---- +.. _enum_RenderingDevice_Features: + +.. rst-class:: classref-enumeration + +enum **Features**: :ref:`🔗` + +.. _class_RenderingDevice_constant_SUPPORTS_BUFFER_DEVICE_ADDRESS: + +.. rst-class:: classref-enumeration-constant + +:ref:`Features` **SUPPORTS_BUFFER_DEVICE_ADDRESS** = ``6`` + +Features support for buffer device address extension. + +.. rst-class:: classref-item-separator + +---- + .. _enum_RenderingDevice_Limit: .. rst-class:: classref-enumeration @@ -5096,6 +5126,20 @@ Asynchronous version of :ref:`buffer_get_data` **buffer_get_device_address**\ (\ buffer\: :ref:`RID`\ ) :ref:`🔗` + +Returns the address of the given ``buffer`` which can be passed to shaders in any way to access underlying data. Buffer must have been created with this feature enabled. + +\ **Note:** You must check that the GPU supports this functionality by calling :ref:`has_feature` with :ref:`SUPPORTS_BUFFER_DEVICE_ADDRESS` as a parameter. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_buffer_update: .. rst-class:: classref-method @@ -6035,6 +6079,18 @@ This is only used by Vulkan in debug builds. Godot must also be started with the ---- +.. _class_RenderingDevice_method_has_feature: + +.. rst-class:: classref-method + +:ref:`bool` **has_feature**\ (\ feature\: :ref:`Features`\ ) |const| :ref:`🔗` + +Returns ``true`` if the ``feature`` is supported by the GPU. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_index_array_create: .. rst-class:: classref-method @@ -6053,12 +6109,14 @@ Once finished with your RID, you will want to free the RID using the RenderingDe .. rst-class:: classref-method -:ref:`RID` **index_buffer_create**\ (\ size_indices\: :ref:`int`, format\: :ref:`IndexBufferFormat`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_restart_indices\: :ref:`bool` = false\ ) :ref:`🔗` +:ref:`RID` **index_buffer_create**\ (\ size_indices\: :ref:`int`, format\: :ref:`IndexBufferFormat`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_restart_indices\: :ref:`bool` = false, enable_device_address\: :ref:`bool` = false\ ) :ref:`🔗` Creates a new index buffer. It can be accessed with the RID that is returned. Once finished with your RID, you will want to free the RID using the RenderingDevice's :ref:`free_rid` method. +Optionally, set ``enable_device_address`` if you wish to use :ref:`buffer_get_device_address` functionality and the GPU supports it. + .. rst-class:: classref-item-separator ---- @@ -6600,12 +6658,14 @@ Updates texture data with new data, replacing the previous data in place. The up .. rst-class:: classref-method -:ref:`RID` **uniform_buffer_create**\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray()\ ) :ref:`🔗` +:ref:`RID` **uniform_buffer_create**\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray(), enable_device_address\: :ref:`bool` = false\ ) :ref:`🔗` Creates a new uniform buffer. It can be accessed with the RID that is returned. Once finished with your RID, you will want to free the RID using the RenderingDevice's :ref:`free_rid` method. +Optionally, set ``enable_device_address`` if you wish to use :ref:`buffer_get_device_address` functionality and the GPU supports it. + .. rst-class:: classref-item-separator ---- @@ -6652,12 +6712,14 @@ Creates a vertex array based on the specified buffers. Optionally, ``offsets`` ( .. rst-class:: classref-method -:ref:`RID` **vertex_buffer_create**\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_as_storage\: :ref:`bool` = false\ ) :ref:`🔗` +:ref:`RID` **vertex_buffer_create**\ (\ size_bytes\: :ref:`int`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_as_storage\: :ref:`bool` = false, enable_device_address\: :ref:`bool` = false\ ) :ref:`🔗` It can be accessed with the RID that is returned. Once finished with your RID, you will want to free the RID using the RenderingDevice's :ref:`free_rid` method. +Optionally, set ``enable_device_address`` if you wish to use :ref:`buffer_get_device_address` functionality and the GPU supports it. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index c9e4b6776..468731a70 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -651,7 +651,7 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`mesh_surface_update_vertex_region`\ (\ mesh\: :ref:`RID`, surface\: :ref:`int`, offset\: :ref:`int`, data\: :ref:`PackedByteArray`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`multimesh_allocate_data`\ (\ multimesh\: :ref:`RID`, instances\: :ref:`int`, transform_format\: :ref:`MultimeshTransformFormat`, color_format\: :ref:`bool` = false, custom_data_format\: :ref:`bool` = false\ ) | + | |void| | :ref:`multimesh_allocate_data`\ (\ multimesh\: :ref:`RID`, instances\: :ref:`int`, transform_format\: :ref:`MultimeshTransformFormat`, color_format\: :ref:`bool` = false, custom_data_format\: :ref:`bool` = false, use_indirect\: :ref:`bool` = false\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`multimesh_create`\ (\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -661,6 +661,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`multimesh_get_buffer_rd_rid`\ (\ multimesh\: :ref:`RID`\ ) |const| | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`multimesh_get_command_buffer_rd_rid`\ (\ multimesh\: :ref:`RID`\ ) |const| | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`multimesh_get_custom_aabb`\ (\ multimesh\: :ref:`RID`\ ) |const| | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`multimesh_get_instance_count`\ (\ multimesh\: :ref:`RID`\ ) |const| | @@ -741,6 +743,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`particles_request_process`\ (\ particles\: :ref:`RID`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`particles_request_process_time`\ (\ particles\: :ref:`RID`, time\: :ref:`float`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`particles_restart`\ (\ particles\: :ref:`RID`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`particles_set_amount`\ (\ particles\: :ref:`RID`, amount\: :ref:`int`\ ) | @@ -9800,7 +9804,7 @@ Sets a mesh's surface's material. .. rst-class:: classref-method -|void| **multimesh_allocate_data**\ (\ multimesh\: :ref:`RID`, instances\: :ref:`int`, transform_format\: :ref:`MultimeshTransformFormat`, color_format\: :ref:`bool` = false, custom_data_format\: :ref:`bool` = false\ ) :ref:`🔗` +|void| **multimesh_allocate_data**\ (\ multimesh\: :ref:`RID`, instances\: :ref:`int`, transform_format\: :ref:`MultimeshTransformFormat`, color_format\: :ref:`bool` = false, custom_data_format\: :ref:`bool` = false, use_indirect\: :ref:`bool` = false\ ) :ref:`🔗` .. container:: contribute @@ -9866,6 +9870,37 @@ Returns the :ref:`RenderingDevice` :ref:`RID` ---- +.. _class_RenderingServer_method_multimesh_get_command_buffer_rd_rid: + +.. rst-class:: classref-method + +:ref:`RID` **multimesh_get_command_buffer_rd_rid**\ (\ multimesh\: :ref:`RID`\ ) |const| :ref:`🔗` + +Returns the :ref:`RenderingDevice` :ref:`RID` handle of the :ref:`MultiMesh` command buffer. This :ref:`RID` is only valid if ``use_indirect`` is set to ``true`` when allocating data through :ref:`multimesh_allocate_data`. It can be used to directly modify the instance count via buffer. + +The data structure is dependent on both how many surfaces the mesh contains and whether it is indexed or not, the buffer has 5 integers in it, with the last unused if the mesh is not indexed. + +Each of the values in the buffer correspond to these options: + +.. code:: text + + Indexed: + 0 - indexCount; + 1 - instanceCount; + 2 - firstIndex; + 3 - vertexOffset; + 4 - firstInstance; + Non Indexed: + 0 - vertexCount; + 1 - instanceCount; + 2 - firstVertex; + 3 - firstInstance; + 4 - unused; + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_get_custom_aabb: .. rst-class:: classref-method @@ -10393,6 +10428,18 @@ Add particle system to list of particle systems that need to be updated. Update ---- +.. _class_RenderingServer_method_particles_request_process_time: + +.. rst-class:: classref-method + +|void| **particles_request_process_time**\ (\ particles\: :ref:`RID`, time\: :ref:`float`\ ) :ref:`🔗` + +Requests particles to process for extra process time during a single frame. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_particles_restart: .. rst-class:: classref-method @@ -12420,7 +12467,7 @@ Creates a new 3D visibility notifier object and adds it to the RenderingServer. Once finished with your RID, you will want to free the RID using the RenderingServer's :ref:`free_rid` method. -To place in a scene, attach this mesh to an instance using :ref:`instance_set_base` using the returned RID. +To place in a scene, attach this notifier to an instance using :ref:`instance_set_base` using the returned RID. \ **Note:** The equivalent node is :ref:`VisibleOnScreenNotifier3D`. diff --git a/classes/class_resourceimporterlayeredtexture.rst b/classes/class_resourceimporterlayeredtexture.rst index dca1439ec..c112d27bb 100644 --- a/classes/class_resourceimporterlayeredtexture.rst +++ b/classes/class_resourceimporterlayeredtexture.rst @@ -75,7 +75,7 @@ Controls how color channels should be used in the imported texture. \ **Optimized:**, allows the RG color format to be used if the texture does not use the blue channel. This reduces memory usage if the texture's blue channel can be discarded (all pixels must have a blue value of ``0``). -\ **Normal Map (RG Channels):** This forces all layers from the texture to be imported with the RG color format to reduce memory usage, with only the red and green channels preserved. This only has an effect on textures with the VRAM Compressed or Basis Universal compression modes. This mode is only available in layered textures (:ref:`Cubemap`, :ref:`CubemapArray`, :ref:`Texture2DArray` and :ref:`Texture3D`). +\ **Normal Map (RG Channels):** This forces all layers from the texture to be imported with the RG color format, with only the red and green channels preserved. RGTC (Red-Green Texture Compression) compression is able to preserve its detail much better, while using the same amount of memory as a standard RGBA VRAM-compressed texture. This only has an effect on textures with the VRAM Compressed or Basis Universal compression modes. This mode is only available in layered textures (:ref:`Cubemap`, :ref:`CubemapArray`, :ref:`Texture2DArray` and :ref:`Texture3D`). .. rst-class:: classref-item-separator diff --git a/classes/class_richtextlabel.rst b/classes/class_richtextlabel.rst index 0cf2e2bc2..34dfdd83f 100644 --- a/classes/class_richtextlabel.rst +++ b/classes/class_richtextlabel.rst @@ -259,7 +259,7 @@ Methods +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_cell_size_override`\ (\ min_size\: :ref:`Vector2`, max_size\: :ref:`Vector2`\ ) | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_table_column_expand`\ (\ column\: :ref:`int`, expand\: :ref:`bool`, ratio\: :ref:`int` = 1\ ) | + | |void| | :ref:`set_table_column_expand`\ (\ column\: :ref:`int`, expand\: :ref:`bool`, ratio\: :ref:`int` = 1, shrink\: :ref:`bool` = true\ ) | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`update_image`\ (\ key\: :ref:`Variant`, mask\: |bitfield|\[:ref:`ImageUpdateMask`\], image\: :ref:`Texture2D`, width\: :ref:`int` = 0, height\: :ref:`int` = 0, color\: :ref:`Color` = Color(1, 1, 1, 1), inline_align\: :ref:`InlineAlignment` = 5, region\: :ref:`Rect2` = Rect2(0, 0, 0, 0), pad\: :ref:`bool` = false, tooltip\: :ref:`String` = "", size_in_percent\: :ref:`bool` = false\ ) | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -2065,7 +2065,7 @@ Sets minimum and maximum size overrides for a table cell. .. rst-class:: classref-method -|void| **set_table_column_expand**\ (\ column\: :ref:`int`, expand\: :ref:`bool`, ratio\: :ref:`int` = 1\ ) :ref:`🔗` +|void| **set_table_column_expand**\ (\ column\: :ref:`int`, expand\: :ref:`bool`, ratio\: :ref:`int` = 1, shrink\: :ref:`bool` = true\ ) :ref:`🔗` Edits the selected column's expansion options. If ``expand`` is ``true``, the column expands in proportion to its expansion ratio versus the other columns' ratios. diff --git a/classes/class_skeletonmodifier3d.rst b/classes/class_skeletonmodifier3d.rst index df98da6d6..ee5456736 100644 --- a/classes/class_skeletonmodifier3d.rst +++ b/classes/class_skeletonmodifier3d.rst @@ -12,7 +12,7 @@ SkeletonModifier3D **Inherits:** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` -**Inherited By:** :ref:`LookAtModifier3D`, :ref:`PhysicalBoneSimulator3D`, :ref:`RetargetModifier3D`, :ref:`SkeletonIK3D`, :ref:`XRBodyModifier3D`, :ref:`XRHandModifier3D` +**Inherited By:** :ref:`LookAtModifier3D`, :ref:`PhysicalBoneSimulator3D`, :ref:`RetargetModifier3D`, :ref:`SkeletonIK3D`, :ref:`SpringBoneSimulator3D`, :ref:`XRBodyModifier3D`, :ref:`XRHandModifier3D` A node that may modify Skeleton3D's bone. diff --git a/classes/class_skeletonprofilehumanoid.rst b/classes/class_skeletonprofilehumanoid.rst index 814d3d51a..b1e369eb5 100644 --- a/classes/class_skeletonprofilehumanoid.rst +++ b/classes/class_skeletonprofilehumanoid.rst @@ -49,6 +49,7 @@ A humanoid skeleton profile contains 54 bones divided in 4 groups: ``"Body"``, ` │ └─ LeftHand │ ├─ LeftThumbMetacarpal │ │ └─ LeftThumbProximal + │ │ └─ LeftThumbDistal │ ├─ LeftIndexProximal │ │ └─ LeftIndexIntermediate │ │ └─ LeftIndexDistal @@ -67,6 +68,7 @@ A humanoid skeleton profile contains 54 bones divided in 4 groups: ``"Body"``, ` └─ RightHand ├─ RightThumbMetacarpal │ └─ RightThumbProximal + │ └─ RightThumbDistal ├─ RightIndexProximal │ └─ RightIndexIntermediate │ └─ RightIndexDistal diff --git a/classes/class_springbonecollision3d.rst b/classes/class_springbonecollision3d.rst new file mode 100644 index 000000000..0bde80b02 --- /dev/null +++ b/classes/class_springbonecollision3d.rst @@ -0,0 +1,159 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpringBoneCollision3D.xml. + +.. _class_SpringBoneCollision3D: + +SpringBoneCollision3D +===================== + +**Inherits:** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` + +**Inherited By:** :ref:`SpringBoneCollisionCapsule3D`, :ref:`SpringBoneCollisionPlane3D`, :ref:`SpringBoneCollisionSphere3D` + +A base class of the collision that interacts with :ref:`SpringBoneSimulator3D`. + +.. rst-class:: classref-introduction-group + +Description +----------- + +A collision can be a child of :ref:`SpringBoneSimulator3D`. If it is not a child of :ref:`SpringBoneSimulator3D`, it has no effect. + +The colliding and sliding are done in the :ref:`SpringBoneSimulator3D`'s modification process in order of its collision list which is set by :ref:`SpringBoneSimulator3D.set_collision_path`. If :ref:`SpringBoneSimulator3D.are_all_child_collisions_enabled` is ``true``, the order matches :ref:`SceneTree`. + +If :ref:`bone` is set, it synchronizes with the bone pose of the ancestor :ref:`Skeleton3D`, which is done in before the :ref:`SpringBoneSimulator3D`'s modification process as the pre-process. + +\ **Warning:** A scaled **SpringBoneCollision3D** will likely not behave as expected. Make sure that the parent :ref:`Skeleton3D` and its bones are not scaled. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-------------------------------------+------------------------------------------------------------------------------+--------+ + | :ref:`int` | :ref:`bone` | ``-1`` | + +-------------------------------------+------------------------------------------------------------------------------+--------+ + | :ref:`String` | :ref:`bone_name` | ``""`` | + +-------------------------------------+------------------------------------------------------------------------------+--------+ + | :ref:`Vector3` | :ref:`position_offset` | | + +-------------------------------------+------------------------------------------------------------------------------+--------+ + | :ref:`Quaternion` | :ref:`rotation_offset` | | + +-------------------------------------+------------------------------------------------------------------------------+--------+ + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +-------------------------------------+------------------------------------------------------------------------------------+ + | :ref:`Skeleton3D` | :ref:`get_skeleton`\ (\ ) |const| | + +-------------------------------------+------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_SpringBoneCollision3D_property_bone: + +.. rst-class:: classref-property + +:ref:`int` **bone** = ``-1`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_bone**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_bone**\ (\ ) + +The index of the attached bone. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneCollision3D_property_bone_name: + +.. rst-class:: classref-property + +:ref:`String` **bone_name** = ``""`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_bone_name**\ (\ value\: :ref:`String`\ ) +- :ref:`String` **get_bone_name**\ (\ ) + +The name of the attached bone. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneCollision3D_property_position_offset: + +.. rst-class:: classref-property + +:ref:`Vector3` **position_offset** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_position_offset**\ (\ value\: :ref:`Vector3`\ ) +- :ref:`Vector3` **get_position_offset**\ (\ ) + +The offset of the position from :ref:`Skeleton3D`'s :ref:`bone` pose position. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneCollision3D_property_rotation_offset: + +.. rst-class:: classref-property + +:ref:`Quaternion` **rotation_offset** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_rotation_offset**\ (\ value\: :ref:`Quaternion`\ ) +- :ref:`Quaternion` **get_rotation_offset**\ (\ ) + +The offset of the rotation from :ref:`Skeleton3D`'s :ref:`bone` pose rotation. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_SpringBoneCollision3D_method_get_skeleton: + +.. rst-class:: classref-method + +:ref:`Skeleton3D` **get_skeleton**\ (\ ) |const| :ref:`🔗` + +Get parent :ref:`Skeleton3D` node of the parent :ref:`SpringBoneSimulator3D` if found. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_springbonecollisioncapsule3d.rst b/classes/class_springbonecollisioncapsule3d.rst new file mode 100644 index 000000000..91764118f --- /dev/null +++ b/classes/class_springbonecollisioncapsule3d.rst @@ -0,0 +1,103 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpringBoneCollisionCapsule3D.xml. + +.. _class_SpringBoneCollisionCapsule3D: + +SpringBoneCollisionCapsule3D +============================ + +**Inherits:** :ref:`SpringBoneCollision3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` + +A capsule shape collision that interacts with :ref:`SpringBoneSimulator3D`. + +.. rst-class:: classref-introduction-group + +Description +----------- + +A capsule shape collision that interacts with :ref:`SpringBoneSimulator3D`. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +---------------------------+-------------------------------------------------------------------+-----------+ + | :ref:`float` | :ref:`height` | ``0.5`` | + +---------------------------+-------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`inside` | ``false`` | + +---------------------------+-------------------------------------------------------------------+-----------+ + | :ref:`float` | :ref:`radius` | ``0.1`` | + +---------------------------+-------------------------------------------------------------------+-----------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_SpringBoneCollisionCapsule3D_property_height: + +.. rst-class:: classref-property + +:ref:`float` **height** = ``0.5`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_height**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_height**\ (\ ) + +The capsule's height. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneCollisionCapsule3D_property_inside: + +.. rst-class:: classref-property + +:ref:`bool` **inside** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_inside**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_inside**\ (\ ) + +If ``true``, the collision acts to trap the joint within the collision. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneCollisionCapsule3D_property_radius: + +.. rst-class:: classref-property + +:ref:`float` **radius** = ``0.1`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_radius**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_radius**\ (\ ) + +The capsule's radius. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_springbonecollisionplane3d.rst b/classes/class_springbonecollisionplane3d.rst new file mode 100644 index 000000000..3934eb06e --- /dev/null +++ b/classes/class_springbonecollisionplane3d.rst @@ -0,0 +1,31 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpringBoneCollisionPlane3D.xml. + +.. _class_SpringBoneCollisionPlane3D: + +SpringBoneCollisionPlane3D +========================== + +**Inherits:** :ref:`SpringBoneCollision3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` + +A infinite plane collision that interacts with :ref:`SpringBoneSimulator3D`. + +.. rst-class:: classref-introduction-group + +Description +----------- + +A infinite plane collision that interacts with :ref:`SpringBoneSimulator3D`. It is an infinite size XZ plane, and the +Y direction is treated as normal. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_springbonecollisionsphere3d.rst b/classes/class_springbonecollisionsphere3d.rst new file mode 100644 index 000000000..9944233dc --- /dev/null +++ b/classes/class_springbonecollisionsphere3d.rst @@ -0,0 +1,84 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpringBoneCollisionSphere3D.xml. + +.. _class_SpringBoneCollisionSphere3D: + +SpringBoneCollisionSphere3D +=========================== + +**Inherits:** :ref:`SpringBoneCollision3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` + +A sphere shape collision that interacts with :ref:`SpringBoneSimulator3D`. + +.. rst-class:: classref-introduction-group + +Description +----------- + +A sphere shape collision that interacts with :ref:`SpringBoneSimulator3D`. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +---------------------------+------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`inside` | ``false`` | + +---------------------------+------------------------------------------------------------------+-----------+ + | :ref:`float` | :ref:`radius` | ``0.1`` | + +---------------------------+------------------------------------------------------------------+-----------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_SpringBoneCollisionSphere3D_property_inside: + +.. rst-class:: classref-property + +:ref:`bool` **inside** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_inside**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_inside**\ (\ ) + +If ``true``, the collision acts to trap the joint within the collision. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneCollisionSphere3D_property_radius: + +.. rst-class:: classref-property + +:ref:`float` **radius** = ``0.1`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_radius**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_radius**\ (\ ) + +The sphere's radius. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_springbonesimulator3d.rst b/classes/class_springbonesimulator3d.rst new file mode 100644 index 000000000..eef8310b9 --- /dev/null +++ b/classes/class_springbonesimulator3d.rst @@ -0,0 +1,1299 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpringBoneSimulator3D.xml. + +.. _class_SpringBoneSimulator3D: + +SpringBoneSimulator3D +===================== + +**Inherits:** :ref:`SkeletonModifier3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` + +A :ref:`SkeletonModifier3D` to apply inertial wavering to bone chains. + +.. rst-class:: classref-introduction-group + +Description +----------- + +This :ref:`SkeletonModifier3D` can be used to wiggle hair, cloth, and tails. This modifier behaves differently from :ref:`PhysicalBoneSimulator3D` as it attempts to return the original pose after modification. + +If you setup :ref:`set_root_bone` and :ref:`set_end_bone`, it is treated as one bone chain. Note that it does not support a branched chain like Y-shaped chains. + +When a bone chain is created, an array is generated from the bones that exist in between and listed in the joint list. + +Several properties can be applied to each joint, such as :ref:`set_joint_stiffness`, :ref:`set_joint_drag`, and :ref:`set_joint_gravity`. + +For simplicity, you can set values to all joints at the same time by using a :ref:`Curve`. If you want to specify detailed values individually, set :ref:`set_individual_config` to ``true``. + +For physical simulation, **SpringBoneSimulator3D** can have children as self-standing collisions that are not related to :ref:`PhysicsServer3D`, see also :ref:`SpringBoneCollision3D`. + +\ **Warning:** A scaled **SpringBoneSimulator3D** will likely not behave as expected. Make sure that the parent :ref:`Skeleton3D` and its bones are not scaled. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-----------------------+--------------------------------------------------------------------------+-------+ + | :ref:`int` | :ref:`setting_count` | ``0`` | + +-----------------------+--------------------------------------------------------------------------+-------+ + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`are_all_child_collisions_enabled`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_collisions`\ (\ index\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_exclude_collisions`\ (\ index\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_settings`\ (\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_center_bone`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_center_bone_name`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`CenterFrom` | :ref:`get_center_from`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_center_node`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_collision_count`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_collision_path`\ (\ index\: :ref:`int`, collision\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_drag`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Curve` | :ref:`get_drag_damping_curve`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_end_bone`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`BoneDirection` | :ref:`get_end_bone_direction`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_end_bone_length`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_end_bone_name`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_exclude_collision_count`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_exclude_collision_path`\ (\ index\: :ref:`int`, collision\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_gravity`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Curve` | :ref:`get_gravity_damping_curve`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3` | :ref:`get_gravity_direction`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_joint_bone`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_joint_bone_name`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_joint_count`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_joint_drag`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_joint_gravity`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3` | :ref:`get_joint_gravity_direction`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_joint_radius`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RotationAxis` | :ref:`get_joint_rotation_axis`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_joint_stiffness`\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_radius`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Curve` | :ref:`get_radius_damping_curve`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_root_bone`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_root_bone_name`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RotationAxis` | :ref:`get_rotation_axis`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_stiffness`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Curve` | :ref:`get_stiffness_damping_curve`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_config_individual`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_end_bone_extended`\ (\ index\: :ref:`int`\ ) |const| | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`reset`\ (\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_center_bone`\ (\ index\: :ref:`int`, bone\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_center_bone_name`\ (\ index\: :ref:`int`, bone_name\: :ref:`String`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_center_from`\ (\ index\: :ref:`int`, center_from\: :ref:`CenterFrom`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_center_node`\ (\ index\: :ref:`int`, node_path\: :ref:`NodePath`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_collision_count`\ (\ index\: :ref:`int`, count\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_collision_path`\ (\ index\: :ref:`int`, collision\: :ref:`int`, node_path\: :ref:`NodePath`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_drag`\ (\ index\: :ref:`int`, drag\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_drag_damping_curve`\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_enable_all_child_collisions`\ (\ index\: :ref:`int`, enabled\: :ref:`bool`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_end_bone`\ (\ index\: :ref:`int`, bone\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_end_bone_direction`\ (\ index\: :ref:`int`, bone_direction\: :ref:`BoneDirection`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_end_bone_length`\ (\ index\: :ref:`int`, length\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_end_bone_name`\ (\ index\: :ref:`int`, bone_name\: :ref:`String`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_exclude_collision_count`\ (\ index\: :ref:`int`, count\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_exclude_collision_path`\ (\ index\: :ref:`int`, collision\: :ref:`int`, node_path\: :ref:`NodePath`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_extend_end_bone`\ (\ index\: :ref:`int`, enabled\: :ref:`bool`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_gravity`\ (\ index\: :ref:`int`, gravity\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_gravity_damping_curve`\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_gravity_direction`\ (\ index\: :ref:`int`, gravity_direction\: :ref:`Vector3`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_individual_config`\ (\ index\: :ref:`int`, enabled\: :ref:`bool`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_joint_drag`\ (\ index\: :ref:`int`, joint\: :ref:`int`, drag\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_joint_gravity`\ (\ index\: :ref:`int`, joint\: :ref:`int`, gravity\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_joint_gravity_direction`\ (\ index\: :ref:`int`, joint\: :ref:`int`, gravity_direction\: :ref:`Vector3`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_joint_radius`\ (\ index\: :ref:`int`, joint\: :ref:`int`, radius\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_joint_rotation_axis`\ (\ index\: :ref:`int`, joint\: :ref:`int`, axis\: :ref:`RotationAxis`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_joint_stiffness`\ (\ index\: :ref:`int`, joint\: :ref:`int`, stiffness\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_radius`\ (\ index\: :ref:`int`, radius\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_radius_damping_curve`\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_root_bone`\ (\ index\: :ref:`int`, bone\: :ref:`int`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_root_bone_name`\ (\ index\: :ref:`int`, bone_name\: :ref:`String`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_rotation_axis`\ (\ index\: :ref:`int`, axis\: :ref:`RotationAxis`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_stiffness`\ (\ index\: :ref:`int`, stiffness\: :ref:`float`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_stiffness_damping_curve`\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) | + +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Enumerations +------------ + +.. _enum_SpringBoneSimulator3D_BoneDirection: + +.. rst-class:: classref-enumeration + +enum **BoneDirection**: :ref:`🔗` + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_PLUS_X: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_PLUS_X** = ``0`` + +Enumerated value for the +X axis. + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_MINUS_X: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_MINUS_X** = ``1`` + +Enumerated value for the -X axis. + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_PLUS_Y: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_PLUS_Y** = ``2`` + +Enumerated value for the +Y axis. + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_MINUS_Y: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_MINUS_Y** = ``3`` + +Enumerated value for the -Y axis. + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_PLUS_Z: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_PLUS_Z** = ``4`` + +Enumerated value for the +Z axis. + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_MINUS_Z: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_MINUS_Z** = ``5`` + +Enumerated value for the -Z axis. + +.. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_FROM_PARENT: + +.. rst-class:: classref-enumeration-constant + +:ref:`BoneDirection` **BONE_DIRECTION_FROM_PARENT** = ``6`` + +Enumerated value for the axis from a parent bone to the child bone. + +.. rst-class:: classref-item-separator + +---- + +.. _enum_SpringBoneSimulator3D_CenterFrom: + +.. rst-class:: classref-enumeration + +enum **CenterFrom**: :ref:`🔗` + +.. _class_SpringBoneSimulator3D_constant_CENTER_FROM_WORLD_ORIGIN: + +.. rst-class:: classref-enumeration-constant + +:ref:`CenterFrom` **CENTER_FROM_WORLD_ORIGIN** = ``0`` + +The world origin is defined as center. + +.. _class_SpringBoneSimulator3D_constant_CENTER_FROM_NODE: + +.. rst-class:: classref-enumeration-constant + +:ref:`CenterFrom` **CENTER_FROM_NODE** = ``1`` + +The :ref:`Node3D` specified by :ref:`set_center_node` is defined as center. + +If :ref:`Node3D` is not found, the parent :ref:`Skeleton3D` is treated as center. + +.. _class_SpringBoneSimulator3D_constant_CENTER_FROM_BONE: + +.. rst-class:: classref-enumeration-constant + +:ref:`CenterFrom` **CENTER_FROM_BONE** = ``2`` + +The bone pose origin of the parent :ref:`Skeleton3D` specified by :ref:`set_center_bone` is defined as center. + +If :ref:`Node3D` is not found, the parent :ref:`Skeleton3D` is treated as center. + +.. rst-class:: classref-item-separator + +---- + +.. _enum_SpringBoneSimulator3D_RotationAxis: + +.. rst-class:: classref-enumeration + +enum **RotationAxis**: :ref:`🔗` + +.. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_X: + +.. rst-class:: classref-enumeration-constant + +:ref:`RotationAxis` **ROTATION_AXIS_X** = ``0`` + +Enumerated value for the rotation of the X axis. + +.. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_Y: + +.. rst-class:: classref-enumeration-constant + +:ref:`RotationAxis` **ROTATION_AXIS_Y** = ``1`` + +Enumerated value for the rotation of the Y axis. + +.. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_Z: + +.. rst-class:: classref-enumeration-constant + +:ref:`RotationAxis` **ROTATION_AXIS_Z** = ``2`` + +Enumerated value for the rotation of the Z axis. + +.. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_ALL: + +.. rst-class:: classref-enumeration-constant + +:ref:`RotationAxis` **ROTATION_AXIS_ALL** = ``3`` + +Enumerated value for the unconstrained rotation. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_SpringBoneSimulator3D_property_setting_count: + +.. rst-class:: classref-property + +:ref:`int` **setting_count** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_setting_count**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_setting_count**\ (\ ) + +The number of settings. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled: + +.. rst-class:: classref-method + +:ref:`bool` **are_all_child_collisions_enabled**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns ``true`` if the all child :ref:`SpringBoneCollision3D`\ s are contained in the collision list at ``index`` in the settings. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_clear_collisions: + +.. rst-class:: classref-method + +|void| **clear_collisions**\ (\ index\: :ref:`int`\ ) :ref:`🔗` + +Clears all collisions from the collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled` is ``false``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_clear_exclude_collisions: + +.. rst-class:: classref-method + +|void| **clear_exclude_collisions**\ (\ index\: :ref:`int`\ ) :ref:`🔗` + +Clears all exclude collisions from the collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_clear_settings: + +.. rst-class:: classref-method + +|void| **clear_settings**\ (\ ) :ref:`🔗` + +Clears all settings. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_center_bone: + +.. rst-class:: classref-method + +:ref:`int` **get_center_bone**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the center bone index of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_center_bone_name: + +.. rst-class:: classref-method + +:ref:`String` **get_center_bone_name**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the center bone name of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_center_from: + +.. rst-class:: classref-method + +:ref:`CenterFrom` **get_center_from**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns what the center originates from in the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_center_node: + +.. rst-class:: classref-method + +:ref:`NodePath` **get_center_node**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the center node path of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_collision_count: + +.. rst-class:: classref-method + +:ref:`int` **get_collision_count**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the collision count of the bone chain's collision list when :ref:`are_all_child_collisions_enabled` is ``false``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_collision_path: + +.. rst-class:: classref-method + +:ref:`NodePath` **get_collision_path**\ (\ index\: :ref:`int`, collision\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the node path of the :ref:`SpringBoneCollision3D` at ``collision`` in the bone chain's collision list when :ref:`are_all_child_collisions_enabled` is ``false``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_drag: + +.. rst-class:: classref-method + +:ref:`float` **get_drag**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the drag force damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_drag_damping_curve: + +.. rst-class:: classref-method + +:ref:`Curve` **get_drag_damping_curve**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the drag force damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_end_bone: + +.. rst-class:: classref-method + +:ref:`int` **get_end_bone**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the end bone index of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_end_bone_direction: + +.. rst-class:: classref-method + +:ref:`BoneDirection` **get_end_bone_direction**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the end bone's tail direction of the bone chain when :ref:`is_end_bone_extended` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_end_bone_length: + +.. rst-class:: classref-method + +:ref:`float` **get_end_bone_length**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the end bone's tail length of the bone chain when :ref:`is_end_bone_extended` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_end_bone_name: + +.. rst-class:: classref-method + +:ref:`String` **get_end_bone_name**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the end bone name of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_exclude_collision_count: + +.. rst-class:: classref-method + +:ref:`int` **get_exclude_collision_count**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the exclude collision count of the bone chain's exclude collision list when :ref:`are_all_child_collisions_enabled` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_exclude_collision_path: + +.. rst-class:: classref-method + +:ref:`NodePath` **get_exclude_collision_path**\ (\ index\: :ref:`int`, collision\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the node path of the :ref:`SpringBoneCollision3D` at ``collision`` in the bone chain's exclude collision list when :ref:`are_all_child_collisions_enabled` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_gravity: + +.. rst-class:: classref-method + +:ref:`float` **get_gravity**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the gravity amount of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_gravity_damping_curve: + +.. rst-class:: classref-method + +:ref:`Curve` **get_gravity_damping_curve**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the gravity amount damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_gravity_direction: + +.. rst-class:: classref-method + +:ref:`Vector3` **get_gravity_direction**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the gravity direction of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_bone: + +.. rst-class:: classref-method + +:ref:`int` **get_joint_bone**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the bone index at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_bone_name: + +.. rst-class:: classref-method + +:ref:`String` **get_joint_bone_name**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the bone name at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_count: + +.. rst-class:: classref-method + +:ref:`int` **get_joint_count**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the joint count of the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_drag: + +.. rst-class:: classref-method + +:ref:`float` **get_joint_drag**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the drag force at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_gravity: + +.. rst-class:: classref-method + +:ref:`float` **get_joint_gravity**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the gravity amount at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_gravity_direction: + +.. rst-class:: classref-method + +:ref:`Vector3` **get_joint_gravity_direction**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the gravity direction at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_radius: + +.. rst-class:: classref-method + +:ref:`float` **get_joint_radius**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the radius at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_rotation_axis: + +.. rst-class:: classref-method + +:ref:`RotationAxis` **get_joint_rotation_axis**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the rotation axis at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_joint_stiffness: + +.. rst-class:: classref-method + +:ref:`float` **get_joint_stiffness**\ (\ index\: :ref:`int`, joint\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the stiffness force at ``joint`` in the bone chain's joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_radius: + +.. rst-class:: classref-method + +:ref:`float` **get_radius**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the joint radius of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_radius_damping_curve: + +.. rst-class:: classref-method + +:ref:`Curve` **get_radius_damping_curve**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the joint radius damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_root_bone: + +.. rst-class:: classref-method + +:ref:`int` **get_root_bone**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the root bone index of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_root_bone_name: + +.. rst-class:: classref-method + +:ref:`String` **get_root_bone_name**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the root bone name of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_rotation_axis: + +.. rst-class:: classref-method + +:ref:`RotationAxis` **get_rotation_axis**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the rotation axis of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_stiffness: + +.. rst-class:: classref-method + +:ref:`float` **get_stiffness**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the stiffness force of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_get_stiffness_damping_curve: + +.. rst-class:: classref-method + +:ref:`Curve` **get_stiffness_damping_curve**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the stiffness force damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_is_config_individual: + +.. rst-class:: classref-method + +:ref:`bool` **is_config_individual**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns ``true`` if the config can be edited individually for each joint. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_is_end_bone_extended: + +.. rst-class:: classref-method + +:ref:`bool` **is_end_bone_extended**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns ``true`` if the end bone is extended to have the tail. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_reset: + +.. rst-class:: classref-method + +|void| **reset**\ (\ ) :ref:`🔗` + +Resets a simulating state with respect to the current bone pose. + +It is useful to prevent the simulation result getting violent. For example, calling this immediately after a call to :ref:`AnimationPlayer.play` without a fading, or within the previous :ref:`SkeletonModifier3D.modification_processed` signal if it's condition changes significantly. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_center_bone: + +.. rst-class:: classref-method + +|void| **set_center_bone**\ (\ index\: :ref:`int`, bone\: :ref:`int`\ ) :ref:`🔗` + +Sets the center bone index of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_center_bone_name: + +.. rst-class:: classref-method + +|void| **set_center_bone_name**\ (\ index\: :ref:`int`, bone_name\: :ref:`String`\ ) :ref:`🔗` + +Sets the center bone name of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_center_from: + +.. rst-class:: classref-method + +|void| **set_center_from**\ (\ index\: :ref:`int`, center_from\: :ref:`CenterFrom`\ ) :ref:`🔗` + +Sets what the center originates from in the bone chain. + +Bone movement is calculated based on the difference in relative distance between center and bone in the previous and next frames. + +For example, if the parent :ref:`Skeleton3D` is used as the center, the bones are considered to have not moved if the :ref:`Skeleton3D` moves in the world. + +In this case, only a change in the bone pose is considered to be a bone movement. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_center_node: + +.. rst-class:: classref-method + +|void| **set_center_node**\ (\ index\: :ref:`int`, node_path\: :ref:`NodePath`\ ) :ref:`🔗` + +Sets the center node path of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_collision_count: + +.. rst-class:: classref-method + +|void| **set_collision_count**\ (\ index\: :ref:`int`, count\: :ref:`int`\ ) :ref:`🔗` + +Sets the number of collisions in the collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled` is ``false``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_collision_path: + +.. rst-class:: classref-method + +|void| **set_collision_path**\ (\ index\: :ref:`int`, collision\: :ref:`int`, node_path\: :ref:`NodePath`\ ) :ref:`🔗` + +Sets the node path of the :ref:`SpringBoneCollision3D` at ``collision`` in the bone chain's collision list when :ref:`are_all_child_collisions_enabled` is ``false``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_drag: + +.. rst-class:: classref-method + +|void| **set_drag**\ (\ index\: :ref:`int`, drag\: :ref:`float`\ ) :ref:`🔗` + +Sets the drag force of the bone chain. The greater the value, the more suppressed the wiggling. + +The value is scaled by :ref:`set_drag_damping_curve` and cached in each joint setting in the joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_drag_damping_curve: + +.. rst-class:: classref-method + +|void| **set_drag_damping_curve**\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) :ref:`🔗` + +Sets the drag force damping curve of the bone chain. + +.. 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`, enabled\: :ref:`bool`\ ) :ref:`🔗` + +If sets ``enabled`` to ``true``, the all child :ref:`SpringBoneCollision3D`\ s are collided and :ref:`set_exclude_collision_path` is enabled as an exclusion list at ``index`` in the settings. + +If sets ``enabled`` to ``false``, you need to manually register all valid collisions with :ref:`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`, bone\: :ref:`int`\ ) :ref:`🔗` + +Sets the end bone index of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_end_bone_direction: + +.. rst-class:: classref-method + +|void| **set_end_bone_direction**\ (\ index\: :ref:`int`, bone_direction\: :ref:`BoneDirection`\ ) :ref:`🔗` + +Sets the end bone tail direction of the bone chain when :ref:`is_end_bone_extended` is ``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`, length\: :ref:`float`\ ) :ref:`🔗` + +Sets the end bone tail length of the bone chain when :ref:`is_end_bone_extended` is ``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`, bone_name\: :ref:`String`\ ) :ref:`🔗` + +Sets the end bone name of the bone chain. + +\ **Note:** End bone must be the root bone or a child of the root bone. If they are the same, the tail must be extended by :ref:`set_extend_end_bone` to jiggle the 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`, count\: :ref:`int`\ ) :ref:`🔗` + +Sets the number of exclude collisions in the exclude collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_exclude_collision_path: + +.. rst-class:: classref-method + +|void| **set_exclude_collision_path**\ (\ index\: :ref:`int`, collision\: :ref:`int`, node_path\: :ref:`NodePath`\ ) :ref:`🔗` + +Sets the node path of the :ref:`SpringBoneCollision3D` at ``collision`` in the bone chain's exclude collision list when :ref:`are_all_child_collisions_enabled` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_extend_end_bone: + +.. rst-class:: classref-method + +|void| **set_extend_end_bone**\ (\ index\: :ref:`int`, enabled\: :ref:`bool`\ ) :ref:`🔗` + +If ``enabled`` is ``true``, the end bone is extended to have the tail. + +The extended tail config is allocated to the last element in the joint list. + +In other words, if you set ``enabled`` is ``false``, the config of 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`, gravity\: :ref:`float`\ ) :ref:`🔗` + +Sets the gravity amount of the bone chain. This value is not an acceleration, but a constant velocity of movement in :ref:`set_gravity_direction`. + +If ``gravity`` is not ``0``, the modified pose will not return to the original pose since it is always affected by gravity. + +The value is scaled by :ref:`set_gravity_damping_curve` and cached in each joint setting in the joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_gravity_damping_curve: + +.. rst-class:: classref-method + +|void| **set_gravity_damping_curve**\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) :ref:`🔗` + +Sets the gravity amount damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_gravity_direction: + +.. rst-class:: classref-method + +|void| **set_gravity_direction**\ (\ index\: :ref:`int`, gravity_direction\: :ref:`Vector3`\ ) :ref:`🔗` + +Sets the gravity direction of the bone chain. This value is internally normalized and then multiplied by :ref:`set_gravity`. + +The value is cached in each joint setting in the joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_individual_config: + +.. rst-class:: classref-method + +|void| **set_individual_config**\ (\ index\: :ref:`int`, enabled\: :ref:`bool`\ ) :ref:`🔗` + +If ``enabled`` is ``true``, the config can be edited individually for each joint. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_joint_drag: + +.. rst-class:: classref-method + +|void| **set_joint_drag**\ (\ index\: :ref:`int`, joint\: :ref:`int`, drag\: :ref:`float`\ ) :ref:`🔗` + +Sets the drag force at ``joint`` in the bone chain's joint list when :ref:`is_config_individual` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_joint_gravity: + +.. rst-class:: classref-method + +|void| **set_joint_gravity**\ (\ index\: :ref:`int`, joint\: :ref:`int`, gravity\: :ref:`float`\ ) :ref:`🔗` + +Sets the gravity amount at ``joint`` in the bone chain's joint list when :ref:`is_config_individual` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_joint_gravity_direction: + +.. rst-class:: classref-method + +|void| **set_joint_gravity_direction**\ (\ index\: :ref:`int`, joint\: :ref:`int`, gravity_direction\: :ref:`Vector3`\ ) :ref:`🔗` + +Sets the gravity direction at ``joint`` in the bone chain's joint list when :ref:`is_config_individual` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_joint_radius: + +.. rst-class:: classref-method + +|void| **set_joint_radius**\ (\ index\: :ref:`int`, joint\: :ref:`int`, radius\: :ref:`float`\ ) :ref:`🔗` + +Sets the joint radius at ``joint`` in the bone chain's joint list when :ref:`is_config_individual` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_joint_rotation_axis: + +.. rst-class:: classref-method + +|void| **set_joint_rotation_axis**\ (\ index\: :ref:`int`, joint\: :ref:`int`, axis\: :ref:`RotationAxis`\ ) :ref:`🔗` + +Sets the rotation axis at ``joint`` in the bone chain's joint list when :ref:`is_config_individual` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_joint_stiffness: + +.. rst-class:: classref-method + +|void| **set_joint_stiffness**\ (\ index\: :ref:`int`, joint\: :ref:`int`, stiffness\: :ref:`float`\ ) :ref:`🔗` + +Sets the stiffness force at ``joint`` in the bone chain's joint list when :ref:`is_config_individual` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_radius: + +.. rst-class:: classref-method + +|void| **set_radius**\ (\ index\: :ref:`int`, radius\: :ref:`float`\ ) :ref:`🔗` + +Sets the joint radius of the bone chain. It is used to move and slide with the :ref:`SpringBoneCollision3D` in the collision list. + +The value is scaled by :ref:`set_radius_damping_curve` and cached in each joint setting in the joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_radius_damping_curve: + +.. rst-class:: classref-method + +|void| **set_radius_damping_curve**\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) :ref:`🔗` + +Sets the joint radius damping curve of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_root_bone: + +.. rst-class:: classref-method + +|void| **set_root_bone**\ (\ index\: :ref:`int`, bone\: :ref:`int`\ ) :ref:`🔗` + +Sets the root bone index of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_root_bone_name: + +.. rst-class:: classref-method + +|void| **set_root_bone_name**\ (\ index\: :ref:`int`, bone_name\: :ref:`String`\ ) :ref:`🔗` + +Sets the root bone name of the bone chain. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_rotation_axis: + +.. rst-class:: classref-method + +|void| **set_rotation_axis**\ (\ index\: :ref:`int`, axis\: :ref:`RotationAxis`\ ) :ref:`🔗` + +Sets the rotation axis of the bone chain. If sets a specific axis, it acts like a hinge joint. + +The value is cached in each joint setting in the joint list. + +\ **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_stiffness: + +.. rst-class:: classref-method + +|void| **set_stiffness**\ (\ index\: :ref:`int`, stiffness\: :ref:`float`\ ) :ref:`🔗` + +Sets the stiffness force of the bone chain. The greater the value, the faster it recovers to its initial pose. + +If ``stiffness`` is ``0``, the modified pose will not return to the original pose. + +The value is scaled by :ref:`set_stiffness_damping_curve` and cached in each joint setting in the joint list. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpringBoneSimulator3D_method_set_stiffness_damping_curve: + +.. rst-class:: classref-method + +|void| **set_stiffness_damping_curve**\ (\ index\: :ref:`int`, curve\: :ref:`Curve`\ ) :ref:`🔗` + +Sets the stiffness force damping curve of the bone chain. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_textureprogressbar.rst b/classes/class_textureprogressbar.rst index 9f54a3a63..4125f8ae1 100644 --- a/classes/class_textureprogressbar.rst +++ b/classes/class_textureprogressbar.rst @@ -207,7 +207,7 @@ The fill direction. See :ref:`FillMode` for po - |void| **set_nine_patch_stretch**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_nine_patch_stretch**\ (\ ) -If ``true``, Godot treats the bar's textures like in :ref:`NinePatchRect`. Use the ``stretch_margin_*`` properties like :ref:`stretch_margin_bottom` to set up the nine patch's 3×3 grid. When using a radial :ref:`fill_mode`, this setting will enable stretching. +If ``true``, Godot treats the bar's textures like in :ref:`NinePatchRect`. Use the ``stretch_margin_*`` properties like :ref:`stretch_margin_bottom` to set up the nine patch's 3×3 grid. When using a radial :ref:`fill_mode`, this setting will only enable stretching for :ref:`texture_progress`, while :ref:`texture_under` and :ref:`texture_over` will be treated like in :ref:`NinePatchRect`. .. rst-class:: classref-item-separator diff --git a/classes/class_tiledata.rst b/classes/class_tiledata.rst index 27501f317..adf61149a 100644 --- a/classes/class_tiledata.rst +++ b/classes/class_tiledata.rst @@ -90,6 +90,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_terrain_peering_bit`\ (\ peering_bit\: :ref:`CellNeighbor`\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_custom_data`\ (\ layer_name\: :ref:`String`\ ) |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_collision_polygon_one_way`\ (\ layer_id\: :ref:`int`, polygon_index\: :ref:`int`\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_terrain_peering_bit`\ (\ peering_bit\: :ref:`CellNeighbor`\ ) |const| | @@ -433,7 +435,7 @@ Returns the constant linear velocity applied to objects colliding with this tile :ref:`Variant` **get_custom_data**\ (\ layer_name\: :ref:`String`\ ) |const| :ref:`🔗` -Returns the custom data value for custom data layer named ``layer_name``. +Returns the custom data value for custom data layer named ``layer_name``. To check if a custom data layer exists, use :ref:`has_custom_data`. .. rst-class:: classref-item-separator @@ -519,6 +521,18 @@ Returns the tile's terrain bit for the given ``peering_bit`` direction. To check ---- +.. _class_TileData_method_has_custom_data: + +.. rst-class:: classref-method + +:ref:`bool` **has_custom_data**\ (\ layer_name\: :ref:`String`\ ) |const| :ref:`🔗` + +Returns whether there exists a custom data layer named ``layer_name``. + +.. rst-class:: classref-item-separator + +---- + .. _class_TileData_method_is_collision_polygon_one_way: .. rst-class:: classref-method diff --git a/classes/class_tileset.rst b/classes/class_tileset.rst index 4217d5718..9d7f47f56 100644 --- a/classes/class_tileset.rst +++ b/classes/class_tileset.rst @@ -161,6 +161,8 @@ Methods +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_coords_level_tile_proxy`\ (\ source_from\: :ref:`int`, coords_from\: :ref:`Vector2i`\ ) | +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_custom_data_layer_by_name`\ (\ layer_name\: :ref:`String`\ ) |const| | + +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_source`\ (\ source_id\: :ref:`int`\ ) |const| | +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_source_level_tile_proxy`\ (\ source_from\: :ref:`int`\ ) | @@ -1150,6 +1152,18 @@ Returns if there is a coodinates-level proxy for the given identifiers. ---- +.. _class_TileSet_method_has_custom_data_layer_by_name: + +.. rst-class:: classref-method + +:ref:`bool` **has_custom_data_layer_by_name**\ (\ layer_name\: :ref:`String`\ ) |const| :ref:`🔗` + +Returns if there is a custom data layer named ``layer_name``. + +.. rst-class:: classref-item-separator + +---- + .. _class_TileSet_method_has_source: .. rst-class:: classref-method diff --git a/classes/class_worldboundaryshape3d.rst b/classes/class_worldboundaryshape3d.rst index 2b3b11222..006a48db5 100644 --- a/classes/class_worldboundaryshape3d.rst +++ b/classes/class_worldboundaryshape3d.rst @@ -21,6 +21,8 @@ Description A 3D world boundary shape, intended for use in physics. **WorldBoundaryShape3D** works like an infinite plane that forces all physics bodies to stay above it. The :ref:`plane`'s normal determines which direction is considered as "above" and in the editor, the line over the plane represents this direction. It can for example be used for endless flat floors. +\ **Note:** When the physics engine is set to **Jolt Physics** in the project settings (:ref:`ProjectSettings.physics/3d/physics_engine`), **WorldBoundaryShape3D** has a finite size (centered at the world origin). It can be adjusted by changing :ref:`ProjectSettings.physics/jolt_physics_3d/limits/world_boundary_shape_size`. + .. rst-class:: classref-reftable-group Properties diff --git a/classes/index.rst b/classes/index.rst index 63be9c442..aa4e6f421 100644 --- a/classes/index.rst +++ b/classes/index.rst @@ -240,6 +240,11 @@ Nodes class_splitcontainer class_spotlight3d class_springarm3d + class_springbonecollision3d + class_springbonecollisioncapsule3d + class_springbonecollisionplane3d + class_springbonecollisionsphere3d + class_springbonesimulator3d class_sprite2d class_sprite3d class_spritebase3d