Stav tělesa
Síly v local-space
Lokální je pouze bod působení. Helper otočí (lx,ly,lz) aktuálním quaternionem tělesa a přičte jeho světovou pozici. Síla (fx,fy,fz) a impuls (ix,iy,iz) zůstávají vektory ve SVĚTOVÝCH souřadnicích. Směr helper neotáčí.
body.add_force_local(fx, fy, fz, lx, ly, lz)
body.add_impulse_local(ix, iy, iz, lx, ly, lz)// Push in world +Z at a point one unit along the body's local X.
if (!body.add_force_local(0, 0, 20, 1, 0, 0)) {
show_debug_message(jolt_get_error_message());
}Síla působí během simulace a slouží pro průběžné tlačení; impuls je jednorázová změna hybnosti. Jednorázový impuls neaplikujte každý snímek. Pro směr tahu v lokálním prostoru tělesa nejprve sami otočte směr do světového prostoru.
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.add_force_local | JoltBody.add_force_local(fx, fy, fz, lx, ly, lz) | Boolean; Dynamic těleso, světová síla XYZ v N. Bez bodu působí v COM; at_position světový bod m, local převádí pouze místní bod m, nikoliv směr síly. Obnovuj sílu pro každý požadovaný fyzikální krok. |
| JoltBody.add_impulse_local | JoltBody.add_impulse_local(ix, iy, iz, lx, ly, lz) | Boolean; Dynamic těleso, jednorázový světový impuls XYZ v N·s. at_position světový bod, local pouze bod vůči originu; vektor impulsu zůstává světový. |