※모든 내용은 AI로 제작하거나 요약하지 않은, 직접 작성한 글입니다.

VRChat에서 아바타를 꾸미다 보면 여러 옷을 입히고 싶은 욕심이 분명 생깁니다.
그래서 옷장을 알아보게 됩니다. 인게임에서 버튼 조작만으로 여러 옷을 쉽게 바꾸는 건 정말 편하니까요.
하지만 옷장 만드는 방법을 여기저기 검색해 보면,
fx..? 트랜지션..? 입문자에게 어려운 용어가 잔뜩 등장하고, 어려움을 겪게 됩니다.
거기다 잘못된 방법으로 제작하는 정보까지 섞이면서 혼란이 발생하는데,
보통 2022년 전후로 업로드되었거나 하는 이전 자료들이 그래요.
옷장같은 토글 기능은 분명하게 쉽게 만드는 방법이 존재합니다.
모듈러 아바타에서 지원하는 기능들을 사용하면 됩니다.
2025년 기준으로, 의상/기믹 제작자들은 전부 모듈러 아바타 컴포넌트로 메뉴를 쉽게 제작합니다.
보통 아바타 완성품을 제작하시는 분들이 기능들을 fx 레이어에 수동으로 집어넣는데요, 이마저도 MA 컴포넌트들을 사용한 모듈식으로 교체가 되고 있는 추세입니다.
(특히 아바타에 기믹 넣으시는 분들은 거의 무조건 모듈식을 채용합니다)
이 글은 모듈러 아바타를 이용해 일반적인 옷장 기능을 제작하는 방법에 대해 알려드립니다.
이 옷장은 int 파라미터를 사용하기 때문에 int 옷장이라고도 불립니다.
헤어 등의 다른 에셋들을 교체할 때에도 이러한 메뉴를 적용할 수 있겠습니다.
또한 이 글에는 컴포넌트 사용 근거를 입문자더라도 어느 정도 이해할 수 있게 기능 설명과 원리를 곁들였으니, 숨 참고 잘 따라와 주세요.
옷장(토글)을 포함한 많은 기능들은 이렇게 구성됩니다.
1. 사용자가 조작할 버튼 (메뉴)
2. 버튼이 지시하는 신호 (파라미터)
3. 신호를 받으면 작동하는 기능 (애니메이션)
메뉴부터 만들어 봅시다.

해당 사진에서,
[KittonSummer...] 는 기본으로 착용할 옷입니다.
[forest snow] 와 [Nemesis costume] 은 교체할 다른 옷들입니다.
메뉴 제작을 위해 [옷장] 빈 오브젝트를 만들고,
각각 의상의 이름으로 빈 오브젝트를 만들어 [옷장] 안에 정리했습니다.
빈 오브젝트는 우클릭 - Create Empty (단축키 Ctrl+Shift+N)으로 만들 수 있습니다.
빈 오브젝트들은 이후에 컴포넌트를 배치함으로써,
조작할 수 있는 버튼이자 작동할 기능이 될 것입니다.

[옷장] 에 [MA Menu Item] 컴포넌트를 추가합니다.
이 컴포넌트 안에 구성할 메뉴(버튼)와 연결할 신호 (파라미터) 정보가 담깁니다.
타입을 Sub Menu (폴더) 로 변경하고, 이대로 둡니다.
이후부터는 상속된 하위 오브젝트들의 컴포넌트 정보를 알아서 인식해 연동될 거에요.
이게 [옷장] 오브젝트 안에 옷 오브젝트들을 배치하는 이유입니다.

폴더 안에 있는 각각의 오브젝트에 [MA Menu Item] 컴포넌트를 추가합니다.
Name은 오브젝트 이름으로 자동 지정되며, 따로 수정할 수도 있습니다.
파라미터는 지금은 적지 않을 겁니다.

[옷장] 으로 돌아와 보면 알아서 메뉴 내용물이 추가되어 있습니다.
토글에서 is Default는 기본적으로 활성화되는 오브젝트라면 전부 체크되어 있어야 하는데요,
이건 int형 옷장을 만들다 보면 나중에 알아서 해결됩니다.
알아서 되는 게 정말 많아요. 모듈러 아바타가 괜히 좋은 게 아님.

이제 [옷장] 에 [MA Menu Installer] 컴포넌트를 추가합니다.
설정한 토글 메뉴를 아바타 메뉴에 추가해주는 컴포넌트입니다.
기본 설정이 아바타 최상위 루트기 때문에 따로 설정을 더 만질 필요는 없습니다.
이러면 메뉴 설치는 끝났습니다.
이제 기능을 넣어야 하는데요,

의상 이름으로 된 오브젝트들에 [MA Object Toggle] 컴포넌트를 추가하고,
실제 의상 오브젝트를 드래그 앤 드롭해서 활성화/비활성화 를 지정해 줍니다.
아바타 기본 옷이라면 따로 분리되어 있는 다이나믹스 요소 (피직스본, 콜라이더) 또한 같이 토글해 줘야 투명하게 잡히는 피본 같은 현상이 안 생길 거에요.
지금 만드는 옷장은 버튼을 선택할 때마다 다른 옷이 전부 비활성화되어야 하는, 배타적인 토글입니다.
따라서 비활성화되어야 하는 오브젝트들을 전부 OFF에 넣었습니다.
나머지도 같은 방식으로 해두시면 됩니다.

기능 추가는 끝났으니, 메뉴와 기능을 연결할 신호를 만들 차례입니다.
다시 [옷장] 으로 돌아와서, [MA Parameters] 오브젝트를 추가해줍니다.
각 오브젝트의 단순 on/off 토글은 파라미터를 굳이 안 만들어도 알아서 해 주지만...
앞서 말씀드렸듯이 지금은 메뉴 안에서 하나의 버튼만 활성화되는 옷장을 만드는 것이기 때문에,
해당 기능을 수행해 주는 int 파라미터가 따로 필요합니다.
파라미터에 +버튼을 눌러 추가한 다음, 이름은 구분 가능하게, 유형은 int로,
다른 맵에 입장할 때에도 옷 상태가 유지되기를 원한다면 저장됨에 체크해 주시고 마무리하면 됩니다.

이후 저희가 특별하게 지정하지 않은 menu item의 parameter 부분에서,
Auto를 체크 해제하고 아래의 파라미터를 그대로 적은 다음 0~7의 숫자를 겹치지 않게 기입해 주세요.
0을 기입한 메뉴가(의상이) 자동으로 기본으로 설정됩니다.
이렇게 조작 가능한 메뉴 → 메뉴에 할당되는 기능 → 기능을 작동시킬 신호
순서로 설정해 봤습니다.
이제 옷장 설정이 다 됐습니다.
잘 작동합니다.
같은 방식으로 헤어 등의 다른 에셋들도 쉽게 토글을 설정할 수 있습니다.
모듈러 아바타 컴포넌트들은 비파괴이기 때문에 기능에 문제가 생겼을 때 제거하기 편합니다. 물론 확장도 쉽죠.
제작자들이 설정해둔 MA 컴포넌트들과 호환돼서 오류가 적은 것도 장점이에요.
숙련된다면 5분 이내로 세팅을 완료할 정도로 작업이 쉽고 빠르기도 하니,
여러모로 안 할 이유가 없죠.
[MA Merge Animator] 는 이 글에서 사용하지 않았습니다.
굳이 이 정도에 애니메이터를 따로 짤 필요가 없기 때문입니다.
모듈러 아바타 옷장이라면서 fx를 한땀한땀 그리고 있는 이상한 강좌들이 많습니다.
글처럼 [MA Menu Item]을 활용해 주세요.
이렇게 모듈러 아바타 컴포넌트만으로 아바타의 옷장을 만드는 방법을 소개해 드렸습니다.
글을 참고해서 다들 고통받지 말고 편하게 옷장을 만들어 보아요.
'VRChat > 아바타 꾸미기 (Unity)' 카테고리의 다른 글
| 왜 내 아바타의 얼굴이 안 바뀔까? 얼굴 표정 제대로 적용하기 (0) | 2025.11.03 |
|---|---|
| VRChat에서 아바타에 쓸 애니메이션을 녹화하는 방법 (0) | 2025.10.30 |
| 모듈러 아바타로 의상의 위치, 크기를 조절해보기 (0) | 2025.10.29 |
| 5분만에 쉽게 아바타 옷장 만들기 (3) 마테리얼 옷장 (0) | 2025.10.16 |
| 5분만에 쉽게 아바타 옷장 만들기 (2) 악세서리 옷장 (3) | 2025.09.16 |