NyAR4psgのJava1.5サポートについて

橋本さんの、ARプログラミング―Processingでつくる拡張現実感のレシピ―について、MacOSでNyAR4psgが起動しないとのレポートを頂きました。

サンプルソースの実行

問題の原因は、NyAR4psgがJava 1.6でコンパイルされているため、Java1.5のMacOS環境では動作しない事でした。

対策として、Java1.5でコンパイルしたNyAR4psgを配布します。このパッケージであれば、Java1.6をサポートしないMacOS 10.6以下(Java 1.5.x)でも動作するとおもいます。

http://nyatla.jp/nyartoolkit/wp/wp-content/uploads/nyar4psg-1.2.0-java1.5.zip


 

 

NyAR4psg/1.2.0

NyAR4psg/1.2.0をリリースしました。

http://sourceforge.jp/projects/nyartoolkit/releases/?package_id=8920

 

 

基本ライブラリをNyARToolkiy/4.0.1へ更新しました。1.2.0では、近距離の頂点トラッキング等の機能により、従来と比較して良好な結果が得られます。

 

新しいAPI

新しいAPIとしては、MultiMarker#addARMarker関数があります。

この関数は、Processingの画像をそのままマーカとして使用するための関数です。適当なPNGファイル等を読み込んで、そのままマーカに使うことが出来ます。

example

void setup() {
  size(640,480,P3D);
  colorMode(RGB, 100);
  println(MultiMarker.VERSION);
  cam=new Capture(this,640,480);
  nya=new MultiMarker(this,width,height,"camera_para.dat",NyAR4PsgConfig.CONFIG_PSG);
  nya.addARMarker(loadImage("hiro.png"),16,25,80);
}

このAPIはカラーのマーカも扱うことが出来ますが、撮影画像とPNG画像の色値はかなりのズレがあるため、出来ればグレースケールのマーカで使ってください。

 

NyAR4psg/1.1.7リリース

NyAR4psg/1.1.7をリリースしました。変更内容は、1個の関数追加です。

追加した関数

public PVector marker2ScreenCoordSystem(
int i_id,
double i_x,
double i_y,
double i_z)

この関数は、ID i_id番のマーカ座標上の点を、スクリーン座標の点に変換することが出来ます。例えば、次のコードは、マーカ0の中心点のスクリーン座標を得ます。

marker2ScreenCoordSystem(0,0,0,0);

記事紹介:Augmented Reality with Processing [Tutorial, Processing]

NyARToolkit for processingのデモ動画がありました。

詳しいサンプルコードもありましたので、紹介をしたいと思います。

http://www.creativeapplications.net/processing/augmented-reality-with-processing-tutorial-processing/

このデモは、複数のマーカを、NyARToolkit for processingで取り扱うチュトリアルになっていました。環境の構築から解説されており、大変親切です。