Dev:Ref/Proposals/UI/Asset Manager

提供: wiki
< Dev:Ref‎ | Proposals‎ | UI
移動先: 案内検索

Problem

Managing custom made resources in Blender is currently a bit difficult. It's slow to import them from blend files, they get stored in another blend file instead of a dedicated library that the user can access between different versions of blender. A lot of nice features still take too many steps to discover and stay hidden to the new users.

On the community side of things- It's still hard to share them via blendswap. The files are archived in zip/rar files, which the user needs to log in, download and unzip. Then the user needs to navigate to the blendfile and know specifically what to load from within that blendfile- ergo the need for a README in the zip.

Metadata (such as version of the file and type of the asset file) can not currently be stored in the asset file.


On the UI side of things- there is no way of managing a local resource library.

Solution

A dedicated asset manager that allows users to build a collection of tool assets (brush presets, tiled alphas),presets (node group set ups,materials), prefabs(premade content) and manage that collection.


Potential tool asset types (to be used by a tool- for example the brush in paint mode):

  • Plugins (smart/procedural textures)
  • Tiled alphas (use in texture mode and in sculpt mode)
  • Tiled textures (use in texture mode and in sculpt mode)
  • tiled bump maps (like dirt, some sort of elaborate decoration)
  • bump maps
  • Stencils (to project on a mesh - like skin/other patches containing color data)
  • Stencil alphas (like scratches/logos,etc)
  • others

Potential preset types:

  • materials for cycles
  • materials for BI
  • freestyle line sets
  • compositing node groups
  • Blender themes
  • Keyboard sets
  • others

Potential prefab types:

  • Procedural (add) smart objects (plugins)
  • Mesh set - set of reusable geometry (hands,heads,tires,trees, etc etc)
  • Object group - anything that contains a group of objects that work together (camera rigs, light rigs, rigged characters etc).

This can also be used for tutorials- the set of tutorial objects could contain a clickable link to the tutorial video that uses them.

  • Reference images
  • others

UI implementation

Instead of having to navigate inside a blend file, the users would be able to import and export "smart" asset files that automatically know the type of asset they are and what category they should go listed in - also the version of blender that they support (where applicable).

Helpful additions to this asset manager would be:

  • The ability to use a "tagging" system for these resources will be also helpful. If the user decides to group together prefabs or assets in a potentially huge collection.
  • The ability to store your assets in the cloud (all we need is a configurable dedicated home folder for the collection, in order to back it up at dropbox)
  • The ability to share and even sell assets at official or third party resource website(s) - something to make turbosquid and other websites like that tremble in fear of our open community.

Integration with the outliner

I suggest to keep it separate from the outliner, just so as to keep the user clear of what is inside their scene file and what is a part of their library- local or online.

The outliner has the added complexity of informing the users of referenced/linked files- which ones are referenced- do they have any local override changes on them?

References

Look into

  • Mudbox
  • Modo (preset browser)
  • 3D coat
  • Maya (Visor)
  • blendswap website and other sharing websites
  • turbosquid website
  • DAZ3d store
  • Poser
  • google 3d warehouse (sketchup repository)
  • Zbrushcentral - community and official repository for zbrush related content
  • Mudbox (integrated web browser) community hub - for mudbox related content- official and community created

Proposal by blurymind/ Todor Imreorov



More thoughts on subject

Paweł Łyczkowski

A thing to consider are personal asset collections. Currently they are awkward to make and manage. I think that storing them somewhere in the personal config files, or in a specified location, so they would be close at hand at all times, with an easy access from the UI would be best.

Preferably saved as datablocks in single files. This way merging collections would be just a matter of copying and pasting files.

Currently the best design for personalized asset collections seems to be the Shelf to me: You have a dedicated window in the software, where you can drag and drop assets (ex. materials), which will be accessible later (will stay there when starting/opening projects).

Shelf mockup.

How is Shelf different from the standard File Browser:

- Divided into data type directories (materials, node trees, meshes etc.) by default. Buttons for data types on the header. - Root directory of each data type is the corresponding folder in the config folder (under /Shelf). - No toolshelf sidebar (bookmarks are not needed, since it would be impossible to leave the data type folder anyway).

Inspiration: Substance Painter