UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

52 lines (51 loc) 1.56 kB
import { Object3D, Vector3, Line3 } from 'three'; import { MeshWithBVH } from '../../core/geometry/bvh/three-mesh-bvh'; import { CorePlayerInput } from './PlayerCommon'; export type CorePlayerInputData = Record<CorePlayerInput, boolean>; export interface CorePlayerOptions { object: Object3D; collider?: MeshWithBVH; } export interface CorePlayerCapsuleInput { radius: number; height: number; } export interface CorePlayerCapsuleData { radius: number; segment: Line3; } interface BasePlayerComputeInput { collider?: MeshWithBVH; speed: number; runAllowed: boolean; runSpeedMult: number; jumpAllowed: boolean; jumpStrength: number; physicsSteps: number; gravity: Vector3; } export interface CorePlayerComputeInputInputData extends BasePlayerComputeInput { capsuleInput: CorePlayerCapsuleInput; } export interface PlayerComputeInputData extends BasePlayerComputeInput { capsuleData: CorePlayerCapsuleData; } export interface PlayerComputedData { velocityFromForces: Vector3; onGround: boolean; velocityFromPositionDelta: Vector3; } export declare class CorePlayer { private _object; private _inputData; private _computeInputData; private _computedData; constructor(_object: Object3D); setComputeInputData(data: CorePlayerComputeInputInputData): void; update(delta: number): void; private _updateStep; setInputData(inputData: CorePlayerInputData): void; velocityFromPositionDelta(target: Vector3): Vector3; onGround(): boolean; } export {};