Gravitace
Nastavuje world gravity a násobek gravitace jednotlivého body.
Managed world používá default {x:0,y:0,z:-9.81}. gravity_factor body násobí tento vektor, aniž by měnil globální world nastavení.
World gravity při spuštění#
jolt_start({
gravity_x: 0,
gravity_y: 0,
gravity_z: -9.81
});gravity_x, gravity_y a gravity_z se předají při vytvoření default worldu. High-level runtime po startu nevystavuje setter world gravity; pro jiný globální vektor world zastavte a vytvořte znovu.
Per-body API#
body.set_gravity_factor(value)
body.get_gravity_factor()Chování factoru#
| Factor | Efekt |
|---|---|
| 1 | Plná world gravity; default |
| 0 | Žádné zrychlení od world gravity |
| 0..1 | Oslabená gravitace |
| > 1 | Zesílená gravitace |
| < 0 | Obrácený směr gravitace |
Factor přijímá libovolný konečný Real. Vyžaduje motion properties a význam má pro simulovaný non-Static motion. Gravitační zrychlení nezávisí na mass, ekvivalentní kompenzační force je však hmotnosti úměrná.
Příklad#
var moon_crate = jolt_box_create_dynamic(0, 0, 5, 1, 1, 1, {
mass: 4,
gravity_factor: 0.165
});
moon_crate.set_gravity_factor(0);Low-Level / Advanced API#
Settery vracejí true při úspěchu a false při neplatném vstupu, invalidním nebo stale body či nepodporovaném motion typu. Gettery vracejí požadovanou hodnotu nebo undefined při selhání. High-level chybu zjistíte přes jolt_get_error().
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 |
|---|---|---|
| JoltBody.get_gravity_factor | JoltBody.get_gravity_factor() | Konečný násobitel gravitace; setter Boolean, getter číslo nebo undefined. 0 vypne gravitační zrychlení, není to změna hmotnosti. |
| JoltBody.set_gravity_factor | JoltBody.set_gravity_factor(value) | Konečný násobitel gravitace; setter Boolean, getter číslo nebo undefined. 0 vypne gravitační zrychlení, není to změna hmotnosti. |