Ejemplo n.º 1
0
        private void SetupCBSRP()
        {
#if UNITY_2018_1_OR_NEWER && UNITY_POST_PROCESSING_STACK_V2 && SSAA_HDRP
            // setup post processing on internal camera

            // get the first empty render layer
#if UNITY_EDITOR
            MadGoatSSAA_Utils.GrabRenderLayer();
#endif
            gameObject.layer = LayerMask.NameToLayer("SSAA_RENDER");

            PostProcessLayer pl;
            SphereCollider   trigger;

            if ((pl = GetComponent <PostProcessLayer>()) == null)
            {
                pl               = gameObject.AddComponent <PostProcessLayer>();
                pl.volumeLayer   = 1 << LayerMask.NameToLayer("SSAA_RENDER");
                pl.volumeTrigger = transform;
            }
            if ((PostVolume = GetComponent <PostProcessVolume>()) == null)
            {
                PostVolume          = gameObject.AddComponent <PostProcessVolume>();
                PostVolume.isGlobal = false;
            }

            if (!PostVolume.sharedProfile)
            {
                PostVolume.sharedProfile = ScriptableObject.CreateInstance <PostProcessProfile>();
            }
            if (PostVolume.sharedProfile.settings.Count == 0)
            {
                PostVolume.sharedProfile.AddSettings <SsaaSamplingUber>();
                Debug.Log("z");
            }

            if ((trigger = gameObject.GetComponent <SphereCollider>()) == null)
            {
                trigger           = gameObject.AddComponent <SphereCollider>();
                trigger.isTrigger = true;
                trigger.radius    = 0.0001f;
            }
            // determine if flipping is required? HDRP
#endif
        }
Ejemplo n.º 2
0
        private void SetupSRPCB()
        {
#if UNITY_2018_1_OR_NEWER && UNITY_POST_PROCESSING_STACK_V2 && (SSAA_HDRP || SSAA_LWRP)
            // Setup SRP CB
            processVolumeObject = new GameObject("RenderCameraObject");
            processVolumeObject.transform.SetParent(transform);
            processVolumeObject.transform.position = Vector3.zero;
            processVolumeObject.transform.rotation = new Quaternion(0, 0, 0, 0);
            processVolumeObject.hideFlags          = HideFlags.HideInHierarchy | HideFlags.HideInInspector;

            processVolume = processVolumeObject.AddComponent <PostProcessVolume>();
            processVolume.sharedProfile = ScriptableObject.CreateInstance <PostProcessProfile>();
            processVolume.sharedProfile.AddSettings <SsaaVRSamplingUber>();
            processVolume.isGlobal = true;

            // get the first empty render layer
#if UNITY_EDITOR
            MadGoatSSAA_Utils.GrabRenderLayer();
#endif
            oldPostLayer = GetComponent <PostProcessLayer>().volumeLayer;
            GetComponent <PostProcessLayer>().volumeLayer |= 1 << LayerMask.NameToLayer("SSAA_RENDER");
            processVolumeObject.layer = LayerMask.NameToLayer("SSAA_RENDER");
#endif
        }