스터디/Unreal Engine

언리얼엔진 Translucent PBR 표현 연구

석류! 2024. 8. 13. 02:03

팀 프로젝트 하면서 다른분들 작업물 추가된거 확인하다가
팀원분께서 커튼 올려주신걸 확인했습니다

머테리얼 짜신거 잠깐 구경하다가 옛날 저랑 다른분 투명도 작업할때 나타났던 노말이라던가 PBR이 의도대로 표현되지 않았던 현상과 비슷한 현상이 생겼던걸 발견했습니다.

마침 저도 이에대해 공부하던 중이였어서 관련자료 짧게 정리하며 의도하셨던 표현이랑 다음 머테리얼 표현들 중 원하시는 표현이 있으실까 해서 작성해봅니다.

 

 

우선적으로 대부분의 반투명 머테리얼에서 노말이나 반사 같은 디테일한 표현을 구현하길 원한다 라고 검색을 하면 대부분의 게시글들이 위와 같이 수정을 해달라고 작성이 되어있습니다.

기본적으로 투명 머테리얼을 사용하지 않는이상 라이팅모드는 수정이 불가능하며 Translucent 등으로 변경했을때에만 모드를 바꿀 수 있습니다

아무것도 건들지 않았을 때엔 기본적으로 Volumetric Nondirection 모드로 되어있으며

언리얼 설명에선 가장 싼 반투명 방식이지만 적혀있는대로 노말은 지원되지 않는다고 작성되어있습니다

 

 

다음 블로그 작성글과 언리얼 설명을 읽어보면

NonDirection은 조명이 계산되지 않고 Direction은 조명을 계산하여 좀더 현실적인 투명 표현이 되어있음을 알 수 있습니다

그러나 여전히 PBR관련된내용은 적용이 되지 않고있음을 알 수 있습니다.

 

 

이럴때 마지막 남은 2개의 설명을 들어보면

Surface Translucency Volume 에선 라이팅이 제대로 적용됨을 알 수 있지만 스페큘러 하이라이트가 지원되지 않음을 알 수 있습니다

덕분에 PBR표현을 하면서 최적화도 잡아줬지만 하이라이트 표현이 부족할 수 있다는 단점이 있습니다.

Surface Forward Shading 에선 위와 같이 라이팅도 제대로 표현이 되어 있으면서 스페큘러 하이라이트 또한 지원되어 사실적인 PBR 머테리얼이면서도 투명도 또한 제대로 잡힌다는 것을 알 수 있습니다

다만 그만큼 굉장히 많은 연산이 들어가 최적화를 하려면 굉장히 많은 섬세한 신경을 써줘야 함을 알 수 있습니다.

 

 

 

비교샷입니다.

가장 우측은 원래 사용하시던 머테리얼이며 표현하시려 했던 문양이 잘 보이지 않음을 알 수 있습니다

중간은 PBR이 표현되지만 하이라이트가 없는 그나마 싼값의 머테리얼모드입니다 기존의 표현에 메탈릭까지 표현되어 문양또한 제대로 구분됨을 알 수 있습니다

좌측은 라이팅과 PBR까지 묘사되며 하이라이트까지 표현되는 가장비싼 반투명 머테리얼입니다. 저희같은 포트폴리오 , 디테일한 질감표현에 적합하다고 생각합니다.

 

뷰포트의 반투명 머테리얼의 색 정보만 표현 모드로 보면서 정확히 어떻게 차이나는지도 확인할 수 있었습니다.

 

 

다만 설명에 적혀있던 내용처럼 표현하고자 하는바가 많아질수록 굉장히 무겁게 표현됨을 알 수 있습니다

저희는 현재 포폴진행중이라 최적화에 그렇게까지 신경쓰지 않아도 되겠지만.. 인지는 하고 사용을한다면 좋지않을까 생각합니다.

 

 

주요 참고자료

 

  • 언리얼 4.27 투명도 사용법

https://dev.epicgames.com/documentation/en-us/unreal-engine/using-transparency?application_version=4.27

 

 

 

  • 언리얼 5 투명도 사용법

https://dev.epicgames.com/documentation/en-us/unreal-engine/using-transparency-in-unreal-engine-materials

 

 

  • 라이트모드에 대한 블로그 자료

https://m.blog.naver.com/edgerider/221468891238

 

[Material]Translucency Lighting Mode

UE4에서는 반투명 재질의 Lighting Mode의 설정을 다음과 같이 할수 있다. 총 6개의 설정이 있지만, 큰...

blog.naver.com

 

 

  • 뷰 모드

https://forums.unrealengine.com/t/why-is-my-transparency-breaking-pbr-not-working-properly/1189115/4

 

Why is my transparency breaking PBR/not working properly

On top of that, base color looks off when using the translucent shader. This is a comparison of what it’s like using translucent material vs opaque shader

forums.unrealengine.com

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/view-modes?application_version=4.27