Blender Penetration Points
A helper marks the local tip on collision geometry and exports as JSON v6.
Workflow#
Add a Penetration Point under the Configuration Root, assign a unique Key and place it on the actual collision-shape tip. Local +Z is the insertion axis. A rendered BBMOD mesh tip is not sufficient if its collision shape differs.
knife_tip = jolt_asset_create_penetrator_tip(
asset, "penetration", knife_body);
if (is_undefined(knife_tip)) {
show_debug_message(jolt_get_error().message);
}knife_body must be a live Dynamic JoltBody. The helper forwards settings and activates the tip on creation. Returns JoltPenetrator or undefined; export and loading alone do not create a tip. Native validation atomically rechecks the actual shape, surface and axis.
Validation and limitations#
The editor warns about helpers outside collision geometry. Valid JSON does not guarantee admission for every runtime shape. Strict Predictive requires actual tip entry; a corner of a flat end can collide before the marked point enters. Inspect geometry before increasing tolerances to suppress rejection.
Verified operation contracts#
These contracts distinguish units, return values, errors and lifetime according to the current implementation. Check results: false, 0 and undefined can mean different things for different methods.
| Symbol / owner | Signature | Operation contract |
|---|---|---|
| jolt_asset_get_penetration_point | jolt_asset_get_penetration_point(asset,point_ref) | Asset + exact key or canonical UUID. Revalidates the mutable asset and returns an independent data record, not a physics object; failure undefined and managed error. |
Complete API declarations#
Declarations match the production GML sources. A value after = marks an optional argument. This is a signature inventory; the guide sections describe meaning, units and limitations. The type before a dot identifies the method owner, not a global function.
| Symbol / owner | Signature / value |
|---|---|
| jolt_asset_create_penetrator_tip | jolt_asset_create_penetrator_tip(asset,point_ref,owner) |