JP3859020B2 - 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 - Google Patents
3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 Download PDFInfo
- Publication number
- JP3859020B2 JP3859020B2 JP17733596A JP17733596A JP3859020B2 JP 3859020 B2 JP3859020 B2 JP 3859020B2 JP 17733596 A JP17733596 A JP 17733596A JP 17733596 A JP17733596 A JP 17733596A JP 3859020 B2 JP3859020 B2 JP 3859020B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- virtual reality
- reality space
- server terminal
- state
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は、3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末に関し、例えばバーチャルリアリティ(仮想現実空間)を生成し、ユーザに提供する場合に用いて好適な3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末に関する。
【0002】
【従来の技術】
従来、NIFTY-Serve(商標)や米国のCompuServe(商標)などのように、複数の利用者が自らのパーソナルコンピュータを、モデムおよび公衆電話回線網を介してセンターのホストコンピュータに接続し、所定の通信プロトコルに基づいてホストコンピュータにアクセスする、いわゆるパソコン通信サービスの分野においては、Habitat(商標)と呼ばれるサイバースペースのサービスが知られている。Habitatは、米国LucasFilm社によって1985年から開発が始められ、米国商業ネットワークであるQuantumLink社で約3年間運用された後、1990年2月に富士通Habitat(商標)としてNIFTY-Serveでそのサービスが開始されたものである。このHabitatにおいては、2次元グラフィックスで描画された「ポピュロポリス(Populopolis)」と呼ばれる仮想の都市に、アバタ(avatar;インド神話に登場する神の化身)と呼ばれるユーザの分身を送り込み、ユーザ同士がチャット(Chat;文字の入力と表示によるテキストベースでのリアルタイムの対話)などを行うことができる。このHabitatの更に詳細な説明については、サイバースペース,マイケル・ベネディクト編,1994年3月20日初版発行,NTT出版 ISBN4−87188−265−9C0010(原著;Cyberspace:First Steps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA ISBN0−262−02327−X)第282頁〜第307頁を参照されたい。
【0003】
この種のパソコン通信サービスで運用されている従来のサイバースペースシステムにおいては、仮想的な街並みや部屋の内部の様子が2次元グラフィックスで描画されており、アバタを奥行きまたは手前方向へ移動させる場合、単にアバタを2次元グラフィックスの背景上で上下に移動させるだけであり、仮想空間内での歩行や移動を疑似体験させるには表示の上での表現力が乏しかった。また、自分の分身であるアバタと他人のアバタが表示された仮想空間を、第3者の視点で見ることになるため、この点においても、疑似体験の感覚が損なわれるものであった。そこで、仮想空間を3次元グラフィックスで表示し、ユーザがアバタの視点で自由に歩き回れる機能、すなわちウォークスルー機能の実現が待たれていた。
【0004】
一方、ネットワーク上での3次元仮想現実空間の共有を実現する従来例としては、図43に示すような、会社や研究所内のLAN(Local Area Network)4で相互に接続されたサーバ端末1およびクライアント端末3−1乃至3−3で構成されるシステムが知られている。
【0005】
最初に、全てのクライアント端末3−1乃至3−3は、サーバ端末1の記憶装置2から読み出され、LAN4を介して供給される同一の3次元空間を記述したグラフィックスデータを読み込み、同一の3次元空間を表示している。この時点で、全てのユーザが視認する3次元空間は一致している。すなわち、各クライアント端末3−1乃至3−3には、それぞれ図44(A)乃至(C)に示すように、各々のユーザの視点に応じた3次元空間の画像が表示される。この例においては、三角錘オブジェクト101、四角柱オブジェクト102および円柱オブジェクト103が表示されている。
【0006】
ここで、例えば、クライアント端末3−1において、ユーザが円錐オブジェクト101の位置を変更したとすると、その位置の変更に関する情報(変更情報)が、クライアント端末3−1から、LAN4を介して、サーバ端末1へ送信され、この移動に関する変更情報が、サーバ端末1からLAN4を介してクライアント端末3−2および3−3へ送信される。そして、クライアント端末3−2および3−3では、クライアント端末3−1からの変更情報に基づいて、円錐オブジェクトの表示位置が変更される。
【0007】
同様に、クライアント端末3−2または3−3において、四角柱オブジェクト102または円柱オブジェクト103を移動すべく操作されると、この操作に対応して、四角柱オブジェクト102または円柱オブジェクト103を移動させた画像が、クライアント端末3−1に表示される。
【0008】
すなわち、クライアント端末3−1乃至3−3の何れかで、仮想現実空間に変化が与えられた場合、その変化が、他のクライアント端末の表示に反映され、これにより、クライアント端末3−1乃至3−3を利用するユーザは、同一の仮想現実空間を共有することができる。
【0009】
ここで、上述した各オブジェクト101乃至103や、自分の分身を表すアバタのオブジェクトは、仮想現実空間内を移動させたり、また、登場させたり退場させたりすることができるものであり、仮想現実空間において、その状態が変化する(更新される)。そこで、このようなオブジェクトを、以下、適宜、更新オブジェクトという。また、仮想現実空間の、例えば町などを構成する、ビルディングなどの建物のオブジェクトは、更新オブジェクトと異なり、複数のユーザが共通して利用するもので、その基本的な状態は変化しない。変化するとしても、それは自立的であり、クライアント端末の操作とは独立している。そこで、このような複数のユーザが共通して利用するオブジェクトを、以下、適宜、基本オブジェクトという。
【0010】
【発明が解決しようとする課題】
ところで、上述した図43に示すようなLANを用いて3次元仮想現実空間の共有を実現するシステムにおいて、図44に示すような単一のオブジェクトからなる単純な形状のオブジェクト101乃至103を移動させる場合は、例えば、各オブジェクト101乃至103の識別番号と、各オブジェクト101乃至103の移動ベクトル等の変更情報を送受信することで実現できる。
【0011】
しかしながら、複数のサブオブジェクトから成る複雑な形状のオブジェクトを移動させる場合、個々のサブオブジェクトの識別番号と、変更情報を別々に送受信しなければならないため、LAN4を介しての通信量が増大すると共に、個々の変更情報の伝達に遅延が生じ、その結果、各クライアント端末3−1乃至3−3に表示されるオブジェクトの動きに不一致が生じたり、複数のサブオブジェクトの動きに遅延が生じ、オブジェクト全体としての一連の連携動作が円滑に表示されなくなるという問題があった。
【0012】
例えば、図45は、3次元仮想現実空間内において、ユーザの姿を模したアバタの歩行動作を表現する場合の原理を示している。この図に示す例では、一体のアバタのオブジェクトは、頭部を含む胴体と、右腕と、左腕と、右足と、左足の合計5個のサブオブジェクトから構成されている。このアバタのオブジェクトの移動に伴って、手足を前後に振らせて歩行動作させるためには、少なくとも胴体のサブオブジェクトの移動ベクトルと、右腕、左腕、右足、左足の各サブオブジェクトの移動ベクトルおよび胴体との接合部分(関節)を軸とする揺動角度を含む変更情報を、各々のサブオブジェクトの識別番号と共に伝送しなければならなかった。
【0013】
従って、オブジェクトを構成するサブオブジェクトの個数が多くなり、複雑な動作を伴なう移動を表現しようとする程、オブジェクトの変更情報を伝送するための通信量が増大してしまい、その結果、サーバ端末1の負荷が大きくなると共に、サブオブジェクトの連携動作で表現されるオブジェクトの移動が円滑に表示されなくなるという問題があった。
【0014】
本発明は、このような状況に鑑みてなされたものであり、個々の状態が更新されるサブオブジェクトの集合体である更新オブジェクトの更新情報を最小限の通信量で伝送することができ、複数のユーザが共有する3次元仮想現実空間の中に、複数のサブオブジェクトの連携動作を円滑に表示させることができるようにするものである。
【0015】
【課題を解決するための手段】
請求項1に記載の3次元仮想現実空間共有方法は、複数のサブオブジェクトから構成され、複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、各クライアント端末における更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続し、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め各クライアント端末に各々登録しておき、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から、更新オブジェクトの状態の更新内容に対応するメッセージを、各クライアント端末に対して通知し、各クライアント端末は、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させ、更新オブジェクトの状態の更新内容は、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含むことを特徴とする。
【0016】
請求項10に記載の3次元仮想現実空間共有システムは、複数のサブオブジェクトから構成され、複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、各クライアント端末における更新オブジェクトの状態を管理する共有サーバ端末と、各クライアント端末と共有サーバ端末とを接続する広域通信網と、予め各クライアント端末に各々登録され、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルとを備え、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から、更新オブジェクトの状態の更新内容に対応するメッセージを、各クライアント端末に対して通知し、各クライアント端末は、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させ、更新オブジェクトの状態の更新内容は、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含むことを特徴とする。
【0021】
請求項11に記載の情報処理方法は、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め各クライアント端末に各々登録する登録処理ステップと、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から通知される、更新オブジェクトの状態の更新内容に対応するメッセージを取得するメッセージ取得処理ステップと、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させる表示更新処理ステップとを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含むことを特徴とする。
【0022】
請求項12に記載のクライアント端末は、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め各クライアント端末に各々登録する登録処理手段と、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から通知される、更新オブジェクトの状態の更新内容に対応するメッセージを取得するメッセージ取得処理手段と、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させる表示更新処理手段とを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含むことを特徴とする。
【0027】
請求項13に記載の情報処理方法は、共有サーバ端末で管理している更新オブジェクトの状態の更新を判断する判断処理ステップと、更新オブジェクトの状態が更新された時点で、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、各クライアント端末に対して通知する通知処理ステップとを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含むことを特徴とする。
【0028】
請求項14に記載の共有サーバ端末は、共有サーバ端末で管理している更新オブジェクトの状態の更新を判断する判断処理手段と、更新オブジェクトの状態が更新された時点で、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、各クライアント端末に対して通知する通知処理手段とを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含むことを特徴とする。
【0033】
請求項1に記載の3次元仮想現実空間共有方法および請求項10に記載の3次元仮想現実空間共有システムにおいては、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む変更シーケンスがクライアント端末に個々に記憶され、複数のクライアント端末の変更シーケンスが同期して起動される。
【0034】
請求項11に記載の情報処理方法および請求項12に記載のクライアント端末においては、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む変更シーケンスが記憶され、他のクライアント端末の変更シーケンスに同期して、自己のクライアント端末の更新シーケンスが起動される。
【0035】
請求項13に記載の情報処理方法および請求項14に記載の共有サーバ端末においては、共有サーバ端末で管理している前記更新オブジェクトの状態の更新が判断され、更新オブジェクトの状態が更新された時点で、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む変更シーケンスの種類を指定するためのメッセージが、前記各クライアント端末に対して通知される。
【0036】
【発明の実施の形態】
まず最初に、バーチャル・ソサエティーの基本理念・構想に関して、ソニー・コンピュータ・サイエンス研究所の北野宏明氏は、そのHome Page「北野宏明、”バーチャル・ソサエティー (V1.0)”、http://www.csl.sony.co.jp/person/kitano/VS/concept.j.html,1995」の中で、以下のように説明している。
【0037】
「21世紀の初頭に、全世界的な規模で張りめぐらされたネットワークの中に、仮想的な社会---バーチャル・ソサエティー---が出現するでしょう。全世界の人々が、ネットワーク上に作られた共有空間の中に、数千万人、数億人という規模の「社会」を出現させるのです。現在のインターネットやCATV、さらには、情報スーパーハイウエーの彼方に出現するであろう社会が、私の考える「バーチャル・ソサエティー」です。この社会の中で、人々は、買いものを楽しんだり、人と会話をする、ゲームをする、仕事をする、など、通常の社会生活とほぼ同等の社会行為を行なうことができるうえ、仮想的であるゆえに可能である(つまり、一瞬にして、東京からパリに移動するなど、実社会では困難である)ことも可能となるのです。このような、「社会」は、広帯域ネットワーク、高品位な三次元の表現能力、音声、音楽、動画像の双方向のコミュニケーションを可能とした、サイバースペースの構築技術、そして、その空間を、多人数で共有できる場にする、大規模分散システムなどの最先端の技術で初めて可能になります。」
【0038】
更に詳細な説明については、上記URL=http://www.csl.sony.co.jp/person/kitano/VS/concept.j.htmlを参考にされたい。
【0039】
以上のような、バーチャル・ソサエティーを実現する3次元仮想現実空間システムがサイバースペースシステムであり、このサイバースペースシステムを構築するのに必要なインフラストラクチャの具体例としては、現段階においては、TCP/IP(Transmission Control Protocol/Internet Protocol)と称される通信プロトコルで接続された世界的規模のコンピュータ・ネットワークであるインターネット(The Internet)や、WWW(World Wide Web)などのインターネット技術を企業内LAN(Local Area Network)での情報共有に適用したイントラネット(Intranet)等が考えられている。さらに、将来的には、幹線系から加入者系に至るまで全てを光ファイバで構成するFTTH(Fiber To The Home)による広帯域ネットワークを利用することも考えられている。
【0040】
ここで、インターネット(The Internet)で利用できる情報提供システムとして、スイスのCERN(European Center for Nuclear Research:欧州核物理学研究所)が開発したWWW(World Wide Web)が知られている。これは、テキスト、画像、音声などの情報をハイパーテキスト形式で閲覧できるようにしたもので、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコルに基づいて、WWWサーバ端末に格納された情報をパーソナルコンピュータなどの端末に非同期転送するものである。
【0041】
WWWサーバは、HTTPデーモン(HTTP:HyperText Transfer Protocol、ハイパーテキスト転送プロトコル)と呼ばれるサーバ・ソフトウエアとハイパーテキスト情報が格納されるHTMLファイルによって構成される。ハイパーテキスト情報は、HTML(HyperText Makeup Language、ハイパーテキスト記述言語 )と呼ばれる記述言語によって表現される。HTMLによるハイパーテキストの記述は、「<」と「>」で囲まれたタグと呼ばれる書式指定によって文章の論理的な構造が表現される。他の情報とのリンクについての記述は、アンカーと呼ばれるリンク情報によって行われる。アンカーで情報が存在する所を指定する方法がURL(Uniform Resource Locator)である。
【0042】
HTMLで記述されたファイルを、TCP/IPネットワーク上において転送するためのプロトコルがHTTP(HyperText Transfer Protocol)である。クライアントからの情報の要求をWWWサーバに伝え、HTMLファイルのハイパーテキスト情報をクライアントに転送する機能をもっている。
【0043】
WWWを利用する環境として多く利用されているのが、WWWブラウザ(ブラウザとは閲覧するという意味)と呼ばれるNetscape Navigator(商標)をはじめとするクライアント・ソフトウエアである。
【0044】
なお、デーモンとは、UNIX上で作業を行う場合、バックグラウンドで管理や処理を実行するプログラムを意味する。
【0045】
近年、このWWWをさらに拡張し、3次元空間の記述や、3次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらWWWサーバ端末を次々とアクセスできるようにしたVRML(Virtual Reality Modeling Language)と呼ばれる3次元グラフィックス・データの記述言語と、このVRMLで記述された仮想空間をパーソナルコンピュータやワークステーションで描画するためのVRMLビューワが開発された。このVRMLバージョン1.0の仕様書は、1995年5月26日に公開されたが、その後、誤記や曖昧な表現が訂正された改正版が、1995年11月9日に公開され、その仕様書は、URL=http://www.oki.com./vrml/vrml10c.htmlから入手することができる。
【0046】
上述した、VRMLによって記述した3次元空間の情報をWWWサーバ端末に格納しておくことで、インターネット上に3次元グラフィックスによる仮想空間を構築することが可能となり、さらにインターネットを介して接続されたパーソナルコンピュータ等によりVRMLビューワを利用することによって、3次元グラフィックスによる仮想空間の表示やウォークスルー機能を実現することができる。
【0047】
以下の実施例においては、ネットワークとしてインターネットを用いた例について説明するが、FTTHを用いて実現しても勿論構わない。
【0048】
なお、サイバースペース(Cyberspace)とは、米国のSF作家William Gibsonの造語であり、21世紀後半を舞台にした出世作NEUROMANCER(1984年)の中で使用された。厳密には、同書が最初ではなく、Burning Chrome(1982年)でも使用されている。これらの小説では、主人公が額に特殊な電極を貼り付けてコンピュータと脳を直接的に接続し、世界中に張り巡らされたコンピュータ・ネットワークのデータを視覚的に再構成した仮想的な3次元空間を脳に直接投影させる描写がある。この仮想3次元空間をサイバースペースと称した。最近においては、ネットワークを介して仮想的な3次元空間を複数のユーザが共有するシステムを示す用語として使用されるようになった。本願の実施例においてもこの意味で使用する。
【0049】
図1は、本発明を応用したサイバースペースシステムの構成例を表している。同図に示すように、この実施例においては、任意の数(この実施例においては、2台)のサーバ端末11−1,11−2が、それぞれ対応する記憶装置30−1,30−2を有し、例えばインターネットに代表されるネットワーク(広域通信網)15を介して、仮想現実空間を提供することができるようになされている。また、任意の数(この実施例においては、3台)のクライアント端末13−1乃至13−3が設けられ、ネットワーク15を介してサーバ端末11−1,11−2から、仮想現実空間と、それを利用した所定のサービス(情報)の提供を受けることができるようになされている。
【0050】
さらに、この実施例においては、任意の数(この実施例においては、2台)のサービス提供者端末14−1,14−2が設けられており、このサービス提供者端末14−1,14−2は、ネットワーク15を利用して、サーバ端末11−1,11−2を介して仮想現実空間の提供を受けるとともに、クライアント端末13−1乃至13−3に対して、所定のサービスを提供することができるようになされている。
【0051】
図2は、サーバ端末11(11−1,11−2)の構成例を示している。同図に示すように、サーバ端末11はCPU21を備え、このCPU21は、ROM22に記憶されているプログラムに従って各種の処理を実行するようになされている。RAM23には、CPU21が各種の処理を実行する上において必要なデータ、プログラム等が適宜記憶されるようになされている。通信装置24は、ネットワーク15(インターネット)に対して所定のデータを授受するようになされている。
【0052】
表示装置25は、CRT,LCDなどを備え、サーバ端末11が提供する仮想現実空間の画像をモニタすることができるように、インタフェース28に接続されている。このインタフェース28にはまた、ハードディスク、光ディスク、光磁気ディスクなどよりなる記憶装置30の他、マイク26とスピーカ27が接続されており、所定の音声信号をクライアント端末13やサービス提供者端末14に供給したり、クライアント端末13やサービス提供者端末14からの音声信号をモニタすることができるようになされている。
【0053】
また、サーバ端末11は入力装置29を備え、インタフェース28を介して、各種の入力を行うことができるようになされている。この入力装置29は、少なくともキーボード29aとマウス29bを有している。
【0054】
図3は、クライアント端末13(13−1乃至13−3)の構成例を示している。クライアント端末13はCPU41を備え、このCPU41は、ROM42に記憶されているプログラムに従って各種の処理を実行するようになされている。RAM43には、CPU41が各種の処理を実行する上において必要なデータやプログラム等が適宜記憶されるようになされている。通信装置44は、ネットワーク15(インターネット)を介して、サーバ端末11に対してデータを授受するようになされている。
【0055】
表示装置45は、CRT,LCDなどを備え、CG(コンピュータグラフィック)の3次元画像や、通常のビデオカメラなどにより撮影された3次元の画像を表示することができるようになされている。マイク46は、音声信号をサーバ端末11に出力するとき利用される。また、スピーカ47は、サーバ端末11より音声信号が伝送されてきたとき、これを出力する。入力装置49は、各種の入力を行うとき操作されるようになされている。
【0056】
この入力装置49のキーボード49aは、所定の文字や記号などを入力するとき操作されるようになされている。マウス49bは、所定の位置を指定するとき操作されるようになされている。視点入力装置49cは、クライアント端末13の対応するアバタ(オブジェクト)の仮想現実空間における視点を入力するとき操作される。これにより、アバタの視点を上下左右の方向に移動させたり、所定の画像をズームすることができるようになされている。また、移動入力装置49dは、アバタを、前後左右の方向に、所定の速度で移動させるための入力を行うことができるようになされている。
【0057】
なお、アバタの視点や位置の移動操作は、キーボード49aとマウス49bにより行うこともできる。
【0058】
インタフェース48は、表示装置45、マイク46、スピーカ47、および入力装置49に対するデータのインタフェースを構成している。ハードディスク、光ディスク、光磁気ディスクなどよりなる記録装置50には、データ、プログラムなどが記録される。
【0059】
図4は、サービス提供者端末14(14−1,14−2)の構成例を示している。そのCPU51乃至記録装置60は、図3のクライアント端末13のCPU41乃至記録装置50と基本的に同様の構成であるので、その説明は省略する。
【0060】
図5は、図1に示したサーバ端末11により提供される3次元仮想現実空間(以下、適宜、単に仮想現実空間と称する)を模式的に表している。同図に示すように、この仮想現実空間は、町を構成しており、アバタ(更新オブジェクト)C(例えばクライアント端末13−1のアバタオブジェクト)や、アバタ(更新オブジェクト)D(例えばクライアント端末13−2のアバタオブジェクト)が、この町(仮想現実空間)を移動することができるようになされている。
【0061】
アバタCは、仮想現実空間における位置と視点から、例えば図6に示すような画像を見ることになる。すなわち、クライアント端末13−1の表示装置25には、図6に示すような画像がサーバ端末11から提供され、表示される。そして、そのアバタCの視点と位置を、視点入力装置49cと移動入力装置49d(またはキーボード49aとマウス49b)を操作することで変更(更新)すると、それに対応して、サーバ端末11から供給される仮想現実空間を形成する3次元画像が変化される。
【0062】
同様に、アバタDが対応するクライアント端末13−2の表示装置45には、図7に示すような画像がサーバ端末11から提供され、表示される。そして、その表示画像も、アバタDの視点と位置を移動させることで変化される。
【0063】
図5に示す状態において、アバタCはアバタDの方向を見ている。従って、図6に示すように、クライアント端末13−1の表示装置45に表示される画像(仮想現実空間)には、アバタDが表示されている。
【0064】
同様に、図5において、アバタDはアバタCの方向を見ている。このため、クライアント端末13−2の表示装置45に表示される画像(仮想現実空間)には、アバタCが表示される。
【0065】
次に、仮想現実空間において、所定のオブジェクト(その状態が更新される更新オブジェクト)を移動(更新)させる場合の動作について説明する。いま、簡単のため、図8に示すように、クライアント端末13−1乃至13−3に、それぞれの対応するアバタの視点から見た仮想現実空間の画像が表示されているものとする。いまの場合、円錐オブジェクト101、四角柱オブジェクト102、および円柱オブジェクト103(更新オブジェクト)が表示されている。そして、クライアント端末13−1は円錐オブジェクト101を、クライアント端末13−2は四角柱オブジェクト102を、そしてクライアント端末13−3は円柱オブジェクト103を、それぞれの移動入力装置49d(またはマウス49b)を操作することで、移動させることができるようになされているものとする。
【0066】
この場合、クライアント端末13−1乃至13−3においては、ROM42またはRAM43に、図9に示すようなメッセージテーブル(変更シーケンステーブル)が予め登録されている。図9の実施例においては、メッセージ番号1として、移動のメッセージが登録されている。この移動メッセージは、移動するオブジェクトを特定するオブジェクトID、オブジェクトの移動方向を示す方向、オブジェクトの移動速度を示す速度、およびオブジェクトの移動継続期間を示す期間が、指定項目(パラメータ)として指定されている。
【0067】
また、メッセージ番号2の停止は、移動しているオブジェクトを停止させる場合のメッセージであり、停止すべきオブジェクトを特定するオブジェクトIDが指定項目とされている。
【0068】
メッセージ番号3のアバタ移動は、アバタを移動させる場合のメッセージであり、指定項目として、移動すべきアバタを特定するオブジェクトID、アバタの移動方向、アバタの移動距離が指定されるようになされている。また、一体のアバタのオブジェクトは、頭部を含む胴体と、右腕と、左腕と、右足と、左足の合計5個のサブオブジェクトから構成されている。このアバタの手と足サブオブジェクトを、アバタの移動に対応して変化させるために(左右の手を前後に振りながら、左右の足を一歩ずつ交互に動かして移動させるために)、手と足の単位時間あたりの胴体との接合部分(関節)を軸とする揺動回数も指定項目として指定されるようになされている。
【0069】
また、メッセージ番号4の複雑な動作開始には、複雑な動作を行うオブジェクトを特定するオブジェクトIDが、また、メッセージ番号5の複雑な動作停止には、複雑な動作を停止するオブジェクトを特定するオブジェクトIDが、それぞれ指定項目として指定されるようになされている。
【0070】
また、メッセージ番号6には、パレード開始のメッセージが登録されている。このパレード開始のメッセージは、後述するCIRCUSPARKの3次元仮想現実空間の中で、実現されるもので、例えば、図10に示すように、ピエロ、アシカ、自転車に乗ったクマなどが列を成して行進するパレードを起動するためのメッセージである。この場合、パレード全体のオブジェクトは、ピエロ、アシカ、自転車に乗ったクマなどのサブオブジェクトから構成され、さらに、ピエロ等のサブオブジェクトは、頭部を含む胴体と、右腕と、左腕と、右足と、左足の合計5個のサブオブジェクトから各々構成されている。例えば、このピエロのオブジェクトを、その移動に伴って、手足を前後に振らせて歩行動作させるためには、少なくともピエロ全体の移動方向を示す方向と、ピエロ全体の移動速度を示す速度と、ピエロ全体の移動継続時間を示す期間の他に、右腕、左腕、右足、左足の各サブオブジェクトの、胴体との接合部分(関節)を軸とする単位時間当たりの揺動回数を含む変更情報が必要となる。この場合、右腕、左腕、右足、左足の各サブオブジェクトの揺動角度は、予め、一定の角度範囲に設定するものとする。
【0071】
従って、メッセージ番号6には、パレード全体の移動方向を示す方向と、パレード全体の移動速度を示す速度と、パレード全体の移動継続時間を示す期間の他に、パレードの先頭の例えばピエロのサブオブジェクトID1と、2番目のアシカのサブオブジェクトID2と、…最後の自転車に乗ったクマのサブオブジェクトIDnと、各々のサブオブジェクトの構成要素である手(右腕と左腕)のサブオブジェクトの上記関節を軸とする単位時間当たりの揺動回数と、足(右足と左足)のサブオブジェクトの上記関節を軸とする単位時間当たりの揺動回数が、指定項目として設定されている。この場合、手足の揺動回数を、ピエロ、アシカ、クマなどの各サブオブジェクト毎に、各々異なる値を設定し、さらにパレード全体として、複雑な行進動作を表現させるべく、登録するようにしても勿論構わない。
【0072】
いま、単純な例として図11に示すように、クライアント端末13−1において、円錐オブジェクト101(更新オブジェクト)を点線の位置から実線の位置に移動させるものとする。このとき、クライアント端末13−1の移動入力装置49dまたはマウス49bを操作して、CPU41に対して移動を指令すると、CPU41は、入力に対応して番号1の移動メッセージを生成する。すなわち、移動すべきオブジェクトのIDとして、円錐オブジェクト101のオブジェクトIDを設定する。また、移動方向、速度および期間として、入力(操作)に対応して、所定の値を設定する。
【0073】
例えば後述するように、マウス49bの左ボタンを押し、押した状態のまま押した地点よりも上へ動かすと、マウス49bを動かした距離に対応する速度でオブジェクトが前進するように設定されている場合、その操作から、方向(いまの場合、上方向)、速度(いまの場合、マウス49bを動かした距離)、期間(マウス49bを操作している期間)がCPU41により検出され、設定される。
【0074】
そして、CPU41は、生成したこのメッセージを自ら実行する。すなわち、円錐オブジェクト101が、図11において、点線で示す位置から実線で示す位置に、操作に対応して移動するように画像データを生成し、これを表示装置45に出力し、表示させる。
【0075】
また、クライアント端末13−1のCPU41は通信装置44を制御し、生成した移動メッセージを、ネットワーク15を介してサーバ端末11−1に伝送させる。サーバ端末11−1のCPU21は、通信装置24を介してこの移動メッセージの入力を受けると、これを通信装置24からクライアント端末13−2,13−3に同時に出力する。
【0076】
クライアント端末13−2のCPU41は、通信装置44を介してこの移動メッセージの入力を受けると、その処理を実行する。すなわち、この移動メッセージから移動すべきオブジェクトIDとして、円錐101オブジェクトを特定し、仮想現実空間における移動方向、速度および期間を、この移動メッセージ中から読み取り、その読み取り結果に対応して、円錐オブジェクト101を仮想現実空間内において移動させる画像のデータを生成し、対応する表示装置45に表示する。同様のことがクライアント端末13−3においても行われ、その結果、クライアント端末13−2と13−3の表示装置45に、それぞれ図12および図13で示すように、円錐101オブジェクトが同期して移動する画像が表示される。
【0077】
すなわち、この場合においては、サーバ端末11−1が、円錐オブジェクト101を移動する画像を生成し、クライアント端末13−1乃至13−3に対して供給するのではなく、各クライアント端末13−1乃至13−3において、ローカルに、円錐オブジェクト101を移動する画像が生成され、表示される。従って、クライアント端末13−1乃至13−3とサーバ端末11−1の間の通信量は、最小限で済むことになる。
【0078】
なお、クライアント端末13−1における表示より、クライアント端末13−2,13−3における表示の方が、ネットワーク15を介してメッセージを受け取るので、若干遅くなるが、クライアント端末13−1は、メッセージを生成後、直ちに伝送するので、実用上は、ほぼ同期して駆動されているものとして扱うことができる。また、サーバ端末11は、クライアント端末13−2と13−3に対して、ほぼ同時にメッセージを伝送するので、これらの間における表示も、ほぼ同期して駆動されているものとして扱うことができる。
【0079】
図14は、クライアント端末13−1乃至13−3がメッセージ1を受け取ったとき行う処理を示している。
【0080】
すなわち、最初のステップS1において、メッセージ番号1の移動メッセージのオブジェクトIDから移動すべきオブジェクトを読み取り、設定する。そして、ステップS2とS3において、移動メッセージの指定項目で指定される方向と速度を読み取り、設定する。次にステップS4に進み、ステップS1で設定したオブジェクトをステップS2で設定した方向に、ステップS3で設定した速度で移動する画像データを生成する。そして、この画像データを表示装置45に出力し、表示させる。
【0081】
次にステップS5に進み、移動メッセージ中の指定項目で指定された期間が経過したか否を判定し、経過していなければステップS4に戻り、オブジェクトを移動する処理を継続する。これにより、移動メッセージの指定項目で指定された期間が経過するまでオブジェクトが移動(状態が更新)されることになる。
【0082】
ステップS5において、指定項目で指定した期間が経過したと判定された場合、ステップS6に進み、次のメッセージが入力されているか否かが判定される。次のメッセージが入力されていなければ、ステップS7に進み、それまで移動していたオブジェクトを停止させる。ステップS6において、次のメッセージが入力されていると判定された場合、ステップS8に進み、その新たに入力されたメッセージの処理が実行される。これにより、例えば、円錐オブジェクト101を所定の期間移動し、それに続いて次の処理を実行することが可能となる。
【0083】
この次のメッセージとして移動メッセージが再び入力されると、さらに所定の期間、オブジェクトが移動される。
【0084】
次に、より複雑な移動の例として、アバタを移動させる場合について説明する。すなわち、図15に示すように、円錐オブジェクト101、四角柱オブジェクト102、および円柱オブジェクト103が存在する仮想現実空間には、クライアント端末13−1乃至13−3にそれぞれ対応するアバタC乃至アバタEが存在するものとする。
【0085】
いま、クライアント端末13−3において、マウス49bを操作して、アバタEを図15において矢印で示す方向に移動させる操作をしたとする。このとき、クライアント端末13−3のCPU41は、この操作に対応して、図9に示す番号3のアバタ移動メッセージを生成する。すなわち、移動すべきアバタ(オブジェクト)として、アバタEのオブジェクトIDを設定する。また、オブジェクトを移動すべき方向と距離を入力装置49からの入力に対応して設定する。さらに、アバタEを構成する手(サブオブジェクト)と足(サブオブジェクト)の指定項目に対しては、必要に応じて、単位時間あたりの揺動回数を設定する。特に指令がなければ、この回数としては、デフォルトの値が設定される。
【0086】
このアバタ移動メッセージは、クライアント端末13−3において実行されるとともに、クライアント端末13−1,13−2にも、サーバ端末11−1を介して同時に伝送され、図16のフローチャートに示すように実行される。
【0087】
すなわち、クライアント端末13−1乃至13−3のCPU41は、図16に示すプログラムを同時に起動し、ステップS21において、アバタ移動メッセージの指定項目からオブジェクトIDを読み取り、設定し、ステップS22において移動方向が設定される。
【0088】
さらに、ステップS23(更新シーケンス)に進み、ステップS21で設定したオブジェクトをステップS22で設定した方向に移動した場合の画像データを生成し、これを表示装置45に出力し、表示させる。
【0089】
すなわち、これにより、アバタEが、クライアント端末13−1乃至13−3のそれぞれの表示装置45において同期して移動することになる。
【0090】
また、このとき、さらにステップS24とS25において、それぞれ独立したオブジェクトである手の運動処理と、足の運動処理が実行される。
【0091】
手の揺動運動処理(更新シーケンス)の詳細は、図17のフローチャートに示されている。最初にステップS41において、手を振る回数がアバタ移動メッセージの指定項目から設定される。そして、ステップS42において、ステップS41で設定した回数だけ、対象のオブジェクトの手(いまの場合、アバタEの手)を振らせる画像を生成し、それを表示装置45に出力し、表示させる。
【0092】
これにより、図16のステップS23においてアバタEが移動されるとき、その移動に伴って、このアバタEの手(アバタEを構成する複数のオブジェクトの中の一部のオブジェクト)が前後に振られる画像が表示される。
【0093】
足の揺動運動処理(更新シーケンス)の詳細は、図18のフローチャートに示されている。ステップS51においては、足を動かす回数がアバタ移動メッセージの指定項目から読み取られ、設定される。次に、ステップS52に進み、CPU41は、ステップS51で設定された回数だけ、オブジェクト(アバタE)の足を前後に動かす画像データを生成し、これを表示装置45に出力し、表示させる。
【0094】
これにより、図16のステップS23においてアバタEが移動され、ステップS24において、その移動に伴って、手が前後に振られ、ステップS25において足が交互に前に出される画像が表示される。
【0095】
手足の単位時間あたりの動かす回数を所定の値に設定することで、各アバタ毎に、異なる手足の動かし方をさせることができる。例えば、背の高いアバタと背の低いアバタとが、同一の速度で移動(歩行)しているとき、背の高いアバタの足の動かす回数が、背の低いアバタの足を動かす回数より少ない値に設定しておくことで、より自然な画像を表示させることができる。
【0096】
また、この手と足の動かす回数については、デフォルト(更新シーケンス)が設定されており、クライアント端末13の入力装置49から特に手足を動かす回数の指令が入力されない場合においても、すなわち、単に所定のアバタを所定の方向に移動するだけの指令(更新シーケンス)が入力された場合においても、そのアバタは、手と足を自然に動かした状態で表示される。
【0097】
図16のステップS25の次にステップS26に進み、アバタ移動メッセージの指定項目の距離に従って設定した距離だけ、いま、移動(歩行)しているアバタが移動したか否かが判定され、設定した距離だけまだ移動していなければ、ステップS23に戻り、それ以降の処理を繰り返す。すなわち、歩行がそのまま継続される。
【0098】
ステップS26において、設定した距離だけ移動したと判定された場合、ステップS27に進み、次のメッセージが入力されたか否かが判定され、次のメッセージが入力されていなければステップS28に進み、それまで移動していたオブジェクトを停止する処理が実行される。この処理は、例えば図9の番号2の停止メッセージを発生させ、これを実行させることで処理するようにすることも可能であるが、このメッセージを受け取らずとも、移動しているオブジェクトが設定した距離だけ(あるいは設定した期間だけ)移動したとき、次にメッセージが入力されていなければ、自動的に停止させるようにすることができる。
【0099】
ステップS27において、次のメッセージが入力されていると判定された場合においては、ステップS29に進み、その入力されたメッセージに対応する処理が実行される。例えば、番号2の停止メッセージが入力された場合においては、その処理がこのステップS29において行われ、それまで移動していたアバタが移動を停止することになる。
【0100】
以上のようにして、アバタを少ない通信量で簡単に移動させ、しかも、その移動を自然な状態とすることができる。
【0101】
ここで、サーバ端末11−1は、3次元仮想現実空間の時刻を管理しており、予め設定された時刻になるとメッセージ番号6のパレードの開始メッセージを各クライアント端末13−1乃至13−3へ送信する。これにより、前述した、メッセージ番号6のパレードについても、図16乃至18と同様の処理でメッセージの送受信のみで実現することができる。
【0102】
以上のような原理に従って、より複雑な動作も、より少ない通信量で実行させることが可能である。
【0103】
例えば図19に示すように、いま仮想現実空間において、車道111に沿って歩道112が設けられており、この歩道112の近傍に、広告灯113が設けられているものとする。そして、この広告灯113は、任意のアバタ(図19においてはアバタFが示されている)が所定の距離内に近づいてきたとき、予め設定されている所定の広告表示を行わせるものとする。
【0104】
この場合、サーバ端末11−1は、クライアント端末13−1乃至13−3からの各アバタの位置データの入力を受け、広告灯113との距離を演算する。そして、その距離が予め設定してある所定の基準値以下になったとき、番号4の複雑な動作開始のメッセージを生成し、各クライアント端末13−1乃至13−3に出力する。クライアント端末13−1乃至13−3のCPU41は、この複雑な動作開始のメッセージの入力を受けたとき、図20のフローチャートに示す処理(更新シーケンス)を実行する。
【0105】
すなわち、最初にステップS61において、図19に示す広告灯113を点灯する。そして、ステップS62に進み、広告灯113に所定の文字、図形などを、予め設定されている所定のシーケンスに従って表示させる。次にステップS63に進み、番号5の複雑な動作停止のメッセージが入力されたか否かが判定され、入力されていなければステップS62に戻り、広告灯113の表示を継続させる。
【0106】
サーバ端末11−1は、広告灯113の近傍に位置していたアバタFと広告灯113の距離を常に監視しており、その距離が基準値より大きくなったとき、番号5の複雑な動作停止のメッセージを生成し、各クライアント端末13−1乃至13−3に出力する。
【0107】
図20のステップS63において、クライアント端末13のCPU41は、この複雑な動作停止のメッセージの入力を受けたとき、ステップS64に進み、広告灯113を消灯させる。すなわち、それまで行われていた広告灯113の複雑な動作を停止させる。
【0108】
このようにして、複雑な動作(更新シーケンス)でも、予めクライアント端末13−1乃至13−3に、これを登録しておけば、その開始を指令するメッセージを各クライアント端末13−1乃至13−3に出力するだけで、複雑な動作の画像をクライアント端末13−1乃至13−3に表示させることができる。
【0109】
以上の実施例においては、2台のサーバ端末と3台のクライアント端末をネットワークを介して接続する実施例としたが、各装置の台数、あるいはネットワークの数は、これに限るものではない。
【0110】
なお、上記した円錐オブジェクト101、四角柱オブジェクト102、円柱オブジェクト103の他、アバタC乃至アバタFなどを仮想現実空間上に表示するには、これらのオブジェクトだけでなく、背景画像となるオブジェクトも必要となる。この背景となるオブジェクトは、その基本的な状態は更新されないので、その状態が更新される更新オブジェクトに対して、基本オブジェクトと称することができる。この基本オブジェクトで構成される背景画像は、サーバ端末11からインターネットを介して、クライアント端末13に供給される。従って、更新オブジェクトは、背景画像(基本オブジェクト)に重畳して表示される。
【0111】
なお、上述した従来のHabitatにおいては、アバタを移動させたい目標位置にカーソルを移動し、その位置でマウスボタンを押し続けて、マウスコマンド(ポップアップメニュー)を表示させ、そのマウスコマンドの中から「GO」コマンドのボタンをクリックすると、2次元グラフィックスの背景の上で、アバタが手足を動かして移動するアニメーションが表示される。しかしながら、これはあくまで2次元グラフィックスの背景画像上に、2次元グラフィックスのアバタを重ねて表示するものであり、アバタの移動にともなって手足の向きが異なるアバタのビットマップデータを交互に読みだして表示させる、いわゆるセル画によるアニメーションと同様の手法に基づく表示に過ぎない。
【0112】
すなわち、Habitatにおいては、第3者の視点で、自分自身のアバタも含めた全体を見渡す位置から2次元の仮想現実空間を眺めることしかできず、視点の位置を変えたり、奥行き方向を再現することが不可能である。
【0113】
これに対して、本実施例においては、アバタの手足毎の(個々のサブオブジェクト毎の)更新シーケンスを相互に連携動作するように予め定義しておくことができる。これにより、「歩行」という動作のメッセージを受けるだけで、そのアバタに対して、その属性に応じて微妙に異なる挙動を実行させる(例えば男性のアバタは足を高く上げて大きい歩幅で歩行させ、女性のアバタは小さい歩幅でゆっくり歩行させる)ことができる。
【0114】
なお、各オブジェクト毎のデータは、VRMLファイルまたはE−VRMLファイルとして規定される。その詳細は後述する。
【0115】
上記実施例においては、各クライアント端末13が、対応するオブジェクトを移動させるようにしただけであるが、各クライアント端末において、対応するアバタの視点からの仮想現実空間の画像を表示させるようにし、各クライアント端末において、その視点を移動させた場合、背景画像は、その視点の位置に対応して変化する。そして、その視点から見た視野の範囲内に他のクライアント端末のアバタが位置していれば、それが表示されることになる。従って、アバタの表示状態は、自分自身の視点と、他のクライアント端末からのそのアバタに対する移動の指令の合成された結果となる。このため、その表示の制御はより複雑となる。
【0116】
図21は、インターネットを利用したサイバースペースシステムのより具体的な構成例を表している。この実施例においては、上述したサーバ端末11−1,11−2のうちの一方(例えばサーバ端末11−1)が情報サーバ端末とされ、他方(例えばサーバ端末11−2)が共有サーバ端末とされる。そこで、以下においては、サーバ端末11−1を情報サーバ端末11Aとして、サーバ端末11−2を共有サーバ端末11Bとして、それぞれ説明する。
【0117】
ホストAは、例えば、いわゆるWWW(World Wide Web)のシステムを構成している。すなわち、ホストAは、後述するような情報(ファイル)を有している。そして、各情報(ファイル)には、その情報を一元的に指定するための指定情報としてのURL(Uniform Resource Locator)が対応付けられており、URLを指定することで、そのURLに対応する情報にアクセスすることができるようになされている。
【0118】
具体的には、ホストAは、例えば、3次元仮想現実空間における東京の町並みや、3次元仮想現実空間におけるニューヨークの町並み、その他の所定の地域の3次元仮想現実空間を提供するための3次元画像のデータを記憶している。なお、この3次元画像データは、その基本的な状態が変化しない(変化するとしても、例えば、観覧車、ネオンサインなどのように自立的に変化する)基本オブジェクトだけでなる、いわば更新が伴わない静的なデータである。例えば、ビルディングや道路などが基本オブジェクトである。そして、ホストAは、情報サーバ端末11A(基本サーバ端末)を有しており、この情報サーバ端末11Aは、ネットワーク15を介してURLを受信すると、そのURLに対応する情報、すなわち、仮想現実空間(ただし、これは、上述したように基本オブジェクトだけでなるもの)を、同じくネットワーク15を介して提供するようになされている。
【0119】
なお、図21においては、所定の地域の仮想現実空間(基本オブジェクトだけでなるもの)を提供するサーバ端末である情報サーバ端末を有するホストは、ホストAの1台だけしか設けられていないが、このようなホストは複数設けることが可能である。
【0120】
ホストBは、共有サーバ端末11Bを有し、この共有サーバ端末11Bは、仮想現実空間に配置されることにより、その仮想現実空間を構成することとなる更新オブジェクトとしての、例えば各ユーザを表すアバタなどを管理し、これにより複数のユーザに同一の仮想現実空間を共有させるようになされている。ただし、ホストBは、ホストAが記憶している仮想現実空間のうちの所定の地域(例えば、東京など)の仮想現実空間に配置された更新オブジェクトのみを管理するようになされている。すなわち、ホストBは、いわば所定の地域の仮想現実空間専用のものとされている。なお、図示していないが、ネットワーク15には、ホストB以外にも、ホストAが記憶している、その他の各地域(例えば、ニューヨーク、ロンドンなど)の仮想現実空間に配置された更新オブジェクトを管理するサーバ端末である共有サーバ端末を有するホストが接続されている。
【0121】
ホストCは、ホストAと同様、例えばWWWのシステムを構成するもので、ホストBのような、更新オブジェクトを管理するホスト(共有サーバ端末)をアドレスするための、例えばそのホストのIPアドレス(共有サーバ端末のアドレス)を記憶している。従って、ホストCが記憶している共有サーバ端末のアドレスは、上述したホストAにおける場合と同様に、URLと一元的に対応付けられている。そして、ホストCは、マッピングサーバ端末12(管理サーバ端末)を有しており、このマッピングサーバ端末12は、ネットワーク15を介してURLを受信すると、そのURLに対応する情報としての共有サーバ端末のIPアドレスを、同じくネットワーク15を介して提供するようになされている。なお、図21においては、共有サーバ端末のアドレスを提供するサーバ端末であるマッピングサーバ端末12を有するホストは、ホストCの1台だけしか設けられていないが、このようなホストは複数設けることが可能である。
【0122】
クライアント端末13(13−1,13−2,13−3)は、ネットワーク15を介して情報サーバ端末11Aから、仮想現実空間の提供を受け、共有サーバ端末11Bの管理の下、その仮想現実空間を、他のクライアント端末(サービス提供者端末14を含む)と共有することができるようになされている。さらに、クライアント端末13は、サービス提供者端末14から、仮想現実空間を利用した所定のサービス(情報)の提供を受けることができるようにもなされている。
【0123】
サービス提供者端末14は、クライアント端末13と同様に、仮想現実空間の提供を受け、その仮想現実空間を、クライアント端末13(サービス提供者端末が、サービス提供者端末14以外にも存在する場合には、そのサービス提供者端末を含む)と共有することができるようになされている。従って、この部分の機能に関しては、サービス提供者端末14は、クライアント端末13と同一である。
【0124】
さらに、サービス提供者端末14は、クライアント端末13に対して、所定のサービスを提供することができるようになされている。なお、図21において、このようなサービス提供者端末は、サービス提供者端末14の1台だけしか設けられていないが、サービス提供者端末は複数設けることが可能である。
【0125】
次に、ホストAおよびCが構成しているWWWのシステムについて簡単に説明する。図22に示すように、WWWは、ホストX,Y,Zから、ネットワーク(WWWの場合はインターネット)15を介して、不特定多数のユーザ(クライアント端末)に対し、情報を提供するためのシステムの1つで、提供可能な情報は、テキストだけでなく、図形、画像(静止画、動画)、音声、さらには3次元画像、その他これらをリンクさせたハイパーテキストなど多岐にわたる。
【0126】
WWWの場合、各情報について、その情報を一元的に表現する形式であるURLが決められており、ユーザは、URLを指定することで、そのURLに対応する情報を得ることができる。ここで、URLは、例えば、図23に示すように、サービスの種類を表すプロトコル種別(図23の実施例では、http(これは、後述するファイル名に対応するファイルを検索して送信するように指示するコマンドに相当する))、URLの送り先を表すホスト名(図23の実施例では、www.csl.sony.co.jp)、および送信させるべきデータのファイル名(図23の実施例では、index.html)で構成される。
【0127】
ユーザは、クライアント端末を操作して、所望する情報に対応するURLを入力する。クライアント端末では、URLが入力されると、そのURLの、例えばホスト名が参照され、そのホスト名によって特定されるホスト(図22の実施例では、インターネットに接続されているホストX,Y,Zのうちの、例えばホストX)とのリンクが確立される。そして、クライアント端末では、URLが、インターネットを介して、リンクが確立されたホスト、すなわちホストXに送信され、これにより、ホストXに対し、URLに対応する情報の提供の要求がなされる。ホストXでは、情報サーバ端末(WWWサーバ端末)上でHTTPデーモン(httpd)が稼働しており、情報サーバ端末は、URLを受信すると、そのURLに対応する情報を、インターネットを介してクライアント端末に送信する。
【0128】
クライアント端末では、送信されてきた情報が受信され、その後、例えば表示される。これにより、ユーザは、所望する情報を得ることができる。
【0129】
従って、ホストに、情報として、仮想現実空間を構成する要素(オブジェクト)の記述としての、例えば基本オブジェクトの形状(例えば、直方体や円錐形など)や、その配置位置、属性(例えば、基本オブジェクトの色やテクスチャなど)などを表すデータを記憶させるようにするだけで、不特定多数のユーザに、仮想現実空間(ただし、基本オブジェクトだけでなるもの)を提供することができる。すなわち、ネットワーク15として、インターネットを採用するとともに、WWWを利用する場合、インターネットは、既に世界的規模で普及しており、また、ホストに記憶させる情報を、仮想現実空間を構成する要素の記述とすることは、WWWを構成する情報サーバ端末(WWWサーバ端末)の変更を要するものでない(仮想現実空間を構成する要素の記述を、上述したようにして提供するサービスは、WWWによって提供されている既存のサービスとの上位互換性を有する)から、不特定多数のユーザに、世界的規模で、仮想現実空間を、容易に、かつ安価に提供することが可能となる。
【0130】
また、所定のホスト(マッピングサーバ端末)に、情報として、他のホストのIPアドレスを記憶させるようにすることで、やはり、不特定多数のユーザに、世界的規模で、ホストのIPアドレスを、容易に、提供することが可能となる。
【0131】
なお、WWWを構成するホストに、仮想現実空間を構成する要素の記述(所定の地域の仮想現実空間を提供するための3次元画像のデータ)を記憶させただけでは、同一の仮想現実空間を、複数のユーザが共有することは困難である。すなわち、WWWでは、URLに対応する情報が、ユーザに提供されるだけであり、ユーザ間で、情報のやりとりを行うための管理は行われない。このため、WWWを、その設計を変更せずに利用して、ユーザ間で、前述したような更新オブジェクトの変更情報のやりとりを行うのは困難である。そこで、図21のサイバースペースシステムでは、共有サーバ端末11Bを有するホストBおよびマッピングサーバ端末12を有するホストCを設け、同一の仮想現実空間を、複数のユーザが共有することができるようになされている(その詳細については、後述する)。
【0132】
図24は、図21のホストC上で稼働するマッピングサーバ端末12の構成例を示している。CPU91乃至通信装置94は、図2に示したCPU21乃至通信装置24と基本的に同様の構成であるので、その説明は省略する。記憶装置95は、更新オブジェクトを管理する共有サーバ端末(図21の実施例では、共有サーバ端末11Bしか図示していないが、その他にも、図示せぬ共有サーバ端末がネットワーク15に接続されている)を特定するためのアドレスを、URLと対応付けて記憶している。
【0133】
次に、図25乃至図28のフローチャートを参照して、クライアント端末13(サービス提供者端末14)、情報サーバ端末11A、マッピングサーバ端末12、または共有サーバ端末11Bそれぞれの動作について詳述する。
【0134】
図25は、クライアント端末13(サービス提供者端末14)の処理例を示している。クライアント端末13では、まず最初に、ステップS71において、仮想現実空間URLの入力があったか否かが、CPU41によって判定される。ステップS71において、仮想現実空間URLの入力がないと判定された場合、ステップS71に戻る。また、ステップS71において、仮想現実空間URLの入力があったと判定された場合、すなわち、ユーザがキーボート49aを操作することで、所望する仮想現実空間に対応する仮想現実空間URLを入力し、これが、インターフェース48を介して、CPU41によって受信された場合、ステップS2に進み、図22で説明したように、WWWのシステムを構成し、情報サーバ端末を有する所定のホストの情報サーバ端末(ここでは、例えばホストAの情報サーバ端末11A)に対して、通信装置44から、ネットワーク15を介して、仮想現実空間URLが送信され、リンクが確立される。
【0135】
さらに、ステップS21では、仮想現実空間URLと対応付けられているアドレス取得URLが、記憶装置50から読み出され、WWWのシステムを構成する、所定のホストのマッピングサーバ端末(ここでは、例えばホストCのマッピングサーバ端末12とする)に対して、通信装置44から、ネットワーク15を介して、アドレス取得URLが送信され、リンクが確立される。
【0136】
その後、ステップS73に進み、ネットワーク15を介して送られてくる、ステップS72で送信した仮想現実空間URLまたはアドレス取得URLにそれぞれ対応する仮想現実空間のデータ(3次元画像データ)または共有サーバ端末11BのIPアドレスが、通信装置44によって受信される。
【0137】
すなわち、ステップS72では、情報サーバ端末11Aに、仮想現実空間URLが送信されるが、情報サーバ端末11Aにおいて、この仮想現実空間URLが受信されると、それに対応する仮想現実空間のデータが、後述する図26のステップS92において、ネットワーク15を介してクライアント端末13に送信される。ステップS73では、このようにして情報サーバ端末11Aから送信されてくる仮想現実空間のデータが受信される。なお、受信された仮想現実空間のデータは、RAM43に転送されて記憶される(または記憶装置50に記憶され、そこからRAM43に転送される)。
【0138】
また、ステップS72では、マッピングサーバ端末12に対し、アドレス取得URLが送信されるが、マッピングサーバ端末12において、このアドレス取得URLが受信されると、それに対応する共有サーバ端末のIPアドレスが、後述する図27のステップS102において、ネットワーク15を介してクライアント端末13に送信される。ステップS73では、このようにしてマッピングサーバ端末12から送信されてくる共有サーバ端末12のIPアドレスが受信される。
【0139】
ここで、入力された仮想現実空間URLに対応付けられているアドレス取得URLは、上述したように、その仮想現実空間URLに対応する仮想現実空間に配置された更新オブジェクトを管理する共有サーバ端末のIPアドレスに対応するものである。従って、例えば、入力された仮想現実空間URLが、東京の仮想現実空間に対応するものであり、ホストBが有する共有サーバ端末11Bが、東京の仮想現実空間に配置された更新オブジェクトを管理するものであった場合、ステップS73では、共有サーバ端末11BのIPアドレスが受信されることになる。よって、ユーザは、どの共有サーバ端末が、どの地域の仮想現実空間に配置された更新オブジェクトを管理するものか知らなくても、自身が提供を受けようとする地域の仮想現実空間を管理する共有サーバ端末の場所(IPアドレス)を、自動的に取得することができる。
【0140】
なお、ステップS72およびS73において、仮想現実空間URLおよびアドレス取得URLを送信し、仮想現実空間のデータおよびIPアドレスを受信する処理は、実際には、例えば、仮想現実空間URLを送信し、それに対応する仮想現実空間のデータを受信した後、アドレス取得URLを送信し、それに対応するIPアドレスを受信することで行われる。
【0141】
ステップS73で、仮想現実空間のデータおよび共有サーバ端末のIPアドレスが受信されると、ステップS74に進み、ステップS73で受信したIPアドレス(共有サーバ端末のIPアドレス)に対応する共有サーバ端末(ここでは、例えば共有サーバ端末11B)に対し、ネットワーク15を介して、接続要求が、通信装置44によって送信され、これによりクライアント端末13と共有サーバ端末11Bとの間で通信リンクが確立される。さらに、ステップS73では、通信リンクの確立後、共有サーバ端末11Bに対し、記憶装置50に記憶されている、自己を表すアバタ(更新オブジェクト)が、通信装置44によって送信される。
【0142】
ここで、共有サーバ端末11Bは、ユーザのアバタを受信すると、そのアバタを、同一の仮想現実空間(ここでは、上述したように、東京の仮想現実空間とする)に存在する他のユーザのクライアント端末に送信するようになされている。そして、他のクライアント端末においては、送信されてきたアバタが、仮想現実空間に配置され、これにより、複数のユーザの間で、同一の仮想現実空間を共有することができる。
【0143】
なお、ユーザのアバタは、クライアント端末13から共有サーバ端末11Bに提供するのではなく、共有サーバ端末11Bに、アクセスのあったユーザに対し、所定のアバタを割り当てさせるようにすることも可能である。また、クライアント端末13においては、それを利用するユーザ(自分自身)のアバタを、仮想現実空間に配置して表示するようにすることが可能であるが、現実の世界では、ユーザは、自身を見ることはできないので、仮想現実空間を、現実の世界に近いものとする観点からは、ユーザのアバタは、そのユーザが利用するクライアント端末には表示させないようにする方が好ましい。
【0144】
ステップS74の処理後、ステップS75に進み、RAM43から、所定の視点と位置から仮想現実空間を見た場合に見ることのできる仮想現実空間のデータが、CPU41によって読み出され、表示装置45に供給される。これにより、表示装置45には、所定の仮想現実空間が表示される。
【0145】
そして、ステップS76において、共有サーバ端末11Bから、他のユーザのアバタの更新情報が送信されてきたか否かが、通信装置44によって判定される。
【0146】
ここで、ユーザは、上述したように、自己のアバタの位置あるいは視点を、視点入力装置49cまたは移動入力装置49d、あるいはマウス49bを操作することで更新することができるようになされており、これにより、アバタの位置あるいは視点の更新が指令されると、CPU41では、インタフェース48を介して、この指令が受信される。そして、CPU41は、その指令に対応して、更新されたアバタの位置または視点にそれぞれ対応する位置データまたは視点データを、更新情報として共有サーバ端末11Bに出力する処理を実行する。すなわち、CPU41は、通信装置44を制御し、更新情報を共有サーバ端末11Bに送信させる。
【0147】
共有サーバ端末11Bは、クライアント端末13から更新情報を受信すると、後述する図28のステップS114において、その更新情報を、他のクライアント端末に出力するようになされている。なお、共有サーバ端末11Bは、上述したように、アクセス要求のあったクライアント端末13から、アバタを受信すると、そのアバタを、他のユーザのクライアント端末13に送信するようになされているが、このアバタも、更新情報として送信されるようになされている。
【0148】
以上のようにして更新情報が送信されてきた場合、ステップS76においては、共有サーバ端末11Bから、他のユーザのアバタの更新情報が送信されてきたと判定される。この場合、その更新情報は、通信装置44によって受信され、CPU41に出力される。CPU41は、ステップS77において、表示装置45の表示を、更新情報を反映した表示に更新させる。すなわち、更新情報として、他のクライアント端末からの位置データあるいは視点データを受信した場合、そのユーザのアバタを、受信した位置データ、視点データに従って、移動させ、または変化させる(例えば、アバタの向きを変更させる)。また、更新情報として、他のクライアント端末からのアバタを受信した場合、そのアバタを、表示装置45に、いま表示されている仮想現実空間の所定の位置に配置する。なお、共有サーバ端末11Bは、更新情報として、アバタを送信する場合、そのアバタについての位置データおよび視点データも、更新情報に含めて送信するようになされており、表示装置45では、その位置データおよび視点データに対応して、アバタが表示されるようになされている。
【0149】
以上の処理が終了すると、ステップS78に進む。
【0150】
一方、ステップS76において、共有サーバ端末11Bから、他のユーザのアバタの更新情報が送信されてきていないと判定された場合、ステップS77をスキップして、ステップS78に進む。ステップS78では、上述したように、視点入力装置49cまたは移動入力装置49d、あるいはマウス49bを操作することで、クライアント端末13を利用するユーザのアバタの位置あるいは視点が更新されたか否かが、CPU41によって判定される。
【0151】
ステップS78において、アバタの位置あるいは視点が更新されたと判定された場合、すなわち、視点入力装置49cまたは移動入力装置49d、あるいはマウス49bが、ユーザによって操作された場合、ステップS79に進み、CPU41では、その操作に対応する位置データ、視点データに基づいて、ユーザのアバタの位置と視点に対応する仮想現実空間のデータをRAM43から読み出し、必要に応じて補正のための演算を行い、その位置と視点に対応する画像データを生成する。そして、CPU41は、表示装置45に、その画像データを出力し、表示させる。これにより、表示装置45には、視点入力装置49cと移動入力装置49dを操作することで入力した視点と位置に対応する画像(仮想現実空間)が表示される。
【0152】
さらに、CPU41は、ステップS80において、通信装置44を制御し、これにより、視点入力装置49cまたは移動入力装置49dそれぞれの操作に対応する視点データまたは位置データを、共有サーバ端末11Bに送信させ、ステップS81に進む。
【0153】
ここで、上述したように、クライアント端末13からの更新情報は、共有サーバ端末11Bにより受信され、さらに、他のクライアント端末に出力される。これにより、他のクライアント端末においては、クライアント端末13を利用するユーザのアバタが、更新情報を反映した形で表示される。
【0154】
一方、ステップS78において、アバタの位置あるいは視点が更新されていないと判定された場合、ステップS79およびS80をスキップして、ステップS81に進む。ステップS81では、キーボード49aの所定のキーを操作するなどして終了が指令されたか否かが判定され、終了が指令されない限り、ステップS76に戻り、それ以降の処理が繰り返し実行される。
【0155】
次に、図26のフローチャートは、情報サーバ端末11Aの処理例を示している。情報サーバ端末11Aでは、まず最初に、ステップS91において、クライアント端末13から、ネットワーク15を介して、仮想現実空間URLが送信されてきたかどうかが、通信装置24によって判定される。ステップS91において、仮想現実空間URLが送信されてきていないと判定された場合、ステップS91に戻る。また、ステップS91において、仮想現実空間URLが送信されてきたと判定された場合、その仮想現実空間URLが、通信装置24によって受信され、ステップS92に進む。ステップS92では、記憶装置30から、通信装置24で受信された仮想現実空間URLと対応付けられている仮想現実空間のデータが、CPU21によって読み出され、それが、通信装置24により、ネットワーク15を介して、仮想現実空間URLを送信してきたクライアント端末13に送られる。そして、その後は、ステップS91に戻り、上述の処理が繰り返される。
【0156】
図27は、マッピングサーバ端末12の処理例を示している。マッピングサーバ端末12では、ステップS101において、クライアント端末13から、ネットワーク15を介して、アドレス取得URLが送信されてきたかどうかが、通信装置24によって判定される。ステップS101において、アドレス取得URLが送信されてきていないと判定された場合、ステップS101に戻る。また、ステップS101において、アドレス取得URLが送信されてきたと判定された場合、そのアドレス取得URLが、通信装置24によって受信され、ステップS102に進む。ステップS102では、記憶装置30から、通信装置24で受信されたアドレス取得URLと対応付けられているIPアドレス(共有サーバ端末のアドレス)が、CPU21によって読み出され、それが、通信装置24により、ネットワーク15を介して、アドレス取得URLを送信してきたクライアント端末13に送られる。そして、その後は、ステップS101に戻り、上述の処理が繰り返される。
【0157】
図28は、共有サーバ端末11Bの処理例を示している。共有サーバ端末11Bでは、まず最初に、ステップS111において、クライアント端末13から、ネットワーク15を介して、接続要求が送信されてきたかどうかが、通信装置24によって判定される。ステップS111において、接続要求が送信されてきていないと判定された場合、ステップS112をスキップして、ステップS113に進む。また、ステップS111において、接続要求が送信されてきたと判定された場合、すなわち、クライアント端末13が、図25のステップS74において接続要求を、共有サーバ端末11Bに送信した場合、そのクライアント端末13との通信リンクが、通信装置24によって確立され、ステップS112に進む。
【0158】
ステップS112では、RAM23に記憶された接続管理表が、CPU21によって更新される。すなわち、共有サーバ端末11Bは、クライアント端末13から送信されてくる更新情報を、他のクライアント端末に送信するために、自身との通信リンクを確立しているクライアント端末13を認識している必要がある。そこで、共有サーバ端末11Bでは、クライアント端末との通信リンクを確立すると、そのクライアント端末を識別するための情報を、接続管理表に登録するようになされている。すなわち、この接続管理表は、共有サーバ端末11Bと、いまリンクが確立しているクライアント端末の、いわば一覧表である。ここで、クライアント端末を識別するための情報としては、TCP/IPパケットのヘッダーとして各クライアント端末から送られてくる送信元のIPアドレスと、各クライアント端末のユーザが設定したアバタのニックネームを登録する。
【0159】
その後、ステップS113に進み、クライアント端末13から更新情報が送信されてきたか否かが、通信装置24によって判定される。ステップS113において、更新情報が送信されてきていないと判定された場合、ステップS114をスキップして、ステップS115に進む。また、ステップS113において、更新情報が送信されてきたと判定された場合、すなわち、クライアント端末13が、図25のステップS80において、更新情報としての位置データ、視点データを、共有サーバ端末11Bに送信した場合(あるいは、図25のステップS74において、接続要求の送信後、更新情報としてのアバタを、共有サーバ端末11Bに送信した場合)、その更新情報が、通信装置24によって受信され、ステップS114に進む。ステップS114では、CPU21によって、RAM23に記憶された接続管理表が参照され、通信装置24で受信された更新情報が、その更新情報を送信してきたクライアント端末以外のクライアント端末に送信される。
【0160】
なお、この更新情報は、上述したように、図25のステップS76において、クライアント端末13により受信される。この際に、接続管理表で管理されている各クライアント端末の送信元のIPアドレスが使用される。
【0161】
その後、ステップS115に進み、クライアント端末13より終了の指令が入力されたか否かが、CPU21によって判定され、終了が指令されていない場合においては、ステップS116をスキップして、ステップS111に戻る。また、終了が指令された場合は、ステップS116に進み、その指令を送信してきたクライアント端末13との回線が、通信装置24によって切断され、さらに、接続管理表から、そのクライアント端末13に関する情報が、CPU21によって削除されて、ステップS111に戻る。
【0162】
なお、更新情報は、上述したように、適宜、メッセージ(図9)として伝送される。
【0163】
以上のように、更新オブジェクトの管理は、共有サーバ端末11Bで行うようにするとともに、基本オブジェクトの管理(提供)は、既に世界的規模で普及しているインターネットのWWWを構成する情報サーバ端末11Aで行うようにしたので、世界的規模で、不特定多数のユーザに、共有可能な仮想現実空間を、容易に提供することが可能となる。さらに、この際、既に構築されているWWWのシステムの仕様は変更する必要がない。
【0164】
また、仮想現実空間のデータを提供するのに、WWWを利用する場合には、データの授受を行うのに、既存のウェブブラウザ(例えば、ネットスケープ社のネットスケープナビゲータ(Netscape Navigator)(商標)など)を使用することができるので、新規にウェブブラウザを作成する必要もない。
【0165】
さらに、マッピングサーバ端末12によって、共有サーバ端末11BのIPアドレスを提供するようにしたので、ユーザは、共有サーバ端末11Bのアドレスを知らなくても、仮想現実空間を、他のユーザと共有することができる。
【0166】
以上の実施例においては、基本オブジェクトをネットワーク15を介して、各クライアント端末13に供給するようにしたが、例えばCD−ROMなどの情報記録媒体に仮想現実空間を形成する基本的なオブジェクトである基本オブジェクトを予め格納しておき、各ユーザに、これを予め配布しておくようにすることができる。この場合、各クライアント端末13は、例えば図29に示すように構成される。すなわち、この実施例においては、CD−ROMドライブ100が、インタフェース48に接続されており、基本オブジェクトにより構成される仮想現実空間が予め格納されているCD−ROM101をドライブするようになされている。その他の構成は、図3における場合と同様である。
【0167】
このように、CD−ROM101から基本オブジェクトのデータを提供するようにすれば、ネットワーク15を介しての基本オブジェクトのデータを転送する時間が不要となるため、より迅速な処理が可能となる。
【0168】
あるいはまた、CD−ROMを用いずに、情報サーバ端末11Aからネットワーク15を介して供給された基本オブジェクトのデータを記憶装置50に最初の第1回目のみ格納し、その後は、適宜、これを読み出して、使用するようにしてもよい。
【0169】
すなわち、基本オブジェクトデータの格納元は、図30に示すように、情報サーバ端末11Aの記憶装置30(ケース1乃至ケース3の場合)、クライアント端末13の記憶装置50(ケース4乃至ケース6の場合)、またはクライアント端末13のCD−ROM101(ケース7乃至ケース9の場合)とすることができる。
【0170】
これに対して、更新オブジェクトデータの格納元は、情報サーバ端末11Aの記憶装置30(ケース1の場合)、または共有サーバ端末11Bの記憶装置30(ケース2乃至ケース9の場合)とすることができる。そして、共有サーバ端末11Bに更新オブジェクトデータを格納する場合においては、その共有サーバ端末は、例えば図31に示すように、日本の共有サーバ端末11B−1(ケース2、ケース5またはケース8の場合)、または、アメリカの共有サーバ端末11B−2(ケース3、ケース6またはケース9の場合)とすることができる。この場合、更新オブジェクトデータのURLの格納元は、マッピングサーバ端末12となる。
【0171】
なお、更新オブジェクトデータの格納元が情報サーバ端末11Aである場合には、更新オブジェクトデータのURLの格納元は、情報サーバ端末11Aで管理されているデフォルトのURLとなる(ケース1の場合)。あるいはユーザにより共有サーバ端末11Bがマニュアルで指定された場合には、その指定されたURLが格納元となる(ケース4またはケース7の場合)。
【0172】
図30における各ケースの場合のデータの流れを、図31を参照して説明すると、次のようになる。すなわち、ケース1の場合、情報サーバ端末11AとしてのWWWサーバ端末121の記憶装置であるHDD(Hard Disc Drive)の所定のディレクトリに記憶されているVRLMファイル(その詳細は後述する)から基本オブジェクトデータが読み出され、ネットワーク15としてのインターネット(The Internet)15Aを介して、例えばクライアント端末13−1に供給される。また、WWWサーバ端末121の記憶装置には、更新オブジェクトデータも記憶されている。すなわち、WWWサーバ端末121において、基本オブジェクトデータが読み出されたとき、それに対応する更新オブジェクトデータのURLが、WWWサーバ端末121の記憶装置に予めデフォルトのURLとして記憶されており、そのデフォルトのURLから更新オブジェクトデータが読み出され、クライアント端末13−1に供給される。
【0173】
ケース2においては、日本のクライアント端末13−1に対して、WWWサーバ端末121から、基本オブジェクトのデータがインターネット15Aを介して供給される。これに対して、更新オブジェクトのデータは、マッピングサーバ端末12で指定された日本の共有サーバ端末11B−1からインターネット15Aを介してクライアント端末13−1に供給される。
【0174】
ケース3においては、米国のクライアント端末13−2に対して、基本オブジェクトのデータが、WWWサーバ端末121からインターネット15Aを介して供給され、更新オブジェクトデータは、マッピングサーバ端末12で指定された米国の共有サーバ端末11−2からインターネット15Aを介して供給される。
【0175】
ケース4においては、例えば、日本のクライアント端末13−1の記憶装置50に予め基本オブジェクトのデータが格納されており、更新オブジェクトデータは、クライアント端末13−1で指定した、例えば、米国の共有サーバ端末11−2から供給される。
【0176】
ケース5においては、クライアント端末13−1の記憶装置50に基本オブジェクのデータが予め格納されており、更新オブジェクトデータは、マッピングサーバ端末12で指定された日本の共有サーバ端末11B−1からインターネット15Aを介して供給される。
【0177】
ケース6においては、米国のクライアント端末13−2の記憶装置50に基本オブジェクトデータが予め格納されている。そして、更新オブジェクトデータは、マッピングサーバ端末12で指定された米国の共有サーバ端末11−2から、インターネット15Aを介してクライアント端末13−2に供給される。
【0178】
ケース7においては、例えば、日本のクライアント端末13−1に対して、CD−ROM101の基本オブジェクトのデータが、CD−ROMドライブ100を介して提供される。更新オブジェクトのデータは、クライアント端末13−1で指定した共有サーバ端末(例えば、共有サーバ端末11−1または11−2)から供給される。
【0179】
ケース8においては、クライアント端末13−1に対して、基本オブジェクトがCD−ROM101から供給され、更新オブジェクトのデータが、日本のマッピングサーバ端末12で指定された日本の共有サーバ端末11−1から供給される。
【0180】
ケース9においては、米国のクライアント端末13−2に対して、基本オブジェクトデータがCD−ROM101から供給され、更新オブジェクトデータが、マッピングサーバ端末12により指定された米国の共有サーバ端末11−2からインターネット15Aを介して供給される。
【0181】
次に、以上のような仮想現実空間のデータを授受し、表示装置に表示させるためのソフトウエアについて説明する。WWWにおいては、文書データをHTML(Hyper Text Markup Language)によって記述されたファイルを転送する。従って、テキストデータは、HTML形式のファイルとして登録される。
【0182】
これに対して、WWWにおいて、3次元グラフィックスデータは、VRMLまたはこれを拡張したE−VRML(Enhanced Virtual Reality Modeling Language)で記述することで、転送して利用することができる。従って、例えば、図32に示すように、情報サーバ端末11A、共有サーバ端末11Bまたはマッピングサーバ端末12を構成するリモートホスト111のWWWサーバ端末112は、HTMLファイルとE−VRMLファイルを、その記憶装置に格納している。
【0183】
HTMLファイルにおいては、URLにより異なるファイルとのリンクが行われる。また、VRMLファイルまたはE−VRMLファイルにおいては、オブジェクトに対して、WWW AnchorやWWW Inlineなどの属性が指定できるようになされている。WWW Anchorは、オブジェクトにハイパーテキストのリンクを付けるための属性であり、リンク先のファイルは、URLで指定される。また、WWW Inlineは、例えば建物などの外観を外壁、屋根、窓、扉などの部品に分けて記述するための属性であり、各部品のファイルにURLを対応させることができる。このようにして、VRMLファイルまたはE−VRMLファイルにおいても、WWW AnchorまたはWWW Inlineにより、他のファイルにリンクをはることができる。
【0184】
WWWにおいて、クライアント端末に入力されたURLをWWWサーバ端末へ通知し、これによりWWWサーバ端末から転送されてきたHTMLファイルを解釈して表示するためのアプリケーションソフトウエア(WWW Browser)としては、ネットスケープ社のNetscape Navigator(商標)が知られている。そこで、例えば、クライアント端末13においても、WWWサーバ端末とのデータの授受を行う機能を利用する目的で、Netscapeを用いている。
【0185】
ただし、このWWW Browserは、HTMLファイルを解釈し、表示処理することができるが、VRMLファイルまたはE−VRMLファイルは、受信することができても、これを解釈して表示することができない。そこで、VRMLファイルおよびE−VRMLファイルを解釈し、3次元空間として描画し表示処理することができるVRML Browserが必要となる。
【0186】
なお、VRMLの詳細は、書籍『VRMLを知る:3次元電脳空間の構築とブラウジング,マーク・ペシ著,松田晃一・蒲池輝尚・竹内彰一・本田康晃・暦本純一・石川真之・宮下健・原和弘訳,1996年3月25日初版発行,プレンティスホール出版ISBN4-931356-37-0(原著;VRML:Browsing & Building Cyberspace, Mark Pesce, 1995 New Readers Publishing ISBN 1-56205-498-8)』に開示されている。
【0187】
本出願人は、このVRML Browserを含むアプリケーションソフトウエアとして、CyberPassage(商標)を開発している。
【0188】
CyberPassageは、次の3つのソフトウェアから構成される。
(1)CyberPassage Browser
これは、VRMLブラウザであり、VRML1.0に準拠し、加えて、VRML2.0の機能(動き、音)を先取りし、動画機能を持つE-VRMLをサポートする。また、CyberPassage Bureauに接続できるマルチユーザ機能を持つ。スクリプト言語には、TCL/TKを用いている。
(2)CyberPassage Conductor
これは、VRMLオーサリングシステムであり、VRML1.0をベースにしたE-VRMLに準拠し、単純に3次元の世界を構築するだけではなく、3次元の世界に動きを付けたり、音や映像を付加することを簡単に行なえるツールである。
(3)CyberPassage Bureau
これは、CyberPassage Browserから接続し、ネットワーク上に構築された仮想的な空間の中で本当に人々が出会うことを可能にするサーバ端末システムのためのものである。
【0189】
図31に示す、クライアント端末13−1,13−2において予めブラウザ(Browser)をインストールして実行させる。また、共有サーバ端末11B−1,11B−2において予めビュー(Bureau)をインストールして実行させる。図33においては、クライアント端末13−1上でCyberPassage BrowserをCD−ROM11からインストールして実行させ、共有サーバ端末機能とクライアント機能を単一の端末で実現するために、共有サーバ端末11B−1上で、予めCyberPassage BureauとCyberPassage BrowserをCD−ROM101からインストールして実行させている場合の一例を示している。
【0190】
CyberPassage Browserは、図32に示すように、WWW BrowserとしてのNetscapeとの間において、NCAPI(Netscape Client Application Programing Interface)(商標)に基づいて各種データの授受を行う。
【0191】
Netscapeは、インターネットを介してWWWサーバ端末112よりHTMLファイルとVRMLファイルまたはE−VRMLファイルの供給を受けると、これを記憶装置50にそれぞれ記憶させる。Netscapeは、このうちのHTMLファイルを処理する。これに対して、VRMLファイルまたはE−VRMLファイルは、CyberPassage Browserが処理する。
【0192】
E-VRML(Enhanced VRML)は、VRML1.0にBehavior(動き)とマルチメディア拡張(音、動画)を行なったもので、本出願の最初の成果として、1995年9月にVRMLコミュニティに提案された。E-VRMLで用いられている動きの記述の基本モデル(イベントモデル)は、現在のVRML2.0のプロポーザルの1つであるMoving Worldsプロポーザルに引き継がれている。
【0193】
次に、CyberPassage Browserの概略について説明する。このブラウザは、例えば上記した書籍「VRMLを知る」に添付されているCD−ROMにそのサンプルが収録されている。このブラウザをインストール後、Windows95(商標)のスタートメニューの「プログラム」(Windows NT(商標)の場合はプログラムマネージャ)の「CyberPassage Folder」からManualを選択するとマニュアルを表示させることができる。
【0194】
[ブラウザの動作環境]
ブラウザの動作環境は、図34に示すとおりである。その最低動作環境は最低限満足する必要がある。ただし、Netscape Navigatorは、スタンドアローンのVRMLブラウザとして使用する場合には必要ない。特に、マルチユーザで使う場合は、推奨動作環境とすることが望ましい。
【0195】
[ブラウザのインストール方法]
ブラウザのインストール方法は、通常、Netscapeをインストールするのと同じである。上記CD−ROMの\Sony(商標)のディレクトリに置かれているvscplb3a.exeを用いてインストールする。
【0196】
(1) vscplb3a.exeをダブルクリックする。"Unzip To Directory"欄のディレクトリにインストールパッケージが展開されるので、必要に応じて適宜変更する。
(2) [Unzip]ボタンをクリックする。しばらくするとインストールパッケージが展開される。
(3) "12 files unzipped successfully"と表示されるので、[OK]ボタンをクリックする。
(4) 「Welcome」ウィンドウが表示されたら、[NEXT]ボタンをクリックする。
(5) 「Software License Agreement」の条項をよく読み、同意する場合は[Yes]ボタンをクリックする。同意しない場合は[No]ボタンをクリックする。
(6) インストールするディレクトリを調べる。デフォルトでは \Program Files\Sony\CyberPassageとなっている。
(7) 上記ディレクトリ名で不都合があれば、[Browse]ボタンを押してディレクトリを選択する。[Next]ボタンを押して次へ進む。
(8) 「readme」ファイルをこの場で読む場合は[Yes]ボタンをクリックする。
(9) インストールが完了したら、[OK]ボタンをクリックする。
【0197】
[ブラウザの起動方法]
ブラウザを起動する前に、まずNetscape Navigatorの設定を行う。なお、スタンドアロンで使用する場合はこの作業は必要なく、スタートメニューの「プログラム」から「CyberPassage Folder...CyberPassage」を選んで起動すれば良い。また、以下の設定は、インストールにより自動的に設定される場合もある。
【0198】
(1) Netscape Navigatorの「Options」メニューから「General Preference」を実行し、「Preference」ウィンドウを開く。上部のタブから「Helper Applications」を選択する。
(2) File typeの一覧に「x-world/x-vrml」があるかどうか確認する。すでに存在していれば、(4)へ進む。
(3) [Create New Type]ボタンをクリックする。Mime Typeの欄に「x-world」、Mime SubTypeの欄に「x-vrml」と入力し、[OK]ボタンをクリックする。Extensions欄に「wrl」と入力する。
(4) [Launch the Application:]ボタンをクリックする。CyberPassageブラウザのパス名をその下のテキスト欄に入力する(デフォルトでは \Program Files\Sony\CyberPassage\bin\vscp.exe)。
(5) [OK]ボタンをクリックする。
【0199】
以上で、設定は終りである。後は、以下の手順で起動する。
【0200】
(1) Netscapeの「File..Open File」メニューで、サンプルのCD−ROMの readme.htmを読み込む。
(2) サンプルワールドへのリンクをクリックすると、CyberPassageが自動的に起動され、CD−ROMに添付したサンプルワールドをロードできる。
【0201】
[ブラウザのアンインストール(削除)方法]
スタートメニューの「プログラム」(Windows NTの場合はプログラムマネージャ)の「CyberPassage Folder」からUninstall を実行すれは、自動的にアンインストールされる。
【0202】
[ブラウザの操作方法]
ブラウザの操作は、マウス49b、キーボード49a、画面上のボタンを用いて行なう。操作は、非常に直観的に行なえる。
【0203】
〈3次元内での移動〉
VRMLが提供する3次元空間では、前進、後退、右へ回転、左へ回転など現実世界で行なっている動作が可能である。ブラウザでは、このような動作を以下のようなユーザインタフェースで実現している。
【0204】
《ボードを使う方法》
キーボード49aでは、その矢印キー(図示せず)で次のように移動できる。
→ 右へ回転
← 左へ回転
↑ 前進
↓ 後退
【0205】
《マウスを使う方法》
マウス操作は、すべて左ボタンで行なう。
(1) CyberPassageのウィンドウ内でマウス49bの左ボタンを押し、押した状態のまま押した地点よりも
右へ動かすと 右へ回転
左へ動かすと 左へ回転
上へ動かすと 前進
下へ動かすと 後退
する。マウスを動かした距離によって移動の速度が変化する。
(2) キーボード49aのCtrl(Control)キー(図示せず)を押した状態で、画面上の物体をクリックすると、その物体の正面まで移動する。
【0206】
ここで、以下の注意が必要である。
・物体にぶつかると衝突音がして、画面の枠が赤く点滅する。この場合はそれ以上先には進めないので、向きを変える。
・自分のいる場所がわからなくなったり、何も見えなくなったりした場合には、画面右の[Home]ボタンをクリックすると、初期位置に戻る。
【0207】
[ジャンピングアイ]
3次元空間をナビゲートしている間に、道に迷うことがある。そのような場合に、空に飛び上がって回りを見回すことができる。
(1) 画面右の[Jump]ボタンをクリックすると、ジャンピングアイモードになり、上空からワールドを見下ろす位置にジャンプする。
(2) もう一度、[Jump]ボタンをクリックすると、元の位置に戻る。
(3) あるいは、ワールド内のどこかの地点をクリックするとその地点に降りる。
【0208】
[物体の選択]
画面上でマウスカーソルを動かすと、物体の上にさしかかったところでカーソルの形が手に変わるところがある。そこでマウス49bの左ボタンをクリックすると、物体の持つアクションを呼び出すことができる。
【0209】
[VRMLファイルの読み込み]
次の方法でVRMLファイルを読み込むことができる。
・NetscapeでVRMLファイルへのリンクをクリックする。
・CyberPassageの「File..Open File」メニューでディスク上の拡張子wrlのファイルを選択する。
・CyberPassageの「File..Open URL」メニューでURLを入力する。
・ワールド内の物体で、マウスカーソルに「URL」と表示されるものをクリックする。
【0210】
[ツールバーボタン操作]
ブラウザでは、良く使う機能をツールバー(図38の表示例に示されている)に並んでいるツールバーのボタンを使って以下のような操作を行うことができる。
[Back] 一つ前に読み込んだワールドに戻る。
[Forward] Backで戻った後、先のワールドへ再度進む。
[Home] 初期位置へ移動する。
[Undo] 物体を移動した後、元の場所に戻す(後述)。
[Bookmark] 現在のワールド、位置をブックマークに登録する。
[Scouter] スカウターモードにする(後述)。
[Jump] ジャンピングアイモードにする。
【0211】
[スカウタモード]
ワールドに置かれた物体は、E-VRMLの機能を用いて、文字列を情報として持つことができる。
(1) 画面右の[Scouter]ボタンをクリックすると、スカウタモードに入る。
(2) 画面上でマウスカーソルを動かすと、情報ラベルを持つ物体の上にさしかかったところで情報ラベルが表示される。
(3) もう一度[Scouter]ボタンをクリックすると、スカウタモードを終了する。
【0212】
[物体を動かす]
キーボード49aのAlt(Alternate)キー(図示せず)を押しながら物体の上でマウス49bの左ボタンを押し、押したままマウス49bを動かすと、物体を移動させることができる。これは、現実世界で、机の上のコーヒーカップを手で動かせるのと同じである。ただし、移動できるのは移動可能属性を持つ物体だけなので、あらゆる物体を移動できるわけではない。サンプルワールドではDigital HandyCamなどで物体を移動させることができる。なお、物体を移動させた後、1回分だけは[Undo]ボタンで元に戻すことができる。
【0213】
[マルチユーザサーバ端末への接続方法]
このブラウザは、マルチユーザ機能を持っている。マルチユーザ機能とは、同じVRMLの仮想空間を他のユーザと共有する機能である。現在、出願人は、CyberPassageビューロをインターネット上で実験運用している。chatroomを読み込むことでサーバ端末に接続し、他のユーザと同じVRMLの仮想空間を共有し、一緒に歩き回ったり、部屋の電気を消したり、チャットしたりすることができる。
【0214】
これは、以下の手順で行なう。
(1) 自分の使っているパーソナルコンピュータが、インターネットへ接続されていることを確認する。
(2) サンプルワールドの Chatroom をブラウザに読み込む。これは、サンプルのCD−ROMの \Sony\readme.htmをNetscapeに読み込み、Chat Roomをクリックすることで行なう。
(3) メッセージウィンドウに「Connected to VS Server」と表示されれば、マルチユーザサーバ端末への接続が成功している。
【0215】
以上で、サーバ端末に接続される。他のユーザとのインタラクションには、次の2種類がある。
・他の人にアクションを伝える。
これは、actionウィンドウ(図40参照)のHello,Smile,Wao!,Wooo!!,Umm...,Sad,Byeなどのボタンをクリックすることで実現される。また、アクションとしては、自分自身(アバタ)を左または右方向に36度、180度、または360度回転させることもできる。
・他の人と会話する。
これは、「View..Chat」メニューでChatウィンドウ(図40参照)を開き、一番下の入力欄にキーボード49aからメッセージを入力することで実現される。
【0216】
[マルチユーザワールド]
サンプルのCD−ROMで提供されているマルチユーザのワールドは、次の3つである。なお、チャットはすべての世界で、共通に行うことができる。
(1)Chat Room
チャットをメインとする部屋であるが、いくつかのオブジェクトは、他のユーザと共有されている。左ボタンでクリックするとだんだん透明になるオブジェクトや、部屋の電気を消すスイッチや、クリックすると飛び回るオブジェクトなどがある。また、秘密の穴などもある。
(2)Play with a ball!
仮想空間に浮かぶボールをクリックすると、自分の方に飛んでくる。このボールは、その空間にいるすべてのユーザで共有され、他のユーザとキャッチボールすることができる。
(3)Share your drawing
仮想空間にホワイトボードが置かれており、それを左ボタンでクリックすると共有ホワイトボードが表示される。左ボタンでドラッグすることでボードに描画することができ、それは、その空間にいる他のユーザと共有できる。
【0217】
なお、サンプルのCD−ROMには、このCyberPassage Browserの他、CyberPassage Conductorと、いくつかのサンプルVRMLファイルが格納されている。ただし、CyberPassage Bureauは、このサンプルのCD−ROMには格納されていない。このCyberPassage Bureauは、インターネット15Aを介して、出願人の会社の提供しているホームページURL=http://vs.sony.co.jp/からダウンロードすることができる。出願人の会社はまた、インターネットを介してマルチユーザワールドURL=http://japan.park.org/Japan/Sony/3DWorld/Circus/を提供している。
【0218】
CyberPassage Bureauを使えば、CyberPassage Browserを使ったユーザ同志がVRML1.0で記述された世界に一緒に入り込むことができる。このため、3次元仮想現実空間を提供するには、まず、VRML1.0で記述されたファイルを用意する必要がある。その後、ビューロ(以下、適宜、Cyber Passage Bureauを、単に、ビューロ(Bureau)と称する)を適当なパーソナルコンピュータで動作させる。さらに、そのVRML1.0のファイルに、ビューロの動いているパーソナルコンピュータを知らせる行を追加する。そのVRMLファイルを、CyberPassage Browserに読み込ませれば、ブラウザ(以下、適宜、Cyber Passage Browserを、単に、ブラウザ(Browser)と称する)はビューロに接続される。
【0219】
接続がうまく行けば、仮想世界の中でユーザ同志がお互いに見え、会話を行うことができる。さらに、適当なスプリクトをファイルに書き込むことにより、アクションパネルを使って、喜怒哀楽を表現することができる。
【0220】
CyberPassage Browserは、TCLを用いた動作記述用のインタフェースを用意している。これを使うことにより、仮想世界の中のオブジェクトに動きを付けて、さらに、それをブラウザ間で同期させることができる。これにより、工夫次第で、3Dゲームなどを複数のユーザで楽しむことが可能となる。
【0221】
マルチユーザの仮想世界を楽しむには、VRMLファイルの準備、ビューロの起動、ブラウザの接続の3つのステップがある。
【0222】
[VRMLファイルの準備]
まず、自分の気に入ったVRML1.0のファイルを用意する。このファイルは、自分で作成するか、あるいはフリーのものを持ってくることができる。そのファイルが、マルチユーザの仮想世界の舞台となる。
【0223】
[ビューロの起動]
CyberPassage Bureauの動作環境は次の通りである。
CPU 486SX以上
OS Windows 95
メモリ 12MB以上
【0224】
このビューロは、ダウンロードしてきたファイルを実行するだけで、起動することができる。実行すると、図35にCyberPassage Bureauとして示すように、いくつかのメニューのついたメニューバーだけが表示される。起動直後は、ビューロは停止状態であり、Viewメニューをプルダウンして、statusを選べば、statusウインドウが表示され、現在のビューロの状態が判るようになる。なお、このとき、停止中であるのか、動作中であるのかの状態の他、接続しているユーザビューロが接続を待っているポート番号も表示される。
【0225】
ビューロは、起動直後はTCPのポート5126番で接続を待つように設定されている。このポート番号を変更するには、optionsメニューをプルダウンして、portを選択する。新しいポート番号の入力を促されたら、5000以上のポート番号を入力する。どのポートを使えばよいか判らない場合には、特に設定をせず、デフォルト値(5126)を使用することができる。
【0226】
停止中のビューロを動作させるには、runメニューをプルダウンして、startを選択する。サーバ端末は、指定されたポートで接続を待つようになる。このとき、statusウインドウで表示されている状態は、図35の表示例に示すように、runningになる。
【0227】
このように、ビューロの準備が完了した後、ブラウザがビューロに接続してきたとき、ビューロは、そのブラウザの位置を他のブラウザに教えたり、会話や動作の情報を受け渡しする。
【0228】
ビューロのstatusウインドウは、ユーザからの接続が来る度に更新されるので、このウインドウを使うことにより、その世界に入っているユーザを確認することができる。
【0229】
[ブラウザの接続]
ブラウザをビューロに接続するには、次の2つのことが必要となる。1つは、ブラウザにどのビューロに接続するのかを指示することである。これは、VRMLファイルにinfoノードを書き込むことにより行われる。そして、もう1つは、自分が他のユーザから見えるように、自分のアバタのファイルを適当なディレクトリにコピーすることである。
【0230】
[VRMLファイルへの追加]
接続するビューロを指定する行をVRMLファイルに書き込むとき、ビューロが動いているパーソナルコンピュータの名称と、ポート番号を指定する。この場合の書式は次のようになる。
DEF VsServer Info {string"サーバ名:ポート番号"}
【0231】
サーバ端末名は、ビューロの動作しているインターネットでのマシン名(例えばfred.research.sony.com)、またはそのIPアドレス(例えば123.231.12.1)になる。ポート番号は、ビューロで設定したポート番号である。
【0232】
従って、上記した書式は例えば次のようになる。
DEF VsServer Info {string"fred.research.sony.com:5126"}
【0233】
また、図33の例においては、共有サーバ端末11B−1のIPアドレスは、43.0.35.117とされているので、この場合には、上記した書式は次のようになる。
DEF VsServer Info { string "43.0.35.117:5126"}
【0234】
このような書式を用意したVRMLファイルの
#VRML V1.0 ascii
の下の行に追加する。
【0235】
[アバタファイルのコピー]
CyberPassage Browserは、CyberPassage Bureauに接続されたとき、それに対し、自分のアバタを通知する。所定のアバタが他のアバタと出会ったとき、ビューロは、この情報を他のブラウザに通知することにより、所定のアバタを他のブラウザに表示させる。このため、所定のアバタのVRMLファイルを予め適当な場所にコピーする必要がある。
【0236】
図35は、アバタを選択する場合の表示例を示している。この表示例においては、person.wrl,boy.wrlまたはgirl.wrlの中から所望のものを、自分のアバタとして選択することができるようになされている。
【0237】
このアバタのファイルを自分のVRMLファイルと同じディレクトリにコピーすると、ブラウザはそのVRMLファイルを読み込んだとき、そのファイルと同じディレクトリにある{person,boy,girl}.wrlファイルを、アバタファイルとして探すことになる。
【0238】
以上のようにして、所定のVRMLファイルを共有するには、ビューロを動作させ、VRMLファイルに、VsServer Infoノードを追加し、{person,boy,girl}.wrlを、そのVRMLファイルと同じディレクトリにコピーすればよい。その後、VRMLファイルを他の人からロードしてもらえるようすれば、そのファイルをCyberPassageで読み込んだ人は、ビューロに接続されることになる。
【0239】
図33に示すように、いま、共有サーバ端末11B−1は、Koutarouのニックネームのアバタを用いて、また、クライアント端末13−1は、Minamiのニックネームのアバタを用いて、それぞれマルチユーザワールドの1つのCIRCUS PARK(サーカスパーク)を歩き回るものとする。このとき、例えば共有サーバ端末11B−1においては、図35に示すように、男性用のアバタの姿であるboy.wrlを選択する。次に、図36に示すように、Viewメニューをプルダウンして、そのメニューの中からさらに、Preferencesを選択すると、図37に示すような画面が表示される。この画面において、ユーザは、図35で選択したアバタの名称(ニックネーム(Nick Name))として、Koutarouを指定する。
【0240】
同様にして、クライアント端末13−1のユーザが、例えば自分のアバタ姿としてgirl.wrlを選択し、そのニックネームとしてMinamiを指定して、CIRCUS PARKに入り込んだとする。そして、共有サーバ端末11B−1のアバタKoutarouと、クライアント端末13−1のアバタMinamiとが、CIRCUS PARKにおいて、十分接近した位置に移動すると、共有サーバ端末11B−1の表示装置25には、図36に示すように、アバタMinamiが表示される。同様に、クライアント端末13−1の表示装置45には、後述する図39に示すように、アバタKoutarouが表示される。
【0241】
ここで、図33と図35乃至38においては、アバタKoutarouが見る表示装置25の表示画面KとアバタMinamiが見る表示装置45の表示画面をMとして各々符号を付してある。
【0242】
これらの図に示すように、各表示装置には、自分自身のアバタの視点からみた3次元仮想現実空間(他のアバタの画像を含む)が表示され、自分自身のアバタは表示されない。
【0243】
このように、複数のアバタが所定の空間内において、十分接近すると(相手方の表示装置に自分のアバタが表示された状態になると)、上述したように、例えば図38に示すViewメニューをプルダウンしてChatを選択することで、Chatを行うことができる。図38は、アバタKoutarouとアバタMinamiがChatを行っている場合の共有サーバ端末11B−1側の表示装置25における表示例を示している。
【0244】
同図に示すように、Chatウインドウには、各端末のキーボードからそれまでに入力されたメッセージが表示されている。自らが入力した文字は、Chatウインドウの一番下側の表示領域に一旦表示され、キーボード49aの確定キー(図示せず)を操作すると、その入力したメッセージ(文字列)が相手側に伝送される。例えば、いま、アバタMinami(クライアント端末13−1)から「今日が初めてです」のメッセージが共有サーバ端末11B−1に伝送されてきたとき、このメッセージは図38に示すように、共有サーバ端末11B−1の表示装置25において、CyberPassage BrowserのウインドウのアバタMinamiの上方に吹き出し(ballon)表示されるとともに、Chatのウインドウ内にも、過去のメッセージに続いて表示される。
【0245】
図39は、共有サーバ端末11B−1側から「観覧車を見に行きましょう」のメッセージを入力した場合におけるクライアント端末13−1の表示装置45の表示例を示している。この場合においても、そのメッセージがCIRCUS PARKのウインドウ内のアバタKoutarouの上方に吹き出し表示されるとともに、Chatのウインドウ内に過去のメッセージに続けて表示される。
【0246】
また、図40の表示例においては、クライアント端末13−1側において、[Hello]ボタンが操作された場合を表している。このとき、図40に示すように、共有サーバ端末11B−1において、アバタMinamiが右手を上げる画像が表示されるとともに、そのスピーカ27に、[Hello]の音声メッセージが出力される。
【0247】
ユーザは、端末のそばを離れるような場合、アバタをスリープ状態にすることができる。例えば、アバタMinamiをスリープ状態にするとき、クライアント端末13−1側において、図39に示すように表示されているアクションウィンドウボタンのうち、[Active]ボタンをクリックして、このボタンを図41に示すように、[Sleep]ボタンに変化させる。すると、アバタMinamiがスリープ状態になる。このとき、共有サーバ端末11B−1側の表示装置25に表示されているアバタMinamiは、図42に示すように、地面に座り込んだ状態のSleep状態となる。共有サーバ端末11B−1側のユーザは、この表示からアバタMinamiがスリープ状態になったことを(アバタMinamiのユーザがクライアント端末13−1から離れたことを)知ることができる。Sleep状態において、[Sleep]ボタンをクリックすると、ボタンは再び、[Active]ボタンに戻る。
【0248】
このようにして、実際に自分自身が3次元仮想現実空間としてのCIRCUS PARK内を散策して楽しむことができる。
【0249】
上述したCIRCUS PARK内で実現されるパレード、アバタの移動、アクションウィンドウの各ボタンによるアバタの動作等を実施するために本発明が適用されている。
【0250】
以上、本発明を、ネットワーク15として、インターネットを採用するとともに、WWWを利用する場合について説明したが、本発明は、ネットワーク15として、インターネット以外の広域通信網を採用した場合、また、WWW以外のシステムを採用した場合においても、実現可能である。
【0251】
【発明の効果】
以上の如く請求項1に記載の3次元仮想現実空間共有方法および請求項10に記載の3次元仮想現実空間共有システムによれば、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む変更シーケンスをクライアント端末に個々に記憶し、複数のクライアント端末の変更シーケンスを同期して起動するようにしたので、複数のサブオブジェクトからなる複雑な形状のオブジェクトの挙動を複数のクライアント端末において、3次元仮想現実空間を共有することができるとともに、そのための通信量を少なくし、迅速な画像表示が可能となる。
【0252】
請求項11に記載の情報処理方法および請求項12に記載のクライアント端末によれば、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む変更シーケンスを記憶し、他のクライアント端末の変更シーケンスに同期して、自己のクライアント端末の更新シーケンスを起動するようにしたので、複数のサブオブジェクトからなる複雑な形状のオブジェクトの挙動を他のクライアント端末と3次元仮想現実空間を共有可能なクライアント端末を実現することが可能となる。
【0253】
請求項13に記載の情報処理方法および請求項14に記載の共有サーバ端末によれば、共有サーバ端末で管理している前記更新オブジェクトの状態の更新を判断し、更新オブジェクトの状態が更新された時点で、更新オブジェクトの3次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む変更シーケンスの種類を指定するためのメッセージを、前記各クライアント端末に対して通知するようにしたので、複数のサブオブジェクトからなる複雑な形状のオブジェクトの挙動を複数のクライアント端末に3次元仮想現実空間を提供することが可能なサーバ端末を実現することができる。
【図面の簡単な説明】
【図1】本発明を適用したサイバースペースシステムの構成例を示すブロック図である。
【図2】図1のサーバ端末11の構成例を示すブロック図である。
【図3】図1のクライアント端末13の構成例を示すブロック図である。
【図4】図1のサービス提供者端末14の構成例を示すブロック図である。
【図5】図1のサイバースペースシステムにより形成される仮想現実空間を説明する図である。
【図6】図5のアバタCからの視野を説明する図である。
【図7】図5のアバタDからの視野を説明する図である。
【図8】サイバースペースシステムにおけるメッセージの伝送を説明する図である。
【図9】メッセージリストを示す図である。
【図10】表示例を示す図である。
【図11】クライアント端末13−1の表示例を示す図である。
【図12】クライアント端末13−2の表示例を示す図である。
【図13】クライアント端末13−3の表示例を示す図である。
【図14】メッセージ1の処理を示すフローチャートである。
【図15】仮想現実空間におけるアバタの移動を示す図である。
【図16】メッセージ3の処理を示すフローチャートである。
【図17】図16のステップS24の手の運動処理の詳細を示すフローチャートである。
【図18】図16のステップS25の足の運動処理の詳細を示すフローチャートである。
【図19】クライアント端末における他の表示例を示す図である。
【図20】複雑な動作開始の処理を示すフローチャートである。
【図21】本発明を適用したサイバースペースシステムの他の実施例の構成を示すブロック図である。
【図22】WWWを説明するための図である。
【図23】URLの例を示す図である。
【図24】マッピングサーバ端末の構成例を示すブロック図である。
【図25】クライアント端末13(サービス提供者端末14)の動作を説明するフローチャートである。
【図26】情報サーバ端末11Aの動作を説明するフローチャートである。
【図27】マッピングサーバ端末12の動作を説明するフローチャートである。
【図28】共有サーバ端末11Bの動作を説明するフローチャートである。
【図29】クライアント端末13の他の構成例を示すブロック図である。
【図30】基本オブジェクトと更新オブジェクトの格納先を説明する図である。
【図31】基本オブジェクトと更新オブジェクトの配置を説明するための図である。
【図32】サイバースペースシステムを実現するためのソフトウエアを説明するための図である。
【図33】クライアント端末13−1と共有サーバ端末11B−1の有するソフトウエアを説明する図である。
【図34】ソフトウエアが動作する環境を説明する図である。
【図35】図33における共有サーバ端末11B−1側における表示例を示す図である。
【図36】図33における共有サーバ端末11B−1側における表示例を示す図である。
【図37】図33における共有サーバ端末11B−1側における表示例を示す図である。
【図38】図33における共有サーバ端末11B−1側における表示例を示す図である。
【図39】図33におけるクライアント端末13−1側の表示例を示す図である。
【図40】図33の共有サーバ端末11B−1側の表示例を示す図である。
【図41】図33のクライアント端末13−1側の他の表示例を示す図である。
【図42】図33の共有サーバ端末11B−1側の他の表示例を示す図である。
【図43】従来のLANを介して構築されたサイバースペースシステムの構成例を示すブロック図である。
【図44】従来のLANを介して構築されたサイバースペースシステムにおける表示例を示す図である。
【図45】従来のアバタの歩行動作を表現する場合の原理図である。
【符号の説明】
1 サーバ端末, 2 記憶装置, 3,3−1,3−2,3−3 クライアント端末, 4 公衆電話回線, 11,11−1,11−2 サーバ端末, 13,13−1,13−2,13−3 クライアント端末, 14,14−1,14−2 サービス提供者端末, 15 ネットワーク, 30,30−1,30−2 記憶装置
Claims (14)
- 複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続し、
前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め前記各クライアント端末に各々登録しておき、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを、前記各クライアント端末に対して通知し、
前記各クライアント端末は、前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させ、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記3次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む
ことを特徴とする3次元仮想現実空間共有方法。 - 前記各クライアント端末は、各々のユーザの操作に応じて、前記更新オブジェクトの状態が更新された場合、その更新内容に対応する前記メッセージを前記共有サーバ端末へ通知する
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記変更シーケンスとは、前記個々のサブオブジェクトの複合的な連携動作手順である
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記変更シーケンスは、さらに、前記個々のサブオブジェクトの移動の方向、期間、距離および回転の方向、期間、距離の少なくとも1つを含む
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記共有サーバ端末は、予め設定されたタイミングで、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを前記各クライアント端末へ各々通知する
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記広域通信網は、TCP/IP(Transmission Control Protocol/Internet Protocol)の通信プロトコルに基づいて、不特定の前記クライアント端末と、前記共有サーバ端末との間における、前記メッセージの授受を行う
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記更新オブジェクトを表現する3次元グラフィックスデータは、VRML(Virtual Reality Modeling Language)で記述されている
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記共有サーバ端末は、さらに、予め設定されている所定の条件になったと判定したとき、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを生成して、前記各クライアント端末に対して通知する
ことを特徴とする請求項1に記載の3次元仮想現実空間共有方法。 - 前記共有サーバ端末は、前記共有サーバ端末で管理している前記更新オブジェクトの位置関係が所定の基準値以下になったと判定したとき、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを生成して、前記各クライアント端末に対して通知する
ことを特徴とする請求項8に記載の3次元仮想現実空間共有方法。 - 複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、
前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末と、
前記各クライアント端末と前記共有サーバ端末とを接続する広域通信網と、
予め前記各クライアント端末に各々登録され、前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルとを備え、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを、前記各クライアント端末に対して通知し、
前記各クライアント端末は、前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させ、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記3次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む
ことを特徴とする3次元仮想現実空間共有システム。 - 複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した3次元仮想現実空間共有システムにおけるクライアント端末の情報処理方法であって、
前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め前記各クライアント端末に各々登録する登録処理ステップと、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から通知される、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを取得するメッセージ取得処理ステップと、
前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させる表示更新処理ステップとを備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記3次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む
ことを特徴とする3次元仮想現実空間共有システムにおけるクライアント端末の情報処理方法。 - 複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した3次元仮想現実空間共有システムにおけるクライアント端末であって、
前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め前記各クライアント端末に各々登録する登録処理手段と、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から通知される、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを取得するメッセージ取得処理手段と、
前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している3次元仮想現実空間に反映させる表示更新処理手段とを備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記3次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む
ことを特徴とする3次元仮想現実空間共有システムにおけるクライアント端末。 - 複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した3次元仮想現実空間共有システムにおける共有サーバ端末の情報処理方法であって、
前記共有サーバ端末で管理している前記更新オブジェクトの状態の更新を判断する判断処理ステップと、
前記更新オブジェクトの状態が更新された時点で、前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、前記各クライアント端末に対して通知する通知処理ステップと
を備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記3次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む
ことを特徴とする3次元仮想現実空間共有システムにおける共有サーバ端末の情報処理方法。 - 複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む3次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した3次元仮想現実空間共有システムにおける共有サーバ端末であって、
前記共有サーバ端末で管理している前記更新オブジェクトの状態の更新を判断する判断処理手段と、
前記更新オブジェクトの状態が更新された時点で、前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、前記各クライアント端末に対して通知する通知処理手段と
を備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記3次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも1つを含む
ことを特徴とする3次元仮想現実空間共有システムにおける共有サーバ端末。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17733596A JP3859020B2 (ja) | 1995-07-12 | 1996-06-18 | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17585495 | 1995-07-12 | ||
JP7-175854 | 1995-07-12 | ||
JP17733596A JP3859020B2 (ja) | 1995-07-12 | 1996-06-18 | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0981782A JPH0981782A (ja) | 1997-03-28 |
JP3859020B2 true JP3859020B2 (ja) | 2006-12-20 |
Family
ID=26496986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17733596A Expired - Fee Related JP3859020B2 (ja) | 1995-07-12 | 1996-06-18 | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3859020B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230252709A1 (en) * | 2013-08-09 | 2023-08-10 | Implementation Apps Llc | Generating a background that allows a first avatar to take part in an activity with a second avatar |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10333834A (ja) * | 1997-05-30 | 1998-12-18 | Namco Ltd | 情報記憶媒体及び画像生成装置 |
KR100347456B1 (ko) * | 1999-08-10 | 2002-08-03 | 학교법인 한국정보통신학원 | 분산 가상 환경에서의 확장성을 위한 예측 기반 동시성 제어방법 |
JP4642194B2 (ja) * | 2000-08-15 | 2011-03-02 | 凸版印刷株式会社 | オブジェクト制御装置、オブジェクト制御方法およびその記録媒体 |
JP4544262B2 (ja) * | 2007-05-07 | 2010-09-15 | ソニー株式会社 | 仮想現実空間共有システムおよび方法、並びに、情報処理装置および方法 |
JP5049816B2 (ja) * | 2008-02-21 | 2012-10-17 | 株式会社野村総合研究所 | Web表示と連動する仮想空間提供装置及び方法 |
JP2009259135A (ja) * | 2008-04-21 | 2009-11-05 | Tetsuo Kamei | ネットワーク型リアルタイムコミュニケーションシステム |
JP2010066789A (ja) * | 2008-09-08 | 2010-03-25 | Taito Corp | アバター編集サーバ及びアバター編集プログラム |
JP6333180B2 (ja) * | 2012-02-07 | 2018-05-30 | エンパイア テクノロジー ディベロップメント エルエルシー | オンラインゲーム |
KR102279104B1 (ko) * | 2019-01-15 | 2021-07-20 | 박창현 | 현실 환경 기반 포스팅 공유 장치 및 현실 환경 기반 포스팅 공유 방법 |
-
1996
- 1996-06-18 JP JP17733596A patent/JP3859020B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230252709A1 (en) * | 2013-08-09 | 2023-08-10 | Implementation Apps Llc | Generating a background that allows a first avatar to take part in an activity with a second avatar |
US12094045B2 (en) * | 2013-08-09 | 2024-09-17 | Implementation Apps Llc | Generating a background that allows a first avatar to take part in an activity with a second avatar |
US12100087B2 (en) * | 2013-08-09 | 2024-09-24 | Implementation Apps Llc | System and method for generating an avatar that expresses a state of a user |
Also Published As
Publication number | Publication date |
---|---|
JPH0981782A (ja) | 1997-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0753835B1 (en) | A three-dimensional virtual reality space sharing method and system | |
JP3859018B2 (ja) | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、アドレス管理方法、並びにアドレス管理サーバ端末 | |
US6020885A (en) | Three-dimensional virtual reality space sharing method and system using local and global object identification codes | |
EP0753836B1 (en) | A three-dimensional virtual reality space sharing method and system | |
US6057856A (en) | 3D virtual reality multi-user interaction with superimposed positional information display for each user | |
US6437777B1 (en) | Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium | |
US6346956B2 (en) | Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium | |
US6154211A (en) | Three-dimensional, virtual reality space display processing apparatus, a three dimensional virtual reality space display processing method, and an information providing medium | |
US6954906B1 (en) | Image display processing apparatus that automatically changes position of sub-window relative to main window depending on distance at watch sub window is commanded to be displayed | |
US5926179A (en) | Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium | |
AU718608B2 (en) | Programmable computer graphic objects | |
US6331853B1 (en) | Display control apparatus display control method and presentation medium | |
JP3859020B2 (ja) | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 | |
JP4236717B2 (ja) | 3次元仮想現実空間共有システムにおける情報処理装置、情報処理方法および情報提供媒体 | |
Snowdon et al. | Inhabited information spaces: living with your data | |
Jensen | Virtual inhabited 3D worlds: interactivity and interaction between avatars, autonomous agents and users | |
JP4032321B2 (ja) | 3次元仮想現実空間表示処理装置、3次元仮想現実空間表示処理方法および情報記録媒体 | |
JPH0981495A (ja) | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報記録媒体、情報記録方法、情報伝送媒体、情報伝送方法、情報処理方法、並びに共有サーバ端末 | |
JPH10154242A (ja) | 3次元仮想現実空間表示処理装置、3次元仮想現実空間表示処理方法、および情報提供媒体 | |
JP3879154B2 (ja) | 情報処理装置および情報処理方法 | |
JPH10154052A (ja) | 3次元仮想現実空間表示処理装置、表示処理方法および情報提供媒体 | |
JPH10154053A (ja) | 3次元仮想現実空間表示処理装置、3次元仮想現実空間表示処理方法、および情報提供媒体 | |
JPH10105358A (ja) | 画像表示制御装置および方法、並びに情報記録媒体 | |
JPH10154059A (ja) | 画像表示処理装置、画像表示処理方法、および情報提供媒体 | |
JPH10105736A (ja) | 画像表示制御装置および方法、並びに情報記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060612 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060913 |
|
LAPS | Cancellation because of no payment of annual fees |