MantisBT - opensim
View Issue Details
0008701opensim[REGION] Script Functionspublic2020-05-11 03:252020-05-11 03:43
JaydB 
 
normalminoralways
newopen 
0.9.1.0 
 
Grid (Multiple Regions per Sim)
BulletSim
XEngine
Mono / Linux64
6.x
Firestorm
0008701: llSetKeyframedMotion() doesn't completely obey ini setting "DisableUndergroundMovement = false"
For train and car use, a desirable vehicle function is to allow scripted prims to position themselves underground. This can emulate travelling through a tunnel in a mountain without needing to terrain a groove to travel in.

This is already long term behaviour and controlled via the OpenSim.ini parameter ";DisableUndergroundMovement = true". When this is uncommented and changed to false, llSetPos() and some other LSL functions can be used to position a scripted prim underground.

Issue: This only works partially for llSetKeyframedMotion() - the end position will be underground as expected, but the steps making up the path between the two positions are not placed underground, instead the prim jumps up and follows the terrain during motion to finally snap into place.
0. Make sure DisableUndergroundMovement = false is set in OpenSim.ini so prims can be scripted underground

1. Place this script in the prim

----------------------
vector dir=< -25, 0.0, 0>; // This would be terrain mountain to west
vector basePos;
 
default
{
    state_entry()
    {
        basePos = llGetPos();
    }

    touch_start( integer n)
    {
        llSetRegionPos(basePos);
        llSetKeyframedMotion([dir, llGetRot(), 5.0], []);
    }
}
----------------------------------------------


2. Ajust the dir variable to set direction and distance into a terrain mountain. Script as is, sends the prim west 25 meters.

3. Sit on the prim to make it easy to follow

4. Touch the prim


Expected... the prim with avatar sitting should travel in a straight line under any raised terrain to the endpoint. If the end point is also underground the prim should stay there.

Observed... the prim with the avatar sitting follows the terrain until the X,Y are reached, at which point it snaps down to the correct ending place underground. The end point is correct, but the path is not.
No tags attached.
Issue History
2020-05-11 03:25JaydBNew Issue
2020-05-11 03:28UbitUmarovNote Added: 0036468
2020-05-11 03:31UbitUmarovNote Added: 0036469
2020-05-11 03:43JaydBNote Added: 0036471

Notes
(0036468)
UbitUmarov   
2020-05-11 03:28   
That was a bad opensim option.
May even colide with viewers own checks, specially if avatars involved
(0036469)
UbitUmarov   
2020-05-11 03:31   
actually DisableUndergroundMovement is only there for llSetPos set of functions
(0036471)
JaydB   
2020-05-11 03:43   
Ah, ok thanks Ubit. Was hoping as llSetPos in a tight loop is so very laggy.

Can close this as won't fix :)