contentVirtualMotionCaptureをいじるときの知見VRVRMVirtualMotionCaptureのトラッキングの工夫やボーン対応、キャリブレーションには並々ならぬものがあるため、VRMで姿勢に連動させて絵を作りたい場合などは、VirtualMotionCaptureをベースに改造したほうが楽にいい感じの結果を得られます。そんなVirtualMotionCaptureをいじる際のファイルの知見ビルドこちらを参照https://qiita.com/gpsnmeajp/items/c7ba0ab9e188d3f22f9c設定ファイルなど配布版のVirtualMotionCaptureには、default.jsonや手のポーズやショートカットなどのプリセット、WebCameraドライバなどが同梱されているが、Github版をビルドしただけではこれらは入らないため、配布版からコピーして適切に配置する必要がある。これを忘れると、「手の角度が変」とか「表情が設定できない」といったことになる。Hub連携などオープンでない機能は配布版でのみ利用可能である。IK(有料アセット)は自分で購入する必要がある。ControlWPFWindow.csコントロールパネルとの通信部分ここで通信結果の受け取りなどをしている。ModelLoadedAction?.Invoke(CurrentModel);があるので、以下のように外部からモデル読み込み時に現在のモデルを取得できる。};保護レベルをpublicにする必要があるが、こんな感じのコードを書くとコントロールパネル相当の操作を注入できる。e2);AnimationController.csアニメーション処理Calibrator.csキャリブレーション。トラッカーの認識や、FinalIKのボーン認識のための操作などがけっこう大変なことに。キャリブレーション時はVRIKが生成・破棄を繰り返すため、事前に取得した参照は無効になるので注意。外部から参照する場合は以下のようにすると良い。}CameraLookTarget.cs常に注目点を見るカメラCameraMirror.csカメラを反転させる処理これをいじると大体のカメラに影響するが、一部例外がある。CameraMouseControl.csカメラをマウス操作で操作する。フリーカメラなどがこれで制御される。フリーカメラをスクリプトなどで制御したい場合は、これを無効にすることをおすすめする。CameraRenderCopyToTexture.csカメラをRenderTextureにコピーDynamicOVRLipSync.csリップシンクFaceController.csまばたきや表情などBlendSharpのControllerHandController.cs指の角度などのControllerHandTrackingIndex対応部分JsonSerializer.csjsonを見やすくシリアライズするKeyboardAction.csキーボードの解釈NativeMethods.csWindowsAPIで画面を透過させたりタイトルを変えたりするPhoto.cs好きな解像度のpngで撮影するScalePositionOffset.cs現実の体の大きさとVRMの体の大きさを変換する?SteamVRWrapper多分使われていない。Pluginにあるものとほぼ同等SteamVRWrapper2.0SteamVR2.0の入力を、Oculus準拠のUnityキー入力に変換する?VRMMetaImporter.csVRMのメタ情報を読み込むWristRotationFix.cs手首がねじれすぎて破綻しないように肩と肘をいい感じに回すAsset/ExternalSender/ExternalSender.csOSCで外部に姿勢情報、Blendsharp、経過時間などを送信する。受信側はhttps://github.com/gpsnmeajp/EasyVirtualMotionCaptureForUnityを参照。GPS@gpsnmeajp電子工作が主な趣味ですが、PC用のツールを作るのも好きです。ライセンスを明記していないソースコードのライセンスについてはCC0です。upLoginユーザーは見つかりませんでした。