Thursday, 28 March 2013

Red9 Module Distribution.....Maya Extensions

I've been talking with Autodesk and it looks like Red9 Studio Pack will be a part of the new Maya Extensions site when it's launched, presumably alongside the release of 2014.

The extensions download and install with an exe which are packaged in line with Maya's modules so there's been a bit of package redesign in order to cope with this. At the moment this redesign is only in the build Autodesk have but I'm wondering what peoples thoughts are about rolling the restructure out for the main build?

What's different?

Not a lot to be honest, the main difference is that the 'startup', 'packages' and 'core' folders would live under a 'Red9/scripts' folder (as defined by the Maya module system design). When setting up the python path you'd point it to Red9/scripts rather than just Red9. Everything else in the systems and the boot would be the same.

Anybody got any thoughts?


Sunday, 24 March 2013

Red9 MetaData Video Part2

Second installment of the MetaData API demo's.

This one gives you an overview of the factory aspect of meta, how it can be used to walk systems and how the attribute handlers are designed to return python objects rather than just Maya nodes.

I'll follow this up with a more detailed breakdown of the metaRig class and handlers, plus more code detail. 

Any questions drop me a mail



Wednesday, 20 March 2013

PoseSaver - extensions ;)

I'm designing a new setup for the poseSaver to allow you to easily over-load and manage your own node handling within pose folders and was wanting to see if anybody had any feedback on this one...

So the idea is that any folder that the poseSaver points to, be that the main poseFolders or subfolders, can now have a python file in it that over-loads the main getNode handler in the pose function. Why??

Lets say you want to have a folder specifically for facial, and that facial in your rig is managed in a different way, or you would like to modify the filter used to find the nodes. You may even want to pass a node list directly in. At the moment it's hard work and would mean that for each folder/poseType you'd have to either change the rootNode (setRoot) or change the filter.cgf.

The new stuff will make folder type poses a doddle, if the code finds a python file in the folder then that file is passed and used pre the load or save calls. At the moment I expect 2 functions in there:

def poseGetNodesLoad():
 #do your stuff and filtering
 return filteredNodes
def poseGetNodesSave():
 #do your stuff and filtering
 return filteredNodes

These functions are run before the pose handler so you also would have the opportunity to do any file modifications in order to get the scene into the correct state for the pose functions. I may also support a teardown() function just in case you needed to do temp modification's that needed returning after the save or load call.

Anybody got any further thoughts on this? I'm thinking this would give you full control and it would make the systems far more open and customization



Friday, 15 March 2013

Red9 MetaData API - Vimeo Part1

Red9 MetaData API Part1: 

This is the first of what will be a series of videos that go through the MetaData API concepts in Red9. This first demo goes into the attribute management of the class, how it can be used to easily manage, add, set and get any attr for any node inside Maya in a completely seamless Python manor.  The next few videos will delve into the more complex network structures designed with MetaRig and go through the factory class aspects of the api. The last in the series will show you how to subclass Meta for your own usage and why you'd want to..

Any questions fire away



Wednesday, 6 March 2013

Red9 - StudioPack v1.29 released!

Just a quick note to say I've finally released StudioPack v1.29. Follow the Download link to the right to get to my Google docs folder or go to CreativeCrash to grab it.

The main changes are already discussed below in a previous thread, but here's a quick list:

  • CameraTracker - new feature for tracking animated objects in the current view - see Vimeo demo
  • PoseSaver updates - now supports SubFolders both in local and project - the sync allows poses to be synced and folder sub-structures generated if they're not found
  • Most of the UI's now have a 'VimeoHelp' menu that takes you straight to the video demo. I'm trying to do one of these per tool so you have full interactive help on everything.

More detailed changeLog:
  • - Red9_Anim - PoseLib now supports subfolders in the UI
  • - Red9_Anim - CameraTracker now in the Red9 Menu - generates an auto tracked, or panned, camera focusing on the selected node - very usefuyl for visualising moCap
  • - Red9_Meta - metaHUDNode gone in - designed as a debug tool to enable you to easily monitor attributes in a managed HUD in the Maya viewports. Any attrs added to the mNode is monitored and added to the drawHud call. This is work in progress
  • - Red9_Anim - AnimtionFunctions now has a function for bindNodes, uses the same filtering and matching setups as all the rest of the code and allows you to bind full filtered hierarchies together, either direct connects or parentConstraints
  • - Red9_Anim - All animFunctions now accept matchMethod as an arg, this allows you to either accept 'prefix stripping' in any node matches or use 'base' = name for name exact match.
  • - Red9_Anim - PoseLib subfolders bug fixes so that you can sync subfolders to project libraries with the 'CopyLocal>>Project Pose' RMB call. This makes the missing subFolder if it's missing in the Project structure
  • - Red9_General - Timer decorator now shows module/class and func in the report feedback
  • - Red9_Meta - Added **KWS update support to the addAttr call, if the attr exists and you've passed in kws then these will get synced and updated if in the internal 'valid edit kws' list. Great for use in the __bindData__ call to sync properties.
  • - Red9_Core - Added more logic to the main MatchedNodeInputs call. Now allows you to pass in 2 hierarchies directly for processing. This means you can by-pass the filter processing in all animation Functions and pass 2 hierarchies directly in for processing!
I've also added a build ID number in the Details UI so you can track the build version internally.

There's tons more coming, thanks for all the support


Monday, 4 March 2013

CameraTracker Vimeo

New CameraTracker Vimeo added, this is a really simple but useful little function for isolating motion when animating by tracking selected nodes with the current camera. This is going into the next release which will be in the next week or so, it's in testing at the moment.

Something I missed off was that the timerange the tracker uses is the same as all the other Red9 functions, either the current playback range OR your selected frameRange, highlighted in Red on the timeline.