面部追踪

使用网络摄像头·iPhone的面部追踪

此页面为机器翻译,可能包含不准确的内容。
本指南中,将 VRC Avatar Viewer 的虚拟形象显示应用称为「Viewer 应用」,将动作捕捉应用 (Motion Capture for VRC Avatar Viewer) 称为「Capture 应用」

Motion Capture for VRC Avatar Viewer (以下「捕捉应用」) 可以将眨眼和嘴部运动等表情反映到虚拟形象中。分别选择表情数据的获取方式和向虚拟形象的发送格式

2 个数据源 (获取方式)

  • 网络摄像头 (默认) 从连接到 PC 的网络摄像头视频中推断表情。不需要额外的硬件,任何人都可以使用,但存在无法捕捉脸颊或舌头运动等限制。
  • iPhone (iFacialMocap) 使用支持 Face ID 的 iPhone 和 iFacialMocap (付费 iOS 应用),可以获取基于 ARKit 的 52 种高精度表情数据。表现力远超网络摄像头。

选择通过「表情发送格式」来决定获取的表情数据以何种格式发送到虚拟形象。请先确认虚拟形象侧的支持格式,然后选择相应的支持格式 (详见 第 3 步 及以后)。

提示
  • 连接 iFacialMocap 时,iFacialMocap 的表情数据优先于网络摄像头 (身体运动保持网络摄像头)。
  • 无论发送格式如何,如果启用了 iFacialMocap,将使用其表情数据
  • 有关 VRChat 集成的详细信息,请参阅 VRChat 面部追踪 指南
1

用网络摄像头捕捉表情

这是默认方法。按照 直播模式指南 中的步骤打开摄像头后,表情会自动从网络摄像头推断。无需额外设置。

用网络摄像头捕捉表情
用网络摄像头捕捉表情

1-1. 可以捕捉的表情

  • 眨眼 (左右眼分别)
  • 元音 (あ・い・う・え・お)
  • 视线 (上下左右)
  • 眉毛上下、嘴部开闭、嘴角运动 等

1-2. 无法捕捉/表现不佳的动作

  • 脸颊膨胀、舌头运动
  • 在黑暗环境中精度会大幅下降。需要足够的亮度以清晰显示面部
  • 侧面、低头等看不到正面的角度
发送格式的选择方法
  • 单独使用网络摄像头时推荐使用 VRM 标准。在大多数虚拟形象上都能自然运动
  • Perfect Sync 和 VRCFT 也可以工作。但是,如上所述存在无法捕捉的动作。
2

用 iPhone 捕捉高精度表情 (iFacialMocap)

使用支持 Face ID 的 iPhone (iPhone X 及以后版本),可以大幅提高表情精度,相比网络摄像头。需要使用 iOS 应用 iFacialMocap

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」打开
  3. 当右侧状态变为 「接收中」 时,连接成功

2-4. 状态显示的含义

状态含义
停止中「使用 iFacialMocap」开关为 OFF
IP未入力iPhone 的 IP 为空。输入后会自动尝试连接
接続待機中已发送握手信号,但 iPhone 未响应 (iFacialMocap 未启动 / IP 错误 / 不同网络等)
受信中正常接收表情数据

2-5. 可以捕捉的表情

可以捕捉基于 ARKit 的 52 种混合形状 + 头部旋转 + 左右视线。包括网络摄像头无法获取的脸颊膨胀和舌头动作 (虚拟形象需要具有相应的混合形状)。

关于与网络摄像头的并用
  • 启用 iFacialMocap 期间,身体、手臂和手指的运动会继续从网络摄像头获取
  • 这是「表情来自 iFacialMocap,身体来自网络摄像头」的混合配置
3

确认虚拟形象支持的面部追踪格式

选择表情发送格式前,需要在 Viewer 应用端确认当前显示的虚拟形象支持哪些面部追踪格式。如果选择不支持的格式,从捕捉应用发送的表情数据在虚拟形象端将无法正确运动。

支持的面部追踪格式
支持的面部追踪格式
  1. 在 Viewer 应用中显示目标虚拟形象
  2. 打开直播模式 (Streaming)
  3. 在直播面板中点击 「面部追踪」 按钮
  4. 确认窗口上部「类型」按钮下方的 「支持:」 显示
对应格式的查看方法
  • 「支持: VRM/VRChat 标准, Perfect Sync」 这样的格式表示当前加载的虚拟形象支持的格式
  • 捕捉应用端的「表情发送格式」和 Viewer 端的「类型」应在这些支持的格式中选择相同的
  • 如果选择了不支持的格式,表情可能无法运动,或只有部分混合形状被反映
4-1

选择表情发送格式 (混合形状标准)

根据第 3 步中确认的虚拟形象支持格式,从捕捉应用的「表情发送格式」下拉菜单中选择。

选择表情发送格式
选择表情发送格式

VRM 标准

通过 VMC 发送 VRM 原本具有的眨眼、元音、视线等基本表情。在任何虚拟形象上都能运动,但表现相对简单。VRChat 虚拟形象的眼睛和嘴也能运动。单独使用网络摄像头时的默认推荐。

Perfect Sync

通过 VMC 发送 ARKit 的 52 种混合形状。在 Perfect Sync 支持的虚拟形象上,嘴角、眉毛、眼睑的细微运动也能被反映。与 iFacialMocap 配合使用效果最佳。

VRCFT

VRCFaceTracking 5.x 的 Unified Expressions 标准。其特点是能够重现与 VRChat 中虚拟形象相同的表情。

提示
  • VRCFT 基本上需要向虚拟形象添加专用附加组件。Perfect Sync 可在 VRChat 虚拟形象和 VRM 虚拟形象上使用,如果它们支持的话。
4-2

打开表情发送

打开捕捉应用中发送部位的「表情」。如果已经打开,保持原样即可。

打开发送部位的「表情」
打开发送部位的「表情」
6

在 Viewer 应用端选择面部追踪的类型

在 Viewer 应用端选择面部追踪的类型
在 Viewer 应用端选择面部追踪的类型

在第 3 步中确认的支持格式中,选择与捕捉应用端选择的「表情发送格式」相同的「类型」。Viewer 端的类型可以通过直播模式工具栏 → 「面部追踪」按钮打开的窗口进行切换。

5-1. 打开窗口

  1. 在 Viewer 应用中显示虚拟形象
  2. 打开直播模式 (Streaming)
  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. 将捕捉应用的 表情发送 关闭
  3. 启动 VRCFaceTracking,在 VRCFaceTracking 端与 iFacialMocap 连接
  4. 将 Viewer 应用端的面部追踪类型切换为 VRCFT,并打开接收
  5. 确认 VRCFaceTracking 认识 Viewer 应用为连接目标,且 Viewer 上的虚拟形象表情运动
VRCFaceTracking
VRCFaceTracking
表情发送关闭
表情发送关闭
注意事项
  • 在 VRCFaceTracking 能够追踪的情况下,将 Viewer 应用设置为接收状态。顺序很重要。
  • 如果 VRCFaceTracking 和 Viewer 应用之间无法交换 OSCQuery,虚拟形象将无法运动。Viewer 应用在从直播模式进行「接收」时进行交换。此时如果 VRCFaceTracking 不在追踪状态,交换将无法进行。
  • 关闭捕捉应用的表情发送是为了避免 VMC 通过的表情和 VRChat OSC 通过的表情重复反映。身体运动发送可以保持打开状态
  • 必须将 Viewer 应用端切换为 VRCFT,才能接收来自 VRCFaceTracking 的 VRChat OSC 表情参数
  • 有关 VRCFaceTracking 和 Viewer 应用之间的详细连接确认,请参阅 VRCFaceTracking 集成 指南