MMDLoader.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. [page:Loader] &rarr;
  12. <h1>MMD加载器([name])</h1>
  13. <p class="desc">一个用于加载<a href="http://www.geocities.jp/higuchuu4/index_e.htm"><em>MMD</em></a>资源的加载器。<br /><br />
  14. [name]从MMD资源(例如PMD、PMX、VMD和VPD文件)中创建Three.js物体(对象)。
  15. 请参阅[page:MMDAnimationHelper]来了解MMD动画的处理,例如IK、Grant和Physics。<br /><br />
  16. 如果你想要MMD资源的原始内容,请使用.loadPMD/PMX/VMD/VPD方法。
  17. <h2>示例</h2>
  18. <code>
  19. // Instantiate a loader
  20. var loader = new THREE.MMDLoader();
  21. // Load a MMD model
  22. loader.load(
  23. // path to PMD/PMX file
  24. 'models/mmd/miku.pmd',
  25. // called when the resource is loaded
  26. function ( mesh ) {
  27. scene.add( mesh );
  28. },
  29. // called when loading is in progresses
  30. function ( xhr ) {
  31. console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
  32. },
  33. // called when loading has errors
  34. function ( error ) {
  35. console.log( 'An error happened' );
  36. }
  37. );
  38. </code>
  39. [example:webgl_loader_mmd]<br />
  40. [example:webgl_loader_mmd_pose]<br />
  41. [example:webgl_loader_mmd_audio]<br />
  42. <br />
  43. <hr>
  44. <h2>构造函数</h2>
  45. <h3>[name]( [param:LoadingManager manager] )</h3>
  46. <p>
  47. [page:LoadingManager manager] — 加载器使用的[page:LoadingManager loadingManager](加载管理器),默认值是[page:LoadingManager THREE.DefaultLoadingManager]。
  48. </p>
  49. <p>
  50. 创建一个新的[name]。
  51. </p>
  52. <h2>属性</h2>
  53. <p>共有属性请参见其基类[page:Loader]。</p>
  54. <h2>方法</h2>
  55. <p>共有方法请参见其基类[page:Loader]。</p>
  56. <h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
  57. <p>
  58. [page:String url] — 一个包含有<em>.pmd</em>或<em>.pmx</em>文件的路径或URL的字符串。<br />
  59. [page:Function onLoad] — 当加载过程成功完成以后将被调用的函数。<br />
  60. [page:Function onProgress] — (可选)加载过程正在进行的时候被调用的函数。其参数是一个XMLHttpRequest实例,其包含了[page:Integer total] bytes(总的字节数)和[page:Integer loaded] bytes(已经载入的字节数)。<br />
  61. [page:Function onError] — (可选) 加载过程中若发生了错误将被调用的函数。这一函数接收错误作为参数。<br />
  62. </p>
  63. <p>
  64. 开始从URL中加载PMD/PMX模型文件,并使用包含有已被解析的[page:SkinnedMesh]和[page:MeshToonMaterial]数组的[page:BufferGeometry]对象来触发回调函数。
  65. </p>
  66. <h3>[method:null loadAnimation]( [param:String url], [param:Object3D object], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
  67. <p>
  68. [page:String url] — 一个包含有<em>.vmd</em>文件的路径或URL的字符串或字符串数组。如果两个及以上文件被指定,它们将会合并。<br />
  69. [page:Object3D object] — [page:SkinnedMesh] 或 [page:Camera]。 剪辑及其轨道将会适应到该对象。<br />
  70. [page:Function onLoad] — 成功加载完成后被调用的函数。<br />
  71. [page:Function onProgress] — (可选)当加载正在进行时被调用的函数,参数将是XMLHttpRequest实例,其包含了 .[page:Integer total] (总的)和 .[page:Integer loaded] (已加载的)字节数。<br />
  72. [page:Function onError] — (可选)如果加载过程中发生错误时被调用的函数,该函数接受一个错误来作为参数。<br />
  73. </p>
  74. <p>
  75. 开始从url(s)加载VMD动画文件(可能有多个文件),并使用已解析的[page:AnimatioinClip]触发回调函数。
  76. </p>
  77. <h3>[method:null loadWithAnimation]( [param:String modelUrl], [param:String vmdUrl], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
  78. <p>
  79. [page:String modelUrl] — 一个包含有<em>.pmd</em>或<em>.pmx</em>文件的路径或URL的字符串。<br />
  80. [page:String vmdUrl] — 一个包含有<em>.vmd</em>文件的路径或URL的字符串或字符串数组。<br />
  81. [page:Function onLoad] — 成功加载完成后被调用的函数。<br />
  82. [page:Function onProgress] — (可选)当加载正在进行时被调用的函数,参数将是XMLHttpRequest实例,其包含了 .[page:Integer total] (总的)和 .[page:Integer loaded] (已加载的)字节数。<br />
  83. [page:Function onError] — (可选)如果加载过程中发生错误时被调用的函数,该函数接受一个错误来作为参数。<br />
  84. </p>
  85. <p>
  86. 开始从URL中加载PMD/PMX模型文件和VMD动画文件(可能有多个文件),并使用一个[page:Object] —— 包含有已解析的[page:SkinnedMesh]和适应[page:SkinnedMesh]的[page:AnimationClip],来触发回调函数。
  87. </p>
  88. <h3>[method:MMDLoader setAnimationPath]( [param:String animationPath] )</h3>
  89. <p>
  90. [page:String animationPath] — 用于加载动画数据(VMD/VPD 文件)的基础路径。 Base path for loading animation data (VMD/VPD files).
  91. </p>
  92. <p>
  93. 设置额外资源(例如贴图)的基础路径。
  94. </p>
  95. <h2>源代码</h2>
  96. <p>
  97. [link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/MMDLoader.js examples/js/loaders/MMDLoader.js]
  98. </p>
  99. </body>
  100. </html>