‹›
Aktuální projekt

Carry: přenášení předmětů

Carry je současný controller jolt_grabber(). Uchopitelné těleso povol pomocí set_grab_enabled(true). Drží těžiště, pokud set_grab_point(x,y,z) neurčí lokální bod; bod měň po puštění.

Příklad#

GML
body.set_grab_enabled(true);
carry = jolt_grabber();
carry.set_camera(o_control_bbmod_camera);
carry.set_distances(3, 1.5, 0.1, 3, 4);
carry.set_preserve_grab_distance(true);
carry.set_max_mass(30);
carry.set_strength(1200);
carry.set_max_torque(300);
// End Step:
carry.update_controls();

Použití a omezení#

set_distances přijímá dosah výběru, vzdálenost držení, minimum, maximum a mez puštění v metrech. Platí min ≤ hold ≤ max a break > max(dosah, maximum). preserve_grab_distance má v knihovně výchozí false; demo jej zapíná.

Výchozí vstup je LMB sebrat/pustit, RMB s myší otočit, kolečko vzdálenost, R srovnat a F odhodit. Kamera musí ve Step před mouse-look respektovat carry.controls_use_mouse(id); update_controls volejte v End Step po kameře. Ztráta fokusu nebo chybějící/odemčená kamera pustí úchop. Nezpracovávejte vstup zároveň automaticky a ručně.

set_auto_upright, set_yaw_follow a set_snap_step působí fyzikálním momentem; orientační volby jsou výchozí vypnuté. Kolize, limity hmotnosti a síly platí dál. Vnější klouby obvykle Carry blokují. Interní ragdoll klouby a povolení hostitelé s ovládacími prvky jsou podporováni; pohyblivé rukojeti nejsou Carry předměty. Soft Body používá get_held_type()/get_soft_body(), get_body() zůstává pro pevná tělesa. get_last_reason() vysvětlí odmítnutí. Grabber zrušte v Clean Up.

Přehled API#

Signatury veřejných funkcí a metod. Metody volejte na vrácené instanci; parametry s výchozí hodnotou jsou volitelné.

Funkce / metodaSignatura
JoltBody.clear_grab_pointJoltBody.clear_grab_point()
JoltBody.get_grab_enabledJoltBody.get_grab_enabled()
JoltBody.get_local_grab_pointJoltBody.get_local_grab_point()
JoltBody.set_grab_enabledJoltBody.set_grab_enabled(enabled)
JoltBody.set_grab_pointJoltBody.set_grab_point(x,y,z)
JoltGrabber.add_distanceJoltGrabber.add_distance(delta)
JoltGrabber.controls_use_mouseJoltGrabber.controls_use_mouse(view)
JoltGrabber.destroyJoltGrabber.destroy()
JoltGrabber.get_applied_forceJoltGrabber.get_applied_force()
JoltGrabber.get_bodyJoltGrabber.get_body()
JoltGrabber.get_distanceJoltGrabber.get_distance()
JoltGrabber.get_error_distanceJoltGrabber.get_error_distance()
JoltGrabber.get_grab_pointJoltGrabber.get_grab_point()
JoltGrabber.get_grab_rotationJoltGrabber.get_grab_rotation()
JoltGrabber.get_grab_vertex_countJoltGrabber.get_grab_vertex_count()
JoltGrabber.get_held_typeJoltGrabber.get_held_type()
JoltGrabber.get_ignore_holder_collisionJoltGrabber.get_ignore_holder_collision()
JoltGrabber.get_last_reasonJoltGrabber.get_last_reason()
JoltGrabber.get_profileJoltGrabber.get_profile()
JoltGrabber.get_reference_pointJoltGrabber.get_reference_point()
JoltGrabber.get_reference_rotationJoltGrabber.get_reference_rotation()
JoltGrabber.get_soft_bodyJoltGrabber.get_soft_body()
JoltGrabber.get_statusJoltGrabber.get_status()
JoltGrabber.get_target_pointJoltGrabber.get_target_point()
JoltGrabber.get_target_rotationJoltGrabber.get_target_rotation()
JoltGrabber.get_unlock_physics_lockedJoltGrabber.get_unlock_physics_locked()
JoltGrabber.get_upJoltGrabber.get_up()
JoltGrabber.grabJoltGrabber.grab()
JoltGrabber.is_holdingJoltGrabber.is_holding()
JoltGrabber.is_manual_rotationJoltGrabber.is_manual_rotation()
JoltGrabber.is_validJoltGrabber.is_valid()
JoltGrabber.realignJoltGrabber.realign()
JoltGrabber.releaseJoltGrabber.release()
JoltGrabber.rotateJoltGrabber.rotate(yaw,pitch,roll=0)
JoltGrabber.rotate_mouseJoltGrabber.rotate_mouse(dx,dy,dt=undefined)
JoltGrabber.scroll_distanceJoltGrabber.scroll_distance(steps)
JoltGrabber.set_auto_uprightJoltGrabber.set_auto_upright(value)
JoltGrabber.set_break_delayJoltGrabber.set_break_delay(value)
JoltGrabber.set_break_distanceJoltGrabber.set_break_distance(value)
JoltGrabber.set_cameraJoltGrabber.set_camera(source)
JoltGrabber.set_damping_ratioJoltGrabber.set_damping_ratio(value)
JoltGrabber.set_debug_break_rangeJoltGrabber.set_debug_break_range(enabled)
JoltGrabber.set_debug_detailsJoltGrabber.set_debug_details(enabled)
JoltGrabber.set_debug_labelsJoltGrabber.set_debug_labels(enabled)
JoltGrabber.set_distanceJoltGrabber.set_distance(distance)
JoltGrabber.set_distance_stepJoltGrabber.set_distance_step(value)
JoltGrabber.set_distancesJoltGrabber.set_distances(grab,hold,minimum,maximum,break)
JoltGrabber.set_follow_speedJoltGrabber.set_follow_speed(value)
JoltGrabber.set_frequencyJoltGrabber.set_frequency(value)
JoltGrabber.set_grab_buttonJoltGrabber.set_grab_button(button)
JoltGrabber.set_grab_distanceJoltGrabber.set_grab_distance(value)
JoltGrabber.set_hold_distanceJoltGrabber.set_hold_distance(value)
JoltGrabber.set_holderJoltGrabber.set_holder(holder)
JoltGrabber.set_ignore_holder_collisionJoltGrabber.set_ignore_holder_collision(ignore)
JoltGrabber.set_manual_rotationJoltGrabber.set_manual_rotation(enabled)
JoltGrabber.set_manual_sensitivityJoltGrabber.set_manual_sensitivity(value)
JoltGrabber.set_manual_velocityJoltGrabber.set_manual_velocity(yaw,pitch,roll=0,dt=undefined)
JoltGrabber.set_max_accelerationJoltGrabber.set_max_acceleration(value)
JoltGrabber.set_max_angular_accelerationJoltGrabber.set_max_angular_acceleration(value)
JoltGrabber.set_max_massJoltGrabber.set_max_mass(value)
JoltGrabber.set_max_torqueJoltGrabber.set_max_torque(value)
JoltGrabber.set_maximum_distanceJoltGrabber.set_maximum_distance(value)
JoltGrabber.set_minimum_distanceJoltGrabber.set_minimum_distance(value)
JoltGrabber.set_preserve_grab_distanceJoltGrabber.set_preserve_grab_distance(value)
JoltGrabber.set_profileJoltGrabber.set_profile(profile)
JoltGrabber.set_realign_keyJoltGrabber.set_realign_key(key)
JoltGrabber.set_reference_accelerationJoltGrabber.set_reference_acceleration(value)
JoltGrabber.set_reference_angular_accelerationJoltGrabber.set_reference_angular_acceleration(value)
JoltGrabber.set_reference_rotation_speedJoltGrabber.set_reference_rotation_speed(value)
JoltGrabber.set_reference_speedJoltGrabber.set_reference_speed(value)
JoltGrabber.set_rotate_buttonJoltGrabber.set_rotate_button(button)
JoltGrabber.set_rotation_speedJoltGrabber.set_rotation_speed(value)
JoltGrabber.set_snap_stepJoltGrabber.set_snap_step(value)
JoltGrabber.set_socket_pull_enabledJoltGrabber.set_socket_pull_enabled(enabled)
JoltGrabber.set_strengthJoltGrabber.set_strength(value)
JoltGrabber.set_throw_impulseJoltGrabber.set_throw_impulse(impulse)
JoltGrabber.set_throw_keyJoltGrabber.set_throw_key(key)
JoltGrabber.set_throw_max_speedJoltGrabber.set_throw_max_speed(value)
JoltGrabber.set_unlock_physics_lockedJoltGrabber.set_unlock_physics_locked(enabled)
JoltGrabber.set_upJoltGrabber.set_up(x,y,z)
JoltGrabber.set_yaw_followJoltGrabber.set_yaw_follow(value)
JoltGrabber.throw_bodyJoltGrabber.throw_body(impulse)
JoltGrabber.updateJoltGrabber.update(ox,oy,oz,dx,dy,dz)
JoltGrabber.update_controlsJoltGrabber.update_controls()
JoltGrabber.update_frameJoltGrabber.update_frame(ox,oy,oz,dx,dy,dz,ux,uy,uz)

Související návody#

Penetrační spojení mají výjimku z běžného zákazu uchopení externě spojených mechanismů. Podporované jsou rigid bodies, ragdolly a Soft Body; stav held_type rozlišuje druh. Síla a moment jsou omezené a kontakt může měnit orientaci drženého předmětu.

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
jolt_grabberjolt_grabber(options=undefined)Vyžaduje jolt_start, vrací JoltGrabber nebo undefined. Jediný profil carry; default vzdálenosti 3/1.5/0.1/3/4 m, max_mass 30 kg, break_delay 0.1 s, preserve_distance/upright/yaw/socket_pull false. Layers je creation option. Legacy damping odmítá: použij damping_ratio.
JoltBody.clear_grab_pointJoltBody.clear_grab_point()Místní bod vůči originu v m, setter/clear Boolean. Clear vrátí automatický bod; getter {x, y, z} nebo undefined. Nejde o aktuální světový bod ruky.
JoltBody.get_grab_enabledJoltBody.get_grab_enabled()Nezávislé opt-in příznaky, výchozí false. Setter Boolean/0/1 → Boolean; getter Boolean false i při chybě. Grip nyní přijímá Static i Kinematic, nikoliv Dynamic; grab_enabled nezaručuje splnění dalších Carry podmínek.
JoltBody.get_local_grab_pointJoltBody.get_local_grab_point()Místní bod vůči originu v m, setter/clear Boolean. Clear vrátí automatický bod; getter {x, y, z} nebo undefined. Nejde o aktuální světový bod ruky.
JoltBody.set_grab_enabledJoltBody.set_grab_enabled(enabled)Nezávislé opt-in příznaky, výchozí false. Setter Boolean/0/1 → Boolean; getter Boolean false i při chybě. Grip nyní přijímá Static i Kinematic, nikoliv Dynamic; grab_enabled nezaručuje splnění dalších Carry podmínek.
JoltBody.set_grab_pointJoltBody.set_grab_point(x,y,z)Místní bod vůči originu v m, setter/clear Boolean. Clear vrátí automatický bod; getter {x, y, z} nebo undefined. Nejde o aktuální světový bod ruky.
JoltGrabber.add_distanceJoltGrabber.add_distance(delta)Boolean; vzdálenost nebo přírůstek v m. Native omezuje držení dle rozsahu controlleru; add_distance vychází z get_distance.
JoltGrabber.controls_use_mouseJoltGrabber.controls_use_mouse(view)Boolean, zda daná živá kamera se zamčenou myší má přenechat myš ruční rotaci drženého předmětu. Volej v Camera Step před použitím delty.
JoltGrabber.destroyJoltGrabber.destroy()Boolean, opakované volání po zničení true. Release pustí předmět; destroy navíc zničí controller. Nevlastní a neničí držený objekt.
JoltGrabber.get_applied_forceJoltGrabber.get_applied_force()Číslo: chyba pozice m / aplikovaná síla N / vzdálenost držení m. Při neplatnosti 0, samotná nula není důkaz platnosti.
JoltGrabber.get_bodyJoltGrabber.get_body()Vrací managed rigid JoltBody / Soft Body dle metody; undefined pokud nic nebo jiný typ nedrží.
JoltGrabber.get_distanceJoltGrabber.get_distance()Číslo: chyba pozice m / aplikovaná síla N / vzdálenost držení m. Při neplatnosti 0, samotná nula není důkaz platnosti.
JoltGrabber.get_error_distanceJoltGrabber.get_error_distance()Číslo: chyba pozice m / aplikovaná síla N / vzdálenost držení m. Při neplatnosti 0, samotná nula není důkaz platnosti.
JoltGrabber.get_grab_pointJoltGrabber.get_grab_point()Světový {x, y, z} v m reference / uchopení / cíle; undefined bez držení či při chybě.
JoltGrabber.get_grab_rotationJoltGrabber.get_grab_rotation()Světový quaternion XYZW cíle / reference / skutečného tělesa či držené soft-body oblasti. undefined při chybě nebo bez držení.
JoltGrabber.get_grab_vertex_countJoltGrabber.get_grab_vertex_count()Typ je none/body/soft_body. Počet vybraných soft vertices je číslo, 0 bez držení; není celkový počet vertices látky.
JoltGrabber.get_held_typeJoltGrabber.get_held_type()Typ je none/body/soft_body. Počet vybraných soft vertices je číslo, 0 bez držení; není celkový počet vertices látky.
JoltGrabber.get_ignore_holder_collisionJoltGrabber.get_ignore_holder_collision()Boolean současného příznaku, false i při chybě.
JoltGrabber.get_last_reasonJoltGrabber.get_last_reason()Diagnostický řetězec none/released/no_source/no_hit/grab_disabled/invalid_motion/mass_limit/mechanism/already_held/support_body/out_of_reach/break_distance/body_changed/body_destroyed/holder_destroyed/numerical_failure/physics_locked; invalid_handle při neplatnosti.
JoltGrabber.get_profileJoltGrabber.get_profile()Pouze řetězec carry. Setter Boolean, getter carry nebo undefined při neplatném objektu. Starý controller není druhý podporovaný profil.
JoltGrabber.get_reference_pointJoltGrabber.get_reference_point()Světový {x, y, z} v m reference / uchopení / cíle; undefined bez držení či při chybě.
JoltGrabber.get_reference_rotationJoltGrabber.get_reference_rotation()Světový quaternion XYZW cíle / reference / skutečného tělesa či držené soft-body oblasti. undefined při chybě nebo bez držení.
JoltGrabber.get_soft_bodyJoltGrabber.get_soft_body()Vrací managed rigid JoltBody / Soft Body dle metody; undefined pokud nic nebo jiný typ nedrží.
JoltGrabber.get_statusJoltGrabber.get_status()On-demand struct: profile, holding, manual_rotation, reason, source_distance, position_error (m), rotation_error (°), force (N), torque_budget (N·m), saturation, force_usage, torque_usage, socket_pulling; undefined při neplatnosti. Nevolej jen pro pohyb hráče.
JoltGrabber.get_target_pointJoltGrabber.get_target_point()Světový {x, y, z} v m reference / uchopení / cíle; undefined bez držení či při chybě.
JoltGrabber.get_target_rotationJoltGrabber.get_target_rotation()Světový quaternion XYZW cíle / reference / skutečného tělesa či držené soft-body oblasti. undefined při chybě nebo bez držení.
JoltGrabber.get_unlock_physics_lockedJoltGrabber.get_unlock_physics_locked()Boolean současného příznaku, false i při chybě.
JoltGrabber.get_upJoltGrabber.get_up()Světový nenulový konečný Up vektor; setter Boolean, getter {x, y, z} nebo undefined.
JoltGrabber.grabJoltGrabber.grab()Boolean pokusu o uchopení z posledního zdroje. Vyžaduje grab_enabled a podporovaný objekt; při neúspěchu čti get_last_reason. Podporuje rigid i soft body, Socket tah je opt-in.
JoltGrabber.is_holdingJoltGrabber.is_holding()Boolean, false i při neplatném controlleru.
JoltGrabber.is_manual_rotationJoltGrabber.is_manual_rotation()Setter Boolean/0/1 vstup a Boolean úspěch, getter Boolean (false i při chybě). Ruční režim mění fyzikální cíl rotace.
JoltGrabber.is_validJoltGrabber.is_valid()Boolean ověření wrapperu a native handle.
JoltGrabber.realignJoltGrabber.realign()Boolean; požádá o narovnání fyzikálního cíle, ne okamžitý transform.
JoltGrabber.releaseJoltGrabber.release()Boolean, opakované volání po zničení true. Release pustí předmět; destroy navíc zničí controller. Nevlastní a neničí držený objekt.
JoltGrabber.rotateJoltGrabber.rotate(yaw,pitch,roll=0)Boolean; konečné přírůstky yaw/pitch/roll ve stupních okolo Camera Up/Right/Forward. Roll default 0. Žádný teleport tělesa.
JoltGrabber.rotate_mouseJoltGrabber.rotate_mouse(dx,dy,dt=undefined)Boolean; yaw/pitch/roll °/s nebo myší dx/dy v pixelech. dt v (0, 0.25] s; vynechané z delta_time, fallback 1/60, cap 0.25. Obnovuj každý vstupní frame; rotate_mouse použije sensitivity a obrátí X yaw.
JoltGrabber.scroll_distanceJoltGrabber.scroll_distance(steps)Boolean; konečný počet kroků násobený distance_step; vzdálenost respektuje min/max.
JoltGrabber.set_auto_uprightJoltGrabber.set_auto_upright(value)Boolean výsledek; vstup Boolean nebo přesné 0/1, default false. Zachování vzdálenosti / automatické narovnání / následování yaw / tah roztrhnutelných Socketů podle názvu.
JoltGrabber.set_break_delayJoltGrabber.set_break_delay(value)Boolean; konečná hodnota, rozsah 0..2, veřejná jednotka s. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_break_distanceJoltGrabber.set_break_distance(value)Boolean; jednotlivá vzdálenost v m musí vyhovovat celému aktuálnímu rozsahu set_distances. Pro změnu více mezí používej atomické set_distances, aby mezikrok nebyl neplatný.
JoltGrabber.set_cameraJoltGrabber.set_camera(source)Objekt kamery, živá instance nebo undefined; Boolean. Změna kamery pustí předmět. Kamera musí poskytovat camera.Position/Target/Up s X/Y/Z a mouse_locked.
JoltGrabber.set_damping_ratioJoltGrabber.set_damping_ratio(value)Boolean; konečná hodnota, rozsah 0.05..10, veřejná jednotka ratio. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_debug_break_rangeJoltGrabber.set_debug_break_range(enabled)Striktní Boolean vstup, Boolean výsledek. Default false/false/true. Ovlivní jen diagnostické kreslení.
JoltGrabber.set_debug_detailsJoltGrabber.set_debug_details(enabled)Striktní Boolean vstup, Boolean výsledek. Default false/false/true. Ovlivní jen diagnostické kreslení.
JoltGrabber.set_debug_labelsJoltGrabber.set_debug_labels(enabled)Striktní Boolean vstup, Boolean výsledek. Default false/false/true. Ovlivní jen diagnostické kreslení.
JoltGrabber.set_distanceJoltGrabber.set_distance(distance)Boolean; vzdálenost nebo přírůstek v m. Native omezuje držení dle rozsahu controlleru; add_distance vychází z get_distance.
JoltGrabber.set_distance_stepJoltGrabber.set_distance_step(value)Boolean; konečná hodnota, rozsah 0.001..100, veřejná jednotka m. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_distancesJoltGrabber.set_distances(grab,hold,minimum,maximum,break)Boolean, atomické nastavení v m: grab, hold, min, max, break. 0.01<=min<=hold<=max<=10000, grab 0.01..10000, break<=20000 a >max(grab, max). Při chybě zachová původní nastavení.
JoltGrabber.set_follow_speedJoltGrabber.set_follow_speed(value)Boolean; konečná hodnota, rozsah 0.001..1000, veřejná jednotka m/s. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_frequencyJoltGrabber.set_frequency(value)Boolean; konečná hodnota, rozsah 0.1..60, veřejná jednotka Hz. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_grab_buttonJoltGrabber.set_grab_button(button)Boolean; celá tlačítka myši 0..5 / klávesy 0..255. 0 vypne akci; default levá, pravá, R, F.
JoltGrabber.set_grab_distanceJoltGrabber.set_grab_distance(value)Boolean; jednotlivá vzdálenost v m musí vyhovovat celému aktuálnímu rozsahu set_distances. Pro změnu více mezí používej atomické set_distances, aby mezikrok nebyl neplatný.
JoltGrabber.set_hold_distanceJoltGrabber.set_hold_distance(value)Boolean; jednotlivá vzdálenost v m musí vyhovovat celému aktuálnímu rozsahu set_distances. Pro změnu více mezí používej atomické set_distances, aby mezikrok nebyl neplatný.
JoltGrabber.set_holderJoltGrabber.set_holder(holder)Živý JoltCharacter stejného světa nebo undefined. Boolean; zachová současnou volbu ignore_holder_collision, Character nevlastní.
JoltGrabber.set_ignore_holder_collisionJoltGrabber.set_ignore_holder_collision(ignore)Boolean výsledek; Boolean nebo přesné 0/1. Ignorování kolize s holderem / povolení odemknutí physics_locked při grab; default false.
JoltGrabber.set_manual_rotationJoltGrabber.set_manual_rotation(enabled)Setter Boolean/0/1 vstup a Boolean úspěch, getter Boolean (false i při chybě). Ruční režim mění fyzikální cíl rotace.
JoltGrabber.set_manual_sensitivityJoltGrabber.set_manual_sensitivity(value)Boolean; konečná hodnota, rozsah 0.001..20, veřejná jednotka °/pixel. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_manual_velocityJoltGrabber.set_manual_velocity(yaw,pitch,roll=0,dt=undefined)Boolean; yaw/pitch/roll °/s nebo myší dx/dy v pixelech. dt v (0, 0.25] s; vynechané z delta_time, fallback 1/60, cap 0.25. Obnovuj každý vstupní frame; rotate_mouse použije sensitivity a obrátí X yaw.
JoltGrabber.set_max_accelerationJoltGrabber.set_max_acceleration(value)Boolean; konečná hodnota, rozsah 0.001..1000, veřejná jednotka m/s². Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_max_angular_accelerationJoltGrabber.set_max_angular_acceleration(value)Boolean; konečná hodnota, rozsah 0.001..1000 rad/s² converted from input degrees, veřejná jednotka °/s². Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_max_massJoltGrabber.set_max_mass(value)Boolean; konečná hodnota, rozsah 0.001..1000000, veřejná jednotka kg. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_max_torqueJoltGrabber.set_max_torque(value)Boolean; konečná hodnota, rozsah 0.001..100000000, veřejná jednotka N·m. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_maximum_distanceJoltGrabber.set_maximum_distance(value)Boolean; jednotlivá vzdálenost v m musí vyhovovat celému aktuálnímu rozsahu set_distances. Pro změnu více mezí používej atomické set_distances, aby mezikrok nebyl neplatný.
JoltGrabber.set_minimum_distanceJoltGrabber.set_minimum_distance(value)Boolean; jednotlivá vzdálenost v m musí vyhovovat celému aktuálnímu rozsahu set_distances. Pro změnu více mezí používej atomické set_distances, aby mezikrok nebyl neplatný.
JoltGrabber.set_preserve_grab_distanceJoltGrabber.set_preserve_grab_distance(value)Boolean výsledek; vstup Boolean nebo přesné 0/1, default false. Zachování vzdálenosti / automatické narovnání / následování yaw / tah roztrhnutelných Socketů podle názvu.
JoltGrabber.set_profileJoltGrabber.set_profile(profile)Pouze řetězec carry. Setter Boolean, getter carry nebo undefined při neplatném objektu. Starý controller není druhý podporovaný profil.
JoltGrabber.set_realign_keyJoltGrabber.set_realign_key(key)Boolean; celá tlačítka myši 0..5 / klávesy 0..255. 0 vypne akci; default levá, pravá, R, F.
JoltGrabber.set_reference_accelerationJoltGrabber.set_reference_acceleration(value)Boolean; konečná hodnota, rozsah 0.001..1000, veřejná jednotka m/s². Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_reference_angular_accelerationJoltGrabber.set_reference_angular_acceleration(value)Boolean; konečná hodnota, rozsah 0.001..1000 rad/s² converted from input degrees, veřejná jednotka °/s². Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_reference_rotation_speedJoltGrabber.set_reference_rotation_speed(value)Boolean; konečná hodnota, rozsah 0.001..100 rad/s converted from input degrees, veřejná jednotka °/s. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_reference_speedJoltGrabber.set_reference_speed(value)Boolean; konečná hodnota, rozsah 0.001..1000, veřejná jednotka m/s. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_rotate_buttonJoltGrabber.set_rotate_button(button)Boolean; celá tlačítka myši 0..5 / klávesy 0..255. 0 vypne akci; default levá, pravá, R, F.
JoltGrabber.set_rotation_speedJoltGrabber.set_rotation_speed(value)Boolean; konečná hodnota, rozsah 0.001..100 rad/s converted from input degrees, veřejná jednotka °/s. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_snap_stepJoltGrabber.set_snap_step(value)Boolean; 0 vypne snap, jinak 1..180° a musí dělit 360 na celé díly.
JoltGrabber.set_socket_pull_enabledJoltGrabber.set_socket_pull_enabled(enabled)Boolean výsledek; vstup Boolean nebo přesné 0/1, default false. Zachování vzdálenosti / automatické narovnání / následování yaw / tah roztrhnutelných Socketů podle názvu.
JoltGrabber.set_strengthJoltGrabber.set_strength(value)Boolean; konečná hodnota, rozsah 0.001..100000000, veřejná jednotka N. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_throw_impulseJoltGrabber.set_throw_impulse(impulse)Boolean; konečný nezáporný impuls v N·s, default 100; platí pro automatické ovládání.
JoltGrabber.set_throw_keyJoltGrabber.set_throw_key(key)Boolean; celá tlačítka myši 0..5 / klávesy 0..255. 0 vypne akci; default levá, pravá, R, F.
JoltGrabber.set_throw_max_speedJoltGrabber.set_throw_max_speed(value)Boolean; konečná hodnota, rozsah 0..1000, veřejná jednotka m/s. Mění controller, ne hmotnost či transform drženého tělesa. Throw max speed omezuje přidanou rychlost, ne celkovou rychlost.
JoltGrabber.set_unlock_physics_lockedJoltGrabber.set_unlock_physics_locked(enabled)Boolean výsledek; Boolean nebo přesné 0/1. Ignorování kolize s holderem / povolení odemknutí physics_locked při grab; default false.
JoltGrabber.set_upJoltGrabber.set_up(x,y,z)Světový nenulový konečný Up vektor; setter Boolean, getter {x, y, z} nebo undefined.
JoltGrabber.set_yaw_followJoltGrabber.set_yaw_follow(value)Boolean výsledek; vstup Boolean nebo přesné 0/1, default false. Zachování vzdálenosti / automatické narovnání / následování yaw / tah roztrhnutelných Socketů podle názvu.
JoltGrabber.throw_bodyJoltGrabber.throw_body(impulse)Boolean; nezáporný impuls N·s ve směru pohledu a puštění. Přidaná rychlost omezena throw_max_speed; původní hybnost se zachová.
JoltGrabber.updateJoltGrabber.update(ox,oy,oz,dx,dy,dz)Boolean; světový origin v m a směrový vektor (nikoliv Target bod). update_frame přidává nenulový nezávislý Up, zachová roll a ortonormalizuje rámec. update odvodí dt z delta_time; nejsou to kroky simulace.
JoltGrabber.update_controlsJoltGrabber.update_controls()Boolean; jednou v End Step po kameře. Automaticky grab/release/rotate/realign/scroll/throw; neplatná nebo odemčená kamera předmět pustí. Vyžaduje carry profil.
JoltGrabber.update_frameJoltGrabber.update_frame(ox,oy,oz,dx,dy,dz,ux,uy,uz)Boolean; světový origin v m a směrový vektor (nikoliv Target bod). update_frame přidává nenulový nezávislý Up, zachová roll a ortonormalizuje rámec. update odvodí dt z delta_time; nejsou to kroky simulace.