본문 바로가기

유니티/에러 리포트

[Unity] 유니티 HDRP에서 식물의 잎이 자주색(보라색)으로 보일 때 해결 방법

반응형

증상

유니티에서 나무 배치 작업을 할 때 분명 머테리얼과 셰이더가 잘 들어가 있는데 잎이 자주색으로 나타나는 경우가 있다.

이때 자세히 보면 텍스처는 잘 나타나 있으면서 마젠타색이 덧잎혀 져 나타난다.

 

예를 들어, 아래의 상황과 같다.

 

텍스처 정보는 들어있지만 본래의 색이 아닌 마젠타 색이 추가되어 나타난 상황

 

이를 해결하기 위해 셰이더와 머테리얼을 살펴보면 문제가 없다.

 

이 문제는 왜 발생하는 것일까?


원인

결론부터 말하면 Diffusion Profile 때문이다.

 

Diffusion Profile은 Subsurface Scattering Material(피하 산란 머테리얼)에 쓰이는 프로필 정보인데, 이 정보가 누락될 경우 저렇게 텍스쳐 위에 마젠타 색이 입혀져 나온다.

 

Subsurface Scattering Material은 식물의 잎이나 사람의 피부처럼 빛을 일정 부분 투과하는 재질에 사용된다.

이때 투과에 대한 정보(투과 색상, 산란 정도)에 대한 프로필을 따로 지정해주어야 하는 것이다.

 

식물에 대한 빛 투과 예시

 

따라서 이런 현상도 피부 같은 스킨 정보나 식물의 잎 같은 상황에서 주로 발생한다.

이런 현상이 발생했을 때 해결은 어떻게 할 수 있을까?


해결 방법

프로필 정보가 빠졌기 때문에 Diffusion Profile을 채워 넣으면 된다.

다만, 이 방법이 Unity 버전에 따라 상이하기 때문에 정확한 해결방법은 공식 문서를 참고하는 것이 좋다.

(사족을 달자면, 거의 매 버전마다 이러한 인터페이스가 변경되는 것에 대해 불만이 굉장히 많으나 더 나은 UX를 위한 길이라 생각하며 울며 겨자 먹기로 사용하고 있다...)

 

포스팅 시점 기준 2023.2 버전의 경우 머테리얼에서 개별로 추가를 해주어야 한다.

 

머테리얼 내부에 Diffusion Profile이 존재

 

에셋이라면 일단 배포된 Diffusion Profile을 찾아보고, 없다면 새로운 Diffusion Profile을 추가하면 된다.

 

만약 2022.3 LTS 같은 2023 이전의 버전이라면 Project Settings의 Diffusion Profile List에 추가하면 된다.

추가하고 나면 볼륨 오버라이드에서 사용할 수 있게 된다.

 

Edit / Project Settings / HDRP Global Settings / Volume Profiles / Diffusion Profile List

 

정상적으로 해결한 식물의 잎은 투과 표현까지 잘 나타나진다.

 

정상적으로 Diffusion Profile이 들어간 경우

반응형