Mixed Lighting - ShadowMask
- Distance ShadowMask
이전 시간에 이은 , 셰도우마스크의 추가 옵션입니다.
2017 초기 버전에는 라이트맵 옵션에 같이 있었는데, 곧 따로 빠진 기능입니다.
이 기능을 만든 이유는 다음과 같은데...
ShadowMask로 리얼타임 셰도우와 베이크드 셰도우를 통합해서 자연스럽게 섞이게 된 것 까지는 좋은데,
여전히 남아있는 문제는...
Static 오브젝트의 그림자는 어쨌거나 구워진 것이기 때문에, 다이나믹 오브젝트에 드리우지는 못한다
라는 것입니다.
위 그림에서도 박스의 그림자가 바닥에는 드리워져 있는데 캐릭터에게는 드리우지 못하고 있는걸 알 수 있지요
이건 구워진 그림자나 GI들의 숙명입니다.
그래서 이걸 해결하는 법은 몇 가지가 있긴 한데, 그 중 하나가 바로 이번에 소개시켜드릴 옵션입니다.
이 옵션은 가동시키기 위해서 다시 굽거나 할 필요는 없습니다. 그래서 아마 라이트맵 옵션에서 빠진듯.
그냥 이상태 이대로 바꿔주면 됩니다.
바꿔주는 곳은 Edit/ Project Settings/ Quality
에서 여기에 있습니다
여기서 Distance Shadowmask를 선택해 주면,
짠
캐릭터에 그림자가 먹습니다.
어라 왜 먹는거지???
상식적으로 아무리 셰도우마스크로 구웠다 하더라도 구워진 텍스쳐라 다이나믹 오브젝트한테 영향을 줄 수 없을텐데???
이게 Distance Shadowmask의 차이입니다. 별 거 아니예요
일단 이건 실시간 그림자 거리와 상관 있습니다.
이 부분이요.
일단 저 거리가 뭐냐면..
실시간 그림자가 생기는 거리입니다.
Distance Shadowmask 모드일때, 저 거리 안에 들어 있는 부분은 완벽한 실시간 그림자들로만 만들어집니다.
즉 위 그림에서 붉은 영역으로 보이는 부분이 실시간 그림자 가능 거리이고, 이 때 Distance Shadowmask 일 때에는 저 영역 안에 들어있는
'모든 그림자는 실시간 그림자' 이라는 것입니다. Static 이니 Dynamic이니 상관없이 모두 Dynamic으로 동작하니, 당연히 저 박스의 그림자가 캐릭터에 드러워지는 것을 알 수 있습니다.
그런데 실시간 그림자 거리가 짧아지거나, 카메라에서 오브젝트가 멀어져서 실시간 그림자 영역을 벗어나게 되었을 때
그 그림자들은 다시 원래대로 Baked Shadowmap과 Realtime Shadowmap으로 나뉩니다.
그러면 다시 Static 오브젝트가 Dynamic 오브젝트에게 그림자를 드리우지 못하게 됩니다.
위 그림에서 박스가 캐릭터에 그림자를 드리우지 못하는 것을 보면 알 수 있습니다.
위의 내용을 다시 보면 아래와 같습니다.
'유니티 엔진' 카테고리의 다른 글
유니티 신 버전 라이트맵 사용하기 11 ( Using Unity 2017 Lightmap - 11) (30) | 2017.12.30 |
---|---|
유니티 신 버전 라이트맵 사용하기 10 ( Using Unity 2017 Lightmap - 10) (0) | 2017.12.30 |
유니티 신 버전 라이트맵 사용하기 8 ( Using Unity 2017 Lightmap - 8) (1) | 2017.12.30 |
유니티 신 버전 라이트맵 사용하기 7 ( Using Unity 2017 Lightmap - 7) (7) | 2017.12.26 |
유니티 신 버전 라이트맵 사용하기 6 ( Using Unity 2017 Lightmap - 6) (12) | 2017.12.21 |
댓글