PICO 4 Pro/Enterpriseとは
PICO 4 Proは中国専売で、PICO 4 Enterpriseは法人向けの製品です。
ハードウェアとしてはほとんどが無印のPICO 4と同一ですが、アイトラッキング・フェイストラッキングに対応していたり、メモリがLPDDR4からLPDDR5に切り替わってるといった違いがあります。
PICO 4 Proについて
ソフトウェア面でもPICO 4と同等の安定性がありますが、PICO 4 Proは基本的には中国向けのストアしか利用できない事になっています。但し、グローバル版のOSでアップデートすると国内版のPICO 4のように使うことができます。AliExpressなどで入手すると、グローバル版OSで上書きされた状態で届くことが多いかと思います。
OSアップデートについて十分な検証はしていません。グローバル版にしてあると恐らくOTAが配信されないので、新しいグローバル版OSを公式サイトで入手してからオフラインアップデートを行う事になります。誤って中国版のOSでアップデートを行うと次のバージョンが出るまで戻せなくなるので、日本の公式サイトからPICO 4/PICO 4 Pro用のパッケージをダウンロードするのを推奨します。
PICO 4 Enterpriseについて
PICO 4 Enterpriseは法人向けのEnterprise OSが設定されている製品です。ハードウェア的にはPICO 4 Proと変わりませんが、ビジネス設定やBusiness Suite、Businessストアが用意されているのが特徴です。デバイスの基本設定やホーム画面の設定、LBE(Location-Based Entertainment)の対応、オブジェクトトラッキングなどなど……特殊な機能が豊富にあります。
とはいえ、色々と仕様が異なるせいで割り切らないと扱いにくい状況となっています。
PICO OS 5.9.9で更新が止まっているので、どうしてもそれ以降のバージョンが使いたいのであれば、PICO 4/PICO 4 Pro用のパッケージで手動アップデートを行う事になります。
通常のストアは使えないこととなっていますので、PCVRで使用するときは基本的にBusiness Streamingを使用します。Business Streaming 2.1であればPICO Connectベースのものになっています。
注意点として、Business Streaming 2.1ではアイ・フェイストラッキングを使用するためのVRCFTモジュールが動作してくれませんでした。また、PICO 4 Enterpriseを強制的にPICO OS 5.13.7.Sなどにアップデートしている場合、PICO 4やPICO 4 Proと違ってPICO Connectでハンドトラッキングが動作しません。アイ・フェイストラッキングよりもハンドトラッキングを使いたいという場合はBusiness Streaming 2.1を使用することになります。(※公式に使用できる最終バージョンであるPICO OS 5.9.9の場合はハンドトラッキングに非対応と明記されている)
PICO 4 Ultra Enterpriseは?
こちらも法人向け製品ですが、PICO 4 UltraのEnterprise版にはアイトラッキング・フェイストラッキングが搭載されていません。
どんな感じで動くのか
VRCFTモジュールのソースコードやアバター側のアニメーターセッティングを少し改変していますが、大体以下のような感じで動作します。使ってる本人はPICO 4 Proの口元の挙動に四苦八苦してますが、傍から見ると機材の違いはあまり分からないと思います。
現在はVRCFT側のアップデートでパラメーターの出力調整ができるようになりました。詳細は記事の最後の方に記載しますが、以前よりも良い動きが可能です。少し壊れている部分も調整したアドオンを自前でビルドしてあります。
VRCFTモジュールは3種類ある
PicoStreamingAssistantFTUDP
恐らく最も古くから存在するトラッキングモジュールです。VRCFTのモジュールレジストリからワンクリックでインストール可能です。Streaming Assistant及びPICO Connectで使用します。
詳細な経緯は分かりませんが、これを参考にして他のモジュールも制作されているように見受けられます。口を結ぶ表情をしてもSmileSadとして扱われずMouthSmile判定になってしまったり、口を開けただけでMouthSad判定されてしまうという特徴があります。
VRCFT-ALVR
ALVR用のトラッキングモジュールです。PICOに限らず、QuestやVIVEのサポートも行われています。PICO用のサポートは2025年に入りました。
挙動はPicoStreamingAssistantFTUDPとよく似ているように見えます。
VRCFTPicoModule
2024年に登場した比較的新しいトラッキングモジュールです。PICO Connectでの使用を前提としており、いくつかの微調整が行われています。VRCFTのモジュールレジストリにはないので、GitHubからzipファイルをダウンロードして手動でインストールする必要があります。
- CheekPuffRightとCheekPuffLeftが区別され、口の動きと連動
- MouthSmileなどのいくつかのパラメータの挙動を変更
- フェイストラッキングやアイトラッキングを個別に無効化が可能
他のモジュールと挙動が異なる
PicoStreamingAssistantFTUDPやVRCFT-ALVRと処理の仕方に違いがあり、前述のSmileSad問題に対しての補正が行われています。その為、VRCFTPicoModuleでしか出せない表情がいくつかあります。
- 口角を下げる表情を状況に応じて補正
- JawOpen(口を開く)有効時はMouthFrown(口角を下げる)を弱めに補正
- MouthRollLower(下唇を巻き込む)場合に強調することでMouthSadが上手く動作するように補正
- 口角を上げる表情の補正
- mouthSmileからMouthRollLower分を引いて、特定の表情で口角が上がりすぎないように補正
- MouthRollLower(下唇を巻き込む)場合に笑顔にならないように補正
- 口をすぼめる表情の補正
- MouthPucker(唇を外に押し出す)とMouthPress(口を強く閉じる)の2つを使用して補正
- MouthPuckerを主体とし、唇を閉じずに口をすぼめている状態をMouthFunnel(口をすぼめる)として補正
口を結ぶ表情(唇を内側に巻き込む)をするとMouthSad判定になるので、悲しい表情がちゃんと出せるようになっています。また、単に口を開けたときに悲しい表情判定になってしまうのも防いでいるのが特徴です。
トラッキングの無効化方法
VRCFTのOutputログを確認すると、[VRCFTPicoModule] Infomation: The configuration file will be in ~といった形で設定ファイルの場所が書かれているので、エクスプローラーで開いてください。
%AppData%\VRCFaceTracking\CustomLibs\ランダムな文字列
ここに.disable_eyeや.disable_expressionといったファイルを置くことで、フェイストラッキングやアイトラッキングを個別に無効化できるとのこと。
【番外編】SteamLink VRCFT Module
現在ベータとして提供されているSteamLinkもアイトラッキングに対応していますが、PICO 4 Proが中国でしか販売されていないという事情があり、公式にサポートはされていません。
ちなみにSteamLinkのAPKはSteamVRのインストール先にあるので、手動でインストールが可能です。
"C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\vrlink\resources\android-steamlinkvr-release.apk"
Virtual Desktopは対応しない
グローバルのストアでは対応プラットフォームとしてPICO 4 EnterpriseとPICO 4 Proが記載されていますが、本来このふたつの機種ではVirtual Desktopをストアから正規に購入・ダウンロードができません。
PICO 4 EnterpriseはBusinessストア、PICO 4 Proは中国専売なので中国版ストアでしか使えないことになっています。その為、非公式にグローバル化したPICO 4 Proでインストールすることになるので、Virtual Desktopではサポートをしないと明言されています。
その他にも、アイトラッキング・フェイストラッキングに非標準の実装が使われているので、同様の理由でHTCと共にPICOはサポート対象外となっています。
これはVirtual Desktopの公式Discordで何度も質問されている事なので、PICOでフェイストラッキングなどに対応するかどうかの問い合わせはしないようにしましょう。
大まかな違いを画像・動画で見る
ざっくりとした違いを比較してきました。アバター用の設定はFermata Shopの「Milltina(ミルティナ)’s FacialTracking Setting」を使用しています。
あいうえお
悲しい表情ができるかどうか
「PicoStreamingAssistantFTUDP」では口を開けただけで悲しい表情になりやすく、口を閉じた状態では悲しい表情ができません。
「VRCFTPicoModule」では唇を巻き込むようにして口を結ぶと、口を閉じた状態で悲しい表情がしっかりと出せるようになっています。反面、口を開けた状態で悲しい表情をするのは困難でした。
口をすぼめるときの違い
口をすぼめるときの大きさに違いがありました。アバター側のセッティングによるので、あまり影響がない場合もあります。
動画で観る
PICO Connectの設定
レガシープロトコルに切り替える
settings.jsonを編集して、faceTrackingTransferProtocolを「2」に変更する必要があります。
%AppData%\PICO Connect\settings.json
"lab": {
"quic": true,
"faceTrackingMode": 1, ←1は顔のみ 4はハイブリッド
"faceTrackingTransferProtocol": 2, ←ここを変更
"bodyTracking": false,
"controllerSensitivity": 50,
"superResolution": false,
"gamma": 1
}GUIで設定したい場合は中国版をインストール
フェイストラッキングモードをPICO ConnectのUIから変更したい場合は、中国版をインストールすると行えるようになります。しかし、やってることはsettings.jsonのfaceTrackingModeを変えるだけなので、わざわざ中国版をインストールする必要はありません。
フェイストラッキングパラメータ
参考情報。
PICOのフェイストラッキングパラメータ
何故かUnity用のドキュメントはリンク切れしているので、Unreal用のドキュメントとなりますが参考情報は以下。
VRCFTで扱われるパラメータ
QuestやVIVEと比べて動きが控えめ
PICOは口元のカメラが小さめ
PICO 4 Pro/Enterpriseは口元のカメラの取り付け位置や角度、センサー数の都合などでQuest Proなどと比べてしっかりとしたトラッキングができていないように感じられます。
QuestやVIVEと比べると、どうしても控えめなトラッキングとなってしまうため大胆な動きができません。OSCで送られてくるのも0.45~0.5程度になるパラメータが多く、かなり頑張って動かすと0.75まで行くかどうかといった具合でした。1.0まで振り切れることはまずないと考えた方が良いです。
VIVE XR Eliteでの挙動
BOOTHで販売されているアバター用のフェイストラッキング設定はQuest Proなどが前提の設計になっているので、それらをPICOのフェイストラッキングで使用すると各表情の最大値まで到達できないものが殆どです。VRCFTの初期設定では、かなりしっかりめに表情を作らないと綺麗に反応しない場合があります。
各パラメーターの可動目安
Face Tracking Debugでの動作テストを行った際の大まかな目安です。数値は適当な感じで丸めてありますし、人によって違いが出ることが予想されます。モジュール毎の傾向の違いがなんとなく分かれば幸いです。VRCFTのキャリブレーションは使用せずに計測しています。
| パラメーター名 | PicoStreamingAssistantFTUDP | VRCFTPicoModule |
|---|---|---|
| jawOpen | 0.8 | 0.8 |
| mouthClose | 0.125 | 0.125 |
| jawLeft/Right | 0.125 | 0.4 |
| jawForward | 0.25 | 0.25 |
| mouthRollUpper | 0.4 | 0.4 |
| mouthRollLower | 0.8 | 0.8 |
| mouthFunnel | 0.125 | 0.75 |
| mouthPucker | 0.8 | 0.75 |
| mouthUpperUpLeft/Right | 0.7 | 0.7 |
| mouthLowerDownLeft/Right | 0.8 | 0.8 |
| mouhtLeft/Right | 0.4 | 0.4 |
| mouthSmileRight/Left | 0.6 | 0.4 |
| mouthFrownLeft/Right | 0.6 | 1.0 |
| mouthStrechLeft/Right | 0.125 | 0.4 |
| mouthDimpleLeft/Right | 0.0 | 0.0 |
| mouthShrugUpper | 0.6 | 0.6 |
| mouthShrugLower | 0.75 | 0.75 |
| mouthPressLeft/Right | 0.5 | 0.6 |
| tongueOut | 1.0 | 1.0 |
| eyeLookOutLeft/Right | 0.9 | 0.9 |
| eyeLookInLeft/Right | 0.9 | 0.9 |
| eyeLookUpLeft/Right | 0.75 | 0.75 |
| eyeLookDownLeft/Right | 0.75 | 0.75 |
| eyeBlinkLeft/Right | 1.0 | 1.0 |
| eyeSquintLeft/Right | 0.1 | 0.1 |
| eyeWideLeft/Right | 0.0 | 0.0 |
| browDownLeft/Right | 0.6 | 0.6 |
| browInnerUp | 0.75 | 0.75 |
| browOuterUpLeft/Right | 0.75 | 0.75 |
| noseSneerLeft/Right | 0.65 | 0.65 |
| cheekSquintLeft/Right | 0.0 | 0.0 |
| cheekPuff | 0.9 | 0.9 |
Parameter Adjustmentで調節可能
後述するVRCFTのTracking Settingsで「Parameter Adjustment」を設定すると、各パラメーターの効き具合を調整できます。
アイトラッキングのキャリブレーションとIPD調整を行っておこう
上手く動作させるために、アイトラッキングのキャリブレーションを行っておくことをおすすめします。
IPD調整も自動で行えますが、眼鏡をしていると行えないので自分しか使わないのであれば自動設定はオフのままで良いかと思います。
アイトラッキングが故障している場合の挙動について
キャリブレーションエラーが表示されてしまい、再起動や初期化でも改善しない場合はハードウェアの故障です。入手経路や発売時期的に公式サポートからの修理は困難かと思います。
ハードウェアの故障でアイトラッキングが片目しか動作しなくなっても、ある程度は機能します。
前述したとおり、アイトラッキングが片目だけ動作している状態では、キャリブレーションが実行できません。その為、目の可動域が小さくなる可能性があります。Unityでアバターのフェイストラッキング設定を弄る気力があれば、0.45ぐらいを上限にアニメーターのパラメーターを調整すると良いかもしれません。
片目しか動かない場合でも、数回瞬きを行うと両目が同時に動作するようになります。ウインクが行えませんが、一応動作します。左右の目を同期する仕組みがあるフェイストラッキング設定であれば、片目しかなくても安定してトラッキング可能です。参考までにFermata Shopのフェイストラッキング設定は「EyeLid LR Syncトグル」があります。
また、当然ですがIPDの自動設定も故障していると動作しません。
VRCFTのTracking Settingsについて
2025年12月1日にVRCFT 5.4.0.1がリリースされました。
UIが日本語対応しているほか、Tracking Settingsが新たに増えています。

VRCFTのキャリブレーションについて
Tracking Settings内に「Calibration」があります。有効にすると一時的に顔が崩れますが、しばらくすると落ち着いてくると思います。規定で有効になっているようですが、どうにも挙動がおかしい場合はオフにしてください。
Parameter Adjustmentについて
パラメータの最小値と最大値が指定できるようになっています。例えば、MouthSmileが最大でも0.4までしか来ない場合は、VRCFTのParameter Adjustmentで最大値を0.4に設定すると、0.4を1.0として扱うようになります。効きが悪いパラメーターを調整するときに有用です。
Data Filterについて
One Euro Filterというものらしく、VRCFT側でジッターの除去やスムージングが行われます。
これにより精度が向上してスムーズに動作するようになりますが、自分から見えてるのはあくまでもローカルでの見え方なので、VRChatを経由して相手からどう見えているかは、アバターに組み込んだフェイストラッキング実装次第だと思います。
全く詳しくないので、間違ってそうな解説としては以下の通りです。
Minimum Cutoff
平滑化フィルターの強さを調整する設定のようです。初期値は1です。
0に近づけるほど強くフィルターが掛かり、鈍い感じの動きになります。最大値の2にすると、最もフィルターが弱くなるので応答が早くなります。Minimum Cutoffの数値を上げると高速に瞬きしても上手く反映されます。
Beta
動きの速さに応じたフィルター強度の調整らしいです。初期値は0.5となります。
0に近いほどフィルターが掛かりやすくなり、最大値の1にすると素早い動きでもフィルターが掛かりにくくなります。多分こちらもあまり弄る必要はないかと思います。
Derivative Cutoff
Minimum CutoffやBetaの補助を行ってると思われます。初期値は0.1です。
瞬間的なノイズや微細な揺れを動きとして誤認しないよう調整することで、それらをスムージングの判断材料としないための設定といったところでしょうか。動作の安定性に関係する設定だと思います。もし小刻みに揺れることがあれば、少しだけ値を上げると良さそうです。
One Euro Filterの仕組みについて詳しそうな解説は以下。
VRCFT本体の動作がおかしいときは
左下の歯車アイコンから設定を開くと、開発者向け設定に「Reset VRCFT」などの項目があります。
非公式版VRCFT-ALVR
VRCFTPicoModuleに寄せた感じに変更を行いビルドしました。別モジュールとして分けたりするのもややこしい(というかよくわからん!)ので、正規のALVR用モジュールと置き換えて動かす事になります。
以下の場所にある「ALVRModule.dll」を上書きして使用してください。
%APPDATA%\VRCFaceTracking\CustomLibs\699750bf-e217-4bd8-8039-3d5f97ee80ba
VRCFTPicoModuleの内容をいくつか取り入れたほか、実験的な修正としてSmileのパラメーターを倍にしたり舌が誤爆しないように閾値を上げたりしてみましたが、正常に動作しているかどうかは分かりません。自己責任でお試しください。
余談ですが、PICO側の角速度の実装に不具合があるらしく、ALVRもその影響を受けてしまっている可能性があります。頭を傾けて動かすとトラッキングに違和感があるかもしれません。(※PICO 4 Ultraは2026年1月のアップデートで修正される予定で、PICO 4なども順次修正されるとのこと)
非公式版VRCFTPicoModule
自前でビルドした非公式バージョンです。
VRCFTPicoModuleのパラメーター出力を増幅させたり、口が閉じているときに少し開いてしまう問題を修正しました。VRCFT-ALVRと同様に、笑顔が出しやすくなったりします。口周りで左右に変な偏りがあったのでシンメトリー化する処理も入れてあります。
こちらもオリジナルのVRCFTPicoModuleと置き換えて使用することになりますので、以下の場所にある「VRCFTPicoModule.dll」を上書きして使用してください。
%APPDATA%\VRCFaceTracking\CustomLibs\f3df57d5-1c5b-887d-abb0-be555e14bf09
LinuxでもVRCFTを使いたい!
クロスプラットフォーム版のVRCFTとして、「VRCFaceTracking.Avalonia」という物が存在します。これは元々のVRCFTに似せることを目指して制作されています。
既にALVRが動作する環境であれば、AppImageに実行権限を与えて起動するだけで簡単に利用できました。モジュールのインストールもVRCFTと同様です。
Steam DeckとPICO 4 Proを使用して、ALVRで接続した場合の動作は以下のような感じとなりました。
度付きレンズについて
AliExpressで見つかるものを適当に購入することになります。フレームの黒い物が欲しかったので以下の物を購入しました。

商品画像と異なる物が届いていますが、機能的な問題はありませんでした。少々分厚いのがネック。
なにかあれば適当に追記します。
























