assimp懒加载。

This commit is contained in:
liteng 2018-12-10 20:46:09 +08:00
parent eb62ca5dbe
commit dcaaa31bf1
3 changed files with 28 additions and 22 deletions

View File

@ -109,7 +109,6 @@
<script src="assets/js/curves/NURBSUtils.js"></script>
<!-- loaders -->
<script src="assets/js/loaders/AssimpLoader.js"></script>
<script src="assets/js/loaders/AWDLoader.js"></script>
<script src="assets/js/loaders/BabylonLoader.js"></script>
<script src="assets/js/loaders/BinaryLoader.js"></script>

View File

@ -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);
});
});
});
};

View File

@ -15,6 +15,11 @@ const PackageList = [{
assets: [
'assets/js/loaders/AMFLoader.js'
]
}, {
name: 'AssimpLoader',
assets: [
'assets/js/loaders/AssimpLoader.js'
]
}];
export default PackageList