‹›
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#

GML
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.