import { PropertyLivingComponent } from "./propertyComponent"; export interface BoneFrame { frame: number; value: Float32Array; } export interface AnimationRange { name: string; from: number; to: number; } /** * 骨骼动画. */ export declare class BoneAnimation { typeName: string; name: string; property: string; loop: boolean; framePerSecond: number; keys: BoneFrame[]; constructor(); serialize(): { name: string; property: string; loop: boolean; framePerSecond: number; keys: any[]; }; deserialize(obj: any): void; } /** * 骨骼. */ export declare class Bone { typeName: string; name: string; index: number; parentBoneIndex: number; matrix: Float32Array; currentFrameMatrix: Float32Array; animation: BoneAnimation; runTimeFrameMatrix: Map; constructor(parent?: Bone); serialize(): { name: string; index: number; parentBoneIndex: number; matrix: Float32Array; animation: { name: string; property: string; loop: boolean; framePerSecond: number; keys: any[]; }; }; deserialize(obj: any): void; } /** * 骨架. */ export declare class Skeleton { typeName: string; id: string; name: string; bones: Bone[]; ranges: Array; constructor(); serialize(): { id: string; name: string; bones: any[]; ranges: any[]; }; deserialize(obj: any): void; jsonToSkeleton(boneMatrix: any, boneFrameMatrix: any): void; } export declare class BoneAnimationComponent extends PropertyLivingComponent { typeName: string; skeletons: Skeleton[]; boneFramesMatrix: Float32Array; boneFrameFlag: boolean; constructor(); serialize(): any; deserialize(obj: any): void; render(): void; }