C/C++ 网格优化库,用于提升 GPU 渲染效率并减小网格数据体积。
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
从 npm 全局安装命令行工具
npm install --global @gltf-transform/cli - 2
列出可用的命令行命令
gltf-transform --help - 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 数据每日更新。
相关项目
在浏览器中运行的工具,用于将 3D 扫描和平板扫描与 CAD 比对,拟合特征、测量、分析偏差并逆向建模为 STEP。
一种由 AI 代理驱动的技能,可将单张室内图片重建为可编辑的 Blender 场景、Three.js 查看器和便携 GLB 模型。
面向 Jetpack Compose、SwiftUI、Web、Flutter 和 React Native 的声明式 3D 与 AR SDK。
一套面向 AI 编程代理的 3D 可视化技能,帮助把创意转化为 Three.js 或 Blender 场景。
面向 Android、iOS、桌面端和 WebGL2 的实时物理渲染引擎,在 Android 上力求小巧高效。