# JoltPhysics - Three.js Docs

# JoltPhysics

Can be used to include Jolt as a Physics engine into `three.js` apps. The API can be initialized via:

The component automatically imports Jolt from a CDN so make sure to use the component with an active Internet connection.

## Code Example

    const physics = await JoltPhysics();

## Import

JoltPhysics is an addon, and must be imported explicitly, see Installation#Addons.

    import { JoltPhysics } from 'three/addons/physics/JoltPhysics.js';

## Methods

### .addMesh ( mesh : Mesh, mass : number, restitution : number )

Adds the given mesh to this physics simulation.

mesh | The mesh to add.
mass | The mass in kg of the mesh. Default is `0`.
restitution | The restitution/friction of the mesh. Default is `0`.

### .addScene ( scene : Object3D )

Adds the given scene to this physics simulation. Only meshes with a `physics` object in their Object3D#userData field will be honored. The object can be used to store the mass and restitution of the mesh. E.g.:

    box.userData.physics = { mass: 1, restitution: 0 };

scene | The scene or any type of 3D object to add.

### .setMeshPosition ( mesh : Mesh, position : Vector3, index : number )

Set the position of the given mesh which is part of the physics simulation. Calling this method will reset the current simulated velocity of the mesh.

mesh | The mesh to update the position for.
position | The new position.
index | If the mesh is instanced, the index represents the instanced ID. Default is `0`.

## Source

examples/jsm/physics/JoltPhysics.js