AnyPortrait > 메뉴얼 > Universal Render Pipeline 연동하기

Universal Render Pipeline 연동하기


1.2.2

Universal Render Pipeline (유니버설 렌더 파이프라인)은 유니티 2019.3부터 도입된 새로운 렌더링 방식입니다.
기존의 LWRP를 대체하는 URP는 더 많은 플랫폼과 기기를 지원하며 2D, 3D, VR 및 AR등 다양한 종류 프로젝트에 적용할 수 있습니다.
추가적인 설명에 대해서는 다음의 페이지를 참고해보시는 것을 권장합니다.


- 재질 라이브러리
- Shader Graph로 재질 작성하기
- 커스텀 쉐이더
- About the Universal Render Pipeline Manual (유니티 공식 페이지 / 영어)




Universal Render Pipeline 설정하고 재질 변경하기




Window > Package Manager를 실행합니다.
(메뉴의 위치나 이름은 유니티 버전에 따라 차이가 있을 수 있을 수 있습니다.)




(1) Universal RP 패키지를 선택합니다.
리스트에 패키지가 보이지 않는다면, 로딩에 시간이 조금 걸리므로 기다리시면 됩니다.
(2) Install 버튼을 누릅니다.




URP 패키지가 설치되었다면, Pipeline Asset을 만들고 렌더링에 적용해야합니다.
Assets 폴더 내에서 우클릭을 하거나 Assets 메뉴에서 Create > Rendering > Universal Render Pipeline > Pipeline Asset (Forward Renderer)를 선택합니다.




UniversalRenderPipelineAsset이 생성되었습니다.
또한 URP에서 렌더링 방식을 정의하는 Renderer의 기본 에셋도 같이 생성됩니다.




생성된 URP Asset을 프로젝트에 적용해봅시다.
(1) 유니티 에디터 메뉴의 Edit > Project Settings를 열고, Graphics 항목을 선택합니다.
(2) Scriptable Render Pipeline Settings 항목에 앞서 생성한 UniversalRenderPipelineAsset을 할당합니다.
이제 URP 방식으로 렌더링이 되는데, 아마도 대부분의 재질이 정상적으로 렌더링이 되지 않을 것입니다.




URP를 지원하는 재질을 설치하고 적용해봅시다.
(1) AnyPortrait 에디터를 열고 Root Unit 중 하나를 선택합니다.
(2) Material Library 버튼을 누릅니다.
(3) 설치하고자하는 패키지를 선택합니다. 여기서는 URP Presets 패키지를 선택합니다.
(4) URP Presets이 선택된 상태에서 Unpack Preset 버튼을 누릅니다.




패키지가 설치되면 재질 라이브러리를 다시 실행해야합니다.
확인 버튼을 누르고 Material Library 버튼을 눌러서 다시 엽니다.




URP를 지원하는 재질 프리셋 3종이 추가되었습니다.
- URP Unlit : URP 환경에서 라이팅이 되지 않고 원본의 색상이 출력되는 재질입니다.
- URP Lit : URP 환경에서 라이팅이 적용되는 재질입니다.
- URP 2D Lit : 2D Renderer가 적용된 URP 환경에서 2D Light에 의해서 라이팅이 적용되는 재질입니다.




추가된 재질 프리셋을 이용하여 재질 세트를 만들어봅시다.
(1) Make Material Set 버튼을 누릅니다.
(2) URP 프리셋 중 하나를 선택합니다. 여기서는 URP Unlit 프리셋을 선택했습니다.
(3) Select 버튼을 누릅니다.




(1) 생성된 URP Unlit 재질 세트를 선택합니다.
(2) Default Material 버튼을 눌러서 기본 재질로 설정합니다.




LWRP 및 URP에서 Clipping Mask를 렌더링을 하는 방식이 다르기 때문에, Bake 설정에서 추가적인 작업을 해야합니다.
(1) Bake 버튼을 누릅니다.
(2) Setting 탭을 선택합니다.
(3) Render Pipeline 항목의 값을 Scriptable Render Pipeline으로 변경합니다.




(1) Bake 탭을 선택합니다.
(2) Bake 버튼을 누릅니다.




유니티 씬에서 캐릭터를 확인해보면, 이제 URP 환경에서도 정상적으로 렌더링되는 것을 볼 수 있습니다.




URP Lit 재질 적용하기


URP Lit 재질을 적용하여 빛의 영향을 받도록 만들 수 있습니다.




재질 라이브러리를 엽니다.
(1) Make Material Set 버튼을 누릅니다.
(2) URP Lit 프리셋을 선택하고 (3) Select 버튼을 누릅니다.




(1) 생성된 URP Lit 재질 세트를 선택합니다.
(2) Default Material 버튼을 눌러서 기본 재질로 설정합니다.
모든 작업이 끝나면 재질 라이브러리를 닫습니다.




Bake를 실행하고 유니티 씬에서 확인해봅시다.




Unlit 재질이 적용된 것과 달리 위 이미지처럼 다소 어둡거나, 아니면 아예 검은색으로 캐릭터가 출력될 것입니다.
Lit 재질은 빛이 없으면 어두워지기 때문입니다.




다양한 종류의 Light 오브젝트를 추가해봅시다.




게임을 실행하면 라이팅이 적용된 캐릭터를 볼 수 있습니다.




2D Renderer가 적용된 URP에서 렌더링하기


URP는 LWRP 2D의 기능을 포함하는 방식입니다.
간단히 2D Renderer를 적용하여 2D Light를 이용하는 렌더링 방식으로 전환하는 것이 가능합니다.




2D Renderer 에셋을 생성합니다.
Assets 메뉴나 Assets 폴더에서 우클릭을 하고,
Create > Rendering > Universal Renderer Pipeline > 2D Renderer (Experimental)을 선택합니다.




새로운 2D Renderer 에셋 (New 2D Renderer Data)이 생성되었습니다.




(1) 앞서 만든 UniversalRenderPipelineAsset을 선택합니다.
(2) Renderer List의 항목에 2D Renderer (New 2D Renderer Data)를 할당합니다.
(3) 2D Renderer를 위한 재질이 아직 적용되기 전이므로 유니티 씬의 캐릭터에 라이팅이 적용되지 않습니다.
URP 2D를 위한 재질을 설정해봅시다.




위에서 설명한 방법과 거의 동일합니다.
(1) 재질 라이브러리를 열고 Make Material Set 버튼을 누릅니다.
(2) 이번엔 URP 2D Lit 프리셋을 선택하고 (3) Select 버튼을 누릅니다.




(1) 생성된 URP 2D Lit 재질 세트를 선택하고 (2) Default Material 버튼을 눌러서 기본 재질로 설정합니다.




Bake를 실행하고 유니티 씬에서 확인해봅시다.




Lit 재질이므로 빛이 없는 씬에서는 캐릭터가 어둡게 보여집니다.
현재, 기본적인 Light 오브젝트가 배치된 상태이지만, 2D Renderer에 맞는 별도의 Light 오브젝트들이 필요합니다.




2D Light 오브젝트를 추가합니다.
Light > 2D 카테고리에 2D Renderer에서 지원되는 종류의 2D Light들이 있습니다.




2D Light들을 씬에 배치합니다.




URP 2D 환경에서 예쁘게 렌더링되는 캐릭터를 볼 수 있습니다.




URP를 지원하는 Shader Graph 에셋




재질 라이브러리에서 URP Presets 패키지를 설치하면 위와 같이 URP용 재질 에셋들이 추가됩니다.
(Assets > AnyPortrait > Assets > Shaders > Advanced 폴더)
이 에셋들은 Shader Graph로 작성되었습니다.




이 에셋을 열면 Shader Graph의 내용을 볼 수 있습니다.
프리셋으로 제공되는 재질들은 기본적인 라이팅만 수행합니다.
이 에셋을 바탕으로 Shader Graph를 작성하여 다양한 렌더링 기법을 적용해보세요.