Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006039opensim[REGION] Physics Enginespublic2012-06-01 23:102012-06-07 03:25
ReporterKayaker Magic 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusconfirmedResolutionopen 
PlatformOpenSim 0.7.1.1 Release (Unix)OSOS Version
Product Version 
Target VersionFixed in Version 
Summary0006039: VEHICLE_ANGULAR_MOTOR_DIRECTION does not rotate around the vehicle local axes
Description    The LL Wiki (http://wiki.secondlife.com/wiki/VEHICLE_ANGULAR_MOTOR_DIRECTION [^]) is ambiguous about what axes the angular motor rotates around. However the Linden Vehicle Tutorial (http://wiki.secondlife.com/wiki/Linden_Vehicle_Tutorial [^]) does mention in passing that the angular motor rotates the vehicle around its local axes.

    HOWEVER, in OpenSim, the angular motor apparently always rotates around the global region axis. This tilts a vehicle at all sorts of unexpected angles depending on which direction it is facing.

    A workaround is to always multiply the vector sent to to the angular motor by llGetRot(). I suspect this is not quite right, because for long turns the local axes will be continuously changing. For short turns this makes the vehicle behave well enough.

Steps To ReproduceMake a prim that is longer in the local X direction (so you can tell if it turns it's nose down). Make sure the prim is high enough off the ground to rotate.
Place the following small script in the prim. It SHOULD pitch it's nose down, but instead it rolls sideways.
Additional Information// angular motor test
// Kayaker Magic
// Place this script in a prim that is far enough above ground to rotate freely.
// preferably something long in the local X direction so you can tell
// if it correctly dips it's nose down.
// This should make the prim rotate around it's local Y axis, but
// you will see it rotates around the global Y axis
default
{
    state_entry()
    {
        llSetStatus(STATUS_PHYSICS, FALSE); //disable physics on reset
        llSetRot(llEuler2Rot(<0,0,PI_BY_TWO>)); //rotate local axis
        llSetVehicleType(VEHICLE_TYPE_BALLOON); //simple vehicle, nothing fancy
        llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 10000 ); //disable hover height
        llSetStatus(STATUS_PHYSICS,TRUE); //turn physics on when ready
        llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0,4,0>); //pitch nose down
                //the vehicle should pitch around the local Y axis, but rolls around the global Y
    }
}
TagsNo tags attached.
Git Revision or version numberunknown
Run ModeStandalone (1 Region)
Physics EngineODE
EnvironmentMono / Linux32
Mono VersionNone
ViewerIpudence
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2012-06-01 23:10 Kayaker Magic New Issue
2012-06-07 03:25 justincc Assigned To => justincc
2012-06-07 03:25 justincc Status new => confirmed
2012-06-07 03:25 justincc Assigned To justincc =>


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker