glTF-Transform處理gltf模型
glTF-Transform支持讀取、編輯、創(chuàng)建gltf2.0格式的三維模型,glTF-Transform提供對(duì)三維模型中低細(xì)節(jié)的快速、可再現(xiàn)和無損控制;glTF-Transform?API實(shí)現(xiàn)在編輯三維模型時(shí),自動(dòng)管理數(shù)組索引和字節(jié)偏移量,這些特性,能夠方便對(duì)三維模型進(jìn)行合并、拆分和優(yōu)化;同時(shí),能夠?qū)θS模型進(jìn)行修復(fù),給三維模型添加常用的擴(kuò)展。
glTF-Transform?API同時(shí)支持web端和nodejs端開發(fā)。
glTF-Transform包含以下模塊:
@gltf-transform/core:核心SDK類庫,提供gltf2.0模型創(chuàng)建、讀取和編輯的API;
@gltf-transform/extensions: gltf2.0模型的擴(kuò)展API;
@gltf-transform/functions: gltf2.0模型的修改、讀取函數(shù)API;
@gltf-transform/cli: 命令行工具,直接執(zhí)行g(shù)ltf2.0模型的操作功能。
開發(fā)使用:npm install --save @gltf-transform/core
// ES模塊
import { Document, Scene, WebIO } from '@gltf-transform/core';
// CommonJS方式? ? const { Document, Scene, WebIO } = require('@gltf-transform/core');
let document;
document = await io.read('model.glb'); //讀取glb為Document
document = await io.readBinary(glb); ? // 讀取Uint8Array為Document
await io.write('model.glb', document); // 寫到glb文件
const glb = await io.writeBinary(document); // 轉(zhuǎn)化為Uint8Array格式
詳細(xì)的方法屬性操作參見官網(wǎng)文檔。
引用內(nèi)容:
?https://gltf-transform.donmccurdy.com/