Class: PhysicsSystem 
Defined in: packages/core/src/physics/physics-system.ts:63
Manages physics simulation using the Havok physics engine.
Remarks 
- Initializes Havok physics engine and creates a physics world with gravity.
 - Supports automatic physics shapes creation based on entity geometry when PhysicsShapeType.Auto is used.
 - Supports multiple collision shapes: Sphere, Box, Cylinder, ConvexHull, and TriMesh.
 - Synchronizes physics body transforms with Three.js Object3D positions and rotations using PhysicsBody.
 - Handles physics manipulations like applying forces and setting velocities in PhysicsManipulation.
 - Automatically cleans up physics resources when entities are removed.
 
Example 
// Add to your world to enable physics
world.addSystem(PhysicsSystem)
// Create a dynamic box that falls due to gravity
const box = world.createTransformEntity(boxMesh)
box.addComponent(PhysicsShape, {
  shape: PhysicsShapeType.Box,
  dimensions: [1, 1, 1]
})
box.addComponent(PhysicsBody, { state: PhysicsState.Dynamic })See 
Extends 
System<{gravity: {default: [number,number,number];type:Vec3; }; }, {manipluatedEntities: {required: (Component<{_angularVelocity: {default: [number,number,number];type:Vec3; };_engineBody: {default:number;type:Float64; };_engineOffset: {default:number;type:Float64; };_linearVelocity: {default: [number,number,number];type:Vec3; };gravityFactor: {default:number;type:Float32; };linearDamping: {default:number;type:Float32; };state: {default:"DYNAMIC";enum: {Dynamic:"DYNAMIC";Kinematic:"KINEMATIC";Static:"STATIC"; };type:Enum; }; }> |Component<{angularVelocity: {default: [number,number,number];type:Vec3; };force: {default: [number,number,number];type:Vec3; };linearVelocity: {default: [number,number,number];type:Vec3; }; }>)[];where:ValuePredicate[]; };physicsEntities: {required: (Component<{_angularVelocity: {default: [number,number,number];type:Vec3; };_engineBody: {default:number;type:Float64; };_engineOffset: {default:number;type:Float64; };_linearVelocity: {default: [number,number,number];type:Vec3; };gravityFactor: {default:number;type:Float32; };linearDamping: {default:number;type:Float32; };state: {default:"DYNAMIC";enum: {Dynamic:"DYNAMIC";Kinematic:"KINEMATIC";Static:"STATIC"; };type:Enum; }; }> |Component<{_engineShape: {default:number;type:Float64; };density: {default:number;type:Float32; };dimensions: {default: [number,number,number];type:Vec3; };friction: {default:number;type:Float32; };restitution: {default:number;type:Float32; };shape: {default:"Auto";enum: {Auto:"Auto";Box:"Box";Capsules:"Capsules";ConvexHull:"ConvexHull";Cylinder:"Cylinder";Sphere:"Sphere";TriMesh:"TriMesh"; };type:Enum; }; }>)[]; }; },this>
Constructors 
Constructor 
new PhysicsSystem(
_w,_qm,_p):PhysicsSystem
Defined in: node_modules/.pnpm/elics@3.3.0/node_modules/elics/lib/system.d.ts:73
Parameters 
_w 
_qm 
QueryManager
_p 
number
Returns 
PhysicsSystem
Inherited from 
createSystem( { physicsEntities: { required: [PhysicsBody, PhysicsShape], }, manipluatedEntities: { required: [PhysicsBody, PhysicsManipulation], where: [ne(PhysicsBody, '_engineBody', 0)], }, }, { gravity: { type: Types.Vec3, default: [0, -9.81, 0] }, }, ).constructor
Properties 
camera 
readonlycamera:PerspectiveCamera
Defined in: packages/core/src/ecs/system.ts:60
Inherited from 
cleanupFuncs 
readonlycleanupFuncs: () =>void[]
Defined in: packages/core/src/ecs/system.ts:63
Returns 
void
Inherited from 
config 
config:
SystemConfigSignals<S>
Defined in: packages/core/src/ecs/system.ts:48
Inherited from 
createEntity() 
createEntity: () =>
Entity
Defined in: packages/core/src/ecs/system.ts:69
Returns 
Entity
Inherited from 
globals 
globals:
Record<string,any>
Defined in: packages/core/src/ecs/system.ts:53
Inherited from 
input 
readonlyinput:XRInputManager
Defined in: packages/core/src/ecs/system.ts:58
Inherited from 
isPaused 
isPaused:
boolean
Defined in: packages/core/src/ecs/system.ts:47
Inherited from 
player 
readonlyplayer:XROrigin
Defined in: packages/core/src/ecs/system.ts:57
Inherited from 
priority 
priority:
number
Defined in: packages/core/src/ecs/system.ts:52
Inherited from 
queries 
queries:
Record<keyofQ,Query>
Defined in: packages/core/src/ecs/system.ts:49
Inherited from 
queryManager 
queryManager:
QueryManager
Defined in: packages/core/src/ecs/system.ts:51
Inherited from 
renderer 
readonlyrenderer:WebGLRenderer
Defined in: packages/core/src/ecs/system.ts:61
Inherited from 
scene 
readonlyscene:Scene
Defined in: packages/core/src/ecs/system.ts:59
Inherited from 
visibilityState 
readonlyvisibilityState:Signal<VisibilityState>
Defined in: packages/core/src/ecs/system.ts:62
Inherited from 
world 
world:
World
Defined in: packages/core/src/ecs/system.ts:50
Inherited from 
xrFrame 
xrFrame:
XRFrame
Defined in: packages/core/src/ecs/system.ts:55
Inherited from 
xrManager 
xrManager:
WebXRManager
Defined in: packages/core/src/ecs/system.ts:54
Inherited from 
Methods 
init() 
init():
Promise<void>
Defined in: packages/core/src/physics/physics-system.ts:84
Returns 
Promise<void>
Overrides 
play() 
play():
void
Defined in: packages/core/src/ecs/system.ts:67
Returns 
void
Inherited from 
stop() 
stop():
void
Defined in: packages/core/src/ecs/system.ts:68
Returns 
void
Inherited from 
update() 
update(
delta):void
Defined in: packages/core/src/physics/physics-system.ts:108
Parameters 
delta 
number
Returns 
void