유니티 HDRP 에서 제공하고 있는 BentNormal 을 이용한 Ambient Occlusion 처리와 Reflection Occlusion 부분을 Custom URP 로 이식 해 보는 과정이다.

프로젝트에 따라 HDRP 의 특정 함수부는 활용이 가능하다고 생각한다.

예로 들어서 HDRP 에서만 작동 되는 Spherical Reflection Probe 같은 것들이다.
모바일 게임개발 프로젝트라고 해도 특정 조건과 상황에 따라 HDRP 의 기능을 이식해서 활용 할 수 있는 하드웨어 환경이 되었기 때문이데 RT 에 의존 하는 것이 아니라면 명령어 수량은 프로젝트 제작팀의 개발명세서를 따르면 되기 때문이다.

Bent Normal 란?

Reflection Occlusion 이란?

위 두 가지 요소에 대한 기본적인 이해를 먼저 선행 학습하자.

먼저 Bent Normal…

언리얼 엔진 개발문서에서 정의 하고 있는 내용을 살펴 볼 필요가 있다.(하지만 나는 유니티를 사용한다…)

https://docs.unrealengine.com/ko/Engine/Rendering/LightingAndShadows/BentNormalMaps/index.html

No BentNormal
BentNormal

언리얼 엔진 문서를 인용 하면 아래 두 가지의 큰 장점이 있습니다.

벤트 노멀의 장점

벤트 노멀을 사용했을 때 얻을 수 있는 장점 몇 가지는 아래와 같습니다.

  • 벤트 노멀을 사용했을 때 기대할 수 있는 가장 큰 효과는 라이트 빌드 이후 발생할 수 있는 빛샘 현상 감소입니다.
  • 벤트 노멀은 앰비언트 오클루전(AO)과 함께 사용하여 디퓨즈 간접광을 개선시킬 수 있습니다. 그 원리는 간접광에 노멀 대신 벤트 노멀을 사용하여 디퓨즈 간접광이 글로벌 일루미네이션(GI)과 비슷해 보이도록 만드는 것입니다.

언리얼 엔진의 모바일 플레폼 환경에서 이것이 자동적으로 적용 되는지는 아직 확인 하지 않았지만 어찌 됬든 우리는 HDRP 의 그것을 안드로이드 또는 IOS 플레폼에 주로 사용 되는 URP 에 이식 할 예정이다.

참고자료 또한 살펴 보자.
유니티 엔진에서 참고 하고 있는 자료이다.

Practical Real-Time Strategies for Accurate Indirect Occlusion (Jorge Jiménez) / SIGGRAPH 2016 COURSE: PHYSICALLY BASED RENDERING.

C:\Users\%username%\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.render-pipelines.core@7.3.1

위 Core 패키지 버전을 사용했다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s