goo blog サービス終了のお知らせ 

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のスペルミスがありますが…


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

繋ぎネタ>3Dビューワーをiアプリで作ってみた

2008年12月27日 | CG関連
今iPod touchのプログラミングを勉強しているのですが、Objective-Cの特殊な記述に悩まされています。またCocoaのプロセス間通信が従来と異なることができるみたいで、かなり面白くできそうです。
…またiアプリと同じような制限があったら嫌なんですが。

ということで、しばらく勉強のためまた更新できそうにないので、繋ぎとしてニコニコに上げたネタを流用しようと思います。

3Dビューワーをiアプリで作ってみた


前に書いた記事の延長上のもので、一応形になったので再度ネタにします。配布も可能なので、興味があれば使ってやってください。

※自己責任でダウンロードお願いします。後iアプリDL 、設定ファイルDLのリンク以外はAdリンクなので気をつけてください。
http://catman.shakunage.net/viewer/Download.html

iPod touch買いました

2008年12月21日 | 雑記
1年近く更新せず、申し訳ありませんでした。
ネタになりそうなものを買ったので、とりあえずレビューします。
先週の水曜日(12/17)に買ったのですが、その週はいろいろと忙しくて、アプリどころか音楽すら入れられず、podcastを2、3件入れてたぐらいで、週末になったのでようやくいじれるようになりました。

----------------------------------------------
さて、iPod touchが出てからずいぶんと経ちまして、iPhoneの記事を書いてから2年近くが経とうとしています。前置きはこれぐらいで使ったみた感じを。

スピーカーについて
-------------------
第二世代なので、スピーカーとボリュームボタンを搭載しているので、ヘッドホンなしでも音楽が聞けたりするのはなかなか良いです。ただしスピーカーは貧弱なので、本気で音楽を聴くには向きません。

タッチによるキーボード入力
-------------------
かなり押しにくいですが、予測変換機能を含めるとまったく使えないとは言い切れません。私は携帯の文字入力法が苦手なので、ややこちらの方が便利だと思います。横持ちで入力できれば良いのですが、まだ対応していません。

Safariについて
-------------------
Flashは見れませんが、ほとんどのサイトは見ることができます。最近広告にFlashを使っていたりしているので、ある意味モバイル機にはやさしい設計かもしれない…
複数の画面を保持できますが、ある画面数を超えると落ちるみたいです。というかむしろメモリの都合上、もともと複数画面を持つのは非現実的な気もしますが…

アプリについて
-------------------
無料アプリでも良いのがありますが、基本的に実用に向くのは有料アプリが多いです。これをよしとするかどうかは人によって分かれると思います。
私は英辞郎を自分で入れてやろうと思っていましたが、i英二郎というEDP公認のアプリが出ていたので、そちらを買いました。
暇があればアプリも作ってみようかと考えていますが、当分先になりそうです。

その他
-------------------
podcastをiPod touch/iPhone単体でダウンロードできるようになりましたが、自動ダウンロードはまだサポートしていません。これは早くダウンロードできるようになってほしいなぁ…

----------------------------------------------

とりあえず今回のネタはこれまでです。
もうちょっと落ち着かないとネタ作りが難しいなぁ…
しばらくの間不定期で更新を考えてます。
それではまた