‹›
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 modeluVýznam
XOsa nápravy / pravá strana kola.
YSměr kola dopředu.
ZSměr kola nahoru.

Čtení transformací#

GML
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íkSignaturaKontrakt operace
JoltVehicle.get_wheel_transformJoltVehicle.get_wheel_transform(index)Světový {position, rotation} s quaternionem XYZW nebo undefined; výsledek get_wheel(index).transform.