Fyzikální ovladače z Blenderu

Ruční kolo (Hand Wheel)

Neomezené otáčení kolem lokální Z; nulová ryska +Y.

JoltPhysics Asset Editor 0.31.1 · ověřeno podle zdrojů projektu 27. září 2026.

Nastavení v Blenderu#

Dostupné od addonu 0.19.0; podporované ve verzi 0.31.1. Přidejte typ přes Physical Controls, přiřaďte Key a ponechte scale 1.

Pole / operaceVýznam a validace
Geometrie a pivotPlný válec s Radius a celkovou Depth. Tři paprsky a ryska jsou vizuální vodítka; nejde o dutý prstenec.
PohybNeomezené otáčení kolem lokální Z; nulová ryska +Y.
Počáteční stav a čteníMontážní rotace určuje počáteční fyzickou polohu; logické počítadlo začíná nulou. Preview Phase 0..1 pouze zobrazuje jednu otáčku.
Limity a možnostiAsset nemá Min/Max Angle, Initial Angle, Auto Return ani skalární cíl. Použijte odpor a periodické zarážky; stávající runtime motory rychlosti/pozice/fáze a absolutní zarážky zůstávají dostupné.
JSON v3size:{radius,depth}, periodic_detents?

Vytvoření z assetu#

Příklad předpokládá načtená data assetu, živé machine_body a autorovaný wheel s Key control_main. Přepsání geometrie je volitelné; pro hodnoty z Blenderu settings vynechte.

GML
var settings = jolt_asset_control_settings();
settings.set_radius(0.30);
settings.set_depth(0.08);
settings.set_mass(1.5);
settings.set_periodic_detents({count:12});
control = jolt_asset_create_control(asset, "control_main", machine_body, settings);
if (is_undefined(control)) show_debug_message(jolt_get_error_message());
// Step, after the physics update:
if (!is_undefined(control) && control.is_valid()) {
    var angle = control.get_angle();
    var turns = control.get_turns();
    var phase = control.get_phase();
    var speed = control.get_speed();
}

Chování za běhu#

get_angle() vrací kumulativní stupně, get_turns() dokončené otáčky se znaménkem, get_phase() fázi 0..1 a get_speed() stupně za sekundu. Použijte set_resistance, set_locked a set_periodic_detents; false vypne periodické zarážky. Skalární Auto Return a set_target tento typ nepodporuje.

Simulace, vykreslení a životnost#

Použijte stávající smyčku jolt_update() a poté čtěte fyzikální stav ovladače. Vizuální model řiďte přes control.get_transform() nebo stávající vykreslovací API ovladačů. Asset helper vytvoří stejné JoltControl těleso a vazbu jako přímá factory; nevykresluje váš model a nepřiřazuje herní akce. Každé vytvoření je samostatné.

control.destroy() odstraní mechanismus a zachová rodiče. Zničení rodiče a jolt_stop() uklidí připojené ovladače. Používejte spravovanou životnost. Blender integrace ovladačů nevyžaduje další změnu nativního bridge; použijte odpovídající aktuální GML loader a skripty jolt_asset_controls.