Tuesday, May 31, 2011

And as if by magic! - Hotfix2



Fix list:
* Goal issue when using a straight curve
* Load render pass doesn't work when project is on network share
* Shadow artifacts occurs with large differences in object size
* Connecting luminance node to bump channel of mental ray shader causes crash
* UNC path bookmarks are not saved in new filebrowser
* Final gather map visualization not working
* Painting blendshapes problems
* Wacom tablet not working correctly in mouse mode
* dagContainer collapses at every DAG operation
* Unpredictable results referencing HIK characters
* Creating Framebuffer with a Geometry shader causes a crash
* Joint orient channels not accepting setAttr correctly
* Graph editor: cannot view multiple f‐curves on a character set
* Polysplit crash
* Metacarpal fingers not created when creating HIK control rig
* Pinning an effector is causing the pivot display to jump
* Missing manipulator handles in perspective view
* Adaptivesampling gives lower shading quality in framebuffers
* mia_material_x preset 'Satined Metal' renders differently
* Scenes with dense final gather settings may have longer render time
* Render with mental ray errors with multi‐shape polygons
* HIK: Shift+LMBdoes not allow for selection of keys on timeline if HIK in scene
* New option in move tool broken
* Human IK: Parenting Auxiliary Effectors to an object doesn't work

Thanks for the characterSet fix Cory (although not had chance to test it)

Thursday, May 26, 2011

Another day, another bug....

So I've been testing Maya2012 to see if it's ready to push out to the studio and found a couple of killer bugs.

#Bug:CharacterSets and GraphEditor
The first is a true show-stopper. If you have any node linked to characterSets, the graphEditor fails to show you your animation curves for the transform correctly. No stacked view, no curves unless you select each channel separately. No 'F' frame-all. Nothing. Kind of stops us in our tracks seeing as all our Rigs link via a characterSet. Hopefully this will be fixed in the next HotFix.

#Bug: HumanIK setAttr/channelBox/callback
So let's say you have a HumanIK Rig in 2012 and you move one of the IK effectors, now you'll see the callback where the rig only updates on mouse release, this is a limitation they put in for performance reasons apparently. But crutially if you try and do anything under the hood, or even changing data in the channelBox, this call back prevents any of the attributes from being modified. Seriously try it, grab an IK effector on the HIK Rig and just try changing a value in the channelBox....ooops!

So let's say you were trying to setAttr in code, the only way to do this is to wrap the call in context that Maya is internally calling... and this is selection sensitive too.

select the control....
hikManipStart(1,1); //(trans,rots)
do something.......
hikManipStop;

Not a good day for 2012.. coffee!

Sunday, April 10, 2011

Maya Playblast Fixes

Playblast Management in Maya

Possible Issues:
  • Missing codecs, or very limited selection
  • Missing Compression setting button in Maya
  • Skewed AVI's once generated
  • Maya error message 'Unable to create video track. Check format.'

Playblast issues have shown up in Maya since 2011 and / or Maya under Windows7 and a lot of people on many forums, and indeed at our studio, have been moaning about this for a while, I thought it was about time to put a few answers out there....

Codecs:
The first problem is that most of the codecs that you're used to seeing in XP/Vista won't be there in Win7, so if you're used to playblasting Xvid/DivX then you need to do a little bit extra to get these back.The fix is to hook Maya up with the FFDShow encoder, usually distributed via codec packs like K-Lite or Cole2K. Once you've installed one of these you'll see a new compressor show up in Maya, 'FFDS', this is the ffdshow video encoder.

In Maya2011 they also missed out the button that lets you setup compression settings like you could in Maya2010, you can choose the codec, but not set any options! You can by-pass this issue though, if you enter the following in the script editor:

playblast -compression ""


Now the standard Windows compression UI will pop up, letting you set the compression options (for FFDS this'll actually pop up the ffdsVFW encoder UI. If you don't do this then you can set the encoder up by opening the FFDSVFW window which you'll find under your windows Start>K-Lite>ffdsVFW
Here you can once again get access to most of your standard codecs like Xvid,DivX etc. We tend to set ours up to something like the following:



Skewed Avi's or Unable to Generate errors: 
These 2 symptoms are both linked, and not actually Maya's fault. If you try and compress an Xvid then the compressor is expecting the AVI to be on height and width bounds that are of multiples of 4 (if memory serves me correctly!).



So if you try and blast 640*480 all is good, if you do 641*480 you'll get the 'unable to generate' error, if you do 642*480 you get a skewed movie...so movie sizes under xvid/divx and ffds can give either a skewed avi, or the dreaded 'Unable to create video track' message. This basically means that the codec couldn't make the avi at the given size. The best thing to do is to use a Custom window size (or render settings) and stick to it.


Anyway, enough, hope that helps a few folk.

Mark

Sunday, April 3, 2011

Maya Bug: pointOnPolyConstraint

I was playing over the weekend and found a bug in the pointOnPolyConstraint code that ships with Maya2011, it doesn't support namespaces. Just to clarify, if you select a component, then a transform and use the 'constrain>point on poly' menuItem it'll fail on source objects with namespaces. The bug is in the Python code that assembles the command prior to passing it to the mel scope. Reading through this you have to query why the hell they build up the commands like this, built it in python, then pass a string back to mel to then run and eval on the string?? Why the hell not just run it from the python scope?

Anyway, the problem file is this one:

C:\Program Files\Autodesk\Maya 2011 Subscription Advantage Pack\Python\lib\site-packages\maya\app\general\pointOnPolyConstraint.py

Around line 18 there's a .split() to get the node name back, unfortunately in the constraint node that gets generated it doesn't support the nodes namespace in the attributes that get generated and the command fails. Easy to fix, open the file up and replace the following:

name = strings[0].split( '.' )[0]
#replace with the following
name = strings[0].split( '.' )[0].split(':')[-1]

Fixes it. Another one to log with support. Not yet tried it on Maya 2012 but I suspect the same will be the case

Mark

Friday, March 4, 2011

Nice Python function for dictionaries

Not my code but found this whilst browsing for some functionality. Basically allows you to use .dot formatting when accessing keys in a dict:


class dotdictify(dict):
    marker = object()
    def __init__(self, value=None):
        if value is None:
            pass
        elif isinstance(value, dict):
            for key in value:
                self.__setitem__(key, value[key])
        else:
            raise TypeError, 'expected dict'

    def __setitem__(self, key, value):
        if isinstance(value, dict) and not isinstance(value, dotdictify):
            value = dotdictify(value)
        dict.__setitem__(self, key, value)

    def __getitem__(self, key):
        found = self.get(key, dotdictify.marker)
        if found is dotdictify.marker:
            found = dotdictify()
            dict.__setitem__(self, key, found)
        return found

    __setattr__ = __setitem__
    __getattr__ = __getitem__



Now we can use '.' rather than having to use standard ['key'] syntax: eg:

life = {'bigBang' :  {'stars':  {'planets': {} }}}

life = dotdictify(life)

print life.bigBang.stars.planets
instead of:
print life['bigBang']['stars']['planets']

life.bigBang.stars.planets.earth = { 'singleCellLife' : {} }
print life.bigBang.stars.planets

Ok, so it's just syntax candy, but does makes things easier to read in code.

Tuesday, March 1, 2011

Maya 2012

At last we can start to talk about it, I think anyway. Looking good so far, Viewport2 particularly is looking and feeling quite solid, or it is in the latest build :)

Official Maya 2012 release details here:

http://area.autodesk.com/maya2012

more release details from Cory here:

http://area.autodesk.com/blogs/cory/maya-1

Friday, November 19, 2010

Audio Sound node - follow on

Following on from my previous post about audio:

In the Trax editor you can actually trim the sound directly. It's very hidden and there's no graphical hint at all, but if you LMB drag on the top left / right of the sound node, over the top time text, then you'll be able to trim the sound directly. If you're in the CamSequencer you can also, by doing a Shift MMB Drag, shift the audio itself within the sound track. All hidden features, but they work (only in 2011)