KhronosGroup / KhronosGroup/glTF

Sharing skeletons between two skinned mesh

Open
#1,285 5 comments 1 reaction 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

This is a spin off from #1195 to discuss how to properly share skeletons between two skinned mesh.

For a nice summary of this issue, see @donmccurdy's comment [here](https://github.com/KhronosGroup/glTF/pull/1195#issuecomment-370278092).
> We realize this doesn't allow glTF 2.0 to support several features that are important for skinned animation, but the current spec cannot support them now without breaking changes. From @Nehon's earlier comments:
> 1. Re use of a skeleton for multiple meshes
> 2. Partially skinned meshes
> 3. Forces to bake a skinned mesh’s animation into the root bone’s animations

We can start discussing how to make skinned animation better in this issue.

Here are some considerations:
* Can this be done in an extension with fallback behavior for the core spec?
* How do we restructure the skeleton in the spec?
* Must we need to separate the skeleton from the node hierarchy? If yes, how do we separate the skeleton?
* If the skeleton is separated from the node hierarchy, how does animation target a skeleton bone?
* How do attachments work?
* Others?

Chime in with proposals or other considerations.

Contributor guide

Open the contributing guide

Research direction

Start with the summary in the linked pull request comment and the parent issue #1195; no files, tests, or implementation entry points are named. Done would require an agreed proposal for sharing skeletons, addressing extension fallback, skeleton structure, animation targeting, and attachments.

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.