diff --git a/ShadowEditor.Web/index.html b/ShadowEditor.Web/index.html index e3196527..9cae603f 100644 --- a/ShadowEditor.Web/index.html +++ b/ShadowEditor.Web/index.html @@ -109,7 +109,6 @@ - diff --git a/ShadowEditor.Web/src/loader/AssimpLoader.js b/ShadowEditor.Web/src/loader/AssimpLoader.js index ab47aa8d..57849175 100644 --- a/ShadowEditor.Web/src/loader/AssimpLoader.js +++ b/ShadowEditor.Web/src/loader/AssimpLoader.js @@ -13,31 +13,33 @@ AssimpLoader.prototype.constructor = AssimpLoader; AssimpLoader.prototype.load = function (url, options) { return new Promise(resolve => { - var loader = new THREE.AssimpLoader(); - loader.load(url, result => { - var obj = result.object; + this.require('AssimpLoader').then(() => { + var loader = new THREE.AssimpLoader(); + loader.load(url, result => { + var obj = result.object; - Object.assign(obj.userData, { - obj: result, - root: obj - }); - - if (result.animation) { Object.assign(obj.userData, { - animNames: 'Animation1', - scripts: [{ - id: null, - name: `${options.Name}动画`, - type: 'javascript', - source: this.createScripts(options.Name), - uuid: THREE.Math.generateUUID() - }] + obj: result, + root: obj }); - } - resolve(obj); - }, undefined, () => { - resolve(null); + if (result.animation) { + Object.assign(obj.userData, { + animNames: 'Animation1', + scripts: [{ + id: null, + name: `${options.Name}动画`, + type: 'javascript', + source: this.createScripts(options.Name), + uuid: THREE.Math.generateUUID() + }] + }); + } + + resolve(obj); + }, undefined, () => { + resolve(null); + }); }); }); }; diff --git a/ShadowEditor.Web/src/package/PackageList.js b/ShadowEditor.Web/src/package/PackageList.js index 9efe67f5..bc876cd2 100644 --- a/ShadowEditor.Web/src/package/PackageList.js +++ b/ShadowEditor.Web/src/package/PackageList.js @@ -15,6 +15,11 @@ const PackageList = [{ assets: [ 'assets/js/loaders/AMFLoader.js' ] +}, { + name: 'AssimpLoader', + assets: [ + 'assets/js/loaders/AssimpLoader.js' + ] }]; export default PackageList \ No newline at end of file