Shape Resources
Vytváření těles z tvarů
Options používají stejná managed nastavení jako běžné konstruktory těles: rotaci, rychlost, hmotnost/materiál, vrstvu, sensor a podporovaný center_of_mass_offset. Metadata tvaru jsou sdílená; transformace a stav jsou pro každé těleso samostatné.
| API | Chování |
|---|---|
| shape.create_dynamic(x, y, z, options=undefined) | Vytvoří Dynamic JoltBody; při selhání vrátí undefined. |
| shape.create_static(x, y, z, options=undefined) | Vytvoří Static těleso, včetně Mesh, HeightField a Plane. |
| shape.create_kinematic(x, y, z, options=undefined) | Vytvoří řízené Kinematic těleso; static-only tvary odmítne. |
var shape = jolt_shape_sphere(0.5);
if (!is_undefined(shape)) {
var ball = shape.create_dynamic(0, 0, 5, {mass: 2, friction: 0.6});
if (is_undefined(ball)) show_debug_message(jolt_get_error_message());
shape.destroy();
}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 |
|---|---|---|
| JoltShape.create_dynamic | JoltShape.create_dynamic(x = 0, y = 0, z = 0, options = undefined) | Vytvoří nové JoltBody/undefined, XYZ default 0, standardní Body options. Mesh/Heightfield/Plane pouze Static; resource zůstává použitelný. _create je implementační delegát s explicitním motion, pro aplikaci používej create_* varianty. |
| JoltShape.create_kinematic | JoltShape.create_kinematic(x = 0, y = 0, z = 0, options = undefined) | Vytvoří nové JoltBody/undefined, XYZ default 0, standardní Body options. Mesh/Heightfield/Plane pouze Static; resource zůstává použitelný. _create je implementační delegát s explicitním motion, pro aplikaci používej create_* varianty. |
| JoltShape.create_static | JoltShape.create_static(x = 0, y = 0, z = 0, options = undefined) | Vytvoří nové JoltBody/undefined, XYZ default 0, standardní Body options. Mesh/Heightfield/Plane pouze Static; resource zůstává použitelný. _create je implementační delegát s explicitním motion, pro aplikaci používej create_* varianty. |