WWWの利用(2) − VRMLについて
〜WWW上での3次元空間表現〜

大学院情報科学研究科 松井健一
matsui@nemoto.ecei.tohoku.ac.jp
大学院情報科学研究科 藤井章博
fujii@nemoto.ecei.tohoku.ac.jp
大学院情報科学研究科 根元義章
nemoto@nemoto.ecei.tohoku.ac.jp
1.はじめに

なぜVRMLなのか? ...だって世界は平らじゃないから!

WWW(World Wide Web)が提案されたのは1989年,そしてMosaicが登 場したのが1993年。これらは新しい情報発信のスタイルを提供し, そして定着しようとしています。今や人々は,世界をつなぐ Internet上で縦横無尽に情報を発信しはじめています。
 ここに登場したのが VRML(Virtual Reality Modeling Language) です。VRMLはWWW上で3次元表示を可能にする言語です。さらに, VRMLはHTMLと同様なリンクを持った3次元表示を行うことを通して, Internet上に仮想現実(Virtual Reality)を構築しようとしていま す。
 そこで,今回はWWWを私たちの現実世界により近づけるかも知れ ない,VRMLを紹介してみようと思います。

2.VRMLとは?

 VRMLはごく最近につくられた言語です。1994年春にスイスのジュ ネーブで行われた WWW Conference において,WWW上の3次元空間の アイデアが提案されたのが,VRML実現のきっかけでした。この Conferenceの後すぐに,VRMLに関するメーリングリストが作られ, Internet上での議論を通してVRMLの仕様が決定されていきました。 ここでの議論はたいへん活発で,その年の秋に開催された2回目の WWW Conferenceにおいて,早くも VRML 1.0 のドラフト仕様が発表 されるいきおいでした。このようにVRMLは世界の人々の議論を通し て生まれたオープンな言語と言えます。
 では,VRMLとはいったいどのような言語なのでしょうか。VRMLを 一言で言うと,WWWで3次元空間を表示するための言語です。それば かりではなく,3次元空間内にHTMLと同様の``リンク''という概念 を導入し,仮想現実の構築を目指した言語でもあります。
 仮想現実とは,現実感をともなった仮想的な世界をコンピュータ の中に作り出す技術のことです。仮想現実を利用すると,存在はす るが人間が行けない世界や,実際には存在しない世界を,あたかも 現実であるかのように体験できます。たとえば,計画段階の建造物 を体験したり,ゲームの中に入り込んで,自分が登場人物になった かのような体験などです。他の例としては,有機化合物の構造の確 認や,人体内の3次元化などもあります。
 VRMLは,この仮想現実をネットワーク上で実現する言語です。 VRMLの登場により,ネットワーク上に仮想現実空間をつくる試みが 現実のものとなりつつあります。
 さて,VRMLは実際どのようなものなのでしょうか。VRMLを体験す るには,Internet上のWWWサーバにあるVRML形式のファイルを自分 のコンピュータのVRMLブラウザに読み込ませ,その後,表示された 3次元空間内をマウス操作で動き回ることになります。3次元空間内 では物体にリンクが張ってあり,Internet上の他のVRMLファイルに 飛んだり,他のデータ(たとえば動画,音声,HTMLファイル)を読 み込んだりすることができます。
 VRMLの活用法はさまざまなものが考えられます。次章で現在の実 験例を紹介します。

3.VRMLでなにができるか?〜サイト紹介

3.1 バーチャルモール(仮想商店街)

 三次元の町並みの中をぶらぶら歩きながら,お店を探してみませんか?
 野村総合研究所の電活クラブバーチャルスペースゾーン (*1) は,バーチャルモール(仮想商店街)の実 験です。将来的には,利用者はネットワークを通して3次元空間内 を自由に動き回り,いろいろなお店を訪ねてショッピングができる ようになるでしょう。


図1: 電活クラブバーチャルスペースゾーン (野村総合研究所) (*1)

 まだ利用できない理由は,WWWのセキュリティやオンラインショッ ピングが研究途上であり,いまだ実験段階にとどまっているからで す。電活クラブバーチャルスペースゾーンも実験中です。将来は 100階建てのバーチャルデパートがネットワーク上に登場するかも 知れません。

3.2 科学での利用

 VRMLは科学の分野でも利用されています。日本科学技術情報セン ター(JICST) (*2) では,データベースから 選択した分子構造をVRMLを用いて3次元表示するサービスを実験的 に行っています。


図2: C6H12S3, trithioacetaldehyde の3次元表示 (JICST) (*2)

 また,他の科学への応用例としては,2つのブラックホールの衝 突のシミュレーション結果を表示したり(*3), M82星雲の Starburst を表示したページ(*4) 等があります。

3.3 都市の3次元表示

 (財)イメージ情報科学研究所では都市計画シミュレーション結果 の3次元表示を行う実験をしています(*5) 。 その研究的価値の大きさもさることながら,このVRMLファイルの美 しさには感嘆させられます。あたかも自分が鳥になったかのように 都市の上空を自在に飛び回り,建物の配置をみることができます。 ネットワーク上での仮想都市構築を予感させるVRMLファイルです。


図3: 大阪南港の3次元表示 (イメージ情報科学研究所) (*5)

 ここに挙げた他にもVRMLファイルを置くサイトはネットワーク上 にたくさんあります。VRML FAQ 日本語版 (*6) (by 安藤幸央 氏)にはVRMLを置くサイトへのポインタが示されています。

4.VRMLを見てみよう

 VRMLファイルをみるためには,VRMLを表示することのできるブラウザが必要です。 現在,VRMLのブラウザは急激に増えていますので,すべては書ききれません。ほ んの一部のみを表1 にしました。


ブラウザ名 入手先URL
WebSpace http://webspace.sgi.com/
VRWeb http://hgiicm.tu-graz.ac.at/Cvrweb
Amber VRML Browser http://www.divelabs.com/vrml.html
WebFX http://www.paperinc.com/webfx.html
ExpressVR http://www.cis.upenn.edu/~brada/VRML/ExpressVR.html

表1: 主な VRML ブラウザ

 表1 の情報はすぐ古くなると思われます。また,これ以外にも VRMLブラウザは数多くあります。随時,WWWサイトをチェックして ブラウザ情報を取得することをおすすめします。前述のVRML FAQ 日本語版(*6)には,より詳しいVRMLブラウ ザリストがあります。

5.VRMLで3次元画像をかいてみよう

5.1 VRML作成ツールを使う

 VRMLを用いて3次元画像を直接描き,VRMLファイルをつくること は,なかなか難しい作業です。簡単な形状でしたら,球や円柱など 幾つか定義されているので比較的容易に書けますが,複雑な形状に なるとポリゴンを利用することになるので,手書きするのはかなり 困難になります。VRMLファイルをつくるには,VRMLコンバータや VRML作成ソフトを用いるのが近道です。現在,いくつかのソフトが 登場しています。前述のVRML FAQ 日本語版(*6) には,VRMLコンバータ,VRML作成ソフトのリストがありますのでこ ちらを参照してください。
 また,「VRMLファイルを書くのはめんどうだ」という方には,著 者(松井)が作成した VRML MAKER (*7)とい うWWW上のサービスがあります。VRML MAKERは,入力した文字列を 自動的にVRML形式のファイルに変換します。つくられるVRMLファイ ルはたわいのないものですが,とりあえずオリジナルのVRMLファイ ルをつくってみたいという方は,アクセスしてみてはいかがでしょ うか。

5.2 手で書く〜団子をかいてみよう

 それでも手で書いてみたいという方へ。それでは3次元表示の 「団子」を書いてみましょう。VRMLブラウザをご用意下さい。段階 を追ってVRMLな団子を書いていきましょう。(あらかじめお断りし ておきますが,ここでのVRMLファイルの説明は簡潔ですので,詳し くはVRML入門書をお読み下さい。また,巻末の用語集に補足として いくつかの語彙説明を加えています)

STEP 1 : 球を書く

 団子は球からできていますので,球を書きました。
 ファイルの1行目は VRML V1.0のファイルであることを示します。2行目はコメ ントです。Sphere はあらかじめいくつかきめられているシェープノードの1つ で,球をあらわします。Sphereノードはradius(半径)フィールドを持ちます。 ファイルでは半径を1にしました。 (ソースファイル)

STEP 2 : 色を付ける

 キビダンゴはおいしいですね。団子に色を付けてみました。
 Separatorノードは箱のようなもので,グループ化を行います。ファイル2では, SeparatorノードがMaterialノードとSphereノードを一つのグループにまとめ ています。Materialノードは色や輝 きや見かけの性質を生成するノードです。diffuseColorは色を指定するフィー ルドです。数字は順に赤,緑,青の光の強さを示します。強さは0〜1の範囲で 指定します。3種類の光を混合して色を表現します。今は1(赤)+1(緑)+0(青) =黄です。(ソースファイル)

STEP 3 : 団子を並べる

 団子が1個では寂しいですね。2個並べてみました。
 Transformノードは次に続くノードの座標点を指定します。translationフィー ルドはノードの位置をx,y,z座標で指定します。VRMLの座標系は右手系の3次元 直交座標です。ブラウザの正面にz軸が向かっています。 (ソースファイル)

STEP 4 : 串にさして出来上がり

 せっかく2個並べたのですから,串団子にしましょう。
 Cylinder(円柱)ノードはSphereノードと同じシェープノードです。radiusフィー ルドは半径を,heightフィールドは高さを指定します。Separatorノードでま とめて,はい,これで円柱を球にさしたことになります。串団子に見えますか? (ソースファイル)
 また,3次元物体にリンクを付けたい方は,その物体をグループ化している SeparatorノードをWWWAnchorノードに置き換えてください。WWWAnchorノード 中のnameフィールドに指定したURLに対してリンクがはれます。

6.むすび

 VRMLは,今この瞬間も発展を続けています。現在,様々な団体が次期VRML 2.0 の仕様に対して提案を行っています。それらの提案は,双方向性を持たせたり, 音が出たり,アニメーションしたりなど,極めて多彩です。次期VRMLは,より 仮想現実感があるものになると期待されます。
 VRMLはまだ様々な問題を抱えています。例えば多くの計算機環境では,VRMLの 動きがいまだ遅いという点があげられます。またファイルサイズが大きくなり がちな点もあります。 しかし,VRMLはそういった困難を乗り越えて発展していくと思います。 なぜなら,``世界は平らじゃない''からです。

[付記1] 用語の説明

WWW:
WWWとは,World Wide Web の頭文字を取ったものです。WWW を一言で表現すると分散型広域情報システムと言えます。世界中の 情報が,ネットワークを介してまるで網(Web)のように結合し,あ たかも一つの大きな情報システムを構成しているように見せるもの です。

HTML:
HTMLとは,HyperText Markup Language の頭文字を取ったもので す。HTMLはあらゆる情報を一元的に記述し利用することを目指した言語で, WWW上で用いられています。

仮想現実(VR):
仮想現実 (VR:Virtual Reality)とは,実感をともなっ た仮想的な世界をコンピュータの中に作り出す技術のことです。

VRML:
VRMLとは,Virtual Reality Modeling Language の頭文字を取っ たものです。VRMLは,WWW上で3次元表示を行うことを通して,ネットワーク 上に仮想現実(Virtual Reality)を構築する言語です。

ノード(node):
VRMLにおいて,仮想空間上の3次元物体情報を記述するオブ ジェクトのことです。ノードによって,3次元物体の形状(shape)や特性 (property)や集団化(group)などが規定されます。

シェープノード(shape node):
ノードのうち,3次元物体の形状を指 定するノードのことです。実際に何か物体を描くには,このシェープノー ドを使います。シェープノードには,円錐(Cylinder)や立方体(Cube)や球 (Sphere)などがあります。

フィールド(field):
ノード自身の様々な付加情報を記述する場所で す。

ブラウザ:
ブラウザ(Browser)とは,WWW上で様々な情報をみるためのソ フトウエアを指す言葉です。ブラウザはネットワークを通してWWWサーバに 接続し,データを取得して表示します。

FAQ:
FAQとは,Frequently Asked Question の頭文字を取ったものです。 FAQは,頻繁に質問される事柄とその答えを集めたものです。

[付記2] 筆者のURL

・ 松井健一 http://www.nemoto.ecei.tohoku.ac.jp/~matsui/
・ 藤井章博 http://www.nemoto.ecei.tohoku.ac.jp/~fujii/
・ 根元義章 http://www.nemoto.ecei.tohoku.ac.jp/~nemoto/

[注釈]
*1 This VRML image is courtesy of Nomura Research Institute, Ltd.
 ( http://ec.nri.co.jp/clclub/VRML/)
*2 This VRML image is courtesy of The Japan Information Center of Science and Technology
 ( http://fact.jicst.go.jp/cr-vrml.html)
*3 The NCSA Relativity Group
 ( http://jean-luc.ncsa.uiuc.edu/Viz/VRML/)
*4 The NCSA Astronomy Digital Image Library
 ( http://imagelib.ncsa.uiuc.edu/imagelib/VRMLHighlights.html)
*5 This VRML image is courtesy of LIST Image-Simulation Research Group
 ( http://www-is.image-lab.or.jp/activity/nanko/3Dweb.html
*6 VRML FAQ J
 ( http://www.webcity.co.jp/info/andoh/vrml/vrml.html)
*7 VRML MAKER
 ( http://www.nemoto.ecei.tohoku.ac.jp/~matsui/VRML/vrml-maker.html)


www-admin@tohoku.ac.jp
pub-com@tohoku.ac.jp