OHP原稿一覧
タイトル
はじめに
コンピュータは考える道具だ。
マルチメディアな情報へアクセスするための手段として、VR は有用だよ
で、考えるためのVRシステムをつくるには、 こうしたら良いのではないのかな、という構想を述べるよ
仮想現実感とUI
いままで色々なインターフェースがあったけれど、 それらは、コンピュータの中に入っている情報と、 人間をつなぐものだ。
コンピューターの内部に蓄積された情報が形作る世界を、 いじくるための道具が、CLIとか、GUIとかだ。
そういった世界を仮想現実な世界ととらえるならば、 広義のVRとして、CLIも、 GUIもなりたつ(なにも三次元がVRじゃないよ)。
と、いうことは、いわゆる三次元グラフィックスをつかった "いわゆる"VRには、どのような意味があるんじゃろ、 と、考えるならば、 人間に提示できる情報量の拡大したものが、3DVRなのでは?
ということは、マルチメディア時代は絶対3DVRだっつ。
VRらしさ三大要素
VRらしさをもたせるもの、とは何かっていうと、以下の三つだよ。
没入感…すなわち、あたかも自分がその世界にいるような感覚 が、大切だ。
で、仮想の世界にいる、という感覚を提示する、には、 インタラクティブ性も大事だ。 ユーザーの起こしたアクションによって、なにか変かがないとね。
高画質も外せない。フレーム数なんかは、あればあるだけ良い。 どんなに没入感あっても、秒数コマじゃぁね。
今時のVRの長所短所
ハイエンドは互換性ないし、ローエンドは見るだけだ。
で、そんなVRのどこが考えたり、 コミュニケーションするための道具なわけ??
で、このような問題点を解決するようなソフトウェアを考えてみよう。
VRエンジンの方向性
まぁ、僕は、こういう問題点を解決するための、 汎用のVRを動かすためのシステムをVRエンジンと 名付けることにした。まぁ、VRを動かすプログラムは スベカラクVRエンジンと言えるんだけど、わしゃ、次のような コンセプトでやっとるよ。
ハイエンドVRのダウンサイジングっていうことは、 ローエンドVRのアップサイジングっていう風にも言えるね。
考えたり、コミュニケーションする場としてのVR である以上、せめて今のウインドウシステムの代わりに使える ぐらいじゃないとねー。
ネットワーク・オリエンテッドっていうのは、 プラットフォーム非依存、とも読みかえてもらってもいい。 ネットワーク経由で、仮想現実世界のオブジェクトをやりとり する場合は、絶対にプラットフォームに依存しちゃイカン。
その基本構成
で、そういうシステムを実現するにあたって、 本研究ではX-windowシステムに似た、サーバ・クライアント システムになっておるよ。
仮想世界内部にあるオブジェクトは、 すべてアクティブなプロセスだよ。
それらのプロセスが、レンダリングサーバーに体を描いてくれ、 と、仕事をたのむよ。
サーバーは、それらにしたがって、レンダリングするよ。
このときの通信プロトコルを VREP(VirtualRealityEnvironmentProtocol)というよ。
没入感の実現には特殊なハードウェアが必要だが、 そういったハードウェアの違いは、レンダリングサーバーが吸収 するよ。
つまり、見え方はレンダリングサーバーに依存するよ。
Forward機能
最近のVRで注目されているのが、マルチユーザー空間といって、 複数の人間が、一つの空間をリファレンスする、ということだよ。
で、それに関しては、フォワーディング機構を考えているよ。
考Comする空間のために-その1(ツールキット)
で、いままでは、VRを動かすための基礎の段階を述べましたが、 基礎的なアプリケーションまで含めて、 情報を扱うための空間としたいですね。
基礎的アプリケーションって、 いうのは、テキストエディタとかもそうなんだけれども、 アプリケーションを造るためのツールキットも、 実は基礎的アプリケーションなのではないかと思うわけ。
なぜかっていうと、 「簡単なアプリケーションを造ることを知る」ということは、 「考える幅を広げる」ということにつながると考えられる。
例えば 最近のインターネットブームなんかを見ると。 見るだけ、ああおもしろかった。そんな空間のどこが 「考え、コミュニケートする空間」なんですか??と思うわけ
で、そういうことを避けるためにも、 したがって、「考え、コミュニケート」するためのVR を目指す本研究としては、 絶対にこのツールキットは外せないわけ。
初心者をとりこむために、数種類のツールキットを用意したいね。 で、できれば、インターフェースのデザインなんかも、 ステップアップしやすいような、ツールキット群だといいね。
プロトタイプはここまで
で、いまのところ、立方体のみの表示だけんども、ここまでできとる。
レンダリングサーバーはC++で書かれており、 グラフィックスライブラリとしては、OpenGL互換のMesa、 そのた(リストの操作)などはGNUのlibg++を使ってるよ。
クライアントはtcl/tk と c++ で書かれておる。 tcl/tkっちゅうのは、自分で関数を追加できる、 Lispチックなインタプリタ言語なんだけれども、 今回はインタプリタ部分はどうでもよくて、 ただ単にGUIつけるのが楽だったから使ったよ。
結論&&今後
で、今回はとりあえず構想だけを述べましたが、 次の発表の時には、マトモな物を見せますがな。
プロトタイプは今の所C++をつかってるけれど、 java何かでかくと、NetscapeNavigatorなどのWWWブラウザが レンダリングサーバーになってしまったりして。 (プラットフォーム非依存という点で、かなりメリット)
イベント(当たり判定など)を、各クライアントに通知する ことを考えられてないので、以後検討します。
ハードウェアも検討しないとね。
将来的には、VRエンジンを積んだVRワークステーション が出てくるだろう
1997/5ぐらいまでには、VRML1.0なみになってたいなぁ。