Open Taiga423 opened 1 week ago
まず、Graphics APIはOpenGLではなくVulkanを使ってください。 cf. https://github.com/homuler/MediaPipeUnityPlugin/wiki/FAQ#internalexception-internal--eglmakecurrent-returned-error-0x3000
ただし、以下に書くように MediaPipeUnityPlugin-all
を開けば自動的にVulkanに設定されると思います。
エディターにMediaPipeUnityPlugin-allをインポートし、HierarchyにStartSceneをドラッグし、BuildSettingsにStartSceneを登録した
MediaPipeUnityPlugin-allを使う場合、そのままプロジェクトとして開いてください。Hierarchyを操作する必要もなく、そのままStartSceneを開いて実行してください(他のシーンでも良いです)。
もし既存のプロジェクトにプラグインをインポートする場合は、unitypackageかtarballをリリースページからダウンロードするのが簡単だと思います(MediaPipeUnityPlugin-allのプロジェクトを使ってビルドすることもできますが)。
Vulkanをインストールし、Graphics APIでVulkanをOpenGLの上に移動させリブートしたところエディタが起動しなくなりました。何か他に変更しないといけない設定はありますか?
Graphics APIでVulkanをOpenGLの上に移動させ
設定変更等はせず、そのままMediaPipeUnityPlugin-allのプロジェクトを開いてみてください(そうでないと、こちらからは原因の切り分けが難しいため)。
エディタが起動しなくなりました。
これはUnityEditor側の問題だと思うので、VulkanでUnityEditorが起動できるように頑張ってもらうしかないです。 Editor.logを見ればたぶんエラーが出てると思います。
Plugin Version or Commit ID
v0.12
Unity Version
2022.3.6f1
Your Host OS
Ubuntu 24.04 LTS
Target Platform
Android
Description
私は今、ハンドトラッキングを使ったVRゲームを開発しようと考えています。そこでStartSceneでまずきちんと動作するかを確認したが、2つのエラーが発生しました。私の行ったことは、エディターにMediaPipeUnityPlugin-allをインポートし、HierarchyにStartSceneをドラッグし、BuildSettingsにStartSceneを登録しただけです。ユニティを始めたばかりのので、基本的なことを落としているだけかもしれません...Windows11でも試してみましたが、ubuntuと同じ黒い背景に文字が浮かぶだけでした。
Code to Reproduce the issue
MediaPipeException: INTERNAL: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/gpu/gl_context_egl.cc:301) successeglMakeCurrent() returned error 0x3000 Mediapipe.Status.AssertOk () (at Assets/MediaPipeUnityPlugin-all new12.0/Packages/com.github.homuler.mediapipe/Runtime/Scripts/Framework/Port/Status.cs:149) Mediapipe.Unity.GpuManager+d17.MoveNext () (at Assets/MediaPipeUnityPlugin-all new12.0/Packages/com.github.homuler.mediapipe/Runtime/Scripts/Unity/GpuManager.cs:94)
UnityEngine.Logger:LogException(Exception)
Mediapipe.Unity.MemoizedLogger:LogException(Exception) (at Assets/MediaPipeUnityPlugin-all new12.0/Assets/MediaPipeUnity/Samples/Common/Scripts/MemoizedLogger.cs:221)
Mediapipe.Unity.Logger:LogException(Exception) (at Assets/MediaPipeUnityPlugin-all new12.0/Packages/com.github.homuler.mediapipe/Runtime/Scripts/Unity/Logger.cs:72)
Mediapipe.Unity.d 17:MoveNext() (at Assets/MediaPipeUnityPlugin-all new12.0/Packages/com.github.homuler.mediapipe/Runtime/Scripts/Unity/GpuManager.cs:110)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at /home/bokken/build/output/unity/unity/Runtime/Export/Scripting/Coroutines.cs:17)
MediaPipeException: MediaPipe Aborted, refer glog files for more details Mediapipe.MpReturnCodeExtension.Assert (Mediapipe.MpReturnCode code) (at Assets/MediaPipeUnityPlugin-all new12.0/Packages/com.github.homuler.mediapipe/Runtime/Scripts/PInvoke/MpReturnCode.cs:48) Mediapipe.Glog.Initialize (System.String name) (at Assets/MediaPipeUnityPlugin-all new12.0/Packages/com.github.homuler.mediapipe/Runtime/Scripts/External/Glog.cs:78) Mediapipe.Unity.Bootstrap+d__16.MoveNext () (at Assets/MediaPipeUnityPlugin-all new12.0/Assets/MediaPipeUnity/Samples/Common/Scripts/Bootstrap.cs:59)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at /home/bokken/build/output/unity/unity/Runtime/Export/Scripting/Coroutines.cs:17)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Mediapipe.Unity.Bootstrap:OnEnable() (at Assets/MediaPipeUnityPlugin-all new12.0/Assets/MediaPipeUnity/Samples/Common/Scripts/Bootstrap.cs:36)
Additional Context
初めは文字の列がかなり多かったのですが、アドバイスを受けてBuildSettingsにStartSceneを登録したところ1枚目の画像のようになりました。また、samplesceneのhand tracking単体だとカメラから映像は出力されていましたが、指や関節を認識していることが分かる棒(マーカーと言うのかな?)は出ていませんでした。