Simulating Car Motion Using Reactor (Wheel) - By Aziz
August 19th, 2006
Level: Intermediate
Edited by Oman3D

Reactor is a powerful tool that comes with 3d Studio Max, it makes it possible to simulate realistic dynamics based on physically-defined properties, such as hard body, soft body, cloth, and liquid. It can simulate the reaction occurring when a box falling from a high place hits the ground. This could be compared to all the time required to do the same effect using keyframes, and that wouldn't still give us a realistic animation similar to the one possible to create using reactor. This tutorial will teach you how to simulate car motion using the Wheel Reactor. The video below features the result that we are going to create in this tutorial.

We created in this tutorial a simple scene for a car moving on a lane to show you how to use the Wheel Reactor in 3D Studio Max. The scene to be used to follow this tutorial could be downloaded from this link.

Setting up the scene

Fire up 3DS Max and open the file that we gave you. You should have the following elements in the scene:

You can click Play to see the car move and then stop completely at Frame 10. The keyframed animation was used to set the initial speed as an input to start the physical simulation.

Setting Up Reactor

For Reactor to work perfectly, we need to add the scene model to the reactor world as Rigid Bodies. Access the Reactor Panel and then click on the Rigid Body Collection button Rigid Body Collection from that panel.

The Rigid Body Collection is a reactor helper object that acts as a container for rigid bodies. Rigid bodies are the basic building blocks of reactor simulations and are objects and blocks that do not change their shape when simulated by reactor. For more info please refer to the the help file that comes with 3DS Max.

Click on the scene once to create the RB Collection. Access the Modify tab and scroll down to find the RB Collection Properties rollout. Look for the Add button and click it, the Select Rigid Bodies window should pop-up, select all the models available by clicking on All and then click on Select to make the selection and close the window.



Setting the Reactor Wheel

Access the Reactor panel once more, but this time click on the Car-Wheel Constraint button Car-Wheel Constraint, add it by clicking once on the scene. Go through the Modify tab and look for the Properties rollout, check the box next to Parent and then click on the button labeled none and choose the body1 box, click on the Child button labeled none and assign the tire01 cylinder to it.

Setting the Reactor Wheel

Repeat the step above three times so that you apply Reactor to each one of the three tires (Cylinders) by assigning each one as a child and the body box as a parent. We Assigned the Car-Wheel Constraint to a single parent - body1, and this will make it work as the car chassis as moving it shall then make the tires roll with it.

Setting the Reactor Wheel

CSolver

Access the Reactor panel once more and click on the CSolver button CSolver. Look for the Properties rollout in the Modify tab, click on the button labeled none below the RB Collection heading, select the Rigid Body Collection from the scene (the 3 stack box we created earlier). Click on Add to open the Select New Constrains to Add window and select all the car-wheels from the list, click on Select to close the window.

The Constraint Solver acts as a container for the cooperative constraints in a particular rigid body collection, and performs all the calculations necessary for the constraints to work together, calculation for car-wheels constraint in this case.



Setting the Property Editor

All the needed reactor helpers are now set. The remaining step is for us to configure the Physical Properties for the Rigid Bodies before we can go ahead and set up the Reactor properties and start the real-time simulation. We'll now have to access the Reactor Panel and then click on the Property Editor button Properties Editor to open the up the Rigid Body Property window. We'll now have to select each element in the scene, one at a time, and assign the the following physical values and Geometry shapes.

  1. Body1 "box"
    Physical Property rollout
    Mass : 200
    Simulation Geometry rollout
    Mesh Convex Hull

    Mesh Convex Hull: This is the default option. The object's geometry is passed through an algorithm which creates a convex geometry using the geometry's vertices and which completely encloses the geometry's vertices.
    Body1
  2. tire01, tire02, tire03, tire04
    Physical Property rollout
    Mass : 60
    Simulation Geometry rollout
    Mesh Convex Hull
    Tires
  3. Road
    Simulation Geometry rollout
    Concave Hull
    Concave Mesh: The actual mesh of the object is used for simulation.

    Road

Simulation Geometry: tells Reactor which physical representation of the object is to be used for the rigid body. You could review 3DS Max help files for more info.

Setting up Reactor

Access the Utilities tab and then select Reactor from the list to set it up. Access the Reactor Properties and expand the Preview and Animation rollout. You will then have to set the Start Frame to 5 and the End Frame to 200. Finally, expand the World rollout and set the Col. Tolerance to 1 as illustrated in the image bellow.


This should make Reactor start the physical simulation at Frame 2 and end at Frame 200. Reactor takes the input of the car speed as the speed at which the car is moving from frames 0 to 10, which could alternatively be selected to do this simulation.

Collision Tolerance is one of the tasks that Reactor performs in each simulation step is detecting whether any objects in the scene are colliding so that it updates the scene accordingly. Higher Collision Tolerance values will result in a more stable simulation. For more info please refer to the the help file that comes with 3DS Max.

We can now run the Reactor simulation to see the result run at real time, access the Reactor panel and then click on the Preview in Window button Preview in Window. This should open up the Reactor Real-Time Preview window with, hit P on your keyboard to start the simulation.

You can now also pass the simulation result to the Max viewport as a keyframed animation. This could be done by clicking the Create Animation button Create Animation found on the Reactor panel. This process should take a few seconds to be completed.

Once the previous process is completed, you can hit the Play button to view your final simulation of the car. You can also produce the animation through videopost.

This concludes our tutorial, you can download the end scene from this link. I hope that you enjoyed this tutorial and that you learnt something about implementing car-wheel constraints to simulate a car motion with reactor. Please feel free to post all your comments and questions at the Oman3D Forum.

Links to other Reactor tutorials:

- End of Tutorial