예제 #1
0
        void OnWillRenderObject()
        {
#if UNITY_EDITOR
            // Need to set the light probe usage for legacy (< Decalicious 1.4) decals,
            // only do it in editor to not affect game performance.
            MeshRenderer mr = GetComponent <MeshRenderer>();
            mr.lightProbeUsage = LightProbeUsage.BlendProbes;
#endif

            if (Camera.current == null)
            {
                return;
            }

            DecaliciousRenderer renderer = Camera.current.GetComponent <DecaliciousRenderer>();
            if (renderer == null)
            {
                renderer = Camera.current.gameObject.AddComponent <DecaliciousRenderer>();
            }
            if (!renderer.isActiveAndEnabled)
            {
                return;
            }

            if (Fade <= 0.0f)
            {
                return;
            }

            if (Material == null)
            {
                return;
            }

            if (Material == null)
            {
                RenderMode = DecalRenderMode.Invalid;
            }
            else if (Material.shader == _deferredShader)
            {
                RenderMode = DecalRenderMode.Deferred;
            }
            else if (Material.shader == _unlitShader)
            {
                RenderMode = DecalRenderMode.Unlit;
            }
            else
            {
                RenderMode = DecalRenderMode.Invalid;
            }

#if UNITY_5_6_OR_NEWER
            Material.enableInstancing = renderer.UseInstancing;
#endif
            renderer.Add(this, LimitTo);
        }
예제 #2
0
        // Token: 0x060034C0 RID: 13504 RVA: 0x000E6608 File Offset: 0x000E4808
        private void OnWillRenderObject()
        {
            if (this.Fade <= 0f)
            {
                return;
            }
            if (this.Material == null)
            {
                return;
            }
            if (Camera.current == null)
            {
                return;
            }
            if (this.Material == null)
            {
                this.RenderMode = Decal.DecalRenderMode.Invalid;
            }
            else if (this.Material.shader == this._deferredShader)
            {
                this.RenderMode = Decal.DecalRenderMode.Deferred;
            }
            else if (this.Material.shader == this._unlitShader)
            {
                this.RenderMode = Decal.DecalRenderMode.Unlit;
            }
            else
            {
                this.RenderMode = Decal.DecalRenderMode.Invalid;
            }
            DecaliciousRenderer decaliciousRenderer = Camera.current.GetComponent <DecaliciousRenderer>();

            if (decaliciousRenderer == null)
            {
                decaliciousRenderer = Camera.current.gameObject.AddComponent <DecaliciousRenderer>();
            }
            this.Material.enableInstancing = decaliciousRenderer.UseInstancing;
            decaliciousRenderer.Add(this, this.LimitTo);
        }