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