본문으로 건너뛰기

보조 도구

아래 도구는 특정 호환성 문제나 유지보수 상황을 위한 것입니다. 일반적인 Real Sweat System 설치에는 두 도구 모두 필요하지 않습니다.

두 메뉴 항목은 Sweat Base Module을 설치한 경우에 사용할 수 있습니다.

RealSweatSystem Clothing Fix​

Clothing Fix는 설치를 마친 뒤 테셀레이션 물방울이 불투명 의상 밖으로 비칠 때만 사용합니다. 물방울 입체감을 쓰지 않는 사용자는 보통 필요하지 않습니다.

Unity 상단 메뉴의 CookiTools → RealSweatSystem → Clothing Fix에서 열거나, 설치 창 문제 해결 탭의 땀이 옷 밖으로 비칩니다 > 의상 가림 보정 열기에서 엽니다.

권장 절차​

  1. Real Sweat System 설치를 먼저 마칩니다.
  2. Clothing Fix에서 아바타를 선택합니다.
  3. 문제가 보이는 의상 오브젝트를 드롭 영역에 넣습니다. 여러 개를 한꺼번에 넣을 수 있으며, 각 오브젝트의 비활성 하위 SkinnedMeshRenderer와 MeshRenderer를 자동 수집하고 중복은 한 번만 처리합니다.
  4. 변경을 적용하기 전에 렌더 큐 미리보기를 확인합니다.
  5. 마테리얼 복제본으로 적용 (권장)을 고릅니다.
  6. Play Mode와 사용할 월드·조명 환경에서 아바타를 확인합니다.
  • 마테리얼 복제본으로 적용 (권장)은 필요한 마테리얼을 생성 폴더에 복제하고 선택한 Renderer 슬롯만 교체합니다. 원본 에셋과 그 원본을 사용하는 다른 의상은 변경하지 않습니다.
  • 원본 마테리얼에 직접 적용은 원본 .mat의 렌더 큐를 변경합니다. 같은 원본을 사용하는 다른 의상, 아바타, 프리팹, 씬에도 모두 적용되므로 확인창을 거칩니다.
  • 두 방식 모두 렌더 큐가 땀 이하인 마테리얼만 땀 + 1로 변경합니다. 이미 땀보다 높은 마테리얼은 복제하거나 수정하지 않습니다.
  • 원본 마테리얼에 직접 적용은 바디도 쓰는 마테리얼(설치할 때 2349로 낮춘 마테리얼 포함)의 렌더 큐를 바꾸지 않습니다. 바꾸면 땀이 바디에 가려지기 때문입니다.
  • 변경 대상에 Poiyomi Lock 마테리얼이 있으면 먼저 확인합니다. 승인하면 Lock을 잠시 해제해 작업하고 원본과 필요한 복제본을 자동으로 다시 Lock합니다.

추적된 의상 변경 복원과 RealSweatSystem [제거]는 추적한 슬롯과 원본 렌더 큐를 복원합니다. 적용과 복원은 한 Undo 그룹으로 묶여 Ctrl+Z로 되돌릴 수 있으며, 사용하지 않는 생성 복제본도 Undo와 Scene/Prefab 안전을 위해 캐시에 보존됩니다.

렌더 순서 변경의 영향

렌더 순서 변경은 투명, Cutout, 데칼, 아웃라인, 겹침 마테리얼의 표현과 배칭에 영향을 줄 수 있습니다. 미리보기를 확인하고, 적용 후 아바타를 확인해 주십시오.

Rest Vertex Data Baker (고급)​

설치 창은 Real Sweat System에 필요한 Rest Position, Rest Normal, Rest Tangent 데이터를 자동으로 만듭니다. 일반 설치에서는 Rest Vertex Data Baker를 직접 사용하지 않습니다. 2.0.0의 땀 모양은 Rest 데이터가 맞는 곳에만 땀을 그리며, 굽기 뒤에 메쉬가 바뀌었으면 다음 빌드(업로드) 때 최종 메쉬로 다시 굽습니다.

CookiTools → RealSweatSystem → Rest Vertex Data Baker (Advanced)에서 열거나, 땀 마테리얼 인스펙터의 고급 > Rest 데이터에 있는 Rest Vertex Data Baker 열기로 엽니다.

다음과 같은 경우에만 이 고급 도구를 사용해 주십시오.

  • 설치 뒤에 최종 Body 메쉬를 교체한 경우
  • 호환되는 커스텀 마테리얼을 준비하는 경우
  • 없어진 Rest 데이터를 복구하거나 진단하는 경우

기본 절차​

  1. 대상 Renderer와 호환되는 마테리얼을 선택합니다.
  2. 1. 메쉬 분석을 실행하고 결과를 확인합니다.
  3. 2. 베이크 및 할당을 실행합니다. 이 PC에 Base 모듈 구매 인증이 있어야 합니다.
  4. 3. 할당 데이터 검증을 실행하고, 할당된 데이터가 대상과 맞는지 확인합니다.
  5. 업로드 전에 결과를 확인합니다.

대상 메쉬를 교체하거나 갱신할 때마다 다시 구워 주십시오.

대상은 유효한 공유 메쉬를 가진 SkinnedMeshRenderer여야 합니다. Unity가 메쉬를 읽을 수 없다면 FBX Import Settings에서 Read/Write Enabled를 잠시 켜 주십시오. 굽기를 마친 뒤 다시 꺼도 됩니다.

이전 베이크 덮어쓰기는 이름이 같은 생성 Rest 에셋을 교체합니다. 이전 데이터를 보존해야 한다면 먼저 백업해 주십시오.

Baker는 원본 FBX, Renderer의 공유 메쉬, UV, BlendShape, 관계없는 마테리얼을 수정하지 않습니다.

경고

호환되지 않는 Renderer나 마테리얼로 Baker를 억지로 실행하지 마십시오. 일반 설치가 정상적으로 동작한다면 수동 굽기를 추가로 실행하지 마십시오.

v1.0.x 과거 참고 자료 — 새 Face 대상에는 사용하지 마십시오
과거 참고 전용

v1.1부터 이 수동 절차는 설치 창의 실험적 추가 SkinnedMeshRenderer 대상으로 대체되었습니다. 새 Face 대상은 설치 창의 고급 설정에서 Face Renderer/Element를 추가해 주십시오. 그래야 추적되는 마테리얼, Rest 데이터, 마스크, 애니메이션, 복구·제거 지원을 받을 수 있습니다. 새 설치에서는 아래의 수동 절차를 따르지 마십시오.

아래 절차는 v1.0.x에서 수동으로 추가한 Face 마테리얼을 확인하거나 되돌리기 위해서만 남겨 둡니다. [설치 / 업데이트]를 누르면 생성 Clip에 직접 한 수정이 덮어써질 수 있습니다.

Face에 땀 마테리얼만 추가하면 생성 애니메이션이 Body 경로만 대상으로 하므로 Face가 계속 젖은 상태로 남을 수 있습니다. 또한 Face와 Body는 각자의 메쉬에 맞는 다른 Rest Vertex Data가 필요하므로 땀 마테리얼 하나를 함께 쓰면 안 됩니다.

진행하기 전에 필요한 경험

이 절차는 Renderer의 Materials 배열을 안전하게 편집하고, Animation 창에서 Unity Animation Clip을 확인하고, 마테리얼 커브를 추가하고, 아바타 루트 기준 Transform 경로를 확인할 수 있다고 가정합니다. 이런 작업이 익숙하지 않다면 여기서 멈추고 지원되는 Body 전용 설치를 사용해 주십시오. 일반 설치와 Tuning 작업을 모두 먼저 마치고, 복원할 수 있는 아바타 또는 프로젝트 백업을 남겨 두십시오.

수동 절차

  1. Body에 Real Sweat System을 일반적으로 설치합니다.

  2. 생성된 No Tessellation 땀 마테리얼을 복제하고, Face 전용 사본을 Real Sweat System 생성 폴더 밖에 저장합니다. Body와 Face가 같은 땀 마테리얼을 함께 쓰면 안 됩니다.

  3. Face Renderer를 선택합니다. Materials 배열의 Size를 1 늘린 뒤, 새로 생긴 마지막 Element에 Face 전용 마테리얼을 지정합니다. 기존 Face 마테리얼은 바꾸지 마십시오.

  4. Rest Vertex Data Baker를 엽니다. Target Renderer를 Face로, Target Material을 Face 전용 마테리얼로 정한 뒤 1. 메쉬 분석, 2. 베이크 및 할당, 3. 할당 데이터 검증을 순서대로 실행합니다.

  5. Real Sweat System 생성 폴더에서 다음 Animation Clip을 엽니다.

    • RealSweat_Off.anim
    • RealSweat_LocalOnlyHidden.anim
    • RealSweat_Mid.anim
    • RealSweat_On.anim
  6. 각 Clip에서 다음 Body Renderer 마테리얼 커브를 값을 바꾸지 않고 Face Renderer로 복사합니다. Binding Type은 SkinnedMeshRenderer로 유지합니다. Binding 경로는 아바타 루트 기준이어야 합니다. 예를 들어 아바타 루트 아래에 Body/Face가 있다면 Scene 경로나 아바타 루트 이름이 아니라 Body/Face를 사용합니다.

    • material._DropletAmount
    • material._SweatBuildUp
    • material._RuntimeWarmup
  7. 수동 모드와 자동 모드 모두에서 끄기, 0%, 50%, 100%를 확인합니다.

되돌리기

  1. 확실하지 않은 단계가 있으면 Play Mode를 종료하고 백업을 복원합니다.
  2. [설치 / 업데이트]를 눌러 수동 Face 커브가 없는 표준 Clip을 다시 만듭니다.
  3. Face Renderer의 Materials > Size를 1 줄여 추가한 마지막 Element만 제거합니다. 원래 Face 마테리얼은 제거하지 마십시오.
  4. 어떤 Renderer나 마테리얼도 참조하지 않는 것을 확인한 뒤에만 Face 전용 마테리얼과 수동으로 구운 Rest 에셋을 삭제합니다.
  5. 업로드 전에 지원되는 Body 전용 설치를 다시 확인합니다.

알려진 제한

  • 이 v1.0.x 과거 절차로 추가한 Face는 No Tessellation으로 남습니다. 물방울 입체감 토글과 상대 저부하가 적용되지 않습니다. 실험적 추가 대상으로 설정한 Face는 관리되는 Tess/No Tess와 상대 저부하 경로에 포함됩니다.
  • Face에 Submesh가 여러 개 있으면 추가한 마테리얼이 의도한 피부 Submesh에 그려지지 않을 수 있습니다.
  • [설치 / 업데이트]나 FX에 적용을 누르면 생성 Clip을 다시 만들어 수동으로 추가한 Face 커브가 지워집니다. Face 커브는 모든 일반 설정을 마친 뒤에 추가하고, 두 명령 중 하나를 다시 실행했다면 커브 작업도 다시 해 주십시오.
  • Tuning은 Body 쪽 마테리얼만 추적합니다. 이후 땀 품질, 스타일, 물방울 크기 같은 마테리얼 기반 설정을 바꿔도 Face 전용 마테리얼에는 동기화되지 않을 수 있습니다.
  • Face Renderer의 Hierarchy 경로를 바꾸거나, 메쉬를 교체하거나, 메쉬 최적화 도구를 실행하거나, 메쉬를 병합하면 애니메이션 Binding이나 Rest 데이터가 맞지 않게 될 수 있습니다.
  • Face Tracking, Animator 구성, 아바타 수정 도구의 모든 조합을 확인한 것은 아닙니다.