[go: up one dir, main page]

JP2005165873A - Web3D画像表示システム - Google Patents

Web3D画像表示システム Download PDF

Info

Publication number
JP2005165873A
JP2005165873A JP2003406404A JP2003406404A JP2005165873A JP 2005165873 A JP2005165873 A JP 2005165873A JP 2003406404 A JP2003406404 A JP 2003406404A JP 2003406404 A JP2003406404 A JP 2003406404A JP 2005165873 A JP2005165873 A JP 2005165873A
Authority
JP
Japan
Prior art keywords
scene
applet
information
web
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003406404A
Other languages
English (en)
Inventor
Masahiro Ito
藤 正 裕 伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2003406404A priority Critical patent/JP2005165873A/ja
Publication of JP2005165873A publication Critical patent/JP2005165873A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

【課題】プラットフォームやWebブラウザに限定されないWeb3D画像表示システムを提供する。
【解決手段】VRML等の標準的フォーマットのWeb3Dファイルを読込み3Dシーンの編集を行い各種情報を付与し、アニメーション等に必要な属性情報を含む3Dシーン情報を圧縮し、圧縮されたファイルを基に3Dシーンを表示するための3Dアプレットと、キーボード・マウス等のイベント入力を3Dアプレットに受け渡し3Dオブジェクトの移動・変更等のインタラクティブ操作を行うための3D制御アプレットと、これらのアプレットを呼び出すWebページとを生成し、3Dシーンの表示に必要なこれらの3D情報ファイルを記憶装置に保存する3Dシーン編集手段を備え、Webブラウザによって、保存された3D情報ファイルを読込みアプレットを実行し、利用者とのインタラクティブな3Dシーンの表示を行う。
【選択図】図1

Description

本発明は、Webブラウザを用いた利用者との双方向型のリアルタイム3D(三次元)画像の表示システムに関するもので、より詳しくはWebブラウザに特別なプラグインソフトをインストールせずに利用者によるインタラクティブ操作を可能にするWeb3D画像表示システムに関するものである。
従来からWeb用の3D画像表示を行うための標準フォーマットとしてVRML(Virtual Reality Modeling Language)が知られている。
このVRMLファイルを直接読込み専用のプラグインにより3D画像を表示するように構成したWebブラウザ(VRMLブラウザ)があるが、利用者自身の操作によりプラグインをインストールする必要があるという利便性の問題だけでなく、このようにプラグインをインストールしたVRMLブラウザにおいて利用者とのインタラクティブ操作を実現するための3Dシーンの作成にも非常に多くの煩雑な手作業を必要とし、作業効率も著しく悪いという問題があった。また、VRMLファイルをそのまま利用した場合は、インタラクティブ操作の種類だけでなく、処理の複雑さや重さから応答性等でも問題があり、軽快で多機能な3Dシーンを表示することはできなかった。
これを改善したWebブラウザ上で3D表示を行うシステムとして、本発明と同一発明者による「Web3D画像表示システム」(特許文献1)がある。
特許文献1は、VRML等の標準的なWeb3Dファイルを読込み、読み込んだ3Dシーンをカスタマイズし3Dアニメーション等を付加してWebブラウザ上で軽快に動作するためのファイル群を生成するシステムであるが、利用者とのインタラクティブ操作に関する部分は、Webブラウザ上で表示するために生成した3Dシーン表示用のJava(R)アプレット中に独自のJava(R)スクリプトAPI(Application Programm Interface)を設け、Webページ(HTMLファイル)中に記述したこの独自スクリプトを介して実現するものであった。
国際公開第03/034345号パンフレット
しかしながら、利用者とのインタラクティブ操作を実現する機能をJava(R)スクリプトによって記述することから、プラットフォームの違い(OS:Operating Sysytem、マシン環境等の違い)やWebブラウザの違い等の、動作環境の違いによってスクリプトの記述を変える必要を生じることや、或いはJava(R)スクリプトAPIが動作環境によってはうまく機能せず、その動作環境を限定せざるを得なかった。また、スクリプトの記述自身もWeb編集担当者が手入力で作成する必要があり、3Dシーンの画像表示やアニメーションとそのインタラクティブ操作もスクリプトをその都度Webブラウザ上で走らせて動作確認するというものであった。
以上のような問題を解決するために本発明では、プラットフォームやWebブラウザ等の動作環境に対する限定をできるだけなくした利用者とのインタラクティブ操作を実現するWeb3D画像表示システムを提供することを目的とする。また、利用者とのインタラクティブ操作を実現するためのプログラムの記述を、Webブラウザ上で表示される3Dシーンと同一の表示画面を用いて相互に確認できるWeb3DオーサリングツールによってWebページを生成するWeb3D画像表示システムを提供することを目的とする。
上記目的を達成するため、請求項1に記載の発明は、各種の3Dモデリングソフトウェアプログラムによって生成されたVRML等の標準的なWeb用3Dグラフィックス記述言語で記述されたファイルフォーマットのWeb3Dファイルを基に3Dシーンの編集を行いWebブラウザ上で3Dシーンを表示するコンピュータシステムであって、
3Dオブジェクト及び3Dシーン情報を含む前記Web3Dファイルを基に3Dシーンのカスタマイズを行い前記Webブラウザ上で3Dシーンを表示するための各種情報を付与する3Dシーンカスタマイズ手段と、前記Web3Dファイルから得られたアニメーション等に必要な属性情報を含む3Dオブジェクト及び3Dシーン情報を圧縮し3D圧縮ファイルを生成する3D圧縮ファイル生成手段と、圧縮された前記3D圧縮ファイルの3Dオブジェクト及び3Dシーン情報を基に前記Webブラウザ上でリアルタイム3Dレンダリング及びモーションアルゴリズムを実行して3Dシーンを表示するための3Dアプレットを生成する3Dアプレット生成手段と、前記Webブラウザ上でキーボード・マウス等によるユーザーイベント入力を前記3Dアプレットに受け渡し3Dオブジェクトの移動・変更等の利用者とのインタラクティブ操作を行うための3D制御アプレットを生成する3D制御アプレット生成手段と、前記3Dアプレット及び前記3D制御アプレットを呼び出すアプレット・タグが含まれるWebページを生成するWebページ生成手段と、3Dシーンの表示に必要な生成された前記3D圧縮ファイル、前記3Dアプレット、前記3D制御アプレット、前記Webページ、及びテキスチャ・ファイルからなる3D情報ファイルを記憶装置に保存する3D情報保存手段と、を少なくとも含む3Dシーン編集手段を備え、
前記Webブラウザによって、保存された前記3D情報ファイルを読込み前記3Dアプレット及び前記3D制御アプレットを実行する3Dアプレット実行手段と、前記3Dアプレット及び前記3D制御アプレットの実行によって利用者とのインタラクティブな3Dシーンの表示を行うインタラクティブ表示処理手段とを備えることを特徴とする。
請求項2に記載の前記3D圧縮ファイルは、前記3Dアプレットから呼び出される少なくとも形状、座標変換、ライト、カメラの情報を含む3Dシーン情報から成り、バイナリデータとして一つのファイルに保存されることを特徴とする。
請求項3に記載の前記3Dアプレットは、複数のアプレット・クラスで構成され、少なくとも形状、座標変換、ライト、カメラを含むシーン要素の各クラスと、ワイヤフレーム、フラット・シェーディング、グーロー・シェーディングを含むシェーダー・クラスと、3D画像を表示するための各種コア・クラスとから成る各クラス内から前記3Dシーンの表示に必要な当該クラスが選択され一つの圧縮ファイルとして保存されることを特徴とする。
請求項4に記載の前記3D制御アプレットの実行による前記3Dアプレットとの受け渡し情報は、利用者とのインタラクティブ操作が可能な3D画像を表示するために、少なくともオブジェクト、形状、座標、カメラ、アニメーション、画像表示、及びユーザーインターフェイスの各情報のいずれか1つ以上を含むことを特徴とする。
請求項5に記載の前記3D制御アプレットは、少なくとも、画像による選択ボタン、テキストによる選択ボタン、複数候補から選択するチェックボックス、ドロップダウンリストにより選択するセレクトボタン、及びテキスト入力欄を含むユーザーインターフェイスの各クラスと、Webページ内のタグ範囲指定、画像タグ情報、及びテキストエリア・タグ情報の各クラスとを含む複数のアプレット・クラスが、前記3Dアプレットとの受け渡し情報の一部を構成し、該各クラス内から前記インタラクティブ操作のために必要な当該クラスが選択され一つの圧縮ファイルとして保存されることを特徴とする。
請求項6に記載の前記3Dアプレットは、スクリプト・コードによって利用者とのインタラクティブ操作を可能にする独自のスクリプト・インターフェイスを有し、前記3D制御アプレットの実行による前記3Dアプレットとの前記3Dシーンの情報及び前記インタラクティブ操作に伴う情報の受け渡しは、該スクリプト・インターフェイスを介して行うことを特徴とする。
請求項7に記載の前記3Dシーンカスタマイズ手段は、前記3Dシーンをカスタマイズするためのスクリプト言語の編集手段及び該スクリプト言語で記述されたプログラムソースのコンパイル手段を有し、該コンパイル手段によって前記3D制御アプレットの実行により前記スクリプト・インターフェイスを介し前記3Dアプレットと情報の受け渡しを行うためのスクリプティング・エンジンを生成することを特徴とする。
請求項8に記載の前記3Dシーン編集手段は、Webブラウザ上で表示される3D画像、3D画像のアニメーション、及び利用者とのインタラクティブ操作を行うユーザ操作ボタン等を含む前記3Dシーンを確認表示するためのプレビュー部と、該プレビュー部の3Dシーンをカスタマイズするためのスクリプト記述部とを少なくとも含む表示手段を有することを特徴とする。
請求項9に記載の前記スクリプト記述部の、3D画像の形状、座標、カメラ、テキスチャ、アニメーション、利用者とのインタラクティブ操作等の3Dシーンのカスタマイズは、プログラムステップ毎に前記プレビュー部の3Dシーンの当該箇所に反映され、前記プレビュー部のユーザ操作ボタン等によるインタラクティブ操作によって生じる前記3Dシーンの変更は、前記スクリプト記述部のプログラムソーステキストの当該記述箇所に反映され、該スクリプト記述部又は該プレビュー部のいずれか一方の編集又は操作結果が、ほぼリアルタイムに相互に反映されることを特徴とする。
本発明のWeb3D画像表示システムによれば、従来HTML(Hyper Text Markup Language)ページ内に手入力で記述していたスクリプトを、外部ファイルの3D制御アプレットとして呼び出す構成にしたので、プラットフォームやWebブラウザを限定しないシステムが構築できるという効果がある。
また、この3D制御アプレットは、実際のWebブラウザ上で表示される3Dシーンと同一の表示画面を参照して相互に確認しながらプログラムできるJava(R)スクリプトに準じたスクリプトを用いた3Dシーン編集手段により生成するように構成したので、Web編集担当者の負担が軽減できるという効果も大きい。
本発明に係るWeb3D画像表示システムの、実施の形態の具体例を、図面を参照しながら説明する。
図1は、本実施の形態におけるWeb3D画像表示システムの構成を示す概略図である。
図1(a)は、Webブラウザ上で利用者とのインタラクティブ操作を実現し軽快な3Dシーンを表示するための3D情報データを生成するコンピュータシステムの構成を示しており、図1(b)は、図1(a)で生成した3D情報データを読み込み3Dシーンを表示するためのWebブラウザを有するPC(パーソナルコンピュータ)等のコンピュータ端末である。
図1に示す各手段はソフトウェアプログラムを市販のPCやワークステーションにインストールし実行することでその機能を実現するもので、PCやワークステーションは、CPU(中央制御装置)、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及びその他の入出力装置や周辺機器類等を備えた一般的に知られているコンピュータ装置であり、これらに関する説明及びその構成図面は省略する。
また、図1(a)、(b)に用いられるコンピュータは別構成でも同一のコンピュータを使用する構成でもどちらでもかまわない。
1はWebブラウザ上で3Dシーンを表示するための各種ファイル群を生成するWeb3D画像生成システムであり、2は生成された3D情報の各種ファイルを読み込み3Dシーンを表示するためのWebブラウザを有するコンピュータである。
10は3Dオブジェクト作成手段であり、本発明の3D情報データを生成する基になる3Dオブジェクトや3Dシーンを各種の3Dモデリングソフトを用いて作成する。
11は3Dモデリングソフトで作成した3Dオブジェクトや3Dシーン情報をVRMLファイルとして出力するVRMLファイル生成手段である。
12〜17は3Dシーン編集手段を構成する各手段である。
12は3Dシーンカスタマイズ手段であり、3Dモデリングソフトで生成したVRMLファイルを読み込み、Webブラウザにロードしたアプレットによって利用者とのインタラクティブ操作が可能な3Dシーンを表示するための付加・編集手段である。3Dオブジェクトや3Dシーン情報に対し、移動、回転、拡大・縮小、及びアニメーション等の必要な各種情報がWeb編集担当者によって付加される。
13は3D圧縮ファイル生成手段であり、3Dシーンカスタマイズ手段12で付加・編集された属性情報を有する3Dオブジェクトや3Dシーンを、バイナリデータによる一つの3D圧縮ファイルとしてテキスチャ・ファイル(図示せず)と共に生成する。
14は3Dアプレット生成手段であり、3D圧縮ファイル生成手段13で生成した3D圧縮ファイルを基に利用者とのインタラクティブ操作が可能な3Dオブジェクトや3Dシーンを表示するために必要なアプレット群を、一つにまとめた圧縮ファイルとして生成する。
15は3D制御アプレット生成手段であり、3Dアプレット生成手段14で生成された3Dアプレットを介して3Dオブジェクトや3Dシーンを表示する際の、利用者とのインタラクティブ操作に伴うイベント入力を扱うために必要なアプレット群を、一つにまとめた圧縮ファイルとして生成する。3D制御アプレット生成手段15で生成されるアプレット群は利用者とのインタラクティブ操作のためのインターフェイスだけでなく、3Dオブジェクトや3Dシーンを表示するための3Dアプレットとのインターフェイスも含まれている。
16はWebページ生成手段で、3Dシーンを表示するための3D制御アプレット生成手段15で生成された3D制御アプレット・タグを含むWebページ(HTMLページ)を自動生成する。
17は3Dシーン編集手段によって生成された3Dシーンの表示に必要な各種3D情報を保存する3D情報保存手段であり、Webブラウザ上で3Dシーンを表示するために必要な各生成手段で生成されたこれらの各種3D情報を3D情報データ18としてWeb画像生成システム内の記憶装置(図示せず)に保存・蓄積する。
21〜26はWebブラウザによりアプレット・タグが記載されたWebページを読み込みWebブラウザに実装されたVM(仮想マシン)によってアプレットを実行し実現する各手段である。
21は3D制御アプレット要求手段であり、Webページ内に記載されたアプレット・タグによって3D制御アプレットが要求されWebブラウザにロードされる。
22はロードされた3D制御アプレットによってさらに3Dアプレットを要求しWebブラウザにロードする3Dアプレット要求手段であり、23はロードされた3Dアプレットによって3D圧縮ファイル要求しWebブラウザにロードして3Dシーンを表示するための3D圧縮ファイル要求手段である。
24はWebブラウザにロードされた3D制御アプレットを実行する3D制御アプレット実行手段であり、Webブラウザに実装されたVMによって実行される。
25は3D制御アプレットから呼ばれ、3Dシーンを表示するために3Dアプレットを実行する3Dアプレット実行手段である。
26はインタラクティブ表示処理手段であり、Webブラウザにロードされた3D制御アプレット及び3DアプレットがWebブラウザに実装されたVMにより実行されることで3Dシーンの表示を継続的に行う。
Webブラウザに読み込まれて3Dシーンの表示を行うために必要な各種の3D情報は3D情報データ27としてPC2内の記憶装置(図示せず)に保存・蓄積されている。PC2内の3D情報データ27は、Web画像生成システム1で生成された3D情報データ18と同じもので、Web画像生成システム1とPC2が同一コンピュータでない場合は通信回線或いはCD等の記録媒体(図示せず)を介しWeb画像生成システム1からコピー又はロードして使用する。
次に、図2の処理フロー図を参照して、Webブラウザ上で利用者とのインタラクティブ操作を実現するための3D情報データの生成と、生成された3D情報データを読み込みWebブラウザで3Dシーンを表示するまでの動作について説明する。
先ず、Web編集担当者は、3Dオブジェクト作成手段10として、市販されている既存の3Dモデリングソフトウェアプログラムを使用し3Dオブジェクトを作成する(S101)。
3DモデリングソフトウェアプログラムはVRMLファイルとして出力できるもの(VRMLファイル生成手段11)ならば何を使用してもよく、たとえば「3ds(商品名)」などを使用して3Dオブジェクトを作成し、作成した3Dオブジェクトに対しさらにモーション、カメラ、ライティング、及びマテリアル等のモディファイ処理を行い、3Dオブジェクト及び3Dシーン全体を「3ds」に備わるVRMLフォーマットのファイルとしてエクスポートする(S102)。
3Dシーン編集手段は、3Dオブジェクト作成手段10及びVRMLファイル生成手段11によって生成された3Dシーン情報が含まれたVRMLファイル(Web3Dファイル)を取り込み(S103)、Webブラウザで利用者とのインタラクティブ操作を可能にする3Dシーンの表示方法に関する各種情報を付与し3D情報データ18として保存するものである。
VRMLファイルからは、ポリゴンの頂点列、面情報、色情報、及び各面に貼り付けるテキスチャを含む画像情報等のオブジェクト情報と、カメラ、ライト等のシーン情報と、各オブジェクトのアニメーション情報などが取り込まれる。
3Dシーンカスタマイズ手段12では、3Dグラフィックス記述言語の記述フォーマットとして一般的に知られているVRMLファイルを入力ツールとして使用し、VRMLファイル中の3Dワールド、3Dシェイプ(形状定義)に関する記述を取り込み、3Dアプレット生成手段14で生成される3Dアプレットが利用者とのインタラクティブ(双方向性)な3Dシーンを表示するために必要な3Dシーンの表示方法等の情報を付与する(S104、S105)。
カスタマイズされた全ての3Dオブジェクト及び3Dシーンの情報は3D圧縮ファイル生成手段13によりバイナリ形式の独自の3D圧縮ファイルとして一つにまとめられ、3D情報保存手段17よって3D情報データ18として記憶装置に保存・蓄積される(S106)。
VRMLファイルは圧縮ファイルではなく、通常のテキストファイルで書かれており、例えばある特定の3Dシーンを表示する際にもその汎用性ゆえにその3Dシーンを表示するのに必要のない情報が含まれており、逆に利用者とのインタラクティブな3Dシーンを表示するために欲しい情報が不足しているので、3Dシーン編集手段では単に3Dシーン情報をインポートするためにのみ使用し、3Dワールド及び3Dシェイプ(形状定義)に関する記述を用い、3Dシーンカスタマイズ手段12で必要な情報を付与して3D圧縮ファイルを生成している。3D圧縮ファイルには3Dアプレットによって3Dシーンを表示するために必要な情報だけが収納されている。
3Dシーンのカスタマイズとしては、シェーディング(陰影付け)等のオブジェクトの情報と、カメラ、ライトの位置等のシーン情報と、各オブジェクトのアニメーションの編集、名前付け等のアニメーション情報と、背景画像、画面サイズ、その他のシーン属性等の表示情報等が可能である。
3Dアプレットは、3Dシーン編集手段で予め用意されたもので、リアルタイム3Dレンダリングやモーションアルゴリズムを実行する小さなJava(R)アプリケーションの集まりであり、3Dシーンのカスタマイズにより設定された3D圧縮ファイル内の各種の3Dシーン情報をWebブラウザで呼び出し3Dシーンを軽快に表示処理するために最適化されている。3Dアプレット生成手段14は、カスタマイズの際に設定された3D圧縮ファイルの情報から3Dシーンを表示するために必要な部分のみのアプレット・クラスファイルを一まとめにし、一つのZIP圧縮ファイルを生成する。
利用者とのインタラクティブ操作のためのイベント入力等の処理に伴う3D制御情報の付加・編集は、主にデバッガ(図示せず)を用いて行う(S107、S108)。
デバッガはいわゆるビジュアルエディタと称されるもので、その編集画面にはWebブラウザで3Dシーンを表示する際と同一の動作を行うプレビュー部と、プレビュー部に表示された3Dシーンをカスタマイズし、利用者とのインタラクティブ操作を実現するためのテキストエディタからなるスクリプト記述部が含まれている。スクリプトは、本発明独自のものであるが、Java(R)スクリプトの文法に準拠したもので、Web編集担当者に受け入れやすいものとなっている。
プレビュー部での操作とスクリプト記述部のプログラムソーステキストの編集内容とは、それぞれの操作結果や編集結果がほぼリアルタイムに相互に反映されるように構成されている。スクリプト記述部に記述されたスクリプトは、そのプログラムステップごとに動作確認することができ、ステップごとの3Dシーンの動きを確認することができる。また、プレビュー部の3Dオブジェクトや3Dシーンを操作すると、その部分のスクリプトがハイライトやブリンクによって明示されるだけでなく、操作に応じたスクリプトを自動生成することも可能になっている。
デバッガは3Dシーンカスタマイズ手段12、3D圧縮ファイル生成手段13、及び3Dアプレット生成手段14で生成した各3D情報データを基に利用者とのインタラクティブ操作のためのイベント入力等の処理を付加・編集するもので、付加・編集されたこれらの情報は、3D制御アプレット生成手段15によって3D制御アプレットを含む3D制御情報ファイルとして一つの圧縮ファイルにまとめられる。また、3D制御アプレット・タグが記述されたHTMLファイルがWebページ生成手段16によって自動生成される(S109)。
デバッガで付加・編集した情報は、再度3D圧縮ファイル、3Dアプレットに反映され、3D情報保存手段17によって、3D制御アプレット、HTMLファイルと共に、これら3D圧縮ファイル、3Dアプレット、及びJPEG(Joint Photographic Experts Group)等により圧縮されたテキスチャ・ファイルのイメージデータが3D情報データ18として記憶装置に保存される(S110)。
3D情報データとして保存された3Dシーン情報は、記録媒体又は通信回線(図示せず)を介してPC2内の3D情報データ27としてハードディスク等の記憶装置(図示せず)に一旦保存する。記録媒体がCDやDVDであれば、そのまま読み取るようにしてもよい。3Dシーン情報はPC2内のWebブラウザにより読み込まれ、Webブラウザに実装されたVMによりアプレットが実行され3Dシーンが表示される。
Webブラウザによって3Dシーン情報を呼び出し実行するためのWebページを読み込むと、そのHTMLファイル内には3D制御アプレットを要求するアプレット・タグが記載されており(3D制御アプレット要求手段21)、3D制御アプレットがWebブラウザにロードされるとWebブラウザに実装されたVMによって3D制御アプレットが実行され(3D制御アプレット実行手段24)、この3D制御アプレットによって3Dシーンを表示するための3Dアプレットが要求される(3Dアプレット要求手段22)。
3Dアプレットがロードされると、VMによって3Dアプレットが実行され(3Dアプレット実行手段25)、3D圧縮ファイル、テキスチャ・ファイルを読み込み(3D圧縮ファイル要求手段23)、3D制御アプレットと連携して利用者とのインタラクティブ操作を実現した3Dシーンを表示する(インタラクティブ表示処理手段26)(S111、S112)。
次に、3Dアプレットの構造について、図3を参照して説明する。
図3に示すように、3Dアプレットは、3Dオブジェクトの描写(レンダリング)と動きとで構成されるシーン情報を表しており、3Dシーンをコントロールする各コア・クラスを有している。全てのシーン情報は、常にIdObject30クラスに継承する全てのシーン要素を含んだScene36オブジェクトの中に保存されており、3Dシーンの描写はScene36の描写方法によって遂行される。
3D制御アプレットを介して入力される利用者のイベントは、Controller59クラスへと導かれる。例えば、3Dアプレットが既に実行されている時に、利用者イベントの使用によりその情報が3Dアプレットへと受け渡され、その時Contorller59クラスは、現在選択されているTransform32クラスのOrientation属性を変化させるという処理となる。
Shape31クラスは3Dシーン上の実際の3Dオブジェクトを表示し、その属性には画面上に3Dオブジェクトを描くために必要な全ての情報が含まれている。そして全てのShape31クラスは、隣のTransform32へのリファレンスを含んでいる。
Transform32は、Shape31クラスの位置情報を持ち、Shape31クラスを3Dシーン上で位置付けるのに使用される。このような1シーンの中の各オブジェクト情報とその位置情報を基にレンダリング(描写)が行われるが、シェイプ(形状)を描く時にはそのクラスをレンダリングするためにI3dObject40クラスが使用される。I3dObject40インターフェイスを実現する全てのクラス(例えばTextureMap45クラス=質感の実現)は、スクリーン上で描写することができる。
Clipper57クラスは、あるシェイプを画面上にラスター表示するために、シェーダー・クラスI3dObject40クラスと共に使用される。
次に、図3のアプレット・クラスの構造について(a)〜(c)の各セクションに分けて説明する。
図3(a)セクションのIdObject30はシーン要素を表現している。全てのシーン要素は固有のIdを有しており、これはIdObject30クラスによって表現される共通の特徴であり、従って全てのシーン要素はこのクラスに継承される(「継承」はオブジェクト指向の特色であり、Java(R)はオブジェクト指向のプログラム言語である)。3Dシーンは要素の階層により表現されており、固有のIdは3D圧縮ファイルからのシーン情報のロード中に使用されてこの階層を形成している。階層はTransform32オブジェクト(この場合の「オブジェクト」は「クラス」と同義語)により形成されており、各Transform32オブジェクトは、ライト(Light34オブジェクト)、シェイプ(Shape31オブジェクト)、別のTransform32オブジェクト等の、いくつかの異なるタイプのシーン要素を含んでいてもよい。
全てのシーン要素を含んでいるルート・トランスフォームが常にあり、この特別のトランスフォームはシーン・トランスフォームと呼ばれ、主要なアプレット・クラス(Applet3da56)内に含まれる一つのScene36オブジェクトによって表現されている。階層構造の情報はシーンの3D表示には重要である。各Transform32オブジェクトは3Dワールドにおける位置を表現しており、格納されている全ての要素はこの位置を基準に移動(座標変換)し表示される。
Interpolator33は、シーン画像要素内の、一組の値間の書き込みに関する情報を含んでいる。インターポレーター・クラスはこれらの値の間をスライドして、次第にシーン要素のプロパティを変化させる方法を含んでいる。インターポレーターを含んでいるシーン要素はShape31及びTransform32である。シェイプ(形状)はインターポレーターを使用して、モーフィングを行う。トランスフォーム(座標変換)はインターポレーターを使用して、移動回転を行う。このようにしてアプレット・エンジンは3Dアニメーションを実行する。アニメーションの再生中、インターポレーターは一組の値間を「スライド」して、シーン要素のプロパティ(移動を行うためのトランスフォームのポジション・プロパティまたはシェイプ・モーフィングを行うためのシェイプ座標等)を変更する。アニメーションがシーン内で再生されている時は、Scene36オブジェクトに含まれる動作中のインターポレーターのリストによって各フレームが進められシーン内の変化、すなわちアニメーション効果を起こす。インターポレーターは時間の経過を把握しており、値を進めるためにどれだけの時間が必要かを把握している。このようにして、アニメーションの長さ(アニメーション時間)が制御されている。
Light34は、シーン・シェイプのライティングを定義するために使用されている。ライトは光の色及び輝度を定義するカラー・プロパティを含んでいる。位置情報を含むオムニライトと、方向情報を含むスポットライトの2種類のライトがある。ライトはTransform32オブジェクト内にある。ライト要素を含むトランスフォームを移動すると、ライトもまた移動して、シーン・シェイプの照明方法が変化する。Shape31オブジェクトがシェーダー・オブジェクト(I3dObject40クラス)を使用して画面上に描写されると、シェーダー・オブジェクトは全てのシーン・ライトの位置、方向及び色を確認して、正確なライティングでシェイプを描写することが可能になる。
Camera35は視点を定義しており、各Camera35オブジェクトは位置及び方向情報を含んでいる。カメラが中にあるトランスフォームの位置と組み合わされたこの情報は、3Dシーンを描写して見ることができる視点を示す。Controller59オブジェクトが動作中のカメラへの参照を含んでおり、これがシーンの視点として現在使用されているカメラである。シーン・イメージが描写される毎に、全ての3D情報が動作中のカメラの座標空間に変更されて動作中のカメラがワールド座標の原点(0,0,0)にあるようになる。これは、Scene36オブジェクトによって行われる。その後、座標変更されたシーンが描写されて、3Dシーンがカメラの視点からどのように見えるかが明らかになる。
図3(b)のセクションの全てのクラスはシェーダーと呼ばれ、3Dオブジェクトの陰影付けに関するオブジェクト(アプレット・クラス)である。全てのシェーダーはI3dObject40クラスで表現される共通の特色を有しており、また、全てのシェーダーはこのクラスを継承している。シェーダーはShape31オブジェクトが所有している。シェーダーは所有しているShape31のラスター化(2Dビットマップ画像の作成)を行う役割を担っている。各シェーダーはシェーダーが所有しているシェイプ(形状)を異なるように描写する。シェーダーはシーン・ライト、シェイプ・カラー情報、シェイプ・テキスチャ情報等を考慮して、その形をラスター化するために必要な動作を行う。この情報を使用する各シェーダーは異なる方法を用いるか、あるいは、この情報のいくつかを無視してもよい。シェイプのシェーダーは3Dシーンの編集担当者によって定義された「シェードタイプ」プロパティによって定義されている。例えば、テキスチャ・シェイプを作成するシェーダーもあれば、スムースな影付のシェイプを作成するシェーダーもある。
Wire41は、他のシェーダーと異なり、このシェーダー・クラスはシェイプからなるポリゴンを埋めることによりシェイプを表示しない。このシェーダーはシェイプのワイヤフレームを描く。これはポリゴンが描かれるシェイプの全ての点を結合し、シェイプのワイヤフレームを作成する線という意味である。このシェーダーを所有しているShape31の色情報がワイヤフレーム用の色として使用される。
Flat42はフラット・シェードによるシェイプを描写している。フラット・シェーディングは各シェイプのポリゴンがシェイプの色及びシーン内のライトによる一定の色を受け取るアルゴリズムである。
Gouraud43はグーロー・シェードによるシェイプを描写している。グーロー・シェーディングはシェイプの各ポリゴンの3点における色がシェイプの色及びシーン内のライトに従って計算されるアルゴリズムである。その後、これらの色はポリゴンに沿って直線的に補間されて、シェイプがスムースにシェーディングされる。
Environment44はテキスチャ・マップのシェイプを描画している。テキスチャ・マッピング・アルゴリズムは、描写されるShape31を含むTransform32オブジェクトの方向性によりマップ情報を生成する。このシェーダーによって使用されたアルゴリズムは、マップ情報源を除いてTextureMap45シェーダーによって使用されるアルゴリズムと同一である。マップ情報がここでシェイプの方向に依存しているので、回転するシェイプが周囲または光源を反映しているかのように見える。このイリュ−ジョンはリアルな外見への反映及び単純なテキスチャ・マッピング・アルゴリズムを使用したライティングを実現するために使用することが可能である。
TextureMap45はテキスチャ・マップのシェイプを描写している。テキスチャ・マッピング・アルゴリズムはシェーダー・オブジェクトを所有しているShape31オブジェクトに格納されたマップ情報を使用して、シェイプ上にテキスチャ・ビットマップをマッピングする。このことにより、あるテキスチャまたは描かれた画像を有しているかのようにシェイプが描写される。
TextureGur46はグーロー・シェーディング(Gouraud43等)及びテキスチャ・マッピング(TextureMap45等)の両方を行って、シェイプのポリゴンを描写している。このことにより、テキスチャ・マッピング及びスムースなシェードがされたオブジェクトが得られる。
TextureEnv47は2つの異なるテキスチャ・イメージと異なる組のマッピング座標を有する2つのテキスチャ・マッピング操作を行い、その後混合アルゴリズムを使用してイメージを組み合わせている。実行された2つのマッピング操作はTextureMap45の描写アルゴリズムを遂行して、その結果をEnvironment44の描写アルゴリズムと組み合わせることと同じである。このシェーダーはシェイプにテキスチャ・イメージと反射/照明効果を付与するために使用される。
図3(c)のセクションは3Dシーンを表示するためのその他のコア・クラスを含んでいる。これらのクラスは3D表示エンジンに必要な情報を含んでおり、この情報に関する機能を遂行している。例えば、Clipper57がラスター化を手伝い、MyPixelGrabber51が画像ファイルのロードを手伝い、Controller59が利用者イベントに従い3D制御アプレットを介してシーン情報を変更する役割を担っている、…等である。
コア・クラスとして考える必要のあるYoe3types50クラスは、単にScene36クラスによって使用される定数を含んでいるもので、いかなるファンクションも実行せず、またいかなるデータも格納しない。
3D圧縮ファイルをロードする場合、このシーンファイルの構造はシーン要素を表現するノードまたは一般的なシーンファイルを含むようになっている。各ノードはサブノード及びデータ・フィールドを含んでいる。異なるノードタイプ及びデータ・フィールドタイプは、ファイル内でこれらの前にあるId番号によって特定される。このクラスは様々な可能性のあるデータ・ノード及びノード・フィールドのIdを示す定数を含んでいる。シーン・ローダー(Scene36クラスで実行される)がこのクラス内に存在しないIdに出会った場合、ノードまたはこのノードに属するデータ・フィールドをスキップする。
MyPixelGrabber51は、アプレットで使用されて、シーン(シェイプ・テキスチャ、背景画像等)内で使用されるイメージをロードする。また、MyImageObserver52インターフェイスを実行するクラスと合わせて使用される。イメージのロードを終了すると、MyPixelGrabber51オブジェクトはそのオブザーバー・オブジェクトを呼び戻して、イメージが準備されたことを知らせる。
MyImageObserver52は、イメージがロードを終了すると呼び出されるファンクションのためのインターフェイスを定義している。幾つかのクラスはMyImageObserver52インターフェイスを実行して、ロードを要求したイメージがロードを終えると通知する。アプレットによるイメージの実際のロードはMyPixelGrabber51オブジェクトを使用して行われる。MyPixelGrabber51オブジェクトがイメージのロードを終了すると、MyImageObserver52オブジェクトにこれを引き渡す。このような場合の例は、アプレットが新しい背景画像をロードする時である。Applet3da56クラスはYoe3d53クラス内のメソッド(オブジェクトの動作を定義する手続き)を呼び出して、新しい背景画像をセットする。MyImageObserver52インターフェイスを実行するYoe3d53はイメージをロードしてその後オブザーバー(この場合Yoe3d53)内のファンクション(機能)を呼び出すMyPixelGrabber51オブジェクト作成する。Yoe3d53はロードされたイメージデータを含み、それを使用してアプレットの背景を設定する。
Yoe3d53は3D幾何学的作用、画像処理及び混合作用、ラスター化作用等を遂行するために使用される様々なファンクションを含んでいる。例えば、シェーダー・クラスが画面上に2Dポリゴンを描く前に、各シェイプのポリゴンの3D座標を、透視投影アルゴリズムを使用して2D座標値に変換しなければならない。この変換を行うファンクションはYoe3d53で実行される。また、このクラスは3Dシーンのラスター化中に使用される変数を含んでいる。例えば、重なっている3Dオブジェクトを正確に表示するために、Z−Bufferingと呼ばれるアルゴリズムが、表示されるビットマップ・イメージ内に各2Dポリゴンを埋め込んでいる最中にシェーダー・クラスによって遂行される。Z−Bufferingアルゴリズムには、各描写ピクセルの視点情報からの距離を埋めるために使用される大きなメモリバッファーが必要である。このメモリバッファーはYoe3d53クラス内にある。アプレットはApplet3da56オブジェクト内にある一つの包括的なYoe3d53オブジェクトを含んでいる。
Applet3da56クラスの親であるI3daPainter54は、SuperBase55クラスの親クラスである。I3daPainter54は単なるインターフェイスであって、実際の実行を含んでおらず、I3daPainter54を実行するその他のクラスは別のクラスを継承している。このようなことは、Java(R)が可能ないかなるシステム上でも利用可能な標準的Java(R)ライブラリ・クラスであるアプレット・クラスを継承しているSuperBase55の場合もそうである。
I3daPainter54はシーン内のイベントを処理するインターフェイスを含んでいる。このようなイベントは例えば、シェイプ上またはツールバーボタン上のクリックを含んでいる。これらのイベントはその後それぞれに応じて処理される。Applet3da56の場合、これらのイベントは、後述するスクリプティング・エンジンを介してアプレットをホスティングしている3D制御アプレットからの呼び出しにより発生する。
SuperBase55はいかなるJava(R)が可能なシステムにも用意されている標準的Java(R)ライブラリ・クラスであるアプレット・クラスを継承している。このクラスの基本機能はApplet3d56クラスの説明に記載するとおりである。
次に、Applet3da56クラスについて詳述する。
Applet3da56は主要アプレット・クラスであり、Java(R)アプレット・スーパークラスを継承している。アプレット・クラスは、アプレットとその環境間のJava(R)が動作する全てのWebブラウザで利用可能な標準インターフェイスを提供し、標準Java(R)クラスライブラリの一部として実行される。Webページ上に表示される全てのJava(R)アプレットは、アプレット・クラスを継承して重要なインターフェイスを実行するクラスでなければならない。このインターフェイスは、マウス及びキーボード等のイベントを介したアプレット領域を利用する方法、イベント入力をアプレットに対して処理する方法、クラス中で実行される一般機能を、Webブラウザによって実行される3D制御アプレットによって呼び出されるように、エクスポートする方法を含んでいる。
アプレット・クラスを更に分類することによって、新しい種類のアプレットを定義したのが3Dアプレットである。Applet3da56はアプレット・クラスを直接に継承しているわけではない。その代わり、アプレット・クラスから継承したSuperBase55クラスを継承している。
Applet3daクラスが3D制御アプレットを介してWebブラウザにロードされると、Webブラウザは、Applet3da56によって実行される標準アプレット・インターフェイス機能を呼び出す。
1) まず、initファンクション(機能)が呼び出される。このファンクションはApplet3da56の内部データを初期化してシーン情報をApplet3da56の内部データ構成の中にロードする。
2) その後、startファンクションがWebブラウザによって呼び出される。このことにより、Applet3da56は、アプレットが受けた3D制御アプレットからのマウス移動及びキー入力等のイベントを処理する。これらのイベントは、Applet3da56に含まれるController59オブジェクトによって処理される。Applet3da56は、3Dシーンを描写する理由があるかどうか(最後に描写されてから何か変更されたかどうか)を確認するループを入力する。もしそうであれば、シーンを描写する。受け取ったイベント、スクリプティング・エンジンにより呼び出されたAPI機能により起こった変更、実行中のアニメーション及びオブジェクト移動によって、その後Controller59を呼び出し、シーン情報を更新する。このプロセスはアプレットが閉じるまでループで行われる。このループは以下の通りである。
(a) 最終フレームからの変更?
(b) シーン情報を更新するためにコントローラを呼び出す。
(c) 全ワールドの3D変換を現視点に対して行う。(Applet3da56の中に格納されたScene36オブジェクトにアクセスすることによって行われる)
(d) シーン・イメージを描写する。ループして(a)に戻る。
3) Webブラウザがアプレットを閉じると、Applet3da56の中に作成・格納されたシーン情報を公開したApplet3da56のstop/destroyファンクションを呼び出す。
Webブラウザにロードされた3D制御アプレットによって特定されているので、Webブラウザは、Applet3da56を実行することを理解している。
3Dアプレットにより取り出される3D圧縮ファイル60内の3Dシーン情報は、図4に示すようなファイル内容となっており、Header61(ヘッダー)、Shape62(形状)、Transform63(座標変換)、Light64(ライト)、Camera65(カメラ)等で構成され、バイナリデータとして一つのファイルに保存されている。
図5は、3Dアプレット内に含まれるY3dScriptAPI70(Application Programming Interface)の機能の各項目を示しており、利用者とのインタラクティブな3D画像表示を実現するために用意したインターフェィスであって、3D制御アプレット及びスクリプティング・エンジンを介してインタラクティブ3Dシーン表示を行うための、独自のスクリプト・インターフェイス部分の説明図である。
Y3dScriptAPI70には、図5に示すように、Shape71(形状)、Shapeプロパティ72(属性)、Transform73(座標変換)、Transformプロパティ74、Object75(オブジェクト)、Camera76(カメラ)、User interface77(ユーザーインターフェイス)、Display78(画面表示)、Animation79(アニメーション)、及びMiscellaneous80(その他)等がある。
各機能に関する説明は、上述の3Dアプレットに関する説明、及び以下に記載する説明の通りである、
次にY3dScriptAPIについて詳述する。
Y3dScriptAPIのファンクション(機能)は、全て前述のApplet3da56クラス又はSuperBase55クラスにおいて実行されるパブリック・ファンクションである。各3DアプレットはApplet3da56クラスのインスタンス(実体化:クラスから出来上がったオブジェクトを意味する)を一つずつ含んでいる。このインスタンスは全てのJava(R)アプレットがWebブラウザにより実行される方法であり、Webブラウザによりロード・実行される主要なアプレット・クラスである。SuperBase55クラスには実インスタンス(実体)がなく、Applet3da56がSuperBase55クラスを継承しているので、全てのJava(R)スクリプト・API・ファンクションがApplet3da56内で実行されているように見える。
API・ファンクションはApplet3da56ファンクションの一部分にアクセスしてアプレット中で種々の作業を行う。以下はその例である(図示せず)。
1) setBGColor( )ファンクションはSuperBase55クラスの“yoe3d.m_gbColor”部分にアクセスしてその値をセットする。この値はアプレットの背景色として使用されている。その後、Applet3da56のRedrawAfterAct( )メソッドを呼び出してアプレットを塗り換える。
2) setPos( )ファンクションは3Dシーン中のトランスフォームの位置をセットするために使用される。これは、コントローラ・オブジェクト、すなわちSuperBase55クラスの一部分にアクセスして特定の3Dトランスフォームが現在選択されているかどうかを確認することによって行われる。その後、コントローラ・クラスのメソッドを使用して、その機能に渡された位置を、選択されたトランスフォームがある座標系に変換する。そうした後に、選択された「翻訳」可変部分が新しい位置にセットされ、アプレットを塗り替えるためのApplet3da56のRedrawAfterAct( )メソッドを使用してアプレットを塗り替える。
上記の例では、Applet3da56クラスがアプレットの異なる面を管理する部分オブジェクトを含むことを示している。(コントローラは選択されたシーン要素に関する情報を含んでおり、yoe3d53はアプレット背景色等の一般情報を含んでいる。)これらのオブジェクトは異なるAPI・ファンクションによってアクセスされて、その後アプレット・シーンが描写されてこのアクセスの効果を示す。これらのオブジェクトはAPI・ファンクションがアクセスするためだけに存在しているのではないということを理解することが重要である。これらはシーン情報を含んでいて、シーンを描写するために使用されるオブジェクトである。例えば、3D制御アプレットを介して対応するアプレットと利用者との対話によりイベントが起こる。これらのイベントはまたApplet3da56クラスにおいて処理されて、イベントの処理によりオブジェクトにアクセスする。
図6は、図1に示した3Dシーン編集手段で生成するスクリプティング・エンジンの動作説明図であり、(a)は従来のインタラクティブ操作、(b)は本発明のインタラクティブ操作を説明する図である。
図6(a)に示すように、従来の3Dアプレットは、3Dアプレット内に用意された独自のJava(R)スクリプト・APIを介して、HTMLページ内に記述されたJava(R)スクリプトによって、利用者とのインタラクティブ操作を実現する3Dシーンを表示していた。
これに対し本発明では、図6(b)に示すように、3Dアプレット内の独自のY3dScriptAPIに対し、スクリプティング・エンジンを介して3D制御アプレットによるイベント情報を引き渡している。
スクリプティング・エンジンは、前述した3Dシーン編集手段において3Dシーンをカスタマイズし利用者とのインタラクティブ操作を実現するスクリプト記述部で記述したJava(R)スクリプトの文法に準拠した独自のスクリプト・コードをコンパイルすることによって得られるもので、3D制御アプレットによるユーザーイベント入力及び3Dシーンの制御情報は、このスクリプティング・エンジン及び3Dアプレット内の独自のスクリプト・インターフェィス(Y3dScriptAPI)を介して受け渡される。
図7は、3D制御アプレットのユーザーインターフェイス部に関する概略説明図であり、任意の画像のクリック等により選択するBitmapButton91、テキストにより選択するボタンButtn92、複数候補から選択するチェックボックスCheckBox93、これらを組み合わせた複合選択ComboBox94、ドロップダウンリストを表示して選択するListBox95、編集用のEdit96、ラベル指定によりジャンプ可能なLabel97、任意の画像を表示するためのBitmap98、テキスト入力欄TextArea99、及び確認や動作の設定を求めるDialogs100等のイベント入力を含む各種入力手段が用意され、3Dシーン編集手段のスクリプト記述部内で記述するJava(R)スクリプトの文法に準拠したスクリプをコンパイルすることによって対応する3D制御アプレットが生成される。
図8は、アプレット・タグが記載されたHTMLソースの一例を示す図であり、(a)は従来のJava(R)スクリプトによるもので、(b)は本発明の3D制御アプレットによるものである。
従来のアプレット・タグは、図8(a)の101〜106に示すように、
<applet code=”Applet3da.class” codebase=”../” width=”360” height=”240” id=”Applet1” ARCHIVE=”3danywhere.zip” MAYSCRIPT>
<param name=”source” value=”example.3da”>


</applet>
のように記述され、アプレット・タグの「code=」部分で、直接Applet3da56クラスファイルを呼び出し、201〜205のJava(R)スクリプトにより利用者とのインタラクティブ操作を実現していた。
これに対して、本発明では、図8(b)の301〜306に示すように、
<applet code=”Y3dButton.class” width=”100” height=”30”>
<param name=”name” value=”button1”>
<param name=”Y3dApplet” value=”AppletY3d1”>
<param name=”BGColor” value=”000000”>
<param name=”text” value=”Click me”>
</applet>
のように記述し、アプレット・タグの「code=」部分で、利用者とのインタラクティブ操作を定義したY3dButton.class(3D制御アプレット)を指定する。従来Javascriptで記述していた部分は3D制御アプレット及びスクリプティング・エンジンにより行われ、3D制御アプレット及びスクリプティング・エンジンを介してApplet3da56クラスファイルが呼び出される。変更又は定義が必要な要素は<param…>の中で指定する。
最後に、Web3D画像表示システムの実施の形態として、図9の実施例2を参照して説明する。
図9に示す実施例2は、図1のWeb3D画像表示システムをサーバとクライアントシステムという構成にしたもので、通信ネットワークを介してWebサーバから3Dオブジェクトや3Dシーン等の各情報をダウンロードし、クライアントPCのWebブラウザ上で3D画像や3Dアニメーションを表示するように構成したものである。
なお、システムセンター3内のWebサーバ5、FTPサーバ6、データベースサーバ7及び各手段10〜17、PC2内のWebブラウザ及び各手段21〜26は、市販のPC(パーソナルコンピュータ)やワークステーションに実装された所定のプログラムの実行により動作するもので、PCやワークステーションを構成するCPU(中央制御装置)、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及び通信回線との入出力装置等に関する説明及びその構成図面は省略する。
また、上述した処理手順等の重複する説明は省略する。
図9において、3はシステムセンターであり、2はインターネット4を介してシステムセンター3と接続するWebブラウザを有する不特定多数のPC(クライアントコンピュータ)である。
5はシステムセンター3内のWebサーバで、PC3に3D情報データ18を、インターネット4を介して配信する。6は3D情報データ18の転送を管理するFTPサーバで、システムセンター3に外部からアクセスする場合に使用するものであるが、ここではそのアプリケーションについては触れない。7はデータベースのアクセスを管理するデータベースサーバである。10は3Dオブジェクト作成手段で「3ds」等の各種3Dソフトにより3Dオブジェクトの作成をする。11はVRMLファイル生成手段で、作成された3DオブジェクトファイルをVRMLフォーマットに変換する。
12は3Dシーンカスタマイズ手段、13が3D圧縮ファイル生成手段であり、3Dシーン編集手段により、VRMLファイルからシーン情報を取り出し、カスタマイズ情報を付加して必要なシーン情報を一つの圧縮ファイルとして3D圧縮ファイルを生成し3D情報保存手段17により同時に生成したテキスチャ・ファイル(図示せず)と共に3D情報データ18として記憶装置(図示せず)に保存する。14は3Dシーン編集手段によってインタラクティブな3D画像表示を行うための3Dアプレットを生成する3Dアプレット生成手段である。3Dシーンを表示するために必要な各アプレット・クラスは一つの圧縮ファイルとして保存される。
15は3D制御アプレット生成手段で、利用者とのインタラクティブ操作に伴うイベント入力を扱うために必要なアプレット群を、一つにまとめた圧縮ファイルとして生成する。3D制御アプレット生成手段15で生成されるアプレット群は利用者とのインタラクティブ操作のためのインターフェイスだけでなく、3Dオブジェクトや3Dシーンを表示するための3Dアプレットとのインターフェイスも含まれる。
16はWebページ生成手段で、3Dシーンを表示するための3D制御アプレット生成手段15で生成された3D制御アプレット・タグを含むWebページ(HTMLページ)を自動生成する。
17は3Dシーン編集手段によって生成された3Dシーンの表示に必要な各種3D情報を保存する3D情報保存手段であり、Webブラウザ上で3Dシーンを表示するために必要な各生成手段で生成されたこれらの各種3D情報を3D情報データ18としてWeb画像生成システム内の記憶装置(図示せず)に保存・蓄積する。
一方、PC2内のWebブラウザは、HTML、Java(R)アプレット、等の処理機能を有し、21は3D制御アプレット要求手段であり、図8に示したようなHTMLページ内に記述されたタグによってシステムセンター3のWebサーバ5へ3D制御アプレットのダウンロードを要求する。ダウンロードされた3D制御アプレットはWebブラウザ内のVM(仮想マシン)によって実行され(3D制御アプレット実行手段24)、3D制御アプレットの実行により3Dアプレット要求手段22が起動され、ダウンロードされた3Dアプレットの実行(3Dアプレット実行手段25)によって3D圧縮ファイル要求手段23を起動し、3D圧縮ファイル及びテキスチャ・ファイルをダウンロードして3Dシーンの表示を行う。26はインタラクティブ表示処理手段で、Webブラウザ単独で利用者とのインタラクティブ操作を実現した3Dシーンの表示を行う。
上述した実施例は、PC上のWebブラウザ上で3Dシーンを表示する構成にしたものであるが、本発明は、デスクトップ型やノート型PCに限らず、PDA(携帯情報端末)や携帯電話等のモバイル端末に実装されたVMを有するWebブラウザ搭載機器で3Dシーンを表示でき、また、上述したようにJava(R)アプレットのみで利用者とのインタラクティブ操作が可能な3Dシーンを表示するように構成したので、VM(仮想マシン)を搭載した事務機器、医療機器、家電機器、AV(音声・映像)機器や、或いはカーナビゲーション、インストルメントパネル等の自動車内搭載機器に組み込むことも可能である。このようにプラットフォームを選ばないシステムとすることにより3Dシーンの表示が各種の電子機器で行えるようになり、その利用可能性は様々な分野に広がる。
本発明の実施の形態におけるWeb3D画像表示システムの構成を示す概略図であり、(a)はWeb3D画像生成システム、(b)は生成されたWeb3D画像を表示するWebブラウザのそれぞれの構成である。 図1に示すWeb3D画像表示システムの処理フロー図である。 図1に示す3Dアプレットの構造を示す概略図である。 図1に示す3D圧縮ファイルの内容を示す概略構成図である。 図1に示す3Dアプレットのスクリプト・インターフェイス部の概略構成図である。 図1に示す3Dシーン編集手段で生成するスクリプティング・エンジンの動作説明図であり、(a)は従来のインタラクティブ操作、(b)は本発明のインタラクティブ操作説明図である。 図1に示す3D制御アプレットのユーザーインターフェイス部の概略説明図である。 アプレット・タグが記載されたHTMLソースの一例を示す図であり、(a)は従来のJava(R)スクリプトによるもので、(b)は本発明の3D制御アプレットによるものである。 本発明の実施の形態におけるWeb3D画像表示システムの実施例2の概略構成図である。
符号の説明
1 Web3D画像生成システム
2 PC(Webブラウザ)
3 システムセンター
4 通信ネットワーク
5 Webサーバ
6 FTPサーバ
7 データベースサーバ
10 3Dオブジェクト作成手段
11 VRMLファイル生成手段
12 3Dシーンカスタマイズ手段
13 3D圧縮ファイル生成手段
14 3Dアプレット生成手段
15 3D制御アプレット生成手段
16 Webページ生成手段
17 3D情報保存手段
18、27 3D情報データ
21 3D制御アプレット要求手段
22 3Dアプレット要求手段
23 3D圧縮ファイル要求手段
24 3D制御アプレット実行手段
25 3Dアプレット実行手段
26 インタラクティブ表示処理手段

Claims (9)

  1. 各種の3Dモデリングソフトウェアプログラムによって生成されたVRML等の標準的なWeb用3Dグラフィックス記述言語で記述されたファイルフォーマットのWeb3Dファイルを基に3Dシーンの編集を行いWebブラウザ上で3Dシーンを表示するコンピュータシステムであって、
    3Dオブジェクト及び3Dシーン情報を含む前記Web3Dファイルを基に3Dシーンのカスタマイズを行い前記Webブラウザ上で3Dシーンを表示するための各種情報を付与する3Dシーンカスタマイズ手段と、
    前記Web3Dファイルから得られたアニメーション等に必要な属性情報を含む3Dオブジェクト及び3Dシーン情報を圧縮し3D圧縮ファイルを生成する3D圧縮ファイル生成手段と、
    圧縮された前記3D圧縮ファイルの3Dオブジェクト及び3Dシーン情報を基に前記Webブラウザ上でリアルタイム3Dレンダリング及びモーションアルゴリズムを実行して3Dシーンを表示するための3Dアプレットを生成する3Dアプレット生成手段と、
    前記Webブラウザ上でキーボード・マウス等によるユーザーイベント入力を前記3Dアプレットに受け渡し3Dオブジェクトの移動・変更等の利用者とのインタラクティブ操作を行うための3D制御アプレットを生成する3D制御アプレット生成手段と、
    前記3Dアプレット及び前記3D制御アプレットを呼び出すアプレット・タグが含まれるWebページを生成するWebページ生成手段と、
    3Dシーンの表示に必要な生成された前記3D圧縮ファイル、前記3Dアプレット、前記3D制御アプレット、前記Webページ、及びテキスチャ・ファイルからなる3D情報ファイルを記憶装置に保存する3D情報保存手段と、を少なくとも含む3Dシーン編集手段を備え、
    前記Webブラウザによって、保存された前記3D情報ファイルを読込み前記3Dアプレット及び前記3D制御アプレットを実行する3Dアプレット実行手段と、
    前記3Dアプレット及び前記3D制御アプレットの実行によって利用者とのインタラクティブな3Dシーンの表示を行うインタラクティブ表示処理手段とを備えることを特徴とするWeb3D画像表示システム。
  2. 前記3D圧縮ファイルは、前記3Dアプレットから呼び出される少なくとも形状、座標変換、ライト、カメラの情報を含む3Dシーン情報から成り、バイナリデータとして一つのファイルに保存されることを特徴とする請求項1に記載のWeb3D画像表示システム。
  3. 前記3Dアプレットは、複数のアプレット・クラスで構成され、少なくとも形状、座標変換、ライト、カメラを含むシーン要素の各クラスと、ワイヤフレーム、フラット・シェーディング、グーロー・シェーディングを含むシェーダー・クラスと、3D画像を表示するための各種コア・クラスとから成る各クラス内から前記3Dシーンの表示に必要な当該クラスが選択され一つの圧縮ファイルとして保存されることを特徴とする請求項1に記載のWeb3D画像表示システム。
  4. 前記3D制御アプレットの実行による前記3Dアプレットとの受け渡し情報は、利用者とのインタラクティブ操作が可能な3D画像を表示するために、少なくともオブジェクト、形状、座標、カメラ、アニメーション、画像表示、及びユーザーインターフェイスの各情報のいずれか1つ以上を含むことを特徴とする請求項1に記載のWeb3D画像表示システム。
  5. 前記3D制御アプレットは、少なくとも、画像による選択ボタン、テキストによる選択ボタン、複数候補から選択するチェックボックス、ドロップダウンリストにより選択するセレクトボタン、及びテキスト入力欄を含むユーザーインターフェイスの各クラスと、Webページ内のタグ範囲指定、画像タグ情報、及びテキストエリア・タグ情報の各クラスとを含む複数のアプレット・クラスが、前記3Dアプレットとの受け渡し情報の一部を構成し、該各クラス内から前記インタラクティブ操作のために必要な当該クラスが選択され一つの圧縮ファイルとして保存されることを特徴とする請求項1に記載のWeb3D画像表示システム。
  6. 前記3Dアプレットは、スクリプト・コードによって利用者とのインタラクティブ操作を可能にする独自のスクリプト・インターフェイスを有し、
    前記3D制御アプレットの実行による前記3Dアプレットとの前記3Dシーンの情報及び前記インタラクティブ操作に伴う情報の受け渡しは、該スクリプト・インターフェイスを介して行うことを特徴とする請求項1に記載のWeb3D画像表示システム。
  7. 前記3Dシーンカスタマイズ手段は、前記3Dシーンをカスタマイズするためのスクリプト言語の編集手段及び該スクリプト言語で記述されたプログラムソースのコンパイル手段を有し、該コンパイル手段によって前記3D制御アプレットの実行により前記スクリプト・インターフェイスを介し前記3Dアプレットと情報の受け渡しを行うためのスクリプティング・エンジンを生成することを特徴とする請求項1に記載のWeb3D画像表示システム。
  8. 前記3Dシーン編集手段は、Webブラウザ上で表示される3D画像、3D画像のアニメーション、及び利用者とのインタラクティブ操作を行うユーザ操作ボタン等を含む前記3Dシーンを確認表示するためのプレビュー部と、該プレビュー部の3Dシーンをカスタマイズするためのスクリプト記述部とを少なくとも含む表示手段を有することを特徴とする請求項1に記載のWeb3D画像表示システム。
  9. 前記スクリプト記述部の、3D画像の形状、座標、カメラ、テキスチャ、アニメーション、利用者とのインタラクティブ操作等の3Dシーンのカスタマイズは、プログラムステップ毎に前記プレビュー部の3Dシーンの当該箇所に反映され、
    前記プレビュー部のユーザ操作ボタン等によるインタラクティブ操作によって生じる前記3Dシーンの変更は、前記スクリプト記述部のプログラムソーステキストの当該記述箇所に反映され、
    該スクリプト記述部又は該プレビュー部のいずれか一方の編集又は操作結果が、ほぼリアルタイムに相互に反映されることを特徴とする請求項8に記載のWeb3D画像表示システム。
JP2003406404A 2003-12-04 2003-12-04 Web3D画像表示システム Pending JP2005165873A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003406404A JP2005165873A (ja) 2003-12-04 2003-12-04 Web3D画像表示システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003406404A JP2005165873A (ja) 2003-12-04 2003-12-04 Web3D画像表示システム

Publications (1)

Publication Number Publication Date
JP2005165873A true JP2005165873A (ja) 2005-06-23

Family

ID=34728786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003406404A Pending JP2005165873A (ja) 2003-12-04 2003-12-04 Web3D画像表示システム

Country Status (1)

Country Link
JP (1) JP2005165873A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234199A (ja) * 2007-03-19 2008-10-02 Micronet Co Ltd 3次元コンピュータ図形生成装置及び3次元コンピュータ図形生成プログラム
JP2008545207A (ja) * 2005-06-29 2008-12-11 クゥアルコム・インコーポレイテッド 3dユーザーインタフェースプログラムに関するビジュアルデバッギングシステム
JP2011502292A (ja) * 2007-09-24 2011-01-20 マイクロソフト コーポレーション サーバー・コンピューター上における三次元オブジェクトのレンダリング
JP2014203452A (ja) * 2013-04-02 2014-10-27 勝 畢 ウェブページを経由した、高速かつリアルな3dレンダリングによるオブジェクトのカスタマイズ方法
CN108597028A (zh) * 2018-04-11 2018-09-28 北京邮电大学 一种连续加载Web AR对象的方法、装置及设备
CN112634446A (zh) * 2020-12-11 2021-04-09 北方信息控制研究院集团有限公司 一种基于时空一致性的多引擎三维场景数据转换方法
CN114820903A (zh) * 2022-05-10 2022-07-29 博锐尚格科技股份有限公司 基于Unity3D的Web端3D效果同步方法、装置、设备及介质
WO2023185315A1 (zh) * 2022-03-28 2023-10-05 京东方科技集团股份有限公司 场景数据的管理方法、装置、电子设备及可读介质
WO2024260252A1 (zh) * 2023-06-19 2024-12-26 腾讯科技(深圳)有限公司 一种页面渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545207A (ja) * 2005-06-29 2008-12-11 クゥアルコム・インコーポレイテッド 3dユーザーインタフェースプログラムに関するビジュアルデバッギングシステム
US8589142B2 (en) 2005-06-29 2013-11-19 Qualcomm Incorporated Visual debugging system for 3D user interface program
JP2008234199A (ja) * 2007-03-19 2008-10-02 Micronet Co Ltd 3次元コンピュータ図形生成装置及び3次元コンピュータ図形生成プログラム
JP2011502292A (ja) * 2007-09-24 2011-01-20 マイクロソフト コーポレーション サーバー・コンピューター上における三次元オブジェクトのレンダリング
JP2014203452A (ja) * 2013-04-02 2014-10-27 勝 畢 ウェブページを経由した、高速かつリアルな3dレンダリングによるオブジェクトのカスタマイズ方法
CN108597028A (zh) * 2018-04-11 2018-09-28 北京邮电大学 一种连续加载Web AR对象的方法、装置及设备
CN112634446A (zh) * 2020-12-11 2021-04-09 北方信息控制研究院集团有限公司 一种基于时空一致性的多引擎三维场景数据转换方法
CN112634446B (zh) * 2020-12-11 2023-09-26 北方信息控制研究院集团有限公司 一种基于时空一致性的多引擎三维场景数据转换方法
WO2023185315A1 (zh) * 2022-03-28 2023-10-05 京东方科技集团股份有限公司 场景数据的管理方法、装置、电子设备及可读介质
CN114820903A (zh) * 2022-05-10 2022-07-29 博锐尚格科技股份有限公司 基于Unity3D的Web端3D效果同步方法、装置、设备及介质
WO2024260252A1 (zh) * 2023-06-19 2024-12-26 腾讯科技(深圳)有限公司 一种页面渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品

Similar Documents

Publication Publication Date Title
JP4051484B2 (ja) Web3D画像表示システム
RU2360290C2 (ru) Интеграция иерархии трехмерной сцены в двумерную систему компоновки изображений
US8723875B2 (en) Web-based graphics rendering system
US7661071B2 (en) Creation of three-dimensional user interface
EP0890926A1 (en) Device, method, and medium for generating graphic data
CN113901367A (zh) 一种基于WebGL+VR的BIM体量模型展示方法
US11625900B2 (en) Broker for instancing
JP2005165873A (ja) Web3D画像表示システム
Ko et al. Interactive web-based virtual reality with Java 3D
JP4140333B2 (ja) Web3Dファイル編集システム
Lyytikäinen Survey of the current state of 3D production pipelines for the web
Chin et al. JavaFX 3D
Sung et al. Working with Textures, Sprites, and Fonts
Charalambos nub: A Rendering and Interaction Library for Visual Computing in Processing
Charalambos nub: a rendering and interaction Processing library
Di Benedetto et al. SpiderGL: a graphics library for 3D web applications
Gobbetti et al. Building an interactive 3D animation system
CN120633605A (zh) 一种文档处理方法、装置、设备、介质及程序产品
Olsson et al. The Essential Guide to 3D in Flash
Müller et al. An Efficient Object-oriented Authoring and Presentation System for Virtual Environments
Ahlgren Graph visualization with OpenGL
Kajler IZIC 1.0.: an Overview for the User
Rodrigues et al. Developing Interaction 3D Models for E-Learning Applications