Box
Vytvoří kvádr zarovnaný v lokálních osách body.
Je vhodný pro krabice, stěny, podlahy a jednoduché objekty. x, y a z představují world-space střed. Podporuje Dynamic, Static a Kinematic.
Syntaxe#
jolt_box_create_dynamic(x, y, z, width, depth, height, options=undefined)
jolt_box_create_static(x, y, z, width, depth, height, options=undefined)
jolt_box_create_kinematic(x, y, z, width, depth, height, options=undefined)Vytvoření pro instanci#
jolt_box_create_dynamic_for_instance(instance, width, depth, height, options=undefined)Argumenty#
| Argument | Typ | Popis |
|---|---|---|
| x, y, z | Real | World-space střed Boxu. |
| width | Real | Celý rozměr podél X; konečný a > 0. |
| depth | Real | Celý rozměr podél Y; konečný a > 0. |
| height | Real | Celý rozměr podél Z; konečný a > 0. |
| options | Struct | Volitelný společný body options struct. |
Návrat a chování#
Vrací JoltBody nebo undefined. Podporuje běžné JoltBody vlastnosti, collision layers, sensor režim, kontakty a raycasty; omezení motion typu se uplatní na síly, mass a velocity. Neplatné pozice, rozměry, options nebo selhání native shape creation jsou odmítnuty. Pivot zůstává ve středu; rotaci lze zadat options nebo JoltBody metodami. Debug draw respektuje celý rozměr a transformaci.
Reusable JoltShape#
var shape = jolt_shape_box(width, depth, height, cache_key=undefined);
var dynamic_body = shape.create_dynamic(x, y, z, options);
var static_body = shape.create_static(x, y, z, options);
var kinematic_body = shape.create_kinematic(x, y, z, options);jolt_shape_box() vyžaduje kladné konečné rozměry. cache_key je ASCII do 255 znaků. Resource lze sdílet; shape.destroy() je idempotentní a již vytvořená bodies vlastní native reference nezávisle. jolt_shape_load(path, cache_key) podporuje validní Box .jcol.
Příklad#
jolt_start();
var floor = jolt_box_create_static(0, 0, -0.5, 20, 20, 1, {friction:0.8});
var crate = jolt_box_create_dynamic(0, 0, 4, 1, 1, 1, {mass:2, restitution:0.1});Podlaha má horní plochu v Z=0 a dynamická krabice nad ní během simulace spadne.
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_box_create_dynamic_for_instance | jolt_box_create_dynamic_for_instance(instance, width, depth, height, options = undefined) | Vytvoří Dynamic box pro existující instanci a naváže ji; vrací JoltBody/undefined. Použij explicitní sync pro zápis fyzikálního transformu do instance. |