当前位置:   article > 正文

URP案例分析笔记(3DSkybox)_urp skybox

urp skybox

为了简化分析流程,排除无关的影响因子,先关闭一些无关的功能。关闭所有相机的阴影和后处理,RenderPipeline的SRPBatch、MSAA还有Renderer的NativeRenderPass,因为这些东西会在FrameDebug中增加额外的步骤。

然后打开FramwDebug,可以观察到整个流程总共有三个相机的渲染组成。

三个相机的渲染顺序是Main Camera -> City Skybox Camera -> Planet Skybox Camera,这个渲染顺序是由Main Camera的相机堆栈设置的

一、Main Camera

这个相机使用的是BaseRenderer,这个Renderer开启了Stencil设置,对物体进行Stencil标记。

二、City Skybox Camera

这个相机使用的是SkyboxRenderer,这个Renderer判断Stenil缓存为0的才渲染,而BaseRenderer场景中的场景物件的stencil缓存为1,所以Main Camera绘制的场景物件的位置SkyboxRenderer将不会渲染。正是这样所以场景近处的模型虽然先渲染,也不会被后面相机渲染出来的场景物所覆盖。

三、Planet Skybox Camera

这个相机与City Skybox Camera一样,所以就不写了


这个案例主要目的是演示CameraStacking的一些功能,让近处的物体可以通过控制stencil的方式不被后面相机的物体所覆盖。实际上按正常做法从先渲远处相机再渲近处相机不用stencil也可以实现同样效果。把Planet Skybox Camera设置为BaseCamera,把City Skybox Camera和Planet Skybox Camera设置为OverlayCamera

再关闭Stencil相关的设置,效果和原来的一样

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/127858
推荐阅读
相关标签
  

闽ICP备14008679号