/// <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) { garbageMatte = new GarbageMatte(GetComponent <Camera>(), finalMat, transform, garbageMatte); } enableGarbageMatte = true; garbageMatte.LoadData(gsData.garbageMatteData); garbageMatte.ApplyGarbageMatte(); } }
/// <summary> /// Saves the chroma keys used in a file (JSON format). /// </summary> public void SaveData(ChromaKeyData chromaKeyData, GarbageMatte.GarbageMatteData garbageMatteData) { GreenScreenData gsData = new GreenScreenData(); gsData.chromaKeyData = chromaKeyData; gsData.garbageMatteData = garbageMatteData; string dataAsJson = JsonUtility.ToJson(gsData); File.WriteAllText(pathFileConfig, dataAsJson); }