拡張現実: 2009年4月アーカイブ
Wired Vision連続トークセッション「コミュニケーションデザインの未来」に出席してきました。
基本的には全く専門外のお話でしたが、ARに関するお話もされると聞いて興味を持ちました。
また、濱野さんの記事は以前も読んでいて、とても面白いと思っていたのも出席を決めた理由です。
事前に申し込まないといけないようなので、前の失敗を教訓に即登録。
非常に楽しみにしながら会場に向かいました。
何度も言いますが、トークの主な部分は専門外のため、ARに関係するお話だけピックアップします。
濱野さんはARに興味を持っておられ、その中でもコミュニケーションのためのARに注目されているようでした。
その例として、『場の空気を可視化する「ソーシャルAR(拡張現実)」』のお話、
もうひとつは、『ニコニコ動画とAR(現実拡張)技術が可能にする「ニコニコ現実」』というお話をされていました。
詳細は上記記事を読んでいただければ分かりますが、
・「ソーシャルAR」は現実世界の人間関係を拡張するためのAR
・「ニコニコ現実」は現実のいろんな事象に、ニコニコ動画のようなコメントを付けれる機能
といったような内容です。
僕自身もコミュニケーションのためのARを模索中で、UIをより直感的にすることで情報格差を緩和でき、作業領域や”お互いの空気”を共有することで、離れた相手とも深い共感が味わえるのではないかと考えたりしています。
この辺りの考え方が、今回のトークセッションで重要な言葉として出てきた「コンテンツよりも、それを基盤としたコミュニケーションが重要」(といった趣旨のお言葉)に繋がり、自分の方向性への自信にもなりました。
また、濱野さんの「ニコニコ動画」に関するお話なども聞き、「擬似同期」と呼ばれるコミュニケーションの重要性も再確認しました。
「ニコニコ動画」以外にも中高生版twitterと言われる「リアル」や「アメーバブログ」などのお話もあり、とても興味深かったです。
今回は沢山のお話を聞き、自分の考え方を広げることができました。
トーク自体も楽しく、あっという間の2時間でした。
基本的には全く専門外のお話でしたが、ARに関するお話もされると聞いて興味を持ちました。
また、濱野さんの記事は以前も読んでいて、とても面白いと思っていたのも出席を決めた理由です。
事前に申し込まないといけないようなので、前の失敗を教訓に即登録。
非常に楽しみにしながら会場に向かいました。
何度も言いますが、トークの主な部分は専門外のため、ARに関係するお話だけピックアップします。
濱野さんはARに興味を持っておられ、その中でもコミュニケーションのためのARに注目されているようでした。
その例として、『場の空気を可視化する「ソーシャルAR(拡張現実)」』のお話、
もうひとつは、『ニコニコ動画とAR(現実拡張)技術が可能にする「ニコニコ現実」』というお話をされていました。
詳細は上記記事を読んでいただければ分かりますが、
・「ソーシャルAR」は現実世界の人間関係を拡張するためのAR
・「ニコニコ現実」は現実のいろんな事象に、ニコニコ動画のようなコメントを付けれる機能
といったような内容です。
僕自身もコミュニケーションのためのARを模索中で、UIをより直感的にすることで情報格差を緩和でき、作業領域や”お互いの空気”を共有することで、離れた相手とも深い共感が味わえるのではないかと考えたりしています。
この辺りの考え方が、今回のトークセッションで重要な言葉として出てきた「コンテンツよりも、それを基盤としたコミュニケーションが重要」(といった趣旨のお言葉)に繋がり、自分の方向性への自信にもなりました。
また、濱野さんの「ニコニコ動画」に関するお話なども聞き、「擬似同期」と呼ばれるコミュニケーションの重要性も再確認しました。
「ニコニコ動画」以外にも中高生版twitterと言われる「リアル」や「アメーバブログ」などのお話もあり、とても興味深かったです。
今回は沢山のお話を聞き、自分の考え方を広げることができました。
トーク自体も楽しく、あっという間の2時間でした。
PTAM+ARToolKit+通信機能を合わせた動画を公開しました。
最後の通信の辺りは楽しんでいただけると思います。
詳細ページ:
http://render.s73.xrea.com/pipe_render/2009/03/ptam.html
http://render.s73.xrea.com/pipe_render/2009/03/ptam-2-2.html
http://render.s73.xrea.com/pipe_render/2009/04/ptam-3-1.html
BGM:エコテロニカ(sansuiさん)
※また、何度も書きますが、ライセンス上の問題により、
このバージョンのアプリは、実行ファイル・ソースコード共に公開いたしません。
ご了承ください。
最後の通信の辺りは楽しんでいただけると思います。
詳細ページ:
http://render.s73.xrea.com/pipe_render/2009/03/ptam.html
http://render.s73.xrea.com/pipe_render/2009/03/ptam-2-2.html
http://render.s73.xrea.com/pipe_render/2009/04/ptam-3-1.html
BGM:エコテロニカ(sansuiさん)
※また、何度も書きますが、ライセンス上の問題により、
このバージョンのアプリは、実行ファイル・ソースコード共に公開いたしません。
ご了承ください。
前回の改良によって、PTAMのCG座標系の中心点をユーザーが決められるようになるので、
この座標系を離れた複数のユーザーで共有することも可能になります。
ARToolKitでもこれは可能でしたが、PTAMの場合はマップを広げることができるので、マーカーが映るのは最初の1回だけでOKになります。
部屋中にマーカーを張ることなく、いろんな方向を見てもトラッキングが失敗しないようにすることが可能です。
この座標系をユーザー間で共有するには、最低限、座標系を表す変換行列(カメラ座標系とワールド座標系の)が必要になります。
----- < 座標系データの送受信 > -----
通信には、とりあえずWinSockを使用することにしました。
ここで送信されるデータは、まだ変換行列程度ですが、速度を重視してUDPを使用します。
Geekなぺーじ:winsockプログラミング
変換行列はmpTracker->GetCurrentPose()で取得できるので、
これをそのまま送ってやることになります。
----- < CGの描画 > -----
受信側でデータを受け取ったら、そのデータを使用してCGを描画します。
この時、この変換行列が”ワールド座標系からカメラ座標系”の変換を表していることに注意してください。
例えば、マップの描画時に新しいカメラを追加する場合はMapViewer::DrawMap()内に処理を追加します。
関数内のDrawCamera(se3CamFromWorld);をもう一つ追加して、その引数に受信した変換行列を設定してやれば終了です。
3Dモデル(4つの目)の描画は、ARDriver::Render()関数内の、mGame.DrawStuff()で行われています。
ただ、この関数をそのまま使うと、引数に指定したベクトル方向に視線を合わせるようになるので、
そこの処理をコメントアウトし、相手のカメラの座標系に合わせる様にします。
この時描画されるCGでは、相手のカメラの位置と方向のみを表すことができます。
なので、PTAMのサンプルに入っている目のCGのような、単純なモデルが適していると思われます。
この座標系を離れた複数のユーザーで共有することも可能になります。
ARToolKitでもこれは可能でしたが、PTAMの場合はマップを広げることができるので、マーカーが映るのは最初の1回だけでOKになります。
部屋中にマーカーを張ることなく、いろんな方向を見てもトラッキングが失敗しないようにすることが可能です。
この座標系をユーザー間で共有するには、最低限、座標系を表す変換行列(カメラ座標系とワールド座標系の)が必要になります。
----- < 座標系データの送受信 > -----
通信には、とりあえずWinSockを使用することにしました。
ここで送信されるデータは、まだ変換行列程度ですが、速度を重視してUDPを使用します。
Geekなぺーじ:winsockプログラミング
変換行列はmpTracker->GetCurrentPose()で取得できるので、
これをそのまま送ってやることになります。
----- < CGの描画 > -----
受信側でデータを受け取ったら、そのデータを使用してCGを描画します。
この時、この変換行列が”ワールド座標系からカメラ座標系”の変換を表していることに注意してください。
例えば、マップの描画時に新しいカメラを追加する場合はMapViewer::DrawMap()内に処理を追加します。
関数内のDrawCamera(se3CamFromWorld);をもう一つ追加して、その引数に受信した変換行列を設定してやれば終了です。
3Dモデル(4つの目)の描画は、ARDriver::Render()関数内の、mGame.DrawStuff()で行われています。
ただ、この関数をそのまま使うと、引数に指定したベクトル方向に視線を合わせるようになるので、
そこの処理をコメントアウトし、相手のカメラの座標系に合わせる様にします。
この時描画されるCGでは、相手のカメラの位置と方向のみを表すことができます。
なので、PTAMのサンプルに入っている目のCGのような、単純なモデルが適していると思われます。
