* Add a config option for filtering collisions. Sometimes, under load, this seems to cause bouncing on really thin flat prim.
parent
f44742f75f
commit
dfc12d591c
|
@ -195,6 +195,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
private float[] _heightmap;
|
private float[] _heightmap;
|
||||||
|
|
||||||
private float[] _watermap;
|
private float[] _watermap;
|
||||||
|
private bool m_filterCollisions = true;
|
||||||
|
|
||||||
// private float[] _origheightmap;
|
// private float[] _origheightmap;
|
||||||
|
|
||||||
|
@ -360,6 +361,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true);
|
meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true);
|
||||||
meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f);
|
meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f);
|
||||||
MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
|
MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
|
||||||
|
m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", true);
|
||||||
|
|
||||||
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
||||||
{
|
{
|
||||||
|
@ -847,6 +849,9 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
//return result;
|
//return result;
|
||||||
|
if (!m_filterCollisions)
|
||||||
|
return false;
|
||||||
|
|
||||||
ActorTypes at = (ActorTypes)atype;
|
ActorTypes at = (ActorTypes)atype;
|
||||||
lock (_perloopContact)
|
lock (_perloopContact)
|
||||||
{
|
{
|
||||||
|
|
|
@ -240,6 +240,11 @@ small_hashspace_size_high = 66
|
||||||
; surface layer around geometries other geometries can sink into before generating a contact
|
; surface layer around geometries other geometries can sink into before generating a contact
|
||||||
world_contact_surface_layer = 0.001
|
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)
|
; Non Moving Terrain Contact (avatar isn't moving)
|
||||||
nm_terraincontact_friction = 255.0
|
nm_terraincontact_friction = 255.0
|
||||||
nm_terraincontact_bounce = 0.1
|
nm_terraincontact_bounce = 0.1
|
||||||
|
|
Loading…
Reference in New Issue