ObjectLoader
A loader for loading a JSON resource in the JSON Object/Scene format.
此加载器内部使用FileLoader进行加载文件。
例子
WebGL / loader / json / claraio
WebGL / materials / lightmap
var 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结构
var object = loader.parse( a_json_object );
scene.add( object );
构造函数
ObjectLoader( manager : LoadingManager )
manager — 加载器所使用的loadingManager,默认值为THREE.DefaultLoadingManager.
创建一个新的ObjectLoader.
属性
# .crossOrigin : String
如果设置了,在开始加载前, 将为图片分配 crossOrigin 属性,其值为 crossOrigin, 默认为"anonymous"。
# .manager : LoadingManager
加载器正在使用的loadingManager,默认值为DefaultLoadingManager。
# .texturePath : String
将要被加载的纹理的路径或者URL,详情请参考.setTexturePath。 默认值为空字符串。
方法
# .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : null
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 ) : Object3D
json — 必选参数,需要被解析的JSON源。
此函数以JSON结构,用.parse去解析geometries或buffer geometries。
# .parseMaterials ( json : Object ) : Object3D
json — 必选参数,需要被解析的JSON源。
此函数通过.parse来使用MaterialLoader,以解析JSON结构中任意材质。
# .parseAnimations ( json : Object ) : Object3D
json — 必选参数,需要被解析的JSON源。
此函数通过.parse来使用AnimationClip.parse, 以解析JSON结构中任意动画。
# .parseImages ( json : Object ) : Object3D
json — 必选参数,需要被解析的JSON源。
此函数通过.parse来使用ImageLoader, 以解析JSON结构中任意图片。
# .parseTextures ( json : Object ) : Object3D
json — 必选参数,需要被解析的JSON源。
此函数通过.parse来解析JSON结构中任意纹理。
# .parseObject ( json : Object ) : Object3D
json — 必选参数,需要被解析的JSON源。
此函数通过.parse来解析JSON结构中任意对象。 对象可以为如下类型:
- Scene
- PerspectiveCamera
- OrthographicCamera
- AmbientLight
- DirectionalLight
- PointLight
- SpotLight
- HemisphereLight
- Mesh
- LOD
- Line
- LineSegments
- Points
- Sprite
- Group
- Object3D
# .setCrossOrigin ( value : String ) : ObjectLoader
value — 在允许CROS时,跨域字段通过实现CORS来加载不同域下的URL。
# .setTexturePath ( value : String ) : ObjectLoader
value — 设置将要加载为纹理的路径或者URL
源 -