CAVE Programming


1. 概要説明

没入型ディスプレイK-Caveを用いて仮想世界を体験し、本演習の目的、および課題の内容について理解してもらいます。



1.1 没入型ディスプレイ

バーチャルリアリティ(VR: Virtual Reality)のディスプレイ装置は、大きく分けてHMD(Head Mounted Display)とIPT(Immersive Projection Technology:没入型ディスプレイ)があげられます。HMDはゴーグル型のディスプレイ装置を頭に装着することで、利用者は目の前に提示された立体映像を体験します。一方、IPTでは大画面のスクリーンを空間内に配置することで、利用者はプロジェクタから投影された映像空間を体験します。本演習では後者のIPTのディスプレイ装置を利用したバーチャルリアリティプログラムの開発方法について学習します。

IPTのディスプレイは、スクリーンの配置によって広視野の映像空間を構築できる、視点の移動による映像のフレームアウトが少ない、視点計測のセンサによる時間遅れの影響が少ない等、HMDに比べて幾つかの有効な特徴を有しています。そのため、実用的な用途に利用可能なバーチャルリアリティのディスプレイ技術として期待されています。

IPTの技術がバーチャルリアリティの有効なディスプレイ装置として注目されるようになったきっかけとして、1992年に米国イリノイ大学で開発されたCAVEと呼ばれるシステムがあげられます。CAVEは1辺約3mのスクリーンを、正面、左右、床面と立方体状に配置し、立体映像で利用者を取り囲むことで、没入感の高い仮想空間の体験を実現しました。CAVEの技術は、その後各地で改良が加えられ、東京大学のCABIN、岐阜県テクノプラザのCOSMOS、慶應大学のK-Cave等、種々のディスプレイ装置が開発されています。

 
      図1.1:HMD(オリンパス)とCAVE(イリノイ大学)

本研究科においても、K-caveと称するIPT型ディスプレイ装置が構築され、各種の研究教育の用途に使用されています。本演習では、没入型VRプログラミングについて学習し、最終的に作られたプログラムをK-Caveに提示し、没入感の高い仮想世界の体験を行うことを目標とします。

CAVEに関する詳しい情報は以下を参照して下さい。
http://www.evl.uic.edu/core.php?mod=4&type=1&indi=161
IPT技術に関する解説は以下を参照して下さい。
没入型ディスプレイの特性と応用の展開:小木哲朗、ヒューマンインタフェース学会論文誌、Vol.1、No.4、pp.43-49、1999



1.2 K-Cave

K-Cave(Keio Cave)は4面構成のCAVE型没入ディスプレイ装置です。

システムは、正面スクリーン(2.10m×2.63m)、右面スクリーン(2.10m×2.10m)、左面スクリーン(2.10m×2.10m)、床面スクリーン(2.10m×2.63m)から構成され、用途に応じて左面スクリーンと床面スクリーンの半分は取り外しが可能な構造になっています。例えば、ディスプレイ内にビデオカメラを設置して通信に使用する場合は左面スクリーンを外し、運転シートを入れてドライビングシミュレータとして使用する場合は床面スクリーンの手前側を取り外して使用しています。

映像を生成する計算機としては、Linux PC Dell Precision T7400(Dual Core Xeon 3.33GHz、グラフィックスボードNVIDIA Quadro FX3700x2)を4台を用いたPCクラスタが使われています。また視点計測用の磁気センサとしてはAscension Technology CorporationのFlock of Birds、プロジェクタとしては各スクリーンに2台ずつ合計8台の液晶プロジェクタNEC NP2105Jを使用し、円偏光方式によるインタラクティブな立体映像を生成します。また、ソフトウエアとしては、当研究室で開発された汎用の没入型ディスプレイ用ライブラリであるCC Lib.やOpen CABIN Lib.を用いてアプリケーション開発を行うことができます。

 
   図1.2:K-Caveの外観        



1.3 演習課題

本演習では、実際にK-Caveを用いた仮想世界コンテンツの構築を通して、没入型VRシステムのプログラミング手法について学ぶことを目的としています。 具体的には以下の3つのサブテーマを通して、段階的に没入型VRのプログラミング手法を学習していきます。

(課題1) 3次元CGモデリング 
OpenGLを用い、3次元CGによる自由作品の制作を行います。3次元CGは、視点位置、視体積等の投影変換法の設定と、描画対象のモデリングから成り立っています。ここでは、3次元CGの基礎的な知識とOpenGLグラフィクスライブラリの使い方について学びます。

(課題2) インタラクティブCGプログラミング  
課題1で作成した3次元CGプログラムをインタラクティブな立体視映像のプログラムへと拡張します。 バーチャルリアリティのシステムの特徴は、体験者が自分の身体的動作を用いて3次元映像とインタラクションを行える点にあります。ここでは、立体視映像の生成方法、視点位置計測を行うための磁気センサの使い方、視点位置の変化に対する映像の更新方法等を学びます。

(課題3) CAVEプログラミング  
課題2までに作成してきたインタラクティブCGのプログラムを、没入型ディスプレイに実装します。CAVE等の没入型ディスプレイでは、実寸映像表現、スクリーン間の同期等に関する問題を考慮する必要があります。ここでは、CAVE型ディスプレイを使用するための手法を学び、K-Cave上で自分の作成した仮想世界を体験し、プログラムの評価を行います。