@react-three/p2
Version:
2D physics based hooks for react-three-fiber
49 lines (48 loc) • 1.45 kB
TypeScript
import type { Duplet } from './';
import Controller from './Controller';
import type { World, Body } from 'p2-es';
export declare type KinematicCharacterControllerOptns = {
world: World;
body: Body;
collisionMask: number;
accelerationTimeAirborne?: number;
accelerationTimeGrounded?: number;
moveSpeed?: number;
wallSlideSpeedMax?: number;
wallStickTime?: number;
wallJumpClimb?: Duplet;
wallJumpOff?: Duplet;
wallLeap?: Duplet;
timeToJumpApex?: number;
maxJumpHeight?: number;
minJumpHeight?: number;
velocityXSmoothing?: number;
velocityXMin?: number;
maxClimbAngle?: number;
maxDescendAngle?: number;
skinWidth?: number;
dstBetweenRays?: number;
};
export default class KinematicCharacterController extends Controller {
input: Duplet;
accelerationTimeAirborne: number;
accelerationTimeGrounded: number;
moveSpeed: number;
wallSlideSpeedMax: number;
wallStickTime: number;
wallJumpClimb: Duplet;
wallJumpOff: Duplet;
wallLeap: Duplet;
gravity: number;
maxJumpVelocity: number;
minJumpVelocity: number;
velocity: Duplet;
velocityXSmoothing: number;
velocityXMin: number;
timeToWallUnstick: number;
_requestJump: boolean;
_requestUnJump: boolean;
constructor(options: KinematicCharacterControllerOptns);
setJumpKeyState(isDown: boolean): void;
update(): (deltaTime: number) => void;
}