Paths
Vytváření cest
Vytvoří spravovaný Hermite path resource pro sampling nebo fyzikální constrainty.
Volání jolt_path() bez argumentů vytvoří prázdný JoltPath ve spravovaném výchozím worldu. Přidejte control points, nastavte uzavření a před samplingem nebo připojením tělesa zavolejte build_smooth().
Syntaxe#
path = jolt_path();Základní cesta#
jolt_start();
var track = jolt_path();
track.add_point(-12, 0, 2);
track.add_point(0, 4, 6);
track.add_point(12, 0, 2);
if (!track.build_smooth()) {
show_error(jolt_get_error().message, true);
}Životní cyklus buildu#
- Nová cesta je platná, ale ještě není built.
- Přidání bodu nebo změna loop mode zahodí předchozí nativní build.
- build_smooth() vytvoří nativní Hermite resource a cached sampling data.
- Sampling i constraint vyžadují hotovou, nezměněnou cestu z aktivního výchozího worldu.
- jolt_stop() zneplatní všechny spravované cesty.
Stav a životnost#
track.is_valid()
track.get_point_count()
track.get_length()
track.get_bounds()
track.destroy()Ověřené kontrakty operací#
Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.
| Symbol / vlastník | Signatura | Kontrakt operace |
|---|---|---|
| jolt_path | jolt_path(body_a = undefined, body_b = undefined, path = undefined, options = undefined) | Bez argumentů nový JoltPath builder. Se dvěma body a buildnutým path vytvoří Path JoltConstraint. Výsledek/undefined; local path vůči body_a. Rotation_mode default FREE, collision/enabledtrue, optional motor_spring_frequency/damping1. |
| jolt_path_world | jolt_path_world(body, path, options = undefined) | Dynamic Body + aktuálně buildnutý JoltPath; Constraint/undefined. Path souřadnice jsou světové, rotation_mode FREE, enabledtrue; nevytváří podpůrné těleso. |
| JoltPath.destroy | JoltPath.destroy() | is_valid Boolean, platný draft bez build vrací true. Destroy Boolean idempotentně uvolní path resource a seznam řídicích bodů, nikoliv vlastní tělesa. |
| JoltPath.is_valid | JoltPath.is_valid() | is_valid Boolean, platný draft bez build vrací true. Destroy Boolean idempotentně uvolní path resource a seznam řídicích bodů, nikoliv vlastní tělesa. |