public static void EnableOutlineFilter() { string[] layerNames = new string[] { "Scene" }; int mask = LayerMask.GetMask(layerNames); string[] textArray2 = new string[] { "Particles" }; int num2 = LayerMask.GetMask(textArray2); foreach (Camera camera in UnityEngine.Object.FindObjectsOfType <Camera>()) { if ((camera.cullingMask & mask) != 0) { OutlineFilter filter = camera.gameObject.AddComponent <OutlineFilter>(); camera.cullingMask &= ~num2; Camera camera2 = new GameObject { transform = { parent = camera.transform, localPosition = Vector3.zero, localRotation = Quaternion.identity }, name = camera.name + " particles" }.AddComponent <Camera>(); camera2.aspect = camera.aspect; camera2.backgroundColor = camera.backgroundColor; camera2.nearClipPlane = camera.nearClipPlane; camera2.farClipPlane = camera.farClipPlane; camera2.fieldOfView = camera.fieldOfView; camera2.orthographic = camera.orthographic; camera2.orthographicSize = camera.orthographicSize; camera2.pixelRect = camera.pixelRect; camera2.rect = camera.rect; camera2.clearFlags = CameraClearFlags.Nothing; camera2.cullingMask = num2; camera2.enabled = false; filter.particlesCam = camera2; filter.UpdateFilterType(false); } } }
public static void EnableOutlineFilter() { int mask = LayerMask.GetMask(new string[] { "Scene" }); int mask2 = LayerMask.GetMask(new string[] { "Particles" }); Camera[] array = Object.FindObjectsOfType <Camera>(); for (int i = 0; i < array.Length; i++) { Camera camera = array[i]; if ((camera.cullingMask & mask) != 0) { OutlineFilter outlineFilter = camera.gameObject.AddComponent <OutlineFilter>(); camera.cullingMask &= ~mask2; Camera camera2 = new GameObject { transform = { parent = camera.transform, localPosition = Vector3.zero, localRotation = Quaternion.identity }, name = camera.name + " particles" }.AddComponent <Camera>(); camera2.aspect = camera.aspect; camera2.backgroundColor = camera.backgroundColor; camera2.nearClipPlane = camera.nearClipPlane; camera2.farClipPlane = camera.farClipPlane; camera2.fieldOfView = camera.fieldOfView; camera2.orthographic = camera.orthographic; camera2.orthographicSize = camera.orthographicSize; camera2.pixelRect = camera.pixelRect; camera2.rect = camera.rect; camera2.clearFlags = CameraClearFlags.Nothing; camera2.cullingMask = mask2; camera2.enabled = false; outlineFilter.particlesCam = camera2; outlineFilter.UpdateFilterType(false); } } }