Výsuvný úchyt (Pull Handle)
Vysunutí vede po lokální +Z, na rozdíl od −Z posuvníku. Světový směr dráhy určíte montážní rotací.
JoltPhysics Asset Editor 0.31.1 · ověřeno podle zdrojů projektu 27. září 2026.
Nastavení v Blenderu#
Dostupné od addonu 0.21.0; podporované ve verzi 0.31.1. Přidejte typ přes Physical Controls, přiřaďte Key a ponechte scale 1.
| Pole / operace | Význam a validace |
|---|---|
| Geometrie a pivot | Plné Handle Size XYZ; montážní bod ve středu zasunutého úchytu. Výchozí 0,3 × 0,15 × 0,15 m, hmotnost 1 kg, Travel 0,5 m. Fyzická základna ani vodicí tyč se nevytváří. |
| Pohyb | Vysunutí vede po lokální +Z, na rozdíl od −Z posuvníku. Světový směr dráhy určíte montážní rotací. |
| Počáteční stav a čtení | get_value(): 0 zasunuto, 1 plně vysunuto. Initial Value má výchozí 0; Auto Return false a cíl 0. Výchozí drive 20 N / 4 Hz / tlumení 1; odpor 0 N. |
| Limity a možnosti | Travel musí být kladné a Initial Value v 0..1. Bez tlačítkových prahů a is_pressed(). get_detent() vrací index zachycené zarážky nebo −1. Pro zasunutí nastavte cíl 0 a zapněte Auto Return. |
| JSON v3 | size:[x,y,z], travel, initial_value; type:"pull_handle" |
Vytvoření z assetu#
Příklad předpokládá načtená data assetu, živé machine_body a autorovaný pull_handle s Key control_main. Přepsání geometrie je volitelné; pro hodnoty z Blenderu settings vynechte.
var settings = jolt_asset_control_settings();
settings.set_size(0.3, 0.15, 0.15);
settings.set_travel(0.6);
settings.set_initial_value(0.25);
settings.set_auto_return(false);
settings.set_max_force(30);
settings.set_detents([0, 1]);
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 pull_value = control.get_value();
var detent_index = control.get_detent();
}Chování za běhu#
Živé set_auto_return, set_target, set_resistance, set_detents a set_locked upravují podporované chování. Auto Return má přednost před zarážkami. Mapování výstupu a inverze patří do runtime nastavení. Tyto operace nepřestavují geometrii ani nenahrazují původní konstrukční polohu.
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.