Skip to content

Physics settings and inheritance

MeshyMeshInstance3D.physics_settings supplies saved defaults. See setup and live overrides.

Inspector resources define the saved mode:

Resource Settings
MeshyInheritedPhysicsSettings Ancestor provider defaults
MeshyNonePhysicsSettings Disable collision and simulation
MeshyStaticPhysicsSettings Layers/masks, priority, shapes/decomposition, debug appearance, material, six axis locks, constant velocities
MeshyAnimatablePhysicsSettings Static settings and sync_to_physics
MeshyRigidPhysicsSettings Common collision settings, mass, inertia, center of mass, gravity, damping, velocities, sleep, freeze, CCD, integration, contacts
MeshyTriggerPhysicsSettings Common collision settings, monitoring, monitorability, priority, gravity/damping overrides, wind

Change the resource type to change modes. Shape Mode precedes body settings, Axis Lock, Collision, Debug, and Advanced. Static material and velocities are direct properties. Animatable places them under StaticBody, after Sync to Physics.

shape_mode Value
Auto 0
Concave 1
Convex - Single 2
Convex - Multiple 3

Defaults: max_hulls = 32, approximation_tolerance = 0.02. See collision shapes.

New meshes have local MeshyInheritedPhysicsSettings. New providers have an empty Physics field.

Inheritance uses the nearest concrete ancestor provider through Node3D groups, within the authored scene. Outside providers cannot configure meshes inside an instanced scene. Empty or inherited providers delegate upward. MeshyNonePhysicsSettings stops inheritance. Without concrete settings, the mesh has no physics.

Clearing Physics on a mesh disables inheritance, including after save/reopen. Clearing it on a provider delegates upward. Provider changes update descendants. Reparenting changes provider context within the authored scene.

MeshyInheritedPhysicsSettings.get_mode() has no scene context and returns None. The mesh method get_physics_mode() returns its resolved mode.

Resources are local by default. Local assignments and duplicates stay independent. Shared changes update every user. Providers supply defaults. Meshes own geometry, collision, and live state.

  1. To share a preset, clear Resource > Local To Scene before assignment.
  2. Use native Make Unique to separate a preset.
  3. Use Save As to save a preset.

new() creates complete settings:

var preset := MeshyRigidPhysicsSettings.new()
preset.mass = 2.0
preset.resource_local_to_scene = false
$First.physics_settings = preset
$Second.physics_settings = preset