Move Your Avatar (Capture App)

Move your avatar with a webcam and motion capture

This page has been machine translated and may contain inaccuracies.

By combining the VRC Avatar Viewer and Motion Capture for VRC Avatar Viewer (hereinafter "Capture App"), you can reflect movements from a webcam or iPhone (iFacialMocap) onto your avatar. You can also use it for streaming with OBS Studio and other tools. This guide will walk you through the setup in the following steps.

The Capture App processes camera video and data received from iFacialMocap entirely on your PC. It does not communicate with anything outside your PC, except for the VMC and VRChat OSC transmissions you explicitly start.

Motion Capture and Face Tracking
Motion Capture and Face Tracking
OBS Integration
OBS Integration
  1. Track your movements and facial expressions with the Capture App
  2. Send them to the Avatar Viewer via VMC protocol to animate your avatar
  3. Bring the Avatar Viewer into OBS as a streaming source (optional)

What You Need

  • VRC Avatar Viewer (main application)
  • Motion Capture for VRC Avatar Viewer (Capture App / distributed on BOOTH)
  • Webcam (if you want to move your body and arms. 720p or higher recommended)
  • Face ID-compatible iPhone or iPad Pro + iFacialMocap (if you want to move only facial expressions and head without a webcam, or to improve facial expression accuracy)
  • Streaming software such as OBS Studio (optional)
[Webcam] → [Capture App] →VMC / UDP→ [Avatar Viewer] →Spout / Transparent Window→ [OBS]
[iPhone (iFacialMocap)] → [Capture App] →VMC / UDP→ [Avatar Viewer]
Tips
  • This guide first explains a configuration where everything runs on a single PC. If you want to separate the streaming PC and capture PC, there is a supplement at the end of Step 2
  • If you use only iFacialMocap without a webcam, you can move your avatar's facial expressions, head movements, and gaze. A webcam is required for body, arm, and lower body movements
  • For information about installing the Avatar Viewer itself and loading avatars, please first refer to From Avatar Export to Display
1

Prepare the Capture App

The Capture App is a Windows application that estimates body, arms, fingers, and facial expressions from webcam footage and transmits them externally via the VMC protocol. Even without a webcam, you can use iFacialMocap to transmit facial expressions, head position, and gaze.

Capture App Screen
Capture App Screen

1-1. Download and Launch

  1. Download the Capture App ZIP from the BOOTH distribution page
  2. Extract the ZIP and double-click Capture.exe to launch

1-2. Start the Webcam

  1. Select "Camera", "Resolution", and "FPS"
  2. Click the "Start Camera" button
  3. Confirm that you appear in the preview
  4. Stand in front of the camera in a natural posture, as you will press "Initial Calibration" in Step 2
Start the Webcam
Start the Webcam
Tips
  • Position yourself so that your upper body is visible in the frame.
  • Keep the background as simple as possible, and ensure there is enough light for your face to be clearly visible

1-3. Use without Webcam (iFacialMocap Only)

If you don't have a webcam, select "No Camera (Use iFacialMocap)" from the camera dropdown. In this mode, you don't use the "Start Camera" button, and only transmit facial expressions, head direction, and gaze received from your iPhone.

  1. Launch iFacialMocap on your iPhone and note the IP address displayed on the screen
  2. In the Capture App, select "No Camera (Use iFacialMocap)" from the "Camera" dropdown
  3. Enter your iPhone's IP address in "iFacialMocap IP Address"
  4. Turn "Use iFacialMocap" ON
  5. When the status shows "Receiving", press "Initial Calibration"
  6. After calibration, press "Start Transmission"
What Moves in This Mode
  • Facial expressions, head, and gaze can be obtained from iFacialMocap
  • Arms, upper body, and lower body require a webcam. If using iFacialMocap only, focus on transmitting facial expressions and head

1-4. Adjust Movements

If movements don't look right, you can adjust them using the Motion Adjustment sliders at the bottom of the screen. Parameters are divided by section: upper body, arms, hands, and eyes.

Motion Adjustment
Motion Adjustment
Section Parameter Effect
Upper Body Stabilization Reduces jitter (higher values cause slower tracking)
Upper Body Responsiveness Tracking response to sudden movements (higher values make movements more agile)
Upper Body Motion Amount Magnitude of output movement (lower values are more subtle)
Arms Stabilization Reduces fine arm jitter (higher values cause slower tracking)
Arms Responsiveness Tracking response of arms to sudden movements (higher values make movements more agile)
Arms Motion Amount Magnitude of arm movement (lower values are more subtle)
Hands Front/Back Adjusts whether hands tend to move forward or backward from the body
Eyes Motion Amount Adjusts the magnitude of gaze movement
Eyes Vertical Position Adjusts the baseline position of gaze in the vertical direction
Eyes Ease of Closing Adjusts how readily blinking and eye closing occur
Eyes Ease of Opening Makes the avatar's eyes open more readily in the normal open state

Settings are automatically saved when the app closes. The eye parameters affect gaze and blinking output regardless of whether you use a webcam or iFacialMocap for facial expressions.

1-5. When There's a Mismatch Between Human and Avatar Posture

Pressing the "Recalibrate" button retakes the reference posture after a countdown of the selected number of seconds. The first time it says "Initial Calibration", and from the second time onward it says "Recalibrate".

1-6. Select Body Parts to Transmit

Use the "Body Parts to Transmit" checkboxes in the External Transmission section to individually turn ON/OFF which body parts are reflected on your avatar. Body parts turned OFF will remain static in their default pose.

Select Body Parts to Transmit
Select Body Parts to Transmit
Body Part Description
Facial Expressions Face tracking results including blinking, mouth, and gaze
Head Head direction (neck rotation)
Arms Arm and finger movements
Upper Body Upper torso tilting, shoulder movements
Lower Body Hip and leg movements
Usage Examples
  • If streaming while sitting in a chair, turning OFF Lower Body can reduce misdetections of standing and sitting
  • If using a different tool (such as VRCFaceTracking) for facial expression tracking, you can turn OFF Facial Expressions to avoid conflicts
  • If using only iFacialMocap, you can turn ON Facial Expressions and Head, and turn OFF Arms, Upper Body, and Lower Body for clearer operation

1-7. Lip Sync

A feature that generates mouth movements (lip sync) from microphone audio. It responds faster than webcam face tracking, resulting in more natural mouth movements. This is useful for singing streams or streaming while wearing a mask.

Lip Sync
Lip Sync

How to Use

  1. Turn ON the "Enable" toggle in the "Lip Sync" section
  2. Select the input device to use from the "Microphone" dropdown
  3. Speak and confirm that the volume meter next to it responds
Tips
  • While Lip Sync is ON, microphone volume and vowel analysis results take priority over webcam mouth movements
  • If the microphone is not responding, check Windows sound settings to confirm the input device is enabled
2

Integrate with Avatar Viewer and Animate Your Avatar

Motion is transmitted from the Capture App to the Avatar Viewer via the VMC Protocol (OSC over UDP). Simply enable reception on the Avatar Viewer side and specify the transmission destination on the Capture App side to integrate them.

2-1. Avatar Viewer Side: Start Reception in Streaming Mode

  1. Display your avatar in the Avatar Viewer
  2. Click the Streaming button in the toolbar
  3. If needed, open "Face Tracking" and set the type to match the Capture App's "Face Tracking"
  4. Confirm that the VMC Receive Port is set to 39539
  5. Press the "Start" button for reception
Streaming Mode Screen
Streaming Mode Screen

Main Items in the Streaming Panel

ItemDescription
IKTurns arm position correction ON/OFF. It is OFF by default. If your wrists or arms point in unnatural directions, keep it OFF
Field of ViewAdjusts the angle of view of the streaming camera. Smaller values give a flatter look suited to VTuber streaming; larger values give a wider angle
Zoom emphasisAdjusts the strength of zoom changes in response to head forward/backward movement
Face ForwardResets only the avatar's direction to face forward without moving its position
Camera View: Save / RestoreSaves the current streaming camera position and field of view, allowing you to return to the same composition later
When Using VRCFT
  • Setting the face tracking type to VRCFT makes the Viewer side also use the VRChat OSC Receive Port in addition to VMC. You can normally keep it at 9000
  • If another application like the VRChat client is using the same OSC port, reception may fail. In that case, change the port

2-2. Capture App Side: Start Transmission After Calibration

  1. Set the Capture App's "Transmission Destination IP" to 127.0.0.1 and "VMC Port" to 39539
  2. If using VRCFT, also set "VRC OSC Port" to the same value as the Viewer's VRChat OSC Receive Port (normally 9000)
  3. Prepare to receive from your webcam or iFacialMocap
  4. Press the "Initial Calibration" button
  5. Wait for the countdown to finish and record your initial posture
  6. Press the "Start Transmission" button
Calibration
Calibration
Start Motion Transmission
Start Motion Transmission

Your avatar will now begin moving in sync with your movements. If using iFacialMocap only, facial expressions, head, and gaze will be reflected.

Conditions for "Start Transmission" Button to Be Enabled
  • When using a webcam: The camera is active and initial calibration is complete
  • When using iFacialMocap only: The camera is set to "No Camera (Use iFacialMocap)", iFacialMocap is Receiving, and initial calibration is complete
  • When using iFacialMocap only, the "Start Camera" button is disabled. This is expected
About Transmission Type
  • Below the "Start Transmission" button, a caption showing "Transmission Type: VMC" or "Transmission Type: VMC + VRChat OSC" appears. This indicates your current transmission protocol
  • The caption changes based on your selection of facial expression transmission format (VRM Standard / Perfect Sync / VRCFT). Only when VRCFT is selected does face tracking data flow to both VMC and VRChat OSC
  • For more details about facial expression tracking, see the Facial Expression Tracking or VRCFaceTracking Integration guides
Tips
  • If movements appear stiff, open "Motion Smoothing" in the Viewer's streaming mode to adjust smoothing for head, body, hands/arms, gaze, blinking, eyebrows, and mouth individually
  • Moving the slider to the right makes movements smoother and reduces trembling. However, this increases latency
  • When using VRCFT, facial expression smoothing is disabled
Motion Smoothing
Motion Smoothing

2-3. When Movements Don't Work Properly

If you can't start transmission, the avatar or its facial expressions don't move, iFacialMocap stays waiting for a connection, or movements freeze, see Not Working Properly (FAQ) for things to check.

2-4. When You Want to Transmit from a Different PC

If you want to use separate PCs for capture and streaming, set the Capture App's "Transmission Destination IP" to the IP address of the Avatar Viewer PC. Allow UDP 39539 reception in the Avatar Viewer PC's firewall. We recommend keeping both PCs on the same LAN with a wired connection.

3

Facial Expression Tracking

Facial expression tracking is covered in separate guides.

4

Bring Your Avatar into OBS Studio

For how to bring the Avatar Viewer into OBS Studio as a streaming source (Spout2 output / transparent background mode + Window Capture), see Output to OBS.