Commit Graph

527 Commits

Author SHA1 Message Date
teravus
5128ae7b86 * This adds llVolumeDetect functionality to the C# implementation of BulletSim. 2013-01-25 20:15:37 -05:00
Robert Adams
6a5d088197 BulletSim: reduce the force of gravity on ground vehicles when they
are on the ground. Makes them a little more stable.
2013-01-24 16:26:04 -08:00
Robert Adams
a2a32fc844 BulletSim: reduce the zeroing threshold for rotational velocity.
Sometimes settling of a vehicle from gravity introduces small
velocities that need to be kept.
2013-01-24 14:36:00 -08:00
Robert Adams
591faac3ac BulletSim: disable CCD (continuious collision detection) and
contact processing threshold since the first didn't solve tunneling
problems but used resources and the latter caused instabilities.
2013-01-24 14:35:42 -08:00
Robert Adams
2cf29c87bc BulletSim: zero motion on an object that we pop up because it is
below terrain. If the position is being corrected because it is out
of bounds, all other movement rules are out the window.
2013-01-24 14:35:23 -08:00
Robert Adams
3ecfddd791 BulletSim: remove exception that can happen when setting physics parameters from the console. 2013-01-24 14:35:05 -08:00
teravus
d5b950633d * Added in the manifold point dept on collision desc. In BulletSim engine BulletXNA. 2013-01-24 07:36:24 -05:00
teravus
ba9d6b7337 * Repairs the Object updates, Collision updates, and Child Prim methods making the bulletXNA engine work again.
* The only thing that had an issue was when creating a new RigidBody, BulletXNA didn't know the type SimMotionState and the upcast type is unknown in the constructor.   Therefore, I had to update the IMotionState with a new method 'SetBody'.    All of the duplicated type information has been removed and BulletXNA is not relying on any non-standard types external to the library.
2013-01-24 07:11:32 -05:00
Robert Adams
1c3d84fe03 BulletSim: pass up and report the real collision penetration. 2013-01-23 16:20:44 -08:00
Robert Adams
a7b810ddee BulletSim: remove setting of vehicle InterpolationRotationalVelocity.
This doesn't seem to help the vehicle stability.
Rename vehicle internal variables adding a "V" or "W" so it is clear
when coordinates are vehicle or world relative.
2013-01-23 14:25:42 -08:00
Robert Adams
13182904da BulletSim: small change to center-of-mass computation left out last commit 2013-01-23 14:25:30 -08:00
Robert Adams
a5e9c665f0 BulletSim: center-of-gravity linkset changes. Not working yet.
Conflicts:

	OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
2013-01-23 14:25:18 -08:00
Robert Adams
c1371ab786 BulletSim: working on COM 2013-01-23 14:25:06 -08:00
Robert Adams
775fd6f8cc BulletSim: fix build break introduced by previous commit 2013-01-23 14:24:54 -08:00
Robert Adams
a0d460e6bf BulletSim: remove the unused RestoreBodyDependencies used by linksets
and vehicles and clean up code by removing their kludgyness.
2013-01-23 14:24:42 -08:00
Robert Adams
80b1e32bfa BulletSim: Tweeks to vehicle motion.
Pass through old angular velocity making for smoother transitions.
Remove some old kludges for angular motion (damping and rotvel suppression).
2013-01-21 23:43:24 -08:00
Robert Adams
471c477863 BulletSim: allow changing position and rotation of a child of a linkset
without rebuilding the whole compound shape. Should make vehicles move
smoother.
2013-01-21 15:58:22 -08:00
Robert Adams
3f6698a595 BulletSim: remove unused MaxTaintsToProcessPerStep parameter 2013-01-21 09:19:09 -08:00
Robert Adams
52b341e2e2 BulletSim: More aggressive as setting character velocity to zero
when should be standing.
Modify angular force routines to be the same pattern as linear force routines.
BulletSim vehicle turning is scaled like SL and is DIFFERENT THAN ODE!!
Fix some bugs in BSMotor dealing with the motor going to zero.
Add a bunch of parameters:  MaxLinearVelocity, MaxAngularVelocity,
MaxAddForceMagnitude, VehicleMaxLinearVelocity, VehicleMaxAngularVelocity,
and most of the values are defaulted to values that are larger
than in SL.
Use the new parameters in BSPrim, BSCharacter and BSDynamic.
2013-01-20 23:09:54 -08:00
Robert Adams
3c4868f613 BulletSim: fix problem of avatar sliding very slowly occasionally after stopping walking. Consolidate movement tests into the one prestep motion action 2013-01-20 23:09:54 -08:00
Robert Adams
2cb1d5240e BulletSim: small fix making sure terrain height is calculated
properly if the vehicle moves during vehicle actions.
2013-01-20 23:09:54 -08:00
Robert Adams
3b0df52d10 BulletSim: modify motors to return correction rather than current value
to better use them for incremental updates.
Modify prim and character to use the new motors.
Simplify the vehicle linear movement code to just update the velocity
directly or the basic movement.
2013-01-20 23:09:53 -08:00
teravus
2c517d792f This updates prebuild to remove BulletSimN, implements the BulletSim API in BulletSPlugin using the BulletXNA Bullet physics engine. It also updates the BulletXNA library to be compatible with the changes. OpenSimDefaults has been updated to describe how to switch engines and terrain implementations. 2013-01-20 08:18:16 -05:00
Robert Adams
c6b6c94ccb BulletSim: reduce jitter in avatar velocity when walking or flying.
OpenSimulator is VERY sensitive to changes in avatar velocity and
will send an avatar update message when velocity changes more than
0.001m/s. This significantly reduces the number of avatar update messages by
smoothing the avatar velocity returned by Bullet.
2013-01-18 11:39:24 -08:00
Robert Adams
482c7b5368 BulletSim: add logic to turn off pre-step actions when object goes
non-active. This turns off 'setForce', 'setTorque' and 'moveToTarget'
when the object is selected or made non-physical.
2013-01-18 11:37:36 -08:00
Robert Adams
75f710f1e7 BulletSim: Add one function that all actors who act on the physical
can use to know if the object is currently active.
Code cleaning including use of Util.ClampV function.
2013-01-17 14:47:35 -08:00
Robert Adams
8ee9daa121 BulletSim: add the editting children in linkset going phantom bug to TODO list. 2013-01-15 21:08:47 -08:00
Robert Adams
5d098d8f17 BulletSim: don't modify angular parameters when doing LIMIT_MOTOR_UP.
It was a dumb idea to try and do a nose over feature for jumping cars anyway.
Add better logging of native shape creation/reuse so can  tell the difference.
2013-01-15 21:08:46 -08:00
Robert Adams
61ff79587b BulletSim: add debugging messages to know when assets for physical
objects have been fetched.
Update TODO list with more work.
2013-01-15 21:08:46 -08:00
Robert Adams
daef2b8d87 BulletSim: reduce maximum force a script can apply (like in llApplyImpulse)
to the documented maximum from the outragious number previously.
2013-01-15 21:08:46 -08:00
Robert Adams
021964c6e0 BulletSim: tweeks to improve hover. 2013-01-15 04:24:24 -08:00
Robert Adams
181d4c6fcb BulletSim: temporarily disable banking and direction deflection
because the computations are wrong.
Add VehicleTorqueImpulse routines.
2013-01-15 02:58:14 -08:00
Robert Adams
0374b2a0b4 BulletSim: fix logic for enabling unmanaged code debug messages.
Free pinned memory when physics engine is unloaded.
2013-01-15 02:21:38 -08:00
Robert Adams
13778c895a BulletSim: by default, turn on continuious collision detection (CCD)
and enable friction computation caching. Remove dangerous BulletSim
settings from OpenSimDefaults.ini.
2013-01-15 01:44:34 -08:00
Robert Adams
4e1ca890c2 BulletSim: fix not moving physical objects below terrain to over terrain.
Add locking on register prestep action list preventing potential race conditions.
Little comment and formatting changes.
2013-01-14 15:46:46 -08:00
Robert Adams
8bf0a9f85d BulletSim: disable center-of-mass computation for linksets until debugged. Move physical prim above ground if it is underground. Previously tried to correct by applying and up force but the prim would never go through the ground. 2013-01-14 07:50:58 -08:00
Robert Adams
459fcd81c9 BulletSim: move center of gravity of linkset to its geometric center.
Necessitated allowing simulator and physical position of a body to
get out of sync since Bullet assumes that <0,0,0> is the center of mass.
Update DLLs and SOs for the UpdateChildTransform so positions of
  individual prim in a linkset can be implemented.
2013-01-11 16:47:53 -08:00
Robert Adams
eacc2561d1 BulletSim: add osGetPhysicsEngineType() LSL function and update
the physics engines to return the name that is specified in the INI
file ("physics = XXX") as the type of engine.
This os function is a little different than the others in that it
does not throw an exception of one is not privilaged to use it.
It merely returns an empty string.
2013-01-11 16:47:35 -08:00
Robert Adams
93adc4cb66 BulletSim: Add IsSelected attribute to physical objects. Have vehicles check to see if physical before trying to step. Replace vehicle gravity application. Previously relying on Bullet to apply gravity but since vehicles over-ride the velocity calculation, gravity never had a chance to accelerate the body down. Added AddForceImpulse as well as AddForce for those who need to apply immediate velocity updates. Use the impulse to apply the linear motion. 2013-01-11 16:47:20 -08:00
Robert Adams
7e58bbaac6 BulletSim: Redo linear function coding so they can better interact. New algorithm for limitMotorUp that relies on going up when not colliding rather than distance from ground. Add parameter for turning on and off embedded source vehicle debugging. 2013-01-11 16:46:53 -08:00
Robert Adams
98168edc29 BulletSim: remove double application of buoyancy. Centralize computation of buoyancy. Add motor angular debugging controls. 2013-01-11 16:46:38 -08:00
Robert Adams
b592ec265b BulletSim: fix the 'No recognised physics mesh found ...' error spew by remembering that the last asset fetch failed until the simulator resets the shape parameters. 2013-01-11 16:44:34 -08:00
Robert Adams
df1d7414ad BulletSim: Fix hover height (boats float at the correct level).
Fix problem of vehicles going crazy when backing up.
2013-01-08 16:37:49 -08:00
Robert Adams
1603606f1d BulletSim: improve vehicle angular banking and deflection computation. Rotate angular correction forces to be world relative rather than vehicle relative. 2013-01-07 22:00:50 -08:00
Robert Adams
8452c0a870 BulletSim: add function to push avatar up when hitting stairs.
It looks like BulletSim and ODE rely on penetration correction to cause
the avatar to move up and thus allowing walking up stairs. Object
penetration was minimized for walking and flying (so one doesn't go
through walls) and this stopped stairs from working. This commit
introduces avatar movement code to check for collisions at the
feet while walking and attempts to raise the avatar for the steps.
Not yet perfect but movement is better.
2013-01-07 16:05:02 -08:00
Robert Adams
599dbc3d95 BulletSim: fix exception when re-creating the terrain when loading an OAR file 2013-01-07 16:04:21 -08:00
Robert Adams
2e5222055f BulletSim: comments and removing small compile errors introduced in last commit. 2013-01-06 22:56:16 -08:00
Robert Adams
9393403253 BulletSim: update DLLs and SOs with better debugging output.
Add definition of hand crafted avatar mesh. Not used yet.
Comments and cleanup.
2013-01-06 14:01:15 -08:00
Robert Adams
2eba80a8cd BulletSim: fix problem where mesh shapes were physically just their bounding box and not the complete mesh. Fill mesh physical objects are back. 2013-01-04 17:06:52 -08:00
Robert Adams
48cfc6d089 BulletSim: implement llMoveToTarget by adding PIDActive, etc.
Implementation of non-vehicle hover but haven't tested it a lot.
Update TODO list.
2013-01-04 17:06:51 -08:00