옷장 사용 설명서

JSON 파일 하나로 캐릭터의 의상·헤어·장식품을 블루프린트에서 실시간으로 교체하는 Warudo 플러그인
👗 의상 교체 💇 헤어 교체 💎 장식품 토글

이 툴은 무엇인가요?

아바타의 오브젝트를 그룹으로 묶어 블루프린트 노드 하나로 의상·헤어·장식품을 즉시 전환합니다.

예를 들어 여름 의상 그룹에 속한 오브젝트가 여러 개라도, 노드 하나만 실행하면 해당 의상이 켜지고 나머지 의상은 자동으로 꺼집니다. 헤어도 동일하게 동작하며, 장식품은 독립적으로 ON/OFF 토글이 가능합니다.

Step 1. Unity에서 JSON 생성

Unity 패키지를 임포트하고 Wardrobe Exporter 에디터 툴로 의상·헤어·장식품 그룹을 설정한 뒤 JSON을 내보냅니다.

  1. 제공된 WardrobeExporter.unitypackage 파일을 Unity 프로젝트에 임포트합니다.
  2. Unity 상단 메뉴 Tools → Wardrobe Exporter를 클릭합니다.
  3. 씬에서 아바타 루트 오브젝트를 상단 슬롯에 드래그합니다.
옷장 관리자 Unity 에디터 창
▲ Wardrobe Exporter 에디터 창 — 의상 / 장식품 / 헤어 탭으로 구성

에디터 창은 세 개의 탭으로 나뉩니다. 각 탭에서 오브젝트를 등록하고 이름을 지정하면 됩니다.

👗 의상 탭
  1. 이름 필드에 의상 이름을 입력합니다. (예: 여름 의상)
  2. + 오브젝트 슬롯 추가를 눌러 해당 의상에 포함되는 오브젝트를 드래그합니다.
  3. + 의상 추가를 클릭합니다.
  4. 같은 방식으로 나머지 의상도 모두 등록합니다.
💡 의상은 하나만 활성화되는 방식입니다. 한 의상을 적용하면 나머지 의상은 자동으로 꺼집니다.
⚠️ 필수 체크 — 0번 의상은 반드시 기본 옷!
가장 먼저 등록하는 0번 의상은 반드시 아바타의 기본 옷(처음 입고 있는 옷)이어야 합니다. 다른 의상으로 갈아입었다가 원래 상태로 돌아오려면, 기본 옷의 오브젝트들도 똑같이 등록해서 제일 첫 번째로 추가해 줘야 합니다.
💎 장식품 탭
  1. 이름 필드에 장식품 이름을 입력합니다. (예: 안경)
  2. + 오브젝트 슬롯 추가를 눌러 오브젝트를 드래그합니다.
  3. + 장식품 추가를 클릭합니다.
💡 장식품은 의상과 독립적으로 ON/OFF 됩니다. 아바타 루트가 없어도 등록 가능합니다.
💇 헤어 탭
  1. 이름 필드에 헤어 이름을 입력합니다. (예: 단발)
  2. + 오브젝트 슬롯 추가를 눌러 오브젝트를 드래그합니다.
  3. + 헤어 추가를 클릭합니다.
💡 헤어도 의상과 동일하게 하나만 활성화되는 방식입니다.
  1. 하단 JSON 경로 필드에 저장 위치를 입력하거나 ... 버튼으로 선택합니다.
    JSON 내보내기 버튼을 클릭해 저장합니다.
📌 JSON 저장 위치 권장 경로
C:\Program Files (x86)\Steam\steamapps\common\Warudo\Warudo_Data\StreamingAssets\옷장\wardrobe.json

Warudo의 StreamingAssets 폴더 아래 원하는 폴더를 만들고 그 안에 저장하세요.

Step 2. Warudo 플러그인 설치

제공된 Wardrobe.warudo 파일 하나를 아래 경로에 넣습니다.

📌 플러그인 파일 경로
C:\Program Files (x86)\Steam\steamapps\common\Warudo\Warudo_Data\StreamingAssets\Plugins\Wardrobe.warudo

Warudo를 실행하면 플러그인이 자동으로 인식됩니다.

Step 3. Warudo 에셋 추가

Warudo 에디터에서 에셋을 추가하고 캐릭터와 JSON을 연결합니다.

  1. 에셋 추가 버튼 클릭 → 옷장 카테고리 → 옷장을 선택합니다.
Warudo 에셋 추가 화면
▲ 에셋 추가 화면에서 옷장 선택
  1. 캐릭터 슬롯에 아바타를 연결합니다.
    JSON 경로는 StreamingAssets 기준 상대 경로를 입력합니다.
    예를 들어 StreamingAssets\옷장\ 폴더에 저장했다면:
    📌 JSON 경로 입력 예시
    옷장\wardrobe.json
    💡 경로가 올바르면 JSON 불러오기 버튼 클릭 시 로드 완료 토스트가 표시됩니다. 씬이 바뀌어도 에셋이 자동으로 유지되므로 별도 재설정이 필요 없습니다.
옷장 에셋 설정 화면
▲ 옷장 에셋 — 캐릭터와 JSON 경로 설정

Step 4. 블루프린트 노드 연결

블루프린트에서 원하는 노드를 추가하고 옷장 에셋을 연결합니다. 노드는 총 5종류입니다.

옷장 블루프린트 노드 전체
▲ 옷장 블루프린트 노드 5종

의상 적용

옷장 에셋을 연결하고 의상 목록에서 이름을 선택합니다. 실행 시 선택한 의상만 켜지고 나머지 의상은 자동으로 꺼집니다. 따로 기존 의상을 끄는 노드를 연결하지 않아도 옷이 겹치는 문제가 발생하지 않습니다.

⚠️ 원래 옷으로 돌아가려면? 처음 등록한 0번(기본 의상)도 하나의 의상 세트입니다. 다른 의상을 입혔다가 기본 상태로 되돌리고 싶다면 이 노드에서 0번 의상을 선택해서 실행해주세요.

출력 포트타입설명
적용된 의상 이름string현재 활성화된 의상의 이름
적용된 의상 인덱스int현재 활성화된 의상의 인덱스 번호

헤어 적용

옷장 에셋을 연결하고 헤어 목록에서 이름을 선택합니다. 의상과 동일하게 선택한 헤어만 켜지고 나머지는 꺼집니다.

출력 포트타입설명
적용된 헤어 이름string현재 활성화된 헤어의 이름
적용된 헤어 인덱스int현재 활성화된 헤어의 인덱스 번호

장식품 켜기/끄기

옷장 에셋을 연결하고 장식품 이름과 동작을 선택합니다. 의상과 달리 장식품은 여러 개를 동시에 켤 수 있습니다. 안경을 켠 상태에서 모자 노드를 실행해도 안경이 꺼지지 않고 중첩됩니다.

동작설명
Toggle현재 상태의 반대로 전환 (ON↔OFF)
Enable강제로 ON
Disable강제로 OFF
출력 포트타입설명
현재 상태bool장식품이 현재 활성화 상태인지 여부

현재 의상 가져오기 현재 헤어 가져오기

흐름 입력 없이 현재 적용된 의상/헤어 정보를 언제든지 읽어올 수 있는 데이터 노드입니다. 조건 분기나 UI 표시에 활용하세요.

출력 포트타입설명
의상(헤어) 이름string현재 적용된 항목의 이름. 미적용 시 빈 문자열
의상(헤어) 인덱스int현재 적용된 항목의 인덱스. 미적용 시 -1
의상(헤어) 없음bool아직 아무것도 적용되지 않은 경우 true
💡 작동 원리

노드 실행 시 JSON에 등록된 오브젝트 경로를 기준으로 캐릭터 하이어라키를 탐색해 해당 오브젝트를 ON/OFF합니다. 씬이 변경되어도 에셋이 유지되므로 블루프린트 연결을 다시 할 필요가 없습니다.