// Update the hidden properties based on the exposed ones. void UpdateHiddenProperties(Material material) { // Color balance var temp = material.GetFloat("_Temperature"); var tint = material.GetFloat("_Tint"); material.SetVector("_ColorBalance", ProcAmp.CalculateColorBalance(temp, tint)); // Key color var ycgco = ProcAmp.RGB2YCgCo(material.GetColor("_KeyColor")); material.SetVector("_KeyCgCo", new Vector2(ycgco.y, ycgco.z)); // Trimming var trim = material.GetVector("_Trim"); material.SetVector("_TrimParams", new Vector4( trim.x, trim.w, 1 / (1 - trim.x - trim.z), 1 / (1 - trim.y - trim.w) )); if (material.GetFloat("_Opacity") == 1 && material.GetFloat("_Keying") == 0) { // Opaque material.SetInt("_SrcBlend", (int)BlendMode.One); material.SetInt("_DstBlend", (int)BlendMode.Zero); material.SetInt("_ZWrite", 1); material.SetOverrideTag("RenderType", ""); material.renderQueue = -1; } else { // Transparent material.SetInt("_SrcBlend", (int)BlendMode.SrcAlpha); material.SetInt("_DstBlend", (int)BlendMode.OneMinusSrcAlpha); material.SetInt("_ZWrite", 0); material.SetOverrideTag("RenderType", "Transparent"); material.renderQueue = (int)RenderQueue.Transparent; } }
private void Start() { pa = GetComponent <ProcAmp>(); isInDebugMode = pa.isInDebugMode; }