JoltPhysics

Managed objekty

Typy vracené veřejnými factories; interní handly nevytvářej ručně.

Tato reference zachovává rozdělení managed a low-level API. Deklarace jsou generované z aktuálního kódu; seznam signatur není potvrzením všech okrajových stavů nativního solveru.

ExplosionEmitter, AssetRaycast, AssetForce, AssetPoint a SurfaceRaycastResult jsou označení vracených objektů v dokumentaci, nikoli veřejné konstruktory GML. Vytvoř je přes jolt_explosion_create, jolt_asset_create_raycast, jolt_asset_create_force, jolt_asset_create_point nebo výsledek Surface raycastu. Interní názvy konstruktorů nejsou součástí doporučeného API.

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
JoltAssetControlSettingsJoltAssetControlSettings()Prázdný options builder z jolt_asset_control_settings(); bez fyziky a bez destroy. Settery vracejí self/false. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltBBMODBoxJoltBBMODBox(world,handle,width,depth,height,resolution)Volumetrický wrapper s (resolution+1)^3 vrcholy a volume_stiffness; full XYZ m. Použij jolt_soft_body_create_box pro skutečnou geometrii a render mesh. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltBBMODClothJoltBBMODCloth(world,handle,sx,sy)Wrapper grid cloth odvozený z cloth core, s materiálovým a attachment API. Použij jolt_soft_body_create_cloth; sx/sy musí souhlasit s native gridem. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltBBMODModelJoltBBMODModel(world,handle,vertex_count,collision_limit,data)Model wrapper používá připravená indices/UV/parts/rest/nodes data. Použij jolt_soft_body_create_from_model nebo jolt_soft_body_create_cloth_from_model; pouze druhá cesta přidá set_bend/get_bend. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltBBMODSoftBodyJoltBBMODSoftBody(world,handle,vertex_count,collision_limit)Základ wrapperu native Soft Body, vertex count a collision limit musí odpovídat nativní geometrii. Použij jolt_soft_body_create_*; constructor nepřidává render mesh. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltBBMODSphereJoltBBMODSphere(world,handle,radius,segments)Soft Body wrapper sphere topologie a rozměrů, navíc pressure API. Použij jolt_soft_body_create_sphere; fyzika/render resources vznikají ve factory. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltBodyJoltBody(world, handle, shape = "unknown", motion = JOLT_MOTION_DYNAMIC, dimensions = undefined)Wrapper již existujícího world/body handle a geometrických metadat. Použij jolt_*_create_static/dynamic/kinematic nebo jolt_asset_create_body; samotný constructor těleso nativně nevytvoří. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltCompoundJoltCompound(world, handle)Wrapper nativního compound builderu, seznam children začíná prázdný. Použij jolt_compound. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltConstraintJoltConstraint(world, handle, type, body_a, body_b, debug)Wrapper existujícího constraint handle, typu, body A/B a debug rámce. Použij příslušnou jolt_fixed/hinge/... factory; vlastní destroy ruší kloub, ne bodies. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltControlJoltControl(world,handle,body,constraint,parent,config,type="button")Wrapper vytvořeného mechanismu, vlastněného body/constraint a vypůjčeného parent. Button dostává is_pressed; jiné typy tuto metodu nemají. Použij jolt_control_* nebo asset factory. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltControlInteractionJoltControlInteraction()GML input controller aktuálního managed světa, enabled true, reach3m, button left. Použij jolt_control_interaction; samotný constructor neověří běžící svět. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltConveyorJoltConveyor(world)Připravený wrapper s handle0, host undefined; default speed1 m/s, +Y LOCAL. Použij jolt_conveyor a set_body. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltGrabberJoltGrabber(world,handle,options)Wrapper nativního Carry handle s GML adaptérem ovládání. Použij jolt_grabber; starší interní pole constructoru reach/strength/damping nejsou spolehlivý seznam efektivních Carry defaultů. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltGripJoltGrip(character=undefined)Konfigurovatelný GML controller; bez holderu nemá platný Grip. Použij jolt_grip() a set_holder. Distances .65/1.5/2 m pro obě ruce, body movement/return vypnuté; character vlastní volající. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltCharacterJoltCharacter(world, handle, radius, height, crouch_height, layer)Wrapper nativního CharacterVirtual s capsule rozměry a vrstvou. Pozice je u chodidel, výška celková. Použij jolt_character; constructor sám native Character nevytvoří. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltCharacterAttachmentSettingsJoltCharacterAttachmentSettings(body=undefined)JoltCharacterAttachmentSettings(body=undefined) ukládá host a prázdné options, neprovádí attach. Doporučeno jolt_character_attachment(), potom character.attachment_attach(settings). Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltLayerJoltLayer(world, handle, name)Wrapper existujícího layer handle a jména; jolt_layer_create. Životnost vrstvy odpovídá světu. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltPathJoltPath(world)GML draft bez native handle, body prázdné, loop false, smoothness1. Použij jolt_path a build_smooth po doplnění bodů. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltPenetrationRelationshipJoltPenetrationRelationship(world,handle)Nevytváří penetraci, pouze odkazuje na živý nativní relationship handle. Získej přes tip.get_relationship(s); není historický record. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltPenetrationTargetJoltPenetrationTarget(body)Pending konfigurace host body: disabled, forward100N, backward300N, max_depth.5m, category1; samotný constructor neregistruje target. Použij jolt_penetration_target(body). Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltPenetratorJoltPenetrator(body,handle,position,axis)Wrapper native tipu nebo handle0 pending builderu s body-local position/axis. Pending default capture_model2, disabled; použij jolt_penetrator_tip či asset factory. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltRagdollJoltRagdoll(asset,model)Používá asset a načtený BBMOD model, připraví bone mapy a vytváří sestavu při inicializaci; při chybě zůstane invalid. Použij jolt_asset_create_ragdoll pro ověřenou vstupní cestu. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltRenderSurfaceJoltRenderSurface(record,body)Wrapper ověřeného asset recordu a vypůjčeného owner body; GPU surface se vytváří až při kreslení. Použij jolt_asset_create_surface; destroy neruší owner body. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltScaleJoltScale(world, handle, body, reference_gravity)Wrapper existující váhy a vlastněné platformy; reference_gravity je uložený creation parametr. Použij jolt_scale_create. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltShapeJoltShape(world, handle, type, metadata, key = "")Wrapper existujícího shape handle, typu a sdílených debug metadat. Mesh/heightfield/plane jsou static_only. Použij jolt_shape_*; constructor geometrii nealokuje. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltSocketJoltSocket(body, polarity, type, options)Logický socket nad body a ověřenými options; nealokuje samostatné kolizní těleso. Použij jolt_socket nebo asset factory pro registraci a validaci. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltSocketConnectionJoltSocketConnection(a, b, constraint, sockets=undefined, socket_group=undefined)Wrapper existujícího spojovacího constraintu a socketů; nevytváří nový kloub. Získej přes socket.get_connection; destroy ruší spojení a aktivuje cooldown. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltSocketGroupJoltSocketGroup(pairs, primary_pair)Logická skupina předem ověřených male/female párů, začíná bez spojení. Použij jolt_socket_group; constructor sám neověří páry před jejich čtením. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltSoftBodyAttachmentJoltSoftBodyAttachment(soft,handle,count)Wrapper existujícího native attachmentu a výběru vrcholů; samotný constructor vrcholy nepřipne. Použij soft.create_attachment*; host body není vlastněn. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltSoftBodyForceJoltSoftBodyForce(soft)Helper nad Soft Body, default position0, direction-Z, radius.3m, strength20N, impulse1N·s. Použij jolt_soft_body_force(soft); aplikaci spouštějí metody helperu. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltSoftBodyWindJoltSoftBodyWind(soft)Konfigurace nad živým Soft Body, default +X, 5m/s, gust.3, turbulence.2, frequency.35Hz, drag1.2. Použij jolt_soft_body_wind(soft), které provede potřebnou inicializaci. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltVehicleJoltVehicle(world, handle, chassis)Wrapper již vytvořeného native vehicle a vypůjčeného chassis. Začíná built=false, bez kol, inputs0. Použij jolt_vehicle, přidej kola a build. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltVehicleDifferentialSettingsJoltVehicleDifferentialSettings(left, right)Ukládá left/right indexy kol a prázdné options, nevytváří diferenciál. Použij jolt_vehicle_differential(left, right), potom vehicle.add_differential. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltVehicleEngineSettingsJoltVehicleEngineSettings()Prázdný options builder bez nativních resources; jolt_vehicle_engine/transmission/settings. Defaulty a validaci aplikuje vehicle factory. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltVehicleSettingsJoltVehicleSettings()Prázdný options builder bez nativních resources; jolt_vehicle_engine/transmission/settings. Defaulty a validaci aplikuje vehicle factory. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltVehicleTransmissionSettingsJoltVehicleTransmissionSettings()Prázdný options builder bez nativních resources; jolt_vehicle_engine/transmission/settings. Defaulty a validaci aplikuje vehicle factory. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.
JoltVehicleWheelSettingsJoltVehicleWheelSettings(x, y, z)Ukládá chassis-local XYZ m a prázdné options, nevytváří kolo. Použij jolt_vehicle_wheel(x, y, z), potom vehicle.add_wheel. Běžné vytváření prováděj uvedenou factory; ruční new neprovádí všechny její validace a registrace.