(57)【特許請求の範囲】
【請求項１】
三次元仮想空間を管理し、前記三次元仮想空間に参加中の各参加者自身の分身であるアバタを当該三次元仮想空間内に表現し、
各参加者の端末操作に応答させてその参加者のアバタの表示位置やアバタの視点を変更し、
任意の参加者の端末から入力された発話メッセージを、その参加者のアバタに対応させて前記三次元仮想空間内、または所定のメッセージボードに表現すると共に、
各端末に対して、前記三次元仮想空間を表示させる三次元仮想空間制御装置の三次元仮想空間表示方法において、
前記三次元仮想空間制御装置が、前記発話メッセージに発話相手に関する情報が含まれているか否かを判定する第１ステップと、
前記三次元仮想空間制御装置が、前記判定の結果が肯定のとき前記情報に基づいて発話相手のアバタを特定する第２ステップと、
前記三次元仮想空間制御装置が、その発話相手のアバタの前記三次元仮想空間内における位置である第１の位置を特定する第３ステップと、
前記三次元仮想空間制御装置が、前記発話メッセージに対応する参加者のアバタの視線を、前記第１の位置に指向させる第４ステップと、
前記三次元仮想空間制御装置が、前記発話メッセージに対応する参加者のアバタの前記三次元仮想空間内における位置である第２の位置を特定する第５ステップと、
前記三次元仮想空間制御装置が、他の参加者のアバタの視線を、前記第２の位置に指向させる第６ステップと
を含むことを特徴とする三次元仮想空間表示方法。
【請求項２】
前記第２ステップにおいて、前記三次元仮想空間制御装置が、前記三次元仮想空間を表示するビューウィンドウ内に表示されているアバタの中から前記発話相手のアバタを特定し、
前記第３ステップにおいて、前記三次元仮想空間制御装置が、前記発話相手のアバタが前記ビューウィンドウ内に表示されているとき、前記第１の位置を特定し、
前記第４ステップにおいて、前記三次元仮想空間制御装置が、位置が特定された前記発話相手のアバタと前記発話メッセージに対応する参加者のアバタの距離が所定の制限距離以内の場合に、前記発話メッセージに対応する参加者のアバタの視線を、前記第１の位置に指向させる
ことを特徴とする請求項１に記載の三次元仮想空間表示方法。
【請求項３】
前記所定の制限距離は、シチュエーションに応じて可変である
ことを特徴とする請求項２に記載の三次元仮想空間表示方法。
【請求項４】
前記第１ステップにおいて、前記三次元仮想空間制御装置が、前記発話相手に関する情報として、特定の記号が前記発話メッセージに含まれているか否かを判定し、前記判定の結果が肯定のとき、さらに、前記発話メッセージより発話相手の固有名詞を取り出し、
前記第２ステップにおいて、前記三次元仮想空間制御装置が、取り出された前記固有名詞を用いて、前記発話相手のアバタを特定する
ことを特徴とする請求項１に記載の三次元仮想空間表示方法。
【請求項５】
前記第５ステップにおいて、前記三次元仮想空間制御装置が、さらに、前記三次元仮想空間を表示するビューウィンドウ内に表示されている他の参加者のアバタを特定し、
前記第６ステップにおいて、前記三次元仮想空間制御装置が、前記発話メッセージに対応する参加者のアバタと、特定された他の参加者のアバタの距離が所定の制限距離以内の場合に、前記他の参加者のアバタの視線を、前記第２の位置に指向させる
ことを特徴とする請求項１に記載の三次元仮想空間表示方法。
【請求項６】
前記所定の制限距離は、シチュエーションに応じて可変である
ことを特徴とする請求項５に記載の三次元仮想空間表示方法。
【請求項７】
前記三次元仮想空間制御装置が、前記参加者のアバタが特定した位置に指向しているか否かを判定する第７ステップをさらに含み、
前記第６ステップにおいて、前記三次元仮想空間制御装置が、前記特定した位置に指向していない前記参加者のアバタの視線を、前記特定した位置に指向させる
ことを特徴とする請求項１に記載の三次元仮想空間表示方法。
【請求項８】
三次元仮想空間を管理し、前記三次元仮想空間に参加中の各参加者自身の分身であるアバタを当該三次元仮想空間内に表現し、
各参加者の端末操作に応答させてその参加者のアバタの表示位置やアバタの視点を変更し、
任意の参加者の端末から入力された発話メッセージを、その参加者のアバタに対応させて前記三次元仮想空間内、または所定のメッセージボードに表現すると共に、
各端末に対して、前記三次元仮想空間を表示させるコンピュータに実行させるプログラムであって、
前記コンピュータが、前記発話メッセージに発話相手に関する情報が含まれているか否かを判定する第１ステップと、
前記コンピュータが、前記判定の結果が肯定のとき前記情報に基づいて発話相手のアバタを特定する第２ステップと、
前記コンピュータが、その発話相手のアバタの前記三次元仮想空間内における位置である第１の位置を特定する第３ステップと、
前記コンピュータが、前記発話メッセージに対応する参加者のアバタの視線を、前記第１の位置に指向させる第４ステップと、
前記コンピュータが、前記発話メッセージに対応する参加者のアバタの前記三次元仮想空間内における位置である第２の位置を特定する第５ステップと、
前記コンピュータが、他の参加者のアバタの視線を、前記第２の位置に指向させる第６ステップと
を含むことを特徴とするプログラム。
【請求項９】
前記第２ステップにおいて、前記コンピュータが、前記三次元仮想空間を表示するビューウィンドウ内に表示されているアバタの中から前記発話相手のアバタを特定し、
前記第３ステップにおいて、前記コンピュータが、前記発話相手のアバタが前記ビューウィンドウ内に表示されているとき、前記第１の位置を特定し、
前記第４ステップにおいて、前記コンピュータが、位置が特定された前記発話相手のアバタと前記発話メッセージに対応する参加者のアバタの距離が所定の制限距離以内の場合に、前記発話メッセージに対応する参加者のアバタの視線を前記第１の位置に指向させる
ことを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記所定の制限距離は、シチュエーションに応じて可変である
ことを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記第１ステップにおいて、前記コンピュータが、前記発話相手に関する情報として、特定の記号が前記発話メッセージに含まれているか否かを判定し、前記判定の結果が肯定のとき、さらに、前記発話メッセージより発話相手の固有名詞を取り出し、
前記第２ステップにおいて、前記コンピュータが、取り出された前記固有名詞を用いて、前記発話相手のアバタを特定する
ことを特徴とする請求項８に記載のプログラム。
【請求項１２】
前記第５ステップにおいて、前記コンピュータが、さらに、前記三次元仮想空間を表示するビューウィンドウ内に表示されている他の参加者のアバタを特定し、
前記第６ステップにおいて、前記コンピュータが、前記発話メッセージに対応する参加者のアバタと、特定された他の参加者のアバタの距離が所定の制限距離以内の場合に、前記他の参加者のアバタの視線を、前記第２の位置に指向させる
ことを特徴とする請求項８に記載のプログラム。
【請求項１３】
前記所定の制限距離は、シチュエーションに応じて可変である
ことを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記コンピュータが、前記参加者のアバタが特定した位置に指向しているか否かを判定する第７ステップをさらに含み、
前記第６ステップにおいて、前記コンピュータが、前記特定した位置に指向していない前記参加者のアバタの視線を、前記特定した位置に指向させる
ことを特徴とする請求項８に記載のプログラム。
【請求項１５】
請求項８乃至請求項１４いずれかに記載のプログラムを格納した記録媒体。
【請求項１６】
三次元仮想空間を管理し、前記三次元仮想空間に参加中の各参加者自身の分身であるアバタを前記三次元仮想空間内に表現し、各参加者の端末操作に応答させてその参加者のアバタの表示位置やアバタの視点を変更し、任意の参加者の端末から入力された発話メッセージを、その参加者のアバタに対応させて前記三次元仮想空間内、または所定のメッセージボードに表現すると共に、各端末に対して、前記三次元仮想空間を表示させる三次元仮想空間制御装置であって、
前記発話メッセージに発話相手に関する情報が含まれているか否かを判定する判定手段と、
前記判定手段による判定結果が肯定のとき、前記情報に基づいて、前記発話相手のアバタを特定するアバタ特定手段と、
前記アバタ特定手段により特定された前記発話相手のアバタの、前記三次元仮想空間内における位置である第１の位置を特定する第１の位置特定手段と、
前記発話メッセージに対応する参加者のアバタの視線を、前記第１の位置特定手段により特定された前記第１の位置に指向させる第１の視線指向手段と、
前記発話メッセージに対応する参加者のアバタの前記三次元仮想空間内における位置である第２の位置を特定する第２の位置特定手段と、
他の参加者のアバタの視線を、前記第２の位置特定手段により特定された前記第２の位置に指向させる第２の視線指向手段と
を備えることを特徴とする三次元仮想空間制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、三次元仮想空間表示方法、プログラム及びそのプログラムを格納した記録媒体、並びに、三次元仮想空間制御装置に関する。詳しくは、三次元仮想空間に参加した参加者の視線が、注目相手（たとえば、発話者または会話したい相手）の方向に自然に向くように改良した三次元仮想空間表示方法、プログラム及びそのプログラムを格納した記録媒体、並びに、三次元仮想空間制御装置に関する。
【０００２】
【従来の技術】
従来より、インターネットを介して接続された参加者の端末に仮想世界（Ｖｉｒｔｕａｌ  Ｗｏｒｌｄ）を模した三次元仮想空間画像を表示し、その空間内に「アバタ」（ａｖａｔａｒ：インド神話に登場する神の化身）と呼ばれる、参加者の分身オブジェクトを配し、そのアバタを参加者が操作することにより、仮想世界内を自由に歩き回ったり、他の参加者と会話を交わしたりできる、いわゆるサイバー・スペース・サービス・システムが知られている（たとえば、特開平９−８１７８１号公報、特開２０００−１４２８２号公報）。
【０００３】
図１２は、かかるサイバー・スペース・サービス・システムによって提供される三次元仮想空間の一例を示す図である。この図において、画面２０１は、ある参加者（便宜的に「参加者Ａ」という）の端末に表示された仮想世界の画像である。この画面２０１には、背景画像（図では町並みと右奥の山）の前に、複数のアバタ２０２、２０３とペット２０４、２０５が配置されている。アバタ２０２、２０３はそれぞれ他の参加者（以下「参加者Ｂ」と「参加者Ｃ」という）の分身であり、また、ペット２０４、２０５はそれらの参加者Ｂ及び参加者Ｃのエージェント（アバタごとに出現するオブジェクトのこと）である。
【０００４】
ここで、図示の構図は、参加者Ａの視点から見たときの絵である。すなわち、参加者Ａは、現在、町並みと右奥の山を見渡す丘に立っており、この丘の上には、参加者Ａの他に、参加者Ｂ、Ｃのアバタ２０２、２０３とそれらのエージェント（ペット２０４、２０５）が存在している。なお、画面２０１には、参加者Ａのアバタは表示されていない。これは、現在、アバタの視点から見るモードを選択しているからである。別の視点モードを選択することにより、参加者Ａのアバタを画面２０１に表示させることも可能である。また、参加者Ａのエージェントも存在するが、今は、画面２０１の外に位置していて見えていない。
【０００５】
さて、すべてのアバタは既述のとおり参加者の分身である。すなわち、画面２０１の視点の元になる非表示のアバタは参加者Ａの分身であり、また、アバタ２０２は参加者Ｂの分身、アバタ２０３は参加者Ｃの分身である。各参加者は、自分の端末を操作して画面２０１の分身（アバタ）の位置を移動させたり、視点を変えたりすることができる。さらに、画面２０１にメッセージを送ることもできる。それらの操作結果は、自分の端末はもちろんのこと、他の参加者の端末にも同様に反映されるようになっており、同じ仮想世界を複数の参加者で共有できる仕組みになっている。
【０００６】
たとえば、画面２０１には、参加者Ｃのメッセージ（“こんにちは＞花子さん”）２０６と参加者Ｂの返信メッセージ（“はい、こんにちは”）２０７がそれぞれのアバタの上に表示されている。“花子”は参加者Ｂのニックネーム（チャットネームまたはハンドルネームともいう）、“太郎”は参加者Ｃのニックネームである。メッセージ２０６は参加者Ｃ（太郎さん）の端末から送信されたもの、メッセージ２０７は参加者Ｂ（花子さん）の端末から送信されたものであり、これらのメッセージ２０６、２０７を含む画面２０１は、仮想世界にアクセスしているすべての参加者（参加者Ａ〜Ｃ）の端末に等しく表示される。
【０００７】
また、参加者Ａの（アバタの）視線を変えたい場合、参加者Ａは画面２０１の下側に表示されたコントロールパネル２０８を操作する。
【０００８】
図１３は、コントロールパネル２０８の拡大図及び用途説明図である。コントロールパネル２０８には、用途ごとにデザインされた複数のスイッチオブジェクト２０８ａ〜２０８ｍが配置されている。左から順にその用途を説明すると、たとえば、スイッチオブジェクト２０８ａは視点仰角変更用、スイッチオブジェクト２０８ｂは視点俯角変更用、スイッチオブジェクト２０８ｃは視点左旋回用、スイッチオブジェクト２０８ｄは視点前方移動用、スイッチオブジェクト２０８ｅは視点後方移動用、スイッチオブジェクト２０８ｆは視点右旋回用、スイッチオブジェクト２０８ｇは視点左水平移動用、スイッチオブジェクト２０８ｈは視点高度上昇用、スイッチオブジェクト２０８ｉは視点右水平移動用、スイッチオブジェクト２０８ｊは視点高度下降用、スイッチオブジェクト２０８ｋは視点小連続旋回用、スイッチオブジェクト２０８ｍは視点大連続旋回用である。
【０００９】
図において、参加者Ａのアバタ２０９は、「単純化立姿図形」と「俯瞰図形」の二種類で表してある。丸形状の俯瞰図形は、アバタ２０９の頭部を俯瞰して見た形を単純化したものであり、俯瞰図形の矢印記号は視線方向（すなわち顔の正面方向）を表している。
【００１０】
参加者Ａがスイッチオブジェクト２０８ａをクリック（マウス等のポインティングデバイスによるクリック操作；以下同様）すると、アバタ２０９の視線が頭上を見上げる方向に変化し、これに伴い、画面２０１の構図が変化する。同様にスイッチオブジェクト２０８ｂをクリックすると、同視線が足下を見下ろす方向に変化し、また、スイッチオブジェクト２０８ｃをクリックすると、アバタ２０９の体軸が反時計回りに回転（同方向に視点移動）する。また、スイッチオブジェクト２０８ｄをクリックすると、アバタ２０９が前進し、スイッチオブジェクト２０８ｅをクリックすると、アバタ２０９が後退する。また、スイッチオブジェクト２０８ｆをクリックすると、アバタ２０９の体軸が時計回りに回転しスイッチオブジェクト２０８ｇをクリックすると、アバタ２０９が左方向に水平移動する。またスイッチオブジェクト２０８ｈをクリックすると、アバタ２０９の視点位置が高く（あたかも空中に浮かんだように）なりスイッチオブジェクト２０８ｉをクリックすると、逆に視点位置が低くなり、さらにスイッチオブジェクト２０８ｊをクリックすると、アバタ２０９が右方向に水平移動する。
【００１１】
したがって、たとえば、参加者Ａの（アバタ２０９の）視線を参加者Ｂ（アバタ２０２）の方向に向けたい（正対させたい）場合は、参加者Ａは、視点左旋回用のスイッチオブジェクト２０８ｃをクリックし、画面２０１の真ん中に参加者Ｂ（アバタ２０２）が来るように構図を微調整すればよい。または、視点左水平移動用のスイッチオブジェクト２０８ｇをクリックしてもよい。この場合、参加者Ａ（のアバタ）は左移動するので、その移動量を微調整することにより、参加者Ｂ（アバタ２０２）の正面に位置させることができる。
【００１２】
このように、参加者の端末を操作することにより、自分の分身（参加者Ａにああってはアバタ２０９、参加者Ｂにあってはアバタ２０２、参加者Ｃにあってはアバタ２０３）の仮想世界における視点を自由自在に変化させることができ、あたかも自らがその仮想世界に存在するかのようなバーチャル・リアリティーを味わうことができる。
【００１３】
【発明が解決しようとする課題】
しかしながら、上記従来の技術にあっては、いちいちコントロールパネル２０８を操作してアバタの視点を変えなければならないため、操作が面倒であるという問題点があった。
【００１４】
そこで、本発明が解決しようとする課題は、現実の世界では、たとえば、近くの人の声に反応してその声の方向に視線を向けるのが自然な振る舞いであることに着目し、かかる仕組みをアルゴリズムとして取り入れることにより、参加者の端末操作を必要とすることなく、アバタの視点を自律的に変更できるようにし、以て、操作性の大幅な改善を図った三次元仮想空間表示方法、プログラム及びそのプログラムを格納した記録媒体、並びに、三次元仮想空間制御装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明の三次元仮想空間表示方法は、三次元仮想空間を管理し、三次元仮想空間に参加中の各参加者自身の分身であるアバタを当該三次元仮想空間内に表現し、各参加者の端末操作に応答させてその参加者のアバタの表示位置やアバタの視点を変更し、任意の参加者の端末から入力された発話メッセージを、その参加者のアバタに対応させて前記三次元仮想空間内、または所定のメッセージボードに表現すると共に、各端末に対して、三次元仮想空間を表示させる三次元仮想空間制御装置の三次元仮想空間表示方法において、三次元仮想空間制御装置が、発話メッセージに発話相手に関する情報が含まれているか否かを判定する第１ステップと、三次元仮想空間制御装置が、判定の結果が肯定のとき情報に基づいて発話相手のアバタを特定する第２ステップと、三次元仮想空間制御装置が、その発話相手のアバタの三次元仮想空間内における位置である第１の位置を特定する第３ステップと、三次元仮想空間制御装置が、発話メッセージに対応する参加者のアバタの視線を、第１の位置に指向させる第４ステップと、三次元仮想空間制御装置が、発話メッセージに対応する参加者のアバタの三次元仮想空間内における位置である第２の位置を特定する第５ステップと、三次元仮想空間制御装置が、他の参加者のアバタの視線を、第２の位置に指向させる第６ステップとを含むことを特徴とする。
【００１６】
前記第２ステップにおいて、三次元仮想空間制御装置が、三次元仮想空間を表示するビューウィンドウ内に表示されているアバタの中から発話相手のアバタを特定し、第３ステップにおいて、三次元仮想空間制御装置が、発話相手のアバタがビューウィンドウ内に表示されているとき、第１の位置を特定し、第４ステップにおいて、三次元仮想空間制御装置が、位置が特定された発話相手のアバタと発話メッセージに対応する参加者のアバタの距離が所定の制限距離以内の場合に、発話メッセージに対応する参加者のアバタの視線を、第１の位置に指向させることができる。
【００１７】
前記所定の制限距離は、シチュエーションに応じて可変であるようにすることができる。
【００１８】
前記第１ステップにおいて、三次元仮想空間制御装置が、発話相手に関する情報として、特定の記号が発話メッセージに含まれているか否かを判定し、判定の結果が肯定のとき、さらに、発話メッセージより発話相手の固有名詞を取り出し、第２ステップにおいて、三次元仮想空間制御装置が、取り出された固有名詞を用いて、発話相手のアバタを特定することができる。
【００１９】
前記第５ステップにおいて、三次元仮想空間制御装置が、さらに、三次元仮想空間を表示するビューウィンドウ内に表示されている他の参加者のアバタを特定し、第６ステップにおいて、三次元仮想空間制御装置が、発話メッセージに対応する参加者のアバタと、特定された他の参加者のアバタの距離が所定の制限距離以内の場合に、他の参加者のアバタの視線を、第２の位置に指向させることができる。
【００２０】
前記所定の制限距離は、シチュエーションに応じて可変であるようにすることができる。
【００２１】
前記三次元仮想空間制御装置が、参加者のアバタが特定した位置に指向しているか否かを判定する第７ステップをさらに含み、第６ステップにおいて、三次元仮想空間制御装置が、特定した位置に指向していない参加者のアバタの視線を、特定した位置に指向させることができる。
【００２２】
本発明のプログラムは、三次元仮想空間を管理し、前記三次元仮想空間に参加中の各参加者自身の分身であるアバタを当該三次元仮想空間内に表現し、各参加者の端末操作に応答させてその参加者のアバタの表示位置やアバタの視点を変更し、任意の参加者の端末から入力された発話メッセージを、その参加者のアバタに対応させて三次元仮想空間内、または所定のメッセージボードに表現すると共に、各端末に対して、三次元仮想空間を表示させるコンピュータに実行させるプログラムであって、コンピュータが、発話メッセージに発話相手に関する情報が含まれているか否かを判定する第１ステップと、コンピュータが、判定の結果が肯定のとき情報に基づいて発話相手のアバタを特定する第２ステップと、コンピュータが、その発話相手のアバタの三次元仮想空間内における位置である第１の位置を特定する第３ステップと、コンピュータが、発話メッセージに対応する参加者のアバタの視線を、第１の位置に指向させる第４ステップと、コンピュータが、発話メッセージに対応する参加者のアバタの三次元仮想空間内における位置である第２の位置を特定する第５ステップと、コンピュータが、他の参加者のアバタの視線を、第２の位置に指向させる第６ステップとを含むことを特徴とする。
前記第２ステップにおいて、コンピュータが、三次元仮想空間を表示するビューウィンドウ内に表示されているアバタの中から発話相手のアバタを特定し、第３ステップにおいて、コンピュータが、発話相手のアバタがビューウィンドウ内に表示されているとき、第１の位置を特定し、第４ステップにおいて、コンピュータが、位置が特定された発話相手のアバタと発話メッセージに対応する参加者のアバタの距離が所定の制限距離以内の場合に、発話メッセージに対応する参加者のアバタの視線を第１の位置に指向させることができる。
前記所定の制限距離は、シチュエーションに応じて可変であるようにすることができる。
前記第１ステップにおいて、コンピュータが、発話相手に関する情報として、特定の記号が発話メッセージに含まれているか否かを判定し、判定の結果が肯定のとき、さらに、発話メッセージより発話相手の固有名詞を取り出し、第２ステップにおいて、コンピュータが、取り出された固有名詞を用いて、発話相手のアバタを特定することができる。
前記第５ステップにおいて、コンピュータが、さらに、三次元仮想空間を表示するビューウィンドウ内に表示されている他の参加者のアバタを特定し、第６ステップにおいて、コンピュータが、発話メッセージに対応する参加者のアバタと、特定された他の参加者のアバタの距離が所定の制限距離以内の場合に、他の参加者のアバタの視線を、第２の位置に指向させることができる。
前記所定の制限距離は、シチュエーションに応じて可変であるようにすることができる。
前記コンピュータが、参加者のアバタが特定した位置に指向しているか否かを判定する第７ステップをさらに含み、第６ステップにおいて、コンピュータが、特定した位置に指向していない参加者のアバタの視線を、特定した位置に指向させることができる。
本発明の記録媒体は、上述したいずれかに記載のプログラムを格納することを特徴とする。
本発明の三次元仮想空間制御装置は、三次元仮想空間を管理し、三次元仮想空間に参加中の各参加者自身の分身であるアバタを三次元仮想空間内に表現し、各参加者の端末操作に応答させてその参加者のアバタの表示位置やアバタの視点を変更し、任意の参加者の端末から入力された発話メッセージを、その参加者のアバタに対応させて三次元仮想空間内、または所定のメッセージボードに表現すると共に、各端末に対して、三次元仮想空間を表示させる三次元仮想空間制御装置であって、発話メッセージに発話相手に関する情報が含まれているか否かを判定する判定手段と、判定手段による判定結果が肯定のとき、情報に基づいて、発話相手のアバタを特定するアバタ特定手段と、アバタ特定手段により特定された発話相手のアバタの、三次元仮想空間内における位置である第１の位置を特定する第１の位置特定手段と、発話メッセージに対応する参加者のアバタの視線を、第１の位置特定手段により特定された第１の位置に指向させる第１の視線指向手段と、発話メッセージに対応する参加者のアバタの三次元仮想空間内における位置である第２の位置を特定する第２の位置特定手段と、他の参加者のアバタの視線を、第２の位置特定手段により特定された第２の位置に指向させる第２の視線指向手段とを備えることを特徴とする。
本発明の三次元仮想空間表示方法、プログラム及びそのプログラムを格納した記録媒体、並びに、三次元仮想空間制御装置によれば、発話メッセージに発話相手に関する情報が含まれているか否かが判定され、その判定の結果が肯定のとき情報に基づいて発話相手のアバタが特定され、その発話相手のアバタの三次元仮想空間内における位置である第１の位置が特定され、発話メッセージに対応する参加者のアバタの視線が特定した第１の位置に指向され、さらに、発話メッセージに対応する参加者のアバタの三次元仮想空間内における位置である第２の位置が特定され、他の参加者のアバタの視線が、特定された第２の位置に指向される。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下の説明における様々な細部の特定ないし実例および数値や文字列その他の記号の例示は、本発明の思想を明瞭にするための、あくまでも参考であって、それらのすべてまたは一部によって本発明の思想が限定されないことは明らかである。また、周知の手法、周知の手順、周知のアーキテクチャおよび周知の回路構成等（以下「周知事項」）についてはその細部にわたる説明を避けるが、これも説明を簡潔にするためであって、これら周知事項のすべてまたは一部を意図的に排除するものではない。かかる周知事項は本発明の出願時点で当業者の知り得るところであるので、以下の説明に当然含まれている。
【００２４】
図１は、本発明に係る「三次元仮想空間表示方法」を適用できるネットワーク・コンピューティング・システム１の構成を模式的に示した図である。このネットワーク・コンピューティング・システム１上では、三次元仮想空間（以下「三次元仮想世界」または単に「仮想世界」ともいう）に展開されるコミュニティ・システムが構築・提供される。このコミュニティ・システムは、後述するように、三次元仮想空間を表示し、ナビゲーションするブラウザ（後述のＣＰブラウザ）と、三次元仮想空間を各参加者同士で共有できるように管理する共有仮想世界サーバ（後述のＣＰサーバ）と、共有アプリケーション開発環境であるＡＯ（ＡｐｐｌｉｃａｔｉｏｎＯｂｊｅｃｔ）という３つの要素で構成される。
【００２５】
ネットワーク・コンピューティング・システム１には、無数のコンピュータ・システムが接続されている。これらコンピュータ・システムは、世界中に散在しており、一部のコンピュータは各種のサービスを有償または無償で提供する「サーバ」として稼動し、他の一部はサーバに対してサービスを要求する「クライアント」として稼動している。
【００２６】
また、ネットワーク・コンピューティング・システム１は、通信媒体として、インターネット２や、その他の小規模ネットワークとしてのＬＡＮ（ＬｏｃａｌＡｒｅａ Ｎｅｔｗｏｒｋ）３ａ、３ｂ、・・・・、各国の電話会社が構築・提供する公衆電話網４などを含む。それぞれのＬＡＮ３ａ、３ｂ、・・・・の実体は、単一のネットワーク・セグメントであっても、あるいは複数のセグメントがルータで接続された構成であってもよい。
【００２７】
インターネット２やそれぞれのＬＡＮ３ａ、３ｂ、・・・・は、ルータ５ａ、５ｂ、・・・・等を経由して相互接続されている。インターネット２の実体は、ＬＡＮ３ａ、３ｂ、・・・・のサーバ同士が相互接続を繰り返した結果として世界規模に成長し巨大ネットワークである。これらインターネット２やＬＡＮ３ａ、３ｂ、・・・・上のサーバ同士は、たとえば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）などの所定の通信プロトコルに従って相互アクセスが可能となっている。
【００２８】
また、インターネット２やＬＡＮ３ａ、３ｂ、・・・・などのネットワークと、公衆電話網４とは、ゲートウェイ・システム（Ｇ／Ｗ）６によって相互接続されている。公衆電話網４には、たとえば、ＰＳＴＮ（Ｐｕｂｌｉｃ Ｓｗｉｔｃｈｅｄ Ｔｅｌｅｐｈｏｎｅ Ｎｅｔｗｏｒｋ）やＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ Ｓｅｒｖｉｃｅ Ｄｉｇｉｔａｌ Ｎｅｔｗｏｒｋ）が含まれる。
【００２９】
公衆電話網４は、さらに無数の交換局や端局（図示しない）を擁し、末端には一般家庭などに設置された加入電話機が接続されている。また、公衆電話網４には、さらに、携帯電話サービス・プロバイダ、ＰＨＳ（Ｐｅｒｓｏｎａｌ Ｈａｎｄｙｐｈｏｎｅ Ｓｙｓｔｅｍ）サービス・プロバイダなど、無線通信サービスを提供する多数のキャリアによって、多数の無線電話網が敷設されている。
【００３０】
インターネット２上のコンピュータ・システム（ＬＡＮ経由でインターネット２接続されているコンピュータを含む）は、インターネット２上で識別可能なＩＰアドレスが割り当てられており、このＩＰアドレスは各コンピュータとインターネット２との論理的な接続点となる。
【００３１】
また、インターネット２上には、専用線によるＩＰ接続を行うことができない一般ユーザのために、インターネット２への接続サービスを提供する通信事業者、いわゆる「インターネット・サービス・プロバイダ」（ＩＳＰ）が存在する。営利のインターネット・サービス・プロバイダは、第２種電気通信事業者の登録・届出が必要である。インターネット・サービス・プロバイダの一例は、「Ｓｏ−ｎｅｔ」である。一般ユーザは、サービス・プロバイダが設置するサーバすなわち「アクセス・ポイント」（ＡＰ）２ａ〜２ｄにダイヤルアップすることにより、インターネット２へのＩＰ接続を行うことができる。また、今日のインターネット・サービス・プロバイダは、ＤＳＬ（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）やＣＡＴＶ（Ｃｏｍｍｕｎｉｔｙ  Ａｎｔｅｎｎａ  ＴｅｌｅＶｉｓｉｏｎ）などを用いて定額制の２４時間接続サービスを提供しているところが多い。このような常時接続サービスを利用する一般ユーザは、接続の都度、いちいちダイヤルアップする必要がない。
【００３２】
専用線または任意のインターネット・サービス・プロバイダ経由でインターネット２に接続された一般ユーザの端末（以下「ユーザＰＣ」という）７ａ、７ｂ、７ｃ、・・・・は、インターネット２上では、主として「クライアント」として稼動し、ＷＷＷ（Ｗｏｒｌｄ Ｗｉｄｅ Ｗｅｂ）サーバやその他のサーバに対して所要のサービスの提供を要求することができる。
【００３３】
インターネット・サービス・プロバイダは、一般に、インターネット２への接続サービス以外にも、チャットやＢＢＳ（Ｂｕｌｌｅｔｉｎ Ｂｏａｒｄ Ｓｙｓｔｅｍ：電子掲示板システム）、電子メールなどの各種アプリケーションをインターネット２上で提供している。もちろん、インターネット・サービス・プロバイダ以外の各種の運営母体がチャットやＢＢＳ、電子メール等のインターネット２・アプリケーションを提供することも可能である。
【００３４】
図１に示す例では、ＬＡＮ３ａを運営するインターネット・サービス・プロバイダが、本実施の形態に係るコミュニティ・システム、すなわち、三次元仮想世界上において各ユーザが分身としての「アバタ」を介してチャットなどの擬似コミュニケーションを楽しむことができるコミュニティ・システム・サービスを提供しているものとする。
【００３５】
「チャット」（ｃｈａｔ）とは、インターネット２を介して遠隔ユーザ間でリアルタイムのコミュニケーションを行うサービスのことであり、特に、三次元チャットは、三次元グラフィックスを用いて描画された三次元仮想空間上で各ログイン・ユーザ（以下「参加者」という）が自分の分身である「アバタ」を送り込んで、リアルタイムのコミュニケーションを行う環境を提供するサービスである。ＷＷＷシステム上の三次元仮想世界、すなわちコミュニティ・システムは、たとえば、ＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｏｒｇａｎｉｚａｔｉｏｎ ｆｏｒＳｔａｎｄａｒｄｉｚａｔｉｏｎ）標準のＶＲＭＬ（Ｖｉｒｔｕａｌ Ｒｅａｌｉｔｙ Ｍｏｄｅｌｉｎｇ Ｌａｎｇｕａｇｅ）で記述することができ、また、Ｊａｖａ（登録商標）を用いてその動作記述を行うことができる。また、かかる三次元仮想世界は、ＶＲＭＬブラウザ（後述）を用いて表示し、ナビゲーションすることができる。
【００３６】
ＬＡＮ３ａ上には、三次元仮想世界をインターネット２上に構築・提供したり、この三次元仮想世界上での各種の社会活動を行う環境を提供して、同三次元仮想世界を管理するための共有仮想世界（ＣＰ：Ｃｏｍｍｕｎｉｔｙ Ｐｌａｃｅ）サーバ（以下「ＣＰサーバ」という）８や、１以上のアプリケーション・オブジェクト（ＡＯ）・サーバ（以下「ＡＯサーバ」という）９ａ、９ｂ、・・・・が設けられている。
【００３７】
また、ＬＡＮ３ａ上には、ＨＴＭＬ（Ｈｙｐｅｒ Ｔｅｘｔ ＭａｒｋｕｐＬａｎｇｕａｇｅ）コンテンツ１０ａなどのＨＴＴＰ（Ｈｙｐｅｒ Ｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）資源オブジェクトを提供する１以上のＷＷＷサーバ１０が設けられており、さらに、この他にも、各ユーザ・アカウントに対する電子メールの送受信サービスを提供するメール・サーバ１１などが存在していてもよい。ＬＡＮ３ａ上の各サーバ、すなわち、ＣＰサーバ８、ＡＯサーバ９ａ、９ｂ、・・・・、ＷＷＷサーバ１０、メール・サーバ１１には、ルータ５ａを介してインターネット２からアクセスすることができる。
【００３８】
本実施の形態では、ＷＷＷサーバ１０は、通常のＨＴＭＬコンテンツ１０ａの他に、三次元仮想世界を記述したＶＲＭＬファイル１０ｂを提供している。このＶＲＭＬファイル１０ｂには、仮想世界と共有アプリケーション（ＳｈａｒｅｄＡｐｐｌｉｃａｔｉｏｎ）の記述、ＣＰサーバ８のインターネット２のアドレス（ＵＲＬ：Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）またはその参照リンクが含まれている。
【００３９】
図２は、本実施の形態に係る三次元仮想世界にログインするユーザ（参加者；便宜的に参加者Ａと参加者Ｃ）のコンピュータ（たとえば、ユーザＰＣ７ａ、７ｂ）と、ＷＷＷサーバ１０及びＣＰサーバ８との関係を示す図である。参加者Ａと参加者Ｃのコンピュータ（ユーザＰＣ７ａ、７ｂ）は、それぞれ、ＷＷＷサーバ１０が提供するＨＴＭＬコンテンツ１０ａをブラウズするＨＴＭＬブラウザ１２と、ＶＲＭＬファイル１０ｂを扱うことができるＶＲＭＬブラウザ１３の双方がインストールされている。
【００４０】
本実施の形態で使用されるＶＲＭＬブラウザ１３は、特に、共有仮想世界（ＣＰ：Ｃｏｍｍｕｎｉｔｙ Ｐｌａｃｅ）を表示し、ナビゲーションするものであることから、「ＣＰブラウザ１３」とも呼ぶ。以下、本実施の形態においては、ＶＲＭＬブラウザ１３とＣＰブラウザ１３を同義語として取り扱うことにする。ＨＴＭＬブラウザ１２とＣＰブラウザ１３は、たとえば、米Ｍｉｃｒｏｓｏｆｔ社のオペレーティング・システム“Ｗｉｎｄｏｗｓ（Ｒ）シリーズ”などによって提供される同一のプラットフォーム上で動作することができる。ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・自体は、たとえば、米ＩＢＭ社のＰＣ／ＡＴ（Ｐｅｒｓｏｎａｌ Ｃｏｍｐｕｔｅｒ／Ａｄｖａｎｃｅｄ Ｔｅｃｈｎｏｌｏｇｙ）互換機またはその後継機で構成される。
【００４１】
ＶＲＭＬファイル１０ｂを用いて構築される三次元仮想世界では、その仮想世界内に配置された各オブジェクトは、ユーザ操作に応答して発生するイベントや、あらかじめ設定された時間の経過に伴なって発生するタイマー・イベントなどに応答した自律的な動きすなわち“Ｂｅｈａｖｉｏｒ”を実現することができる。
【００４２】
Ｂｅｈａｖｉｏｒのメカニズムは、「センサ」、「ルーティング」及び「スクリプト」という３つの要素の連携動作によって実現される。すなわち、（１）三次元仮想世界に配置されたオブジェクトなどのノードに対してあらかじめ関連付けられ、ＶＲＭＬファイル１０ｂとして記述されたセンサ・ノードが、そのフィールドの変化に基づいて外部イベントを感知して、ＶＲＭＬシーン内にイベントを発生させる。（２）発生したイベントは、ＶＲＭＬファイル１０ｂとして記述されたルーティングに基づいて、オブジェクトの挙動を規定するプログラムである外部スクリプトにルーティング（すなわち伝達）される。（３）外部スクリプトには、イベントが到来した時点で呼び出されるメソッドがあらかじめ記述されている。ルーティングによって伝達されたイベントを受け取った外部スクリプトは、その記述に基づく処理を実行した後、その処理結果とルーティングの記述に基づいてＶＲＭＬシーン内の該当するノードのフィールド値を変更する。
【００４３】
ＶＲＭＬでは、センサ・ノードとして、たとえば、指定されたオブジェクト上をマウス・カーソルが通過したりクリックしたときにイベントを発生する“ＴｏｕｃｈＳｅｎｓｏｒ”や、指定された領域内にユーザの視点（ＶｉｅｗＰｏｉｎｔ）が侵入した場合にイベントを発生する“ＰｒｏｘｉｍｉｔｔｙＳｅｎｓｏｒ”、所定時刻の到来又は所定時間間隔が経過する毎に発生する“ＴｉｍｅｒＳｅｎｓｏｒ”などが定義されている。
【００４４】
上述したように、参加者Ａと参加者ＣのユーザＰＣ７ａ、７ｂ上では、ＨＴＭＬブラウザ１２とともに、ＶＲＭＬコンテンツを解釈可能なＣＰブラウザ１３が稼動している。ＨＴＭＬブラウザ１２としては、米Ｎｅｔｓｃａｐｅ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ社の“Ｎｅｔｓｃａｐｅ Ｎａｖｉｇａｔｏｒ”や、米Ｍｉｃｒｏｓｏｆｔ社の“Ｉｎｔｅｒｎｅｔ Ｅｘｐｌｏｒｅｒ”のような汎用ブラウザを使用することができる。
【００４５】
ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・は、たとえば、最寄のアクセス・ポイント（ＡＰ）へのダイヤルアップ接続などの所定の手続を経てインターネット２に接続され、または、常時接続の場合はこのような手続きを省略してインターネット２に接続される。さらに、ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・は、ＨＴＭＬブラウザ１２により、ＨＴＴＰプロトコルに従ってＷＷＷサーバ１０にアクセスする。そして、ＷＷＷサーバ１０から三次元仮想世界を記述するＶＲＭＬファイル１０ｂをダウンロードし、それをＣＰブラウザ１３に渡す。
【００４６】
ＣＰブラウザ１３は、渡されたＶＲＭＬファイル１０ｂを解析してブラウザ画面上に表示する。また、ＶＲＭＬファイル１０ｂにＣＰサーバ８のアドレスが記述されている場合には、そのアドレスへの接続を試みる。したがって、同一のＶＲＭＬファイル１０ｂをダウンロードした各参加者のＣＰブラウザ１３は、同一のＣＰサーバ８への接続を果たす（ログインする）ことになり、ＶＲＭＬファイル１０ｂに記述されたＶＲＭＬシーン（すなわち同じ三次元仮想世界）をログイン中の複数のユーザ（参加者）で共有することができる。
【００４７】
ＣＰサーバ８への接続、すなわち三次元仮想世界へのログインに成功すると、それ以後の通信はＣＰサーバ８とＣＰブラウザ１３間で行われる。この通信は、所定のサーバ−クライアント間プロトコル〔本明細書中では、ＶＳＣＰ（Ｖｉｒｔｕａｌ Ｓｏｃｉｅｔｙ ＳｅｒｖｅｒＣｌｉｅｎｔ Ｐｒｏｔｏｃｏｌ）と呼ぶ〕を用いて行われる。ＶＳＣＰプロトコルには、ユーザがＣＰブラウザ１３を通して行った変更をＣＰサーバ８に通知する機能や、通知された情報をＣＰサーバ８からさらに他のＣＰブラウザ１３に通知する機能が含まれている。
【００４８】
ＣＰサーバ８は、各ＣＰブラウザ１３が知る必要がある情報（すなわちＣＰブラウザ１３に送信すべき情報）の配信を、オーラ・アルゴリズムを用いて制限することができる。オーラとは、アバタの周辺の領域、すなわちユーザが興味を持つと想定される領域のことを意味し、オーラの外側にある事物は興味を持たないとみなして情報を送らない。オーラ・アルゴリズムを適用することにより、配信すべき情報量を削減し、各参加者へのネットワーク・トラフィックを規定の通信容量に制限するようにしている。
【００４９】
ＣＰサーバ８によって提供される三次元仮想世界上には、各ユーザの分身であるアバタや、アバタが飼育するペット（仮想生物；エージェントともいう）など、さまざまなオブジェクトが存在する。これらのオブジェクトの動作、その他仮想世界上のアプリケーションは、三次元仮想世界に存在する（すなわちログインしている）各ユーザ間で共有され、本明細書中では「共有アプリケーション」と呼ばれる。
【００５０】
図３は、ＣＰサーバ８、ＡＯサーバ９ａ、９ｂ、・・・・、ＷＷＷサーバ１０に共通のハードウェア構成を示す図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３は、ＣＰＵ２１が各種の処理を実行する上において必要なプログラムやデータを適宜記憶する。ハードディスク２４には、データベース、その他必要なデータや、ＣＰＵ２１が処理するプログラムなどが記憶される。これらは、バス２５を介して相互に接続されている。
【００５１】
バス２５にはまた、入出力インタフェース２６が接続されており、入出力インタフェース２６には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）や、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などで構成される表示部２７、キーボード、マウス、マイクロホンなどで構成される入力部２８が接続されると共に、さらに、モデムなどを内蔵して一般電話回線、専用回線、インターネット２などを介して外部の装置と通信する通信部２９と、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスクなどのディスクをドライブし、データを入出力するドライブ装置３０が接続されている。
【００５２】
図４は、ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・のハードウェア構成を示す図である。ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・は、ＣＰＵ４１、ＲＡＭ４２、ディスクコントローラ４３、ディスク装置４４、ディスプレイコントローラ４５、ディスプレイ装置４６、キーボードコントローラ４７、キーボード装置４８、ポインティングデバイス装置４９、通信部５０、メインバス５１、バスインターフェース５２および内部バス５３などを有し、ディスク装置４４にあらかじめ格納されたオペレーティングシステム等のソフトウェアリソース（ＨＴＭＬブラウザ１２、ＣＰブラウザ１３等）をＲＡＭ４２にロードしてＣＰＵ４１で実行することにより、前述のＷＷＷサーバ１０やＣＰサーバ８にアクセスし、所要の三次元仮想空間共有サービス（本実施の形態に係るコミュニティ・システム・サービス）を受けることができる。
【００５３】
また、ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・は、かかるサービスに関わる各種ユーザインターフェース画面をディスプレイ装置４６に表示し、そのインターフェース画面上でキーボード装置４８やポインティングデバイス装置４９を操作することにより、アバタの位置移動、アバタの視点移動、及び、メッセージの作成並びに送信などを行うことができるようになっている。
【００５４】
参加者Ａが自分の端末、たとえば、ユーザＰＣ７ａを操作し、所定の指令を入力すると、ＨＴＭＬブラウザ１２が、インターネット２を介して、所定のＵＲＬで規定されるＷＷＷサーバ１０にアクセスし、ＶＲＭＬファイル１０ｂを取得する。ＨＴＭＬブラウザ１２は、ＶＲＭＬファイル１０ｂを取得すると、それをＣＰブラウザ１３に引き渡す。ＣＰブラウザ１３は、ＶＲＭＬファイル１０ｂを解析し、ディスプレイ装置４６に表示する。また、ＣＰブラウザ１３は、ＶＲＭＬファイル１０ｂにＣＰサーバ８のアドレスが指定されている場合、ＣＰサーバ８に接続する。
【００５５】
接続が成功すると、それ以降、ＣＰブラウザ１３とＣＰサーバ８との間の通信は、ＶＳＣＰを用いて行われる。ＶＳＣＰは、参加者がＣＰブラウザ１３を介して行った変更をＣＰサーバ８に通知する機能、その情報をＣＰサーバ８から、そこに接続されている他のＣＰブラウザ１３に通知する機能などを有している。
【００５６】
他の参加者（たとえば、参加者Ｂ）も、参加者Ａと同様に、自分の端末（たとえば、ユーザＰＣ７ｂ）を操作してＷＷＷサーバ１０にアクセスし、ＶＲＭＬファイル１０ｂを取得すると、ＣＰブラウザ１３が、ＶＲＭＬファイル１０ｂを解析し、ディスプレイ装置４６に表示する。
【００５７】
このようにして、複数の参加者が、同一の仮想空間を共有する。
【００５８】
仮想空間にアクセスした参加者は、アバタとしてその仮想空間上に表現される。所定のアバタ（参加者）が仮想空間をナビゲートすると、その動作は、仮想空間を共有する他のアバタにも反映される。このようなアバタの動きの情報も、ＶＳＣＰによりＣＰブラウザ１３からＣＰサーバ８に送られる。ＣＰサーバ８は、この情報を自分に接続している他のＣＰブラウザ１３に送る。この情報を受け取ったＣＰブラウザ１３は、情報の送信元のＣＰブラウザ１３で行われた変更を反映するように対応するアバタを更新する。
【００５９】
図５は、ＡＯサーバ９ａ、９ｂ、・・・・、ＣＰサーバ８、及び、ＣＰブラウザ１３（ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・上に存在するもの）の関係を示す図である。ＡＯサーバ９ａ、９ｂ、・・・・は、ユニバーサル（Ｕｎｉｖｅｒｓａｌ）ＡＯ６０を有する。ユニバーサルＡＯ６０は、仮想世界全体を制御するＡＯである。ＡＯは、共有アプリケーションを管理するものであり、共有アプリケーションとは、アバタ等のオブジェクトと、その動作が共有空間にいる参加者により共有されるアプリケーションを意味する。
【００６０】
図５の例においては、仮想世界６１には、ユーザＰＣ７ａ〜ユーザＰＣ７ｃを操作する各ユーザ（各参加者Ａ〜参加者Ｃ）に対応するアバタ６２〜６４からなるユーザオブジェクト群６５と、各々のアバタ６２〜６４に対応して生成されるエージェント（図では便宜的に犬６６〜６８）からなるエージェントオブジェクト群６９と、各々のアバタ６２〜６４により共有される共有オブジェクト（図では便宜的にショップ７０、リサイクルボックス７１）からなる共有オブジェクト群７３とが配置されている。
【００６１】
ユニバーサルＡＯ６０は、起動時、デフォルトのコンフィグレーションファイル（ＰＡＷ．ＣＯＮＦ）を読み込み、そこに記述されている内容に従って、ユーザ・マネージャ（Ｕｓｅｒ  Ｍａｎａｇｅｒ）７４、エージェント・マネージャ（Ａｇｅｎｔ  Ｍａｎａｇｅｒ）７５、オブジェクト・マネージャ（Ｏｂｊｅｃｔ  Ｍａｎａｇｅｒ）７６を生成する。
【００６２】
ユーザ・マネージャ７４は、参加者が仮想世界６１にアクセスしてきたとき、各参加者ごとのユーザオブジェクト（Ｕｓｅｒ  Ｏｂｊｅｃｔ）を生成する。たとえば、３人の参加者（参加者Ａ〜至参加者Ｃ）がアクセスしていると仮定すると、ユーザ・マネージャ７４は、３つのユーザ・オブジェクト７４ａ〜７４ｃを生成し、これらのユーザ・オブジェクト７４ａ〜７４ｃは、それぞれ参加者ごとのアバタを生成管理する。すなわち、ユーザ・オブジェクト７４ａは、参加者Ａのアバタ６２を生成管理し、ユーザ・オブジェクト７４ｂは、参加者Ｂのアバタ６３を生成管理し、ユーザ・オブジェクト７４ｃは、参加者Ｃのアバタ６４を生成管理する。ＡＯサーバ９ａ、９ｂ、・・・・には、このような各種の処理を実行する上において必要な情報を適宜読み出すことができるように、データベース７７が接続されている。
【００６３】
エージェント・マネージャ７５は、各参加者ごとのエージェントＡＯを生成する。この場合、３人の参加者Ａ〜参加者Ｃであるから、エージェント・マネージャ７５は、参加者Ａに対応するエージェントＡＯ７５ａ、参加者Ｂに対応するエージェントＡＯ７５ｂ、及び、参加者Ｃに対応するエージェントＡＯ７５ｃを生成する。これらのエージェントＡＯ７５ａ〜７５ｃは、それぞれ参加者ごとのエージェントを生成管理する。すなわち、エージェントＡＯ７５ａ〜７５ａは、参加者Ａのエージェント６６を生成管理し、エージェントＡＯ７５ａ〜７５ｂは、参加者Ｂのエージェント６７を生成管理し、エージェントＡＯ７５ａ〜７５ｃは、参加者Ａのエージェント６８を生成管理する。
【００６４】
ユーザ・オブジェクト７４ａ〜７４ｃとエージェントＡＯ７５ａ〜７５ｂは、参加者が仮想世界６１にアクセス（ログ・イン）してきたときに生成され、仮想世界６１から退去（ログ・アウト）したとき消去される。たとえば、新たに別の参加者（便宜的に参加者Ｄとする）が仮想世界６１にアクセスしてきたときには、その参加者Ｄに対応するユーザ・オブジェクトとエージェントＡＯが新規に作成され、且つ、新規作成されたユーザ・オブジェクトとエージェントＡＯにより、参加者Ｄのアバタとエージェントが仮想世界に追加される。または、仮想世界から参加者（便宜的に参加者Ａとする）が退去すると、その参加者Ａに対応するユーザ・オブジェクト７４ａとエージェントＡＯ７５ａが消去され、したがって、仮想世界６１から参加者Ａのアバタ６２とエージェント６６が取り除かれる。
【００６５】
オブジェクトマネージャ７６は、予め設定された所定のタイミングにおいて、共有オブジェクトＡＯ（図示の例ではショップＡＯ７６ａやリサイクルボックスＡＯ７６ｂ）を生成し、これらの共有オブジェクトＡＯは、予め設定されている所定の時間存在する。ショップＡＯ７６ａはショップ７０を生成管理し、リサイクルボックスＡＯ７６ｂはリサイクルボックス７１を生成管理する。
【００６６】
ＣＰサーバ８は、ＡＯサーバ９ａ、９ｂ、・・・・と各ＣＰブラウザ１３との間に位置して仮想世界６１を構築し、ＣＰブラウザ１３は、仮想世界６１の中の対応するアバタ（たとえば、参加者Ａであればアバタ６２）を基準とする所定の範囲を、その参加者Ａの端末（ユーザＰＣ７ａ）上で管理する。
【００６７】
今、参加者Ａが自分の端末（ユーザＰＣ７ａ）のポインティングデバイス装置４９を操作して、自分のエージェント（犬としてのエージェント６６）をクリックした場合に、エージェント６６に所定の動作（たとえば、「Ｗｏｗ！」と鳴く動作）を起こさせる処理について説明する。
【００６８】
まず、ＡＯサーバ９ａ、９ｂ、・・・・は、ＣＰサーバ８に接続すると、ＡＯサーバ９ａ、９ｂ、・・・・が管理する共有アプリケーション（共有物体）を、ＣＰサーバ８が管理する仮想世界６１内に追加するように要求する。ＣＰサーバ８は、自分自身に接続している全てのＣＰブラウザ１３に対して、ＡＯサーバ９ａ、９ｂ、・・・・からの要求を送信する。各ＣＰブラウザ１３は、この要求を受け取ると、対応する共有アプリケーションを出現させる。
【００６９】
この状態で、参加者Ａがエージェント６６をマウスでクリックすると、対応するスクリプトがユーザＰＣ７ａのＣＰブラウザ１３で起動される。このスクリプトは、ＣＰサーバ８にエージェント６６がクリックされたことを示すメッセージを送る。ＣＰサーバ８は選択されたエージェント６６を管理するＡＯサーバ９ａ、９ｂ、・・・・にこのメッセージを送信する。
【００７０】
ＡＯサーバ９ａ、９ｂ、・・・・は、メッセージに対応する処理を実行し、ＣＰサーバ８に対して処理結果に対応するメッセージを送信する。このメッセージは、この例の場合、エージェント６６を鳴かせるためのメッセージである。そして、このメッセージが、ＣＰサーバ８から、そこに接続されている全てのＣＰブラウザ１３を介して対応するエージェント６６に渡され、処理される。その結果、ログ・イン中のすべての参加者のＰＣ上で、エージェント６６が、たとえば、「Ｗｏｗ！」と鳴くことになる。
【００７１】
図６は、ログイン中の参加者のＰＣに表示された、本実施の形態に係るコミュニティ・システム・サービス用のユーザインターフェース画面を示す図である。このユーザインターフェース画面８０は、それぞれ独立して位置や大きさを変更できる、たとえば、四つの画面から構成されている。
【００７２】
第一の画面は、ビューウインドウ８１である。このビューウィンドウ８１には、その参加者（以下便宜的に参加者Ａとする）のアバタの位置を基準とする仮想世界６１内の所定の範囲が表示される。この例においては、所定の背景上に、アバタ８２、８３とエージェント８４、８５が表示されている。なお、これらのアバタ８２、８３やエージェント８４、８５は、他の参加者（たとえば、参加者Ｂ、参加者Ｃ）のものであり、参加者Ａのアバタは非表示（すなわち、ビューウィンドウ８１に映し出された絵はアバタの視点から見た時の構図である）となっている。また、参加者Ａのエージェントも、ビューウィンドウ８１の表示枠の外にいて見えないものとする。ビューウィンドウ８１の下端には、自分のアバタの位置や視点を変更操作するためのコントロールパネル８６が設けられており、このコントロールパネル８６は、先に説明した従来技術のコントロールパネル２０８（図１３参照）と同様のものであり、その操作方法等については、適宜に、図１３を参照するものとする。
【００７３】
第二の画面は、個人情報を表示するためのワールドツールウィンドウ８７である。このワールドツールウィンドウ８７には、アバタの視点切り換えボタン８８、ペット情報ボタン８９、パーソナル情報ボタン９０、ペット情報表示エリア９１などが設けられている。なお、アバタの視点切り換えボタン８８を押すたびに、ビューウインドウ８１の構図を、アバタの視点から見たもの（この場合アバタは非表示）、アバタの背中越しに見たもの、アバタの正面から見たものに切り換えることができる。
【００７４】
第三の画面は、チャットウィンドウ（メッセージボード）９２である。このチャットウィンドウ９２には、自分のエージェント（図では現在見えていない）に対して各種の行為を実行するためのアクションボタン群９３、チャットログ領域９４、及び、メッセージ入力部９５が設けられている。チャットログ領域９４には、現在ログイン中の参加者間またはエージェントとの間でやり取りされているすべて（ただし、ある程度古いものは削除される）のチャットログが表示される。他の参加者とチャットする場合または自分のエージェントにメッセージを送る場合は、キーボード装置４８を用いてメッセージ入力部９５に所望の文字列を入力し、キーボード装置４８の確定キー（たとえば、リターンキー）を押す。
【００７５】
第四の画面は、コミュニケーションツールウィンドウ９６である。このコミュニケーションツールウィンドウ９６には、チャットボタン９７、てがみボタン９８、ＰＨＳボタン９９、地図ボタン１００などが設けられている。チャットボタン９７をクリックすると、第三の画面（チャットウィンドウ９２）をオープンしたりクローズしたりすることができる。また、てがみボタン９８をクリックすると、仮想空間内を配送範囲とする手紙（電子メールのようなもの）を作成したり、送受信したりできる手紙ウィンドウ（不図示）をオープンすることができる。また、ＰＨＳボタン９９をクリックすると、携帯電話機やＰＨＳなどへのメッセージを作成し、送信するためのＰＨＳウィンドウ（不図示）をオープンすることができる。また、地図ボタン１００をクリックすると、現在の自分（アバタ）の所在と向きを地図上に明示する（たとえば、赤い矢印で示す）地図ウィンドウ（不図示）をオープンすることができる。
【００７６】
参加者Ａが自分のアバタの視点を変えたい場合、たとえば、参加者Ｂ（アバタ８２）の方向に向けたい（正対させたい）場合は、参加者Ａは、ビューウィンドウ８１下端のコントロールパネル８６を操作する。先にも説明したように、このコントロールパネル８６は、図１３に示すもの（コントロールパネル２０８）と同じものであるから、このような場合は、図１３における視点左旋回用のスイッチオブジェクト２０８ｃをクリックし、ビューウィンドウ８１の真ん中に参加者Ｂ（アバタ８２）が来るように構図を微調整すればよい。または、図１３における視点左水平移動用のスイッチオブジェクト２０８ｇをクリックしてもよい。この場合、参加者Ａの視点は左移動するので、その移動量を微調整することにより、参加者Ｂ（アバタ８２）の正面に位置させることができる。
【００７７】
かかる手動操作による視点の移動は従来と同じであり、この点において特徴はないが、本実施の形態では、このような手動操作による視点移動の他に以下に説明する自律的移動を可能とすることにより、操作性の改善を図っている点に技術的な特徴がある。
【００７８】
＜発話者の方向を見る：発話反応型＞
図７は、発話者の方向を自然に見るようにするための第１のアルゴリズムである。このアルゴリズムは、サーバサイド（ＣＰサーバ８における視線方向制御処理：ステップＳ１１〜ステップＳ２０）とクライアントサイド（ＣＰブラウザ１３における表示処理：ステップＳ２１）で実行される。このアルゴリズムを実行し、ＣＰサーバ８が、任意の参加者（以下、便宜的に参加者Ｂとする）のクライアントＰＣ７ｂから発話者と発話内容からなるパケットを受け取ると（ステップＳ１１）、次に、そのパケットから発話者を抽出し（ステップＳ１２）、ビューウィンドウ８１に表示されている各参加者のアバタから上記発話者に対応するものを探し出す（ステップＳ１３）。ここで、発話者は参加者Ｂであり、参加者Ｂのアバタはビューウィンドウ８１の左端に表示されているから、次の判定結果（ステップＳ１４）は肯定（ＹＥＳ）となる。なお、ステップＳ１４の判定結果が否定（ＮＯ）となる場合、すなわち、発話者に対応するアバタがビューウィンドウ８１に表示されていない場合は、このビューウィンドウ８１の枠外に発話者のアバタがいるので、その場合は、発話者の方向を見る必要がなく、また、発話内容を表示する必要もないので、エラーとして処理し、そのパケットを切り捨てる（ステップＳ１５）。
【００７９】
ステップＳ１４の判定結果が肯定（ＹＥＳ）となった場合、すなわち、発話者に対応する参加者Ｂのアバタがビューウィンドウ８１に表示されている場合は、次に、参加者Ａ（ビューウィンドウ８１を見ている者）と参加者Ｂ（発話者）の間の距離を計算し（ステップＳ１６）、その距離が所定の制限距離以内であるか否かを判定する（ステップＳ１７）。ここで、所定の制限距離とは、たとえば、実世界における通常の会話可能距離に相当する距離のことである。
【００８０】
ステップＳ１７の判定結果が否定（ＮＯ）の場合、すなわち、参加者Ａと参加者Ｂの距離が、実世界における通常の会話可能距離に相当する距離を越えている場合には、参加者Ｂの発した声が参加者Ａに届かず、したがって、参加者Ａがその声に反応し得る状態にないものと判断し、以下の処理（視線移動量計算や視線方向制御等）をパスし、参加者Ｂの発話内容をビューウィンドウ８１のアバタ８２の上に表示する（ステップＳ２１）。
【００８１】
一方、ステップＳ１７の判定結果が肯定（ＹＥＳ）の場合、すなわち、参加者Ａと参加者Ｂの距離が、実世界における通常の会話可能距離に相当する距離以内である場合には、参加者Ｂの発した声に参加者Ａが充分に反応し得ると判断し、参加者Ａの視線移動量を計算する（ステップＳ１８：第１ステップ）。
【００８２】
図８は、視線移動量の計算概念図である。この図において、まず、参加者Ａと参加者Ｂの顔の中心点Ｐａ、Ｐｂを結ぶ直線Ｌを求め（ステップＳ１８ａ）、次いで、参加者Ａの視線方向Ｆと直線Ｌの角度θを求める（ステップＳ１８ｂ）。角度θが参加者Ａの視線移動量になる。すなわち、θが０度になるように参加者Ａの視線方向Ｆを変更することにより、参加者Ａの視線を参加者Ｂの方向に向けることができる。
【００８３】
このようにして視線移動量θを計算すると、次に、ＣＰサーバ８は、視線移動量θが０以外の値であるか否かを判定する（ステップＳ１９）。θ＝０の場合は、すでに参加者Ａの視線が参加者Ｂの方に向いているので、視線方向制御を行わずに、参加者Ｂの発話内容をビューウィンドウ８１のアバタ８２の上に表示する（ステップＳ２１）。
【００８４】
θ＜＞０の場合は、次に、視線移動量θだけ参加者Ａの視線方向Ｆの移動制御を行うための情報をＣＰブラウザ１３に送信し（ステップＳ２０：第２ステップ）、ＣＰブラウザ１３は、その情報に基づいて参加者Ａの視線を参加者Ｂの方に向けた後、参加者Ｂの発話内容をビューウィンドウ８１のアバタ８２の上に表示する（ステップＳ２１）。
【００８５】
したがって、この第１のアルゴリズムによれば、ビューウィンドウ８１内に表示されている任意のアバタが発話したとき、その発話に反応して、他のアバタの視線をその発話を行ったアバタの方向に一斉に向けることができる。その結果、手動操作によるアバタの動きに加えて、発話反応型の自律的な動きをアバタに与えることができるから、操作性の改善はもちろんのこと、よりリアリティー感を増した三次元仮想空間表示方法を提供することができる。
【００８６】
図９は、その発話反応型の自律的な動きを示す一例図である。この例においては、参加者Ｂは発話者であり、この参加者Ｂが所定の発話（たとえば、“やあ  みんな”）を行うものとする。他の参加者（図では参加者Ａと参加者Ｃ）と発話者の間の距離を所定の制限距離以内とすると、参加者Ｂの発話に応答して、他の参加者（参加者Ａと参加者Ｃ）の視線移動量（図では便宜的に参加者Ａの視線移動量θのみ示す）が計算され、各々の視線移動量θをゼロとするようにそれぞれの視線方向が制御される。すなわち、参加者Ａ及び参加者Ｃの視線が発話者（参加者Ｂ）の方を向くように自律的に制御される。
【００８７】
なお、この第１のアルゴリズムでは、発話者との距離が所定の制限距離（たとえば、実世界における通常の会話可能距離に相当する距離）以内の場合にのみ、その発話者の声に反応するようにしているが、これに限定されない。声の大きさによってはかかる距離の制限をなくしてもよいし、または、所定の制限距離をシチュエーションに応じて可変とするようにしてもよい。
【００８８】
＜発話内容を解釈して発話の相手の方向を見る：発話相手指定型＞
図１０は、発話内容を解釈して発話の相手の方向を見るようにするための第２のアルゴリズムである。このアルゴリズムは、サーバサイド（ＣＰサーバ８における視線方向制御処理：ステップＳ３０〜ステップＳ４１）とクライアントサイド（ＣＰブラウザ１３における表示処理：ステップＳ４２）で実行される。このアルゴリズムを実行すると、まず、ＣＰサーバ８は、任意の参加者（以下、便宜的に参加者Ａとする）が自分の端末（クライアントＰＣ７ａ）を操作して入力した所望の相手（たとえば、参加者Ｂ）に対する発話内容（たとえば、“こんにちは＞花子さん”）を受け取る（ステップＳ３０）。
【００８９】
ここで、発話内容中の記号（“＞”）は、チャットの世界において、特定の相手に対するメッセージであることを明示するための常用記号であり、この場合、“こんにちは”の相手は“花子さん”である。
【００９０】
次に、ＣＰサーバ８は、発話内容に上記の記号（“＞”）が含まれているか否かを判定し（ステップＳ３１：第１ステップ）、含まれていなければ、以下の処理をパスして、参加者Ａの発話内容をＣＰブラウザ１３に送信し、ビューウィンドウ８１に表示させ（ステップＳ４２）、含まれている場合は、発話内容から発話対象者を特定する（ステップＳ３２）。すなわち、発話内容の記号“＞”よりも右側の文字列を取り出し、その文字列から接尾辞（“さん”や“さま”など）を取り除いて、発話対象者のチャットネーム（この場合は“花子”）を得る。
【００９１】
次に、ビューウィンドウ８１に表示されている各参加者のアバタから上記チャットネーム（“花子”）に対応するものを探し出す（ステップＳ３３：第２ステップ）。発話対象者のチャットネームは“花子”であり、そのチャットネームを持つ参加者Ｂのアバタはビューウィンドウ８１の左端に表示されているから、次の判定結果（ステップＳ３４）は肯定（ＹＥＳ）となる。なお、ステップＳ３４の判定結果が否定（ＮＯ）となる場合、すなわち、発話対象者に対応するアバタがビューウィンドウ８１に表示されていない場合は、このビューウィンドウ８１の枠外に発話対象者のアバタがいるので、その場合は、ステップＳ３２で削除した接尾辞（“さん”）を発話内容に戻し（ステップＳ３５）、再び発話対象者の有無を判定して（ステップＳ３６）、発話対象者がビューウィンドウ８１に表示されていない場合は、以下の処理をパスし、参加者Ａの発話内容をビューウィンドウ８１に表示する（ステップＳ４２）。
【００９２】
ステップＳ３４の判定結果が肯定（ＹＥＳ）となった場合、すなわち、発話対象者に対応する参加者Ｂのアバタがビューウィンドウ８１に表示されている場合は、次に、参加者Ａ（発話者）と参加者Ｂ（発話対象者）との間の距離を計算し（ステップＳ３７）、その距離が所定の制限距離以内であるか否かを判定する（ステップＳ３８）。ここで、所定の制限距離とは、たとえば、実世界における通常の会話可能距離に相当する距離のことである。
【００９３】
ステップＳ３８の判定結果が否定（ＮＯ）の場合、すなわち、参加者Ａと参加者Ｂとの間の距離が、実世界における通常の会話可能距離に相当する距離を越えている場合には、参加者Ａの発した声が参加者Ｂに届かず、したがって、参加者Ｂがその声に反応し得る状態にないものと判断し、以下の処理（視線移動量計算や視線方向制御等）をパスし、参加者Ａの発話内容をビューウィンドウ８１に表示する（ステップＳ４２）。
【００９４】
一方、ステップＳ３８の判定結果が肯定（ＹＥＳ）の場合、すなわち、参加者Ａと参加者Ｂとの間の距離が、実世界における通常の会話可能距離に相当する距離以内である場合には、参加者Ａの発した声に参加者Ｂが充分に反応し得ると判断し、参加者Ａの視線移動量を計算する（ステップＳ３９：第３ステップ）。視線移動量の計算概念は、先の第１のアルゴリズムと同じ（図８参照）である。すなわち、まず、参加者Ａと参加者Ｂの顔の中心点Ｐａ、Ｐｂを結ぶ直線Ｌを求め（ステップＳ１８ａ）、次いで、参加者Ａの視線方向Ｆと直線Ｌの角度θを求める（ステップＳ１８ｂ）。角度θが参加者Ａの視線移動量になる。θが０度になるように参加者Ａの視線方向Ｆを変更することにより、参加者Ａの視線を参加者Ｂの方向に向けることができる。
【００９５】
このようにして視線移動量θを計算すると、次に、ＣＰサーバ８は、視線移動量θが０以外の値であるか否かを判定する（ステップＳ４０）。θ＝０の場合は、すでに参加者Ａの視線が参加者Ｂの方に向いているので、視線方向制御を行わずに、参加者Ａの発話内容をビューウィンドウ８１に表示する（ステップＳ４２）。
【００９６】
θ＜＞０の場合は、次に、視線移動量θだけ参加者Ａの視線方向Ｆの移動制御を行うための情報をＣＰブラウザ１３に送信し（ステップＳ４１：第４ステップ）、ＣＰブラウザ１３は、その情報に基づいて参加者Ａの視線を参加者Ｂの方に向けた後、参加者Ａの発話内容をビューウィンドウ８１に表示する（ステップＳ４２）。
【００９７】
したがって、この第２のアルゴリズムによれば、ビューウィンドウ８１に表示されている任意のアバタが発話したとき、その発話相手の方向に、当該アバタの視線を向けることができる。その結果、手動操作によるアバタの動きに加えて、発話相手指定型の自律的な視線移動をアバタに与えることができるから、操作性の改善はもちろんのこと、よりリアリティー感を増した三次元仮想空間表示方法を提供することができる。
【００９８】
図１１は、その発話相手指定型の自律的な動きを示す一例図である。この例においては、参加者Ａが発話者であり、相手指定の所定の発話（たとえば、“こんにちは＞花子さん”）を発話するものとする。発話対象者（図では参加者Ｂ）と発話者との間の距離を所定の制限距離以内とすると、参加者Ａの発話に応答して、参加者Ａの発話対象者に対する視線移動量θが計算され、その視線移動量θをゼロとするように参加者Ａの視線方向が制御される。すなわち、参加者Ａの視線が発話対象者（参加者Ｂ；花子さん）の方を向くように自律的に制御される。前記の第１のアルゴリズムとの違いは、発話者のみが発話対象者の方を向く点にある。すなわち、先の第１のアルゴリズムでは、所定の制限距離以内にいる発話者以外の参加者が一斉に発話者の方を向くが、この第２のアルゴリズムでは、発話者のみが視線を変更するから、とりわけ一対一のコミュニケーションのリアリティーを増すことができる。
【００９９】
なお、この第２のアルゴリズムでは、発話内容中に特定の記号（“＞”）がある場合に、その記号の右側の文字列から発話相手の固有名詞（ニックネーム等）を取り出しているが、本発明の技術思想はかかる態様に限定されない。たとえば、人工知能技術を用いて、会話内容から発話相手の固有名詞（ニックネーム）を抽出するようにしてもよい。
【０１００】
また、この第２のアルゴリズムでは、発話者対象者との距離が所定の制限距離（たとえば、実世界における通常の会話可能距離に相当する距離）以内の場合にのみ、発話者の視線を発話対象者の方に向けるようにしているが、これに限定されない。発話者の声の大きさによってはかかる距離の制限をなくしてもよいし、または、所定の制限距離をシチュエーションに応じて可変とするようにしてもよい。
【０１０１】
本実施の形態の主要な機能は、マイクロコンピュータを含むハードウェア資産と、オペレーティング・システム（ＯＳ）や各種プログラムなどのソフトウェア資産との有機的結合によって機能的に実現されるものであるが、ハードウェア資産およびＯＳは汎用のものを利用できるから、本発明にとって欠くことのできない必須の事項は、実質的に、前記の第１または第２のアルゴリズム（図７または図１０）に集約されているということがいえる。したがって、本発明は、前記の第１または第２のアルゴリズムのすべてまたはその要部を格納した、ＦＤ、ＭＯ、ＣＤ、ハードディスク、半導体メモリなどの記録媒体（それ自体が流通経路に乗るものはもちろん、ネットワーク上にあって記録内容だけを提供するものも含む）を包含するものである。
【０１０２】
【発明の効果】
本発明によれば、任意の参加者の端末からの発話メッセージに基づいて、その発話メッセージに対応する参加者のアバタの三次元仮想空間内における位置が特定され、他の参加者のアバタの視線が前記特定された位置に指向させられる。
【０１０３】
したがって、三次元仮想空間内のアバタの発話に反応して他のアバタの視線が自律的に変更される「発話反応型の動き」をそれぞれのアバタに与えることができ、ユーザの手動操作を不要にして、よりリアリティー感を増した三次元仮想空間表示方法を提供することができる。
【０１０４】
本発明によれば、前記発話メッセージに対応する参加者のアバタと他の参加者のアバタの距離が所定の制限距離以内の場合にのみ、他の参加者のアバタの視線が前記特定された位置に指向させられる。
【０１０５】
したがって、たとえば、実世界における通常の会話可能距離に相当する距離以上離れている場合に、アバタの視線移動を行わないようにすることができ、実世界とのミスマッチを回避し、違和感をなくすことができる。
【０１０６】
本発明によれば、任意の参加者の端末からの発話メッセージに発話相手に関する情報が含まれているとき、その情報に基づいて発話相手のアバタが特定されると共に、その発話相手のアバタの前記三次元仮想空間内における位置が特定され、前記発話メッセージに対応する参加者のアバタの視線が前記特定された位置に指向させられる。
【０１０７】
したがって、三次元仮想空間内のアバタの発話内容からその発話相手を特定し、発話者の視線が発話相手の方に向くように自律的に変更される「発話相手指定型の動き」を発話者のアバタに与えることができ、ユーザの手動操作を不要にして、よりリアリティー感を増した三次元仮想空間表示方法を提供することができる。
【０１０８】
本発明によれば、前記発話相手のアバタと前記発話メッセージに対応する参加者のアバタの距離が所定の制限距離以内の場合にのみ、前記発話メッセージに対応する参加者のアバタの視線が前記特定された位置に指向させられる。
【０１０９】
したがって、たとえば、実世界における通常の会話可能距離に相当する距離以上離れている場合に、アバタの視線移動を行わないようにすることができ、実世界とのミスマッチを回避し、違和感をなくすことができる。
【図面の簡単な説明】
【図１】本発明に係る「三次元仮想空間表示方法」を適用できるネットワーク・コンピューティング・システム１の模式的構成図である。
【図２】本実施の形態に係る三次元仮想世界にログインするユーザのコンピュータ（たとえば、ユーザＰＣ７ａ、７ｂ）とＷＷＷサーバ１０及びＣＰサーバ８との関係図である。
【図３】ＣＰサーバ８、ＡＯサーバ９ａ、９ｂ、・・・・、ＷＷＷサーバ１０に共通のハードウェア構成図である。
【図４】ユーザＰＣ７ａ、７ｂ、７ｃ、・・・・のハードウェア構成図である。
【図５】ＡＯサーバ９ａ、９ｂ、・・・・、ＣＰサーバ８、及び、ＣＰブラウザ１３の関係図である。
【図６】本実施の形態に係るコミュニティ・システム・サービス用のユーザインターフェース画面を示す図である。
【図７】第１のアルゴリズム（発話反応型）を示す図である。
【図８】視線移動量の計算概念図である。
【図９】発話反応型の自律的な動きを示す一例図である。
【図１０】第２のアルゴリズム（発話相手指定型）を示す図である。
【図１１】発話相手指定型の自律的な動きを示す一例図である。
【図１２】従来のサイバー・スペース・サービス・システムによって提供される三次元仮想空間の一例を示す図である。
【図１３】コントロールパネル２０８の拡大図及び用途説明図である。
【符号の説明】
Ｓ１８・・・・ステップ（第１ステップ）、Ｓ２０・・・・ステップ（第２ステップ）、Ｓ３１・・・・ステップ（第１ステップ）、Ｓ３３・・・・ステップ（第２ステップ）、Ｓ３９・・・・ステップ（第３ステップ）、Ｓ４１・・・・ステップ（第４ステップ）、２０１・・・・画面（三次元仮想空間）、７ａ、７ｂ、７ｃ・・・・ユーザＰＣ（端末）、８２、８３、６２、６３、６４・・・・アバタ、９２・・・・チャットウィンドウ（メッセージボード）。
【図１】
0004048347.tif 000002
【図２】
0004048347.tif 000003
【図３】
0004048347.tif 000004
【図４】
0004048347.tif 000005
【図５】
0004048347.tif 000006
【図６】
0004048347.tif 000007
【図７】
0004048347.tif 000008
【図８】
0004048347.tif 000009
【図９】
0004048347.tif 000010
【図１０】
0004048347.tif 000011
【図１１】
0004048347.tif 000012
【図１２】
0004048347.tif 000013
【図１３】
0004048347.tif 000014