physics/3d/solver is missing default_constraint_bias (present in physics/2d/solver)
Tested versions
Reproduced in v4.8.dev5 (custom build from master, commit 1c8cc9e7).
System information
Godot v4.8.dev (dfa06cafb) - Windows - Multi-window, 2 monitors (, ) - OpenGL 3 (Compatibility) - AMD Radeon RX 6950 XT (Advanced Micro Devices, Inc.; 32.0.21045.5002) - - 3.91 GiB memory -
Issue description
physics/2d/solver has both default_contact_bias and
default_constraint_bias, but physics/3d/solver has
default_contact_bias but doesn't have default_constraint_bias for 3D physics at all.
Found while investigating #123451 (missing suffix units), where comparing PhysicsServer2D::PhysicsServer2D() and PhysicsServer3D::PhysicsServer3D() constructors side by side revealed this property exists only in 2D.
Not sure if this is intentional (the constraint bias concept may not apply the same way in 3D) or a genuine gap, flagging for triage.
Found with AI assistance (Claude) while investigating a related PR (#123451).
Steps to reproduce
- Open the editor, then click "Project > Project Settings... > General > Physics".
- Compare the "2D" and "3D" tabs under "Solver".
- Notice that "Default Constraint Bias" appears under Physics > 2D > Solver, but has no equivalent under Physics > 3D > Solver.
Alternatively, compare servers/physics_2d/physics_server_2d.cpp and servers/physics_3d/physics_server_3d.cpp directly, the 2D constructor registers both default_contact_bias and default_constraint_bias, while the 3D constructor only registers default_contact_bias.
Minimal reproduction project (MRP)
N/A visible in Project Settings on any project, or by comparing servers/physics_2d/physics_server_2d.cpp and servers/physics_3d/physics_server_3d.cpp directly.
Source: godotengine/godot