Nasa Mmsev Full Rigging With Ground Detection

by ABzH Prod in Models

Model objectives

Thanks for chosing this 3D model vehicle. I am sure it will fulfill your needs as it has been designed to be simple, self adjusting, very powerfull and ready to go in any of your scene. This car model is 400k vertices without subsurf, render calculation is fast. With full rigging armature, 6 independant suspensions, auto-wheel rotation, ground and obstacle detection, auto steering and banking, acceleration and brake simulation. This 3D model is aimed to be integrated in architectural visualisations and films, so the artist can focus on the whole architecture scene. All credits to www.abzhprod.com

Layers layout

  • Layer 1: Main Body, addtionnal steering
  • Layer 2: Chassis
  • Layer 3: tires, rims
  • Layer 6: cameras, sun
  • Layer 7: rigging armature, ground detection, suspension, empty controls
  • Layer 8: ground

Setup and adjustements

  • Make sure you are using Cycles Render.
  • Dimensions are in metric system and corresponding the real model, scale 1:1.
  • Activate Python scripts in File / User Preferences / File / Auto Run Python Scripts
  • Install the "object_get_path_length.py" script addon with File / User Preferences / addons tab / install from file / activate / save user settings
  • You can append or link the car using the group "Group_Vehicle"
  • You need to bake the "suspension_sim_OBJ" object in the Physics tab, Cloth Cache, Bake.
  • Each time you change the offset of the ground detection object, you need to bake the suspension, otherwise the car seems to shake.
  • You can change the offset from the ground of the ground detection object in the Modifier tab, offset.
  • The ground object has a displace modifier, to create height variations.
  • The road_curve object wrap the ground.
  • In order for the wheel to rotate at the correct speed, you need to calcule the lenght of the road with the previously installed addon. Select the road_curve object, toggle the properties panel (press N), last property "Curve Length", press Calculate. You need to Copy/paste this value. Select the armature, object tab, custom properties, pathlen. Change the "distance" custom property for the steering tracking.
  • This wheel rotation calculation is set up in the Graph Editor, change "F-curve" to "Drivers" in the menu. In the 3D view, select the armature then change to Pose Mode instead of Object Mode. Select the  "wheel.fl" bone, the little bone at each wheel. Sometimes easier to find in wireframe view (press Z) In the Graph Editor, toggle the properties panel (press N) to see the drivers calculation. On a different car, you need to adjust the tire wheel diameter in the Driver "Scripted Expression", here 0.84 meters. You need to change it for each bone wheel.
  • Another driver is set up for the armature "steer.track" bone.
  • To animate the car along the road_curve object, you need to keyframe (press I) versus time the offset of the Main.Control Empty object. Select the Main.Control Empty object, Constraint tab, Follow Path offset. This offset must to set between 0.05 and 0.95 to avoid weird reactions. If the car explode totally, uncheck and check again "Fixed position".
  • That's it, your vehicle is driving alone, very powerfull isn't it ?
  • For drifting, you need to keyframe (press I) the rotation on the Z axis of the Drift.Control Empty object.