使用three.js加载模型时,是否已经加载完毕和报错以便来更好的处理,一般加载器都会有回调方法来监控模型的加载进度。
例如加载obj
模型,以THREE.ObjectLoader
为例。
通过查看文档可知,其构造函数有四个参数分别是:
url -String
:资源文件的路径
onLoad -function(obj)
:当模型加载完成时将被调用,参数是将要加载的对象。
onProgress -function(xhr)
:加载过程中被调用,参数是XMLHttpRequest
实例,它包含.total
和.loaded
字节
onError -function(error)
:加载出错时被调用
如下代码所示
var loader = new THREE.ObjectLoader();
loader.load(
// 资源路径
"models/json/example.json",
// 加载完成后的回到函数
function ( obj ) {
// 资源加载完成后将对象加入场景
scene.add( obj );
},
// 加载过程中的回调函数
function ( xhr ) {
console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
},
// 加载出错的回调
function ( err ) {
console.error( 'An error happened' );
}
);