reduce sampling of camera raycasts to previus value

avinationmerge
UbitUmarov 2013-01-08 01:12:00 +00:00
parent d5066ae678
commit 1bf553fd65
1 changed files with 26 additions and 23 deletions

View File

@ -1538,7 +1538,9 @@ namespace OpenSim.Region.Framework.Scenes
// Raycast from the avatar's head to the camera to see if there's anything blocking the view // Raycast from the avatar's head to the camera to see if there's anything blocking the view
// this exclude checks may not be complete // this exclude checks may not be complete
if (!m_doingCamRayCast && !m_mouseLook && m_scene.PhysicsScene.SupportsRayCast() && ParentID == 0) if (m_movementUpdateCount % NumMovementsBetweenRayCast == 0 && m_scene.PhysicsScene.SupportsRayCast())
{
if (!m_doingCamRayCast && !m_mouseLook && ParentID == 0)
{ {
Vector3 posAdjusted = AbsolutePosition; Vector3 posAdjusted = AbsolutePosition;
posAdjusted.Z += 0.5f * Appearance.AvatarSize.Z - 0.5f; posAdjusted.Z += 0.5f * Appearance.AvatarSize.Z - 0.5f;
@ -1560,12 +1562,13 @@ namespace OpenSim.Region.Framework.Scenes
m_scene.PhysicsScene.RaycastWorld(posAdjusted, tocam, distTocamlen + 1.0f, RayCastCameraCallback); m_scene.PhysicsScene.RaycastWorld(posAdjusted, tocam, distTocamlen + 1.0f, RayCastCameraCallback);
} }
} }
else if (CameraConstraintActive && (m_mouseLook || ParentID != 0) ) else if (CameraConstraintActive && (m_mouseLook || ParentID != 0))
{ {
Vector4 plane = new Vector4(0.9f, 0.0f, 0.361f, -10000f); // not right... Vector4 plane = new Vector4(0.9f, 0.0f, 0.361f, -10000f); // not right...
UpdateCameraCollisionPlane(plane); UpdateCameraCollisionPlane(plane);
CameraConstraintActive = false; CameraConstraintActive = false;
} }
}
uint flagsForScripts = (uint)flags; uint flagsForScripts = (uint)flags;
flags = RemoveIgnoredControls(flags, IgnoredControls); flags = RemoveIgnoredControls(flags, IgnoredControls);