(57)【特許請求の範囲】
【請求項１】
サーバと、ネットワークと、ネットワークを介してサーバに接続される複数の端末とからなる情報処理システムにおいて、
上記サーバは、３次元グラフィックス・データの記述言語によって実現される、複数の端末からアクセス可能な仮想共有世界を構築するためのデータを上記端末に送信し、
上記端末は、上記サーバから受信した仮想共有世界を構築するための上記データに基づき、ユーザ操作によって、仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードを生成し、生成された上記動作解釈ノードを持った上記仮想生命オブジェクトをネットワークを介してサーバに送信し、
上記サーバは、それぞれの端末から受信した上記仮想生命オブジェクトの上記動作解釈ノードと通信し、上記動作解釈ノードのパラメータに基づいて、仮想共有世界の上記仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを提供する情報処理システムであって、
上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成する
ことを特徴とする情報処理システム。
【請求項２】
上記構造パラメータには、上記仮想生命オブジェクトの身長、体重、関節、上記関節の座標情報、上記関節と連結する関節を示す連結関節情報、連結した関節間の長さ情報、関節の動きを制限する制限情報のうち少なくとも１つを含むことを特徴とする請求項１記載の情報処理システム。
【請求項３】
上記行動パラメータには、上記仮想生命体の体格指数、食欲指数、健康度指数、寿命算時間、知能指数、言語能力指数、社交性指数、自主性指数、活発指数、機嫌指数のうち少なくとも１つを含むことを特徴とする請求項１記載の情報処理システム。
【請求項４】
上記サーバは、上記動作解釈ノードパラメータに基づいて、上記動作解釈ノードパラメータを管理するパラメータ管理テーブルを生成し、
仮想共有世界における仮想生命オブジェクトの行動及び性格を決定し、
上記決定された行動及び性格に基づいて挙動データを生成する仮想生命オブジェクト用管理ノードを提供する
ことを特徴とする請求項１記載の情報処理システム。
【請求項５】
端末が、規格化された部品を組み合わせることにより、仮想生命オブジェクトを構築する工程と、
上記端末が、ネットワークを介してサーバと接続する工程と、
上記端末が、上記サーバから受信したデータに基づいて３次元グラフィックス・データの記述言語によって実現される、複数の端末からアクセス可能な仮想共有世界を構築する工程と、
上記端末が、構築した上記仮想生命オブジェクトと上記仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードとを上記仮想共有世界にネットワークを介して送信する工程とを備える情報処理方法であって、
上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成する
ことを特徴とする情報処理方法。
【請求項６】
上記構造パラメータには、上記仮想生命オブジェクトの身長、体重、関節、上記関節の座標情報、上記関節と連結する関節を示す連結関節情報、連結した関節間の長さ情報、関節の動きを制限する制限情報のうち少なくとも１つを含むことを特徴とする請求項５記載の情報処理方法。
【請求項７】
上記行動パラメータには、上記仮想生命体の体格指数、食欲指数、健康度指数、寿命算時間、知能指数、言語能力指数、社交性指数、自主性指数、活発指数、機嫌指数のうち少なくとも１つを含むことを特徴とする請求項５記載の情報処理方法。
【請求項８】
サーバが、ネットワークを介して端末と接続する工程と、
上記サーバが、上記端末が構築した仮想生命オブジェクトと仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードとをネットワークを介して受信する工程と、
上記サーバが、上記端末から受信した上記動作解釈ノードと通信し、上記動作解釈ノードのパラメータに基づいて、仮想共有世界内の仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを生成する工程とを備える情報処理方法であって、
上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成する
ことを特徴とする情報処理方法。
【請求項９】
上記構造パラメータには、上記仮想生命オブジェクトの身長、体重、関節、上記関節の座標情報、上記関節と連結する関節を示す連結関節情報、連結した関節間の長さ情報、関節の動きを制限する制限情報のうち少なくとも１つを含むことを特徴とする請求項８記載の情報処理方法。
【請求項１０】
上記行動パラメータには、上記仮想生命体の体格指数、食欲指数、健康度指数、寿命算時間、知能指数、言語能力指数、社交性指数、自主性指数、活発指数、機嫌指数のうち少なくとも１つを含むことを特徴とする請求項８記載の情報処理方法。
【請求項１１】
上記仮想生命オブジェクト用管理ノードを生成する工程は、上記動作解釈ノードパラメータに基づいて、上記動作解釈ノードパラメータを管理するパラメータ管理テーブルを生成し、
仮想共有世界における仮想生命オブジェクトの行動及び性格を決定し、
上記決定された行動及び性格に基づいて挙動データを生成する
ことを特徴とする請求項８記載の情報処理方法。
【請求項１２】
端末が、規格化された部品を組み合わせることにより、仮想生命オブジェクトを構築する手段と、
上記端末が、ネットワークを介してサーバと接続する手段と、
上記端末が、上記サーバから送信されたデータに基づいて３次元グラフィックス・データの記述言語によって実現される、複数の端末からアクセス可能な仮想共有世界を構築する手段と、
上記端末が、上記仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードを生成し、生成した動作解釈ノードを持った上記仮想生命オブジェクトを上記仮想共有世界にネットワークを介して送信する手段とを有する情報処理装置であって、
上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成する
ことを特徴とする情報処理装置。
【請求項１３】
上記構造パラメータには、上記仮想生命オブジェクトの身長、体重、関節、上記関節の座標情報、上記関節と連結する関節を示す連結関節情報、連結した関節間の長さ情報、関節の動きを制限する制限情報のうち少なくとも１つを含むことを特徴とする請求項１２記載の情報処理装置。
【請求項１４】
上記行動パラメータには、上記仮想生命体の体格指数、食欲指数、健康度指数、寿命算時間、知能指数、言語能力指数、社交性指数、自主性指数、活発指数、機嫌指数のうち少なくとも１つを含むことを特徴とする請求項１２記載の情報処理装置。
【請求項１５】
サーバが、ネットワークを介して端末と接続する手段と、
上記サーバが、上記端末が構築した仮想生命オブジェクトと仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードをネットワークを介して受信する手段と、
上記サーバが、上記端末から受信した上記動作解釈ノードと通信し、上記動作解釈ノードのパラメータに基づいて、仮想共有世界の仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを生成する手段とを有する情報処理装置であって、
上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成する
ことを特徴とする情報処理装置。
【請求項１６】
上記構造パラメータには、上記仮想生命オブジェクトの身長、体重、関節、上記関節の座標情報、上記関節と連結する関節を示す連結関節情報、連結した関節間の長さ情報、関節の動きを制限する制限情報のうち少なくとも１つを含むことを特徴とする請求項１５記載の情報処理装置。
【請求項１７】
上記行動パラメータには、上記仮想生命体の体格指数、食欲指数、健康度指数、寿命算時間、知能指数、言語能力指数、社交性指数、自主性指数、活発指数、機嫌指数のうち少なくとも１つを含むことを特徴とする請求項１５記載の情報処理装置。
【請求項１８】
上記仮想生命オブジェクト用管理ノードを生成する手段は、上記動作解釈ノードパラメータに基づいて、上記動作解釈ノードパラメータを管理するパラメータ管理テーブルを生成し、
仮想共有世界における仮想生命オブジェクトの行動及び性格を決定し、
上記決定された行動及び性格に基づいて挙動データを生成する
ことを特徴とする請求項１５記載の情報処理装置。
【請求項１９】
端末が、仮想共有世界に配置可能なオブジェクトとして構築された仮想生命オブジェクトの少なくとも体の構造と行動を解釈するステップと、
上記端末が、上記仮想共有世界上の仮想生命オブジェクトを上記の少なくとも体の構造と行動の解釈に基づいて管理するサーバのマスタ管理機構と上記仮想生命オブジェクトの通信機能を介して通信するステップと、
上記端末が、上記マスタ管理機構により生成された、上記仮想生命オブジェクトの行動を制御するためのデータに基づいて、上記構築された仮想生命オブジェクトを動かすステップと
を実行させるためのプログラムを記録したコンピュータ読み取り可能な情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理システム、情報処理方法及び装置、並びに情報提供媒体に関し、特に、仮想空間上の仮想生命オブジェクトの構造及び動作等を規定し、その仮想生命オブジェクトの行動や性格等を管理する情報処理システム、情報処理方法及び装置、並びに情報提供媒体に関する。
【０００２】
【従来の技術】
従来より、複数の利用者が自らのパーソナルコンピュータを、モデムおよび公衆電話回線網を介してセンターのホストコンピュータに接続し、所定の通信プロトコルに基づいてホストコンピュータにアクセスする、いわゆるパソコン通信サービス（例えばNIFTY-Serve(商標)や米国のCompuServe(商標)など）の分野においては、サイバースペースと呼ばれる仮想共有世界を提供するサービス（例えばHabitat（商標）等）が知られている。
【０００３】
なお、上記Habitatは、米国LucasFilm社によって１９８５年から開発が始められ、米国商業ネットワークであるQuantumLink社で約３年間運用された後、１９９０年２月に富士通Habitat（商標）としてNIFTY-Serveでそのサービスが開始されたものである。このHabitatにおいては、2次元グラフィックスで描画された「ポピュロポリス（Populopolis）」と呼ばれる仮想の都市に、アバタ（avatar；インド神話に登場する神の化身）と呼ばれるユーザの分身を送り込み、ユーザ同士がチャット（Chat；文字の入力と表示によるテキストベースでのリアルタイムの対話）などを行うことができる。このHabitatの更に詳細な説明については、サイバースペース，マイケル・ベネディクト編，１９９４年３月２０日初版発行，ＮＴＴ出版 ISBN4−87188−265−9C0010（原著；Cyberspace：First Steps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA ISBN0−262−02327−X）第２８２頁乃至第３０７頁を参照されたい。
【０００４】
この種のパソコン通信サービスで運用されている従来のサイバースペースシステムにおいては、仮想的な街並みや部屋の内部の様子が２次元グラフィックスで描画されており、アバタを奥行きまたは手前方向へ移動させる場合、単にアバタを２次元グラフィックスの背景上で上下に移動させるだけであり、仮想空間内での歩行や移動を疑似体験させるには表示の上での表現力が乏しかった。また、自分の分身であるアバタと他人のアバタが表示された仮想空間を、第３者の視点で見ることになるため、この点においても、疑似体験の感覚が損なわれるものであった。
【０００５】
そこで、特開平９−８１７８１号公報に開示されているように、仮想空間を３次元グラフィックスで表示し、ユーザがアバタの視点で自由に歩き回れる機能が、ＶＲＭＬ(Virtual Reality Modeling Language)と呼ばれる3次元グラフィクス・データの記述言語を利用することによって実現されている。また、ユーザの代理となるアバタを用いてチャットを行う種々のサイバースペースの考察に関しては、日経エレクトロニクス１９９６．９．９(no.670)の第１５１頁乃至１５９頁に記載されている。
【０００６】
一方、近年、パーソナルコンピュータ用のソフトウェア・プログラムとして、熱帯魚を育てる飼育シミュレーション・ゲームや、仮想世界に住んでいる人工知能を持った仮想生物を育てる飼育シミュレーション・ゲームなどが知られている。また、電子手帳に犬や猫等の疑似ペットを表示、その成長過程を楽しめるようにした製品も知られている（日経エレクトロニクス１９９７．４．７(no.686)の第１３１頁乃至１３４頁参照）。さらには、この種の飼育シミュレーション・ゲーム・プログラムを組込んだ、たまご大の携帯電子ペットとして、バンダイ株式会社が開発・製品化した「たまごっち（商標）」が広く知られている。
【０００７】
この種の携帯電子ペットは、１チップのＬＳＩ（大規模集積回路）にＣＰＵ（中央処理装置）やＲＯＭ，ＲＡＭ等が内蔵されており、そのＲＯＭ内に飼育シミュレーション・ゲーム・プログラムが格納され、さらにＬＣＤ（液晶表示装置）によって仮想的なペットの姿や状態が表示されるようになっている。ユーザは、操作ボタンを操作して、「食事を与える」、「掃除をする」など、ペットとしての仮想生物を飼育するのに必要な指示を与える。この結果として、ＬＣＤで表示される仮想生物が成長し、その成長の過程で、仮想生物の外観が、例えば、たまご、ひよこ、成鳥へと段階的に変化していく。
【０００８】
また、ユーザのボタン操作に応じて、その指示が適切ならば順調に仮想生物が成長し、不適切ならば、病気になったり死亡してしまうようにプログラムされている。さらに、内部に組込まれているカレンダ・タイマーによって得られる仮想生物の誕生時点からの経過時間に基づいて、仮想生物側より各種の要求が行われるようにプログラムされている。例えば夜間の時間帯では仮想生物より睡眠の要求がなされ、食事の時間帯には食事の要求があり、またランダムにおやつや遊びの要求がなされる。これらの要求にユーザが適切に対応しない場合、仮想生物の成長が遅れたり、性格が悪化したりする。一方、ユーザが適切に対応した場合には、仮想生物の寿命が伸びるようにプログラムされている。
【０００９】
ここで、例えば、特開平７−１６０８５３号公報には、電子手帳などに適用され、動物や植物等の生物の成長過程に応じた画像を表示する技術が開示されている。すなわち、植物キャラクタの成長過程の各段階のビットマップ画像をＲＯＭに格納しておき、成長度に応じた植物キャラクタをＬＣＤに表示させると共に、予めＲＯＭに記憶されている植物成長要素（水、光、肥料）の各キヤラクタを表示させ、それら各成長要素の投与量をキー入力することで、その投与量に応じた各成長要素の値がＲＡＭ内の水量レジスタ、光量レジスタ、肥料量レジスタに各々セットされ、これらの各レジスタの値に基づいて、新たな成長度が算出され、その算出された成長度に対応した植物キャラクタがROMから読み出されてＬＣＤに表示される。これにより、ユーザの飼育状況に応じた植物の成長過程が表示される。
【００１０】
【発明が解決しようとする課題】
ところで、上述したような仮想空間上におけるオブジェクト（キャラクタ）の動作や構造等は、サービス提供者が規定したものであり、クライアント側（ユーザ）が自由に変更、改造等することはできない。
【００１１】
そこで、本発明はこのような状況に鑑みてなされたものであり、仮想空間上でのオブジェクトの動作や構造等をユーザが自由に変更、改造等できるようにした、情報処理システム、情報処理方法及び装置、並びに情報提供媒体を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明の情報処理システムは、サーバと、ネットワークと、ネットワークを介してサーバに接続される複数の端末とからなる情報処理システムにおいて、上記サーバは、３次元グラフィックス・データの記述言語によって実現される、複数の端末からアクセス可能な仮想共有世界を構築するためのデータを上記端末に送信し、上記端末は、上記サーバから受信した仮想共有世界を構築するための上記データに基づき、ユーザ操作によって、仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードを生成し、生成された上記動作解釈ノードを持った上記仮想生命オブジェクトをネットワークを介してサーバに送信し、上記サーバは、それぞれの端末から受信した上記仮想生命オブジェクトの上記動作解釈ノードと通信し、上記動作解釈ノードのパラメータに基づいて、仮想共有世界の上記仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを提供する情報処理システムであって、上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成することにより、上述した課題を解決する。
【００１３】
本発明の情報処理方法は、端末が、規格化された部品を組み合わせることにより、仮想生命オブジェクトを構築する工程と、上記端末が、ネットワークを介してサーバと接続する工程と、上記端末が、上記サーバから受信したデータに基づいて３次元グラフィックス・データの記述言語によって実現される、複数の端末からアクセス可能な仮想共有世界を構築する工程と、上記端末が、構築した上記仮想生命オブジェクトと上記仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードとを上記仮想共有世界にネットワークを介して送信する工程とを備える情報処理方法であって、上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成することにより、上述した課題を解決する。
また、本発明の情報処理装置は、端末が、規格化された部品を組み合わせることにより、仮想生命オブジェクトを構築する手段と、上記端末が、ネットワークを介してサーバと接続する手段と、上記端末が、上記サーバから送信されたデータに基づいて３次元グラフィックス・データの記述言語によって実現される、複数の端末からアクセス可能な仮想共有世界を構築する手段と、上記端末が、上記仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードを生成し、生成した動作解釈ノードを持った上記仮想生命オブジェクトを上記仮想共有世界にネットワークを介して送信する手段とを有する情報処理装置であって、上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成することにより、上述した課題を解決する。
【００１４】
本発明の情報処理方法は、サーバが、ネットワークを介して端末と接続する工程と、上記サーバが、上記端末が構築した仮想生命オブジェクトと仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードとをネットワークを介して受信する工程と、上記サーバが、上記端末から受信した上記動作解釈ノードと通信し、上記動作解釈ノードのパラメータに基づいて、仮想共有世界内の仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを生成する工程とを備える情報処理方法であって、上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成することにより、上述した課題を解決する。
また、本発明の情報処理装置は、サーバが、ネットワークを介して端末と接続する手段と、上記サーバが、上記端末が構築した仮想生命オブジェクトと仮想生命オブジェクトの動作解釈に必要なパラメータを含む動作解釈ノードであって、ソフトウェアモジュールを含み、通信機能を備えたプログラムを有する動作解釈ノードをネットワークを介して受信する手段と、上記サーバが、上記端末から受信した上記動作解釈ノードと通信し、上記動作解釈ノードのパラメータに基づいて、仮想共有世界の仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを生成する手段とを有する情報処理装置であって、上記パラメータは、少なくとも上記仮想生命オブジェクトの体の構造を定義する構造パラメータと、上記仮想生命オブジェクトの行動を定義する行動パラメータとを含み、上記端末における上記仮想生命オブジェクトに対する操作に基づき、上記サーバが各パラメータを更新させ、上記操作を反映した仮想生命オブジェクトを生成することにより、上述した課題を解決する。
【００１５】
本発明の情報提供媒体は、端末が、仮想共有世界に配置可能なオブジェクトとして構築された仮想生命オブジェクトの少なくとも体の構造と行動を解釈するステップと、上記端末が、上記仮想共有世界上の仮想生命オブジェクトを上記の少なくとも体の構造と行動の解釈に基づいて管理するサーバのマスタ管理機構と上記仮想生命オブジェクトの通信機能を介して通信するステップと、上記端末が、上記マスタ管理機構により生成された、上記仮想生命オブジェクトの行動を制御するためのデータに基づいて、上記構築された仮想生命オブジェクトを動かすステップとを実行させるためのプログラムを記録している。
【００１６】
【発明の実施の形態】
本発明の好ましい実施の形態について、図面を参照しながら説明する。
【００１７】
本発明実施の形態の説明に先立ち、世界的規模で構築されたコンピュータネットワークであるインターネット(The Internet)において、様々な情報を提供するＷＷＷ(world wide web)の枠組みを利用し、３次元的な情報を統一的に扱うことができる記述言語であるＶＲＭＬ(virtual reality modeling language)について簡単に説明する。
【００１８】
ＶＲＭＬは、３次元空間の記述や３次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらＷＷＷサーバを次々とアクセスできるようにした３次元グラフィックス記述言語であり、また、このＶＲＭＬで記述された３次元空間を表示するためにＶＲＭＬブラウザが開発されている。なお、このＶＲＭＬの詳細は、例えば、「ＶＲＭＬを知る：３次元電脳空間の構築とブラウジング〔マーク・ペッシ著，松田晃一・蒲地輝尚・竹内彰一・本田康晃・暦本純一・石川真之・宮下健・原和弘訳，１９９６年３月２５日初版発行，プレンティスホール出版ISBN4-931356-37-0〕（原著；VRML：Browsing & Building Cyberspace,Mark Pesce, 1995 New Readers Publishing ISBN 1-56205-498-8））」、および「ＶＲＭＬの最新動向とＣｙｂｅｒＰａｓｓａｇｅ〔松田晃一・本田康晃著、ｂｉｔ（共立出版）／1996 Vol.28 No.7 pp29 乃至pp36, No.8 pp57 乃至pp65, No.9 pp29 乃至pp36, No.10 pp49乃至pp58〕」等の文献に記載されている。また、 August 4, 1996における The Virtual Reality Modeling Language Version  2.0, ISO/IEC CD 14772の公式かつ完全な仕様書は、http://webspace.sgi.com/moving-worlds/spec/index.htmlで公開されており、その日本語版は、http://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spec-jp/index.htmlで公開されている。さらに、ＶＲＭＬ２．０用ブラウザおよび共有サーバ用ソフトウェアとしては、例えば、本出願人であるソニー株式会社が「Community Place Browser / Bureau(商標)」として開発し、製品化しており、そのβ版（試供版）を、インターネット上のホームページhttp://vs.sony co.jpからダウンロード可能としている。
【００１９】
このようなＶＲＭＬ２．０を用いて３次元的な仮想空間を構築しようとする場合、まず、ＶＲＭＬにより仮想空間内の物体（モデル）の形、動きおよび位置等を示す図形データの作成（モデル作成）、ユーザが画面表示された仮想空間内のモデルを、例えばマウスでクリックしてポインティングした場合にイベントを発生させるスイッチ（センサ）のモデルへの付加（センサ付加）、センサへのポインティングに応じて発生するイベントを実現するスクリプトのプログラミング（スクリプト作成）、センサに対する操作とスクリプトの起動等、図形データおよびスクリプト（以下、図形データ、スクリプトおよびＶＲＭＬに規定されているライト等のコモンノード等を総称してノードとも記す）の間の対応付け（ルーティング）などによって所望のコンテンツを表現するＶＲＭＬファイルを作成する。例えば、http://www.ses.co.jp/SES/STAFF/kan/howto/howto1.htmlには、ＶＲＭＬ２．０の書き方、サンプルデータなどが解説されている。
【００２０】
ＶＲＭＬ２．０のデータはノード(Node)とフィールド(Field)で構成されている。フィールドはノードに変数を渡し、ノードのパラメータを指定する。フィールドは省略可能であり、フィールドを省略した場合には、デフォルト値が用いられる。また、フィールドには単一の値しか持たない「単一値フィールド(SF)」と複数の値を持つ「複値フィールド(MF)」がある。ノードの詳しい機能やフィールドなどは「Appendix1：VRML2.0 Node List」を参照されたい。
【００２１】
ここで、ＶＲＭＬ２．０には、ＶＲＭＬ仮想空間内における自律的な動き(Behavior)を実現するためのメカニズムが規定されている。この自律的な動き（Behavior）のメカニズムの詳細な説明については、http://webspace.sgi.com/moving-worlds/spec/part1/concepts.htmlおよび、その日本語版であるhttp://www.webcity.co.jp/info/andoh/VRML/VRML2.0/spec-jp/part1/concepts.htmlで公開されている、August 4, 1996におけるThe Virtual Reality Modeling Language Version 2.0,ISO/IEC CD 14772の仕様書、4．概念の節に開示されている。この節には、ＶＲＭＬ仕様書を利用するにあたりキーとなる概念が記述されている。ノードをシーングラフに結合する方法、ノードがイベントを生成したり受け取ったりする方法、プロトタイプによるノードタイプの作成方法、ＶＲＭＬにノードタイプを追加して外部から使用できるようにエクスポートする方法、ＶＲＭＬファイルにプログラムとして動作するスクリプトを組み込む方法など、様々なノードに関する一般的な項目が記載されている。
【００２２】
次に、ユーザ（クライアントＰＣ）側において仮想共有世界内の仮想生命オブジェクトを構築可能にすると共に、当該構築した仮想生命オブジェクトの例えば骨格や関節、表面状態、制約条件等とそれらの動作を規定するノード（以下、動作解釈ノードと呼ぶ）をクライアントＰＣ側に配置し、当該クライアントＰＣにて生成された上記動作解釈ノードを持った仮想生命オブジェクトをサーバ側に転送し、サーバ側では当該動作解釈ノードに基づいて仮想生命オブジェクトの管理体を生成すると共に、上述したようなＶＲＭＬ２．０の自律的な動き（Behavior）を実現するメカニズムを応用して、その仮想生命オブジェクトの仮想共有世界上での行動及び性格等を管理するようにした技術について説明する。なお、仮想生命オブジェクトとしては、人型、動物型など種々のタイプが考えられる。
【００２３】
図１には、例えば人型の仮想生命オブジェクトをユーザ側のクライアントＰＣ１１０にて構築し、サーバ１００側においてその仮想生命オブジェクトの動作解釈ノードに基づいて当該仮想生命オブジェクトの行動及び性格等を管理する管理体を生成するようにした、本発明の一実施の形態の全体の概略的なシステム構成図を示す。
【００２４】
この図１において、クライアントＰＣ１１０，１２０，１３０，１４０，・・・（以下代表してクライアントＰＣ１１０のみを例に挙げて説明する。）は、ユーザ（実際にはユーザが扱うキーボードやマウス等）１１３により操作される例えばパーソナルコンピュータ等の端末であり、例えば家庭用の公衆電話回線等の各種通信回線を介してインターネット等に接続可能となされているものである。クライアントＰＣ１１０には、例えば人型等の仮想生命オブジェクト１１１の骨格や関節、制約条件等とそれらの動作等を規定する上記動作解釈ノード１１２のためのプログラムが配置されている。すなわち、この動作解釈ノード１１２は、ソフトウェアモジュールを含み、例えばいわゆるＪａｖａ（米国Sun Microsystems社の商標）等により書かれた通信機能を備えたプログラムを有しており、所定の規格に合わせて作られた仮想生命オブジェクトの体節や各部品（例えば頭や手、足など）を認識可能となされている。各クライアントＰＣは、それぞれ上記動作解釈ノード１１２を持った仮想生命オブジェクト１１１のデータを、上記インターネット等を介して共有サーバ１０５に送る。
【００２５】
共有サーバ１０５は、仮想共有世界上で共有される３次元オブジェクトの位置や動き等を管理すると共に、ＡＯ（Application Object）サーバ１００と各クライアントＰＣ間の通信を管理するサーバである。例えばクライアントＰＣ１１０から上記仮想生命オブジェクト１１１のデータが送信されてきた時には、そのデータをＡＯサーバ１００のマスタコントロール部１０３に転送し、また、ＡＯサーバ１００から仮想共有世界上での各仮想生命オブジェクト１０１のデータが送信されてきた時には、そのデータをマルチキャスト機能１０６により複数のクライアントＰＣに同時に送信する。また、クライアントＰＣ１１０によって仮想共有世界内の仮想生命オブジェクト等に対して何らかのアクションがなされた時には、そのアクションに応じて仮想共有世界の３次元オブジェクトの位置や動き等を管理すると同時に、そのアクションをＡＯサーバ１００に転送する。
【００２６】
ＡＯサーバ１００は、マスタコントロール部１０３において、仮想共有世界上の各仮想生命オブジェクトの挙動（行動や性格等）を管理する。また、ＡＯサーバ１００のマスタコントロール部１０３は、共有サーバ１０５との間で情報の送受を行う。
【００２７】
ここで、上記動作解釈ノード１１２を持つ仮想生命オブジェクト１１１が仮想共有世界に入ると、上記動作解釈ノード１１２に含まれる通信機能は、上記ＡＯサーバ１００のマスタコントロール部１０３と通信する。なお、実際にクライアントＰＣ１１０にて作成された仮想生命オブジェクト１１１を仮想共有世界に入れる場合、クライアントＰＣ１１０ではブラウザを起動し、仮想共有世界への窓を開き、その仮想共有世界に上記仮想生命オブジェクト１１１を例えばドラッグ＆ドロップにより入れる。
【００２８】
このように、上記動作解釈ノード１１２を持つ仮想生命オブジェクト１１１が仮想共有世界内に入ってきたときのＡＯサーバ１００のマスタコントロール部１０３は、上記動作解釈ノード１１２との間で通信を行うことにより、当該動作解釈ノード１１２を持つ仮想生命オブジェクト１１１の管理体（以下、オブジェクト用管理ノード１０２と呼ぶ）を生成する。当該オブジェクト用管理ノード１０２は、上記動作解釈ノード１１２から当該仮想生命オブジェクト１１１の骨格や関節、制約条件等とそれらの動作を定義するパラメータを取り出し、そのパラメータに基づいて、仮想共有世界内の仮想生命オブジェクト１０１の行動や性格等を決定する。以下、当該仮想生命オブジェクト１１１の骨格や関節、制約条件等とそれらの動作を定義するパラメータを構造・動作パラメータと呼び、仮想生命オブジェクト１０１の行動や性格等を定義するパラメータを行動・性格パラメータと呼ぶことにする。
【００２９】
上述のようにしてＡＯサーバ１００のオブジェクト用管理ノード１０２により管理されることになった仮想生命オブジェクト１０１（仮想生命オブジェクト１１１）は、共有サーバ１０５のマルチキャスト機能１０６により、複数のクライアントＰＣ１１０，１２０，１３０，１４０，・・・に同時送信される。これにより、各クライアントＰＣでは、共通の仮想空間内において、例えば複数のクライアントＰＣにより各々作成され且つＡＯサーバ１００のそれぞれ対応するオブジェクト用管理ノード１０２によって管理される複数の仮想生命オブジェクト１０１や、ＡＯサーバ１００自身が作成及び管理する仮想生命オブジェクト等が同時に存在することになる。
【００３０】
また、このときのクライアントＰＣ１１０の動作解釈ノード１１２は、上記ＡＯサーバ１００のマスタコントロール部１０２と通信し、標準化されたプロトコルに則って、仮想共有世界上の仮想生命オブジェクト１０１の関節を動かしたり、発話したり、表情を作り出すなどの各種行動を実現する。
【００３１】
また、上記オブジェクト用管理ノード１０２には、仮想生命オブジェクト１０１に対する言語機能、思考機能、記憶機能、学習機能が組み込まれている。したがって、このオブジェクト用管理ノード１０２によれば、仮想共有世界内において各仮想生命オブジェクト間で互いに会話をさせたり、教育や訓練により育てたりすることができ、さらに、学習機能によって自らが電子メールを送るようなことも可能となっている。また、オブジェクト用管理ノード１０２によれば、仮想共有世界内において、それぞれの仮想生命オブジェクトをリアルタイムでインタラクションさせたり、挨拶させたり、話し込ませたり、仮想生命オブジェクト同士で喧嘩させたり、恋愛させたりすることも可能である。さらに、仮想共有世界内には、ユーザ自身のアバタや、他の何らかのコンピュータプログラムにより操作されるオブジェクト（ボット）も存在でき、したがって、アバタとボットとの間で会話等を行うことも可能である。なお、インターネット上での仮想共有世界は複数存在可能であり、それぞれの仮想共有世界はＡＯサーバ１００のマスタコントロール部１０３毎に異なり、それぞれ異なるサービスを提供可能となっている。
【００３２】
次に、図２〜図７を用いて、上記図１のようなシステムにおける基本的な動作、クライアントＰＣ１１０による仮想生命オブジェクト１１１の生成、共有サーバによる仮想共有世界の管理、ＡＯサーバによる仮想生命オブジェクト１０１の管理等の処理の流れについて説明する。
【００３３】
図２には、図１のシステムの共有サーバ１０５において、クライアントＰＣ１１０からのログインに応じて当該クライアントＰＣ１１０に仮想共有世界を提供すると共に、ＡＯサーバ１００から仮想生命オブジェクトのデータを送信する基本的流れを示す。
【００３４】
この図２において、共有サーバ１０５は、ステップＳ１１にてクライアントＰＣ１１０すなわちユーザ１１３からのログインがなされたか否かを判断しており、ログインがなされた時にはステップＳ１２の処理に進む。
【００３５】
ユーザ１１３からログインがなされると、共有サーバ１０５は、クライアントＰＣ１１０に対して、仮想共有世界のデータを送信し、また、ＡＯサーバ１００内の仮想生命オブジェクトのデータを転送する。
【００３６】
図３には、共有サーバ１０５に接続した時のクライアントＰＣ１１０の基本的な流れを示す。
【００３７】
この図３において、クライアントＰＣ１１０は、ユーザ１１３からログインの指示がなされると、ステップＳ２１として、共有サーバ１０５に接続する。
【００３８】
クライアントＰＣ１１０は、共有サーバ１０５と接続した後、ステップＳ２２において、仮想共有世界の全体のデータと当該仮想共有世界内のオブジェクトのデータの受信待ちとなる。
【００３９】
当該ステップＳ２２において、仮想共有世界の全体のデータと当該仮想共有世界内のオブジェクトのデータを受信すると、ステップＳ２３にてそれらデータを内部ハードディスクに記録或いは内部メモリに記憶し、次いで、ステップＳ２４として、当該記録したデータに基づいてモニタ画面上に仮想共有世界を表示する。
【００４０】
図４には、クライアントＰＣ１１０における仮想生命オブジェクト１１１の生成からＡＯサーバ１００への送信までの流れを示す。
【００４１】
この図４において、クライアントＰＣ１１０では、先ず、ステップＳ３１において、ユーザ１１３によって仮想生命オブジェクト１１１の構築が行われる。ここで、仮想生命オブジェクトの構築は、例えば当該仮想生命オブジェクトの身体を構成する体節或いは部品を組み合わせることにより行われる。各体節或いは部品は、例えばインターネット上のアーカイブから入手することも、また、クライアントＰＣ内にインストールされているエディッタソフト等によりユーザ自身が創り出すことも可能である。なお、ユーザ自身が創り出した体節や部品をインターネット上のアーカイブに置くことも可能である。このように例えばインターネット上のアーカイブに置かれる体節や部品は、所定の規格に則ったものであり、したがって、各ユーザがそれら規格化された体節や部品を組み合わせることで、自由に仮想生命オブジェクトを構築可能となっている。
【００４２】
ステップＳ３１にて仮想生命オブジェクト１１１が構築されると、クライアントＰＣ１１０の動作解釈ノード１１２は、ステップＳ３２において、当該動作解釈ノード１１２を持った仮想生命オブジェクト１１１のデータをサーバ側に送信する。
【００４３】
図５には、ＡＯサーバ１００において、クライアントＰＣ１１０にて構築された仮想生命オブジェクト１１０から、オブジェクト用管理ノードを生成するまでの流れを示す。
【００４４】
一方、ステップＳ５４の処理において、クライアントＰＣから仮想生命オブジェクトに対するアクションを受信すると、ＡＯサーバ１００は、ステップＳ５５として、そのアクションに対応するように仮想共有世界上の仮想生命オブジェクト１０１の行動及び性格を再決定（行動・性格パラメータの更新）し、さらに、この更新された行動・性格パラメータに基づく新たな挙動データを共有サーバ１０５に送信する。これにより、共有サーバ１０５からは、当該更新された行動・性格パラメータに基づく新たな挙動データがマルチキャスト機能１０６によって各クライアントＰＣに送信されることになる。
【００４５】
このとき、ＡＯサーバ１００のマスタコントロール部１０３内では、ステップＳ４２として、動作解釈ノード１１２の持つプログラムが上記ＡＯサーバ１００のマスタコントロール部１０３と通信し、当該動作解釈ノード１１２を持つ仮想生命オブジェクト１１１の管理体（オブジェクト用管理ノード１０２）を生成する。
【００４６】
次に、当該オブジェクト用管理ノード１０２は、ステップＳ４３として、上記動作解釈ノード１１２から当該仮想生命オブジェクト１１１の骨格や関節、制約条件等とそれらの動作を定義する構造・動作パラメータを取り出し、仮想共有世界内の仮想生命オブジェクト１０１の行動や性格等を定義する行動・性格パラメータと共に後述するパラメータ管理テーブルを生成する。
【００４７】
図６には、ＡＯサーバ１００においてオブジェクト用管理ノード１０２により仮想生命オブジェクト１０１の行動及び性格を決定し、共有サーバ１０５においてその仮想生命オブジェクト１０１のデータをクライアントＰＣ１１０に送信し、ＡＯサーバ１００がクライアントＰＣ１１０からの返信（アクション）に応じて当該オブジェクト用管理ノード１０２の行動・性格パラメータを更新するまでの処理の流れを示す。
【００４８】
この図６において、先ず、ＡＯサーバ１００のオブジェクト用管理ノード１０２は、ステップＳ５１として、例えば前記ＶＲＭＬ２．０によるＶＲＭＬ仮想空間内における自律的な動き（Behavior）を実現するためのメカニズムにより、仮想生命オブジェクト１０１の行動及び性格を決定（行動・性格パラメータの値を決定）する。
【００４９】
次に、ＡＯサーバ１００のオブジェクト用管理ノード１０２は、ステップＳ５２として、上記決定された行動及び性格（行動・性格パラメータ）に基づいて、仮想生命オブジェクト１０１の挙動データ、すなわち仮想生命オブジェクト１０１の各体節や関節の動作方向、動作速度、動作前後の体節や関節の位置データ等からなる挙動データを生成する。当該ＡＯサーバ１００にて生成された挙動データは、共有サーバ１０５に送られることになる。
【００５０】
共有サーバ１０５は、ステップＳ５３において、ＡＯサーバ１０１から転送されてきた仮想生命オブジェクト１０１の挙動データをマルチキャス機能１０６により、各クライアントＰＣ１１０，１２０，１３０，１４０，・・・に送信する。
【００５１】
その後、ＡＯサーバ１００は、ステップＳ５４において、各クライアントＰＣのユーザにより、仮想共有世界上の仮想生命オブジェクトに対して入力されたアクションデータを受信したか否かを判断する。なお、クライアントＰＣ１１０においてユーザから入力されるアクションとは、ユーザが例えば仮想生命オブジェクトに行わせたい行動を、例えば画面上に表示されている各行動を表すアイコンをクリックすることや、例えば漢字と記号の組み合わせからなるコマンドを入力することにより指示することである。
【００５２】
上記ステップＳ５４の処理において、各クライアントＰＣからのアクションを受信していないときには、ステップＳ５１の処理に戻り、仮想生命オブジェクトの次の動作の決定処理に移る。
【００５３】
一方、ステップＳ５４の処理において、クライアントＰＣから仮想生命オブジェクトに対するアクションを受信すると、ＡＯサーバ１００は、ステップＳ５５として、そのアクションに対応するように仮想共有世界上の仮想生命オブジェクト１０１の行動及び性格を再決定（行動・性格パラメータの更新）し、さらに、この更新された行動・性格パラメータに基づく新たな挙動データを共有サーバ１２に送信する。これにより、共有サーバ１２からは、当該更新された行動・性格パラメータに基づく新たな挙動データがマルチキャスト機能１０６によって各クライアントＰＣに送信されることになる。
【００５４】
その後、ＡＯサーバ１００は、ステップＳ５６において、処理を終了するか否かを判断し、終了しないときにはステップＳ５１に戻って上述の処理を繰り返す。
【００５５】
図７には、クライアントＰＣ１１０において、ＡＯサーバ１００から送信されてきた挙動データに基づいて、仮想共有世界上に表示されている仮想生命オブジェクト１０１を動作させ、また、ユーザが当該仮想生命オブジェクト１０１に対して加えたアクションをＡＯサーバ１００に送信するまでの流れを示す。
【００５６】
この図７において、クライアントＰＣ１１０は、ステップＳ６１にて、共有サーバ１０５を介してＡＯサーバ１００から送信されてくる仮想生命オブジェクト１０１の挙動データの受信待ち状態となっている。
【００５７】
ステップＳ６１にて上記挙動データを受信した時、クライアントＰＣ１１０では、ステップＳ６２として、当該挙動データに基づき、標準化されたプロトコルに則って、仮想共有世界上の仮想生命オブジェクト１０１の関節を動かしたり、発話したり、表情を作り出すなどの各種行動を実現する。
【００５８】
次に、クライアントＰＣ１１０では、ステップＳ６３において、ユーザから仮想生命オブジェクト１０１に対するアクションの受信待ちとなる。ユーザからアクションが入力されない時はステップＳ６１の処理に戻り、アクションデータが入力された時はステップＳ６４にてそのアクションデータを共有サーバ１０５を介してＡＯサーバに送信する。これにより、ＡＯサーバ１００では、当該送信したアクションに応じて行動・性格パラメータが更新され、クライアントＰＣ１１０には、この更新された行動・性格パラメータに基づく挙動データが送られてくることになり、当該クライアントＰＣ１１０では、ＡＯサーバ１００から送られてきた挙動データに応じて行動する仮想生命オブジェクトが表示されること、すなわち、ユーザによるアクションを反映した行動を行う仮想生命オブジェクトが表示されることになる。
【００５９】
その後、クライアントＰＣ１１０では、ステップＳ６５において、当該仮想共有世界から出るか否かの判断を行い、仮想共有世界から出ない場合にはステップＳ６１の処理に戻り、仮想共有世界から出ると判断した場合には処理を終了する。
【００６０】
次に、図８には、上記ＡＯサーバ１００のオブジェクト用管理ノード１０２が各仮想生命オブジェクト毎に備えるパラメータ管理テーブルの一例を示す。
【００６１】
この図８において、当該パラメータ管理テーブルは、仮想生命データとユーザデータとに大別される。
【００６２】
仮想生命データは、１つの仮想共有世界内において３次元（３Ｄ）の仮想生命オブジェクトを一意に特定するための３ＤオブジェクトＩＤ、仮想共有世界内における仮想生命オブジェクトの３次元座標値、仮想生命オブジェクトの種類（例えば人や猿、猫など）、仮想生命オブジェクトの性別、仮想生命オブジェクトに対してユーザが付与したニックネーム或いは名前、仮想生命オブジェクトに対してユーザにより初期設定がなされた日時（仮想生命オブジェクトの例えば誕生日時）、当該仮想生命オブジェクトが最初に入れられた仮想共有世界の名前（本籍ワールド名）、及び、オブジェクトパラメータとからなる。
【００６３】
上記オブジェクトパラメータは、仮想生命オブジェクトの前述した構造・動作パラメータと行動・性格パラメータに大別される。
【００６４】
構造・動作パラメータは、仮想生命の身長や体重、仮想生命の骨格構造とそれらの動作を定義する。また、行動・性格パラメータは、仮想生命オブジェクトの行動及び性格等に基づく仮想共有世界内での挙動を定義する。
【００６５】
上記構造・動作パラメータと行動・性格パラメータについて、具体的に人型の仮想生命オブジェクトを例に挙げて説明する。
【００６６】
例えば図９に示すような人型の骨格と当該骨格の各関節に対してＪ１〜Ｊ１５までのＩＤ（関節ＩＤ）を付与したとすると、上記構造・動作パラメータは、例えば図１０に示すように、当該仮想生命の身長（ｃｍ）、体重（ｋｇ）、仮想生命の骨格構造の各関節を示す関節ＩＤ、各関節の座標情報、各関節と連結する関節を示す連結関節情報、連結した関節間の長さ情報、関節の動き（例えば角度）を制限する制限情報等からなる。なお、これら各情報は一例であり、実際にはさらに多くの情報がある。図１０の例において、例えばＪ２の関節ＩＤが付与されている関節の場合、当該Ｊ２の関節の座標は（x21,y21,z21）、当該Ｊ２の関節と連結する関節はＪ１，Ｊ３，Ｊ４、当該Ｊ２の関節と連結する各関節Ｊ１，Ｊ３，Ｊ４間の長さは２０，１５，１５（ｃｍ）、Ｊ２の関節が動作可能な角度は６０度となっている。
【００６７】
上記行動・性格パラメータは、例えば図１１に示すように、仮想生命の体格指数、食欲指数、健康度指数、寿命残時間（単位時間）、知能指数、言語能力指数、社交性指数、自主性指数、活発性指数、機嫌指数等により構成されている。これら行動・性格パラメータの指数等は、ユーザによって最初に初期設定された誕生日時からの経過時間に伴って発生するタイマイベントや、クライアントＰＣによるコーイベントやアクションイベント等に基づいて、所定の行動・性格パラメータ算出式によって算出された値に順次更新される。
【００６８】
行動・性格パラメータとその更新について、以下に簡単な例を挙げて説明する。
【００６９】
行動・性格パラメータの各指数は、１／１０〜１０／１０までの値をとり、１／１０で最も指数が低く、１０／１０で最も指数が高くなる。
【００７０】
例えば、仮想共有世界内の仮想生命オブジェクト１０１の食欲指数が高まり、当該仮想生命オブジェクト１０１が食事をとると体格指数が高まる。体格指数は、構造・動作パラメータの身長や体重情報と連動する。その後、時間経過に伴うタイマイベントが発生すると、構造・動作パラメータの体重が減少し、それに伴って、体格指数が低くなる。その他、寿命残時間は仮想生命オブジェクトの寿命を表し、知能指数は仮想生命の頭の良さを表し、言語能力指数は言語能力の高低を、社交性指数は社交性の善し悪しを、自主性指数は自主性の有り無しを、活発性指数は仮想生命の元気さを、機嫌指数は仮想生命の機嫌の善し悪しを表す。
【００７１】
上述したような各指数からなる行動・性格パラメータは、更新される毎に、その更新に応じた挙動データが共有サーバ１０５のマルチキャスト機能１０６により、各クライアントＰＣへ転送される。各クライアントＰＣでは、転送されてきた挙動データに基づいて、仮想生命オブジェクトの挙動が制御される。すなわち、各クライアントＰＣ上では、上記転送されてきた挙動データに基づいて、仮想生命オブジェクトの挙動を制御するための処理手順が記述されてスクリプトプログラムが実行され、ＶＲＭＬファイルの仮想生命オブジェクトを表現するための３Ｄオブジェクトを構成する各ノードのフィールドの値が変更され、この変更されたフィールドの値が反映された仮想生命オブジェクトがレンダリングされ、クライアントＰＣのモニタの画面上の例えばＶＲＭＬブラウザのメインウインドウ上に表示される。
【００７２】
次に、図１２には図１に示した本実施の形態のシステムの、より具体的な構成図を示す。
【００７３】
図１２において、図中の指示符号１，２，３にて示す構成要素は、ＶＲＭＬブラウザ及びＷＷＷブラウザがインストールされ、これらが動作している前述したクライアントＰＣ（１１０，１２０，１３０，・・・）であり、ＩＰ（インターネット接続サービスプロバイダ）４，５，６を介してインターネット７と接続されている。
【００７４】
インターネット７とルータ８を介して接続されたＬＡＮ(Local Area Network)９には、ＷＷＷサーバ１０、ＷＬＳ（World Location Server）１１、共有サーバ１２（１０５）、ＡＯサーバ１３，１４（１００）、メールサーバ１５、およびコミュニケーションサーバ１６が接続されている。これらの各サーバ１０乃至１６には、ハードディスク（ＨＤＤ）１０ａ，１０ｂ，１１ａ乃至１６ａが、各々設けられている。
【００７５】
コミュニケーションサーバ１６は、公衆電話回線網１７を介して電話機１８やファクシミリ１９と接続され、さらに、ＰＨＳ（Personal Handyphone System）サービスプロバイダ２０を介してＰＨＳ端末２３に無線接続され、ポケットベルサービスプロバイダ２１を介してポケットベル端末２４に無線接続されている。
【００７６】
図１３は図１２のクライアントＰＣ１のハードウェア構成を示すブロック図である。
【００７７】
図１３において、当該クライアントＰＣ１は、各部を制御するＣＰＵ３０、ＶＲＭＬ２．０ファイルやＪａｖａ（登録商標）による仮想生命オブジェクトのスクリプトプログラム等からなるＶＲＭＬコンテンツおよびユーザデータが格納されたＨＤＤ３１、ＣＤ−ＲＯＭディスク３３に格納されたＶＲＭＬコンテンツを読み取るＣＤ−ＲＯＭドライブ３２、ＢＩＯＳ（Basic Input Output Systems）等が格納されたＲＯＭ３４、マイクロフォン３６と左右のスピーカ３７，３８が接続されたサウンド処理回路３５、インターネット７に接続するためのモデム３９、マウス４１とキーボード４２が接続されたＩ／Ｏ（入出力）インターフェイス４０、ＶＲＡＭ４４が内蔵されたグラフィックス処理回路４３、ＣＲＴモニタ４５、ＲＡＭ４６等からなる。上記ＲＡＭ４６には、実行時に、ＯＳ（例えばマイクロソフト社のWindows（登録商標）など）上で動作するＷＷＷブラウザ（例えば、Netscape Navigator（商標））と、インタプリタ（例えばJavaインタプリタ）と、ＶＲＭＬ２．０ブラウザ（例えばソニー株式会社によって開発されたであるCommunity Place Browserなど）が読み込まれて、ＣＰＵ３０によって実行される状態となっている。
【００７８】
ＶＲＭＬ２．０ブラウザには、ＶＲＭＬの構文解釈用ライブラリ（パーサ）（例えば米国シリコングラフィクス社によって開発され、無償公開されているQvLibなど）と、ソフトウエア・レンダラ（例えば英国Criterion Software Ltd.のであるRenderWare等）が実装されている。
【００７９】
そして、このクライアントＰＣのＶＲＭＬ２．０ブラウザは、図１３に示すように、ＷＷＷブラウザ（例えば、Netscape Navigator）との間において、例えばＮＣＡＰＩ（Netscape Client Application Programing Interface、商標）に基づいて各種データの授受を行う。
【００８０】
ＷＷＷブラウザは、インターネット７を介してＷＷＷサーバ１０よりＨＴＭＬファイルとＶＲＭＬコンテンツ（ＶＲＭＬファイルとスクリプトプログラムとを含む）の供給を受けると、これらをローカルのＨＤＤ３１にそれぞれ記憶させる。ＷＷＷブラウザは、このうちのＨＴＭＬファイルを処理してテキストや画像をＣＲＴモニタに表示する一方、ＶＲＭＬブラウザはＶＲＭＬファイルを処理して３次元仮想空間をＣＲＴモニタに表示するとともに、インタプリタによるスクリプトプログラムの処理結果に応じて、３次元仮想空間内のオブジェクトの挙動を変化させる。
【００８１】
なお、図示は省略するが、他のクライアントＰＣ２やクライアントＰＣ３も、クライアントＰＣ１と同様に構成されている。
【００８２】
次に、図１２に示したシステムの一動作例について説明する。
【００８３】
先ず、実際にＶＲＭＬコンテンツをインターネット経由でダウンロードしてから、一つ仮想空間を複数のユーザで共有するマルチユーザ環境とするまでの手順を図１４〜図１６を参照して説明する。
【００８４】
図１４において、図中Ｌ１で示すように、最初に、ＷＷＷブラウザを用いて、ＶＲＭＬコンテンツを提供している例えばウェブサイトのホームページを閲覧する。次に、図中Ｌ２で示すように、クライアントＰＣ１とクライアントＰＣ２のユーザは、ＶＲＭＬ２．０ファイルと、ＶＲＭＬ空間内での自律的な動き（Behavior）を実現するためのスクリプトプログラム（例えばJavaによるスクリプトプログラム）とからなるＶＲＭＬコンテンツを、それぞれダウンロードする。もちろん、ＣＤ−ＲＯＭディスク３３で提供されるＶＲＭＬコンテンツをＣＤ−ＲＯＭドライブ３２で読み込んでも良い。
【００８５】
次に、図１５に示すように、クライアントＰＣ１及びクライアントＰＣ２は、それぞれにダウンロードされ、一旦ローカルのＨＤＤ３１に格納されたＶＲＭＬ２．０ファイルを、ＶＲＭＬ２．０ブラウザが解釈・実行し、さらに図中Ｌ３で示すように、ＶＳＣＰ（Virtual Society Server Client Protocol）に基づいて、ＷＬＳ１１に対して共有サーバ１２のＵＲＬを問い合わせる。このとき図中Ｌ４で示すように、ＷＬＳ１１はＨＤＤ１１ａに格納された共有サーバＵＲＬ管理テーブルを参照して、クライアントＰＣ１及びクライアントＰＣ２に対して、共有サーバ１２のＵＲＬを通知する。
【００８６】
このＵＲＬを用いて、図１６に示すように、クライアントＰＣ１とクライアントＰＣ２が、共有サーバ１２に接続する。その結果、図中Ｌ５で示すように、この共有サーバ１２を介して共有３Ｄ（３次元）オブジェクトの位置や動きなどに関する共有メッセージの送信が行われ、図中Ｌ６で示すように、その転送が行われ、マルチユーザ環境が実現される。
【００８７】
なお、以上の接続手順の詳しい説明については、特開平９−８１７８１号公報を参照されたい。
【００８８】
本発明実施の形態において、上記処理を実行するコンピュータプログラムをユーザに提供する情報提供媒体には、磁気ディスク、ＣＤ−ＲＯＭなどの情報記録媒体の他、インターネット、ディジタル衛星などのネットワークによる伝送媒体も含まれる。
【００８９】
【発明の効果】
本発明の情報処理システム、情報処理方法及び装置、並びに情報提供媒体によれば、端末側が、ユーザ操作に基づいて、仮想生命オブジェクトの動作解釈に必要な少なくとも構造パラメータと行動パラメータを含む動作解釈ノードをネットワークを介してサーバに提供し、また、サーバ側が、それぞれの端末から受信した上記動作解釈ノードに基づいて、仮想共有世界の仮想生命オブジェクトそれぞれについての行動を管理するために構築される仮想生命オブジェクト用管理ノードを提供することにより、仮想空間上のオブジェクトの構造や動作等をユーザが自由に変更、改造等することが可能になったとともに、上記構造や動作等の変化に基づいて決定された仮想生命オブジェクトの行動や性格等にも影響を与えることが可能となった。
【図面の簡単な説明】
【図１】本発明実施の形態の情報処理システムの基本構成を示す図である。
【図２】本実施の形態のシステムの共有サーバにおいて、クライアントＰＣからのログインに応じて仮想共有世界を提供すると共に、ＡＯサーバから仮想生命オブジェクトのデータを送信する基本的流れを示すフローチャートである。
【図３】共有サーバに接続した時のクライアントＰＣの基本的な流れを示すフローチャートである。
【図４】クライアントＰＣにおける仮想生命オブジェクトの生成からＡＯサーバへの送信までの流れを示すフローチャートである。
【図５】ＡＯサーバにおいて、クライアントＰＣにて構築された仮想生命オブジェクトから、オブジェクト用管理ノードを生成するまでの流れを示すフローチャートである。
【図６】オブジェクト用管理ノードによる仮想生命オブジェクトの行動及び性格の決定から、クライアントＰＣからの返信に応じた行動・性格パラメータの更新までの処理の流れを示すフローチャートである。
【図７】挙動データに基づいた仮想共有世界上での仮想生命オブジェクトの動作と、ユーザによるアクションのＡＯサーバへの送信までの流れを示すフローチャートである。
【図８】パラメータ管理テーブルの例を示す図である。
【図９】人型の仮想生命オブジェクトの骨格構造と各関節ＩＤの説明に用いる図である。
【図１０】構造・動作パラメータの一例の説明に用いる図である。
【図１１】行動・性格パラメータの一例の説明に用いる図である。
【図１２】本発明実施の形態の情報処理システムの詳細な構成を示す図である。
【図１３】図１２のクライアントＰＣの構成例を示すブロック回路図である。
【図１４】図１２のシステムにおいて、ＶＲＭＬコンテンツを提供するウェブサイトのホームページの閲覧からクライアントＰＣにＶＲＭＬコンテンツをダウンロードするまでの処理の流れの説明に用いる図である。
【図１５】図１２のシステムにおいて、クライアントＰＣによるＶＲＭＬ２．０ファイルの解釈・実行と、共有サーバのＵＲＬの問い合わせまでの処理の流れの説明に用いる図である。
【図１６】複数のクライアントＰＣが共有サーバを介して３次元オブジェクトに関するデータを受信してマルチユーザ環境を実現する処理の流れの説明に用いる図である。
【符号の説明】
１００  ＡＯサーバ、  １０１，１１１  仮想生命オブジェクト、  １０２  オブジェクト用管理ノード、  １０３  マスタコントロール部、  １０５  共有サーバ、  １０６  マルチキャスト機能、  １１０〜１４０  クライアントＰＣ、  １１２  動作解釈ノード、  １１３  ユーザ
【図１】
0004006873.tif 000002
【図２】
0004006873.tif 000003
【図３】
0004006873.tif 000004
【図４】
0004006873.tif 000005
【図５】
0004006873.tif 000006
【図６】
0004006873.tif 000007
【図７】
0004006873.tif 000008
【図８】
0004006873.tif 000009
【図９】
0004006873.tif 000010
【図１０】
0004006873.tif 000011
【図１１】
0004006873.tif 000012
【図１２】
0004006873.tif 000013
【図１３】
0004006873.tif 000014
【図１４】
0004006873.tif 000015
【図１５】
0004006873.tif 000016
【図１６】
0004006873.tif 000017