@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
TypeScript
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;
}