Skip to content

MeshyMeshInstance3D

Inherits MeshInstance3D.

Class index

A Meshy mesh with editable geometry and configurable physics.

Choose a physics settings resource to add collision, simulate a body, or detect overlaps. Each mesh has independent physics state, including when several meshes share the same settings resource.

collision_artifact: MeshyCollisionArtifact = null

setter: set_collision_artifact; getter: get_collision_artifact.

geometry: MeshyGeometry = null

setter: set_geometry; getter: get_geometry.

physics: MeshyPhysics

getter: get_physics.

The live physics controls and state belonging to this mesh.

Changes affect this instance without editing physics_settings. This view follows the mesh across physics mode changes and is not saved.

physics_settings: Resource

setter: set_physics_settings; getter: get_physics_settings.

The resource that selects this mesh’s physics mode and settings.

MeshyInheritedPhysicsSettings uses the nearest ancestor MeshySettingsProvider that supplies settings within this mesh’s scene. Assign another physics settings resource to override inherited defaults. MeshyNonePhysicsSettings or an empty property disables physics for this mesh.

acknowledge_geometry_render(
mesh: Mesh,
density: int,
guard: Callable,
) -> void
add_constant_force(force: Vector3, position: Vector3) -> void
add_constant_torque(torque: Vector3) -> void
apply_central_force(force: Vector3) -> void
apply_central_impulse(impulse: Vector3) -> void
apply_force(force: Vector3, position: Vector3) -> void
apply_impulse(impulse: Vector3, position: Vector3) -> void
apply_physics_configuration() -> void
apply_torque(torque: Vector3) -> void
apply_torque_impulse(impulse: Vector3) -> void
get_collision_layer() -> int
get_collision_layer_value(layer: int) -> bool
get_collision_mask() -> int
get_collision_mask_value(layer: int) -> bool
get_collision_representation() -> String

qualifiers: const.

get_collision_warning() -> String

qualifiers: const.

get_contact(index: int) -> Dictionary

qualifiers: const.

get_contact_count() -> int

qualifiers: const.

get_inverse_inertia_tensor() -> Basis

qualifiers: const.

get_overlapping_areas() -> Node3D[]

qualifiers: const.

get_overlapping_bodies() -> Node3D[]

qualifiers: const.

get_physics_mode() -> int
get_physics_rid() -> RID

qualifiers: const.

get_surface_for_shape(shape: int) -> int

qualifiers: const.

Reports the current render surface of a representative authored face. A shape spanning several material surfaces resolves its first such face.

has_overlapping_areas() -> bool

qualifiers: const.

has_overlapping_bodies() -> bool

qualifiers: const.

migrate_geometry_uvs() -> void
notify_material_usage_changed() -> void

Notify material usage observers after changing inherited native material overrides from a script. Owned geometry mutations notify automatically.

overlaps_area(area: Node3D) -> bool

qualifiers: const.

overlaps_body(body: Node3D) -> bool

qualifiers: const.

physics_area_overlap(
status: int,
rid: RID,
instance_id: int,
other_shape: int,
local_shape: int,
) -> void
physics_artifact_save_pending() -> void
physics_body_overlap(
status: int,
rid: RID,
instance_id: int,
other_shape: int,
local_shape: int,
) -> void
physics_body_state_changed(state: PhysicsDirectBodyState3D) -> void
physics_configuration_changed() -> void
physics_integrate_forces(state: PhysicsDirectBodyState3D) -> void
physics_material_changed() -> void
physics_overlap_node_exiting(instance_id: int) -> void
precise_contact_query(state: PhysicsDirectBodyState3D, index: int) -> Dictionary

qualifiers: const.

Resolves a body’s contact against this collider’s authored source faces. The supplied state belongs to the contacting body, which may be native. Surface indices reflect the collider’s current material assignments.

precise_ray_query(from: Vector3, to: Vector3) -> Dictionary

qualifiers: const.

Resolves render surfaces from current material assignments without regenerating the collision artifact’s stable source-face metadata.

rebuild_collision() -> void
set_axis_velocity(velocity: Vector3) -> void
set_collision_layer(value: int) -> bool
set_collision_layer_value(layer: int, enabled: bool) -> bool
set_collision_mask(value: int) -> bool
set_collision_mask_value(layer: int, enabled: bool) -> bool
set_physics_mode(mode: int) -> void
stage_geometry_render(source: MeshyGeometry, mutations: int) -> void

Stage the expected source revision before setters can notify observers.

area_entered(area: Node3D)
area_exited(area: Node3D)
area_shape_entered(
rid: RID,
area: Node3D,
other_shape: int,
local_shape: int,
surface: int,
)
area_shape_exited(
rid: RID,
area: Node3D,
other_shape: int,
local_shape: int,
surface: int,
)
body_entered(body: Node3D)
body_exited(body: Node3D)
body_shape_entered(
rid: RID,
body: Node3D,
other_shape: int,
local_shape: int,
surface: int,
)
body_shape_exited(
rid: RID,
body: Node3D,
other_shape: int,
local_shape: int,
surface: int,
)
body_state_changed(state: PhysicsDirectBodyState3D)
integrate_forces(state: PhysicsDirectBodyState3D)
material_usage_changed()

The geometry source was replaced or native material assignments changed. Observe the current geometry’s Resource.changed for source mutations.

sleeping_state_changed()