<string name="server_addr">192.168.86.1</string>の 部分を上記で調べたものに変更します。
mRenderer = new ModelRenderer(false, getAssets(), "chair01.mqo", 0.04f);
<string name="camera_name">jp.android_group.artoolkit.hardware.SocketCamera</string>を、
<string name="camera_name">jp.android_group.artoolkit.hardware.Dev1Camera</string>に変更する。
細かい点について、コードを順番に追っていきます。
もしかすると、画面が傾いていませんか?
本来は、それを制御するためには、OrientationListenerクラスを利用します。
NyARToolkitAndroidActivity#onCreate(Bundle)内で、
mOrientationListener = new OrientationListener(this) { public void onOrientationChanged(int orientation) { mLastOrientation = orientation; } };
と、インスタンス化しています。
が、これ、思ったように動いてくれません。Dev Phone 1を、立てているにもかかわらず、『横』の判定になってしまったり、動かしていないのに、縦から横になってしまったりと、いまいち、安定しません。
そのため、今回は、入れてはおきましたが、使っていません。
有効にするには、Dev1CameraクラスのインナークラスであるImageCapture#capture()内の
//final int latchedOrientation = NyARToolkitAndroidActivity.roundOrientation(arActivity.getLastOrientation() + 90 ); (略) parameters.set("rotation", 90); //parameters.set("rotation", latchedOrientation);
のコメントアウトをはずしてもらえれば、OKです。
安定させられた方、是非、ご連絡をお願いします。
上記のOrientationListenerによる姿勢制御により、縦横が切り替わったタイミングで画面のサイズが(縦横比)が変わります。そのため、この横サイズにあったARToolkit用のキャリブレーションファイル(res/raw/camera_para.dat)が必要になります。
今回は、用意していないので、ご自分で用意してください。
Camera×Callback×Bitmap節にて、RGBの持ち方に関する記述がありますが、
ビットマップとOpenGL/ESとのRGBの持ち方の違い
という方が正しいとの、指摘がありましたので、訂正させていただきます。
現在、NyARToolkitのVer.2.0化 と Androidに付属しているfloat系のネイティブライブラリを使用するように変更を行っています。
それにあわせて公開する予定ですので、少々お待ちください。