(57)【要約】【課題】本発明の仮想空間提供装置は、ユーザの入力する検索条件に応じて、仮想空間に表示されるアバターを制御する。【解決手段】  仮想空間７を利用するユーザＵ１は、検索メニュー８を用いることにより、所望の検索条件を入力して検索実行を指示する。仮想空間提供装置１は、検索条件に応じたユーザＵ２を検出し、検出されたユーザＵ２のアバターのデータのみをクライアント装置２に送信する。クライアント装置２は、仮想空間提供装置１から受信したアバターデータを描画し、仮想空間７に表示させる。【選択図】図１
2009223656.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して接続される複数のクライアントコンピュータに仮想空間を提供する仮想空間提供装置であって、
前記各クライアントコンピュータを利用する各ユーザを管理するユーザ管理部と、
前記クライアントコンピュータから入力される検索条件に基づいて、前記各ユーザのうち前記仮想空間に表示させる所定ユーザを抽出する可視制御部と、
少なくとも前記所定ユーザに対応するアバターのデータを前記クライアントコンピュータに送信することにより、前記所定ユーザのアバターを前記クライアントコンピュータに描画させ、前記仮想空間に前記所定ユーザのアバターを表示させる、データ送信部と、
を備える仮想空間提供装置。
【請求項２】
予めグループ属性が設定される複数のグループによって前記各ユーザをグループ管理するグループ管理部をさらに備え、
前記可視制御部は、前記検索条件に基づいて前記グループ管理部を検索することにより、前記所定ユーザを抽出する、請求項１に記載の仮想空間提供装置。
【請求項３】
可視制御部は、前記検索条件に合致する所定グループに、前記検索条件を指示したユーザを対応付けて、前記グループ管理部により管理させる、請求項２に記載の仮想空間提供装置。
【請求項４】
前記可視制御部は、前記所定グループに属する各ユーザを前記所定ユーザとして抽出する、請求項３に記載の仮想空間提供装置。
【請求項５】
前記クライアントコンピュータからのグループ更新要求に応じて、このグループ更新要求に係るユーザと前記グループ更新要求で指定されたグループとの対応付けを解除させるためのグループ更新部をさらに備える、請求項４に記載の仮想空間提供装置。
【請求項６】
前記ユーザ管理部は、前記各ユーザ毎にユーザ属性を設定して管理しており、
前記可視制御部は、前記検索条件に基づいて前記ユーザ管理部を検索することにより、前記所定ユーザを抽出する、請求項１に記載の仮想空間提供装置。
【請求項７】
前記各ユーザ毎に前記各ユーザ属性を決定して前記ユーザ管理部に設定させるためのユーザ属性設定部であって、前記各ユーザの現実世界における行動履歴または前記各ユーザの仮想空間における行動履歴に基づいて前記各ユーザ属性を決定するユーザ属性設定部を、さらに備える請求項６に記載の仮想空間提供装置。
【請求項８】
前記仮想空間に配置される複数のオブジェクトのオブジェクトデータをそれぞれ管理するオブジェクト管理部をさらに備え、
前記可視制御部は、前記グループと前記オブジェクト管理部により管理される前記各オブジェクトとを対応付けて管理しており、前記検索条件に基づいて前記グループ管理部及び前記オブジェクト管理部をそれぞれ検索することにより、前記所定ユーザ及び前記仮想空間に表示させる所定オブジェクトをそれぞれ抽出し、かつ、
前記データ送信部は、前記所定ユーザに対応するアバターのデータと前記所定オブジェクトのオブジェクトデータとを、前記クライアントコンピュータに送信することにより、前記所定ユーザのアバター及び前記所定オブジェクトを前記クライアントコンピュータに描画させ、前記所定ユーザのアバター及び前記所定オブジェクトを前記仮想空間に表示させる、請求項２〜請求項５のいずれかに記載の仮想空間提供装置。
【請求項９】
前記可視制御部は、前記仮想空間において所定範囲内に位置する前記所定のオブジェクトが複数存在する場合には、予め設定された選択基準に基づいて、前記各所定のオブジェクトのうちいずれか一つの所定のオブジェクトを選択する、請求項８に記載の仮想空間提供装置。
【請求項１０】
前記データ送信部は、前記所定ユーザに対応するアバターのデータのみを前記クライアントコンピュータに送信するようになっている、請求項１〜請求項７のいずれかに記載の仮想空間提供装置。
【請求項１１】
前記データ送信部は、前記所定ユーザに対応するアバターのデータと、所定の視認可能範囲内に位置する他のユーザのアバターのデータとを、前記クライアントコンピュータにそれぞれ送信するようになっており、かつ、
前記所定ユーザのアバターのデータには、前記クライアントコンピュータで描画させるための制御情報が対応付けられており、前記他のユーザのアバターのデータには、前記クライアントコンピュータで描画させないための他の制御情報が対応付けられている、請求項１〜請求項７のいずれかに記載の仮想空間提供装置。
【請求項１２】
前記グループ管理部により管理される前記グループと前記ユーザとの対応関係を変更させるための変更部であって、前記対応関係を変更可能なオブジェクトとして予め定義されている対応関係変更オブジェクトを前記ユーザが保持した場合に、その対応関係変更オブジェクトに予め設定されているグループと前記ユーザとを対応付けて前記グループ管理部により管理させる変更部を、さらに備える請求項１〜請求項７のいずれかに記載の仮想空間提供装置。
【請求項１３】
前記グループ管理部は、前記ユーザの保持するオブジェクトに設定されているグループを検出し、この検出されたグループと前記ユーザとを対応付けて管理する、請求項１〜請求項７のいずれかに記載の仮想空間提供装置。
【請求項１４】
クライアントコンピュータに仮想空間を提供する方法であって、
前記クライアントコンピュータから前記仮想空間におけるユーザの位置を示すユーザ位置情報及び検索条件とをそれぞれ取得するステップと、
前記検索条件に合致する所定ユーザを検出するステップと、
検出された前記所定ユーザのうち所定の視認可能範囲内に位置する所定ユーザを検出するステップと、
前記所定範囲内に位置する前記所定ユーザに対応するアバターのデータを前記クライアントコンピュータに送信し、前記アバターを前記仮想空間に表示させるステップと、
をそれぞれ実行する仮想空間提供方法。
【請求項１５】
通信ネットワークを介してクライアントコンピュータに接続されるコンピュータに、
前記クライアントコンピュータに仮想空間を提供する仮想空間提供部と、
前記各クライアントコンピュータを利用する各ユーザを管理するユーザ管理部と、
前記クライアントコンピュータから入力される検索条件に基づいて、前記各ユーザのうち前記仮想空間に表示させる所定ユーザを抽出する可視制御部と、
少なくとも前記所定ユーザに対応するアバターのデータを前記クライアントコンピュータに送信することにより、前記所定ユーザのアバターを前記クライアントコンピュータに描画させ、前記仮想空間に前記所定ユーザのアバターを表示させる、データ送信部と、
をそれぞれ実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間提供装置、仮想空間提供システム、仮想空間提供方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
サーバの提供する仮想的な空間内で、ユーザを象徴するキャラクタ（アバター）を操作するシステムは、知られている（特許文献１）。
【０００３】
また、ユーザの習熟レベルに応じて段階的にゲーム内のコンテンツを変化させるシステムも知られている（特許文献２）。
【０００４】
なお、仮想空間に関する技術ではないが、ユーザ属性に応じて、ユーザに見せるＷｅｂコンテンツを動的に生成するシステムも知られている（特許文献３）。
【特許文献１】特開２００５−１０００５３号公報
【特許文献２】特開２００６−１７５００４号公報
【特許文献３】特開２００７−７２７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
仮想空間には、複数のユーザがそれぞれのアバターを介して参加する。各ユーザは、それぞれのアバターを介して、他のユーザと交流する。仮想空間では、ユーザの容姿や年齢あるいは社会的立場等を超えて、様々なユーザと交流することができる。即ち、仮想空間は、現実世界でユーザが有している多種多様な属性（容姿や身分、年齢、性別、人種等）の多くを捨象して構成されているため、現実世界における最初の障壁を乗り越えて、自由に交流できる。
【０００６】
しかし、多様なユーザと自由に交流可能であるため、逆に、仮想空間に長時間滞在して、より多くのユーザと交流を行なわなれけば、気の合う友人を見つけにくいという不便さもある。
【０００７】
本発明は上記従来技術の課題に鑑みてなされたもので、その目的は、ユーザ間の交流を支援することができるようにした仮想空間提供装置、仮想空間提供システム、仮想空間提供方法及びコンピュータプログラムを提供することにある。本発明の他の目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明の第１観点に従う仮想空間提供装置は、通信ネットワークを介して接続される複数のクライアントコンピュータに仮想空間を提供する仮想空間提供装置であって、前記各クライアントコンピュータを利用する各ユーザを管理するユーザ管理部と、前記クライアントコンピュータから入力される検索条件に基づいて、前記各ユーザのうち前記仮想空間に表示させる所定ユーザを抽出する可視制御部と、少なくとも前記所定ユーザに対応するアバターのデータを前記クライアントコンピュータに送信することにより、前記所定ユーザのアバターを前記クライアントコンピュータに描画させ、前記仮想空間に前記所定ユーザのアバターを表示させる、データ送信部と、を備える。
【０００９】
第２観点では、第１観点において、予めグループ属性が設定される複数のグループによって前記各ユーザをグループ管理するグループ管理部をさらに備え、前記可視制御部は、前記検索条件に基づいて前記グループ管理部を検索することにより、前記所定ユーザを抽出する。
【００１０】
第３観点では、第２観点において、可視制御部は、前記検索条件に合致する所定グループに、前記検索条件を指示したユーザを対応付けて、前記グループ管理部により管理させる。
【００１１】
第４観点では、第３観点において、前記可視制御部は、前記所定グループに属する各ユーザを前記所定ユーザとして抽出する。
【００１２】
第５観点では、第４観点において、前記クライアントコンピュータからのグループ更新要求に応じて、このグループ更新要求に係るユーザと前記グループ更新要求で指定されたグループとの対応付けを解除させるためのグループ更新部をさらに備える。
【００１３】
第６観点では、第１観点において、前記ユーザ管理部は、前記各ユーザ毎にユーザ属性を設定して管理しており、前記可視制御部は、前記検索条件に基づいて前記ユーザ管理部を検索することにより、前記所定ユーザを抽出する。
【００１４】
第７観点では、第６観点において、前記各ユーザ毎に前記各ユーザ属性を決定して前記ユーザ管理部に設定させるためのユーザ属性設定部であって、前記各ユーザの現実世界における行動履歴または前記各ユーザの仮想空間における行動履歴に基づいて前記各ユーザ属性を決定するユーザ属性設定部を、さらに備える。
【００１５】
第８観点では、第２〜第５観点において、前記仮想空間に配置される複数のオブジェクトのオブジェクトデータをそれぞれ管理するオブジェクト管理部をさらに備え、前記可視制御部は、前記グループと前記オブジェクト管理部により管理される前記各オブジェクトとを対応付けて管理しており、前記検索条件に基づいて前記グループ管理部及び前記オブジェクト管理部をそれぞれ検索することにより、前記所定ユーザ及び前記仮想空間に表示させる所定オブジェクトをそれぞれ抽出し、かつ、前記データ送信部は、前記所定ユーザに対応するアバターのデータと前記所定オブジェクトのオブジェクトデータとを、前記クライアントコンピュータに送信することにより、前記所定ユーザのアバター及び前記所定オブジェクトを前記クライアントコンピュータに描画させ、前記所定ユーザのアバター及び前記所定オブジェクトを前記仮想空間に表示させる。
ユーザに対応するアバターのデータと、このアバターデータ以外の他のオブジェクトデータとは、それぞれオブジェクト管理部によって管理することができる。
【００１６】
第９観点では、第８観点において、前記可視制御部は、前記仮想空間において所定範囲内に位置する前記所定のオブジェクトが複数存在する場合には、予め設定された選択基準に基づいて、前記各所定のオブジェクトのうちいずれか一つの所定のオブジェクトを選択する。
【００１７】
第１０観点では、第１〜第７観点のいずれかにおいて、前記データ送信部は、前記所定ユーザに対応するアバターのデータのみを前記クライアントコンピュータに送信するようになっている。
【００１８】
第１１観点では、第１〜第７観点のいずれかにおいて、前記データ送信部は、前記所定ユーザに対応するアバターのデータと、所定の視認可能範囲内に位置する他のユーザのアバターのデータとを、前記クライアントコンピュータにそれぞれ送信するようになっており、かつ、前記所定ユーザのアバターのデータには、前記クライアントコンピュータで描画させるための制御情報が対応付けられており、前記他のユーザのアバターのデータには、前記クライアントコンピュータで描画させないための他の制御情報が対応付けられている。
【００１９】
第１２観点では、第１〜第７観点のいずれかにおいて、前記グループ管理部により管理される前記グループと前記ユーザとの対応関係を変更させるための変更部であって、前記対応関係を変更可能なオブジェクトとして予め定義されている対応関係変更オブジェクトを前記ユーザが保持した場合に、その対応関係変更オブジェクトに予め設定されているグループと前記ユーザとを対応付けて前記グループ管理部により管理させる変更部を、さらに備える。
【００２０】
第１３観点では、第１〜第７観点のいずれかにおいて、前記グループ管理部は、前記ユーザの保持するオブジェクトに設定されているグループを検出し、この検出されたグループと前記ユーザとを対応付けて管理する。
【００２１】
第１４観点に従う仮想空間提供方法は、クライアントコンピュータに仮想空間を提供する方法であって、前記クライアントコンピュータから前記仮想空間におけるユーザの位置を示すユーザ位置情報及び検索条件とをそれぞれ取得するステップと、前記検索条件に合致する所定ユーザを検出するステップと、検出された前記所定ユーザのうち所定の視認可能範囲内に位置する所定ユーザを検出するステップと、前記所定範囲内に位置する前記所定ユーザに対応するアバターのデータを前記クライアントコンピュータに送信し、前記アバターを前記仮想空間に表示させるステップと、をそれぞれ実行する。
【００２２】
第１５観点に従うコンピュータプログラムは、通信ネットワークを介してクライアントコンピュータに接続されるコンピュータに、前記クライアントコンピュータに仮想空間を提供する仮想空間提供部と、前記各クライアントコンピュータを利用する各ユーザを管理するユーザ管理部と、前記クライアントコンピュータから入力される検索条件に基づいて、前記各ユーザのうち前記仮想空間に表示させる所定ユーザを抽出する可視制御部と、少なくとも前記所定ユーザに対応するアバターのデータを前記クライアントコンピュータに送信することにより、前記所定ユーザのアバターを前記クライアントコンピュータに描画させ、前記仮想空間に前記所定ユーザのアバターを表示させる、データ送信部と、をそれぞれ実現させる。
【発明を実施するための最良の形態】
【００２３】
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、多種多様な複数のオブジェクトのうち、ユーザから指定される検索条件に合致するオブジェクトのみを仮想空間に表示させる。ここで、オブジェクトには、ユーザを象徴するアバターのほか、アバター以外の他の表示対象も含まれる。他の表示対象としては、例えば、建築物、衣服、装身具、家具等を挙げることができる。本実施形態では、検索条件に合致するアバター及び他のオブジェクトを、あるいは、その検索条件に合致するアバター又は他のオブジェクトを、仮想空間に表示させるべく、仮想空間の構成を制御するようになっている。アバターのデータと、アバター以外の他のオブジェクトのデータとは、共通の管理手段によって管理することができる。
【００２４】
図１は、本実施形態を示す説明図である。なお、本実施形態は、本発明の理解及び実施に必要な程度で本発明の概要を示しており、本発明の範囲は、図１に示す構成に限定されない。なお、本実施形態の詳細な構成は、後述の実施例で明らかにされる。
【００２５】
仮想空間提供システムは、仮想空間提供装置１と、「クライアントコンピュータ」としてのクライアント装置２とを含んで構成することができる。仮想空間提供装置１は、仮想空間７を通信ネットワークＣＮ１を介してクライアント装置２に提供する。通信ネットワークＣＮ１は、例えば、インターネットのような通信網として構築される。
【００２６】
仮想空間７には、例えば、種々のオブジェクトと、アバターＵ１〜Ｕ３とをそれぞれ配置することができる。オブジェクトとは、仮想空間に存在する仮想的物体であり、例えば、仮想建築物、仮想家具、各アバターの所持するアクセサリや服、仮想空間内の道路や乗り物、彫刻、芝生、樹木や花等である。アバターとは、仮想空間７内でユーザを象徴するキャラクタであり、例えば、人間や動物、ロボットのような形態で表示される。
【００２７】
仮想空間７に配置される各種オブジェクトは、種々の方法で作成される。例えば、仮想空間７の管理者のみがオブジェクトを作成可能なシステムでもよいし、あるいは、ユーザがオブジェクトを作成可能なシステムでもよい。ユーザによって作成されたオブジェクトは、クライアント装置２から仮想空間提供装置１に送信され、仮想空間提供装置１内に保存される。
【００２８】
アバターも種々の方法で作成可能である。例えば、仮想空間提供システムが予め用意する基本アバターの中から選択する方法でもよいし、ユーザがアバター作成ツールを用いて作成する方法でもよい。さらに、仮想空間提供システムの用意する基本アバターの容姿等を、ユーザがツールを用いて変更する方法でもよい。
【００２９】
仮想空間提供装置１の構成を説明する。仮想空間提供装置１は、例えば、仮想空間提供部３と、仮想空間管理部４と、管理用データベース５とを備える。仮想空間提供部３は、例えば、ＷＷＷ（World Wide Web）サーバとして構成され、主に、クライアント装置２との間の通信を担当する。
【００３０】
仮想空間管理部４は、仮想空間７の構成を管理する。仮想空間管理部４は、ユーザの登録処理やログイン処理（４Ａ）、ユーザからの検索条件に応じた表示対象（アバターやオブジェクト）の抽出処理（４Ｂ）、抽出された表示対象のデータ（アバターデータやオブジェクトデータ）をクライアント装置２に送信させる処理（４Ｃ）を実行する。
【００３１】
登録及びログイン処理４Ａは、新規ユーザの登録や既存ユーザのログイン処理を行うものである。新規ユーザの登録処理では、例えば、ユーザＩＤ、ユーザ氏名（アバター名）、電子メールアドレス等を管理用データベース５に記憶させる。パスワードや生体情報等の認証情報を使用する場合には、パスワードも管理用データベース５に記憶させる。ログイン処理では、ユーザから入力されるユーザＩＤまたはユーザ氏名と電子メールアドレスとに基づいて、ユーザ認証を行い、許可されたユーザのみをログインさせる。パスワードや生体情報等の認証情報を用いる場合は、その認証情報を用いてユーザ認証を行う。
【００３２】
検索条件に応じた表示対象の抽出処理４Ｂでは、仮想空間７に配置される多数のアバター（あるいは、アバター及びオブジェクト）の中から、検索条件に合致するアバターを抽出する。以下の説明では、他ユーザのアバターを他アバターと呼ぶ場合がある。
【００３３】
データ送信処理４Ｃは、抽出された他アバターのデータやオブジェクトデータをクライアント装置２に送信する。
【００３４】
管理用データベース５の前にクライアント装置２の構成を説明する。クライアント装置２は、例えば、パーソナルコンピュータ、携帯情報端末、携帯電話等のような、コンピュータ装置として構成される。
【００３５】
クライアント装置２は、仮想空間用ビューワ６を備えている。このビューワ６は、仮想空間７を表示するためのコンピュータプログラムである。ビューワ６は、例えば、通信部６Ａと、描画部６Ｂと、操作部６Ｃと、コミュニケーション部６Ｄとを備える。
【００３６】
通信部６Ａは、仮想空間提供装置１と通信するものである。描画部６Ｂは、仮想空間提供装置１から受信したオブジェクトデータやアバターのデータを描画し、クライアント装置２の画面に表示させるものである。なお、クライアント装置２が、アバターデータやオブジェクトデータ等を解釈して描画するための描画エンジンを備えている場合、描画部６Ｂは、その描画エンジンを利用できる。また、後述の実施例で明らかとなるように、描画すべきか否かの制御情報を含むデータが仮想空間提供装置１からクライアント装置２に送信される場合、描画部６Ｂは、その制御情報に従ってデータを描画する。
【００３７】
操作部６Ｃは、例えば、ユーザのアバターを仮想空間７内で移動させたり、アバターの表情を変化させたり、アバターの姿勢を変化させるものである。操作部６Ｃは、例えば、クライアント装置２の備えるキーボードスイッチやポインティングデバイス等の入力機器からの指示に基づいて、アバターの位置や姿勢等を操作する。操作内容は、ビューワ６から仮想空間提供装置１に送信され、仮想空間７内に反映される。
【００３８】
操作部６Ｃは、検索指示部６Ｅを含む。検索指示部６Ｅは、例えば、「猫好き」、「関東在住」等の検索条件を仮想空間提供装置１に指示するものである。さらに、後述の実施例で明らかとなるように、操作部６Ｃには、ユーザの属するグループを更新等するための指示部を設けることもできる。
【００３９】
コミュニケーション部６Ｄは、アバター同士の交流を行うものである。例えば、コミュニケーション部６Ｄは、アバター同士の会話（チャット）、アバター同士の仮想空間内でのメール交換等を実現する。
【００４０】
管理用データベース５の構成を説明する。管理用データベース５は、仮想空間７の管理に使用される各種データを記憶する。例えば、管理用データベース５には、ユーザを管理するためのテーブルと、オブジェクトを管理するためのテーブルと、ユーザの属するグループを管理するためのテーブルとが含まれる。後述の実施例では、ユーザに視認させるオブジェクトを決定するための可視管理テーブルも含まれる。
【００４１】
グループは、それぞれ属性（グループプロパティ）を備えている。各グループには、そのグループ属性に合致するユーザが登録される。例えば、「猫好きユーザのグループ」という属性を有するグループには、猫の好きなユーザが登録される。また、「関東在住ユーザのグループ」という属性を有するグループには、関東在住ユーザが登録される。
【００４２】
つまり、各ユーザの取り得る種々の属性に応じて複数のグループを用意し、各グループのカテゴリに応じてユーザを分類管理する。これにより、ユーザは、自分の興味等に応じた検索条件を入力することにより、自分の興味等に関するグループに属する他ユーザを発見することができる。発見された他ユーザのアバターは、仮想空間７に表示される。
【００４３】
例えば、３０代独身男性、音楽が趣味のユーザを例に挙げると、このユーザは、「３０代」、「独身」、「男性」、「趣味は音楽」という各種の属性を備えている。このユーザは、例えば、３０代ユーザのグループ、独身ユーザのグループ、男性ユーザのグループ、音楽好きユーザのグループにそれぞれ属する。従って、別のユーザが、「音楽」等の検索条件を入力することにより、その音楽好きの３０代独身男性のアバターが仮想空間７に表示される。
【００４４】
なお、後述の実施例では、各グループに、そのグループに応じたオブジェクトが対応付けられる。例えば、男性ユーザのグループには、男性用の各種商品等に関するオブジェクトが対応付けられる。この場合、検索条件に合致する他アバター及びオブジェクトを仮想空間７に表示させることができる。
【００４５】
仮想空間７には、検索メニュー８が表示される。検索メニュー８は、例えば、検索条件を入力するための検索条件入力部８Ａと、検索実行を指示するためのボタン８Ｂとを備えている。
【００４６】
ユーザが、入力部８Ａに所望の検索キーワードを入力してボタン８Ｂを操作すると、クライアント装置２から仮想空間提供装置１に検索条件が送信される。仮想空間提供装置１は、上述のように、検索条件に合致する他アバターを仮想空間７に表示させる。即ち、仮想空間提供装置１は、検索条件に合致する他アバターのデータをクライアント装置２に送信し、クライアント装置２の画面に他アバターのみを表示させる。仮想空間提供装置１は、例えば、各ユーザに設定されている属性（ユーザプロパティ）を検索したり、あるいは、各ユーザの属するグループに設定されている属性（グループプロパティ）を検索することにより、検索条件に合致する他ユーザのみを抽出できる。
【００４７】
仮想空間７に配置される各ユーザＵ１〜Ｕ４のアバターのうち、Ｕ１は、検索条件を入力するユーザである。ユーザＵ１が「猫」という検索条件を入力した場合、猫という属性を有するグループに属するユーザＵ２のアバターのみが表示される。検索条件に合致しない他のユーザＵ３，Ｕ４のアバターは仮想空間７に表示されない。
【００４８】
しかし、後述の実施例では、アバターの描画の可否を制御するための制御情報をアバターデータに付加する。従って、この制御情報を用いることにより、検索条件に合致するユーザのアバターの描画レベルと検索条件に合致しないユーザのアバターの描画レベルとを違えることもできる。例えば、検索条件に合致するユーザＵ２のアバターを通常通りに表示し、検索条件に合致しないユーザＵ３，Ｕ４のアバターを半透明で表示させることができる。
【００４９】
このように構成される本実施形態では、ユーザの入力する検索条件に基づいて、仮想空間に表示される他ユーザのアバターが制御される。従って、本実施形態によれば、ユーザは、自分の興味や趣味に応じた他ユーザを仮想空間７内で容易に発見することができ、共通の話題で交流することができる。このため、仮想空間７におけるユーザ同士の交流を促進することができ、ユーザの使い勝手も向上する。
【００５０】
また、本実施形態では、検索条件に応じたアバターデータのみを仮想空間提供装置１からクライアント装置２に送信して描画させる。従って、仮想空間提供装置１から送信されるデータを低減することができ、通信ネットワークＣＮ１のトラフィックを増加させずに、個別にカスタマイズされた仮想空間７をユーザに提供することができる。
【００５１】
特に、仮想空間７は、三次元空間（疑似三次元空間の場合もある）として定義されており、アバターは、三次元データとして生成されるため、データサイズが比較的大きい。さらに、アバターは仮想空間７を自在に移動するため、現在も将来も接点の乏しい他ユーザのアバターまでもがクライアント装置２に多数送信される。このため、通信ネットワークＣＮ１のトラフィックが増大し、クライアント装置２のメモリ資源やＣＰＵ資源を消費することになる。これに対し、本実施形態では、検索条件に合致したアバターのデータのみをクライアント装置２に転送するため、通信ネットワークＣＮ１やクライアント装置２の負荷が増大することはない。
【００５２】
なお、ユーザが属するグループは、仮想空間提供装置１が自動的に決定してもよいし、ユーザが手動で選択してもよい。あるいは、仮想空間提供装置１が自動的に決定したグループをユーザが手動で修正する構成でもよい。
【００５３】
ユーザの属するグループの数が増加するほど、仮想空間７に表示されるアバターの数は増大する。後述の実施例では、ユーザの属するグループを削減する方法や、所定オブジェクトの保持によってユーザの属するグループを変更させる方法も開示する。以下、本実施形態をより詳細に説明する。
【実施例１】
【００５４】
図２は、本実施例による仮想空間提供システムの全体構成を示す説明図である。仮想空間提供システムは、仮想空間提供装置１０と、仮想空間提供装置１０に通信ネットワークＣＮ１０を介して接続される複数のクライアントコンピュータ２０とを備える。
【００５５】
仮想空間提供装置１０は、例えば、一つ以上の仮想空間提供サーバ３０と、仮想空間提供サーバ３０に通信ネットワークＣＮ２０を介して接続される一つ以上の管理サーバ４０と、管理サーバ４０によって使用される一つ以上のデータベース５０とを備える。通信ネットワークＣＮ１０，ＣＮ２０は、例えば、ＬＡＮ（Local Area Network）やインターネットのような通信網として構成される。
【００５６】
図１との対応関係を説明すると、仮想空間提供装置１０は図１中の仮想空間提供装置１に、クライアントコンピュータ２０は図１中のクライアント装置２に、仮想空間提供サーバ３０は図１中の仮想空間提供部３に、管理サーバ４０は図１中の仮想空間管理部４に、データベース５０は図１中の管理用データベース５に、通信ネットワークＣＮ１０は図１中の通信ネットワークＣＮ１に、それぞれ対応する。また、図４に示す仮想空間７０は図１中の仮想空間７に、図４に示す検索メニュー８０は図１中の検索メニュー８に、それぞれ対応する。
【００５７】
仮想空間７０を複数のエリアに分割し、各エリア毎に仮想空間提供サーバ３０を設けることができる。あるいは、全ての仮想空間提供サーバ３０が全てのエリアを担当し、各仮想空間提供サーバ間で負荷を分散させる構成でもよい。管理サーバ４０は、例えば、ユーザ管理機能、オブジェクト管理機能、グループ管理機能、可視管理機能、ユーザ操作への対応機能等のように、各機能毎にそれぞれ設けることができる。あるいは、管理サーバ４０を各エリア毎に設けることもできる。
【００５８】
さらに、仮想空間７０の各エリア毎にそれぞれ仮想空間提供サーバ３０を設け、バックグラウンドの処理（ユーザ管理機能やオブジェクト管理機能等）は、複数の管理サーバ４０が分担して行う構成でもよい。即ち、フロントエンドはエリア単位で分割し、バックエンドは共通させる構成でもよい。
【００５９】
各管理サーバ４０は、例えば、演算処理装置４０Ａと、メモリ４０Ｂ及び補助記憶装置４０Ｃ等を備えるコンピュータ装置である。同様に、各仮想空間提供サーバ３０も同様のコンピュータ資源を有するコンピュータ装置である。
【００６０】
図３は、クライアントコンピュータ２０と仮想空間提供サーバ３０及び管理サーバ４０の機能の概要を示すブロック図である。クライアントコンピュータ２０は、仮想空間用ビューワ６０を備える。このビューワ６０は、例えば、描画部６１と、操作部６２と、通信部６３と、コミュニケーション部６４とを備える。
【００６１】
描画部６１は、仮想空間提供装置１０から受信したオブジェクトデータやアバターデータを描画し、クライアントコンピュータの画面に表示させるものである。操作部６２は、アバターの移動や姿勢等を操作するものである。操作部６２は、検索を指示するための検索指示部６５を備えている。この検索指示部６５のユーザインターフェースは、検索メニュー８０としてユーザに提供される。通信部６３は、仮想空間提供装置１０と通信を行うものである。コミュニケーション部６４は、アバター間でチャットやメール交換を行うためのものである。
【００６２】
仮想空間提供サーバ３０は、通信処理部３１を備える。通信処理部３１は、クライアントコンピュータ２０と管理サーバ４０との間の通信を担当する。これ以外に、仮想空間提供サーバ３０は、例えば、新規ユーザが登録するための登録画面、既存ユーザが仮想空間７０にログインするためのログイン画面、仮想空間７０に関する注意事項や操作説明等を表示するための画面等をクライアントコンピュータ２０に提供する。これらの画面は、クライアントコンピュータ２０に設けられたウェブブラウザに表示される。
【００６３】
管理サーバ４０は、仮想空間７０を管理するものである。管理サーバ４０は、例えば、登録処理及びログイン処理部（以下、ログイン等処理）４１と、可視制御部４２と、表示対象データ送信処理部４３と、ユーザ操作への対応処理部４４と、ログ管理部４５とを備える。管理サーバ４０は、各アバターや各オブジェクトのデータも管理する。
【００６４】
ログイン等処理部４１は、新規ユーザの登録処理及びログイン処理を行う。ユーザから入力されたユーザ氏名等のデータは、データベース５０内のユーザ管理テーブルＴ１０（図６参照）に登録される。ログイン等処理部４１は、ユーザから入力される電子メールアドレス等のデータとユーザ管理テーブルＴ１０に登録されたデータとを照合し、ログインの可否を決定する。なお、ユーザ登録時に、そのユーザの属する一つ以上のグループを、自動的にまたは手動操作で設定することができる。その後、ユーザの属するグループは、自動的にまたは手動操作で修正することができる。
【００６５】
可視制御部４２は、検索条件に合致するユーザを選択するものである。可視制御部４２は、例えば、表示対象抽出処理部４２Ａと、表示対象決定処理４２Ｂとを備える。表示対象抽出処理４２Ａは、ユーザから入力される検索条件に合致するアバターを抽出する。表示対象決定処理４２Ｂは、抽出されたアバターのうち、実際にクライアントコンピュータ２０の画面に表示させるオブジェクトを決定する。
【００６６】
表示対象データ送信処理部４３は、決定されたアバターのデータをクライアントコンピュータ２０に送信させる。クライアントコンピュータ２０の描画部６１は、受信したデータを描画し、クライアントコンピュータ２０の画面に表示させる。
【００６７】
ユーザ操作への対応処理部４４は、ユーザによるアバター操作の指示に対応するものである。対応処理部４４は、例えば、ユーザから指示された位置にアバターを移動させたり、ユーザから指示された通りにアバターの姿勢を変化させる。
【００６８】
ログ管理部４５は、仮想空間７０を利用するユーザの履歴を管理する。例えば、ログイン時刻、ログアウト時刻、アバターの位置、アバターの操作内容等が、ログとして保存される。
【００６９】
図４は、仮想空間７０の一例を示す。仮想空間７０には、各ユーザをそれぞれ象徴するアバターが表示される。ここでは、あるユーザＵ１を自ユーザと呼び、他のユーザを他ユーザと呼ぶ。また、他ユーザのうち検索条件に合致する他ユーザを所定ユーザと呼ぶことにする。また、仮想空間７０には、例えば、ペット等の種々のオブジェクト７１を表示させることもできる。
【００７０】
クライアントコンピュータ２０の画面に表示される仮想空間７０は、種々のユーザインターフェースを備えている。チャット欄Ｇ１は、自ユーザＵ１が他ユーザと文字を介して会話するための機能である。通常表示ボタンＢ１は、そこに位置する全てのアバターやオブジェクトを全て表示させる機能である。アバター絞り込みボタンＢ２は、検索条件に合致するアバターのみを表示させる機能である。オブジェクト絞り込みボタンＢ３は、検索条件に合致するオブジェクトのみを表示させる機能である。検索ボタンＢ４は、検索メニュー８０を表示させる機能である。検索メニュー８０については後述する。なお、アバター絞り込みボタンＢ２及びオブジェクト絞り込みボタンＢ３は、必ずしも必要ではなく、省略も可能である。さらに、例えば、アバターの表情や動作を制御するためのボタンを備えることもできる。また、文字によるチャットに加えて、音声チャットや動画チャットが可能な構成としてもよい。
【００７１】
仮想空間７０の場所によっても相違するが、例えば、人気イベントが開催されている会場等では、自ユーザＵ１のアバターの周囲に多数の他ユーザのアバターが存在する。自ユーザＵ１は、チャット欄Ｇ１を用いて、周囲の他ユーザと交流することができる。
【００７２】
しかし、多数の他ユーザの中から自ユーザＵ１と何らかの共通属性を有する他ユーザを発見するのは面倒であり、手間がかかる。そこで、自ユーザＵ１は、検索ボタンＢ４を操作し、検索メニュー８０を仮想空間７０に表示させる。
【００７３】
検索メニュー８０には、例えば、検索条件を入力するための検索条件入力部８１と、検索の実行を指示するための検索実行ボタン８２と、検索の結果を表示するための表示部８３と、自ユーザＵ１の属するグループを更新させるための更新指示部８４とを設けることができる。
【００７４】
検索条件入力部８１には、自ユーザＵ１の興味や趣味に関するキーワード（検索キーワード）が入力される。論理和や論理積等の論理演算子を入力することもできる。検索結果表示部８３では、例えば、検索条件に合致するグループプロパティ（後述の別実施例では、ユーザプロパティ等）を表示させることができる。自ユーザＵ１は、検索結果表示部８３に表示された検索結果の中からいずれか一つまたは複数、あるいは全部を選択することができる。検索結果に満足できない場合、自ユーザＵ１は、別の検索条件を入力部８１に入力して再度の検索を指示することができる。
【００７５】
さらに、検索メニュー８０には、検索頻度の高い検索キーワードを順番に表示させるための検索キーワードランキング表示部を設けることもできる。また、検索メニュー８０には、自ユーザＵ１が過去に行った検索の履歴を表示するための検索履歴表示部を設けることもできる。自ユーザＵ１は、検索キーワードランキング表示部や検索履歴表示部に表示されたキーワードを指定して検索を指示することができる。
【００７６】
図５は、検索後の仮想空間７０の表示状態を示す。自ユーザＵ１が「猫」という検索キーワードを用いて検索した結果、仮想空間７０には、猫好きの他ユーザＵ２，Ｕ３のアバターのみが表示される。後述のように、ユーザの属するグループが有するグループプロパティやユーザの有するユーザプロパティを検索キーワードで検索することにより、検索条件に合致するユーザを抽出することができる。
【００７７】
検索キーワードに合致しない他ユーザは、自ユーザＵ１から見える仮想空間７０に表示されない。しかし、検索キーワードに関連する属性に対応付けられた他ユーザＵ４は、例えば半透明で表示させることもできる。例えば、他ユーザＵ４は「犬好き」という属性に対応付けられており、「猫好き」というキーワードと「犬好き」という属性との関係が所定値以上大きい場合等に、他ユーザＵ４を仮想空間７０に表示させてもよい。
【００７８】
図６は、管理サーバ４０によって使用される各管理テーブルＴ１０〜Ｔ３０の構成を示す説明図である。これら管理テーブルＴ１０〜Ｔ３０は、データベース５０に記憶されている。
【００７９】
ユーザ管理テーブルＴ１０は、仮想空間７０を利用する各ユーザを管理するためのテーブルである。図７に示すように、ユーザ管理テーブルＴ１０は、例えば、ユーザＩＤ欄Ｃ１０と、ユーザ氏名欄Ｃ１１と、電子メールアドレス欄Ｃ１２と、ログイン制御フラグ欄Ｃ１３を備える。図７では図示を省略するが、ユーザ管理テーブルＴ１０は、ユーザのアバターの仮想空間７０における位置も管理する。
【００８０】
ユーザＩＤ欄Ｃ１０には、各ユーザを識別するための識別情報であるユーザＩＤが記憶される。ユーザ氏名欄Ｃ１１には、ユーザの本名、または、各ユーザが仮想空間７０内で使用するアバター名が記憶される。電子メールアドレス欄Ｃ１２には、ユーザの電子メールアドレスが記憶される。ログイン制御フラグ欄Ｃ１３には、そのユーザのログインの可否を決定するためのフラグがセットされる。「１」にセットされたユーザは、ログインが許可され、「０」にセットされたユーザは、ログインが禁止される。これ以外に、所定時間だけログインを許可させるためのフラグ等を追加してもよい。また、ユーザ管理テーブルＴ１０には、例えば、パスワードや指紋情報等の生体情報、ユーザの趣味、ユーザの住所等も管理することができる。さらに、ユーザ管理テーブルＴ１０は、各ユーザのアバターの仮想空間７０における位置も管理する。
【００８１】
グループ管理テーブルＴ２０は、各ユーザの属するグループを管理するためのテーブルである。グループは、例えば、「猫好きユーザ」、「犬好きユーザ」、「サッカー好きユーザ」、「男性ユーザ」、「女性ユーザ」、「独身ユーザ」、「既婚ユーザ」、「日本人ユーザ」、「欧米人ユーザ」、「中国人ユーザ」、「音楽好きユーザ」、「読書家ユーザ」、「グルメユーザ」、「１０代ユーザ」、「２０代ユーザ」、「３０代ユーザ」、「４０代ユーザ」、「５０代ユーザ」等のように、ユーザの備えうる各種の属性に応じてそれぞれ用意される。
【００８２】
従って、各ユーザは、少なくとも一つ以上の、いずれかのグループに属する。どのグループに属するかは、最初のログイン時に仮想空間提供装置１０が自動的に決定してもよいし、ユーザが手動で選択または修正できるようにしてもよい。また、ユーザがグループを追加できる構成としてもよい。
【００８３】
グループ管理テーブルＴ２０は、図７に示すように、グループＩＤ欄Ｃ２０と、ユーザＩＤ欄Ｃ２１と、グループプロパティ欄Ｃ２２とを備える。グループＩＤ欄Ｃ２０には、各グループを識別するための識別情報であるグループＩＤが記憶される。ユーザＩＤ欄Ｃ２１には、各グループに属するユーザのユーザＩＤが記憶される。グループプロパティ欄Ｃ２２には、そのグループの属性を示すキーワードが設定される。さらに、例えば、そのグループの属性を示す名称を示す欄、そのグループが作成された日を示す欄、そのグループの作成者を示す欄等を追加してもよい。
【００８４】
オブジェクト管理テーブルＴ３０は、仮想空間７０内の各オブジェクトを管理するためのテーブルである。図８に示すように、オブジェクト管理テーブルＴ３０は、例えば、オブジェクトＩＤ欄Ｃ３０と、保有者ＩＤ欄Ｃ３１と、位置情報欄Ｃ３２と、作成日欄Ｃ３３とを備える。
【００８５】
オブジェクトＩＤ欄Ｃ３０には、オブジェクトＩＤが記憶される。保有者ＩＤ欄Ｃ３１には、そのオブジェクトを保有しているユーザのＩＤが記憶される。位置情報欄Ｃ３２は、そのオブジェクトが表示される位置が記憶される。位置情報は、仮想空間７０内の座標として設定される。オブジェクトの位置は、仮想空間７０内の絶対座標として設定してもよいし、相対座標として設定してもよい。
【００８６】
作成日欄Ｃ３３には、そのオブジェクトが作成された日付が記憶される。日付情報は、西暦年月日及び時分秒の形式で設定することができる。なお、仮想空間７０内で時間を管理できればよいので、例えば、一定時間毎にカウントアップするカウンタの値を日付情報として用いてもよい。
【００８７】
図９は、本実施例による動作を示すフローチャートである。なお、以下に示す各フローチャートは、本発明の理解及び実施に必要な程度で、各処理の概要を示しており、実際のコンピュータプログラムとは相違する場合がある。また、いわゆる当業者であれば、図示されたステップを入れ替えたり、削除したり、変更したり、あるいは新たなステップを追加したりすることができるであろう。
【００８８】
クライアントコンピュータ２０は、仮想空間提供装置１０にアクセスして、ログイン情報を送信する（Ｓ１０）。ログイン情報とは、仮想空間７０にログインするために必要な認証情報である。
【００８９】
管理サーバ４０は、クライアントコンピュータ２０からログイン情報を受信すると（Ｓ１１）、ユーザ管理テーブルＴ１０を参照して、そのユーザのログインを許可するか否かを判定する（Ｓ１２）。ログイン情報がユーザ管理テーブルＴ１０に記憶されているデータと異なる場合、そのユーザのログインは拒否される（S12:NO）。この場合、管理サーバ４０は、クライアントコンピュータ２０に、ログイン情報に誤りがある旨を警告することができる（Ｓ１３）。
【００９０】
ログイン情報がユーザ管理テーブルＴ１０に記憶されているデータと一致しても、ログイン制御フラグに「０」が設定されている場合、管理サーバ４０は、そのユーザのログインを拒否する（S12:NO）。管理サーバ４０は、ログインが禁止されていることをクライアントコンピュータ２０に警告することができる（Ｓ１３）。
【００９１】
ログイン情報がユーザ管理テーブルＴ１０に記憶されたデータと一致しており、かつ、ログイン制御フラグに「１」の設定されているユーザについては、ログインが許可される（S12:YES）。管理サーバ４０は、クライアントコンピュータ２０にログインが許可された旨を通知する（Ｓ１４）。このログイン許可通知には、ユーザの選択可能なアバターの位置を含めることができる。例えば、予め用意されている一つまたは複数のログイン地点やユーザが前回ログアウトした地点等を、ユーザが選択可能なログイン地点として提供することができる。
【００９２】
クライアントコンピュータ２０は、ログイン許可通知を受領すると（Ｓ１５）、アバターのログイン位置を選択する（Ｓ１６）。なお、クライアントコンピュータ２０側で、ログを管理しており、前回のログアウト地点を把握している場合等には、ログイン許可通知にログイン可能地点の情報を含ませる必要はない。
【００９３】
クライアントコンピュータ２０は、アバターの位置情報とデータ送信要求とを、仮想空間提供装置１０に送信する（Ｓ１７）。このデータ送信要求には、後述のＳ２５で設定される検索条件が含まれる場合がある。管理サーバ４０は、クライアントコンピュータ２０からアバターの位置情報及びデータ送信要求を受領すると（Ｓ１８）、入力された条件（位置や検索条件）に対応する表示対象を抽出する（Ｓ１９）。表示対象とは、アバターやオブジェクトを意味するが、本実施例では、アバターに着目して説明する。
【００９４】
管理サーバ４０は、抽出された他ユーザのうち実際に表示させる他ユーザを決定し（Ｓ２０）、決定された他ユーザのアバターデータをクライアントコンピュータ２０に送信させる（Ｓ２１）。なお、自ユーザのアバターの周囲に位置する各オブジェクトのデータも、クライアントコンピュータ２０に送信される（Ｓ２１）。
【００９５】
クライアントコンピュータ２０は、仮想空間提供装置１０からデータを受領すると（Ｓ２２）、そのデータを描画して、クライアントコンピュータ２０の画面に他ユーザのアバターやオブジェクトを表示させる（Ｓ２３）。
【００９６】
ユーザが検索メニュー８０を用いて、表示用の検索実行を指示した場合（S24:YES）、または、ユーザがアバターを操作してアバター位置が変化した場合（S25:YES）、クライアントコンピュータ２０は、Ｓ１７に戻る。そして、新たなアバター位置と、検索要求を含むデータ送信要求とが、クライアントコンピュータ２０から仮想空間提供装置１０に送信される。これにより、ユーザアバターの最新位置の周囲に存在する他アバターのうち、ユーザの希望する他アバターが仮想空間７０に表示される。
【００９７】
検索指示が出されず（S24:NO）、かつ、アバター位置が変化しない場合（S25:NO）、クライアントコンピュータ２０は、ユーザによる操作内容を仮想空間提供装置１０に送信する（Ｓ２６）。管理サーバ４０は、ユーザの操作を仮想空間７０に反映させ、その操作内容をログに保存する（Ｓ２７）。なお、ユーザは、アバターを仮想空間７０内で移動させながら、チャット等の別の操作を行うこともできる。
【００９８】
図１０は、クライアントコンピュータ２０で実行される表示用の検索要求処理を示すフローチャートである。表示用の検索要求処理とは、仮想空間７０に表示させる対象を検索させるための処理である。図１０では、便宜上、仮想空間提供装置１０を管理サーバと表示する。
【００９９】
ユーザは、検索メニュー８０を表示させ（Ｓ３０）、検索キーワードを入力部８１に入力し（Ｓ３１）、検索実行ボタン８２を操作する（S32:YES）。クライアントコンピュータ２０は、検索キーワードを仮想空間提供装置１０に送信する（Ｓ３３）。
【０１００】
図１１で後述するように、検索結果によっては、仮想空間提供装置１０から選択要求が発行される場合がある。仮想空間提供装置１０から選択要求が発行されなかった場合（S34:NO）、本処理は終了する。仮想空間提供装置１０から選択要求を受信した場合（S34:YES）、ユーザは、検索結果の中からいずれか一つまたは複数を選択する（Ｓ３５）。クライアントコンピュータ２０は、ユーザの選択結果を仮想空間提供装置１０に送信する（Ｓ３６）。
【０１０１】
図１１は、図９中のＳ１９の詳細を示すフローチャートである。管理サーバ４０は、データ送信要求に検索条件が含まれているか否かを判定し（Ｓ４０）、検索条件が含まれていない場合（S40:NO）、通常表示処理を実行する（Ｓ４３）。通常表示処理とは、検索によって表示対象を選別せずに、視野内に存在する全てのアバター（及びオブジェクト）のデータをクライアントコンピュータ２０に送信して、表示させる処理である。
【０１０２】
検索条件が含まれている場合（S40:YES）、管理サーバ４０は、検索キーワードに基づいて、グループ管理テーブルＴ２０を検索する（Ｓ４１）。以下の説明では、検索条件を検索キーワードと呼ぶ場合がある。
【０１０３】
検索キーワードに合致するグループプロパティを有するグループが検出されない場合（S42:NO）、管理サーバ４０は通常表示処理を実行する（Ｓ４３）。検索キーワードに合致するグループプロパティを有するグループが検出された場合（S42:YES）、管理サーバ４０は、複数のグループが検出されたか否かを判定する（Ｓ４４）。
【０１０４】
複数のグループが検出された場合（S44:YES）、管理サーバ４０は、クライアントコンピュータ２０に選択要求を送信する（Ｓ４５）。管理サーバ４０は、ユーザによる選択結果をクライアントコンピュータ２０から受信するまで待機する（Ｓ４６）。検索結果が一つの場合（S44:NO）、Ｓ４５及びＳ４６をスキップしてＳ４７に移る。
【０１０５】
管理サーバ４０は、検索によって検出されたグループ、または、検索結果の中からユーザによって選択されたグループに、ユーザを対応付ける（Ｓ４７）。つまり、検出されたグループには、検索したユーザのユーザＩＤが追加される。
【０１０６】
ここで、検索精度について検討する。通常の場合、グループプロパティには、システム管理者により正式な表現でキーワードが設定される。これに対し、ユーザは、所望のキーワードを検索キーワードとして使用できる。
【０１０７】
例えば、グループプロパティには「猫」と設定されているのに対し、ユーザの指定する検索キーワードが「ぬこ」や「にゃん」のような場合である。固定化されやすいグループプロパティ内のキーワードと、流行に応じて変化する検索キーワードとが対応しない場合、検索精度が低下する。そこで、例えば、類義語辞書や正式な表現に正すための辞書を用いて、検索キーワードに類似するキーワードまで検索範囲を拡張したり、あるいは、正式なキーワードに修正する。検索範囲を拡張する場合、ユーザの意図しないグループが検出される可能性もある。そこで、複数のグループが検出された場合（S44:YES）、その検索結果をユーザに提示し、ユーザに選択させる。
【０１０８】
図１２は、図９中のＳ２０の詳細を示すフローチャートである。まず、管理サーバ４０は、ユーザＩＤでグループ管理テーブルＴ２０を検索することにより、そのユーザの属する全てのグループを特定する（Ｓ５０）。
【０１０９】
管理サーバ４０は、Ｓ５０で特定されたグループに属する他ユーザを全て検出し（Ｓ５１）、検出された他ユーザのアバターの位置情報を取得する（Ｓ５２）。管理サーバ４０は、他ユーザのアバターの位置とユーザアバター（図４，図５で述べた自ユーザＵ１に対応する）の位置とを比較し（Ｓ５３）、他ユーザのアバターがユーザアバターの所定の視認範囲内に存在するか否かを判定する（Ｓ５４）。即ち、管理サーバ４０は、例えば、ユーザアバター位置を中心とする所定の範囲内に、他ユーザのアバターが存在するか否かを判定する。より具体的には、管理サーバ４０は、他ユーザのアバターが自ユーザのクライアントコンピュータ２０の画面内に位置するか否かを判定する。
【０１１０】
他ユーザのアバターが所定の視認範囲内に存在する場合（S54:YES）、管理サーバ４０は、そのアバターを表示対象として選択する（Ｓ５５）。視認範囲外に位置する他ユーザのアバターは、表示対象として選択されない（S54:NO）。
【０１１１】
管理サーバ４０は、検索キーワードに合致するグループに属する全ての他ユーザについて、表示の可否を判定したか否かを判定する（Ｓ５６）。未判定の他ユーザが残っている場合（S56:NO）、管理サーバ４０は、判定対象の他ユーザを次の他ユーザに変更し（Ｓ５７）、Ｓ５０に戻る。
【０１１２】
図１３は、ユーザの属するグループを更新させる処理を示すフローチャートである。本処理は、ユーザが所属グループ更新指示部８４を操作することにより開始される。上述の通り、本実施例では、ユーザは、検索キーワードに対応するグループに登録されることにより、そのグループに属する他のユーザのアバターを仮想空間７０内で視認できる。
【０１１３】
従って、ユーザが、異なる検索キーワードを用いて検索を繰り返すほど、そのユーザの属するグループは増加し、仮想空間７０に表示されるアバターの数は増加する。このため、ユーザの所望する他ユーザを容易に発見できなくなる可能性がある。そこで、本実施例では、ユーザの属するスケジュールグループを修正できるようにしている。
【０１１４】
ユーザが所属グループ更新指示部８４を操作すると（Ｓ８０）、クライアントコンピュータ２０は、そのユーザの属しているグループの一覧を管理サーバ４０に要求する（Ｓ６１）。管理サーバ４０は、クライアントコンピュータ２０からの要求を受信すると、この要求に含まれるユーザＩＤに基づいてグループ管理テーブルＴ２０を検索し（Ｓ６２）、そのユーザの属する全てのグループを抽出する（Ｓ６３）。管理サーバ４０は、抽出されたグループの一覧をクライアントコンピュータ２０に送信する（Ｓ６４）。
【０１１５】
クライアントコンピュータ２０は、管理サーバ４０から受信したグループ一覧を画面に表示する（Ｓ６５）。ユーザは、表示されたグループ一覧の中から削除するグループを一つまたは複数選択することができる。
【０１１６】
クライアントコンピュータ２０は、削除するグループが選択されると（Ｓ６６）、削除対象のグループＩＤを管理サーバ４０に送信する（Ｓ６７）。管理サーバ４０は、クライアントコンピュータ２０から削除を要求されたグループから、そのユーザのユーザＩＤを削除し（Ｓ６８）、グループ管理テーブルＴ２０を更新させる（Ｓ６９）。これにより、ユーザは、過去に属していたグループから外れて、最近の興味や趣味に応じたグループのみに属することができる。
【０１１７】
図１４は、通常表示モードと検索表示モードとの相違を模式的に示す。仮想空間７０に参加する各ユーザは、例えば、「猫」や「関東」等の各グループのいずれか一つに属している。通常表示モードでは、全てのグループに属するユーザのアバターが仮想空間７０に表示される。
【０１１８】
これに対し、図１４の下側に示すように、検索表示モードでは、ユーザの入力する検索条件に合致するグループに属する他ユーザのみが仮想空間７０に表示される。従って、ユーザは、自分と共通の趣味や関心を有する他ユーザに容易に接触できる。
【０１１９】
本実施例は上述の構成を備えるため、以下の効果を奏する。本実施例では、ユーザの検索条件に応じて、仮想空間７０に表示させる他ユーザのアバターを制御するため、ユーザは、自分と共通の興味や趣味等を有する他ユーザと容易に接触できる。従って、ユーザの使い勝手が向上し、仮想空間７０におけるユーザ同士の交流を促進できる。
【０１２０】
本実施例では、ユーザの属するグループをユーザが自由に修正できるため、ユーザの最近の興味等に応じた他ユーザとのみ交流することもでき、使い勝手が向上する。
【０１２１】
本実施例では、検索条件に合致する他ユーザのアバターデータのみをクライアントコンピュータ２０に送信するため、通信ネットワークＣＮ１０のトラフィックを増大させたり、クライアントコンピュータ２０のコンピュータ資源を浪費せずに、そのユーザに適した仮想空間を提供することができる。
【実施例２】
【０１２２】
図１５〜図１８に基づいて第２実施例を説明する。本実施例では、ユーザ管理テーブルＴ１０Ａを用いて、ユーザの入力する検索条件に合致する他ユーザを抽出する。なお、本実施例を含む以下の各実施例は、第１実施例の変形例に該当する。従って、以下の説明では、重複した説明を省略し、各実施例の特徴部分を中心に説明する。
【０１２３】
図１５は、本実施例による他ユーザの抽出方法を模式的に示す説明図である。本実施例のユーザ管理テーブルＴ１０Ａは、図１６にも示すように、ユーザプロパティ欄Ｃ１４を備える。ユーザプロパティ欄Ｃ１４には、そのユーザの属性を示すキーワードが設定されている。キーワードは、ユーザが自由に設定できる構成でもよいし、仮想空間提供装置１０が自動的に設定する構成でもよい。あるいは、仮想空間提供装置１０によって自動的に設定されるキーワードをユーザが一部修正したり、新たなキーワードを自由に追加できる構成でもよい。
【０１２４】
図１５に戻る。管理サーバ４０は、ユーザから入力される検索条件に基づいてユーザ管理テーブルＴ１０Ａを検索することにより、検索キーワードに合致するユーザプロパティを備える他ユーザを全て抽出することができる。そして、管理サーバ４０は、抽出された他ユーザのうち、検索したユーザの位置から所定の視認範囲内に位置するユーザをさらに検出し、その検出された他ユーザのアバターデータをクライアントコンピュータ２０に送信する。
【０１２５】
図１７は、本実施例による表示対象の抽出処理を示すフローチャートである。管理サーバ４０は、クライアントコンピュータ２０から受信するデータ送信要求に検索条件が含まれているか否かを判定する（Ｓ１００）。検索条件が含まれていない場合（S100:NO）、管理サーバ４０は、通常表示処理を実行する（Ｓ１０３）。
【０１２６】
検索条件が含まれている場合（S100:YES）、管理サーバ４０は、検索キーワードに基づいてユーザ管理テーブルＴ１０Ａを検索する（Ｓ１０１）。管理サーバ４０は、検索キーワードに合致するユーザプロパティを有する他ユーザを検出できたか否かを判定する（Ｓ１０２）。検索キーワードに合致するキーワードを備える他ユーザを一人も発見できない場合（S102:NO）、管理サーバ４０は、通常表示処理を実行する（Ｓ１０３）。
【０１２７】
検索キーワードに合致するキーワードを有する他ユーザを発見した場合（S102:YES）、管理サーバ４０は、その検出された他ユーザのユーザＩＤを、メモリ４０Ｂまたは補助記憶装置４０Ｃに記憶させる（Ｓ１０４）。
【０１２８】
図１８は、表示させる他ユーザのアバターを決定するための処理を示すフローチャートである。このフローチャートは、図１２に示すフローチャートと同一のステップＳ５２〜Ｓ５７を備え、図１２に示されるＳ５１が省略されている。
【０１２９】
管理サーバ４０は、図１７のＳ１０４で記憶された他ユーザのユーザＩＤを読込み（Ｓ５０Ａ）、読み込まれたユーザＩＤの現在位置と検索したユーザの現在位置とを比較し（Ｓ５２，Ｓ５３）、視認範囲内の他ユーザのアバターのみを表示対象として選択する（Ｓ５４〜Ｓ５７）。
【０１３０】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、ユーザ管理テーブルＴ１０Ａで管理されるユーザプロパティを検索することにより、ユーザが所望する他ユーザを容易に抽出することができる。従って、本実施例は、グループ管理テーブルＴ２０を用いて他ユーザを抽出する場合よりも構成を簡素化することができる。
【０１３１】
また、ユーザプロパティの少なくとも一部に、ユーザが自由に設定可能なキーワードを含めることにより、流行の変化に速やかに追従することができる。
【実施例３】
【０１３２】
図１９〜図２１に基づいて第３実施例を説明する。本実施例では、検索条件に合致する他ユーザのアバター及びオブジェクトを抽出して、仮想空間７０に表示させる。図１９は、本実施例による仮想空間提供装置１０が使用する各管理テーブルＴ１０〜Ｔ４０を示す説明図である。
【０１３３】
本実施例では、可視管理テーブルＴ４０が追加されている。可視管理テーブルＴ４０は、ユーザに適したオブジェクトを選択するためのテーブルである。図２０に示すように、可視管理テーブルＴ４０は、例えば、オブジェクトＩＤ欄Ｃ４０と、グループＩＤ欄Ｃ４１とを備える。オブジェクトＩＤ欄Ｃ４０には、オブジェクトＩＤが記憶される。グループＩＤ欄Ｃ４１には、そのオブジェクトが属するグループＩＤが記憶される。オブジェクトは、複数のグループに属することができる。
【０１３４】
さらに、本実施例では、オブジェクト管理テーブル３０Ａの管理項目に、グループＩＤが追加されている。つまり、本実施例では、オブジェクトとグループとが予め対応付けられている。
【０１３５】
図２１は、表示オブジェクトの決定処理を示すフローチャートである。仮想空間７０に表示されるアバターを決定する方法は、第１実施例と同様に行うことができるので、説明を省略し、ここでは、オブジェクトを選別する方法を説明する。
【０１３６】
管理サーバ４０は、検索条件に合致するグループのグループＩＤに基づいて可視管理テーブルＴ４０を検索することにより、その検索条件に合致するグループに対応付けられているオブジェクトのオブジェクトＩＤを特定できる。この検索条件に対応するオブジェクトを、以下の説明では、表示可能なオブジェクトとも呼ぶ。
【０１３７】
管理サーバ４０は、表示可能なオブジェクトの位置情報を、オブジェクト管理テーブルＴ３０Ａから取得する（Ｓ１２０）。管理サーバ４０は、オブジェクトの位置とアバターの位置とを比較し（Ｓ１２１）、アバターの位置とオブジェクトの位置とが所定の視認範囲内にあるか否かを判定する（Ｓ１２２）。
【０１３８】
そのオブジェクトが所定の視認範囲内に存在する場合（S122:YES）、管理サーバ４０は、そのオブジェクトをクライアントコンピュータ２０の画面に表示させるオブジェクトとして選択する（Ｓ１２３）。
【０１３９】
管理サーバ４０は、表示可能なオブジェクトのうち全てのオブジェクトについて判定したか否かを判定する（Ｓ１２４）。未判定のオブジェクトが残っている場合（S124:NO）、管理サーバ４０は、判定対象のオブジェクトを次のオブジェクトに変更し（Ｓ１２５）、Ｓ１２０に戻る。
【０１４０】
表示可能な全オブジェクトについて表示の可否を判定した場合（S124:YES）、管理サーバ４０は、Ｓ１２３で選択されたオブジェクトが予め設定される所定範囲内に複数存在するか否かを判定する（Ｓ１２６）。つまり、管理サーバ４０は、ユーザに対応するオブジェクトが仮想空間７０内で重なり合っているか否かを判定する。
【０１４１】
表示が決定されたオブジェクトが所定範囲内に複数存在する場合（S126:YES）、管理サーバ４０は、重なり合う各オブジェクトのうち、いずれか一つのオブジェクトを選択して（Ｓ１２７１）、処理を終了する。
【０１４２】
重なり合うオブジェクトのうち一つを選択する方法としては、種々の方法を挙げることができる。例えば、各オブジェクトのうち作成日の新しい方を選択できる。または、各オブジェクトに予め優先度が設定されている場合、いずれか優先度の高い方のオブジェクトを選択できる。
【０１４３】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、検索条件に合致するアバター及びオブジェクトだけを仮想空間７０に表示させることができるため、ユーザの使い勝手が向上する。
【実施例４】
【０１４４】
図２２に基づいて第４実施例を説明する。本実施例では、ユーザが検索表示モードで仮想空間７０に参加していることを、特別な表示によって他のユーザに通知する。図２２は、本実施例における仮想空間７０の様子を示す。検索表示モードで仮想空間７０に参加しているユーザのアバターには、モードを識別するためのマークＭ１が表示される。
【０１４５】
仮想空間７０には、全てのユーザのアバターを視認する通常表示モードのユーザＵ２〜Ｕ４と、検索条件に合致するユーザのアバターのみを視認する検索表示モードのユーザＵ１とが混在する。例えば、通常表示モードのユーザＵ４からは、検索表示モードのユーザＵ１のアバターが見えるが、検索表示モードのユーザＵ１には通常表示モードのユーザＵ４のアバターが見えない。ユーザＵ１とユーザＵ４とは、共通のグループまたは共通のキーワードを備えていないためである。
【０１４６】
従って、この場合、通常表示モードのユーザＵ４が検索表示モードのユーザＵ１に接触を試みた場合に、ユーザＵ１のアバターから応答が無かったり、応答が遅れたりする場合がある。
【０１４７】
応答の有無は、チャットシステムの設定によって異なる。例えば、検索条件に合致するユーザとのみチャット可能な設定の場合、通常表示モードのユーザＵ４がＵ１に話しかけても、検索表示モードのユーザＵ１には届かない。これに対し、検索条件に合致するユーザのアバターのみを表示させるが、チャットは全てのユーザと可能である設定の場合、通常表示モードのユーザＵ４は、検索表示モードのユーザＵ１と会話可能である。しかし、検索表示モードのユーザＵ１からは相手が見えないため、コミュニケーションに問題が生じる可能性がある。
【０１４８】
そこで、本実施例では、検索表示モードのユーザＵ１に特別なマークＭ１を対応付けて表示させることにより、ユーザ間でのトラブルの発生を防止する。なお、通常表示モードのユーザに、通常表示モードである旨のマークを対応付ける構成でもよい。検索表示モードのユーザと通常表示モードのユーザとを明確に区別できる標識または情報を、各ユーザのアバターに対応付けることのできる構成であればよい。このように構成される本実施例も、上記の特別な効果に加えて、第１実施例と同様の効果を奏する。
【実施例５】
【０１４９】
図２３，図２４に基づいて第５実施例を説明する。本実施例では、仮想空間提供装置１０からクライアントコンピュータ２０に、ユーザの視認範囲内の全アバターのデータを送信し、クライアントコンピュータ２０側で、表示するアバターを選別する。
【０１５０】
図２３は、本実施例の仮想空間提供装置１０の動作を示す。管理サーバ４０は、表示させるアバターを決定した後（Ｓ２０）、視認範囲内の全てのアバターのデータを、クライアントコンピュータ２０に送信させる（Ｓ２１Ａ）。
【０１５１】
仮想空間提供装置１０は、図２４（ｄ）に示すように、アバターデータＤ１に描画制御情報Ｄ２を対応付けて、クライアントコンピュータ２０に送信する。描画制御情報Ｄ２は、そのアバターの表示の可否を制御するための情報である。描画制御情報Ｄ２に「１」がセットされているアバターは、クライアントコンピュータ２０によって描画される。描画制御情報Ｄ２に「０」がセットされているアバターは、クライアントコンピュータ２０により描画されない。
【０１５２】
クライアントコンピュータ２０は、仮想空間提供装置１０から受信したアバターデータＤ１及び描画制御情報Ｄ２を（Ｓ２２）、クライアントコンピュータ２０内のメモリ装置に保存させる。クライアントコンピュータ２０は、描画の許可されたアバターデータのみを描画し、画面に表示させる（Ｓ２３Ａ）。
【０１５３】
図２４は、仮想空間提供装置１０からクライアントコンピュータ２０に送信されるアバターデータの範囲を説明するための図である。図２４（ａ）は、仮想空間７０の有する全てのアバターデータ（UID001−UID010）を示す。
【０１５４】
図２４（ｂ）は、アバターを中心とする視認可能な範囲内（視認範囲内）に存在するアバターデータ（UID001，UID003，UID007，UID010）を示す。図２４（ｃ）は、視認範囲内に位置する各アバターデータのうち、検索条件に合致するアバターデータ（UID001，UID010）を示す。
【０１５５】
図２４（ｄ）は、仮想空間提供装置１０からクライアントコンピュータ２０に送信されるデータの構成を示す。仮想空間提供装置１０は、検索条件に合致するか否かを問わずに、視認範囲内に存在する全てのアバターデータを、クライアントコンピュータ２０に送信する。
【０１５６】
但し、アバターデータＤ１には、上述の描画制御情報Ｄ２がそれぞれ設定される。視認範囲内に存在するアバターであっても、検索条件に合致しないアバターの描画制御情報Ｄ２には「０」がセットされる。視認範囲内に存在し、かつ、検索条件に合致するアバターの描画制御情報Ｄ２には「１」がセットされる。
【０１５７】
図２４（ｅ）は、クライアントコンピュータ２０によって描画されるアバターデータを示す。クライアントコンピュータ２０は、仮想空間提供装置１０から受信した各アバターデータのうち、描画制御情報に「１」がセットされているアバターデータのみを描画して仮想空間７０に表示させる。
【０１５８】
このように構成される本実施例も第１実施例とほぼ同様の効果を奏する。さらに、本実施例では、視認範囲内の全アバターデータをクライアントコンピュータ２０に送信し、クライアントコンピュータ２０側で描画するアバターデータを選別する。従って、通信ネットワークＣＮ１０を流れるデータ量は第１実施例よりも増大するが、描画制御情報を書き換えるだけで、表示させるか否かを制御することができる。
【実施例６】
【０１５９】
図２５に基づいて第６実施例を説明する。本実施例は、ユーザの現実世界での行動履歴に基づいて、ユーザプロパティを自動的に設定する。本実施例は、第２実施例の変形例に該当する。図２５は、本実施例に係る仮想空間提供装置１０により実行される、ユーザプロパティ設定処理を示す。
【０１６０】
管理サーバ４０は、例えば、ＰＯＳ（Point Of Sale）明細データ５２Ａ、電子マネー利用データ５２Ｂ、ポイント利用データ５２Ｃ等から、ユーザの購買履歴データを取得する（Ｓ１３０）。ＰＯＳ明細データ５２Ａには、例えば、コンビニエンスストアやスーパーマーケット等でのユーザの購買履歴が含まれている。電子マネー利用データ５２Ｂには、ウェブサイトでの決済に使用される電子マネーのユーザの利用状況が含まれている。ポイント利用データ５２Ｃには、商品やサービスの購入に際して所定割合で付与される、商品やサービスと交換可能なポイントのユーザの利用状況が含まれている。
【０１６１】
管理サーバ４０は、ユーザの購買履歴データに基づいて、ユーザの購入した商品を抽出する（Ｓ１３１）。各商品には、例えば、ＪＡＮ（Japanese Article Number）コードのような商品識別コードが、バーコード、二次元バーコード、ＩＣタグのような形態で予め設定されている。従って、商品識別コードからユーザの購入した商品を特定できる。
【０１６２】
管理サーバ４０は、商品管理データベース５３を用いることにより、ユーザの購入した商品にキーワードを設定し（Ｓ１３２）、この商品に設定されたキーワードをユーザプロパティとしてユーザ管理テーブルＴ１０Ａに設定する（Ｓ１３３）。
【０１６３】
商品管理データベース５３は、例えば、商品ＩＤ（商品識別コード）と、商品名と、商品の提供者名と、キーワードとを対応付けて管理する。なお、これら以外の管理項目を備えてもよいし、上述した管理項目のうち商品ＩＤ及びキーワード以外の管理項目を除外してもよい。
【０１６４】
キーワードは、例えば、その商品の特徴や性質、販売顧客層等に基づいて、設定することができる。体脂肪率の低減を特徴とする商品には、例えば、「健康」、「ダイエット」等のキーワードが設定される。
【０１６５】
商品提供者のサイトに掲載されている商品の広告宣伝文から、テキストマイニング手法等を用いることにより、一つまたは複数のキーワードを抽出することができる。または、ＷＷＷサイトで公開されている日記や掲示板のテキストから、商品に関するキーワードを抽出することもできる。さらには、仮想空間７０内で行われた、商品に関するチャットのログデータに基づいて、その商品のキーワードを自動的に抽出することもできる。
【０１６６】
なお、有体物の商品に限らず、現実世界でのサービス利用履歴に基づいて、ユーザプロパティを自動的に設定することもできる。例えば、エステサロンを利用したユーザには、「美容」、「ファッション」のようなユーザプロパティを設定できる。
【０１６７】
さらに、このようにして自動的にユーザに対応付けられるキーワードの順位を、ユーザの最新の購買履歴（行動履歴）に応じて変動させることもできる。例えば、あるユーザに第１キーワード「音楽」、第２キーワード「教養」、第３キーワード「健康」の３つが設定されている場合、そのユーザが最近「健康」のキーワードを有する商品を購入した場合、第３キーワードであった「健康」を第１キーワードに変更する。「音楽」及び「教養」の各キーワードは、それぞれ順位を１つずつ繰り下げる。
【０１６８】
このように構成される本実施例も第１実施例及び第２実施例と同様の効果を奏する。これに加えて、本実施例では、ユーザの現実世界における商品の購買履歴に基づいて、そのユーザのプロパティを自動的に設定する。従って、本実施例では、ユーザの比較的最近の興味や関心等に応じて、そのユーザに適したキーワードを自動的に設定でき、同様の興味や関心を有するユーザからの接触機会を高めることができる。
【実施例７】
【０１６９】
図２６，図２７に基づいて第７実施例を説明する。本実施例では、ユーザの仮想空間７０での行動履歴に基づいて、ユーザプロパティを自動的に設定する。本実施例も第２実施例の変形例に該当する。図２６は、本実施例に係る仮想空間提供装置１０により実行される、ユーザプロパティ設定処理のフローチャートである。
【０１７０】
管理サーバ４０は、ユーザに対応するアバターに関するログデータを、ログデータ４５Ａから取得する（Ｓ１４０）。管理サーバ４０は、Ｓ１４０で取得したログデータから、アバターの保有する各種オブジェクトにそれぞれ設定されているオブジェクトプロパティを取得する（Ｓ１４１）。
【０１７１】
アバターは、例えば、上着、ズボン、靴、鞄、眼鏡、腕時計、帽子等の種々のオブジェクトを保持している。これらの各オブジェクトには、予めキーワード（オブジェクトプロパティ）がそれぞれ設定されている。
【０１７２】
続いて、管理サーバ４０は、アバターの行動履歴に対応するキーワードを取得する（Ｓ１４２）。この方法については、図２７で後述する。最後に、管理サーバ４０は、オブジェクトプロパティ内のキーワードと、行動履歴に基づくキーワードとを、ユーザプロパティとして設定する（Ｓ１４３）。
【０１７３】
なお、Ｓ１４１及びＳ１４２で取得されたキーワードの合計が予め設定される上限値を超える場合、予め設定される基準に従って、上限値以内のキーワードに絞り込む。例えば、仮想空間７０での行動履歴から得られるキーワードを優先的に使用する。逆に、アバターの保有するオブジェクトから得られるキーワードを優先的に使用してもよい。
【０１７４】
図２７は、保有オブジェクトや行動履歴に基づいてキーワードを取得する方法（Ｓ１４１，Ｓ１４２）を模式的に示す説明図である。ログデータ４５Ａは、例えば、ユーザＩＤと、保有オブジェクトＩＤと、行動履歴等を対応付けて管理する。
【０１７５】
保有オブジェクトＩＤとは、そのユーザ（アバター）が保持しているオブジェクトのＩＤである。従って、保有オブジェクトＩＤに基づいてオブジェクト管理テーブルＴ３０Ｂを検索することにより、アバターの保有するオブジェクトに関するキーワードを取得することができる。
【０１７６】
ログデータ４５Ａ内の行動履歴は、仮想空間７０におけるアバターの行動や会話等を記録している。行動パターン判別テーブル５４は、例えば、指標と、その指標に対応して予め設定されるキーワードとを備える。例えば、仮想空間７０に新しい建築物オブジェクトが配置された場合、直ちにその建築物を訪問したユーザには「新しもの好き」等のキーワードが設定される。また、例えば、仮想空間７０へのログイン時間に占めるチャット時間の割合が所定値以上多いユーザには、「活動的」等のキーワードが設定される。さらに、例えば、所定期間内のチャット内容に否定的な言葉が所定値以上出現する場合、そのユーザには、「悲観的」等のキーワードが設定される。なお、以上の説明は、本発明の理解のための例示であり、本発明は上述の記載によって限定されない。
【０１７７】
このように構成される本実施例も第１実施例、第２実施例及び第６実施例と同様の効果を奏する。
【実施例８】
【０１７８】
図２８に基づいて第８実施例を説明する。本実施例では、アバター（ユーザ）が所定のオブジェクトを保持することにより、所定オブジェクトに対応付けられているグループＩＤにユーザＩＤを設定する。これにより、例えば、音楽グループに属するオブジェクトをユーザが保持することで、そのユーザは自動的に音楽グループに属し、音楽グループに対応付けられている他のユーザのアバターが仮想空間７０に表示される。
【０１７９】
図２８は、本実施例に係る仮想空間提供装置１０で実行されるグループ変更処理を示すフローチャートである。管理サーバ４０は、例えばログデータ４５Ａに基づいて、アバターの保持するオブジェクトを検査し、アバターが所定のオブジェクトを保持しているか否かを判定する（Ｓ１５０）。
【０１８０】
所定のオブジェクトとは、ユーザの属するグループを変化させることのできるオブジェクトである。このような所定オブジェクトには、オブジェクト管理テーブルＴ３０において、所定オブジェクトである旨を示すフラグが設定される。
【０１８１】
アバターが所定オブジェクトを保持している場合（S150:YES）、管理サーバ４０は、オブジェクト管理テーブルＴ３０を参照することにより、所定オブジェクトに対応付けられているグループＩＤを検出し、このグループＩＤにアバターのユーザＩＤを対応付けて、グループ管理テーブルＴ２０を更新する（Ｓ１５１）。
【０１８２】
アバターが所定オブジェクトを保持していない場合（S150:NO）、管理サーバ４０は、例えば、ログデータ４５Ａを用いることにより、所定オブジェクトがアバターから取り外されたか否かを判定する（Ｓ１５２）。所定オブジェクトがアバターから取り外された場合としては、例えば、所定オブジェクトが捨てられた場合、所定オブジェクトが倉庫やトランクのようなオブジェクト保管場所に保管された場合等を挙げることができる。
【０１８３】
所定オブジェクトがアバターから取り外された場合（S152:YES）、管理サーバ４０は、オブジェクト管理テーブルＴ３０を参照して所定オブジェクトに対応付けられているグループＩＤを検出する。そして、管理サーバ４０は、グループ管理テーブルＴ２０において、所定オブジェクトに関するグループＩＤに対応付けられているユーザＩＤを削除し、グループ管理テーブルＴ２０を更新する（Ｓ１５３）。
【０１８４】
ユーザの操作するアバターが身につけるオブジェクトについて、図２８に示す処理を定期的または不定期に行うことにより、ユーザは、所望のグループに関する所定のオブジェクトを保持するだけで（あるいは、装着するだけで）、そのグループに属する他のユーザのアバターをクライアントコンピュータ２０に表示させることができる。
【０１８５】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、ユーザ（アバター）の保持する所定オブジェクトに対応するグループＩＤと、そのユーザのユーザＩＤとを対応付けるようにグループ管理テーブルＴ２０を更新する。従って、ユーザは、所望のグループに対応する所定オブジェクトを保持するだけで、そのグループに属する他のユーザのアバターを表示させることができ、かつ、所定オブジェクトを取り外すだけで、そのグループに属する他のユーザのアバターを視界から消すことができ、ユーザの使い勝手が向上する。
【実施例９】
【０１８６】
図２９に基づいて第９実施例を説明する。本実施例では、ユーザの保持するオブジェクトに応じて、グループ管理テーブルＴ２０を動的に生成または変更する。管理サーバ４０は、例えば、ログデータ４５Ａを用いることにより、ユーザの保持するオブジェクトを検出する（Ｓ１６０）。
【０１８７】
管理サーバ４０は、検出されたオブジェクトのオブジェクトＩＤを検索キーとして、オブジェクト管理テーブルＴ３０を検索し（Ｓ１６１）、そのオブジェクトに対応付けられているグループＩＤを検出する（Ｓ１６２）。
【０１８８】
管理サーバ４０は、検出されたグループＩＤを検索キーとしてグループ管理テーブルＴ２０を検索し（Ｓ１６３）、その検出されたグループＩＤにユーザＩＤが対応付けられているか否かを判定する（Ｓ１６４）。Ｓ１６２で検出されたグループＩＤにユーザＩＤが対応付けられていない場合（S164:NO）、管理サーバ４０は、そのグループＩＤにユーザＩＤを対応付けて、グループ管理テーブルＴ２０を更新させる（Ｓ１６５）。検出されたグループＩＤにユーザＩＤが既に対応付けられている場合（S164:YES）、Ｓ１６５はスキップされる。
【０１８９】
管理サーバ４０は、ユーザが保持していないオブジェクトに関するグループＩＤに、そのユーザのＩＤが対応付けられているか否かを検査し、既に保持していないオブジェクトに関するグループＩＤからユーザＩＤを削除して、グループ管理テーブルＴ２０を更新させる（Ｓ１６６）。
【０１９０】
このように構成される本実施例は、第１実施例と同様の効果を奏する。さらに、本実施例では、ユーザの保持するオブジェクトに応じて、そのユーザの属するグループを動的に変更する。従って、仮想空間７０のアバターが装着しているオブジェクトの種類に応じて、ユーザに見えるアバターの範囲をカスタマイズすることができ、ユーザの使い勝手が向上する。
【実施例１０】
【０１９１】
図３０に基づいて第１０実施例を説明する。本実施例では、第８実施例で述べた所定オブジェクトをユーザが作成する場合を説明する。管理サーバ４０は、クライアントコンピュータ２０から所定オブジェクトの生成指示を受領すると（Ｓ１７０）、その生成指示によって指定されたオブジェクトにユーザプロパティを設定する（Ｓ１７１）。例えば、ユーザが眼鏡や名刺のようなオブジェクトを指定すると、その指定されたオブジェクトに、そのユーザのユーザプロパティに設定されているキーワードが設定される。
【０１９２】
管理サーバ４０は、指定されたオブジェクトに所定オブジェクトである旨を示すフラグを設定する（Ｓ１７２）。本実施例のオブジェクト管理テーブルＴ３０Ｃは、所定オブジェクトである旨を示すフラグ（情報）と、ユーザプロパティ（正確には、ユーザプロパティのキーワード）とを備える。そして、管理サーバ４０は、作成された所定オブジェクトのデータをクライアントコンピュータ２０に送信する（Ｓ１７３）。
【０１９３】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上述の各実施例を適宜組み合わせて使用することができる。
【０１９４】
また、例えば、ユーザ管理テーブル、グループ管理テーブル、可視管理テーブル及びオブジェクト管理テーブルの構成は一例であって、他の構成のテーブルを用いて本発明を実現することもできる。
【０１９５】
さらに、前記第１実施例では、検索条件に合致する各アバターのうち、クライアントコンピュータの画面に表示される範囲内のアバターのデータを送信する場合を例に挙げて説明した。これに代えて、画面の表示範囲よりも所定サイズだけ大きい範囲内に存在するアバターのデータをクライアントコンピュータ２０に送信してもよい。これにより、アバターが移動した場合でも、移動直後の仮想空間を速やかに表示させることができる。
【０１９６】
なお、上述した実施形態を、例えば、「通信ネットワークを介して接続される複数のクライアントコンピュータに仮想空間を提供する仮想空間提供装置であって、前記仮想空間に配置される複数の表示対象をそれぞれ管理する表示対象管理部と、前記クライアントコンピュータから入力される検索条件に基づいて、前記各表示対象のうち前記仮想空間に表示させる所定の表示対象を抽出する可視制御部と、前記所定の表示対象に対応するデータを前記クライアントコンピュータに送信することにより、前記所定の表示対象のデータを前記クライアントコンピュータに描画させ、前記仮想空間に表示させる、データ送信部と、を備える仮想空間提供装置。」のように表現することもできる。
【図面の簡単な説明】
【０１９７】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】仮想空間提供システムの全体構成を示す説明図である。
【図３】クライアントコンピュータ及び仮想空間提供装置の構成を示すブロック図である。
【図４】仮想空間の様子を模式的に示す説明図である。
【図５】検索条件に合致するアバターが仮想空間に表示される様子を示す説明図である。
【図６】各管理テーブルの概略を示す説明図である。
【図７】ユーザ管理テーブル及びグループ管理テーブルの構成を示す説明図である。
【図８】オブジェクト管理テーブルの構成を示す説明図である。
【図９】ユーザに仮想空間を提供する処理を示すフローチャートである。
【図１０】所望のユーザのアバターだけを表示させるための検索要求を発行する処理を示すフローチャートである。
【図１１】図９中のＳ１９の詳細を示すフローチャートである。
【図１２】図９中のＳ２０の詳細を示すフローチャートである。
【図１３】ユーザの属するグループを修正するための処理を示すフローチャートである。
【図１４】通常表示モードと検索表示モードとでユーザの視認範囲が異なる様子を示す説明図である。
【図１５】第２実施例に係る仮想空間提供装置で行われる、検索条件に合致するユーザのアバターを抽出する様子を模式的に示す説明図である。
【図１６】ユーザ管理テーブルの一例を示す説明図である。
【図１７】検索条件に対応するユーザを抽出するための処理を示すフローチャートである。
【図１８】仮想空間に表示させるアバターを決定する処理を示すフローチャートである。
【図１９】第３実施例に係る仮想空間提供装置で使用される、各管理テーブルの概略を示す説明図である。
【図２０】可視管理テーブル及びオブジェクト管理テーブルを示す説明図である。
【図２１】検索条件に合致するオブジェクトのうち、表示させるオブジェクトを決定する処理を示すフローチャートである。
【図２２】第４実施例に係る仮想空間提供装置がユーザに提供する仮想空間を模式的に示す説明図である。
【図２３】第５実施例に係る仮想空間提供装置がユーザに仮想空間を提供する処理を示すフローチャートである。
【図２４】仮想空間提供装置からクライアントコンピュータに送信されるアバターの範囲とデータ構造とを示す説明図である。
【図２５】第６実施例に係る仮想空間提供装置が実行する、ユーザプロパティを自動的に設定する処理を示すフローチャートである。
【図２６】第７実施例に係る仮想空間提供装置が実行する、ユーザプロパティを自動的に設定する処理を示すフローチャートである。
【図２７】ログデータに基づいて、ユーザプロパティ用のキーワードを取得する様子を示す説明図である。
【図２８】第８実施例に係る仮想空間提供装置が実行する、グループ変更処理を示すフローチャートである。
【図２９】第９実施例に係る仮想空間提供装置が実行する、グループ管理テーブル作成処理を示すフローチャートである。
【図３０】第１０実施例に係る仮想空間提供装置が実行する、所定オブジェクトを生成する処理を示すフローチャートである。
【符号の説明】
【０１９８】
１：仮想空間提供装置、２：クライアント装置、３：仮想空間提供部、４：仮想空間管理部、４Ａ：ログイン処理、４Ｂ：検索条件に応じた表示対象の抽出処理、４Ｃ：データ送信処理、５：管理用データベース、６：仮想空間用ビューワ、６Ａ：通信部、６Ｂ：描画部、６Ｃ：操作部、６Ｄ：コミュニケーション部、６Ｅ：検索指示部、７：仮想空間、８：検索メニュー、８Ａ：検索条件入力部、８Ｂ：検索実行ボタン、１０：仮想空間提供装置、２０：クライアントコンピュータ、３０：仮想空間提供サーバ、３１：通信処理部、４０：管理サーバ、４０Ａ：演算処理装置、４０Ｂ：メモリ、４０Ｃ：補助記憶装置、４１：ログイン等処理部、４２：可視制御部、４２Ａ：表示対象抽出処理部、４２Ｂ：表示対象決定処理部、４３：表示対象データ送信部、４４：ユーザ操作への対応処理部、４５：ログ管理部、４５Ａ：ログデータ、５０：データベース、５２Ａ：ＰＯＳ明細データ、５２Ｂ：電子マネー利用データ、５２Ｃ：ポイント利用データ、５３：商品管理データベース、５４：行動パターン判別テーブル、６０：仮想空間用ビューワ、６１：描画部、６２：操作部、６３：通信部、６４：コミュニケーション部、６５：検索指示部、７０：仮想空間、８０：検索メニュー、８１：検索条件入力部、８２：検索実行ボタン、８３：検索結果表示部、８４：所属グループ更新指示部、Ｔ１０，Ｔ１０Ａ：ユーザ管理テーブル、Ｔ２０：グループ管理テーブル、Ｔ３０，Ｔ３０Ａ，Ｔ３０Ｂ，Ｔ３０Ｃ：オブジェクト管理テーブル、Ｔ４０：可視管理テーブル。
【図１】
2009223656.tif 000003
【図２】
2009223656.tif 000004
【図３】
2009223656.tif 000005
【図４】
2009223656.tif 000006
【図５】
2009223656.tif 000007
【図６】
2009223656.tif 000008
【図７】
2009223656.tif 000009
【図８】
2009223656.tif 000010
【図９】
2009223656.tif 000011
【図１０】
2009223656.tif 000012
【図１１】
2009223656.tif 000013
【図１２】
2009223656.tif 000014
【図１３】
2009223656.tif 000015
【図１４】
2009223656.tif 000016
【図１５】
2009223656.tif 000017
【図１６】
2009223656.tif 000018
【図１７】
2009223656.tif 000019
【図１８】
2009223656.tif 000020
【図１９】
2009223656.tif 000021
【図２０】
2009223656.tif 000022
【図２１】
2009223656.tif 000023
【図２２】
2009223656.tif 000024
【図２３】
2009223656.tif 000025
【図２４】
2009223656.tif 000026
【図２５】
2009223656.tif 000027
【図２６】
2009223656.tif 000028
【図２７】
2009223656.tif 000029
【図２８】
2009223656.tif 000030
【図２９】
2009223656.tif 000031
【図３０】
2009223656.tif 000032