AgentSkillsCN

gltf-transform

优化和后处理GLB/glTF 3D模型。当压缩模型以供网络传输、减小文件大小、简化几何、检查模型统计、合并模型,或转换纹理时使用。触发条件:优化GLB、压缩模型、减小文件大小、简化网格、draco压缩、meshopt、webp纹理、检查模型、合并GLB、模型优化。

SKILL.md
--- frontmatter
name: gltf-transform
description: Optimize and post-process GLB/glTF 3D models. Use when compressing models for web delivery, reducing file size, simplifying geometry, inspecting model stats, merging models, or converting textures. Triggers on: optimize GLB, compress model, reduce file size, simplify mesh, draco compression, meshopt, webp textures, inspect model, merge GLB, model optimization.

glTF Transform

Post-process GLB/glTF files: optimize, compress, inspect, and transform 3D models.

Zero-Setup with bunx

No installation required. Run any command with:

bash
bunx @gltf-transform/cli <command> [args]

First run downloads the tool, subsequent runs are instant.

Quick Start

bash
# Inspect model stats first
bunx @gltf-transform/cli inspect model.glb

# One-command optimization (good defaults)
bunx @gltf-transform/cli optimize input.glb output.glb --compress draco --texture-compress webp

CAD Workflow Integration

Typical pipeline after generating models with build123d:

code
create geometry → export GLB → optimize → verify visually
  1. build123d exports high-quality CAD geometry
  2. gltf-transform compresses for web delivery
  3. render-glb verifies the result

Compression Methods

MethodBest ForTrade-offs
DracoWeb delivery, Three.jsSmallest geometry, requires decoder
MeshoptUniversal, animationsGood compression + animation support
QuantizeCompatibilityNo decoder needed, moderate compression
bash
# Draco - best geometry compression
bunx @gltf-transform/cli draco input.glb output.glb

# Meshopt - geometry + animation compression
bunx @gltf-transform/cli meshopt input.glb output.glb

# Quantize only - no external decoder needed
bunx @gltf-transform/cli quantize input.glb output.glb

Texture Compression

bash
# WebP - good compression, wide browser support
bunx @gltf-transform/cli webp input.glb output.glb

# Resize large textures
bunx @gltf-transform/cli resize input.glb output.glb --width 1024 --height 1024

Common Operations

Inspect Model Stats

bash
bunx @gltf-transform/cli inspect model.glb

Shows vertex count, file size breakdown, texture sizes - helps decide what to optimize.

Simplify Geometry

bash
# Weld duplicate vertices first
bunx @gltf-transform/cli weld input.glb temp.glb

# Then simplify
bunx @gltf-transform/cli simplify temp.glb output.glb --ratio 0.5

Useful for CAD models which often have more detail than needed for web viewing.

Merge Multiple Models

bash
bunx @gltf-transform/cli merge part1.glb part2.glb assembly.glb

Aggressive Optimization

bash
bunx @gltf-transform/cli optimize input.glb output.glb \
  --compress draco \
  --texture-compress webp \
  --simplify true \
  --simplify-ratio 0.5

When to Use

ScenarioCommands
Web deliveryoptimize --compress draco --texture-compress webp
Check model statsinspect
High-poly CAD modelweld then simplify --ratio 0.5
Combine partsmerge
Debug issuesinspect then targeted fixes