페이스 트래킹

웹캠·iPhone을 사용한 페이스 트래킹

이 페이지는 기계 번역되었으며 부정확한 내용이 포함될 수 있습니다.
본 가이드에서는 VRC Avatar Viewer의 아바타 표시 앱을 「뷰어 앱」, 모션 캡처 앱 (Motion Capture for VRC Avatar Viewer)을 「캡처 앱」이라고 부릅니다.

Motion Capture for VRC Avatar Viewer (이하「캡처 앱」)은 눈 깜빡임이나 입 움직임 등의 표정도 아바타에 반영할 수 있습니다. 표정 데이터의 획득 방법과 아바타로의 송신 형식을 각각 선택하여 사용합니다.

2 가지 데이터 소스 (획득 방법)

  • 웹카메라 (기본값) PC에 연결된 웹카메라의 영상으로부터 표정을 추정합니다. 추가 기재가 필요 없어 누구나 사용할 수 있지만, 볼의 부풀림이나 혀의 움직임은 획득할 수 없는 등의 제약이 있습니다.
  • iPhone (iFacialMocap) Face ID 지원 iPhone과 iFacialMocap (유료 iOS 앱)을 사용하면, ARKit 기반의 52 종류의 고정밀 표정 데이터를 획득할 수 있습니다. 웹카메라를 크게 능가하는 표현력입니다.

획득한 표정 데이터를 어떤 형식으로 아바타에 보낼지는 「표정 송신 형식」에서 선택합니다. 먼저 아바터 측의 대응 형식을 확인하고, 해당 대응 형식에 맞게 선택해 주세요 (자세한 내용은 Step 3 이후).

  • iFacialMocap이 연결 중인 경우, 웹카메라보다 iFacialMocap의 표정 데이터가 우선됩니다 (몸의 움직임은 웹카메라 유지)
  • 송신 형식에 관계없이, iFacialMocap이 유효하면 그쪽의 표정 데이터가 사용됩니다
  • VRChat 연동의 자세한 내용은 VRChat에서 페이스 트래킹 가이드를 참조해 주세요
1

웹카메라로 표정을 잡기

기본 방법입니다. 배포 모드 가이드의 절차에 따라 카메라를 시작하면, 자동으로 웹카메라에서 표정도 추정됩니다. 추가 설정은 불필요합니다.

웹카메라로 표정을 잡기
웹카메라로 표정을 잡기

1-1. 획득할 수 있는 표정

  • 눈 깜빡임 (양쪽 눈 각각)
  • 모음 (아・이・우・에・오)
  • 시선 (상하좌우)
  • 눈썹의 상하, 입의 개폐, 입꼬리의 움직임 등

1-2. 획득할 수 없음 / 어려운 것

  • 볼의 부풀림, 혀의 움직임
  • 어두운 곳에서는 정확도가 크게 떨어집니다. 얼굴이 명확히 보이는 밝기가 필요합니다
  • 옆얼굴・고개를 숙인 등, 얼굴의 정면이 보이지 않는 각도
송신 형식의 선택 방법
  • 웹카메라 단독으로 사용하는 경우의 추천은 VRM 표준입니다. 대부분의 아바타에서 자연스럽게 움직입니다
  • Perfect Sync와 VRCFT도 작동합니다. 하지만 위와 같이 획득할 수 없는 움직임이 있습니다.
2

iPhone으로 고정밀 표정을 잡기 (iFacialMocap)

Face ID 지원 iPhone (iPhone X 이후)을 사용하면, 웹카메라보다 훨씬 높은 표정 정확도를 얻을 수 있습니다. iFacialMocap이라는 iOS 앱이 필요합니다.

iFacialMocap
iFacialMocap

2-1. 필요한 것

  • Face ID 지원 iPhone 또는 iPad Pro
  • App Store에서 구매한 iFacialMocap (iOS 유료 앱)
  • iPhone과 PC가 동일한 Wi-Fi (LAN)에 연결되어 있어야 함

2-2. iPhone 쪽 설정

  1. iPhone에서 iFacialMocap을 실행합니다
  2. 화면에 「PC 쪽 소프트웨어와 연결해 주세요」라고 표시되므로, IP 주소 (예: 192.168.1.10)를 메모합니다
IP 주소가 표시되지 않을 때
  • iFacialMocap의 설정을 열어 「대상 설정」을 확인해 주세요. 「대상 IP 주소」에 값이 입력되어 있으면 표시되지 않습니다. 아래의 「대상 설정 리셋」을 누르고 앱을 다시 시작하면 표시됩니다.

2-3. 캡처 앱 쪽 설정

  1. 캡처 앱의 「iFacialMocap의 IP 주소」 필드에 메모한 iPhone IP를 입력합니다
  2. 「iFacialMocap 사용」을 ON으로 합니다
  3. 옆의 상태가 「수신 중」이 되면 연결 성공입니다

2-4. 상태 표시의 의미

상태의미
중지 중「iFacialMocap 사용」 토글이 OFF
IP 미입력iPhone IP가 비어있음. 입력하면 자동으로 연결을 시도합니다
연결 대기 중핸드셰이크는 전송했지만 iPhone으로부터 응답이 없음 (iFacialMocap이 실행되지 않음 / IP 다름 / 다른 네트워크 등)
수신 중정상적으로 표정 데이터를 수신하고 있음

2-5. 획득할 수 있는 표정

ARKit 기반의 52 종류의 블렌드셰이프 + 머리 회전 + 좌우 시선을 획득할 수 있습니다. 웹카메라에서 얻을 수 없는 볼의 부풀림이나 혀도 포함됩니다 (아바터 쪽이 해당 블렌드셰이프를 가지고 있어야 합니다).

웹카메라와의 병용에 대해
  • iFacialMocap을 활성화하고 있어도, 몸・팔・손가락의 움직임은 웹카메라에서 계속 획득됩니다
  • 「표정만 iFacialMocap, 몸은 웹카메라」라는 하이브리드 구성입니다
3

아바터가 지원하는 페이스 트래킹 형식 확인

표정 송신 형식을 선택하기 전에, 현재 표시하고 있는 아바터가 어떤 페이스 트래킹 형식을 지원하는지 Viewer 앱 쪽에서 확인합니다. 지원하지 않는 형식을 선택하면, 캡처 앱에서 표정 데이터를 보내도 아바터 쪽에서 올바르게 움직이지 않습니다.

지원하는 페이스 트래킹 형식
지원하는 페이스 트래킹 형식
  1. Viewer 앱에서 대상 아바타를 표시합니다
  2. 배포 모드 (Streaming)를 ON으로 합니다
  3. 배포 패널 내의 「페이스 트래킹」 버튼을 클릭합니다
  4. 윈도우 상단의 「유형」 버튼 아래의 「지원:」 표시를 확인합니다
대응 형식의 보는 방법
  • 「지원: VRM/VRChat 표준, Perfect Sync」처럼, 현재 로드 중인 아바터가 지원하는 형식이 표시됩니다
  • 캡처 앱 쪽의 「표정 송신 형식」과 Viewer 쪽의 「유형」은 이 대응 형식 중에서 동일한 것을 선택해 주세요
  • 지원하지 않는 형식을 선택한 경우, 표정이 움직이지 않거나 일부 블렌드셰이프만 반영되지 않을 수 있습니다
4-1

표정 송신 형식 (블렌드셰이프 규격) 선택

Step 3에서 확인한 아바터 쪽의 대응 형식에 맞게, 캡처 앱의 「표정 송신 형식」 드롭다운에서 선택합니다.

표정 송신 형식의 선택
표정 송신 형식의 선택

VRM 표준

VRM이 원래 가지고 있는 눈 깜빡임・모음・시선 등의 기본 표정을 VMC로 송신합니다. 모든 아바타에서 움직이지만, 표현은 간단합니다. VRChat 아바타에서도 눈, 입이 작동합니다. 웹카메라 단독으로 사용하는 경우의 기본 추천입니다.

Perfect Sync

ARKit의 52 종류의 블렌드셰이프를 VMC로 송신합니다. Perfect Sync 지원 아바타에서는, 입꼬리・눈썹・눈꺼풀의 섬세한 움직임까지 반영됩니다. iFacialMocap과 결합하면 효과적입니다.

VRCFT

VRCFaceTracking 5.x의 Unified Expressions 규격입니다. VRChat 내의 아바터와 동일한 표정을 재현할 수 있다는 것이 특징입니다.

  • VRCFT는 기본적으로 아바터에 전용 애드온을 추가해야 합니다. Perfect Sync는 VRChat 아바타, VRM 아바타 어느 쪽이든 대응하고 있으면 이용 가능합니다.
4-2

표정 송신을 켜기

캡처 앱의 송신 부위의 「표정」을 켭니다. 이미 켜져 있는 경우는 그대로 괜찮습니다.

송신 부위의 「표정」을 켜기
송신 부위의 「표정」을 켜기
6

Viewer 앱 쪽에서 페이스 트래킹의 유형을 선택

Viewer 앱 쪽에서 페이스 트래킹의 유형을 선택
Viewer 앱 쪽에서 페이스 트래킹의 유형을 선택

Step 3에서 확인한 대응 형식 중에서, 캡처 앱 쪽에서 선택한 「표정 송신 형식」과 동일한 「유형」을 Viewer 앱 쪽에서도 선택합니다. Viewer 쪽의 유형은 배포 모드의 툴바 → 「페이스 트래킹」 버튼으로 열리는 윈도우에서 전환합니다.

5-1. 윈도우 열기

  1. Viewer 앱에서 아바타를 표시합니다
  2. 배포 모드 (Streaming)를 ON으로 합니다
  3. 배포 패널 내의 「페이스 트래킹」 버튼을 클릭합니다

5-2. 유형 전환

윈도우 상단의 「유형」 버튼을 클릭할 때마다, VRM/VRChat 표준 → Perfect Sync → VRCFT 순서로 전환됩니다. 캡처 앱 쪽의 선택과 일치시켜 주세요.

Viewer 쪽 「유형」캡처 앱 쪽 「표정 송신 형식」
VRM/VRChat 표준VRM 표준
Perfect SyncPerfect Sync
VRCFTVRCFT

5-3. 주의점

  • VRCFT 선택 중에는 카테고리별 표정 강도 슬라이더가 비활성화됩니다: VRCFT는 VRChat OSC를 통해 표정 파라미터를 직접 구동하기 때문에, Viewer 쪽의 블렌드셰이프 강도 조정은 적용되지 않습니다
선택

표정만 VRCFaceTracking에 맡기기

몸의 모션만 캡처 앱에서 송신하고, 표정은 VRCFaceTracking에서 송신하는 구성으로 할 수 있습니다. iFacialMocap은 물론, VRCFaceTracking이 지원하는 다양한 모듈을 이용할 수 있습니다.

기본적으로는, VRCFT나 페이스 트래킹 디바이스를 이해하고 있는 고급 사용자용 설정입니다

[캡처 앱] →VMC Protocol→ [Viewer 앱]
[iFacialMocap] → [VRCFaceTracking] →VRChat OSC→ [Viewer 앱]

사용 분류

담당송신 경로송신 내용
모션 계열VMC 프로토콜몸, 머리, 팔, 손 등의 자세
표정 송신 계열VRChat OSC눈 깜빡임, 입, 눈썹, 시선 등의 페이스 트래킹

절차

  1. 캡처 앱에서 통상적으로 모션 송신을 시작합니다
  2. 캡처 앱의 표정 송신을 OFF로 합니다
  3. VRCFaceTracking을 시작하고, VRCFaceTracking 쪽에서 iFacialMocap과 연결합니다
  4. Viewer 앱 쪽의 페이스 트래킹 유형을 VRCFT로 전환하고 수신을 켭니다
  5. VRCFaceTracking이 Viewer 앱을 연결처로 인식하고, Viewer 위의 아바터의 표정이 움직이는 것을 확인합니다
VRCFaceTracking
VRCFaceTracking
표정 송신의 오프
표정 송신의 오프
주의점
  • VRCFaceTracking을 트래킹할 수 있도록 한 후에, Viewer 앱을 수신 상태로 해 주세요. 순서가 중요합니다.
  • VRCFaceTracking과 Viewer 앱 간에 OSCQuery가 교환되지 않으면 아바타가 움직이지 않습니다. Viewer 앱은 배포 모드에서 「수신」을 수행했을 때 교환을 진행합니다. 이 때 VRCFaceTracking이 트래킹 상태가 아니면 교환할 수 없습니다.
  • 캡처 앱의 표정 송신을 OFF로 하는 것은, VMC를 경유한 표정과 VRChat OSC를 경유한 표정이 중복으로 반영되는 것을 피하기 위함입니다. 몸의 모션 송신은 ON의 상태로 문제없습니다
  • Viewer 앱 쪽을 VRCFT로 전환하지 않으면, VRCFaceTracking으로부터의 VRChat OSC 표정 파라미터를 수신할 수 없습니다
  • VRCFaceTracking과 Viewer 앱의 자세한 연결 확인은 VRCFaceTracking 연동 가이드를 참조해 주세요