PDA

View Full Version : Keyforce - Free Hybrid Keyframe/simulation Plug-in:



Mike Pauza
05-24-2007, 01:36 PM
"Keyframing" with 3D animation software was a revolutionary idea. You can specify the position and orientation of an object at specific points in time, and the software will automatically move your object through those points in a semi natural motion through the use of curves called splines. Even though spline keyframing is easy to create and edit, it takes a whole lot of tedious work to make the motion smooth & natural. A while back I proposed a new method of animation, and with the help of an extraordinary programmer named Greg Malick, we produced a LightWave plugin called "KeyForce" that produces smooth natural motion with zero additional work.


Download Links & More Info:
http://www.pauzapictures.com/lightbox/index.php?pageId=119&start=0


Math by Mike Pauza
Code by Greg Malick
Testing by Tim Dunn

Steamthrower
05-24-2007, 02:03 PM
Mike, of what primary animation type is this plugin targeting? I assume character animation?

And please elaborate on how it works more, I'm interested in your reply.

Mike Pauza
05-24-2007, 02:10 PM
It would be kind of tedious to use for character animation, except for really simple & short motions. It's more for vehicles, machines, and simulation type stuff. Basically you keyframe forces which drive the objects indirectly. You loose the ability to instantly get the exact kinematics (takes trial & error) you might want, but the motion is automatically smooth & natural...probably makes you a better animator too because it makes you think about the forces on an object and not just the motion.

-Mike

Lightwolf
05-24-2007, 03:07 PM
Fun... so it is basically a super simple dynamics system, right?

Cheers,
Mike

Exception
05-24-2007, 03:41 PM
Wow, I think I will find this incredibly useful. I look forward to giving it a spin. Thanks!

Mike Pauza
05-24-2007, 03:45 PM
Lightwolf: It's like a "dumb dynamics system", that requires you to keyframe your forces.

Exception: Tell us how you like it! :)

-Mike

Steamthrower
05-24-2007, 04:15 PM
Wow, this is just what I need. I look forward to trying it out. A straightforward thing like this is just what I've been looking for.

mosconariz
05-24-2007, 07:19 PM
I downloaded it... weird way of animating... but interesting!

thanks!!

Exception
05-24-2007, 07:28 PM
Exception: Tell us how you like it! :)


Well it seems to work well... it's a bit counter intuitive for now, but I was trying to make a car drive naturally, which always gives me headaches, and I was wondering how I can align the car's heading to the path it's going in...

Phil
05-24-2007, 08:04 PM
Wah! Mac version(s) doable? (UB and legacy) Please?

GregMalick
05-25-2007, 01:03 AM
LightWolf,

Can you compile for a mac?

pooby
05-25-2007, 02:30 AM
I love new motion plug-ins and gave this a good play last night.

I understand the concept, but I find it very difficult to get anything controllable past the point of the initial move/turning. It's extremely difficult to get that helicopter to continue acting in a believable manner.

To me it feels like controlling a ping pong ball by blowing on it, but instead of being able to move about and blow it from wherever you like at whatever power, you have to specify each direction and guess the amount, then try to counteract the force you previously applied from the other direction that will be precisely the correct amount.
This also goes for the rotation..

I appreciate the work thats gone into it, and its really a nice way of getting a smooth acceleration on one channel, but you'll be tearing your hair out if you try to get that Helipcopter to fly down a canyon.

Lightwolf
05-25-2007, 02:39 AM
LightWolf,

Can you compile for a mac?
Sure, mail me the code: michael.wolf(at)infinimap(dot)com

I've got a bunch of other ports to do as well, they keep accumulating, so I might as well devote some solid time to it.

I wonder how much sense it would make to use a NULL object to control the forces... a bit like a remote control.

Cheers,
Mike

GregMalick
05-25-2007, 02:50 AM
Mike - that code will be coming your way.

Paul - we are already working on a new plugin that will be controllable by other objects. The code is already laid down - we're just trying to debug it. The code is also much tighter in this one since I use vector arrays & vector math.

Basically the new plugin will allow when you rotated (say) a Rocket - the force will push it in that direction. A couple other objects (or nulls) can be used to control the force and the drag.
Kinda like a gas-pedal & brake.

Should be fun - when it actually begins to work. :D

pooby
05-25-2007, 03:02 AM
That sounds like a great idea because its never fun playing with envelopes.
a control object would enhance the experience no end

Lightwolf
05-25-2007, 03:37 AM
Mike - that code will be coming your way.

I was afraid of that.... *ducks* :D

Cheers,
Mike

Mike Pauza
05-25-2007, 09:57 AM
Paul:

Like Greg said, we're aware that KeyForce is kind of hard to control and are hoping our next plug is a little simpler...

"DynaKey" will work kind of like Keyforce, but should have less controls and be more intuitive and easier to use. DynaKey should be pretty awesome for vehicle animation BTW. That said, you can certainly move a helicopter through a canyon with KeyForce, but I admit it would require a bit of a learning curve (tradition keyframing is what we're all used to). You would end up with some sweet motion though without any "motion cleanup" at all.



Exception:

Right now KeyForce can't force the heading to follow the motion path. You'd probably want to key the rotation traditionally.



-Mike

Mike Pauza
05-25-2007, 09:58 AM
Lightwolf:

Hi Mike. Yeah, port to mac if and when you can spare the time.

-Mike

Exception
05-25-2007, 10:40 AM
I hate motion cleanup with a fervour that would set whole nations on fire if released.
Please contain my rage, oh mike, and continue to develop this thought.

I'd love to keyframe some positions, and have the curve in between and the speed wholly controlled by forces. It's just that making something go to a specific place is reasonably impossible now :)

Mike Pauza
05-25-2007, 11:07 AM
Exception:

To be able to put "some kinematics" into our plugin we would need deeper access into the SDK. :(

BTW, yor're not the only one with that thought. We had someone from a major LW studio look at "KeyForce", and that's what they said would be cool..."using our code to smooth out traditional keys". I think we "could" probably do that if the SDK was more open.

Now, you "can" get precise kinematics already, but not without playing around with the force envelopes.

-Mike

Phil
05-25-2007, 11:48 AM
Get in touch with the LW dev team. They have been quite clear in this respect. If developers have wants and needs from the SDK, the dev team want to know. There is no guarantee that what is wanted will appear quickly enough to sate those wants and needs, but letting them know is a very good start :

lw-features(at)newtek.com

Exception
05-25-2007, 12:07 PM
Yeah, or rather, contact one of them directly...

Mike Pauza
05-25-2007, 03:19 PM
I guess what we need is to be able to kind of custom build our own graph editor.
We'd want to be able to create custom graphing, and maybe "two types of keyframes" (accelleration & traditional) for each channel. Greg and I can talk about this and ask NewTek how feasible that is.

-Mike

jin choung
05-27-2007, 05:44 AM
actually,

it sounds like the script that they were using on spider-man to do "mini simulations" to see what the forces would really be (have to be) with existing gravity... like what force spidey would have to exert to jump over there and how fast would he end up falling at the end, etc...

i would imagine for things like that, this would be very applicable to a character by way of a parent node.

thanks!

jin

Mike Pauza
05-27-2007, 11:22 AM
That's actually a really cool idea Jin...

I'm not a professional animator or anything but I sometimes cringe at how much the pro's mess up sometimes on the simple stuff. Maybe we need a another plugin? Lord of the Rings are my favorite movies for example, but they have some cartoon physics going on in a number of places that might look cool, but IMO is so fudged it destroys the feeling of reality. Hulk had some physics problems too. Characters that are supposedly real should be rooted in reality. They might be stonger, faster, more agile, etc. that real people, but their motion should still make sense. :)

-Mike

JamesCurtis
05-27-2007, 12:00 PM
Yeah, the new Spidey movie had some nice stuff, but I think that many of the motions were waaaay too fast to be believable.

GregMalick
05-27-2007, 12:06 PM
I think Terminal Velocity has to be part of the equation.
That one of the reasons why special effects with Stunt Men and bungee cords still beat the heck out of animated motion.

And you've left out the film who's animation motion totally made me groan.
Van Helsing with Hugh Jackman.

GregMalick
05-27-2007, 12:12 PM
BTW,

Mike Wolf just sent me the Mac & 64bit versions.
No OSX UB version yet, though.

Those two versions have been sent to Mike Pauza for the website.

cheers.:jam:

Mike Pauza
05-27-2007, 12:51 PM
OSX & x64 is now available (Props to Mike Wolf (Lightwolf) for compiling these):
http://www.pauzapictures.com/lightbox/index.php?pageId=119&start=0


Thanks Mike! -Mike P.

Lightwolf
05-27-2007, 01:47 PM
Thanks Mike! -Mike P.
Hi Mike,
you're welcome.

Cheers,
Mike :D

jin choung
05-27-2007, 06:42 PM
That's actually a really cool idea Jin...

I'm not a professional animator or anything but I sometimes cringe at how much the pro's mess up sometimes on the simple stuff. Maybe we need a another plugin? Lord of the Rings are my favorite movies for example, but they have some cartoon physics going on in a number of places that might look cool, but IMO is so fudged it destroys the feeling of reality. Hulk had some physics problems too. Characters that are supposedly real should be rooted in reality. They might be stonger, faster, more agile, etc. that real people, but their motion should still make sense. :)

-Mike

hey mike,

nobody has to be a professional animator to see that a motion is gimpy... any more than anyone has to be a professional nascar driver to see that that guy ain't going fast enough! :)

yah, hulk and lotr had some EGREGIOUS animations.... i guess since they're keyframing the character, they end up keyframing the effects of physics... when they can be using a cool little plugin like yours!

i can foresee using keyforce for things like the spidey example... or when a gun gets knocked out of someone's hand... or someone takes a punch from galactus and goes flying etc.... all by way of nulls and dynamic constraints.... (i'm keyframing keyframing keyframing and now, i've slaved it to the null where keyforce takes over).

hmmmm.... a terminal velocity or max velocity setting wouldn't be a bad idea... or an explicit gravity setting (though both should probably be user definable as well as having default settings).

again, an awesome and useful plugin mike!

jin

GregMalick
05-27-2007, 09:08 PM
Aloha jin,

Terminal Velocity has to be user settable since the aerodynamics of an object determine its Terminal Velocity. Too many factors to calculate so a quick google would be sufficient to get in the Ball Park (in this case Wrigley Field).

just some random thoughts.

jin choung
05-27-2007, 11:19 PM
aloha greg!

regarding terminal velocity, yah, i know. user definable settings takes care of all considerations (including dramatic tweaking as well as physics variation) so i figured i'd just leave it at that.

but since you bring it up, a default value of a say, a human body, may not be a bad way to start... if mike really feels up to it, he could do a bunch of predefined settings like a coconut, don ho, a sword, a gun, a child, a car, a plane, a cirque soleil performer, a porn actress or any double D+ mammaried female, an elephant, a flying elephant (pachydermus dumboliticus), and of course a bowl of petunias and a sperm whale, etc....

jin

GregMalick
05-27-2007, 11:30 PM
uhhhhhh.... jin,

This article may be of interest to you (http://starbulletin.com/2007/04/15/news/story02.html)

jin choung
05-27-2007, 11:57 PM
again, i know. but he's such a recognizable hawaiian figure (and you being in hawaii), i thought i would include him as a preset for terminal velocity.

heck, we can have other famous deceased as well. george washington?

jin

jin choung
05-28-2007, 12:01 AM
...or we can do the terminal velocity of tiny bubbles? :)

jin

Mike Pauza
05-29-2007, 07:31 AM
Now it's not intuitive, but we already have terminal velocity via the drag!
If you have a constant force and a constant drag, you wind up with a terminal velocity. :)

-Mike

Mike Pauza
05-29-2007, 07:53 AM
Haven't had a chance to test it, but...
Terminal Velocity = Force / Drag

-Mike

GregMalick
05-29-2007, 09:06 AM
Now it's not intuitive, but we already have terminal velocity via the drag!
If you have a constant force and a constant drag, you wind up with a terminal velocity. :)

-Mike


I didn't know that!

:thumbsup:

jin choung
05-29-2007, 10:23 PM
sweeeeeet. thanks for the education mike. :)

jin