(57)【特許請求の範囲】
【請求項１】
アバタとエージェントとからなる複数のキャラクタが登場する仮想空間を３次元画像で表示する３次元仮想空間シミュレータであって、
前記アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、
前記エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、
前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段とを備え、
前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、
前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとを共通としており、
さらに、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能であることを特徴とする３次元仮想空間シミュレータ。
【請求項２】
ネットワークを介して接続された複数のコンピュータで構成され、前記仮想空間を共有して、３次元画像で表示することを特徴とする請求項１に記載の３次元仮想空間シミュレータ。
【請求項３】
上記複数のキャラクタ同士は、会話可能であり、
上記各コンピュータは、上記複数のコンピュータ間で会話のデータ送受信する際、話者の一方がエージェントである場合には、アバタ側の音声データを音声認識処理によってテキストデータに変換してから、エージェント側に送信すると共に、アバタ同士の会話においては、音声データを送受信することによって、ユーザに肉声を通じた会話を行わせることを特徴とする請求項２記載の３次元仮想空間シミュレータ。
【請求項４】
請求項１乃至３のいずれか１項に記載の３次元仮想空間シミュレータであって、前記仮想空間において、災害発生時の避難状態をシミュレートすることを特徴とする３次元仮想空間シミュレータ。
【請求項５】
コンピュータを、アバタとエージェントとからなる複数のキャラクタが登場する仮想空間を３次元画像で表示する３次元仮想空間シミュレータとして機能させる３次元仮想空間シミュレーションプログラムであって、
前記コンピュータを、
前記アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、
前記エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、
前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段として機能させると共に、
前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、
前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとが共通となっていると共に、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能であることを特徴とする３次元仮想空間シミュレーションプログラム。
【請求項６】
ネットワークを介して接続された複数のコンピュータを、アバタとエージェントとからなる複数のキャラクタが登場する仮想空間を共有し、３次元画像で表示する３次元仮想空間シミュレータとして機能させる３次元仮想空間シミュレーションプログラムであって、
前記複数のコンピュータを、
前記アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、
前記エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、
前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段として機能させると共に、
前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、
前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとが共通となっていると共に、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能であることを特徴とする３次元仮想空間シミュレーションプログラム。
【請求項７】
請求項５または６に記載の３次元仮想空間シミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のキャラクタが登場する仮想空間を３次元画像で表示する３次元仮想空間シミュレータ、３次元仮想空間シミュレーションプログラム、およびこれを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
コンピュータおよびネットワーク技術の発展に伴い、高度なシミュレータが開発されている。最新のシミュレータの一つとして３次元仮想空間シミュレータがある。３次元仮想空間シミュレータとしては、例えば、ＷＷＷ（World Wide Web）サーバに格納され、ＶＲＭＬ（Virtual Reality Modeling Language）言語などで記述された３次元グラフィックデータを、ネットワークを介してクライアントコンピュータが取得し、そのクライアントコンピュータの表示装置に３次元画像からなる仮想空間を表示するものが知られている。
【０００３】
３次元画像は、人間が現実世界を目視する場合と同様の立体感や遠近感を的確に表現することができる。したがって、３次元画像で仮想空間を表示する３次元仮想空間シミュレータを利用することによって、ユーザは、臨場感溢れるシミュレーションを体験することができる。このような３次元仮想空間シミュレータは、チャットやビデオゲームなどのエンターテイメント分野の他、景観シミュレーションや災害シミュレーションなどにも応用されている。
【０００４】
一般に、３次元仮想空間シミュレータにおいて表示される仮想空間には、複数のキャラクタ（登場人物）が登場する。本明細書では、３次元仮想空間シミュレータにおいて表示される仮想空間において、ユーザの入力に応じて動作するキャラクタを「アバタ（Avatar）」と称する一方、自律的に動作するキャラクタを「エージェント（Agent）」と称する。３次元仮想空間シミュレータにおいて、ユーザは、主にアバタの視点を通じて仮想現実を体験することができる。近時、３次元仮想空間シミュレータの新たな利用法として、シミュレーション表示される仮想空間において、綿密なストーリーに基づいたロールプレイングをユーザに体験させ、この体験を通じて、ユーザを教育訓練することも提案されている（非特許文献１）。
【非特許文献１】W. Swartout  et. al.，Toward the Holodeck: Integrating Graphics, Sound, Character and Story. International Conference on Autonomous Agents, pp. 409-416, 2001.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
災害発生時の避難状態などをシミュレートする場合、集団行動のグループダイナミクスを的確にシミュレーション上で再現するためには、数多くのキャラクタを仮想空間に登場させることが好ましい。特に、シミュレーションを多くのユーザに体験させながら、仮想空間内のキャラクタの振る舞いを現実の状況に近づけるためには、できるだけ多くのアバタを仮想空間に登場させることが好ましい。
【０００６】
しかし、前記従来の３次元仮想空間シミュレータでは、仮想空間におけるアバタとエージェントとの役割はそれぞれ固定的である。すなわち、仮想空間において、アバタとして登場するキャラクタは、終始アバタとして振る舞う一方、エージェントとして登場するキャラクタは、終始エージェントとして振る舞う。したがって、シミュレーションの開始から終了までの間、アバタと同程度の人数のユーザがシミュレーションに参加していることが必要となる。
【０００７】
一方、災害発生時の避難状態などをシミュレートする場合、シミュレーションを現実感や信頼性の高いものとするためには、多数のアバタを仮想空間に登場させる必要がある。したがって、このような大規模なシミュレーションを行うためには、シミュレーションの開始から終了までの間、多数のユーザを確保して、拘束せねばならず、シミュレーションの実施が困難かつ高コストなものとなってしまうという問題が生じていた。
【０００８】
また、特定のアバタの視点を通じてシミュレーションに参加したユーザは、シミュレーションの開始から終了までの間、そのアバタの指示者として仮想空間に参加することになる。したがって、仮想空間内の場面をユーザが臨機応変に体験することには一定の限界があった。例えば、仮想空間内の異なる場所で同時に進行している異なるイベントの両方をユーザが体験することは困難なものとなっていた。
【０００９】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、３次元仮想空間シミュレーション、とりわけ多数のキャラクタが登場する大規模な３次元仮想空間シミュレーションにおいて、ユーザの柔軟な参加形態と、高い現実感や信頼性とを実現することのできる３次元仮想空間シミュレータ、３次元仮想空間シミュレーションプログラム、およびこれを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る３次元仮想空間シミュレータは、上記課題を解決するために、アバタとエージェントとからなる複数のキャラクタが登場する仮想空間を３次元画像で表示する３次元仮想空間シミュレータであって、前記アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、前記エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段とを備え、前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとを共通としていることを特徴としている。
【００１１】
また、本発明に係る３次元仮想空間シミュレータにおいて、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能であることを特徴としている。
【００１２】
また、本発明に係る３次元仮想空間シミュレータは、ネットワークを介して接続された複数のコンピュータで構成され、前記仮想空間を共有して、３次元画像で表示することを特徴としている。さらに、本発明に係る３次元仮想空間シミュレータは、上記複数のキャラクタ同士は、会話可能であり、上記各コンピュータは、上記複数のコンピュータ間で会話のデータ送受信する際、話者の一方がエージェントである場合には、アバタ側の音声データを音声認識処理によってテキストデータに変換してから、エージェント側に送信すると共に、アバタ同士の会話においては、音声データを送受信することによって、ユーザに肉声を通じた会話を行わせることを特徴としている。
【００１３】
また、本発明に係る３次元仮想空間シミュレータは、前記仮想空間において、災害発生時の避難状態をシミュレートすることを特徴としている。
【００１４】
本発明に係る３次元仮想空間シミュレーションプログラムは、上記課題を解決するために、コンピュータを、アバタとエージェントとからなる複数のキャラクタが登場する仮想空間を３次元画像で表示する３次元仮想空間シミュレータとして機能させる３次元仮想空間シミュレーションプログラムであって、前記コンピュータを、前記アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、前記エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段として機能させると共に、前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとが共通となっており、さらに、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能であることを特徴としている。
【００１５】
また、本発明に係る３次元仮想空間シミュレーションプログラムは、上記課題を解決するために、ネットワークを介して接続された複数のコンピュータを、アバタとエージェントとからなる複数のキャラクタが登場する仮想空間を共有し、３次元画像で表示する３次元仮想空間シミュレータとして機能させる３次元仮想空間シミュレーションプログラムであって、前記複数のコンピュータを、前記アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、前記エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段として機能させると共に、前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとが共通となっており、さらに、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能であることを特徴としている。
【００１６】
本発明に係るコンピュータ読み取り可能な記録媒体は、前記３次元仮想空間シミュレーションプログラムを記録したものである。
【発明の効果】
【００１７】
以上のように、本発明に係る３次元仮想空間シミュレータは、アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、各キャラクタを前記仮想空間に表示するキャラクタ表示手段とを備え、前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとを共通としている構成である。
【００１８】
また、本発明に係る３次元仮想空間シミュレータにおいて、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能とした構成である。
【００１９】
それゆえ、前記キャラクタ表示手段は、前記２つのインタフェースを切り替えることによって、仮想空間内の特定のキャラクタを、アバタとエージェントとの間で柔軟に変更することが可能となる。例えば、ユーザがその動作指示を入力しているアバタを途中からエージェントに切り替えたり、特定のエージェントを途中からアバタに切り替えたりすることができる。
【００２０】
これにより、シミュレーションの途中であっても、ユーザの参加、離脱、交代が柔軟かつ容易となるという効果を奏する。この結果、シミュレーションの規模が大きな場合であっても、多数のユーザを常時拘束することなく、比較的多数のアバタを登場させることも可能となるので、高い現実感や信頼性を有するシミュレーションを実現することが可能になる。
【００２１】
本発明に係る３次元仮想空間シミュレーションプログラムは、コンピュータを、アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段として機能させると共に、前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとが共通となっており、さらに、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能な構成である。また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記３次元仮想空間シミュレーションプログラムを記録した構成である。
【００２２】
それゆえ、前記３次元仮想空間シミュレーションプログラムを、コンピュータに読み取り実行させることによって、前記３次元仮想空間シミュレータと同一の効果を奏することができる。
【００２３】
また、本発明に係る３次元仮想空間シミュレータは、ネットワークを介して接続された複数のコンピュータで構成され、前記仮想空間を共有して、３次元画像で表示するものである。
【００２４】
それゆえ、ネットワークを介して接続された異なるコンピュータを通じて、複数のユーザが同時にシミュレーションに参加することが可能になるので、ユーザは柔軟にシミュレーションに参加できるという効果を奏する。例えば、互いに遠隔地に所在するユーザが同時にシミュレーションに参加して、仮想空間内でコミュニケーションを図ったり、体験を共有したりすることが可能になる。併せて、不特定多数のユーザが、それぞれの都合に応じた任意のタイミングでシミュレーションに参加できるようになるという効果を奏する。また、本発明に係る３次元仮想空間シミュレータは、上記複数のキャラクタ同士は、会話可能であり、上記各コンピュータは、上記複数のコンピュータ間で会話のデータ送受信する際、話者の一方がエージェントである場合には、アバタ側の音声データを音声認識処理によってテキストデータに変換してから、エージェント側に送信すると共に、アバタ同士の会話においては、音声データを送受信することによって、ユーザに肉声を通じた会話を行わせることを特徴としている。それゆえ、話者の少なくとも一方がエージェントである場合において、音声データよりもテキストデータの方が解析しやすいテキストデータを送受信すると共に、一方、アバタ（ユーザ）同士の会話においては、音声データを送受信することによって、ユーザに肉声を通じた会話を行わせ、シミュレーションの現実感を高めるものとしている。
【００２５】
また、本発明に係る３次元仮想空間シミュレーションプログラムは、ネットワークを介して接続された複数のコンピュータを、アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示手段と、エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示手段と、前記アバタ動作指示手段および前記エージェント動作指示手段から受け取る動作指示データに基づいて、前記各キャラクタを前記仮想空間に表示するキャラクタ表示手段として機能させると共に、前記アバタに対する動作指示データとエージェントに対する動作指示データのフォーマットとが共通であり、前記キャラクタ表示手段は、前記アバタ動作指示手段から動作指示データを受け取るインタフェースと、前記エージェント動作指示手段から動作指示データを受け取るインタフェースとが共通となっており、さらに、前記キャラクタ表示手段は、特定のキャラクタを前記アバタまたは前記エージェントとして前記仮想空間に表示するものであって、前記アバタ動作指示手段と前記エージェント動作指示手段とのいずれから動作指示データを受け取るかを切替可能な構成である。また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記３次元仮想空間シミュレーションプログラムを記録した構成である。
【００２６】
それゆえ、前記３次元仮想空間シミュレーションプログラムを、複数のコンピュータに読み取り実行させることによって、前記３次元仮想空間シミュレータと同一の効果を奏することができる。
【００２７】
また、本発明に係る３次元仮想空間シミュレータは、前記仮想空間において、災害発生時の避難状態をシミュレートする構成である。
【００２８】
災害発生時の避難状態をシミュレートする場合、集団行動のグループダイナミクスを的確に再現することが重要になる。
【００２９】
前述のとおり、本発明に係る３次元仮想空間シミュレータによれば、シミュレーションの規模が大きな場合であっても、多数のユーザを常時拘束することなく、比較的多数のアバタを登場させることも可能となるので、高い現実感や信頼性を有するシミュレーションを実現することが可能になる。また、シミュレーションの途中であっても、アバタとエージェントとの役割を自在に切り替えることができるので、ユーザは多彩な視点から臨機応変にシミュレーションに参加することができる。
【００３０】
したがって、災害発生時の避難状態をシミュレートする場合において、ユーザの柔軟な参加形態と、高い現実感や信頼性とを実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
本発明の一実施形態に係る３次元仮想空間シミュレータシステム（３次元仮想空間シミュレータ）１００について、図１ないし図１０に基づいて説明すれば以下のとおりである。
【００３２】
［１．システム構成］
図１は、３次元仮想空間シミュレータシステム１００の概略構成を示すブロック図である。同図に示されるように、３次元仮想空間シミュレータシステム１００は、シミュレータ（３次元仮想空間シミュレータ）１、２、３、・・・が、ネットワーク４を介して、互いに接続されているものである。
【００３３】
シミュレータ１、２、３、・・・は、いずれも市販のグラフィックワークステーションやパーソナルコンピュータから構成され、同一の内部構成を有している。図１では、シミュレータ１の内部構成のみを図示して、シミュレータ２、３、・・・の内部構成の図示は省略している。シミュレータ１、２、３、・・・は、ネットワーク４を介して、互いにデータ通信を行うことができる。
【００３４】
ネットワーク４の種類は特に限定されるものではなく、例えば、インターネットの他、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、ネットワーク４を構成する伝送媒体についても、特に限定されるものではなく、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でもよい。
【００３５】
［２．シミュレータの内部構成］
まず、シミュレータ１の内部構成について説明する。シミュレータ１は、通信処理部１０、処理制御部１１、指示入力部１２、アバタ動作指示部１３、エージェント動作指示部１４、記憶部１５、音声入出力部１６、グラフィック処理部１７、画像表示部１８を備えている。
【００３６】
通信処理部１０は、ネットワーク４とシミュレータ１とを接続する通信インタフェースであって、各種の通信インタフェースおよび通信回路から構成されている。通信処理部１０は、ＴＣＰ／ＩＰやＵＤＰ／ＩＰなど任意のプロトコルを用いて外部装置と通信する。また、通信処理部１０は、データ通信機能に加えて、各種のデータ圧縮・復元機能を有していてもよい。シミュレータ１が外部と送受信するデータの全てが、通信処理部１０と処理制御部１１との間で送受信されている。
【００３７】
処理制御部（キャラクタ表示手段）１１は、シミュレータ１の各構成要素の動作、およびこれら構成要素間のデータのやりとりを統合的に制御する機能ブロックである。処理制御部１１は、後述する各機能ブロックを統括、制御する他、ユーザのログイン処理、ログアウト処理なども制御する。
【００３８】
指示入力部１２は、キーボードやマウスから構成されるシミュレータ１の入力用インタフェースであって、シミュレータ１がユーザから、アバタの動作指示を含む各種指示の入力を受け付けるための構成である。ユーザがアバタの動作を指示する際の操作性を高めるためには、指示入力部１２は、各種の方向入力デバイス、例えばカーソルキーやアナログジョイスティックを備えることも好ましい。指示入力部１２は、ユーザから受け付けた指示入力に応じた指示入力データを生成する。指示入力部１２は、生成した指示入力データのうち、アバタの動作に関する指示入力データはアバタ動作指示部１３に送信する一方、その他の指示入力データは、直接処理制御部１１に送信する。
【００３９】
アバタ動作指示部（アバタ動作指示手段）１３は、指示入力部１２から受信したアバタの動作に関する指示入力データに基づいて、仮想空間におけるアバタの動作を決定し、その内容を示す動作指示データを生成する機能ブロックである。アバタ動作指示部１３は、生成した動作指示データを処理制御部１１に送信する。アバタ動作指示部１３から出力される動作指示データはバッファメモリに記録され、このバッファメモリから処理制御部１１およびグラフィック処理部１７に読み出される。同様に、処理制御部１１およびグラフィック処理部１７が生成・出力するアバタの状態情報データは上記バッファメモリに記録され、このバッファメモリからアバタ動作指示部１３に読み出される。
【００４０】
エージェント動作指示部（エージェント動作指示手段）１４は、仮想空間におけるエージェントの動作を自律的に決定し、その内容を示す動作指示データを生成する機能ブロックである。エージェント動作指示部１４は、生成した動作指示データを処理処理部１１に送信する。また、エージェント動作指示部１４と処理制御部１１（およびグラフィック処理部１７）との間では、図略のバッファメモリを介して、エージェント動作指示部１４が生成した動作指示データと、この動作指示データに基づいて、処理制御部１１およびグラフィック処理部１７が生成・更新したエージェントの状態情報データとが交換されている。エージェント動作指示部１４がエージェントの動作を自律的に決定する手法については後述する。
【００４１】
記憶部１５は、各種の半導体メモリや記録媒体にデータを記録するデータ記録装置である。記憶部１５がデータを記録する記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系などを用いることができる。
【００４２】
処理制御部１１は、３次元仮想空間シミュレーションに関するすべてのデータを記憶部１５に記憶させ、適宜読み出す。上記３次元仮想空間シミュレーションに関するデータの例としては、通信処理部１０を介して外部装置から受信したデータ、指示入力部１２から受信した指示入力データ、アバタ動作指示部１３から受信した動作指示データ、エージェント動作指示部１４から受信した動作指示データ、グラフィック処理部１７で生成され、３次元仮想空間を記述するＶＲＭＬデータ、これらデータを処理することによって得られたデータなどが挙げられる。
【００４３】
音声入出力部１６は、シミュレータ１がユーザに対して音声を出力し、ユーザからの音声入力を受け付けるための音声入出力装置である。音声入出力部１６は、ヘッドフォン、スピーカなどの音声出力用装置、およびヘッドセットマイク、固定式マイクなどの音声入力用装置から構成されている。音声入出力部１６は、処理制御部１１から受信する音声データに基づいて音声を出力する一方、ユーザから入力された音声データを処理制御部１１に送信する。なお、シミュレーションの臨場感を高めるためには、音声入出力部１６を通じた音声の入出力は、ステレオ音声で行われることも好ましい。
【００４４】
グラフィック処理部（キャラクタ表示手段）１７は、処理制御部１１の指示に基づいて、仮想空間の３次元画像を記述するＶＲＭＬデータを生成、更新し、画像表示部１８に仮想空間を３次元画像で表示させる機能ブロックである。
【００４５】
グラフィック処理部１７は、仮想空間内で静止している背景の画像に関するデータを、ＶＲＭＬデータの静的オブジェクト情報として取り扱う一方、仮想空間内で動作するキャラクタの画像に関するデータを、ＶＲＭＬデータの動的オブジェクト情報として取り扱う。また、グラフィック処理部１７は、仮想空間をいずれの視点、すなわち位置および方向からみた状態で３次元画像を生成すべきかの情報を、ＶＲＭＬデータのカメラオブジェクト情報として取り扱う。グラフィック処理部１７は、これらオブジェクト情報に基づいて、特定のキャラクタ（通常はアバタ）の視点からみた３次元画像のＶＲＭＬデータをリアルタイム生成して、記憶部１５のＶＲＭＬデータを更新する。また、グラフィック処理部１７は、記憶部１５で更新されるＶＲＭＬデータに基づいて、仮想空間における町並みや人物などの３次元画像を表示させるための映像信号（アニメーションデータ）を生成し、この映像信号を画像表示部１８に出力する。
【００４６】
ここで、静的オブジェクト情報、動的オブジェクト情報、およびカメラオブジェクト情報について説明しておく。
【００４７】
静的オブジェクト情報とは、仮想空間を構成する静的で動きのない画像の元となる複数のオブジェクトの情報である。静的オブジェクト情報は、主に、仮想空間の各静的オブジェクトを構成するポリゴンデータ、およびグラフィックスコンテキストデータから構成される。
【００４８】
動的オブジェクト情報とは、仮想空間内を動くことのできるキャラクタオブジェクトの情報である。動的オブジェクト情報は、主に、すべてのキャラクタ（アバタおよびエージェント）のオブジェクトを構成するポリゴンのバーティクスの座標データ、ポリゴンデータ、及び、グラフィックスコンテキストデータからなる。
【００４９】
カメラオブジェクト情報とは、仮想空間をいずれの視点、すなわち位置および方向からみた状態で３次元画像を生成すべきかを示すオブジェクト情報である。カメラオブジェクト情報は、主に、仮想空間内におけるアバタの現在位置及び向きを表す位置ベクトル情報、視線ベクトル情報から構成される。
【００５０】
画像表示部（キャラクタ表示手段）１８は、グラフィック処理部１７から出力される映像信号に基づき、その画面に、キャラクタを含む仮想空間を３次元画像で表示するディスプレイである。画像表示部１８は、例えば液晶ディスプレイやＣＲＴから構成される。
【００５１】
シミュレータ１の構成における各機能ブロック、特に、処理制御部１１、アバタ動作指示部１３、エージェント動作指示部１４、グラフィック処理部１７は、ハードウェアロジックによって構成してもよいし、演算装置（ＣＰＵやＭＰＵ）を用いてプログラム（ソフトウェア）によって実現してもよい。すなわち、シミュレータ１は、各機能を実現する制御プログラムの命令を実行するＣＰＵの他、記憶部１５やＲＯＭ／マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリに格納された上記プログラムや関連データ、上記プログラムを展開するＲＡＭ（random access memory）などを備え、これらによって、上記各機能ブロックを実現することも可能である。
【００５２】
上記各機能を実現する３次元仮想空間シミュレーションプログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）は、あらかじめシミュレータ１の記憶部１５などに格納しておくほか、コンピュータで読み取り可能に記録した記録媒体を通じてシミュレータ１に供給され、シミュレータ１の演算装置が記録媒体に記録されているプログラムコードを読み取り実行させることもできる。なお、上記プログラムコードは、ネットワーク４を介して、シミュレータ１に供給されてもよい。本発明は、上記プログラムコードが電子的な伝送で具現化された搬送波あるいはデータ信号列の形態でも実現され得る。
【００５３】
［３．３次元仮想空間シミュレーションにおけるキャラクタの切り替え］
図２は、ユーザがシミュレータ１を操作する状態を示す外観図である。同図に示されるように、ユーザは、画像表示部１８の表示や、音声入出力部１６から出力される音声を確認しながら、指示入力部１２を操作してシミュレータ１に指示入力を与え、３次元仮想空間シミュレーションに参加する。
【００５４】
図３は、画像表示部１８に３次元仮想空間が表示されたときの画面例を示す図である。同図の画面例では、仮想空間において、街頭に登場する３人のキャラクタが描かれている。一般に、３次元仮想空間シミュレータにおいて表示される仮想空間には、複数のキャラクタが登場し、そのキャラクタは、ユーザの入力に応じて動作するアバタ、および自律的に動作するエージェントから構成される。そこで、ユーザは、特定のアバタに指示を与え、そのアバタの視点を通じて仮想空間を体験する。例えば、ユーザは、特定のアバタに指示を与え、仮想空間内を歩いたり、向きを変えたり、他のアバタやエージェントに近づいて話しかけたりすることができる。なお、図３の画面例は、ユーザが指示を与える対象となるアバタの視点からみた状態の仮想空間をあらわすものであるから、ユーザが指示を与える対象となるアバタ自身は表示されていない。ただし、設定に応じて、ユーザが指示を与える対象となるアバタを適宜表示させてもよい。
【００５５】
シミュレータ１において、処理制御部１１およびグラフィック処理部１７が、アバタ動作指示部１３から受信する動作指示データと、エージェント動作指示部１４から受信した動作指示データとは、同一のフォーマットから構成されている。すなわち、本発明において、アバタに対する動作指示データとエージェントに対する動作指示データのフォーマット、つまり動作指示インタフェースは共通である。上記動作指示データのフォーマットは、例えば、移動(歩行)速度、体全体の角速度、頭部(視線)の角速度、指差し中の腕の角速度、ジェスチャーの種類などのデータから構成されている。
【００５６】
アバタ動作指示部１３は、指示入力部１２へのユーザ入力に基づいて、上記フォーマットの動作指示データを生成するために、ユーザ入力と動作指示データとの対応テーブルを備えている。この対応テーブルには、指示入力部１２への入力（押圧されたキーの種類など）に応じて、生成すべき動作指示データの内容が予め定められている。［表１］は、上記対応テーブルに定められる、指示入力部１２への入力（ここでは、押圧されたキーの種類）と生成すべき動作指示データとの対応例を示したものである。
［表１］
（押圧されたキーの種類）        （生成すべき動作指示データ）
上カーソル                  移動（歩行）速度を１０増やす。
下カーソル                  移動（歩行）速度を１０減らす。
右カーソル                  体全体の角速度を５増やす。
左カーソル                  体全体の角速度を５減らす。
「Ｑ」                      頭部(視線)の角速度を８増やす。
「Ｗ」                      頭部(視線)の角速度を８減らす。
「Ａ」                      指差し中の腕の角速度を１５増やす。
「Ｓ」                      指差し中の腕の角速度を１５減らす。
「１」                      番号１（「来い」の仕草）のジェスチャーをする。
「２」                      番号２（「止まれ」の仕草）のジェスチャーをする。
一方、エージェント動作指示部１４は、後述のように、仮想空間におけるエージェントの動作を自律的に決定し、ＡＰＩ（アプリケーションプログラムインタフェース）として定義された制御コマンドを通じて、上記フォーマットの動作指示データを生成する。［表２］は、制御コマンドと生成すべき動作指示データとの対応例を示したものである。
［表２］  
（制御コマンド）          （生成すべき動作指示データ）
walk(x, y)              移動（歩行）速度，(x, y)は目的地の座標
turn(r)                 体全体の角速度，rは向かせたい角度
face(r)                 頭部(視線)の角速度，rは向かせたい角度
point(r)                指差し中の腕の角速度，rは向かせたい角度
gesture(k)              ジェスチャーの種類，kはジェスチャーの番号
［表１］と［表２］とを対比すれば、アバタ動作指示部１３の生成する動作指示データとエージェント動作指示部１４の生成する動作指示データとが同一フォーマットとなっていることがわかる。
【００５７】
処理制御部１１はこれら動作指示データを受信し、この動作指示データに基づいて、キャラクタの位置(ワールド座標系に人体モデルを配置する座標)、キャラクタの向き(ワールド座標系における人体モデルの角度)などの情報を含む画像表示用ＶＲＭＬデータを生成する。本実施形態の画像表示用ＶＲＭＬデータにおいて、各キャラクタは、１６個の関節においてポリゴンが結合された構成として表現されている。図４は、各キャラクタが１６個の関節においてポリゴンが結合された様子を示す模式図である。同図の表において、「番号」とは各ポリゴンに付与された通し番号を表している。また、同図の表において、「名称」とは、各ポリゴンに付与されたパラメータ名であり、「意味」とは、人体の対応部分に基づいた各ポリゴンの説明である。処理制御部１１は、上記動作指示データに基づいて、各キャラクタの各関節を支点としながら、ポリゴンの向きや位置を変化させる。
【００５８】
このようにして、処理制御部１１で生成されたＶＲＭＬデータは、グラフィック処理部１７に送信され、このＶＲＭＬデータに基づいて、グラフィック処理部１７は、アニメーションデータを生成する。グラフィック処理部１７は、このレンダリング処理によってキャラクタと背景とを合成し、３次元画像のアニメーションデータを生成する。
【００５９】
図５は、処理制御部１１とグラフィック処理部１７との間でのデータ送受信の様子を示す概念図である。同図に示されるように、処理制御部１１およびグラフィック処理部１７は、アバタ動作指示部１３またはエージェント動作指示部１４から同一構造（フォーマット）の動作指示データを受け取るインタフェースを備えている。処理制御部１１およびグラフィック処理部１７は、アバタ動作指示部１３から上記動作指示データを受け取った場合には、アバタに関するＶＲＭＬデータ（カメラオブジェクト情報および動的オブジェクト情報）を生成・更新する一方、エージェント動作指示部１４から上記動作指示データを受け取った場合には、エージェントに関するＶＲＭＬデータ（動的オブジェクト情報）を生成・更新する（Ｓ４１）。
【００６０】
次に、処理制御部１１およびグラフィック処理部１７は、仮想空間中のキャラクタの動作がより自然なものとなるように、他のキャラクタとの衝突回避補正、歩行先の地形にあわせた歩行速さの補正などを加味して、ステップＳ４１で生成・更新したＶＲＭＬデータ（カメラオブジェクト情報および動的オブジェクト情報）を補正する（Ｓ４２）。
【００６１】
次に、処理制御部１１およびグラフィック処理部１７は、Ｓ４２で補正したＶＲＭＬデータに基づいて、キャラクタの歩行動作を表現するアニメーションの画像『信号』を生成し（Ｓ４３）、この画像信号を画像表示部１８に出力して上記アニメーションを画面表示させる（Ｓ４４）。
【００６２】
なお、歩行動作のように、キャラクタがある程度継続的に行う動作については、自然なアニメーション表示を行うために、上記Ｓ４１〜Ｓ４４の処理フローは短い時間単位で繰り返されることが好ましい。
【００６３】
以上のように、シミュレータ１において、処理制御部１１およびグラフィック処理部１７が、アバタ動作指示部１３から受信する動作指示データと、エージェント動作指示部１４から受信した動作指示データとは、同一のデータ構造から構成されているので、処理制御部１１およびグラフィック処理部１７が、アバタ動作指示部１３から動作指示データを受け取るインタフェースと、エージェント動作指示部１４から動作指示データを受け取るインタフェースとを共通としている。
【００６４】
また、処理制御部１１およびグラフィック処理部１７は、特定のキャラクタをアバタまたはエージェントとして前記仮想空間に表示するものであって、アバタ動作指示部１３とエージェント動作指示部１４とのいずれから動作指示データを受け取るかを切替可能となっている。すなわち、処理制御部１１およびグラフィック処理部１７は、アバタ動作指示部１３とエージェント動作指示部１４とのいずれから動作指示データを受け取るかを切り替えることによって、仮想空間内の特定のキャラクタを、アバタとエージェントとの間で柔軟に変更することが可能となっている。なお、上記の切り替えは、指示入力部１２を通じたユーザの指示入力に応じて行われてもよいし、所定時間の経過などあらかじめ定められた条件をみたしたときに自動的に行われてもよい。
【００６５】
［４．エージェントの制御］
次に、エージェント動作指示部１４（図１参照）が仮想空間におけるエージェントの動作を自律的に決定する手法について説明する。
【００６６】
図６に示されるように、エージェント動作指示部１４と、処理制御部１１およびグラフィック処理部１７との間では、バッファメモリ５０を介して、エージェント動作指示部１４が生成した動作指示データと、この動作指示データに基づいて、処理制御部１１およびグラフィック処理部１７が生成・更新したエージェントの状態情報データ（動的オブジェクト情報）とが交換される。
【００６７】
すなわち、エージェント動作指示部１４が、エージェントの動作指示データをバッファメモリ５０に書き込むと、この動作指示データは、処理制御部１１およびグラフィック処理部１７によって読み出される。一方、処理制御部１１およびグラフィック処理部１７が、生成・更新したエージェントの状態情報データ（動的オブジェクト情報）をバッファメモリ５０に書き込むと、この状態情報データは、エージェント動作指示部１４に読み取られ、フィードバックされる。
【００６８】
エージェント動作指示部１４は、エージェントの動作を制御するための状態情報として、ＶＲＭＬデータに含まれる各種オブジェクト情報（カメラオブジェクト情報、静的オブジェクト情報、動的オブジェクト情報）と、エージェントの内部状態情報（例えば、知識、感情、性格などをあらわすパラメータ）とを保持している。また、エージェント動作指示部１４は、エージェントに適宜「キュー」と呼ばれる観測を動作指示することができる。すなわち、エージェント動作指示部１４は、処理制御部１１およびグラフィック処理部１７に「キュー」データを渡すことによって、上記オブジェクト情報を参照したり、上記オブジェクト情報に基づく判定結果を得たりすることができる。
【００６９】
エージェント動作指示部１４は、例えば［表３］に示す「キュー」に基づいて、エージェントに観測を指示することにより、上記オブジェクト情報や上記オブジェクト情報に基づく判定結果を参照する。
［表３］
（キューの種類）          （観測内容）
「position」              対象との位置関係
「observe」               対象が実行中の動作内容
「hear」                  周囲の音声情報
エージェント動作指示部１４は、上記オブジェクト情報および上記内部状態情報をあらかじめ定められた所定のルール（シナリオ）にあてはめることによって、次のエージェントの動作を決定する。すなわち、エージェントの行動ルールは、あらかじめエージェント動作指示部１４内にシナリオとして設計されており、エージェント動作指示部１４は、その時点の各種オブジェクト情報と、エージェントの内部状態情報とを上記シナリオにあてはめて解釈することによって、処理制御部１１およびグラフィック処理部１７にエージェントの動作指示データや「キュー」データを順次渡していく。
【００７０】
以上のように、エージェント動作指示部１４は、所定のシナリオに基づいて、エージェントの動作指示データを生成するので、上記シナリオの設定によって、エージェントの行動パターンを自由に設計することが容易となっている。また、仮想空間におけるエージェントの動作を、実世界における人間の動作と近づけるように、上記シナリオを設定すれば、シミュレーションの進行内容をより自然なものとすることができる。
［５．共有モードにおけるシミュレーション形態］
３次元仮想空間シミュレータシステム１００（図１参照）において、３次元仮想空間シミュレーションは、シミュレータ１のみでも実行することもできるし、シミュレータ１、シミュレータ２、シミュレータ３・・・（図１参照）間で、データ通信を行いながら、３次元仮想空間を共有した状態で実行することもできる。
【００７１】
これまでは、シミュレータ１のみで３次元仮想空間シミュレーションを実行する場合について説明したので、本欄では、シミュレータ１、シミュレータ２、シミュレータ３・・・間で３次元仮想空間を共有した状態で３次元仮想空間シミュレーションを実行する場合（便宜上「共有モード」と称する）のシミュレーション形態について説明する。
【００７２】
共有モードでは、シミュレータ１は、シミュレータ２、シミュレータ３・・・は、各シミュレータの処理制御部１１およびグラフィック処理部１７が生成するＶＲＭＬデータをネットワーク４を介した双方向通信によって共有する。すなわち、各シミュレータは、それぞれの処理制御部１１およびグラフィック処理部１７（図１参照）が更新したＶＲＭＬデータを、ネットワーク４を介したピアツーピア通信によって共有する。
【００７３】
図７は、シミュレータ１〜３が更新したＶＲＭＬデータを共有する状態を示す概念図である。同図において、シミュレータ１〜３は、５人のキャラクタが登場する仮想空間を共有しており、これらキャラクタは、シミュレータ１のユーザの操作に応じて、アバタ動作指示部１３（図１参照）が動作指示データを生成するアバタ１人、シミュレータ２のエージェント動作指示部１４（図１参照）が動作指示データを生成するエージェント１人、シミュレータ３のユーザの操作に応じて、アバタ動作指示部１３（図１参照）が動作指示データを生成するアバタ１人、シミュレータ３のエージェント動作指示部１４（図１参照）が動作指示データを生成するエージェント２人から構成されている。各シミュレータ１〜３は、処理制御部１１およびグラフィック処理部１７によって、更新したＶＲＭＬデータを、ネットワーク４を介して他のシミュレータに順次送信し、互いが更新したＶＲＭＬデータを共有する。このように共有されたＶＲＭＬデータに基づいて、シミュレータ１〜３はそれぞれの画像表示部１８に３次元画像を表示する。
【００７４】
このように、各シミュレータは、ＶＲＭＬデータの更新分のみを互いに送受信するので、ネットワーク４を介した通信負担を比較的軽いものとしながら、３次元仮想空間のＶＲＭＬデータをほぼリアルタイムで共有することができる。
【００７５】
以上の説明では、各シミュレータはピアツーピア通信でＶＲＭＬデータを共有するものとしたが、ＶＲＭＬデータの通信および共有は、この形態に限られるものではなく、ネットワーク４上に適宜設けられたサーバコンピュータを介して行われてもよい。サーバコンピュータを用いる場合であれば、サーバコンピュータに、各シミュレータから送信される更新データの他、各種の管理情報も登録しておくことが好ましい。サーバコンピュータに登録する管理情報の例としては、各シミュレータのログイン・ログアウト情報や、どのシミュレータが、仮想空間のキャラクタのうち、どのキャラクタに関する動作指示データの生成等を分担するかなどが挙げられる。このような管理情報は、シミュレータと独立したサーバコンピュータではなく、いずれかのシミュレータに登録されていてもよい。
【００７６】
図８は、シミュレータ１、２・・・の間でＶＲＭＬデータを共有する共有モードにおいて、ＶＲＭＬデータに含まれるキャラクタに動作指示を付与する主体を示す概念図である。同図に示される例では、共有されるキャラクタのうち、シミュレータ１では、ユーザがアバタ動作指示部１３（図１参照）を通じて１人のキャラクタ（アバタ）に動作指示を付与し、エージェント動作指示部１４（図１参照）が２人のキャラクタ（エージェント）に動作指示を付与している一方、シミュレータ２では、ユーザがアバタ動作指示部１３（図１参照）を通じて１人のキャラクタ（アバタ）に動作指示を付与している。本発明では、共有モードにおいても、前述のように、各シミュレータにおける処理制御部１１およびグラフィック処理部１７は、特定のキャラクタをアバタまたはエージェントとして前記仮想空間に表示するものであって、アバタ動作指示部１３とエージェント動作指示部１４とのいずれから動作指示データを受け取るかを切替可能である。したがって、各シミュレータの処理制御部１１およびグラフィック処理部１７は、アバタ動作指示部１３とエージェント動作指示部１４とのいずれから動作指示データを受け取るかを切り替えることによって、仮想空間内の特定のキャラクタを、アバタとエージェントとの間で柔軟に変更することが可能となっている。
【００７７】
なお、共有モードでキャラクタ同士が会話する際、聞き手がアバタ（ユーザ）である場合には、会話は音声（音声データ）を通じて行われることが好ましい一方、聞き手がエージェントである場合には、会話は文字情報（テキストデータ）を通じて行われることが好ましい。図９は、共有モードのシミュレータ間で音声データおよびテキストデータの送受信を行う手法例を示したブロック図である。同図では、各シミュレータをＡ，Ｂ，Ｃ，Ｄで示しており、シミュレータＡ、Ｂではエージェントが動作する一方、シミュレータＣ，Ｄではアバタが動作しているものとする。したがって、ＡＢ間の会話はエージェント対エージェント、ＢＣ間の会話はエージェント対アバタ、ＣＤ間の会話はアバタ対アバタ、ＤＡ間の会話はアバタ対エージェントのものとなる。  同図において、話者の少なくとも一方がエージェントである場合には、シミュレータ間のデータ送受信は、テキストデータによって行っている。すなわち、アバタ対エージェントの会話については、アバタ側（ユーザ）の音声データを音声認識処理によって、テキストデータに変換してから、エージェント側に送信している。
これは、音声データよりもテキストデータの方が解析しやすいためである。一方、アバタ（ユーザ）同士の会話においては、音声データを送受信することによって、ユーザに肉声を通じた会話を行わせ、シミュレーションの現実感を高めるものとしている。これらの会話処理は、各シミュレータの通信処理部１０、処理制御部１１、および音声入出力部１６（図１参照）によって行われる。
［６．避難シミュレーションへの適用例］
最後に、本実施形態の３次元仮想空間シミュレータシステム１００（図１参照）を、災害発生時の避難シミュレーションに適用する例を説明する。ここでは、６台のシミュレータを用いた共有モードによって、２０人のキャラクタが地下室から脱出するシミュレーション内容を構築した。例えば「避難者が近づいたら出口方向を指さしながら歩く」などの前記シナリオを適宜設計して組み合わせることによって、災害発生時の避難シミュレーションを構築した。
【００７８】
図１０は、上記避難シミュレーションの実行中、各シミュレータの画像表示部１８（図１参照）に仮想空間を３次元表示した画面例を示す図である。また、図１１は、図１０と同一の場面を上方向の視点からみた状態で３次元表示した画面例を示す図である。なお、各シミュレータの画像表示部１８の画面には、適宜、周囲のキャラクタ位置を確認するための小画面表示であるレーダースクリーンや、本来は表示されない後方の様子を小画面表示する後方視点表示などを表示させてもよい。
【００７９】
次に、シミュレーションの実行中、ユーザによるシミュレータへの入力指示によって、２０人のエージェントのうち、特定のエージェントを指定してアバタに切り替えた。全６台のシミュレータによって、この切替作業を行った結果、最終的には、２０人のエージェントのうち、６人がアバタとなった。そのままシミュレーションを続行したところ、ユーザは、周囲のキャラクタがアバタなのかエージェントなのかを特別意識することなく、自然な感覚で避難シミュレーションを実行することができた。シミュレーションに参加するユーザを変更しながら、シミュレーションを数十回繰り返したところ、参加するユーザの性格や組み合わせに関係なく、同様の結果を得た。
【００８０】
なお、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態では、３次元画像の表現にＶＲＭＬ言語を用いたが、データの形式等はこれに
限られるものではなく、適宜の言語・形式を採用することができる。
【産業上の利用可能性】
【００８１】
本発明は、複数のキャラクタが登場する仮想空間を３次元画像で表示する３次元仮想空間シミュレーションに適用できる。特に、災害発生時の避難状態などの大規模シミュレーションに好適である。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係る３次元仮想空間シミュレータシステム概略構成を示すブロック図である。
【図２】ユーザがシミュレータを操作する状態を示す外観図である。
【図３】上記３次元仮想空間シミュレータの画像表示部に３次元仮想空間が表示されたときの画面例を示す図である。
【図４】キャラクタが１６個の関節においてポリゴンが結合されたものとして表現された様子を示す模式図である。
【図５】上記３次元仮想空間シミュレータにおける処理制御部およびグラフィック処理部の処理フローを説明する概念図である。
【図６】エージェント動作指示部と処理制御部およびグラフィック処理部との間における動作指示データとエージェントの状態情報データとの交換を説明するブロック図である。
【図７】複数のシミュレータが更新したＶＲＭＬデータを共有する状態を示す概念図である。
【図８】共有モードにおいて、ＶＲＭＬデータに含まれるキャラクタに動作指示を付与する主体を示した概念図である。
【図９】共有モードのシミュレータ間で音声データおよびテキストデータの送受信を行う手法例を示したブロック図である。
【図１０】各シミュレータの画像表示部に仮想空間を３次元表示した画面例を示す図である。
【図１１】図１０と同一の場面を上方向の視点からみた状態で３次元表示した画面例を示す図である。
【符号の説明】
【００８３】
１      シミュレータ（３次元仮想空間シミュレータ）
２      シミュレータ（３次元仮想空間シミュレータ）
３      シミュレータ（３次元仮想空間シミュレータ）
４      ネットワーク
１１    処理制御部（キャラクタ表示手段）  
１３    アバタ動作指示部（アバタ動作指示手段）
１４    エージェント動作指示部（エージェント動作指示手段）
１７    グラフィック処理部（キャラクタ表示手段）
１８    画像表示部（キャラクタ表示手段）
１００  ３次元仮想空間シミュレータシステム（３次元仮想空間シミュレータ）
【要約】
【課題】  ３次元仮想空間シミュレーションにおいて、ユーザの柔軟な参加形態と高い信頼性とを実現する。
【解決手段】  アバタの動作をユーザの入力に基づいて決定し、その内容を示す動作指示データを生成するアバタ動作指示部１３と、エージェントの動作を自律的に決定し、その内容を示す動作指示データを生成するエージェント動作指示部１４と、これらから受け取る動作指示データに基づいて、各キャラクタを仮想空間に表示する処理制御部１１、グラフィック処理部１７、および画像表示部１８は、アバタ動作指示部１３から動作指示データを受け取るインタフェースと、エージェント動作指示部１４から動作指示データを受け取るインタフェースとを共通としている。
【選択図】  図１
【図１】
0003625212.tif 000002
【図２】
0003625212.tif 000003
【図３】
0003625212.tif 000004
【図４】
0003625212.tif 000005
【図５】
0003625212.tif 000006
【図６】
0003625212.tif 000007
【図７】
0003625212.tif 000008
【図８】
0003625212.tif 000009
【図９】
0003625212.tif 000010
【図１０】
0003625212.tif 000011
【図１１】
0003625212.tif 000012