diff --git a/doc/classes/AnimatableBody2D.xml b/doc/classes/AnimatableBody2D.xml index e0479f68288..0218325f8ff 100644 --- a/doc/classes/AnimatableBody2D.xml +++ b/doc/classes/AnimatableBody2D.xml @@ -8,6 +8,8 @@ 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. + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html diff --git a/doc/classes/AnimatableBody3D.xml b/doc/classes/AnimatableBody3D.xml index f888ca14169..b18b8538e2d 100644 --- a/doc/classes/AnimatableBody3D.xml +++ b/doc/classes/AnimatableBody3D.xml @@ -8,6 +8,8 @@ When [AnimatableBody3D] 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. + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html https://godotengine.org/asset-library/asset/2747 https://godotengine.org/asset-library/asset/2710 https://godotengine.org/asset-library/asset/2755 diff --git a/doc/classes/CharacterBody2D.xml b/doc/classes/CharacterBody2D.xml index 6e89a8f936b..574b7f34964 100644 --- a/doc/classes/CharacterBody2D.xml +++ b/doc/classes/CharacterBody2D.xml @@ -8,6 +8,8 @@ For game objects that don't require complex movement or collision detection, such as moving platforms, [AnimatableBody2D] is simpler to configure. + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html $DOCS_URL/tutorials/physics/kinematic_character_2d.html $DOCS_URL/tutorials/physics/using_character_body_2d.html https://godotengine.org/asset-library/asset/2719 diff --git a/doc/classes/CharacterBody3D.xml b/doc/classes/CharacterBody3D.xml index 1fc098dd5e2..9252e05b35a 100644 --- a/doc/classes/CharacterBody3D.xml +++ b/doc/classes/CharacterBody3D.xml @@ -8,6 +8,8 @@ For game objects that don't require complex movement or collision detection, such as moving platforms, [AnimatableBody3D] is simpler to configure. + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html $DOCS_URL/tutorials/physics/kinematic_character_2d.html https://godotengine.org/asset-library/asset/2739 https://godotengine.org/asset-library/asset/2748 diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml index fa3bb941bf5..ca064db0746 100644 --- a/doc/classes/PhysicsBody2D.xml +++ b/doc/classes/PhysicsBody2D.xml @@ -8,6 +8,7 @@ $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html diff --git a/doc/classes/PhysicsBody3D.xml b/doc/classes/PhysicsBody3D.xml index 5019da35c82..6da20afa8f9 100644 --- a/doc/classes/PhysicsBody3D.xml +++ b/doc/classes/PhysicsBody3D.xml @@ -9,6 +9,7 @@ $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index e1f7cab588c..58e1db43745 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -2555,7 +2555,8 @@ Enables [member Viewport.physics_object_picking] on the root viewport. - 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 [code]1 / max_physics_steps_per_frame[/code] of [member physics/common/physics_ticks_per_second]. This occurs even if [code]delta[/code] is consistently used in physics calculations. To avoid this, increase [member physics/common/max_physics_steps_per_frame] if you have increased [member 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 [i]physics spiral of death[/i]. + However, the game will appear to slow down if the rendering FPS is less than [code]1 / max_physics_steps_per_frame[/code] of [member physics/common/physics_ticks_per_second]. This occurs even if [code]delta[/code] is consistently used in physics calculations. To avoid this, increase [member physics/common/max_physics_steps_per_frame] if you have increased [member physics/common/physics_ticks_per_second] significantly above its default value. [b]Note:[/b] This property is only read when the project starts. To change the maximum number of simulated physics steps per frame at runtime, set [member Engine.max_physics_steps_per_frame] instead. diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index b8b42dc2823..78c6ce57f64 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -12,6 +12,8 @@ [b]Note:[/b] Changing the 2D transform or [member linear_velocity] of a [RigidBody2D] very often may lead to some unpredictable behaviors. This also happens when a [RigidBody2D] is the descendant of a constantly moving node, like another [RigidBody2D], as that will cause its global transform to be set whenever its ancestor moves. + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html https://godotengine.org/asset-library/asset/2725 https://godotengine.org/asset-library/asset/2716 diff --git a/doc/classes/RigidBody3D.xml b/doc/classes/RigidBody3D.xml index 24e46158f46..0d98755e419 100644 --- a/doc/classes/RigidBody3D.xml +++ b/doc/classes/RigidBody3D.xml @@ -13,6 +13,7 @@ $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html https://godotengine.org/asset-library/asset/2752 https://godotengine.org/asset-library/asset/2747 diff --git a/doc/classes/StaticBody2D.xml b/doc/classes/StaticBody2D.xml index e732d4d58fa..d94ead0f71f 100644 --- a/doc/classes/StaticBody2D.xml +++ b/doc/classes/StaticBody2D.xml @@ -9,6 +9,8 @@ [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 [member constant_linear_velocity] and [member constant_angular_velocity]). + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html diff --git a/doc/classes/StaticBody3D.xml b/doc/classes/StaticBody3D.xml index a2a9a97bc1f..bb61e6e4fb7 100644 --- a/doc/classes/StaticBody3D.xml +++ b/doc/classes/StaticBody3D.xml @@ -9,6 +9,8 @@ [StaticBody3D] is useful for completely static objects like floors and walls, as well as moving surfaces like conveyor belts and circular revolving platforms (by using [member constant_linear_velocity] and [member constant_angular_velocity]). + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html https://godotengine.org/asset-library/asset/2747 https://godotengine.org/asset-library/asset/2710 https://godotengine.org/asset-library/asset/2755 diff --git a/doc/classes/VehicleBody3D.xml b/doc/classes/VehicleBody3D.xml index fbf48676f25..968acab20b2 100644 --- a/doc/classes/VehicleBody3D.xml +++ b/doc/classes/VehicleBody3D.xml @@ -10,6 +10,8 @@ [b]Note:[/b] This class has known issues and isn't designed to provide realistic 3D vehicle physics. If you want advanced vehicle physics, you may have to write your own physics integration using [CharacterBody3D] or [RigidBody3D]. + $DOCS_URL/tutorials/physics/physics_introduction.html + $DOCS_URL/tutorials/physics/troubleshooting_physics_issues.html https://godotengine.org/asset-library/asset/2752