犀角(Diceros Horn)

とくながの「書き散らかし」です

ここは研究・調査・開発などの記録がメインのページです。 日常の雑事、読書記録は はてなダイアリー の方に書いています。よろしければそちらもどうぞ。

Sun, 07 Nov 2004

X3D の構造

X3D というと XML 形式の3次元データ規格と言うイメージが強いが、 VRML 型のデータ形式もサポートしている。 web3d.orgのページに詳しい仕様は書いてある。 しかし、関連する XML 技術を利用していくことを考えると、 XML 形式で記述する方が応用範囲が広いだろう。 そこでまずはデータを記述する立場から XML 形式の X3D を書くための 情報を整理しよう。

上記と同じweb3d.org のページ に XML 形式でのサンプルが紹介されている。 X3D の特徴は 3D データの記述だけでなく、スクリプティング、ネットワーク、 物理シミュレーションまでもサポートしていることである。もちろんビューワ側で 全てをサポートしているわけではないが、規格段階で考慮されていることは 期待できる。 ツールなどを作成する場合にDTDを確認したければ Web3D Consortium - X3D Specificationsを見ればよい。

サンプルのファイルをのぞいてみれば ルートノードは X3D でその下にメタデータを記述するためのヘッダ head と シーングラフを記述するための Scene ノードがあるのがわかる。 Scene ノードの下はほぼ Java3D のシーングラフを作成するのと同じように 記述することができる。 ルートノード X3D の profile 属性には X3D の機能のサブセットを 指定して、開発者に知らせることができる。つまり、ビューワによって サポートしているサブセットのレベルが異なるので、X3D は サポートの範囲内で記述することが求められる。 現在の基本の profile には Interchange Interactive Immersive Full の4つがある。それぞれがどのレベルまでサポートしてるかは Web3D Consortium - X3D Overviewで確認できる。 さすがに Full まで対応しているツールはなさそうであるが。 NURBS まで対応していたらすごいなあ。

ちなみに japan.internet.com の記事によると、2004年8月にISO(国際標準化機構) に承認された。標準規格になると期待していいのかな?

posted at 23:57 | category: /VR/X3D | 固定リンク(X3D の構造)

Octaga

Octagaという X3D ブラウザが フリーで提供されている。完成度はかなり高い。View や Navigation が 切替えることができるのがよい。

posted at 22:08 | category: /VR/X3D | 固定リンク(Octaga)

Sun, 31 Oct 2004

VRML97 から X3D への変換

X3D-Edit ver3.0 にはバンドルされているようだが、 単独のツールとしてもつかえる VRML97 to X3D Translation が公開されている。

逆の X3D から VRML97 への変換ツールは xslt の物が 各種存在する。

posted at 20:50 | category: /VR/X3D | 固定リンク(VRML97 から X3D への変換)

X3D-Edit

X3D Sample Application に Xj3D とともに挙げられている X3D-Edit だが、このリンクにある ver3.0 は 現在アクセスできない。代わりに Readme からたどって、 X3D-Edit for Extensible 3D Graphics (InstallAnywhere Web Installer) からインストーラをダウンロードしてもうまくいかない。(うまくいった方は教えてください)

X3D-Edit (InstallAnywhere Web Installer) からだと ver2.4 がダウンロードできる。これは WinXP + jdk1.5 の環境で 実行できた。XML のツリー構造エディタは IBM の Xeena を使っていて、 GUI は洗練されている。ただし 3D View があるわけではなく、あくまでも Scene Graph Editor でしかない。

一番上のリンクには X3D example もあるので、このソースを見ながら勉強するのがいいかも。

posted at 20:43 | category: /VR/X3D | 固定リンク(X3D-Edit)