New Unified, Smart Mesh Importer Beta

For some weird reason, my high poly meshparts are not getting the expected LOD even though I set the render fidelity to Performance. I don’t think there is any LOD for it at all yet it still shows as Performance

2 Likes


Somethings Wrong With The Mesh Importer. When I am importing some high poly models, the triangles look like it’s having a glitch going on with the geometry. This bug needs to be fixed very soon. I’m hoping

3 Likes

Hi, unfortunately this is not a bug. If any single mesh is over 20,000 polygons (after triangulation!) we pass it through our mesh simplifier to bring it below the limit of 20,000.

The simplifier is pretty good when there are many “frivolous” polygons (imagine a cube where for some reason every face has 5000 polygons). But obviously, if you already have a pretty optimized mesh and are far over the limit, the result will look bad. Sometimes only a small part of the result looks bad (when a small part of the mesh has a high density of faces). Other times its the entire mesh.

If you want to import geometry that is high above the limit, and also want it to look good, you will need to subdivide the mesh into smaller chunks that are each individually closer to 20,000 polygons.

3 Likes

Hmm we generate LOD data when meshes are uploaded, are the LODs generate differently when using the BulkImporter?

1 Like

I see that skinned mesh loading is “pending” on the update list, and can see some of the menu items are already live. Is there a timeline for this to become active? I have to do some really sus things to get my avatars to load sometimes.

Okay, I’ll give that a try. Thanks frank :+1:t4:

1 Like

Still working on some final quirks. The FBX SDK had a really strange issue that came up only for skinned meshes. We had to do a lot of work to work around it in a way that keeps the code maintainable.

We are getting close to releasing skinning support among other updates.

2 Likes

There were no differences as far as I can tell from both LOD methods. It appears like there is no LOD at all from any mesh level - I checked using Studio mesh level settings. Most of these models were imported from the avatar importer, and are skinned meshes.

UPDATE: All skinned mesh rigs and high poly mesh imported using the Avatar Importer - custom cannot generate any LOD at all on any Render Fidelity.

This would be extremely useful, as we are running into this issue during development. We are importing large scenes with many duplicate meshes but they are all getting uploaded as separate meshes and causing extremely long load times. Also this issue is probably hogging resources on Roblox’s end.

I can’t even automatically fix it with a script because:

Also are you sure you need to use a hash function to check for this in the most common cases? I opened up my FBX file in a text editor and it seems like the geometry data associated with a mesh is only listed once, attached to a unique ID, and then referenced in the “Connections” section of the file each time the mesh is duplicated: so it seems like you should be able to detect duplicates through this. I can send you my specific FBX file to explain what I mean if that would be useful.

Edit: I see someone already mentioned this

3 Likes

Hey Devs!
We’re releasing a small improvement to the Unified Importer– a reset camera button.
In the preview window, you might’ve positioned your model in a specific orientation, only for it to reset when changing its scale or name. Or you might have panned away from the model and now can’t find it without trying to reset the camera through other means.
This update adds a small button to the top of the preview that allows you to reset manually. This fix also causes property changes and selecting something new in the tree view to not update the camera, allowing you to keep that orientation you set up.
Happy importing!

2 Likes

Yes, deduplicating meshes is on our roadmap. I can’t give a time estimate but it is definitely something we will look into

2 Likes

Hehe, any estimate as to how close? :wink: :wink:

You can’t set MeshId directly but you can set the MeshId if you use the appropriate API:

  • MeshPart:ApplyMesh changes a MeshPart’s mesh, RenderFidelity, and CollisionFidelity information to be the same as an existing MeshPart.

  • InsertService:CreateMeshPartAsync creates a new MeshPart from a mesh asset. The function yields since it has to generate the relevant collision meshes which may take some time depending what CollisionFidelity you specify (that significant computation delay is why you can’t set MeshId directly).

3 Likes

Thanks for the info. We just realized, however, that the Mesh Importer is also uploading duplicates of the meshes at different orientations, so this approach for deduplication also failed because the MeshParts themselves then all have to be manually adjusted based on whatever (seemingly) arbitrary orientation Roblox decided to upload the duplicate meshes with.

Looks like we are going to have to spend a buuuunch of time manually rebuilding FBX scenes within Roblox…

1 Like

I reached the same conclusion. Build in some reference parts that you can easily align. For example, my trees had a lopsided shape so I added a simple cylinder to the trunk and made it my primary part

Yeah sorry, the team is waiting on me to finalize a solution to that weird FBX bug, I’m currently in the testing phase, given the studio release cycle I’m gonna say probably 2 more weeks?

3 Likes

Last I saw, the loader unchecked all my tif files for me.

I have a question about the Import Only As Model feature. Recently I’ve been working on a project and I want to use a large amount of small meshes to achieve a certain visual effect. The meshes all only have like 8 vertices each but I’m worried about performance with the client having to load 24+ individual meshes when they join. Since Import Only As Model doesn’t create individual assets for each mesh, would the performance be the same as loading a singular mesh? Thanks

I have an problem. The meshes I uploaded a long time ago don’t show anywhere, there’s only rendermeshes, and the same goes for textures. And, some of my meshes were stolen, and I want to archive them, but the RenderMeshes are not archivable, I contacted roblox, but got an neutral answer, made a topic but no one answered yet, what should I do with it?

3 Likes

PBR support is live, we enabled it a few weeks ago. We are in the final phases of testing skinned avatar and Layered clothing support (I know I said that last time, but we are very close now)

3 Likes