| Anonymous | Login | Signup for a new account | 2013-05-19 21:27 UTC | ![]() |
| Main | My View | View Issues | Change Log | Roadmap | Summary | My Account |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | |||||
| 0006039 | opensim | [REGION] Physics Engines | public | 2012-06-01 23:10 | 2012-06-07 03:25 | |||||
| Reporter | Kayaker Magic | |||||||||
| Assigned To | ||||||||||
| Priority | normal | Severity | minor | Reproducibility | always | |||||
| Status | confirmed | Resolution | open | |||||||
| Platform | OpenSim 0.7.1.1 Release (Unix) | OS | OS Version | |||||||
| Product Version | ||||||||||
| Target Version | Fixed in Version | |||||||||
| Summary | 0006039: 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 Reproduce | Make 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 } } | |||||||||
| Tags | No tags attached. | |||||||||
| Git Revision or version number | unknown | |||||||||
| Run Mode | Standalone (1 Region) | |||||||||
| Physics Engine | ODE | |||||||||
| Environment | Mono / Linux32 | |||||||||
| Mono Version | None | |||||||||
| Viewer | Ipudence | |||||||||
| Attached Files | ||||||||||
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 |