Car-rigging Discussion


#1

In light of 3DZealots recent thread on Sub-D’s I wanted to ask for some input from the community on discussing some methods for rigging objects for animation.

In particular, my interest is in rigging a vehicle for animation… I’m trying to learn all the cool tricks used in character animation and am trying to figure out how I might apply it to vehicle rigging.

The goal of this dicussion is to explore different aspects of rigging, and then to try and create the ultimate vehicle rig.

When complete, I will maintain on my site a detailed explnation of the process as discussed in this thread as well as the final max file with the vehicle rig as a resource to everyone!

So to start off, I’ve setup a basic car mesh with a body and some reference points on where the suspension links should be setup and all.

If you make updates or revisions, and wish to share your file, please contact me via PM or email.

The file is available on my site along with a composition of information:

http://www.vi2.com/forums/viewtopic.php?p=136

Goals
The goals for this project should be to develop some scripts, rigs, and setups for easily animating this vehicle. Things to consider include suspension effects, placing tires on uneven surfaces, animating the rotation of the tire (and being able to manually control it for wheel spin effects, etc) and of course driving the vehicle (rotation of tires as the vehicle turns…)

Hoping for a good discussion and some development on this great resource for everyone. Post away!


#2

Woot!

Good one, Aaron. Can’t wait to see where it goes.

Not really rigging, but just a thing to think about.

Reactor. Using a dynamics engine to simulate the car’s physics.
Could be cool. At least in part.

I’ve also seen plugins for Max designed just for rigging and animating cars. Has anyone used it? Know what it’s called? I’ll have to go check digimation.

Anyway. Just a few ideas.

This is gonna rock.

-3DZ

:smiley:


#3

Ok, several questions:

Is there anyway to get automatic damper effects possibly using soemthing like the flex modifier? That would totally kick to be able to use that to get a bit of a bounce to the vehicle…

What ideas do you have for limiting the vertical movement of the vehicles body from each of the wheels…

I’m thinking that some kind of spring system would be great… but the question is how do you make it interact with 4 points!!!

possibly a script based approach?

Anyone done anykind of script based collision detection?


#4

What would the input methods be for this setup? Are we talking laydown a spline? Are we talking play with some values in a script, or would you move the car with a joystick?

It’s been done. Starship Troopers(movie) had people actually flying the ships to get the animation more realistic.

With max’s built-in motion capture utilities, that could be an option.

It would be a piece of cake to make a car drop from the ceiling and react properly. Forward motion would’nt seem too hard.

The hardpart, to me, would be steering it. That would have to be done with a script. I think.

It’d be cool to script the forward motion of the car to emmit particles for dust and water FX. Just a thought.

I know I have the equasion for wheel roll lying around…

Hmmmm…

-3DZ

:smiley:


#5

To create realistic movement on a car, no matter what you think, you’ll need to use scripts. The physics must be correctly done, or you’ll get really wierd results.

Hopes to be able to make that in 5 years after graduating on Physics at college


#6

Well, are’nt we re-inventing the wheel(no pun intended)a bit?

Most of the really high-end and best selling racecar video games out there have an accurate 4-point physics model. I know it’s hard, but it’s not impossible.

-3DZ

:smiley:


#7

Ok, I’ve been playing around with the rig a little. Was wondering… I have 2 points the hub and the wheel… is there a way to use max scripting to do the following:

max_stretch = 5;
max_compress = 3;

if( distance(point_hub,point_wheel) > max_stretch )
{
point_hub = inherit point_wheel translation;
}
else if( distance(point_hub,point_wheel) < max_compression )
{
point_hub = inherit point_wheel translation;
}

Also it would be cool if I could calculate the change in distance so that depending on the rate of change, I could do some damping effects.


#8

Something simple… it would be fine to control the values via a slider or something…

The key issue is like turning and such which affect things like turning radius and also how the rear tires follow…

mainly things like suspension effects should be automated, like with sticky feet so the tires stick to the ground, etc


#9

Originally posted by 3DZealot
[B]Well, are’nt we re-inventing the wheel(no pun intended)a bit?

Most of the really high-end and best selling racecar video games out there have an accurate 4-point physics model. I know it’s hard, but it’s not impossible.

-3DZ

:smiley: [/B]

Well could we write a simple 4 point translation in maxscript?


#10

It’s more complicated then that. You have to take into account the weight that the car has, and the forces that act on the car. Well, for animation anyway…But that’s what you wish right?


#11

But what I’m saying, is that reactor has all those physics built in. Why try to write that? It has contraints built in to hook stuff together with springs and tension, and of course, as a physics simulation tool, it has weight, density, gravity, etc. Hell, it even has a car simulation type. It’s primitive, but it’s there to be played with.

The motion of the steering wheel could move the tires by way of a reactor controler(just plain max, not the plugin). Turn the wheel 30 degrees, the tires move either directly to it, or by an equation.

Just some thoughts.

-3DZ

:smiley:


#12

In my animation class, my instructor said that he was going to help/show me how to rig my K5 blazer. It has bit of a lift on it, and I’m going to try to get more than just the body roll down, I’d like to get all the suspension parts to work properly… if it goes good I’ll try to remember to post up some tips/info from what he told me!


#13

That’s awsome. Thanks for sharing that with us.

Think you could post some of your tips and trick from what you are learning as you are learning them?

-3DZ

:smiley:


#14

Error404

I was wondering…where do you go to school?? The colleges around here do’t offer anything resembling animation classes…
I was thinking about an online college because of that…


#15

It’s more complicated then that. You have to take into account the weight that the car has, and the forces that act on the car. Well, for animation anyway…But that’s what you wish right?

Originally posted by 3DZealot
[B]But what I’m saying, is that reactor has all those physics built in. Why try to write that? It has contraints built in to hook stuff together with springs and tension, and of course, as a physics simulation tool, it has weight, density, gravity, etc. Hell, it even has a car simulation type. It’s primitive, but it’s there to be played with.

The motion of the steering wheel could move the tires by way of a reactor controler(just plain max, not the plugin). Turn the wheel 30 degrees, the tires move either directly to it, or by an equation.
[/B]

Quite right… I am hoping to use the tools in max to build a Not-So-Complex-But-Still-Useful vehicle rig for doing all kinds of vehicle animation.

I am gonna, for now, say line driven… because timing and such become a bitch with trying to use the input devices…

For now, the issue is rigging the body to the base… so that the body is free to move within limits and the tires stick to the whole group (with basic suspension effects) as you drag the vehicle around…


#16

I’m trying to use the damper as a link on the suspension… I would like to setup a link so that as I pull the body up, it will keep the tires where they are until the maximum expansion of the damper… at which point the tire objects will move up… Also I would to use it for compression as well…

The idea is i’m trying to kind of get “sticky tires” which stick to the ground…

How do I link the damper to the mesh so that it has that kind of an effect?

Could someone point me to some character rig tutorials that I might check out. Thanks

This is what the damer setup looks like… I just need to setup the links so that as the body moves away, the tire will get pulled after the damer “stretches” to its maximum extent.

happy maxing


#17

Does anyone have a tutorial on setting up stick feet (for like animation where the feet stick to the ground unless the upper bone is stretched) and also a tutorial on sliding joints?

I’d like to refer to both for some reference… thanks


#18

the issue is rigging the body to the base… so that the body is free to move within limits and the tires stick to the whole group (with basic suspension effects) as you drag the vehicle around

Just a quick ponder Aaron, I may totally off-base: But are you saying you want to be able to control the chassis of the car, with the wheels following? Maybe that’s not at all what you wrote, sorry if I’m misinterpreting. I’m just thinking that to get proper vehicle-movement you’d want a dummy-object (a “Car” helper object) of sorts to link up to a path, then have wheels following that, with the chassis on top of the wheels.

Maybe that’s exactly what you meant though, I’m not sure.

A more general question, for a bit of discussion perhaps: What is the intended use for the car-simulation? If we were to go with the car being constrained to a path, how would one define if it needs to be screeching around this corner, slowing down at the other… or even turning to sharply as to flip over, thus going completly off the path…

Making it completly free-form doesn’t seem to neccessairly hold all the answers either. For instance, as Aaron mentions, timing becomes an issue.

I’d like a way to get a car moving that allowed for both these situations:
Cars on a freeway or a car offroad or whatever, driving along where you know where it’s going and such. Best example I can come up with right now would be some random Honda commerical with the car driving off into the sunset.

But I’d also like to be able to have a car, and then flicking it with a gigantic finger, seeing it flip and roll over. Or drive it off a cliff and letting physics do the rest. An example there would be an action sequence?.. (or in the case of the finger, a Monty Python remake? :).

Is that way too much to ask? Maybe I’ve misunderstood the thread-topic, that was just what I thought would be soooo damn handy.
Don’t misunderstand my suggestions here as some wishful thinking of a plugin that does eeeverything I mentioned perfectly without having to work for it. It doesn’t have to automatically be able to throw cars off cliffs and such, as long as it just doesn’t prevent me from archiving that. Like, say, if this theoretical plugin’s workflow worked with the ability to snapshot the car right as it passes the edge of the cliff, well that’s great, we can hide the simulated car, and go full-on rigidbody Reactor on it for the fall itself. Etc etc.

Idunno… see where I’m getting at?


#19

You might want to check out this:

www.newplugins.com

This guy has written a vehicle simulator for max that has many features. Our company has a lot of car stuff to animate so we bought it and tried to use it on our projects. But we always ended up in good old keyframe animation. Simulating all the stuff just takes too long till you get the desired effect. You can spend a week tweaking the parameteres of the simulation until you get an effect that an animator keyframes in two days.

Once we even wrote an importer to take original simulation data of a big german carmanufacturer into max (They wanted it to be accurate …) And then the Art Director said “Could we make it swing a little less?” There’s no point to say “Hey, that’s original simulation data” You just have to change it .(We again ended up with keyframing)


#20

Yeah DIMO, that sounds like a good point. Fun fact of the day: the same, IMO, goes for Realflow, the water simulation plugin. It’s horribly slow, and you always end up wanting to change something more or less tiny, only changing the result is horribly slow and hard, because, hey, the water is simulated… all you can do is change the start-parameters…

So yeah, all-out car-simulation is not neccessairly the best workflow in the world. Personally I quite despise the idea of being locked into that trap again.

Then there’s keyframing… it works I’m sure, but it’s gotta be tedious to animate all the subtle chassis-movements? The way tires spin and shake when they loose grip for a second… it’s certainly a lot to keep track of, and maybe something could be added to alleviate the animators from that task?

A thought comes to mind… a… a hypothetical interface that might work. Or maybe not. I’ll just throw it out here and see if others finds these sort of “imagine how it could be” things interesting:
Okay so you’re animating a car-dummy around, you’d be rotating the front wheels, making sure not to drive the dummy far into the ground, or up so it takes off. It’d be the keyframing you’re speaking of DIMO, so you get the weight of a car moving around, but without messing with the shocks of the chassis, or animating the shockabsorbers, or anything like that. Just the basic car-movement.
Then you run The Plugin™, and it matches the wheels with the movement of the dummy. Then it matches the chassis to the wheels. That could give you the tiny vibrations and shock-absorbtions and such by way of simulation, without giving up the ability to keyframe the basic movements?
If you want more vibration as it, say, goes offroad, reset the simulation, and animate the Rough Surface (or whatever :)) parameter so it jolts up at the right time. Rerun the simulation, and now the car starts vibrating more as it hits the rocky ground. Depending on the settings of the Shock Absorbance Quality parameter :slight_smile: If it’s a four-wheel offroad car, the wheels would just shake I suppose, the chassis staying flat. A sort of “bumpmap” for the simulator, so you wouldn’t have to model in all kinds of nasty details geometrically.

Just a thought… idunno… lots more to detail out of course, and many pitfalls in that idea I’m sure, but that’s why I keep repeating it’s just a thought :rolleyes:

Btw I’m all for the idea of simulating the wheels and chassis and whatnot through Reactor. As it’s been pointed out, it likely has all the physics-calculations anyone could ever dream of.

Anyway, I for one fear, as it seems DIMO does as well :), the idea of a hardcore vehicle-simulation. But maybe something inbetween could indeed be thought up… something designed from the grounds-up to be used by animators, with an anxious art director right behind them asking for the tiny weird changes they always seem to be asking.

I hope I’m not derailing the topic by bringing in these theoretical “what if it was made like this” postings.