File: ObjectLoader.html

package info (click to toggle)
three.js 111%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 15,184 kB
  • sloc: javascript: 133,174; makefile: 24; sh: 1
file content (199 lines) | stat: -rw-r--r-- 5,344 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="list.js"></script>
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		[page:Loader] &rarr;

		<h1>[name]</h1>

		<p class="desc">
			A loader for loading a JSON resource in the [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].<br /><br />

			此加载器内部使用[page:FileLoader]进行加载文件。
		</p>

		<h2>例子</h2>

		<p>
			[example:webgl_loader_json_claraio WebGL / loader / json / claraio]<br />
			[example:webgl_materials_lightmap WebGL / materials / lightmap]
		</p>

		<code>
		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 );
		</code>



		<h2>构造函数</h2>

		<h3>[name]( [param:LoadingManager manager] )</h3>
		<p>
		[page:LoadingManager manager] — 加载器所使用的[page:LoadingManager loadingManager],默认值为[page:LoadingManager THREE.DefaultLoadingManager].<br /><br />

		创建一个新的[name].
		</p>

		<h2>属性</h2>
		<p>共有属性请参见其基类[page:Loader]。</p>

		<h2>方法</h2>
		<p>共有方法请参见其基类[page:Loader]。</p>

		<h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
		<p>
		[page:String url] — 文件的URL或者路径,也可以为
			[link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs Data URI].<br />
		[page:Function onLoad] — 加载完成时将调用。回调参数为将要加载的[page:Object3D object].<br />
		[page:Function onProgress] — 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含[page:Integer total]和[page:Integer loaded]字节。<br />
		[page:Function onError] — 在加载错误时被调用。<br />
		</p>
		<p>
			从URL中进行加载,并将被解析的响应内容传递给onLoad。
		</p>


		<h3>[method:Object3D parse]( [param:Object json], [param:Function onLoad]  )</h3>
		<p>
		[page:Object json] — 必选参数,需要被解析的JSON源。<br /><br />
		[page:Function onLoad] — 当解析完成时被调用,其中参数被解析为[page:Object3D object].<br /><br />

			解析一个<em>JSON</em>结构,并返回一个threejs对象.
		内部使用[page:.load]进行加载, 但也可以直接用于解析先前加载的JSON结构。
		</p>

		<h3>[method:Object3D parseGeometries]( [param:Object json] )</h3>
		<p>
		[page:Object json] — 必选参数,需要被解析的JSON源。<br /><br />

			此函数以JSON结构,用[page:.parse]去解析[page:Geometry geometries]或[page:BufferGeometry buffer geometries]。
		</p>

		<h3>[method:Object3D parseMaterials]( [param:Object json] )</h3>
		<p>
		[page:Object json] —  必选参数,需要被解析的JSON源。<br /><br />

		此函数通过[page:.parse]来使用[page:MaterialLoader],以解析JSON结构中任意材质。
		</p>

		<h3>[method:Object3D parseAnimations]( [param:Object json] )</h3>
		<p>
		[page:Object json] —  必选参数,需要被解析的JSON源。<br /><br />

		此函数通过[page:.parse]来使用[page:AnimationClip.parse], 以解析JSON结构中任意动画。
		</p>

		<h3>[method:Object3D parseImages]( [param:Object json] )</h3>
		<p>
		[page:Object json] —  必选参数,需要被解析的JSON源。<br /><br />

			此函数通过[page:.parse]来使用[page:ImageLoader], 以解析JSON结构中任意图片。
		</p>

		<h3>[method:Object3D parseTextures]( [param:Object json] )</h3>
		<p>
		[page:Object json] —  必选参数,需要被解析的JSON源。<br /><br />
			此函数通过[page:.parse]来解析JSON结构中任意纹理。
		</p>

		<h3>[method:Object3D parseObject]( [param:Object json] )</h3>
		<p>
		[page:Object json] —  必选参数,需要被解析的JSON源。<br /><br />

			此函数通过[page:.parse]来解析JSON结构中任意对象。
		对象可以为如下类型:

		<ul>
			<li>
				[page:Scene]
			</li>
			<li>
				[page:PerspectiveCamera]
			</li>
			<li>
				[page:OrthographicCamera]
			</li>
			<li>
				[page:AmbientLight]
			</li>
			<li>
				[page:DirectionalLight]
			</li>
			<li>
				[page:PointLight]
			</li>
			<li>
				[page:SpotLight]
			</li>
			<li>
				[page:HemisphereLight]
			</li>
			<li>
				[page:Mesh]
			</li>
			<li>
				[page:LOD]
			</li>
			<li>
				[page:Line]
			</li>
			<li>
				[page:LineSegments]
			</li>
			<li>
				[page:Points]
			</li>
			<li>
				[page:Sprite]
			</li>
			<li>
				[page:Group]
			</li>
			<li>
				[page:Object3D]
			</li>

		</ul>
		</p>

		<h2>源</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>