示例#1
0
 /// <summary>
 /// Sets up the greenscreen with saved data.
 /// Used exclusively by ZEDSteamVRControllerManager to make sure this happens after controllers are set up.
 /// Otherwise, included logic gets set elsewhere in different places.
 /// </summary>
 public void PadReady()
 {
     if (garbageMatteData.numberMeshes != 0 && garbageMatte != null)
     {
         if (enableGarbageMatte)
         {
             garbageMatte = new GarbageMatte(GetComponent <Camera>(), finalMat, transform, garbageMatte);
         }
         garbageMatte.LoadData(garbageMatteData);
     }
 }
    /// <summary>
    /// Fills the current chroma keys with the data from a file.
    /// </summary>
    public void LoadGreenScreenData(bool forcegarbagemate = false)
    {
        GreenScreenData gsData;

        if (LoadData(out gsData))
        {
            ChromaKeyData chromaKeyData = gsData.chromaKeyData;
            garbageMatteData = gsData.garbageMatteData;

            erosion = chromaKeyData.erosion;
            sigma_  = chromaKeyData.blurPower;
            numberBlurIterations = chromaKeyData.numberBlurIterations;
            whiteClip            = chromaKeyData.whiteClip;
            blackClip            = chromaKeyData.blackClip;
            spill = chromaKeyData.spill;

            keyColors  = chromaKeyData.chromaKeys.color;
            smoothness = chromaKeyData.chromaKeys.smoothness;
            range      = chromaKeyData.chromaKeys.range;
        }

        UpdateShader();

        if (forcegarbagemate && garbageMatte != null)
        {
            if (!garbageMatte.IsInit && cameraManager != null)
            {
                garbageMatte = new GarbageMatte(cameraManager, finalMat, transform, garbageMatte);
            }
            enableGarbageMatte = true;
            garbageMatte.LoadData(gsData.garbageMatteData);
            garbageMatte.ApplyGarbageMatte();
        }
    }