diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 5 | ||||
-rw-r--r-- | bin/OpenSim.ini.example | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 04d2ea9..a782e2d 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -195,6 +195,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
195 | private float[] _heightmap; | 195 | private float[] _heightmap; |
196 | 196 | ||
197 | private float[] _watermap; | 197 | private float[] _watermap; |
198 | private bool m_filterCollisions = true; | ||
198 | 199 | ||
199 | // private float[] _origheightmap; | 200 | // private float[] _origheightmap; |
200 | 201 | ||
@@ -360,6 +361,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
360 | meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true); | 361 | meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true); |
361 | meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f); | 362 | meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f); |
362 | MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f); | 363 | MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f); |
364 | m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", true); | ||
363 | 365 | ||
364 | if (Environment.OSVersion.Platform == PlatformID.Unix) | 366 | if (Environment.OSVersion.Platform == PlatformID.Unix) |
365 | { | 367 | { |
@@ -847,6 +849,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
847 | { | 849 | { |
848 | bool result = false; | 850 | bool result = false; |
849 | //return result; | 851 | //return result; |
852 | if (!m_filterCollisions) | ||
853 | return false; | ||
854 | |||
850 | ActorTypes at = (ActorTypes)atype; | 855 | ActorTypes at = (ActorTypes)atype; |
851 | lock (_perloopContact) | 856 | lock (_perloopContact) |
852 | { | 857 | { |
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6315d28..f71fa65 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -240,6 +240,11 @@ small_hashspace_size_high = 66 | |||
240 | ; surface layer around geometries other geometries can sink into before generating a contact | 240 | ; surface layer around geometries other geometries can sink into before generating a contact |
241 | world_contact_surface_layer = 0.001 | 241 | world_contact_surface_layer = 0.001 |
242 | 242 | ||
243 | ; Filtering Collisions helps keep things stable physics wise, but sometimes | ||
244 | ; it can be over zealous. If you notice bouncing, chances are it's being just | ||
245 | ; that | ||
246 | filter_collisions = true | ||
247 | |||
243 | ; Non Moving Terrain Contact (avatar isn't moving) | 248 | ; Non Moving Terrain Contact (avatar isn't moving) |
244 | nm_terraincontact_friction = 255.0 | 249 | nm_terraincontact_friction = 255.0 |
245 | nm_terraincontact_bounce = 0.1 | 250 | nm_terraincontact_bounce = 0.1 |