콘솔 개발 일지가 3화로 돌아왔습니다! 이번 주는 AnimNode LOD에 대해 다뤄보겠습니다.
LOD(Level of Detail)은 저번화에 다룬 주제로, 간단히 요약하자면 렌더링 등의 세부 정밀도를 뜻합니다. 낙하산에서 낙하할 때의 예를 들자면, 멀리서 바라봤을 땐 LOD가 낮게 (찰흙처럼) 표현되지만 시간이 지나면서 LOD가 높아지게 됩니다. LOD는 0, 1, 2 총 세 개의 레벨이 있으며 LOD 0일 때가 디테일이 가장 높습니다.
캐릭터를 구성하는 LOD에는 Mesh LOD, Bone LOD, AnimNode LOD가 있습니다. 우선은 Mesh LOD와 Bone LOD에 대해 간략히 설명드리겠습니다.
Mesh LOD와 Bone LOD
Mesh LOD에 의해 캐릭터 렌더링의 디테일 정도가 표현됩니다. 캐릭터가 아주 가까이 있으면 LOD 0으로 렌더링되며, 거리가 멀어질수록 디테일이 낮아집니다. 마찬가지로 Bone도 LOD에 따라 거리가 멀어질수록 영향받는(애니메이션시 움직이게 되는) Bone의 개수도 적어지게 됩니다. 즉, LOD가 낮을수록 처리할 Vertex 및 Bone 데이터가 적어지므로 가능한 빠르게 높은 LOD 데이터로 전환이 Performance(성능)에 유리하게 됩니다. 다만, CPU 성능 확보를 생각하면 LOD 3, 4, .. 등의 데이터가 도움되지만, 이를 위한 메모리 사용, IO 사용 등의 추가적인 비용이 높습니다. (특히 콘솔에서는요)
AnimNode LOD
애니메이션에도 LOD가 존재하는데, 앞에서 말한 대로 성능을 위하여 가까운 거리에서 낮은 LOD로 전환하고 애니메이션은 대부분 눈에 띄는 동작들이 많다 보니 애니메이션의 LOD는 적용 범위가 넓지 못합니다.
PUBG 게임의 특성상 대부분의 캐릭터들이 안보이는 곳에 숨어 있거나 매우 먼 거리에서 작게 보이는 경우이기 때문에 화면에 표현되는 비율에 의하여 추가적인 LOD를 생각하였고, AnimNode LOD 최적화를 진행하였습니다.
AnimNode LOD는 캐릭터의 골격 움직임의 정밀도를 뜻합니다. 달리기, 오른쪽으로 보기, 정조준하기 등의 모든 애니메이션이 포함되죠. 다리, 팔, 목 등 신체 부분 부분의 움직임이 각기 따로 계산됩니다. AnimNode LOD가 낮다면 캐릭터 애니메이션의 품질이 낮아지며, LOD가 꺼지게 되면 캐릭터 애니메이션이 표현되지 않습니다.
그렇다면 스코프를 당겼을 땐 어떻게 될까요?
스코프를 통해 캐릭터의 화면비율이 커지게 되기 때문에 AnimNode LOD가 다시 켜져서 정상적으로 캐릭터 애니메이션이 보여지게 됩니다.
이해를 돕기 위해 10% 비율로 적용된 AnimNode LOD의 스코핑 영상입니다.
실제 게임에서는 시각적 차이를 느끼지 못할 크기로 적용될 예정입니다.
성능
아래의 그래프는 10마리 봇이 있을 때, AnimNode LOD가 켜져있을 때(파란색)와 꺼져있을 때(빨간색)의 리소스 사용량을 비교하였습니다. AnimNode LOD에 의해 약 10%의 성능 개선이 이루어진 것을 확인할 수 있으며, 캐릭터가 많으면 많을수록 더 큰 성능 향상이 있습니다.
*그래프는 Xbox One S 환경에서 측정됨.
결론적으로, 특정 거리에 도달했을 때 캐릭터의 애니메이션 효과가 일부 비활성화됩니다. 비활성화된 애니메이션 효과는 멀리에서 볼 수 없을 정도이며 그에 따라 계산되는 리소스가 낮아지고 성능 개선이 있었습니다.
사람 4명이상만 모이면 끊기는게 장난아닙니다 뭔 프레임이좋은지..
혹시 정말 혹시 프레임은 나아질 방향이 있나요??
ps4판 프레임 괜찮지 않나요?
루리웹-932525833
사람 4명이상만 모이면 끊기는게 장난아닙니다 뭔 프레임이좋은지..
프로도 똑같이 끊겨요 일부러 그렇게 만든건지 프로산의미가 개뿔도없는듯
솔로 ㄲ
진짜 해본건지 플포 카톡방에 사람들 4인스쿼드 방이 제일 믾아요 진짜 스쿼드든 솔로든 정밀 할만합니다
당연히 겁나게 많이하고있습니다. 프레임이 30프레임인데 사람좀있으면 뚝뚝끊기죠 . 특히 원이 적어졌을때 아직 사람이 많이살아있으면 프레임드랍 겁나심합니다. 그래픽은 이렇게 떨거놨는데 30프레임 고정이안나온다는건 진짜 개떡같은 최적화라고 볼수밖에없어요
그래픽만 좀더 좋았으면 ㅜㅜ
프레임은 포기했고 자글자글 한거만 좀 고쳐주셈