UNPKG

@needle-tools/engine

Version:

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.

56 lines (55 loc) 1.61 kB
import { Vector2, Vector3 } from "three"; import { Collision } from "../engine/engine_types.js"; import { Animator } from "./Animator.js"; import { Behaviour } from "./Component.js"; import { Rigidbody } from "./RigidBody.js"; /** * @category Camera Controls * @group Components */ export declare class CharacterController extends Behaviour { center: Vector3; radius: number; height: number; private _rigidbody; get rigidbody(): Rigidbody; private _activeGroundCollisions; awake(): void; onEnable(): void; move(vec: Vector3): void; onCollisionEnter(col: Collision): void; onCollisionExit(col: Collision): void; get isGrounded(): boolean; private _contactVelocity; get contactVelocity(): Vector3; } /** * @category Camera Controls * @category Interactivity * @group Components */ export declare class CharacterControllerInput extends Behaviour { controller?: CharacterController; movementSpeed: number; rotationSpeed: number; jumpForce: number; doubleJumpForce: number; animator?: Animator; lookForward: boolean; awake(): void; update(): void; move(move: Vector2): void; look(look: Vector2): void; jump(): void; private lookInput; private moveInput; private jumpInput; onBeforeRender(): void; private _currentSpeed; private _currentAngularSpeed; private _temp; private _jumpCount; private _currentRotation; handleInput(move: Vector2, look: Vector2, jump: boolean): void; private _raycastOptions; }