|Anonymous | Login | Signup for a new account||2020-01-23 14:48 PST|
|Main | My View | View Issues | Change Log | Roadmap | Summary | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0007303||opensim||[REGION] Physics Engines||public||2014-08-17 09:13||2015-12-22 23:12|
|Assigned To||Robert Adams|
|Product Version||master (dev code)|
|Target Version||Fixed in Version|
|Summary||0007303: llMoveToTarget not working properly with bulletsim|
|Description||llMoveToTarget has a strange behavior or has no effect when physic engine is bulletsim. With ODE no problems.|
|Steps To Reproduce||this simple script (every time you click the object moves randomly in a radius of 10 meters) works ok in a newly created object (even though the movement is a bit scatterd and not as smooth as with ODE)|
But, if I drag from inventory an object previously scripted, the object tends to fly to the previous position and any call to llMoveToTarget is totally ignored. It has to be something related to persisting properties on the object itself, but I have no idea of what to try. Anything else to try to reset persisting status, on top of llStopMoveToTarget() and non-physical functions like llKeyframedMotion(.) ?
With ODE everything works fine and the movements are much smoother.
Here is the script:
float traveltime = 4.0;
float maxdistance = 10.0;
vCenter = llGetPos();
llStopMoveToTarget();//to avoid possible previous persistent settings
//random position in a 10*10 square centered on initial position
vector destination = vCenter + <llFrand(maxdistance) - (maxdistance/2), llFrand(maxdistance)-(maxdistance/2),0.0>;
llMoveToTarget( destination, traveltime );
llMoveToTarget( vCenter + <llFrand(maxdistance)-(maxdistance/2), llFrand(maxdistance)-(maxdistance/2),0.0>, traveltime );
|Additional Information||Note: the script is simplified. I did tests trying to call the function on on_rez() as well, and printing debug messages to be sure that the function was called, but with bulletsim llMoveToTarget in some conditions is not being called or has no effect.|
|Tags||No tags attached.|
|Git Revision or version number|
|Run Mode||Standalone (Multiple Regions)|
|Environment||Mono / Linux64|
|Viewer||firestorm 64 and 32|
Found a workaround. (for bulletsim)
Once the object status has been changed to physical, just change the PRIM_PHYSICS_SHAPE_TYPE twice with 2 different values.
For some reason this will trigger the llMoveToTarget action.
I think this can be considered a bug, probably easily fixable.
that can be very expensive in terms of cpu load, that should be avoid!!!
if physical the collisions volume also changes, possible creating wrong collisions
The rest of script used any vehicle code? llMoveToTarget will be unpredictable if so, both on bullet and ubOde (possible not work at all on ubOde)
|Yes, I filtered the collisions, so no collisions detected. I need to use physical objects to use doppler effects from moving audio sources. doppler works only on physical objects. With ODE no problems, but the movement is not smooth. Bulletsim behavior, when working, is more similar to Havok in SL.|
|2014-08-17 09:13||maurizio55||New Issue|
|2014-08-17 09:43||Robert Adams||Assigned To||=> Robert Adams|
|2014-08-17 09:43||Robert Adams||Status||new => assigned|
|2015-12-21 19:39||maurizio55||Note Added: 0029846|
|2015-12-22 03:28||UbitUmarov||Note Added: 0029850|
|2015-12-22 23:12||maurizio55||Note Added: 0029861|
|Copyright © 2000 - 2012 MantisBT Group|