기술 사양 및 알려진 제한사항
이 페이지는 Real Sweat System v1.0.2의 현재 사양을 정리합니다. Setup에서 선택한 모듈, 아바타 Rig, 활성화한 이펙트에 따라 실제로 생성되는 메뉴·파라미터·오브젝트가 달라집니다.
모듈별 기술 범위
| 항목 | Sweat Base Module | Sweat Effects Module | Full Pack |
|---|---|---|---|
| 피부 표면의 땀과 흐르는 물방울 | ✓ | — | ✓ |
| Body용 땀 재질과 Rest 데이터 | ✓ | — | ✓ |
| Tess / No Tess 및 상대 저부하 | ✓ | — | ✓ |
| 낙하 물방울과 바닥 물자국 | — | ✓ | ✓ |
| 입김과 몸 김 | — | ✓ | ✓ |
| Manual Mode | ✓ | ✓ | ✓ |
| 대응 Rig의 Auto Mode | ✓ | ✓ | ✓ |
| Body 재질·Mesh·Rest 구성 변경 | 있음 | 없음 | Base에서만 |
Effects-only 구성도 파티클 방출 원점으로 사용할 Body Mesh를 지정해야 합니다. 다만 Body 재질, Body Mesh, Rest Vertex Data 또는 테셀레이션 구성은 변경하지 않습니다.
지원 환경
- Unity 2022.3
- VRChat Avatars SDK3
- Modular Avatar
- PC판 VRChat(Direct3D 11)
본 제품은 PC판 VRChat용입니다. Quest 단독 환경은 지원하지 않습니다.
Humanoid 아바타가 주 지원 대상입니다. Motion Pendulum을 구성할 수 있는 Humanoid Rig에서는 Manual Mode와 Auto Mode를 모두 사용할 수 있습니다. Non-Humanoid 또는 필요한 Bone 정보를 찾을 수 없는 구성에서는 Manual Mode로 전환됩니다. Rig에 따른 기능 차이는 대응 환경 및 호환성을 확인하세요.
현재 공식 지원 범위
- Setup 한 번으로 공식 추적하는 Body
SkinnedMeshRenderer는 1개입니다. - Face와 Body가 별도 Renderer인 경우, Face까지 동시에 자동 적용하는 기능은 현재 공식 지원 대상이 아닙니다.
- 여러 Body Renderer를 교체하는 구성에 동시에 자동 설치하는 기능은 현재 지원하지 않습니다.
- 모든 서드파티 Optimizer, Mesh 병합, Material 병합, 업로드 시 변환 도구의 조합을 보장하지 않습니다.
Face 수동 적용 참고 절차는 고급 도구에 있지만, 권장하지 않으며 공식 지원 대상이 아닙니다.
동기화 파라미터
아래 값은 Auto Mode를 사용할 수 있고 해당 모듈의 선택형 이펙트를 모두 설치한 경우의 최대값입니다. Setup은 설치하지 않은 모듈, 비활성화한 이펙트, 사용할 수 없는 기능의 파라미터를 제외하므로 실제 비용은 더 작을 수 있습니다.
| 구성 | 동기화 파라미터 수(최대) | 동기화 비용(최대) |
|---|---|---|
| Base / No Tess | 5 | 19 bit |
| Base / Tess Support | 6 | 20 bit |
| Effects | 9 | 23 bit |
| Full Pack / No Tess | 10 | 24 bit |
| Full Pack / Tess Support | 11 | 25 bit |
최대값에는 Sweat %, Auto Mode의 Float와 땀 ON, 표시 범위, 모듈별 토글이 포함됩니다. 낙하 물방울·바닥 물자국·입김·몸 김을 모두 설치하면 이펙트별 동기화 Bool이 최대 4개 추가됩니다. 테셀레이션 지원을 탑재하면 동기화 Bool 1개가 추가됩니다.
Animator 내부 계산 파라미터와 동기화하지 않는 Exertion·Breath Rate 값은 위 동기화 파라미터 수와 bit 수에 포함하지 않습니다.
땀 재질과 동시 렌더링 수
여기서 재질 수는 Base가 Body의 땀 표면용으로 관리하는 재질만 의미합니다. Effects의 파티클용 재질은 포함하지 않습니다.
| Base 설치 설정 | 땀 표면 재질 | 동시에 렌더링되는 땀 재질 |
|---|---|---|
| 입체기능 미탑재 | No Tess 1개 | 1개 |
| 입체기능 탑재 | Tess + No Tess 2개 | 1개 |
| Effects-only | Body용 땀 재질을 추가하지 않음 | 0개 |
입체기능을 탑재해도 Tess와 No Tess를 동시에 렌더링하지 않습니다. 동일한 Body Slot에서 둘을 교체합니다.
PhysBone과 Collider
| 항목 | Setup이 생성하는 수 |
|---|---|
Auto Mode용 VRCPhysBone | 대응 Rig에서는 1개, Manual-only 구성에서는 0개 |
VRCPhysBoneCollider | 0개 |
Auto Mode용 PhysBone은 RealSweat 하위의 전용 Motion Pendulum에 생성됩니다. Real Sweat System은 아바타에 이미 존재하는 가슴·머리카락·의상 등의 PhysBone이나 Collider를 의도적으로 수정하지 않습니다.
Real Sweat System의 표준 Setup은 기존 PhysBone을 편집하지 않습니다. 다른 도구가 빌드 중 Bone이나 Component를 병합하는지, 아바타 Constraint가 영향을 주는지, Play Mode의 최종 구성을 확인하세요.
Rest Vertex Data
Base Module은 선택한 표시 Mesh에 대응하는 다음 3개의 버텍스 단위 Rest 데이터 텍스처를 생성합니다.
- Rest Position
- Rest Normal
- Rest Tangent
Rest Vertex Data Baker는 Mesh를 읽고 생성한 텍스처를 대상 땀 재질에 할당합니다. 원본 FBX, sharedMesh, UV, BlendShape 또는 다른 재질을 직접 수정하지 않습니다. Rest 데이터는 특정 Mesh의 버텍스 구성에 대응하므로, 서로 다른 Mesh가 동일한 땀 재질을 공유할 수 없습니다.
Setup 이후 Body Mesh를 교체하거나 버텍스 구성을 변경하거나 Submesh를 병합하면 Rest 데이터와 최종 표시 Mesh의 연결이 무효화될 수 있습니다.
Render Queue와 그림자
- 자동 렌더 순서는 땀 재질의 Render Queue를 정확히 2455로 설정합니다.
- 선택한 Body 재질은 2454 이하로 유지합니다.
- 자동 순서를 사용할 수 없는 구성에서는 수동 Queue를 사용할 수 있지만, 2501 이상은 Transparent 정렬의 영향을 받습니다.
- 바디 Shadow Strength 따라가기를 활성화하면 Setup 또는 FX에 적용 시 대상 Body 재질의
_ShadowStrength를 땀 재질에 반영합니다.
상세 조건과 예외는 대응 환경 및 호환성을 확인하세요.
Tess·상대 저부하·Effects의 기술 동작
Tessellation
Base Module의 선택 기능입니다. No Tess보다 실루엣이 매끄럽고 물방울의 입체 변위가 추가되지만 GPU 부하가 증가합니다. 탑재하지 않으면 No Tess 재질 1개만 업로드합니다.
상대 저부하
Base Module이 설치된 경우 사용할 수 있습니다. 활성화하면 다른 사용자에게 보이는 땀을 No Tess의 내장 Lite 경로로 전환합니다.
- Tess Support 탑재 시: 다른 사용자에게 No Tess 재질 + Lite 경로 적용
- Tess Support 미탑재 시: 동일한 No Tess 재질의 Lite 경로 사용
- 본인 화면: 본인이 선택한 Tess / No Tess 상태 유지
- 동시 렌더링: 땀 재질은 항상 1개
Effects
Effects Module은 파티클로 낙하 물방울, 바닥 물자국, 입김과 몸 김을 표현합니다. Setup에서 선택한 이펙트만 메뉴와 파라미터에 추가되며, 인게임에서 각각 비활성화할 수 있습니다.
바닥 물자국은 월드의 바닥 Collider와 Layer 구성에 영향을 받습니다. 입김과 몸 김은 필요한 Head·Chest Anchor를 찾을 수 있는 구성에서 생성됩니다.
빌드 시 Mesh를 변경하는 도구
Unity Editor에서는 정상이지만 VRChat 안에서만 땀의 위치·형태·표시가 깨진다면, 업로드 과정에서 다른 도구가 다음 항목 중 하나를 변경했을 가능성이 있습니다.
- 대상 Body Renderer 또는 Mesh
- 버텍스·Submesh 구성
- Material Slot 순서
- Rest 데이터가 참조하는 최종 표시 Mesh
이 경우 해당 도구에 예외 목록이 있다면 Real Sweat가 사용하는 Body Renderer를 최적화나 병합 대상에서 제외하세요. Body Renderer를 제외하는 기능이 없다면 해당 도구와의 호환성을 보장할 수 없습니다.
Mesh 변경을 먼저 확정할 수 있는 작업 순서라면 최종 Mesh를 만든 뒤 Real Sweat System Setup을 실행하세요. 빌드 시에만 Mesh가 변경되는 구성은 최종 결과와의 호환성을 개별적으로 확인해야 합니다.