VRエンジンって、どういうものVer.2.0



はじめに

コンピュータは、人間が自然の中 (現実世界)から有用な情報を抽出して、 保存・可視化・加工・通信等を行なう道具である。 最近ではコンピュータの高性能化によって、 複雑化した情報をあつかう事が可能になった。 また、マルチメディア化された情報を扱うための コンピュータと人間を結ぶインターフェースとして、 ヴァーチャル・リアリティ(VirtualRiarity:VR)が注目されている。

本研究ではとくに、「VRは知的創造空間である」という観点から、 情報を取り扱うツールとしてVRをとらえ、 その中でも特に、 論理的ユーザインターフェースであるVRエンジンについて考察する。


VRは何のために

そもそも、テレタイプ端末であろうが,ビットマップ端末であろうが, 三次元入出力端末であろうが、 「情報にアクセスするための環境である」 ということに変わりはない。

つまり、VRという言葉を広げて考えると、 コマンドラインI/Fは、 文章によって構築された、言語によるVRであるといえるし、 GUIは仮想的な机の上に実現された 二次元的 VRであるとも言える。

では、最近流行っているVRは、 三次元画像をブラウザで見たり、 ゲームで遊ぶためだけのものであろうか。 答えはノーである。VRは情報を取り扱う環境の一つであるのだ。 VR環境は、コンピュータと人間とのインターフェースであると同時に、 現実世界から抽出した情報を、 三次元画像等を使って再構成してできた「もう一つの現実」である。 もう一つの現実 --- 仮想現実空間は、 ある人間が現実世界から(自分勝手に、都合良く)抽出した データから造られたのであるから、 その人間の世界観を反映する。 それぞれの人間の世界観に近い情報処理ツール、 それがVR環境なのだ。


VRを動かすもの

ウインドウシステム環境を、広い意味のVR環境と考えるならば、 VRを動かしているのはウインドウシステムだ。 三次元グラフィックスをあつかうVR環境にも、 これに相当するものが必要となってくる。 そこで、VRを動かすものであるVRエンジンを、 次のような方法で実現することを試みてみたい。


一つのプロセスが一つのオブジェクトなのだ

「仮想現実世界とは、動作中のマルチタスクOSのことだ」と、 仮定する。 仮想現実世界内部の動いているオブジェクトは、 一つのプロセス、あるいはスレッドである。

世間一般で言われている、3次元グラフィックスを使った、 「いわゆるVR環境」を実現するためには、 これらのプロセスが、三次元表示された「体」をもてばよい。 オブジェクトが動的に属性を変化させる場合には、 内部にインタプリタを持てばよいし、 オブジェクト群が通信をしあうのは、 プロセス間通信によって実現できる。


こんなものがあればよいのでは

各オブジェクト(プロセス)は、マルチタスクOSによって管理される

各プロセスには、レンダリング・サーバと通信するための ライブラリがリンクされており、プロセスとレンダリングサーバは、 あるプロトコルに従ってプロセス間通信を行なう。 レンダリングサーバは各プロセスに形状データの問い合わせをして、 それらのデータを受けとり、 ウインドウシステム(Xサーバ)と通信して、 三次元グラフィックス表示をする( レンダリングサーバは、 XWindowsの上で描画するタイプでもいいけれど、 将来的には、 Xのプロトコルも受けとって 描画できるサーバがあると、 今までのソフトの資産が生かせてうれしい)。

したがって、VRエンジンは、 次のような構成で成り立つシステムであろう。


もどる
Apr.20 1996 by kiyohito@oki.fc.u-tokai.ac.jp