언리얼노드_Displacement map/Tessellation
Displacement 방식은 일일이 모델링하기 힘든 굴곡들을 Displacement map으로 이미지의 0, 1 ( 밝기 ) 를 기준으로 모델링을 변형해주는 기법이다. 어두운 곳은 들어가고 밝은 곳은 튀어나오도록 해줍니다.
다만 Displacement 방식은 실제로 삼각형을 여러개의 작은 삼각형 단위로 쪼개고 ( Tesselation ) 그 작은 삼각형들의 높이값을 Displacement map ( Height Map ) 으로 높낮이를 정해주는 방식입니다.
Normal map은 모델링에 직접적인 영향을 끼치지 않지만 Displacement map은 직접적인 변형을 주기에 부하가 많이 증가합니다
그렇기에 이를 개선하기 위한 시도로 Normal map의 단점을 보완한 Parallax mapping이란 기법이 있습니다.
삼각형 수를 유지 하면서도 메쉬의 디테일을 모두 표현할 수 있다는 것이 장점입니다.
Parallax mapping기법의 특징은 Normal map과 다르게 텍스쳐의 U,V 값을 변경해줍니다. 그렇기에 메쉬는 유지하더라도 Displacement 기법처럼 보이게 할 수 있습니다.
다만 Parallax mapping의 단점은 튀어나와 보이는 부분이 들어간 부분을 가리지는 못한다는 점 입니다. 그렇기에 각도에 따라 평평하게 보여져 Displacement 효과가 사라짐을 볼 수 있습니다.
---------------------------------------------------------------------------------------
언리얼 엔진에서의 사용
이를위해 우선적으로 해주어야 하는 것은 디스플레이스먼트맵을 사용하기 위해 Tessellation을 켜주어야한다.
PN Tessellation / Flat Tessellaion 의 차이
https://youtu.be/EpGuuu9A5Yg
https://docs.unrealengine.com/4.27/ko/Resources/ContentExamples/MaterialProperties/1_8/
Flat Tessellation은 단순히 테셀레이션을 함과 달리 PN Flat Tessellation은 테셀레이션을 거는 것과 동시에 스무딩 작업을 진행합니다.
DIsplacement의 강도는 평균적으로 0.00~0.1 정도면 충분하다.
...다만 언리얼 5.1? 5.2? 쯤인가 부터 사용방식이 변경됬다는 카더라를 들었다 먼저 확인해볼것 ( ㅠㅠ )
참고자료
https://scahp.tistory.com/86
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ghdcjdfo&logNo=140209402987
https://m.blog.naver.com/kooysjm/222029748024
https://yunzema.tistory.com/354
\https://docs.unrealengine.com/4.27/ko/Resources/ContentExamples/MaterialNodes/1_11/