Skip to content

Apply static glTF morph weights (#2110) - #3084

Open
adrian-andrzjewski wants to merge 1 commit into
jMonkeyEngine:masterfrom
adrian-andrzjewski:codex/issue-2110-morph-primitives
Open

adrian-andrzjewski wants to merge 1 commit into
jMonkeyEngine:masterfrom
adrian-andrzjewski:codex/issue-2110-morph-primitives

Conversation

@adrian-andrzjewski

@adrian-andrzjewski adrian-andrzjewski commented Nov 14, 2026 •

Copy link
Copy Markdown

Summary

  • Apply node morph weights, falling back to mesh defaults, to every primitive instance.
  • Ensure morph-target geometries receive a MorphControl even when the asset has no animation tracks.

Validation

  • Gradle check: :jme3-plugins:check --no-daemon --console=plain (47 tests, 0 failures).

Closes #2110

@jaime-jmebot jaime-jmebot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thanks for taking this on — this closes an important gap in the glTF morph path by applying static node/mesh weights to every primitive and ensuring morph-capable geometry has a control even when there are no animation tracks.

I reviewed the loader changes alongside the existing MorphControl behavior. Applying weights after each primitive is created gives each geometry its own state, while the node-over-mesh fallback follows the glTF precedence. The control setup also accounts for the completed scene graph, which is important for controls created earlier during animation or skin processing. The new fixture and assertions cover node overrides, mesh defaults across multiple primitives, implicit zero weights, and the no-animation case, so they provide useful regression coverage for the intended behavior.

I didn’t find anything requiring changes. The PR reports the plugin checks passing, and I see no outstanding CI checks attached here. Looks good to me—thanks for the focused fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

jme3-plugins loads MorphPrimitivesTest incorrectly

2 participants