Commit Graph

123 Commits (5f97c6f8f06f0b90ab815a1d44358dc256ec5a50)

Author SHA1 Message Date
Robert Adams 5f97c6f8f0 BulletSim: non-functional updates. Comments and formatting.
Update TODO list.
2013-07-06 08:25:13 -07:00
Robert Adams 8eb86c9ec9 BulletSim: add the reset of the last commit for flush log file problems.
Fix small typo in one log message.
2013-06-30 19:22:43 -07:00
Robert Adams 74539659f6 BulletSim: move new linear deflection code to own routine.
Remove VehicleForwardVelocity changed storage since the value
will be modified as movement is processed.
2013-06-21 10:46:21 -07:00
Vegaslon a5de4f692b BulletSim: Implementation of Linear Deflection, it is a partial help for the vehicle tuning diffrence between Opensim and Second life.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-06-20 19:02:15 -07:00
Robert Adams 5f1f5ea5ab BulletSim: add VehicleInertiaFactor to allow modifying inertia.
Another parameter for vehicle operation tuning.
Default to <1,1,1> which means nothing is different under normal use.
2013-05-24 16:24:16 -07:00
Vegaslon ac6dcd35fb Bulletsim: and the rotational friction.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-05-07 07:14:10 -07:00
Vegaslon f247ae1a75 BulletSim: Another way to create vehicle framed friction.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-05-07 07:14:06 -07:00
Robert Adams 93e1986d69 BulletSim: apply linear and angular friction in vehicle coordinates
and not world coordinates.
2013-05-06 16:48:01 -07:00
Robert Adams 045aaa838a BulletSim: remove friction calcuation from BSMotor and move linear and
angular friction computation into linear and angular movement code.
The friction wasn't being applied properly. This will make it so vehicles
don't drift as much and the drift is tunable by changing the friction
timescales.
2013-05-06 13:32:26 -07:00
Robert Adams bf31896983 BulletSim: simplify parameter specification by reducing the number of
specifications required for simple properties with defaults.
2013-05-06 13:32:24 -07:00
Robert Adams 5d25bb3084 BulletSim: zero vehicle motion when changing vehicle type.
Rebuild compound linkset of any child in the linkset changes shape.
Comments and better detailed logging messages.
2013-05-03 14:23:53 -07:00
Robert Adams d9c3947824 BulletSim: Rebuild physical body if physical shape changes for mesh and hull.
Properly rebuilds collision caches.
Release asset data fetched when building mesh or hulls.
2013-05-02 10:06:12 -07:00
Robert Adams 92ee288d66 BulletSim: remove trailing white space to make git happier. No functional changes. 2013-04-29 07:54:50 -07:00
Robert Adams ad1787770e BulletSim: rename variable 'PhysicsScene' to be either 'PhysScene' or 'm_physicsScene' to match coding conventions and reduce confusion. 2013-04-29 07:38:55 -07:00
Robert Adams e5582939fd BulletSim: massive refactor of shape classes. Removed shape specific code from BSShapeCollection. Using BSShape* classes to hold references to shape. Simplified shape dependency callbacks. Remove 'PreferredShape' methods and have each class specify shape type. Disable compound shape linkset for a later commit that will simplify linkset implementation. 2013-04-29 07:38:40 -07:00
Robert Adams b53713cdda BulletSim: some formatting changes. 2013-04-09 18:00:27 -07:00
Vegaslon 9cc41d5118 Another algorithm for AngularVerticalAttraction. This one Takes into account all rotations before it and makes the corrections more close to the time that sl does.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-04-09 18:00:25 -07:00
Robert Adams 7d50015a74 BulletSim: start the renaming of local variables to m_ form to match the OpenSim coding conventions. 2013-03-31 22:19:42 -07:00
Robert Adams 747ece59d2 BulletSim: convert BSDynamic to a BSActor and change BSPrim to set
up the vehicle actor.
2013-03-31 22:19:41 -07:00
Robert Adams 285dc554ec BulletSim: new algorithm for vertical attraction which uses quaternion
arithmetic to compute the shortest path between the current tilt
and vertical.
2013-03-25 15:40:46 -07:00
Robert Adams 8360223fed BulletSim: code to generate a higher resolution terrain mesh. Parameter
TerrainMeshMagnification controls number of vertices generated per
heightmap point. Default is 3.
2013-03-19 00:00:03 -07:00
Robert Adams 464201b41d BulletSim: add INI parameter for angular banking timescale fudge parameter. 2013-03-16 15:34:07 -07:00
Vegaslon fc84ebb819 BulletSim: Working Implementation of Angular Banking for Vehicles (Not SL Grade, Other features when implemented should slow it down for now be Strong with Vertical Angular attraction setting and conservative with Angular Velocity on X axis)
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-03-16 15:13:40 -07:00
Vegaslon 78b25094dc BulletSim: Tweak vertical angular attraction to remove double VehicleOrientation application fixing the problem with the vertical attractor pushing vehicles nose first into ground when tilted on side.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-03-15 14:05:38 -07:00
Robert Adams 1c740798b4 BulletSim: add parameters, code cleanup around checking and enforcing
maximum velocity and angular velocity values for prims.
2013-03-01 09:44:37 -08:00
Robert Adams 885b45b112 BulletSim: rework parameter setting for different types of values
(like vectors or quaternions).
2013-02-17 20:13:48 -08:00
Robert Adams 1b203601f4 BulletSim: include the linkage to the layered prim implementation. Separate layers for physical (vs simulator) location displacement and linksets. 2013-02-08 16:29:29 -08:00
Robert Adams 2b6d226911 BulletSim: correct angular vertical attraction to properly correct an upside down vehicle. 2013-02-05 16:56:17 -08:00
Robert Adams ed71c939fc BulletSim: make sure vehicle physical properties are set when going
physical by delaying setting until pre-step time. Change vehicle.Refresh()
to schedule the pre-step setting.
Comments and updating of TODO list.
2013-01-31 15:56:02 -08:00
Robert Adams 47f09ed4c1 BulletSim: enable angular vertical attraction.
Increase terrain collision margin to help vehicles from tunneling
into same.
2013-01-28 17:21:13 -08:00
Robert Adams 531d0429d1 BulletSim: first unit test: vehicle angular attraction 2013-01-28 17:08:34 -08:00
Robert Adams b546af9ac2 BulletSim: simplify the initialization of some of the parameters.
Disable vertical attraction for vehicles by default (for the moment).
Fix bug where vehicle would go crazy when velocity got above a
   certain speed.
2013-01-27 12:50:07 -08:00
Robert Adams 36f401d850 BulletSim: parameterize the value for gravity reduction for ground vehicles on the ground. Set defaults for vehicle factors to one. Debug logging changes. 2013-01-27 12:50:05 -08:00
Robert Adams ddef8f16e5 BulletSim: first attempt at reporting top colliders 2013-01-27 12:50:05 -08:00
Robert Adams dd08e1fba6 BulletSim: parameterize several vehicle debugging values: physical linear and angular force factors now default to less than 1 (0.2) vehicle friction and restitution now default to low values 2013-01-27 12:50:05 -08:00
Robert Adams c44a8e9f92 BulletSim: finish the post step event for physical object actions. Modify vehicle to use post step event for logging. 2013-01-27 12:50:04 -08: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 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 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 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 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
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 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 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 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 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