Virtual Desktop + Pico 4 Pro Eye & Face Tracking
⚠️ Ниже опущен момент установки и получения Virtual Desktop в РФ. Автор предполагает, что приложение у вас либо куплено в магазине Pico, либо вы пользуетесь народными версиями.
🤔 Что это и зачем
PicoFacialBridge - приложение для шлема, которое отправляет данные трекинга глаз и лица с Pico 4 Pro напрямую на ПК в VRCFaceTracking, минуя стриминговый клиент. Поэтому мимика работает даже там, где клиент сам её не передаёт.
На осень 2026 такой клиент по сути один - Virtual Desktop. PICO Connect, Steam Link, ALVR и WiVRn передают трекинг сами, так что на практике мост нужен именно для связки с VD.
⚠️ Мост и модуль никак не связаны с разработчиком Virtual Desktop - с вопросами по трекингу лица в поддержку VD не пишите.
📋 Что понадобится
- Pico 4 Pro
- Virtual Desktop на шлеме и Virtual Desktop Streamer на ПК
- PicoFacialBridge v0.2.0 (APK для шлема)
- VRCFaceTracking + модуль VRCFTPicoModule (modified) v0.1.10-modified.8
- VRChat с включённым OSC
🔢 Какие версии брать (важно!)
Не все версии моста и модуля совместимы между собой. Сейчас есть две рабочие связки:
- Связка из этого гайда: PicoFacialBridge v0.2.0 + VRCFTPicoModule (modified) v0.1.10-modified.8. Именно её проверял автор модуля. Работают config.ini, режимы коррекции и PICO Connect тем же модулем.
- Новая связка: PicoFacialBridge v0.3.0 / v0.3.1 + UnifiedPicoModule от WolalaQAQ (0.1.0 и новее, к v0.3.1 автор рекомендует 0.1.1). С 0.3.0 мост перешёл на новый протокол, поэтому modified.8 с ним не заработает. Чем она отличается и как её поставить - в разделе «🆕 Если хотите самую новую версию» ниже.
⚠️ Пометка Latest на странице релизов моста сейчас стоит на v0.3.x. Если идёте по этому гайду — пролистайте ниже и качайте v0.2.0.
- Мост проверен только на Pico 4 Pro с PICO OS 5.13.7 - на других прошивках работа не гарантируется.
- Сменить версию моста между 0.2.0 и 0.3.x поверх не получится: сначала удалите старую (настройки приложения сбросятся). APK подписан отладочным ключом, поэтому и при других обновлениях может понадобиться переустановка.
- Данные идут по UDP без шифрования - используйте мост только в домашней (доверенной) сети.
📥 Шаг 1. Ставим Bridge на шлем
Качаем APK и устанавливаем его через браузер шлема или же (как в моём случае) через папку Download. Подойдёт и команда adb install.
- Качаем с GitHub файл моста - PicoFacialBridge версии v0.2.0 (файл PicoFacialBridge-v0.2.0-arm64-v8a-debug.apk). Не берите 0.3.x - см. «Какие версии брать».
- Подключаем Pico 4 Pro к компьютеру и закидываем файл в папку Download (я сделал подпапку для своего удобства).
📦 Шаг 2. Устанавливаем APK в шлеме
Файл лежит в папке Download (в моём случае - в доп. папке apkToInstall).
Устанавливаем APK. Ничего необычного - прокликиваем Install и двигаемся дальше.
Если всё хорошо, увидим подобное окно - жмём Done.
Само приложение появится в общем списке. 🔎 Мне потребовалось некоторое время, чтобы найти его среди всех остальных.
🧩 Шаг 3. Ставим модуль в VRCFT
- Скачиваем и устанавливаем приложение VRCFaceTracking: Сайт VRCFaceTracking | Github | Steam
- Скачиваем *.zip модуля с GitHub - VRCFTPicoModule, версия v0.1.10-modified.8.
- Открываем менеджер модулей VRCFT и устанавливаем модуль из скачанного zip.
💡 Про версию модуля. Нужен именно VRCFTPicoModule (modified) от pikepikeid, версии modified.8 или новее - он работает и с PICO Connect, и с PicoFacialBridge. Чтобы обновить старую версию, удалите модуль и поставьте заново либо вручную замените всё содержимое папки модуля (путь - в шаге 5).
🛠 Если ничего не работает и ничего не появляется
- Открываем в проводнике адрес (просто скопируйте и вставьте): %AppData%\VRCFaceTracking\CustomLibs
- Удаляем оттуда всё (я удалил - у меня заработало).
- Заново импортируем модуль.
В итоге должно получиться так:
Слева - папка импортированного модуля. Справа - сам модуль: от обычного пиковского он отличается тем, что в авторах указан pikepikeid (modifier).
⚠️ ВНИМАНИЕ
Если у вас уже стоит модуль Virtual Desktop для VRCFT - удалите его! Он конфликтует с Pico-модулем, и трекинг не заработает вообще.
🚀 Шаг 4. Порядок запуска (ВАЖНО)
1️⃣ PicoFacialBridge → кнопка START
Запустили приложение и нажали в его интерфейсе START. При первом запуске шлем спросит доступ к трекингу глаз и лица - разрешаем, иначе передавать будет нечего.
2️⃣ VRCFaceTracking → ждём 5–8 секунд
Запущенный VRCFT подхватывает наш PicoFacialBridge.
Пауза нужна потому, что модуль сначала ищет PICO Connect и, не найдя его, переключается на приём данных от моста по UDP-порту 9030.
Если всё хорошо, в мосте будут примерно такие показатели:
- Eye transmission: ~90 Hz
- Face transmission: ~23–24 Hz
- VRCFT client: IP-адрес вашего ПК
❗ Если в поле VRCFT client написано Not discovered - перезапускаем VRCFT.
🧱 Если не подключается даже после перезапуска - проверьте, что брандмауэр Windows не блокирует VRCFaceTracking: мост и модуль общаются по UDP-порту 9030.
3️⃣ Virtual Desktop
4️⃣ VRChat с включённым OSC
🤓 Почему порядок именно такой
- VRCFT - после моста. Если запустить его раньше, он не дождётся данных со шлема, уйдёт в таймаут и не подключится. Поэтому при «Not discovered» и помогает перезапуск.
- Virtual Desktop - последним. Пока запущено VR-приложение, Pico 4 Pro ограничивает многозадачность, и возвращаться в мост потом неудобно. Если что-то не стартует - попробуйте поменять порядок.
- Настраивать VD специально не нужно - мост с ним никак не взаимодействует. Разве что можно включить Foveated streaming по трекингу глаз.
⚙️ Шаг 5. Настройка (по желанию)
Модуль берёт из данных моста только 72 blendshape - те же, что приходят через PICO Connect, - поэтому мимика ведёт себя как раньше, и все коррекции модуля работают.
Режим коррекции задаётся в config.ini в папке модуля:
%AppData%\VRCFaceTracking\CustomLibs\f3df57d5-1c5b-887d-abb0-be555e14bf09
Пример config.ini:
# Трекинг
eye-tracking:enable
expression-tracking:enable
# Усиление движения глаз (по X и Y)
eye_gain:1.0,1.0
# Режим коррекции
mode:2
eye-tracking:enable
expression-tracking:enable
# Усиление движения глаз (по X и Y)
eye_gain:1.0,1.0
# Режим коррекции
mode:2
Доступные режимы (параметр mode):
- 0 - тестовый: сырые данные со шлема без коррекций модуля (применяется только eye_gain)
- 1 - обычный: поведение как в прежних версиях модуля
- 2 - расширенный, экспериментальный 🧪: симметричная мимика рта, меньше ложных срабатываний MouthFrown, можно сделать грустное лицо с открытым ртом
🆕 Если хотите самую новую версию
На момент написания (октябрь 2026) это свежий preview, и проверен он меньше, чем связка из гайда. Ниже - что поменяется, по описаниям авторов моста и модуля.
⚖️ В чём разница
- Один модуль на всё. UnifiedPicoModule принимает данные и от моста 0.3.x, и от PICO Connect, и от Streaming Assistant - источник определяет сам.
- Нативный взгляд. С мостом глаза получают «родные» данные взгляда, а не вычисленные из мимики. На шлеме с root (Magisk) и PicoET-Enhance - ещё и отдельный взгляд для каждого глаза и диаметр зрачка (enhanced-режим).
- Аватар не «замирает». Если данные пропали дольше чем на 250 мс, лицо возвращается в нейтральное положение, взгляд - в центр.
- Другие коррекции. Нет config.ini и режимов 0/1/2. По умолчанию включено только усиление EyeWide ×2, остальные 13 правил (во многом по мотивам модуля pikepikeid) выключены и пока не откалиброваны - включайте по одному и сравнивайте.
- Меньше проверено. Автор подтвердил работу моста 0.3.0 в enhanced-режиме (то есть с root) и PICO Connect 10.6.6. Обычный режим без root, восстановление после перезагрузки шлема и долгая стабильность пока не проверены, а исправления 0.3.1 ещё не перепроверены на железе.
🔧 Что поменяется в шагах
- Шлем: удалите мост v0.2.0 (настройки сбросятся) и поставьте APK v0.3.x - поверх старой версии он не встанет.
- ПК, старые модули: удалите или отключите VRCFTPicoModule (и версию pikepikeid, и lonelyicer), PicoFacialDataModule и PicoStreamingAssistantFTUDP. Они занимают порты 9030 / 29765 / 29763, а просто выключенный в них трекинг порт освобождает не всегда.
- ПК, новый модуль: скачайте zip UnifiedPicoModule (собран под VRCFaceTracking 5.4.5), установите через Module Registry → Install Module from .zip и полностью перезапустите VRCFT.
- Порядок запуска тот же: мост → VRCFT → Virtual Desktop → VRChat. Модуль ~1,5 с ждёт именно мост, а потом берёт первый источник, который пришлёт данные. Если PICO Connect успел раньше - выберется он; тогда запускайте мост раньше или пропишите "Source": "Bridge" в настройках.
- Проверка связи: «Initialized» значит только, что модуль загрузился. Смотрите вкладку Output в VRCFT - раз в 5 секунд там строка статуса: state=Connected - всё работает, Searching - мост не найден, MissingFrames - шлем уснул или мост на паузе.
⚙️ Настройки лежат в файле UnifiedPicoModule.json в папке модуля:
%AppData%\VRCFaceTracking\CustomLibs\8322e16d-c38b-42f0-8d35-68f27227b442
- Изменения применяются только после перезапуска VRCFT.
- Перед обновлением модуля сохраните файл в другое место - VRCFT может заменить всю папку.
- Полезные поля: Bridge.IP (IP шлема, если автопоиск не сработал или мешает VPN), Source (Auto / Bridge / Streaming), EyeGain (усиление взгляда для каждого глаза), DisableEyeTracking / DisableFaceTracking.
- Перенести настройки из config.ini модуля pikepikeid можно утилитой UnifiedPicoConfigTool, но её нужно собирать из исходников, а результат лишь приближённый.
🧭 Что выбрать? Нужно «поставил и работает» - берите связку из этого гайда (v0.2.0 + modified.8). Хотите нативный взгляд и один модуль на всё и готовы немного потестировать - пробуйте новую.
💬 Опыт использования и советы
По опыту автора первоисточника.
🎨 Картинка. В Virtual Desktop можно выбрать кодек HEVC 10-bit - «лесенки» на градиентах становится заметно меньше, в некоторых мирах разница очень бросается в глаза.
🦵 PICO Motion Tracker + трекинг лица. В PICO Connect такая связка со временем перегревала шлем, и картинка начинала сыпаться артефактами. С Virtual Desktop + мостом три трекера проработали около двух часов без проблем с изображением: CPU доходил до 90 °C, но GPU был заметно холоднее, чем в PICO Connect (там он уходил за 80 °C). Вероятная причина - VD держит GPU шлема на более низкой частоте (400 МГц против 441 МГц), и шлем не уходит в троттлинг.
🌡 Если шлем греется - снизьте VR Graphics Quality с Ultra (2880 px на глаз) до High (2688 px).
🐞 Известные странности
- Оверлей производительности пару раз закрывался сам - но трекинг лица и Motion Tracker при этом не отваливались.
- Пару раз при первом подключении или после смены Wi-Fi резко вырастала задержка декодирования и картинка начинала тормозить (меню PICO OS при этом отзывалось нормально). Причина пока не выяснена.
📝 Настройки автора первоисточника (для ориентира)
Шлем (Virtual Desktop):
- VR Graphics Quality - Ultra (2880×2880 на глаз)
- VR Frame Rate - 72 FPS
- VR Bitrate - 150 Мбит/с
- Sharpening - 0%
- SSW - выкл.
- SGSR - выкл.
- Foveated streaming - вкл.
- Video buffering - вкл.
- Forward tracking data to PC - вкл.
- Emulate SteamVR Vive trackers - вкл.
- Microphone passthrough - вкл. (20%)
- Noise cancellation - вкл.
- Boost clock rates - выкл.
ПК (Virtual Desktop Streamer):
- Preferred Codec - HEVC 10-bit
- Adaptive quantization - вкл.
- Fovea Size - 25%
- Additional sharpening - 75%
✅ Итог
🔗 Первоисточник: тык
👥 Авторы инструментов: WolalaQAQ и pikepikeid
🎬 Для маленьких и глупеньких пинаю себя ради видео.
vr
гайд
AVAБЭЛLЬ
Много букав, но наверняка Арвзима гений
Sep 22 10:44 

1
Mr.Patrion
хороший гайд, как будет пико 4 про, обязательно им воспользуюсь, мяу ^-^"
Oct 14 17:00