개별 도구 창
상단 메뉴의 さたにあしょっぴんぐ/エディタカスタマイザー/ (사타니아 쇼핑 / 에디터 커스터마이저 /) 하위에서 열 수 있는 독립된 도구 모음입니다.
| 도구 | 기능 |
|---|---|
| Component Finder | 컴포넌트 타입으로 씬 안을 검색하여 일괄 선택 |
| SkinnedMesh Bounds Batch Setter | 여러 SMR의 Bounds를 기준에 맞춰 일괄 설정 |
| Humanoid Bone 이름 덤프 | HumanBodyBones → 실제 본 이름의 대응 관계를 JSON / C#으로 내보내기 |
| Mirror Placement | 오브젝트를 대칭 위치로 "이동 / 복제하여 배치" |
| Transition Condition Finder | Condition으로 모든 레이어를 횡단하여 Transition을 검색하고 일괄 선택 |
| Transition 역조건 (Return Helper) | 선택한 Transition의 부정 조건으로부터 복귀 트랜지션을 자동 생성 |
| AnimationClip Loop Maker | 적절한 루프 지점을 자동 검출하여 루프 클립으로 만들기 |
| Breath Animation Builder | Humanoid 클립에 호흡·흔들림 부여 (씬에서 미리보기) |
| AnimationClip Splitter | 커브를 Animator 계열과 그 외로 분할 (Humanoid 본 단위 분할도) |
| AnimationClip Path Editor | 선택한 커브 경로만 치환 / prefix・suffix 추가 / 일부 삭제, Missing 커브 삭제 |
| AnimationClip Binding Checker | 여러 클립의 바인딩 일치 여부를 검사 (WD OFF용) |
| RichText Builder | <b> / <color> 등의 리치 텍스트를 조립하여 복사 |
| SerializedProperty Browser | 임의의 Object의 SerializedProperty를 path와 함께 열람 (AnimationClip의 propertyName 변환도 병기) |
| Asset Reference Tree | 에셋의 참조 관계를 트리로 표시 |
| Copy Asset Values | 같은 타입의 에셋끼리 내용을 복사 |
| Hierarchy Path Tool | Root → Target의 상대 경로를 계산하여 복사 |
Component Finder
컴포넌트 타입을 선택하면, 씬 전체 (또는 지정한 Transform 하위)에서 해당 타입의 인스턴스를 모두 나열합니다. 여러 개를 선택해 Selection에 반영할 수 있으므로, "PhysBone을 전부 선택해서 값을 일괄 변경하고 싶다" 같은 상황에 유용합니다.
SkinnedMesh Bounds Batch Setter
기준으로 삼을 Transform을 지정하면, 선택한 SkinnedMeshRenderer의 localBounds를 같은 월드 위치·크기로 일괄 설정합니다. Scene 뷰에 기즈모도 표시됩니다. 의상마다 Bounds가 제각각이라 곤란할 때 유용합니다.
Humanoid Bone 이름 덤프
Humanoid의 Animator에서 각 HumanBodyBones에 대응하는 실제 본 이름 (또는 Hierarchy 경로)을 추출하여 내보냅니다. 출력 형식은 JSON 파일 / JSON 클립보드 / C#의 Dictionary 이니셜라이저 중에서 선택할 수 있습니다.
Mirror Placement
등록한 오브젝트를 피벗 기준의 대칭 (미러) 위치·방향으로 "그 자리에서 이동"하거나 "복제하여 배치"합니다.
- 대상은 드래그 & 드롭 또는 「選択中を追加」(선택 중인 항목 추가)로 등록합니다
- 반전 축 (X / Y / Z)과, 앞뒤 대칭 메시를 위한 「向き補正 180°」(방향 보정 180°) 옵션이 있습니다
- Undo는 한 번으로 한꺼번에 되돌릴 수 있습니다
Transition Condition Finder
AnimatorController를 지정하면 (Animator 창에서 열려 있는 Controller를 가져오는 버튼도 있습니다), 지정한 Condition을 포함하는 Transition을 모든 레이어를 횡단하여 검색합니다. "이 파라미터를 이 조건으로 쓰는 트랜지션이 어디였더라?"를 한 번에 찾을 수 있습니다.
- 일치 정밀도는 3단계: 파라미터 이름만 / + Mode / + Mode + Threshold
- AnyState / Entry / 서브 스테이트 머신 / 스테이트 머신에서 출발하는 트랜지션도 대상입니다
- 검색된 Transition은 체크박스로 여러 개를 선택할 수 있고, 그대로
Selection에 반영됩니다 — Inspector에서 확인하거나 Transition 복사 & 붙여넣기로 넘길 때 유용합니다
Transition 역조건 (Return Helper)
선택한 Transition (여러 개 가능)의 "더 이상 성립하지 않게 되는 조건" = 부정 조건을 계산하여 표시하고, 그대로 복귀 트랜지션 (도착 State → 출발 State)을 자동 생성합니다. "ON으로 트랜지션시켰으니 OFF로 돌아오는 트랜지션도 만들고 싶다"를 클릭 한 번으로 해결합니다.
- 같은 출발 State → 도착 State 사이의 여러 Transition은 한꺼번에 반전됩니다 (부정 조건의 전개에 따라 필요하면 여러 개의 복귀 트랜지션으로 생성됩니다)
- 주의가 필요한 경우는 경고로 알려 줍니다: Greater ⇔ Less 반전은 임계값과 정확히 같은 값을 놓침 / Trigger의 부정은 의미가 없음 / Has Exit Time의 시간 조건은 부정 대상에서 제외
- 생성한 복귀 트랜지션은 Undo 한 번으로 한꺼번에 되돌릴 수 있습니다
AnimationClip Loop Maker
AnimationClip의 "적절한 루프 지점"을 자동 검출하여 루프하는 클립으로 만들어 줍니다.
- 방식은 2가지: 루프 지점에서 잘라내기 (트림) / 끝 지점을 시작 지점으로 부드럽게 잇기 (심 블렌드)
- 검색 범위는 타임라인 UI로 지정할 수 있으며, 움직이면 실시간으로 다시 탐색합니다
Breath Animation Builder
Humanoid AnimationClip에 「호흡」과 「흔들림」을 부여한 클립을 만듭니다. 메뉴 AnimationClip/Breath Animation Builder, 또는 Project 뷰에서 AnimationClip을 우클릭 → 「Breath Animation Builder で開く」(Breath Animation Builder에서 열기).
- 대상은 Humanoid의 Muscle 커브뿐이며, 그 외 (RootT/RootQ, BlendShape, Transform, Animator 파라미터 등)는 그대로 복사됩니다
- 호흡 … 가슴 / 윗가슴 / 척추 / 양 어깨 / 목 / 머리의 Muscle을 코사인파로 「내쉰 상태 (원래 포즈) → 들이쉰 상태」로 왕복시킵니다. 주기는 클립 길이를 정수로 나눈 값으로 반올림하여 루프가 이어지게 합니다 (실효 주기는 창에 표시). 부위별 가중치는 변경할 수 있습니다
- 흔들림 (기본 OFF) … 부위별 가중치 × 진폭의 Perlin 노이즈를 더합니다. 루프 시 시작점과 끝점이 매끄럽게 이어지고, 시각 0에서는 항상 원래 포즈와 일치합니다
- 미리보기 … 씬의 Humanoid 아바타를 지정하고 「プレビュー開始」(미리보기 시작). 설정을 바꾸면 즉시 반영되며, 「元のクリップを表示」(원본 클립 표시)로 호흡 없는 상태와 비교할 수 있습니다. 정지하면 아바타는 원래 상태로 돌아갑니다 (씬은 변경되지 않음)
- 저장 … 「別名で保存...」(다른 이름으로 저장)으로 새
.anim에 (기존 파일을 고르면 GUID를 유지한 채 내용 교체), 「元のクリップを上書き」(원본 클립 덮어쓰기)로 원본을 다시 씀 (Undo 가능). FBX 안의 클립 등 편집 불가 항목은 다른 이름으로 저장만 가능 - 길이 (기본 15초. 움직임이 있는 루프 클립은 그 정수배로 자동 조정), 키 간격, 루프, 시드는 공통 설정. Loop Blend나 Root Transform 같은 클립 설정은 원본 클립에서 이어받습니다
AnimationClip Splitter
클립의 커브를 Animator 계열 (Humanoid 머슬 / Animator 파라미터)과 그 외로 나누어, 2개의 클립으로 내보냅니다.
- Humanoid ボーンのカーブだけを分ける (Humanoid 본의 커브만 나누기) (토글) … ON으로 하면 Animator 지정란이 나타납니다. 지정한 Animator의 Avatar에 매핑된 Humanoid 본 (Hips / Spine / … 의 Transform)을 가져와, 그 경로의 Transform 커브 (위치 / 회전 / 스케일)와 그 외 (다른 본・BlendShape・Animator 계열 등)의 2개로 나눕니다. Generic 본 애니메이션에서 몸 본의 움직임만 꺼내고 싶을 때 유용합니다. 미리보기에는 클립 안에서 일치한 본 수도 표시됩니다. 나누는 방식・내보내기 (suffix, 저장 위치, Clip 설정 계승)는 일반 분할과 같습니다
AnimationClip Path Editor
클립 안의 커브 경로를 목록에서 선택한 경로에만 일괄 편집합니다. 대상 클립 (여러 개 가능)의 경로 목록에서 체크로 선택하고, 조작을 고른 뒤 미리보기를 확인하고 Apply 합니다 (Undo 가능). 옛 「AnimationClip Path Batch Edit」(모든 경로에 prefix 추가)의 후속 도구로, 전체 선택 후 prefix를 추가하면 같은 결과를 얻을 수 있습니다. 창은 Editor Setting과 같은 왼쪽 탭 구성으로, 「Path Editor」 탭과 「MissingRemover」 탭이 있으며 대상 클립은 두 탭에서 공통입니다.
- 置換 (치환) … 검색 문자열을 치환 문자열로 바꿉니다 (경로의 일부가 일치하면 그 부분을 치환). 대소문자 구분과 정규식 전환 가능
- prefix / suffix 追加 (prefix / suffix 추가) … 선택한 경로의 앞뒤에 문자열을 붙입니다. 「階層として追加する」(계층으로 추가) ON이면
/를 자동으로 보충합니다 (Armature→Armature/Hips). OFF면 문자열을 그대로 이어 붙입니다 (_1→Hips_1) - 一部を削除 (일부 삭제) … 지정한 문자열을 경로에서 제거합니다 (
Costume/를 지워 한 계층 올리기 등) - 경로 목록은 필터로 좁힐 수 있고, 표시 중인 항목의 전체 선택 / 전체 해제 / 반전이 가능합니다. 편집 후 같은 경로・프로퍼티의 커브가 충돌하는 경우 미리보기에 표시하고 Apply를 막습니다
- MissingRemover 탭 … Animator를 지정하면, 그 루트에서 해결할 수 없는 커브 (Animation 창에서
Missing!으로 표시되는 것: 경로의 GameObject / Component가 없음, 프로퍼티가 없음, Humanoid가 아닌 Animator의 머슬 등)를 대상 클립에서 나열하고 한 번에 삭제할 수 있습니다 (확인 대화상자 있음, Undo 가능)
AnimationClip Binding Checker
여러 AnimationClip이 같은 Path / Attribute (커브 바인딩)로 구성되어 있는지를 검사하고, 맞지 않는 부분을 클립별로 나열합니다.
WriteDefaults OFF 운용의 필수품
WD OFF에서는 레이어 안의 모든 클립이 같은 프로퍼티 집합을 애니메이션하지 않으면, 전환 시 이전 값이 남는 문제가 생깁니다. 이 도구로 맞춰져 있는지를 한 번에 확인할 수 있습니다.
- 「結果をコピー」(결과 복사)로 리포트를 텍스트로 출력할 수 있습니다
RichText Builder
<b> / <i> / <size> / <color>를 세그먼트 단위로 조립하여, 미리보기를 보면서 리치 텍스트를 작성 → 복사할 수 있습니다. VRChat의 그룹 설명문 등에 유용합니다.
- Gradient 문자 장식 — Gradient를 지정하면 문자마다 색을 샘플링하여 그라데이션 문자를 만들 수 있습니다
- 「なじませ」(주변 색과 섞기) 슬라이더로, 급격한 색 키가 1~2글자만 튀어 보이는 것을 주변 색으로 녹여 낼 수 있습니다
- 그라데이션 필드를 우클릭으로 복사 / 붙여넣기할 수 있습니다 (Unity의 그라데이션 필드와 양방향)
- 출력란에 글자 수가 표시됩니다 (그라데이션은 1글자당 약 23자의 태그 비용이 들므로, 붙여넣을 곳의 상한 확인용)
- RichText에서 불러오기 — 상단의 「RichText から読み込む...」(RichText에서 불러오기...) 버튼으로 열리는 창에 기존 리치 텍스트를 붙여넣고 「読み込む」(불러오기)를 누르면,
<b>/<i>/<size>/<color>를 해석하여 장식이 같은 범위마다 세그먼트로 분해합니다 (기존 세그먼트를 교체. 「既存のセグメントの後ろに追加」(기존 세그먼트 뒤에 추가) 토글 있음)- 지원하지 않는 태그는 문자 그대로 남습니다. 그라데이션 출력은 1글자씩의 색 세그먼트가 됩니다
- size의 기본값은 23입니다
SerializedProperty Browser
임의의 UnityEngine.Object (Component / GameObject / Material / ScriptableObject 등)를 SerializedObject로 전개하여, 모든 SerializedProperty를 propertyPath / 형 / 현재 값과 함께 나열합니다. 필터와 접기/펼치기가 있고, 표시된 내용은 모두 드래그로 복사할 수 있습니다. "이 Component의 그 필드, propertyPath가 뭐지?"를 알아볼 때 유용합니다.
- AnimationClip 커브를 쓸 때를 위해,
propertyPath와propertyName이 다른 프로퍼티 (m_BlendShapeWeights.Array.data[N]→blendShape.〇〇등)는 AnimationClip용 표기도 병기합니다 - 옛 이름은 「AnimationClip Binding Browser」(AnimationClip 그룹에 있었습니다). 내용은 같습니다
에셋 관련 도구
- Asset Reference Tree — 에셋의 참조 관계를 트리로 표시합니다
- Copy Asset Values — 같은 타입의 단일 에셋끼리 A의 내용을 B로 복사합니다 (B의 이름과 참조는 유지)
- Hierarchy Path Tool — Root에서 Target까지의 상대 경로를 계산하여 복사합니다