Pose 2 Shelf
Gotta give props to simple, good scripts. I was posing out some wing shapes on a character and I was looking for a simple pose storing script. Here it is.
http://www.creativecrash.com/maya/downloads/scripts-plugins/animation/c/pose-2-shelf
Simply select your controls, name your pose and BAMM it saves the pose as a button to your shelf. Gotta like that stuff.
Monday, December 26, 2011
Saturday, December 24, 2011
V-RAY for MAYA shader library
Yes! For you people out there who use Vray, I highly recommend you grab this shader library tool by Oliver Markowski. It comes with a shwack of presets, a test sphere file that you can create and export your own shaders and a very cool GUI for Maya. It's a bit of work to install and NOTE: you have to convert all of your .jpg preview files to .png files for them to be viewable in the GUI. But when it's up and running - this is a great tool for shader organization.
Yes! For you people out there who use Vray, I highly recommend you grab this shader library tool by Oliver Markowski. It comes with a shwack of presets, a test sphere file that you can create and export your own shaders and a very cool GUI for Maya. It's a bit of work to install and NOTE: you have to convert all of your .jpg preview files to .png files for them to be viewable in the GUI. But when it's up and running - this is a great tool for shader organization.
Thursday, December 22, 2011
Constraint Burn + Extrude along face normal burn
And another one! Making even indents or extrudes on objects...not so intuitive in Maya. I needed to make the indents on a mouse button and after my extrude I was looking for all types of settings on the move tool. The 'normals' only works on nurbs and verts. To move faces inward or outwards along normals you need to use the edit mesh/transform components tool. Jeez.
Did I miss something on an update or have I just done too many bad things to my brain lately? I always used to use the 1W0 attribute to animate a constraint on and off. Now it seems there is a Blend Point 1 attribute that does the job. When you create a constraint this is added in your channel box right after visibility.
Anyway, had me going in circles for a bit. And another one! Making even indents or extrudes on objects...not so intuitive in Maya. I needed to make the indents on a mouse button and after my extrude I was looking for all types of settings on the move tool. The 'normals' only works on nurbs and verts. To move faces inward or outwards along normals you need to use the edit mesh/transform components tool. Jeez.
Tuesday, November 22, 2011
THE ZEN
Ahhh Maya transfer attributes...why oh why do you add a history node to the stack when transferring. I had a situation where I needed to match the vertex positions of one object to another. The problem is that it adds a non-deletable node to the target's history. If you delete it, the tweak reverts. Lame.
Why can't it just query the vertex position of the base object and copy those values to the target verts?
Well thankfully there's a script that does just that. It the ZEN yo!
http://dissentgraphics.com/tools/zentools/
There are a big shwack of scripts in this suite but the tool I am talking about is in the mel folder. It's called doZenTransferPointPositions.mel
Select your base object and your target verts and run it. SNAP. Vert positions copied.
Ahhh Maya transfer attributes...why oh why do you add a history node to the stack when transferring. I had a situation where I needed to match the vertex positions of one object to another. The problem is that it adds a non-deletable node to the target's history. If you delete it, the tweak reverts. Lame.
Why can't it just query the vertex position of the base object and copy those values to the target verts?
Well thankfully there's a script that does just that. It the ZEN yo!
http://dissentgraphics.com/tools/zentools/
There are a big shwack of scripts in this suite but the tool I am talking about is in the mel folder. It's called doZenTransferPointPositions.mel
Select your base object and your target verts and run it. SNAP. Vert positions copied.
Monday, November 14, 2011
Script Manager
Yea! Here is a sweet script that allows you to execute, source and edit scripts all within one window. I can't say how annoying it is to have to source a script then type it into the MEL line. This script is UI genius.
Check it!
Check it!
Monday, October 17, 2011

Automation automation....au-to-mation
I've been out of the rigging loop for a while but man there are some sweet new tools. Anzovin's The Setup Machine 2 is pretty damn sweet. But here's a niiiice reverse foot setup script that puts in all of your toe roll, heel roll etc etc automatically. Gotta dig it! The script is over at Creative Crash but here's a video showing it's slickness
Wednesday, October 12, 2011
Monday, October 10, 2011

Lovin' VRAY for Maya's VRAY Blend material
Sometimes the most simple things tweak my brain. I remember the pain of having
to use mix8 nodes in Mental Ray. This mucho bettero.
1. slap down a vray blend MTL.
2. Throw a semi transparent shader in as your base.
3. add in another shader with a blend amount or use a texture to determine blend amounts.
That's it. Insta-layered shader. Awesome.
Sunday, May 08, 2011

GOODBYE MENTAL RAY!
After going over digital tutor's introduction to vray for maya, I'm pretty convinced that it's far better than MR. With GI, motion blur, caustics, blurry relflections all on - I can still get decent render quality and times....on my laptop.
I recommend this Digital Tutor tut if you are thinking of dropping into VRAY.
http://www.digitaltutors.com/11/training.php?pid=431
Wednesday, December 08, 2010

XVID AUDIO PROBLEMS IN PREMIERE
So you're cutting in Adobe premiere Cs5 and some of your video has the Xvideo codec applied. For some reason Premiere can't read your audio. Well, it's well documented that Adobe considers Premiere as a DV editing software and that the Xvid codec is for presentation only. BOOOO. The only solution is to extract your audio with an external program as a .wav and bring that into Premiere. AoA audio extrator......Free and it works.
Friday, November 12, 2010

NCLOTH SCALE
Here's one that briefly burned me today and I thought I had a blog post of it. If you've created Ncloth and a default preset isn't moving correctly it's most likely that you are not working to 1/10th scale.
Because Maya perceives 1 unit as 1 meter (when your prefs are set to cm's), they also built the cloth solver to solve at that scale. Under the Nucleus node there is a space scale attribute that can be set to 0.01 if you are in a pinch but I'd suggest to model to 1/10th to get the most predictable results.
**Here's a fantastic whitepaper on the Nucleus solver.
Friday, November 05, 2010

Maya 2011 Vector Blur
Things are a bit different now when rendering vector blur. Now Maya has incorporated it into render passes. You no longer need the LM2DV shader.
Render out 32 bit EXR with the blur embedded into the pass and break it out into your comp package. This is how to do it with Maya's "composite" package.
1. Separate your FG and BG into render layers.
2. For each layer needing vectors, go into your passes tab in render settings and
add a BEAUTY and a mv2Dtoxik (2DmotionVector) pass.
3. In your quality tab make sure your framebuffer is RGBA 4x32bit instead of the default 8.
4. Image format - openEXR
5. Render
COMPOSITE - See image for nodes used and also use this dude's video http://www.youtube.com/watch?v=GMKvhKf22r8
Thursday, September 23, 2010

Nudge Keys Script
When you're working with stepped keys a cool tool to have is a 'nudge selected keys 1 frame left or right' script. I'm no complex MEL guy but here's the code you can slap onto a shelf button...
Nudge -1
keyframe -animation keys -option over -relative -timeChange (0 - 1) ;
Nudge +1
keyframe -animation keys -option over -relative -timeChange (0 + 1) ;
Monday, September 20, 2010

VLC LOOP SCORE!
Finally figured out how to get the best player hooked up for playblasting. The problem is that it's never had an option for autolooping by default. Here's the config file hack.
With clicking on View->Playlist->and then either clicking on Repeat Once or Repeat All, you have to do that every time you open a multimedia file. If you want VLC Media Player to do it by default every time you open a file, open up the file called vlcrc, which is located in the ~/.vlc folder, with a text editor. Look for '# Repeat all (boolean) #loop=0 # Repeat current item (boolean) #repeat=0' inside that file. Change the 0s to 1s & remove the #s and, after doing that, make vlcrc read-only. Then, everytime you open up a multimedia file, the player will loop the multimedia file by default.

64 BIT CODEC WOES?
*Also unfortunately there are a lot of codecs missing in Maya 2011 64 bit Win7. Right now I'm using the FFD show codec which can be found here...
*TIP strange colors on your video when playblasting? In VLC change your video/output to Windows GDI output.
Wednesday, September 15, 2010


MUDBOX/MAYA CONNECTION
There's a nice new feature in Maya now when you want to add sculpted detail to your models via Mudbox. Here's the quick rundown.
1. Model and UV up your Maya model.
2. File/Export selected to Mudbox
3. Sculpt it up.
4. File/send to Maya. You'll get an option box popup and next time you click on Maya BOOM your Mudbox object is back in.
NICE
Friday, February 19, 2010

NCLOTH HEIRARCHY
Always found it frustrating to have a character/creature with Ncloth imported into a scene then have to move the character away from 0,0,0. The ncloth would snap away like crazy and youd have to relax it etc etc while positioning.
Here's a technique to have a fully positionable character have it's Ncloth solve as if it was on 0,0,0 anywhere you position it.
Let's say you have a cloth scarf transform constrained to your character's neck
1. Grab the geo of the scarf and parent constrain it to the transform constraint. Now the scarf moves wherever the transform constraint goes AND solves from rest position anywhere you position the character.
Sunday, February 14, 2010

Motion Blur + Constraints
Here's a trick that I found on an old cgtalk post...
Sometimes you have a character's hand constrained to a surface and in 1 frame you switch off the constraint. Well, since the renderer reads past and previous frames for motion blur you wind up with a crazy streaked motion blur on the frame where you turn the constraint off.
1. Grab the trans keyframes of your object (or say your character's arm control) on the frame BEFORE the constraint gets turned off.
2. Turn off snapping in your graph editor and drag the keys extremely close to the next keyframe (to the right) . Zoom in and drag them as close to the keyframe where the constraint turns off as you can. Voila, proper motion blur.
Tuesday, February 02, 2010

Transferring UVs AFTER rigging....
This is a tough one, but here's the HACK. Lets say you've rigged up your amazing character and realize OH, I have to make a bunch of UV changes. You copy out your character's head, UV it up nicely, bring it back in and use the "transfer attributes" from your copied head to the rigged one.
No deal. It's because your transfer attributes input comes after rigging and all UV inputs have to come before rigging. Same as in Ncloth.
I don't understand why Autodesk doesn't put in a "before deformers" option or something similar to how you can insert blendshapes at certain parts of a deformer chain.
ANYWAY
Every object has a "shape orig" node which represents what an object was before it was deformed. We can apply a UV transfer to this no problem which will also transfer up the stack to your rigged object.
I access it like this
1. Select your rigged object, in the hypergraph hit options/display/ hidden nodes & shape nodes
2. You'll see a hidden node which is your Orig node, or what your object was before rigging.
3. In the orig node's attribute editor under object display, uncheck 'intermediate object'
4. Your Orig node is now accessible.
5. Apply your UV transfer attributes to it - then delete it's history.
There you go - you've applied your transfer to your object via it's history object. Maya sees it that you performed this operation before rigging. Now why Autodesk hasn't made a tool for this....who knows.
Wednesday, January 27, 2010

CORE RELEASE
For all you home, 1 machine render monkeys out there. I just discovered how to drop some core processing power (if you have a multi-core computer) while you are rendering so you can do all that web surfing while your machine chugs. CTRL-ALT-DEL into your task manager. Find the Maya process, right click on it and select set affinity. Click off one of procs. Cool, never knew about that one.
Tuesday, January 26, 2010

SEQUENCE RENAMER
Nice and simple free app to rename those image sequences that you buffooned in your render settings. It's through creative crash so you need to register.
sequence 911 click here.
Monday, January 18, 2010

V-RAY FOR MAYA BASICS
Simple start for the V Ray renderer plugin.
http://www.creativecrash.com/tutorials/vray-for-maya
Wednesday, January 13, 2010

USING NCLOTH TO DRIVE YOUR HAIR OR SPLINE IK
I came across a VERY cool technique to drive Maya's hair or splineIK. I saw a post online and the guy said
"create strips of polys from your hair, apply nCloth to them then wrap the hair to the nCloth"
I said "huh"?
So basically here's what he means...
Let's say you need a dynamically driven IK handle that you would normally drive with a dynamic curve (say a pony tail or an antennae). Instead
1. Loft 2 curves together and create a poly 'ribbon'.
2. Create nCloth of your poly loft.
3. Take 1 of the curves and wrap deform it to the polys which are now nCloth.
4. Your curve is now driven by the movement of the nCloth which is MUCH more versatile and has way better collision detection.
5. Now you can set up joints and spline IK your nClothed curve to them...all of this being driven by your nCloth.
6. Set up your nCloth constraints which are very good and predictable. Adjust your ncloth movement as you need it.
Saturday, January 02, 2010

SHOT 30FPS AND NEED IT AT 24FPS?
EDIT: WOW even a better technique... http://www.videocopilot.net/preset/frame_rate_converter/
Here's a cool tutorial on a quick and dirty way to convert 30i footage to 24fps in After Effects.
http://blog.jrnielsen.com/2009/05/convert-30i-footage-to-24p-with-after-effects/
http://www.youtube.com/watch?v=TxdTbZngslE
Friday, December 11, 2009

IXNAY ON THE RENDER PASS OCCLUSION RAY
Alright, the problem with maya's built in ambient occlusion render pass is that it offers no control over it! It's just a blanket setting that eats up render time like mad. It's about 5 times slower than setting up the mib_amb_occlusion node to a surface shader. Lame I say!
So keep with the method of setting up a render layer, piping the outValue of the occlusion node to the outColor of a surface shader. Assign it to all that needs occlusion in that render layer (play with samples value until you get a nice result) and render. Way faster.
Tuesday, December 01, 2009
Consistent MR mem crash tip
Whilst batch rendering a sequence I often find my render queue cut out on a certain frame. When I open it in Maya and try and render that frame, Maya will cut out and crash as well.
The Culprit:
MR approximation editor min/max subdivisions set too high. Lower that tesselation down and MR should be able to chew it.
Whilst batch rendering a sequence I often find my render queue cut out on a certain frame. When I open it in Maya and try and render that frame, Maya will cut out and crash as well.
The Culprit:
MR approximation editor min/max subdivisions set too high. Lower that tesselation down and MR should be able to chew it.
Thursday, November 26, 2009

FOG LIGHT/GOD RAYS IN MENTAL RAY
Of course, it's not easy as with most things in MR but here it is.
1. Create a poly object (cube) which will act as a 'container for your fog.
The smaller the container the less calculations Maya has to make.
2. Create a light that will be your fog light. Turn on raytrace shadows with trace depth 5.
(use MR lights for cooler results, i.e. attach a physical light to a spotlight)
3. Make sure your objects are within your container.
4. Create a shader (lambert) that you will apply to your container.
5. Open the lamberts 2sg node and hook a transmat node to it's MR custom shaders
-material shader and shadow shader. This will make the container's geometry
invisible to the renderer.
6.Connect a parti_volume node to the volume shader slot.
7. Turn up the parti_volume's scatter a bit.
8. In the parti_volumes attributes, link your light to it through the light linking
drop down.
9. In your render globals, Features...turn on auto volume volume samples 8.
10. Under quality, Raytracing...turn shadows up to 6.
There it is, your 10 steps for a simple effect. Now tweak your parti_volume
node to death and have fun ! (Min Step Len lower makes fog less grainy)
Those render times are gonna be pretty harsh!
Friday, November 06, 2009

EDIT EDIT EDIT ** ALTERNATE VECTOR BLUR METHOD
Sure enough bloody Mental Ray lack of integration has done it again...and
MAYA HAS IT'S OWN LM2DV SHADER ---- HELLO 64 BIT VECTOR RENDERING
Well the geniuses at Autodesk have hidden some very good shaders called MIP. shaders
the one we want is called mip_motion_vector.
http://www.pixelcg.com/blog/?p=528
To enable them in the mental ray shaders GUI under materials and output shaders
go into your mentalrayCustomNodeClass.mel file in (in ../scripts/others)
http://forums.cgsociety.org/showthread.php?f=87&t=541718&page=1&pp=15
Edit: It came to my attention there is an easier way of exposing these shaders
in your script editor type
optionVar – iv “MIP_SHD_EXPOSE” 1;
restart Maya and the shaders will appear !
VOILA
your own shader group that you paid Autodesk for but they didn't want you to have it.
NOW
In the mip_ node Connect the message to mental ray miOutputShader node of whichever camera you are using via the connection editor-
you have a perfectly working LM2DV shader. Don't forget to enable vector and depth in the Legacy Output Shaders in your camera's attribute editor. Also enable motion blur with
equal shutter values as you would for the LM2DV shader.
NEW RSMB MBLUR VECTOR TECHNIQUE
Well, seems that the LM2DV shader for rendering out motion vectors is kaput. The guy who developed it has changed his website...BUT
Innovation has arrived. Seems you can render out a 2d vector pass with Mental Ray's output passes that are actually better. Here's the tutorial.
http://aloedesign.com/2008/12/maya-2d-motion-vectors-tutorial/3/

Thursday, November 05, 2009
MUDBOX TIPPAGE
Always have trouble extracting displacement maps from Mudbox.
* Always model quads. Mudbox calculations hate ngons & Tris.
* Check for non-manifold faces. Destroy them.
* Make sure UVs are clean and that shells have some distance from eachother.
* Use as few UV shells as possible. Map extraction is slow with many shells.
Always have trouble extracting displacement maps from Mudbox.
* Always model quads. Mudbox calculations hate ngons & Tris.
* Check for non-manifold faces. Destroy them.
* Make sure UVs are clean and that shells have some distance from eachother.
* Use as few UV shells as possible. Map extraction is slow with many shells.
Wednesday, November 04, 2009
WIREFRAMING A SUBD OBJECTThis one is a bit of a hack because it's hard to render a subD wire object with backface culling.
Contour shader only wires polys and the the hardware buffer sux at culling.
Basically we create the wires by saving a playbast.
1. Apply a black shader to your object.
2. Turn on 'wireframe on shaded under shading.
3. Turn on 'smooth lines
4. Adjust 'thicker lines
5. Playblast out your animation and save it to whatever resolution you need.
MAYA WIREFRAME RENDERING VIA MR CONTOURS
Here's a cool wirefframe render technique.
1. Apply a shading map shader to an object.
2. In the SG material node, check enable contour rendering under the mental ray tab.
3. Enable contour rendering under the Render Settings/Features/Contours.
4. Crank over sample.
5. check "Around All Poly Faces" under Draw By Property Difference
http://img261.imageshack.us/img261/9059/contour.jpg
OR
http://ashutoshjha.org/tutorial/wireframe-render-in-maya.html
Friday, October 16, 2009
nCloth Scale
How many times have the endless channel boxes of nCloth wasted my time....? Well here it is, if you are working in centimeters and have cloth no bigger than a meter square, you're fine. Continue.
*If you are working on large pieces of nCloth then the SPACE SCALE value on your nucleus node needs adjusting. Smaller values for larger cloth. ALSO your LIFT attribute on your nCloth node has to follow that too. For example if your space scale is 0.01, then your lift should be 0.001
*Any turbulence fields need exponentially higher values as well.
How many times have the endless channel boxes of nCloth wasted my time....? Well here it is, if you are working in centimeters and have cloth no bigger than a meter square, you're fine. Continue.
*If you are working on large pieces of nCloth then the SPACE SCALE value on your nucleus node needs adjusting. Smaller values for larger cloth. ALSO your LIFT attribute on your nCloth node has to follow that too. For example if your space scale is 0.01, then your lift should be 0.001
*Any turbulence fields need exponentially higher values as well.
Saturday, July 18, 2009
ANI-TECHNIQUE
Woah long time no update. Well, just figured out a nice and natural way to scrub animation while working. Map the 1 and 2 keys of your keyboard to frame forward and backward. Now with your left hand you can 'flip drawings' so to speak while you animate. It feels comfy and if you are a gamer most likely very natural.
Woah long time no update. Well, just figured out a nice and natural way to scrub animation while working. Map the 1 and 2 keys of your keyboard to frame forward and backward. Now with your left hand you can 'flip drawings' so to speak while you animate. It feels comfy and if you are a gamer most likely very natural.
Wednesday, April 29, 2009
UV CHARACTER AFTER RIGGING
Interesting technique I found on a post
Here is the message that has just been posted:
***************
eg: UVing after rigging the character
Just make a duplicate of the rigged mesh , preferably before you rig the character
Lay out the uv's on the duplicated mesh
after rigging the character , plug the last piece of history (of the copied mesh)(the last node before it goes into the shapeNode) into the first meshshape in the "hierarchy" (hypergraph) (normally called something like "meshShapeOriginal" , if the rigged mesh is called "mesh") output or outmesh --> inmesh
and then break that connection again.
Your mesh will be updated and no history will be added to your rig
I normally use this method for mesh changes aswell , if you add new points to the mesh , those points will just have to be added to the skincluster.
(and that is the reason why I use a wrapDeform for the face , then changes to the mesh wont screw up my blendshapes)
Interesting technique I found on a post
Here is the message that has just been posted:
***************
eg: UVing after rigging the character
Just make a duplicate of the rigged mesh , preferably before you rig the character
Lay out the uv's on the duplicated mesh
after rigging the character , plug the last piece of history (of the copied mesh)(the last node before it goes into the shapeNode) into the first meshshape in the "hierarchy" (hypergraph) (normally called something like "meshShapeOriginal" , if the rigged mesh is called "mesh") output or outmesh --> inmesh
and then break that connection again.
Your mesh will be updated and no history will be added to your rig
I normally use this method for mesh changes aswell , if you add new points to the mesh , those points will just have to be added to the skincluster.
(and that is the reason why I use a wrapDeform for the face , then changes to the mesh wont screw up my blendshapes)
Monday, March 23, 2009

SCREEN CURVE DRAW TOOL annotatepro
This tool is kinda like the grease pencil script which I can't find any more. It allows you to draw on top of any application. Kinda like a top layer. Comes in handy while checking your arcs whilst animating.
http://www.annotatepro.com/
Thursday, January 22, 2009

LOVIN THE "3" KEY
It's just a matter of time before Maya takes the cool things from other packages and implements them. One of the things I liked about Lightwave's modeller was the ability to sub-d preview and render objects at render time by pressing TAB (I think it was). I was playing around with maya 2009 and it seems that by pressing the 3 key and rendering with MR.....bamM!!! smoothed sub-d proxies woot! And if you want to 'freeze' the object into a high poly version, just
Modify/Convert/Smooth Mesh Preview to Polygons
Sunday, January 18, 2009

FREE KNOWLEDGE
Here is a website by an artist called Neil Blevins. Although 3dMax centric, there is a lot of information about taking real world properties and translating them into 3D. Very good stuff.
http://www.neilblevins.com/cg_education/cg_education.htm

Fresnelly Reflections.
I couldn't remember the old trick to input a sampler node's facing ratio into a ramp for fresnel relfections. I'm working on a project with a lot of anistropic shaders and in my opinion, the MIA material X is lacking in specular highlight control.
Found the ol' trick over here....
http://forums.cgsociety.org/showthread.php?f=87&t=350691&highlight=fresnel
Tuesday, December 30, 2008
DEMO REEL CREATION
This is just a self reminder of things I always forget when creating a demo reel.
**FRAMES PER SECOND!!!! 24, 30 - SET IN MAYA - RIP FROM NTSC NOT PAL
** TV SAFE ZONES!!! SHRINK FOOTAGE IN PREMIERE
** LEAD TIME AND END SPACE - LEAVE A FEW SECONDS OF BLACK FRAMES AT START & END
** USE GOOD DVD AUTHOR SOFTWARE. TMPGENC DVD AUTHOR IS BEST!
This is just a self reminder of things I always forget when creating a demo reel.
**FRAMES PER SECOND!!!! 24, 30 - SET IN MAYA - RIP FROM NTSC NOT PAL
** TV SAFE ZONES!!! SHRINK FOOTAGE IN PREMIERE
** LEAD TIME AND END SPACE - LEAVE A FEW SECONDS OF BLACK FRAMES AT START & END
** USE GOOD DVD AUTHOR SOFTWARE. TMPGENC DVD AUTHOR IS BEST!
Tuesday, December 23, 2008
MENTAL RAY TRIX
That I always forget. As we all know, MR in a 32 bit situation cannot handle complicated scenes. A neat feature in Maya 2009 is an :
*auto conversion of texture files to .map files. If you are using big textures, the .map hack is now available under.....
SETTINGS/PREFERENCES / SETTINGS / RENDERING / use optimized textures (auto conversion)
***And here is a great little utility to convert all of your textures files to map files within maya itself. All you have to do is select your textures and it will bake them and re-associate them for you. Awesome.
RIESS_IMF_COPY_DOWNLOAD
That I always forget. As we all know, MR in a 32 bit situation cannot handle complicated scenes. A neat feature in Maya 2009 is an :
*auto conversion of texture files to .map files. If you are using big textures, the .map hack is now available under.....
SETTINGS/PREFERENCES / SETTINGS / RENDERING / use optimized textures (auto conversion)
***And here is a great little utility to convert all of your textures files to map files within maya itself. All you have to do is select your textures and it will bake them and re-associate them for you. Awesome.
RIESS_IMF_COPY_DOWNLOAD
Wednesday, November 26, 2008
AUTOSPIDER RIG TUTORIAL
An interesting way to make a 'pull toy' spider with set driven key legs using offsets.
http://www.pixero.com/tutorials_spider.html
An interesting way to make a 'pull toy' spider with set driven key legs using offsets.
http://www.pixero.com/tutorials_spider.html
Thursday, October 30, 2008
CREATING nCLOTH UV'S BEFORE DEFORMERS
well, have you ever created Ncloth and found that your UV's are sliding like they are being projected? The problem is, you need to create your UV's BEFORE you create your cloth. If you find that your UV's are after your cloth in your history stack, don't dispair.
1. Select your cloth and delete your uv's
2. under nMesh hit 'display input mesh' -this will display your original object before it was clothed.
3. Apply new uv's or transfer to this object and voila...your uv's are pre-deformer.
OR
1. Duplicate your cloth object.
2. Delete it's history.
3. Delete cloth's post deformer swimming uv's
4. Transfer the uv's from the duplicated object to your cloth
well, have you ever created Ncloth and found that your UV's are sliding like they are being projected? The problem is, you need to create your UV's BEFORE you create your cloth. If you find that your UV's are after your cloth in your history stack, don't dispair.
1. Select your cloth and delete your uv's
2. under nMesh hit 'display input mesh' -this will display your original object before it was clothed.
3. Apply new uv's or transfer to this object and voila...your uv's are pre-deformer.
OR
1. Duplicate your cloth object.
2. Delete it's history.
3. Delete cloth's post deformer swimming uv's
4. Transfer the uv's from the duplicated object to your cloth
Friday, October 10, 2008
MOTION PATH VIA IK SPLINE
Interesting technique, using the 'offset' value of an IK spline to drive
a series of bones along a motion path curve. Of course..it doesn't work
on a curve on surface which is what I'm trying to figure out.
http://forums.cgsociety.org/showthread.php?f=88&t=259168&highlight=motion+path+tail
Flow object on a motion path curve on surface stretches the object like mad.
Interesting technique, using the 'offset' value of an IK spline to drive
a series of bones along a motion path curve. Of course..it doesn't work
on a curve on surface which is what I'm trying to figure out.
http://forums.cgsociety.org/showthread.php?f=88&t=259168&highlight=motion+path+tail
Flow object on a motion path curve on surface stretches the object like mad.
Wednesday, October 08, 2008
RECORDING AUDIO FROM ANY VIDEO
Sweet. Not really to do with CG but ever watch a youtube video and want to
rip the audio from it? I do all the time. Here's a sweet tutorial
on how to do it. *he rips to .wav but you can use other recording
software to record to MP3.
http://www.youtube.com/watch?v=zg3vs7oh32s
Sweet. Not really to do with CG but ever watch a youtube video and want to
rip the audio from it? I do all the time. Here's a sweet tutorial
on how to do it. *he rips to .wav but you can use other recording
software to record to MP3.
http://www.youtube.com/watch?v=zg3vs7oh32s
Wednesday, September 17, 2008
STUFF LEARNED ABOUT OBJECT TRAVEL ACROSS SURFACE
Oh dear...
Sometimes trying to acomplish the most simple things leads to many discoveries about the tools that you use. I will most definitely have to catalogue this because I don't want to have to figure this out in the future....
Techniques to have multiple objects travel across a surface in random different directions while obeying surface normals and directions.
My first intuition was to run random instanced particles across a surface and somehow stick them to the surface. This can be done. Make a surface live, sketch particles on, throw down some gravity and get those particles moving...
*but what if you need to direct those particles and also have them 'stick on'? Gravity will tell them that if they hit an edge, to fall off the surface. Plus with fields, you can't direct particles as precise as a picky client wants them :)
So I figured, why not make the surface a goal? Great! So the particles move towards the vertices of the surface. As well, you can randomize those final goals with GoalU/V expressions.
*problem? Yes. If you have particles on a curved surface they will pick a goal but will not travel across it. It will pick the shortest line to that goal and intersect with your GEO. Of course...you haven't told your particles to obey a surface.
This is where ClosestPointOnSurface node comes in...what is this?
It's a node that isn't very documented or implemented (or user friendly for that matter) in Maya that allows an object to query where the closest point on a surface is at any moment and use it's info for whatever purposes one needs. So what you can do is have the instanced particles "ask" maya at every frame "where is that point on the surface I am travelling across - oh there it is, let my position stick to it".
*problem? Yes. This method doesn't tell the instances to rotate themselves based on the surface normals! So you have objects that flow across a surface with their back always facing straight up, even if on a hill.
Well, it seems that some people have gone as far as to use an aim contraint, with some intense expressions, tell the instances to aim their backs towards a normal that is tied to the aim constraint...but at this point I said "I'm an ANIMATOR not a Fu@ki# code alien" and gave up.
*Maya and objects travelling across a surface in random directions...obeying normals - NOT an easy task. This is obviously why there are expensive crowd simulation tools to do this.
TECHNIQUE
*Good old motion paths.
1. Create a nurbs surface with as many bumps or curves that you need.
2. Create your object that you want to animate.
3. Make your surface live.
4. Draw a curve anywhere on it. This curve becomes a curve on surface. Editable
and moveable across the surface.
5. Attach your object to the motion path using 'normal' as your world up type.
There it is. A completely animateable surface object towards any goal, following
normals, completely directable and editable.
Needs 1000's like an army? Just duplicate the curve and object with input
graph selected and randomize as you duplicate. The nice thing is that the curve on surface
follows the surface at all times.
TECHNIQUE #2
Normal and geometry constraints.
1. Create your object and your surface.
2. Group your object and goemetry and normal constraint the group to the surface
so that you can rotate your object on it's local Y axis as well.
3. Your rotation might be off but no problem. Rotate the child object or move it
to align to surface.
4. Move and animate your object across the surface!
* the only problem is that if your surface's normals are weird, your object's
rotation may be affected. Good for flat to moderately curvy surfaces.
Oh dear...
Sometimes trying to acomplish the most simple things leads to many discoveries about the tools that you use. I will most definitely have to catalogue this because I don't want to have to figure this out in the future....
Techniques to have multiple objects travel across a surface in random different directions while obeying surface normals and directions.
My first intuition was to run random instanced particles across a surface and somehow stick them to the surface. This can be done. Make a surface live, sketch particles on, throw down some gravity and get those particles moving...
*but what if you need to direct those particles and also have them 'stick on'? Gravity will tell them that if they hit an edge, to fall off the surface. Plus with fields, you can't direct particles as precise as a picky client wants them :)
So I figured, why not make the surface a goal? Great! So the particles move towards the vertices of the surface. As well, you can randomize those final goals with GoalU/V expressions.
*problem? Yes. If you have particles on a curved surface they will pick a goal but will not travel across it. It will pick the shortest line to that goal and intersect with your GEO. Of course...you haven't told your particles to obey a surface.
This is where ClosestPointOnSurface node comes in...what is this?
It's a node that isn't very documented or implemented (or user friendly for that matter) in Maya that allows an object to query where the closest point on a surface is at any moment and use it's info for whatever purposes one needs. So what you can do is have the instanced particles "ask" maya at every frame "where is that point on the surface I am travelling across - oh there it is, let my position stick to it".
*problem? Yes. This method doesn't tell the instances to rotate themselves based on the surface normals! So you have objects that flow across a surface with their back always facing straight up, even if on a hill.
Well, it seems that some people have gone as far as to use an aim contraint, with some intense expressions, tell the instances to aim their backs towards a normal that is tied to the aim constraint...but at this point I said "I'm an ANIMATOR not a Fu@ki# code alien" and gave up.
*Maya and objects travelling across a surface in random directions...obeying normals - NOT an easy task. This is obviously why there are expensive crowd simulation tools to do this.
TECHNIQUE
*Good old motion paths.
1. Create a nurbs surface with as many bumps or curves that you need.
2. Create your object that you want to animate.
3. Make your surface live.
4. Draw a curve anywhere on it. This curve becomes a curve on surface. Editable
and moveable across the surface.
5. Attach your object to the motion path using 'normal' as your world up type.
There it is. A completely animateable surface object towards any goal, following
normals, completely directable and editable.
Needs 1000's like an army? Just duplicate the curve and object with input
graph selected and randomize as you duplicate. The nice thing is that the curve on surface
follows the surface at all times.
TECHNIQUE #2
Normal and geometry constraints.
1. Create your object and your surface.
2. Group your object and goemetry and normal constraint the group to the surface
so that you can rotate your object on it's local Y axis as well.
3. Your rotation might be off but no problem. Rotate the child object or move it
to align to surface.
4. Move and animate your object across the surface!
* the only problem is that if your surface's normals are weird, your object's
rotation may be affected. Good for flat to moderately curvy surfaces.
Friday, September 05, 2008
Friday, August 29, 2008
FLASH RANT
Arrgh. When I learned Flash about 10 years ago I thought "wow, this package has a lot of potential". I've just picked it up to re-do my website and I am shocked at the lack of user
friendliness. Making a simple hyperlink to a button involves a ridiculous amount of
scripting in "actionscript". Now I am all for having scripting in software however simple
functions should be script invisible to users. Or accessible via a script history.
All easy html funtions should be button or menu driven.
And AHH! Having to copy every little detail to every keyframe if you make changes. No way to batch
copy attributes or 'apply to all keys'. No linking or referencing Photoshop files which sucks when you want to
change layer details. No global resizing without crunching bitmap edges.
Anyway, popping up a window is a lesson in patience but here's a link
http://www.flepstudio.org/forum/tutorials/649-opening-popup-flash-cs3-javascript.html
Arrgh. When I learned Flash about 10 years ago I thought "wow, this package has a lot of potential". I've just picked it up to re-do my website and I am shocked at the lack of user
friendliness. Making a simple hyperlink to a button involves a ridiculous amount of
scripting in "actionscript". Now I am all for having scripting in software however simple
functions should be script invisible to users. Or accessible via a script history.
All easy html funtions should be button or menu driven.
And AHH! Having to copy every little detail to every keyframe if you make changes. No way to batch
copy attributes or 'apply to all keys'. No linking or referencing Photoshop files which sucks when you want to
change layer details. No global resizing without crunching bitmap edges.
Anyway, popping up a window is a lesson in patience but here's a link
http://www.flepstudio.org/forum/tutorials/649-opening-popup-flash-cs3-javascript.html
Tuesday, August 26, 2008
ALPHA TRANSPARENCY WHEN IN FRONT OF PRIMARY VIS OFF OBJECTS
Absolutely insane amount of time wasted on this one. If you have objects mapped with transparency and there are objects behind it with primary visibility turned off...the alpha in mental ray will pick up that invisible object. Really silly bug. Solution: hide the invisible object instead of primary vis.
Absolutely insane amount of time wasted on this one. If you have objects mapped with transparency and there are objects behind it with primary visibility turned off...the alpha in mental ray will pick up that invisible object. Really silly bug. Solution: hide the invisible object instead of primary vis.
Wednesday, July 16, 2008

PATH ANIMATION WITH DEFORM
Nice. For those path animations where you need the object to bend along the path like for example a snake, worm, tail etc etc.
1. Bind your object(s) to a joint chain
2. Create a spline IK solver
3. Cluster the IK curve
4. Attach those clusters to a motion path
5. Offset each cluster's U value by 1 successive frame down the chain
Now you have each cluster following the motion path, driving the spline
IK deformations. Sweet!
Thursday, July 10, 2008
BAKING CYCLED CURVES
I know this feature has been around for a while but -
too damn cool again. Finding the right tools implemented in software when needed makes it all that much more exciting.
Ever want a character to walk 5 steps in a cycle, stop then start walking again - without TRAX? Well you can bake out a cycled curve by using your bake curve tool and checking on the sparse curve bake option.
CURVES/BAKE CHANNEL OPTIONS/SPARSE CURVE BAKE
I know this feature has been around for a while but -
too damn cool again. Finding the right tools implemented in software when needed makes it all that much more exciting.
Ever want a character to walk 5 steps in a cycle, stop then start walking again - without TRAX? Well you can bake out a cycled curve by using your bake curve tool and checking on the sparse curve bake option.
CURVES/BAKE CHANNEL OPTIONS/SPARSE CURVE BAKE
Sunday, July 06, 2008
PAINT WEIGHTS PROBLEM
For some reason, a rig I was working on all of a sudden stopped working with the paint weights tool and no vertex info would show up in the component editor. No color feedback in the tool either. ERROR: value is out of range 0 would show up when trying to export weights or paint.
I have no clue what happened but the fix was
DELETE ALL BY TYPE/NON DEFORMER HISTORY
Also I figured out that the skincluster node for the bind had lost all of the relationships to it's
vertices. It was an empty deformation node. So I added them all back in with the edit membership tool.
Also had to hack to remove history and get a clean unbroken bind....
- duplicated the bound mesh in it's bind pose.
- smooth bound the duplicate to the skeleton.
- used the "copy skin weights" to transfer it to the duplicate.
- purged the history of the original as needed.
- after everything is done, rebound the original to the skeleton.
- used "copy skin weights" to get them back on the original mesh.
For some reason, a rig I was working on all of a sudden stopped working with the paint weights tool and no vertex info would show up in the component editor. No color feedback in the tool either. ERROR: value is out of range 0 would show up when trying to export weights or paint.
I have no clue what happened but the fix was
DELETE ALL BY TYPE/NON DEFORMER HISTORY
Also I figured out that the skincluster node for the bind had lost all of the relationships to it's
vertices. It was an empty deformation node. So I added them all back in with the edit membership tool.
Also had to hack to remove history and get a clean unbroken bind....
- duplicated the bound mesh in it's bind pose.
- smooth bound the duplicate to the skeleton.
- used the "copy skin weights" to transfer it to the duplicate.
- purged the history of the original as needed.
- after everything is done, rebound the original to the skeleton.
- used "copy skin weights" to get them back on the original mesh.
Thursday, April 17, 2008

ANZOVIN FACE STUDIO
I really like this style of face animation. It is more definable than
preset blend shapes.
http://www.anzovin.com/products/tfm1mayaFeatures.html
Monday, February 18, 2008

SOFT MOD FACE RIG TUTORIAL
I came across an old method of face rigging that I still think is kinda cool. All the riggers these days use clusters with painted weights but I thought I'd put the Soft Mod tool to use instead...
http://www.cronimation.com/SoftFace.html

Cronin's 12 FPS animation method
Well I wanted to come up with a way to animate within Maya on twos (every frame holds for 2 frames) then render out properly at 24 FPS without having to key every pose twice. I suppose one could animate at 24 fps and key every second frame twice.
I decided to animate in Maya at 12 fps and set the render settings to render out twice as many frames, each keyframe duplicated. All done at render time. And here's how to do it.
1. In your preferences set the maya scene to 12 FPS.
2. In your globals set the 'by frame' to 0.5 - this will render sub frames inbetween (twice as many) i.e. frame 1, 1.5, 2, 2.5 .Maya will name the sequence properly.
3. For the subframes to be duplicates of the keys, they need to be the same values as the keys before them. Every frame needs a keyframe and every curve has to be stepped. This means we have to bake the animation curves and set them all to stepped before rendering.
4. Handy little MEL script to do that?....yes (the first part selects all objects that are animated)
Put this script in your scripts directory.
global proc bake() {
select -cl;
$sel = `ls`;
for( $s in $sel ) {
float $info[] = `keyframe -time ":" -query -timeChange $s`;
$si = size($info);
if ($si>0) {
$nt= `nodeType $s`;
if ($nt!="objectSet" && $nt!="animCurveTU" && $nt!="animCurveTA" && $nt!="animCurveTL")
select -tgl $s;
}
}{bakeResults -sampleBy 1 -preserveOutsideKeys 0 -sparseAnimCurveBake 0; keyTangent -e -ott step;}
};
SCRIPT TO BAKE JUST SELECTED OBJECTS WITHIN MAYA:
global proc bakeselected(){
bakeResults -sampleBy 1 -preserveOutsideKeys 0 -sparseAnimCurveBake 0;
keyTangent -e -ott step;}
5. Additional advanced trick...one wouldn't want to bake all the channels, render, then find mistakes on your saved file - all of your curves will be littered with keyframes which would be hell to fix. You could save out baked files but that's not efficient. There is a way to run this MEL at rendertime only. In render settings under common/render options you will see a Pre render MEL slot.
Slot this little command in there and it will run the bake script at render time ....
*remember to remove it when test rendering in Maya or you will bake while working on the file.
source bake; bake()
Bamm, work within Maya at 12 FPS (twos playback) and render out at 24 FPS with doubled frames.
Need some frames on ones? Well you can hack them out in editing like we did back in the old linetesting days. OR
set your preferences to 24 FPS (all of your single keys will now take up 2 frames) and put your desired frame on ones. Look fine at 24 FPS? Switch back to 12 FPS and your one will now be on a subframe, thus you'll render key1 and the next subframe will not be a duplicate, it'll be your 'one'. Basically switching to 24 FPS gives you access to control your subframes at 12 FPS.
Toggle 24FPS Mel paste this as a button--> currentUnit -time film; //24 fps
Toggle 12FPS MEL paste this as a button--> currentUnit -time film; //12 fps
R.
Sunday, February 17, 2008
CHARACTER MAP
Well...not really a Maya trick but hey ...just learned this via google. Ever need those fancy characters in your text like
¢ ß Ć ® § Đ
Well they are all accessible in windows character mapper. start menu/all programs/accessories/system tools/charater map
Useful for photoshop text or Maya bevel text.
Well...not really a Maya trick but hey ...just learned this via google. Ever need those fancy characters in your text like
¢ ß Ć ® § Đ
Well they are all accessible in windows character mapper. start menu/all programs/accessories/system tools/charater map
Useful for photoshop text or Maya bevel text.
Wednesday, February 13, 2008

Attr & SDK COPY/PASTINGZ
Some lovely tools in Maya's included bonus tools that allow quick and easy duplicating of attributes and driven keys. Under the animation tab we have 'replicate attribute' for all of those cool attributes you add to your rig. Simply
select the object that you want to paste to, shift select the object and attribute
channel of the object that has the custom attribute and hit 'replicate attribute'.
Done.
For set driven key transferring, a dialogue box pops up with 3 input boxes.
1. Set Driven Key Source - the channel that is being driven on the completed object (i.e. pSphere1.rY).
2. New Destination Driver - The driver object channel/attribute of the incomplete object. (i.e. pSphere2.bender)
3. New Destination Driven - The driven channel of the incomplete object. (i.e. pSphere2.rY)
Hit copy and you are done. No more manually setting up millions of similar rig attributes and controls.
Thursday, August 09, 2007
UPDATE
Even better, here's a copy, paste keys script that should have been a Maya basic years ago...
http://www.highend3d.com/maya/downloads/mel_scripts/animation/copyKey2-639.html
COPY CHANNEL ATTRIBUTES SCRIPT
Some of the smaller things that maya makes difficult are sometimes annoying. Here's a script that will copy all selected attribute channel values from object A to B.
global string $gChannelBoxName;
string $attrList[] = `channelBox -q -sma $gChannelBoxName`;
string $sel[] = `ls -sl`;
string $attr;
for($attr in $attrList) {
setAttr ($sel[0] + "." + $attr) `getAttr ($sel[1] + "." + $attr)`;
}
;
Even better, here's a copy, paste keys script that should have been a Maya basic years ago...
http://www.highend3d.com/maya/downloads/mel_scripts/animation/copyKey2-639.html
COPY CHANNEL ATTRIBUTES SCRIPT
Some of the smaller things that maya makes difficult are sometimes annoying. Here's a script that will copy all selected attribute channel values from object A to B.
global string $gChannelBoxName;
string $attrList[] = `channelBox -q -sma $gChannelBoxName`;
string $sel[] = `ls -sl`;
string $attr;
for($attr in $attrList) {
setAttr ($sel[0] + "." + $attr) `getAttr ($sel[1] + "." + $attr)`;
}
;
Monday, July 23, 2007

SNAPPING TRNS, ROT, SCALE, PIVOT FROM ONE OBJECT TO ANOTHER
With 'snapMe' mel script one can easily do what should be a simple default tool in maya...matching one object's pivot to another. Just type in the setup for the script and it creates 4 hotkeys for you. Just select object 1, then object 2 - hit your hotkey and bamm, pivot is matched. (or trans/rot/scale depending on what you want.
http://www.highend3d.com/maya/downloads/mel_scripts/modeling/misc/download-4757.html?loc=snapMe.rar
Wednesday, June 27, 2007

USING THE MEGATK SHADER TO OUTPUT MULTIPLE PASSES IN 1 RENDER
This is a fantastic universal shader that allows you to shade multiple attributes then output passes through a buffer writer. You have to assign the shader to all objects needed for passes, then assign a light shader to your lights and finally write out a buffer on a dummy object.
The full documentation and tutorials are here...
http://www.puppet.cgtalk.ru/shaders_p/docs/
p.s. Why didn't they implement output passes for the new mia shader!!! There is a mia_wrapper out there but you still have to hook it all through the ctrl.buffer shader. Fix render layers Autodesk!!!
Wednesday, June 20, 2007

JOINT SELECTOR
Here is a way to select joints via a control object when rigging a character:
create a control object and parent it to the joint, freeze its transformations (the object not the joint) now select the objects shape node (not its transform node, below that) AND THEN the joint, and run the following mel...
parent -r -s;
now that joint has a shape node, selecting the shape will select the joint.
Tuesday, June 19, 2007

MENTAL RAY MEMORY SETTINGS
You must set the memory limit manually by turning off the Render Settings -> Batch Render -> Options -> Memory -> Auto Memory Limit. Then you can specify the memory limit manually. If you are rendering under Windows XP 64bit there is another issue with automatic memory which maxes out at the limit of the 32 bit version of the OS.
- or -
Either on the render Options or (when you use the commandline renderer with Render -r mr) by doing this:
add this line to the mrRenderer.xml file in the Maya8.5/bin/rendererDesc/ directory (C:\Program Files\Autodesk\Maya8.5\bin\rendererDesc on Windows)
Now you can specify the limit in the commandline:
for example
"C:\Program Files\Autodesk\Maya8.5\bin\Render.exe" -r mr -v 5 -jl 4000 "C:\Shared\maya\projects\myProject\scenes\myScene.m b"
*TIP : Under MR globals/translation/performance you can check EXPORT OBJECTS ON DEMAND which apparently only loads objects if they are hit by a light ray.
*TIP : Type select mentalrayGlobals to select them. Under it's Extra Attributes you will find Memory Zone slider. It is set at 20 which means MR will let the render go 20% over your memory limit. Crank it if needed.
Friday, June 08, 2007


USING RAY TYPE SHADER TO EXCLUDE OBJECTS FROM RAY CALCULATIONS
This shader can be assigned to surfaces to control reflection, refraction, light, shadow, environment, final gather, photon, custom. For example, to cast FG to a surface but have reflections from another surface...
*On your IBL, turn off visible in reflections
-assign a surface shader to your reflection poly sphere
-set the transparency of the surface shader to 1
-assign to the "ray type" node to the color of the surface shader (you will find it under mental ray/ miscellaneous)
-check "enable reflection" and "enable refraction"
-set eye to black
-assign a maya native envirnemnent map (or a reflection map) to the reflection and refraction slot.
-don't forget to turn off the secondary reflection of the IBL and thank the mental ray guys for offering super mega amazing complexe hypertechnical plugthisandtwistthat long workarounds just to achieve a simple effect.
Subscribe to:
Posts (Atom)







