-
-
Notifications
You must be signed in to change notification settings - Fork 35.5k
/
Copy pathGLTFExporter.html
139 lines (116 loc) · 4.38 KB
/
GLTFExporter.html
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>[name]</h1>
<p class="desc">
An exporter for *glTF* 2.0.
<br /><br />
<a href="https://www.khronos.org/gltf">glTF</a> (GL Transmission Format) is an
<a href="https://github.com/KhronosGroup/glTF/tree/master/specification/2.0">open format specification</a>
for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,
textures, skins, skeletons, morph targets, animations, lights, and/or cameras.
</p>
<h2>Extensions</h2>
<p>
GLTFExporter supports the following
[link:https://github.com/KhronosGroup/glTF/tree/master/extensions/ glTF 2.0 extensions]:
</p>
<ul>
<li>KHR_lights_punctual</li>
<li>KHR_materials_unlit</li>
<li>KHR_texture_transform</li>
</ul>
<p>
The following glTF 2.0 extension is supported by an external user plugin
</p>
<ul>
<li>[link:https://github.com/takahirox/three-gltf-extensions KHR_materials_variants]</li>
</ul>
<h2>Code Example</h2>
<code>
// Instantiate a exporter
const exporter = new GLTFExporter();
// Parse the input and generate the glTF output
exporter.parse(
scene,
// called when the gltf has been generated
function ( gltf ) {
console.log( gltf );
downloadJSON( gltf );
},
// called when there is an error in the generation
function ( error ) {
console.log( 'An error happened' );
},
options
);
</code>
<h2>Examples</h2>
<p>
[example:misc_exporter_gltf]
</p>
<h2>Constructor</h2>
<h3>[name]()</h3>
<p>
</p>
<p>
Creates a new [name].
</p>
<h2>Methods</h2>
<h3>[method:undefined parse]( [param:Object3D input], [param:Function onCompleted], [param:Function onError], [param:Object options] )</h3>
<p>
[page:Object input] — Scenes or objects to export. Valid options:<br />
<ul>
<li>
Export scenes
<code>
exporter.parse( scene1, ... )
exporter.parse( [ scene1, scene2 ], ... )
</code>
</li>
<li>
Export objects (It will create a new Scene to hold all the objects)
<code>
exporter.parse( object1, ... )
exporter.parse( [ object1, object2 ], ... )
</code>
</li>
<li>
Mix scenes and objects (It will export the scenes as usual but it will create a new scene to hold all the single objects).
<code>
exporter.parse( [ scene1, object1, object2, scene2 ], ... )
</code>
</li>
</ul>
[page:Function onCompleted] — Will be called when the export completes. The argument will be the generated glTF JSON or binary ArrayBuffer.<br />
[page:Function onError] — Will be called if there are any errors during the gltf generation.<br />
[page:Options options] — Export options<br />
<ul>
<li>trs - bool. Export position, rotation and scale instead of matrix per node. Default is false</li>
<li>onlyVisible - bool. Export only visible objects. Default is true.</li>
<li>truncateDrawRange - bool. Export just the attributes within the drawRange, if defined, instead of exporting the whole array. Default is true.</li>
<li>binary - bool. Export in binary (.glb) format, returning an ArrayBuffer. Default is false.</li>
<li>embedImages - bool. Export with images embedded into the glTF asset. Default is true.</li>
<li>maxTextureSize - int. Restricts the image maximum size (both width and height) to the given value. This option works only if embedImages is true. Default is Infinity.</li>
<li>animations - Array<[page:AnimationClip AnimationClip]>. List of animations to be included in the export.</li>
<li>forceIndices - bool. Generate indices for non-index geometry and export with them. Default is false.</li>
<li>includeCustomExtensions - bool. Export custom glTF extensions defined on an object's <em>userData.gltfExtensions</em> property. Default is false.</li>
</ul>
</p>
<p>
Generates a .gltf (JSON) or .glb (binary) output from the input (Scenes or Objects)
</p>
<h2>Source</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/exporters/GLTFExporter.js examples/jsm/exporters/GLTFExporter.js]
</p>
</body>
</html>