ここ数日、NyARToolkit (+Processing2.0 beta 8)を利用してオブジェクトをPickingできないかあれこれ試していました。が、なかなかうまくいかず。。。
とりあえずNyARToolkitの説明によるとProcessing1.5.1ではProcessing-Pickingライブラリが動作すると書かれていました。
とりあえず動かすことを優先して1.5.1を試そうとしたところ、JREが32bitでは動作しないとか。。。おいおい。。。とにかくあれこれ調べて1つの解決方法がわかりました。
対処前のJavaのバージョンは以下の通りでした。
java version "1.7.0_06"
Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
Java HotSpot(TM) 64-Bit Server VM (build 23.2-b09, mixed mode)
この状態でターミナルでjava -d32とすると以下のエラーが表示されます。Processing1.5.1を実行したときにもこのエラーが表示されます。
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
32bitに対応したVMに置き換える必要があります。とりあえず1.6にしてみます。JRE1.6をダウンロードする必要があるかな?と思いましたが、ls /System/Library/Frameworks/JavaVM.framework/Versions をしてみると入っていそうです。切り替えは以下のコマンドでいけるようです。もし1.5.1を常用するのであれば.zprofileなどに入れておくのがいいのかもしれません。
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
このコマンドを実行後、java -versionを確認したり、java -d32で32ビットモードで動作することを確認したあと、Processing1.5.1を実行してみると。。。残念ながらエラーが表示されます。
そこで、ターミナルより/Applications/Processing.app/Contents/MacOS/JavaApplicationStubを実行します。Processing1.5.1のIDEが起動します。この状態でサンプルなど実行すると、実行できちゃいます。
あまり気持ちのいい方法ではありませんが、やむなくというところです。