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