Vehicles
Vykreslování kol
Používá nativní world transformace kol pro caller-owned modely, zatímco fyzická kola zůstávají virtuální.
Wrapper nikdy nevykresluje geometrii vozidla. get_wheel_transform() vrací position a quaternion vzniklý řízením, odpružením a otáčením kola.
Očekávané osy modelu#
| Lokální osa modelu | Význam |
|---|---|
| X | Osa nápravy / pravá strana kola. |
| Y | Směr kola dopředu. |
| Z | Směr kola nahoru. |
Čtení transformací#
for (var i = 0; i < car.get_wheel_count(); ++i) {
var transform = car.get_wheel_transform(i);
if (!is_undefined(transform)) {
draw_wheel_model(wheel_model, transform.position, transform.rotation);
}
}Quaternion a Euler#
- wheel.rotation je autoritativní quaternion bez Euler discontinuities.
- wheel.rotation_euler je vhodný pro GameMaker helpers, ale má běžnou nejednoznačnost a gimbal lock.
- wheel.rotation_angle je pouze valivý úhel, nikoliv úplná world orientace.
- Nesestavujte suspension a steering transformaci ručně, když je dostupný native snapshot.
Integrace s aktuálním projektem#
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 |
|---|---|---|
| JoltVehicle.get_wheel_transform | JoltVehicle.get_wheel_transform(index) | Světový {position, rotation} s quaternionem XYZW nebo undefined; výsledek get_wheel(index).transform. |