KhronosGroup / KhronosGroup/glTF

Representing single vertices being unaffected by skinning

Open
#2,269 1 comment 0 reactions 1 assignee Claimed by @lexaknyazev View on GitHub
Dominant language
HTML
Stars
7.8k
Forks
1.2k
Avg merge
17h 26m
Merged PRs (30d)
5

Description

I don't see a simple way to represent single vertices being unaffected by skinning (static vertices in an otherwise animated mesh). What I have considered:

1. All zero `JOINTS_n` and `WEIGHTS_n` attributes for the unaffected vertices. This does not work since the spec mandates a normalized weight sum of exactly 1 (plus/minus a minimal error) - see e.g. https://github.com/KhronosGroup/glTF/issues/1929.
2. A separate, unskinned primitive. This would probably work for most models in practice, but it doesn't work if I have e.g. a triangle where only a single vertex is unaffected by skinning but the other two are.
3. Introducing no-op bones. This would work, but it feels dirty and presumably makes the models harder to edit if imported into e.g. Blender.

Background: I'm writing a b3d (Blitz3D) to glTF converter. The Blitz3d model format turns the lookup around: Rather than each vertex having affecting joints & weights as attributes, each joint has a map of vertices to weights. This allows vertices to be completely unaffected by skinning; they simply don't appear in these map(s), or they appear only with zero weights.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.