以下、本発明の実施形態について図面を参照して説明する。
(仮想現実生成システムの概要)
図1を参照して、本発明の一実施形態に係る仮想現実生成システム1の概要について説明する。図1は、本実施形態に係る仮想現実生成システム1のブロック図である。仮想現実生成システム1は、サーバ装置10と、1つ以上の端末装置20と、を備える。図1では簡便のため、3つの端末装置20を図示しているが、端末装置20の数は2つ以上であればよい。
サーバ装置10は、例えば1つ以上の仮想現実を提供する運営者が管理するサーバ等の情報処理システムである。端末装置20は、例えば携帯電話、スマートフォン、タブレット端末、PC(Personal Computer)、ヘッドマウントディスプレイ、又はゲーム装置等の、ユーザによって使用される情報処理システムである。端末装置20は、典型的にはユーザごとに異なる態様で、複数がサーバ装置10にネットワーク3を介して接続されうる。
端末装置20は、本実施形態に係る仮想現実アプリケーションを実行可能である。仮想現実アプリケーションは、ネットワーク3を介してサーバ装置10や所定のアプリケーション配信サーバから端末装置20に受信されてもよく、あるいは端末装置20に備えられた記憶装置又は端末装置20が読取可能なメモリカード等の記憶媒体にあらかじめ記憶されていてもよい。サーバ装置10及び端末装置20は、ネットワーク3を介して通信可能に接続される。例えば、サーバ装置10及び端末装置20が協動して、仮想現実に関する多様な処理を実行する。
なお、ネットワーク3は、無線通信網や、インターネット、VPN(Virtual Private Network)、WAN(Wide Area Network)、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでよい。
ここで、本実施形態に係る仮想現実の概要について説明する。本実施形態に係る仮想現実は、例えば教育、旅行、ロールプレイング、シミュレーション、ゲームやコンサートのようなエンターテインメント等、任意の現実に対する仮想現実等であって、仮想現実の実行に伴い、アバタのような仮想現実媒体が用いられる。例えば、本実施形態に係る仮想現実は、3次元の仮想空間と、当該仮想空間内に登場する各種の仮想現実媒体と、当該仮想空間内で提供される各種のコンテンツとにより実現される。
仮想現実媒体は、仮想現実に使用される電子データであり、例えば、カード、アイテム、ポイント、サービス内通貨(又は仮想現実内通貨)、チケット、キャラクタ、アバタ、パラメータ等、任意の媒体を含む。また、仮想現実媒体は、レベル情報、ステータス情報、パラメータ情報(体力値及び攻撃力等)又は能力情報(スキル、アビリティ、呪文、ジョブ等)のような、仮想現実関連情報であってもよい。また、仮想現実媒体は、ユーザによって仮想現実内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る電子データであるが、仮想現実媒体の利用態様は本明細書で明示されるものに限られない。
本実施形態では、ユーザは、後述するユーザアバタm1(第1移動媒体の一例)を介して仮想空間内で活動する一般ユーザ(第1ユーザの一例)と、後述するスタッフアバタm2(第2移動媒体の一例)を介して仮想空間内で活動するスタッフユーザ(第2ユーザの一例)とを含む。一般ユーザは、仮想現実生成システム1の運営に関与しないユーザであり、スタッフユーザは、仮想現実生成システム1の運営に関与するユーザである。スタッフユーザは、仮想現実内において一般ユーザのサポート等を行う役割(エージェント機能)を有する。以下では、特に言及しない限り、ユーザとは、一般ユーザとスタッフユーザの双方を指す。
また、ユーザは、更にゲストユーザを含んでもよい。ゲストユーザは、後述するコンテンツ(サーバ装置10が提供するコンテンツ)として機能するゲストアバタを操作するアーティストやインフルエンサー等であってよい。なお、スタッフユーザの一部は、ゲストユーザとなる場合があってもよいし、各ユーザの属性は明確でない場合があってもよい。
サーバ装置10が提供するコンテンツ(仮想現実で提供されるコンテンツ)の種類や数は、任意であるが、本実施形態では、一例として、サーバ装置10が提供するコンテンツは、各種の映像のようなデジタルコンテンツを含んでよい。映像は、リアルタイムの映像であってもよいし、非リアルタイムの映像であってもよい。また、映像は、実画像に基づく映像であってもよいし、CG(Computer Graphics)に基づく映像であってもよい。映像は、情報提供用の映像であってよい。この場合、映像は、特定のジャンルの情報提供サービス(旅や、住まい、食品、ファッション、健康、美容等に関する情報提供サービス)、特定のユーザによる放送サービス(例えばYoutube(登録商標))等に関するものであってよい。
また、本実施形態では、一例として、サーバ装置10が提供するコンテンツは、後述するスタッフユーザからの指導やアドバイス等を含んでよい。例えば、ダンスのレッスンに係る仮想現実で提供されるコンテンツとして、ダンスの先生からの指導やアドバイス等を含んでよい。この場合、ダンスの先生がスタッフユーザとなり、生徒が一般ユーザとなり、仮想現実において生徒が先生から個別的に指導を受けることができる。
また、他の実施形態では、サーバ装置10が提供するコンテンツは、一人以上のスタッフユーザやゲストユーザによるそれぞれのスタッフアバタm2やゲストアバタを介した各種のパフォーマンスやトークショー、会合、集会等であってもよい。
仮想現実におけるコンテンツの提供態様は、任意であり、例えば、コンテンツが映像である場合、仮想空間内の表示装置(仮想現実媒体)のディスプレイ上に、映像を描画することで、当該コンテンツの提供が実現されてもよい。なお、仮想空間内の表示装置は、任意の形態であり、仮想空間内に設置されるスクリーンや、仮想空間内に設置される大画面ディスプレイ、仮想空間内で携帯端末のディスプレイ等であってよい。
(サーバ装置の構成)
サーバ装置10の構成について具体的に説明する。サーバ装置10は、サーバコンピュータにより構成される。サーバ装置10は、複数台のサーバコンピュータにより協動して実現されてもよい。例えば、サーバ装置10は、各種のコンテンツを提供するサーバコンピュータや、各種の認証サーバを実現するサーバコンピュータ等により協動して実現されてもよい。また、サーバ装置10は、Webサーバを含んでよい。この場合、後述する端末装置20の機能の一部は、Webサーバから受領したHTML文書やそれに付随する各種プログラム(Javascript)をブラウザが処理することによって実現されてもよい。
サーバ装置10は、サーバ通信部11と、サーバ記憶部12と、サーバ制御部13と、を備える。
サーバ通信部11は、外部装置と無線又は有線によって通信し、情報の送受信を行うインタフェースを含む。サーバ通信部11は、例えば無線LAN(Local Area Network)通信モジュール又は有線LAN通信モジュール等を含んでもよい。サーバ通信部11は、ネットワーク3を介して、端末装置20との間で情報を送受信可能である。
サーバ記憶部12は、例えば記憶装置であって、仮想現実に係る各種処理に必要な種々の情報及びプログラムを記憶する。例えばサーバ記憶部12は、仮想現実アプリケーションを記憶する。
また、サーバ記憶部12は、仮想空間を描画するためのデータ、例えば建物のような屋内の空間や、屋外の空間の画像等を記憶する。なお、仮想空間を描画するためのデータは、仮想空間ごとに複数種類用意され、使い分けられてもよい。
また、サーバ記憶部12は、3次元の仮想空間内に配置された種々のオブジェクトに投影(テクスチャマッピング)するための種々の画像(テクスチャ画像)を記憶する。
例えば、サーバ記憶部12は、各ユーザに対応付けられる仮想現実媒体としてのユーザアバタm1の描画情報を記憶する。仮想空間内にユーザアバタm1は、ユーザアバタm1の描画情報に基づいて描画される。
また、サーバ記憶部12は、各スタッフユーザに対応付けられる仮想現実媒体としてのスタッフアバタm2の描画情報を記憶する。仮想空間内にスタッフアバタm2は、スタッフアバタm2の描画情報に基づいて描画される。
また、サーバ記憶部12は、例えば建物、壁、樹木、又はNPC(Non Player Character)等のような、ユーザアバタm1やスタッフアバタm2とは異なる各種のオブジェクトに係る描画情報を記憶する。仮想空間内に各種のオブジェクトは、かかる描画情報に基づいて描画される。
以下、ユーザアバタm1やスタッフアバタm2とは異なる任意の仮想現実媒体(例えば建物、壁、樹木、又はNPC等)に対応するオブジェクトであって、仮想空間内に描画されたオブジェクトを第2オブジェクトm3とも称する。なお、本実施形態では、第2オブジェクトは、仮想空間内で固定されたオブジェクトや、仮想空間内で移動可能なオブジェクト等を含んでもよい。また、第2オブジェクトは、仮想空間内に常に配置されるオブジェクトや、所定の条件が満たされた場合にだけ配置されるオブジェクト等を含んでもよい。
サーバ制御部13は、専用のマイクロプロセッサ又は特定のプログラムを読み込むことにより特定の機能を実現するCPU(Central Processing Unit)や、GPU(Graphics Processing Unit)等を含んでよい。例えばサーバ制御部13は、端末装置20と協動して、端末装置20の表示部23に対するユーザ操作に応じて仮想現実アプリケーションを実行する。また、サーバ制御部13は、仮想現実に関する多様な処理を実行する。
例えば、サーバ制御部13は、仮想空間(画像)とともにユーザアバタm1やスタッフアバタm2等を描画し、表示部23に表示させる。また、サーバ制御部13は、所定のユーザ操作に応じて、仮想空間内においてユーザアバタm1やスタッフアバタm2を移動させる。サーバ制御部13の具体的な処理の詳細は後述する。
(端末装置の構成)
端末装置20の構成について説明する。図1に示すように、端末装置20は、端末通信部21と、端末記憶部22と、表示部23と、入力部24と、端末制御部25とを備える。
端末通信部21は、外部装置と無線又は有線によって通信し、情報の送受信を行うインタフェースを含む。端末通信部21は、例えばLTE(Long Term Evolution)(登録商標)や、LTE-A(LTE-Advanced)、第五世代移動通信システム、UMB(Ultra Mobile Broadband)等のモバイル通信規格に対応する無線通信モジュール、無線LAN通信モジュール、又は有線LAN通信モジュール等を含んでもよい。端末通信部21は、ネットワーク3を介して、サーバ装置10との間で情報を送受信可能である。
端末記憶部22は、例えば一次記憶装置及び二次記憶装置を含む。例えば端末記憶部22は、半導体メモリ、磁気メモリ、又は光メモリ等を含んでもよい。端末記憶部22は、サーバ装置10から受信する、仮想現実の処理に用いられる種々の情報及びプログラムを記憶する。仮想現実の処理に用いられる情報及びプログラムは、端末通信部21を介して外部装置から取得されてもよい。例えば、仮想現実アプリケーションプログラムが、所定のアプリケーション配信サーバから取得されてもよい。以下、アプリケーションプログラムを、単にアプリケーションともいう。また例えば、上述したユーザに関する情報及他のユーザの仮想現実媒体に関する情報等の一部又は全部が、サーバ装置10から取得されてもよい。
表示部23は、例えば液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを含む。表示部23は、多様な画像を表示可能である。表示部23は、例えばタッチパネルで構成され、多様なユーザ操作を検出するインタフェースとして機能する。なお、表示部23は、ヘッドマウントディスプレイの形態であってもよい。
入力部24は、例えば表示部23と一体的に設けられたタッチパネルを含む入力インタフェースを含む。入力部24は、端末装置20に対するユーザ入力を受付可能である。また、入力部24は、物理キーを含んでもよいし、マウス等のようなポインティングデバイスをはじめとする任意の入力インタフェースを更に含んでもよい。また、入力部24は、音声入力やジェスチャ入力のような、非接触型のユーザ入力を受付可能であってもよい。なお、ジェスチャ入力には、ユーザの身体の動きを検出するためのセンサ(画像センサや、加速度センサ、距離センサや、センサ技術やカメラを統合した専用モーションキャプチャー、ジョイパッドのようなコントローラ等)が利用されてもよい。
端末制御部25は、1つ以上のプロセッサを含む。端末制御部25は、端末装置20全体の動作を制御する。
端末制御部25は、端末通信部21を介して情報の送受信を行う。例えば、端末制御部25は、仮想現実に係る各種処理に用いられる種々の情報及びプログラムを、サーバ装置10及び他の外部サーバの少なくとも一方から受信する。端末制御部25は、受信された情報及びプログラムを、端末記憶部22に記憶する。例えば、端末記憶部22には、Webサーバに接続するためのブラウザ(インターネットブラウザ)が格納されてよい。
端末制御部25は、ユーザの操作に応じて仮想現実アプリケーションを起動する。端末制御部25は、サーバ装置10と協動して、仮想現実に係る各種処理を実行する。例えば、端末制御部25は、仮想空間の画像を表示部23に表示させる。画面上には、例えばユーザ操作を検出するGUI(Graphic User Interface)が表示されてもよい。端末制御部25は、入力部24を介して、画面に対するユーザ操作を検出可能である。例えば端末制御部25は、ユーザのタップ操作、ロングタップ操作、フリック操作、及びスワイプ操作等を検出可能である。タップ操作は、ユーザが指で表示部23に触れ、その後に指を離す操作である。端末制御部25は、操作情報をサーバ装置10に送信する。
(仮想現実の例)
サーバ制御部13は、端末装置20と協動して、表示部23上に仮想空間の画像を表示し、仮想現実の進行やユーザの操作に応じて仮想空間の画像を更新していく。本実施形態では、サーバ制御部13は、端末装置20と協動して、3次元の仮想空間に配置されるオブジェクトを、仮想空間に配置された仮想カメラから視た表現で描画する。
なお、以下で説明する描画処理は、サーバ制御部13により実現されるが、他の実施形態では、以下で説明する描画処理の一部又は全部がサーバ制御部13により実現されてもよい。例えば、以下の説明において、端末装置20に表示される仮想空間の画像の少なくとも一部を、サーバ装置10が生成したデータに基づいて端末装置20に表示させるウェブ表示とし、画面の少なくとも一部を、端末装置20にインストールされているネイティブアプリケーションによって表示させるネイティブ表示としてもよい。
図2Aから図2Cは、仮想現実生成システム1により生成可能な仮想現実のいくつかの例の説明図である。
図2Aは、旅行に係る仮想現実の説明図であり、仮想空間を平面視で示す概念図である。この場合、仮想空間内には、入場用チュートリアルのコンテンツを視聴する位置SP1と、ゲート付近の位置SP2とが設定される。図2Aでは、二人の別々のユーザに対応付けられた、ユーザアバタm1が示されている。また、図2A(図2B以降も同様)には、スタッフアバタm2も併せて示されている。
二人のユーザは、仮想現実で一緒に旅行に行くことを決定し、それぞれのユーザアバタm1を介して、仮想空間内に入る。そして、二人のユーザは、それぞれのユーザアバタm1を介して、位置SP1で入場用チュートリアルのコンテンツを視聴し(矢印R1参照)、位置SP2に至り(矢印R2参照)、その後、ゲートを通り(矢印R3参照)、飛行機(第2オブジェクトm3)に搭乗する。なお、入場用チュートリアルのコンテンツは、入場方法や仮想空間の利用の際の注意事項等を含んでもよい。そして、飛行機が離陸して、所望の目的地に至る(矢印R4参照)。この間、二人のユーザは、それぞれの端末装置20の表示部23を介して、仮想現実を体験できる。例えば、図3には、所望の目的地に係る仮想空間内に位置するユーザアバタm1の画像G300が示される。このような画像G300は、当該ユーザアバタm1に係るユーザの端末装置20に表示されてよい。この場合、ユーザは、ユーザアバタm1(ユーザ名“fuj”が付与されている)を介して仮想空間内を移動し、観光等を行うことができる。
図2Bは、教育に係る仮想現実の説明図であり、仮想空間を平面視で示す概念図である。この場合も、仮想空間内には、入場用チュートリアルのコンテンツを視聴する位置SP1と、ゲート付近の位置SP2とが設定される。図2Bでは、二人の別々のユーザに対応付けられた、ユーザアバタm1が示されている。
二人のユーザは、仮想現実で一緒に特定の教育を受けることを決定し、それぞれのユーザアバタm1を介して、仮想空間内に入る。そして、二人のユーザは、それぞれのユーザアバタm1を介して、位置SP1で入場用チュートリアルのコンテンツを視聴し(矢印R11参照)、位置SP2に至り(矢印R12参照)、その後、ゲートを通り(矢印R13参照)、第1位置SP11に至る。第1位置SP11では、特定の第1コンテンツが提供される。次に、二人のユーザは、それぞれのユーザアバタm1を介して、第2位置SP12に至り(矢印R14参照)、特定の第2コンテンツの提供を受け、ついで、第3位置SP13に至り(矢印R15参照)、特定の第3コンテンツの提供を受け、以下、同様である。特定の第2コンテンツは、特定の第1コンテンツの提供を受けた後に提供されると習得効果が高くなり、特定の第3コンテンツは、特定の第2コンテンツの提供を受けた後に提供されると習得効果が高くなり、以下同様である。
例えば、教育が、ある3Dモデリング用のソフトウェアに関する場合、第1コンテンツは、当該ソフトウェアのインストールリンク画像等を含み、第2コンテンツは、アドオンのインストールリンク動画等を含み、第3コンテンツは、初期設定用動画を含み、第4コンテンツは、基本操作用動画を含む、といった具合であってよい。また、複数のユーザが同一ルームに存在する場合、同一の動画コンテンツを同一タイミングで再生してもよい(再生タイムコードを双方のクライアント側に送信する)。また、同期再生せずに、個々のユーザで異なる動画シーク状態にすることもできる。各ユーザは端末に接続されたカメラをつかい、顔画像をリアルタイム送信することができる。また、自分のコンピュータのデスクトップを表示したり、別のアプリケーションの画面を相互に配信することもできる(アプリ学習を隣に並べて手伝ってもらうことができる)。
図2Bに示す例では、各ユーザ(例えば生徒)は、第1位置SP11から第8位置SP18まで順にユーザアバタm1を介して移動して、各種のコンテンツの提供を順に受けることで、高い習得効果が得られる態様で特定の教育を受けることができる。あるいは、各種のコンテンツは、クイズ等の課題であってもよく、この場合、図2Bに示す例では、双六や脱出ゲームのようなゲームを提供できる。
図2Cは、レッスンに係る仮想現実の説明図であり、仮想空間を平面視で示す概念図である。この場合も、仮想空間内には、入場用チュートリアルのコンテンツを視聴する位置SP1と、ゲート付近の位置SP2とが設定される。図2Cでは、二人の別々のユーザに対応付けられた、ユーザアバタm1が示されている。
二人のユーザは、仮想現実で一緒に特定のレッスンを受けることを決定し、それぞれのユーザアバタm1を介して、仮想空間内に入る。そして、二人のユーザは、それぞれのユーザアバタm1を介して、位置SP1で入場用チュートリアルのコンテンツを視聴し(矢印R21参照)、位置SP2に至り(矢印R22参照)、その後、ゲートを通り(矢印R23参照)、位置SP20に至る。位置SP20は、例えば円形の周壁W2で囲まれた領域のうちの、各ステージに対応する位置SP21、SP22、SP23等を除くフリースペース内の各位置に対応する。ユーザは、それぞれのユーザアバタm1を介して、第1ステージに対応する第1位置SP21に至ると(矢印R24参照)、第1位置SP21では、レッスン用の第1コンテンツの提供を受ける。また、同様に、ユーザは、それぞれのユーザアバタm1を介して、第2ステージに対応する第2位置SP22に至ると(矢印R25参照)、第2位置SP22では、レッスン用の第2コンテンツの提供を受け、第3ステージに対応する第3位置SP23に至ると(矢印R26参照)、第3位置SP23では、レッスン用の第3コンテンツの提供を受けることができる。
例えばレッスンがゴルフのレッスンである場合、レッスン用の第1コンテンツは、ユーザのスイングの改善点を解説するための映像であってよく、レッスン用の第2コンテンツは、プロゴルファーであるスタッフユーザによる見本スイングの実技であり、レッスン用の第3コンテンツは、ユーザのスイングの実技に対するプロゴルファーであるスタッフユーザによるアドバイスである。なお、スタッフユーザによる見本スイングの実技は、スタッフアバタm2により実現され、ユーザのスイングの実技は、ユーザアバタm1により実現される。例えば、スタッフユーザが実際にスイングの動きを行うと、その動きのデータ(例えばジェスチャ入力データ)に基づいて、その動きがスタッフアバタm2の動きにそのまま反映される。スタッフユーザによるアドバイスは、チャット等により実現されてよい。このようにして、各ユーザは、例えば自宅等で、友人とともに、仮想現実で一緒に各種のレッスンを先生(この場合、プロゴルファー)から、十分かつ必要な進度、深度で、受けることができる。
このようにして、本実施形態では、図2Aから図2Cで例示したように、仮想現実において、ユーザは、ユーザアバタm1を介して、各コンテンツ提供位置に至ると、各コンテンツ提供位置に対応付けられた各コンテンツの提供を、各ユーザの必要なタイミング及び視聴形態で受けることができる。
ところで、仮想現実においては、現実の場合とは異なり、仮想空間を比較的自由に設計でき、例えば、ユーザが、仮想現実において、各位置を順次移動しながら複数のコンテンツの提供を受けることができるような仮想空間を設計できる。このような、仮想空間は、現実の場合とは異なり、各位置間の移動距離を短くでき、ユーザアバタm1を介して効率良く各位置間を動くことができるので、ユーザにとって利便性が高い。例えば、現実では、各種の制約に起因して、大音量を発生するコンサート会場に隣接してテスト会場を配置すること等は難しいが、仮想現実においては可能である。
従って、各位置を順次移動しながら複数のコンテンツの提供を受けることができるような仮想空間では、比較的少ない制約の下で、複数のコンテンツによる学習効果を高めたり、ゲーム感覚で複数のコンテンツの提供を実現したり、多様な工夫を実現できる。
しかしながら、各位置を順次移動しながら複数のコンテンツの提供を受けることができるような仮想空間においては、複数のコンテンツを介したユーザの体験効果(例えば学習等)を高める観点から、複数のコンテンツの提供を受ける順序を適切に規制することが有用となる。例えば、教育プログラムでは、段階的なレベルアップのために、例えば応用学習用コンテンツを視聴できる一般ユーザは、基礎学習用コンテンツを視聴したユーザのみに限定するといった具合である。
他方、複数の位置間での移動を規制すると、ユーザにとって利便性が損なわれるおそれがある。例えば、一定の提供条件を満たさないがゆえに、あるコンテンツ提供位置に移動できないユーザが、当該移動が実現できない理由を理解できていない場合、諦めて仮想空間から退出してしまう可能性もある。他方、このようなユーザが多数生じないように、仮想空間内に、一定の提供条件の説明用のチュートリアルの視聴エリアや、各種の注意書き等の第2オブジェクトやリンクを貼り付けると、仮想空間内が煩雑となり、却って利便性が損なわれるおそれもある。
また、仮想空間で実現できることが多様化したり、仮想空間内の構造(複数のコンテンツの提供を受ける各位置のレイアウト等)が複雑化したりすると、仮想空間の魅力を高めることができる反面、ルールが複雑化しやすくなる。この場合、ユーザは、かかるルールに慣れるまで苦労したり、あるいは、うまくいかないことがあると、解決できずに嫌になってしまったりする可能性が高くなりやすい。
この点、ルール等に関するチュートリアルを仮想空間内に貼り付けることで、ある程度、ユーザによる仮想空間内での円滑な活動が可能となることが期待できるが、仮想空間で実現できること等の多様化に伴い、チュートリアルの数が増加すると、却って利便性を損なうおそれもある。
そこで、本実施形態では、仮想現実生成システム1は、複数のコンテンツを介したユーザの体験効果(例えば学習等)を高める観点から、複数のコンテンツの提供を受ける順序を適切に規制しつつ、アドバイス等を必要とする一般ユーザに対して、スタッフアバタm2を介して各種支援を行う支援機能を有する。以下、このスタッフアバタm2(スタッフユーザ)を介した支援機能(以下、「ユーザ支援機能」とも称する)の詳細について説明する。
以下では、ユーザ支援機能に関連したサーバ装置10が、情報処理システムの一例を実現するが、後述するように、特定の一の端末装置20の各要素(図1の端末通信部21~端末制御部25参照)が、情報処理システムの一例を実現してもよいし、複数の端末装置20が、協動して情報処理システムの一例を実現してもよい。また、サーバ装置10と1つ以上の端末装置20が、協動して情報処理システムの一例を実現してもよい。
(ユーザ支援機能の詳細)
図4は、ユーザ支援機能に関連したサーバ装置10の機能ブロック図の一例である。図5は、ユーザ支援機能に関連した端末装置20(譲受側の端末装置20)の機能ブロック図の一例である。図6は、ユーザデータベース140内のデータの説明図である。図7は、アバタデータベース142内のデータの説明図である。図8は、コンテンツ情報記憶部144内のデータの説明図である。図9は、空間状態記憶部146内のデータの説明図である。なお、図6から図9において、“***”は、何らかの情報が格納されている状態を表し、“-”は、情報が格納されていない状態を表し、“・・・”は同様の繰り返しを表す。
サーバ装置10は、図4に示すように、ユーザデータベース140と、アバタデータベース142と、コンテンツ情報記憶部144と、空間状態記憶部146と、空間描画処理部150と、ユーザアバタ処理部152と、スタッフアバタ処理部154と、位置/向き情報特定部156と、補助対象検出部157と、端末画像生成部158と、コンテンツ処理部159と、対話処理部160と、活動制限部162と、条件処理部164と、抽出処理部166と、役割割当部167と、空間情報生成部168と、パラメータ更新部170と、を含む。なお、以下で説明するサーバ装置10の機能の一部又は全部は、適宜、端末装置20により実現されてもよい。また、ユーザデータベース140から空間状態記憶部146の区分けや、空間描画処理部150からパラメータ更新部170の区分けは、説明の都合上であり、一部の機能部が、他の機能部の機能を実現してもよい。例えば、空間描画処理部150、ユーザアバタ処理部152、端末画像生成部158、位置/向き情報特定部156、コンテンツ処理部159、対話処理部160、及び空間情報生成部168の各機能は、端末装置20により実現されてもよい。また、例えば、ユーザデータベース140内のデータの一部又は全部は、アバタデータベース142内のデータに統合されてもよいし、別のデータベースに格納されてもよい。
なお、ユーザデータベース140から空間状態記憶部146は、図1に示したサーバ記憶部12により実現でき、空間描画処理部150からパラメータ更新部170は、図1に示したサーバ制御部13により実現できる。また、空間描画処理部150からパラメータ更新部170のうちの一部(端末装置20との通信を行う機能部)は、図1に示したサーバ制御部13とともにサーバ通信部11により実現できる。
ユーザデータベース140には、ユーザ情報が格納される。図6に示す例では、ユーザ情報は、一般ユーザに係るユーザ情報600と、スタッフユーザに係るスタッフ情報602とを含む。
ユーザ情報600は、各ユーザIDに、ユーザ名、認証情報、ユーザアバタID、位置/向き情報、購買アイテム情報等が対応付けられる。ユーザ名は、一般ユーザが自身で登録した名前であり、任意である。認証情報は、一般ユーザが正当な一般ユーザであることを示すための情報であり、例えばパスワードや、メールアドレス、生年月日、合言葉、生体情報等を含んでよい。ユーザアバタIDは、ユーザアバタを特定するためのIDである。位置/向き情報は、ユーザアバタm1の位置情報と向き情報とを含む。向き情報は、ユーザアバタm1の顔の向きを表す情報であってよい。なお、位置/向き情報等は、一般ユーザからの操作入力に応じて、動的に変化しうる情報である。位置/向き情報に加えて、ユーザアバタm1の手足等の動きを表す情報や、顔の表情(例えば、口の動き)、顔や頭部の向きや視線方向(例えば、眼球の向き)、レーザーポインターのような空間内の向きや座標を示すオブジェクト等を表す情報を含んでもよい。購買アイテム情報は、仮想空間内で販売される商品やサービスのうちの、一般ユーザが購買した商品やサービスを示す情報であってよい。
スタッフ情報602は、各スタッフIDに、スタッフ名、認証情報、スタッフアバタID、位置/向き情報、スタッフポイント等が対応付けられる。スタッフ名は、スタッフユーザが自身で登録した名前であり、任意である。認証情報は、スタッフユーザが正当なスタッフユーザであることを示すための情報であり、例えばパスワードや、メールアドレス、生年月日、合言葉、生体情報等を含んでよい。スタッフアバタIDは、スタッフアバタを特定するためのIDである。位置/向き情報は、スタッフアバタm2の位置情報と向き情報とを含む。向き情報は、スタッフアバタm2の顔の向きを表す情報であってよい。なお、位置/向き情報等は、スタッフユーザからの操作入力に応じて、動的に変化しうる情報である。位置/向き情報に加えて、スタッフアバタm2の手足等の動きを表す情報や、顔の表情(例えば、口の動き)、顔や頭部の向きや視線方向(例えば、眼球の向き)、レーザーポインターのような空間内の向きや座標を示すオブジェクト等を表す情報を含んでもよい。
スタッフポイントは、仮想現実におけるスタッフアバタの役割(スタッフとしての仕事)が果たされるごとに増加するパラメータであってよい。すなわち、スタッフポイントは、仮想現実におけるスタッフユーザの働き度合いを表すパラメータであってよい。例えば、一のスタッフユーザに係るスタッフポイントは、当該一のスタッフユーザが、対応するスタッフアバタm2を介して、仮想現実において一般ユーザを補助するごとに増加されてよい。あるいは、一のスタッフユーザに係るスタッフポイントは、当該一のスタッフユーザが、対応するスタッフアバタm2を介して、仮想現実において一般ユーザを補助可能な状態(すなわち稼働状態)となっている時間に応じて増加されてもよい。
スタッフ情報602は、好ましくは、スタッフユーザに付与される権限情報を更に含む。権限情報は、仮想空間内で活動するユーザアバタm1を支援するスタッフアバタm2に付与される役割に関連した権限を表す。権限は、複数種類あってよく、図6に示す例では、権限は、通常権限と、操作権限、統括権限の3種類である。なお、変形例では、権限は、1種類であってよく、この場合、権限情報は不要であってよい。
通常権限は、通常のスタッフユーザに付与される権限であり、例えば、仮想空間内で活動するユーザアバタm1を支援するための各種の動作を行うことができる権限であってよい。
操作権限は、例えば、通常のスタッフユーザよりも経験を積んだシニアスタッフユーザや、特定の教育プログラムを受けた専用のスタッフユーザ等に付与される権限であり、例えば、仮想空間内で提供されるコンテンツに関連した各種操作を行うことができる権限であってよい。例えば、仮想空間内で提供されるコンテンツにおいて、スクリプト等を利用して各種演出(例えば適切なタイミングでの所定の第2オブジェクトm3の出現や、音響的な演出等)を実現する場合、操作権限は、当該演出用の各種操作を行うことができる権限であってよい。あるいは、仮想空間内で商品やサービスの販売が実行される場合、操作権限は、商品やサービスの販売に係るレジ(第2オブジェクトm3)の各種操作を行うことができる権限であってよい。
統括権限は、例えば、シニアスタッフユーザよりも上級の統括スタッフユーザに付与される権限であり、例えば、上述した通常権限や操作権限が付与されたすべてのスタッフユーザの管理(例えば、権限の変更等)など、仮想空間内でのスタッフユーザを取りまとめる権限であってよい。統括権限を有するスタッフユーザは、例えば、いわゆるゲームマスターと呼ばれるユーザを含んでよい。なお、統括権限は、仮想空間における各種第2オブジェクトm3の配置権限や、提供するコンテンツの選択権限、一般ユーザからのクレーム対応が可能な権限等を含んでもよい。なお、統括権限を有するスタッフユーザは、他の権限(通常権限や操作権限)も併せて有してよい。
図6に示す例では、“○”が付されたスタッフユーザには、当該権限が付与されていることを示す。この場合、スタッフID“SU01”に係るスタッフユーザには、通常権限のみが付与されており、スタッフID“SU02”に係るスタッフユーザには、通常権限と操作権限が付与されている。
アバタデータベース142には、ユーザアバタm1及びスタッフアバタm2に関するアバタ情報が格納される。図7に示す例では、アバタ情報は、一般ユーザに係るユーザアバタ情報700と、スタッフユーザに係るスタッフアバタ情報702とを含む。
ユーザアバタ情報700は、各ユーザアバタIDに、顔、髪型、服装等が対応付けられる。顔、髪型、服装等の容姿に係る情報は、ユーザアバタを特徴付けるパラメータであり、一般ユーザにより設定される。例えば、アバタに係る顔、髪型、服装等の容姿に係る情報は、種類ごとにIDが付与されてもよい。また、顔については、顔の形、目、口、鼻等の各種類にそれぞれパーツIDが用意され、顔に係る情報は、当該顔を構成する各パーツのIDの組み合わせで管理されてもよい。この場合、顔、髪型、服装等の容姿に係る情報は、アバタ描画用情報として機能できる。すなわち、各ユーザアバタIDに紐付けられた容姿に係る各IDに基づいて、サーバ装置10のみならず端末装置20側においても各ユーザアバタm1を描画することが可能となる。
スタッフアバタ情報702は、各スタッフアバタIDに、顔、髪型、服装等が対応付けられる。顔、髪型、服装等の容姿に係る情報は、スタッフアバタを特徴付けるパラメータであり、スタッフユーザにより設定される。顔、髪型等の容姿に係る情報は、ユーザユーザアバタ情報700の場合と同様、各パーツのIDの組み合わせで管理されてよく、アバタ描画用情報として機能できる。なお、スタッフアバタm2は、ユーザアバタm1に対して区別しやすいような共通の特徴を有してもよい。例えば、各スタッフアバタm2は、共通の服装(制服)を身に着けることで、ユーザアバタm1に対して容易に区別可能とされてもよい。
このようにして本実施形態では、基本的には、一の一般ユーザに、一のユーザIDが対応付けられ、一のユーザIDに、ユーザアバタIDが対応付けられる。従って、一の一般ユーザに、ある情報が対応付けられる状態と、当該一のユーザIDに、当該情報が対応付けられる状態と、当該一のユーザIDに対応付けられたユーザアバタIDに、当該情報が対応付けられる状態とは、互いに同義である。これは、スタッフユーザに関しても同様である。従って、例えば、図6で示した例と異なり、ユーザアバタm1の位置/向き情報は、当該ユーザアバタm1に係るユーザアバタIDに対応付けて記憶されてもよいし、同様に、スタッフアバタm2の位置/向き情報は、当該スタッフアバタm2に係るスタッフアバタIDに対応付けて記憶されてもよい。以下では、説明上、一般ユーザと、当該一般ユーザに対応付けられるユーザアバタm1とは、互いに読み替え可能な関係であるとする。
コンテンツ情報記憶部144には、仮想空間内で提供可能な特定のコンテンツに関する各種の情報が記憶される。例えば、特定のコンテンツごとに、その提供位置であるコンテンツ提供位置や、内容等が記憶される。
図8に示す例では、各コンテンツIDに、コンテンツ提供位置(図8では、「提供位置」と表記)や、コンテンツ内容(図8では、「内容」と表記)等が対応付けられている。
コンテンツ提供位置は、仮想空間内の位置であって、コンテンツ処理部159を介して一般ユーザがコンテンツ提供を受けることができる位置を含む。すなわち、コンテンツ提供位置は、特定のコンテンツの提供を受けることができる位置を含む。コンテンツ提供位置は、一点の座標値で定義されてもよいが、典型的には、一纏めの領域又は空間部分を形成する複数の座標値で定義されてよい。また、コンテンツ提供位置は、平面上の位置であってもよいし、空間上の位置(すなわち高さ方向を含む3次元の座標系で表される位置)であってもよい。なお、一のコンテンツ提供位置に対応付けられる特定のコンテンツの単位を、1つの特定のコンテンツ(特定のコンテンツの一単位)とする。従って、例えば、ある一のコンテンツ提供位置で、2種類の動画の視聴が可能である場合でも、当該2種類の動画全体が1つの特定のコンテンツである。
コンテンツ提供位置は、典型的には、対応する特定のコンテンツの属性に応じて設定されてよい。例えば、図2Aに示す例では、コンテンツ提供位置は、各ゲートを通って入ることができる仮想空間内の位置である。図2Bに示す例では、コンテンツ提供位置は、各ゲートを通って入ることができる仮想空間内の第1位置SP11から第8位置SP18のそれぞれである。同様に、図2Cに示す例では、コンテンツ提供位置は、各ゲートを通って入ることができる仮想空間内の位置SP21、SP22、SP23のそれぞれである。コンテンツ提供位置は、特定のURL(Uniform Resource Locator)で規定されてもよい。この場合、一般ユーザ等は、当該特定のURLにアクセスすることで、ユーザアバタm1等をコンテンツ提供位置に移動させることができる。この場合、一般ユーザは、特定のURLにアクセスして、端末装置20のブラウザ上で特定のコンテンツの提供を受けることができる。
コンテンツ内容は、コンテンツ名や、概要、作成者等の情報を含んでよい。
コンテンツ情報記憶部144には、更に、各コンテンツ提供位置でそれぞれの特定のコンテンツの提供を受けるために満たされるべき条件(以下、「コンテンツ提供条件」とも称する)を表す情報が記憶されてよい。コンテンツ提供条件は、コンテンツIDごとに設定されてよい。コンテンツ提供条件は、図2B及び図2Cに示すように、一連のコンテンツ提供位置を介して、全体として意味を持つ複数の特定のコンテンツの提供が順次受けられるような仮想空間において、設定されるのが好適である。コンテンツ提供条件は、任意であり、提供される特定のコンテンツの特性等に応じて運営側により適宜設定されてよい。また、コンテンツ提供条件は、上述した統括権限を有するスタッフユーザにより設定/変更可能とされてもよい。
例えば、ある一のコンテンツ提供位置に係るコンテンツ提供条件は、他の特定の1つ以上のコンテンツ提供位置で特定のコンテンツの提供を受けていることを含んでよい。この場合、一連の特定のコンテンツの提供順序を規制(コントロール)できるので、一連の特定のコンテンツの提供を受けることによる一般ユーザの体験効果(例えば教育の習得効果)を効率的に高めることができる。また、ある一のコンテンツ提供位置に係るコンテンツ提供条件は、他の特定の1つ以上のコンテンツ提供位置で特定のコンテンツの提供を受けており、かつ、当該他の特定の1つ以上のコンテンツ提供位置で設定された課題をクリアしたことであってもよい。この場合、他の特定の1つ以上のコンテンツ提供位置で設定される課題は、当該他の特定の1つ以上のコンテンツ提供位置で提供される特定のコンテンツに関連する課題であってよい。例えば、学習用のコンテンツである場合、効果確認用の課題(例えば簡易なテストやクイズに対する正答率)が設定されてもよい。
コンテンツ提供条件は、2種類以上で設定されてもよく、例えば、図8に示す例では、コンテンツID“CT01”には、通常条件のみが設定されており、コンテンツID“CT02”には、通常条件と緩和条件とが設定されている。この場合、コンテンツID“CT02”に対応する特定のコンテンツに対しては、通常条件と緩和条件のうちのいずれかが選択的に適用される。緩和条件は、通常条件よりも満たされやすい条件である。例えば、通常条件では、課題が所定時間ΔT1以内にクリアされる必要があるのに対して、緩和条件では、課題が所定時間ΔT1よりも有意に長い所定時間ΔT2以内にクリアされればよい、といった具合である。あるいは、緩和条件では、クリアすべき課題の難易度が通常条件のときよりも低い、といった具合である。なお、2種類以上のコンテンツ提供条件が割り当てられるコンテンツIDは、上述した統括権限を有するスタッフユーザにより設定/変更可能とされてもよい。
以下、本実施形態では、一例として、一の仮想空間において、Nを3以上の整数としたとき、N個のコンテンツ提供位置(N個の特定のコンテンツ)が設定されているものとする。そして、N個のコンテンツ提供位置で提供可能なN個の特定のコンテンツは、1番目からN番目の順に提供可能なコンテンツであるとする。従って、一般ユーザは、N-1番目の特定のコンテンツについては、N-2番目までの特定のコンテンツの提供をすべて受けてからでないと、提供を受けることができないものとする。
空間状態記憶部146には、仮想空間における空間状態情報が格納される。空間状態情報は、仮想空間内のユーザアバタm1のそれぞれの活動に係る状態や、スタッフアバタm2のそれぞれの活動(役割に係る活動)に係る状態等を表す。
仮想空間における空間状態情報は、コンテンツ提供位置に係る空間部分内の状態に関する空間状態情報を含み、更に、所定支援位置に係る空間部分内の状態に関する空間状態情報を含んでもよい。
コンテンツ提供位置は、上述したとおりである。所定支援位置は、仮想空間におけるコンテンツ提供位置以外の位置であって、スタッフユーザによる一般ユーザの補助が必要となりやすい位置である。例えば、所定支援位置は、コンテンツ提供位置に係る入口付近等を含んでよい。例えば、図2Aから図2Cに示す例では、所定支援位置は、位置SP1、SP2や、位置SP20(図2C参照)等である。
以下、特に言及しない限り、空間状態情報とは、コンテンツ提供位置に係る空間部分内の状態に関する空間状態情報を意味する。また、以下では、仮想空間における各コンテンツ提供位置に係る空間部分を、各部屋として定義されており、一般ユーザに向けてURLで記述可能とする。同一ルームにアクセスするユーザを同じルームに紐づけられたセッションとして管理する。ルームに係る空間部分にアバタが入ることを入室と表現する場合がある。なお、一のルームに同時にアクセスできるユーザ数には処理能力の観点から限界があるが、同一の設計を持ったルームを複製し、負荷を分散させる処理があってもよい。なお、各部屋がつながった全体は、ワールドとも称される。
図9に示す例では、空間状態情報は、コンテンツ提供位置(部屋)ごとと、仮想空間全体(ワールド)とで管理されている。具体的には、空間状態情報は、一般ユーザに係るユーザ状態情報900と、スタッフユーザに係るスタッフ状態情報902と、仮想空間に係る仮想空間情報904とを含む。ユーザ状態情報900及びスタッフ状態情報902については、ある一のコンテンツ提供位置に係る空間状態情報が示されているが、所定支援位置に係る空間状態情報についても、特に言及しない限り、同様であってよい。
ユーザ状態情報900は、コンテンツ提供位置(部屋)ごとに設定され、図9に示すユーザ状態情報900は、一のコンテンツ提供位置に関する。例えば、図2Bに示す例では、スタッフ状態情報902は、第1位置SP11から第8位置SP18のそれぞれごとに設定される。同様に、図2Cに示す例では、位置SP21、SP22、SP23のそれぞれごとに設定される。
ユーザ状態情報900は、入室ユーザに、ユーザ名、位置/向き情報、部屋滞在時間、コンテンツ提供条件の緩和の有無、次室移動条件の成否情報等が対応付けられる。入室ユーザは、コンテンツ提供位置に位置しているユーザアバタm1に係る一般ユーザであり、入室ユーザの情報は、当該一般ユーザを特定できる任意の情報(ユーザIDや、ユーザアバタID等)であってよい。ユーザ名は、上述したユーザ情報に基づくユーザ名である。なお、ユーザ名は、入室ユーザに紐付けられる情報であるので、ユーザ状態情報900からは省略されてもよい。位置/向き情報は、ユーザアバタm1の位置/向き情報である。なお、入室ユーザは、コンテンツ提供位置に位置しているユーザアバタm1に係る一般ユーザであることから、ユーザアバタm1の位置情報は、コンテンツ提供位置(複数の座標値で定義される場合、その複数の座標値のうちの1つ)に対応する。換言すると、一のユーザアバタm1の位置情報がコンテンツ提供位置に対応しない場合は、当該一のユーザアバタm1に係る一般ユーザは、入室ユーザから除外される。ユーザアバタm1の位置情報は、特に、一のコンテンツ提供位置が複数の座標値で定義される場合(すなわち比較的広い領域又は空間部分全体がコンテンツ提供位置である場合)に有用となる。この場合、位置情報は、比較的広い空間部分のどこに位置するかを表すことができる。
部屋滞在時間は、コンテンツ提供位置に位置している滞在時間に対応する。部屋滞在時間は、次室移動条件の判定等に利用されてもよい。
コンテンツ提供条件の緩和の有無は、図8を参照して上述したコンテンツ情報記憶部144内のコンテンツ提供条件の、通常条件と緩和条件のうちの、いずれが適用されているかを示す情報である。通常条件と緩和条件のうちの、いずれが適用されるかは、所定のルールに従って自動的に設定されてもよいし、後述する条件処理部164により緩和される場合があってもよい。例えば、一の一般ユーザの年齢が比較的低い場合(例えば小学生等である場合)や、一の一般ユーザの部屋滞在時間が比較的長い場合、当該一の一般ユーザに対しては緩和条件が初期的に自動的に設定されてもよい。また、特定の一般ユーザに対しては、緩和条件として、部屋滞在時間に関する条件が外されてもよい。例えば、一般ユーザごとに設定されうるイベントタイマーが、特定の一般ユーザに対しては設定されない又は無視されてもよい。
次室移動条件の成否情報は、入室ユーザが、次のコンテンツ提供位置へと移動する際に満たされるべき条件(次室移動条件)を満たしているかどうかを表す。次室移動条件は、上述したコンテンツ提供条件に基づいて任意に設定されてよい。本実施形態では、次室移動条件は、次室に係るコンテンツ提供位置に設定されるコンテンツ提供条件と同じである。従って、一の一般ユーザ(入室ユーザ)については、次室に係るコンテンツ提供位置に設定されるコンテンツ提供条件が満たされると、次室移動条件が満たされることになる。なお、所定支援位置に関する次室移動条件の成否情報についても、次のコンテンツ提供位置(例えば1つ目のコンテンツ提供位置)へと移動する際に満たされるべき条件(次室移動条件)を満たしているか否かを表してよい。
なお、次室移動条件は、一般ユーザ(ユーザアバタm1)に対して適用され、スタッフユーザ(スタッフアバタm2)に対しては適用されない。従って、スタッフアバタm2は、原則的に、自由に各部屋を移動できる。
スタッフ状態情報902は、仮想空間ごとに設定されてもよいし、一纏まりのコンテンツ提供位置に係る各部屋全体(以下、「コンテンツ提供用の仮想空間部」とも称する)ごとに設定されてもよい。例えば、図2Bに示す例では、スタッフ状態情報902は、第1位置SP11から第8位置SP18のそれぞれに係る各空間部分全体(コンテンツ提供用の仮想空間部)に関する。同様に、図2Cに示す例では、スタッフ状態情報902は、位置SP21、SP22、SP23のそれぞれに係る各空間部分全体(コンテンツ提供用の仮想空間部)に関する。
スタッフ状態情報902は、稼働スタッフに、スタッフ名や位置/向き情報が対応付けられる。稼働スタッフは、コンテンツ提供位置に位置しているスタッフアバタm2に係るスタッフユーザであり、稼働スタッフの情報は、当該スタッフユーザを特定できる任意の情報(スタッフIDや、スタッフアバタID等)であってよい。
仮想空間情報904は、スタッフ状態情報902と同様、仮想空間ごとに設定されてもよいし、コンテンツ提供用の仮想空間部ごとに設定されてもよい。具体的には、複数の独立したコンテンツ提供用の仮想空間部が用意される場合は、仮想空間情報904は、かかる独立したコンテンツ提供用の仮想空間部ごとに設定されてもよい。また、仮想現実生成システム1が図2Bに示す仮想空間と図2Cに示す仮想空間を同時に扱う場合、図2Bに示す仮想空間用の仮想空間情報904と、図2Cに示す仮想空間用の仮想空間情報904とが、それぞれ設定されてもよい。
仮想空間情報904は、空間内ユーザに、ユーザ名、位置情報、空間滞在時間、過去の利用履歴等が対応付けられる。なお、ユーザ名は、上述したとおりであり、省略されてもよい。
空間内ユーザは、コンテンツ提供用の仮想空間部内の各コンテンツ提供位置のうちのいずれかに位置しているユーザアバタm1に係る一般ユーザであり、ユーザ状態情報900の入室ユーザの情報に基づいて生成されてよい。
位置情報は、コンテンツ提供用の仮想空間部内のどのコンテンツ提供位置(部屋)に位置するかを示す情報であり、ユーザ状態情報900の位置/向き情報よりも粗い情報であってもよい。
空間滞在時間は、コンテンツ提供用の仮想空間部内に位置している間に積算される時間であり、ユーザ状態情報900の部屋滞在時間に基づいて生成されてもよい。空間滞在時間は、ユーザ状態情報900の部屋滞在時間と同様、次室移動条件の判定等に利用されてもよい。また、空間滞在時間は、ユーザ状態情報900の部屋滞在時間と同様、仮想空間内での活動結果を表す修了証等の作成に利用されてもよい。
過去の利用履歴は、コンテンツ提供用の仮想空間部に関する過去の利用履歴である。過去の利用履歴は、日時や、コンテンツ提供用の仮想空間部内のどのコンテンツ提供位置まで進んだかといった進捗状態を示す情報を含んでよい。過去の利用履歴は、後述するように、一般ユーザに、スタッフユーザに係る役割を付与する際に、利用されてもよい。あるいは、過去の利用履歴は、中断後等に再入場しうる一般ユーザに対して前回の途中からの続きから開始できるようにするために、利用されてもよい。
空間描画処理部150は、仮想空間の描画情報に基づいて、仮想空間を描画する。なお、仮想空間の描画情報は、あらかじめ生成されるが、事後的又は動的に更新等されてもよい。仮想空間内の各位置は、空間座標系で規定されてよい。なお、仮想空間の描画方法は、任意であるが、例えばフィールドオブジェクトや背景オブジェクトを、適切な平面や曲面等にマッピングすることにより実現されてもよい。
ユーザアバタ処理部152は、ユーザアバタm1に係る各種処理を実行する。ユーザアバタ処理部152は、操作入力取得部1521と、ユーザ動作処理部1522とを含む。
操作入力取得部1521は、一般ユーザによる操作入力情報を取得する。なお、一般ユーザによる操作入力情報は、上述した端末装置20の入力部24を介して生成される。
ユーザ動作処理部1522は、操作入力取得部1521により取得された操作入力情報に基づいて、仮想空間におけるユーザアバタm1の位置及び向きを決定する。ユーザ動作処理部1522により決定された位置及び向きを表すユーザアバタm1の位置/向き情報は、例えばユーザIDに対応付けて記憶されてよい(図6のユーザ情報600参照)。また、ユーザ動作処理部1522は、操作入力情報に基づいて、ユーザアバタm1の手や顔などの各種の動きを決定してもよい。この場合、かかる動きの情報も、ユーザアバタm1の位置/向き情報とともに記憶されてよい。
本実施形態では、ユーザ動作処理部1522は、仮想空間内においてユーザアバタm1のそれぞれを、後述する活動制限部162による制限下で移動させる。すなわち、ユーザ動作処理部1522は、後述する活動制限部162による制限下で、ユーザアバタm1の位置を決定する。従って、例えば、活動制限部162により一のユーザアバタm1の一のコンテンツ提供位置への移動が制限されている場合、ユーザ動作処理部1522は、当該一のユーザアバタm1の、一のコンテンツ提供位置への移動が実現されない態様で、当該一のユーザアバタm1の位置を決定する。
また、ユーザ動作処理部1522は、仮想空間内においてユーザアバタm1のそれぞれを、現実空間における物理法則に対応する所定法則に従って、移動させる。例えば、現実空間における壁に対応する第2オブジェクトm3があるとき、ユーザアバタm1は、壁を通過できなくてもよい。また、ユーザアバタm1は、重力に対応する引力をフィールドオブジェクトから受け、特別な器具(例えば揚力を発生する器具)を装着しない限り、空中に長時間浮遊できなくてもよい。
ここで、上述したように、ユーザ動作処理部1522の機能は、サーバ装置10に代えて、端末装置20によって実現することも可能である。例えば、仮想空間内の移動は加速度と衝突等が表現される態様で実現されてもよい。この場合、各ユーザは、位置をポイント(指示)することで、ユーザアバタm1をジャンプさせて移動させることもできるが、壁面や移動に関する制限に関する判定は、端末制御部25(ユーザ動作処理部1522)により実現されてよい。この場合、端末制御部25(ユーザ動作処理部1522)は、事前に提供された制限情報に基づいて判定処理を行う。なお、この場合、位置情報はWebSocket等に基づくリアルタイム通信でサーバ装置10を経由して必要な他ユーザに共有されてよい。
スタッフアバタ処理部154は、スタッフアバタm2に係る各種処理を実行する。スタッフアバタ処理部154は、操作入力取得部1541と、スタッフ動作処理部1542と、補助情報提供部1544(情報提供部の一例)と、を含む。
操作入力取得部1541は、スタッフユーザによる操作入力情報を取得する。なお、スタッフユーザによる操作入力情報は、上述した端末装置20の入力部24を介して生成される。
スタッフ動作処理部1542は、操作入力取得部1541により取得された操作入力情報に基づいて、仮想空間におけるスタッフアバタm2の位置及び向きを決定する。スタッフ動作処理部1542により決定された位置及び向きを表すスタッフアバタm2の位置/向き情報は、例えばスタッフIDに対応付けて記憶されてよい(図6のスタッフ情報602参照)。また、スタッフ動作処理部1542は、操作入力情報に基づいて、スタッフアバタm2の手や顔などの各種の動きを決定してもよい。この場合、かかる動きの情報も、スタッフアバタm2の位置/向き情報とともに記憶されてよい。
本実施形態では、スタッフ動作処理部1542は、上述したユーザ動作処理部1522とは異なり、仮想空間内においてスタッフアバタm2のそれぞれを、現実空間における物理法則に対応する所定法則に従うことなく、移動させる。例えば、現実空間における壁に対応する第2オブジェクトm3があるときでも、スタッフアバタm2は、壁を通過できてもよい。また、スタッフアバタm2は、特別な器具(例えば揚力を発生する器具)を装着しなくても、空中に長時間浮遊できてもよい。あるいは、スタッフアバタm2は、いわゆる瞬間移動(ワープ)や、巨大化等が可能であってもよい。
また、スタッフアバタm2は、ユーザアバタm1ではできない動き等を実現できてもよい。例えば、スタッフアバタm2は、ユーザアバタm1とは異なり、非常に重たい重量物(例えば銅像や建物)に対応する第2オブジェクトm3を移動できてもよい。あるいは、スタッフアバタm2は、ユーザアバタm1とは異なり、所定のアイテムを譲渡/変換することが可能であってもよい。あるいは、スタッフアバタm2は、ユーザアバタm1とは異なり、打ち合わせ等を行うための仮想空間内の特別な空間部分(例えばスタッフルームに対応する空間部分)に移動できてもよい。あるいは、スタッフアバタm2は、ユーザアバタm1とは異なり、特別なアイテム(例えば制服や腕章)を装着できてもよい。
また、スタッフ動作処理部1542は、スタッフユーザに付与される権限情報に基づいて、スタッフアバタm2の移動(動き)の自由度を可変してもよい。例えば、スタッフ動作処理部1542は、統括権限を有するスタッフユーザに係るスタッフアバタm2に対して、最も高い自由度を付与し、操作権限を有するスタッフユーザに係るスタッフアバタm2に対して、次に高い自由度を付与してもよい。
補助情報提供部1544は、スタッフユーザによる所定入力に応答して、一般ユーザに所定情報を提供する。所定情報は、一般ユーザにとって有用となりうる任意の情報であってよく、例えば、次室移動条件を満たすためのアドバイス/チップ(Tips)や、一般ユーザの不満や不安等を解消するための情報等を含んでよい。所定情報が多様である場合、スタッフユーザからの所定入力は、提供する所定情報の種類を特定する入力を含んでよい。所定情報は、例えば、一般ユーザの端末装置20を介して任意の態様で出力されてもよい。例えば、所定情報は、端末装置20を介して音声や映像等により出力されてもよい。なお、所定情報の提供が、一般ユーザとスタッフユーザとの間の対話により実現される場合は、所定情報の提供は、後述する第2対話処理部1602により実現される。
本実施形態では、所定情報は、一般ユーザに対して各種補助を実現できるような補助情報である。そして、補助情報提供部1544は、一般ユーザのそれぞれに対応付けられたユーザ状態情報900(図9参照)に基づいて、スタッフアバタm2を介して、一般ユーザのうちの一部又はそれぞれに補助情報を提供する。
このように本実施形態では、スタッフユーザは、各種の所定入力を行うことで、補助情報提供部1544によりスタッフアバタm2を介して、一般ユーザに各種の補助情報を提供できる。
例えば、スタッフユーザは、次室移動条件を満たしていない一般ユーザに対して、次室移動条件を満たすためのアドバイス/チップを含む補助情報を提供する。例えば、スタッフユーザは、次のコンテンツ提供位置への入口を通れないユーザアバタm1に係る一般ユーザに対して、次室移動条件を説明してもよいし、次室移動条件を満たすようにアドバイスしてもよい。あるいは、課題をクリアしないと次のコンテンツ提供位置への入口を通れない場合は、スタッフユーザは、課題をクリアするためのヒント等を提供してもよい。
また、補助情報は、スタッフユーザの動きに基づく実技や見本等であってもよい。例えば、特定のコンテンツに係る課題が、特定の身体の動きを伴う場合、スタッフユーザは、当該特定の身体の動きを実技等で、スタッフアバタm2を介して、一般ユーザに示してもよい。あるいは、図2Cに示す例(後述する図19に示す例も同様)のように、所定の順序で特定のコンテンツの提供を受けることが有用な場合は、スタッフユーザは、当該所定の順序で進むようにアドバイスしてもよい。
本実施形態では、補助情報提供部1544は、スタッフユーザに付与される権限情報に基づいて、スタッフユーザによる補助情報を提供する能力を可変してもよい。例えば、補助情報提供部1544は、統括権限を有するスタッフユーザに対しては、すべての一般ユーザに対して補助情報を提供できる権限を付与し、操作権限を有するスタッフユーザに対しては、特定の空間部分に位置するユーザアバタm1の一般ユーザに対してだけ補助情報を提供できる権限を付与してもよい。また、補助情報提供部1544は、通常権限を有するスタッフユーザに対して、あらかじめ用意された定型的な補助情報のみを提供できる権限を付与してもよいし、統括権限や操作権限を有するスタッフユーザに係るスタッフアバタm2から補助情報が得られるように、ユーザアバタm1を所定の案内位置等へとナビゲートする補助情報のみを提供できる権限を付与してもよい。
位置/向き情報特定部156は、ユーザアバタm1の位置情報とスタッフアバタm2の位置情報とを特定する。なお、位置/向き情報特定部156は、上述したユーザ動作処理部1522及びスタッフ動作処理部1542からの情報に基づいて、ユーザアバタm1及びスタッフアバタm2のそれぞれの位置情報を特定してよい。
補助対象検出部157は、仮想空間内で活動しているユーザアバタm1のうちから、補助情報を必要としている可能性が高い一般ユーザに係るユーザアバタm1(以下、「補助対象のユーザアバタm1」とも称する)を検出する。本実施形態では、補助対象検出部157は、空間状態記憶部146内のデータに基づいて、補助対象のユーザアバタm1を検出してもよい。例えば、補助対象検出部157は、部屋滞在時間が比較的長いユーザアバタm1や、動きが少ないユーザアバタm1、迷いを示唆する動きをしているユーザアバタm1等に基づいて、補助対象のユーザアバタm1を検出してもよい。また、補助情報の必要なときに、例えば手をあげるといったユーザアバタm1からの合図があるときは、補助対象検出部157は、かかる合図に基づいて、補助対象のユーザアバタm1を検出してもよい。
なお、補助対象のユーザアバタm1は、人工知能を利用して、空間状態記憶部146内のデータを入力して出力(検出)することも可能である。人工知能の場合は、機械学習により得られる畳み込みニューラルネットワークを実装することで実現できる。機械学習では、例えば、空間状態記憶部146内のデータ(実績データ)を用いて、補助対象のユーザアバタm1の検出結果に係る誤差(すなわち、実際には補助情報を必要としていないユーザアバタm1が、補助対象のユーザアバタm1として検出されてしまう誤差)が最小になるような畳み込みニューラルネットワークの重み等が学習される。
補助対象検出部157は、補助対象のユーザアバタm1を検出すると、当該補助対象のユーザアバタm1が、所定の描画態様で描画されるように、端末画像生成部158(後述)に指示を出力してよい。
本実施形態では、補助対象検出部157は、補助対象のユーザアバタm1を検出した場合に、補助情報の提供の必要性(緊急性)や、必要とする補助情報の属性等の付加情報を生成してもよい。例えば、付加情報は、後述する第2対話処理部1602による対話を介した補助情報が必要であるか、あるいは、一方通行の補助情報の提供で足りるかを示す情報を含んでもよい。
また、補助対象検出部157は、一般ユーザからの直接的な補助要求(後述する補助要求部250からの補助要求)に応じて、補助要求を生成したユーザアバタm1を、補助対象のユーザアバタm1として検出してもよい。
端末画像生成部158は、仮想空間内で移動可能な各仮想現実媒体(例えばユーザアバタm1やスタッフアバタm2)を描画する。具体的には、端末画像生成部158は、アバタ描画用情報(図7参照)と、各ユーザアバタm1の位置/向き情報やスタッフアバタm2の位置/向き情報等とに基づいて、各ユーザに係る端末装置20で表示される画像を生成する。
例えば、端末画像生成部158は、ユーザアバタm1ごとに、一のユーザアバタm1の位置/向き情報に基づいて、当該一のユーザアバタm1に対応付けられた一般ユーザに係る端末装置20で表示される画像(以下、後述のスタッフユーザ用の端末用画像と区別する場合、「一般ユーザ用の端末用画像」とも称する)を生成する。具体的には、端末画像生成部158は、一のユーザアバタm1の位置/向き情報に基づいて、当該位置/向き情報に対応した位置及び向きの仮想カメラから視た仮想空間の画像(仮想空間の一部を切り取る画像)を端末用画像として生成する。この場合、位置/向き情報に対応した位置及び向きに仮想カメラの位置及び向きを一致させると、仮想カメラの視野は、ユーザアバタm1の視野に実質的に一致する。ただし、この場合、仮想カメラからの視野には、当該ユーザアバタm1は映らない。従って、ユーザアバタm1が映る端末用画像を生成する場合は、仮想カメラの位置は、ユーザアバタm1の背後側に設定されてよい。あるいは、仮想カメラの位置は、対応する一般ユーザにより任意に調整可能であってもよい。なお、かかる端末用画像を生成する際、端末画像生成部158は、奥行き感等を出すために、各種の処理(例えばフィールドオブジェクトを曲げる処理等)を実行してもよい。また、ユーザアバタm1が映る端末用画像を生成する場合は、描画処理の負荷を低減するために、ユーザアバタm1は、比較的簡易な態様(例えば二次元スプライトの形態)で描画されてもよい。
また、同様に、端末画像生成部158は、スタッフアバタm2ごとに、一のスタッフアバタm2の位置/向き情報に基づいて、当該一のスタッフアバタm2に対応付けられたスタッフユーザに係る端末装置20で表示される画像(以下、上述した一般ユーザ用の端末用画像と区別する場合、「スタッフユーザ用の端末用画像」とも称する)を生成する。
端末画像生成部158は、仮想カメラからの視野内の他のユーザアバタm1やスタッフアバタm2が位置する場合は、当該他のユーザアバタm1やスタッフアバタm2を含む端末用画像を生成する。ただし、この場合、描画処理の負荷を低減するために、他のユーザアバタm1やスタッフアバタm2は、比較的簡易な態様(例えば二次元スプライトの形態)で描画されてもよい。
また、端末画像生成部158は、発話者の口の動きを再現したり、発話者の頭部等の大きさを強調表現することで、発話状態をわかりやすくする処理を実現してもよい。このような処理は、後述する対話処理部160と協動して実現されてもよい。
ここで、上述したように、端末画像生成部158の機能は、サーバ装置10に代えて、端末装置20によって実現することも可能である。この場合、例えば、端末画像生成部158は、サーバ装置10のスタッフアバタ処理部154により生成された位置/向き情報と、描画対象のアバタを特定できる情報(例えばユーザアバタIDやスタッフアバタID)と、当該描画対象のアバタに係るアバタ描画用情報(図7参照)とをサーバ装置10から受信し、受信した情報に基づいて、各アバタの画像を描画する。この場合、端末装置20は、アバタの各パーツを描画するためのパーツ情報を端末記憶部22内に格納しており、当該パーツ情報と、サーバ装置10から取得する描画対象のアバタ描画用情報(各パーツのID)とに基づいて、各アバタの容姿を描画してもよい。
端末画像生成部158は、好ましくは、一般ユーザ用の端末用画像と、スタッフユーザ用の端末用画像とを、異なる態様で描画する。この場合、ユーザアバタm1の位置/向き情報と、スタッフアバタm2の位置/向き情報とが完全に一致する場合でも、一般ユーザ用の端末用画像と、スタッフユーザ用の端末用画像とが、異なる態様で描画される。例えば、端末画像生成部158は、スタッフユーザ用の端末用画像に、スタッフユーザの役割に有用な情報であって、通常は見えない情報(例えば次室移動条件の成否情報)を重畳させてもよい。また、端末画像生成部158は、スタッフユーザ用の端末用画像において、次室移動条件の成否情報(図9参照)に基づいて、次室移動条件を満たしているユーザアバタm1と、そうでないユーザアバタm1とを異なる態様で描画してもよい。この場合、スタッフユーザは、次室に移動可能なユーザアバタm1と、そうでないユーザアバタm1とを容易に見分けることができる。この結果、スタッフユーザは、次室に移動可能でないユーザアバタm1に係る一般ユーザに対して、効率的に補助情報を提供できる。
また、端末画像生成部158は、スタッフユーザ用の端末用画像を生成する際、スタッフユーザに付与される権限情報に基づいて、通常は見えない情報の開示範囲を可変してもよい。例えば、端末画像生成部158は、統括権限を有するスタッフユーザに係るスタッフアバタm2に対して、最も広い開示範囲を付与し、操作権限を有するスタッフユーザに係るスタッフアバタm2に対して、次に広い開示範囲を付与してもよい。
本実施形態では、端末画像生成部158は、上述したように補助対象検出部157により補助対象のユーザアバタm1が検出された場合に、スタッフユーザ用の端末用画像において、当該補助対象のユーザアバタm1を所定の描画態様で描画する。
所定の描画態様は、スタッフユーザが容易に認識できるように強調表示(例えば点滅や赤色等で表示)を含んでよい。この場合、スタッフユーザは、補助対象のユーザアバタm1を容易に見つけることができる。
あるいは、所定の描画態様は、重畳表示されるサブ画像(図15のサブ画像G156参照)の出現を伴ってもよい。この場合、端末画像生成部158は、特定のスタッフユーザ用の端末用画像において、補助対象のユーザアバタm1を写すサブ画像を重畳表示する。この場合、特定のスタッフユーザは、補助対象のユーザアバタm1に近いスタッフアバタm2に係るスタッフユーザであってもよいし、補助対象のユーザアバタm1に補助情報を提供できる権限を有するスタッフユーザであってもよい。なお、補助対象検出部157により複数の補助対象のユーザアバタm1が検出された場合、サブ画像は、複数生成されてもよい。また、サブ画像は、枠等が点滅する態様で表示されてもよい。
また、所定の描画態様は、必要とする補助情報の属性に応じて異なってもよい。例えば、「特定のコンテンツの提供を受け終えていない」ことに起因して補助情報を必要としている補助対象のユーザアバタm1と、「特定のコンテンツの提供を受け終えているが、課題を提出できていない」ことに起因して補助情報を必要としている補助対象のユーザアバタm1とは、異なる所定の描画態様で描画されてもよい。この場合、所定の描画態様と、必要とする補助情報との関係をルール化することで、スタッフユーザは、補助対象のユーザアバタm1の描画態様を見ることで、当該補助対象のユーザアバタm1にとってどのような補助情報が有用であるかを容易に認識できる。
また、端末画像生成部158は、補助対象検出部157により上述した付加情報が生成される場合、当該付加情報に応じて、補助対象のユーザアバタm1に補助情報を提供すべきスタッフユーザ(例えば上述した特定のスタッフユーザ)を決定してもよい。例えば、付加情報が示す属性(必要とする補助情報の属性)が、クレーム対応による対話である場合、端末画像生成部158は、統括権限を有するスタッフユーザを、補助すべきスタッフユーザとして決定してもよい。この場合、端末画像生成部158は、統括権限を有するスタッフユーザ用の端末用画像において当該補助対象のユーザアバタm1を写すサブ画像を、重畳表示してもよい。
コンテンツ処理部159は、コンテンツ提供位置ごとに一般ユーザに特定のコンテンツを提供する。コンテンツ処理部159は、例えばブラウザを介して端末装置20上で特定のコンテンツを出力してもよい。あるいは、コンテンツ処理部159は、端末装置20に実装される仮想現実アプリケーションを介して、端末装置20上で特定のコンテンツを出力してもよい。
なお、本実施形態では、上述したように、基本的には、コンテンツ処理部159により提供される特定のコンテンツは、コンテンツ提供位置ごとに異なる。例えば、一のコンテンツ提供位置(第1位置の一例)で提供される特定のコンテンツ(第1コンテンツの一例)は、他の一のコンテンツ提供位置(第2位置の一例)で提供される特定のコンテンツ(第2コンテンツの一例)とは異なる。ただし、同じ特定のコンテンツが、複数のコンテンツ提供位置で提供可能とされてもよい。
対話処理部160は、第1対話処理部1601と、第2対話処理部1602(情報提供部の一例)とを含む。
第1対話処理部1601は、複数の一般ユーザからの入力に基づいて、ネットワーク3を介した一般ユーザ間の対話を可能とする。対話は、対応するユーザアバタm1を介して、テキスト及び/又は音声によるチャット形式で実現されてもよい。これにより、一般ユーザ同士で対話が可能となる。なお、テキストは、端末装置20の表示部23に出力される。例えば、テキストは、仮想空間に係る画像とは別に出力されてもよいし、仮想空間に係る画像に重畳して出力されてもよい。端末装置20の表示部23に出力されるテキストによる対話は、不特定多数のユーザに公開される形式で実現されてもよいし、特定の一般ユーザ間のみで公開される形式で実現されてもよい。これは、音声によるチャットも同様である。
本実施形態では、第1対話処理部1601は、ユーザアバタm1のそれぞれの位置に基づいて、対話が可能な複数の一般ユーザを決定してもよい。例えば、第1対話処理部1601は、一のユーザアバタm1と他の一のユーザアバタm1との間の距離が所定距離d1以下である場合に、当該一のユーザアバタm1と当該他の一のユーザアバタm1のそれぞれに係る一般ユーザ間の対話を可能としてもよい。所定距離d1は、仮想空間や各部屋の広さ等に応じて適宜設定されてよく、固定であってもよいし、可変とされてもよい。また、端末用画像には、所定距離d1に対応する範囲が色付け等により表現されてもよい。例えば赤エリアには、声が届くが、青エリアには、声が届かないといった態様である。
また、本実施形態では、第1対話処理部1601は、所定関係を有さない一般ユーザ間での対話を、所定関係を有する一般ユーザ間での対話をよりも、制限してもよい。対話の制限は、対話できる時間や頻度等の制限により実現されてもよい。また、対話の制限は、対話の禁止を含む概念である。
所定関係は、任意であるが、グループを形成する関係であってもよいし、親子や近親者である関係、年齢が近い関係等であってもよい。あるいは、所定関係は、所定のアイテム(例えば鍵など)を有している関係であってもよい。また、次の部屋の方向を示す矢印のようなオブジェクトを効果音やサインボードとともに表示してもよい。また、強制的に逆走(例えば、前の部屋に戻る移動)ができないような制限領域を増やしたり、移動不可能なエリアの地面を崩壊させたり、暗転させるといった効果を加えてもよい。
本実施形態では、所定関係は、空間状態記憶部146内のデータ(状態情報の一例)に基づいて判定されてもよい。この場合、所定関係は、同様のユーザ状態情報を有する関係であってもよい。例えば、第1対話処理部1601は、同じコンテンツ提供位置に係る空間部分(部屋)に位置するユーザアバタm1のそれぞれに係る一般ユーザ間の対話を可能としてもよい。これにより、例えばグループで仮想空間内に訪問した複数の一般ユーザの場合、だれかが次の部屋に移動すると、グループ内での対話が不能になるので、かかる変化を楽しむこともできる。あるいは、次の部屋に移動した友人に追いつこうとする動機づけを与えることができる。また、これにより、自然な誘導でユーザの行動を制御できるため、ユーザの誘導を行うスタッフユーザの数を節減できる効果がある。また、残っているユーザが自分だけであることを示すために、各部屋の存在人数を画面に表示したり「みなさん次の部屋で待ってますよ」といったメッセージを表示してもよい。
第2対話処理部1602は、一般ユーザからの入力と、スタッフユーザからの入力に基づいて、ネットワーク3を介した一般ユーザとスタッフユーザとの間の対話を可能とする。対話は、対応するユーザアバタm1とスタッフアバタm2とを介して、テキスト及び/又は音声によるチャット形式で実現されてもよい。
また、第2対話処理部1602は、上述したように、スタッフアバタ処理部154の補助情報提供部1544と協動して、又は、補助情報提供部1544に代えて、機能してもよい。これにより、一般ユーザは、スタッフユーザからリアルタイムで補助(アシスタント)を受けることができる。
また、第2対話処理部1602は、複数のスタッフユーザからの入力に基づいて、ネットワーク3を介したスタッフユーザ間の対話を可能としてもよい。スタッフユーザ間の対話は、非公開形式であってよく、例えばスタッフユーザ間のみで開示されてもよい。あるいは、第2対話処理部1602は、スタッフユーザに付与される権限情報に基づいて、対話可能なスタッフユーザの範囲を可変してもよい。例えば、第2対話処理部1602は、統括権限を有するスタッフユーザに係るスタッフアバタm2に対して、すべてのスタッフユーザに対して対話できる権限を付与し、操作権限を有するスタッフユーザに係るスタッフアバタm2に対して、一定の場合だけ統括権限を有するスタッフユーザに対して対話できる権限を付与してもよい。
本実施形態では、第2対話処理部1602は、ユーザアバタm1のそれぞれの位置と、スタッフアバタm2の位置とに基づいて、複数の一般ユーザのうちの、スタッフユーザと対話が可能な一般ユーザを決定する。例えば、上述した第1対話処理部1601と同様に、一のスタッフアバタm2と一のユーザアバタm1との間の距離が所定距離d2以下である場合に、当該一のスタッフアバタm2に係るスタッフユーザと当該一のユーザアバタm1に係る一般ユーザ間の対話を可能としてもよい。所定距離d2は、仮想空間や各部屋の広さ等に応じて適宜設定されてよく、固定であってもよいし、可変とされてもよい。また、所定距離d2は、上述した所定距離d1よりも長くてもよい。
また、第2対話処理部1602は、スタッフユーザに付与される権限情報に基づいて、対話能力を可変してもよい。例えば、第2対話処理部1602は、統括権限を有するスタッフユーザに係るスタッフアバタm2に対して、最も大きい所定距離d2を適用し、操作権限を有するスタッフユーザに係るスタッフアバタm2に対して、次に大きい所定距離d2を適用してもよい。また、第2対話処理部1602は、統括権限を有するスタッフユーザに係るスタッフアバタm2に対して、すべてのユーザと対話できる機能(天の声のような機能)を付与してもよい。あるいは、第2対話処理部1602は、統括権限を有するスタッフユーザに係るスタッフアバタm2に対して、任意の対話を可能とするが、他の権限のスタッフユーザに係るスタッフアバタm2に対しては、それらの役割に関する対話のみを可能としてもよい。
また、本実施形態では、第2対話処理部1602は、スタッフユーザからの要求(入力)に基づいて、当該スタッフユーザと対話が可能な一般ユーザを変更してもよい。例えば、第2対話処理部1602は、上述した所定距離d2を一時的に増加することで、スタッフユーザと対話が可能となる一般ユーザの範囲を広げてもよい。これにより、例えばスタッフユーザは、自身のスタッフアバタm2からは比較的離れた位置に補助を必要としそうなユーザアバタm1を自ら見つけたときに、比較的速やかに当該ユーザアバタm1の一般ユーザに話しかけることが可能である。なお、この場合、スタッフ動作処理部1542は、スタッフユーザのスタッフアバタm2を、比較的離れたユーザアバタm1の近傍まで瞬時に移動させてもよい(すなわち、上述した所定法則に反した動きを実現してもよい)。これにより、話しかけられた一般ユーザは、自身の端末装置20に表示される端末用画像を介して、話しかけてきたスタッフアバタm2をすぐに認識できるので、安心感が高まり、スムーズな対話による支援を受けることができる。
活動制限部162は、仮想空間内における各ユーザアバタm1の活動であって、コンテンツ処理部159により提供される複数のコンテンツに係る活動を制限する。コンテンツに係る活動とは、コンテンツの提供を受けること自体であってよく、更に、コンテンツの提供を受けるための行動(例えば移動)等を含んでもよい。
本実施形態では、活動制限部162は、空間状態記憶部146内のデータ(状態情報の一例)に基づいて、活動を制限する。
具体的には、活動制限部162は、次室移動条件の成否情報(図9参照)に基づいて、仮想空間内における各ユーザアバタm1の活動を制限する。例えば、活動制限部162は、ある一のコンテンツ提供条件を満たさない一般ユーザに対しては、当該一のコンテンツ提供位置への移動を禁止する。このような移動の禁止は、任意の態様で実現されてもよい。例えば、活動制限部162は、当該一のコンテンツ提供位置への入口を、当該一のコンテンツ提供条件を満たさない一般ユーザに対してだけ無効化してもよい。このような無効化は、当該入口を不可視又は視認困難な状態にすることや、ユーザアバタm1が通れない当該入口の壁を設定すること等により実現されてもよい。
他方、活動制限部162は、ある一のコンテンツ提供条件を満たしている一般ユーザに対しては、当該一のコンテンツ提供位置への移動を許可する。このような移動の許可は、任意の態様で実現されてもよい。例えば、活動制限部162は、当該一のコンテンツ提供位置への入口を、当該一のコンテンツ提供条件を満たす一般ユーザに対してだけ有効化してもよい。このような有効化(無効化された状態からの遷移)は、当該入口を不可視状態から可視状態に変更することや、ユーザアバタm1が通れない当該入口の壁を除去すること等により実現されてもよい。また、このような移動の許可は、スタッフユーザによる入力に基づいて実現されてもよい。この場合、スタッフユーザは、通常は見えない情報(例えば次室移動条件の成否情報)に基づいて、自室移動条件を満たすユーザアバタm1を検出してもよい。また、このような空間的な移動や可視性だけでなく、許可された一般ユーザは、まだ許可されていない一般ユーザと対話(例えば音声会話)をできない状態にする、といった具体に、第1対話処理部1601による分断も実現可能であってよい。これによって、例えば、先行者の一般ユーザによる後続者のユーザへの不要なヒントの流出やネタバレ等を防ぐことができる。また、後続者の一般ユーザは、自ら回答を発見しない限り、次のステップに進むことができないため、このような一般ユーザに主体的な参加(解決)を促すことができる。
条件処理部164は、スタッフユーザからの入力に基づいて、複数の一般ユーザのうちの一部の一般ユーザに対して、コンテンツ処理部159により提供可能な複数の特定のコンテンツのうちの、一部又は全部のコンテンツ提供条件を緩和する。あるいは、条件処理部164は、スタッフユーザからの入力に基づいて、複数の一般ユーザのうちの一部の一般ユーザに対して、コンテンツ処理部159により提供可能な複数の特定のコンテンツのうちの、一部又は全部のコンテンツ提供条件を厳しくしてもよい。すなわち、条件処理部164は、スタッフユーザからの入力に基づいて、特定の一の一般ユーザに対して適用されるコンテンツ提供条件を、通常条件と緩和条件(図8参照)の間で変更してもよい。これにより、スタッフユーザの裁量等によりコンテンツ提供条件の厳しさを変更できるので、一般ユーザのそれぞれの適用度やレベルに応じて、適切なコンテンツ提供条件を設定できる。
本実施形態において、条件処理部164は、すべてのスタッフユーザからの入力に基づいて、コンテンツ提供条件を変更してもよいが、一定条件を満たすスタッフユーザからの入力に基づいて、コンテンツ提供条件を変更してもよい。例えば、条件処理部164は、統括権限を有するスタッフユーザからの入力に基づいて、コンテンツ提供条件を変更してもよい。これにより、統括権限を有するスタッフユーザのみが適切なコンテンツ提供条件を設定できるので、一般ユーザ間のバランスの公平化を図ることができる。
抽出処理部166は、一般ユーザのそれぞれに対応付けられたユーザ状態情報900(図9参照)に基づいて、コンテンツ処理部159により提供可能な複数の特定のコンテンツのうちの所定数以上のコンテンツの提供又は特定のコンテンツの提供を受けた第1ユーザを抽出する。所定数は、1以上の任意であるが、N個の特定のコンテンツが提供可能な仮想空間においては、例えばN/2個であってもよいし、N個であってもよい。
役割割当部167は、スタッフユーザからの入力に基づいて、抽出処理部166により抽出された一般ユーザに対応付けられたユーザアバタm1に対して、仮想空間内におけるスタッフアバタm2に係る役割の少なくとも一部を付与する。すなわち、一般ユーザをスタッフユーザに変換する。役割の少なくとも一部は、任意であり、例えば、統括権限を有するスタッフユーザの役割のうちの、重要度の比較的低い一部であってもよい。また、例えば、役割の少なくとも一部は、通常権限が与えられたスタッフユーザと同じ役割であってもよいし、その一部であってよい。あるいは、役割の少なくとも一部は、操作権限が与えられたスタッフユーザと同じ役割であってもよいし、その一部であってよい。
この場合、役割割当部167は、統括権限を有するスタッフユーザからの入力に基づいて、仮想空間内におけるスタッフアバタm2に係る役割の少なくとも一部を付与してもよい。これにより、統括権限を有するスタッフユーザの責任で、候補となる一般ユーザを選択できる。従って、統括権限を有するスタッフユーザは、例えば、与えられる予定の役割に対する理解が比較的深い一般ユーザに、スタッフユーザとして効率的に機能してもらい、当該役割を適切に果たしてもらうことができる。
また、統括権限を有するスタッフユーザは、抽出処理部166により抽出された一般ユーザ以外からも、自ら、候補となる一般ユーザを探索/勧誘することも可能である。例えば、ある商品(例えばアバタが装着可能な衣服)を販売するスタッフユーザが欠員する状況下では、統括権限を有するスタッフユーザは、当該商品を購買する頻度や数が大きい一般ユーザを探索し(例えばユーザ情報600の購買アイテム情報に基づいて探索し)、当該アイテムを購買するスタッフユーザにならないかどうか勧誘することも可能である。この場合、当該商品を購買する頻度や数が大きい一般ユーザは、当該商品に詳しい可能性が高く、かかる商品を購買しようとしている一般ユーザに対して、スタッフユーザとして適切なアドバイス等を行うことを期待できる。
なお、役割割当部167は、一般ユーザからスタッフユーザに変換したユーザに対して、統括権限を有するスタッフユーザからの入力に基づいて、付与する役割を増減させてもよい。これにより、一般ユーザからスタッフユーザに変換したユーザに係る役割の負担を適宜調整できる。このようにしてスタッフユーザに変換された一般ユーザには、スタッフユーザとして、図6のスタッフ情報602で示すような各種の情報が割り当てられてよい。この場合、一般ユーザからスタッフユーザに変換したユーザに対しては、スタッフ情報602の権限情報に代えて又は加えて、役割に関する情報が対応付けられてもよい。役割に関する情報の粒度は任意であり、役割の粒度に応じて適合されてよい。これは、スタッフユーザの役割(権限情報)についても同様である。
このようにして、本実施形態では、ユーザは、一般ユーザからスタッフユーザになることができ、スタッフユーザになりたいユーザに対して、所定数以上のコンテンツの提供を受ける動機づけを与えることができる。所定数以上のコンテンツの提供を受けた一般ユーザは、当該コンテンツから、与えられる役割を果たせるような能力を身に付けている可能性が高く、特定のコンテンツを介したスキルアップを効率的に図ることができる。
なお、本実施形態において、スタッフユーザになることができるユーザは、仮想空間内に入る際に、一般ユーザとして入るか、スタッフユーザとして入るかを、選択できてもよい。
空間情報生成部168は、上述した空間状態記憶部146内に格納される空間状態情報を生成し、空間状態記憶部146内のデータを更新する。例えば、空間情報生成部168は、定期的に又は不定期的に、入室ユーザのそれぞれに対して、次室移動条件の成否を監視し、次室移動条件の成否情報を更新する。
パラメータ更新部170は、上述したスタッフポイントを更新する。例えば、パラメータ更新部170は、図9に示す空間状態情報に基づいて、各スタッフユーザの稼働状況に応じてスタッフポイントを更新してよい。例えば、パラメータ更新部170は、稼働時間が長くなるほど多くのスタッフポイントを付与する態様で、スタッフポイントを更新してよい。また、パラメータ更新部170は、チャット等による一般ユーザへの支援回数等(発話量や、発話回数、アテンド回数、クレーム対応回数等)に基づいて、スタッフポイントを更新してよい。また、仮想現実において商品やサービスの販売が行われる場合、パラメータ更新部170は、スタッフユーザによる商品やサービスの販売の状況(例えば売り上げ)に基づいて、スタッフポイントを更新してよい。あるいは、パラメータ更新部170は、一般ユーザにより入力されうるスタッフユーザに対する満足度情報(例えばアンケート情報に含まれる評価値等)に基づいて、スタッフポイントを更新してよい。なお、スタッフポイントの更新は、適宜、実行されてもよく、例えば定期的に、ログ情報に基づいて一括的に実行されてもよい。
スタッフユーザにより販売される商品やサービスは、現実で利用可能な商品やサービスであってもよいし、仮想現実において利用可能な商品やサービスであってもよい。スタッフユーザにより販売される商品やサービスは、コンテンツ提供位置で提供されるコンテンツに関連してよく、例えば当該コンテンツに係る体験を増大できるようなアイテム等を含んでよい。例えば、コンテンツが、上述した旅行に関連する場合、アイテムは、遠くを見ることができる望遠鏡等であってもよいし、動物等に与えることができる餌等であってもよい。また、コンテンツが、スポーツやコンサートに関連する場合、アイテムは、応援グッズや、選手やアーティストとの記念撮影権や会話権等であってもよい。
図5は、一般ユーザに係る端末装置20により実現される機能500と、スタッフユーザに係る端末装置20により実現される機能502とが併せて示されている。なお、図5は、端末装置20にダウンロード等される仮想現実アプリケーションにより実現される各種機能のうちの、ユーザ支援機能に関連した機能だけを示す。なお、仮想現実アプリケーションは、機能500を実現するユーザ用アプリケーションと、機能502を実現するスタッフ用アプリケーションとが別々に実装可能であってもよいし、一のアプリケーション内で機能500と機能502とはユーザによる操作により切り替え可能とされてもよい。
一般ユーザに係る端末装置20は、補助要求部250を含む。補助要求部250は、一般ユーザからの入力に基づいて、補助要求をネットワーク3を介してサーバ装置10に送信する。なお、補助要求は、端末装置20に対応付けられた端末ID又はログインしている仮想現実アプリケーションのユーザIDを含むことで、補助要求に基づいて補助対象のユーザアバタm1がサーバ装置10において特定される。
なお、本実施形態では、補助対象のユーザアバタm1は、上述したように、サーバ装置10の補助対象検出部157により検出されるので、補助要求部250は適宜省略されてもよい。
スタッフユーザに係る端末装置20は、支援実行部262と、条件変更部263と、役割付与部264とを含む。なお、以下で説明するスタッフユーザに係る端末装置20により実現される機能502の機能の一部又は全部は、サーバ装置10により実現されてもよい。また、図5に示す支援実行部262、条件変更部263、及び役割付与部264は、一例であり、一部が省略されてもよい。
支援実行部262は、スタッフユーザからの所定入力に基づいて、上述した補助情報提供部1544により一般ユーザに補助情報を提供するための補助要求を、ネットワーク3を介してサーバ装置10に送信する。例えば、支援実行部262は、スタッフユーザからの所定入力に応答して、サーバ装置10の補助対象検出部157により検出されたユーザアバタm1を補助情報の伝達対象とした補助要求を、サーバ装置10に送信する。なお、補助情報の伝達対象のユーザアバタm1は、スタッフユーザが自身で決定してもよい。例えば、スタッフユーザは、上述したように、端末用画像において重畳されうる、通常は見えない情報(例えば次室移動条件の成否情報)に基づいて、補助対象のユーザアバタm1(補助対象検出部157により検出されないユーザアバタm1)を特定してもよい。また、補助要求は、生成する補助情報の内容を指示する情報等を含んでよい。
条件変更部263は、スタッフユーザからの入力に基づいて、上述したような条件処理部164による条件変更を指示する要求(条件変更要求)を、サーバ装置10に送信する。例えば、条件変更部263は、スタッフユーザからの条件変更用の入力に応答して、特定のユーザアバタm1を対象とした条件変更要求を、サーバ装置10に送信する。なお、特定のユーザアバタm1は、サーバ装置10の補助対象検出部157により検出された補助対象のユーザアバタm1であってもよいし、補助情報の伝達対象と同様、スタッフユーザが自身で決定してもよい。
役割付与部264は、スタッフユーザからの入力に基づいて、上述したような役割割当部167による役割の付与を指示する要求(役割付与要求)を、サーバ装置10に送信する。例えば、役割付与部264は、スタッフユーザからの役割付与用の入力に応答して、役割付与要求を、サーバ装置10に送信する。なお、役割付与要求は、役割を付与する対象となるユーザアバタm1を特定する情報や、付与する役割の内容を示す情報等を含んでよい。
次に、図10以降を参照して、上述したユーザ支援機能に関連した動作例について説明する。なお、以下の動作例は、具体的な動作例であるが、上述したユーザ支援機能に関連した動作は、上述したように、多様な態様で実現可能である。
以下では、一例として、図2Bに示した仮想空間に関して、上述したユーザ支援機能に関連した動作例について説明する。
図10は、上述したユーザ支援機能に関連した動作例を示すタイミングチャートである。図10では、区別のために、ある一般ユーザに係る端末装置20に対して、符号「20-A」を付与し、他の一般ユーザに係る端末装置20に対して、符号「20-B」を付与し、スタッフユーザに係る端末装置20に対して、符号「20-C」を付与している。以下では、説明上、端末装置20-Aに係る一般ユーザを、ユーザ名「ami」とし、端末装置20-Bに係る一般ユーザを、ユーザ名「fuj」とし、両者は学生(例えば、ユーザ名「ami」が学生Aで、ユーザ名「fuj」が学生B)である。また、以下では、ユーザ名「ami」に係る一般ユーザを、学生ユーザAと称し、ユーザ名「fuj」に係る一般ユーザを、学生ユーザBと称する。また、以下では、複数のスタッフユーザが登場するが、端末装置20-Cは、これらのスタッフユーザに係る各端末装置20を包括した態様で示す。また、図10において、図面の複雑化防止の都合上、端末装置20-Cから端末装置20-A、20-Bへの補助情報の送信は、直接的な態様で図示されているが、サーバ装置10を介して実現されてよい。
図11、図12、及び図14から図18は、図10に示す動作例の説明図であり、各場面での端末用画面の一例を示す図である。図13は、ある時点での、図2Bに示した仮想空間における状態を模式的に示す図である。
まず、ステップS10Aにおいて、学生ユーザAは、端末装置20-Aにおいて、仮想現実アプリケーションを起動し、ステップS10Bにおいて、学生ユーザBは、端末装置20-Bにおいて、仮想現実アプリケーションを起動する。なお、仮想現実アプリケーションは、端末装置20-A、20-Bのそれぞれにおいて、時間差をもって起動されてもよいし、起動タイミングは任意である。なお、ここでは、スタッフユーザは、端末装置20-Cにおいて、仮想現実アプリケーションを起動済みであるとするが、この起動タイミングも任意である。
ついで、ステップS11Aにおいて、学生ユーザAは、仮想空間内に入り、自身のユーザアバタm1を移動させ、1番目のコンテンツ提供位置に係る入口付近まで至る。同様に、ステップS11Bにおいて、学生ユーザBは、仮想空間内に入り、仮想空間内で自身のユーザアバタm1を移動させ、1番目のコンテンツ提供位置に係る入口付近まで至る。図11は、学生ユーザBのユーザアバタm1が1番目のコンテンツ提供位置に係る入口付近に位置するときの、学生ユーザB用の端末用画像G110を示す。なお、図11に示す状態では、学生ユーザAのユーザアバタm1は、学生ユーザBのユーザアバタm1の背後にいるものとする。図11に示すように、学生ユーザB用の端末用画像G110からは、位置SP1に対応付けて、スタッフ名「cha」が対応付けられたスタッフアバタm2が配置され、1番目のコンテンツ提供位置に係る入口領域に対応する位置SP2に対応付けて、スタッフ名「suk」が対応付けられたスタッフアバタm2が配置されていることがわかる。
この場合、学生ユーザA及び学生ユーザBは、スタッフ名「cha」のスタッフアバタm2から補助情報の送信(ステップS12)を受けてよい。例えば、学生ユーザA及び学生ユーザBは、入場用チュートリアルのコンテンツの視聴案内を受ける。かかる補助情報は、入場用チュートリアルのコンテンツを視聴するためのURLを含んでよい。図12は、位置SP1においてスタッフ名「cha」のスタッフアバタm2から補助を受けているときの、学生ユーザB用の端末用画像G120を示す。なお、図12では、スタッフ名「cha」のスタッフユーザの入力に基づくチャットのテキスト「初めての方は、チュートリアルをどうぞ!」が示されている。なお、この種のチャットは自動的に生成されてもよい。
学生ユーザA及び学生ユーザBは、入場用チュートリアルを視聴すると、入口領域に対応する位置SP2へと移動する(ステップS11C、ステップS11D)。この際、学生ユーザA及び学生ユーザBは、位置SP2にて、スタッフ名「suk」のスタッフアバタm2から補助情報の送信(ステップS13)を受けてよい。例えば、学生ユーザA及び学生ユーザBは、次室移動条件に関するアドバイス等の補助を受けてよい。この場合、サーバ装置10は、ステップS13よりも前に、学生ユーザA及び学生ユーザBの次室移動条件が満たされているか否かの入室判定を行う(ステップS14)。ここでは、学生ユーザA及び学生ユーザBは、スタッフユーザからの補助もあり、次室移動条件を満たしているものとする。この場合、サーバ装置10は、1番目のコンテンツ提供位置へと移動するためのURLを、端末装置20-A、20-Bのそれぞれに送信する(ステップS15)。なお、1番目のコンテンツ提供位置へと移動するためのURLは、チケットの形態の第2オブジェクトm3(図12参照)に描画されてもよい。
そして、学生ユーザA及び学生ユーザBは、サーバ装置10から送信されたURLにアクセスすることで、1番目のコンテンツ提供位置(図13の第1位置SP11参照)に移動する(ステップS16A、S16B)。このようにして、学生ユーザA及び学生ユーザBがそれぞれのユーザアバタm1を1番目のコンテンツ提供位置に移動させると、サーバ装置10は、1番目のコンテンツ提供位置に対応付けられた特定のコンテンツを端末装置20-A、20-Bのそれぞれに送信する(ステップS17)。これにより、学生ユーザA及び学生ユーザBは、1番目のコンテンツ提供位置に対応付けられた特定のコンテンツの提供を受けることができる(ステップS18A、ステップS18B)。図14は、図13の第1位置SP11で特定のコンテンツの提供を受けているときの、学生ユーザB用の端末用画像G140を示す。端末用画像G140は、大型スクリーン(第2オブジェクトm3)に対応する画像部G141に、映像コンテンツが出力されている状態に対応する。学生ユーザA及び学生ユーザBは、それぞれの端末用画像G140を介して、大型スクリーン上の映像コンテンツを視聴することで、第1位置SP11で特定のコンテンツの提供を受けることができる。端末用画像G140は、図14に示すように、学生ユーザBの入力に基づくチャットのテキスト「なるほど、わかりやすいね!」を含んでよい。このようにして、学生ユーザAと学生ユーザBは、一緒に、適宜対話しながら、1番目のコンテンツ提供位置に対応付けられた特定のコンテンツの提供を受けることができる。
なお、サーバ装置10は、この間、定期的に又は所定の変化が発生した際に、学生ユーザA及び学生ユーザBのそれぞれのユーザアバタm1の状態に基づいて、適宜、空間状態記憶部146内のデータ(図9の部屋滞在時間等)を更新する(ステップS19)。
学生ユーザA及び学生ユーザBは、1番目のコンテンツ提供位置に対応付けられた特定のコンテンツの提供を受け終えると、当該特定のコンテンツに関連する課題等を提出する(ステップS20A、S20B)。課題等の提出方法は、任意であり、課題提出用のURLが利用されてもよい。サーバ装置10は、学生ユーザA及び学生ユーザBがそれぞれのユーザアバタm1を介した課題の提出結果に基づいて、学生ユーザA及び学生ユーザBの次室移動条件が満たされているか否かの入室判定を行い、空間状態記憶部146内のデータ(図9の次室移動条件の成否情報参照)を更新する(ステップS21)。
学生ユーザA及び学生ユーザBは、課題を提出すると、それぞれのユーザアバタm1を移動させ、2番目のコンテンツ提供位置に係る入口領域まで至る(ステップS22A、S22B)(図13参照)。サーバ装置10は、学生ユーザA及び学生ユーザBの次室移動条件の可否情報に基づいて、次室移動条件の可否情報に応じた端末用画像を生成する(ステップS23)。ここでは、学生ユーザAは、次室移動条件が満たされているが、学生ユーザBは、次室移動条件が満たされていないものとする。この場合、例えば、サーバ装置10は、学生ユーザAに対して、2番目のコンテンツ提供位置へ移動できる入口を描画した端末用画像を生成し、学生ユーザBに対して、2番目のコンテンツ提供位置へ移動できる入口に壁を描画した端末用画像を生成する。そして、サーバ装置10は、2番目のコンテンツ提供位置へと移動するためのURLを、端末装置20-Aに送信する(ステップS24)。なお、2番目のコンテンツ提供位置へと移動するためのURLは、2番目のコンテンツ提供位置へ移動できる入口を描画した端末用画像に描画されてもよい。この場合、端末装置20-Aは、当該URLを画像認識等により検出し、自動的にアクセスしてもよい。これにより、学生ユーザAは、2番目のコンテンツ提供位置へとユーザアバタm1を進めることができる(ステップS25)。
他方、サーバ装置10は、スタッフユーザ用の端末用画像において、学生ユーザBのユーザアバタm1を、補助対象のユーザアバタm1として、他のユーザアバタm1とは異なる態様(上述した所定の描画態様)で描画する(ステップS26)。この場合、補助対象のユーザアバタm1の描画態様は、上述したように、スタッフユーザが見ると、その旨(例えば「特定のコンテンツの提供を受け終えているが、次室移動条件を満たしていないこと」)がわかるような、描画態様であってよい。
本実施形態では、サーバ装置10は、補助対象のユーザアバタm1を検出すると、スタッフユーザ用の端末用画像において、補助用のサブ画像をメイン画像上に重畳表示させる。図15は、補助対象のユーザアバタm1が検出されたときの、スタッフユーザ用の端末用画像G150を示す。スタッフユーザ用の端末用画像G150には、補助対象のユーザアバタm1が検出されたときに、サブ画像G156が出現する。この場合、サブ画像G156には、補助対象のユーザアバタm1(ユーザ名「fuj」)が写されている。スタッフユーザは、例えば、サブ画像G156をタップすることで、スタッフアバタm2をサブ画像G156に係る位置まで瞬間的に移動させることができる。この場合、サブ画像G156が全画面表示となり、図16に示すような端末用画像G160が、サブ画像G156をタップしたスタッフアバタm2(スタッフ名「zuk」)に係るスタッフユーザの端末装置20-Cに表示される。端末用画像G160においては、補助対象のユーザアバタm1には、対話による補助を必要としている可能性が高いことを示す特徴的な画像部G161が対応付けられている。従って、スタッフユーザは、端末用画像G160に複数のユーザアバタm1が含まれている場合でも、補助対象のユーザアバタm1を容易に特定できる。なお、ここでは、図13の位置SP14に係る部屋内に位置していたスタッフアバタm2に係るスタッフユーザ(スタッフ名「zuk」)が、サブ画像G156をタップすることで、スタッフアバタm2を第1位置SP11へと瞬時に移動させたものとする。
このようにして、スタッフユーザは、補助対象のユーザアバタm1(ユーザ名「fuj」)を見つけると、自身のスタッフアバタm2を補助対象のユーザアバタm1(ユーザ名「fuj」)のそばに移動させ、対話等により補助情報を伝達できる。上述したように、スタッフユーザ用の端末用画像においては、通常は見えない情報(例えば次室移動条件を満たしていない理由等)が重畳される。従って、スタッフユーザは、ユーザ名「fuj」のユーザアバタm1が次室移動条件を満たしていない理由を把握できるので、その理由に応じた適切な補助情報を伝達できる。ここでは、図13の位置SP14に係る部屋内に位置していたスタッフアバタm2に係るスタッフユーザ(スタッフ名「zuk」)は、スタッフアバタm2を第1位置SP11へと瞬時に移動させ、対話により補助情報をユーザ名「fuj」の一般ユーザに伝達する(ステップS27)。図17は、補助情報が伝達されたときの、学生ユーザB用の端末用画像G170を示す。端末用画像G170は、図17に示すように、ヒントを示す画像部G171や、スタッフアバタm2(スタッフ名「zuk」)に係るスタッフユーザの入力に基づくチャットのテキスト「これがヒントだよ!」を含んでよい。これにより、学生ユーザBは、次の部屋に進めなかった理由を把握できるとともに、ヒントに基づいて、次室移動条件を満たすような課題等を再提出できる(ステップS28)。
このようにして、学生ユーザA及び学生ユーザBは、各部屋(各コンテンツ提供位置)で、対応する特定のコンテンツの提供を受け、かつ、スタッフユーザからの補助を適宜受けながら、対応する課題をクリアすることで、次の部屋へと順に進んでいく。この間、スタッフユーザにより補助を受けることでスムーズに、例えばゴールである第8位置SP18へと、進むことができる。図18は、ゴールである第8位置SP18まで移動できたときの、学生ユーザB用の端末用画像G180を示す。端末用画像G180は、図18に示すように、終了証の画像部G181や、スタッフアバタm2(スタッフ名「sta」)に係るスタッフユーザの入力に基づくチャットのテキスト「Congratulations!」を含んでよい。また、修了証は、今回の成績等が記載されていてよい。なお、このような修了証を得た一般ユーザは、対応するコンテンツ提供用の仮想空間部においてスタッフユーザとして機能できる役割が付与される候補として、上述した抽出処理部166により抽出されてもよい。あるいは、このような修了証を得た一般ユーザには、対応するコンテンツ提供用の仮想空間部においてスタッフユーザとして機能できる役割が、上述した役割割当部167により自動的に付与されてもよい。
なお、図10から図18を参照して上述した動作例は、上述したように、一例として、図2Bに示した仮想空間に関して、上述したユーザ支援機能に関連した動作例であるが、他の仮想空間に対しても同様に適用可能である。例えば、図19に示すように、スタート位置から始まり、時計回りに周回する態様(矢印R19参照)で、各コンテンツ提供位置である位置SP30から位置SP35を順に巡るような他の仮想空間に対しても同様に適用可能である。基本的に全員の一般ユーザがゴールにたどり着けることを前提としているが、例えば以下のような条件を設定してもよい。
(1)経過時間を表示するタイマーにより、制限時間を超えると敗北判定となり修了証を手に入れられない。
(2)各室の課題(例えば3択クイズ)に誤答すると、ひとつ前の部屋や敗北者ルートなど任意の部屋に強制移動される。
(3)敗北者はまだプレイしているユーザを観察できる部屋に強制移動され、他ユーザのプレイを観察する。
(4)直接行動には寄与できないが、他ユーザが選ぶ選択肢によって復活することができる等、といった具合である。これにより、このような仮想空間における各コンテンツ以外の興趣も効果的に高めることができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、上述した実施形態では、スタッフアバタm2は、スタッフユーザ(人間)により操作されているが、Bot(ボット)プログラムのようなプログラムに基づき動作されてもよい。この場合、スタッフアバタm2は非プレイヤに対応付けられる移動媒体として、スタッフユーザ(人間)に対応付けられるスタッフアバタm2と同様の役割を果たしてもよいし、異なる役割を果たしてもよい。
また、上述した実施形態では、例えば図2Bに示すように、ある一のコンテンツ提供位置に対して、次のコンテンツ提供位置は、1つだけ設定されているが、これに限られない。すなわち、ある一のコンテンツ提供位置に対して、次のコンテンツ提供位置は、2つ以上設定されてもよい。この場合、当該ある一のコンテンツ提供位置において次室移動条件を満たしたユーザアバタm1の一般ユーザは、自身の選択により、2つ以上ある次のコンテンツ提供位置のうちから、所望の一のコンテンツ提供位置へと進むことが可能であってもよい。あるいは、当該ある一のコンテンツ提供位置において提出した課題の出来や空間滞在時間等のパラメータに応じて、2つ以上ある次のコンテンツ提供位置のうちから、次に進む一のコンテンツ提供位置が決定されてもよい。あるいは、2つ以上ある次のコンテンツ提供位置のうちから、ランダムに、次に進む一のコンテンツ提供位置が決定されてもよい。
また、上述した実施形態では、次の部屋の特定のコンテンツに係るコンテンツ提供条件を満たしている一般ユーザだけが、次室移動条件を自動的に満たして、次の部屋へと移動できる仕様であるが、これに限られない。例えば、次の部屋の特定のコンテンツに係るコンテンツ提供条件を満たしていない一般ユーザも、次の部屋へ移動できる仕様(ただし、次の部屋の特定のコンテンツの提供を受けることができない)であってもよい。
また、上述した実施形態では、スタッフポイントに類似するポイント又はスタッフポイントとは異質なポイントとして、仮想空間におけるユーザアバタm1に係る活動に関連したポイントが設定されてもよい。例えば、図10から図18を参照して上述した動作例のように、一般ユーザが生徒である場合、ポイントは、各生徒の成績(課題に基づく成績)等を反映してもよい。