diff options
author | chai <chaifix@163.com> | 2022-04-22 19:24:15 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-22 19:24:15 +0800 |
commit | ded822e98e8eda49618d17e53407b0df1896e539 (patch) | |
tree | d7f09eafe52f7adb948889e459e900c360dbbdec /SurvivalTest/Assets/Scripts/Test/TestSceneViewShaderHelper.cs | |
parent | c7de0419a8924ae7333bcaed39e797d7c9fc1e69 (diff) |
* rename AlienSurvival project to SurvivalTest
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Test/TestSceneViewShaderHelper.cs')
-rw-r--r-- | SurvivalTest/Assets/Scripts/Test/TestSceneViewShaderHelper.cs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Test/TestSceneViewShaderHelper.cs b/SurvivalTest/Assets/Scripts/Test/TestSceneViewShaderHelper.cs new file mode 100644 index 0000000..fca1bff --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Test/TestSceneViewShaderHelper.cs @@ -0,0 +1,46 @@ +using System; +using UnityEngine; + +[ExecuteInEditMode] +public class TestSceneViewShaderHelper : MonoBehaviour +{ +#if UNITY_EDITOR + private int _isSceneViewID = Shader.PropertyToID("_IsSceneView"); + + public void OnEnable() + { + Camera.onPreRender += SetIfSceneViewCamera; + } + + public void OnDisable() + { + Camera.onPreRender -= SetIfSceneViewCamera; + } + + public void SetIfSceneViewCamera(Camera cam) + { + // Scene View camera is named "SceneCamera" + if (cam.gameObject.name == "SceneCamera") + { + Shader.EnableKeyword("SCENE_VIEW"); + Shader.SetGlobalFloat(_isSceneViewID, 1f); + } + // Inspector preview for materials, models, and prefabs is named "Preview Scene Camera" + // else if (cam.gameObject.name == "Preview Scene Camera") + // { + // Shader.EnableKeyword("SCENE_VIEW"); + // Shader.SetGlobalFloat(_isSceneViewID, 2f); + // } + // Otherwise this is a game view or other user camera + else + { + Shader.DisableKeyword("SCENE_VIEW"); + Shader.SetGlobalFloat(_isSceneViewID, 0f); + } + + // You can double check the camera names if something breaks in the future + // Debug.Log(cam); + } +#endif +} +
\ No newline at end of file |