question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

I would like to use this issue to keep track of the GLTF2 exporter features. I’ve copied the initial list of features discussed on the PR https://github.com/mrdoob/three.js/pull/11917 and I’ll keep updating the list as we progress in the implementation.

Features / TO-DO

  • Export options

    • trs to export TRS instead of matrix
    • input:
      • Single scene
      • Array of scenes
      • Single object
      • Array of objects
    • truncateDrawRange: force exporting just the attribute values defined by drawRange:
    • Non-index buffer geometry
    • Indexed buffer geometry
  • Include userData in extras?

  • Scenes

    • Support for multiple scenes
  • Nodes

    • Meshes
      • Primitive mode:
        • TRIANGLES
        • TRIANGLE_STRIP
        • TRIANGLE_SPAN
        • POINTS
        • LINES
        • LINE_STRIP
        • LINE_LOOP
      • Geometry types:
        • BufferGeometry
        • Geometry
      • Primitive attributes:
        • POSITION
        • NORMAL
        • TEXCOORD_0
        • TEXCOORD_1
        • COLOR_0
        • JOINTS_0
        • WEIGHTS_0
        • TANGENT
      • Multi-material meshes as primitives
    • Lights
    • Camera
    • Skin
  • Materials:

    • Ignore if default material is being used
    • Export as lines if material.wireframe === true
    • pbrMetallicRoughness for MeshStandardMaterial
      • Attributes:
        • baseColorFactor
        • metallicFactor
        • roughnessFactor
        • baseColorTexture: It’s supported (material.map) but the texCoord is always set to 0.
      • doubleSided
      • KHR_material_unlit
  • Samplers

  • Images

    • uri using map.image.src
    • uri base64
    • bufferView
    • Deal with flipY images
    • Merge channels into one texture
  • Accessors

    • Use the same bufferView for the same componentType instead of creating a new one for each attribute (WIP @takahirox)
    • Support sparse?
    • Attributes:
      • bufferView
      • byteOffset: Currently it’s using 0 always as I’m creating a new bufferView for each accessor.
      • componentType
      • count
      • max
      • min
      • type:
        • SCALAR
        • VEC2
        • VEC3
        • VEC4
  • BufferViews: Currently I’m creating a new bufferView for each Accessor, this should be fixed to use just one for these attributes that share the same componentType

    • Attributes:
      • buffer
      • byteOffset
      • byteLength
      • byteStride
      • target
  • Buffers: Currently I’m saving everything to a single buffer so it will be just one entry in the buffers array.

    • byteLength
    • uri
  • Animations

  • misc:

  • GLB

Example

Current demo: image

Exported gltf loaded on @donmccurdy 's gltf viewer image

GLTF: https://gist.github.com/fernandojsg/0e86638d81839708bcbb78ab67142640

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:12
  • Comments:85 (8 by maintainers)

github_iconTop GitHub Comments

3reactions
takahiroxcommented, Feb 27, 2018

Hope that Multi-material meshes will be implemented asap because most of 3D models are using Multi-materials.

As I said in the other thread, I’m working on it.

3reactions
Frikselcommented, Nov 20, 2017

Great work, great list and good to know there is already so much support on the format! Also works very well together with gltf blender exporter too. Can’t wait for lights support! Keep up the great work.

Read more comments on GitHub >

github_iconTop Results From Across the Web

GLTFExporter – three.js docs
GLTFExporter. An exporter for glTF 2.0. glTF (GL Transmission Format) is an open format specification for efficient delivery and loading of 3D content....
Read more >
glTF Exporter - Babylon.js Documentation
The glTF Exporter allowsBabylon.js models to be exported to the [glTF 2.0 format] ... The glTF Exporter can be installed by using the...
Read more >
Plattar/gltf-exporter: Unity3D GLTF2 importer and ... - GitHub
GLTF Exporter is a Unity3D Editor Tool that allows exporting Unity3D objects to glTF 2.0 format. Before Usage. Ensure to remove all converters...
Read more >
glTF Exporter in Code Plugins - UE Marketplace
This Unreal Editor plugin allows exporting selected actors, selected assets or a full level into glTF files (https://www.khronos.org/gltf/).
Read more >
three.js - Exporting an animated scene with GLTFExporter ...
I'm trying to export an animation scene in ThreeJS with GLTFExporter, but the animation is not being exported.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found