Julien Moreau-Mathis 9947083204 Updating JS version of glTF file loader 9 anni fa
..
README.md 2238006023 Fixed glTF file loader to work withY is UP and homogeneous coordinates 10 anni fa
babylon.glTFFileLoader.js 9947083204 Updating JS version of glTF file loader 9 anni fa
babylon.glTFFileLoader.ts b6e2d497b3 Fixed glTF loader when no shaders defined (now loads the geometries) 9 anni fa
babylon.glTFFileLoaderInterfaces.js a29e733cc9 glTF File Loader. Fixed shaders support 10 anni fa
babylon.glTFFileLoaderInterfaces.ts fd3485ee3f Updated glTF loader to 1.0 10 anni fa

README.md

Babylon.js glTF File Loader

Usage

The glTF file loader is a SceneLoader plugin. Just reference the loader in your HTML file:

<script src="babylon.2.2.js"></script>
<script src="babylon.glTFFileLoader.js"></script>

And then, call the scene loader:

BABYLON.SceneLoader.Load("./", "duck.gltf", engine, function (scene) { 
   // do somethings with the scene
});

You can also call the ImportMesh function and import specific meshes

// meshesNames can be set to "null" to load all meshes and skeletons
BABYLON.SceneLoader.ImportMesh(["myMesh1", "myMesh2", "..."], "./", "duck.gltf", scene, function (meshes, particleSystems, skeletons) { 
   // do somethings with the meshes, particleSystems (not handled in glTF files) and skeletons
});

In order the fix the UP vector (Y with Babylon.js) if you want to play with physics, you can customize the loader:

BABYLON.GLTFFileLoader.MakeYUP = true; // false by default

In order to work with homogeneous coordinates (that can be available with some converters and exporters):

BABYLON.GLTFFileLoader.HomogeneousCoordinates = true; // false by default

Supported features

  • Load scenes (SceneLoader.Load and SceneLoader.Append)
  • Support of ImportMesh function
  • Import geometries
    • From binary files
    • From base64 buffers
  • Import lights
  • Import cameras
  • Import and set custom shaders
    • Automatically bind attributes
    • Automatically bind matrices
    • Set uniforms
  • Import and set animations
  • Skinning (BETA, sometimes wrong on tricky models)
    • Skeletons
    • Hardware skinning (shaders support)
    • Bones import
  • Handle dummy nodes (empty nodes)

To improve

  • Test on more geometries
  • Test on more animated models
  • Test on more skinned models
  • Improve shaders support (glitches with samplers can appear in particular configurations)