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

Thursday, 8 May 2014

V1.42 update....

So anybody who follows me on G+ will have seen the pose on v1.42 and the fact that I caught a big bug in the way that the AnimUi dealt with animLayers, particularly when using the mirror tools. This is now fixed on the GitHub trunk and I'll be releasing a new patched version of v1.42 very soon.

The new build has had a lot of extra work done on the UI to try and make it feel more solid. The mirror tools now work correctly with animLayers, if they are found it'll prompt you that I need to merge them and let you confirm. The SnapTransforms will, if animLayers are found and the pre-copyKeys is set, automatically merge the layers down before processing, then return them once finished.

Oh and I've added the ability to add multiple search's in the PoseUI search field, so you can filter for "walk,run,idle" which will just show poses that match any of those strings. I'm debating having this as a regex search so you could do more complex filters, either that or have a flag that switches this new behavior to be either additive, or intersection. If Intersection it would find only poses that have 'walk, 'run' and 'idle' in their name.

There are a few other small fixes that have gone in since 1.42 but these are just continued developments.

cheers

Mark

Wednesday, 23 April 2014

Red9 Studio Pack v1.42 released

So it's been a while since the last release but now everything is on GitHub it should be a lot easier to manage releases, I'm just going to take tags so you get full access to everything. Also the main branch of code is the gitHub trunk so you see any changes as I commit them on a daily basis.

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

Download is a lot easier than on GoogleDrive, just click on the tag and there's a link to download as a zip.

cheers and keep the suggesttions and comments comming, they do help!

Mark


Highlights of the release are also commented up there but just in case:

v1.42: 


  • New - Red9_Audio - added BWav support to the AudioNode. This allows you to inspect and retrieve Timecode data from any broadcast wav
  • New - Red9_Audio - added a new 'inspect' item to the Red9 sound menu in the Trax for inspecting the internal properties of the selected sound node
  • Mod - Red9_Anim - Stabilizer wasn't respecting the keyer groups when you set it to just track 'rots' or 'trans'
  • New - Red9_Anim - CopyKeys now deals with animLayer by pre-merging the data to a temp cache before copying the merged data. The original layers are left in tact!
  • New - Red9_Audio - added a function getMediaFileMetaData() which is capable of extracting metaData from most media file types via ffprobe.exe
  • Mod - Red9_Pose - added a filterMap param to the poseCompare call. This can be used as a master core list, only nodes that appear on this will be checked against. Useful for checking core skeleton nodes whilst ingnoring others
  • Mod - Red9_Pose - added an ignoreBlocks to the poseCompare call. This allows the code to ignore complete sections of the compare data, we mainly use this for ['missingKeys'] so that the compare skips them
  • Mod - Red9_Anim - modified the AnimUI behaviour such that the 'CTRL' key modifier is now stored with the UI. If you laucnh the UI with ctrl held it'll toggle between launching as docked or not.
  • Mod - Red9_Anim - exposed the snapTranslates and snapRotatesflags to the snap() call in AnimFunctions Mod - Red9_Core - Mods to the LockChannels class for better behaviour, set hierarchy flag to false by default.
  • New - Red9_Meta - new flag exposed at class level '_forceAsMeta'. This forces the code to ALWAYS return instansiated MetaClass objects when dealing with nodes rather than dag paths.

Tuesday, 15 April 2014

Coding a Maya Production Pipeline with MetaData



Heads up.. I'm going to be doing a presentation at Develop in Brighton this year about how to utilize Red9Meta in a production pipeline, running through some internal examples of the tools and Maya dag structures that we're currently working on at Crytek. 

This will be an overview really, how and why metaData helps not just in constructing complex setups, everything from Exporter, Facial and Rigging pipelines, but also as a light coding api to deal more seamlessly with nodes in Maya.

For all of those doing the Rigging Dojo Character Engineering course, might be a good chance to catchup.

More details to follow but if there's anything in particular that you'd like me to include drop me a mail. 

cheers

Mark

Wednesday, 19 March 2014

Red9 Sound and Audio handler updates


Finally got round to doing a quick demo of the new AudioNode handler in the Red9 StudioPack. This one shows how you can use the 'compile' function in the sound menu to pre-compile multiple sound nodes in Maya so that you get a complete soundtrack to any playblasts. Anybody who's ever tried animating to multiple sound nodes in Maya, particularly when animating dialog will know how frustrating it is when you then try and playbladt that scene, and only get 1 sound track included!!

I also go through the new inspect code, capable of extracting metaData info from wav files including full support for Broadcast wav's. This is really useful to gain access to thiongs like internal timecode data. There's also extensions capable of extracting metaData from any media format, Mov, avi etc but for that you have to download ffmeg which I use in the inspect call.

I'm really keen to hear from those running MacOs or Linux, does the compiler work for you?

thanks (don't forget the donate button...cough...)

Mark

Wednesday, 12 March 2014

Red9 goes all GIT!

Well this has been asked for by many of you for a while so I'm finally sorting it out, pushing Red9 repository up onto GitHub. I've always used a private SVN server but this should give people more exposure to the changes happening on a daily basis.

 https://github.com/markj3d/Red9_StudioPack

Still getting by head round GIT so bear with me

Mark