Video on a Maya Asset Browser I made

Hey guys,
I’m trying to do videos and posts on some tools I’ve been doing at work on whatever I can get approved to show. This is my first attempt at doing one. It’s a curated Maya Asset Browser. I show it being used and attempt to show how some of it works under the hood.

http://noahalzayer.wordpress.com/2014/09/10/tools-maya-asset-browser/

Hope it’s helpful to anyone working on anything similar, and let me know if you have any questions, critiques or whatever.

36 Minutes!?? Is this crazy-town?

:slight_smile:

haha, yea, I would recommend editing your video down to 2-3 minutes tops. Break it up so if someone wants to see the internals they can watch additional videos.

Hah, well I had figured people not interested in the file or script parts could just stop watching, but I guess it wouldn’t be a big deal to split it up.

I was skipping through a lot of it, but here are some notes:

Nice things:

  • Looks clean
  • Fast

Crits:

  • Recent files list
  • For the preview image, there are a lot of assumptions you could make. I could see leaving the browse dialog there, but I doubt it would get a lot of use. Other than that, just have a render button that sets up a camera and frames the objects. You’ll get more consistent thumbnails and less hassle for the user
  • Don’t let people add categories/types/assets willy nilly. they will misspell, change the stem (rig or rigs), etc. and will fragment your organization. Make those difficult to create or have an admin make them. If your pipeline relies on naming convention, give users minimal control over names :slight_smile:
  • what happens to assets that are in a category or type when that category/type is removed? Does this affect everyone?
  • The Information pane is nice, in that it contains info you want, but it ends up like a wall of text. You could render this as html or split up the information into proper widgets to make things more readable. For example, the comments aren’t really apparent until you read the whole thing and know what you’re looking for.
  • What if two people are editing the xml files and have conflicts? Do you trust the users to resolve these?
  • Looks like you’re having the users edit a database locally, then submit to p4. This sounds like a bad idea.

Thanks for watching. Few things in the cons confused me. Could you clarify?

  • Recent files list - Do you mean having some sort of menu in the browser for recently opened files? Or do you mean just having it add to the recent files list in the file menu/right click on the open icon? Because it does actually do that, I just hadn’t shown that. :slight_smile: Or do you mean something completely different?:

  • For the preview image, there are a lot of assumptions you could make. I could see leaving the browse dialog there, but I doubt it would get a lot of use. Other than that, just have a render button that sets up a camera and frames the objects. You’ll get more consistent thumbnails and less hassle for the user - Not sure if I’m misunderstanding this one or that part was skipped over, but I do actually have a button that generates a camera for render with a consistent background color and a directional light. It’s shown at these times. There is also a browse button on the right side of the text fields, but I guess the only time I use it, it’s cut off from the crop for the video. Woops. Guess I could re-export zoomed out or scooted over just a bit. If I misunderstood the point, let me know.

  • what happens to assets that are in a category or type when that category/type is removed? Does this affect everyone? - It does delete entries for all children, yes. And if submitted to perforce, affects everyone. But since it’s all version controlled, it can be easily rolled back or just re-entered if a mistake has been made. To be clear though, deleting or doing anything in the browser doesn’t touch the actual files, just the entry in the browser pointing to it.

  • The Information pane is nice, in that it contains info you want, but it ends up like a wall of text. You could render this as html or split up the information into proper widgets to make things more readable. For example, the comments aren’t really apparent until you read the whole thing and know what you’re looking for. - Good point, I’ll see if I can split things up a bit better in future iterations

  • What if two people are editing the xml files and have conflicts? Do you trust the users to resolve these? - When one person is editing the data, others can’t edit it. It just locks other users from starting edits, and gives them a pop-up telling them who’s editing so they can tell that person to either submit or cancel the edits. I thought about still letting them check out the xml files and giving them a very strong pop-up warning. Since it reverts unchanged files before submitting, it would only create conflicts with files both people have edited, which would then have to be diffed. I’ve had a couple co-workers encourage me to change it to that method, mostly just in-case someone checks out the project, then leaves for the night or goes on vacation, it wouldn’t block other people. For now, it just straight up disallows it, but I’ve considered changing it, but that would of course yield its own problems. What do you think?

  • Looks like you’re having the users edit a database locally, then submit to p4. This sounds like a bad idea. - As I touched on in the last con and also in the video (possibly a part that was skipped) a user can’t edit the database without pressing “Start Edits” in the Edit/Add tab. What that button does is check out the XML files and preview thumbnails on perforce. That way, it can all be cancelled (runs revert on it all, deletes any new files not on version control) or submitted (revert unchanged files, mark new files for add, submit changes)

Overall this looks pretty slick. I’m a huge fan of asset browsers and avoiding having to touch Windows Explorer whenever possible.

There’s a relatively undocumented UX theory someone way smarter than me made up, but I can’t find the source for so I’ll explain it here briefly.
With many tools, there’s usually two modes of user interaction: play & hunt.

Play is categorized by an experience of loose constraints, explorative behavior, and an open problem scope. The user doesn’t know exactly what they are trying to accomplish but wants to see a lot of options and explore a lot of possible outcomes.

Hunt is essentially the opposite, where a user knows exactly what they’re trying to accomplish and wants to do it as quickly and effectively as possible.

There’s certainly a spectrum of experiences that falls between these two categories, but in my experience these two ideas cover most ground in the sorts of tools and software we develop as TA’s.

In the case of your asset browser, you seem to have pretty well nailed the “hunt” aspect of its use, but seem to be missing some more “playful” features. What if the artist doesn’t know exactly the asset they’re looking for or forgot the name of it? Adding partial matching search functionality can be a huge win. In addition, it might be helpful to show more than one asset at a time. Try displaying entire folders of assets and letting users hone in from there. The interaction as of present feels very “tunnel-visiony” and the user needs to know where they’re going at all points in time and it’s easy to get lost. It’s difficult to get a broader scope of the project at hand.

To improve on your existing hunting features, think about eliminating unnecessary steps to achieve the end goal. You’ve got these 3 dropdown menus, “Category” , “Type”, and “Asset” which don’t seem to represent anything meaningful other than that you’re exposing the underlying structure of how the assets are being stored. In order for a user to find an asset within the project, they already need to know the category, type, and asset values to find it. Assuming the artist has that level of knowledge, how could you streamline the process further? Maybe you could add a direct string match where the artist could copy paste or type in the asset name and have the browser navigate directly to it. Focus on how the artists care about seeing the assets presented and don’t expose your underlying folder structure and other “black magic” (read: implementation details) to the user unless it conveniently also happens to provide the optimal experience.

If the category, type, etc. values do have a greater meaning other than establishing folder structure, (i.e. they effect how the asset is exported, imported into the engine, etc.) then you might be better off having some sort of composed tag system. This essentially comes down to “composition vs inheritance” of asset meta data. The current system seems to be built entirely through inheritance which is difficult to change to keep up with project demands. Since you already have a great grasp on storing meta data with assets, why not move those characteristics into meta data and design an open-ended asset tag system where artists can simply apply attributes from a “bank” of existing ones. This bank could easily be updated, redefined, or re-purposed as the game development cycle ages.

Anyways, just some thoughts on where you could take it from here! The presentation view is real nice with the large thumbnail and detail pane on the left. Keep up the good stuff!

Awesome, thanks for the suggestions. That’s really helpful. I’m realizing lately that I should probably start to learn more about UX as I’ve always just gone on instinct up to now, and would probably make some better tools if I studied up.