private void SetAttachedCameraIndex() { if (CameraIndex == DualCameraIndex.LEFT) { if (IsForCalibration) { AttachedCameraIndex = DualCameraIndex.RIGHT; } else { AttachedCameraIndex = DualCameraIndex.LEFT; } } else { if (IsForCalibration) { AttachedCameraIndex = DualCameraIndex.LEFT; } else { AttachedCameraIndex = DualCameraIndex.RIGHT; } } }
/// <summary> /// Mirror the uv because the origin point of images of Unity is different from the source image. /// </summary> /// <param name="eye"></param> private void SetUV(DualCameraIndex eye) { Vector2[] srcUV = planeMesh.uv; Vector2[] dstUV = new Vector2[srcUV.Length]; for (int i = 0; i < srcUV.Length; i++) { dstUV[i] = new Vector2(srcUV[i].x, srcUV[srcUV.Length - i - 1].y); } planeMesh.uv = dstUV; GetComponent <MeshFilter>().sharedMesh = planeMesh; }
private bool CheckLayers(DualCameraIndex cameraIndex) { if (ViveSR_DualCameraRig.Instance == null || ViveSR_DualCameraRig.Instance == null) { return(false); } string layername = cameraIndex == DualCameraIndex.LEFT ? LefteyeLayerName : RighteyeLayerName; int mask = LayerMask.GetMask(layername); int layer = LayerMask.NameToLayer(layername); Camera cam = cameraIndex == DualCameraIndex.LEFT ? ViveSR_DualCameraRig.Instance.DualCameraLeft : ViveSR_DualCameraRig.Instance.DualCameraRight; ViveSR_TrackedCamera trackedCam = cameraIndex == DualCameraIndex.LEFT ? ViveSR_DualCameraRig.Instance.TrackedCameraLeft : ViveSR_DualCameraRig.Instance.TrackedCameraRight; ViveSR_TrackedCamera trackedCamAnother = cameraIndex == DualCameraIndex.LEFT ? ViveSR_DualCameraRig.Instance.TrackedCameraRight : ViveSR_DualCameraRig.Instance.TrackedCameraLeft; if (cam.cullingMask != mask) { return(false); } if (trackedCam.gameObject.layer != layer) { return(false); } if (trackedCam.Anchor.gameObject.layer != layer) { return(false); } if (trackedCam.DepthImageOccluder.gameObject.layer != layer) { return(false); } if (trackedCam.ImagePlane.gameObject.layer != layer) { return(false); } if (trackedCamAnother.ImagePlaneCalibration.gameObject.layer != layer) { return(false); } return(true); }
private void UpdateSeeThroCamLayers(DualCameraIndex cameraIndex) { string layername = cameraIndex == DualCameraIndex.LEFT ? LefteyeLayerName : RighteyeLayerName; int mask = LayerMask.GetMask(layername); int layer = LayerMask.NameToLayer(layername); ViveSR_DualCameraRig prefabRig = PrefabUtility.GetCorrespondingObjectFromSource(ViveSR_DualCameraRig.Instance) as ViveSR_DualCameraRig; Camera cam = cameraIndex == DualCameraIndex.LEFT ? prefabRig.DualCameraLeft : prefabRig.DualCameraRight; ViveSR_TrackedCamera trackedCam = cameraIndex == DualCameraIndex.LEFT ? prefabRig.TrackedCameraLeft : prefabRig.TrackedCameraRight; ViveSR_TrackedCamera trackedCamAnother = cameraIndex == DualCameraIndex.LEFT ? prefabRig.TrackedCameraRight : prefabRig.TrackedCameraLeft; cam.cullingMask = mask; trackedCam.gameObject.layer = layer; trackedCam.Anchor.gameObject.layer = layer; trackedCam.ImagePlane.gameObject.layer = layer; trackedCamAnother.ImagePlaneCalibration.gameObject.layer = layer; }