BulletSim: add debugging looking for doorway sculpty problems
parent
ad438ee59f
commit
13233da66c
|
@ -622,7 +622,6 @@ public sealed class BSShapeCollection : IDisposable
|
|||
private BulletShape CreatePhysicalMesh(string objName, System.UInt64 newMeshKey, PrimitiveBaseShape pbs, OMV.Vector3 size, float lod)
|
||||
{
|
||||
BulletShape newShape = new BulletShape();
|
||||
IMesh meshData = null;
|
||||
|
||||
MeshDesc meshDesc;
|
||||
if (Meshes.TryGetValue(newMeshKey, out meshDesc))
|
||||
|
@ -632,7 +631,7 @@ public sealed class BSShapeCollection : IDisposable
|
|||
}
|
||||
else
|
||||
{
|
||||
meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false);
|
||||
IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false);
|
||||
|
||||
if (meshData != null)
|
||||
{
|
||||
|
@ -648,8 +647,31 @@ public sealed class BSShapeCollection : IDisposable
|
|||
verticesAsFloats[vi++] = vv.Z;
|
||||
}
|
||||
|
||||
// m_log.DebugFormat("{0}: BSShapeCollection.CreatePhysicalMesh: calling CreateMesh. lid={1}, key={2}, indices={3}, vertices={4}",
|
||||
// LogHeader, prim.LocalID, newMeshKey, indices.Length, vertices.Count);
|
||||
// DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,key={1},lod={2},size={3},indices={4},vertices={5}",
|
||||
// BSScene.DetailLogZero, newMeshKey.ToString("X"), lod, size, indices.Length, vertices.Count);
|
||||
|
||||
/*
|
||||
// DEBUG DEBUG
|
||||
for (int ii = 0; ii < indices.Length; ii += 3)
|
||||
{
|
||||
DetailLog("{0,3}: {1,3},{2,3},{3,3}: <{4,10},{5,10},{6,10}>, <{7,10},{8,10},{9,10}>, <{10,10},{11,10},{12,10}>",
|
||||
ii / 3,
|
||||
indices[ii + 0],
|
||||
indices[ii + 1],
|
||||
indices[ii + 2],
|
||||
verticesAsFloats[indices[ii+0] + 0],
|
||||
verticesAsFloats[indices[ii+0] + 1],
|
||||
verticesAsFloats[indices[ii+0] + 2],
|
||||
verticesAsFloats[indices[ii+1] + 0],
|
||||
verticesAsFloats[indices[ii+1] + 1],
|
||||
verticesAsFloats[indices[ii+1] + 2],
|
||||
verticesAsFloats[indices[ii+2] + 0],
|
||||
verticesAsFloats[indices[ii+2] + 1],
|
||||
verticesAsFloats[indices[ii+2] + 2]
|
||||
);
|
||||
}
|
||||
// END DEBUG DEBUG
|
||||
*/
|
||||
|
||||
newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World,
|
||||
indices.GetLength(0), indices, vertices.Count, verticesAsFloats);
|
||||
|
|
|
@ -217,6 +217,10 @@ public static class BulletSimData
|
|||
{
|
||||
|
||||
// Map of collisionTypes to flags for collision groups and masks.
|
||||
// An object's 'group' is the collison groups this object belongs to
|
||||
// An object's 'filter' is the groups another object has to belong to in order to collide with me
|
||||
// A collision happens if ((obj1.group & obj2.filter) != 0) || ((obj2.group & obj1.filter) != 0)
|
||||
//
|
||||
// As mentioned above, don't use the CollisionFilterGroups definitions directly in the code
|
||||
// but, instead, use references to this dictionary. Finding and debugging
|
||||
// collision flag problems will be made easier.
|
||||
|
|
|
@ -128,6 +128,9 @@ Physical and phantom will drop through the terrain
|
|||
LINKSETS
|
||||
======================================================
|
||||
Child prims do not report collisions
|
||||
Allow children of a linkset to be phantom:
|
||||
http://opensim-dev.2196679.n2.nabble.com/Setting-a-single-child-prim-to-Phantom-tp7578513.html
|
||||
Add OS_STATUS_PHANTOM_PRIM to llSetLinkPrimitaveParamsFast.
|
||||
Editing a child of a linkset causes the child to go phantom
|
||||
Move a child prim once when it is physical and can never move it again without it going phantom
|
||||
Offset the center of the linkset to be the geometric center of all the prims
|
||||
|
|
Loading…
Reference in New Issue