캐릭터 움직임을 따라 이상한 그림자가 생기는 문제
Unreal Engine Virtual Shadow Map 이슈
개요
- 캐릭터를 움직일 때 생기는 비정상적인 그림자 문제를 해결한다.
- Virtual Shadow Map 문제 해결
증상
캐릭터를 움직이자 비정상적인 그림자가 나타났다. 스켈레탈 메시로 언리얼 기본 마네킹을 사용했을 때는 문제가 없었지만, 별도의 스켈레탈 메시를 사용하자 이러한 문제가 발생했다.
그림자는 플레이어의 움직임에 따라 생성되고, 알아서 지워진다.
원인 - Virtual Shadow Map
Virtual Shadow Map
은 가상화된 텍스쳐를 사용하여 그림자의 선명도를 제어하는 방법이다. 대규모 오픈월드에 일관된 고해상도 쉐도잉을 제공하고자 만들어졌다. 초고해상도 쉐도 맵을 필요에 따라 제어하는 방식이다. Virtual Shadow Map
은 프로젝트 설정의 Shadow 항목에서 확인할 수 있다. 자세한 기능과 효과는 참고자료의 공식문서 참고.
이 Virtual Shadow Map은 메시의 경계 영역이나 충돌 데이터를 기반으로 그림자를 생성한다. 따라서 메쉬, Physics Asset이 잘못된 경우, 물체의 경계를 잘 파악하지 못하고 비정상적인 그림자를 만들어 내게 된다.
해결법 1 - 기존 Shadow Map 사용
프로젝트 세팅 → Shadow → Shadow Map Method에서 Virtual Shadow Maps를 Shadow Maps로 바꾸면 된다. Virtual Shadow Map을 아예 사용하지 않을 때 선택하는 방법.
해결법 2 - Physics Asset 수정
Virtual Shadow Map을 그대로 유지하면서 물체의 Physics Asset만 수정하는 방법이다. Physics Asset을 제거하거나 새로 추가해보자.