太长不看版
CameraData.isSceneViewCamera
CameraData.isPreviewCamera
UniversalRenderPipelineCore.IsGameCamera(Camera camera)
思路
没查到相关的文档或者问答,于是决定自己翻一翻urp的代码,因为进入srp时代后unity的所有渲染都是可见的,可以看到相关代码~
我想到在scene view可以选择开关后处理和灯光等功能,就在post processing pass的Execute函数打了个断点,发现关掉post processing的对勾后确实不执行这个函数,于是继续向上扒,看看是在哪里决定它是否进入渲染队列的。
发现是在ScriptableRenderer.EnqueuePass函数执行的,最后在ForwardRenderer里瞥到了这个~~于是就有了开头的答案
希望这个思路能让大家以后举一反三~
关键词
如何让render feature只在game view / scene view 生效
unity, urp, srp, camera