본문 바로가기
유니티 엔진

유니티 5.6 라이트맵 변화 연구5 - 믹스드 라이트맵(Mixed lightmap)3

by 대마왕J 2017. 7. 26.

Distance Shadowmask 


마지막으로 셰도우 마스크의 변형형인 디스턴스 셰도우마스크입니다. 

이건.. 예전에 유니티 4에 있었던 듀얼 라이트맵이잖아요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


유니티 2007부터는 이 메뉴가 다른데로 옮겨갔습니다. 

Edit / Project Setting / Quality 안의 shadows 항목으로 옮겨감요




완전히 같진 않아도 개념이 같습니다 ㅎㅎ 


일단 시작은 여기서 시작합니다 


이 셰도우 마스크 기능의 단점은, 4개..까지는 그렇다 쳐도 

스테틱 오브젝트가 다이나믹 오브젝트한테 그림자를 드리우지 못한다는게 문제였죠 


거기다 또 하나의 문제가 있습니다. 씬이 좀 커질때 말이죠 


씬이 커진다면, 필연적으로 라이트맵 사이즈도 커지게 됩니다. 근데 이게 상당한 부하를 유발한단 말이죠.. 

그래서 라이트맵을 또 줄이면... 


이렇게 됩니다. 


이렇게요. 


셰도우 마스크도 결국 라이트맵과 같은 UV를 사용하는지라, 어쩔 수 없이 라이트맵의 사이즈를 줄이면 같이 줄어듭니다. 


이럴때 사용하는게 디스턴스 셰도우 마스크 




재미있게도 셰도우 마스크를 구워 놓으면, 디스턴스 셰도우마스크는 따로 굽지 않아도 됩니다. 그냥 옵션만 바꿔주는 것만으로 충분해요. 하긴 뭐. 


이렇게 되면 , 재미있는 현상이 나타나게 됩니다. .


바로 실시간 그림자 영역 한계 내에서는 실시간 그림자가 나타나게 되고, 한계를 벗어나면 셰도우 마스크가 가동되는 겁니다. 


이렇게요 


더 재미있는건, GI 는 따로 구워져 있기 때문에 GI 정보는 저해상도라 하더라도 잘 남아 있습니다. 그림자만 실시간 - 셰도우 마스크로 실시간으로 변하게 되는 거구요 



일단 저는 잘 보이라고 셰도우 캐스케이드를 1단계로 해서 거리를 짧게 만들어 놨습니다. 

실제로 이렇게 하면 그림자 부하도 줄어들지요. 즉 이걸 잘 이용하면 아주 그럴듯하고 자연스럽게 처리할 수 있다는 말이 됩니다. 옵션을 좀 만져볼까요


자, 어디가 실시간 그림자(셰도우맵) 이고 어디가 셰도우 마스크인지 구별 가능하신지요? 아까랑 거리는 똑같습니다. 


그리고 이렇게 하면 좋은 점이, 가까운 곳의 그림자는 어쨌거나 전부 셰도우맵이므로 스테틱한 물체가 다이나믹한 물체한테 그림자를 드리우는 것 까지 모두 제대로 이루어진다는 것입니다. 


사실상 이게 최고급품의 라이트맵과 셰도우겠네요 



라이트맵의 소프트 셰도우 앵글까지 올려본 결과물입니다. 





ps. 아무래도 과도기성이 좀 보이긴 합니다. 

일단 인라이튼에다가 포워드에서만 믹스드 라이트의 고급 옵션들이 제대로 작동하고, 

프로그래시브 라이트맵퍼는 베이크드밖에 작동을 안하네요. 



반응형

댓글