NyIdテンプレートカードの販売を開始しました。

株式会社スイッチサイエンスさんにてNyIdテンプレートカードの委託販売を開始しました。

ARマーカーカードセット(NyIdテンプレートカードセット)販売ページ

※モザイクの場所はシリアル番号になります。

商品説明

パッケージには以下のものが含まれています。

  1. NyId marker template ブランクカード ×10
  2. NyId [00-19]: Model2/Rawbit ID早見表× 1

カードは角丸加工の低光沢厚紙製(220kg)。91mm×55mmの名刺サイズです。
11枚で1セット。価格は280円です。

NyARToolKit/FLARToolKitのIDマーカとしてご利用になれます。ARToolKitでは使用できませんのでご注意ください。(要望があればパッチを作ります。)

サポート

商品のサポートはNyARToolkit projectで行いますので、数量不足などがありましたら、wm@nyatla.jpまでお知らせください。

また、独自仕様のカード作成などご希望がありましたら、ご相談ください。

English

We start to sell NyId template  marker card kit.

The card package includes 11 cards.

  1. NyId marker template blank-card ×10
  2. NyId [00-19]: Model2/Rawbit ID table card× 1

Each card is non-gloss high quarity paper. 91mm x 55mm.
It is robust and strong to reflection of lighting.

Price

The price of  a card is 280JPY +shipping charges.
For example, this is price list to US area.

pieces price discount shipping charges(by airmail) total
1 280JPY 240JPY 520JPY=6USD
10 2800JPY 10% 600JPY 3120JPY=36USD

*Exchange rate is 85JPY/USD.
*In EMS, Shipping charges is 1200JPY.

How To Purchase

Payment can be made by paypal. For more detailed estimate, please  contact to  wm@nyatla.jp.

NyIdカードの耐久性試験

NyIdカードの耐久性を試験しました。

試験項目

次の2点について、耐久性を確認しました。

  • 水濡れ
    NyIdカードを水で10秒間洗い、乾燥させたとき形状変化を観察します。
  • 汚れ(醤油)
    NyIdカードの一部を何処のご家庭にもある醤油に浸し、1.直ぐに(3秒後)にふき取った場合2.放置した場合の様子を観察します。

試験結果

水濡れ

左から、量産型(専用紙)、オンデマンド印刷(上質紙)、インクジェット印刷、オフセット印刷(マットコート紙)です。

水濡れ試験
  • 量産型(専用紙)
    中央が凹む形で反りがあります。乾燥中もあまり大きく変形しません。水分を吸収しにくいようです。
  • オンデマンド印刷(上質紙)
    中央が凸む形でやや不規則に反りがあります。写真からは判りにくいですが、表面も荒れています。
  • インクジェット印刷
    中央が凹む形でやや不規則な反りがあります。もっとも良く水を吸収しました。
  • オフセット印刷(マットコート紙)
    不規則な反りがあります。水に浸したて直ぐには、とても大きな反りを見ることが出来ました。元がロール紙だったのかもしれません。

どのカードも乾燥時に反りが発生していますが、量産型(専用紙)のカードは他のカードと比較して反りが一定です。立体視用の画像を用意しました。像の歪みで酔いますので、長時間見てはいけません。

水濡れ画像・立体視用

汚れ

左から、量産型(専用紙)、オンデマンド印刷(上質紙)、インクジェット印刷、オフセット印刷(マットコート紙)です。

汚れ試験

左上(赤枠)が醤油から引き上げ後にふき取った場合。右上(青枠)がそのまま放置した場合です。染込み具合から、短期/長期の汚れ耐性を観察します。

  • 量産型(専用紙)
    直ぐに拭き取った場合、あまり汚れは残りません。放置した場合にも余り汚れは広がりません。
  • オンデマンド印刷(上質紙)
    直ぐに拭き取った場合にも、やや汚れが残ります。また、その際に用紙が少し破損しました。放置した場合はやや汚れが広がります。
  • インクジェット印刷
    水分を良く吸収します。直ぐに拭き取っても汚れが残りました。放置した場合は良く汚れが広がります。
  • オフセット印刷(マットコート紙)
    直ぐに拭き取とった場合にも汚れが残れます。放置した場合には余り汚れは広がりません。

汚れに対する耐性は、次の順番になりました。

  1. 量産型(専用紙)
  2. オフセット印刷(マットコート紙)
  3. オンデマンド印刷(上質紙)
  4. インクジェット印刷

まとめ

量産型マーカは、他の方式で生産したマーカよりも汚れ・水濡れ耐性に優れていることがわかりました。用紙の表面処理と厚さの違いが性能に影響したと考えられます。
屋内での使用には十分な耐性を持っています。
屋外での使用については、他の材料を検討する必要がありそうです。

 

NyARToolkit/FLARToolKit用の実験カードセットの販売について

以前紹介したNyIdカードの販売を計画しています。

製品仕様

製品は、ID固定のものとテンプレートの2種類があります。

  • IDカード10枚パック
    00から09までの印刷済みIDカード10枚のセットです。インクジェットプリンタで製造します。
  • テンプレートカード10枚パック
    自分で番号を書き込んで使うブランクのカード10枚と、IDパターン早見表のセットです。低反射用紙にオフセット印刷で製造します。
    サインペンなどでパターンを記入して使うことも出来ますし、そのまま0番のカードとして使うことも出来ます。
IDカード10枚パック
テンプレートカード10枚パック

販売メニュー

販売メニューは2種類です。テンプレートと固定IDの組み合わせがあります。

  • NyIdマーカ練習セット (780円 税・送料込)
    IDカード10枚パックと、テンプレートカード10枚パック×2セットの合計30枚です。個人的な実験に便利です。
  • NyIdマーカテンプレートセット (980円 税・送料込)
    テンプレートカード10枚パックの5個セット、合計50枚です。拡張現実感の教室などの教材向けです。
NyIdマーカ練習セットの内容
NyIdテンプレートカードセットの内容

各カードのセットは、1セットづつ包装してあります。

NyIdテンプレートカードセットパッケージ

販売方法

販売するのは以下の写真にあるパッケージです。販売方法は、委託販売を検討しています。リセラーになってもいいよーという方は、是非ご連絡ください。公式のリセラーさんとして、ご紹介いたします。販売手数料の支払いは、20%-30%を予定しています。

カードのパッケージ

販売方法決定までの間は、wm@nyatla.jpまでご連絡ください。paypl決済にて対応いたします。
また、オリジナルマーカの製造・教材向けの大量生産も出来ますので、ご相談ください。

Q&A

Q1.自分で印刷した方が安く無いですか?

A1. IDカード10枚パックについては量産化が出来ておりませんので、ご自身で製造した方が同等の物を早く安く製造できます。インクジェットプリンタをお持ちでしたら、こちらの記事を参考に印刷することをお勧めします。

Q2.インクジェットプリンタで自作したものと、品質の差はありますか?

A2. テンプレートカード10枚パックについては差があります。テンプレートカード10枚パックは、低反射の専用紙にオフセット印刷したものになります。溢れる高級感はありませんが、普通紙・マット紙よりも高品質な物を使用しています。

 

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;
  }
}