Asset Library

Shotgun asset library - 3Dsmax by John Crawshaw

Hi All,

I thought I would write an item on the latest pipeline tool I have been working on at the neighbourhood. For as long as I have been in 3D I have had problems finding assets in the asset library on the network hard drives. This isn't down to the companies I've worked for or the people I've worked with. It's just that the search in windows isn't that great, and the information you might want to search for isn't relevant. For example, when was that last time you searched for an asset created on May 2011 with a file size between 1.2mb and 1.8mb?

What we required was an asset library which could be browsed in 3Dsmax and import the models into a scene with a click of a button. With this in mind, my self and colleague Alex Farrell started work on Asset Library 1.0. Built in dotnet/maxscript it was one of the main challenges for me. It worked for the most part. Working from a set folder structure on the network drive. I simply looked for a max file and then a jpg called the same with a .jpg extension. Although massively improving on what we had before. It still lacked the ease of being able to search for an asset by tags or category. 

Featured below: Asset Library 1.0

A year on from Asset library 1.0. we started to think about Asset Library 2.0. This would have to be searchable and have a tagging system. After looking at a few examples it became apparent that it would be extremely difficult in dot net. At the time I was looking at shotgun for the studio pipeline. I conceived that it would be better to set up a project that could mirror the central asset library on the server.

When I was writing my own tool it required an interface that could connect to the shotgun API. This was made very easy by duber python. A set of scripts that talks to shotguns API and passed the information back to maxscipt via ironpython. It may sound complicated, but once Lukas at duber studios had set it up for me it was quite simple. He also made a self contained folder that could be copied around the artists workstations. 

Finally, I was at a point where I could start writing the tools. The tools would come in two parts. The first part would be getting the assets into the library and the second part would be getting them out. For the first tool Shotgun needed some new fields adding to support the tool. The main new field was MAXPATH. This was a string that stored the path to the local server. Once I had created this and a few other custom fields I was ready to move on to the second part. 

Part 2 was now simple. Each asset, shot or task has an ID on shotgun. This was such a useful feature as all that was required was the artist to know a short code to enter into a dialog box. This could be found below each thumbnail in the shotgun library. The script then looks on shotgun for that ID and finds the corresponding MAXPATH. From there a simple merge scene command is executed with MAXPATH as the string and the asset is in the scene. See video below.

I hope this has been an interesting read. Thank you to the neighbourhood for having the vision to allow myself and Alex to write this tool. I feel we have put down some great foundations for the coming years, as we expand the library and add new features. Feel free to leave any comment below or contact me if you have any more in depth questions. 

John.