About Me

Tuesday, April 16, 2013

Maya MObjectHandle

I've been fighting a crash bug in the Red9 MetaData for a while now and finally found the solution! The issue is that in the base class I cache the MObject in the node which means that if you reload the scene, or do a scene new, or reload reference etc that MObject pointer becomes invalid and Maya crashes whenever you try and call it. I really wanted to nail this issue as MetaData is absolutely at the core of all the work we're doing at Crytek.

So I did some digging and found the MObjectHandle class!! brilliant, it's a class designed specifically to test the health/validity of MObjects, basically now I'm caching both the MObject and an MOjectHandler for it, all the calls now just run a really simple test before using the MObject:

MObjectHandle.isValid()

Brilliant, all I have to do is raise a good warning and the bug is crushed, should make things a lot more stable hopefully!

cheers

Mark

Thursday, March 7, 2013

Red9 StudioPack v1.29 goes live!

Thought I'd bump the post of my Red9 blog:

http://red9-consultancy.blogspot.co.uk/2013/03/red9-studiopack-v129-released.html

I've just added the latest build to the download link on my Red9 Blog and to CreativeCrash, as always thanks for all the support and feedback, keep it coming! I'm trying to keep the Red9 project semi-separate to my main blog, just makes it cleaner.

thanks

Mark

Friday, December 21, 2012

Red9 Studio Pack v1.27 released!

Well I've finally finished the Red9 Studio Pack v1.27 release so Happy Christmas to you all!

See details here: http://red9-consultancy.blogspot.co.uk/2012/12/its-done-happy-christmas-all.html

Download either follow the link of the Red9 blog or grab it at CreativeCrash:

http://www.creativecrash.com/maya/downloads/scripts-plugins/animation/c/red9-studio-pack

Have a great Christmas, any questions or feedback just nag me!

Mark

Wednesday, December 12, 2012

Animation Binder integrated to Red9

With the next build of Red9 Studio Pack (v1.27) I've integrated my AnimationBinder MasterClass toolkit into the setup, means I can expand it a little and make use of the rest of the pack. I added a small fix to the bake calls too, it now runs Euler filters and delete static for curves after the bake to try and clean up the resulting rig data.

cheers

Mark

Saturday, December 8, 2012

Red9 Studio Pack!



Red9 Studio Pack : 
Well time to come clean, as some of you already know I've been writing my own Studio Tools setup for Maya and thought it about time I actually put my name to it! Whats in it, god where do I start, lots of tools for Animators, Rig management, MetaData API, Pose Library and it's expanding daily as it's gradually battered more and more at work. For more details check the Red9 Blog in my links, at some point I'll merge both Vimeo channels and maybe blogs, either that or I'll leave the Red9 blog just for the pack.

They'll be a big update in the next week or two and I'm starting to do a ton of new demo videos. For those of you who've been testing the build thankyou, if anybody wants more info drop me a mail.

cheers

Mark

Monday, November 26, 2012

Eurocom - Sad news...

Pretty sure everybody in the industry knows about this now but if not, Eurocom laid off 150+ staff on Friday, lots of very talented people back on the jobs market in tough times. End of an era as the whole Art Pipeline team were amongst the lay-offs so the pipeline I started 10years ago now lies dead and unloved :(
oh well, on-wards and upwards.

Good luck guys, we were all gutted about the news and wish you all well

Mark

Monday, November 12, 2012

Maya string attr - 32k limit

Just thought I'd spread this in case anybody else is thinking of using a json string to dump data to an attribute in Maya.

Discovered last week that you can happily set a string attr to any length BUT, and it's a big but, if you subsequently select the textfield (you don't even have to edit it, just select it) then Maya runs a change callback and the string is now clamped to 16bit = 32,767 characters. It was driving me mad last week as I kept getting errors in the json decoder when I tried to read a pose back that I'd serialized to a string on our characterNode. I want to store a zero pose on the Character Node along with some extra data that I'm pushing to a dict, json.dumps is a really nice way to that push that dict to a string and store it and then retrieve it back in it's original form with json.load()

Try it for yourself!
import pymel.core as pCore
Cone=pCore.polyCone()[0]
Cone.addAttr('json_test', dt='string')
data= "x" * 40000
Cone.json_test.set(data)

len(Cone.json_test.get()) #>>40000
Now just open the Attribute Editor and just select the json_test textfield - don't edit it, just select it
len(Cone.json_test.get()) #>>32767
Only thing you can do to stop this truncation is to lock the attr, that way it gets stored correctly and doesn't get truncated.

Mark