Back in 1998-2000, there was a lot of vehicle functionality in the VTP. Cars and buses drove around the road network obeying traffic laws, airplanes flew overhead. But, the vehicle models were removed from the VTP distro when we lost our art path, and the Vehicle code was disabled and not kept up to date. That was around 2001 when the VTP was ported from DSM/PSM to OSG.
Since then, there has not been a good way to get the vehicle models out of 3DS MAX and into the VTP. Also, there has been a lack of interest: nobody has volunteered to revive the art path or vehicle functionality, nor has anyone yet hired me to do so.
As of October 2004, this code is in Enviro, but not exposed to the non-programming user.
This class represents a single instance of a Vehicle on the terrain. For example, if you have ten cars on a road, each car is a
Vehicleis a subclass of
vtTransform, you can move your vehicles the same way you would any other object.
This class describes a kind of vehicle, for example a "1996 Jeep Grand Cherokee", or a "Boeing 747". It has one or more 3D models, for up to several levels of detail, in a base color. When needed, you can call
VehicleType::CreateVehicle()which creates and returns a
The intention is that vehicle models will follow the Vehicle Modelling Conventions.
This class allows you to assign a ground vehicle to follow a roadmap. The behavior is simple, traversing the topology of the roadmap at a fixed speed.
This class is more sophisticated - speeding up and slowing down gradually, obeying the control restrictions at roadmap nodes such as red lights stop signs, turning the wheels of the vehicle at the appropriate rate. However, this code has not kept up to date so it will have to be re-written at some point.
These method provide a convenient way to set up some vehicle types and create vehicles from them.
vtContentManager3d) which is a more general mechanism for a list of models with LOD, with the added benefit of exposing the Vehicle catalog to the user in the Content XML format (.vtco)
VehicleManagercode more general and move it down into vtlib