Skip to content

Commit 737e535

Browse files
authored
feat: new experimental loaders (#3)
* refactor: new experimental loaders * feat: experimental mmd loader * refactor(loaders): return skinned mesh * chore(loaders/mmd): update error message * fix(loaders): set onprogress, onerror * feat(loaders): vmd, vpd loader * feat(utils): create-mmd-animation-clip * chore: update exports * chore(deps): bump std
1 parent 47e07e8 commit 737e535

13 files changed

+1526
-1139
lines changed

packages/three-mmd/src/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
export { MMDAnimationHelper } from './animation/MMDAnimationHelper'
22
export { MMDPhysics } from './animation/MMDPhysics'
3+
export { ExperimentalMMDLoader } from './loaders/mmd-loader'
34
export { MMDLoader } from './loaders/MMDLoader'
5+
export { PMDLoader } from './loaders/pmd-loader'
6+
export { PMXLoader } from './loaders/pmx-loader'
7+
export { VMDLoader } from './loaders/vmd-loader'
8+
export { VPDLoader } from './loaders/vpd-loader'
49
export { MMDToonShader } from './shaders/mmd-toon-shader'
10+
export { createMMDAnimationClip } from './utils/create-mmd-animation-clip'
511
export { initAmmo } from './utils/init-ammo'

packages/three-mmd/src/loaders/MMDLoader.d.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,36 @@
1+
import type { Pmd, Pmx, Vmd } from '@noname0310/mmd-parser'
12
import type { AnimationClip, Camera, FileLoader, Loader, LoadingManager, SkinnedMesh } from 'three'
23

34
export interface MMDLoaderAnimationObject {
45
animation: AnimationClip
56
mesh: SkinnedMesh
67
}
78

9+
export class AnimationBuilder {
10+
build(vmd: Vmd, mesh: SkinnedMesh): AnimationClip
11+
buildCameraAnimation(vmd: Vmd): AnimationClip
12+
}
13+
14+
export class MeshBuilder {
15+
crossOrigin: string
16+
geometryBuilder: object
17+
materialBuilder: object
18+
constructor(manager: LoadingManager)
19+
20+
build(
21+
data: Pmd | Pmx,
22+
resourcePath: string,
23+
onProgress?: (event: ProgressEvent) => void,
24+
onError?: (event: ErrorEvent) => void,
25+
): SkinnedMesh
26+
setCrossOrigin(crossOrigin: string): this
27+
}
28+
829
export class MMDLoader extends Loader<SkinnedMesh> {
930
animationBuilder: object
1031
animationPath: string
1132
loader: FileLoader
12-
meshBuilder: object
33+
meshBuilder: MeshBuilder
1334
parser: null | object
1435
constructor(manager?: LoadingManager)
1536

0 commit comments

Comments
 (0)