Fyzikální ovládací prvky z Blenderu
Připravte všech devět fyzikálních ovládacích prvků v Blender pluginu 0.31.1 a vytvořte je na existujícím tělese.
JoltPhysics Asset Editor 0.31.1 · ověřeno podle zdrojů projektu 27. září 2026.
Postup v Blenderu#
Vyberte Configuration Root a použijte Create → Physical Controls nebo Shift+A → JoltPhysics. Všech devět typů má ikonu LOGIC. Nastavte unikátní Key, montážní pozici/rotaci, fyzické rozměry, hmotnost a podporované chování. Ponechte scale 1; měňte explicitní pole rozměrů. UUID a Object Name najdete v Technical Info.
Žlutý wireframe představuje fyzickou pohyblivou geometrii. Vybraný prvek navíc ukazuje dráhu, limity a zarážky; neplatný prvek je červený a orphan oranžový. Physical Controls má vlastní přepínač Authoring Visibility. Skryté ovladače se nadále validují a exportují. Vlastnictví, Assign, Duplicate, kaskádové mazání, Undo/Redo a ukládání .blend používají stávající authoring postup.
Počáteční poloha, náhled a návrat#
| Pole / operace | Význam a validace |
|---|---|
| Initial Value / Initial Angle | Skutečná konstrukční poloha u typů, které ji podporují; exportuje se. |
| Preview Movement / Position / Phase / X/Y | Pouze editorový náhled; nemění export ani nesimuluje fyziku. |
| Auto Return + Return Value / X/Y | Motor dojíždí k cíli během simulace; cíl není počáteční poloha. |
Rychlý start#
Exportujte Jolt JSON a přidejte jej do GameMaker Included Files. Příklad předpokládá úspěšně spuštěný svět, živé machine_body a autorovanou páku s Key lift_lever. Vstupy čtěte po centrálním fyzikálním update; neposouvejte svět zvlášť pro každý ovladač.
// Create
var asset = jolt_asset_load("machine.jolt.json");
lever = undefined;
if (!is_undefined(asset)) {
lever = jolt_asset_create_control(asset, "lift_lever", machine_body);
}
if (is_undefined(lever)) show_debug_message(jolt_get_error_message());
else {
lever.set_auto_return(true);
lever.set_target(0.5);
}
// Step, after jolt_update()
if (!is_undefined(lever) && lever.is_valid()) {
var lift_value = lever.get_value();
// Map lift_value to your gameplay.
}Vyberte ovládací prvek#
- Tlačítko — Control Button
- Páka — Control Lever
- Knoflík — Control Knob
- Posuvník — Control Slider
- Ruční kolo — Control Hand Wheel
- Joystick — Control Joystick
- Pedál — Control Pedal
- Klika — Control Crank
- Výsuvný úchyt — Control Pull Handle
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.
Debug#
jolt_debug_enable(true);
jolt_debug_set(JOLT_DEBUG_SHAPES, true);
jolt_debug_set(JOLT_DEBUG_CONSTRAINTS, true);
// Draw after setting the 3D camera:
jolt_debug_draw();Geometrie ovladačů a vodítka vazeb používají tlumenou zlatou. Oblouky limitů páky nyní odpovídají viditelné neutrální tyči a sledují živou soustavu kloubu včetně otočeného/pohyblivého rodiče. Oprava debug zobrazení nemění fyzikální úhly, limity ani motory. Hand Wheel ukazuje paprsky/rysku; Joystick kužel náklonu.