Friday, October 23, 2015

Quick 2016 hint for animators

Something that's been discussed for ages in the day to day workflow of animators is how to stop time changes going into the undo queue in Maya... well it seems that Autodesk listened and in 2016 SP4 you can now do one of the following to change the default behaviour:

optionVar -iv timeChangeUndoable 1;
optionVar -iv timeChangeUndoable 0;


optionVar -remove timeChangeUndoable;

Thanks to Kelly on the Beta group for this little nugget, duly logged so I can find it again in the future ;)


Wednesday, September 10, 2014

Lost Animation - part?? 3 ??

So this stupid bloody bug is still showing up in Maya, animation reloading in T-pose, all the animCurves still in the scene but Maya failing to reconnect the data on file load.

We've debugged this so many times in the last 10years I've lost count and yet it still pops up. So I've added more in-depth support for the fix methods in the Red9 Studio Pack.

There's now a new UI that opens up, this has 2 base methods.

Method 1: You're running character sets and referencing, Maya has failed to connect the data up BUT left the animCurves connected to the ReferenceNode.

Method 2: Maya has had a full blown fuck fest and left you with no hint to what data goes where. This method uses the names of the selected objects, and their animatable channels, then looks for all animCurves that may match.

Two flags, StripNamespaces.... does just that, removes the namespaces of the node before doing the curve match (curves are usually in root namespace). StripMergedLayerData, allows for the additional 'Merged_Layer_inputB' naming that animLayers use.

Hopefully that'll save somebodies life, I've had so many emails over these fixes over the last few years it's ridiculous



Wednesday, November 20, 2013

BUG: keyframe cmd with option flag

import maya.cmds as cmds
cmds.keyframe('%s_visibility' % cube, edit=True, r=True, timeChange=5, time=(0,8), option = "insert")

I'm trying to add to the Red9 animTools and want to be able to offset an entire hierarchies animations in one go, this is already supported however I want to add the ability of specifying a timeRange. Imaging you have a huge chunk of anim data and want to shift a section of it for a character by 10 frames. Currently shifting keys in the timeline won't ripple, it uses the segmentOver and causes a mess. Also you need to have all the objects selected when doing it and there's no numeric input. So I want to add it to the offestTime code.

This is all up and running except I've hit another crash bug, 100% repeatable crash and it boils down to the 'option' flag as used above. Give it a go, boom. Now I accept that in this case the sparse keys are an issue, but really the code should catch this.



Monday, October 28, 2013

Maya.standalone audio handler bug

Found a confirmed bug in maya.standalone at work this week which totally threw me.

 We have a backend process that our build machines trigger that involves the import of audio files for processing. Now by the look of it you can't import audio in Maya standalone, or rather, the audio you import looks like placeholder as it always has no length... which was a real issue for us. I've modified the Red9.AudioHandler to by-pass this for future but it's still a really starnge bug. Sounds like the audio loading requires something from the UI to be processed correctly.



import maya.standalone
import maya.cmds as cmds
cmds.file(audioPath, i=True, type='audio', options='o=0')'audio')[0]
cmds.getAttr('%s.endFrame' % audioNode)

Monday, October 7, 2013

Lost Animation Part3 !!

Well it seems this bug is very much still in Maya 2013 and for some reason we seem to be hitting it with more frequency at work. For those of you not aware this it's a bug where the referenceEdits in Maya don't get reconstructed correctly and you end up opening Maya scenes with characters in T-pose and all the anim data thrown back to the referenceNode.

Now over the years I've posted 2 options for reconnecting this data and had SOOO many emails about it, but now that we all run animLayers reconstructing this lost data is a damn sight harder. I'm just wondering if anybody else out there had any ideas of why animation keeps disconnecting itself from referenced rigs with chSets. I've been working past this bug for nearly 7 years now and thought it was quashed!

 Back to Autodesk I guess.


Thursday, August 8, 2013

ProgressBar Bug??

I've been building a simple context manager to wrap Maya's progressBar and come across a nice little Maya bug, or so it seems.

Run the following with the script editor open. Now press escape once, it aborts right, run it again, the sequence still runs and prints out the counter. Now next time you hit escape hit it a few times, as most people do when escaping a large task. Next time you run the code, it'll only do a single test before aborting.... it's like the progress bar is holding the escape key in a cache, so hit it once and next time it's clear to run, hit it twice and it's almost like it's storing it up...

import maya.cmds as cmds
import maya.mel as mel
gMainProgressBar = mel.eval('$tmp = $gMainProgressBar')
cmds.progressBar( gMainProgressBar,
    status='Example Calculation ...',
    maxValue=5000 )
for i in range(5000) :
    print i
    if cmds.progressBar(gMainProgressBar, query=True, isCancelled=True ) :
    cmds.progressBar(gMainProgressBar, edit=True, step=1)
cmds.progressBar(gMainProgressBar, edit=True, endProgress=True)

Can somebody else confirm that I'm not going mad!!

Wednesday, July 3, 2013

Another Maya Bug - Resample curve major issues

Hopefully you've all seen the new interactive curve filtering I've been working on for the Red9 StudioPack linked above, if not I recommend you watch it if you're ever dealing with dense MoCap data.

Anyway as I was doing this I noticed another bug in the way Maya is managing curve data, thought I had to share this to warn all you animators of the effect of using the 'resampleCurve' to run a bake on dense data.

Ignore the UI, this is a prototype of a new build which will manage filtering on steps, something that's been requested by a few people. What you're seeing here is just the slider pumping values directly into the standard Maya Resample Curve option....what the way the curve shifts in time as you increase the steps!!!!!!

Don't believe me, try it!

I've logged this as a bug so we'll have to see what happens.