공부/유니티

유니티 드로우콜(배치) 줄이기 - 그림자 설정

복제고양이 2025. 1. 1. 18:42
300x250

 

 현재 VR 플랫폼으로 게임을 만들어보고 있다.

테스트를 돌려보던 중 가끔씩 뚝 끊기거나 버벅이는 현상이 발생했다.

 

이유는 모르겠지만 드로우콜이 매우 많이 발생하고 있었다.

플레이어가 바라보는 방향에 따라 9000개 정도 발생하기도 했다.

 

같이 작업을 하고 있는 동기가 빛이 비춰질 때 크게 발생하니 그림자가 원인인 것 같다고 했다.

 

이전에 씬에 새로운 오브젝트들을 배치하고나서 그림자가 많이 생겼으니 가능성이 있었다.

 

드로우콜 배치 6974개?

 

 

 

 우선 맵에 있는 오브젝트를 모두 Static 을 체크했다.

대부분 움직이지 않고 고정해둔 오브젝트이기 때문에 Map 이라는 이름의 빈 오브젝트에 두고 

모두 정적 게임 오브젝트로 만들었다.

 

이러면 Batches를 큰 오브젝트 하나로 만들어 렌더링을 최적화한다는데, 문서만 봐서는 이해가 힘들고 그냥 돌려봤다.

드로우콜이 1000대로 크게 줄었다.

하지만 보는 방향에 따라 4000개가 피크로 발생하기도 하는 것 보면 아직 근본적인 해결법은 아닌 듯 했다.

 

최대 1104 드로우콜

 

 

 

 추가로 URP 프로필에 있는 그림자 설정도 만져주었다.

Max Distance를 줄이고 Cascade Count도 기본 4개에서 2개로 줄인 후 8m 이상은 그림자를 더 단순하게 구현하도록 했다.

 

 

 

 

그 결과 300~500대 아래로 드로우콜을 줄일 수 있었다.

반응형