ARToolKit プログラム読本 Ver. 1.01

2011-04-06   treby   エンジニアリング  , , , , このエントリーをはてなブックマークに追加

C79戦利品レビュー第2弾。

ARToolKit プログラム読本 Ver. 1.01
『ARToolKit プログラム読本 Ver. 1.01』
サークル:RagWork

いわゆる「俺の嫁」を具現化するには一番手っ取り早い手段っぽいAR。聞くところによると、3DSにもARを使った機能が実装されているらしいっすね。買った時の心境としては、「後学のためになればいいな」程度でしたがいざレビューしようと思い立つと、「紹介するだけじゃオレの矜持に関わる」とかいらんプライドが出てきまして、じゃあとりあえず動くところまでやろうという話になりました。

それで「よぉしパパ、AR(拡張現実)やっちゃうぞ~」というノリで昨日丸一日格闘してみたのですが、これがなかなかに手強い。

というか大抵の「やってみた」系は、まず「動かす」ところに関門が存在しますよね。だからジャンルを問わず「やってみた」と発表されている時点ですげぇと思います。マジで。

てなわけでブリーフィング。

  • 環境:Windows 7 Ultimate 64bit
        Visual Studio 2008 Professional Edition
        Webカメラ(ELECOMの3000円くらいの。オートフォーカス機能なし。)
  • 目標:マーカーの上に3Dモデルを表示しちゃおうぜ!

……とどのつまり、本で紹介されていることの猿真似なんですけどね。ではでは、ミッションスタートっ!

※紹介させていただいている本を発行されたサークル様へ
 レビューは「素晴らしい本を紹介させていただく」というスタンスのもとに執筆しておりますが、万が一、レビュー内容に不都合等がございましたら「まどろみはじめ」宛て(treby[あっと]atelier-nodoka.net)までご一報ください。

(1) 必要なものを揃える

本の中で推薦されている参考書籍、『ARToolKit 拡張現実感プログラミング入門』の書籍公式サイトからファイルをダウンロードしてきます。

Amazon.co.jp : 3Dキャラクターが現実世界に誕生! ARToolKit拡張現実感プログラミング入門

本では基本的にこの書籍に沿って試されているようだったので、まずは自分も便乗してみることに。このステップはファイルの調達だけなので特に詰まるところはありませんでした。

(2) ひとまずキャリブレーション

本に従ってカメラの補正ファイルを作成してやります。と、ここで早速エラーが。「msvcp71.dll」「msvcr71.dll」「glut32.dll」がありません。ある種鉄板なので、ちょちょいと調達。最後の分は書籍公式サイトで配布されていました。同じ圧縮ファイルに同梱されていなかったのはライセンス的な問題なのでしょうか(憶測です)。

めでたく実行できたら解説に従ってちまちま24個の点をプロットする作業をします。

(3) オリジナルマーカーの作成

3Dモデルを表示させるベースの部分がマーカーですが、本ではこれを自作されているんですね。自分がしているのは基本トレースですが、そのまま真似しちゃうのも芸がないというわけで自分でも一つ考えてみることに。6文字で何かいい単語はないかと考え、思いついた言葉。

わっちまーかー
「けんろうホロ」、完ペキですね。

んで専用プログラムを使ってこいつ用のマルチマーカーのファイルを作成してやります。

(4) コーディング!

Visual Studioで適当に空のC++プロジェクトを作ってやって、GLMetaseq.cとGLMetaseq.hを引っ張ってきて、適当なCのファイルを作ってコードがりがり書きます。といっても、付録のソースコードをそのまま写しただけなんですけどね。

ポイントはプロジェクトのプロパティ欄の「追加のインクルード ディレクトリ」と「追加のライブラリ ディレクトリ」でした。こいつを上手く設定してやらないとエラーをドバドバ吐きやがるんですね。エラーが多すぎて、正直泣きたくなりました。

それでも何とかかんとか、実行までこぎつけることに成功。

(5) 実行!

いよいよ実行です。3Dモデルデータには付属の忍者さんを使用させていただきました。

実行結果

本当はネットで配布されているMQOデータも使ってみたかったのですが、「色データを上手いこと読み込めない」という理由で断念しました。3Dモデル周りにも、暇を見つけてじっくり取り組んでみたいな。素敵なモデルデータがたくさん配布されていますからね、いつしか必ず!