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 }
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; }