UNPKG

mylingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

43 lines 1.6 kB
import { lazy } from "@lincode/utils"; import { getGravity } from "../../../../states/useGravity"; import { setPhysicsWorld } from "../../../../states/usePhysicsWorld"; export default lazy(async () => { const { World, GSSolver, SplitSolver, NaiveBroadphase, Material, ContactMaterial, Body, Vec3, Box, Sphere, Cylinder } = await import("cannon-es"); const world = new World(); getGravity((gravity) => world.gravity.set(0, -gravity, 0)); world.quatNormalizeSkip = 0; world.quatNormalizeFast = false; const solver = new GSSolver(); world.defaultContactMaterial.contactEquationStiffness = 1e9; world.defaultContactMaterial.contactEquationRelaxation = 4; solver.iterations = 7; solver.tolerance = 0.1; const split = true; if (split) world.solver = new SplitSolver(solver); else world.solver = solver; world.broadphase = new NaiveBroadphase(); const [defaultMaterial] = world.defaultContactMaterial.materials; const slipperyMaterial = new Material("slipperyMaterial"); world.addContactMaterial(new ContactMaterial(slipperyMaterial, slipperyMaterial, { friction: 0.0, restitution: 0.0 })); world.addContactMaterial(new ContactMaterial(slipperyMaterial, defaultMaterial, { friction: 0.001, restitution: 0.0 })); setPhysicsWorld(world); return { world, defaultMaterial, slipperyMaterial, Body, Vec3, Box, Sphere, Cylinder }; }); //# sourceMappingURL=loadCannon.js.map