I can confirm that the behaviour of both of these differs compared to the LL 
grid, as Mike has described.

I don't immediately see any good reason for the different behaviour. I may take a look at these myself but it will take me some time to get up to speed with the ODE vehicle code (not a huge amount contained in ODEDynamics and ODEPrim but it does involve math), so if anybody else wants to leap in with patches then please do.

On 06/06/12 00:46, Mike Higgins wrote:
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!





_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev


--
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to