MMDAnimationHelper.d.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import {
  2. AnimationClip,
  3. Audio,
  4. Camera,
  5. Mesh,
  6. Object3D,
  7. SkinnedMesh
  8. } from '../../../src/Three';
  9. export interface MMDAnimationHelperParameter {
  10. sync?: boolean;
  11. afterglow?: number;
  12. resetPhysicsOnLoop?: boolean;
  13. }
  14. export interface MMDAnimationHelperAddParameter {
  15. animation?: AnimationClip | AnimationClip[];
  16. physics?: boolean;
  17. warmup?: number;
  18. unitStep?: number;
  19. maxStepNum?: number;
  20. gravity?: number;
  21. delayTime?: number;
  22. }
  23. export interface MMDAnimationHelperPoseParameter {
  24. resetPose?: boolean;
  25. ik?: boolean;
  26. grant?: boolean;
  27. }
  28. export class MMDAnimationHelper {
  29. constructor( params?: MMDAnimationHelperParameter );
  30. meshes: Mesh[];
  31. camera: Camera | null;
  32. cameraTarget: Object3D;
  33. audio: Audio;
  34. audioManager: AudioManager;
  35. configuration: {
  36. sync: boolean;
  37. afterglow: number;
  38. resetPhysicsOnLoop: boolean;
  39. };
  40. enabled: {
  41. animation: boolean;
  42. ik: boolean;
  43. grant: boolean;
  44. physics: boolean;
  45. cameraAnimation: boolean;
  46. };
  47. onBeforePhysics: ( mesh: SkinnedMesh ) => void;
  48. sharedPhysics: boolean;
  49. masterPhysics: null;
  50. add( object: SkinnedMesh | Camera | Audio, params?: MMDAnimationHelperAddParameter ): this;
  51. remove( object: SkinnedMesh | Camera | Audio ): this;
  52. update( delta: number ): this;
  53. pose( mesh: SkinnedMesh, vpd: object, params?: MMDAnimationHelperPoseParameter ): this;
  54. enable( key: string, enabled: boolean ): this;
  55. createGrantSolver( mesh: SkinnedMesh ): GrantSolver;
  56. }
  57. export interface AudioManagerParameter {
  58. delayTime?: number;
  59. }
  60. export class AudioManager {
  61. constructor( audio: Audio, params?: AudioManagerParameter );
  62. audio: Audio;
  63. elapsedTime: number;
  64. currentTime: number;
  65. delayTime: number;
  66. audioDuration: number;
  67. duration: number;
  68. control( delta: number ): this;
  69. }
  70. export class GrantSolver {
  71. constructor( mesh: SkinnedMesh, grants: object[] );
  72. mesh: SkinnedMesh;
  73. grants: object[];
  74. update(): this;
  75. }