anim-to-bvh
Version:
Anim to BVH converter(mostly for Second Life, including Bento bones). Anim, BVH parsers.
68 lines (64 loc) • 1.55 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
export interface Vector3 {
x: number;
y: number;
z: number;
}
export interface AnimKey {
x: number;
y: number;
z: number;
time: number;
}
export interface AnimJoint {
joint_name: string;
joint_priority: number;
position_keys: AnimKey[];
rotation_keys: AnimKey[];
}
export interface AnimData {
constraints: any[];
duration: number;
emote_name: string;
joints: AnimJoint[];
loop: number;
sub_version: number;
version: number;
}
export interface BVHFrame {
position: Vector3;
rotation: Vector3;
time?: number;
}
export interface AnimKeys {
positions: AnimKey[];
rotations: AnimKey[];
}
export interface BVHNode {
bvhName: string;
channels?: string[];
bvhTimes?: number[];
children?: BVHNode[];
offset: Vector3;
animKeys?: AnimKeys;
bvhFrames: BVHFrame[];
parentName?: string;
}
export declare function parseAnim(arrayBuffer: ArrayBuffer): AnimData;
export declare function parseBVH(text: string): BVHNode;
export declare function visitNode(node: BVHNode, visitor: (node: BVHNode) => void, childrenFirst?: boolean): void;
export declare function serializeBVH(bvhNode: BVHNode): string;
export declare function toBVH(data: AnimData, fps?: number): BVHNode;
export declare function collectOffsets(bvhNode: BVHNode): {
[name: string]: Vector3;
};
export declare function collectReferenceFrame(bvhNode: BVHNode): {
[name: string]: BVHFrame;
};
declare const male: BVHNode;
declare const female: BVHNode;
export {
female as defaultFemaleBVH,
male as defaultMaleBVH,
};
export {};