aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
diff options
context:
space:
mode:
authorRobert Adams2013-01-25 12:00:19 -0800
committerRobert Adams2013-01-27 12:50:05 -0800
commitdd08e1fba6e154002a7fe8f46c8c01e6e61d39db (patch)
tree0522733b5a8c999d008b0fc04992e6c081a2c48c /OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
parentBulletSim: finish the post step event for physical object actions. Modify veh... (diff)
downloadopensim-SC_OLD-dd08e1fba6e154002a7fe8f46c8c01e6e61d39db.zip
opensim-SC_OLD-dd08e1fba6e154002a7fe8f46c8c01e6e61d39db.tar.gz
opensim-SC_OLD-dd08e1fba6e154002a7fe8f46c8c01e6e61d39db.tar.bz2
opensim-SC_OLD-dd08e1fba6e154002a7fe8f46c8c01e6e61d39db.tar.xz
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
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs12
1 files changed, 5 insertions, 7 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
index a369c1f..5c531fc 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
@@ -583,8 +583,6 @@ namespace OpenSim.Region.Physics.BulletSPlugin
583 583
584 // Some of the properties of this prim may have changed. 584 // Some of the properties of this prim may have changed.
585 // Do any updating needed for a vehicle 585 // Do any updating needed for a vehicle
586 Vector3 m_physicsLinearFactor = new Vector3(0.2f, 0.2f, 0.2f); // DEBUG DEBUG
587 Vector3 m_physicsAngularFactor = new Vector3(0.2f, 0.2f, 0.2f); // DEBUG DEBUG
588 public void Refresh() 586 public void Refresh()
589 { 587 {
590 if (IsActive) 588 if (IsActive)
@@ -593,16 +591,16 @@ namespace OpenSim.Region.Physics.BulletSPlugin
593 m_vehicleMass = Prim.Linkset.LinksetMass; 591 m_vehicleMass = Prim.Linkset.LinksetMass;
594 592
595 // Friction affects are handled by this vehicle code 593 // Friction affects are handled by this vehicle code
596 float friction = 0f; 594 PhysicsScene.PE.SetFriction(Prim.PhysBody, BSParam.VehicleFriction);
597 PhysicsScene.PE.SetFriction(Prim.PhysBody, friction); 595 PhysicsScene.PE.SetRestitution(Prim.PhysBody, BSParam.VehicleRestitution);
598 596
599 // Moderate angular movement introduced by Bullet. 597 // Moderate angular movement introduced by Bullet.
600 // TODO: possibly set AngularFactor and LinearFactor for the type of vehicle. 598 // TODO: possibly set AngularFactor and LinearFactor for the type of vehicle.
601 // Maybe compute linear and angular factor and damping from params. 599 // Maybe compute linear and angular factor and damping from params.
602 float angularDamping = BSParam.VehicleAngularDamping; 600 float angularDamping = BSParam.VehicleAngularDamping;
603 PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, angularDamping); 601 PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, angularDamping);
604 PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, m_physicsLinearFactor); // DEBUG DEBUG 602 PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, BSParam.VehicleLinearFactorV);
605 PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, m_physicsAngularFactor); // DEBUG DEBUG 603 PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, BSParam.VehicleAngularFactorV);
606 604
607 // Vehicles report collision events so we know when it's on the ground 605 // Vehicles report collision events so we know when it's on the ground
608 PhysicsScene.PE.AddToCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS); 606 PhysicsScene.PE.AddToCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS);
@@ -618,7 +616,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin
618 PhysicsScene.PE.SetGravity(Prim.PhysBody, Vector3.Zero); 616 PhysicsScene.PE.SetGravity(Prim.PhysBody, Vector3.Zero);
619 617
620 VDetailLog("{0},BSDynamics.Refresh,mass={1},frict={2},inert={3},aDamp={4},grav={5}", 618 VDetailLog("{0},BSDynamics.Refresh,mass={1},frict={2},inert={3},aDamp={4},grav={5}",
621 Prim.LocalID, m_vehicleMass, friction, Prim.Inertia, angularDamping, m_VehicleGravity); 619 Prim.LocalID, m_vehicleMass, Prim.Inertia, angularDamping, m_VehicleGravity);
622 } 620 }
623 else 621 else
624 { 622 {