Pomocné skripty · Sockets
Typy výsledného spojení
Jeden matching a attraction postup může vytvořit čtyři rozdílné fyzikální constrainty.
connection_type a jeho parametry patří male socketu. Female poskytuje cílový anchor a world frame. Po vytvoření constraintu attraction přestane působit.
Přehled#
| connection_type | Výsledný constraint | Povolený pohyb |
|---|---|---|
| fixed | jolt_fixed | Žádný relativní posun ani rotace. |
| hinge | jolt_hinge | Rotace pouze kolem jedné osy, volitelně s limity. |
| point | jolt_point | Společný kotevní bod a volná relativní rotace ve všech osách. |
| swing_twist | jolt_swing_twist | Společný bod s omezeným swing kuželem a twist rozsahem. |
Fixed#
Defaultní recept. Vytvoří body-to-body Fixed constraint v přesně dorovnané relativní transformaci. Hodí se pro panely, nástroje v držáku, víka a pevné moduly.
jolt_socket(part, "male", "mount", {
connection_type: "fixed",
collision: false
});Hinge#
var wheel_socket = jolt_socket(wheel, "male", "axle", {
connection_type: "hinge",
hinge_axis: { x: 0, y: 0, z: 1 },
hinge_limits_min: -180,
hinge_limits_max: 180,
attraction: true,
collision: false
});
var axle_socket = jolt_socket(axle, "female", "axle");- hinge_axis je normalizovaná osa v local frame female socketu; default {0,0,1}.
- hinge_limits_min má rozsah -180..0 a default -180. hinge_limits_max má rozsah 0..180 a default 180.
- Anchor je aktuální world position female socketu při spojení. Rotovaný parent i local socket rotation osu správně přenesou do world space.
Point#
jolt_socket(ball, "male", "rope_end", {
connection_type: "point",
attraction: true,
collision: false
});Obě bodies sdílejí world position female socketu jako anchor, ale constraint neomezuje jejich relativní rotaci. Point podporuje max_force, nikoli max_torque, protože neřeší žádný rotační stupeň volnosti.
SwingTwist#
var arm_socket = jolt_socket(arm, "male", "shoulder", {
connection_type: "swing_twist",
twist_axis: { x: 0, y: 0, z: 1 },
plane_axis: { x: 1, y: 0, z: 0 },
normal_half_angle: 25,
plane_half_angle: 45,
twist_min: -20,
twist_max: 30,
attraction: true,
collision: false
});- twist_axis a plane_axis jsou dvě neparalelní osy ve female socket frame; defaulty jsou +Z a +X.
- normal_half_angle a plane_half_angle 0..180 určují eliptický swing kužel. swing_angle default 45 slouží jako společný fallback.
- twist_min a twist_max určují podepsaný rozsah -180..180 a musí být seřazené; default -30..30.
- Současný Socket recept je bez motoru, spring a friction nastavení.