void Update() { Ray mainR = new Ray(transform.position, (Listener.transform.position - transform.position)); Debug.DrawRay(transform.position, (Listener.transform.position - transform.position), Color.green); RaycastHit occlusion; if (Vector3.Distance(Listener.transform.position, transform.position) <= SoundDistance) { MainSound.volume = Volume; if (Physics.Raycast(mainR, out occlusion)) { oclussed = occlusion.collider.gameObject.GetComponent <MaterialSound>(); if (oclussed) { WallFX.cutoffFrequency = System.Convert.ToInt32(oclussed.SMaterial()[0]); WallFX.lowpassResonanceQ = System.Convert.ToInt32(oclussed.SMaterial()[1]); } else { WallFX.cutoffFrequency = (22000); } } else { WallFX.cutoffFrequency = (22000); } } else { MainSound.volume = 0; } }