glTF-Transform

Latest NPM release Minzipped size License

glTF 2.0 SDK for JavaScript, TypeScript, and Node.js.

Introduction

glTF-Transform supports reading, editing, and writing 3D models in glTF 2.0 format. Unlike 3D modeling tools β€”Β which are ideal for artistic changes to geometry, materials, and animation β€” glTF-Transform provides fast, reproducible, and lossless control of the low-level details in 3D model. The API automatically manages array indices and byte offsets, which would otherwise require careful management when editing files. These traits make it a good choice for bundling, splitting, or optimizing an existing model. It can also be used to apply quick fixes for common issues, to build a model procedurally, or to easily develop custom extensions on top of the glTF format. Because the core SDK is compatible with both Node.js and Web, glTF-Transform may be used to develop offline workflows and web applications alike.

glTF-Transform is modular:

  • @gltf-transform/core: Core SDK, providing an expressive API to read, edit, and write glTF files.
  • @gltf-transform/extensions: Extensions (optional glTF features) for the Core SDK.
  • @gltf-transform/lib: Library of common functions, written using the core API, that modify glTF files.
  • @gltf-transform/cli: Command-line interface to apply changes quickly or in batch.

Getting started

To learn how glTF-Transform works, see Concepts. To get started developing with the SDK, see SDK Installation below. Visit the Library for examples of functionality created with the SDK already. To use the commandline interface, see Commandline (CLI). If you're interested in contributing to or customizing the project, see contributing.

SDK Installation

Install the core SDK for programmatic use:

npm install --save @gltf-transform/core

Then, import some modules:

// ES Modules.
import { Document, Scene, WebIO } from '@gltf-transform/core';

// CommonJS.
const { Document, Scene, WebIO } = require('@gltf-transform/core');

All classes described by this documentation are imported from the core package, as shown above. Most projects should start with the Document or PlatformIO classes.

Function symbol, f(πŸ“¦) β†’ πŸ“¦, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy β€’ TypeDoc documentation β€’ Copyright 2020 under MIT license