Tween Machine for 3DS Max
created in 3DS Max 2009
created in 3DS Max 2009
K...this isn't really a tutorial, but this could change the way you animate in Max I suppose.
So I find myself with some free time here lately and realized that my website doesn't show off any of the MaxScript programming skills I've developed in the last few years of animating. So what better way to show my scripting ability than to offer a free tool for animators to use!
If you are here you probably have used Justin Barrett's Tween Machine in Maya. Once a Maya animator has been exposed to how much easier it is to create breakdown poses and make inbetween timing adjustments with Tween Machine it's hard to go back to animating without it. So, what if your new place of employment only uses 3DS Max? Well, thanks to me, now you you have Tween Machine for Max (we can't let the Maya users have all the fun)!
Directions for use
Download the MaxScript here...
TweenMachine for 3DSMax
open 3DSMax, run the script and have fun!
Download the MaxScript here...
TweenMachine for 3DSMax
open 3DSMax, run the script and have fun!
So...what does it do?
Quite simply it adds an inbetween key at the current time for all selected objects. Creating a new key inbetween the previous and next keys, using a slider to adjust the "bias" or weight that each key has over the new key.
It basically cuts down the amount of work (and who likes to work?) it takes to create a good breakdown pose. This quote says it best...
"Will tweenMachine create perfect breakdown poses? Not likely, but it will get you closer to your goal a lot faster than other methods. You spend less time with busywork and more time creating great animation."
-Justin Barrett
On a final note...I'd like to thank a couple of my former colleagues for helping me get started on my MaxScript learning journey. Thanks to Erik Eidukas for showing me his unfinished Tween Helper script which I stole ideas from ;) For lending me his old "free internet rig" to test my script with and for answering some of my past advanced maxscipt questions when I was stumped. A special thanks goes to my former roommate Nathan Heazlett for his patience in answering all my silly newbie questions as I started learning maxscript.
Here's a simple tutorial that shows how Tween Machine can be used to create a more "interesting" breakdown pose for your animation quickly and easily...
Note: You can choose how the frame counter displays the text by adding or deleting the double minus signs (--) in front of the line of code you want the counter to display as in the script controller (the double minus signs (--) is used to comment out lines in coding so those lines are not used.)
On a final note...I'd like to thank a couple of my former colleagues for helping me get started on my MaxScript learning journey. Thanks to Erik Eidukas for showing me his unfinished Tween Helper script which I stole ideas from ;) For lending me his old "free internet rig" to test my script with and for answering some of my past advanced maxscipt questions when I was stumped. A special thanks goes to my former roommate Nathan Heazlett for his patience in answering all my silly newbie questions as I started learning maxscript.
Here's a simple tutorial that shows how Tween Machine can be used to create a more "interesting" breakdown pose for your animation quickly and easily...
It seems like a nothing tool that you don't really need as an animator, but be warned...you will very quickly become addicted and not be able to animate without it before you know it (that's why I had to create one for 3ds max).
Free Customizable Animation Frame Counter for 3DS Max
(plus instructions on how to create your own from scratch)
created in 3DS Max 2012
Frame Counter 3DSMax 2012 maxfile download
K...this is a free max file plus a tutorial...so you get twice the value.
If you're like me, you're tired of using the small, hard to read frame counter display that's created when you make a preview and use the checkbox in Tools > Views - Grab Viewport > Create Animated Sequence File > Display in Preview > Frame Numbers. I want a nice big number display that I can read, and also see if I choose to render the scene. So I created this geometry frame counter that you can place in the scene (I like to link it to my camera) and change the Title, Name and Status to whatever you like.
You can download the customizable renderable geometry frame counter above or you can create your own counter from scratch by following these steps below...
1. Create a Text Spline shape in the viewport.
Create > Shapes > Splines > Text
2. Add an extrude modifier so that text is renderable (and easier to read)
Modify > ModifierList > Extrude
3. Open the graph editor
Graph Editors > Track View - Curve Editor
4. Select the text object's Leading controller in the Curve Editor
5. Assign a Float Script controller to the Leading controller in the Curve Editor
Controller > Assign... > Float Script
(some people suggest using the Kerning controller, but I find I may still want to customize the look of that value...but I can't imagine wanting to customize the Leading value on a frame counter.)
6. Open (double click) the Float Script controller
7. Create a variable named "counter"
Name: > Create
8. Click Assign Node and assign "counter" variable to the created text object
9. Type just one of the following text into script controller (depending on how you want the text formatted):
counter.text = currentTime as string
0
counter.text = (currentTime.frame as integer) as string
0
counter.text = formattedprint (currentTime.frame as integer) format:".4d"
0
(if the current frame is 38 it would be displayed as
83f
83
0083
depending on which formating was used)
You can create this automatically by copy and pasting the following text between the two lines into the maxScript editor and executing it:
-----------------------------------------------------------------
--Create a renderable frame counter
FC = text name:"FrameCounter"
modCtrl = extrude() --create an extrude modifier
modCtrl.amount = 0 -- set extrude amount to 0 (default is 25)
addModifier FC modCtrl --add an extrude modifier so text is visible/renderable
scriptCtrl= float_script() --create a float script controller
scriptCtrl.addNode "counter" FC --add a variable, connect to the Text node
--Set the expression to assign the current frame value as string to the
--.text property of the text shape, then return 0 on the next line:
scriptCtrl.SetExpression "counter.text = currentTime as string
--counter.text = (currentTime.frame as integer) as string
--counter.text =formattedprint (currentTime.frame as integer) format:\".4d\" \n0"
FC.leading.controller=scriptCtrl --assign the controller to the leading
-----------------------------------------------------------------
Free Customizable Animation Frame Counter for 3DS Max
(plus instructions on how to create your own from scratch)
created in 3DS Max 2012
Frame Counter 3DSMax 2012 maxfile download
K...this is a free max file plus a tutorial...so you get twice the value.
If you're like me, you're tired of using the small, hard to read frame counter display that's created when you make a preview and use the checkbox in Tools > Views - Grab Viewport > Create Animated Sequence File > Display in Preview > Frame Numbers. I want a nice big number display that I can read, and also see if I choose to render the scene. So I created this geometry frame counter that you can place in the scene (I like to link it to my camera) and change the Title, Name and Status to whatever you like.
You can download the customizable renderable geometry frame counter above or you can create your own counter from scratch by following these steps below...
1. Create a Text Spline shape in the viewport.
Create > Shapes > Splines > Text
2. Add an extrude modifier so that text is renderable (and easier to read)
Modify > ModifierList > Extrude
3. Open the graph editor
Graph Editors > Track View - Curve Editor
4. Select the text object's Leading controller in the Curve Editor
5. Assign a Float Script controller to the Leading controller in the Curve Editor
Controller > Assign... > Float Script
(some people suggest using the Kerning controller, but I find I may still want to customize the look of that value...but I can't imagine wanting to customize the Leading value on a frame counter.)
6. Open (double click) the Float Script controller
7. Create a variable named "counter"
Name: > Create
8. Click Assign Node and assign "counter" variable to the created text object
9. Type just one of the following text into script controller (depending on how you want the text formatted):
counter.text = currentTime as string
0
counter.text = (currentTime.frame as integer) as string
0
counter.text = formattedprint (currentTime.frame as integer) format:".4d"
0
(if the current frame is 38 it would be displayed as
83f
83
0083
depending on which formating was used)
You can create this automatically by copy and pasting the following text between the two lines into the maxScript editor and executing it:
-----------------------------------------------------------------
--Create a renderable frame counter
FC = text name:"FrameCounter"
modCtrl = extrude() --create an extrude modifier
modCtrl.amount = 0 -- set extrude amount to 0 (default is 25)
addModifier FC modCtrl --add an extrude modifier so text is visible/renderable
scriptCtrl= float_script() --create a float script controller
scriptCtrl.addNode "counter" FC --add a variable, connect to the Text node
--Set the expression to assign the current frame value as string to the
--.text property of the text shape, then return 0 on the next line:
scriptCtrl.SetExpression "counter.text = currentTime as string
--counter.text = (currentTime.frame as integer) as string
--counter.text =formattedprint (currentTime.frame as integer) format:\".4d\" \n0"
FC.leading.controller=scriptCtrl --assign the controller to the leading
-----------------------------------------------------------------
Note: You can choose how the frame counter displays the text by adding or deleting the double minus signs (--) in front of the line of code you want the counter to display as in the script controller (the double minus signs (--) is used to comment out lines in coding so those lines are not used.)
Thanks for this script. Can you fix this for CAT. We are using CAT object but this script not working. Thank you.
ReplyDeleteHere, working in 3DS max 2014 and working with CAT :)
Deletehttp://www.scriptspot.com/3ds-max/scripts/add-inbetween#comment-29356
Deleteyes that would be awesome. I use this for maya but im working on a 3dsmax project but using CAT rigs and this does'nt work. Would be SUPER helpful :D
ReplyDeletethanks
http://www.scriptspot.com/3ds-max/scripts/add-inbetween#comment-29356
DeleteIs it works in max 2014 ?
ReplyDeletethanks for this amazing script! Say, is there a chance to choose chanels or does it inbetween everyone? Kudos!
ReplyDeleteGood jobs
ReplyDeleteHello, the link seem to be broken, is there another place to get it?
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteHere is a dropbox link for the TweenMachine script:
ReplyDeleteTween Machine v1.04
Thank you for the update and information about 3ds max training. I am searching for this topic and I get exact blog. Keep posting about3ds max training in pune
ReplyDeleteWith Zwei-Stein you can alter up to 256 video, sound and still picture cuts, each with up to 64 impacts tied sequentially. Editing, panning and custom impacts are simple with programmed key casings. Video Editing Toronto
ReplyDeleteThanks for the tutorial, It would help me to make 3d architectural visualization. However most of the time I used Tween Machine for 3DS Max and all the time I have a great experience with it.
ReplyDeleteDetailed article on 3ds MAX. Thank you for sharing.
ReplyDelete3DS MAX Classes in Pune
Hello, the link seem to be broken, is there another place to get it?
ReplyDeleteAt our School, we share our passion for music with students from all walks of life. Whether young or old, beginner or master, our students grow!
ReplyDeleteVisit: Peace Music Academy
Slingly Pro is an e-commerce automation tool that can help you set up your store, promote and offer a wide range of products that in turn helps you generate more leads in a short amount of time.
ReplyDeleteVisit: Slingly Review
Best Havells induction cooktop in india
ReplyDeleteHavells enjoys enviable market dominance across a wide spectrum of products, including Industrial & Domestic Circuit Protection Devices, Cables & Wires, Motors, Fans, Modular Switches, Home Appliances, Air Conditioners, Electric Water Heaters, Power Capacitors, Luminaires for Domestic, Commercial and Industrial Applications.
https://buyinductioncooktop.com/havells-induction-cooktop/
Best Havells induction cooktop in india
ReplyDeleteHavells enjoys enviable market dominance across a wide spectrum of products, including Industrial & Domestic Circuit Protection Devices, Cables & Wires, Motors, Fans, Modular Switches, Home Appliances, Air Conditioners, Electric Water Heaters, Power Capacitors, Luminaires for Domestic, Commercial and Industrial Applications.
Visit: Best Havells induction cooktop in india