Media Pipe Unityで姿勢制御初め

media pipe + unity title IT

対象: Unity中級者
Unity Editor: 6000.3.10f1
MediaPipeUnityPlugin: 0.16.3
環境: Windows

導入(この記事で解決すること)

MediaPipe Unity Plugin を手動インポートで導入し、サンプルシーンが動く状態まで持っていく手順をまとめます。
特に、導入時に遭遇しやすい Input 例外と manifest 変更点を、再現できる形で整理します。

前提条件

  • Unity プロジェクトが作成済みであること
  • パッケージ導入後にエディタ再起動が可能であること

バイナリDL

以下の Releases から必要ファイルを取得します。
https://github.com/homuler/MediaPipeUnityPlugin/releases

  • MediaPipeUnity.*.unitypackage
  • MediaPipeUnityPlugin-all-stripped.zip

インポート手順

  1. Unity Editor を起動
  2. Assets > Import Package > Custom Package... を開く
  1. MediaPipeUnity.*.unitypackage(Core/Runtime系)を選択
  2. Import を実行(All チェック推奨)

動作確認

  1. /Assets/MediaPipeUnity/Samples/Scenes/Face Detection などのサンプルシーンを開く
  2. Play 実行で動作を確認

期待結果:

  • エラーなしでサンプルが実行できる

既知エラーと対処

Packages/manifest.json

--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@
-    "com.unity.ugui": "2.0.0",

変更理由:

  • MediaPipeUnity 側 Manifest 記載の com.unity.ugui バージョンとの不整合でエラーになったため

InvalidOperationException

以下の例外が表示される場合があります。

InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.

変更箇所

ProjectSettings/ProjectSettings.asset

--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@
-  activeInputHandler: 1
+  activeInputHandler: 2

理由

StandaloneInputModule が旧 UnityEngine.Input を参照するため、Input System のみだと実行時に例外が出ることがあります。
BothactiveInputHandler: 2)にして旧/新 Input を共存させ、UIイベント系の実行時エラーを回避します。

再確認手順

  1. activeInputHandler を 2 に変更
  2. Unity Editor を再起動
  3. サンプルシーンを再度 Play 実行
  4. 実行できた!

まとめ

本手順では、MediaPipe Unity Plugin の手動導入から、実行時に詰まりやすい Input 例外までを最短で復旧できるように整理しました。
中級者向けに、作業手順と原因/対処を分離しているため、環境差分があっても切り分けしやすい構成です。


コメント

タイトルとURLをコピーしました