GLTFExporter

优质
小牛编辑
135浏览
2023-12-01

An exporter for glTF 2.0.

glTF (GL Transmission Format) is an open format specification 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.

Extensions

GLTFExporter supports the following glTF 2.0 extensions:

  • KHR_lights_punctual
  • KHR_materials_unlit
  • KHR_texture_transform

The following glTF 2.0 extension is supported by an external user plugin

代码示例

// Instantiate a exporter
const exporter = new GLTFExporter();
// Parse the input and generate the glTF output
exporter.parse( scene, function ( gltf ) {
  console.log( gltf );
  downloadJSON( gltf );
}, options );

例子

misc_exporter_gltf

Constructor

GLTFExporter()

Creates a new GLTFExporter.

Methods

.parse ( input : Object3D, onCompleted : Function, options : Object ) : null

input — Scenes or objects to export. Valid options:

  • Export scenes
    exporter.parse( scene1, ... )
    exporter.parse( [ scene1, scene2 ], ... )
  • Export objects (It will create a new Scene to hold all the objects)
    exporter.parse( object1, ... )
    exporter.parse( [ object1, object2 ], ... )
  • Mix scenes and objects (It will export the scenes as usual but it will create a new scene to hold all the single objects).
    exporter.parse( [ scene1, object1, object2, scene2 ], ... )
onCompleted — Will be called when the export completes. The argument will be the generated glTF JSON or binary ArrayBuffer.
options — Export options
  • trs - bool. Export position, rotation and scale instead of matrix per node. Default is false
  • onlyVisible - bool. Export only visible objects. Default is true.
  • truncateDrawRange - bool. Export just the attributes within the drawRange, if defined, instead of exporting the whole array. Default is true.
  • binary - bool. Export in binary (.glb) format, returning an ArrayBuffer. Default is false.
  • embedImages - bool. Export with images embedded into the glTF asset. Default is true.
  • 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.
  • animations - Array<AnimationClip>. List of animations to be included in the export.
  • forceIndices - bool. Generate indices for non-index geometry and export with them. Default is false.
  • includeCustomExtensions - bool. Export custom glTF extensions defined on an object's userData.gltfExtensions property. Default is false.

Generates a .gltf (JSON) or .glb (binary) output from the input (Scenes or Objects)

Source

examples/jsm/exporters/GLTFExporter.js