3D
RigidBody3D
Dynamic 3D physics body.
Body with mass, velocity, gravity, damping, friction, restitution, and density fields.
Base node: Node3D
Source: perro_source/core/perro_nodes/src/nodes/physics_3d.rs
Fields
enabledmasslinear_velocityangular_velocitygravity_scalelinear_dampingangular_dampingfrictionrestitutiondensity
pub struct RigidBody3D { pub base: Node3D, pub enabled: bool, pub mass: f32, pub linear_velocity: Vector3, pub angular_velocity: Vector3,}Scene template
[node_instance]tags = ["runtime", "demo"]parent = @rootscript = "res://script.rs"script_vars = { speed = 4.0, health = 100 } [RigidBody3D] enabled = true mass = 1.0 linear_velocity = (120, 48, 0) angular_velocity = (120, 48, 0) gravity_scale = (1, 1, 1) [/RigidBody3D][/node_instance]Script API
Create
let node_id = create_node!(ctx, RigidBody3D, "Spawned Node", ["enemy", "runtime"], parent_id);Access / mutate
let value = with_node!(ctx, RigidBody3D, node_id, |node| { node.enabled}); let pair = with_node!(ctx, RigidBody3D, node_id, |node| { (node.enabled, node.mass)}); with_node_mut!(ctx, RigidBody3D, node_id, |node| { node.enabled = true;});