Universal RPで壁の後ろにいるオブジェクトを表示する

Universal RPでオブジェクトの後ろにいるオブジェクトを表示します。

| before       |after |
|-----------------|------------------|
|![スクリーンショット 2020-05-03 15.56.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/1a727e36-13a9-0cc4-fea3-f48141be907c.png)|![スクリーンショット 2020-05-03 15.57.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/2f7aa78f-187d-31bc-dc4e-d2609afc825f.png)|

まずは壁の後ろでも表示したいオブジェクトにレイヤーを振ります（例ではCharacter）
![スクリーンショット 2020-05-03 14.50.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/d85713bf-ead2-9305-ab24-914ee14e91a2.png)

Create>Rendering>UniversalRenderPipeline>PipelineAsset
でパイプラインアセットを作ります
![スクリーンショット 2020-05-03 14.48.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/128886ab-0861-5782-444c-496e5293a6c5.png)

UniversalRenderiPelineAsset
UniversalRenderiPelineAsset_Renderer
の２つが生成され、
![スクリーンショット 2020-05-03 14.48.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/f7663400-3750-1850-458a-c8159bba018b.png)

UniversalRenderiPelineAsset
の中には既に
UniversalRenderiPelineAsset_Renderer
がセットされています
![スクリーンショット 2020-05-03 14.53.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/cda975b1-adb9-8f42-f67f-177e3d1af114.png)

これを
ProjectSettings>Graphics>ScriptableRenderPipelineSettings
に入れます
![スクリーンショット 2020-05-03 14.52.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/4aecf8c3-c9eb-e74a-a219-c854aad0b376.png)

UniversalRenderiPelineAsset_Renderer
を選択した状態で
AddRendererFeature>RenderObjects
を選択し、
![スクリーンショット 2020-05-03 14.54.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/45eec740-f062-cda1-b2b2-ffedc6e4fccc.png)

NameをMaskとします。
![スクリーンショット 2020-05-03 15.01.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/217809e5-20ee-89d8-ce1d-7a9ef0afac96.png)

同様にCharacterも作ります。

![スクリーンショット 2020-05-03 14.59.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/8f8beb09-a250-9a9f-4608-ce5ba857322d.png)

Mas用のマテリアルを作ります
![スクリーンショット 2020-05-03 15.04.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/93ae40d5-1147-c9d3-f2a9-b1492ada361a.png)
![スクリーンショット 2020-05-03 15.04.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/162b3bbf-2925-f678-5def-7887c95ef036.png)
![スクリーンショット 2020-05-03 15.08.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/c7a09126-780c-c65a-7ff2-156b60048385.png)

先ほど追加した
RenderPipelineRenderer>Mask>Overrides>Material
のところに作ったマテリアルを入れ、**Depth TestをGreater**にします
![スクリーンショット 2020-05-03 15.18.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/e37a0a86-fc6b-0441-ce51-41b6dcd6954e.png)

完成です
![gif_animation_002.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/ce79869e-caa5-74e6-a074-4611d4457105.gif)

ShaderGraphで作ったシェーダーのマテリアルに変更することも可能です

![スクリーンショット 2020-05-03 16.20.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/ff591b47-4077-b5b4-9f76-95b28f7fa85d.png)![スクリーンショット 2020-05-03 16.39.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/aacd144c-7209-5463-f95f-6967e8c288cf.png)






従来版 壁の後ろにいるオブジェクトを表示する は[こちら](https://qiita.com/ELIXIR/items/b6f9aea356d915b756f3)
[こちらのblog](https://medium.com/@porter.johnross/unity-custom-rendering-and-improved-outlines-in-the-universal-render-pipeline-506d5f3ce496)からLINKされている[GitHub](https://github.com/Unity-Technologies/UniversalRenderingExamples)を参考にさせていただきました。