diff --git a/classes/class_animatablebody2d.rst b/classes/class_animatablebody2d.rst index 348d034ec..336773921 100644 --- a/classes/class_animatablebody2d.rst +++ b/classes/class_animatablebody2d.rst @@ -23,6 +23,15 @@ An animatable 2D physics body. It can't be moved by external forces or contacts, When **AnimatableBody2D** is moved, its linear and angular velocity are estimated and used to affect other physics bodies in its path. This makes it useful for moving platforms, doors, and other moving objects. +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_animatablebody3d.rst b/classes/class_animatablebody3d.rst index a50d1deef..1705b4d32 100644 --- a/classes/class_animatablebody3d.rst +++ b/classes/class_animatablebody3d.rst @@ -28,6 +28,10 @@ When **AnimatableBody3D** is moved, its linear and angular velocity are estimate Tutorials --------- +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - `3D Physics Tests Demo `__ - `Third Person Shooter (TPS) Demo `__ diff --git a/classes/class_astar2d.rst b/classes/class_astar2d.rst index 9588d6965..aad2ca6a7 100644 --- a/classes/class_astar2d.rst +++ b/classes/class_astar2d.rst @@ -32,6 +32,18 @@ Tutorials .. rst-class:: classref-reftable-group +Properties +---------- + +.. table:: + :widths: auto + + +-------------------------+--------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`neighbor_filter_enabled` | ``false`` | + +-------------------------+--------------------------------------------------------------------------------+-----------+ + +.. rst-class:: classref-reftable-group + Methods ------- @@ -43,6 +55,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_filter_neighbor`\ (\ from_id\: :ref:`int`, neighbor_id\: :ref:`int`\ ) |virtual| |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_point`\ (\ id\: :ref:`int`, position\: :ref:`Vector2`, weight_scale\: :ref:`float` = 1.0\ ) | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`are_points_connected`\ (\ id\: :ref:`int`, to_id\: :ref:`int`, bidirectional\: :ref:`bool` = true\ ) |const| | @@ -96,6 +110,28 @@ Methods .. rst-class:: classref-descriptions-group +Property Descriptions +--------------------- + +.. _class_AStar2D_property_neighbor_filter_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **neighbor_filter_enabled** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_neighbor_filter_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_neighbor_filter_enabled**\ (\ ) + +If ``true`` enables the filtering of neighbors via :ref:`_filter_neighbor()`. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + Method Descriptions ------------------- @@ -127,6 +163,20 @@ Note that this function is hidden in the default **AStar2D** class. ---- +.. _class_AStar2D_private_method__filter_neighbor: + +.. rst-class:: classref-method + +:ref:`bool` **_filter_neighbor**\ (\ from_id\: :ref:`int`, neighbor_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` + +Called when neighboring enters processing and if :ref:`neighbor_filter_enabled` is ``true``. If ``true`` is returned the point will not be processed. + +Note that this function is hidden in the default **AStar2D** class. + +.. rst-class:: classref-item-separator + +---- + .. _class_AStar2D_method_add_point: .. rst-class:: classref-method diff --git a/classes/class_astar3d.rst b/classes/class_astar3d.rst index 6b10fe03f..11b038f6b 100644 --- a/classes/class_astar3d.rst +++ b/classes/class_astar3d.rst @@ -76,6 +76,18 @@ If the default :ref:`_estimate_cost()` | :ref:`neighbor_filter_enabled` | ``false`` | + +-------------------------+--------------------------------------------------------------------------------+-----------+ + +.. rst-class:: classref-reftable-group + Methods ------- @@ -87,6 +99,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_filter_neighbor`\ (\ from_id\: :ref:`int`, neighbor_id\: :ref:`int`\ ) |virtual| |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_point`\ (\ id\: :ref:`int`, position\: :ref:`Vector3`, weight_scale\: :ref:`float` = 1.0\ ) | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`are_points_connected`\ (\ id\: :ref:`int`, to_id\: :ref:`int`, bidirectional\: :ref:`bool` = true\ ) |const| | @@ -140,6 +154,28 @@ Methods .. rst-class:: classref-descriptions-group +Property Descriptions +--------------------- + +.. _class_AStar3D_property_neighbor_filter_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **neighbor_filter_enabled** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_neighbor_filter_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_neighbor_filter_enabled**\ (\ ) + +If ``true`` enables the filtering of neighbors via :ref:`_filter_neighbor()`. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + Method Descriptions ------------------- @@ -171,6 +207,20 @@ Note that this function is hidden in the default **AStar3D** class. ---- +.. _class_AStar3D_private_method__filter_neighbor: + +.. rst-class:: classref-method + +:ref:`bool` **_filter_neighbor**\ (\ from_id\: :ref:`int`, neighbor_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` + +Called when neighboring point enters processing and if :ref:`neighbor_filter_enabled` is ``true``. If ``true`` is returned the point will not be processed. + +Note that this function is hidden in the default **AStar3D** class. + +.. rst-class:: classref-item-separator + +---- + .. _class_AStar3D_method_add_point: .. rst-class:: classref-method diff --git a/classes/class_audiolistener3d.rst b/classes/class_audiolistener3d.rst index 3792808e6..5bc0d1f88 100644 --- a/classes/class_audiolistener3d.rst +++ b/classes/class_audiolistener3d.rst @@ -26,6 +26,18 @@ Once added to the scene tree and enabled using :ref:`make_current()` | :ref:`doppler_tracking` | ``0`` | + +--------------------------------------------------------------+--------------------------------------------------------------------------+-------+ + +.. rst-class:: classref-reftable-group + Methods ------- @@ -48,6 +60,69 @@ Methods .. rst-class:: classref-descriptions-group +Enumerations +------------ + +.. _enum_AudioListener3D_DopplerTracking: + +.. rst-class:: classref-enumeration + +enum **DopplerTracking**: :ref:`🔗` + +.. _class_AudioListener3D_constant_DOPPLER_TRACKING_DISABLED: + +.. rst-class:: classref-enumeration-constant + +:ref:`DopplerTracking` **DOPPLER_TRACKING_DISABLED** = ``0`` + +Disables `Doppler effect `__ simulation (default). + +.. _class_AudioListener3D_constant_DOPPLER_TRACKING_IDLE_STEP: + +.. rst-class:: classref-enumeration-constant + +:ref:`DopplerTracking` **DOPPLER_TRACKING_IDLE_STEP** = ``1`` + +Simulate `Doppler effect `__ by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this listener compared to those objects affect how audio is perceived (changing the audio's :ref:`AudioStreamPlayer3D.pitch_scale`). + +.. _class_AudioListener3D_constant_DOPPLER_TRACKING_PHYSICS_STEP: + +.. rst-class:: classref-enumeration-constant + +:ref:`DopplerTracking` **DOPPLER_TRACKING_PHYSICS_STEP** = ``2`` + +Simulate `Doppler effect `__ by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this listener compared to those objects affect how audio is perceived (changing the audio's :ref:`AudioStreamPlayer3D.pitch_scale`). + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_AudioListener3D_property_doppler_tracking: + +.. rst-class:: classref-property + +:ref:`DopplerTracking` **doppler_tracking** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_doppler_tracking**\ (\ value\: :ref:`DopplerTracking`\ ) +- :ref:`DopplerTracking` **get_doppler_tracking**\ (\ ) + +If not :ref:`DOPPLER_TRACKING_DISABLED`, this listener will simulate the `Doppler effect `__ for objects changed in particular ``_process`` methods. + +\ **Note:** The Doppler effect will only be heard on :ref:`AudioStreamPlayer3D`\ s if :ref:`AudioStreamPlayer3D.doppler_tracking` is not set to :ref:`AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED`. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + Method Descriptions ------------------- diff --git a/classes/class_audiostreamplayer3d.rst b/classes/class_audiostreamplayer3d.rst index 236c393cc..eef1a42c4 100644 --- a/classes/class_audiostreamplayer3d.rst +++ b/classes/class_audiostreamplayer3d.rst @@ -337,6 +337,8 @@ The bus on which this audio is playing. Decides in which step the Doppler effect should be calculated. +\ **Note:** If :ref:`doppler_tracking` is not :ref:`DOPPLER_TRACKING_DISABLED` but the current :ref:`Camera3D`/:ref:`AudioListener3D` has doppler tracking disabled, the Doppler effect will be heard but will not take the movement of the current listener into account. If accurate Doppler effect is desired, doppler tracking should be enabled on both the **AudioStreamPlayer3D** and the current :ref:`Camera3D`/:ref:`AudioListener3D`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_basebutton.rst b/classes/class_basebutton.rst index e762a1a5c..d9e40d63a 100644 --- a/classes/class_basebutton.rst +++ b/classes/class_basebutton.rst @@ -307,6 +307,8 @@ If ``true``, the button's state is pressed. Means the button is pressed down or If ``true``, the button is in disabled state and can't be clicked or toggled. +\ **Note:** If the button is disabled while held down, :ref:`button_up` will be emitted. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_buttongroup.rst b/classes/class_buttongroup.rst index cd4a0bc6c..ab41d2710 100644 --- a/classes/class_buttongroup.rst +++ b/classes/class_buttongroup.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: radio + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_camera3d.rst b/classes/class_camera3d.rst index 29b1516b3..a29482fd7 100644 --- a/classes/class_camera3d.rst +++ b/classes/class_camera3d.rst @@ -315,6 +315,8 @@ If multiple cameras are in the scene, one will always be made current. For examp If not :ref:`DOPPLER_TRACKING_DISABLED`, this camera will simulate the `Doppler effect `__ for objects changed in particular ``_process`` methods. +\ **Note:** The Doppler effect will only be heard on :ref:`AudioStreamPlayer3D`\ s if :ref:`AudioStreamPlayer3D.doppler_tracking` is not set to :ref:`AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_characterbody2d.rst b/classes/class_characterbody2d.rst index f191a9d3b..659ba422d 100644 --- a/classes/class_characterbody2d.rst +++ b/classes/class_characterbody2d.rst @@ -28,6 +28,10 @@ For game objects that don't require complex movement or collision detection, suc Tutorials --------- +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - :doc:`Kinematic character (2D) <../tutorials/physics/kinematic_character_2d>` - :doc:`Using CharacterBody2D <../tutorials/physics/using_character_body_2d>` diff --git a/classes/class_characterbody3d.rst b/classes/class_characterbody3d.rst index ee09e256a..1e6fa9f5e 100644 --- a/classes/class_characterbody3d.rst +++ b/classes/class_characterbody3d.rst @@ -28,6 +28,10 @@ For game objects that don't require complex movement or collision detection, suc Tutorials --------- +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - :doc:`Kinematic character (2D) <../tutorials/physics/kinematic_character_2d>` - `3D Kinematic Character Demo `__ diff --git a/classes/class_checkbutton.rst b/classes/class_checkbutton.rst index 4a6d0fc92..0c4217f08 100644 --- a/classes/class_checkbutton.rst +++ b/classes/class_checkbutton.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: switch, toggle + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index b97cd1104..44252bae0 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -1488,7 +1488,7 @@ Scroll backward action, callback argument is not set. :ref:`AccessibilityAction` **ACTION_SCROLL_DOWN** = ``12`` -Scroll down action, callback argument is not set. +Scroll down action, callback argument is set to :ref:`AccessibilityScrollUnit`. .. _class_DisplayServer_constant_ACTION_SCROLL_FORWARD: @@ -1504,7 +1504,7 @@ Scroll forward action, callback argument is not set. :ref:`AccessibilityAction` **ACTION_SCROLL_LEFT** = ``14`` -Scroll left action, callback argument is not set. +Scroll left action, callback argument is set to :ref:`AccessibilityScrollUnit`. .. _class_DisplayServer_constant_ACTION_SCROLL_RIGHT: @@ -1512,7 +1512,7 @@ Scroll left action, callback argument is not set. :ref:`AccessibilityAction` **ACTION_SCROLL_RIGHT** = ``15`` -Scroll right action, callback argument is not set. +Scroll right action, callback argument is set to :ref:`AccessibilityScrollUnit`. .. _class_DisplayServer_constant_ACTION_SCROLL_UP: @@ -1520,7 +1520,7 @@ Scroll right action, callback argument is not set. :ref:`AccessibilityAction` **ACTION_SCROLL_UP** = ``16`` -Scroll up action, callback argument is not set. +Scroll up action, callback argument is set to :ref:`AccessibilityScrollUnit`. .. _class_DisplayServer_constant_ACTION_SCROLL_INTO_VIEW: @@ -1528,7 +1528,7 @@ Scroll up action, callback argument is not set. :ref:`AccessibilityAction` **ACTION_SCROLL_INTO_VIEW** = ``17`` -Scroll into view action, callback argument is not set. +Scroll into view action, callback argument is set to :ref:`AccessibilityScrollHint`. .. _class_DisplayServer_constant_ACTION_SCROLL_TO_POINT: @@ -1608,6 +1608,90 @@ Indicates that updates to the live region have the highest priority and should b ---- +.. _enum_DisplayServer_AccessibilityScrollUnit: + +.. rst-class:: classref-enumeration + +enum **AccessibilityScrollUnit**: :ref:`🔗` + +.. _class_DisplayServer_constant_SCROLL_UNIT_ITEM: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollUnit` **SCROLL_UNIT_ITEM** = ``0`` + +The amount by which to scroll. A single item of a list, line of text. + +.. _class_DisplayServer_constant_SCROLL_UNIT_PAGE: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollUnit` **SCROLL_UNIT_PAGE** = ``1`` + +The amount by which to scroll. A single page. + +.. rst-class:: classref-item-separator + +---- + +.. _enum_DisplayServer_AccessibilityScrollHint: + +.. rst-class:: classref-enumeration + +enum **AccessibilityScrollHint**: :ref:`🔗` + +.. _class_DisplayServer_constant_SCROLL_HINT_TOP_LEFT: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollHint` **SCROLL_HINT_TOP_LEFT** = ``0`` + +A preferred position for the node scrolled into view. Top-left edge of the scroll container. + +.. _class_DisplayServer_constant_SCROLL_HINT_BOTTOM_RIGHT: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollHint` **SCROLL_HINT_BOTTOM_RIGHT** = ``1`` + +A preferred position for the node scrolled into view. Bottom-right edge of the scroll container. + +.. _class_DisplayServer_constant_SCROLL_HINT_TOP_EDGE: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollHint` **SCROLL_HINT_TOP_EDGE** = ``2`` + +A preferred position for the node scrolled into view. Top edge of the scroll container. + +.. _class_DisplayServer_constant_SCROLL_HINT_BOTTOM_EDGE: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollHint` **SCROLL_HINT_BOTTOM_EDGE** = ``3`` + +A preferred position for the node scrolled into view. Bottom edge of the scroll container. + +.. _class_DisplayServer_constant_SCROLL_HINT_LEFT_EDGE: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollHint` **SCROLL_HINT_LEFT_EDGE** = ``4`` + +A preferred position for the node scrolled into view. Left edge of the scroll container. + +.. _class_DisplayServer_constant_SCROLL_HINT_RIGHT_EDGE: + +.. rst-class:: classref-enumeration-constant + +:ref:`AccessibilityScrollHint` **SCROLL_HINT_RIGHT_EDGE** = ``5`` + +A preferred position for the node scrolled into view. Right edge of the scroll container. + +.. rst-class:: classref-item-separator + +---- + .. _enum_DisplayServer_MouseMode: .. rst-class:: classref-enumeration diff --git a/classes/class_editorexportplatformandroid.rst b/classes/class_editorexportplatformandroid.rst index 980cc3f54..e304884a5 100644 --- a/classes/class_editorexportplatformandroid.rst +++ b/classes/class_editorexportplatformandroid.rst @@ -416,6 +416,8 @@ Properties +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`permissions/write_user_dictionary` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`screen/background_color` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`screen/edge_to_edge` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`screen/immersive_mode` | @@ -2790,6 +2792,18 @@ Allows an application to write to the user dictionary. ---- +.. _class_EditorExportPlatformAndroid_property_screen/background_color: + +.. rst-class:: classref-property + +:ref:`Color` **screen/background_color** :ref:`🔗` + +The background color used for the root window. Default is ``black``. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformAndroid_property_screen/edge_to_edge: .. rst-class:: classref-property diff --git a/classes/class_editorscript.rst b/classes/class_editorscript.rst index c00c72ed1..67626f907 100644 --- a/classes/class_editorscript.rst +++ b/classes/class_editorscript.rst @@ -53,8 +53,6 @@ If a script extending this class also has a global class name, it will be includ -\ **Note:** The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot **Output** dock. - \ **Note:** EditorScript is :ref:`RefCounted`, meaning it is destroyed when nothing references it. This can cause errors during asynchronous operations if there are no references to the script. .. rst-class:: classref-reftable-group diff --git a/classes/class_gridmap.rst b/classes/class_gridmap.rst index db3812ac8..23232c793 100644 --- a/classes/class_gridmap.rst +++ b/classes/class_gridmap.rst @@ -445,7 +445,9 @@ Returns :ref:`RID` of a baked mesh with the given ``idx``. :ref:`Array` **get_bake_meshes**\ (\ ) :ref:`🔗` -Returns an array of :ref:`ArrayMesh`\ es and :ref:`Transform3D` references of all bake meshes that exist within the current GridMap. +Returns an array of :ref:`ArrayMesh`\ es and :ref:`Transform3D` references of all bake meshes that exist within the current GridMap. Even indices contain :ref:`ArrayMesh`\ es, while odd indices contain :ref:`Transform3D`\ s that are always equal to :ref:`Transform3D.IDENTITY`. + +This method relies on the output of :ref:`make_baked_meshes()`, which will be called with ``gen_lightmap_uv`` set to ``true`` and ``lightmap_uv_texel_size`` set to ``0.1`` if it hasn't been called yet. .. rst-class:: classref-item-separator @@ -529,7 +531,7 @@ Returns whether or not the specified layer of the :ref:`collision_mask` **get_meshes**\ (\ ) |const| :ref:`🔗` -Returns an array of :ref:`Transform3D` and :ref:`Mesh` references corresponding to the non-empty cells in the grid. The transforms are specified in local space. +Returns an array of :ref:`Transform3D` and :ref:`Mesh` references corresponding to the non-empty cells in the grid. The transforms are specified in local space. Even indices contain :ref:`Transform3D`\ s, while odd indices contain :ref:`Mesh`\ es related to the :ref:`Transform3D` in the index preceding it. .. rst-class:: classref-item-separator @@ -603,7 +605,9 @@ Returns the map coordinates of the cell containing the given ``local_position``. |void| **make_baked_meshes**\ (\ gen_lightmap_uv\: :ref:`bool` = false, lightmap_uv_texel_size\: :ref:`float` = 0.1\ ) :ref:`🔗` -Bakes lightmap data for all meshes in the assigned :ref:`MeshLibrary`. +Generates a baked mesh that represents all meshes in the assigned :ref:`MeshLibrary` for use with :ref:`LightmapGI`. If ``gen_lightmap_uv`` is ``true``, UV2 data will be generated for each mesh currently used in the **GridMap**. Otherwise, only meshes that already have UV2 data present will be able to use baked lightmaps. When generating UV2, ``lightmap_uv_texel_size`` controls the texel density for lightmaps, with lower values resulting in more detailed lightmaps. ``lightmap_uv_texel_size`` is ignored if ``gen_lightmap_uv`` is ``false``. See also :ref:`get_bake_meshes()`, which relies on the output of this method. + +\ **Note:** Calling this method will not actually bake lightmaps, as lightmap baking is performed using the :ref:`LightmapGI` node. .. rst-class:: classref-item-separator diff --git a/classes/class_javaclasswrapper.rst b/classes/class_javaclasswrapper.rst index c7e8290fb..9ed13492b 100644 --- a/classes/class_javaclasswrapper.rst +++ b/classes/class_javaclasswrapper.rst @@ -89,6 +89,13 @@ Wraps a class defined in Java, and returns it as a :ref:`JavaClass`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` diff --git a/classes/class_optionbutton.rst b/classes/class_optionbutton.rst index 7b15b2510..a1da7dd2c 100644 --- a/classes/class_optionbutton.rst +++ b/classes/class_optionbutton.rst @@ -260,6 +260,8 @@ Method Descriptions Adds an item, with a ``texture`` icon, text ``label`` and (optionally) ``id``. If no ``id`` is passed, the item index will be used as the item's ID. New items are appended at the end. +\ **Note:** The item will be selected if there are no other items. + .. rst-class:: classref-item-separator ---- @@ -272,6 +274,8 @@ Adds an item, with a ``texture`` icon, text ``label`` and (optionally) ``id``. I Adds an item, with text ``label`` and (optionally) ``id``. If no ``id`` is passed, the item index will be used as the item's ID. New items are appended at the end. +\ **Note:** The item will be selected if there are no other items. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_physicsbody2d.rst b/classes/class_physicsbody2d.rst index 290e643b6..aced353e4 100644 --- a/classes/class_physicsbody2d.rst +++ b/classes/class_physicsbody2d.rst @@ -30,6 +30,8 @@ Tutorials - :doc:`Physics introduction <../tutorials/physics/physics_introduction>` +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_physicsbody3d.rst b/classes/class_physicsbody3d.rst index 0e219c254..55a162d36 100644 --- a/classes/class_physicsbody3d.rst +++ b/classes/class_physicsbody3d.rst @@ -32,6 +32,8 @@ Tutorials - :doc:`Physics introduction <../tutorials/physics/physics_introduction>` +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index 25def1217..d3ea1235c 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -10514,7 +10514,9 @@ Enables :ref:`Viewport.physics_object_picking` **physics/common/max_physics_steps_per_frame** = ``8`` :ref:`🔗` -Controls the maximum number of physics steps that can be simulated each rendered frame. The default value is tuned to avoid "spiral of death" situations where expensive physics simulations trigger more expensive simulations indefinitely. However, the game will appear to slow down if the rendering FPS is less than ``1 / max_physics_steps_per_frame`` of :ref:`physics/common/physics_ticks_per_second`. This occurs even if ``delta`` is consistently used in physics calculations. To avoid this, increase :ref:`physics/common/max_physics_steps_per_frame` if you have increased :ref:`physics/common/physics_ticks_per_second` significantly above its default value. +Controls the maximum number of physics steps that can be simulated each rendered frame. The default value is tuned to avoid situations where the framerate suddenly drops to a very low value beyond a certain amount of physics simulation. This occurs because the physics engine can't keep up with the expected simulation rate. In this case, the framerate will start dropping, but the engine is only allowed to simulate a certain number of physics steps per rendered frame. This snowballs into a situation where framerate keeps dropping until it reaches a very low framerate (typically 1-2 FPS) and is called the *physics spiral of death*. + +However, the game will appear to slow down if the rendering FPS is less than ``1 / max_physics_steps_per_frame`` of :ref:`physics/common/physics_ticks_per_second`. This occurs even if ``delta`` is consistently used in physics calculations. To avoid this, increase :ref:`physics/common/max_physics_steps_per_frame` if you have increased :ref:`physics/common/physics_ticks_per_second` significantly above its default value. \ **Note:** This property is only read when the project starts. To change the maximum number of simulated physics steps per frame at runtime, set :ref:`Engine.max_physics_steps_per_frame` instead. diff --git a/classes/class_reflectionprobe.rst b/classes/class_reflectionprobe.rst index 8a8566cea..1c88dd3cd 100644 --- a/classes/class_reflectionprobe.rst +++ b/classes/class_reflectionprobe.rst @@ -28,7 +28,7 @@ The **ReflectionProbe** is used to create high-quality reflections at a low perf \ **Note:** Unlike :ref:`VoxelGI` and SDFGI, **ReflectionProbe**\ s only source their environment from a :ref:`WorldEnvironment` node. If you specify an :ref:`Environment` resource within a :ref:`Camera3D` node, it will be ignored by the **ReflectionProbe**. This can lead to incorrect lighting within the **ReflectionProbe**. -\ **Note:** Reflection probes are only supported in the Forward+ and Mobile rendering methods, not Compatibility. When using the Mobile rendering method, only 8 reflection probes can be displayed on each mesh resource. Attempting to display more than 8 reflection probes on a single mesh resource will result in reflection probes flickering in and out as the camera moves. +\ **Note:** When using the Mobile rendering method, only ``8`` reflection probes can be displayed on each mesh resource, while the Compatibility rendering method only supports up to ``2`` reflection probes on each mesh. Attempting to display more than ``8`` reflection probes on a single mesh resource using the Mobile renderer will result in reflection probes flickering in and out as the camera moves, while the Compatibility renderer will not render any additional probes if more than ``2`` reflection probes are being used. \ **Note:** When using the Mobile rendering method, reflection probes will only correctly affect meshes whose visibility AABB intersects with the reflection probe's AABB. If using a shader to deform the mesh in a way that makes it go outside its AABB, :ref:`GeometryInstance3D.extra_cull_margin` must be increased on the mesh. Otherwise, the reflection probe may not be visible on the mesh. diff --git a/classes/class_renderingdevice.rst b/classes/class_renderingdevice.rst index cedd9a66f..521d017e9 100644 --- a/classes/class_renderingdevice.rst +++ b/classes/class_renderingdevice.rst @@ -359,9 +359,13 @@ enum **DriverResource**: :ref:`🔗` :ref:`DriverResource` **DRIVER_RESOURCE_LOGICAL_DEVICE** = ``0`` -Specific device object based on a physical device. +Specific device object based on a physical device (``rid`` parameter is ignored). -- Vulkan: Vulkan device driver resource (``VkDevice``) (``rid`` parameter is ignored). +- Vulkan: Vulkan device driver resource (``VkDevice``). + +- D3D12: D3D12 device driver resource (``ID3D12Device``). + +- Metal: Metal device driver resource (``MTLDevice``). .. _class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE: @@ -369,9 +373,11 @@ Specific device object based on a physical device. :ref:`DriverResource` **DRIVER_RESOURCE_PHYSICAL_DEVICE** = ``1`` -Physical device the specific logical device is based on. +Physical device the specific logical device is based on (``rid`` parameter is ignored). -- Vulkan: ``VkDevice`` (``rid`` parameter is ignored). +- Vulkan: ``VkPhysicalDevice``. + +- D3D12: ``IDXGIAdapter``. .. _class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT: @@ -379,9 +385,9 @@ Physical device the specific logical device is based on. :ref:`DriverResource` **DRIVER_RESOURCE_TOPMOST_OBJECT** = ``2`` -Top-most graphics API entry object. +Top-most graphics API entry object (``rid`` parameter is ignored). -- Vulkan: ``VkInstance`` (``rid`` parameter is ignored). +- Vulkan: ``VkInstance``. .. _class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE: @@ -389,9 +395,11 @@ Top-most graphics API entry object. :ref:`DriverResource` **DRIVER_RESOURCE_COMMAND_QUEUE** = ``3`` -The main graphics-compute command queue. +The main graphics-compute command queue (``rid`` parameter is ignored). -- Vulkan: ``VkQueue`` (``rid`` parameter is ignored). +- Vulkan: ``VkQueue``. + +- Metal: ``MTLCommandQueue``. .. _class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY: @@ -399,9 +407,9 @@ The main graphics-compute command queue. :ref:`DriverResource` **DRIVER_RESOURCE_QUEUE_FAMILY** = ``4`` -The specific family the main queue belongs to. +The specific family the main queue belongs to (``rid`` parameter is ignored). -- Vulkan: The queue family index, a ``uint32_t`` (``rid`` parameter is ignored). +- Vulkan: The queue family index, a ``uint32_t``. .. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE: @@ -421,6 +429,8 @@ The view of an owned or shared texture. - Vulkan: ``VkImageView``. +- D3D12: ``ID3D12Resource``. + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT: .. rst-class:: classref-enumeration-constant @@ -431,6 +441,8 @@ The native id of the data format of the texture. - Vulkan: ``VkFormat``. +- D3D12: ``DXGI_FORMAT``. + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER: .. rst-class:: classref-enumeration-constant @@ -457,6 +469,8 @@ Buffer of any kind of (storage, vertex, etc.). - Vulkan: ``VkBuffer``. +- D3D12: ``ID3D12Resource``. + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE: .. rst-class:: classref-enumeration-constant @@ -465,6 +479,8 @@ Buffer of any kind of (storage, vertex, etc.). - Vulkan: ``VkPipeline``. +- Metal: ``MTLComputePipelineState``. + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE: .. rst-class:: classref-enumeration-constant @@ -473,6 +489,8 @@ Buffer of any kind of (storage, vertex, etc.). - Vulkan: ``VkPipeline``. +- Metal: ``MTLRenderPipelineState``. + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_DEVICE: .. rst-class:: classref-enumeration-constant diff --git a/classes/class_rigidbody2d.rst b/classes/class_rigidbody2d.rst index 0429a29f8..a700d26bf 100644 --- a/classes/class_rigidbody2d.rst +++ b/classes/class_rigidbody2d.rst @@ -38,6 +38,10 @@ If you need to override the default physics behavior, you can write a custom for Tutorials --------- +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - `2D Physics Platformer Demo `__ - `Instancing Demo `__ @@ -430,7 +434,7 @@ If ``true``, the body can enter sleep mode when there is no movement. See :ref:` The body's custom center of mass, relative to the body's origin position, when :ref:`center_of_mass_mode` is set to :ref:`CENTER_OF_MASS_MODE_CUSTOM`. This is the balanced point of the body, where applied forces only cause linear acceleration. Applying forces outside of the center of mass causes angular acceleration. -When :ref:`center_of_mass_mode` is set to :ref:`CENTER_OF_MASS_MODE_AUTO` (default value), the center of mass is automatically computed. +When :ref:`center_of_mass_mode` is set to :ref:`CENTER_OF_MASS_MODE_AUTO` (default value), the center of mass is automatically determined, but this does not update the value of :ref:`center_of_mass`. .. rst-class:: classref-item-separator diff --git a/classes/class_rigidbody3d.rst b/classes/class_rigidbody3d.rst index 461d7da98..44652bbc9 100644 --- a/classes/class_rigidbody3d.rst +++ b/classes/class_rigidbody3d.rst @@ -40,6 +40,8 @@ Tutorials - :doc:`Physics introduction <../tutorials/physics/physics_introduction>` +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - `3D Truck Town Demo `__ - `3D Physics Tests Demo `__ @@ -400,7 +402,7 @@ If ``true``, the body can enter sleep mode when there is no movement. See :ref:` The body's custom center of mass, relative to the body's origin position, when :ref:`center_of_mass_mode` is set to :ref:`CENTER_OF_MASS_MODE_CUSTOM`. This is the balanced point of the body, where applied forces only cause linear acceleration. Applying forces outside of the center of mass causes angular acceleration. -When :ref:`center_of_mass_mode` is set to :ref:`CENTER_OF_MASS_MODE_AUTO` (default value), the center of mass is automatically computed. +When :ref:`center_of_mass_mode` is set to :ref:`CENTER_OF_MASS_MODE_AUTO` (default value), the center of mass is automatically determined, but this does not update the value of :ref:`center_of_mass`. .. rst-class:: classref-item-separator diff --git a/classes/class_staticbody2d.rst b/classes/class_staticbody2d.rst index e82b25a21..2d21ee80b 100644 --- a/classes/class_staticbody2d.rst +++ b/classes/class_staticbody2d.rst @@ -27,6 +27,15 @@ When **StaticBody2D** is moved, it is teleported to its new position without aff \ **StaticBody2D** is useful for completely static objects like floors and walls, as well as moving surfaces like conveyor belts and circular revolving platforms (by using :ref:`constant_linear_velocity` and :ref:`constant_angular_velocity`). +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_staticbody3d.rst b/classes/class_staticbody3d.rst index f27584fc8..67e68a4e4 100644 --- a/classes/class_staticbody3d.rst +++ b/classes/class_staticbody3d.rst @@ -32,6 +32,10 @@ When **StaticBody3D** is moved, it is teleported to its new position without aff Tutorials --------- +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - `3D Physics Tests Demo `__ - `Third Person Shooter (TPS) Demo `__ diff --git a/classes/class_vehiclebody3d.rst b/classes/class_vehiclebody3d.rst index a8eca03e9..9e8bc3b34 100644 --- a/classes/class_vehiclebody3d.rst +++ b/classes/class_vehiclebody3d.rst @@ -32,6 +32,10 @@ This physics body implements all the physics logic needed to simulate a car. It Tutorials --------- +- :doc:`Physics introduction <../tutorials/physics/physics_introduction>` + +- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>` + - `3D Truck Town Demo `__ .. rst-class:: classref-reftable-group