Constraints
Constrainty vůči světu
Připojí jedno managed těleso přímo k neměnnému pevnému world body Jolt bez vytvoření pomocného statického tělesa.
World varianty používají stejné runtime metody JoltConstraint jako body-to-body protějšky, ale přijímají jedno uživatelské těleso a jejich world anchor/frame zůstává navždy pevný.
Dostupné creatory#
| Funkce | Účel |
|---|---|
| jolt_fixed_world(body, anchor_x, anchor_y, anchor_z, options) | Pevně upevní jedno těleso ke světu. |
| jolt_point_world(body, anchor_x, anchor_y, anchor_z, options) | Vytvoří volně rotující world pivot. |
| jolt_distance_world(body, anchor_x, anchor_y, anchor_z, min, max, options) | Drží těleso v distance range od pevného bodu. |
| jolt_hinge_world(body, anchor_x, anchor_y, anchor_z, axis_x, axis_y, axis_z, options) | Vytvoří world-space rotační hinge. |
| jolt_slider_world(body, anchor_x, anchor_y, anchor_z, axis_x, axis_y, axis_z, options) | Vytvoří world-space lineární rail. |
| jolt_cone_world(body, anchor_x, anchor_y, anchor_z, axis_x, axis_y, axis_z, max_angle, options) | Vytvoří kruhový swing joint vůči světu. |
Společná pravidla#
- Body musí být živé managed JoltBody v aktivním default worldu.
- Anchor a axis inputs jsou konečné world-space hodnoty; axes musí být nenulové.
- Option collision nemá účinek, protože fixed world body není user collision body.
- set_collision_enabled() uspěje jako no-op a get_collision_enabled() vždy vrátí false.
- enabled a type-specific limity, motory, pružiny a getters fungují stejně jako u body-to-body typu.
- Managed API zatím nemá SwingTwist, SixDOF ani Pulley world convenience creatory.
Příklady#
var door = jolt_hinge_world(panel, 0, 0, 2, 0, 0, 1, {
limits_min: 0,
limits_max: 100
});
var rail = jolt_slider_world(drawer, 0, 0, 1, 0, 1, 0, {
limits_min: -0.5,
limits_max: 0.5
});
var tether = jolt_distance_world(load, 0, 0, 6, 2, 4, {
spring_frequency: 2,
spring_damping: 0.7
});Životní cyklus#
Zničení uživatelského tělesa zneplatní jeho world constraints. Zničení constraintu nezničí těleso. jolt_stop() odstraní constrainty před tělesy a default worldem.