[Opensim-dev] Questions about Vehicle scripting calls

Mike Higgins mike at kayaker.net
Tue Jun 5 23:46:39 UTC 2012


     I was talking to Justin Clark-Casey at the OpenSim developers 
meeting this morning, and he suggested that the mailing lists would be 
the easiest way to have a conversation about vehicle physics on OpenSim. 
Justin you there? Is this where you meant? Anyone else want to talk 
about vehicle scripting in OpenSim?

     I am in the process of testing the OpenSim vehicle scripting calls 
and trying to find out what works and what can be worked around. I am 
submitting mantis reports when I think I see a true bug, issue numbers 
0006039 <http://opensimulator.org/mantis/view.php?id=6039> and 0006040 
<http://opensimulator.org/mantis/view.php?id=6040> for starters. Instead 
of submitting 1000 line vehicle scripts that do not work, I am writing 
small 10-line scripts that demonstrate a particular problem.

     Issue 0006040 <http://opensimulator.org/mantis/view.php?id=6040> is 
particularly interesting because if my hypothesis is correct, the linear 
motor direction is being actively projected onto the global XY plane. I 
cannot get an airplane to glide up, or a balloon to rise using the 
linear motor. (Hover height works with balloons, but not the linear 
motor even with hover height disabled). The interesting thing about this 
is that my hypothesis suggests that there is extra code doing this 
projection onto the XY plane. I checked the vehicle flags and there 
isn't one that should force this extra projection into the calculations. 
Vehicle type balloon is supposed to have all the flags removed, but just 
to be sure I used the remove call to clear them all. The linear motor 
still cannot go up. Can someone familiar with the code look at the 
linear motor and tell me why this is happening and if there is a way to 
disable it?  (I tried turning flags like VEHICLE_FLAG_NO_DEFLECTION_UP 
on to see if this flag was inverted, and if it applied to the motor 
instead of deflection, but no luck).

     The fun thing is that I can write one kind of vehicle that works 
well -- assuming this bug is there. I built a vehicle that has the 
linear motor set to <0,0,20>, pointing straight up. When the vehicle is 
perfectly horizontal, the projection of this motor onto XY is <0,0,0> 
and the vehicle does nothing. But then when you tilt the vehicle in any 
direction, the projection of the linear motor on XY becomes non-zero and 
causes it to start moving in the direction of tilt. This feels a lot 
like an RL helicopter, so I used the control keys to pitch down/up to 
move forward/backwards, added yaw left and right, and used page-up/down 
to increase/decrease the hover height. I put it in a hacked together 
helicopter build and it is a lot of fun!

     I'm looking for work-arounds for the current vehicle routine 
behaviors. One work-around for an airplane is to turn on hover height, 
check the airplane speed and pitch once a second in timer(), calculate 
what altitude the plane should get to in the next second, and set hover 
height to that altitude. The things we do to get stuff working!



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20120605/53da3a2a/attachment-0001.html>


More information about the Opensim-dev mailing list