VRChat 전용 유니티

[VRChat 유니티] 아바타를 최적화를 위한 텍스쳐 메모리 줄이기

곰쫑남 2024. 11. 19. 00:39

VRChat을 하다가 가끔 퍼블릭 월드에 가보면 유난히 아바타 로딩이 느린사람이 있다

어캐하면 텍스쳐 메모리가 1기가가 나오냐?

아바타 정보를 보면 진짜 이게 말이되나?? 라는 아바타 정보를 보여주는 사람이 있다

물론 위의 사진은 진짜 극소수, 대부분 다운로드 사이즈 100메가, 텍스쳐 메모리 500메가가 상당수다.

 

아바타 최적화는 다른 사람을 위한 배려다

[아 꼬우시면 님 컴퓨터 업그레이드 하시라고 ㅋㅋ] 라고 하는분이 있긴한데 물론 틀린말은 아니다

하지만 VRChat에는...

최적화되지 않은 아바타를 표시하지 않는 옵션이 있다

물론 나는 차단하지 않지만 상당수는 해당 기능을 활성화 하고있다.

기껏 이쁘게 아바타를 꾸며 놓고 다른사람에게 아바타가 보이지 않는건 슬프지 않을까?

 

최적화 안된분에게 물어봤을때 대부분 "어... 최적화 어캐하나요?'

그래서 아바타를 최적화 하는 방법을 알아보자.

유니티에서 할 수 있는 쉽게 최적화 하는 방법으로는

 

1. 텍스쳐 메모리 줄이기

2. VRCFURY 사용하기

3. 사용하지 않는 본 끄기

4. PCSS 따로 사용 하기

 

해당 방법이 있다.

 

이번 포스팅에는 텍스쳐 메모리를 줄이는 방법을 설명할 것

 

1. 텍스쳐 메모리 줄이기

 

먼저 내가 사용하는 텍스쳐가 무엇이 있는지 파악하는게 우선이다

이런식으로 하나하나 찾아서 텍스쳐를 줄이는 방법이 있지만 그러기엔 너무나도 귀찮지 않은가?

 

아바타에 사용중인 텍스쳐가 뭐가있는지 파악하는 에셋으로 Thry's Avatar Performance Tools이 있다

https://vpm.thry.dev/

 

VCC Listing

Thry's VPM Listing VPM-Compatible repo for Thry's packages Add to VCC Copy How to add a listing to your VCC How to add this listing to your VCC To add this listing to your VCC (VRChat Creator Companion), do the following Open your VCC and go to Settings Cl

vpm.thry.dev

해당 링크로 들어가서

Add to VCC를 클릭해주자

그러면 Creator Companion 툴이 열리면 I Understand, Add Repository를 눌러주고

해당 Thry's VPM Listing이 생기고 좌측에 체크박스에 체크가 되어 있지 않다면 체크까지 해준다

그리고 Projects 버튼을 누르고 현재 만들고 있는 아바타 목록의 우측 Manage Project를 클릭하면

이런식으로 리스트 들이 뜰탠데 Thry's Avatar Performance Tools의 우측 + 버튼을 눌려주면 끝이다.

추후 에셋다운로드를 많이하게 될탠데 다른거 추가할때도 이런방법으로 하면된다.

 

Thry - Avatar - VRAM 순으로 클릭해주면

이러한 창이 뜨는데 하이어라키 [Hierarchy]에 있는 아바타를 드래그앤 드롭을 해주면된다

이런식으로 텍스쳐 메모리, 메쉬 메모리등 정보들이 나온다

아랫쪽 Assets의 Textures를 클릭해주면

현재 아바타에 사용되는 텍스쳐들이 쭈욱 나열된다.

1920, 2048, 1024 적혀있는건 텍스쳐 사이즈 [우리는 이것만 조작할 것]

 DXT5, BC7, DXT1 적혀있는건 텍스쳐 포멧인데 이건 용도에 따라 다르게 설정해야하니 그냥 안만지고 패스하는걸로

텍스쳐 포멧에 대해 이해하려고 하는 곰쫑남의 모습

사실 나도 텍스쳐 포멧은 은근히 헷갈린다...

크게 게임을 만드는 것도 아니고... 그냥 텍스쳐 사이즈만 조절해도 절반이상은 간다

 

대부분 이쁜옷의 경우는 4096 사이즈를 많이 사용하게되는데 브챗에선 너무나도 과한 사이즈다...

나같은 경우 텍스쳐 사이즈는 512, 1024, 2048 세가지를 사용한다

 

세부적인게 많이 들어있는 얼굴 텍스쳐, 바디 텍스쳐, 무늬가 많은 옷 같은 경우엔 텍스쳐가 뭉게지면 안되므로 2048로 설정하는게 좋다

이런식으로 퍼런색 텍스쳐는 노말맵이라고 하는데 간단하게 튀어나옴 정도를 설정해주는 텍스쳐라고 생각하면된다.

이건 1024로 사용중이다.

흰색 검은색만 있는 텍스쳐는 보통 마스크인데 필요한 부분만 보이게, 반투명 효과로 많이 사용한다

이건 위 사진처럼 경계면이 명확하면 512로 사용

위 사진처럼 경계면이 흐리게 그라디언트 처리가되어 있다면 1024로 사용해주는게 좋다

 

텍스쳐 사이즈를 줄임으로써 무엇을 잃고 무엇을 얻는가?

 

텍스쳐 사이즈가 작아진 만큼 조금 흐려진게 눈에 띈다

하지만 그만큼 다운로드 사이즈, 텍스쳐 메모리가 줄어든다

 

여러옷을 아바타에 넣은 사람이라면 모두 텍스쳐 사이즈를 줄이게된다면 아바타 용량과 텍스쳐 메모리가 엄청나게 줄어 들것이다.

 

[저는 옷을 선명한 텍스쳐로 입고 싶은걸용??]

 

해당경우엔 귀찮겠지만 옷을 1개씩만 입히고 아바타를 따로따로 업로드를 해줘야 한다.

하지만...

[옷을 바꾸고 업로드를 하려고해도 새로 업로드가 안되고 업데이트가 되는데 어캐해용??]

 

그럴땐 하이어라키의 아바타를 클릭하고 인스펙터창의 [Pipeline Manager]를 보면 Detach가 있는데 해당 버튼을 클릭해주고

SDK를 확인해보면 새롭게 업로드가 가능하다.

 

추후 기존에 업로드한 아바타를 업데이트를 하고싶은 경우엔

 

Content Manager를 클릭한 후 Copy ID를 클릭하고

Detach를 클릭해주고

Blueprint ID에 카피한 값을 바꿔 넣어주고 Attach를 클릭해주면

기존 아바타에 업데이트가 가능해진다.

 

전에 듣기로는 옷에따라서 자동으로 블루프린트 ID를 변경해서 업로드해주는 툴이 있다고 했는데...

안써봐서 모르겠따... 이건 잘 검색해보시길...

 

글과 사진으로만 보면 은근히 복잡해 보일수도 있지만 막상해보면 에잉 뭐야 별거 아니네 함

 

다음 포스팅은 최적화를 시켜주는 VRCFURY [퍼리아님 퓨리임]에 대한 포스팅을 써보겠다

 

최적화를 위해서 파이팅