@threlte/rapier
Version:
Components and hooks to use the Rapier physics engine in Threlte
20 lines (19 loc) • 1.21 kB
TypeScript
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 {};