Skip to content

Fix FBX import normals to respect smoothing groups#114758

Draft
fire wants to merge 2 commits into
godotengine:masterfrom
V-Sekai:fix-ufbx-smooth-normals
Draft

Fix FBX import normals to respect smoothing groups#114758
fire wants to merge 2 commits into
godotengine:masterfrom
V-Sekai:fix-ufbx-smooth-normals

Conversation

@fire
Copy link
Copy Markdown
Member

@fire fire commented Jan 8, 2026

Generate normals based on FBX face_smoothing data:

  • Smooth faces share averaged normals across vertices
  • Faceted faces maintain hard edges
  • Preserves artist-defined smoothing behavior

Fixes: #114739

@fire fire force-pushed the fix-ufbx-smooth-normals branch 3 times, most recently from 130abf8 to d395ae4 Compare January 8, 2026 19:59
Generate normals based on FBX face_smoothing data:
- Smooth faces share averaged normals across vertices
- Faceted faces maintain hard edges
- Preserves artist-defined smoothing behavior
@fire
Copy link
Copy Markdown
Member Author

fire commented Jan 8, 2026

Feature request:

Kosyne found it convenient to be able to choose between calculating, importing or outright discarding smoothing group data.

@fire
Copy link
Copy Markdown
Member Author

fire commented Jan 9, 2026

Discussed with @bqqbarbhg

We think that ufbx is probably doing the "correct" thing here, but many things export hard edges unexpectedly.

So it's a good idea to default to what the fbx file says, or discarding smooth data or discarding hard edges or we can try recalculating (this pull request).

@AThousandShips AThousandShips added bug topic:import cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release cherrypick:4.6 Considered for cherry-picking into a future 4.6.x release labels Jan 9, 2026
@AThousandShips AThousandShips added this to the 4.7 milestone Jan 9, 2026
Comment thread modules/fbx/fbx_document.cpp Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release cherrypick:4.6 Considered for cherry-picking into a future 4.6.x release topic:import

Projects

Development

Successfully merging this pull request may close these issues.

Importing fbx with ufbx in 4.5.1 is boxy on compatibility mode

2 participants