diff options
author | Robert Adams | 2014-02-08 16:11:43 -0800 |
---|---|---|
committer | Robert Adams | 2014-02-11 21:07:55 -0800 |
commit | 3a7c8d1f3265941105f9d7a5edc4f82057099a83 (patch) | |
tree | 4a1010441183a30f85158fd2e553aa2128a48d0d | |
parent | varregion: Send large region patches for wind and clouds. (diff) | |
download | opensim-SC_OLD-3a7c8d1f3265941105f9d7a5edc4f82057099a83.zip opensim-SC_OLD-3a7c8d1f3265941105f9d7a5edc4f82057099a83.tar.gz opensim-SC_OLD-3a7c8d1f3265941105f9d7a5edc4f82057099a83.tar.bz2 opensim-SC_OLD-3a7c8d1f3265941105f9d7a5edc4f82057099a83.tar.xz |
BulletSim: the minimum vehicle velocity was set too low so moving slow
was getting zeroed too easily. Added VehicleMinVelocity parameter.
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 7 | ||||
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 7b98f9d..0722d70 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | |||
@@ -1011,8 +1011,13 @@ namespace OpenSim.Region.Physics.BulletSPlugin | |||
1011 | VDetailLog("{0}, MoveLinear,clampMax,origVelW={1},lenSq={2},maxVelSq={3},,newVelW={4}", | 1011 | VDetailLog("{0}, MoveLinear,clampMax,origVelW={1},lenSq={2},maxVelSq={3},,newVelW={4}", |
1012 | ControllingPrim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySquared, VehicleVelocity); | 1012 | ControllingPrim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySquared, VehicleVelocity); |
1013 | } | 1013 | } |
1014 | else if (newVelocityLengthSq < 0.001f) | 1014 | else if (newVelocityLengthSq < BSParam.VehicleMinLinearVelocitySquared) |
1015 | { | ||
1016 | Vector3 origVelW = VehicleVelocity; // DEBUG DEBUG | ||
1017 | VDetailLog("{0}, MoveLinear,clampMin,origVelW={1},lenSq={2}", | ||
1018 | ControllingPrim.LocalID, origVelW, newVelocityLengthSq); | ||
1015 | VehicleVelocity = Vector3.Zero; | 1019 | VehicleVelocity = Vector3.Zero; |
1020 | } | ||
1016 | 1021 | ||
1017 | VDetailLog("{0}, MoveLinear,done,isColl={1},newVel={2}", ControllingPrim.LocalID, ControllingPrim.HasSomeCollision, VehicleVelocity ); | 1022 | VDetailLog("{0}, MoveLinear,done,isColl={1},newVel={2}", ControllingPrim.LocalID, ControllingPrim.HasSomeCollision, VehicleVelocity ); |
1018 | 1023 | ||
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index d993e6a..860193f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | |||
@@ -147,6 +147,8 @@ public static class BSParam | |||
147 | // Vehicle parameters | 147 | // Vehicle parameters |
148 | public static float VehicleMaxLinearVelocity { get; private set; } | 148 | public static float VehicleMaxLinearVelocity { get; private set; } |
149 | public static float VehicleMaxLinearVelocitySquared { get; private set; } | 149 | public static float VehicleMaxLinearVelocitySquared { get; private set; } |
150 | public static float VehicleMinLinearVelocity { get; private set; } | ||
151 | public static float VehicleMinLinearVelocitySquared { get; private set; } | ||
150 | public static float VehicleMaxAngularVelocity { get; private set; } | 152 | public static float VehicleMaxAngularVelocity { get; private set; } |
151 | public static float VehicleMaxAngularVelocitySq { get; private set; } | 153 | public static float VehicleMaxAngularVelocitySq { get; private set; } |
152 | public static float VehicleAngularDamping { get; private set; } | 154 | public static float VehicleAngularDamping { get; private set; } |
@@ -598,6 +600,10 @@ public static class BSParam | |||
598 | 1000.0f, | 600 | 1000.0f, |
599 | (s) => { return (float)VehicleMaxLinearVelocity; }, | 601 | (s) => { return (float)VehicleMaxLinearVelocity; }, |
600 | (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySquared = v * v; } ), | 602 | (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySquared = v * v; } ), |
603 | new ParameterDefn<float>("VehicleMinLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle", | ||
604 | 0.001f, | ||
605 | (s) => { return (float)VehicleMinLinearVelocity; }, | ||
606 | (s,v) => { VehicleMinLinearVelocity = v; VehicleMinLinearVelocitySquared = v * v; } ), | ||
601 | new ParameterDefn<float>("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", | 607 | new ParameterDefn<float>("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", |
602 | 12.0f, | 608 | 12.0f, |
603 | (s) => { return (float)VehicleMaxAngularVelocity; }, | 609 | (s) => { return (float)VehicleMaxAngularVelocity; }, |