Phone: 905 409-1589
Email: info@penproductions.ca
RSS LinkedIn Twitter Twitter
MX Driver 1 & 2
What is MX Driver?
MX Driver has been designed as an animators tool for working with Car, Truck and Trailer animations. It is not a vehicle simulator that calculates its own trajectory and rollover. It has automation built in that will aid in the creation of realistic and even cartoony vehicle animations.

MX Driver was created with control in mind knowing that most products on the market either lacked features or lacked manual control. MX Driver allows the artist to add to or completely turn off any automation that is on the vehicle putting control back into the hands of the animator.

So what does MX Driver do for you? With all the automated systems turned on it will calculate ground detection, steering and direction of travel based on either path animation or position key frames, wheel rotation, suspension and simple body dynamics to handle giggle in the body of the vehicle.

Setup is as simple as aligning MX Driver to your model and using the parametric values to size the rig. All that has to be done then is to link all the model parts to the rig. Set up for a typical vehicle will take about 10 minutes.

Animation is as simple as laying down a path and constraining the main control object to it or hand keying any part of the system. Automation on any part of the rig can be keyed smoothly on and off so that it doesn't hinder the artist input from the animator. Multiple ground objects can be used and work in real time so the animator can see what is happening.

Online Store:
MX Driver 2.x is available for Max 2008 and higher and works on 32 and 64 bit machines.

There are two licensing options available for purchase on line. If you are interested in a site license please contact us at info@paulneale.com.

Licensing Options:
Cost:
Description:
Order:
$199 CAN
MXD 2 single license version.

This includes both MXD 1 and 2 with the trailer rig.

$299 CAN
MXD 2 Three license bundle.

This includes both MXD 1 and 2 with the trailer rig.

Navigate:
Example #1: MX Driver 2 can interact with multiple ground objects in real time. Dynamics are applied when animation is baked to produce realistic motion.
Example #2: Many of the setup parameters for MX Driver 2 can be animated to produce a vehicle that changes from one vehicle type to another in real time.
MX Driver 2 is loaded with features for simple and easy animation of four wheeled vehicles.
The "About" dialog feeds back information about the status of the license and allows for requests to be made for counter codes.

Licenses are not transferable and are locked to the machine that they are first licenses to.

Computers that are used for network rendering do not need licenses for them to render correctly. Please make sure that you follow the steps in the Bake Animation section on how to ensure that animations will be correct on all machines before sending to a render farm.

When requesting help via email please ensure to include your license request and counter code you are using. We endevour to support our clients and ensure that MX Driver is working correctly.

If you have suggestions about new features or tools of MX Driver please email them to us and we will see if we can include them in the next version of MXD.

The "Animation" rollout is where users control the animation properties of the car rig.
  • Float Tools: Opens a floating dialog containing all the rollouts for managing the car rig. This makes it easier to display the control for a car and keep working in the Max modifier panel.
  • Turn Car On: The car rig is calculating the position, ground detection and stearing in real time. When many cars are in a scene this can start to slow down real time performance. If it isn't necessary to see the results of a given car when working on the rest of the scene it can be disabled.
  • Use Primary: When Turn Car On is enabled and Use Primary enabled the car bodys position to the ground and steering on the body of the car will be calculated. You can turn this off if you wish to completely over ride the position and orientation of the car body.
  • Use Secondary: When Turn Car On is enabled and Use Secondary is enabled the suspension and front wheel steering will be calculated. This can be another way to speed up interaction in the viewport when working with many car rigs or a complex scene or turn it off so completely over ride those calculations so they can be hand keyed.
  • Manage Scene: All On / All Off: This allows for turning on and off all the MXD cars for easier management of large scenes.
  • Key/Reset: Key All / Key Sel: Allows for keying all or selected control objects.
  • Key/Reset: Reset All / Reset Sel: Allows for reseting all or selected control objects to their default values.
  • Reverse On: This is an animatable parameter used for forcing the vehicle into reverse. It is best to key this option on just before wanting the car to point in a reverse direction when moving the master control.
  • Wheel Spin Multiplier: When set to the default value of 1 each wheel will rotate as it would in normal situations. These parameters can be animated to control the speed that the wheels rotate. Dialing them down to a value of 0 will stop the wheel from rotating. If you want the vehicle to do a burn out it is best to use manual animation on the wheels and leave this value set at 1.
  • Auto Steer Multiplier: Body and Wheel values are multipliers for the amount of steering that will happen. Dialing them down to 0 will shut off any steering and can be animated. Body Offset and Wheel Offset will change the timing for when the steering will take place. For instance changing the Body Offset to a negitive value and the Wheel Offset to a positive value will make it look like the front wheels are loosing traction and the body isn't reacting to the streering right away.
Dynamics rollout controls the dynamic interaction of the body to the changing velocity, direction and ground. This is not seen in real time in the Max viewport and must be baked to see the result. See the baking section for tips on baking animation and speeding up the process.
  • Dynamics: Mass, Strength and Sway are used to adjust how the body of the vehicle will react to the changing velocity, direction and ground of the vehicle. These are not real world values and take some testing to get right for any given vehicle.
  • Dynamics Multiplier: Roll, Pitch and Bounce of the dynamics can be mutipled here. This can be used with the Mass, Strength and Sway to fine tune the results of the dynamic solution. Dialing any one of these to a value of 0 will stop the vehicle reacting in that direction to the vehicles movement.
  • Limits: Controls the point at which the dynamics will stop. This can cause some strange effects as the body of the vehicle can appear to just stop as it hits the limit value and then start moving again as the values get below the limit. It is best to reduce the multiple values and use the limits to clamp off only the highest peeks of the dynamics solution.
Ground objects can be setup for collision detection. Multiple objects can be used. In complex scenes it is best to create non-rendering low resolution objects for ground detection so that interactive speed remains as high as possible.

Ground detection happens only directly down from the vehicle so if a tire is needed to drive up over a square object it will tend to pop up once it is directly over it. Since this is not what would happen a low res ramp object can be used for ground detection that will force the wheel up before it is directly over the object.

  • Enabled Ground Objects: Turns on and off the ground detection. This will also speed up the real time interaction in the viewport.
  • Ground Offset: If the geometry of the rendering vehicle appear to be passing into the ground or floating above it this value can be set to off set the hit distance. It can also be used if you wish to set the tires up to flatten on the ground from the weight of the vehicle. It will not do the flatening of the renderable geometry, this is up to the end user to setup.
  • Ground Effect: Used to animate on and off the effect the ground has on the vehicle. This could be used to allow a vehicle to jump or float off the ground, how ever this can be hard to key. If a vehicle needs to jump a new ground object can be added for the flight path of the vehicle and is non-rendering.
  • Pick Ground Objects: Used for picking the ground objects for collision detection. Note that it is currently setup to allow for multiple objects to be picked one after the other. The objects will not show up in the Ground Objects list until the user right clicks to end the process.
  • Use Animated Objects: By default ground detection objects can't be animated. This allows for oct trees to be built for faster and more accurate hit detection. When Use Animated Objects is turned on there will be a noticable slow down in the real time feed back and hit detection might not be as accurate. Only turn on if necessary.
  • Update: When Use Animated Objects is turned off and you change a ground objects position or shape it is necessary to press the update button so the ground detection data tree is rebuilt.
  • Remove: Removes the selected ground object in the list.
The Bake Animation rollout is used for baking the final solution to key frames. This has two main advantages, first it makes the feed back in the viewport much faster as it also turns off all the real time calculations that are needed to drive the position and orientation of all the parts of the vehicle. Second, it bakes the dynamics solution into the rig. Dynamics on the body can't be seen any other way.
  • Use Bake Settings: This can be used to over ride the settings in the UI. For instance if you have Ground Objects turned off in the Ground Objects rollout the Use Ground Object check box in the Bake Settings group will over ride it.
  • Use Ground Objects: Over rides the Enable Ground Objects check box in the Ground Objects rollout.
  • Bake Car: Will bake all the settings on the car including position and orientation values created by the real time properties.
  • Use Dynamics: Will force the Dynamics to be calculated when baking is done.

    Because it is hard to know what settings should be used in the Dynamics rollout it is good practice to bake the car rig with Bake Car checked on and then uncheck Bake Car rig and turn on Use Dynamics and bake only the dynamics. This is very quick to calculate so changes can be made to the dyanmics properties and then rebaked to see the result.

  • Bake Scene / All Cars: When checked on all cars in the scene will be baked.
  • Time Range: Use to setup the range to be baked. Currently it is not possible to bake the scene in pieces as each time bake is pressed all the keys in the time line are removed before the next bake occures.
  • Time Range: Sample Step: Baking can be done on a time step. If the step is set to 2 a key will only be added every other frame. This will double the speed of the bake and also help smooth out any areas of animation that might be rough.
  • Bake: Pressing bake will start the baking process and show a progress bar.
  • Bake States: Once a vehicle is baked it will turn on the bake states. If the Car button is pressed, which happens automatically when baking, the car is using the baked keys. When Car is un-checked the vehicle will start to calculate its position and orientation values in real time again. If the Dynamics button is checked the dynamics solutions is being used. When un-checked no dynamics will be displayed as it is not calculated in real time.
  • Delete All Bake Keys: Deletes all the keys from the baked solution for either the vehicle or the dynamics.
  • Bake to Helpers: Allows for baking the body and both wheels to a set of five point helpers. This can be used for exporting the motion to other applications or real time engines.
  • Delete Helpers: Deletes the created helpers in the scene.
  • Setup:
    • Ref Frame: Sets the reference frame for the real time calculations. Since MX Driver using time dependent calculations this is needed as a starting point. At this frame the car will reset time dependent settings to the defaults.
    • Set Starting Direction: At the reference frame the vehicle needs to know which direction it should be pointing when it resets. Use the master control to rotate the vehicle in the starting direction then press this button to store it as the default.
  • Front Wheels
    • Raduis: Sets the radius of the front wheels.
    • Width: Sets the width of the wheels. This affects where the hit point is placed as it is calculated in the middle of the wheel.
    • Axel Width: Set the distance between the front wheels.
    • Strut Length: Set the length of the suspension struts. This affects the point where the suspension pivots around. MX Driver uses an independent suspension system, if you need to setup a fixed axel system you can fake it by setting the length of the struts so they pivot near the opposite wheel. Rig the rendering axel by linking it to the wheels pivot center on one side and set a look at constraint to the pivot center on the other.
    • Fixed Angle: This is a bias setting between having the angle of the wheel stay perpendicular to the angle of the car or being locked to the angle of the strut. Most vehicles bias to the angle of the vehicle but do angle in when the car is at the extream hight of the shock travel. Setting a value of 0.5 will result in an even mix of the two.
    • Length: Sets the length of the vehicle from axel the back axel to the front axel.
  • Rear Wheels
    • Raduis: Sets the radius of the back wheels.
    • Width: Sets the width of the wheels. This affects where the hit point is placed as it is calculated in the middle of the wheel.
    • Axel Width: Set the distance between the front wheels.
    • Strut Length: Set the length of the suspension struts. This affects the point where the suspension pivots around. MX Driver uses an independent suspension system, if you need to setup a fixed axel system you can fake it by setting the length of the struts so they pivot near the opposite wheel. Rig the rendering axel by linking it to the wheels pivot center on one side and set a look at constraint to the pivot center on the other.
    • Fixed Angle: This is a bias setting between having the angle of the wheel stay perpendicular to the angle of the car or being locked to the angle of the strut. Most vehicles bias to the angle of the vehicle but do angle in when the car is at the extream hight of the shock travel. Setting a value of 0.5 will result in an even mix of the two.
  • Body:
    • Body Style: Choose the style that the body of the vehicle will look like. This does not affect the way any other settings work. It is just used to set a visual representation of the vehicles body to be able to better identify it in the scene when high res renderalbe geometry is hidden.
    • Size: Over all size of the body of the vehicle.
    • Height %: Changes the hight of the body as a percentage of the size.
    • Width %: Changes the width of the body as a percentage of the size.
    • Length %: Changes the length of the body as a percentage of the size.
    • Height: Moves the body up and down from the pivot point.
    • Fore Aft: Moves the body forward and back.
    • Pivot Height: Sets the hight of the pivot of the body. This will affect where the dynamic calculations take place for the body.
    • Angle: Sets the starting angle of the body from front to back.
  • Control Positions:
    • Master Height: Controls the height the master control is above the ground.
    • Front Height: Controls the height of the manual streering and rear wheel skidding control.
    • Rear Height: Controls the height of the manual front wheel skidding control.
  • Direction / Steering:
    • Sensitivity: Car direction and streering are based on the change in angle from one frame to the next. If the vehicle is standing still or just barely moving the angle can't be calculated correctly. This value controls the distance that the vehicle needs to travel before direction and streering will be calculated. If the value is to low unwanted steering might take place. If the value is to high the vehicle will not steer at all.
    • Frame Samples: Number of samples per frame.
    • Sample Step: Allows samples to skip n frames to speed up calculations. This can decrease accuracy but will speed up interactivity.
    • Dampening: Trys to dampen the affect of streering to stop un wanted movement from trjectories that are not smooth. At the moment this option isn't working well and might not produce the results that are expected.
    • Steering Limit: Limits the amount the front wheels can turn.
  • Hit Sampling (Animated):
    • Frame Samples: Sets the amount of samples the hit testing will use when animated ground objects are being used. This will greatly slow performance but will ensure that hit testing will be more accurate.
    • Sample Step: To speed up performance hit testing can be set to skip frames. This will not be as accurate but on gradually changing terain it might not be noticable.
  • Shock Travel:
    • R Front: Sets the minimum and maximum suspension travel for the right front wheel.
    • L Front: Sets the minimum and maximum suspension travel for the left front wheel.
    • R Rear: Sets the minimum and maximum suspension travel for the right back wheel.
    • L Rear: Sets the minimum and maximum suspension travel for the left back wheel.
  • Manage Car:
    • Car Prefix: States the current prefix for the selected car rig.
    • Add Prefix: Adds the defined prefix to every part of the car rig.
    • Delete Car from Scene: Will delete the car rig from the scene. This will not delete any user defined parts that are linked to the vehicle rig.
The trailer system uses an internal cache for storing frames that have been calculated. Calculations for the cache take place as the time line is scrubed. If frames are skipped or missed in some way cache frames are not stored and the solution will be in accurate. A Create Cache button has been created so that manual updates can be done in the internal cache.
  • Cache:
    • Create Cache: Update the internal cache that controls the solution for the trailer. This should be pushed often to update the cache so the solution is correct. Scubbing animation and skipping frames can cause wholes in the cache that are interpolated. Updating the cache will ensure that the current data is up to date.
    • Clear Cache: Clears the current cache. Not usually necessary but could be used after changing the length of the time line so that extra cached frames are disposed of.
  • Wheel Spin Multiplier:
    • Right - Left: Multiplies the speed that the wheels turn at. Applying a value of 0 will stop the wheels from turning.
  • Dynamics On: turns the dynamics solution on. This will run in real time in the viewport and will slow down performance. It is best to leave this off until animation is complete and baking is going to take place.
  • Edit: Opens the dynamics settings dialog for adjusting the dynamic solutions.
  • Dynamics Multiplier:
    • Roll: Adjusts the multiplier value that controls the side to side motion of the trailer.
    • Bounce: Adjusts the multiplier calue that controls the up and down motion of the trailer.
  • Target Object:
    • Pick Target: Sets the object that the trailer will use as the hitch. Press the button and then select the object on screen. The trailer will pop to the location of the hitch.
    • Remove Target: Removes the target object. Trailer will no longer follow the hitch in the scene.
  • Setup:
    • Ref Frame: This is the frame that the trailer will use as a reference. The trailers calculations are time based and will be reset when returned to this frame. To increase the speed of the calculations the trailer will not calculate frames that have been skipped. This will result in incorrect solutions. Use the Create Cache button to update all frames from the reference frame to the end of the time line.
  • Sampling:
    • Frame Samples: The number of frames before and after the current frame the solution will use to calculate the end result. This can be used to ensure more accurate hit testing.
    • Sample Step: If the Frame Samples are step to a value of 2 this will force a calculation for the trailer to happen at five frames, two before, two after and the current frame resulting in five samples. If Frame Sample is set to 2 the sampling will happen at the frame two before the current frame, the current frame and two frames after the current frame. Resulting in only three samples that are more spread out. This speeds up the sampling and helps smooth it out.
  • Dimensions:
    • Trailer Length: The over all length of the trailer from the hitch to the axel.
    • Wheel Rad: Adjusts the radius of the wheels.
    • Wheel Width: Adjusts the width of the wheels. This doesn't directly affect the hit testing on the ground as it is only calculated at the center of the tire for speed reasons.
    • Trailer Height: Adjusts the height of the center of gravity from the ground and moves the box of the trailer up as just a visual reference.
    • Angle Ratio: Asjusts what effects the angle of the trailer using the ground and hitch object. When the value is set to 0 the ground controls the angle of the trailer. Then set to a value of 1 the hitch will determine the angle of the trailer. With a value between 0 and 1 a percentage of each will be used.
  • Manage Trailer:
    • Trailer Prefix: Changes the prefix that will be used on all components of the trailer.
    • Add Prefix Changes the prefix that is used for the trialer and off or its parts.
    • Delete Trailer From Scene: Delete the trailer and all of its parts from the scene except the objects that are linked to it.
  • Enable Ground Objects: Turns on and off the used of the ground for hit testing.
  • Ground:
    • Pick Ground: Select this button then pick an object that you would like to use as the ground object. Any number of objects can be added. It is best to use low resolution proxy objects to ensure faster calculations.
    • Ground Objects: A list of all the ground objects used in the calculation.
    • Use Animated Objects: When turned on the ground surface is recalculated so that animation on it can be respected. This how ever slows down the solution and reduces the accuracy of the hit testing. Only use this feature if you absoluty need the ground to deform or change location durring an animation.
    • Update: Updates the cached ground objects if changes are made to them and Use Animated Objects is turned off.
    • Remove: Removes the selected objects from the Ground Objects list.
  • Bake Options:
    • Use Ground Objects: When baking animation this will over ride the Use Ground Objects option in the Ground Objects rollout.
    • Bake Trailer: Allows the trailers hit testing and wheel rotations to be calculated when baking animation.
    • Bake Dynamics: Allows the dynamics for the trialer to be calculated when baking. To speed up the process of setting the dynamics solution it is best to bake the animation on the trailer and then bake the animation for the dynamics. You can then make changes to the dynamic solution and bake just the dynamics again. This reduces the baking time.
    • Bake Scene
      • All Trailers: When on all the trialers in the scene will be baked one after the other.
  • Time Range:
    • Start: Sets the start time for the baking.
    • End: Sets the end time for the baking.
    • Set to Animation Range: Sets both the start and end values to the animation range.
    • Sample Step: Sets the step value when baking. When set to a value of 2 every other frame will be calculated. This will speed up the baking process and smooth out the animation how ever it will be less accurate. In cases of a vehicle driving on a flat or near flat ground it is not necessary to bake every frame.
  • Bake:
    • Bake: Press the Bake button to start the animation baking process. Baking the animation to key frames will ensure that when rendering the solution doesn't change and doesn't need to be recalculated each time a frame is rendered on a network render farm. When using multiple vehicles in a scene it is best to bake the animation on a vehicle or trailer as the animation is compelted on them to speed up the interactivity of the viewport play back.
  • Bake States:
    • Trailer: Once a trailer is baked the Bake State Trailer button will be enabled. This tells you that the trailer is currently using the last baked solution and is not being recalcualted in the scene.
    • Dynamics When the trailers animation has been baked and the Use Dynamics option is on this button will become enabled. When on the trailer is using the last baked dynamic solution and the real time dynamics has been disabled.
  • Delete Keys:
    • Trailer: Deletes all the keys on the trailer rig excluding the dynamics keys.
    • Dynamics: Deletes the keys for controlling the dynamics.
  • Bake to Helpers:
    • Helper Size: Sets the size of the helpers that will be created.
    • Link Model to Helpers: Once animation is baked to helpers any object that is linked to the rig will be linked to the corrisponding helpers.
    • Bake To Helpers: Bakes animation on the trailer rig to a set of helpers objects. This can be used for simplifying the scene or used for export to real time applications.
    • Delete Helpers: Deletes all the helpers that were created for the baking process.