UNPKG

@threlte/rapier

Version:

Components and hooks to use the Rapier physics engine in Threlte

20 lines (19 loc) 1.21 kB
import { type World } from '@dimforge/rapier3d-compat'; import { type CurrentWritable, type Stage } from '@threlte/core'; import { Object3D, Quaternion, Vector3 } from 'three'; import type { ColliderEvents, Framerate, RigidBodyEvents } from '../types/types'; type PhysicsUserData = { currentPosition: Vector3; currentQuaternion: Quaternion; lastPosition: Vector3; lastQuaternion: Quaternion; resetPosition: boolean; resetRotation: boolean; }; export declare const initializeRigidBodyUserData: (obj: Object3D) => PhysicsUserData; export declare const setInitialRigidBodyState: (obj: Object3D, initialPosition: Vector3, initialQuaternion: Quaternion) => void; export declare const createPhysicsTasks: (world: World, framerate: CurrentWritable<Framerate>, simulationOffset: CurrentWritable<number>, rigidBodyObjects: Map<number, Object3D>, updateRigidBodySimulationData: CurrentWritable<boolean>, colliderEventDispatchers: Map<number, ColliderEvents>, rigidBodyEventDispatchers: Map<number, RigidBodyEvents>, simulationStage: Stage, synchronizationStage: Stage) => { simulationTask: import("@threlte/core").Task; synchronizationTask: import("@threlte/core").Task; }; export {};