[Bf-taskforce25] Elubie Asset Manager
Ton Roosendaal
ton at blender.org
Sun Aug 16 12:52:02 CEST 2009
Hi Andrea,
As promised, here's feedback on the proposal as well;
In general: the main problem I see is that you try to expose an
interface with methods not supported by (or reflected by) the system
itself. It would therefore be much better to first thoroughly evaluate
and redesign the system itself, before making a new UI for it. To just
list a few issues;
- "Asset browsing" with previews is of course very cool; it could be
used even as alternative for the 'search link' menu as used now, to
provide greater detail. But, that also shows a problem; there's
basically no difference between a local material linkage or one coming
from an external file. Both are similar actions, and should be provided
uniformly. An asset browser ideally should show everything, linked and
local.
- "Asset manager" (or maybe call it "Library Manager") is another way
to look at this; this is what the current library system really lacks,
and something we should look into well. There's really a lot of issues
to look at though... especially being able to view dependency trees or
diagrams, or other ways to find out where data comes from really. And
new ways to move such libraries or relink to other libraries with
remapping of names, or even fully unlink specific data items.
We also should not forget to include dependencies on external files
such as images, scripts, plug-ins, movie files or sounds!
- The current library system works on two levels: first it opens the
.blend itself, and makes it browsable for ID names. At that stage no
data is being read (no previews possible really), nor dependency
linkage happened (like material -> nodes -> textures etc). That step is
another action, which currently happens on the Library Link stage. Only
after indicating you intend to link data, the .blend is being parsed,
all linked blocks are being evaluated, dna-converted, and even
depending new .blend files are opened in a recursive process. The
system then marks *direct* linked blocks (like the material) seperately
from *indirect* linked blocks (its texture, nodes, images, etc).
This is an essential library feature!
- The library system design was also based on just providing a
compacted "file system". When I designed the .blend, many of the other
3d packages (and I think it still is common) create "project
directories" with inside directories with the internal assets. Every
.blend is therefore actually a directory. It has been discussed to make
a feature to either split .blends or to save only specific data inside
a .blend, has to be looked into.
- When you create a bigger (film) project, one of the design stages is
to also design a "library system" of directories and .blend files. That
is a logical and studio-wide shared file system, typically in svn.
Using and designing a structure that makes sense is an obvious step,
and should simply be exposed in an asset manager too. Confusing this
with locally editable new "groups" will only pollute the whole
concept... to be able to share libraries together, agreeing on which
files to use from where is a very acceptable and useful step.
- We don't need a direct 'delete datablock' option, but we do need an
efficient 'unlink from all users' option (with recursive option), and a
'show where the users are' option. That will give sufficient control
over data, and makes a final 'save file' the definite action on which
moment you've got rid of the data forever.
Looking at the current filebrowser's functionality, and giving the fact
that .blends are just like directories too, I would recommend to first
stick to expending the current filebrowser with previews for the
internal data, and for the library data (showing previews when already
linked, or show names, and visualize 'direct' and 'indirect'). That
will be mostly compatible with how things work now anyway.
The next big step, a real Asset/Library Manager, then can wait until
the specs and work has been done on fixing issues with the system
itself.
-Ton-
------------------------------------------------------------------------
Ton Roosendaal Blender Foundation ton at blender.org www.blender.org
Blender Institute Entrepotdok 57A 1018AD Amsterdam The Netherlands
On 12 Jul, 2009, at 22:14, Andrea Weikert wrote:
> Hi William,
>
> William Reynish schrieb:
>> Hi Elubie,
>>
>> Hope you don't mind me posting this on the taskforce.
>>
>> I've been looking over your proposal for a future asset manager space
>> type, located here:
>> http://wiki.blender.org/index.php/BlenderDev/Blender2.5/AssetBrowser
>> I promised to give some feedback on this, so here are some comments.
>>
>> The concept of such an area of Blender is a great one, and the
>> functionality this provides is much needed. Currently it's quite hard
>> to keep track of the linked data you're using, it's really hard to
>> relink things, remove links, move things around between files. And one
>> of the simplest things conceptually, deleting data, is sometimes all
>> but impossible in Blender(!), because Blender can only remove data
>> when it has no users, yet there is no easy way of seeing where data
>> blocks are being used.
>>
> I am not sure that deleting datablocks is an issue for the asset
> browser. In my understanding it
> might be better handled in the outliner that shows the contents of the
> current .blend file.
> Maybe the term asset manager is a bit misleading and asset browser
> would
> be more fitting.
>>
>> These are the two main use-cases I can think of for the asset manager:
>> data management and presets.
>>
>>
> Presets is one part, the other that I saw is Appending/Linking from an
> external .blend file.
>> Now for the actual UI you've proposed:
>>
>> * I like the fact that you have the same basic structure of a source
>> list on the left and a content area of the right, shared by other
>> editors in Blender
>>
>> * Previews will make it very easy, fast to recognize items. This is a
>> no-brainer for materials and textures, but would be fantastic if this
>> could work for any type of data - meshes, curves, even animation data?
>> (Not easy!)
>>
> Previews for meshes, curves and other datablocks is planned, though
> needs a bit of research on my part.
>> * I like the idea of auto-discovery by inputting just a path, and
>> Blender then simply aggregates all the data from Blend files in that
>> path. Could even eventually work for things on networks, online(?)
>> Similarly that these library links are not saved in the individual
>> blend files, but accessible from any file.
>>
>> * I'm not sure, but judging on the mockups it seems there is no way of
>> interacting with data that's already inside the current blend file?
>> Perhaps you envisage this asset manager to only deal with linked data,
>> or do I misinterpret? I think it would be quite vital to manage the
>> data that's already in the file, for reusing assets from the same
>> file, for deleting data - all the management stuff.
>>
> I saw that in your mockup you added an additional current file entry. I
> forgot that in my mockup,
> good catch, this was in my plans too ;) For the data inside the .blend
> file I think a litle bit of
> thinking is still required as to what functionality should be provided
> and how it could work.
>> * I don't understand the Groups region. Is it for actual Blender
>> groups, or is it more like a favorites list? It seems like it's a way
>> to group library blends. If so, why have two source lists, one grouped
>> and one not? IMO it'd be a little simpler, cleaner to just have one
>> source list, where you can add folders (not folders in the file
>> system) for grouping items if you wish.
>>
>>
> The Groups region was meant to just group the .blend files so they'd be
> easier to find.
> I do like your suggestion of just adding folders below he Library much
> better though.
> The add folder button should work nicely too.
>> * I think if you have that much data, from many many blend files in
>> one list it's quickly going to get very long ;) Therefore the
>> filtering options are important. The data type filter at the top makes
>> it quick to see only materials, only textures etc (You almost always
>> know what *type* of data you're looking for) but only if the buttons
>> are mutually exclusive. Holding shift can always be used for enabling
>> multiple data types if desired. Additionally, it'd be great to get a
>> search field too (can be on top right, next to the filter). Hopefully
>> this will get implemented in the Outliner too.
>>
>>
> Yes, search field is a great idea.
>> *Using the little arrow to move files into the Groups pane is a little
>> clunky. Perhaps could use the new drag n drop API to move to folders?
>>
>>
> Agreed. It was also meant as an intermediate solution until we have the
> drag n drop API.
>> I've edited your mockup slightly (hope you don't mind!) to clarify
>> some of the points. Added a 'current file' item in the source list,
>> search field, combined the source lists, added New Folder button:
>>
>> http://www.reynish.com/files/blender25/asset_manager.png
>>
>>
> No, on the contrary, good work on completing the stuff I missed. If
> you're ok I'll add your mockup to the
> wiki then.
>
> Cheers,
> Andrea
>
> _______________________________________________
> Bf-taskforce25 mailing list
> Bf-taskforce25 at blender.org
> http://lists.blender.org/mailman/listinfo/bf-taskforce25
>
More information about the Bf-taskforce25
mailing list