Home Animation Showcase & Critiques

Animation plugin/scripts. Do you use any?

polycounter lvl 12
Offline / Send Message
Connecta polycounter lvl 12
Hi!
I got linked to the Arc Tracker recently and began to wonder what more good plugins/scripts I have missed by now.
So I was wondering what nifty plugins/scripts do you guys use to help you speed up the process?

Any must-have plugins/scripts out there?

Replies

  • dannyannymation
    Offline / Send Message
    dannyannymation polycounter lvl 6
    Hey Connecta

    For me the most important thing I use is tween-machine and its equivalents which I first heard about from this amazingly helpful tutorial:


    [ame]https://www.youtube.com/watch?v=PNwIJatjxMw[/ame]


    (If you have never watched this then please do)

    It lets you set a pose on anything in your scene at a point between two keyframes. Sounds simple but it is super helpful when blocking things out and adjusting timings for things. The power comes from being able to set a pose quickly that is say 50% of a linear tween between two keyframes in a position that is 20% of the way between them. Hard to explain.

    Give it a a go and you will see what I mean.

    Maya Users: http://www.creativecrash.com/maya/script/tweenmachine

    3DS Max Users: http://www.themichaelsmith.com/p/tutorials.html

    3DS Max users using CAT rigs: http://www.scriptspot.com/3ds-max/scripts/add-inbetween#comment-29356
  • PeteHawk
    Offline / Send Message
    PeteHawk polycounter lvl 12
    I don't use anything too complex at the moment, just shortcuts mainly.
    Here are a couple I stole from Stephen Vyas(Thanks dude!)
    http://animatorsteve.weebly.com/mel-scripts.html
  • heboltz3
    Offline / Send Message
    heboltz3 polycounter lvl 9
    Didn't think I had any awesome ones until I remembered that Pose to Shelf is a godsend.

    It's great when working on animation sets and you want to keep a pose between several different animations.

    Also allows for only copying a section of a pose! Check it out, its really neat!

    I'll usually end up making a couple of custom shelves so that I can have a shelf for a character I am working on.
  • Forty
    Offline / Send Message
    Forty polycounter lvl 2
    I use a really helpful free script called Parent Master ( http://www.paolodominici.com/products/zvparentmaster/ ), It's really great for quick and easy parenting of objects, passing things regularly from hand to hand, etc. It saves some time!
  • slipsius
    I use 2 scripts mainly. for timing. I have them as hotkeys so i can easily adjust my timing across my entire shot in the timeline

    timeSliderEditKeys addInbetween;
    (when you have a control selected, if you press this, it will add an empty frame to your animation, whereever your current frame is, effectively shifting your entire animation over 1 frame)

    timeSliderEditKeys removeInbetween;
    (when you have a control selected, if you press this, it will remove an empty frame from your animation, whereever your current frame is, effectively shifting your entire animation back 1 frame)

    Besides that, I don't really use anything.
  • PeteHawk
    Offline / Send Message
    PeteHawk polycounter lvl 12
    slipsius wrote: »
    I use 2 scripts mainly. for timing. I have them as hotkeys so i can easily adjust my timing across my entire shot in the timeline

    timeSliderEditKeys addInbetween;

    timeSliderEditKeys removeInbetween;

    Besides that, I don't really use anything.

    With this and Copy, Paste and Delete. It speeds up timeline editing so much. saves you from all that right clicking waste of time.
  • slipsius
    PeteHawk wrote: »
    With this and Copy, Paste and Delete. It speeds up timeline editing so much. saves you from all that right clicking waste of time.

    wait, you can copy and paste as well?!
  • heboltz3
    Offline / Send Message
    heboltz3 polycounter lvl 9
    Like right click copy/paste? Or am I missing something too?
  • Forty
    Offline / Send Message
    Forty polycounter lvl 2
    slipsius wrote: »
    I use 2 scripts mainly. for timing. I have them as hotkeys so i can easily adjust my timing across my entire shot in the timeline

    timeSliderEditKeys addInbetween;
    (when you have a control selected, if you press this, it will add an empty frame to your animation, whereever your current frame is, effectively shifting your entire animation over 1 frame)

    timeSliderEditKeys removeInbetween;
    (when you have a control selected, if you press this, it will remove an empty frame from your animation, whereever your current frame is, effectively shifting your entire animation back 1 frame)

    Besides that, I don't really use anything.

    These make maya feel like toonboom. Excellent simple thing to add to the shelf, thanks a lot!
  • slipsius
    Forty wrote: »
    These make maya feel like toonboom. Excellent simple thing to add to the shelf, thanks a lot!

    np, but add it to a hotkey. so much better than a shelf button!
  • slipsius
    Here are the commands for copy/paste/delete. MEL scripts. just add them to a custom hotkey or shelf

    timeSliderPasteKey false;
    (paste to current frame)

    timeSliderClearKey;
    (delete current frame keys)

    timeSliderCopyKey;
    (copy current frame keys)
  • bejkon
    Offline / Send Message
    bejkon polygon
    I too are a member of the holy church of add/remove inbtween. Seriously, hands down the best way to adjust timing that I know of. No fiddling around with expending the timeline and selecting keys to drag around.

    ALT+z and ALT+x is where it's at. Your're in a world of pain if you use shelfbuttons for this kinda stuff, makes you constantly go between shelf and timeline for scrubbing.


    On ALT+q I have this which toggles of curves in active viewport.

    string $panel = `getPanel -wf`;
    modelEditor -e -nurbsCurves (!`modelEditor -q -nurbsCurves $panel`) $panel;

    And ALT+w which toggles of polygons.

    string $panel = `getPanel -wf`;
    modelEditor -e -polymeshes (!`modelEditor -q -polymeshes $panel`) $panel;

    I know the thread is about script but I really recommend not using the default hotkeys for stepping thru keys. I have 'a' and 'd' for jumping to keyframes and ALT+a and ALT+d for go next and previous frame and deafult 'ss for keying. I basically never move my hotkey hand.

    Had copy and delete key as hotkeys once but never really used them. I'm doing the middle click drag trick alot thou for copy values.

    A many others I use tweenmachine.

    If I have to track arcs I use this: http://www.creativecrash.com/maya/script/arc-tracker

    I ALWAYS use this script when selecting all the rigs controls. It's great for making buttons for constraints aswell.
    http://www.creativecrash.com/maya/script/prselectionui--2
  • slipsius
    ya, creating your own hotkeys is definitely highly suggested. Since I dont do modelling, I actually swapped out my 1, 2 keys. That way my hand is always right near the same area as the widget switchers.

    ` = toggle playback (saves time from having to move your mouse from your controls to the timeline to press play and stop)
    1 = previous key frame
    2 = next key frame
    alt+1 = previous frame
    alt+2 = next frame

    then for timing, I have , and . set for my insert/remove inbetweens (the script I posted earlier). Since those keys are the default next/previous key frame, I figured I dont need them anymore

    And I did have 3 set to toggle scrub timeline, so that when I pressed three, I would just hold down the mouse button and could scrub through the timeline no matter where my mouse was, but I found I wasnt using it at all.

    Then of course I've set hot keys to open my graph editor and my outliner.

    Im definitely a hotkey type of person, rather than a shelf or marking menu.
  • MiAlx
    Offline / Send Message
    MiAlx polycounter lvl 10
    Forty wrote: »
    I use a really helpful free script called Parent Master ( http://www.paolodominici.com/products/zvparentmaster/ ), It's really great for quick and easy parenting of objects, passing things regularly from hand to hand, etc. It saves some time!

    Agreed, it is an amazing script, saves a lot of time. Also tweenMachine is god sent.

    Also in addition to copy paste and delete, i have set hotkeys for the setInfinity command, since I find myself using them relatively often:

    setInfinity -pri cycle; and setInfinity -poi cycle;

    I am pretty sure you can use them together in one hotkey as well:

    setInfinity -pri cycle -poi cycle;
  • heboltz3
    Offline / Send Message
    heboltz3 polycounter lvl 9
    As far as hot keys for editors and stuff, I love ctrl + alt + whatever for my combos.

    ctrl+ alt + g for the graph editor, ctrl+ alt + e for the component editor and ctrl+ alt + h for the hypergraph hierarchy are honestly my heroes.
  • PeteHawk
    Offline / Send Message
    PeteHawk polycounter lvl 12
    Not to be rude, but we all sound like a bunch of lazy people. Love it :)
    I like my shortcuts but I haven't had the time to align them all closer together, might do that now hah

    slipsius - I only meant copy/paste/delete for keyframes, nothing else.
  • Denny
    Offline / Send Message
    Denny polycounter lvl 14
    I use Alt+w/e/r to reset values to 0 in my controllers. Inspired by Blender's alt+transform shortcuts. This works either by selection or current character set (which is default with no selection).

    This is very helpful when moving things around and to reset things back to default. Very useful for both rigging and animation.

    Bind these procedure calls to shortcuts.
    // alt+e
    resetRotationOnSelection();
    
    // alt+r
    resetScaleOnSelection();
    
    // alt+w
    resetTranslationOnSelection();
    

    Add this below to a new script file, which you source on startup.
    global proc zeroAttribute(string $objectAndAttribute)
    {
    	if(`getAttr -se $objectAndAttribute`)
    		setAttr $objectAndAttribute 0;
    }
    
    global proc resetRotationOnSelection() {
    	string $selection[] = `ls -sl`;
    	if (size($selection)) {
    		for ($i=0; $i<size($selection); ++$i) {
    			resetRotation($selection[$i]);
    		}
    	} else {
    		string $currentCharacterSets[] = `currentCharacters`;
    		string $members[] = `character -q $currentCharacterSets`;
    
    		if (size($members)) {
    			for ($m in $members) {
    			    if (`gmatch $m "*rotate*"`) {
    			        zeroAttribute($m);
    			    }
    			}
    		} else {
    			warning "Select an object or character set to reset";
    		}
    	}
    }
    
    global proc resetTranslationOnSelection() {
    	string $selection[] = `ls -sl`;
    	if (size($selection)) {
    		for ($i=0; $i<size($selection); ++$i) {
    			resetTranslation($selection[$i]);
    		}
    	} else {
    		string $currentCharacterSets[] = `currentCharacters`;
    		string $members[] = `character -q $currentCharacterSets`;
    
    		if (size($members)) {
    			for ($m in $members) {
    			    if (`gmatch $m "*translate*"`) {
    			        zeroAttribute($m);
    			    }
    			}
    		} else {
    			warning "Select an object or character set to reset";
    		}
    	}
    }
    
    global proc resetScaleOnSelection() {
    	string $selection[] = `ls -sl`;
    	if (size($selection)) {
    		for ($i=0; $i<size($selection); ++$i) {
    			resetScale($selection[$i]);
    		}
    	} else {
    		string $currentCharacterSets[] = `currentCharacters`;
    		string $members[] = `character -q $currentCharacterSets`;
    
    		if (size($members)) {
    			for ($m in $members) {
    			    if (`gmatch $m "*scale*"`) {
    			        setAttr $m 1;
    			    }
    			}
    		} else {
    			warning "Select an object or character set to reset";
    		}
    	}
    }
    
    global proc resetRotation(string $object)
    {
    	zeroAttribute($object+".rotateX");
    	zeroAttribute($object+".rotateY");
    	zeroAttribute($object+".rotateZ");
    }
    
    global proc resetTranslation(string $object)
    {
    	zeroAttribute($object+".translateX");
    	zeroAttribute($object+".translateY");
    	zeroAttribute($object+".translateZ");
    }
    
    global proc resetScale(string $object)
    {
    	setAttr ($object+".scaleX") 1;
    	setAttr ($object+".scaleY") 1;
    	setAttr ($object+".scaleZ") 1;
    }
    
  • HalfCrazy
    For maya I use aTools, it’s basically a big tool box full of really helpful utilities.
    You can download it here:

    http://camiloalan.wix.com/atoolswebsite

    and see it in action here:

    [ame]https://www.youtube.com/watch?v=c8OiM3StkUU&amp;list=PLfRLKOiB6Sh7Ifv7Frngr5hYLgU-NtBYP&amp;index=1[/ame]
Sign In or Register to comment.