Why Building a 3D Asset Manager is Harder Than You Think – Lessons Learned So Far
Building a 3D asset manager is harder than you think. 3D assets have, and still are notorious for being in different file formats, linked with different dependencies, visualized slightly differently on various computers, and offer a slew of headaches with scales, rendering engines, and more. Why are they so difficult?
Building a 3D asset manager is harder than you think. 3D assets have, and still are notorious for being in different file formats, linked with different dependencies, visualized slightly differently on various computers, and offer a slew of headaches with scales, rendering engines, and more. Now with AI, things are rapidly changing, and they are certainly changing the landscape of creatives and how we’re thinking about 3D, but still, why are they so difficult to manage? There are a few reasons. Industry simply hasn’t agreed on a “standard format”. Blender will produce one, Maya will produce another, Houdini will integrate with a third, and even industries like Fashion that uses 3D for modern avatar and apparel design use different file formats.
The fact of the matter is, the current “finder” and “file explorer” are just simply not fit to be able to handle 3D content in a way that it handles images and video. There’s no easy good solution and there’s tons of things to consider.
Fortunately, here at Shade, we’re all about building better file explorers and search. We’ve built out a killer neural search engine that can search anything from text, to audio, to 3D assets, to images, and video, you name it. And even better, we’re in private beta! Now onto the task at hand, 3D asset managers are hard to build, and here are 4 things that we’ve learned while building our current system.
Turntables and Previews
It’s imperative that any 3D asset manager out there has good turntables and previews. Why? Well fundamentally, everything is and will be done visually. Humans can scan over hundreds of assets in a quick glance to find what they need, if it’s visual. Even better if we have a whole 360 view of what the asset looks like.
Now this of course is easier said than done. Different files are built with different textures, different shaders are rendered differently by different softwares, some are compatible, and some aren’t. Some 3D assets are malformed, some need to show lighting, etc. How do you begin to think and handle all of these various instances?
The importance of having a good visual preview is the foundation for a good asset manager. Without it, we can’t really even consider going into any of the other items here.
The most optimal method is to render the asset with the software and configuration it was created in. This means, using the software and proper configuration that’s on the computer that created it. Why you might ask? Well that’s because all variables are now controlled. By using the underlying system, this ultimately makes it easier to make the previews needed.
In addition, making sure that there is an ample way to link the previews (rendered .mp4, .exr, .jpg, etc.) to the base asset is imperative. Whether that’s simply putting it into the subfolder, or having a separate application like Shade generate those turntables for you, it’s important to be able to identify where the source asset is, and linking the previews to it.
Talking to a wide variety of industry members including those at The Third Floor, those at Weta FX, and WeFX. We’ve quickly identified a significant need for parsing through object trees. A good asset manager will be able to decompose a large scene, or object into its subcomponents, referenced textures, and link those all up as dependencies.
Why is this important? Typically 3D assets are final models and during archiving, you may not want the final model but only a part of it. Say for example you’re building a black car for a specific movie, well you might not want to use the whole black car, but you most definitely want to use the paint texture, or the tires, or maybe the windshield and rig of the car. In this example, decomposing the 3D asset automatically and more importantly, showing and displaying these dependencies to the user enables you to quickly create a useful 3D asset library that once was completely impossible to do.
Now there’s no easy way around this. You simply have to parse all the various formats out there. Reading through and parsing a blender file, a maya file etc. just like the DCC itself. Fortunately, there are simple nodes that can be parsed and extracted recursively to get the data that you need. Then it’s just making sure that you have some sort of graph database or connection to store the rest of the metadata of what is “linked” to what.
Easy Sharing and DCC Integration
Now we’re all familiar with the age old problem in the creative space. The fact that everything is just too big. RAW footage easily hits GBs in seconds, 3D assets with large scenes and 8K textures grows rapidly. How do you easily share these? What about proxies, compression? Creating a low-res version vs a source attribution. How do you make sure your entire asset manager doesn’t slow down when you’re viewing these assets?
These are questions that you have to figure out for without them, you will have a slow product that has no idea where anything is.
In addition to this. It’s not just about storing the assets and searching them, but being able to use them again within the DCCs and softwares that created them. How do you easily integrate and consolidate all the assets that you need?
Or what about review of assets? What about creating reference boards that enable you to share and see various assets?
Easily sharing within your studio or team is a core part of an asset manager, for without it, it’s just simply not as useful! I mean imagine finding something that no one else can use.
The second thing is building and connecting a proxy workflow so that sharing and viewing is possible at scale, but never losing the source asset.
Metadata is absolutely everything when it comes to building an asset manager. Without it, you won’t know what assets you have, you wont’ have anything to filter on, and you most definitely have any idea what your colleague made! If you haven’t checked out our metadata management article for video, please do. Now what metadata matters? When it comes to 3D assets this includes what software was used, what version, how many polys, what project was it used on, who made it, and anything that’s specific to your studio or team. All of this data needs to be retained WITH the asset and should be required, for without it, things will get lost.
How do we solve this easily? 1. Keep your stuff up to date. Make sure that all of this data that’s in Shotgrid or in your project management tool is there. Then store all of that data when you archive your assets to a central location.
Use a metadata store
If you’re not using something like Shade, have a database or spreadsheet to keep track of all the details.
A simple spreadsheet set up that involves all the metadata you have might work perfectly well for you. However, do note that all of this will have to be automated.
In conclusion there’s a lot to handle and consider when it comes into building a 3D asset manager. Definitely watch out for these as you look to implement some sort of system for 3D asset management. Now if you are considering various asset managers here is another article with more things to consider.
However, if you’re looking for a ready solution that looks to do all of these things, check out Shade. Here at Shade, we’ve given great thought to everything 3D and have heavily focused on integrating all the major DCCs like Blender, Maya, Unity, Unreal, Houdini, Nuke, and more. We also do images, videos, and more.
If you’re interested, we just launched our private beta, so you can sign up here!