Welcome to my blog, this is the random mutterings from a Senior Pipeline TD currently working for Crytek UK. Thoughts, tips and moans on any subject loosely associated with Autodesk Maya / Python / Pymel / 3d in general. If you've nothing better to do then stick around.
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!
#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:
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
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:
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
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:
Now we can use '.' rather than having to use standard ['key'] syntax: eg:
Ok, so it's just syntax candy, but does makes things easier to read in code.
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
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)
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)
Subscribe to:
Posts (Atom)



