Hack and Play

プログラミングやCG、ゲーム、コンピュータのネタを投稿していくブログ。不定期更新。

途中経過 > iPod touchでVRを再現する

2008年12月31日 | プログラミング
さて、iPhone / iPod touchアプリの勉強中ですが、難航しています。チュートリアルでXcodeとInterface Builderはわかってきましたが、Objective-Cに癖がありまして、なかなか進みません。
ほかにもやることがあるので、残念ですがしばらく手を付けられません。時間切れです。

とりあえずやりたいことをネタにしておきます。
--------------------------------------------

iPod touchにはカメラがなく、ARToolKitなどを使って直接VRを楽しむことができません。ならばどうやってVRを作るか、というのはJohnny Chung LeeのWiiリモコンを使ったVRシステムにヒントがありました。

Johnny Chung Lee > Projects > Wii

このプロジェクトではWiiリモコン(つまりIRカメラ)と赤外線LEDを使ったもので、ARToolKitと同じような手法で実現をしています。ARToolKitと大きく違うのは、視点にマーカーを使っている点です、Wiiリモコンはディスプレイまたはコンピュータに固定されています。逆にARToolKitでは視点はWiiリモコンにあたります。
今回想定しているプログラムは以下の図で表せます。


簡単に説明すると、マーカーの位置と傾きをカメラの視点座標とし、カメラの位置を物体の座標としてVRを行うシステムです。

プロセスは、マーカーをiPod touchの裏に張り付け、その映像をカメラで撮影、映像をARToolKitを使って、マーカーの座標を検出します。そのマーカーの座標をiPhone / iPod touchプログラムに送信し、マーカー位置を視点座標とし、視点座標からカメラの位置である原点座標が物体位置にします。これによってVRが可能になります。

利点はARToolKitの処理がすべてサーバー側の処理になり、モバイル機側での処理を減らせます。特にARToolKitの処理であるストリーム処理、画像処理などの膨大な計算処理が省けるので、恩恵はかなり大きくなります。

欠点はカメラの視点外になるとマーカーが検出されず、映像が出力されないのと、ARToolKitのように周辺画像を取り込めないことにあります。

中途経過として、マーカーの座標を送信するプログラムのひな形はできましたが、レガシーなCのコードで書かれているため、iPhone / iPod touchのアプリケーションでは実装が難しく、代わりの方法に関してのコード記述で停滞しています。
一応そのひな形のプログラムのスクリーンショットは以下の図です。手前のテキストベースのアプリケーションがクライアント、後ろのARToolKitを使ったアプリケーションがサーバーになります。クライアントがマーカー座標をサーバーに要求し、要求を受け付けたサーバーが座標データをクライアントに送信、最後にクライアントは受信した座標を表示するプログラムです。数字は4行4列の行列になります。acceptのスペルミスがありますが…


とりあえず今回はここまでです、また来年お会いしましょう。登校時間から数時間後ですが…

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。