첫 메뉴 만들기
이 문서를 읽으면 아바타 루트에 컴포넌트를 붙이고 프리셋을 적용한 뒤, 빌드 클론에서 메뉴가 생기는 것까지 확인할 수 있습니다.
시작하기 전에
설치를 끝낸 상태여야 합니다. 즉 VRChat Avatars SDK 3.x와 NDMF 1.x가 프로젝트에 있고, 대상 아바타에 MingToon 재질이 들어 있고, Console에 컴파일 오류가 없어야 합니다.
이 문서의 작업은 씬에 올라와 있는 아바타에서 진행합니다. Project 창의 프리팹 에셋을 선택한 상태로는 컴포넌트 추가 메뉴가 열리지 않습니다.
아래 7단계에서 원본 아바타에 실제로 추가되는 것은 설정 컴포넌트 하나뿐입니다. 메뉴·Expression Parameters·애니메이션 클립·FX 컨트롤러는 Play Mode와 업로드 빌드가 만드는 일회용 복제본에서만 생성됩니다.
1. 아바타 루트에 컴포넌트 추가
- Hierarchy에서 아바타 루트를 선택합니다.
GameObject > Studio Raming > Ming Light Controller > Add or Configure Component를 실행합니다.
Add Component 버튼에서 Studio Raming > Ming Light Controller를 골라도 결과는 같습니다. 한 오브젝트에는 컴포넌트가 하나만 붙습니다.
이렇게 되면 정상입니다. 아바타 루트에 컴포넌트가 하나 붙고, 인스펙터 맨 위에 제품 이름과 언어 드롭다운, 그 아래에 다음 안내문이 보입니다.
이 컴포넌트는 이 아바타 전용 설정만 담습니다. 원본 FX·메뉴·파라미터·머티리얼은 건드리지 않으며, 실제 MLC 구성은 Play Mode 또는 업로드 build clone에서만 만들어집니다.
메뉴 항목이 회색이면 아래 중 하나입니다.
| 상태 | 조치 |
|---|---|
| Play Mode에 들어가 있음 | Play Mode를 빠져나온 뒤 다시 실행합니다 |
| 아바타 루트가 아닌 자식 오브젝트를 선택함 | 루트를 선택합니다 |
| Project 창의 프리팹 에셋을 선택함 | 씬에 올라온 아바타를 선택합니다 |
2. 시작 프리셋 적용
인스펙터 맨 위 빠른 시작 카드가 작업 순서를 그대로 안내합니다.
빠른 시작카드의시작 프리셋드롭다운에서 하나를 고릅니다. 처음이라면추천을 그대로 두세요.- 바로 아래
프로필은자동으로 둡니다. 적용버튼을 누릅니다.- 「현재 기능 설정을 선택한 프리셋으로 덮어쓸까요? Undo로 되돌릴 수 있습니다.」 대화상자에서
적용을 누릅니다.
이렇게 되면 정상입니다. 메뉴 트리가 그 프리셋의 구성으로 다시 그려지고, 예산·검증 카드의 숫자가 새 구성 기준으로 갱신됩니다. 잘못 눌렀다면 Ctrl+Z로 되돌릴 수 있습니다.
방금 붙인 컴포넌트는 이미 추천과 같은 상태이므로, 추천을 쓸 계획이면 이 단계를 건너뛰어도 됩니다. 다섯 프리셋이 각각 무엇을 켜고 끄는지는 시작 프리셋에 있습니다.
3. 메뉴 구성 확인
메뉴 구성 카드에서 최종 메뉴에 들어갈 항목을 확인합니다.
- 카드 위쪽의
루트줄에 현재 최상위 항목 수가 표시됩니다.추천상태에서는루트 (7 / 8)입니다. - 각 줄의 체크박스로 그 항목을 최종 메뉴와 파라미터 비용에서 뺄지 정합니다. 폴더의 체크를 끄면 그 안의 항목이 전부 함께 빠집니다.
- 왼쪽
≡손잡이를 드래그하면 순서를 바꾸거나 다른 폴더로 옮길 수 있습니다. - 항목을 더 넣으려면
+ 항목버튼을 누르고폴더·기능·머티리얼 그룹·명령중에서 고릅니다.
이렇게 되면 정상입니다. 체크를 끈 항목이 목록에서 사라지지는 않지만, 4단계의 켜진 기능 숫자와 동기화 비트 값이 그만큼 내려갑니다.
루트 (7 / 8)의 8은 VRChat Expressions Menu 한 페이지의 슬롯 수입니다. 최상위 항목이 8개를 넘지 않도록 폴더로 묶으세요.
4. 예산·검증 카드 확인
예산·검증 카드에 네 줄이 표시됩니다.
| 줄 | 읽는 법 |
|---|---|
동기화 비트 | 현재 구성을 Smooth로 만들 때와 Compact로 만들 때의 동기화 비트, 그리고 괄호 안의 예산 |
아바타 합계 | MLC가 아닌 기존 파라미터가 쓰고 있는 비트·항목 수와, 설정한 목표값 |
현재 선택 | 실제로 선택된 프로필과 그 비용 |
켜진 기능 | 켜진 기능 수 / 카탈로그 전체 기능 수 |
이렇게 되면 정상입니다. 현재 선택에 프로필 이름과 비용이 표시됩니다.
현재 선택이 「초과 / 생성 불가」로 나오거나 빨간 오류 상자가 뜨면 예산을 넘은 것입니다. 이때는 메뉴 구성에서 기능을 빼거나, 선택 항목 설정에서 일부 기능의 동기화를 꺼서 로컬 전용으로 바꾸세요. 두 프로필이 모두 예산을 넘으면 다음 안내가 뜹니다.
두 프로파일 모두 동기화 예산을 넘습니다. 기능을 끄거나 일부를 로컬 전용(Synced 해제)으로 바꾸세요.
기본 카탈로그를 전부 켠 기준으로 Smooth는 동기화 84비트에 파라미터 항목 22개, Compact는 동기화 41비트에 파라미터 항목 51개를 씁니다. 기능을 끄면 그만큼 줄어듭니다. 자세한 내용은 프로필과 파라미터 예산에 있습니다.
5. 설정 검증
예산·검증카드 안쪽 상자에서설정 검증 (원본 변경 없음)버튼을 누릅니다.- 결과 대화상자를 읽고
확인을 누릅니다.
이렇게 되면 정상입니다. 대화상자에 검증 결과 메시지가 뜨고, 아바타에는 아무 변화가 없습니다. 이 버튼은 이름 그대로 검증만 합니다.
여기서는 설정과 예산만 검증합니다. 원본 아바타에는 생성 자산, Modular Avatar host, descriptor 변경을 남기지 않습니다. Play Mode 미리보기와 업로드 시에만 임시 clone에 구성합니다.
연결 방식을 VRCFury로 명시했는데 연동이 설치되지 않았다면 이 버튼이 비활성화되고 다음 경고가 함께 표시됩니다.
VRCFury provider가 설치되지 않았습니다. VRCFury를 설치하거나 다른 build backend를 선택하세요.
같은 상자 맨 아래 Play Mode 미리보기 줄에 현재 값이 사용 또는 끔으로 표시됩니다. 이 줄은 읽기 전용이고, 값 자체는 고급 옵션에서 바꿉니다.
6. Play Mode 미리보기
고급 옵션을 펼쳐Play Mode 미리보기가 켜져 있는지 확인합니다. 기본값은 켜짐입니다.- Play 버튼을 눌러 Play Mode에 들어갑니다.
- NDMF 파이프라인을 거치는 미리보기 도구에서 아바타 메뉴를 엽니다.
이렇게 되면 정상입니다. 메뉴에 3단계에서 확인한 항목이 그대로 나타나고, Play Mode를 빠져나오면 아바타는 원래 상태로 돌아갑니다.
Play Mode 미리보기를 끄면 Play Mode 복제본에 MLC 컨트롤이 만들어지지 않습니다. 미리보기만 끄는 것이고 업로드 빌드에는 영향이 없습니다.
7. 업로드
고급 옵션의빌드 clone 준비 허용이 켜져 있는지 확인합니다. 기본값은 켜짐입니다.- VRChat SDK 창에서 평소대로 아바타를 빌드·업로드합니다.
이렇게 되면 정상입니다. 업로드가 성공하고, 인게임 Expressions 메뉴에 MLC 항목이 나타납니다. 프로젝트의 원본 아바타와 그 FX·메뉴·파라미터 에셋은 업로드 전후로 동일합니다.
빌드 clone 준비 허용을 끄면 복제본에서 설정 컴포넌트만 제거되고 메뉴는 붙지 않습니다. MLC의 모든 기능을 끈 상태로 빌드하면 런타임 구성을 만들지도 붙이지도 않은 채 빌드가 그대로 성공합니다.
MLC에는 프로젝트에 파일을 남기는 예비 경로가 없습니다. NDMF의 에셋 저장 경로 없이 호출되면 폴더를 만드는 대신 진단 메시지를 내고 실패합니다.
다음 단계
| 문서 | 언제 읽나 |
|---|---|
| 컴포넌트 인스펙터 | 카드별 항목이 각각 무엇을 바꾸는지 확인할 때 |
| 시작 프리셋 | 다른 출발점으로 바꿔 볼 때 |
| 프로필과 파라미터 예산 | 동기화 비트나 파라미터 항목이 모자랄 때 |