[GH-ISSUE #1] UVs are offset/flipped for textures with flipY=false (common glTF workflow) #1

Closed
opened 2026-10-26 22:28:45 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @scottpetrovic on GitHub (Aug 5, 2026).
Original GitHub issue: https://github.com/Comfy-Org/fbx-exporter-three/issues/1

First this repository is great. I am trying to plug it into my Mesh2Motion application to allow FBX exports. This takes me 99% to the finish line with getting everything to work out of the box. My working files are always GLB files that I bring into three.js. There is only one bug I am seeing with how I am using this exporter.

Blender importing the FBX with current state of repository
Image

When exporting a Three.js scene to FBX using this package, textures can appear shifted or vertically misaligned after importing into something like Blender. The mesh/material looks correct in the three.js scene in the web browser. This is related to a property called "flipY" that is used for a texture. There is an inconsistency between FBX and three.js formats that are causing it.

There appears to be a convention mismatch between:

  • Three.js/glTF texture orientation (often flipY=false), and
  • FBX importer expectations around UV Y direction and texture transform interpretation.

This is the fix I am doing right now that updates that property a bit to make it appear correct when the FBX is later imported into Blender or my babylonjs sandbox viewer. I will use this code until some type of fix can get applied here.

github.com/Mesh2Motion/mesh2motion-app@e9b0d7f3c3

The current exporter behavior writes texture transform properties (offset/repeat/rotation), but does not fully normalize or bake flipY-related semantics into UV output.

Originally created by @scottpetrovic on GitHub (Aug 5, 2026). Original GitHub issue: https://github.com/Comfy-Org/fbx-exporter-three/issues/1 First this repository is great. I am trying to plug it into my Mesh2Motion application to allow FBX exports. This takes me 99% to the finish line with getting everything to work out of the box. My working files are always GLB files that I bring into three.js. There is only one bug I am seeing with how I am using this exporter. Blender importing the FBX with current state of repository <img width="866" height="729" alt="Image" src="https://github.com/user-attachments/assets/fcba270e-c325-47d3-8c9d-c1b4018ea05f" /> When exporting a Three.js scene to FBX using this package, textures can appear shifted or vertically misaligned after importing into something like Blender. The mesh/material looks correct in the three.js scene in the web browser. This is related to a property called "flipY" that is used for a texture. There is an inconsistency between FBX and three.js formats that are causing it. There appears to be a convention mismatch between: - Three.js/glTF texture orientation (often flipY=false), and - FBX importer expectations around UV Y direction and texture transform interpretation. This is the fix I am doing right now that updates that property a bit to make it appear correct when the FBX is later imported into Blender or my babylonjs sandbox viewer. I will use this code until some type of fix can get applied here. https://github.com/Mesh2Motion/mesh2motion-app/commit/e9b0d7f3c33b79b55360e7072aeed8b0e0cc86c7 The current exporter behavior writes texture transform properties (offset/repeat/rotation), but does not fully normalize or bake flipY-related semantics into UV output.
Author
Owner

@jtydhr88 commented on GitHub (Sep 22, 2026):

thanks, I can reproduce this, will fix it soon

<!-- gh-comment-id:5770974614 --> @jtydhr88 commented on GitHub (Sep 22, 2026): thanks, I can reproduce this, will fix it soon
Author
Owner

@jtydhr88 commented on GitHub (Sep 23, 2026):

release a new version, can you check? thanks for the feedback!

<!-- gh-comment-id:5787113726 --> @jtydhr88 commented on GitHub (Sep 23, 2026): release a new version, can you check? thanks for the feedback!
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/fbx-exporter-three#1
No description provided.