= 注 = このページの記述は Processing 2 の話なので、バージョン 3 では不要。例えば [https://qiita.com/mkoku/items/26dd31456eb5a2753c9a Processing 3.3 と NyARToolkit 5.0.5 で AR の練習] などに分かりやすく書いてある。 == 自分で読み込んだ画像を表示:3次元の場合 == 3次元ファイル形式のなかで、Wavefront Obj 形式を表示するために、saitoobjloaderを使う * https://code.google.com/p/saitoobjloader/ [[Image(wiki:misc/processing/file:processing_installObjLoader1.png)]] * Download ページから OBJLoader.zip version 0.23b をダウンロード * NyARToolkitと同様に、Document\Processing\libraries\OBJLoader に展開 [[Image(wiki:misc/processing/file:processing_installObjLoader2.png, 500px)]] * Processingを再起動し、OBJLoaderが Library のところに表示されていることを確認 [[Image(wiki:misc/processing/file:processing_installObjLoader3.png, 350px)]] * sketchを名前をつけて保存しなおす。今回は sketch_140807d とした * Documents\Processing\libraries\OBJLoader\examples\OBJLoader_Multi_Models_MATTD\data にある cassini.obj, cassini.mtl をスケッチのdataフォルダへコピーして、以下のコードを入力。 {{{ import processing.video.*; import jp.nyatla.nyar4psg.*; import saito.objloader.*; Capture cam; MultiMarker nya; PImage img_jin, img_poni; OBJModel model; void setup() { size(640, 480, P3D); // setup camera String[] cameras = Capture.list(); cam = new Capture(this, cameras[0]); // select cam 0 // load AR marker information nya = new MultiMarker(this,width,height,"camera_para.dat",NyAR4PsgConfig.CONFIG_PSG); nya.addARMarker("patt.hiro", 80); nya.addARMarker("patt.kanji", 80); // load 2D image file img_jin = loadImage("data/jin01t.gif"); img_poni = loadImage("data/poni01t.gif"); // load 3D object model model = new OBJModel(this); model.load("data/cassini.obj"); model.scale(3.0); model.translateToCenter(); cam.start(); // start camera } void draw() { if (cam.available() != true) { return; } background(0); // clear (black) backgound cam.read(); // read camera image nya.detect(cam); // detect marker nya.drawBackground(cam); // draw background camera image if (nya.isExistMarker(0)) { nya.beginTransform(0); model.draw(); // show 3D Obj(Cassini) nya.endTransform(); } if (nya.isExistMarker(1)) { nya.beginTransform(1); scale(0.25); rotateX(radians(-90)); translate(-200,-400,0); image(img_poni, 0, 0); // show Poni nya.endTransform(); } } }}} [[Image(wiki:misc/processing/file:processing_installObjLoader4.png, 400px)]]