Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008033opensim[REGION] Physics Enginespublic2016-10-08 23:422016-10-08 23:42
ReporterKayaker Magic 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformLinux / monoOSOpenSim Release KitelyOS Version0.8.2.1
Product Version 
Target VersionFixed in Version 
Summary0008033: Velocity from llRezObject is too high
DescriptionWhen you rez an object with a requested velocity, what you get appears to be 2 times higher than what you asked for.
Steps To ReproduceOn a region using BulletSim, put the following “bullet” script in a prim. Mark it as a physical prim. Put the prim inside another prim with the following “gun” script. Click on the gun to launch a bullet straight up. Note that the gun script is firing the bullet up with a velocity of 20m/s, but the bullet often travels at speeds as high as 40m/s.
I tried the same experiment with ODE and saw speeds as high as 55m/s!
Using ubODE the speed observed was just under 20m/s
The same was true on SL, speeds just under 20m/s
Additional Informationdefault //the gun script
{
    state_entry()
    {
        llSay(0, "click to launch");
    }
    touch_start(integer num)
    {
        llRezObject(llGetInventoryName(INVENTORY_OBJECT,0),llGetPos()+<0,0,1>,<0,0,20>,ZERO_ROTATION,1);
    }
}


float vel; //the bullet script.
default
{
    on_rez(integer params)
    {
        if (params==1)
        {
            llResetTime();
            vel=llVecMag(llGetVel());
            llSetTimerEvent(0.5);
        }
    }
    collision_start(integer num)
    { //this started out as an experiment to measure g
        llOwnerSay("V0="+(string)vel+" g="+(string)(2.0*vel/llGetTime()));
        if (llGetStartParameter()==1)
            llDie();
    }
    land_collision_start(vector pos)
    {
        llOwnerSay("V0="+(string)vel+" g="+(string)(2.0*vel/llGetTime()));
        if (llGetStartParameter()==1)
            llDie();
    }
    timer()
    {
        float V=llVecMag(llGetVel()); //display the velocity, is it what I asked for?
        if (V>vel) vel=V;
        llOwnerSay("V="+(string)V);
    }
}

TagsNo tags attached.
Git Revision or version number
Run Mode Grid (Multiple Regions per Sim)
Physics EngineBulletSim
Script Engine
EnvironmentMono / Linux64
Mono Versiontrunk
ViewerFireStorm
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2016-10-08 23:42 Kayaker Magic New Issue


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker