three.js GLTFExporter

2023-02-16 17:51 更新

glTF 2.0 的出口商。

glTF(GL 传输格式)是一种用于高效交付和加载 3D 内容的开放格式规范。资产可以 JSON (.gltf) 或二进制 (.glb) 格式提供。外部文件存储纹理(.jpg、.png)和其他二进制数据(.bin)。 glTF 资产可以提供一个或多个场景,包括网格、材质、纹理、皮肤、骨架、变形目标、动画、灯光和/或相机。

扩展

GLTFExporter 支持以下内容 glTF 2.0 extensions:

  • KHR_lights_punctual
  • KHR_materials_unlit
  • KHR_texture_transform

外部用户插件支持以下 glTF 2.0 扩展

代码示例

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

例子

misc_exporter_gltf

构造函数

GLTFExporter()

创建一个新的 GLTFExporter。

方法

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

input — 要导出的场景或对象。有效选项:

  • 导出场景
  • exporter.parse( scene1, ... )
    exporter.parse( [ scene1, scene2 ], ... )
  • 导出对象(它将创建一个新场景来容纳所有对象)
  • exporter.parse( object1, ... )
    exporter.parse( [ object1, object2 ], ... )
  • 混合场景和对象(它会像往常一样导出场景,但会创建一个新场景来容纳所有单个对象)。
  • exporter.parse( [ scene1, object1, object2, scene2 ], ... )

onCompleted — 将在导出完成时调用。参数将是生成的 glTF JSON 或二进制 ArrayBuffer。

onError — 如果在 gltf 生成期间有任何错误,将被调用。

options — 导出选项

  • trs - bool. 导出位置、旋转和缩放而不是每个节点的矩阵。默认为假
  • onlyVisible - bool. 仅导出可见对象。默认为真。
  • binary - bool. 以二进制 (.glb) 格式导出,返回一个 ArrayBuffer。默认为假。
  • maxTextureSize - int. 将图像的最大尺寸(宽度和高度)限制为给定值。默认为无穷大。
  • animations - Array<AnimationClip>. 要包含在导出中的动画列表。
  • forceIndices - bool. 为非索引几何生成索引并与它们一起导出。默认为假。
  • includeCustomExtensions - bool. 导出在对象的 userData.gltfExtensions 属性上定义的自定义 glTF 扩展。默认为假。

从输入(场景或对象)生成 .gltf (JSON) 或 .glb(二进制)输出

源码

examples/jsm/exporters/GLTFExporter.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号