JP2005165873A - Web 3d-image display system - Google Patents
Web 3d-image display system Download PDFInfo
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
Description
本発明は、Webブラウザを用いた利用者との双方向型のリアルタイム3D(三次元)画像の表示システムに関するもので、より詳しくはWebブラウザに特別なプラグインソフトをインストールせずに利用者によるインタラクティブ操作を可能にするWeb3D画像表示システムに関するものである。
The present invention relates to a bidirectional real-
従来からWeb用の3D画像表示を行うための標準フォーマットとしてVRML(Virtual Reality Modeling Language)が知られている。
このVRMLファイルを直接読込み専用のプラグインにより3D画像を表示するように構成したWebブラウザ(VRMLブラウザ)があるが、利用者自身の操作によりプラグインをインストールする必要があるという利便性の問題だけでなく、このようにプラグインをインストールしたVRMLブラウザにおいて利用者とのインタラクティブ操作を実現するための3Dシーンの作成にも非常に多くの煩雑な手作業を必要とし、作業効率も著しく悪いという問題があった。また、VRMLファイルをそのまま利用した場合は、インタラクティブ操作の種類だけでなく、処理の複雑さや重さから応答性等でも問題があり、軽快で多機能な3Dシーンを表示することはできなかった。
Conventionally, VRML (Virtual Reality Modeling Language) is known as a standard format for displaying 3D images for the Web.
There is a Web browser (VRML browser) configured to display 3D images by a plug-in dedicated to directly reading this VRML file, but only the convenience problem that the plug-in needs to be installed by the user's own operation In addition, the creation of a 3D scene for realizing an interactive operation with the user in the VRML browser in which the plug-in is installed in this way requires a great amount of complicated manual work, and the work efficiency is extremely poor. was there. Further, when the VRML file is used as it is, there is a problem not only in the type of interactive operation but also in the responsiveness due to the complexity and weight of the processing, and a light and multifunctional 3D scene cannot be displayed.
これを改善したWebブラウザ上で3D表示を行うシステムとして、本発明と同一発明者による「Web3D画像表示システム」(特許文献1)がある。
特許文献1は、VRML等の標準的なWeb3Dファイルを読込み、読み込んだ3Dシーンをカスタマイズし3Dアニメーション等を付加してWebブラウザ上で軽快に動作するためのファイル群を生成するシステムであるが、利用者とのインタラクティブ操作に関する部分は、Webブラウザ上で表示するために生成した3Dシーン表示用のJava(R)アプレット中に独自のJava(R)スクリプトAPI(Application Programm Interface)を設け、Webページ(HTMLファイル)中に記述したこの独自スクリプトを介して実現するものであった。
As a system that performs 3D display on a Web browser that improves this, there is a “
Patent Document 1 is a system that reads a standard Web3D file such as VRML, customizes the read 3D scene, adds a 3D animation, etc., and generates a file group for lightly operating on a Web browser. The part related to the interactive operation with the user is provided with an original Java (R) script API (Application Program Interface) in the Java (R) applet for displaying the 3D scene generated for display on the Web browser, and the Web page This was realized through this unique script described in (HTML file).
しかしながら、利用者とのインタラクティブ操作を実現する機能をJava(R)スクリプトによって記述することから、プラットフォームの違い(OS:Operating Sysytem、マシン環境等の違い)やWebブラウザの違い等の、動作環境の違いによってスクリプトの記述を変える必要を生じることや、或いはJava(R)スクリプトAPIが動作環境によってはうまく機能せず、その動作環境を限定せざるを得なかった。また、スクリプトの記述自身もWeb編集担当者が手入力で作成する必要があり、3Dシーンの画像表示やアニメーションとそのインタラクティブ操作もスクリプトをその都度Webブラウザ上で走らせて動作確認するというものであった。 However, since the function that realizes interactive operation with the user is described by a Java (R) script, the operating environment such as platform differences (OS: Operating System, machine environment differences) and Web browser differences, etc. Depending on the difference, it becomes necessary to change the description of the script, or the Java® API does not function well depending on the operating environment, and the operating environment must be limited. In addition, the script description itself needs to be manually created by the web editor, and 3D scene image display, animation, and interactive operations are performed by running the script on the web browser each time and confirming the operation. It was.
以上のような問題を解決するために本発明では、プラットフォームやWebブラウザ等の動作環境に対する限定をできるだけなくした利用者とのインタラクティブ操作を実現するWeb3D画像表示システムを提供することを目的とする。また、利用者とのインタラクティブ操作を実現するためのプログラムの記述を、Webブラウザ上で表示される3Dシーンと同一の表示画面を用いて相互に確認できるWeb3DオーサリングツールによってWebページを生成するWeb3D画像表示システムを提供することを目的とする。
In order to solve the problems as described above, an object of the present invention is to provide a
上記目的を達成するため、請求項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シーンの表示を行うインタラクティブ表示処理手段とを備えることを特徴とする。
In order to achieve the above object, the invention described in claim 1 is based on a Web3D file in a file format described in a standard 3D graphics description language for Web such as VRML generated by various 3D modeling software programs. A computer system that edits a 3D scene and displays the 3D scene on a web browser,
3D scene customization means for customizing 3D scenes based on the Web3D file including 3D objects and 3D scene information and providing various information for displaying the 3D scene on the Web browser, and obtained from the
The 3D applet executing means for reading the stored 3D information file by the web browser and executing the 3D applet and the 3D control applet, and the interactive 3D scene with the user by executing the 3D applet and the 3D control applet. And an interactive display processing means for displaying the above.
請求項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シーンの変更は、前記スクリプト記述部のプログラムソーステキストの当該記述箇所に反映され、該スクリプト記述部又は該プレビュー部のいずれか一方の編集又は操作結果が、ほぼリアルタイムに相互に反映されることを特徴とする。
3. The 3D compressed file according to
The 3D applet according to claim 3 is composed of a plurality of applet classes and includes at least each class of scene elements including shape, coordinate transformation, light, and camera, and wireframe, flat shading, and goo shading. The class required for displaying the 3D scene is selected from each class including a shader class and various core classes for displaying a 3D image, and is stored as one compressed file.
The information exchanged with the 3D applet according to the execution of the 3D control applet according to claim 4 includes at least an object, a shape, coordinates, a camera, an animation, in order to display a 3D image that can be interactively operated with a user. It includes any one or more of image display and user interface information.
The 3D control applet according to
7. The 3D applet according to claim 6, wherein the 3D applet has a unique script interface that enables interactive operation with a user by script code, and the 3D applet is executed by the execution of the 3D control applet. Passing of information and information associated with the interactive operation is performed through the script interface.
8. The 3D scene customizing unit according to claim 7, further comprising a script language editing unit for customizing the 3D scene and a program source compiling unit described in the script language, wherein the 3D control is performed by the compiling unit. A scripting engine for exchanging information with the 3D applet through the script interface is generated by executing the applet.
The 3D scene editing unit according to claim 8 confirms and displays the 3D scene including a 3D image displayed on a Web browser, a 3D image animation, a user operation button for performing an interactive operation with a user, and the like. And a display unit including at least a script description part for customizing a 3D scene of the preview part.
The 3D scene customization such as 3D image shape, coordinates, camera, texture, animation, interactive operation with a user, etc. in the script description unit according to claim 9 is performed for each program step. The change of the 3D scene reflected by the interactive operation by the user operation button or the like of the preview part is reflected in the description part of the program source text of the script description part, and is reflected in the part, and the script description part or the preview part The editing or operation result of either one of these is reflected mutually in substantially real time.
本発明のWeb3D画像表示システムによれば、従来HTML(Hyper Text Markup Language)ページ内に手入力で記述していたスクリプトを、外部ファイルの3D制御アプレットとして呼び出す構成にしたので、プラットフォームやWebブラウザを限定しないシステムが構築できるという効果がある。
また、この3D制御アプレットは、実際のWebブラウザ上で表示される3Dシーンと同一の表示画面を参照して相互に確認しながらプログラムできるJava(R)スクリプトに準じたスクリプトを用いた3Dシーン編集手段により生成するように構成したので、Web編集担当者の負担が軽減できるという効果も大きい。
According to the
This 3D control applet can edit 3D scenes using a script conforming to the Java® script that can be programmed while referring to the same display screen as the 3D scene displayed on the actual Web browser. Since it is configured so as to be generated by the means, the effect of reducing the burden on the person in charge of web editing is also great.
本発明に係るWeb3D画像表示システムの、実施の形態の具体例を、図面を参照しながら説明する。
A specific example of the embodiment of the
図1は、本実施の形態におけるWeb3D画像表示システムの構成を示す概略図である。
図1(a)は、Webブラウザ上で利用者とのインタラクティブ操作を実現し軽快な3Dシーンを表示するための3D情報データを生成するコンピュータシステムの構成を示しており、図1(b)は、図1(a)で生成した3D情報データを読み込み3Dシーンを表示するためのWebブラウザを有するPC(パーソナルコンピュータ)等のコンピュータ端末である。
図1に示す各手段はソフトウェアプログラムを市販のPCやワークステーションにインストールし実行することでその機能を実現するもので、PCやワークステーションは、CPU(中央制御装置)、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及びその他の入出力装置や周辺機器類等を備えた一般的に知られているコンピュータ装置であり、これらに関する説明及びその構成図面は省略する。
また、図1(a)、(b)に用いられるコンピュータは別構成でも同一のコンピュータを使用する構成でもどちらでもかまわない。
FIG. 1 is a schematic diagram showing a configuration of a
FIG. 1A shows a configuration of a computer system that generates 3D information data for displaying a light 3D scene by realizing interactive operation with a user on a Web browser, and FIG. A computer terminal such as a PC (personal computer) having a Web browser for reading the 3D information data generated in FIG. 1A and displaying a 3D scene.
Each means shown in FIG. 1 realizes its function by installing and executing a software program on a commercially available PC or workstation. The PC or workstation stores a CPU (Central Control Unit), a memory, a hard disk or the like. Device, a display device for displaying images, text, etc., an input device such as a keyboard and a mouse, and other generally known computer devices equipped with other input / output devices and peripheral devices. The configuration drawing is omitted.
Further, the computer used in FIGS. 1A and 1B may be either a different configuration or a configuration using the same computer.
1はWebブラウザ上で3Dシーンを表示するための各種ファイル群を生成するWeb3D画像生成システムであり、2は生成された3D情報の各種ファイルを読み込み3Dシーンを表示するためのWebブラウザを有するコンピュータである。
10は3Dオブジェクト作成手段であり、本発明の3D情報データを生成する基になる3Dオブジェクトや3Dシーンを各種の3Dモデリングソフトを用いて作成する。
11は3Dモデリングソフトで作成した3Dオブジェクトや3Dシーン情報をVRMLファイルとして出力するVRMLファイル生成手段である。
Reference numeral 1 denotes a
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画像生成システム内の記憶装置(図示せず)に保存・蓄積する。
Reference numeral 17 denotes a 3D information storage unit for storing various 3D information necessary for displaying the 3D scene generated by the 3D scene editing unit. The 3D information storage unit 17 is generated by each generation unit necessary for displaying the 3D scene on the Web browser. These various types of 3D information are stored and accumulated as
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からコピー又はロードして使用する。
26 is an interactive display processing means, and the 3D control applet loaded in the Web browser and the 3D applet are executed by the VM installed in the Web browser, thereby continuously displaying the 3D scene.
Various types of 3D information necessary for displaying a 3D scene by being read by the Web browser is stored and accumulated as
次に、図2の処理フロー図を参照して、Webブラウザ上で利用者とのインタラクティブ操作を実現するための3D情報データの生成と、生成された3D情報データを読み込みWebブラウザで3Dシーンを表示するまでの動作について説明する。 Next, referring to the processing flow diagram of FIG. 2, 3D information data generation for realizing an interactive operation with the user on the Web browser, and the generated 3D information data are read and a 3D scene is read by the Web browser. The operation until display is described.
先ず、Web編集担当者は、3Dオブジェクト作成手段10として、市販されている既存の3Dモデリングソフトウェアプログラムを使用し3Dオブジェクトを作成する(S101)。
3DモデリングソフトウェアプログラムはVRMLファイルとして出力できるもの(VRMLファイル生成手段11)ならば何を使用してもよく、たとえば「3ds(商品名)」などを使用して3Dオブジェクトを作成し、作成した3Dオブジェクトに対しさらにモーション、カメラ、ライティング、及びマテリアル等のモディファイ処理を行い、3Dオブジェクト及び3Dシーン全体を「3ds」に備わるVRMLフォーマットのファイルとしてエクスポートする(S102)。
First, the person in charge of web editing creates a 3D object using a commercially available existing 3D modeling software program as the 3D object creation means 10 (S101).
Any 3D modeling software program can be used as long as it can output as a VRML file (VRML file generation means 11). For example, a 3D object is created by using “3ds (product name)” and the created 3D The object is further subjected to modification processing such as motion, camera, lighting, and material, and the 3D object and the entire 3D scene are exported as a VRML format file included in “3ds” (S102).
3Dシーン編集手段は、3Dオブジェクト作成手段10及びVRMLファイル生成手段11によって生成された3Dシーン情報が含まれたVRMLファイル(Web3Dファイル)を取り込み(S103)、Webブラウザで利用者とのインタラクティブ操作を可能にする3Dシーンの表示方法に関する各種情報を付与し3D情報データ18として保存するものである。
VRMLファイルからは、ポリゴンの頂点列、面情報、色情報、及び各面に貼り付けるテキスチャを含む画像情報等のオブジェクト情報と、カメラ、ライト等のシーン情報と、各オブジェクトのアニメーション情報などが取り込まれる。
The 3D scene editing unit takes in a VRML file (Web3D file) including 3D scene information generated by the 3D
The VRML file captures object information such as polygon vertex rows, surface information, color information, and image information including textures to be pasted on each surface, scene information such as cameras and lights, and animation information of each object. It is.
3Dシーンカスタマイズ手段12では、3Dグラフィックス記述言語の記述フォーマットとして一般的に知られているVRMLファイルを入力ツールとして使用し、VRMLファイル中の3Dワールド、3Dシェイプ(形状定義)に関する記述を取り込み、3Dアプレット生成手段14で生成される3Dアプレットが利用者とのインタラクティブ(双方向性)な3Dシーンを表示するために必要な3Dシーンの表示方法等の情報を付与する(S104、S105)。
カスタマイズされた全ての3Dオブジェクト及び3Dシーンの情報は3D圧縮ファイル生成手段13によりバイナリ形式の独自の3D圧縮ファイルとして一つにまとめられ、3D情報保存手段17よって3D情報データ18として記憶装置に保存・蓄積される(S106)。
The 3D
Information on all customized 3D objects and 3D scenes are combined into a single 3D compressed file in binary format by the 3D compressed
VRMLファイルは圧縮ファイルではなく、通常のテキストファイルで書かれており、例えばある特定の3Dシーンを表示する際にもその汎用性ゆえにその3Dシーンを表示するのに必要のない情報が含まれており、逆に利用者とのインタラクティブな3Dシーンを表示するために欲しい情報が不足しているので、3Dシーン編集手段では単に3Dシーン情報をインポートするためにのみ使用し、3Dワールド及び3Dシェイプ(形状定義)に関する記述を用い、3Dシーンカスタマイズ手段12で必要な情報を付与して3D圧縮ファイルを生成している。3D圧縮ファイルには3Dアプレットによって3Dシーンを表示するために必要な情報だけが収納されている。
The VRML file is not a compressed file but is written as a normal text file. For example, when displaying a specific 3D scene, it contains information that is not necessary to display the 3D scene due to its versatility. On the contrary, since there is not enough information to display the interactive 3D scene with the user, the 3D scene editing means is used only for importing the 3D scene information, and the 3D world and 3D shape ( A 3D compressed file is generated by adding information necessary for the 3D
3Dシーンのカスタマイズとしては、シェーディング(陰影付け)等のオブジェクトの情報と、カメラ、ライトの位置等のシーン情報と、各オブジェクトのアニメーションの編集、名前付け等のアニメーション情報と、背景画像、画面サイズ、その他のシーン属性等の表示情報等が可能である。 3D scene customization includes object information such as shading (shading), scene information such as camera and light positions, animation information such as animation editing and naming of each object, background image, and screen size. In addition, display information such as other scene attributes is possible.
3Dアプレットは、3Dシーン編集手段で予め用意されたもので、リアルタイム3Dレンダリングやモーションアルゴリズムを実行する小さなJava(R)アプリケーションの集まりであり、3Dシーンのカスタマイズにより設定された3D圧縮ファイル内の各種の3Dシーン情報をWebブラウザで呼び出し3Dシーンを軽快に表示処理するために最適化されている。3Dアプレット生成手段14は、カスタマイズの際に設定された3D圧縮ファイルの情報から3Dシーンを表示するために必要な部分のみのアプレット・クラスファイルを一まとめにし、一つのZIP圧縮ファイルを生成する。
The 3D applet is prepared in advance by 3D scene editing means and is a collection of small Java (R) applications that execute real-
利用者とのインタラクティブ操作のためのイベント入力等の処理に伴う3D制御情報の付加・編集は、主にデバッガ(図示せず)を用いて行う(S107、S108)。
デバッガはいわゆるビジュアルエディタと称されるもので、その編集画面にはWebブラウザで3Dシーンを表示する際と同一の動作を行うプレビュー部と、プレビュー部に表示された3Dシーンをカスタマイズし、利用者とのインタラクティブ操作を実現するためのテキストエディタからなるスクリプト記述部が含まれている。スクリプトは、本発明独自のものであるが、Java(R)スクリプトの文法に準拠したもので、Web編集担当者に受け入れやすいものとなっている。
プレビュー部での操作とスクリプト記述部のプログラムソーステキストの編集内容とは、それぞれの操作結果や編集結果がほぼリアルタイムに相互に反映されるように構成されている。スクリプト記述部に記述されたスクリプトは、そのプログラムステップごとに動作確認することができ、ステップごとの3Dシーンの動きを確認することができる。また、プレビュー部の3Dオブジェクトや3Dシーンを操作すると、その部分のスクリプトがハイライトやブリンクによって明示されるだけでなく、操作に応じたスクリプトを自動生成することも可能になっている。
The addition / editing of 3D control information accompanying processing such as event input for interactive operation with the user is mainly performed using a debugger (not shown) (S107, S108).
The debugger is called a so-called visual editor. On the editing screen, a preview part that performs the same operation as when a 3D scene is displayed by a Web browser, and a 3D scene displayed on the preview part are customized. The script description part which consists of a text editor for implement | achieving interactive operation is included. The script is unique to the present invention, but conforms to the grammar of the Java (R) script, and is easy for a web editor to accept.
The operation in the preview part and the edited contents of the program source text in the script description part are configured so that the respective operation results and editing results are mutually reflected in almost real time. The script described in the script description part can confirm the operation for each program step, and can confirm the movement of the 3D scene for each step. Further, when a 3D object or 3D scene in the preview portion is operated, the script of that portion is not only clearly indicated by highlighting or blinking, but a script corresponding to the operation can be automatically generated.
デバッガは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)。
The debugger adds / edits processing such as event input for interactive operation with the user based on each 3D information data generated by the 3D
The information added / edited by the debugger is reflected again in the 3D compressed file and 3D applet, and by the 3D information storage means 17, together with the 3D control applet and HTML file, these 3D compressed file, 3D applet, and JPEG (Joint Photographic Experts Groups) The image data of the texture file compressed by the above is stored in the storage device as 3D information data 18 (S110).
3D情報データとして保存された3Dシーン情報は、記録媒体又は通信回線(図示せず)を介してPC2内の3D情報データ27としてハードディスク等の記憶装置(図示せず)に一旦保存する。記録媒体がCDやDVDであれば、そのまま読み取るようにしてもよい。3Dシーン情報はPC2内のWebブラウザにより読み込まれ、Webブラウザに実装されたVMによりアプレットが実行され3Dシーンが表示される。
The 3D scene information stored as 3D information data is temporarily stored in a storage device (not shown) such as a hard disk as
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)。
When a web page for calling and executing 3D scene information is read by a web browser, an applet tag for requesting a 3D control applet is described in the HTML file (3D control applet request means 21), and the 3D control applet. Is loaded into the Web browser, the 3D control applet is executed by the VM installed in the Web browser (3D control applet execution means 24), and the 3D applet for displaying the 3D scene is requested by this 3D control applet ( 3D applet request means 22).
When the 3D applet is loaded, the VM executes the 3D applet (3D applet executing means 25), reads the 3D compressed file and the texture file (3D compressed file requesting means 23), and cooperates with the 3D control applet. The 3D scene that realizes the interactive operation is displayed (interactive display processing means 26) (S111, S112).
次に、3Dアプレットの構造について、図3を参照して説明する。
図3に示すように、3Dアプレットは、3Dオブジェクトの描写(レンダリング)と動きとで構成されるシーン情報を表しており、3Dシーンをコントロールする各コア・クラスを有している。全てのシーン情報は、常にIdObject30クラスに継承する全てのシーン要素を含んだScene36オブジェクトの中に保存されており、3Dシーンの描写はScene36の描写方法によって遂行される。
Next, the structure of the 3D applet will be described with reference to FIG.
As shown in FIG. 3, the 3D applet represents scene information composed of rendering (rendering) and motion of a 3D object, and has core classes for controlling the 3D scene. All scene information is always stored in a
3D制御アプレットを介して入力される利用者のイベントは、Controller59クラスへと導かれる。例えば、3Dアプレットが既に実行されている時に、利用者イベントの使用によりその情報が3Dアプレットへと受け渡され、その時Contorller59クラスは、現在選択されているTransform32クラスのOrientation属性を変化させるという処理となる。
User events entered via the 3D control applet are routed to the
Shape31クラスは3Dシーン上の実際の3Dオブジェクトを表示し、その属性には画面上に3Dオブジェクトを描くために必要な全ての情報が含まれている。そして全てのShape31クラスは、隣のTransform32へのリファレンスを含んでいる。
Transform32は、Shape31クラスの位置情報を持ち、Shape31クラスを3Dシーン上で位置付けるのに使用される。このような1シーンの中の各オブジェクト情報とその位置情報を基にレンダリング(描写)が行われるが、シェイプ(形状)を描く時にはそのクラスをレンダリングするためにI3dObject40クラスが使用される。I3dObject40インターフェイスを実現する全てのクラス(例えばTextureMap45クラス=質感の実現)は、スクリーン上で描写することができる。
The Shape31 class displays an actual 3D object on the 3D scene, and its attributes include all the information necessary to draw the 3D object on the screen. All Shape31 classes contain a reference to the adjacent Transform32.
The
Clipper57クラスは、あるシェイプを画面上にラスター表示するために、シェーダー・クラスI3dObject40クラスと共に使用される。 The Clipper57 class is used in conjunction with the shader class I3dObject40 class to rasterize a certain shape on the screen.
次に、図3のアプレット・クラスの構造について(a)〜(c)の各セクションに分けて説明する。
図3(a)セクションのIdObject30はシーン要素を表現している。全てのシーン要素は固有のIdを有しており、これはIdObject30クラスによって表現される共通の特徴であり、従って全てのシーン要素はこのクラスに継承される(「継承」はオブジェクト指向の特色であり、Java(R)はオブジェクト指向のプログラム言語である)。3Dシーンは要素の階層により表現されており、固有のIdは3D圧縮ファイルからのシーン情報のロード中に使用されてこの階層を形成している。階層はTransform32オブジェクト(この場合の「オブジェクト」は「クラス」と同義語)により形成されており、各Transform32オブジェクトは、ライト(Light34オブジェクト)、シェイプ(Shape31オブジェクト)、別のTransform32オブジェクト等の、いくつかの異なるタイプのシーン要素を含んでいてもよい。
全てのシーン要素を含んでいるルート・トランスフォームが常にあり、この特別のトランスフォームはシーン・トランスフォームと呼ばれ、主要なアプレット・クラス(Applet3da56)内に含まれる一つのScene36オブジェクトによって表現されている。階層構造の情報はシーンの3D表示には重要である。各Transform32オブジェクトは3Dワールドにおける位置を表現しており、格納されている全ての要素はこの位置を基準に移動(座標変換)し表示される。
Next, the structure of the applet class shown in FIG. 3 will be described in each of the sections (a) to (c).
An
There is always a root transform that contains all the scene elements, this special transform is called a scene transform and is represented by a single Scene36 object contained within the main applet class (Applet3da56). Yes. Hierarchical information is important for 3D display of scenes. Each Transform32 object represents a position in the 3D world, and all stored elements are moved (coordinate converted) based on this position and displayed.
Interpolator33は、シーン画像要素内の、一組の値間の書き込みに関する情報を含んでいる。インターポレーター・クラスはこれらの値の間をスライドして、次第にシーン要素のプロパティを変化させる方法を含んでいる。インターポレーターを含んでいるシーン要素はShape31及びTransform32である。シェイプ(形状)はインターポレーターを使用して、モーフィングを行う。トランスフォーム(座標変換)はインターポレーターを使用して、移動回転を行う。このようにしてアプレット・エンジンは3Dアニメーションを実行する。アニメーションの再生中、インターポレーターは一組の値間を「スライド」して、シーン要素のプロパティ(移動を行うためのトランスフォームのポジション・プロパティまたはシェイプ・モーフィングを行うためのシェイプ座標等)を変更する。アニメーションがシーン内で再生されている時は、Scene36オブジェクトに含まれる動作中のインターポレーターのリストによって各フレームが進められシーン内の変化、すなわちアニメーション効果を起こす。インターポレーターは時間の経過を把握しており、値を進めるためにどれだけの時間が必要かを把握している。このようにして、アニメーションの長さ(アニメーション時間)が制御されている。
Light34は、シーン・シェイプのライティングを定義するために使用されている。ライトは光の色及び輝度を定義するカラー・プロパティを含んでいる。位置情報を含むオムニライトと、方向情報を含むスポットライトの2種類のライトがある。ライトはTransform32オブジェクト内にある。ライト要素を含むトランスフォームを移動すると、ライトもまた移動して、シーン・シェイプの照明方法が変化する。Shape31オブジェクトがシェーダー・オブジェクト(I3dObject40クラス)を使用して画面上に描写されると、シェーダー・オブジェクトは全てのシーン・ライトの位置、方向及び色を確認して、正確なライティングでシェイプを描写することが可能になる。
Camera35は視点を定義しており、各Camera35オブジェクトは位置及び方向情報を含んでいる。カメラが中にあるトランスフォームの位置と組み合わされたこの情報は、3Dシーンを描写して見ることができる視点を示す。Controller59オブジェクトが動作中のカメラへの参照を含んでおり、これがシーンの視点として現在使用されているカメラである。シーン・イメージが描写される毎に、全ての3D情報が動作中のカメラの座標空間に変更されて動作中のカメラがワールド座標の原点(0,0,0)にあるようになる。これは、Scene36オブジェクトによって行われる。その後、座標変更されたシーンが描写されて、3Dシーンがカメラの視点からどのように見えるかが明らかになる。
The
図3(b)のセクションの全てのクラスはシェーダーと呼ばれ、3Dオブジェクトの陰影付けに関するオブジェクト(アプレット・クラス)である。全てのシェーダーはI3dObject40クラスで表現される共通の特色を有しており、また、全てのシェーダーはこのクラスを継承している。シェーダーはShape31オブジェクトが所有している。シェーダーは所有しているShape31のラスター化(2Dビットマップ画像の作成)を行う役割を担っている。各シェーダーはシェーダーが所有しているシェイプ(形状)を異なるように描写する。シェーダーはシーン・ライト、シェイプ・カラー情報、シェイプ・テキスチャ情報等を考慮して、その形をラスター化するために必要な動作を行う。この情報を使用する各シェーダーは異なる方法を用いるか、あるいは、この情報のいくつかを無視してもよい。シェイプのシェーダーは3Dシーンの編集担当者によって定義された「シェードタイプ」プロパティによって定義されている。例えば、テキスチャ・シェイプを作成するシェーダーもあれば、スムースな影付のシェイプを作成するシェーダーもある。 All the classes in the section of FIG. 3B are called shaders and are objects (applet class) related to shading of 3D objects. All shaders have a common feature represented by the I3dObject40 class, and all shaders inherit from this class. The shader is owned by the Shape31 object. The shader plays a role of rasterizing the owned Shape 31 (creating a 2D bitmap image). Each shader depicts the shape (shape) owned by the shader differently. The shader takes into account scene light, shape color information, shape texture information, etc., and performs operations necessary to rasterize the shape. Each shader that uses this information may use a different method or ignore some of this information. Shape shaders are defined by the “Shade Type” property defined by the 3D scene editor. For example, some shaders create texture shapes, while others create smooth shaded shapes.
Wire41は、他のシェーダーと異なり、このシェーダー・クラスはシェイプからなるポリゴンを埋めることによりシェイプを表示しない。このシェーダーはシェイプのワイヤフレームを描く。これはポリゴンが描かれるシェイプの全ての点を結合し、シェイプのワイヤフレームを作成する線という意味である。このシェーダーを所有しているShape31の色情報がワイヤフレーム用の色として使用される。
Unlike other shaders,
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制御アプレットを介してシーン情報を変更する役割を担っている、…等である。
The section of FIG. 3 (c) includes other core classes for displaying 3D scenes. These classes contain information necessary for the 3D display engine and perform functions related to this information. For example,
コア・クラスとして考える必要のあるYoe3types50クラスは、単にScene36クラスによって使用される定数を含んでいるもので、いかなるファンクションも実行せず、またいかなるデータも格納しない。
3D圧縮ファイルをロードする場合、このシーンファイルの構造はシーン要素を表現するノードまたは一般的なシーンファイルを含むようになっている。各ノードはサブノード及びデータ・フィールドを含んでいる。異なるノードタイプ及びデータ・フィールドタイプは、ファイル内でこれらの前にあるId番号によって特定される。このクラスは様々な可能性のあるデータ・ノード及びノード・フィールドのIdを示す定数を含んでいる。シーン・ローダー(Scene36クラスで実行される)がこのクラス内に存在しないIdに出会った場合、ノードまたはこのノードに属するデータ・フィールドをスキップする。
The Yoe3types50 class, which needs to be considered as a core class, simply contains the constants used by the Scene36 class, does not perform any function, and does not store any data.
When a 3D compressed file is loaded, the structure of the scene file includes a node representing a scene element or a general scene file. Each node includes subnodes and data fields. Different node types and data field types are identified by their Id numbers preceding them in the file. This class contains constants that indicate the Id of the various possible data nodes and node fields. If a scene loader (running in
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オブジェクトを含んでいる。 Yoe3d53 includes various functions used to perform 3D geometric operations, image processing and mixing operations, rasterization operations, and the like. For example, before the shader class draws a 2D polygon on the screen, the 3D coordinates of each shape's polygon must be converted to 2D coordinate values using a perspective projection algorithm. The function for performing this conversion is executed by Yoe3d53. This class also contains variables used during rasterization of 3D scenes. For example, to accurately display overlapping 3D objects, an algorithm called Z-Buffering is performed by the shader class while embedding each 2D polygon in the displayed bitmap image. The Z-Buffering algorithm requires a large memory buffer that is used to fill the distance from the viewpoint information of each rendered pixel. This memory buffer is in the Yoe3d53 class. The applet contains one generic Yoe3d53 object that resides within the Applet3da56 object.
Applet3da56クラスの親であるI3daPainter54は、SuperBase55クラスの親クラスである。I3daPainter54は単なるインターフェイスであって、実際の実行を含んでおらず、I3daPainter54を実行するその他のクラスは別のクラスを継承している。このようなことは、Java(R)が可能ないかなるシステム上でも利用可能な標準的Java(R)ライブラリ・クラスであるアプレット・クラスを継承しているSuperBase55の場合もそうである。
I3daPainter54はシーン内のイベントを処理するインターフェイスを含んでいる。このようなイベントは例えば、シェイプ上またはツールバーボタン上のクリックを含んでいる。これらのイベントはその後それぞれに応じて処理される。Applet3da56の場合、これらのイベントは、後述するスクリプティング・エンジンを介してアプレットをホスティングしている3D制御アプレットからの呼び出しにより発生する。
The
The
SuperBase55はいかなるJava(R)が可能なシステムにも用意されている標準的Java(R)ライブラリ・クラスであるアプレット・クラスを継承している。このクラスの基本機能はApplet3d56クラスの説明に記載するとおりである。
次に、Applet3da56クラスについて詳述する。
Applet3da56は主要アプレット・クラスであり、Java(R)アプレット・スーパークラスを継承している。アプレット・クラスは、アプレットとその環境間のJava(R)が動作する全てのWebブラウザで利用可能な標準インターフェイスを提供し、標準Java(R)クラスライブラリの一部として実行される。Webページ上に表示される全てのJava(R)アプレットは、アプレット・クラスを継承して重要なインターフェイスを実行するクラスでなければならない。このインターフェイスは、マウス及びキーボード等のイベントを介したアプレット領域を利用する方法、イベント入力をアプレットに対して処理する方法、クラス中で実行される一般機能を、Webブラウザによって実行される3D制御アプレットによって呼び出されるように、エクスポートする方法を含んでいる。
Next, the Applet3da56 class will be described in detail.
Applet3da56 is the main applet class and inherits the Java (R) applet superclass. The applet class provides a standard interface that can be used by all Web browsers that run Java (R) between the applet and its environment, and is executed as part of the standard Java (R) class library. All Java (R) applets displayed on a Web page must be classes that inherit the applet class and implement important interfaces. This interface is a 3D control applet that is executed by a Web browser, using a method of using an applet area via events such as a mouse and a keyboard, a method of processing event input to an applet, and general functions executed in a class. Includes a way to export to be called by.
アプレット・クラスを更に分類することによって、新しい種類のアプレットを定義したのが3Dアプレットである。Applet3da56はアプレット・クラスを直接に継承しているわけではない。その代わり、アプレット・クラスから継承したSuperBase55クラスを継承している。
Applet3daクラスが3D制御アプレットを介してWebブラウザにロードされると、Webブラウザは、Applet3da56によって実行される標準アプレット・インターフェイス機能を呼び出す。
It is the 3D applet that has defined a new kind of applet by further classifying the applet class. Applet3da56 does not directly inherit the applet class. Instead, it inherits the SuperBase55 class inherited from the applet class.
When the Applet3da class is loaded into the web browser via the 3D control applet, the web browser calls a standard applet interface function executed by 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を実行することを理解している。
1) First, the init function (function) is called. This function initializes the internal data of Applet3da56 and loads the scene information into the internal data structure of Applet3da56.
2) Thereafter, the start function is called by the Web browser. As a result, Applet3da56 processes events such as mouse movements and key inputs from the 3D control applet received by the applet. These events are processed by the
(A) Change from the last frame?
(B) Call controller to update scene information.
(C) Perform 3D conversion of the entire world on the current viewpoint. (This is done by accessing the Scene36 object stored in Applet3da56)
(D) Draw a scene image. Loop back to (a).
3) When the Web browser closes the applet, it calls the applet3da56 stop / destroy function that publishes the scene information created and stored in Applet3da56.
As specified by the 3D control applet loaded in the web browser, the web browser understands to execute Applet3da56.
3Dアプレットにより取り出される3D圧縮ファイル60内の3Dシーン情報は、図4に示すようなファイル内容となっており、Header61(ヘッダー)、Shape62(形状)、Transform63(座標変換)、Light64(ライト)、Camera65(カメラ)等で構成され、バイナリデータとして一つのファイルに保存されている。
The 3D scene information in the 3D compressed
図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アプレットに関する説明、及び以下に記載する説明の通りである、
FIG. 5 shows each item of the function of Y3dScript API 70 (Application Programming Interface) included in the 3D applet, which is an interface prepared for realizing interactive 3D image display with the user. FIG. 4 is an explanatory diagram of a unique script interface part for performing interactive 3D scene display via a scripting engine.
As shown in FIG. 5, the
The explanation about each function is the same as the explanation about the above-mentioned 3D applet and the explanation described below.
次にY3dScriptAPIについて詳述する。
Y3dScriptAPIのファンクション(機能)は、全て前述のApplet3da56クラス又はSuperBase55クラスにおいて実行されるパブリック・ファンクションである。各3DアプレットはApplet3da56クラスのインスタンス(実体化:クラスから出来上がったオブジェクトを意味する)を一つずつ含んでいる。このインスタンスは全てのJava(R)アプレットがWebブラウザにより実行される方法であり、Webブラウザによりロード・実行される主要なアプレット・クラスである。SuperBase55クラスには実インスタンス(実体)がなく、Applet3da56がSuperBase55クラスを継承しているので、全てのJava(R)スクリプト・API・ファンクションがApplet3da56内で実行されているように見える。
Next, Y3dScript API will be described in detail.
All the functions (functions) of Y3dScriptAPI are public functions executed in the above-mentioned Applet3da56 class or SuperBase55 class. Each 3D applet contains one instance of the Applet3da56 class (materialization: meaning an object created from the class). This instance is a method in which all Java® applets are executed by the Web browser, and is a main applet class loaded and executed by the Web browser. The SuperBase55 class does not have a real instance (substance), and Applet3da56 inherits the SuperBase55 class, so that all Java (R) scripts / API / functions appear to be executed in Applet3da56.
API・ファンクションはApplet3da56ファンクションの一部分にアクセスしてアプレット中で種々の作業を行う。以下はその例である(図示せず)。
1) setBGColor( )ファンクションはSuperBase55クラスの“yoe3d.m_gbColor”部分にアクセスしてその値をセットする。この値はアプレットの背景色として使用されている。その後、Applet3da56のRedrawAfterAct( )メソッドを呼び出してアプレットを塗り換える。
2) setPos( )ファンクションは3Dシーン中のトランスフォームの位置をセットするために使用される。これは、コントローラ・オブジェクト、すなわちSuperBase55クラスの一部分にアクセスして特定の3Dトランスフォームが現在選択されているかどうかを確認することによって行われる。その後、コントローラ・クラスのメソッドを使用して、その機能に渡された位置を、選択されたトランスフォームがある座標系に変換する。そうした後に、選択された「翻訳」可変部分が新しい位置にセットされ、アプレットを塗り替えるためのApplet3da56のRedrawAfterAct( )メソッドを使用してアプレットを塗り替える。
The API function accesses a part of the Applet3da56 function to perform various tasks in the applet. The following is an example (not shown).
1) The setBGColor () function accesses the “yoe3d.m_gbColor” portion of the SuperBase55 class and sets its value. This value is used as the background color of the applet. After that, Applet is repainted by calling the RedeAfterAfter () method of Applet3da56.
2) The setPos () function is used to set the position of the transform in the 3D scene. This is done by accessing a controller object, ie a part of the SuperBase55 class, to see if a particular 3D transform is currently selected. The controller class method is then used to transform the position passed to the function into a coordinate system with the selected transform. After that, the selected “translation” variable is set to a new location and the Applet3da56's RedrawAfterAct () method is used to repaint the applet.
上記の例では、Applet3da56クラスがアプレットの異なる面を管理する部分オブジェクトを含むことを示している。(コントローラは選択されたシーン要素に関する情報を含んでおり、yoe3d53はアプレット背景色等の一般情報を含んでいる。)これらのオブジェクトは異なるAPI・ファンクションによってアクセスされて、その後アプレット・シーンが描写されてこのアクセスの効果を示す。これらのオブジェクトはAPI・ファンクションがアクセスするためだけに存在しているのではないということを理解することが重要である。これらはシーン情報を含んでいて、シーンを描写するために使用されるオブジェクトである。例えば、3D制御アプレットを介して対応するアプレットと利用者との対話によりイベントが起こる。これらのイベントはまたApplet3da56クラスにおいて処理されて、イベントの処理によりオブジェクトにアクセスする。 The above example shows that the Applet3da56 class contains partial objects that manage different aspects of the applet. (The controller contains information about the selected scene element, and yoe3d53 contains general information such as the applet background color.) These objects are accessed by different API functions, after which the applet scene is rendered. Show the effect of lever access. It is important to understand that these objects do not exist only for access by API functions. These are objects that contain scene information and are used to describe the scene. For example, an event occurs by interaction between a corresponding applet and a user via a 3D control applet. These events are also processed in the Applet3da56 class to access objects through event processing.
図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)を介して受け渡される。
6A and 6B are diagrams for explaining the operation of the scripting engine generated by the 3D scene editing unit shown in FIG. 1, wherein FIG. 6A is a diagram for explaining a conventional interactive operation, and FIG. 6B is a diagram for explaining an interactive operation of the present invention. .
As shown in FIG. 6 (a), a conventional 3D applet is obtained by a Java (R) script described in an HTML page via a unique Java (R) script API prepared in the 3D applet. A 3D scene that realizes an interactive operation with the user was displayed.
On the other hand, in the present invention, as shown in FIG. 6B, event information from the 3D control applet is delivered to the unique Y3dScript API in the 3D applet via the scripting engine.
The scripting engine compiles a unique script code that conforms to the Java (R) script grammar described in the script description section that customizes the 3D scene and realizes interactive operation with the user in the 3D scene editing means described above. The user event input by the 3D control applet and the control information of the 3D scene are passed through the scripting engine and a unique script interface (Y3dScript API) in the 3D applet.
図7は、3D制御アプレットのユーザーインターフェイス部に関する概略説明図であり、任意の画像のクリック等により選択するBitmapButton91、テキストにより選択するボタンButtn92、複数候補から選択するチェックボックスCheckBox93、これらを組み合わせた複合選択ComboBox94、ドロップダウンリストを表示して選択するListBox95、編集用のEdit96、ラベル指定によりジャンプ可能なLabel97、任意の画像を表示するためのBitmap98、テキスト入力欄TextArea99、及び確認や動作の設定を求めるDialogs100等のイベント入力を含む各種入力手段が用意され、3Dシーン編集手段のスクリプト記述部内で記述するJava(R)スクリプトの文法に準拠したスクリプをコンパイルすることによって対応する3D制御アプレットが生成される。
FIG. 7 is a schematic explanatory diagram regarding the user interface part of the 3D control applet.
図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)スクリプトにより利用者とのインタラクティブ操作を実現していた。
FIG. 8 is a diagram showing an example of an HTML source in which applet tags are described. (A) is based on a conventional Java (R) script, and (b) is based on a 3D control applet of the present invention. .
As shown in 101-106 in FIG.
<Apple code = "Applet3da.class" codebase = "../" width = "360" height = "240" id = "Applet1" ARCHIVE = "3danwhere.zip"MAYSCRIPT>
<Param name = "source" value = "example.3da">
:
:
</ Applet>
The Applet3da56 class file is directly called at the “code =” portion of the applet tag, and interactive operation with the user is realized by the Java (R) script 201-205.
これに対して、本発明では、図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…>の中で指定する。
On the other hand, in the present invention, as indicated by 301 to 306 in FIG.
<Apple 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>
Y3dButton., Which defines an interactive operation with the user in the “code =” part of the applet tag. class (3D control applet) is specified. The portion previously described in Javascript is performed by the 3D control applet and the scripting engine, and the Applet3da56 class file is called through the 3D control applet and the scripting engine. Elements that need to be changed or defined are specified in <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(中央制御装置)、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及び通信回線との入出力装置等に関する説明及びその構成図面は省略する。
また、上述した処理手順等の重複する説明は省略する。
Finally, an embodiment of the
In the second embodiment shown in FIG. 9, the
The
In addition, overlapping description of the above-described processing procedure and the like is omitted.
図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フォーマットに変換する。
In FIG. 9, 3 is a system center, and 2 is an unspecified number of PCs (client computers) having Web browsers connected to the system center 3 via the Internet 4.
12は3Dシーンカスタマイズ手段、13が3D圧縮ファイル生成手段であり、3Dシーン編集手段により、VRMLファイルからシーン情報を取り出し、カスタマイズ情報を付加して必要なシーン情報を一つの圧縮ファイルとして3D圧縮ファイルを生成し3D情報保存手段17により同時に生成したテキスチャ・ファイル(図示せず)と共に3D情報データ18として記憶装置(図示せず)に保存する。14は3Dシーン編集手段によってインタラクティブな3D画像表示を行うための3Dアプレットを生成する3Dアプレット生成手段である。3Dシーンを表示するために必要な各アプレット・クラスは一つの圧縮ファイルとして保存される。
15は3D制御アプレット生成手段で、利用者とのインタラクティブ操作に伴うイベント入力を扱うために必要なアプレット群を、一つにまとめた圧縮ファイルとして生成する。3D制御アプレット生成手段15で生成されるアプレット群は利用者とのインタラクティブ操作のためのインターフェイスだけでなく、3Dオブジェクトや3Dシーンを表示するための3Dアプレットとのインターフェイスも含まれる。
12 is a 3D scene customization unit, and 13 is a 3D compressed file generation unit. The 3D scene editing unit extracts scene information from the VRML file, adds customization information, and converts the necessary scene information into a single compressed file. Is stored in a storage device (not shown) as
16はWebページ生成手段で、3Dシーンを表示するための3D制御アプレット生成手段15で生成された3D制御アプレット・タグを含むWebページ(HTMLページ)を自動生成する。
17は3Dシーン編集手段によって生成された3Dシーンの表示に必要な各種3D情報を保存する3D情報保存手段であり、Webブラウザ上で3Dシーンを表示するために必要な各生成手段で生成されたこれらの各種3D情報を3D情報データ18としてWeb画像生成システム内の記憶装置(図示せず)に保存・蓄積する。
Reference numeral 17 denotes a 3D information storage unit for storing various 3D information necessary for displaying the 3D scene generated by the 3D scene editing unit. The 3D information storage unit 17 is generated by each generation unit necessary for displaying the 3D scene on the Web browser. These various types of 3D information are stored and accumulated as
一方、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シーンの表示を行う。
On the other hand, the Web browser in the
上述した実施例は、PC上のWebブラウザ上で3Dシーンを表示する構成にしたものであるが、本発明は、デスクトップ型やノート型PCに限らず、PDA(携帯情報端末)や携帯電話等のモバイル端末に実装されたVMを有するWebブラウザ搭載機器で3Dシーンを表示でき、また、上述したようにJava(R)アプレットのみで利用者とのインタラクティブ操作が可能な3Dシーンを表示するように構成したので、VM(仮想マシン)を搭載した事務機器、医療機器、家電機器、AV(音声・映像)機器や、或いはカーナビゲーション、インストルメントパネル等の自動車内搭載機器に組み込むことも可能である。このようにプラットフォームを選ばないシステムとすることにより3Dシーンの表示が各種の電子機器で行えるようになり、その利用可能性は様々な分野に広がる。 The embodiment described above is configured to display a 3D scene on a Web browser on a PC. However, the present invention is not limited to a desktop type or a notebook type PC, but a PDA (personal digital assistant), a mobile phone, or the like. 3D scenes can be displayed on a web browser-equipped device having a VM mounted on a mobile terminal of the user, and a 3D scene that can be interactively operated with a user can be displayed using only a Java (R) applet as described above. Because it is configured, it can be incorporated into office equipment, medical equipment, home appliances, AV (audio / video) equipment equipped with VMs (virtual machines), or in-car equipment such as car navigation and instrument panels. . By adopting a system that does not select a platform in this way, 3D scenes can be displayed on various electronic devices, and the applicability of the 3D scenes extends to various fields.
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 インタラクティブ表示処理手段
1 Web3D
3 System Center 4
Claims (9)
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画像表示システム。 Edit a 3D scene based on a Web3D file in a file format described in a standard 3D graphics description language for Web such as VRML generated by various 3D modeling software programs, and display the 3D scene on a Web browser A computer system,
3D scene customization means for customizing a 3D scene based on the Web3D file including a 3D object and 3D scene information and providing various information for displaying the 3D scene on the Web browser;
3D compressed file generation means for compressing a 3D object and 3D scene information including attribute information necessary for animation obtained from the Web 3D file and generating a 3D compressed file;
3D applet generation means for generating a 3D applet for displaying a 3D scene by executing real-time 3D rendering and motion algorithm on the Web browser based on the 3D object and 3D scene information of the compressed 3D compressed file;
3D control applet generation means for generating a 3D control applet for performing an interactive operation with a user such as transferring and changing a 3D object by passing a user event input by a keyboard / mouse on the web browser to the 3D applet;
Web page generating means for generating a Web page including an applet tag for calling the 3D applet and the 3D control applet;
3D information storage means for storing a 3D information file including the generated 3D compressed file, the 3D applet, the 3D control applet, the web page, and a texture file necessary for displaying a 3D scene in a storage device; 3D scene editing means including at least
3D applet execution means for reading the stored 3D information file by the web browser and executing the 3D applet and the 3D control applet;
An interactive display processing means for displaying an interactive 3D scene with a user by executing the 3D applet and the 3D control applet, and a Web 3D image display system.
前記3D制御アプレットの実行による前記3Dアプレットとの前記3Dシーンの情報及び前記インタラクティブ操作に伴う情報の受け渡しは、該スクリプト・インターフェイスを介して行うことを特徴とする請求項1に記載のWeb3D画像表示システム。 The 3D applet has a unique script interface that enables interactive operation with a user through script code;
2. The Web 3D image display according to claim 1, wherein the 3D scene information and the information accompanying the interactive operation are exchanged with the 3D applet by executing the 3D control applet through the script interface. system.
前記プレビュー部のユーザ操作ボタン等によるインタラクティブ操作によって生じる前記3Dシーンの変更は、前記スクリプト記述部のプログラムソーステキストの当該記述箇所に反映され、
該スクリプト記述部又は該プレビュー部のいずれか一方の編集又は操作結果が、ほぼリアルタイムに相互に反映されることを特徴とする請求項8に記載のWeb3D画像表示システム。 The customization of the 3D scene such as the shape, coordinates, camera, texture, animation, interactive operation with the user, etc. of the 3D image in the script description part is reflected in the corresponding part of the 3D scene in the preview part for each program step,
The change of the 3D scene caused by the interactive operation by the user operation button or the like of the preview part is reflected in the description part of the program source text of the script description part,
9. The Web 3D image display system according to claim 8, wherein an editing result or an operation result of either the script description part or the preview part is mutually reflected in substantially real time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003406404A JP2005165873A (en) | 2003-12-04 | 2003-12-04 | Web 3d-image display system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003406404A JP2005165873A (en) | 2003-12-04 | 2003-12-04 | Web 3d-image display system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005165873A true JP2005165873A (en) | 2005-06-23 |
Family
ID=34728786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003406404A Pending JP2005165873A (en) | 2003-12-04 | 2003-12-04 | Web 3d-image display system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005165873A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234199A (en) * | 2007-03-19 | 2008-10-02 | Micronet Co Ltd | Three-dimensional computer graphic generation device and program |
JP2008545207A (en) * | 2005-06-29 | 2008-12-11 | クゥアルコム・インコーポレイテッド | Visual debugging system for 3D user interface programs |
JP2011502292A (en) * | 2007-09-24 | 2011-01-20 | マイクロソフト コーポレーション | Rendering of 3D objects on server computers |
JP2014203452A (en) * | 2013-04-02 | 2014-10-27 | 勝 畢 | Method of object customization by high-speed and realistic 3d rendering through web pages |
CN108597028A (en) * | 2018-04-11 | 2018-09-28 | 北京邮电大学 | A kind of method, apparatus and equipment of continuous load Web AR objects |
CN112634446A (en) * | 2020-12-11 | 2021-04-09 | 北方信息控制研究院集团有限公司 | Multi-engine three-dimensional scene data conversion method based on space-time consistency |
WO2023185315A1 (en) * | 2022-03-28 | 2023-10-05 | 京东方科技集团股份有限公司 | Method and apparatus for managing scenario data, and electronic device and readable medium |
-
2003
- 2003-12-04 JP JP2003406404A patent/JP2005165873A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008545207A (en) * | 2005-06-29 | 2008-12-11 | クゥアルコム・インコーポレイテッド | Visual debugging system for 3D user interface programs |
US8589142B2 (en) | 2005-06-29 | 2013-11-19 | Qualcomm Incorporated | Visual debugging system for 3D user interface program |
JP2008234199A (en) * | 2007-03-19 | 2008-10-02 | Micronet Co Ltd | Three-dimensional computer graphic generation device and program |
JP2011502292A (en) * | 2007-09-24 | 2011-01-20 | マイクロソフト コーポレーション | Rendering of 3D objects on server computers |
JP2014203452A (en) * | 2013-04-02 | 2014-10-27 | 勝 畢 | Method of object customization by high-speed and realistic 3d rendering through web pages |
CN108597028A (en) * | 2018-04-11 | 2018-09-28 | 北京邮电大学 | A kind of method, apparatus and equipment of continuous load Web AR objects |
CN112634446A (en) * | 2020-12-11 | 2021-04-09 | 北方信息控制研究院集团有限公司 | Multi-engine three-dimensional scene data conversion method based on space-time consistency |
CN112634446B (en) * | 2020-12-11 | 2023-09-26 | 北方信息控制研究院集团有限公司 | Multi-engine three-dimensional scene data conversion method based on space-time consistency |
WO2023185315A1 (en) * | 2022-03-28 | 2023-10-05 | 京东方科技集团股份有限公司 | Method and apparatus for managing scenario data, and electronic device and readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4051484B2 (en) | Web3D image display system | |
RU2360290C2 (en) | Integration of three-dimensional scene hierarchy into two-dimensional image assembly system | |
US8723875B2 (en) | Web-based graphics rendering system | |
US7661071B2 (en) | Creation of three-dimensional user interface | |
Di Benedetto et al. | SpiderGL: a JavaScript 3D graphics library for next-generation WWW | |
EP0890926A1 (en) | Device, method, and medium for generating graphic data | |
CN113901367A (en) | BIM (building information modeling) mass model display method based on WebGL + VR (WebGL + VR) | |
US11625900B2 (en) | Broker for instancing | |
JP2005165873A (en) | Web 3d-image display system | |
Ko et al. | Interactive web-based virtual reality with Java 3D | |
JP4140333B2 (en) | Web3D file editing system | |
Di Benedetto et al. | SpiderGL: a graphics library for 3D web applications | |
Álvarez et al. | EZ3. js: A robust and flexible WebGL-based 3D engine | |
Chin et al. | JavaFX 3D | |
Sung et al. | Working with Textures, Sprites, and Fonts | |
Lyytikäinen | Survey of the current state of 3D production pipelines for the web | |
Gobbetti et al. | Building an interactive 3D animation system | |
CN118331572A (en) | Method for constructing mixed reality space based on WebGL zero codes | |
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 | |
Nadeau et al. | Introduction to Programming with Java 3D. | |
Rodrigues et al. | Developing Interaction 3D Models for E-Learning Applications |