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

110 lines (109 loc) 5.31 kB
import type { AnimationAction, AnimationActionLoopStyles, AnimationMixer } from "three"; import { IAnimationComponent } from "../engine/engine_types.js"; import type { AnimatorControllerModel } from "../engine/extensions/NEEDLE_animator_controller_model.js"; import { AnimatorController } from "./AnimatorController.js"; import { Behaviour } from "./Component.js"; export declare class MixerEvent { type: string; action: AnimationAction; loopDelta: number; target: AnimationMixer; } export declare class PlayOptions { loop?: boolean | AnimationActionLoopStyles; clampWhenFinished?: boolean; } /** The Animator component is used to play animations on a GameObject. It is used in combination with an AnimatorController (which is a state machine for animations) * A new AnimatorController can be created from code via `AnimatorController.createFromClips` * @category Animation and Sequencing * @group Components */ export declare class Animator extends Behaviour implements IAnimationComponent { get isAnimationComponent(): boolean; applyRootMotion: boolean; hasRootMotion: boolean; keepAnimatorControllerStateOnDisable: boolean; set runtimeAnimatorController(val: AnimatorControllerModel | AnimatorController | undefined | null); get runtimeAnimatorController(): AnimatorController | undefined | null; /** The current state info of the animator. * If you just want to access the currently playing animation action you can use currentAction * @returns {AnimatorStateInfo} The current state info of the animator or null if no state is playing */ getCurrentStateInfo(): import("../engine/extensions/NEEDLE_animator_controller_model.js").AnimatorStateInfo | null | undefined; /** The current action playing. It can be used to modify the action * @returns {AnimationAction | null} The current action playing or null if no state is playing */ get currentAction(): AnimationAction | null; /** @returns {boolean} True if parameters have been changed */ get parametersAreDirty(): boolean; private _parametersAreDirty; /** @returns {boolean} True if the animator has been changed */ get isDirty(): boolean; private _isDirty; /**@deprecated use play() */ Play(name: string | number, layer?: number, normalizedTime?: number, transitionDurationInSec?: number): void; /** Plays an animation on the animator * @param {string | number} name The name of the animation to play. Can also be the hash of the animation * @param {number} layer The layer to play the animation on. Default is -1 * @param {number} normalizedTime The normalized time to start the animation at. Default is Number.NEGATIVE_INFINITY * @param {number} transitionDurationInSec The duration of the transition to the new animation. Default is 0 * @returns {void} * */ play(name: string | number, layer?: number, normalizedTime?: number, transitionDurationInSec?: number): void; /**@deprecated use reset */ Reset(): void; /** Resets the animatorcontroller */ reset(): void; /**@deprecated use setBool */ SetBool(name: string | number, val: boolean): void; setBool(name: string | number, value: boolean): void; /**@deprecated use getBool */ GetBool(name: string | number): boolean; getBool(name: string | number): boolean; toggleBool(name: string | number): void; /**@deprecated use setFloat */ SetFloat(name: string | number, val: number): void; setFloat(name: string | number, val: number): void; /**@deprecated use getFloat */ GetFloat(name: string | number): number; getFloat(name: string | number): number; /**@deprecated use setInteger */ SetInteger(name: string | number, val: number): void; setInteger(name: string | number, val: number): void; /**@deprecated use getInteger */ GetInteger(name: string | number): number; getInteger(name: string | number): number; /**@deprecated use setTrigger */ SetTrigger(name: string | number): void; setTrigger(name: string | number): void; /**@deprecated use resetTrigger */ ResetTrigger(name: string | number): void; resetTrigger(name: string | number): void; /**@deprecated use getTrigger */ GetTrigger(name: string | number): void; getTrigger(name: string | number): boolean | undefined; /**@deprecated use isInTransition */ IsInTransition(): boolean; /** @returns `true` if the animator is currently in a transition */ isInTransition(): boolean; /**@deprecated use setSpeed */ SetSpeed(speed: number): void; setSpeed(speed: number): void; /** Will generate a random speed between the min and max values and set it to the animatorcontroller */ set minMaxSpeed(minMax: { x: number; y: number; }); set minMaxOffsetNormalized(minMax: { x: number; y: number; }); private _speed; private _normalizedStartOffset; private _animatorController?; awake(): void; private _initializeWithRuntimeAnimatorController?; initializeRuntimeAnimatorController(force?: boolean): void; onDisable(): void; onBeforeRender(): void; }