Example #1
0
    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);
            }
        }
    }
Example #2
0
    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);
            }
        }
    }