3D Importer Support for glTF Files [Beta]

Does the Open Cloud Assets API plan to support glTF files as well?

1 Like

I’m not super familiar with gLTF; anyone have examples where it’s better to use over fbx format?

3 Likes

Okay, now how about raising the polygon limit? I had a MeshPart with 19,800 polygons (When the limit is 20K) and ROBLOX said it had to simplify it.

2 Likes

Yes! I’m not sure on the timeline but the goal is to have pairty between the regular importer and the API!

5 Likes

It’s mostly up to what you like using! They’re both capable of the same thing, it really just depends on what your tools support exporting or what the file you have is.

6 Likes

@felipe2008si @1Arenio @ffrostfall @Beloathed

Re: Triangle limit

First off quick caveat, our team works on the importer, but we do not work on the rendering, and the triangle limit is a hard rendering limitation.

This is my best-effort attempt at trying to provide a little bit more clarity as to the reasoning for the limit from someone who doesn’t work on rendering code.

The TLDR is: Roblox runs on so many devices, a large amount of which are very low-powered devices (e.g. old phones). Because of this, our rendering code has to be able to work reliably on all these devices which in turn imposes limits across the platform.

I believe one of those limits is that we cannot assume that 32-bit indices are available which forces us to work with 16-bit indices. Not all meshes are equal, and if you do the math, it is possible that you could construct a mesh that has >20k triangles with 16bit indices… Yes, but our limit is in triangles and not vertices, so we must have a triangle limit where no mesh with that triangle count can exceed the vertex limit. And this is how we end up with 20K triangles (It’s actually 21K I think).

It might be confusing if we switched to a vertex count limit, because the vertex count in your editor may be under the limit, but when you import you find you are above the limit. This is because editors and game engines usually count vertices differently. E.g. a 3D editor may say a cube has 8 vertices, but Roblox says it has 24 vertices, because each face has a different normal and thus cannot share any vertices with neighboring faces.

Note: I am not a rendering engineer, but I did discuss this with folks who have experience on this topic

As for what we are doing about it, this is something that is getting actively looked at. We are not satisfied with the current state; an arbitrary bit-width operating-system limitation should not restrict your ability to express and create. I unfortunately can’t provide more details than this (both because of lacking information and also because no decisions have been finalized at this time).

Hope this satisfies you a little bit more than other answer we have given on the topic in the past. In the meantime we will continue to try to make the importer as useful as possible :slight_smile:

41 Likes

Godot made an excellent article in 2017 explaining why gLTF is a superior format to other model files formats. Many developers don’t understand that waveform & FBX are outdated and incredibly basic; .obj doesn’t even support object transforms!

This file format is explicitly defined in a JSON format, supports modern features (such as PBR), has well-written documentation, and is (and continues to be) developed by some of the most prominent members of large corporations.

Good move on supporting this format :dizzy:

18 Likes

The fact that it’s actively being looked at is at least a somewhat re-assuring.

2 Likes

does this mean the file format allows for importing multiple meshes that have their own textures? and as long as each mesh isnt over 20k tris it should import all at once just fine right?

3 Likes

Beautiful explanation. Thank you so much- this is exactly the sort of thing that I want to hear.

3 Likes

Is there any significant load time difference when using gLTF/GLB as opposed to OBJ/FBX on a large scale?

2 Likes

Do you have plans to add gLTF export in the future? Export is lacking heavily at it’s current state.

5 Likes

First of all thank you for the explanation because noe I understand it more clearly.

This is true even for tris.Even on the asset I’m working right now(M4A1 Assault Rifle) when I’m in object mode(Blender) it says 24K tris but when I select all and go into edit mode it says 18K tris.
It’s quite annoying since then I can’t use PBR textures because I would have to join all the meshes in order to do so(Please correct me if I’m wrong)

4 Likes

Oh neat! Glad to see more file formats supported for imports. One thing though, will we get support for these different file formats for exporting?

3 Likes

Since many applications seem to store material files in an MDL format, will we ever be able to import the materials for these 3D objects as a surface appearance in the future, even when separated from the GLB file?

Though I don’t have any particular use case for this in the moment, I do think it sure will be handy when doing commissions and someone forgot to send the MTL file.

5 Likes

Whoa! Awesome Job with the new 3D Importer Support for gLTF File @OriginalSleepyhead I was able to import the entire AC Lexus LS 500 Vehicle into roblox very well progress start. Still does take awhile for it to load in alot of triangles tho. But either tho they are a few. Which I know that’s part of the processes of the limitation for the engine. But the best part is that I was able to import the entire vehicle still. Which this is quite of a huge step y’all planning for the future. Really very good beta progress that you and the roblox team staff created :+1:t5::100::clap:t5::blush:

8 Likes

Would it be recommended that we just start uploading all our assets in this new file type? A lot of my meshes are a mix of Obj and Fbx types. Just looking for what is better for performance.

3 Likes

I’m looking forward to try exporting some of my meshes from blender again and compare with the (sometimes frustrating) steps to import OBJ/FBX.

Great news!

3 Likes

Will gLTF support emissive properties?

4 Likes

Now THIS is gonna work very well for me

3 Likes