Repolode
donmccurdy

donmccurdy/glTF-Transform

面向 Node.js 与 Web 的 glTF 2.0 三维模型读写、编辑与优化 SDK 及命令行工具。

Star
2,063
Fork
223
未关闭 Issue
82
最近提交
18天前

这是什么?

glTF Transform 用于读取、编辑和写入 glTF 2.0 格式的三维模型。它面向对模型做底层、可复现的修改,例如合并或拆分文件、快速修复常见问题,或优化已有资产。API 会自动处理数组索引和字节偏移,开发者无需手动管理二进制布局。

项目由几个部分组成:核心 SDK、可选 glTF 特性的扩展包、提供 prune、dedup、resample、Draco 和纹理压缩等现成变换的 functions 包,以及可对单个或批量文件执行这些功能的命令行工具。核心库同时支持 Node.js 和浏览器,因此同一套代码既能用于离线构建流程,也能用于 Web 应用。

命令行工具支持使用 Draco 和 Meshoptimizer 压缩几何数据,使用 WebP 以及 KTX2/Basis Universal 压缩纹理,并可通过 Sharp 调整纹理尺寸。

核心功能

  • 01读取、编辑和写入 glTF 2.0 与 GLB 文件,自动管理索引和偏移。
  • 02核心 API 同时支持 Node.js 与浏览器。
  • 03提供 prune、dedup、resample、Draco 压缩等现成变换函数。
  • 04命令行工具可批量优化文件,支持 Meshopt 几何压缩及 WebP、KTX2 纹理压缩。
  • 05可基于文档 API 编写自定义变换。

适用场景

  • 为 Web 3D 查看器压缩几何与纹理,优化模型资产。
  • 在构建流程中批量处理大量 glTF 模型。
  • 无需回到建模软件,直接合并或拆分现有 glTF 文件。
  • 以程序方式生成 glTF 模型或开发自定义扩展。

快速上手

  1. 1

    从 npm 全局安装命令行工具

    npm install --global @gltf-transform/cli
  2. 2

    列出可用的命令行命令

    gltf-transform --help
  3. 3

    一次性优化模型

    gltf-transform optimize input.glb output.glb --texture-compress webp

使用前须知

  • 命令行工具需要 Node.js LTS 版本。
  • 部分纹理压缩功能需要 Node.js 和 Sharp 库,无法在浏览器中运行。

标签

常见问题

glTF-Transform 是什么?
面向 Node.js 与 Web 的 glTF 2.0 三维模型读写、编辑与优化 SDK 及命令行工具。 glTF Transform 用于读取、编辑和写入 glTF 2.0 格式的三维模型。它面向对模型做底层、可复现的修改,例如合并或拆分文件、快速修复常见问题,或优化已有资产。API 会自动处理数组索引和字节偏移,开发者无需手动管理二进制布局。
glTF-Transform 可以免费使用吗?用的什么许可证?
glTF-Transform 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
glTF-Transform 还在维护吗?
活跃维护中。glTF-Transform 最近一次提交是在 2026年10月20日。
glTF-Transform 适合用来做什么?
为 Web 3D 查看器压缩几何与纹理,优化模型资产。 在构建流程中批量处理大量 glTF 模型。 无需回到建模软件,直接合并或拆分现有 glTF 文件。 以程序方式生成 glTF 模型或开发自定义扩展。
glTF-Transform 怎么安装和运行?
从 npm 全局安装命令行工具: npm install --global @gltf-transform/cli 列出可用的命令行命令: gltf-transform --help 一次性优化模型: gltf-transform optimize input.glb output.glb --texture-compress webp
在哪里获取 glTF-Transform?
源代码和安装说明在 GitHub 上:https://github.com/donmccurdy/glTF-Transform

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目