From 35d4298be698d9eb02974a4210c5ace867b0db35 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 18 Jan 2016 07:02:48 -0800 Subject: BulletSim: change method signatures for internal AddForce methods to remove confusion about push forces. The latter is an external, physics engine interface feature (the force parameter has a different unit if pushing vs adding force) and that distinction is not used internally. --- OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs') diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs index ab9cc27..0eb5fba 100644 --- a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs @@ -457,7 +457,7 @@ public sealed class BSCharacter : BSPhysObject get { return RawVelocity; } set { RawVelocity = value; - OMV.Vector3 vel = RawVelocity; + OMV.Vector3 vel = RawVelocity; DetailLog("{0}: set Velocity = {1}", LocalID, value); @@ -662,10 +662,10 @@ public sealed class BSCharacter : BSPhysObject addForce *= Mass * BSParam.AvatarAddForcePushFactor; DetailLog("{0},BSCharacter.addForce,call,force={1},addForce={2},push={3},mass={4}", LocalID, force, addForce, pushforce, Mass); - AddForce(addForce, pushforce, false); + AddForce(false, addForce); } - public override void AddForce(OMV.Vector3 force, bool pushforce, bool inTaintTime) { + public override void AddForce(bool inTaintTime, OMV.Vector3 force) { if (force.IsFinite()) { OMV.Vector3 addForce = Util.ClampV(force, BSParam.MaxAddForceMagnitude); @@ -692,7 +692,7 @@ public sealed class BSCharacter : BSPhysObject } } - public override void AddAngularForce(OMV.Vector3 force, bool pushforce, bool inTaintTime) { + public override void AddAngularForce(bool inTaintTime, OMV.Vector3 force) { } public override void SetMomentum(OMV.Vector3 momentum) { } -- cgit v1.1 From ddd59fab5ff7a68b0cc208326e6a5602290a0efe Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 18 Jan 2016 10:50:28 -0800 Subject: BulletSim: add stationary suppression on AddForce application. This enables small pushing of avatars (Mantis 7779). --- OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs') diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs index 0eb5fba..4b75e32 100644 --- a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs @@ -683,6 +683,10 @@ public sealed class BSCharacter : BSPhysObject PhysScene.PE.ApplyCentralForce(PhysBody, addForce); PhysScene.PE.Activate(PhysBody, true); } + if (m_moveActor != null) + { + m_moveActor.SuppressStationayCheckUntilLowVelocity(); + } }); } else -- cgit v1.1 From 33af41905021e6ab2e51873a75b585044e445974 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 19 Jan 2016 22:09:51 -0800 Subject: BulletSim: make collision sounds work most of the time. Seems that collisions usually stop the collider so velocity is often small. Also remove some chatty debug messages. --- OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs') diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs index 4b75e32..6d5589f 100644 --- a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs @@ -89,6 +89,7 @@ public sealed class BSCharacter : BSPhysObject _buoyancy = ComputeBuoyancyFromFlying(isFlying); Friction = BSParam.AvatarStandingFriction; Density = BSParam.AvatarDensity; + _isPhysical = true; // Old versions of ScenePresence passed only the height. If width and/or depth are zero, // replace with the default values. -- cgit v1.1