Asset Management is one of the Big Projects that will be addressed this year by Blenders Core Development Team.
Since I have spent a good amount of time working with and developing different asset systems in Blender I wanted to share some of the concepts and prototypes I have been working on.
The asset management system will be a new space that is accessed like any other space in Blender, and will be similar to the file browser. The prototype that I have created has a very basic UI that allows you to switch between the different types of assets in the panel on the left.
The header contains the list of categories that allows you to filter what assets are displayed. The drop down menu to the right allows you to save assets to the library and run several other commands.
What’s Missing in the Interface
You should be able to do a text search to find the asset you are looking for. There should also be a way to add tags to assets to have a quick way of filtering the list of assets that are displayed.
Drag and Drop
Drag and drop has proven to be an intuitive way to add assets into the scene.
When placing objects or collections the assets snap to the face of any mesh and to the grid floor. Left clicking confirms the placement Esc or Right click cancels the command.
When a material is dropped into the scene you can left click on any object to assign that material to the mesh. If No UV Map is found then one will automatically be generated, and if the object has multiple material slots then a dialog will appear allowing the user to determine what slot to assign the material to.
When a world is dropped into the scene it assigns the asset to be the active world.
Custom Parametric Libraries
This area is where I would like to spend most of my development time. I plan on releasing more technical information on this topic soon, but here is a quick overview of the concepts
The assets that are displayed in the library are python classes that implement specific properties and functions that determine how the asset should be created and placed in the scene.
After the asset is placed the user can right click with the asset selected to get access to the custom properties.
The example in the video demonstration shows how you can draw a wall and have an intuitive way of placing each wall segment. Once the walls are drawn you can select each segment and change the size of each wall.
This is a simple example of how parametric libraries can work. I plan on creating more functionality and developing other types of libraries.
Want to try it for yourself
Keep in mind this is in early development. This currently works with a custom build of Blender 2.83, so you will have to compile Blender to get this to work. Here is my repository of Blenders Source Code.
There are very few changes made to the source code. All of the library information is written in python. So you will also need to install the Pro Sidebar Add-on to get access to the parametric libraries.
The other assets that I used in the demonstration are purchased from other sites, so I cannot include them, but you can always use your own.
I am hoping that this information will help Blender’s core development team finish development on the basics of the asset management engine.
Once the basics are finished I am hoping to help define how custom parametric libraries can be developed for the asset engine.
More information is coming soon.