Java/XMLが変えるWebのリアリティ(後編)
――Web3Dのトレンドを探る――

株式会社エヌ・ケー・エクサ
マルチメディアソリューションセンター
安藤幸央
2001/8/3


Web3Dは、インターネット(Web)上での3次元コンピュータグラフィックス技術全般を総称したものだ。Web3Dの世界では、Javaで3次元グラフィックスを実現するJava3DやXMLをベースにしたX3Dなどの技術がトレンドとなりつつある。前編ではこれらの概要を紹介したが、後編では、安藤氏が参加した「Web3D 2001 Conference」でより明確になったWeb3Dの将来、サンが考えるJava3Dの展望などを解説していただく。(編集部)

Web3Dのトレンドを色濃く反映した
Web3D 2001 カンファレンス

 今年2月に独パデルボルンで開催された「Web3D/VRML 2001シンポジウム」は、前年までWeb3D/VRMLカンファレンスと呼ばれていたインターネット上の3次元グラフィックス実現に関する学会/展示会です。コンピュータグラフィックス全般に関する学会であるACM SIGGRAPHの分会の1つであり、毎年2月に開催されています。

C-Labは日本でいうところの科学館。Apple IやCray X-MPなど、歴代のコンピュータが展示されています

 Web3D Conferenceは学会発表を主体としながらも華やかであり、ヨーロッパ各国からWeb3D関連企業、研究者の方々が集まるとともに、アメリカ、日本をはじめ各国の企業、研究者の方々を一堂に集めた大変内容の濃い学会でした。同時に、これからのWeb3Dの方向性が強く表れたカンファレンスでもあったのです。

 このカンファレンスの位置付け、内容を紹介すると以下のようになります。

  • Web3D/VRML全般の最新情報を入手、情報交換の場である
  • 各分野のキーマンを前面に打ち出した事例紹介の宝庫である
  • さまざまなWeb3D/VRML関連製品の紹介、発表の場である
  • 仕様や製品に関する意見交換、要望を取り入れる場である
  • Web3D標準化団体「Web3D Consortium」の実質的な活動の場である
Web3Dのトレンド

 Web3Dはいまや、ブロードバンド、Java/XMLというキーワードとともに大きく変わろうとしています。

●リッチメディアとリアリスティック

 今回のWeb3Dカンファレンス全体を包んでいたのは、「これからはリッチメディアと、リアリスティックだ」という雰囲気です。つまりは広帯域のネットワークを生かした、質感豊かなコンテンツ、サービスを提供していこうという大きな流れです。ここで、参考となる尺度として取り上げられた言葉に以下のようなものがありました。

VRML is mid-90's realtime rendering
 「VRMLは90年代中期までのリアルタイム表示技術でしかない」

というものです。VRMLは90年代初期の、いま考えると貧弱なリアルタイムレンダリングの仕様や仕組みを引きずってしまっています。そこで、ネットワークの帯域は狭いから小さなデータの方が有効であるという過去の考えから離脱しよう、そして、逆の発想でブロードバンド向けのリッチメディアを追求したWeb3Dの流れを推し進めようという、大きな流れが現れ始めたのです。

●リッチメディアの流れ

 このリッチメディアを推進するのは米国ソニーを中心とするRM3D(Rich Media 3D) Working Group(http://groups.yahoo.com/group/rm3d/)です。来るブロードバンド時代へ向けて、今後Play Station 2を核とした、テレビ番組よりも一歩進んだ新しいメディアとして展開していくという勢いがあります。

 現在SONY Blendo(http://www.blendomedia.com/)というアプリケーションのベータ版(サンプル実装)が公開されていますが、このBlendoは有線放送や、衛星放送などで使われるテレビへの付加装置(セットトップボックスと呼ばれる)で動作することが想定されています。具体的には、通常のテレビ映像にプラスアルファの情報提供を行ったり、インタラクティブな操作の手助けを行ったりすることが想定されています。リアルタイムのアプリケーションなので、実際の映像と2次元コンピュータグラフィックス映像との合成の際のタイミング、同期機構などが重視された作りとなっています。

Blendoの画面イメージ、画面内は3次元イメージと、ムービデータで構成されている Blendo による情報を付加したレース中継画面、前を走るのはCGの車

●リアリスティックの目指すところ

 ブロードバンド時代の帯域を活用した次世代のWeb3Dに求められるのは、より質感が増したより高精細なコンテンツです。つまり現実感(リアリスティック)を追求したコンテンツということです。最近では普通のデスクトップ機もマシンパワーを増してきています。ごく安価に購入できるグラフィックスボードが、数年前には数百万円していた専用のグラフィックスワークステーションと同等、もしくはそれ以上の性能を発揮しています。nVIDIAのGeFORCEをはじめとする2次元グラフィックスボードは、Windows、Macintoshの中に次第に浸透しつつあります。Web3D技術もそれらのグラフィックスボードの性能を生かしたもの、高速のCPUパワーを有効に活用したものが増えてきています。ただ単に3次元表示されているだけで驚いていたWeb3Dの表現が、物体の反射、影の表現、光りの表現など、よりリアルな画像が追求されています。

●Web3D環境の進化

 Web3D技術には、大きく分けて3つの流れがあります。ここでは、これらについて資料的にご紹介しましょう。

1.従来のVRMLプラグイン + 独自拡張(独自ノード)の追加

・OpenWorlds
http://www.openworlds.com/

・Cortona, Blaxxun
http://www.parallelgraphics.com/products/cortona
http://www.blaxxun.com/

 OpenWorldsはOpenGL Optimizerという高レベルのグラフィックスAPIをベースとし、大量のデータも高速に描画することが可能です。

OpenWorldsによる炎と、反射する床の表現

OpenWorldsによって反射する金属質感を表現したバイク

2.特殊なプラグインを使わず、Java だけでWeb3Dを実現する

・shout3d
http://www.shout3d.com/

・blaxxun3d Cortona Jet
http://www.blaxxun.com/products/blaxxun3d/index_showcase.html
http://www.parallelgraphics.com/products/jet

3.どれにもとらわれない、独自プラグインでのWeb3D表現

・Viewpoint(MetaStream)
http://www.viewpoint.com/

・Cult3D
http://www.cult3d.com/

・Brilliant Digital
http://www.brilliantdigital.com/

●XMLベースのX3D(eXtended 3D)へのゆるやかな移行

 従来VRML97としてISO規格でまとまっていた仕様は、拡張が容易でサブセットの存在を認めるX3D仕様へと移行しつつあります。

 VRMLの問題点は仕様があまりにも大きくなりすぎたことでした。X3Dでは必要なコア部分と、用途に応じたEXTENSION部分をうまく組み合わせて使うことが考慮されています。また、仕様の20%が、実際に使っているものの90%を占めるという原理のもとに必要な部分の CORE仕様と独自に拡張が可能なEXTENSION仕様が分離されています。

 現在策定中のEXTENSIONには、GIS分野でのGeo EXTENSIONや、Humanoid Animation(人物のアニメーション)分野でのH-Anim EXTENSIONがあります。

 そして、現存するのは、Java3DベースのOpenSourceブラウザと、OpenWorldsのみです。X3Dは仕様の策定ばかりが先に進んでしまい、実装が追い付いていません。OpenWorlds がX3D に賛同し、今後X3Dベースのプラグインをリリースする予定だそうです。

●PocketPC、Palm、携帯電話など、携帯端末への展開

 Web3D業界の大きな流れの1つとしてPocketPC、Palmなどの携帯情報端末での利用、携帯電話での情報提供の利用が見受けられました。

Parallelgraphics Pocket Cortona

 PocketPC上で動作するVRML Viewer。VRML97のほぼすべての機能に対応、高機能であるが、大規模なデータ表示には時間がかかる。音声ファイルに対応、Pocket IEにも対応している。

PocketPCによるVRMLファイルの表示。小さい画面ながらも、VRML仕様に準拠したデータが表示されている

eyematic (フェイシャルキャプチャ)

 ビデオカメラで取り込んだ顔の画像を自動キャプチャリングし、3次元のCGキャラクタの顔と差し替える技術。現在はPC上で動作しているシステムであるが、携帯電話への展開を考えているとのこと。

携帯端末上での3次元キャラクタの表示

フェイシャルキャプチャのeymatic

Java3Dの今後

 カンファレンスでは、Java3Dの今後についても、サンのプロダクトマネージャから説明がありました。サンは今後もJava3Dに一定の人的リソースを投入し、多くの分野で活用してもらえるように努めていくようです。

 ところで、Java3DがJ2SEに含まれない理由を知りたい読者がいるかもしれません。これは単純な理由で、Java3Dを含めてみたところJ2SEのサイズが大きくなりすぎた、ことにあります。もう1つの理由は、すべての人がJava3Dを使うわけではないことにあります。

 今後のJava3Dの変化としては、携帯電話やPDA上で動作するJ2ME版のJava3Dのサブセットが考えられています。また、AppleへJava3Dのソースコードは提供済みで、Apple 内部では動作しているようです。ただしMacOS XのJava2環境でのことであり、もしリリースされるとしてもMacOS X環境用になります。実際にリリースされるか否かは、アップル次第になります。

 次にJava3Dを取り巻くAPIの変化に、今後の方向性を探ってみることにしましょう。

new I/O API

 以下のURLは、JDK 1.4 の新機能として注目されているnew I/O APIのデモです。JCanyonが現在公開されています。

http://java.sun.com/products/jfc/tsc/articles/jcanyon/

 300Mbytesという大量のデータファイルをなんなくハンドリングしており、扱うデータ量の多い3次元描画の世界での効果が期待されます。

Network Imaging API

 Java Advanced Imaging APIの一部としてサーバサイドで2次元イメージを扱うための Network Imaging APIの環境が整い始めています。Java3Dとの組み合わせでさまざまな用途で応用の可能性が広がってくるのが期待されます。

http://java.sun.com/products/java-media/jai/pr/pr990615-27.html

 またJava3D自身も3次元表現の利用方法として一般的なフライスルーのデモを公開しており、Java3Dの機能を容易に把握することができます。

Java 3D Fly Through

 Java3Dは、現在Java3D API version 1.3の仕様がレビュー段階にあります。Java 3D version 1.4へのロードマップも明らかになりつつあり、将来数々の新機能の追加が予定されています。例えば最近プレビューされたJava3D version1.3では、透明物体の表現が強化されているようです。以下の予定されている各種新機能に関しては、ユーザーの声を聞き、ニーズの高いものから順次実装していく予定のようです。

http://java.sun.com/products/java-media/3D/flythrough.html

  • シェーディング言語対応
  • 透明物体の表現
  • 影の表現
  • 鏡面反射
  • 大気の表現
  • マルチパスレンダリング(それに伴う特殊なバッファの実装)

 「シェーディング言語」は、3次元オブジェクトの表面の質感を細かく指定することが可能な言語のことです。OpenGL Shader (SGI)(http://www.sgi.com/software/shader/)や、映画などで使われる CG ソフトとして著名なRenderMan (Pixar)(http://www.pixar.com/)で、シェーディング言語の仕組みが使われています。OpenGL ShaderやRenderManではC言語とよく似た言語で物体の表面の色やライトの効果、表面のざらざらした感じやデコボコした感じなどをプログラムすることが可能です。

 Java 3D Shading Language もそれとよく似た仕組みを用い、Java言語表記によって質感をより細かく、詳細に調整していくことが可能になると思われます。

 「マルチパスレンダリング」は画面に表示されるまでに何回か内部的な描画を行い、最終的な画面描画に利用する方法です。特殊な影の表現や、透明物体の表現、被写界深度(カメラのピントのようにある物体にピントが合い、その前後はぼやけているという表現)、モーションブラー(高速に動くものが、ぶれて見える表現)などに効率を発揮します。

 Web3Dは、ブロードバンド時代への布石としてリッチメディアへの展開、そして、独自拡張を含めたリアリスティックな追求を続けるでしょう。今後は各技術がデファクト・スタンダードになろうとしのぎを削り、かつさまざまな分野で応用、活用されていくことでしょう。

資料

 展示会場にあった製品の中でいくつか興味深いものを紹介します。

Virtools

 NeMo (http://www.nemo.com/) というビヘイビアエンジンをベースとしています。自立型の振る舞いが規定されたキャラクタ、オブジェクトなどを作ることができるWeb3Dものです。

[関連URL]
http://www.next-url.com/
http://www.virtools.com/

SGDL(Solid Geometry Design Logic):Web3D のソリッドモデル表記

 従来のWeb3D技術は、一般的に物体の表面だけを表現する、ポリゴンをベースとしたデータ形式ばかりですが、SGDLは中身の詰まった物体そのものを表現することができます。切断やくり抜きといった形状の取り扱いが可能です。

[関連URL]
http://www.sgdl.com/

SGDL Viewerによるソリッドオブジェクトの表示

 また、日本においては、以下のようなWeb3Dへの取り組みがあります。

jGL

 グラフィックスAPI OpenGL 1.1をJavaだけで実装したものです。オープンソースで公開されており、現在は70%ほどの実装が終わっています。

[関連URL]
http://nis-lab.is.s.u-tokyo.ac.jp/~robin/jGL/

ラティステクノロジー

 医療分野へのlattice技術の応用を研究しています。

[関連URL]
http://www.lattice.co.jp/

 一時期のVRMLブームは去りましたが、再び各企業のWeb3D技術展開、Web3Dを利用したサービス展開が目立つようになってきました。確実なビジネスモデルを確立し、どう浸透してゆくかが今後の課題でしょう。

 その他の国内での取り組みを紹介します。

松下電工 RoomNavi

[関連URL]

http://www.mew.co.jp/roomnavi/
http://www.roomnavi.com/

パイオニア[ライフスタイル]

[関連URL]
http://lifestyle-net.com/myroom/

SONY SpaceStream

[関連URL]

http://www.sony.co.jp/sd/ProductsPark/Professional/spacestream/

magic-hour

 francfranc、リクルートISIZEなどで使用されている。

[関連URL]

http://www.magic-hour.co.jp/

Index
前編 Web3Dがインターネットをリアルにする
後編 Web3Dのトレンドを探る







Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間