GLTF Importer unusable due to normal issue

The GLTF importer is currently completely broken whenever you apply normal maps to your imported mesh. Since the meshes you export that share the same material merge together, some meshes will have support for DirectX only and some only with OpenGL


OpenGL applied, The pillars behave as they should but not other stuff


DirectX applied, Other stuff works as it should but not the pillars.


Blender viewport, everything works fine. Would also work fine if i import to roblox as FBX with everything split up by me

My hypothesis is that these normal screw-ups occur in the process of splitting up the objects into multiple and exporting as well as when they eventually also merge the objects that have the same materials applied to them.

So some type of issue on either the export or the import ends with the calculations of what is supposed to merge and what is supposed to split up just goes ballistic

Since i’m making a build kit, this format of export would have been so handy for me, as otherwise i would have needed to manually split up everything in blender upon export so this file format would have been great to use. But due to this bug of exporting with normals, i cant. I asked around with other 3D artists that i know and they all told me they also stopped using this feature because of that, which is a shame since it could have been the best feature for us builders. Please make sure this system works properly or implement a multi material system that

Until this issue is resolved, the mesh format is pretty much fully unusable and hyped up for no reason unfortunately since normal maps play a HUGE role when it comes to mesh detail and without support for normal maps, not many are going to use this.

8 Likes

Wow I actually noticed this once and thought it was just a mistake I made…
I really hope Roblox fixes this!!!

2 Likes

I have just spent several hours trying to figure out why my mesh was being shaded from the wrong direction.

The last thing I suspected was an issue with the 3d importer.

And the normal map:

Thanks for the report! We’ll follow up when we have an update for you.

1 Like

Yeah i also thought my normals where inverted for a moment in blender! Turns out this is nothing we can control atm

1 Like

Thank you! If you guys manage to fix this it would be so useful for my build kit so i dont have to separate everything up manually :slight_smile:

Hey all!

Importer engineer here with an update. The issue was two fold:

  1. Our default glTF vertex tangent generation was calculated wrong :person_facepalming:

This is a good overview about tangents if you’re interested (although you normally shouldn’t need to think about them much!)

These tangents are used lots of places in our shaders, especially in our PBR implementation which is used when there’s a surface appearance. This is what was leading to the normals looking funky and different from FBX import.

Now normally this isn’t a huge issue, and you can simply export your tangents in your glTF from your modeling program of choice. However this leads use to the other issue:

  1. We overroad the imported tangents with our (incorrectly) generated default tangents

This meant that there was actually no way to get correct tangents for a glTF file. Depending on the model our incorrect generation could do OK, and the effects might be minimal, but for more complex models and normal maps this was obviously pretty brutal.

As of today I’ve fixed the second issue, and it should be rolling out in a week or so (I’ll let you know when it’s active!)
Better default generation is in the works, and should come the update after the first fix. The glTF spec requires the MikkTSpace algorithms as a default which will take a little longer to integrate.

TL;DR:

  1. This glTF normal issue should be fully fixed and rolled out in ~3 weeks, but I’ll keep you updated as the patches roll out.
  2. For now if things are looking wrong when you import .gltf or .glb use .fbx instead
  3. After the first patch you can use glTF, but make sure you include tangents in the exported file:

Apologies for any importing inconvenience,
OriginalSleepyhead

2 Likes

Thank you for the fast discovery! Amazing to hear we are getting these fixes rolled out soon!

isnbt the problem that u use quads, and roblox converts everything to polygons? normals get flipped sometimes if i remember correctly

Hey all!

All the the changes are now live in studio! Please let me know if you’re still seeing normal issues.

Best,
OriginalSleepyhead

1 Like

Amazing work, thank you a bunch!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.