Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008701opensim[REGION] Script Functionspublic2020-05-11 03:252020-05-11 03:43
Assigned To 
PlatformOSOS Version
Product Version0.9.1.0 
Target VersionFixed in Version 
Summary0008701: llSetKeyframedMotion() doesn't completely obey ini setting "DisableUndergroundMovement = false"
DescriptionFor 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.
Steps To Reproduce0. 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;
        basePos = llGetPos();

    touch_start( integer n)
        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.
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (Multiple Regions per Sim)
Physics EngineBulletSim
Script EngineXEngine
EnvironmentMono / Linux64
Mono Version6.x
Attached Files

- Relationships

-  Notes
UbitUmarov (administrator)
2020-05-11 03:28

That was a bad opensim option.
May even colide with viewers own checks, specially if avatars involved
UbitUmarov (administrator)
2020-05-11 03:31

actually DisableUndergroundMovement is only there for llSetPos set of functions
JaydB (reporter)
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 :)

- Issue History
Date Modified Username Field Change
2020-05-11 03:25 JaydB New Issue
2020-05-11 03:28 UbitUmarov Note Added: 0036468
2020-05-11 03:31 UbitUmarov Note Added: 0036469
2020-05-11 03:43 JaydB Note Added: 0036471

Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker