3D Import Recap [Apr - May 2023]

Hello Creators!

Welcome to the April - May 2023 recap for the 3D Importer! To keep you in the loop, we’ll be experimenting with more general updates to cover smaller feature releases, bug fixes, and other notable plans we have to improve your import workflows. We’re committed to making the 3rd-party-to-Roblox content pipeline better every day, and we hope that this recap will give you a glimpse into some of our progress.

Let’s dive in!

New Features

Dynamic Heads Support

Dynamic Heads and facial animations are now supported. With this feature, we hope to be at full parity with the Legacy Avatar Importer and will work to unify them soon! To learn more about Dynamic Heads and how to use them, please refer to the documentation below:

Rest Pose Override for Animation Import

Previously, the importer used the first frame of the first animation as the rest pose from which animations are calculated from. This used to force creators to make the first frame of their animation the rest pose, instead of making it the pose their animation should start in.

We continue to choose the first frame of the first animation as a default option, but now you can override this choice in the Animation Settings in the importer by selecting which animation you want the rest pose to come from. If you want an animation to start in a crouch pose, you can simply include a second animation in the file that begins in the rest pose and select that animation as the animation you want the rest pose to be deduced from.

We hope this leads to greater flexibility throughout our animation import process.

Cages for Static Meshes

Cages can now work on imports that aren’t rigs. This can be useful when modeling static meshes that need layered clothing deformation, such as mannequins. This feature is on by default, and an option has been added to the settings to control it. If you want the importer to ignore cages in the file, you can toggle Uses Cages.

Fixed Bugs

  • Skinned rigs with more than 20K triangles should now be properly auto-simplified.
  • An issue caused by having multiple texture objects under one mesh has been fixed.
  • Mesh pivots from Maya exported FBXs now can be imported.

Looking Forward

Avatar/Rig Feature Parity for glTF

We are actively working to deliver rigging and animation support for glTF files, as well as working to fix some of the issues that have been brought up from the current glTF beta. Our aim is to have rigs and animations working by early/mid-summer.

Sunsetting Legacy Avatar Importer

We will be sunsetting the Legacy Avatar Importer in the coming months. Our goal is to do so after resolving the last few Avatar bugs in the 3D Importer. This allows us to be one step closer to our goal of supporting a single, unified import pipeline. However, we will not act on this until we have incorporated the majority of your feedback, and do our best to ensure your workflow will be unaffected or even improved.

We are dedicated to ensuring the new importer can do everything the old Avatar importer can do (and more!), so if you see any bug in the new importer, especially if it’s not reproducible in the old one, please report it by following the How to Post a Bug Report guide.

Import Configurations

Whenever a new import session is started, we currently reset the settings to a default configuration. If you need to use the same settings across multiple import sessions, you’d have to reapply them each time. We understand how annoying this is and are looking at features that can make this easier.

Coming soon, the importer will be able to remember your last configuration of settings for subsequent imports. We’re looking into extending this by allowing you to save named configurations and set a default as well.

Import Plugin Lua API

We are beginning the process of creating a Lua plugin API providing access to the service that enables the new importer. This is early in the process and we probably won’t see the API until sometime next year. However, if you have suggestions for what you would like to see in such an API, please let us know!


Thanks for reading! Feel free to reply with the coolest things you’ve brought into Roblox; we’d love to see what y’all are making.

112 Likes

This topic was automatically opened after 10 minutes.

So many more options. I can’t wait to fully check this out. Looking at some of these options I can already tell this will save some time.

Because you’re making changes to the importer, do you think it would be possible to up the triangle limit?

13 Likes

Thank you for this recap and hard work!
I would love to see support for more 3D file formats/types! (.stl for instance, would also love to see support for .blend and .3ds in the future, although those might be too software specific to Blender and Maya)


If you insist (kidding of course😁), one of my favorite creations is horse riding:

18 Likes

Hey, I posted a pretty in-depth post in a different thread, about the triangle limit, why it exists, and why the importer team doesn’t own increasing it, however the team that does is not happy with the status quo. You can read it here: 3D Importer Support for glTF Files [Beta] - #15 by itsFrank17

9 Likes

Omg I love them :hearts: :racehorse:

(extra characters so I can post my appreciation of animated horses)

16 Likes

Hopefully for the import API for plugins will have support for both local file uploading and importing to Roblox, the current way of importing can be convoluted as some methods are in different mostly obscure services. I hope this API will clean some of that up for us. Maybe some options to control the filter for file types, and bookmarks for locations when saving *though I’m not sure the logistics of that with file explorer and Mac OS’s Finder.* Having the ability to constantly read a file for changes easily could be ideal, allowing for a ton of live previewing options with different creative software. The options are endless with this, and I’m excited to hear that it’s in the process of being created.

10 Likes

Can yal work on the exporting next, i want to effectively use roblox to design printable 3D models, even simple shapes coming from roblox will have missing triangles.

11 Likes

We hear you! Better export capabilities is an idea we’ll bring to the table when looking at our future work. I cannot promise anything outright right now, so please be patient as we surface this feature request internally :bowing_man:

14 Likes

While the 3D importer is certainly a useful tool that streamlines development, there is one bug that has been quite bothersome.

When selecting the “Merge Meshes” option on the 3D importer, the settings “Insert Using Scene Position” and “Set Pivot to Scene Origin” do not work. Everything works fine WITHOUT “Merges Meshes” selected.
This bug has been occurring for a few months now.

14 Likes

Looking great!
Any chance of adding “Triangle Count” as a property to imported meshes? I’d even settle for an attribute!

12 Likes

The 3d Importer is great,
However, when we have some items inside the model’s name moderate, we wouldn’t know until we click “Import”
and then it gives us an error message and we have to start ALL OVER AGAIN,
Could we see a change in the future that may change this behaviour so we can go back to the import screen without having to start over?

5 Likes

I seem to remember it being mentioned that models that are uploaded through this can/will override existing models in the future – is this a feature that’s been added yet? Last time I tried using this it just created lots of models in my inventory that I can’t delete and that’s not a viable workflow for people that like organisation.

4 Likes

All these features are revolutionary for the production pipeline and QOL. I’m very excited to use them. Great work from the team(s) that worked on these features!

I do want to ask, are there any plans to raise the triangle limit for rigged meshes to a higher amount than 21,000? Although the triangle limit works for most types of rigged meshes, more detailed character meshes often don’t fit within that limit which is causing my team some issues at the moment.

6 Likes

It’s not actually a limit with the importer, but it’s with the engine. They made a post with the full explanation in a previous thread for the Importer:

7 Likes

Thank you for the link, that was an interesting read. Unfortunate news that this is due to multi-platform support, but I’m glad that the platform acknowledges that this is less than ideal and they’re looking into potential alternatives and solutions. I’m praying for more creative freedom on our side in the future.

7 Likes

Recently encountered strange functionality. Not sure if it’s intended or a bug so, I’ll just post it here. If you open up a fresh place, never save it and then, try to import an fbx without putting it in your inventory, nothing happens. It says it’s successful but, there’s no model in workspace, and no mesh in the game window.

Entirely possible that I’m looking in the wrong place. My assumption is that it should upload to the workspace like it always has.

Secondly, I would love to have a feature that either:

  • Let’s me rename my meshes (so I don’t have mesh_1, mesh_2, etc)

  • Lets me override (or provides an option) if the current mesh if the same is the same. Roblox clutter in my inventory (specifically with uploading meshes) is one of the most frustrating issues on this platform. It’s hard to find things. And there’s only so many names I can call something before I forget what it is.

Outside of all that, nice update.

5 Likes

.blend and .3ds are absolutely too software specific, they’re project files!!! They contain all of the raw settings and whatnot for the project alongside the geometry, trying to import the geometry from them would be a nightmare!!! Just stick with exporting normally

4 Likes

We have seen this happening, but not consistently, if you have a file that consistently causes this issue would you mind DMing it to me?

For renaming, you should be able to edit the name of the node in the settings page, that will rename the generated MeshPart? Is this not working?

Finally for reusing duplicate meshes, this is a very important feature that we are looking into, however it needs collaboration between a bunch of teams at Roblox to solve properly and probably won’t happen immediately. But it is something we are interested in solving.

6 Likes

Thanks for the report! We’ll look into this for sure.

7 Likes