diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 0d9a156..c084ab4 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | |||
@@ -1,15 +1,16 @@ | |||
1 | CURRENT PRIORITIES | 1 | CURRENT PRIORITIES |
2 | ================================================= | 2 | ================================================= |
3 | Eliminate all crashes (DONEish) | 3 | Smooth avatar movement with motor |
4 | Editing/deleting physical linkset (DONE) | 4 | Should motor update be all at taint-time? |
5 | Border crossing of physical linkset (DONE) | ||
6 | Enable vehicle border crossings (at least as poorly as ODE) | 5 | Enable vehicle border crossings (at least as poorly as ODE) |
6 | Terrain skirts | ||
7 | Avatar created in previous region and not new region when crossing border | 7 | Avatar created in previous region and not new region when crossing border |
8 | Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) | 8 | Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) |
9 | Calibrate turning radius | 9 | Vehicle movement on terrain smoothness |
10 | Vehicle script tuning/debugging | ||
11 | Avanti speed script | ||
12 | Weapon shooter script | ||
10 | limitMotorUp calibration (more down?) | 13 | limitMotorUp calibration (more down?) |
11 | study PID motors (include 'efficiency' implementation | ||
12 | Add to avatar movement | ||
13 | 14 | ||
14 | CRASHES | 15 | CRASHES |
15 | ================================================= | 16 | ================================================= |
@@ -25,7 +26,6 @@ CRASHES | |||
25 | VEHICLES TODO LIST: | 26 | VEHICLES TODO LIST: |
26 | ================================================= | 27 | ================================================= |
27 | Border crossing with linked vehicle causes crash | 28 | Border crossing with linked vehicle causes crash |
28 | Neb vehicle taking > 25ms of physics time!! | ||
29 | Vehicles (Move smoothly) | 29 | Vehicles (Move smoothly) |
30 | Add vehicle collisions so IsColliding is properly reported. | 30 | Add vehicle collisions so IsColliding is properly reported. |
31 | Needed for banking, limitMotorUp, movementLimiting, ... | 31 | Needed for banking, limitMotorUp, movementLimiting, ... |
@@ -34,28 +34,25 @@ Cannot edit/move a vehicle being ridden: it jumps back to the origional position | |||
34 | Neb car jiggling left and right | 34 | Neb car jiggling left and right |
35 | Happens on terrain and any other mesh object. Flat cubes are much smoother. | 35 | Happens on terrain and any other mesh object. Flat cubes are much smoother. |
36 | This has been reduced but not eliminated. | 36 | This has been reduced but not eliminated. |
37 | Light cycle falling over when driving | ||
38 | Implement referenceFrame for all the motion routines. | 37 | Implement referenceFrame for all the motion routines. |
39 | Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. | 38 | Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. |
40 | Verify that angular motion specified around Z moves in the vehicle coordinates. | 39 | Verify that angular motion specified around Z moves in the vehicle coordinates. |
41 | Verify llGetVel() is returning a smooth and good value for vehicle movement. | 40 | Verify llGetVel() is returning a smooth and good value for vehicle movement. |
42 | llGetVel() should return the root's velocity if requested in a child prim. | 41 | llGetVel() should return the root's velocity if requested in a child prim. |
43 | Implement function efficiency for lineaar and angular motion. | 42 | Implement function efficiency for lineaar and angular motion. |
44 | Should vehicle angular/linear movement friction happen after all the components | ||
45 | or does it only apply to the basic movement? | ||
46 | After getting off a vehicle, the root prim is phantom (can be walked through) | 43 | After getting off a vehicle, the root prim is phantom (can be walked through) |
47 | Need to force a position update for the root prim after compound shape destruction | 44 | Need to force a position update for the root prim after compound shape destruction |
48 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) | 45 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) |
49 | For limitMotorUp, use raycast down to find if vehicle is in the air. | 46 | For limitMotorUp, use raycast down to find if vehicle is in the air. |
50 | Remove vehicle angular velocity zeroing in BSPrim.UpdateProperties(). | 47 | Remove vehicle angular velocity zeroing in BSPrim.UpdateProperties(). |
51 | A kludge that isn't fixing the real problem of Bullet adding extra motion. | 48 | A kludge that isn't fixing the real problem of Bullet adding extra motion. |
49 | Incorporate inter-relationship of angular corrections. For instance, angularDeflection | ||
50 | and angularMotorUp will compute same X or Y correction. When added together | ||
51 | creates over-correction and over-shoot and wabbling. | ||
52 | 52 | ||
53 | BULLETSIM TODO LIST: | 53 | BULLETSIM TODO LIST: |
54 | ================================================= | 54 | ================================================= |
55 | Revisit CollisionMargin. Builders notice the 0.04 spacing between prims. | 55 | Revisit CollisionMargin. Builders notice the 0.04 spacing between prims. |
56 | Avatar height off after unsitting (floats off ground) | ||
57 | Editting appearance then moving restores. | ||
58 | Must not be initializing height when recreating capsule after unsit. | ||
59 | Duplicating a physical prim causes old prim to jump away | 56 | Duplicating a physical prim causes old prim to jump away |
60 | Dup a phys prim and the original become unselected and thus interacts w/ selected prim. | 57 | Dup a phys prim and the original become unselected and thus interacts w/ selected prim. |
61 | Scenes with hundred of thousands of static objects take a lot of physics CPU time. | 58 | Scenes with hundred of thousands of static objects take a lot of physics CPU time. |
@@ -82,6 +79,9 @@ Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE | |||
82 | Also osGetPhysicsEngineVerion() maybe. | 79 | Also osGetPhysicsEngineVerion() maybe. |
83 | Linkset.Position and Linkset.Orientation requre rewrite to properly return | 80 | Linkset.Position and Linkset.Orientation requre rewrite to properly return |
84 | child position. LinksetConstraint acts like it's at taint time!! | 81 | child position. LinksetConstraint acts like it's at taint time!! |
82 | Implement LockAngularMotion -- implements llSetStatus(ROTATE_AXIS_*, T/F) | ||
83 | Should the different PID factors have non-equal contributions for different | ||
84 | values of Efficiency? | ||
85 | 85 | ||
86 | LINKSETS | 86 | LINKSETS |
87 | ====================================================== | 87 | ====================================================== |
@@ -99,17 +99,16 @@ Disable activity of passive linkset children. | |||
99 | Since the linkset is a compound object, the old prims are left lying | 99 | Since the linkset is a compound object, the old prims are left lying |
100 | around and need to be phantomized so they don't collide, ... | 100 | around and need to be phantomized so they don't collide, ... |
101 | Speed up creation of large physical linksets | 101 | Speed up creation of large physical linksets |
102 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical | 102 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical. |
103 | REALLY bad for very large physical linksets (freezes the sim for many seconds). | ||
103 | Eliminate collisions between objects in a linkset. (LinksetConstraint) | 104 | Eliminate collisions between objects in a linkset. (LinksetConstraint) |
104 | Have UserPointer point to struct with localID and linksetID? | 105 | Have UserPointer point to struct with localID and linksetID? |
105 | Objects in original linkset still collide with each other? | 106 | Objects in original linkset still collide with each other? |
106 | 107 | ||
107 | MORE | 108 | MORE |
108 | ====================================================== | 109 | ====================================================== |
109 | Find/remove avatar collision with ID=0. | ||
110 | Test avatar walking up stairs. How does compare with SL. | 110 | Test avatar walking up stairs. How does compare with SL. |
111 | Radius of the capsule affects ability to climb edges. | 111 | Radius of the capsule affects ability to climb edges. |
112 | Tune terrain/object friction to be closer to SL. | ||
113 | Debounce avatar contact so legs don't keep folding up when standing. | 112 | Debounce avatar contact so legs don't keep folding up when standing. |
114 | Implement LSL physics controls. Like STATUS_ROTATE_X. | 113 | Implement LSL physics controls. Like STATUS_ROTATE_X. |
115 | Add border extensions to terrain to help region crossings and objects leaving region. | 114 | Add border extensions to terrain to help region crossings and objects leaving region. |
@@ -140,6 +139,8 @@ Consider moving prim/character body and shape destruction in destroy() | |||
140 | to postTimeTime rather than protecting all the potential sets that | 139 | to postTimeTime rather than protecting all the potential sets that |
141 | might have been queued up. | 140 | might have been queued up. |
142 | Remove unused fields from ShapeData (not used in API2) | 141 | Remove unused fields from ShapeData (not used in API2) |
142 | Remove unused fields from pinned memory shared parameter block | ||
143 | Create parameter variables in BSScene to replace same. | ||
143 | Breakout code for mesh/hull/compound/native into separate BSShape* classes | 144 | Breakout code for mesh/hull/compound/native into separate BSShape* classes |
144 | Standardize access to building and reference code. | 145 | Standardize access to building and reference code. |
145 | The skeleton classes are in the sources but are not complete or linked in. | 146 | The skeleton classes are in the sources but are not complete or linked in. |
@@ -202,3 +203,16 @@ Single prim vehicles don't seem to properly vehiclize. | |||
202 | Add material type linkage and input all the material property definitions. | 203 | Add material type linkage and input all the material property definitions. |
203 | Skeleton classes and table are in the sources but are not filled or used. | 204 | Skeleton classes and table are in the sources but are not filled or used. |
204 | (Resolution: | 205 | (Resolution: |
206 | Neb vehicle taking > 25ms of physics time!! | ||
207 | (Resolution: compound linksets were being rebuild WAY too often) | ||
208 | Avatar height off after unsitting (floats off ground) | ||
209 | Editting appearance then moving restores. | ||
210 | Must not be initializing height when recreating capsule after unsit. | ||
211 | (Resolution: confusion of scale vs size for native objects removed) | ||
212 | Light cycle falling over when driving (Resolution: implemented angularMotorUp) | ||
213 | Should vehicle angular/linear movement friction happen after all the components | ||
214 | or does it only apply to the basic movement? | ||
215 | (Resolution: friction added before returning newly computed motor value. | ||
216 | What is expected by some vehicles (turning up friction to moderate speed)) | ||
217 | Tune terrain/object friction to be closer to SL. | ||
218 | (Resolution: added material type with friction and resolution) | ||