SCEさんがARマーカを大量印刷してくれるそうなので、NyARToolkitのMarkerSystemからARプレイカードを使えるようにしました。
紹介記事→SCEJ、PS Vita「ARプレイ」を6月28日より開始
パッケージ化はしていないので、リポジトリから直接チェックアウトしてください。
- NyARToolkit for Java -r1059
http://sourceforge.jp/projects/nyartoolkit/scm/svn/commits/1059 - NyARToolkitAS3 – r1060
http://sourceforge.jp/projects/nyartoolkit/scm/svn/commits/1060 - FLARToolkit – r4753
http://www.libspark.org/browser/as3/FLARToolKit/branches/nyatla/v4/trunk - NyARToolkitCS – coming soon
 - NyARToolkit for Unity3D – coming soon
 - NyARToolkit for Android – coming soon
 - NyAR4psg – coming soon
 
使い方
SimpleLiteをARプレイカードで動かすには、次のコードを書きます。
個のサンプルはJavaですが、ActionScriptでも同じAPIが用意されています。
package jp.nyatla.nyartoolkit.jogl.sample.sketch;
import javax.media.opengl.*;
import jp.nyatla.nyartoolkit.core.NyARException;
import jp.nyatla.nyartoolkit.jmf.utils.*;
import jp.nyatla.nyartoolkit.jogl.sketch.GlSketch;
import jp.nyatla.nyartoolkit.jogl.utils.*;
import jp.nyatla.nyartoolkit.markersystem.NyARMarkerSystemConfig;
public class SimpleLite extends GlSketch
{
  private NyARJmfCamera camera;
  private NyARGlMarkerSystem nyar;
  private NyARGlRender render;
  public void setup(GL gl)throws NyARException
  {
    this.size(640,480);
    NyARMarkerSystemConfig config = new NyARMarkerSystemConfig(640,480);
    JmfCaptureDeviceList devlist = new JmfCaptureDeviceList();
    JmfCaptureDevice d = devlist.getDevice(0);
    d.setCaptureFormat(config.getScreenSize(),30.0f);
    this.camera=new NyARJmfCamera(d);//create sensor system
    this.nyar=new NyARGlMarkerSystem(config);   //create MarkerSystem
    this.render=new NyARGlRender(this.nyar);
    this.id=this.nyar.addPsARPlayCard(5,80);
    gl.glEnable(GL.GL_DEPTH_TEST);
    this.camera.start();
  }
  private final static String ARCODE_FILE = "../../Data/patt.hiro";
  private int id;
  public void draw(GL gl)
  {
    synchronized(this.camera){
      try {
        this.render.drawBackground(gl, this.camera.getSourceImage());
        this.render.loadARProjectionMatrix(gl);
        this.nyar.update(this.camera);
        if(this.nyar.isExistMarker(this.id)){
          this.render.loadMarkerMatrix(gl,this.id);
          this.render.colorCube(gl,40,0,0,20);
        }
        Thread.sleep(1);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }
  public static void main(String[] args)
  {
    try {
      new SimpleLite();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return;
  }
}
重要なのは次の行で、ARプレイカードの5番を、マーカサイズ8cmで登録しています。(ARプレイカードの標準的な大きさがわからなかったので・・・)
this.id=this.nyar.addPsARPlayCard(5,80);
使えるカードは1番から6番までです。もちろん、従来のARマーカやNyIdマーカと混在して使うことも出来ます。
FLARTK、NyARToolKitCSには順次移植していきます。



