UnityアプリケーションにLeap Motionのリスナーを組み込んだらクラッシュする問題

ここで書いているUnityはテストツールでなく、3Dアプリケーションを作るライブラリのUnityです。以前Leap Motionを使ったデモアプリケーションをUnity+C#で作ったことがあり、そのときのメモです。以前は、こういう技術的な調査とコンセプト実証のプログラム開発をする機会が多くありました。

それまで問題なく動いていたUnity5アプリケーションに、Leap Motionを接続してみたら、一応動作はするけど、Gameビュー終了時にUnity Editorがクラッシュする現象が頻発するようになりました。

Leap Motionの操作をUnityで拾うため、Leap.Listenerを継承したクラスを利用していたのが原因みたいで、↓のサイトにあったサンプルコードを、Cameraに貼り付けてあったスクリプトの最後に追加したらでなくなりました(「Exiting cleanly on Windows with Unity3D 3.5」の部分です)。

http://blogs.wankuma.com/hatsune/archive/2013/08/26/328082.aspx

public class SampleListener : Listener {}

CameraのスクリプトのStartメソッドで、こんなかんじでAddListenerしてあるので、最後にきちんとおわらせてあげないといけない。

this.controller = new Controller();
this.listener = new SampleListener(this);
controller.AddListener(listener);

シェアする

  • このエントリーをはてなブックマークに追加

フォローする