MantisBT - opensim
View Issue Details
0007853opensim[REGION] Physics Enginespublic2016-03-22 00:032016-06-24 00:45
Kayaker Magic 
 
highmajoralways
newopen 
Linux/Mono OpenSim Dev OSgrid w/ubODE0.9.0.0
master (dev code) 
 
Grid (Multiple Regions per Sim)
Other
Mono / Linux64
3.0
FireStorm
0007853: ubODE fails when “sculpt animation” is used.
Sculpt animation is frowned upon in the LL Wiki and other places. But all the alternatives have limitations or are not available. So there is still a lot of content that uses this trick to animate objects: Use llSetLinkPrimitiveParamsFast to change the sculpt texture map of a prim to change its shape. When content using this method is introduced to a region using BulletSim, everything continues to work. HOWEVER, if content using this method is introduced to a region running ubODE, performance of the region soon degrades. Avatars get stuck and cannot move. Physical objects eventually stop falling.
Make sure your region is running ubODE. Put the 6 included leg sculpts in the inventory of a prim. Then put a copy of the following script in the same prim. Make 16 copies of the resulting animated leg. If you are running ubODE, your physics engine will be brought to its knees. If you delete all the animated legs, performance sometimes recovers after a while.
integer leg=0;
default
{
    state_entry()
    {
        llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_SIZE,<2.5, 1, 3> ]);
        llSetTimerEvent(0.5);
    }
    timer()
    {
        llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_TYPE,PRIM_TYPE_SCULPT,"Leg"+(string)(leg+1),PRIM_SCULPT_TYPE_SPHERE]);
        leg = (leg+1)%6;
    }
}
No tags attached.
zip LegSculpts.zip (15,301) 2016-03-22 00:03
http://opensimulator.org/mantis/file_download.php?file_id=4509&type=bug
Issue History
2016-03-22 00:03Kayaker MagicNew Issue
2016-03-22 00:03Kayaker MagicFile Added: LegSculpts.zip
2016-03-22 09:38vegaslonNote Added: 0030091
2016-06-24 00:45UbitUmarovNote Added: 0030729

Notes
(0030091)
vegaslon   
2016-03-22 09:38   
Have you tried turning off sculpt visual shape meshing in opensim.ini? That may improve performance.
(0030729)
UbitUmarov   
2016-06-24 00:45   
I tested this and on my test region ubOde did not fail, just takes a more time that bullet. Making them physical just took a bit more time, (they will jump all over due to the abrupt change of shape, causing deep prim overlaps)
didn't notice performance degradation with time
On a slower machine or one with higher load this may impact other objects or avatar movement, if not crash. Things may get worse with time due to accumulation of work requests.
if you change prim shape type to convex, it will be a bit faster.

Changing a prim shape is a heavy operation on ubOde, but even on bullet you should not do it.
Make the legs phantom or if linked set shape type to NONE.