CREATING THE ULTIMATE ADJUSTABLE CAR RIG (UAC-Rig).
The Ultimate Adjustable Car Rig is a professional grade, production ready vehicle tool for Autodesk Maya. As well as its unique resizing capability, it boasts a fantastic built in path system, light weight dynamic suspension, in depth steering geometry tuning, tire pressure interaction and a full working chassis model. Users are easily able to resize this rig to fully connect to any 4 wheeled 3D model in a matter of minutes to achieve stellar animation results without any headaches. This is my progress blog for the creation of the UAC-Rig.
Oct 10 2020.
Many years ago, I had the idea to make a reusable car rig with suspension capabilities and accurate wheel rotation with regards to steering and translation. The rig could be resized to fit most 4 wheeled vehicles. This rig worked well for everything I needed it for so I put out a car rigging tutorial for this exact rig a few years back that was really well received.
After listening to a ton of amazing feedback and diving deeper into the workings of steering geometry I decided to take this rig to the next level. The growing request list was a bit overwhelming at first but after going through each item individually, it does feel doable and I am pretty excited to work on it.
Here are the main things I will be addressing. I want to thank everyone who contributed to this list, you know who you are 😊.
In certain situations the wheels don't rotate accurately.
The expression causes some odd viewport glitches for some users.
Add Caster & Camber controls.
Adding multiple cars to a scene requires editing the expression on each car.
Add Dynamic suspension.
Add a steering wheel link up.
Add Ackermann & Parallel steering blend option.
Automatic steering?
I wish the tires would compress.
Path animation is tedious and too difficult to setup.
Resizing the rig is tricky to do for a beginner in Maya.
The model is too simple, it is not usable.
Oct 26 2020.
Here is the new 3D chassis model. The base Sculpt was built with a combination of Autodesk Maya and Zbrush. It consists of over 3million polygons which has been baked down using high end video game techniques in a software called Marmoset toolbag.
The baked maps are assigned to a final mesh that is constructed from about 200k triangles which is in the same range as a hero car model in a AAA video game. The baking process basically takes the normal tangents from the base Sculpt mesh and transfers them to the final mesh, giving the illusion of more detail where there is in fact none.
Oct 29 2020.
The chassis needed some color, so taking the baked maps into a pretty neat software called substance painter allowed for a slick result. The best part of this is I can revisit it at any point very easily, so I will leave this where it is for now so I can let the rigging begin.
Here is the previous chassis model from the original Adjustable Car Rig (ACR).
There is quite a difference, and I believe this to be very usable so I can confidently cross this off the list.
The model is too simple, it is not usable.
Nov 5 2020.
The first rigging task I wanted to tackle was a well needed replacement for the expression. Expressions are slow and problematic when adding multiple copies of the rig to the scene so I wanted to take the time and rebuild the expression out of utility nodes. Once it was built, I could easily see where I could improve it and manage to reduce the calculations significantly. This new method uses direct interaction with the matrices which has a surprisingly low number of utility nodes so performance is great. So far, no issues with this method but I will keep a close eye on it as it seems too good to be true. 3 major bugs crossed off the list!
In certain situations the wheels don't rotate accurately.
The expression causes some odd viewport glitches for some users.
Adding multiple cars to a scene requires editing the expression on each car.
Here is the UACR driving and steering with the new utility node solution.
Nov 7 2020.
No bugs squashed, but the suspension is in! I have a 9-joint setup per spring that works quite nicely. It is able to compress while accurately keeping the spring volume intact. No curves are used for this; just some well placed point weighting so this won’t have any issues exporting to fbx. The CV axle boot motion really adds some life to it. I really want to get those tires deforming next.
Nov 13 2020.
Tire compression in! Lattices and dynamic solutions are not an option for this because I want this rig to easily be exportable to the fbx format like the previous rig so this left me with 1 method only; do it with joints. The best part of this is you can match any tire model to the correct size and simply copy weights and you are good to go. I will test that theory in more detail at the end. I want to cross this one off the list but I will wait until I get this working with caster + camber before I do so which is my next task. Dang it looks cool though!
Nov 16 2020.
Camber is in and I was working on caster but then I got distracted with the dynamic Suspension. I set this up using a simple curve with 2 cv’s and a soft-body setup. I hooked it up with body, the tire compression from last week and tossed in automatic camber adjustment for the hell of it. It gives a nice effect and is very delightfully easy to control. A single weight shift object tilts the frame and the soft-body element generates motion to pull it back into place. I suppose it is a pseudo-dynamic setup for now but I think I can hook this into the built-in path system I am working on for a more automated experience.
I can cross this one off the list, however I may need to tweak it again once it is integrated with the path system.
Add Dynamic suspension.
Nov 19 2020.
Camber is now added for each wheel with attributes that allow you to influence the chassis and tires. I also have the reverse of this, meaning when the body is moved in any way, the camber and tires are effected. It's pretty neat having the tires compress with the angle change.
A Caster attribute is added to the new tune-up control. This allows for a more realistic steering angle. You can see here as the wishbone mount alignment changes causing the knuckle to shift its angle. The result is subtle but it does add that little something extra, especially with the tire compressing into the ground.
Ackermann steering blend added. I wasn't sure about adding this at first but after looking at real-world steering in more detail, it does add subtle detail and allows a user to customize a more accurate steering motion based on their vehicle type/brand.
I can proudly cross these two off the list!
Add Caster & Camber controls.
Add Ackermann & Parallel steering blend option.
Nov 22 2020.
Path system is fully integrated. The idea behind it is having 3 points moving along the curve, one at the rear axle, front axle and one in front of the car. The rear axle point is the main driving point, the front axle point keeps the whole car aligned on the path correctly and the third point acts as a target or "track point" for the front axle point to aim to. This Y rotation is then transfered into the steering system. The user has the option blend the automatic steering on or off which is further adjusted by a tracking distance attribute. Works like a charm and the dynamic system plays well with the path setup also.
Not one of the original requests, but I added some automatic motion options to the body control. The user can turn on a random or repetitive wave motion that can be adjusted in many ways to create unique looks. I exaggerated it for this Mini but you get the idea:)
Path animation has never been easier to setup now with this system, extremely proud to cross these off.
Path animation is tedious and too difficult to setup.
Automatic steering?
Nov 28 2020.
A whole new way of resizing your car has been added. The user just snaps two arrows to the center of the front and rear wheels on one side only. This provides all of the information to adjust the radius automatically. The user can then move the arrows to the correct width and finally, if they want to use the tire setup, set a tireSideWall attribute that tells the rig where the tire begins.
Here it is again using a car model.
Here is the UI to make the connection process as easy as can be. Once resized the user just selects the mesh and assigns it do a car part. Setting wheel or tire will automatically assign it to the correct side or front/back location.
Another item off the list, 1 more to go!
Resizing the rig is tricky to do for a beginner in Maya.
Nov 29 2020.
A Steering wheel can now be added to the rig. The user just moves snaps an optional 3rd arrow to the center of the steering wheel model and then tilts the correct angle. This allows the rig to add automated motion to the steering wheel when the car steers and also the ability to do the reverse; The steering wheel can be rotated to effect the wheels and adjusted with a steering ratio attribute.
I also put in 6 preset curve options listed here:
That was the last item on the list! I will be testing and bug fixing over the next few weeks and then releasing it as a product on my store. Subscribe to my website if you wish to be notified when it is ready. Thanks for checking out the journey of creating the Ultimate Adjustable Car Rig!