void Update() { bool containsCharacter = false; foreach (Character character in GameController.instance.party.Where(c => c.controller)) { foreach (BoxCollider collider in colliders) { if (NeverdawnUtility.PointInOABB(character.position, collider)) { containsCharacter = true; } } } if (prevContainsCharacter != containsCharacter) { solidRenderer.ForEach(r => r.enabled = !containsCharacter); //targetAlpha = containsCharacter ? minAlpha : 1.0f; //currentAlpha = materials[0].color.a; //foreach (Material material in materials) //{ // if (containsCharacter) // { // material.renderQueue = 3001; // } // else // { // material.renderQueue = 3000; // } //} lerp = 0.0f; } //if (lerp <= 1.0f) //{ // lerp += Time.deltaTime * fadeSpeed; // foreach (Material material in materials) // { // Color color = material.color; // color.a = Mathf.Lerp(currentAlpha, targetAlpha, lerp); // if(color.a >= 0.99f) // { // shadowRenderer.ForEach(r => r.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On); // solidRenderer.ForEach(r => r.enabled = false); // } // else // { // shadowRenderer.ForEach(r => r.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly); // solidRenderer.ForEach(r => r.enabled = true); // } // //material.SetInt("_ZWrite", color.a < 0.5f ? 0 : 1); // material.color = color; // } //} prevContainsCharacter = containsCharacter; }