CollisionVolume
Put this component on a direct child of a Body whose shape is `compound`. Edit the child's local position and rotation with Zero's normal transform tools. Positive uniform scale on the body and child is included in collision dimensions; nonuniform/mirrored scale is rejected. Shap…
CollisionVolume
Put this component on a direct child of a Body whose shape is compound.
Edit the child's local position and rotation with Zero's normal transform tools.
Positive uniform scale on the body and child is included in collision dimensions;
nonuniform/mirrored scale is rejected. Shape fields define sphere, rounded-box
core, Z-axis capsule, or triangle geometry. Triangle transforms are baked into
vertices when the Body reads its state, preserving native mass conventions.
Give each child a unique integer order. It preserves the authored accumulation
order independently of entity IDs. collisionEnabled=false suppresses contacts
but retains mass. Delete a child to remove both its geometry and mass contribution.
The Body supplies material and total mass. It may have at most64 volume children.
Use API.attachVolume(child, settings) to attach this component and automatically
choose the next free order; the child's parent must already be a compound Body.
All properties and transforms are ordinary synchronized Zero entity data.
Native actor bodies
CollisionVolume can also be a direct child of a NativeActorPart with role=board or role=rider. One or more volume children replace that body's native contact geometry; parts without volume children inherit their defaults. Removing the last child restores the defaults. Disabled children suppress contacts; use a disabled child when the intent is no contacts rather than inherited defaults. Child local transforms are in the body entity's centre-of-mass frame. No host files are needed.
For native bodies, geometry editing does NOT recalculate mass or inertia: those remain separate NativeActorPart fields. It also does not alter the animation or wheel-probe/controller profile. Materials and controller collision gating stay native. Rider shapes retain native mode-dependent enable flags, collision groups and materials. A shape cannot enable a body the current native mode disables.
The ready NativeRiderDriver:readColliderDefinitions() method reads current body-local native geometry, including disabled children, for inspection or in-engine authoring. Spheres were checked with actual Zero physical response, reset and restoration. Rounded boxes, capsules with offsets/rotation, and two triangle volumes were also checked against their calculated support height. Disabling the triangles removed their support; deleting them restored all 15 default deck children. Rider sphere authoring, disable/reset/restore and native masking have been checked. Additional rider multi-volume/self-contact scenarios remain to verify.
The ready driver readRiderColliderDefinitions() method returns each rider body with its current native enabled flag, volume_group, and body-local shapes. Vehicle-only mode returns an empty rider list and rejects rider shape input.
Scoped to this part · feeds back into the world's score.