mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 09:16:28 +08:00
* Add a config option for filtering collisions. Sometimes, under load, this seems to cause bouncing on really thin flat prim.
This commit is contained in:
@@ -195,6 +195,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
private float[] _heightmap;
|
||||
|
||||
private float[] _watermap;
|
||||
private bool m_filterCollisions = true;
|
||||
|
||||
// private float[] _origheightmap;
|
||||
|
||||
@@ -360,6 +361,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true);
|
||||
meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f);
|
||||
MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
|
||||
m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", true);
|
||||
|
||||
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
||||
{
|
||||
@@ -847,6 +849,9 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
{
|
||||
bool result = false;
|
||||
//return result;
|
||||
if (!m_filterCollisions)
|
||||
return false;
|
||||
|
||||
ActorTypes at = (ActorTypes)atype;
|
||||
lock (_perloopContact)
|
||||
{
|
||||
|
||||
@@ -240,6 +240,11 @@ small_hashspace_size_high = 66
|
||||
; surface layer around geometries other geometries can sink into before generating a contact
|
||||
world_contact_surface_layer = 0.001
|
||||
|
||||
; Filtering Collisions helps keep things stable physics wise, but sometimes
|
||||
; it can be over zealous. If you notice bouncing, chances are it's being just
|
||||
; that
|
||||
filter_collisions = true
|
||||
|
||||
; Non Moving Terrain Contact (avatar isn't moving)
|
||||
nm_terraincontact_friction = 255.0
|
||||
nm_terraincontact_bounce = 0.1
|
||||
|
||||
Reference in New Issue
Block a user