Stav tělesa
Motion Quality a CCD
Diskrétní simulace vyhodnocuje pohyb po krocích a může minout tenkou překážku, kterou rychlé těleso mezi kroky překoná. LinearCast CCD provádí sweep podporované geometrie a omezuje toto tunelování. Je náročnější než Discrete a nepředstavuje plné rotační CCD.
| API | Chování |
|---|---|
| body.set_ccd(enabled) / get_ccd() | Zjednodušené zapnutí a čtení LinearCast oproti Discrete. |
| body.set_motion_quality(quality) / get_motion_quality() | Explicitní API kvality pohybu. Výchozí je Discrete. |
var projectile = jolt_sphere_create_dynamic(0, 0, 2, 0.1);
if (!is_undefined(projectile)) {
if (!projectile.set_ccd(true)) {
show_debug_message(jolt_get_error_message());
}
}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_ccd | JoltBody.get_ccd() | DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii. |
| JoltBody.get_motion_quality | JoltBody.get_motion_quality() | DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii. |
| JoltBody.set_ccd | JoltBody.set_ccd(enabled) | DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii. |
| JoltBody.set_motion_quality | JoltBody.set_motion_quality(quality) | DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii. |