BulletSim: update and add to the TODO list.
parent
18fe35906d
commit
edd1b353a5
|
@ -6,14 +6,34 @@ CRASHES
|
||||||
Causes many errors. Doesn't stop after first error with box shape.
|
Causes many errors. Doesn't stop after first error with box shape.
|
||||||
Eventually crashes when deleting the object.
|
Eventually crashes when deleting the object.
|
||||||
|
|
||||||
BULLETSIM TODO LIST:
|
VEHICLES TODO LIST:
|
||||||
=================================================
|
=================================================
|
||||||
Neb car jiggling left and right
|
Neb car jiggling left and right
|
||||||
|
Happens on terrain and any other mesh object. Flat cubes are much smoother.
|
||||||
Vehicles (Move smoothly)
|
Vehicles (Move smoothly)
|
||||||
Light cycle falling over when driving
|
Add vehicle collisions so IsColliding is properly reported.
|
||||||
Light cycle not banking
|
Needed for banking, limitMotorUp, movementLimiting, ...
|
||||||
Do single prim vehicles don't seem to properly vehiclize.
|
Some vehicles should not be able to turn if no speed or off ground.
|
||||||
Gun sending shooter flying
|
For limitMotorUp, use raycast down to find if vehicle is in the air.
|
||||||
|
Implement function efficiency for lineaar and angular motion.
|
||||||
|
Should vehicle angular/linear movement friction happen after all the components
|
||||||
|
or does it only apply to the basic movement?
|
||||||
|
After getting off a vehicle, the root prim is phantom (can be walked through)
|
||||||
|
Need to force a position update for the root prim after compound shape destruction
|
||||||
|
Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint)
|
||||||
|
Implement referenceFrame for all the motion routines.
|
||||||
|
Cannot edit/move a vehicle being ridden: it jumps back to the origional position.
|
||||||
|
|
||||||
|
BULLETSIM TODO LIST:
|
||||||
|
=================================================
|
||||||
|
Disable activity of passive linkset children.
|
||||||
|
Since the linkset is a compound object, the old prims are left lying
|
||||||
|
around and need to be phantomized so they don't collide, ...
|
||||||
|
Scenes with hundred of thousands of static objects take a lot of physics CPU time.
|
||||||
|
BSPrim.Force should set a continious force on the prim. The force should be
|
||||||
|
applied each tick. Some limits?
|
||||||
|
Single prim vehicles don't seem to properly vehiclize.
|
||||||
|
Gun sending shooter flying.
|
||||||
Collision margin (gap between physical objects lying on each other)
|
Collision margin (gap between physical objects lying on each other)
|
||||||
Boundry checking (crashes related to crossing boundry)
|
Boundry checking (crashes related to crossing boundry)
|
||||||
Add check for border edge position for avatars and objects.
|
Add check for border edge position for avatars and objects.
|
||||||
|
@ -28,10 +48,11 @@ Small physical objects do not interact correctly
|
||||||
Add material type linkage and input all the material property definitions.
|
Add material type linkage and input all the material property definitions.
|
||||||
Skeleton classes and table are in the sources but are not filled or used.
|
Skeleton classes and table are in the sources but are not filled or used.
|
||||||
Add PID motor for avatar movement (slow to stop, ...)
|
Add PID motor for avatar movement (slow to stop, ...)
|
||||||
Implement function efficiency for lineaar and angular motion.
|
setForce should set a constant force. Different than AddImpulse.
|
||||||
|
Implement raycast.
|
||||||
|
Implement ShapeCollection.Dispose()
|
||||||
|
Implement water as a plain so raycasting and collisions can happen with same.
|
||||||
|
|
||||||
After getting off a vehicle, the root prim is phantom (can be walked through)
|
|
||||||
Need to force a position update for the root prim after compound shape destruction
|
|
||||||
Find/remove avatar collision with ID=0.
|
Find/remove avatar collision with ID=0.
|
||||||
Test avatar walking up stairs. How does compare with SL.
|
Test avatar walking up stairs. How does compare with SL.
|
||||||
Radius of the capsule affects ability to climb edges.
|
Radius of the capsule affects ability to climb edges.
|
||||||
|
@ -39,19 +60,16 @@ Tune terrain/object friction to be closer to SL.
|
||||||
Debounce avatar contact so legs don't keep folding up when standing.
|
Debounce avatar contact so legs don't keep folding up when standing.
|
||||||
Implement LSL physics controls. Like STATUS_ROTATE_X.
|
Implement LSL physics controls. Like STATUS_ROTATE_X.
|
||||||
Add border extensions to terrain to help region crossings and objects leaving region.
|
Add border extensions to terrain to help region crossings and objects leaving region.
|
||||||
Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint)
|
|
||||||
|
|
||||||
Speed up creation of large physical linksets
|
Speed up creation of large physical linksets
|
||||||
For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
|
For instance, sitting in Neb's car (130 prims) takes several seconds to become physical
|
||||||
Performance test with lots of avatars. Can BulletSim support a thousand?
|
Performance test with lots of avatars. Can BulletSim support a thousand?
|
||||||
Optimize collisions in C++: only send up to the object subscribed to collisions.
|
Optimize collisions in C++: only send up to the object subscribed to collisions.
|
||||||
Use collision subscription and remove the collsion(A,B) and collision(B,A)
|
Use collision subscription and remove the collsion(A,B) and collision(B,A)
|
||||||
Check wheter SimMotionState needs large if statement (see TODO).
|
Check whether SimMotionState needs large if statement (see TODO).
|
||||||
|
|
||||||
Implement 'top colliders' info.
|
Implement 'top colliders' info.
|
||||||
Avatar jump
|
Avatar jump
|
||||||
Implement meshes or just verify that they work.
|
|
||||||
Do prim hash codes work for sculpties and meshes?
|
|
||||||
Performance measurement and changes to make quicker.
|
Performance measurement and changes to make quicker.
|
||||||
Implement detailed physics stats (GetStats()).
|
Implement detailed physics stats (GetStats()).
|
||||||
|
|
||||||
|
@ -67,8 +85,6 @@ Performance of closures and delegates for taint processing
|
||||||
Is there are more efficient method of implementing pre and post step actions?
|
Is there are more efficient method of implementing pre and post step actions?
|
||||||
See http://www.codeproject.com/Articles/29922/Weak-Events-in-C
|
See http://www.codeproject.com/Articles/29922/Weak-Events-in-C
|
||||||
|
|
||||||
Package Bullet source mods for Bullet internal stats output
|
|
||||||
|
|
||||||
Physics Arena central pyramid: why is one side permiable?
|
Physics Arena central pyramid: why is one side permiable?
|
||||||
|
|
||||||
INTERNAL IMPROVEMENT/CLEANUP
|
INTERNAL IMPROVEMENT/CLEANUP
|
||||||
|
@ -85,33 +101,42 @@ Complete implemention of preStepActions
|
||||||
Replace vehicle step call with prestep event.
|
Replace vehicle step call with prestep event.
|
||||||
Is there a need for postStepActions? postStepTaints?
|
Is there a need for postStepActions? postStepTaints?
|
||||||
Implement linkset by setting position of children when root updated. (LinksetManual)
|
Implement linkset by setting position of children when root updated. (LinksetManual)
|
||||||
|
Linkset implementation using manual prim movement.
|
||||||
LinkablePrim class? Would that simplify/centralize the linkset logic?
|
LinkablePrim class? Would that simplify/centralize the linkset logic?
|
||||||
Linkset implementation using manual prim movement.
|
|
||||||
Linkset implementation using compound shapes.
|
|
||||||
Compound shapes will need the LocalID in the shapes and collision
|
|
||||||
processing to get it from there.
|
|
||||||
BSScene.UpdateParameterSet() is broken. How to set params on objects?
|
BSScene.UpdateParameterSet() is broken. How to set params on objects?
|
||||||
Remove HeightmapInfo from terrain specification.
|
Remove HeightmapInfo from terrain specification.
|
||||||
Since C++ code does not need terrain height, this structure et al are not needed.
|
Since C++ code does not need terrain height, this structure et al are not needed.
|
||||||
Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will
|
Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will
|
||||||
bob at the water level. BSPrim.PositionSanityCheck().
|
bob at the water level. BSPrim.PositionSanityCheck().
|
||||||
|
|
||||||
|
THREADING
|
||||||
|
=================================================
|
||||||
|
Do taint action immediately if not actually executing Bullet.
|
||||||
|
Add lock around Bullet execution and just do taint actions if simulation is not happening.
|
||||||
|
|
||||||
DONE DONE DONE DONE
|
DONE DONE DONE DONE
|
||||||
=================================================
|
=================================================
|
||||||
Cleanup code in BSDynamics by using motors.
|
Cleanup code in BSDynamics by using motors. (Resolution: started)
|
||||||
Consider implementing terrain with a mesh rather than heightmap.
|
Consider implementing terrain with a mesh rather than heightmap. (Resolution: done)
|
||||||
Would have better and adjustable resolution.
|
Would have better and adjustable resolution.
|
||||||
NOTDONE: Build terrain mesh so heighmap is height of the center of the square meter.
|
Build terrain mesh so heighmap is height of the center of the square meter.
|
||||||
SL and ODE define meter square as being at one corner with one diagional.
|
Resolution: NOT DONE: SL and ODE define meter square as being at one corner with one diagional.
|
||||||
Terrain as mesh.
|
Terrain as mesh. (Resolution: done)
|
||||||
How are static linksets seen by the physics engine?
|
How are static linksets seen by the physics engine?
|
||||||
A: they are not linked in physics. When moved, all the children are repositioned.
|
Resolution: they are not linked in physics. When moved, all the children are repositioned.
|
||||||
Remember to remove BSScene.DetailLog Refresh call.
|
Convert BSCharacter to use all API2 (Resolution: done)
|
||||||
Convert BSCharacter to use all API2
|
|
||||||
Avatar pushing difficult (too heavy?)
|
Avatar pushing difficult (too heavy?)
|
||||||
Use asset service passed to BulletSim to get sculptie bodies, etc.
|
Use asset service passed to BulletSim to get sculptie bodies, etc. (Resolution: done)
|
||||||
Vehicles (fix bouncing on terrain)
|
Remove old code in DLL (all non-API2 stuff). (Resolution: done)
|
||||||
Remove old code in DLL (all non-API2 stuff).
|
Measurements of mega-physical prim performance (with graph) (Resolution: done, email)
|
||||||
Measurements of mega-physical prim performance (with graph)
|
|
||||||
Debug Bullet internal stats output (why is timing all wrong?)
|
Debug Bullet internal stats output (why is timing all wrong?)
|
||||||
Bullet stats logging only works with a single instance of Bullet (one region).
|
Resolution: Bullet stats logging only works with a single instance of Bullet (one region).
|
||||||
|
Implement meshes or just verify that they work. (Resolution: they do!)
|
||||||
|
Do prim hash codes work for sculpties and meshes? (Resolution: yes)
|
||||||
|
Linkset implementation using compound shapes. (Resolution: implemented LinksetCompound)
|
||||||
|
Compound shapes will need the LocalID in the shapes and collision
|
||||||
|
processing to get it from there.
|
||||||
|
Light cycle falling over when driving (Resolution: implemented VerticalAttractor)
|
||||||
|
Light cycle not banking (Resolution: It doesn't. Banking is roll adding yaw.)
|
||||||
|
Package Bullet source mods for Bullet internal stats output
|
||||||
|
(Resolution: move code into WorldData.h rather than relying on patches)
|
Loading…
Reference in New Issue