three.js GLTFExporter

2023-02-16 17:51 更新

glTF 2.0 的出口商。

glTF(GL 傳輸格式)是一種用于高效交付和加載 3D 內(nèi)容的開放格式規(guī)范。資產(chǎn)可以 JSON (.gltf) 或二進(jìn)制 (.glb) 格式提供。外部文件存儲紋理(.jpg、.png)和其他二進(jìn)制數(shù)據(jù)(.bin)。 glTF 資產(chǎn)可以提供一個(gè)或多個(gè)場景,包括網(wǎng)格、材質(zhì)、紋理、皮膚、骨架、變形目標(biāo)、動(dòng)畫、燈光和/或相機(jī)。

擴(kuò)展

GLTFExporter 支持以下內(nèi)容 glTF 2.0 extensions:

  • KHR_lights_punctual
  • KHR_materials_unlit
  • KHR_texture_transform

外部用戶插件支持以下 glTF 2.0 擴(kuò)展

代碼示例

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

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

GLTFExporter()

創(chuàng)建一個(gè)新的 GLTFExporter。

方法

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

input — 要導(dǎo)出的場景或?qū)ο?。有效選項(xiàng):

  • 導(dǎo)出場景
  • exporter.parse( scene1, ... )
    exporter.parse( [ scene1, scene2 ], ... )
  • 導(dǎo)出對象(它將創(chuàng)建一個(gè)新場景來容納所有對象)
  • exporter.parse( object1, ... )
    exporter.parse( [ object1, object2 ], ... )
  • 混合場景和對象(它會像往常一樣導(dǎo)出場景,但會創(chuàng)建一個(gè)新場景來容納所有單個(gè)對象)。
  • exporter.parse( [ scene1, object1, object2, scene2 ], ... )

onCompleted — 將在導(dǎo)出完成時(shí)調(diào)用。參數(shù)將是生成的 glTF JSON 或二進(jìn)制 ArrayBuffer。

onError — 如果在 gltf 生成期間有任何錯(cuò)誤,將被調(diào)用。

options — 導(dǎo)出選項(xiàng)

  • trs - bool. 導(dǎo)出位置、旋轉(zhuǎn)和縮放而不是每個(gè)節(jié)點(diǎn)的矩陣。默認(rèn)為假
  • onlyVisible - bool. 僅導(dǎo)出可見對象。默認(rèn)為真。
  • binary - bool. 以二進(jìn)制 (.glb) 格式導(dǎo)出,返回一個(gè) ArrayBuffer。默認(rèn)為假。
  • maxTextureSize - int. 將圖像的最大尺寸(寬度和高度)限制為給定值。默認(rèn)為無窮大。
  • animations - Array<AnimationClip>. 要包含在導(dǎo)出中的動(dòng)畫列表。
  • forceIndices - bool. 為非索引幾何生成索引并與它們一起導(dǎo)出。默認(rèn)為假。
  • includeCustomExtensions - bool. 導(dǎo)出在對象的 userData.gltfExtensions 屬性上定義的自定義 glTF 擴(kuò)展。默認(rèn)為假。

從輸入(場景或?qū)ο螅┥?nbsp;.gltf (JSON) 或 .glb(二進(jìn)制)輸出

源碼

examples/jsm/exporters/GLTFExporter.js


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號