예제 #1
0
        void OnRenderObject()
        {
#if DO_RENDER_OVERLAY_MESH
            // instead of relying on 'SceneCamera' string comparison, check if the hideflags match.
            // this could probably even just check for one bit match, since chances are that any
            // game view camera isn't going to have hideflags set.
            if ((Camera.current.gameObject.hideFlags & SceneCameraHideFlags) != SceneCameraHideFlags || Camera.current.name != "SceneCamera")
            {
                return;
            }

            if (wireframeMesh != null)
            {
                OverlayMaterial.SetFloat("_Alpha", .3f);
                OverlayMaterial.SetPass(0);
                Graphics.DrawMeshNow(wireframeMesh, transform.localToWorldMatrix);
            }

            if (vertexMesh != null)
            {
                VertexBillboardMaterial.SetPass(0);
                Graphics.DrawMeshNow(vertexMesh, transform.localToWorldMatrix);
            }
#endif
        }
예제 #2
0
        public void SetBlendMode(BlendMode blendMode)
        {
            if (blendMode == BlendMode.Normal)
            {
                OverlayMaterial.SetFloat("_IsNormalBlendMode", 1);
            }
            else
            {
                OverlayMaterial = BlendMaterials.GetMaterial(ObjectType.ScreenOverlay, blendMode: blendMode, shader: OverlayShader);
                OverlayMaterial.SetFloat("_IsNormalBlendMode", 0);
            }

            _blendMode      = blendMode;
            _overlayTexture = OverlayTexture;
            _tintColor      = TintColor;
        }