@playcanvas/blocks
Version:
High level abstract 3D primitives for React
56 lines (55 loc) • 1.47 kB
TypeScript
import { Vec3 } from 'playcanvas';
import { CubicSpline } from './spline';
import { Pose } from './pose';
export type AnimationTrack = {
name: string;
duration: number;
frameRate: number;
target: string;
loopMode: 'none' | 'repeat' | 'pingpong';
interpolation: 'spline';
keyframes: {
times: number[];
values: {
position: number[];
target: number[];
};
};
};
declare class AnimCursor {
duration: number;
loopMode: string;
timer: number;
cursor: number;
constructor(duration?: number, loopMode?: string);
reset(duration?: number, loopMode?: string): void;
set value(value: number);
get value(): number;
}
declare class AnimCamera {
time: number;
spline: CubicSpline;
cursor: AnimCursor;
frameRate: number;
result: number[];
position: Vec3;
target: Vec3;
rotateSpeed: number;
rotation: Vec3;
constructor(spline: CubicSpline, duration: number, loopMode: 'none' | 'repeat' | 'pingpong', frameRate: number);
update(): void;
getPose(pose: Pose): void;
static fromTrack(track: AnimationTrack): AnimCamera;
}
type RotationTrackProps = {
/**
* The number of keys to generate
*/
keys?: number;
/**
* The duration of the track
*/
duration?: number;
};
export declare const createRotationTrack: (initial: Pose, options?: RotationTrackProps) => AnimCamera;
export { AnimCamera };