翻译自: http://tsubakit1.hateblo.jp/ 此人是日本Unity的开发者, 经常分享Unity最新的技术。
问题是什么? 如下图, 遮挡不可见。
有很多方法可以解决这个相机问题。例如,使前面的墙透明。同时抬起相机的位置(Cinemachine的Clear Shot),
这一次,在LWRP的GDC中引入了一个有趣的解决方法,让我们试试吧。
从LWRP 5.7开始(Unity2019.1 之后才能看, Unity 2018都是LWRP4.x),Custom Forward Render
您可以使用它。这似乎能够实现覆盖属于特定图层(或绘图类型,着色器路径)的模型的绘制,更改绘图时间或多次绘制。
这次要做的理论是以下内容。
首先设置Custom Forward Rende。
Assets -> Create -> Rendering -> Lightweight Render Pipeline -> Forward Render
在,Forward Render Asset
创造General -> Renderer Type
设置为Custom
General -> Data
中,我们刚刚创建Forward Render Asset
设置Forward Render Asset
的Render Features
在+按钮
按Render Object
选择Filters -> Layer Mask
在选择Player
Overrides
的Material
变化的材料用于剪影显示Overrides
的Depth
,以Depth Test
一Greater
但是,在当前设置下,“玩家身上的东西也会显示为轮廓”。例如,如下图所示,不仅显示了墙壁的轮廓,还显示了枪的轮廓和其他玩家的轮廓,这不是很好。
首先,更改Forward Render Asset的设置,以便“默认情况下不绘制带有Character层的模型”。如果进行以下设置,则仅显示由前向渲染资产绘制的部分。
Forward Render Asset
的Default Layer Mask 排除Player
接下来,在绘制轮廓后,明确显示Player图层的模型。
Forward Render Asset
的Render Features
在+按钮
按Render Object
选择Filters -> Layer Mask
在Player
选择此外, 您还可以展示玩家的轮廓和敌人的不同颜色。在步骤2中为敌人绘制一个轮廓,并将敌人包含在步骤3中绘制的目标中。
视频连接: https://www.youtube.com/watch?v=jqBtaETaNO4
关于LWRP 更多信息: https://unity.com/lightweight-render-pipeline?utm_source=youtube&utm_medium=social&utm_campaign=graphics_global_generalpromo_2019-04-11_gdc19&utm_content=video_intro-lwrp