유니티 URP 에서 custom render passes를 사용하여 아웃라인 렌더링하기

반응형

유니티 URP 에서 custom render passes를 사용하여 아웃라인 렌더링하기

URP의 custom render passes와 custom shader를 사용하여 캐릭터의 아웃라인을 렌더링하는방법이다. 유니티에서 제공하는 샘플 커스텀 쉐이더(ToonBasicOutline.shader)를 사용하였다.

 

gameobject layer

1)씬에 아웃라인을 렌더링할 캐릭터 및 게임오브젝트를 추가한다.

 

2)게임 오브젝트의 재질을 설정한다. 예에서 URP의 Lit 쉐이더를 사용하는 재질을 설정하였다.

 

3)게임 오브젝트의 레이어를 설정한다. 새로운 레이어를 추가하려면 인스펙터에서 layer의 add layer로 이동한다.

 

4)새로운 레이어를 추가하고 게임오브젝트에 해당 레이어를 설정한다.

 

custom shader, material

5)ToonBasicOutline 쉐이더를 프로젝트에 임포트한다.

https://github.com/Unity-Technologies/UniversalRenderingExamples/tree/master/Assets/_CompletedDemos/ToonOutlinePostprocessCompleted/Shaders

 

6)이 쉐이더를 사용하는 새로운 재질을 생성한다. 

 

7)UPR 프로젝트에서 project settings의 graphics로이동한다. scriptable render pipeline settings 하단에 위치한 UPR 에셋을 선택한다.

 

8)새로운 렌더러를 추가하거나 기존의 렌더러를 선택한다. 예에서 기존에 사용하는 forward renderer를 선택하였다.

 

9)렌더러에 새로운 renderer feature를 추가한다. add renderer feature를 클릭하고 render objects를 선택한다.

 

10)새로 추가된 항목의 name을 설정하고 layer mask에서 레이어를 선택한다. 예에서 이전에 추가한 item 레이어를 선택하였다.

 

11)overrides에서 이전에 생성한 아웃라인 재질을 추가한다.

 

12)해당 레이어를 설정한 게임오브젝트의 아웃라인이 렌더링되는것을 확인할수있다.

 

13)재질의 color, width를 설정하여 아웃라인의 색상 및 폭을 설정한다.

https://learn.unity.com/tutorial/custom-render-passes-with-urp

반응형

댓글

Designed by JB FACTORY