Unity Standard で Leap Motion V2 のサンプルを動かす手順

サンプルシーンを開いて実行する

dll (ライブラリ) の配置が完了したら、サンプルシーンを開いて実行します。

Project タブから Assets/LeapMotion/Scenes を開きます。 どのサンプルシーンでも良いですが、ここではAllHandModels を開きます。 シーンを開いたらそのまま実行しましょう。適切に用意できていれば実行に成功するはずです。

AllHandModels の実行画面

実行エラーが出て動作しないとき

いくつかの実行エラーのパターンについて解説しておきます。

DllNotFoundException

DllNotFoundException: LeapCSharp Leap.LeapPINVOKE+SWIGExceptionHelper..cctor ()

あるいは

NullReferenceException: Object reference not set to an instance of an object

これらのエラーは Leap.dllLeapCSharp.dll が適切に配置されないとき、 あるいは 64bit の dll (ライブラリ)を配置したときに起こります。 正しい位置に正しいファイルを配置することで解決する可能性があります。 ファイルを移動した後は、Unity を再起動する必要があります。

詳細の例(これに限らず)

Rethrow as TypeInitializationException: An exception was thrown by the type initializer for SWIGExceptionHelper Leap.LeapPINVOKE..cctor () Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Leap.LeapPINVOKE Leap.Frame..ctor ()

This plugin is only supported in Unity Pro!

License error. This plugin is only supported in Unity Pro!

Leap.dllLeapCSharp.dll が Unity プロジェクトの、 Assets の中などに含まれるとき、このようなエラーが起きます。 例えばアセットストア(AssetStore)などからサンプルを直接インポートした場合には、 Leap.dllLeapCSharp.dllAssets/Plugins に含まれます。

このエラーは Unity Standard(free) を利用する場合にのみ起こります。 Leap.dllLeapCSharp.dll を Unity プロジェクトの直下に移動することで問題が解決する可能性があります。 ファイルを移動した後は、Unity を再起動する必要があります。

詳細の例(これに限らず)

LeapRecorder:.ctor() (at Assets/LeapMotion/Scripts/Utils/LeapRecorder.cs:31) LeapRecorder:.ctor() HandController:.ctor()

補足: ビルドについて

ビルドした後に必要なファイル等については公式の資料を参照してください。 長くなるのでここでは説明を割愛します。x64 のときは特に注意が必要です。

Setting up a project in Unity 3D