상세 컨텐츠

본문 제목

[최적화]Cull Distance Volume 으로 맵에 렌더링 할 요소를 줄여서 퍼포먼스 올리기

Unreal

by Real_Go 2025. 7. 3. 03:39

본문

언리얼은 복잡한 실상을 렌더링 할 수 있어서 사실적 묘사가 가능하지만 

너무 디테일한 요소들이 많을 경우 쓰잘데기 없는 것 까지 렌더링해서 

컴퓨터의 퍼포먼스가 저하되는 사태가 발생한다.

 

이때 쓰는 방법인 크게는 컬링과 LOD 가 있다.

컬링은 거리를 기준으로 렌더링을 안해버리는 거고 

LOD 는 거리를 기준으로 렌더링 리소스를 덜 잡아먹는 모델로 교체하는 것이다. 

따라서 멀리서 볼 수록 좀더  폴리곤이 투박해진다고 보면 된다. 

 

하지만 LOD는 단계 개수만큼 만들어놔야 된다. 

그만큼 준비하는데 하이퀄리티부터 로우퀄리티 버젼까지 준비해야되다보니 힘이 많이 들어간다.

 

컬링은 그냥 짤라버리므로 갑자기 안보이게 돼서 어색함을 느낄 수도 있지만 

그걸 조절을 합리적인 선에서 하면 된다. 

예를 들어 덩치가 큰건 멀리서도 보이고 덩치가 작은건 멀리서는 안보이도록 하는 알고리즘을 짜면 되기 때문이다. 

바로 실전 예시를 보여주겠다.

 

언리얼에서 Volume 액터를 집어넣는 것중에 검색해서 Cull Distance Volume 을 집어넣는다. 

이 볼륨을 적용할 map에 사이즈가 맞게 펼쳐준다. (scaling 하지말고 Box Extent 를 해라 ) 

 

그리고 나서 위와같이 Size 가 얼마정도 하면 필터링을 갈길지 결정하면 된다. 

이걸 Cull distance pair 라고 하는데 도시 맵에서 나는 건물들에 대해서 짜잘한 건물들은 렌더링 과정을 넘기도록 했다. 

위와같이 (2000, 20만), (5000, 40만), (1만, 0) 은 언리얼이 cm 단위이므로 20m 크기 건물은 2k 부터 안보이고, 50m 크기 건물은 4km 부터 안보이고 100m 크기 건물은 아주 멀리있어도 보이기는 하는 거라고 이해하면 된다. 

 

 

관련글 더보기