KhronosGroup / KhronosGroup/glTF

Unique Object ID

Open
#1,713 5 comments 3 reactions 0 assignees View on GitHub
needs discussion
Dominant language
HTML
Stars
7.8k
Forks
1.2k
Avg merge
17h 26m
Merged PRs (30d)
5

Description

Hi all, as discussed on [Babylon Exporter GitHub ](https://github.com/BabylonJS/Exporters/pull/691)we have a situation where many objects across differents GLTF files are sharing animations.
Also, we are working with files that contain more than 5000 nodes and artists are struggling with a pipeline where the moment a single keyframe is changed the entire scene must be re-exported.

We implemented this solution, proposed by @Selmar on #1448. Adding a unique identifier to every node and animation channels target.
This way we can eventually split the animation from the model and, on the engine side, we can blend data coming from different GLTF files.

As we would like to share this extension to BabylonExporter we are discussing on the way the specification should be implemented
We wonder if the uniqueness of the object should be an isolated extension, were eventually, some other extensions can be built on top of that.

What do you think about this?
should we have a UniqueIdentifierExtension that will end up with something like this?

``` "nodes": [
{
"skin": 0,
"mesh": 0,
"translation": [
0.0,
-0.0287759788,
-0.0076726065
],
"name": "L_Shoulder_JNT",
"extensions": {
"ASOBO_unique_id": {
"id": "shoulder"
}
}
},```

Contributor guide

Open the contributing guide

Research direction

Start by reviewing Babylon Exporter PR #691 and the discussion in issue #1448, then examine the proposed node and animation-channel identifier shape in this issue. Define whether the identifier belongs in an isolated extension and document the agreed specification.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.