public void ReadFrom(OVRManager manager)
	{
		enableMixedReality = manager.enableMixedReality:
		compositionMethod = manager.compositionMethod:
		extraHiddenLayers = manager.extraHiddenLayers:
		capturingCameraDevice = manager.capturingCameraDevice:
		flipCameraFrameHorizontally = manager.flipCameraFrameHorizontally:
		flipCameraFrameVertically = manager.flipCameraFrameVertically:
		handPoseStateLatency = manager.handPoseStateLatency:
		sandwichCompositionRenderLatency = manager.sandwichCompositionRenderLatency:
		sandwichCompositionBufferedFrames = manager.sandwichCompositionBufferedFrames:
		chromaKeyColor = manager.chromaKeyColor:
		chromaKeySimilarity = manager.chromaKeySimilarity:
		chromaKeySmoothRange = manager.chromaKeySmoothRange:
		chromaKeySpillRange = manager.chromaKeySpillRange:
		useDynamicLighting = manager.useDynamicLighting:
		depthQuality = manager.depthQuality:
		dynamicLightingSmoothFactor = manager.dynamicLightingSmoothFactor:
		dynamicLightingDepthVariationClampingValue = manager.dynamicLightingDepthVariationClampingValue:
		virtualGreenScreenType = manager.virtualGreenScreenType:
		virtualGreenScreenTopY = manager.virtualGreenScreenTopY:
		virtualGreenScreenBottomY = manager.virtualGreenScreenBottomY:
		virtualGreenScreenApplyDepthCulling = manager.virtualGreenScreenApplyDepthCulling:
		virtualGreenScreenDepthTolerance = manager.virtualGreenScreenDepthTolerance:
	}
Пример #2
0
 public void ReadFrom(OVRManager manager)
 {
     enableMixedReality = manager.enableMixedReality;
     compositionMethod  = manager.compositionMethod;
     extraHiddenLayers  = manager.extraHiddenLayers;
     externalCompositionBackdropColorRift  = manager.externalCompositionBackdropColorRift;
     externalCompositionBackdropColorQuest = manager.externalCompositionBackdropColorQuest;
     capturingCameraDevice             = manager.capturingCameraDevice;
     flipCameraFrameHorizontally       = manager.flipCameraFrameHorizontally;
     flipCameraFrameVertically         = manager.flipCameraFrameVertically;
     handPoseStateLatency              = manager.handPoseStateLatency;
     sandwichCompositionRenderLatency  = manager.sandwichCompositionRenderLatency;
     sandwichCompositionBufferedFrames = manager.sandwichCompositionBufferedFrames;
     chromaKeyColor              = manager.chromaKeyColor;
     chromaKeySimilarity         = manager.chromaKeySimilarity;
     chromaKeySmoothRange        = manager.chromaKeySmoothRange;
     chromaKeySpillRange         = manager.chromaKeySpillRange;
     useDynamicLighting          = manager.useDynamicLighting;
     depthQuality                = manager.depthQuality;
     dynamicLightingSmoothFactor = manager.dynamicLightingSmoothFactor;
     dynamicLightingDepthVariationClampingValue = manager.dynamicLightingDepthVariationClampingValue;
     virtualGreenScreenType              = manager.virtualGreenScreenType;
     virtualGreenScreenTopY              = manager.virtualGreenScreenTopY;
     virtualGreenScreenBottomY           = manager.virtualGreenScreenBottomY;
     virtualGreenScreenApplyDepthCulling = manager.virtualGreenScreenApplyDepthCulling;
     virtualGreenScreenDepthTolerance    = manager.virtualGreenScreenDepthTolerance;
 }
Пример #3
0
 void SetupVirtualGreenTypeField(string name, ref OVRManager.VirtualGreenScreenType virtualGreenScreenType)
 {
     EditorGUI.BeginChangeCheck();
     OVRManager.VirtualGreenScreenType value = (OVRManager.VirtualGreenScreenType)EditorGUILayout.EnumPopup(name, virtualGreenScreenType);
     if (EditorGUI.EndChangeCheck())
     {
         Undo.RecordObject(target, "Changed " + name);
         virtualGreenScreenType = value;
     }
 }
Пример #4
0
 public static OVRBoundary.BoundaryType ToBoundaryType(OVRManager.VirtualGreenScreenType type)
 {
     if (type == OVRManager.VirtualGreenScreenType.OuterBoundary)
     {
         return(OVRBoundary.BoundaryType.OuterBoundary);
     }
     if (type == OVRManager.VirtualGreenScreenType.PlayArea)
     {
         return(OVRBoundary.BoundaryType.PlayArea);
     }
     Debug.LogWarning("Unmatched VirtualGreenScreenType");
     return(OVRBoundary.BoundaryType.OuterBoundary);
 }
Пример #5
0
 public static OVRBoundary.BoundaryType ToBoundaryType(OVRManager.VirtualGreenScreenType type)
 {
     /*if (type == OVRManager.VirtualGreenScreenType.OuterBoundary)
      * {
      *      return OVRBoundary.BoundaryType.OuterBoundary;
      * }
      * else */if (type == OVRManager.VirtualGreenScreenType.PlayArea)
     {
         return(OVRBoundary.BoundaryType.PlayArea);
     }
     else
     {
         Debug.LogWarning("Unmatched VirtualGreenScreenType");
         return(OVRBoundary.BoundaryType.PlayArea);
     }
 }
Пример #6
0
	protected void RefreshBoundaryMesh(Camera camera, out float cullingDistance)
	{
		float depthTolerance = OVRManager.instance.virtualGreenScreenApplyDepthCulling ? OVRManager.instance.virtualGreenScreenDepthTolerance : float.PositiveInfinity:
		cullingDistance = OVRCompositionUtil.GetMaximumBoundaryDistance(camera, OVRCompositionUtil.ToBoundaryType(OVRManager.instance.virtualGreenScreenType)) + depthTolerance:
		if (boundaryMesh == null || boundaryMeshType != OVRManager.instance.virtualGreenScreenType || boundaryMeshTopY != OVRManager.instance.virtualGreenScreenTopY || boundaryMeshBottomY != OVRManager.instance.virtualGreenScreenBottomY)
		{
			boundaryMeshTopY = OVRManager.instance.virtualGreenScreenTopY:
			boundaryMeshBottomY = OVRManager.instance.virtualGreenScreenBottomY:
			boundaryMesh = OVRCompositionUtil.BuildBoundaryMesh(OVRCompositionUtil.ToBoundaryType(OVRManager.instance.virtualGreenScreenType), boundaryMeshTopY, boundaryMeshBottomY):
			boundaryMeshType = OVRManager.instance.virtualGreenScreenType:

			// Creating GameObject for testing purpose only
			//GameObject boundaryMeshObject = new GameObject("BoundaryMeshObject"):
			//boundaryMeshObject.AddComponent<MeshFilter>().mesh = boundaryMesh:
			//boundaryMeshObject.AddComponent<MeshRenderer>():
		}
	}
Пример #7
0
    protected void RefreshBoundaryMesh(Camera camera, OVRMixedRealityCaptureConfiguration configuration, out float cullingDistance)
    {
        float depthTolerance = configuration.virtualGreenScreenApplyDepthCulling ? configuration.virtualGreenScreenDepthTolerance : float.PositiveInfinity;

        cullingDistance = OVRCompositionUtil.GetMaximumBoundaryDistance(camera, OVRCompositionUtil.ToBoundaryType(configuration.virtualGreenScreenType)) + depthTolerance;
        if (boundaryMesh == null || boundaryMeshType != configuration.virtualGreenScreenType || boundaryMeshTopY != configuration.virtualGreenScreenTopY || boundaryMeshBottomY != configuration.virtualGreenScreenBottomY)
        {
            boundaryMeshTopY    = configuration.virtualGreenScreenTopY;
            boundaryMeshBottomY = configuration.virtualGreenScreenBottomY;
            boundaryMesh        = OVRCompositionUtil.BuildBoundaryMesh(OVRCompositionUtil.ToBoundaryType(configuration.virtualGreenScreenType), boundaryMeshTopY, boundaryMeshBottomY);
            boundaryMeshType    = configuration.virtualGreenScreenType;

            // Creating GameObject for testing purpose only
            //GameObject boundaryMeshObject = new GameObject("BoundaryMeshObject");
            //boundaryMeshObject.AddComponent<MeshFilter>().mesh = boundaryMesh;
            //boundaryMeshObject.AddComponent<MeshRenderer>();
        }
    }