Page MenuHome

Asset Project: User Interface
Confirmed, HighPublicDESIGN

Authored By
Bastien Montagne (mont29)
Apr 16 2018, 12:52 PM
Tokens
"Love" token, awarded by greyoak."Love" token, awarded by Anubis."Love" token, awarded by baoyu."Love" token, awarded by Maged_afra."Love" token, awarded by Draise."Love" token, awarded by MarcoHoo."Love" token, awarded by tako."Love" token, awarded by beyond."Love" token, awarded by the_avg_guy."Love" token, awarded by harvester."Love" token, awarded by dru."Pterodactyl" token, awarded by unwave."Love" token, awarded by emad3D."Like" token, awarded by Kdaf."Love" token, awarded by Misaelcornell."Love" token, awarded by Nicknroll."Love" token, awarded by CyanMajin."Love" token, awarded by WeezY."Love" token, awarded by mindinsomnia."Love" token, awarded by proulxpl."Love" token, awarded by valera."100" token, awarded by Kickflipkid687."Love" token, awarded by Geronimooo."Love" token, awarded by YAFU."Love" token, awarded by silex."Burninate" token, awarded by Reanimathor."Love" token, awarded by gilberto_rodrigues."Love" token, awarded by Schamph."Love" token, awarded by TakingFire."Love" token, awarded by ruthwikrao."Love" token, awarded by AndreasAustPMX."Love" token, awarded by LeoSch."Love" token, awarded by Peps."Love" token, awarded by Njordy."Love" token, awarded by filedescriptor."Love" token, awarded by Fureloka."Love" token, awarded by AonoZan."100" token, awarded by Dir-Surya."Love" token, awarded by Arken."Love" token, awarded by aliasguru."Burninate" token, awarded by AnityEx."Love" token, awarded by c60."Love" token, awarded by pierogo."Like" token, awarded by ckohl_art."Love" token, awarded by devty."Love" token, awarded by jfmatheu."Love" token, awarded by nunoconceicao."Love" token, awarded by xdanic."Like" token, awarded by Fracture128."Burninate" token, awarded by Peine_Perdue."Love" token, awarded by mino159."Love" token, awarded by RC12."Love" token, awarded by jc4d."Love" token, awarded by brilliant_ape."Love" token, awarded by crantisz."Love" token, awarded by amonpaike."Love" token, awarded by CobraA."Yellow Medal" token, awarded by szap."Love" token, awarded by Debuk."Love" token, awarded by bblanimation."Love" token, awarded by Shimoon."Like" token, awarded by slowburn."Like" token, awarded by Constantina32."Love" token, awarded by ReinhardK."Love" token, awarded by Cedch."Love" token, awarded by rvanwees."Love" token, awarded by einsteinchen."Love" token, awarded by Alumx."Love" token, awarded by Xlindvain."Love" token, awarded by lopoIsaac."Love" token, awarded by ugosantana."Love" token, awarded by Kronk."Mountain of Wealth" token, awarded by Brandon777."Like" token, awarded by andreasus."Orange Medal" token, awarded by mazigh."Orange Medal" token, awarded by Zino."100" token, awarded by juantxo."Love" token, awarded by hlorus."Love" token, awarded by xrg."Love" token, awarded by roman13."Love" token, awarded by manitwo."Like" token, awarded by TechnoViking."Love" token, awarded by ogierm."Love" token, awarded by duarteframos."Love" token, awarded by DotBow."Love" token, awarded by zhruith."Love" token, awarded by 0o00o0oo."Love" token, awarded by lcs_cavalheiro.

Description

This task is for defining the UI portion of the Asset Browser in Blender.

The Assets editor

The Assets editor in Blender allows users to browse, filter, load and save assets, as well as editing asset metadata. The Assets editor lives inside Blender's UI and is exposed as an editor type. Internally, it will use the file browser as the basis, with different custom UI. The UI can be extended by each asset engine. such as which panels are shown in the sidebar.


The Assets editor, with sidebar and sourcelist hidden, set to materials


The Assets editor, with sidebar and sourcelist visible


Visual, graphical example

Drag and drop


Note: The "Add Item to Library" by dragging into the Asset Browser is currently not part of the core design. It might be added in later iterations though.

One of the core areas needed to make the Assets editor easy to use, is to make good use of drag and drop, both for loading assets and creating new ones.

For materials, it would be nice to make it so we have nicer rollover highlighting, as well as a better indicator of which material will be assigned;


Comment: The "tooltip" above should also clearly tell what happens if you drop the asset. Depending on where you drop it, different actions may be applied. This can be communicated well with these "tooltips".

For objects & meshes, it would be useful if they could snap to the surface of your scene for quick set dressing or kit-bashing:

Variations

The assets system allows for several 'variations' of an asset. You could have one main asset with several alternative versions or tweaks packaged together. When linking into the scene, users can then swap out several variations if they wish.

To see all the variations of an asset, click on the number in the top left of the asset, which can then fold out the variations:

Switching Libraries

The menu in the top left lets users switch between various asset engines and libraries, corresponding to which asset engines are installed:

Built-in Libraries

In order to make the Asset Browser immediately useful, we will include these built-in libraries:

  • File Browser (allows for browsing images etc in your local file storage)
  • Current File (gives an overview of all the assets in your current scene. Very useful to get an overview and to re-use materials, meshes etc)
  • Blender Cloud (Blender Cloud will provide a selection of assets for users to get started. Users can either download & import assets directly through the Asset Browser, or they can download the cloud library for offline use)

In addition, users can easily set up their own asset libraries in Preferences and easily start to populate them with objects, meshes, materials and so on, by dragging them into the Asset Browser.

Source List

In the sources list on the left, users can filter the assets by ID type, but they can also filter by tags as well. We only show tags that are available with the active ID type selected. A third panel here could let users define saved searches or 'smart filters' which can combine all types of filtering:

Sidebar

In the Sidebar on the right, users can see and edit information about the selected asset. Here users have access to editing tags, accessing variants and revisions.

One of the important requirements for the assets UI, is that it should be able to become very compact, so that users can integrate it into their Blender screen layout without taking up too much space.

Linking vs Appending assets

In different situations, users might want to either link an asset or append it.

For simple cases where users just want access to assets as a starting point, appending makes the most sense

For collaborative projects, films with multiple shots, complex environments etc, it makes more sense to create a library and then link to assets.

We want to make it easy to do both, without having to switch between modes or views, like so:

In the Inspector there will be buttons to either link or append, but as a faster method, user can either:

  1. Drag assets into the scene to copy it
  2. Drag assets while holding Alt to link it in.

This way, users can very quickly link and copy assets into their scene, using a single gesture.

Accessing assets from data-block selectors

Users may not always have the Asset Browser visible. For this reason, it'd be useful to still be able to access to your assets. We can support this by integrating with the data-block selector, like so:

By default, we could have it set to Current File, which essentially mirrors what we have today - although we could still support icon view. But if users want to directly search and browse assets outside your current file, we could still allow this, in a way that's consistent with the way the Asset Browser works.

The data-block selector could also show an indicator for data-blocks that are assets:

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Julian Eisel (Severin) triaged this task as High priority.Jun 26 2020, 8:05 PM

This is looking beautiful!
For files stored locally will there be a quick link to open the asset and edit it? Like an "Edit Asset" button. As well as "Make New Version" and "Make New Copy"? And for cloud assets "Make Local Copy".

This is looking beautiful!
For files stored locally will there be a quick link to open the asset and edit it? Like an "Edit Asset" button. As well as "Make New Version" and "Make New Copy"? And for cloud assets "Make Local Copy".

Would also love to know if this is planned.

When the Alt-Drag to Link is implemented we will begin testing the Asset Browser extensively. Linking film quality assets (without duplicated materials and textures) is essential for us. For now, we have to use manual linking without the thumbnails. The new Asset filter for that is very useful.

Dragging and dropping has always seems a bit backwards in Blender. Hold down one obscure modifier key or another or not before you start to drag, then while doing so we are dragging text like “Drop onto Object to link material” or similar.

I’d rather just initiate by simply dragging without first deciding on what to do. In fact some operations can’t be known until you get to the drop zone. So just drag without pressing alt or shift or option. Then, while dragging show as little as possible, like only an icon or small thumbnail - I don’t need hints or full paths or similar. Then as soon as I drop, open a menu of options that apply to that drop zone if there is more than one. So nice descriptive options like “Add new Object” and “New Object with linked materials”, “Add link to object” or whatever. That way you can have more variations than you have obscure modifier keys.

I suppose those different options would be all within the same operator, so one could change the action after the fact in the F9 menu or set the default behaviour for when some modifier key was pressed during dragging in the keybindings?

The part about holding Alt when dragging in this design doc is outdated.

Linking will only possible from project repositories / libraries and will be the default, after which you can make local if needed. For user libraries as available in the first milestone in 2.92 it will only be possible to append..

Please consider implementing my proposal:
https://devtalk.blender.org/t/variation-system-my-proposal-based-on-current-asset-browser

Implement this feature in system level would help the override system also.

It's a bit late for 2.93, maybe put it on 3.0's list?

May I ask if there will be a folder management function like a file manager, which will be very useful for a large number of management.