UnityでOpenCVを使用する場合、
AssetStoreで販売されているOpenCV for Unityを使用するか、
自前でC++などでUnityネイティブプラグインを開発するかの2つ方法があります。
OpenCV for Unityは自分は使ったことはありませんが、言及しているブログも多く、
マルチプラットフォームそれぞれ用にネイティブプラグインを作るのが面倒くさかったりする場合は
お金で解決してしまった方が手っ取り早いかもしれません。
さて、今回の内容は、
いやAssetStoreに頼らず自分でネイティブプラグイン作ってみたい!
とか、お金がない!
などといった事情をお持ちの方向けとなってます。
ソースコードが長くなったり、いくつもクラスを作成したりすると、
Processing標準のエディタではちょっと厳しいなと感じたのでIDEの助けを借りたくなった。
EclipseでProcessingを使うための方法はこの本にも書いていたし、
色んなサイトで説明されている。
http://processing.org/learning/eclipse/
これらを参考にEclipseでProcessingを使えるようにしてみた。
うん、ちゃんと動作した。
これで環境整ったし、あとは頭の中にイメージしたものを引っ張り出すことに専念できるぞ。
…と、3D表現のサンプルコードを実行してみたところ、
You need to use “Import Library” to add processing.opengl.PGraphicsOpenGL to your sketch …
言われてることはわかるけど、これはどこから持ってくればいいのか…(~_~;)
ググってしらべた所、こちらの方のブログを発見!
この通りにやったら出来ました!
ありがとうございますm(_ _)m
ちなみに、*.jnilibを正しく設定しないと、
java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path…
とか言われて、ここでもしばらくハマった。
さて、無事ライブラリをプロジェクトに設定できて、やっと書き始められる!
と思いサンプルプログラム(2つのクラスからなる)を実行した所、
Exception in thread “Animation Thread” java.lang.NullPointerException processing…
うーんなんだこれは。
ネット上にあるソースの書き方を参考にさせて頂きましてー…。
どうやらメインの処理で使用されるクラスではPAppletを継承してはいけないみたい。
正しくはこちらのようにインスタンスの生成でthisを渡す。
なんだかAndroidのContextみたいだ。
ちなみにサンプルプログラムはこちら↓の書籍から拝借。
標準のProcessing用のプログラムをEclipseで動作するように少し修正しています。
さて、いろいろ躓いたけどこれでやっとプログラミングに専念できる。はず。