There are three types of vehicles in OpenSim. These three are:
Type 1: Non-physical vehicles moved with llSetPos().
Type 2: Physical vehicles moved with llSetForce().
Type 3: Physics vehicles moved with llSetVehicleType().
There has been significant success with Type 1, modest success with Type 2 and Type 3 is incompletely implemented at this point.
One can find an example of a Type 1 vehicle in the form of a tour bus and a taxi on the region ‘Port Edward’ on OSGrid. The tourbus runs a fixed route around the streets of the town and the taxi accepts commands to move around the town.
A couple of folks have reported success with motor cycles and boats.
The 10 or so llSetVehicle* functions are incompletely implemented. That is, they are missing the last connection to ODE. It turns out that ODE is a little different then Havoc in its definitions of joints and motors and this is waiting for a “zealot” to help move it forward.
In chatting with folks about Type 1 and Type 2, our current issue seems to be crossing a region with either type of vehicle. Either we loose the reference of the prim or script from the scene, we loose the physical state, or both.
It seems to me that setting up a number of copies of a simple script and run a fixed route vehicle at a region boundary while monitoring the consoles of the “from” region and the “to” region to create and add notes to Mantis is one of our best ways forward to figure this out. At this point, I would like to recommend a few folks on the various grids using OpenSim test this notion and help us get vehicles to where they can reliably cross a sim boundary and keep their state.
OpenSim Core Developer
Director of OSGrid