NyARToolkitAS3のAlternativa3D対応

需要があったようなので、作りました。私がAlternativa3Dを良くわかっていないので、少々雑ですが・・・。

イマイチ良くわかって無い部分もありますが、一通りは動くようにしました。サンプルとサポートクラスがあります。リリースまでの間、ソースコードはSubversionからダウンロードしてください。

http://sourceforge.jp/projects/nyartoolkit/scm/svn/tree/head/NyARToolkitAS3/trunk/

なお、幾つか問題があります。

  • stageとviewのサイズをあわせるためのマジックナンバーがあります。
  • controllerクラスとの相性がよくありません。
  • 背景をテクスチャと遠方パネルで描画しているため、cameraの方位を変更できません。

追記:FLARToolKitのPreRelease版にもコミットしました。
http://www.libspark.org/browser/as3/FLARToolKit/branches/nyatla/v4/trunk

 

NyARToolkitV4はたぶんこうなります。

NyARToolkitV4を作ってます。

processing版で導入したAPIが好評だったので、同じように使うための仕組みを実装しています。

こんな感じのコードで複数のマーカが認識できるようになる(はず)です。

package jp.nyatla.nyartoolkit.jogl.sample.sketch;

import javax.media.opengl.*;
import jp.nyatla.nyartoolkit.*;
import jp.nyatla.nyartoolkit.core.param.*;
import jp.nyatla.nyartoolkit.jmf.utils.*;
import jp.nyatla.nyartoolkit.jogl.sample.NyARGlMarkerSystem;
import jp.nyatla.nyartoolkit.jogl.utils.*;



/**
 * JMFからの映像入力からマーカ2種を検出し、そこに立方体を重ねます。
 * ARマーカには、patt.hiro/patt.kanjiを使用して下さい。
 */
public class SimpleLite extends GlSketch
{
  private NyARJmfCamera camera;
  private NyARGlMarkerSystem nyar;
  public void setup(GL gl)throws NyARException
  {
    this.size(640,480);
    NyARParam param=new NyARParam();
    param.loadDefaultParameter();
    param.changeScreenSize(640,480);
    this.camera=new NyARJmfCamera(param,30.0f);//create sensor system
    this.nyar=new NyARGlMarkerSystem(param);   //create MarkerSystem
    this.ids[0]=this.nyar.addARMarker(ARCODE_FILE2,16,25,80);
    this.ids[1]=this.nyar.addARMarker(ARCODE_FILE,16,25,80);
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glLoadMatrixd(this.nyar.getGlProjectionMatrix(),0);
    gl.glEnable(GL.GL_DEPTH_TEST);
    this.camera.start();
  }
  private final static String ARCODE_FILE = "../../Data/patt.hiro";
  private final static String ARCODE_FILE2 = "../../Data/patt.kanji";
  private int[] ids=new int[2];
  
  public void draw(GL gl)
  {
    synchronized(this.camera){
      try {
        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); // Clear the buffers for new frame.
        NyARGLDrawUtil.drawBackGround(gl,this.camera.getSourceImage(), 1.0);        
        this.nyar.update(this.camera);
        if(this.nyar.isExistMarker(this.ids[0])){
          gl.glMatrixMode(GL.GL_MODELVIEW);
          gl.glPushMatrix();
          gl.glLoadMatrixd(this.nyar.getGlMarkerTransMat(this.ids[0]),0);
          NyARGLDrawUtil.drawColorCube(gl,40);
          gl.glPopMatrix();
        }
        if(this.nyar.isExistMarker(this.ids[1])){
          gl.glMatrixMode(GL.GL_MODELVIEW);
          gl.glPushMatrix();
          gl.glLoadMatrixd(this.nyar.getGlMarkerTransMat(this.ids[1]),0);
          NyARGLDrawUtil.drawColorCube(gl,40);
          gl.glPopMatrix();
        }
        Thread.sleep(1);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }  
  public static void main(String[] args)
  {
    try {
      new SimpleLite();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return;
  }
}

 

NyARToolkit projectのウェブサイトを移設しました。

NyARToolkitのウェブサイトを移設しました。いままでblogや掲示板に分散していた記事を、集積していこうとおもいます。

GoogleTlanslatorを標準装備しましたので、英語圏の方からも、利用しやすくなると思います。

This is new NyARToolkit project website. New website has Google Tlanslator. check side bar and try it!

NyARToolkitのAPIマニュアルの整備をしています。

NyARToolkit/3.0.0のマニュアルを整備し始めました。まだ全然整備できていませんが、こちらで公開しています。

Javadoc -NyARToolkit/3.0.0
http://nyatla.jp/nyartoolkit/wp/?page_id=18

この項目のマニュアルがほしい!というのがありましたら、blogのコメントか、twitterの@nyatla_st2まで、クラス名を添えて教えてください。

—-
I started to write NyARToolkit/3.0.0 API manual. If you have a request then tell me the class name you want at twitter @nyatla_st2 or blog comment.

Javadoc -NyARToolkit/3.0.0
http://nyatla.jp/nyartoolkit/wp/?page_id=18

更新の終わったパッケージ – finished packages.

(2011/01/05)

  • jp.nyatla.nyartoolkit
  • jp.nyatla.nyartoolkit.core

(2011/01/06)

  • jp.nyatla.nyartoolkit.core.histogram
  • jp.nyatla.nyartoolkit.core.raster
  • jp.nyatla.nyartoolkit.core.raster.threshold
  • jp.nyatla.nyartoolkit.core.labeling

(2011/01/07)

  • jp.nyatla.nyartoolkit.processor
  • jp.nyatla.nyartoolkit.detector

(2011/01/12)

  • jp.nyatla.nyartoolkit.rpf.mklib
  • jp.nyatla.nyartoolkit.rpf.reality.nyartk

(2011/01/13)

  • jp.nyatla.nyartoolkit.rpf.utils
  • jp.nyatla.nyartoolkit.rpf.realitysource.nyartk

(2011/01/17)

  • jp.nyatla.nyartoolkit.core.labeling.artoolkit
  • jp.nyatla.nyartoolkit.core.labeling.rlelabeling
  • jp.nyatla.nyartoolkit.core.match
  • jp.nyatla.nyartoolkit.core.param
  • jp.nyatla.nyartoolkit.core.pca2d
  • jp.nyatla.nyartoolkit.core.pickup

(2011/01/25)

  • NyARToolkitのsrcについてはすべて完了。
  • NyARToolkitのsrc.rpfについてはすべて完了。

追記(2011/01/25)

URLかわりました。下記URLからご覧ください。
http://nyatla.jp/nyartoolkit/wp/?page_id=18