Tuesday, 11 November 2014

Progress!!!

I thought it about time I did an update just so it doesn't seem like I've abandoned Red9!

Absolutely nothing could be further from the truth, the Studio Pack is getting some huge upgrades in preparation for the Pro-Pack, lots of extra support for transfer methods to take data between rigs, new animation file format, extensions to the pose format and a ton of other features and tweaks.

So what have we been up to?? In integrating the Pro-pack it's taking time restructuring the codebase, internally we now have 3 different modules running, the main StutioPack, the new Pro-Pack and our own internal systems which now include our new procedural rigging system and facial setup. We're deep in production with a few exciting clients and the new Red9Consultancy business is really starting to take off, thanks to all the support to everybody out there for spreading the news about the StudioPack ;)

Once we've finished the two projects we're working on we're hoping to update the main web-site so everybody can see what we're up to, and hopefully choose Red9 for their consultancy work, or rigging and facial solutions.

If you haven't already been over to the new website go for it:

red9consultancy.com

thanks

Mark




Wednesday, 16 July 2014

MetaData Develop Conference Talk notes

http://www.developconference.com/seminar/Coding-a-Maya-production-pipeline-with-MetaData

The talk went well, and I promised I'd make these available so here the links. The PowerPoint has notes on it that I used to remind me but hopefully you'll also find them useful too. The videos that I showed during the talk are also now on Vimeo (just got one more to upload) I recorded these in the studio so they're a bit noisy, they were only intended to be used a video tracks to talk over, but I think they might help if you have the ppt next to you.

So, PowerPoint is here:   Power Point: MetaData in a Maya Production Pipeline

Videos:

Video 1: MetaData Attribute Handlers
Video 2: MetaData - MetaRig

Video 3: MetaData - MetaFacial in the Crytek Pipelines To follow:

Hopefully you'll find these useful, mail me if you have any questions about the talk, or Red9

thanks

Mark

Friday, 4 July 2014

Now Autodesk Certified :)



Great news from Autodesk and the Exchange site, Red9 StudioPack is now an Autodesk certified application. The build on the Exchange site has also now been fully updated and wrapped into a solid installer that support Win, OSX and Linux.

Thanks to the guys at Autodesk for spotting an issue with the doc api links.

If you download from the exchange then please remember to add a rating to it, it keeps the app on the featured list.

thanks

Mark

Friday, 20 June 2014

More Audio goodness

I've just added extra functionality to the Audio handlers in Red9 that hopefully you'll all find useful. 

Firstly I've expanded on the conversion tools to handling timecode, we now have the full complement:

milliseconds_to_Timecode(milliseconds, smpte=True, framerate=None)
milliseconds_to_frame(milliseconds, framerate=None)
timecode_to_milliseconds(timecode, smpte=True, framerate=None)
timecode_to_frame(timecode, smpte=True, framerate=None)
frame_to_timecode(frame, smpte=True, framerate=None)
frame_to_milliseconds(frame, framerate=None)

We're using these internally to process timecode around our MoCap deliveries, converting time to the relevant units as and when required.



I've also added a new function to the Red9_Sound menu in the Trax Editor, 'Sync_BWavs' which is designed to automatically sync multiple BWav files to their internal timecode. BWav's are Braodcast Wav's used when recording audio with timecode as it embeds the data into the wav's header, very useful in production.

The new function processes either the selected audio nodes in Trax, or ALL wavs in the scene, depending on selection. It then inspects the internal BWav's timecode, and if found and valid it will shift the audio nodes in Maya to match their original timecode's, re-syncing them to the original shoots timelines. 

I've also done a few fixes to the AudioNode class, adding the setters that were missing in some of the properties.

cheers

Mark

Thursday, 5 June 2014

New AnimUI functions....


So a few updates. I've been working on the back-end to the AnimUI a fair bit recently and have exposed a few new options that should be useful to you all.

First one is the matchMethod - this is the code that takes 2 hierarchies and matches them, node for node to them process correctly. This is used by all the anim code calls, copyAttrs/Keys, poseLoad etc so it's a really low level feature. Now this has been there for a while but it wasn't actually hooked up correctly...ooops! There's been a flag to control the matchMethod but it was missing an option, and that in turn has caused a few of you issues.

The new option is 'index' and that turns OFF all the matching code and just takes the 2 hierarchies that the filter found, and zips them together in the order they were found. Why? well this is what Maya native does on all hierarchies, absolutely no intelligence just one to one mapping. It will now allow things like this to match:

AlphaRig_WristCtrl == BetaRig_WristCtrl

previously this would never match as there's no naming match there, other than me allowing you to enter a search and replace to the UI. With the index option it will match, as that node was found as the 4th child of the hierarchy in both rigs. This also means that the Pose's stored for Alpha_Rig will load correctly to Beta_Rig ;)

So what else, well I've added sort logic to the poseUI. You can do a number of new things in there. Firstly the searchBox takes comma separated searches, so you can add "walk,run,idle' and it will show those as a filter. You'll also notice there's 2 new icons, sort by name, and sort by date. This has been getting on my nerves as my facial library at work is 80+ shapes and if I add a new one I have a lot of scrolling to do!! So sort by date is a godsend.

These are in the GitHub branch and will shortly go into another live release, after testing ;)

cheers

Mark

Friday, 30 May 2014

Red9 StudioPack v1.43 released




Well another month and another new build, as with the last one, and all future builds, I'll be taking release tags on GitHub that you can just browse to and download directly from there, far easier than Google Drive!

https://github.com/markj3d/Red9_StudioPack/releases/tag/1.43

This release is focused on stability in the animationUI. In 1.42 I started to integrate animLayer support but there were some bugs in the way the ui handled the calls so I've gone back to the drawing board and hopefully, come up with integration that guides you through the extar steps as and when you need to.

A few bits of logic to be aware of:

  • CopyKeys has it's own 'mergeLayers' checkBox, this now controls ONLY the copyKeys call from the UI. The animLayer call here is non-destructive.
  • SnapTransforms - over time this has a pre-copyKey's checkbox but I've removed the merge layer logic from it. Instead it now, by default, does an animation merge in the background before running the pre-copy of keys, prior to the snap itself. No animLayers are destroyed or effected, this is purely a backend function.
  • MirrorAnimation - This now will prompt you if you have animLayers on any of the mirror objects, if so it will ask if you want to merge them first. Mirror is the only call that has to act on flattened animLayers and is destructive, you will loose the layers but gain a mirrored anim sequence.


There's many other fixes, PoseBlend now habndles the undoStack correctly, it was caching every iteration of the slider before, not good! Also the poseLib search box now takes comma separated text, so you can filter for multiple tags at the same time.

Main commits:

  • Fix - Red9_Anim - fixes to the poseBlender code so it now handles the undoQueue correctly, as chunks and returns object selection correctly.
  • New - Red9_Anim - Pose search now accepts multiple strings, comma separated ie 'walk,run,idle'
  • Fix - Red9_Anim - fix's in the way that all the commands wrappers in the UI handle AnimLayers - more info and dialog's added to guide you through.
  • New - Red9_Meta - added new call 'getNodeConnections' which will replace the 'getNodeConnectionAttr' in calls, designed to return all connections between a given node and the mNode, with filtering
  • Mod - Red9_Core - added double3 handling to the lockChannels call, this was causing issues when passed double3 like 'translate' 
  • Fix - Red9_Audio - added correct float conversion to all the timecode and framerate conversion functions


Any feedback as usual just ping me

thanks

Mark

Tuesday, 27 May 2014

Develop Conference - MetaData Coding in a Maya Production Pipeline

Develop Conference Talk

 I'm going to be doing a talk at Develop Conference in Brighton this year, going through how we've integrated the Red9 MetaData API into our production pipelines at Crytek. I'm in the middle of writing the talk and figuring out how much detail to go into.

The conference is happening 8-10 July and the early bird discount prices end soon.

http://www.developconference.com/Content/Develop-2014

Here's what I'm planning on, but if any of you out there are running MetaData I'd love your input too:

This talk will go through the benefits of integrating MetaData concepts in a Maya production pipeline. Red9 Metadata is Python API, part of the Red9 StudioTools, an open source toolkit freely available on the Autodesk Exchange website and authored by myself.

 In this talk I'll be showing how we've integrated this concept to all aspects of the Crytek Maya animation pipeline. Meta is used in our animation rigs as a separate schema / network to manage data, binding tools to the systems via a generic layer. It's used in our facial systems to manage relationships in code, breaking a complex system into manageable and logical chunks. We also use meta as the entry point for our exporter, the idea of connecting characters to export nodes which in turn connect to time and settings nodes.

Topics:

  • The background, why? 
  • The basics of the MetaData Api base class, what does it do and what benefits does it give us. 
  • Basics of metaData internal attribute handling and auto-complete. 
  • Factory class aspects, the core of the systems, walking nodes as classes. 
  • Using Maya nodes as class representations to structure your code. 
  • Class inheritance and attribute binding. 
  • Practical examples in production. 
  • Generic nature of metadata, how it lends itself to tool pipelines. 
  • Subclassing, how's it's been heavily subclassed and expanded by the Morpheus2 project. 

See you there!

cheers

Mark