three.js ObjectLoader

2023-02-16 17:44 更新

用于加載 JSON 對(duì)象/場(chǎng)景格式的 JSON 資源的加載器。

此加載器內(nèi)部使用FileLoader進(jìn)行加載文件。

代碼示例

const loader = new THREE.ObjectLoader();

loader.load(
	// 資源的URL
	"models/json/example.json",

	// onLoad回調(diào)
	// Here the loaded data is assumed to be an object
	function ( obj ) {
		// Add the loaded object to the scene
		scene.add( obj );
	},

	// onProgress回調(diào)
	function ( xhr ) {
		console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
	},

	// onError回調(diào)
	function ( err ) {
		console.error( 'An error happened' );
	}
);


// 或者,解析先前加載的JSON結(jié)構(gòu)
const object = loader.parse( a_json_object );

scene.add( object );

例子

WebGL / materials / lightmap

構(gòu)造函數(shù)

ObjectLoader( manager : LoadingManager )

manager — 加載器所使用的loadingManager,默認(rèn)值為T(mén)HREE.DefaultLoadingManager.

創(chuàng)建一個(gè)新的ObjectLoader.

屬性

共有屬性請(qǐng)參見(jiàn)其基類Loader。

方法

共有方法請(qǐng)參見(jiàn)其基類Loader。

.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined

url — 文件的URL或者路徑,也可以為 Data URI.
onLoad — 加載完成時(shí)將調(diào)用?;卣{(diào)參數(shù)為將要加載的object.
onProgress — 將在加載過(guò)程中進(jìn)行調(diào)用。參數(shù)為XMLHttpRequest實(shí)例,實(shí)例包含total和loaded字節(jié)。
onError — 在加載錯(cuò)誤時(shí)被調(diào)用。

從URL中進(jìn)行加載,并將被解析的響應(yīng)內(nèi)容傳遞給onLoad。

.parse ( json : Object, onLoad : Function ) : Object3D

json — 必選參數(shù),需要被解析的JSON源。

onLoad — 當(dāng)解析完成時(shí)被調(diào)用,其中參數(shù)被解析為object.

解析一個(gè)JSON結(jié)構(gòu),并返回一個(gè)threejs對(duì)象. 內(nèi)部使用.load()進(jìn)行加載, 但也可以直接用于解析先前加載的JSON結(jié)構(gòu)。

.parseGeometries ( json : Object ) : Object

json — 必選參數(shù),需要被解析的JSON源。

此函數(shù)以JSON結(jié)構(gòu),用.parse()去解析geometries。

.parseMaterials ( json : Object ) : Object

json — 必選參數(shù),需要被解析的JSON源。

此函數(shù)通過(guò)[page:.parse()來(lái)使用MaterialLoader,以解析JSON結(jié)構(gòu)中任意材質(zhì)。

.parseAnimations ( json : Object ) : Object

json — 必選參數(shù),需要被解析的JSON源。

此函數(shù)通過(guò).parse()來(lái)使用AnimationClip.parse(), 以解析JSON結(jié)構(gòu)中任意動(dòng)畫(huà)。

.parseImages ( json : Object ) : Object

json — 必選參數(shù),需要被解析的JSON源。

此函數(shù)通過(guò).parse()來(lái)使用ImageLoader, 以解析JSON結(jié)構(gòu)中任意圖片。

.parseTextures ( json : Object ) : Object

json — 必選參數(shù),需要被解析的JSON源。

此函數(shù)通過(guò).parse()來(lái)解析JSON結(jié)構(gòu)中任意紋理。

.parseObject ( json : Object, geometries : BufferGeometry, materials : Material, animations : AnimationClip ) : Object3D

json — 必選參數(shù),需要被解析的JSON源。
geometries — 必需的。 JSON 的幾何結(jié)構(gòu)。

materials — 必需的。 JSON的材料。

animations — 必需的。 JSON 的動(dòng)畫(huà)。

此函數(shù)通過(guò).parse()來(lái)解析JSON結(jié)構(gòu)中任意對(duì)象。

src/loaders/ObjectLoader.js


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)