That was a long 2 weeks but finally found some downtime to post this update! After GDC last week I got a ton of new ideas for new tools that we could possibly use and way to improve the pipeline even further. First I’d like to say Boot camp was AWESOME yet again this year and definitely full of very useful information that I was able to take and apply to what I’m currently doing.
Here’s a quick consolidated list of the changes I plan on making or tools I plan on building before I get into it:
Tool Search System
Project Viewer for Maya
Utility Script Manager
Meta-Data Tags for libraries
Perforce utility in Maya (Submit/Check out)
Documentation
Tool Search System:
I’d like to implement a system within Perforce and Maya with the ability quickly search through all the tools we will have on the server. This might be done through simple tagging of the scripts or just using their already sorted directories on the server. I know that within Maya I am going to be sorting the tools in the drop down menu so that it isn’t just one long list of random stuff. Currently half of the tools that are already on the server are organized this way so it’s just a matter of cleaning up the grouping and adding the other tools that have not been sorted yet into the appropriate categories.
Along with this I was able to get some feedback at the roundtables as to how tools are distributed to artists. From this feedback I decided that we will have 2 main script directories. The first has all scripts that are being worked on and have the possibility to be changed, while the second will have stable versions of the scripts. This directory will be updated each morning where I will just have an automatic process copy scripts over from the first directory to the second. The tool shelf in Maya that I will set up will also only draw from the more stable directory allowing us to have a bit of version control, and know who has what tools.
Project Viewer for Maya:
This tool is based off of Jeremy Ernst’s project viewer her created for his pipeline work. I figured this could be useful to our instructors for days when we would have critique on our current models or work. Instead of having to go through perforce to check each file out this lets them browse to a specific project in a class and from there just choose which file to view. Simply just cutting out some time from the task and making it a bit easier to interact with the server. This was also something I had fun putting together the night I got back from San Francisco! The image below shows the layout, it works similar to the project creation tool in the sense that they can choose by year (soon), class, section, and then project. Some of the functionality still needs to be worked out.
Utility Script Manager:
The Utility Script Manager would be a simple tool that allows the admin to execute utility scripts easily, such as group cleanup, project archiving, project deletion, ect. This would simply just give the user a dropdown menu of all the utility scripts in the admin’s folder, on choosing one the user can then run the script and then view the resulting file (if there is one). Essentially a simple browser for the collection of scripts I am starting to amass on the depot. Below is a simple diagram of how I’d like it to work.
Meta-Data Tags for Libraries:
As this says I am going to be switching our current texture library over to Meta data (JSON) so that tagging and tag searching can be used. This week I have been doing some research on JSON and am deciding on the types of tags I would like to use with our image library. With the use of Meta data now I have also changed the structure of that depot yet again (third time’s a charm!). The texture library is now structured as such:
//Assets/Libraries/Textures
//Assets/Libraries/Textures/Images
//Assets/Libraries/Textures/Thumbnails
In the Images directory is where all of the Meta data and actual size images will be kept, where the Thumbnails directory will have thumbnails of all the full size images. The reason for having thumbnails of all the images is that they will be used for the visual texture browser. This way instead of generating thumbnails whenever the texture browser is run it just simple draws from the cache of images already on the server.
Along with the tagging system I have also started to lay out an application for users to submit new textures to the library. This system will allow them to tag their images with existing or new tags before they are added in with the others. I also plan to have it check to see if the texture they are submitting is identical to any images currently in the library, preventing duplicates. Next week I will hopefully have a simple layout of how I’d like this to look and function and will be able to share it for some feedback.
Perforce Utility in Maya:
Something simple but on the to-do list of things that need to be done. I plan to echo how Jeremy Ernst did his Perforce functionality in Maya since I feel it was simply and elegantly done. This just consists of 3 buttons, Check-out, submit, and sync. All self explanatory but will give the users of the pipeline an easy way to check their files out from the server, check to see if it’s the latest version and if not have it sync up.
Documentation:
Finally documentation yet again and after GDC we’ve decided to switch over from just using a Wiki to using Sphinx and Wiki together. Both currently being looked into for how to generate content and manage users (specifically for the wiki). As I’ve said in an earlier post as well the Wiki will be used to house tutorials, tool documentation, versioning, and history as well as breakdown of actual code hopefully through Sphinx.
Well that was a good mouthful! As always I’ll be continuing to create and make progress on all of the tools and pipeline overall. Right now I feel like I have a pretty good amount ahead of me for the next few weeks and I’ll also have some good updates to follow in suit with those.
As a side note project I’ve also begun to re-write my Simple Weapon Generator or SWaG as I like to call it for UDK. This tool allows for quick creation of simple weapon scripts to be compiled for UDK. The user simply just picks a weapon template, sets the weapons name and then fills in the fields on the form. Things such as weapon damage, firing sound, fire rate, ect. I can post a separate update on this if anyone is interested. Coupled with this I also have a Simple Weapon Rig setup to accompany the script. The rig is just placed within the gun with the default naming scheme of joints used in UDK for the hands and muzzle flashes.
Thanks again for those that read and the support I received at GDC. It was definitely a refreshing and re-energizing experience that was much needed!