Hmotnost
Nastavuje mass a odpovídající inertia Dynamic JoltBody.
Mass ovlivňuje zrychlení od sil, collision response, constraints a gravitační sílu. Je dostupná pouze Dynamic bodies s motion properties.
High-Level API#
body.set_mass(value)
body.get_mass()Validace a chování#
- value musí být konečné a striktně větší než 0.
- set_mass() a get_mass() selžou pro Static a Kinematic bodies.
- Nastavení mass přepočítá native MassProperties shape na požadovanou hmotnost a současně upraví inertia.
- Povolené stupně volnosti body zůstávají zachované.
- Změna mass nemění velikost ani collision shape.
Creation option#
var heavy_box = jolt_box_create_dynamic(0, 0, 4, 1, 1, 1, {mass: 25});
heavy_box.set_mass(40);
show_debug_message(heavy_box.get_mass());Bez explicitní mass option odvodí Jolt mass properties z collision shape. Pokud je mass pro nové body neplatná, high-level vytvoření je atomické: body se zničí a creator vrátí undefined.
Mass, force a impulse#
| Vstup | Vliv mass | Typické použití |
|---|---|---|
| Force | S rostoucí mass klesá zrychlení | Trvalý thrust, kompenzace gravitace |
| Impulse | S rostoucí mass klesá změna velocity | Úder, skok, exploze |
| Torque / angular impulse | Používá přepočítaný inertia tensor | Rotační působení |
Low-Level / Advanced API#
Inverse mass je pouze pro čtení. Bridge pokus o její nastavení odmítá; použijte set_mass. Low-level funkce používají číselné handly a native error state.
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_mass | JoltBody.get_mass() | Set kladná konečná hmotnost kg pouze Dynamic → Boolean. Getter kg nebo undefined; Static/Kinematic nemají běžnou dynamickou hmotnost. |
| JoltBody.set_mass | JoltBody.set_mass(value) | Set kladná konečná hmotnost kg pouze Dynamic → Boolean. Getter kg nebo undefined; Static/Kinematic nemají běžnou dynamickou hmotnost. |