three.js ObjectLoader
用于加载 JSON 对象/场景格式的 JSON 资源的加载器。
此加载器内部使用FileLoader进行加载文件。
代码示例
const loader = new THREE.ObjectLoader();
loader.load(
// 资源的URL
"models/json/example.json",
// onLoad回调
// Here the loaded data is assumed to be an object
function ( obj ) {
// Add the loaded object to the scene
scene.add( obj );
},
// onProgress回调
function ( xhr ) {
console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
},
// onError回调
function ( err ) {
console.error( 'An error happened' );
}
);
// 或者,解析先前加载的JSON结构
const object = loader.parse( a_json_object );
scene.add( object );
例子
构造函数
ObjectLoader( manager : LoadingManager )
manager — 加载器所使用的loadingManager,默认值为THREE.DefaultLoadingManager.
创建一个新的ObjectLoader.
属性
共有属性请参见其基类Loader。
方法
共有方法请参见其基类Loader。
.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
url — 文件的URL或者路径,也可以为 Data URI.
onLoad — 加载完成时将调用。回调参数为将要加载的object.
onProgress — 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
onError — 在加载错误时被调用。
从URL中进行加载,并将被解析的响应内容传递给onLoad。
.parse ( json : Object, onLoad : Function ) : Object3D
json — 必选参数,需要被解析的JSON源。
onLoad — 当解析完成时被调用,其中参数被解析为object.
解析一个JSON结构,并返回一个threejs对象. 内部使用.load()进行加载, 但也可以直接用于解析先前加载的JSON结构。
.parseGeometries ( json : Object ) : Object
json — 必选参数,需要被解析的JSON源。
此函数以JSON结构,用.parse()去解析geometries。
.parseMaterials ( json : Object ) : Object
json — 必选参数,需要被解析的JSON源。
此函数通过[page:.parse()来使用MaterialLoader,以解析JSON结构中任意材质。
.parseAnimations ( json : Object ) : Object
json — 必选参数,需要被解析的JSON源。
此函数通过.parse()来使用AnimationClip.parse(), 以解析JSON结构中任意动画。
.parseImages ( json : Object ) : Object
json — 必选参数,需要被解析的JSON源。
此函数通过.parse()来使用ImageLoader, 以解析JSON结构中任意图片。
.parseTextures ( json : Object ) : Object
json — 必选参数,需要被解析的JSON源。
此函数通过.parse()来解析JSON结构中任意纹理。
.parseObject ( json : Object, geometries : BufferGeometry, materials : Material, animations : AnimationClip ) : Object3D
json — 必选参数,需要被解析的JSON源。
geometries — 必需的。 JSON 的几何结构。
materials — 必需的。 JSON的材料。
animations — 必需的。 JSON 的动画。
此函数通过.parse()来解析JSON结构中任意对象。
更多建议: