‹›
Pomocné skripty · Fyzické ovládací prvky

Cílová poloha a automatický návrat

Automatický návrat je fyzický polohový pohon k uloženému cíli, který může být i mimo výchozí klidovou polohu.

target je kanonická hodnota 0..1. Samotný set_target() pouze uloží cíl; pohon zapíná auto_return: true nebo set_auto_return(true). Těleso k cíli dojede fyzikálně, není při vytvoření přesunuto do targetu.

PoložkaVýznam / výchozí hodnota
Button / Pull Handleauto_return:false, target:0
Slider / Lever / Knobauto_return:false, target:0.5
Pedalauto_return:true, target:0
Joystickauto_return:true, target:{x:0,y:0}
Wheel / CrankPoužijte position_motor nebo phase_motor; scalar návrat je nepodporovaný.

Síla návratu#

Factory drive určuje max_force v N u lineárních typů nebo max_torque v N·m u rotačních typů a joysticku; frequency je Hz a damping poměr tlumení. Tyto hodnoty musí být konečné a nezáporné. Vyšší frequency zpřísňuje návrat, vyšší damping omezuje kmitání. Omezená síla nemusí překonat gravitaci, zatížení nebo odpor. Zámek má před pohonem přednost.

Příklad#

GML
lever = jolt_control_lever({
    auto_return: false,
    drive: {max_torque: 15, frequency: 5, damping: 1}
});
lever.set_target(0.75);
lever.set_auto_return(true);
// Později uvolněte pohon; uložený cíl zůstane.
lever.set_auto_return(false);

U Joysticku použijte set_target(x,y) s x²+y²≤1. Zapnutý návrat má přednost před scalar/joystick detenty. Chcete-li používat jen detenty, vypněte návrat. Nastavení cíle během zámku uloží požadavek a bez teleportu se projeví po odemknutí a aktualizaci mechanismu.

Nové související postupy#

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
JoltControl.set_auto_returnJoltControl.set_auto_return(enabled)Boolean; omezené controls, Wheel/Crank odmítá. Auto-return Boolean, target0..1 nebo Joystick XY v jednotkovém disku. Změna cíle při zámku uloží nastavení bez pohybu tělesa.
JoltControl.set_targetJoltControl.set_target(value,y=undefined)Boolean; omezené controls, Wheel/Crank odmítá. Auto-return Boolean, target0..1 nebo Joystick XY v jednotkovém disku. Změna cíle při zámku uloží nastavení bez pohybu tělesa.