Konstrukční nastavení
Přepište výchozí hodnoty z Blenderu před vytvořením a poté používejte živé settery JoltControl.
JoltPhysics Asset Editor 0.31.1 · ověřeno podle zdrojů projektu 27. září 2026.
Syntax#
jolt_asset_control_settings();Vrací JoltAssetControlSettings, konstrukční builder bez alokace fyziky. Platný setter vrací builder; neplatný vstup vrací false a zachová předchozí nastavení. Čtěte jolt_get_error(). Některé kontroly kombinací polí a typu se odkládají do jolt_asset_create_control; úspěšný setter nezaručuje platnost celé kombinace.
Všechny konstrukční settery#
| Pole / operace | Význam a validace |
|---|---|
| JoltAssetControlSettings.set_position(x,y,z) | Lokální montážní pozice v GameMaker souřadnicích. |
| JoltAssetControlSettings.set_rotation(quaternion) | Konečný nenulový montážní quaternion {x,y,z,w}; setter jej normalizuje. |
| JoltAssetControlSettings.set_rotation_euler(x,y,z) | Lokální Euler rotace ve stupních. |
| JoltAssetControlSettings.set_size(x,y,z) | Plné rozměry boxu: Button, Lever, Slider, Pedal, Pull Handle. |
| JoltAssetControlSettings.set_radius(value) | Kladný poloměr Knob/Wheel/Joystick. |
| JoltAssetControlSettings.set_depth(value) | Plná hloubka válce Knob/Wheel. |
| JoltAssetControlSettings.set_length(value) | Délka tyče Joystick. |
| JoltAssetControlSettings.set_mass(value) | Kladná hmotnost pohyblivého tělesa. |
| JoltAssetControlSettings.set_travel(value) | Kladná dráha: Button, Slider, Pull Handle. |
| JoltAssetControlSettings.set_travel_angle(degrees) | Pedal: ostře mezi 0 a 180°. |
| JoltAssetControlSettings.set_arm_length(value) | Crank: vzdálenost pivotu od osy úchytu. |
| JoltAssetControlSettings.set_arm_size(width,depth) | Crank: průřez ramene. |
| JoltAssetControlSettings.set_handle_radius(value) | Crank: poloměr úchytu. |
| JoltAssetControlSettings.set_handle_length(value) | Crank: délka úchytu. |
| JoltAssetControlSettings.set_initial_value(value) | Konstrukční poloha Button/Slider/Pull Handle, 0..1. |
| JoltAssetControlSettings.set_min_angle(value) | Dolní limit Lever/Knob. |
| JoltAssetControlSettings.set_max_angle(value) | Horní limit Lever/Knob nebo náklon Joystick; finální typová validace probíhá při vytvoření. |
| JoltAssetControlSettings.set_initial_angle(value) | Počáteční úhel Lever/Knob uvnitř finálních limitů. |
| JoltAssetControlSettings.set_auto_return(enabled) | Boolean; podporované omezené ovladače, nikoli Wheel/Crank. |
| JoltAssetControlSettings.set_target(x,[y]) | Skalár 0..1 nebo Joystick X/Y v jednotkovém kruhu. |
| JoltAssetControlSettings.set_max_force(value) | Nezáporná síla pohonu N pro lineární typy. |
| JoltAssetControlSettings.set_max_torque(value) | Nezáporný moment návratu N·m pro omezené úhlové typy. |
| JoltAssetControlSettings.set_frequency(value) | Nezáporná frekvence vratné pružiny Hz. |
| JoltAssetControlSettings.set_damping(value) | Nezáporné tlumení návratu. |
| JoltAssetControlSettings.set_resistance(value) | Nezáporný mechanický odpor N nebo N·m. |
| JoltAssetControlSettings.set_detents(array) | Skalární hodnoty/záznamy nebo Joystick X/Y záznamy; typová validace při vytvoření. |
| JoltAssetControlSettings.set_periodic_detents(config_or_false) | Periodické zarážky Wheel/Crank nebo vypnutí. |
| JoltAssetControlSettings.set_pressed_threshold(value) | Horní práh Button, 0..1. |
| JoltAssetControlSettings.set_released_threshold(value) | Dolní práh Button, nižší než pressed threshold. |
Priorita přepsání#
Výchozí hodnoty Blenderu → konstrukční přepsání → živé runtime settery. Přepsání nemění načtený asset. Běžné options používají position:[x,y,z] a rotation:[x,y,z,w], na rozdíl od structu position při vytváření Body. Identitu, Key, UUID a type přepsat nelze. Neznámé nebo typově nesprávné pole zabrání úspěšnému vytvoření.
Částečné drive, kruhové size a arm_size kliky přepíšou jen dodaná pole. Ostatní pole nahradí původní hodnotu. Zkratky zarážek rozbalí stávající runtime validátory. Geometrie a počáteční poloha platí při vytvoření; pozdější změna builderu existující ovladač nepřestaví.
Příklad#
var settings = jolt_asset_control_settings();
settings.set_size(0.10, 0.10, 0.60);
settings.set_min_angle(-30);
settings.set_max_angle(45);
settings.set_initial_angle(15);
settings.set_max_torque(12);
var lever = jolt_asset_create_control(asset, "lift_lever", machine_body, settings);
if (is_undefined(lever)) show_debug_message(jolt_get_error_message());
else lever.set_resistance(0.2);Běžný struct je pro vybraná přepsání rovnocenný; umožní změnit vratný motor bez opakování zbytku exportovaného nastavení.
var lever = jolt_asset_create_control(asset, "lift_lever", machine_body, {
initial_angle:15, auto_return:true, drive:{max_torque:12}
});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 |
|---|---|---|
| jolt_asset_control_settings | jolt_asset_control_settings() | Vrací prázdný JoltAssetControlSettings bez alokace fyziky. |
| JoltAssetControlSettings.set_arm_length | JoltAssetControlSettings.set_arm_length(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladné konečné délky v m; arm_size je width/depth. |
| JoltAssetControlSettings.set_arm_size | JoltAssetControlSettings.set_arm_size(width,depth) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladné konečné délky v m; arm_size je width/depth. |
| JoltAssetControlSettings.set_auto_return | JoltAssetControlSettings.set_auto_return(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Striktní Boolean. |
| JoltAssetControlSettings.set_damping | JoltAssetControlSettings.set_damping(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Konečné >=0: N / N·m / Hz / poměr tlumení podle metody. Použij parametr odpovídající typu controlu. |
| JoltAssetControlSettings.set_depth | JoltAssetControlSettings.set_depth(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladný rozměr v m pro kruhový control; nelze kombinovat s box set_size. |
| JoltAssetControlSettings.set_detents | JoltAssetControlSettings.set_detents(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Pole se uloží bez okamžité úplné validace; maximálně 256 unikátních cílů, capture>0, release>capture, kladný effort/frequency, damping>=0 se ověří při vytvoření. |
| JoltAssetControlSettings.set_frequency | JoltAssetControlSettings.set_frequency(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Konečné >=0: N / N·m / Hz / poměr tlumení podle metody. Použij parametr odpovídající typu controlu. |
| JoltAssetControlSettings.set_handle_length | JoltAssetControlSettings.set_handle_length(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladné konečné délky v m; arm_size je width/depth. |
| JoltAssetControlSettings.set_handle_radius | JoltAssetControlSettings.set_handle_radius(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladné konečné délky v m; arm_size je width/depth. |
| JoltAssetControlSettings.set_initial_angle | JoltAssetControlSettings.set_initial_angle(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Stupně: initial -180..180, min -180..0, max 0..180. Vzájemný rozsah/počáteční pozice se ověří při vytvoření. |
| JoltAssetControlSettings.set_initial_value | JoltAssetControlSettings.set_initial_value(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. 0..1 počáteční normalizovaná pozice. |
| JoltAssetControlSettings.set_length | JoltAssetControlSettings.set_length(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladný rozměr v m pro kruhový control; nelze kombinovat s box set_size. |
| JoltAssetControlSettings.set_mass | JoltAssetControlSettings.set_mass(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladná konečná hmotnost kg. |
| JoltAssetControlSettings.set_max_angle | JoltAssetControlSettings.set_max_angle(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Stupně: initial -180..180, min -180..0, max 0..180. Vzájemný rozsah/počáteční pozice se ověří při vytvoření. |
| JoltAssetControlSettings.set_max_force | JoltAssetControlSettings.set_max_force(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Konečné >=0: N / N·m / Hz / poměr tlumení podle metody. Použij parametr odpovídající typu controlu. |
| JoltAssetControlSettings.set_max_torque | JoltAssetControlSettings.set_max_torque(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Konečné >=0: N / N·m / Hz / poměr tlumení podle metody. Použij parametr odpovídající typu controlu. |
| JoltAssetControlSettings.set_min_angle | JoltAssetControlSettings.set_min_angle(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Stupně: initial -180..180, min -180..0, max 0..180. Vzájemný rozsah/počáteční pozice se ověří při vytvoření. |
| JoltAssetControlSettings.set_periodic_detents | JoltAssetControlSettings.set_periodic_detents(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Okamžitě ověří periodickou konfiguraci: count celé 1..3600, step=360/count, capture<=step/2, release>capture a <min(step, 45), kladný effort/frequency, damping>=0. |
| JoltAssetControlSettings.set_position | JoltAssetControlSettings.set_position(x,y,z) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Konečné místní XYZ v m vůči hostu. |
| JoltAssetControlSettings.set_pressed_threshold | JoltAssetControlSettings.set_pressed_threshold(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. 0..1; při vytvoření musí released < pressed. |
| JoltAssetControlSettings.set_radius | JoltAssetControlSettings.set_radius(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladný rozměr v m pro kruhový control; nelze kombinovat s box set_size. |
| JoltAssetControlSettings.set_released_threshold | JoltAssetControlSettings.set_released_threshold(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. 0..1; při vytvoření musí released < pressed. |
| JoltAssetControlSettings.set_resistance | JoltAssetControlSettings.set_resistance(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Konečný odpor >=0, lineární control N, rotační N·m. |
| JoltAssetControlSettings.set_rotation | JoltAssetControlSettings.set_rotation(q) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Nenulový quaternion struct XYZW normalizuje; Euler XYZ ve stupních se převede na quaternion. |
| JoltAssetControlSettings.set_rotation_euler | JoltAssetControlSettings.set_rotation_euler(x,y,z) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Nenulový quaternion struct XYZW normalizuje; Euler XYZ ve stupních se převede na quaternion. |
| JoltAssetControlSettings.set_size | JoltAssetControlSettings.set_size(x,y,z) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Plné kladné XYZ rozměry v m. |
| JoltAssetControlSettings.set_target | JoltAssetControlSettings.set_target(x,y=undefined) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Jeden argument 0..1, nebo joystick XY uvnitř jednotkového disku. |
| JoltAssetControlSettings.set_travel | JoltAssetControlSettings.set_travel(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Kladné konečné délky v m; arm_size je width/depth. |
| JoltAssetControlSettings.set_travel_angle | JoltAssetControlSettings.set_travel_angle(v) | Vrací self při přijetí, false při chybě. Mění pouze overrides pro budoucí vytvoření, nikoliv asset či živý Control. Úhel pedálu v (0, 180) stupních. |