Java/XMLが変えるWebのリアリティ(前編)
――Web3Dがインターネットをリアルにする――
株式会社エヌ・ケー・エクサ
マルチメディアソリューションセンター
安藤幸央
2001/7/19
WebはHTMLだけで表現される時代ではなくなってきた。すでに、Web上で動的なコンテンツを実現する手段の1つとして、マクロメディア社のFlashがさまざまなWebコンテンツで使われ始めている。 そして、静かな動きではあるが、単に動的なコンテンツというのではなく、Web上にもう1つの現実(バーチャルリアリティ)を実現することで、そこでリアリティあふれる商品を選んだり、ファッションショーを楽しめるようにしようとする技術の策定が進められている。それがWeb3Dだ。 Web3Dには、Javaで3次元グラフィックスを実現するJava3DやXMLをベースとしたX3Dなど、さまざまな技術が含まれる。本稿では、Java FAQ(What's New)で著名な安藤幸央氏に、前編ではWeb3Dの概要を、後編では、同氏が参加した「Web3D 2001 Conference」で明らかになった、Web3Dの将来、サンが考えるJava3Dの展望などを解説していただく。(編集部) |
Web3Dとは何か? |
Web3Dは、インターネット(Web)上での3次元コンピュータグラフィックス技術全般を総称したものです。通常Internet ExplorerやNetscape CommunicatorなどのWebブラウザで見るのはHTMLファイルによる文章や画像などの2次元の情報です。それに加えてWeb3D技術を使うとブラウザ上で3次元表示されたオブジェクトをインタラクティブに操作したり、3次元表示された空間内を動き回ることができます。
インターネット上の3次元技術で広く一般に知られているのは、3次元グラフィックスフォーマットであるVRML(Virtual Reality Modeling Language)でしょう。VRMLは、1994年に最初のVRML 1.0の仕様が広まりました。そして、1996年12月にインターネット上の3次元技術、3次元コンテンツを促進するための団体としてVRML Consortiumが発足しました。
VRMLは、1997年にISO(国際標準化機構)/IEC(国際電気標準会議)にVRML97 ISO/IEC 14772という国際標準仕様として承認されました。その後、VRML ConsortiumはVRML だけでなくインターネット上の3次元技術すべてにおいて業界の中心的役割を果たすという意味で1999年に「Web3D Consortium」(http://www.web3d.org/)と改名し今日に至っています。
Web3Dは、特定の企業が開発している特定の技術のことを指しているわけではありません。インターネット上の3次元技術やコンテンツクリエーション全般を表すもので、VRMLやJava3Dを中心技術としてとらえ、そのほか、Webと少しでもかかわる3次元技術なら、すべてWeb3Dのグループの中に包括されます。
明確なビジネスプランが描けなかったため、下火になりつつあったVRML周辺もWeb3Dと呼び名を変え、最近では徐々に勢いを増し、復活のきざしが見えてきました。特にヨーロッパ勢や日本での応用・活用事例が増えてきたように感じられます。
Web3Dはどのように応用できるか |
さて、Web3Dが使われているのはどのような分野なのでしょうか? 私たちが現実に暮らしている世界が3次元なのですから、ほとんどすべての分野において活用できるといっても過言ではありません。
多く利用されている分野としては、電子商取引、ECサイトのオンラインショッピングでの商品紹介、エンターテインメント系のサイトでのキャラクタアニメーション、研究分野でのデータの可視化などに効果的に利用されています。
オンライン教育や各種トレーニングにおいては実物を触ったり、実物を体験することも重要ですが、それらをインターネット/イントラネットで行うには体験するのと一番近い感覚が得られるWeb3Dの応用が効果的です。
また、Web3D技術を活用すると、まだ建っていないマンションの間取りを調べたり、現在住んでいる住宅の模様替えや家具の配置を検討したりすることも可能です。地図情報や地形情報、地域の情報を付加価値を加えて提供することもできます。3次元表現できることによって人が得られる情報は計り知れません。
一般に使われるコンピュータのグラフィックス性能、ネットワークの広帯域化によって、Web3D製品、サービスを数多く見ることができるようになってきました。ここで強く感じられるのは、各社とも旧来のVRMLのしがらみを受けない独自の技術で、Web3D界のデファクト・スタンダードになろうとしていることです。まだどの技術がベストであるという結論は導き出されてはいません。用途や、目的に応じて、さまざまなWeb3D技術が混在しているのが実情です。Web3D業界の各社も、Web3D関連のツール販売のみによってビジネスをすることは難しいことが分かってきています。各社コンテンツの公開にライセンス料を徴収することや、Web3Dを利用したサービスによって、利益を得る形の商売に転じてきています。
XMLをベースとした 3次元グラフィックス仕様X3Dとは? |
X3DはVRMLの次世代を担う、XML ベースの3次元グラフィックスフォーマットです。X3Dは(eXtensible 3D)の略であり、容易に拡張の可能なフォーマットであるという意味が込められています(http://www.web3d.org/x3d/)。
X3DがVRMLから学んだ点は、仕様が複雑で大きすぎてはいけないということです。多岐にわたる仕様を満たすには当然プラグインも巨大になり、その仕様の難しさから、コンテンツの作成者にとっても容易に習得することが難しいものとなります。また各種ツールベンダも、対応に苦労することでしょう。
X3Dはそれらの不利な点をよく考え、まずは必要なコア部分の仕様を重要視し、そのほかはエクステンションとして必要に応じて拡張するという形態を取っています。つまりはサブセット的な小さな仕様でも扱えるということです。
X3Dが展開しようとしているのはグラフィックスワークステーションから、セットトップボックスなどの組み込み用途まで、多岐にわたっています。スケーラブルなハードウェア上で動くことを想定し、売り文句として以下の点が挙げられています。
- 軽量のランタイムエンジン
- プラットフォームに依存しないファイルフォーマット
- XMLとの統合、シームレスな環境
また優位性を持つ点としては、いままでのVRMLの持つ機能は踏襲することや、MPEG4 仕様の一部への組み込みなどが考えられています。ただ、X3D仕様それ自体は、仕様の策定ばかりが先走ってしまい、実際に動く環境やライブラリがまだまだ整っておらず、理想と現実が伴っていないイメージは否めません。データの圧縮、ジオメトリの圧縮フォーマットなど、重要な項目がいくつか解決していない点も問題視されています。現時点では、X3Dに対して、Web3D業界の中では賛同するものもあれば、X3Dとは関係なく独自路線を走り、デファクト・スタンダードを目指している企業も多いというのが実情です。
■現在のステータスとロードマップ
現在、Web3D Consortiumは、W3C(World Wide Web Consortium)に参加し2002年にはX3D仕様とVRML97仕様がマージした形でVRML2002仕様として標準化を目指しています。
Web3D ISOのロードマップ |
■X3DとVRMLの関係
X3DとVRML97は記述できる3次元情報に関しては互換性を持ち、VRML97仕様で表現できるものは、基本的にはX3Dでも表現可能です。X3DはVRML97の上位互換という位置付けで、コンバータも用意されています。X3Dの中でVRML97仕様は1つのプロファイルにて表現されます。X3D仕様が固まったからといって、VRML
97がなくなるわけではなく、ISO/IEC 14772-1:1997標準仕様として今後とも使われていくものです。
■Web3D Consortium
Web3D Consortiumには各種機能に応じて分会(Working Group)が設けられており、MPEG4関連や、RichMedia関連、Conformanceに関することや、地理情報関連、人体アニメーションに関することなどが細かく討議されています。
(http://www.web3d.org/fs_workinggroups.htm)
Web3Dのデータ、コンテンツの作成には、Webデザイナーとしての資質だけではなく、3次元コンピュータグラフィックス、それも特に限定されたハードウェア性能と、ネットワーク性能の中で効果的なコンテンツを作成するリアルタイムグラフィックスならではのノウハウを多く必要とします。現在Web3D Consortiumに求められている役目は、それらのコンテンツメーカー、コンテンツを作成するデザイナー、プログラマーたちの育成や、環境の整備だといわれており、大変重要視されている課題です。
Web3Dの世界で活躍するJava3DとJava |
■Web3DにおけるJava3Dの位置付け
Java3Dは、Java3Dアプリケーション中で3次元グラフィックスを取り扱うためのAPIです。Java3Dは、サンのJavaプロジェクトの中ではJDKのコアのライブラリではなく、Java Media APIの一部として含まれているものです。
Web3Dの世界においては、Java3Dは単に1つのWeb3D技術としてとらえられています。ただしJava 3Dは各種グラフィックスAPIの中では後発の部類に入り、さまざまな優位な機能を持っています。Java3DがほかのGraphics APIに比べてアドバンテージを持っている部分として挙げられるのは以下のような項目です。
- 高レベルのAPIの組み合わせにより、速度の速い開発が行える
- Javaと親和性が高く、すべてJavaで開発が行える
- シーングラフと呼ばれるオブジェクト指向データベースで3次元形状を扱う
- グラフィックスハードウェア、環境に左右されない
- Javaと同様にさまざまな環境で動作する(Windows、Solaris、HP-UX、IRIX、Linux)
- 表示装置が限定されない(CRTディスプレイ、ヘッドマウントディスプレイ、壁面表示装置など)
- ジオメトリ形状圧縮を扱える
Java3Dは固有のグラフィックスファイルフォーマットを持ちません。ファイルローダの組み込みによって、さまざまなフォーマットに対応できるわけですが、Web3Dとして展開するには、その点があいまいとなっています。
■Web3DにとってのJavaの位置付け
Java3Dがある一方、JavaアプレットだけでWeb3Dを表現しようというものも多くあります。その利点は、特殊なプラグインを用意せずとも、ブラウザ内蔵のJavaVMで3次元表示が簡単に実現できる点です。
ごく一般のインターネットユーザーにとっては、わざわざ新しいプラグインをダウンロードしてインストール作業を行うという行為は大変困難なことです。さらに多くの人はパソコンを買ったときにインストールされていたWebブラウザをそのまま使い続けることが多いことでしょう。
ある調査によると、1.5Mbytes以上のプラグインは極端にインストールベースが減ることが知られています。VRMLのプラグインなどは、その仕様すべての実装のためにはどうしてもサイズの大きな3M〜5Mbytesといったプラグインになってしまいます。VRMLの普及を阻害した1つの要因はそのプラグインの大きさにもあるといえるでしょう。
Webの世界の中で比較的普及率が高いプラグインにマクロメディアのFlashがあります。このプラグインはブラウザと一緒に配布されることが多く、それが広まっている理由の1つですが、さらにサイズがとても小さなことも大切な点です。
マクロメディアは、開発部隊の中にプラグインのサイズを小さくするという開発作業だけを担当している人も数人いて、プラグインの普及を促進することを重要視しているそうです。
WebブラウザのJava VMによるWeb3D技術 |
最近のJavaの一番の活躍の場は、Servlet/JSP(Java ServerPages)などのサーバサイドでのものですが、クライアントサイドのJavaも十分活躍の場を持っています。クライアントサイドのJavaはサンのJava Web Startの登場によって、新たな活躍の場が広がってきたといえるでしょう。
特殊なプラグインを使用しない、WebブラウザのJava VMによるWeb3D技術にはどのようなものがあるのでしょうか? いくつか特徴的なものを紹介しましょう。
●JavaDemo:Javaアプレットによる派手なビジュアルエフェクト集
http://dn.planet-d.net/
http://www.komplex.org/java.html
●AnfyJava:上記のJavaDemoのようなビジュアルエフェクトを簡単に作れるツール
http://www.anfyteam.com/ln/jap/
●Shout3D:Javaアプレットによる3次元表示のためのツールキット
http://www.shout3d.com/
●Macy's Passport 99 Fashion Show
http://www.excitextreme.com/fashion/
●NBCオリンピック
http://sydney2000.nbcolympics.com/?/stacks/games/
index_stacks_games.html
また国内では、松下電工が「RoomNavi」というハウスプランニングシステムを一般公開しており、ユーザーから好評を得ているそうです。
●RoomNavi
http://www.mew.co.jp/roomnavi/
http://www.roomnavi.com/
Web3Dのこれから |
現在では、数々の新しいWeb3D技術、サービスが立ち上がってきています。ニュースが数多く聞かれ、これからブームが再燃する可能性が高いでしょう。はやってから追随するのではなく、一歩先を進んで、シェアを獲得することが重要視されています。また、どこが事実上のデファクト・スタンダードとなるか、多くのシェアを取得するのかも注目されていることの1つです。
Web3D がこれから浸透していくことにおいて重要なのは、技術開発を行う企業、コンテンツ作成をする企業やデザイナー、プログラマーサービスを利用する一般ユーザーの、しっかりした流れが組み上がり、確固たるビジネスモデルのもと、資金やサービスがよい具合に循環する仕組みが確立されないといけません。
今後ブロードバンド時代のネットワークインフラの整備により、いかに大容量のネットワークに効果的なデータ、コンテンツを流すかが重要視されてくることでしょう。また、コンピュータの高性能化だけにはとどまらず、ソニーのPlayStation 2、マイクロソフトのX-Boxなど家庭用ゲームもその圧倒的な3次元描画パワーをベースに今後とも進化していくことでしょう。
今後Web3Dに期待されるのは、ゲームだけではないキラーコンテンツの存在、登場と、エンターテインメント分野や商取引などの、実際のビジネスモデルに組み込まれた形での利用、応用です。私たちが現実に暮らしている世界が3次元なのですから、Webの世界も順次3次元化していくことでしょう。それは単に3次元表示されているということだけではなく、3次元ならではの利点、便利さを生かしたサービスが出現してくるということです。
これからの一歩先をゆくWebサービスとしてWeb3Dは目が離せません。次回は、今年2月に開催されたWeb3D 2001 Conferenceで討議された内容をベースに、Web3D技術のトレンド、サンが明らかにしたJava3Dの今後などについて紹介する予定です。
Index | |
前編 Web3Dがインターネットをリアルにする | |
後編 Web3Dのトレンドを探る |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|