View Full Version : vehicle suspension rigging
04 April 2003, 01:43 AM
I just rigged a vehicle so that the wheels steer along a path and are all constrained to the geometry they are moving over - but now I need to add some kind of bouncy suspension effect to the body of the car.
I don't have any realistic shocks or mechanicals to deal with - I just need some kind of rig that orients and translates the body based on the position of the four wheels. for example, if the front right wheel hits a bump the body should raise up on the front right etc.
any help greatly appreciated.
04 April 2003, 08:43 PM
Automating this would be very tricky. You have to remember that when you go over a bump slowly that the car will move more, but if you drove over it quickly, the tire will move a lot, but the car very little, if at all.
I would recommend something like a locator that is constrained to the geometry of the ground, and it will drive the tire up and down. Because that will always be the same.
But the vehicle itself will probably get better results by hand animation vs. some fancy and ultimately painful setup.
04 April 2003, 12:29 AM
well - that don't help much :p
I already have a setup that drives the vehicle along a path (curve made from the geometry edges) and a very convoluted setup that geometry constrains the wheels whilst keeping them in the correct position relative to the car - the geometry constraint can cause things to drift quite a bit in the x and z, so it's really only driving the y trans. Also have a sdk that can switch the wheels back to the car for those airborne moments.
Yes it's tricky - which is why I'm asking on the forums.
no it can't be done manually - cos the paths will almost definitely change and the animation is LONG. The advantage to riggging is that any vehicle we need in the future will also be able to use the setup. Reverse feet are tricky if you've never done it before, but the benefits are obvious.
I set up a simple cube test that has 4 locs aiming at each wheel (the rears are reversed in Z so they all face forward) then I have an averaged orient loc (orient constrained to all locs) the body of the car is constrained to this - I do a similar thing for the translate - reducing it to y.
this worked in the test - but my averaged locs don't return correct values when I apply it to the complex vehicle - the y keeps flipping - i need some kind of expression to control this instead of constraints. hmmmmm?
04 April 2003, 01:18 AM
Don't worry, Mags. I will keep trying to come up with some other solutions for you. This is a good challenge for me, since I want to put something like this into my own car model I have. I just need a little more experimenting time and I'll get back to you.
04 April 2003, 08:41 AM
I was using an interesting rig in a "Formula Nitro" episode, but it was kinda "Formula 1" driving, so no bumps at all.
But Iīm testing new riggings to make those bumps appear and Iīve found a big problem.
I geometry constraint the wheels to the ground, I play the animation and all looks well but, when I reach frame 1 (or 0, it doesnīt matter), the wheels donīt start at the same place at where they were. May be geometry constraint has some kind of calculation error or offset, donīt know. The problem is that I canīt get wheels to their start point in any way.
Any help will be apreciated.
And sorry fot my English
04 April 2003, 12:14 AM
I have a test file that corrects this - you basically create a locator as a child of the body of the vehicle and constrain the wheel to this locator in X and Z - this leaves the wheel to move in Y as it moves over the geometry.
To do this I first geometry constrain the wheel (preferably a dummy object that I use to drive the wheel with a sdk setup), then simply point constrain it to the locator and then break the y connection.
Geometry constraints don't lock out your channel inputs the way regular constraints will.
send me a direct mail iffin you wants the test file - it seems silly we can upload images to this forum but we can't upload maya files!?
04 April 2003, 09:15 PM
I got to a simailar conclusion as Magilla did, but I used a bone setup for the car. I point constrained the wheels to a joint, so the wheels would still turn. Then I limited the travel of the joint so even if the car came off the ground, the wheels would come with the car. I have locators constrained to the ground and attached the bones to the locators via constraints. My only last order of business would be to make the car motion travel up and down with the wheels. Which is, of course, why this thread was started in the first place. :beer:
04 April 2003, 09:57 PM
Well, you can always do as I do, you have to make a 2x2 Cv NURBS plane and make each CV a cluster, then you point constraint the car to the four clusters and each cluster with the corresponding wheel, this makes the car stay at an average position of the wheels, and then you have to normal constraint the car to the NURBS plane so itīll take the rotation based on the plane the 4 wheels construct, and thatīs all.
Have explained myself?
04 April 2003, 12:13 AM
aha - I hadn't thought of using clusters - or normal constraints. In fact I didn't even know there was a normal constraint!
Couldn't you actually just normal constrain the body of the car to the terrain geometry - does it take an average of the normals in the vicinity of the constrained object or does it just snap from one to the next as it moves over them?
I shall try some experiments....:bounce:
thank you for your replies
04 April 2003, 12:37 AM
I recomend you the NURBS plane - normal constraint since the car must average its position through wheels position, not surface tangency, nor cvs position, the 4 wheels should give car its orientation.
04 April 2003, 04:33 AM
use IK!! :D
check out this tutorial...
just my 2Ē, hope it helps! (it even shows you how to rig a turret on top)
04 April 2003, 04:44 AM
yep - I ran through that tutorial - it doesn't have any control over the vehicle body - except manually keyframing it from the nurbs controller.
nice setup for arcing front wheels tho'
04 April 2003, 05:03 AM
01 January 2006, 09:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.