特許法第30条第2項適用申請有り (1)ウェブサイトの掲載日:令和3年(2021年)7月1日 ウェブサイトのアドレス:https://www.mori.co.jp/company/press/release/2021/07/20210701140000004202.html
特許法第30条第2項適用申請有り (2)ウェブサイトの掲載日:令和3年(2021年)7月1日 ウェブサイトのアドレス:https://www.mori.co.jp/img/article/210701_2.pdf)
特許法第30条第2項適用申請有り (3)ウェブサイトの掲載日:令和3年(2021年)7月1日 ウェブサイトのアドレス:https://eventregist.com/e/207nE1h74PED)
特許法第30条第2項適用申請有り (4)ウェブサイトの掲載日:令和3年(2021年)7月1日 ウェブサイトのアドレス https://twitter.com/VRStudioLab/status/1410554155685404680 https://twitter.com/VRStudioLab/status/1410541022975692802
特許法第30条第2項適用申請有り (5)ウェブサイトの掲載日:令和3年(2021年)7月1日 ウェブサイトのアドレス:https://vr.gree.net/lab/live/kws2021/
特許法第30条第2項適用申請有り (6)ウェブサイトの掲載日:令和3年(2021年)7月6日 ウェブサイトのアドレス:https://corp.gree.net/jp/ja/news/info/2021/0706-01.html
特許法第30条第2項適用申請有り (7)ウェブサイトの掲載日:令和3年(2021年)7月6日 ウェブサイトのアドレス:https://twitter.com/VRStudioLab/status/1412217944629669892
特許法第30条第2項適用申請有り (8)ウェブサイトの掲載日:令和3年(2021年)7月2日及び8月26日 オンライン開催日:令和3年(2021年)8月25日 ウェブサイトのアドレス:(7月2日:8月25日オンライン開催のインタラクティブセッションによる発明者の講演の紹介) https://cedec.cesa.or.jp/2021/session/detail/s606425b133c63 (8月26日:上記インタラクティブセッションの動画配信) https://youtu.be/PYjqzAwMlts https://youtu.be/PYjqzAwMlts?t=431
特許法第30条第2項適用申請有り (9)ウェブサイトの掲載日:令和3年(2021年)9月9日 ウェブサイトのアドレス:https://corp.gree.net/jp/ja/6degrees/2021/09/02.html
特許法第30条第2項適用申請有り (10)ウェブサイトの掲載日:令和3年(2021年)8月26日 基調講演開催日:令和3年(2021年)9月9日 ウェブサイトのアドレス:(8月26日:9月9日開催の発明者の基調講演の紹介) https://icat-egve-2021.org/index.php/keynotes/
特許法第30条第2項適用申請有り (11)ウェブサイトの掲載日:令和3年(2021年)9月22日 ウェブサイトのアドレス:https://youtu.be/UcuHIW3HGP4
特許法第30条第2項適用申請有り (12)ウェブサイトの掲載日:令和3年(2021年)9月22日 ウェブサイトのアドレス:https://twitter.com/VRStudioLab/status/1440691864135372800?s=20
特許法第30条第2項適用申請有り (13)ウェブサイトの掲載日:令和3年(2021年)10月6日 ウェブサイトのアドレス:https://note.com/reality_eng/n/nfe6aa708107a
特許法第30条第2項適用申請有り (14)ウェブサイトの掲載日:令和3年(2021年)8月4日 講義開催日:令和3年(2021年)10月6、13、20日 ウェブサイトのアドレス:(8月4日:10月6、13、20日開催の発明者の講義の紹介) http://www.ghrd.titech.ac.jp/2021/08/gati6/
特許法第30条第2項適用申請有り (15)ウェブサイトの掲載日:令和3年(2021年)10月18日 セッション開催日:令和3年(2021年)11月11日 ウェブサイトのアドレス:(10月18日:11月11日開催の発明者のショートセッション8の紹介)https://gree.connpass.com/event/225912/ (11月11日:11月11日開催の発明者のショートセッション8の動画) https://techcon.gree.jp/2021/ https://techcon.gree.jp/2021/session/ShortSession-8
以下、実施形態について図面を参照して説明する。
(仮想現実生成システムの概要)
図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次元の仮想空間と、当該仮想空間内に登場する各種の仮想現実媒体と、当該仮想空間内で提供される各種のコンテンツとにより実現される。
仮想現実媒体は、仮想現実に使用される電子データであり、例えば、カード、アイテム、ポイント、サービス内通貨(又は仮想現実内通貨)、トークン(例えばNon-Fungible Token(NFT))、チケット、キャラクタ、アバター、パラメータ等、任意の媒体を含む。また、仮想現実媒体は、レベル情報、ステータス情報、仮想現実パラメータ情報(体力値及び攻撃力等)又は能力情報(スキル、アビリティ、呪文、ジョブ等)のような、仮想現実関連情報であってもよい。また、仮想現実媒体は、ユーザによって仮想現実内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る電子データであるが、仮想現実媒体の利用態様は本明細書で明示されるものに限られない。なお、以下では、仮想現実媒体のうちの、仮想空間において描画可能な媒体を、表示媒体と称する場合がある。
(サーバ装置の構成)
サーバ装置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は、各ユーザに対応付けられる仮想現実媒体としてのユーザアバターM1(表示媒体の一例)の描画情報を記憶する。なお、ユーザとは、仮想現実生成システム1のユーザである。ユーザは、一般的なユーザに加えて、仮想現実生成システム1の運営者に関連してアバターを操作する管理ユーザ等を含んでもよい。仮想空間内にユーザアバターM1は、ユーザアバターM1の描画情報に基づいて描画される。
また、サーバ記憶部12は、例えば各種アイテム又はNPC(Non Player Character)等のような、ユーザアバターM1とは異なる各種のオブジェクトに係る描画情報を記憶する。仮想空間内に各種のオブジェクトは、かかる描画情報に基づいて描画される。
サーバ制御部13は、専用のマイクロプロセッサ又は特定のプログラムを読み込むことにより特定の機能を実現するCPU(Central Processing Unit)や、GPU(Graphics Processing Unit)等を含んでよい。例えばサーバ制御部13は、端末装置20と協動して、端末装置20の表示部23に対するユーザ操作に応じて仮想現実アプリケーションを実行する。また、サーバ制御部13は、仮想現実に関する多様な処理を実行する。サーバ制御部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は、音声入力やジェスチャ入力のような、非接触型のユーザ入力を受付可能であってもよい。なお、ジェスチャ入力には、ユーザの身体の動きを検出するためのセンサ(画像センサや、加速度センサ、距離センサ等)が利用されてもよい。この場合、入力部24は、端末装置20に内蔵される加速度センサやジャイロセンサ等により実現されてもよい。
端末制御部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にインストールされているネイティブアプリケーションによって表示させるネイティブ表示としてもよい。
図2は、仮想現実生成システム1を利用する2人のユーザの一例の説明図である。図3は、図2に示した2人のユーザがヘッドマウントディスプレイ23Aを装着して仮想空間の画像を見ている状態を模式的に示す図である。なお、ここでは、2人のユーザが仮想空間を共有する態様を説明するが、3人以上のユーザが仮想空間を共有する態様や、一人だけで仮想空間を専有する態様にも適用可能である。
図2には、実空間において2人のユーザが地球上の離れた位置にいることが模式的に示されている。本実施形態では、このように実空間において離れた位置P1、P2にいる2人のユーザが、同じ仮想空間内で交流できる。
本実施形態では、ヘッドマウントディスプレイ23Aを装着した2人のユーザは、ユーザアバターM1の形態で、仮想空間内で活動することができる。図3には、実空間において離れた位置にいる2人のユーザが、共通の仮想空間300の画像を見ている状態が模式的に示されている。なお、本実施形態では、ユーザが仮想空間の画像を視るための手段としてヘッドマウントディスプレイ23Aを利用するが、他の表示デバイス(例えばPCのディスプレイ)が利用されてもよい。
図4は、ヘッドマウントディスプレイ23A用の画像(以下、「端末用画像」とも称する)の説明図であり、端末用画像の一例を示す図である。図4では、仮想空間の一部がユーザアバターM1とともに描画されている。端末用画像の生成方法は後述する。
本実施形態では、例えば、図4に示すように、左右の目でそれぞれ視認される画像G200、G201を生成することで、立体視画像を生成してよい。図4には、左右の目でそれぞれ視認される画像G200、G201が模式的に示されている。なお、以下では、特に言及しない限り、端末用画像として生成される仮想空間の画像とは、画像G200、G201で表現される画像全体を指す。
図5は、本実施形態で好適な端末用画像の一例の説明図である。なお、図5に示す端末用画像は、一のユーザ用の画像(一のユーザがヘッドマウントディスプレイ23Aを介して見る端末用画像)であってよい。
本実施形態では、端末用画像は、図5に模式的に示すように、好ましくは、実空間の写真又はCG(コンピュータグラフィック)に基づくリアルな画像を含む。例えば、端末用画像は、実在する場所の画像である。これにより、ユーザは、あたかもその場所にいるかのような錯覚を得ることができる。その結果、各ユーザによる仮想空間での活動範囲が広がる等、活動の活性化を促進できる。
本実施形態では、端末用画像は、実空間の写真又はCGをベースとしたリアルな画像(以下、「実空間画像」と称する)をベースとし、実空間画像に、適宜、GUIとして機能するインタフェース画像やユーザアバターM1等を重畳する態様(例えばJavaScript(登録商標)上で合成する態様)で形成される。実空間画像は、例えば、Google社が提供する“Google Street View Image API”又はその類のAPI(Application Programming Interface)を利用して取得されてよい。この場合、指定した緯度や経度、Pano(パノラマ)IDなどから取得したストリートビューの画像を実空間画像として取り込むことができる。
ただし、変形例では、実空間画像に代えて、実空間とは一部又は全体が対応していない空間の画像が利用されてもよい。例えば、ゲームの仮想空間やメタバースの3次元空間の画像が利用されてもよい。また、実空間画像についても、現時点の実空間に対応する画像だけでなく、過去の実空間や未来の予想に基づく実空間に対応する画像であってもよい。
本実施形態では、一のユーザが見る端末用画像の実空間画像が、実在する場所の画像であるとき、一のユーザに対応するユーザアバターM1の位置は、実空間画像に対応付けられた位置情報に対応付けられる。例えば、一のユーザが見る端末用画像の実空間画像が、東京タワーの画像であるとき、一のユーザに対応するユーザアバターM1は、東京タワーが見える場所に位置することになる。従って、以下の説明において、一のユーザに対応する一のユーザアバターM1が、ある場所に移動するとは、当該一のユーザに対応する端末用画像が、当該場所に係る画像となることと実質的に同義である。このようにして、ユーザは、ユーザアバターM1を介して、仮想空間における各種場所に行くことができる。
図6は、4人のユーザが同じ仮想空間を共有しているときの、一のユーザ(以下、第1ユーザ)用の端末用画像G600の一例の説明図である。
図6に示す端末用画像G600は、実空間画像G601上に、第1ユーザに対応するユーザアバターM1(以下、「第1ユーザアバターM1」とも称する)(第1表示媒体の一例)を示す画像G610と、第1ユーザにより操作可能なGUIであるユーザインタフェースG611、G612と、方向案内画像G614と、距離案内画像G615と、フレンド案内画像G616とを含む。
画像G610は、第1ユーザに、自身のユーザアバターM1を認識させるための画像である。なお、画像G610は、省略されてもよい。
ユーザインタフェースG611は、第1ユーザにより操作可能な各種操作ボタンB601からB603を含む。操作ボタンB601は、フレンド案内画像G616の表示状態をオン/オフするためのボタンである。操作ボタンB602は、シャッタボタンであり、後述する記念撮影のような写真撮影(仮想空間内での写真撮影)を行う際に操作される。操作ボタンB603は、記念撮影で得られた写真又は動画を閲覧等するためのボタンである。以下、写真撮影とは、特に言及しない限り、仮想空間内での写真撮影を意味し、写真とは、撮像の際に記憶される端末用画像に基づく画像データと同義である。
ユーザインタフェースG612は、瞬間移動用のボタンB605からB609を含む。ボタンB605からB609のそれぞれには、移動先を示す情報(例えば文字情報)が対応付けられてよい。例えば、ボタンB605は、第1ユーザアバターM1が現に位置する施設等のエントランスに瞬間移動するためのボタンである。
ボタンB605からB609の数や行き先は、任意である。ただし、行き先は、好ましくは、実空間においては行くことが非常に困難な場所(例えばエベレストの頂上や高層ビルの屋上など)を含んでよい。この場合、ユーザは、仮想空間でしか行けないような場所にユーザアバターM1を介して気軽に行くことができ、貴重な体験等をすることができる。また、瞬間移動用の行き先は、ユーザにより適宜設定可能であってもよい。
方向案内画像G614は、第1ユーザアバターM1から視たときの方向(第1ユーザアバターM1を基準とした相対方向)を表す又は示唆する情報であり、特定の目的位置の方向や特定アイテムの方向を表す又は示唆する情報である。特定の目的位置は、例えばミッションを伴うゲームが実施される場合、ミッションで指定される位置(例えば東京タワーなど)であってよい。この場合、特定の目的位置は、ある程度の範囲を有する態様で設定されてもよい。特定アイテム(特定の表示媒体の一例)は、任意の仮想現実媒体であってよい。特定アイテムは、例えばミッションを伴うゲームが実施される場合、ミッションで指定される取得目標アイテム(後述)であってよい。これにより、第1ユーザは、方向案内画像G614を見て、特定の目的位置や特定アイテムの方向を容易に把握でき、適宜、特定の目的位置や特定アイテムのそばまで自身の第1ユーザアバターM1を移動させることが容易となる。
方向案内画像G614は、特定の目的位置や特定アイテムを示す情報(例えば文字情報)が対応付けられてもよい。これにより、第1ユーザは、特定の目的位置や特定アイテムを、容易に把握することができる。
方向案内画像G614は、例えば、図6に示すように、特定の目的位置の方向や特定アイテムの方向を表すコンパスの形態の画像であってよい。方向案内画像G614は、平面視で描画されてもよい。この場合、尖っている先端の指す方向が、平面視での(鳥瞰図でみたときの)、特定の目的位置の方向や特定アイテムの方向に対応してよい。
なお、方向案内画像G614は、省略されてもよいし、第1ユーザにより表示のオン/オフが可能とされてもよい。
距離案内画像G615は、第1ユーザアバターM1からの相対距離を表す又は示唆する情報であり、第1ユーザアバターM1から特定の目的位置や特定アイテムまでの距離を表す又は示唆する情報である。距離案内画像G615は、例えば、図6に示すように、対応する距離を表す数字の画像であってよい。これにより、第1ユーザは、距離案内画像G615を見て、特定の目的位置や特定アイテムまでの距離を容易に把握できる。距離案内画像G615は、好ましくは、方向案内画像G614の近傍に、方向案内画像G614とセットで表示される。
フレンド案内画像G616は、他のユーザ(以下、「第2ユーザ」と称する)に対応する各ユーザアバターM1(以下、「第2ユーザアバターM1」とも称する)(第2表示媒体の一例)の位置情報を示す。従って、第1ユーザは、第2ユーザアバターM1との位置関係や第2ユーザアバターM1の位置を把握しながら第1ユーザアバターM1を移動させることが可能である。これにより、第1ユーザは、フレンド案内画像G616を見て、第2ユーザアバターM1のそばまで自身の第1ユーザアバターM1を移動させることが容易となる。なお、第2ユーザ側においても、第2ユーザ用の端末画像において同様のフレンド案内画像が表示される。従って、各ユーザは、互いのユーザアバターM1の位置関係を把握しながら、交流を図ることができる。
図6に示す例では、フレンド案内画像G616は、各第2ユーザアバターM1を示す画像G616AからG616Cとともに、第2ユーザアバターM1ごとの、案内画像G616-1からG616-3を含む。この場合、フレンド案内画像G616は、3人の第2ユーザに対応して、案内画像G616-1からG616-3を含む。
案内画像G616-1からG616-3のそれぞれは、対応する第2ユーザアバターM1を示す画像G616AからG616Cに対応付けて配置される。例えば、一の第2ユーザアバターM1に係る案内画像G616-1は、当該一の第2ユーザアバターM1を示す画像G616Aに対応付けて配置される(図6では、画像G616Aの下側に配置されている)。
対応する一の第2ユーザアバターM1に係る案内画像G616-1(案内画像G616-2、G616-3も同様)は、方向案内画像G6161と、距離案内画像G6162とを含む。
方向案内画像G6161は、第1ユーザアバターM1から視たときの方向(第1ユーザアバターM1を基準とした相対方向)を表す又は示唆する情報であり、対応する一の第2ユーザアバターM1の方向を表す又は示唆する情報である。これにより、第1ユーザは、方向案内画像G6161を見て、所望の第2ユーザアバターM1の方向を把握でき、適宜、所望の第2ユーザアバターM1のそばまで自身の第1ユーザアバターM1を移動させることが容易となる。
方向案内画像G6161は、例えば、図6に示すように、対応する一の第2ユーザアバターM1の方向を表すコンパスの形態の画像であってよい。方向案内画像G6161は、上述した方向案内画像G614と同様、平面視で描画されてもよい。この場合、尖っている先端の指す方向が、平面視での(鳥瞰図でみたときの)、対応する一の第2ユーザアバターM1の方向に対応してよい。
距離案内画像G6162は、第1ユーザアバターM1からの相対距離を表す又は示唆する情報であり、第1ユーザアバターM1から第2ユーザアバターM1までの距離を表す又は示唆する情報である。距離案内画像G6162は、上述した距離案内画像G615と同様、例えば、図6に示すように、対応する距離を表す数字の画像であってよい。これにより、第1ユーザは、距離案内画像G6162を見て、第2ユーザアバターM1までの距離を容易に把握できる。距離案内画像G6162は、好ましくは、同一の第2ユーザアバターM1に係る方向案内画像G6161の近傍に、当該方向案内画像G6161とセットで表示される。
本実施形態では、仮想空間における第1ユーザアバターM1と第2ユーザアバターM1のそれぞれの位置、及び、仮想空間における第1ユーザアバターM1と第2ユーザアバターM1との第1相対位置関係、の少なくともいずれか一方が、第1所定条件を満たす場合に、所定イベントを発生させる。
第1所定条件は、任意であるが、第1ユーザアバターM1と第2ユーザアバターM1との交流の可能性が高い状況下で満たされてよい。本実施形態では、第1所定条件は、第1ユーザアバターM1と第2ユーザアバターM1とが互いに近接する場合に満たされる。例えば、第1所定条件は、第1ユーザアバターM1と第2ユーザアバターM1との間の距離(仮想空間内での相対距離)が所定距離内である場合に満たされる。この場合、所定距離は、第1ユーザアバターM1と第2ユーザアバターM1とが互いに近接する際の距離に対応し、適宜、適合されてよい。あるいは、第1所定条件は、第1ユーザアバターM1と第2ユーザアバターM1とが、共通の特定位置に対して所定距離内である場合に満たされてもよい。
所定イベントは、任意であるが、好ましくは、第1所定条件を満たした第1ユーザアバターM1と第2ユーザアバターM1とが連携して実現可能なイベントである。この場合、第1ユーザと第2ユーザとの間の、第1ユーザアバターM1と第2ユーザアバターM1とを介した交流が促進される。
例えば、第1ユーザアバターM1と第2ユーザアバターM1とが連携して実現可能なイベントは、例えば、以下のイベントE1~E5等であってもよい。
イベントE1:共通のルームや特定の位置に瞬間移動するイベント
イベントE2:移動可能な空間が広がる(ゲートに集まったらゲートが開く)イベント
イベントE3:みんなでミニゲームができるイベント
イベントE4:集まったメンバーだけでチャットができるイベント
イベントE5:みんなで協力してクリアするミッションが始まる(宝探しや謎解きゲーム等)イベント。
ここで、共通のルームとは、仮想空間として形成される空間部であり、特定のコンテンツが提供される空間部であってもよい。特定のコンテンツは、視聴可能なエンターテイメント系のコンテンツであってもよい。あるいは、共通のルームは、チャットルームのような、特定のコンテンツが提供されない空間部であってもよい。この場合、イベントE1は、イベントE4と同様となりうる。なお、チャットは、ボイスチャット及び/又はテキストチャットであってよい。また、“みんな”とは、第1ユーザアバターM1と第2ユーザアバターM1であるが、第2ユーザアバターM1は2体以上であってよい。
また、所定イベントは、運営側で設定するイベントであってもよいし、各ユーザが生成できるUGC(User Generated Contents)に基づくイベントであってもよい。この場合、多様なコンテンツに基づく所定イベントを設定することができる。なお、UGCは、表形式(データベース)でコンテンツ設計者(ユーザ)により制作できる。また、かかるUGCは、コンテンツ市場に流通させることも可能である。また、ユーザアバター(UGCのコンテンツ設計者やその制作に関わったユーザに係るユーザアバター)は、所定イベントに関連して、ツアーガイドとして「自分が紹介したい旅」を直接案内することとしてもよい。また、各種体験のシナリオに係るUGCをギャラリーに置いておくことで、各ユーザが訪問者としてユーザアバターを介して追体験できる。この場合、UGCは、表形式(データベース)でコンテンツ設計者が制作することができる。また、座標、視点、イベント、アイテム、メッセージなどは体験のシナリオに容易に変換できる。
本実施形態では、一例として、所定イベントは、記念撮影のような画像取得イベントを含む。この場合、画像取得イベントは、その場所を背景として、第1ユーザアバターM1と第2ユーザアバターM1とを含む画像が取得されるイベントであってよい。なお、所定イベントが複数種類のイベント(例えば上述したイベントE1からイベントE5)を含む場合、どのイベントが発生するかは、第1ユーザ等により選択されてもよいし、場所に応じて決まっていてもよい。
この場合、画像取得イベントは、仮想空間内の任意の場所で発生可能であってもよいし、特定の場所(例えば絶景ポイントや名所等)でのみ発生可能であってもよい。後者の場合、第1所定条件は、第1ユーザアバターM1と第2ユーザアバターM1のそれぞれの位置が、対応する特定の場所に属する場合に満たされてもよい。より具体的には、第1所定条件は、第1ユーザアバターM1と第2ユーザアバターM1のそれぞれの位置が、対応する特定の場所の基準位置(特定位置)に対して所定距離内にある場合に満たされてもよい。
図7及び図8は、一例による画像取得イベントの説明図である。
この場合、第1所定条件が満たされると、画像取得イベントの準備処理として、シャッタボタンである操作ボタンB602(図6参照)がアクティブ(操作可能な状態)とされる。第1ユーザが操作ボタンB602を操作すると、画像取得イベントが発生する。
画像取得イベントが発生すると、まず、図7に模式的に示すように、第1ユーザ用の端末用画像に、第1所定条件を満たした第1ユーザアバターM1と第2ユーザアバターM1(図7では、第1ユーザアバターM1と、1体の第2ユーザアバターM1)が描画される。この際、第1ユーザアバターM1と第2ユーザアバターM1は、それぞれ、複数種類のポーズのうちの一のポーズを取る態様で描画されてもよい。複数種類のポーズのうちの、どのポーズになるかは、ランダムに決定されてもよいし、画像取得イベントの位置に応じて決定されてもよいし、対応するユーザにより選択可能であってもよい。あるいは、適宜、ユーザ(ユーザアバターM1)ごとに独自のポーズが用意されてもよい。
そして、カウントダウンが始まり(図7では、3,2,1のうちの、“1”のカウントダウン画像G700が示された状態)、最後に、図8に示すように、“はい、チーズ!”といった文字情報G800とともにシャッタ音が出力され、写真が撮られる。この場合、写真は、そのときの端末用画像そのものであるが、適宜、不要な部分(例えばユーザインタフェースG611等)は除去されてもよい。
このような画像取得イベントによれば、第1ユーザは、第1ユーザアバターM1及び第2ユーザアバターM1を介して、第2ユーザと交流しながら、実空間と同様の態様で、例えば名所や絶景ポイントなどで、記念撮影を行うことができる。
なお、図7及び図8に示す例では、記念撮影で撮られた写真(例えば、ツーショット写真)には、第1ユーザアバターM1及び第2ユーザアバターM1が映るが、第1ユーザアバターM1及び第2ユーザアバターM1に代えて、実空間における第1ユーザの画像及び第2ユーザの画像が利用されてもよい。この場合、利用される第1ユーザの画像及び第2ユーザの画像は、あらかじめ用意されてもよいし、実空間においてその場で撮像されてもよい。この場合、第1ユーザ及び第2ユーザは、それぞれのカメラの前に位置し、それぞれのカメラで撮像された画像が、記念撮影で撮られた写真に組み込まれる。また、この場合、実空間における第1ユーザの画像及び第2ユーザの画像は、一部だけ(例えば顔の部分だけ)が利用されてもよい。この場合、他の部分(例えば顔以外の部分)は、所定のキャラクター(例えばご当地キャラ)の画像や、対応するユーザアバターM1の一部であってもよい。また、画像取得イベントの際に、第1ユーザアバターM1及び/又は第2ユーザアバターM1の服装が変化してもよい(例えばその場所に応じた服装に変化してもよい)。
また、画像取得イベントに係る記念撮影の際に、画像取得イベントを発生させるユーザによる選択(要求)に応じて、有名人やインフルエンサーの係るアバターのような特別なアバターが出現してもよい。これにより、画像取得イベントにて特別なアバターを含む画像を得ることができる。この場合、特別なアバターと一緒に写真が撮れる場所や時間帯等は、制限されてもよい。
また、画像取得イベントに係る記念撮影の際に、画像取得イベントを発生させるユーザによる選択(要求)に応じて、過去に同場所に位置した他のユーザアバターM1が出現してもよい。これにより、画像取得イベントにて多数のユーザアバターを含む集合写真のような画像を得ることができる。この場合、一緒に写真が撮れる他のユーザアバターM1や、場所、時間帯等は、適宜、制限されてもよい。
ところで、このように仮想空間におけるユーザアバターM1間の相対位置関係に基づいて所定イベントを発生可能とする構成においては、ユーザアバターM1間の相対位置関係が、各ユーザにとってわかりやすくなることが望ましい。
この点、実空間と同様、各ユーザは、互いにチャット等を介して連絡を取り合うことで、ユーザアバターM1間の相対位置関係を把握することも可能であるが、見知らぬ場所では、互いに同じ場所で落ち合うことが難しい場合もある。
これに対して、本実施形態によれば、上述したように、フレンド案内画像G616が表示可能であるので、各ユーザは、フレンド案内画像G616から他のユーザアバターM1の位置関連の情報を得ながら、第1所定条件が満たされるように、自身のユーザアバターM1を移動させることが容易となる。この結果、仮想空間におけるユーザアバターM1の移動の効率化が図られることで、処理負荷の低減を図ることも可能となる。
また、このようなフレンド案内画像G616は、比較的画面が小さく視野が限られる端末装置20(例えばスマートフォン)にも好適である。このような端末装置20の場合でも、ユーザは、所望の第2ユーザアバターM1の位置(相対位置)を容易に認識でき、自身の第1ユーザアバターM1を所望の位置へと移動させやすくなる。
また、本実施形態では、仮想空間における第1ユーザアバターM1の位置と、仮想空間における特定アイテムの位置とに基づいて、第2所定条件が満たされたと判定された場合に、第1ユーザ又は第1ユーザアバターM1に、特定アイテム(所定情報の一例)を取得させるイベント(以下、「アイテム取得イベント」とも称する)を発生させる。なお、特定アイテムを取得させることに代えて又は加えて、特定アイテムに応じた仮想現実媒体(所定情報の他の一例)を第1ユーザ又は第1ユーザアバターM1に取得させてもよい。
特定アイテムは、任意であるが、上述したように、例えばミッションを伴うゲームが実施される場合、ミッションで指定される取得目標アイテムであってよい。本実施形態では、取得目標アイテムは、その場所に応じたアイテムであり、適宜設定されてもよい。例えば、フラミンゴのオブジェがある場所の場合、取得目標アイテムは、フラミンゴのたまごを想起させるアイテムであってもよい。
特定アイテムは、実在する物体に対応してもよい。例えば、ある場所に、実在する物体としてカエルの像が設置されている場合、当該場所に対応付けられる特定アイテムは、当該カエルを模した表示媒体であってよい。
特定アイテムに応じた仮想現実媒体は、上述したような任意の仮想現実媒体であってよいが、好ましくは、特定アイテムに直接的又は間接的に関連した仮想現実媒体であってよい。例えば、特定アイテムが、ミッションで指定される取得目標アイテムである場合、特定アイテムに応じた仮想現実媒体は、当該ミッションがクリアされたことを証明する証明書情報であってもよい。
第2所定条件は、任意であるが、上述した第1所定条件と同様、位置関係(距離)に基づいて判定されてもよい。本実施形態では、第2所定条件は、第1ユーザアバターM1と特定アイテムとが互いに近接する場合に満たされる。例えば、第2所定条件は、第1ユーザアバターM1と特定アイテムとの間の距離(仮想空間内での相対距離)が所定距離内である場合に満たされる。この場合、所定距離は、第1ユーザアバターM1と特定アイテムとが互いに近接する際の距離に対応し、適宜、適合されてよい。第2所定条件に係る所定距離は、上述した第1所定条件に係る所定距離と同様であってもよい。
ところで、このように仮想空間におけるユーザアバターM1と特定アイテムとの間の相対位置関係に基づいてアイテム取得イベントを発生可能とする構成においては、ユーザアバターM1と特定アイテムとの間の相対位置関係が、各ユーザにとってわかりやすくなることが望ましい。
この点、本実施形態によれば、図6を参照して上述したように、方向案内画像G614や距離案内画像G615が表示可能であるので、各ユーザは、方向案内画像G614や距離案内画像G615から情報を得ながら、第2所定条件が満たされるように、自身のユーザアバターM1を移動させることが容易となる。この結果、仮想空間におけるユーザアバターM1の移動の効率化が図られることで、処理負荷の低減を図ることも可能となる。
また、このような方向案内画像G614や距離案内画像G615は、比較的画面が小さく視野が限られる端末装置20(例えばスマートフォン)にも好適である。このような端末装置20の場合でも、ユーザは、所望の特定アイテムの位置(相対位置)を容易に認識でき、自身の第1ユーザアバターM1を所望の位置へと移動させやすくなる。
図9及び図10は、一例によるアイテム取得イベントの説明図である。
図9に示すように、まず、第1ユーザには、アイテム取得イベントに係るミッションが提示されてよい。この場合、ミッションは、取得目標アイテムとしてフラミンゴのたまごのアイテムを取得することである。図9に示すように、端末用画像には、ミッションを表す文字情報G900とともに、フラミンゴのたまごの方向及び位置を示す方向案内画像G614及び距離案内画像G615が含まれている。これにより、第1ユーザは、フラミンゴのたまごのアイテムの方向及び位置を容易に把握でき、それに応じて第1ユーザアバターM1を移動させることができる。
そして、第1ユーザアバターM1がフラミンゴのたまごのアイテムの近くまで移動すると、図10に示すように、“アイテム獲得!”といった文字情報G1000が描画されることで、ミッションがクリアとなったことが通知される。この場合、ユーザには、取得目標アイテムとしてのフラミンゴのたまごのアイテムが対応付けられる。なお、アイテム取得イベントの際、記念として写真が自動的に撮られてもよい。この場合、端末用画像に取得目標アイテムを手にしているポーズで第1ユーザアバターM1が含められたうえで、写真が自動的に撮られてもよい。この場合も、上述した画像取得イベントと同様に、写真は、そのときの端末用画像そのものであるが、適宜、不要な部分(例えばユーザインタフェースG611等)は除去されてもよい。
次に、図11以降を参照して、上述した仮想現実生成システム1の構成例を順に説明していく。
以下では、サーバ装置10が、情報処理システムの一例を実現するが、後述するように、一の端末装置20の各要素(図1の端末通信部21~端末制御部25参照)が、情報処理システムの一例を実現してもよいし、複数の端末装置20が、協動して情報処理システムの一例を実現してもよい。また、サーバ装置10と1つ以上の端末装置20が、協動して情報処理システムの一例を実現してもよい。
図11は、上述した画像取得イベント及びアイテム取得イベントに関連したサーバ装置10の機能ブロック図の一例である。図12は、上述した画像取得イベント及びアイテム取得イベントに関連した端末装置20の機能ブロック図の一例である。図13は、ユーザデータベース130内のデータの説明図である。図14は、アバターデータベース132内のデータの説明図である。なお、図13及び図14において、“***”は、何らかの情報が格納されている状態を表し、“-”は、情報が格納されていない状態を表し、“・・・”は同様の繰り返しを表す。
ここでは、まず、サーバ装置10の機能について説明してから、端末装置20の機能について説明する。
(サーバ装置の機能)
サーバ装置10は、図11に示すように、ユーザデータベース130と、アバターデータベース132と、ユーザ入力取得部140(入力取得部の一例)と、位置管理部142と、画像条件生成部144と、第1判定部146と、インタフェース形成部148と、準備処理部150と、イベント発生部152と、第1相対関係出力部154と、第2相対関係出力部156と、第2判定部158と、移動処理部162と、画像データ記憶部172とを含む。なお、以下で説明するサーバ装置10の機能の一部又は全部は、適宜、端末装置20により実現されてもよい(図21、図21A及び図21Bを参照して後述)。また、ユーザ入力取得部140から移動処理部162の区分けは、説明の都合上であり、一部の機能部が、他の機能部の機能を実現してもよい。これは、ユーザデータベース130、アバターデータベース132、及び画像データ記憶部172の区分けについても同様である。例えば、ユーザデータベース130内のデータの一部又は全部は、アバターデータベース132内のデータに統合されてもよいし、別のデータベースに格納されてもよい。
ユーザ入力取得部140から移動処理部162は、サーバ装置10のサーバ制御部13が、サーバ装置10のサーバ記憶部12内の1つ以上のプログラムを実行することで実現できる。また、ユーザデータベース130、アバターデータベース132、及び画像データ記憶部172は、サーバ装置10のサーバ記憶部12により実現できる。
ユーザデータベース130には、ユーザ情報600が格納される。図13に示す例では、ユーザ情報600は、各ユーザIDに、ユーザ名、ユーザアバターID、位置/向き情報等が対応付けられる。ユーザ名は、ユーザが自身で登録した名前であり、任意である。ユーザアバターIDは、ユーザアバターを特定するためのIDである。位置/向き情報は、ユーザアバターM1の位置情報と向き情報とを含む。ユーザアバターM1の位置情報は、実空間画像に対応付けられた座標系で管理されてよい。向き情報は、ユーザアバターM1の向きを表す情報であってよい。なお、位置/向き情報等は、ユーザからの操作入力に応じて、動的に変化しうる情報である。位置/向き情報に加えて、ユーザアバターM1の手足等の動きを表す情報や、顔の表情等を表す情報を含んでもよい。
アバターデータベース132には、ユーザアバターM1に関するアバター情報が格納される。図14に示す例では、ユーザアバター情報700は、各ユーザアバターIDに、顔、髪型、服装等が対応付けられる。顔、髪型、服装等の容姿に係る情報は、ユーザアバターを特徴付けるパラメータであり、あらかじめ設定されてもよいし、各ユーザにより設定されてもよい。例えば、アバターに係る顔、髪型、服装等の容姿に係る情報は、種類ごとIDが付与されてもよい。また、顔については、顔の形、目、口、鼻等の各種類にそれぞれパーツIDが用意され、顔に係る情報は、当該顔を構成する各パーツのIDの組み合わせで管理されてもよい。この場合、顔、髪型、服装等の容姿に係る情報は、アバターの描画情報として機能できる。すなわち、各ユーザアバターIDに紐付けられた容姿に係る各IDに基づいて、サーバ装置10のみならず端末装置20側においても各ユーザアバターM1を描画することが可能となる。
このようにして本実施形態では、基本的には、一のユーザに、一のユーザIDが対応付けられ、一のユーザIDに、ユーザアバターIDが対応付けられる。従って、一のユーザに、ある情報が対応付けられる状態と、当該一のユーザIDに、当該情報が対応付けられる状態と、当該一のユーザIDに対応付けられたユーザアバターIDに、当該情報が対応付けられる状態とは、互いに同義である。なお、一のユーザIDには、2つ以上のユーザアバターIDが対応付けられてもよい。
ユーザ入力取得部140は、端末装置20の入力部24を介して入力される各ユーザによる各種入力を取得する。
位置管理部142は、所定の配置条件が成立すると、仮想空間に、仮想現実媒体のうちの各種の表示媒体を位置付ける。各種の表示媒体は、第1ユーザに対応付けられる第1ユーザアバターM1、第2ユーザに対応付けられる第2ユーザアバターM1、及び他の表示媒体(例えば上述した特定アイテム)を含んでよい。
位置管理部142は、仮想空間に一の表示媒体を位置付ける場合、上述した実空間画像に対応付けている座標系で、当該一の表示媒体の位置情報を設定してよい。すなわち、位置管理部142は、各種の表示媒体の位置情報を、上述した実空間画像に対応付けている座標系で管理してよい。
所定の配置条件は、位置付ける表示媒体ごとに設定されてもよい。例えば、第1ユーザアバターM1に係る所定の配置条件は、第1ユーザによる入力であって、仮想空間への入室要求があった場合に満たされてよい。この場合、仮想空間における第1ユーザアバターM1の位置情報(初期の位置情報)は、第1ユーザにより指定可能であってもよいし、実空間における第1ユーザの位置情報に基づいて特定されてもよい。同様に、第2ユーザアバターM1に係る所定の配置条件は、第2ユーザによる入力であって、仮想空間への入室要求があった場合に満たされてよい。この場合、仮想空間における第2ユーザアバターM1の位置情報(初期の位置情報)は、第2ユーザにより指定可能であってもよいし、実空間における第2ユーザの位置情報に基づいて特定されてもよい。なお、位置管理部142による配置処理において実空間における各ユーザの位置情報が利用される場合、例えば第1ユーザと第2ユーザが実空間内に実質的に同じ位置にいるときは、仮想空間においても第1ユーザアバターM1と第2ユーザアバターM1とが実質的に同じ位置に位置付けられる。あるいは、他の実施例では、位置管理部142により位置付けられる際の仮想空間におけるユーザアバターM1の位置情報(初期の位置情報)は、前回の退出の際の同ユーザアバターM1の位置情報に対応してもよい。
また、特定アイテムに係る所定の配置条件は、対応するアイテム取得イベントのミッションが設定された場合に満たされてよい。仮想空間における位置管理部142により各種の表示媒体が位置付けられる位置(初期の位置情報)は、あらかじめ規定されてよいし、表示媒体の属性に応じてランダムに決定されてもよい。例えば、実空間内にある物体に対応する特定アイテムの場合、仮想空間における特定アイテムの位置情報(初期の位置情報)は、実空間における同物体の位置情報に対応してもよい。また、配置数が限られている特定アイテムに係る所定の配置条件は、配置数が上限値に満たないことを含んでよい。
位置管理部142は、グループごとに、仮想的に別々の仮想空間を形成してもよい。すなわち、位置管理部142は、一のグループに属する各ユーザアバターM1と、他の一のグループに属する各ユーザアバターM1とを、別々の仮想空間に位置付けられてもよい。この場合、別々の仮想空間は、見た目上は、同じであってもよい(すなわち、そこで活動しているユーザアバターM1だけが異なる空間であってよい)。
画像条件生成部144は、ユーザごとに、上述した端末用画像用の画像生成条件を生成する。画像生成条件は、例えば、日時、撮像した地点に対応付けられたID(後述する場所ID)、カメラパラメータ(方位角、迎角、画角等)、描画対象のユーザアバターのID、描画対象のユーザアバターの位置等を含んでよい。また、画像生成条件は、描画対象のユーザアバター情報700(図14参照)や描画対象のユーザアバターの姿勢等を示す情報を含んでよい。また、画像生成条件は、後述するユーザインタフェースを描画するための情報や、方向案内画像G6161及び距離案内画像G6162を描画するための情報等を含んでよい。
画像条件生成部144は、第1画像条件生成部1441と、第2画像条件生成部1442とを含む。
第1画像条件生成部1441は、第1ユーザにより視認可能な第1ユーザ用の端末用画像(第1表示画像の一例)用の画像生成条件を生成する。なお、第1ユーザ用の端末用画像は、上述したように、第1ユーザによる端末装置20の表示部23を介して視認可能であってよい。
第1画像条件生成部1441は、第1ユーザ用の端末用画像用の画像生成条件を、上述したように、第1ユーザ用の端末用画像が実空間画像をベースとして描画されるように生成する。具体的には、第1画像条件生成部1441は、第1ユーザアバターM1の位置情報(図13の位置/向き情報参照)に基づいて、第1ユーザ用の端末用画像用の実空間画像を、上述したようにAPIを利用して描画するための画像生成条件を生成する。
この場合、実空間画像を視る第1視点からの向きは、第1ユーザアバターM1の向き(図13の位置/向き情報参照)に応じて決定されてもよい。第1ユーザアバターM1の向きは、第1ユーザアバターM1の全体としての向きであってもよいし、第1ユーザアバターM1の特定の部位の向き(例えば顔の向き、体の向き、目の向き)等であってもよい。
また、第1画像条件生成部1441は、第1ユーザ用の端末用画像に第2ユーザアバターM1を描画するための画像生成条件を生成する。この場合、第1画像条件生成部1441は、第2ユーザアバターM1の位置情報(図13の位置/向き情報参照)に応じて、第1ユーザ用の端末用画像に第2ユーザアバターM1を描画するための画像生成条件を生成してもよい。例えば、第2ユーザアバターM1の位置情報が、第1ユーザ用の端末用画像で示される空間部に属する場合、第1画像条件生成部1441は、第1ユーザ用の端末用画像に第2ユーザアバターM1を描画するための画像生成条件を生成してよい。
第1画像条件生成部1441は、第2ユーザアバターM1を描画するための画像生成条件を生成する際、アバターデータベース132内の対応するユーザアバターIDに対応付けられたユーザアバター情報700(図14参照)を利用してもよい。また、この際、ユーザデータベース130内の対応するユーザアバターIDの位置/向き情報に基づいて、第2ユーザアバターM1の向きを表現するための画像生成条件を生成してもよい。
また、第1画像条件生成部1441は、第1ユーザ用の端末用画像に特定アイテムを描画するための画像生成条件を生成する。この場合、第1画像条件生成部1441は、特定アイテムの位置情報に応じて、第1ユーザ用の端末用画像に特定アイテムを描画するための画像生成条件を生成してよい。例えば、特定アイテムの位置情報が、第1ユーザ用の端末用画像で示される空間部に属する場合、第1画像条件生成部1441は、第1ユーザ用の端末用画像に特定アイテムを描画するための画像生成条件を生成してよい。
また、第1画像条件生成部1441は、画像取得イベントに係る第1ユーザ用の端末用画像を描画するための画像生成条件を生成する。この場合、図7を参照して上述したように、第1画像条件生成部1441は、第1所定条件が満たされたと判定された場合に、準備処理部150と連携して、複数種類のポーズのうちからそれぞれのポーズを選択するとともに、第1ユーザアバターM1及び第2ユーザアバターM1をそれぞれ選択したポーズで描画するための画像生成条件を生成する。なお、第2ユーザアバターM1が複数である場合、ポーズはそれぞれの第2ユーザアバターM1に対して別々に選択されてよい。複数種類のポーズは、ピースのような指や手を使うポーズや、ジャンプなど全身を使うポーズ等、任意である。また、複数種類のポーズは、顔の表情の種類を含んでもよい。なお、ポーズの選択方法等については上述したとおりであってよい。
なお、第1画像条件生成部1441は、画像取得イベントに係る第1ユーザ用の端末用画像を描画するための画像生成条件を生成する際、第1ユーザアバターM1が第1ユーザ用の端末用画像の中央部に来るように第1ユーザアバターM1を描画するための画像生成条件を生成してもよいし、第1ユーザアバターM1及び第2ユーザアバターM1がランダムに決定した配置順になるように第1ユーザアバターM1を描画するための画像生成条件を生成してもよいし、第1ユーザアバターM1及び第2ユーザアバターM1をあらかじめ指定された配置順になるように第1ユーザアバターM1を描画するための画像生成条件を生成してもよい。この場合、第1画像条件生成部1441は、第1ユーザ用の端末用画像における第2ユーザアバターM1の直前の描画位置をずらす等の調整を行ってもよい。このような調整は、後述する撮影配置処理の一部として実行されてもよい。あるいは、第1画像条件生成部1441は、第1ユーザ用の端末用画像における第2ユーザアバターM1の直前の描画位置が変化(影響)しないように、第1ユーザアバターM1を描画するための画像生成条件を生成してもよい。
第2画像条件生成部1442は、第2ユーザにより視認可能な第2ユーザ用の端末用画像用の画像生成条件を生成する。なお、第2ユーザ用の端末用画像は、上述したように、第2ユーザによる端末装置20の表示部23を介して視認可能であってよい。
第2画像条件生成部1442は、第1画像条件生成部1441と同様、第2ユーザ用の端末用画像(第2表示画像の一例)用の画像生成条件を、上述したように、第2ユーザ用の端末用画像が実空間画像をベースとして描画されるように生成する。具体的には、第2画像条件生成部1442は、第2ユーザアバターM1の位置情報(図13の位置/向き情報参照)に基づいて、第2ユーザ用の端末用画像用の実空間画像を、上述したようにAPIを利用して描画するための画像生成条件を取得してよい。そして、第2画像条件生成部1442は、第2ユーザアバターM1に対応付けられる第2視点から視た実空間画像に基づいて、第2ユーザ用の端末用画像を描画するための画像生成条件を生成する。この場合、実空間画像を視る第2視点からの向きは、第2ユーザアバターM1の向き(図13の位置/向き情報参照)に応じて決定されてもよい。第2ユーザアバターM1の向きは、第2ユーザアバターM1の全体としての向きであってもよいし、第2ユーザアバターM1の特定の部位の向き(例えば顔の向き、体の向き、目の向き)等であってもよい。
また、一の第2ユーザに係る第2画像条件生成部1442は、第2ユーザ用の端末用画像に、第1ユーザアバターM1や他の第2ユーザアバターM1(当該一の第2ユーザとは異なる他の第2ユーザに対応付けられた第2ユーザアバターM1)を描画するための画像生成条件を生成する。この場合、第2画像条件生成部1442は、第1ユーザアバターM1や他の第2ユーザアバターM1の位置情報(図13の位置/向き情報参照)に応じて、第2ユーザ用の端末用画像に第1ユーザアバターM1や他の第2ユーザアバターM1を描画するための画像生成条件を生成してもよい。
また、第2画像条件生成部1442は、第1画像条件生成部1441と同様に、第2ユーザ用の端末用画像に特定アイテムを描画するための画像生成条件を生成する。また、第2画像条件生成部1442は、第1画像条件生成部1441と同様に、画像取得イベントに係る第2ユーザ用の端末用画像を描画するための画像生成条件を生成する。
第1判定部146は、ユーザごとに第1所定条件を満たすか否かを判定する。第1所定条件は、上述したとおりであってよい。この場合、第1判定部146は、第1所定条件を満たすか否かを判定する際、ユーザデータベース130内の対応するユーザアバターM1の位置情報を利用してよい。この場合、第1判定部146は、各ユーザアバターM1の位置情報に基づいて、各ユーザアバターM1間の距離のような、相対位置関係(後述の第1相対関係)を算出できる。
ここで、各ユーザアバターM1の位置情報は、上述したように、位置管理部142により初期的に決定され、その後、後述する移動処理部162により更新される。各ユーザアバターM1の位置情報が、位置管理部142に関して上述したように又は後出の移動処理部162に関して後述するように、実空間における各ユーザの位置に基づいて特定される場合には、第1所定条件は、実空間における各ユーザの位置に基づいて判定されることになる。例えば、第1ユーザアバターM1と第2ユーザアバターM1との間の距離(仮想空間内での相対距離)が、所定距離内である場合に満たされる第1所定条件は、実空間における同ユーザ間の距離が所定距離内である場合に満たされてよい。また、例えば、第1ユーザアバターM1の位置が、対応する特定の場所の基準位置(特定位置)に対して所定距離内にある場合に満たされる第1所定条件は、実空間における同ユーザ位置が、同特定位置に対して所定距離内である場合に満たされてよい。
インタフェース形成部148は、端末用画像にユーザインタフェースを形成する。ユーザインタフェースは、図6を参照して上述したユーザインタフェースG611、G612等を含んでよい。なお、インタフェース形成部148は、後述するように、準備処理部150と連携して、シャッタボタンである操作ボタンB602(図6参照)をアクティブ(操作可能な状態)にする処理を行う。
準備処理部150は、第1判定部146により第1所定条件が満たされたと判定された場合に、所定イベントを発生可能とするための準備処理を行う。準備処理部150は、ユーザごとに判定される第1所定条件の成否に応じて、ユーザごとに準備処理を行う。例えば、第1ユーザに関して第1所定条件が満たされたと判定された場合に、第1ユーザに関して所定イベントを発生可能とするための準備処理を行う。
準備処理は、所定イベントごとに異なりえ、所定イベントの属性に依存して省略されてもよい。例えば、所定イベントが、上述したイベントE1(共通のルームや特定の位置に瞬間移動するイベント)である場合、準備処理は省略されてもよいし、瞬間移動用のボタンを発生又はアクティブ化する処理であってもよい。
本実施形態では、上述したように所定イベントは、画像取得イベントであり、準備処理は、画像取得イベントを発生させるためのインタフェースとして、シャッタボタンである操作ボタンB602(図6参照)をアクティブ(操作可能な状態)にする処理を含む。なお、準備処理は、第1所定条件が満たされたと判定されたユーザ用の端末用画像に対して実行される。
具体的には、準備処理部150は、第1判定部146により第1所定条件が満たされたと判定された場合に、インタフェース形成部148を介して、操作ボタンB602を非アクティブ状態からアクティブ状態へと遷移させる。なお、変形例では、準備処理部150は、第1判定部146により第1所定条件が満たされたと判定された場合に、インタフェース形成部148を介して、操作ボタンB602を非表示状態から表示状態へと遷移させてもよい。あるいは、他の変形例では、準備処理部150は、第1判定部146により第1所定条件が満たされたと判定された場合に、インタフェース形成部148を介して、操作ボタンB602の機能を、通常の写真撮影機能から、記念撮影機能に遷移させてもよい。この際、シャッタボタンである操作ボタンB602(図6参照)は、“いいね”ボタンやシェアボタンように形態が変化してもよい。この場合、通常の写真撮影機能は、後述する第1ユーザアバターM1の写り込みのない態様で写真を撮る機能(すなわち第1ユーザ用の端末用画像を記憶する機能)であってもよい。
また、更なる他の変形例として、第1判定部146による第1所定条件が満たされているか否かの判定や、準備処理部150による操作ボタンB602に係る準備処理は、省略されるようにしてもよい。この場合、操作ボタンB602は、基本的に、常時、アクティブ化しておけばよく、操作ボタンB602を押すと、第1所定条件が満たされていない場合であっても、端末用画像として撮影が可能な範囲にいるユーザアバターM1同士の記念撮影(ツーショット写真の撮影)をすることができる。第1判定部146による判定や準備処理部150による準備処理の省略は、例えば、操作ボタンB602を常時アクティブ化することに伴って、第1判定部146及び準備処理部150を経由しないで処理したり、経由する場合でも第1所定条件を解除又は無効としたりすることによって実行され得る。なお、第1判定部146による判定や準備処理部150による準備処理の省略は、本明細書に開示した他の実施形態においても採用され得る(後記する第2判定部158による判定が省略される場合を含む)。
また、本実施形態では、上述したように所定イベントは、画像取得イベントであり、準備処理は、更に、記念撮影となるような描画態様で各ユーザアバターM1を描画する処理を含んでよい。
具体的には、準備処理部150は、第1ユーザに関して第1判定部146により第1所定条件が満たされたと判定された場合に、第1画像条件生成部1441を介して、第1ユーザアバターM1と第2ユーザアバターM1のそれぞれが第1ユーザ用の端末用画像に含まれるように、第1ユーザ用の端末用画像を描画するための画像生成条件を生成する。以下、準備処理部150が実行する準備処理のうちの、第1画像条件生成部1441と連携して実行する当該描画準備処理を、「撮影配置処理」とも称する。撮影配置処理は、好ましくは、第1ユーザアバターM1と第2ユーザアバターM1のそれぞれが正面を向いた画像で含まれるように、第1ユーザ用の端末用画像を描画するための画像生成条件を生成する。
なお、第1画像条件生成部1441が、画像取得イベントに際して、第1ユーザアバターM1及び第2ユーザアバターM1をそれぞれ選択したポーズで描画するための画像生成条件を生成する処理は、上述した撮影配置処理の後に実行されてもよいし、撮影配置処理と実質的に同時に実現されてもよい。換言すると、撮影配置処理は、画像取得イベントと連動して同時に実行されてもよいし、シャッタボタンである操作ボタンB602(図6参照)をアクティブ(操作可能な状態)にする処理と同期して実行されてもよい。
なお、同様に、準備処理部150は、第2ユーザに関して第1判定部146により第1所定条件が満たされたと判定された場合に、第1画像条件生成部1441を介して、第2ユーザアバターM1とともに第1所定条件を満たした他のユーザアバターM1のそれぞれが第2ユーザ用の端末用画像に含まれるように、第2ユーザ用の端末用画像を描画するための画像生成条件を生成する。
ここで、図15及び図16を参照して、撮影配置処理について説明する。ここでは、第1画像条件生成部1441について説明するが、第2画像条件生成部1442についても同様である。
図15及び図16には、仮想空間内の第1ユーザアバターM1(第1ユーザに係るユーザアバターM1)と仮想カメラ60とが側面視で模式的に示されている。仮想カメラ60からの矢印R13は、第1ユーザ用の端末用画像に係る第1視点からの視線方向を表す。図15は、上述した画像取得イベントの前の状態を示し、図16は、上述した画像取得イベントの際の状態を示す。なお、画像取得イベントの際の状態では、第2ユーザアバターM1が第1ユーザアバターM1のそばに位置するが、図16では、第2ユーザアバターM1の図示は省略されている。
ここでは、説明用に仮想カメラ60を利用する。仮想カメラ60の位置は、第1ユーザ用の端末用画像に係る第1視点に対応し、仮想カメラ60の視線方向(矢印R13の方向)は、第1ユーザ用の端末用画像を生成する際の第1視点からの視線方向(実空間画像を視る方向)を表す。
図15に示す状態は、画像取得イベントの前の状態であって、撮影配置処理が実行される前の状態である。この場合、第1ユーザアバターM1は、仮想カメラ60の背後に位置付けられ、例えば第1ユーザアバターM1の前(例えば目の前)に仮想カメラ60が位置する。このとき、仮想カメラ60の視線方向は、第1ユーザアバターM1の向きに対応する。この場合、第1ユーザ用の端末用画像は、一人称視点の画像となり、第1ユーザアバターM1自身はアバター(画像G610ではない形態)として描画されない。ただし、第1ユーザ用の端末用画像には、第1ユーザアバターM1の手など体の一部が描画されるような画像生成条件を生成されてもよい。例えば、第1ユーザが自身の左手を目の前に出した場合、第1ユーザ用の端末用画像には、第1ユーザアバターM1の左手が含められてもよい。
図16に示す状態は、画像取得イベントの際の状態であって、撮影配置処理が実行される後の状態である。この場合、第1ユーザアバターM1は、仮想カメラ60の前側に位置付けられる。このとき、仮想カメラ60の視線方向は、第1ユーザアバターM1に向かう向きに対応する。換言すると、仮想カメラ60の視野内に第1ユーザアバターM1が移動する。
撮影配置処理は、このようにして、第1ユーザ用の端末用画像にユーザアバターM1が含まれるように、ユーザアバターM1の位置を実質的に変化させることを含む。ただし、実際の処理としては、ユーザアバターM1の位置情報自体は変化させずに、第1ユーザ用の端末用画像にユーザアバターM1を追加的に描画するような画像生成条件を生成する処理であってよい。
イベント発生部152は、画像データ取得部1521と、各種イベント発生部1522とを含む。
画像データ取得部1521は、画像取得イベントを発生させる。本実施形態では、画像データ取得部1521は、上述した第1所定条件が満たされ、かつ、第1ユーザによる操作ボタンB602の操作入力(所定入力の一例)が取得された場合に、画像取得イベントを発生させる。なお、変形例では、画像データ取得部1521は、上述した第1所定条件が満たされると、自動的に(第1ユーザによる操作ボタンB602の操作入力とは無関係に)、画像取得イベントを発生させてもよい。あるいは、画像データ取得部1521は、上述した第1所定条件が満たされ、他の任意の条件が成立し、かつ、第1ユーザによる操作ボタンB602の操作入力が取得された場合に、画像取得イベントを発生させてもよい。また、操作ボタンB602の操作入力に代えて又は加えて、他の入力(音声入力等を含む)が利用されてもよい。
画像データ取得部1521は、第1ユーザに関する画像取得イベントに際して第1画像条件生成部1441により生成された第1ユーザ用の端末用画像(第1ユーザアバターM1及び第2ユーザアバターM1が描画された端末用画像)用の画像生成条件に基づいて、イベント画像データ(特定の画像データの一例)に係る画像生成条件(特定の画像データの画像生成条件の一例)を取得する。なお、イベント画像データは、第1ユーザに関する画像取得イベントの際に第1画像条件生成部1441により生成された第1ユーザ用の端末用画像用の画像生成条件自体のデータであってもよいし、それに対して加工がなされた画像データ(例えば圧縮等されたデータや、ユーザインタフェースや一部の表示媒体が除去されたデータ)用の画像生成条件であってもよい。また、イベント画像データに係る画像生成条件は、第1画像条件生成部1441により生成された第1ユーザ用の端末用画像用の画像生成条件に対して、ユーザにより選択される付加情報又は所定の付加情報(場所の名前や、撮影時刻、フレームの絵等)が追加されてもよい。
イベント画像データに係る画像生成条件とは、当該イベント画像データに係る画像を生成するための画像生成条件である。イベント画像データに係る画像生成条件は、例えば、撮像した日時、撮像したフェーズ名、撮像した地点に対応付けられたID(後述する場所ID)、カメラパラメータ(方位角、迎角、画角等)を含んでよい。なお、フェーズ名は、ウォーターマークの印字に利用されてよい。また、イベント画像データに係る画像生成条件は、描画対象のユーザアバター情報700(図14参照)や撮像時のポーズの種類を示す情報を含んでよい。
例えば、画像データ取得部1521は、図8を参照して説明した例において、“はい、チーズ!”やシャッタ音の出力と同期して、そのタイミング又はその前後での第1ユーザ用の端末用画像に基づいて、イベント画像データに係る画像生成条件を取得する。なお、変形例では、画像データ取得部1521は、イベント画像データ自体を取得してもよい。
なお、画像データ取得部1521は、ユーザごとに機能する。すなわち、第2ユーザの場合も同様に、画像データ取得部1521は、第2ユーザに関する画像取得イベントに際して第2画像条件生成部1442により生成された第2ユーザ用の端末用画像に係る画像生成条件に基づいて、イベント画像データに係る画像生成条件を取得する。
各種イベント発生部1522は、仮想空間における各種イベントを発生させる。各種イベントは、上述した所定イベント以外のイベントであってよく、例えば、上述したアイテム取得イベントや、各種イベントに関連したミッション等であってもよい。例えば、各種イベント発生部1522は、上述したアイテム取得イベントにおいて、第2所定条件を満たしたユーザに、特定アイテム又はそれに応じた仮想現実媒体を対応付ける。
第1相対関係出力部154は、仮想空間における第1ユーザアバターM1と第2ユーザアバターM1との相対位置関係(以下、「第1相対位置関係」とも称する)に基づいて、第1相対位置関係を表す又は示唆する第1相対関係情報を出力する。第1相対関係情報は、端末用画像を介して出力されてもよい。すなわち、第1相対関係情報は、端末用画像に含まれる画像の形態であってよい。
仮想空間における第1ユーザアバターM1と第2ユーザアバターM1との相対位置関係は、相対距離や相対方位等を含む概念である。本実施形態では、第1相対関係情報は、図6を参照して上述したような方向案内画像G6161及び距離案内画像G6162を含む。ただし、変形例では、第1相対関係情報は、方向案内画像G6161及び距離案内画像G6162のうちのいずれか一方を含んでもよい。
ここで、図17及び図18を参照して、第1相対位置関係の算出方法の一例について説明する。図17には、第1ユーザアバターM1と第2ユーザアバターM1とが平面視(鳥瞰図)で模式的に示されている。図18には、第1ユーザアバターM1の向きφの説明図として、顔パーツの向きに係るローカル座標系(x1軸、y1軸、z1軸)が示されている。
本実施形態では、方向案内画像G6161に係る方向αは、例えば、以下のような算出式に基づいて算出されてもよい。
α=φ+θ
ここで、(Lat
p,Lng
p)は、第1ユーザアバターM1の位置情報(緯度、経度)であり、(Lat
t,Lng
t)は、実空間画像に対応付けられている座標系での第2ユーザアバターM1の位置情報(緯度、経度)である。なお、図17には、距離案内画像G6162に係る距離dが模式的に示されている。距離dは、位置情報(Lat
p,Lng
p)と位置情報(Lat
t,Lng
t)との間のユークリッド距離であってよい。なお、距離dは、上述した第1判定部146による判定に利用されてよい。
また、第1ユーザアバターM1の向きφは、顔パーツの向きとして、x1軸、y1軸及びz1軸のそれぞれの軸まわりの回転角度で規定されてよい。なお、x1軸、y1軸及びz1軸のそれぞれの軸まわりの回転角度の可変範囲は、特定パーツの属性に応じて設定されてよい。あるいは、上述したように、第1ユーザアバターM1の向きφは、他のパーツの方向(例えば目の方向、すなわち視線方向)に基づいて算出されてもよい。
第2相対関係出力部156は、仮想空間における第1ユーザアバターM1と特定アイテムとの相対位置関係(以下、「第2相対位置関係」とも称する)に基づいて、第2相対位置関係を表す又は示唆する第2相対関係情報を出力する。第2相対関係情報は、端末用画像を介して出力されてもよい。すなわち、第2相対関係情報は、端末用画像に含まれる画像の形態であってよい。
仮想空間における第1ユーザアバターM1と特定アイテムとの相対位置関係は、相対距離や相対方位等を含む概念である。本実施形態では、第2相対関係情報は、図6を参照して上述したような方向案内画像G614及び距離案内画像G615を含む。ただし、変形例では、第2相対関係情報は、方向案内画像G614及び距離案内画像G615のうちのいずれか一方を含んでもよい。方向案内画像G614及び距離案内画像G615に係る方向や距離の算出方法は、図17及び図18を参照して上述した第1相対位置関係の算出方法と同様であってよい。
第2判定部158は、ユーザごとに第2所定条件を満たすか否かを判定する。第2所定条件は、上述したとおりであってよい。この場合、第2判定部158は、第2所定条件を満たすか否かを判定する際、ユーザデータベース130内の対応するユーザアバターM1の位置情報を利用してよい。この場合、第1判定部146は、各ユーザアバターM1の位置情報と特定アイテムの位置情報(既知)に基づいて、第2相対位置関係を算出できる。
移動処理部162は、各ユーザからの各種入力に基づいて、各ユーザアバターM1の位置及び向きを変更する。ユーザアバターM1の位置及び向きを変更するためのユーザの入力は、多様であってよく、端末装置20ごとに異なってもよい。一のユーザに係るユーザアバターM1の位置情報は、特定キー(例えば“WASD”キー)のような物理的なスイッチの操作入力により変更されてもよいし、モーションキャプチャ技術に基づく当該一のユーザの動きを示す入力により変更されてもよい。また、一のユーザに係るユーザアバターM1の位置情報は、実空間における当該一のユーザの位置に基づいて特定されてもよい。例えば、第1ユーザと第2ユーザが実空間において同じ位置に位置する場合に、第1ユーザアバターM1の位置情報と第2ユーザアバターM1の位置情報は同じに設定されてもよい。以下では、ユーザアバターM1の位置情報を変更するためのユーザ入力を、「移動操作入力」とも称し、ユーザアバターM1の向き情報を変更するためのユーザ入力を、「方向操作入力」とも称する。
移動処理部162は、第1ユーザアバターM1の移動に関する処理を行う第1移動処理部1621と、第2ユーザアバターM1の移動に関する処理を行う第2移動処理部1622とを含む。なお、第1移動処理部1621及び第2移動処理部1622は、処理対象のユーザアバターM1が異なるだけで実質的に同様の機能を有するので、以下では、第1移動処理部1621について主に説明する。従って、以下の説明において、第2移動処理部1622に関しては、“第1”を“第2”に読み替えれば、実質的に成り立つ。
第1移動処理部1621は、ユーザ入力取得部140により取得される第1ユーザからの移動操作入力(第1入力の一例)や方向操作入力に基づいて、仮想空間における第1ユーザアバターM1の位置情報や向き情報を変化させる。本実施形態では、一例として、仮想空間における第1ユーザアバターM1の位置情報及び向き情報は、端末用画像を形成する実空間画像に対応付けられている座標系で管理される。なお、仮想空間における第1ユーザアバターM1の位置情報は、基本的に、第1画像条件生成部1441により生成される端末用画像用の画像生成条件における第1ユーザアバターM1の描画位置と対応するが、常に一致する必要はない。例えば、上述した撮影配置処理の際のように、第1ユーザアバターM1の位置情報が変化することなく、端末用画像における第1ユーザアバターM1の描画位置が変化するような画像生成条件が生成されてもよい。これは、向き情報についても同様である。
第1移動処理部1621は、第1ユーザからの移動操作入力に基づいて、仮想空間において自由に(無制限に)、第1ユーザアバターM1の位置情報を変化させてもよいが、好ましくは、所定の制約条件下で、第1ユーザアバターM1の位置情報を変化させてよい。所定の制約条件は、任意であるが、例えば実空間における物理現象に明らかに反するような移動(例えば建物の壁を透過するような移動)が禁止されるように設定されてもよい。
また、第1移動処理部1621は、仮想空間を管理する管理ユーザにより設定されうるモード等に応じて、所定の制約条件を変化させてもよいし、所定の制約条件をなくしてもよい。例えば、探検モードなるモードが設定された場合は、所定の制約条件が実質的に無くされてもよいし、有意に緩くされてもよい。
本実施形態では、仮想空間を管理する管理ユーザは、各種モードを設定可能であり、各種モードは、各種ミッションモードを含む。各種ミッションモードは、上述した特定アイテムを探してゲットするミッションモードや、特定の場所まで移動するミッションモード等を含んでよい。本実施形態では、各種ミッションモードは、特定の体験や学習用のミッションモードであって、複数の課題(サブミッション)を順にクリアしていくことで体験や学習の深度を高めるミッションモード(以下、「進行型ミッションモード」とも称する)を含む。
図19は、進行型ミッションモードの説明図である。図19には、仮想空間内の空間部が概念的に五角形の領域で模式的に示されている。各空間部SP30からSP35のそれぞれでは、対応する課題(サブミッション)が対応付けられる。
この場合、ユーザは、時計回りに周回する態様(矢印R19参照)で、空間部SP30からSP35を順に巡る態様で複数の課題(サブミッション)を順にクリアしていくことで、体験や学習の深度を高めることができる。この場合、第1移動処理部1621は、空間部SP30からSP34のいずれか1つである一の空間部(第1領域の一例)において、当該空間部に対応付けられた課題(第1移動条件の一例)が第1ユーザによりクリアされた場合に、次の空間部(第2領域の一例)への第1ユーザアバターM1の移動を許可してよい。あるいは、次の空間部への移動は、強制的な移動の形態であってもよいし、移動が許可されたユーザからの指示に応答して実現されてもよい。
なお、図19に示す例では、一例として、概念的に周回する進行型ミッションモードが示されているが、進行型ミッションモードは、周回に限らず、いわゆる“すごろく”のように、多様な態様で実現されてよい。
例えば、フランスへの旅行に係る進行型ミッションモードは、羽田空港に移動するサブミッション、羽田空港で両替を行うサブミッション、チェックインカウンターにて搭乗手続きを行うサブミッション、手荷物検査を行うサブミッション、税関/出国審査を通るサブミッション、飛行機に搭乗するサブミッション、フランスにて入国手続きを行うサブミッション、といった具合に、実際の行動に類するサブミッションを含んでもよい。この場合、事前に準備できるので、初めて海外に旅行に行く子供用の事前体験としても有用となる。また、修学旅行や社内旅行等において事前の待ち合わせ場所の確認等にも利用できる。また、巨大な駅のような複雑な構造の駅における待ち合わせや、単独行動、グループ自由行動等の分散行動のための事前学習としても利用できる。
また、第1移動処理部1621は、図6を参照して上述した瞬間移動用のボタンB605からB609に係る移動操作入力に基づいて、対応する場所に第1ユーザアバターM1を移動させる。また、上述したイベントE1(共通のルームや特定の位置に瞬間移動するイベント)を実現する場合は、第1移動処理部1621は、同様の瞬間移動を実現してもよい。
ところで、本実施形態のように実空間画像を利用することで仮想空間が実空間に近い空間である場合、各ユーザアバターM1の行動範囲(活動範囲)が比較的広くなりえる。従って、ある決まりの下で複数のユーザアバターM1が集団で活動(集団行動)をする際には、収拾がつかなくなるおそれがある。特に、探検モードのようなモードが設定されている場合、各ユーザアバターM1は自由に色々な場所に移動できるため、統率された行動(例えば集合など)が難しくなる場合がある。
そこで、本実施形態では、移動処理部162は、仮想空間を管理する管理ユーザ又はその類の特定ユーザ(所定ユーザの一例)からの集合指示入力(第3入力の一例)に基づいて、各ユーザアバターM1を、当該集合指示入力に応じた位置に移動させてもよい。この場合、特定ユーザは、管理ユーザの指示を受けたユーザであってもよい。また、例えば、生徒である複数のユーザに、進行型ミッションモードを設定する場合、特定ユーザは、生徒たちを管理するユーザであってもよい。この場合、特定ユーザは、事前に登録されてもよい。
集合指示入力に応じた位置は、あらかじめ規定された位置であってもよい。この場合、あらかじめ規定された位置は、複数用意されてよく、各ユーザアバターM1にとって最も近い位置であってもよい。また、あらかじめ規定された位置は、特定ユーザ等によりあらかじめ指定可能であってもよい。また、集合指示入力は、当該集合指示入力に応じた位置を指定する位置情報を含んでもよい。
移動処理部162による移動対象のユーザアバターM1は、同一グループ内の各ユーザアバターM1であってもよいし、同一グループ内の一部のユーザアバターM1に限定されてもよい。
移動処理部162は、特定ユーザからの集合指示入力がユーザ入力取得部140により取得された場合に、強制的に、各ユーザアバターM1を、当該集合指示入力に応じた位置(例えば集合場所)に移動させてもよい。あるいは、移動処理部162は、各ユーザからの応答入力(承認の入力)に基づいて、それぞれのユーザアバターM1を、当該集合指示入力に応じた位置に移動させてもよい。この場合、ユーザは拒否することも可能であり、自由度の高い構成を実現できる。なお、集合指示入力は、強制的な集合指示入力と、拒否可能な集合指示入力を含む複数種類の入力が用意されてもよい。なお、特定ユーザからの集合指示入力に係る指示内容は、強制的な移動に先立って、音声やメッセージ等の形態で伝達されてもよい。
画像データ記憶部172は、上述した画像データ取得部1521により取得されたイベント画像データに係る画像生成条件を記憶する。画像データ記憶部172は、ユーザごとの記憶領域を備えてよく、この場合、ユーザごとに、ユーザごとの画像データ取得部1521により取得されたイベント画像データに係る画像生成条件を記憶する。図20は、画像データ記憶部172に記憶されるイベント画像データに係る画像生成条件の説明図である。図20は、第1ユーザに係るイベント画像データに係る画像生成条件に関する。図20に示す例では、イベント画像データに係る画像生成条件は、場所IDが付与され、場所IDごとに、カメラパラメータ、アバター情報、位置情報、及び日時情報を含む。この場合、場所IDごとに、カメラパラメータ、アバター情報、位置情報、及び日時情報が組み込まれたURL(Uniform Resource Locator)が発行されてもよい。イベント画像データに係る画像生成条件を記憶する場合、イベント画像データを記憶する場合に比べて、記憶容量の効率化を図ることができる。なお、変形例ではイベント画像データに係る画像生成条件を記憶することに代えて、イベント画像データ自体が記憶されてもよい。
場所IDは、画像取得イベントごとに付与される識別子である。カメラパラメータは、画像取得イベントの際の第1視点に関する情報であり、例えば方位角、迎角、画角等を含んでよい。アバター情報は、対応するイベント画像データに描画されるべき描画対象の第2ユーザアバターM1に関する情報である。位置情報は、取得されたイベント画像データに係る実空間画像の位置情報である。日時情報は、対応するイベント画像データの取得の日時を表す。
なお、第1ユーザに係る記憶領域内のイベント画像データに係る画像生成条件へのアクセスは、第1ユーザのみ可能であってもよいし、同一グループ内の第2ユーザも可能であってもよいし、他のユーザも可能であってもよい。第1ユーザに係る記憶領域内のイベント画像データに係る画像生成条件へのアクセス権は、第1ユーザにより適宜設定可能であってよい。また、イベント画像データごとにアクセス権が設定可能とされてもよい。
なお、本実施形態では、画像データ記憶部172には、画像データ取得部1521により取得されたイベント画像データに係る画像生成条件が記憶されているが、これに加えて、他のタイミングで取得された画像データ又はその画像生成条件も記憶されてもよい。
イベント画像データに係る画像生成条件へのアクセスは、イベント画像データに係る画像を描画(再現)するためのアクセスであってよい。この場合、例えば写真再現ページにおいて、ユーザは、アクセスした画像生成条件に基づいて、当該画像生成条件に係るイベント画像データに係る画像を閲覧できる。この場合、写真再現ページでは、後述する画像出力部212は、アクセスにより取得された画像生成条件をクエリパラメータとしてパースして変数に格納し、Google社が提供する“Google Maps API”又はその類のAPIのメソッドに引数として入力、アバター情報の選定などを行うことで、イベント画像データに係る画像の生成(再現)を実現してよい。
(端末装置の機能)
端末装置20は、図12に示すように、画像生成条件受信部210と、画像出力部212と、ユーザ入力生成部214と、ユーザ入力送信部216とを含む。
画像生成条件受信部210は、上述したサーバ装置10の画像条件生成部144により生成される端末用画像用の画像生成条件を受信する。
画像出力部212は、画像生成条件受信部210により受信された端末用画像用の画像生成条件に基づいて、端末用画像を描画し、描画した端末用画像を、上述した表示部23上に出力する。例えば、画像出力部212は、端末用画像用の画像生成条件をクエリパラメータとしてパースして変数に格納し、Google社が提供する“Google Maps API”又はその類のAPIのメソッドに引数として入力、アバター情報の選定などを行うことで、端末用画像を描画してよい。なお、画像生成条件を基にサーバ装置10によって画像データ(HTML文書+画像)を生成し、端末装置20は、画像生成条件そのものから直接画像を描画せず、サーバ装置10から受信した画像データ(HTML文書+画像)を基に撮像画像を含む表示画面を表示部23上に描画するようにしてもよい。
ユーザ入力生成部214は、上述した入力部24を介して入力される各種入力に応じた信号を生成する。
ユーザ入力送信部216は、ユーザ入力生成部214により受信された信号をサーバ装置10に送信する。この場合、サーバ装置10は、かかる信号を受信することで、対応するユーザによる各種入力を取得する。
ところで、上述したサーバ装置10及び端末装置20間の機能の分担は、あくまで一例であり、上述したように、多様に変更が可能である。すなわち、サーバ装置10の機能の一部又は全部は、適宜、端末装置20により実現されてもよい。
例えば、図21及び図21Aに示すような分担態様が実現されてもよい。この場合も、サーバ装置10Aと各ユーザの端末装置20Aとが連携して、上述したサーバ装置10と端末装置20とが連携する場合と同様の機能を実現できる。図21及び図21Aに示すような分担態様の場合、第1判定部146、画像条件生成部144の第1画像条件生成部1441、イベント発生部152、第1相対関係出力部154、移動処理部162の第1移動処理部1621の各機能は、以下で説明するように、端末装置20Aにおいて各ブラウザで行うことが可能である。
図21Aに示すような端末装置20Aにおいては、例えば、シャッタボタンである操作ボタンB602(図6参照)が押されたときに、その際の画像生成条件を生成し且つサーバ装置10に送信することや、既にサーバ装置10から受信済みのアバター位置情報等のデータを使って写真(例えば記念撮影で得られた写真又は動画)に係る端末画像用画像を描画すること等が可能である。
図21に示す例では、サーバ装置10Aは、ユーザデータベース130と、アバターデータベース132と、位置情報取得部166と、位置情報送信部167と、データ更新処理部168とを含む。なお、位置情報取得部166、位置情報送信部167、及びデータ更新処理部168は、サーバ装置10Aのサーバ制御部(図1のサーバ制御部13参照)が、サーバ装置10Aのサーバ記憶部(図1のサーバ記憶部12参照)内の1つ以上のプログラムを実行することで実現できる。
位置情報取得部166は、各ユーザアバターM1の位置/向き情報を各端末装置20から受信することで取得する。位置情報取得部166は、各ユーザアバターM1の位置/向き情報を取得すると、ユーザデータベース130内の記憶データを更新する。ユーザデータベース130内には、図13に示したように、ユーザアバターIDごとの位置/向き情報が記憶されてよい。
位置情報送信部167は、ユーザデータベース130内のユーザアバターM1の位置/向き情報を、送信対象の端末装置20Aに送信する。一のユーザアバターM1の位置/向き情報の送信対象の端末装置20Aは、当該一のユーザアバターM1と同一グループに属する他のユーザアバターM1に係るユーザの端末装置20Aを含む。これにより、同一グループ内の各ユーザに係る端末装置20Aは、他のユーザに係る各ユーザアバターM1の位置/向き情報を得ることができる。この場合、描画対象でない不要なユーザアバターM1については、その位置/向き情報が送信されることがなく、通信負荷の低減を図ることができる。
データ更新処理部168は、ユーザデータベース130やアバターデータベース132内のデータに基づいて、各ユーザの端末装置20Aに更新データを送信する。なお、更新データの送信タイミングは、適宜設定されてよく、端末装置20Aからの要求に応じたタイミングを含んでよい。
図21Aに示す端末装置20Aは、仮想現実アプリケーションが、ブラウザ上で利用できるWebアプリケーションの形態である場合に好適である。端末装置20Aは、画像出力部212A、ユーザ入力生成部214A、及びユーザ入力送信部216Aを含む。画像出力部212A、ユーザ入力生成部214A、及びユーザ入力送信部216Aは、図12を参照して、上述した画像出力部212、ユーザ入力生成部214、及びユーザ入力送信部216と実質的に同様であってよい。なお、画像出力部212Aは、後述する第1画像条件生成部2441Aが生成する端末用画像用の画像生成条件に基づいて、端末用画像を描画し、描画した端末用画像を、上述した表示部23上に出力する。
更に、図21Aに示す例では、端末装置20Aは、位置情報更新部241Aと、位置管理部242Aと、第1画像条件生成部2441Aと、第1移動処理部2621Aと、第1判定部246Aと、インタフェース形成部248Aと、準備処理部250Aと、イベント発生部252Aと、第1相対関係出力部254Aと、第2相対関係出力部256Aと、第2判定部258Aと、端末記憶部22Aとを含む。
以下では、第1ユーザに係る端末装置20Aについて説明するが、第2ユーザに係る端末装置20Aについても実質的に同様である。
位置情報更新部241Aから第2判定部258Aまでの各部は、端末装置20Aの端末制御部(図1の端末制御部25参照)が、端末装置20Aの端末記憶部(図1の端末記憶部22参照)内のプログラムである本実施形態に係る仮想現実アプリケーションを実行することで実現できる。また、端末装置20Aにおいて必要となる各種データの一時的な記憶は、端末記憶部22AのうちRAM(Random Access Memory)221Aにより実現できる。RAM221Aには、各種データが一時記憶機能として展開されるが、例えば、サーバ装置10Aにおいて作成されたHTML文書に基づいて、各種データをダウンロードし、一時的にRAM221Aにデータが展開されて、ブラウザでの処理(描画等)に使用される。ブラウザを閉じると、RAM221Aに展開されたデータは消去される。
RAM221Aには、上述したサーバ装置10のユーザデータベース130内のデータ(図13参照)のうちの、第1ユーザアバターM1と同一グループに属する各ユーザアバターM1に関するデータだけが記憶されてもよいし、その他のデータが更に記憶されてもよい。RAM221A内のデータのうち、位置/向き情報のデータは、サーバ装置10Aから送信された位置/向き情報に基づいて位置情報更新部241Aにより更新される。なお、RAM221A内のデータのうち他のデータは、適宜、サーバ装置10Aとの通信を介して、上述した更新データに基づいて更新されてもよい(例えば、本実施形態に係る仮想現実アプリケーションの起動時等)。
RAM221Aは、上述したサーバ装置10のアバターデータベース132内のデータ(図14参照)のうちの、第1ユーザアバターM1と同一グループに属する各ユーザアバターM1に関するデータだけが記憶されてもよいし、その他のデータが更に記憶されてもよい。RAM221A内のデータは、仮想現実アプリケーション(例えばWebアプリケーション)の起動時等にサーバ装置10Aとの通信を介して、上述した更新データに基づいて更新されてよい。
位置情報更新部241Aは、上述したようにサーバ装置10Aからの受信データに基づいて、RAM221A内のデータのうちの、位置/向き情報のデータを更新する。また、位置情報更新部241Aは、第1ユーザからの移動操作入力や方向操作入力に基づいて、RAM221A内のデータのうちの、第1ユーザに係る位置/向き情報のデータを更新してもよい。
位置管理部242Aは、上述したサーバ装置10の位置管理部142の同様の機能を実現する。ただし、各ユーザアバターM1の配置については、第1ユーザアバターM1と同じグループ内のユーザアバターM1に関してのみ実行されてもよいし、その他のユーザアバターM1に対して実行されてもよい。
第1画像条件生成部2441Aは、上述したサーバ装置10の第1画像条件生成部1441と同様の機能を実現する。第1画像条件生成部2441Aは、生成した画像生成条件をサーバ装置10Aに送信してもよい。この場合、画像生成条件は、サーバ装置10A側でも記憶できる。
第1移動処理部2621Aは、上述したサーバ装置10の第1移動処理部1621と同様の機能を実現する。
第1判定部246Aは、上述したサーバ装置10の第1判定部146と同様の機能を実現する。ただし、第1判定部246Aは、第1ユーザアバターM1に関して、第1所定条件を満たすか否かを判定する。
インタフェース形成部248Aは、上述したサーバ装置10のインタフェース形成部148と同様の機能を実現する。ただし、インタフェース形成部148は、第1ユーザ用の端末用画像に関する処理を行う。
準備処理部250Aは、上述したサーバ装置10の準備処理部150と同様の機能を実現する。ただし、準備処理部250Aは、第1ユーザアバターM1用に(すなわち第1判定部246Aによる判定結果に基づいて)、第1所定条件が満たされた場合の上述した準備処理を実行する。
イベント発生部252Aは、上述したサーバ装置10のイベント発生部152と同様の機能を実現する。ただし、イベント発生部252Aは、第1ユーザアバターM1用のイベントを発生させる。イベント発生部252Aは、画像データ取得部2521Aと、各種イベント発生部2522Aとを含む。
第1相対関係出力部254Aは、上述したサーバ装置10の第1相対関係出力部154と同様の機能を実現する。ただし、第1相対関係出力部254Aは、第1ユーザアバターM1を基準とした第1相対関係を出力する。
第2相対関係出力部256Aは、上述したサーバ装置10の第2相対関係出力部156と同様の機能を実現する。ただし、第2相対関係出力部256Aは、第1ユーザアバターM1を基準とした第2相対関係を出力する。
第2判定部258Aは、上述したサーバ装置10の第2判定部158と同様の機能を実現する。ただし、第2判定部258Aは、第1ユーザアバターM1に関して、第2所定条件を満たすか否かを判定する。
RAM221Aは、上述したサーバ装置10の画像データ記憶部172と同様の機能を実現する。ただし、RAM221Aは、画像データ取得部2521Aにより取得されたイベント画像データに係る画像生成条件を記憶する。この場合も、写真再現ページでは、画像出力部212Aは、アクセスにより取得された画像生成条件をクエリパラメータとしてパースして変数に格納し、Google社が提供する“Google Maps API”又はその類のAPIのメソッドに引数として入力、アバター情報の選定などを行うことで、イベント画像データに係る画像の生成(再現)を実現してよい。
図21Bは、図21Aに示した端末装置20Aに代えて実現されてもよい端末装置20Bの機能ブロック図である。図21Bに係る構成は、仮想現実アプリケーションが、ブラウザ上で利用できるWebアプリケーションとは異なるネイティブアプリケーションの形態である場合に好適である。なお、ネイティブアプリケーションは、事前に端末装置20Bにダウンロードされて利用される。
図21Bに示す例では、端末装置20Bは、画像出力部212B、ユーザ入力生成部214B、及びユーザ入力送信部216Bを含む。画像出力部212B、ユーザ入力生成部214B、及びユーザ入力送信部216Bは、図12を参照して、上述した画像出力部212、ユーザ入力生成部214、及びユーザ入力送信部216と実質的に同様であってよい。なお、画像出力部212Bは、後述する第1画像条件生成部2441Bが生成する端末用画像用の画像生成条件に基づいて、端末用画像を描画し、描画した端末用画像を、上述した表示部23上に出力する。
更に、図21Bに示す例では、端末装置20Bは、ユーザデータベース230Bと、アバターデータベース232Bと、位置情報更新部241Bと、位置管理部242Bと、第1画像条件生成部2441Bと、第1移動処理部2621Bと、第1判定部246Bと、インタフェース形成部248Bと、準備処理部250Bと、イベント発生部252Bと、第1相対関係出力部254Bと、第2相対関係出力部256Bと、第2判定部258Bと、画像データ記憶部272Bとを含む。
以下では、第1ユーザに係る端末装置20Bについて説明するが、第2ユーザに係る端末装置20Bについても実質的に同様である。
位置情報更新部241Bから第2判定部258Bまでの各部は、端末装置20Bの端末制御部(図1の端末制御部25参照)が、端末装置20Bの端末記憶部(図1の端末記憶部22参照)内のプログラムである本実施形態に係る仮想現実アプリケーションを実行することで実現できる。また、ユーザデータベース230B、アバターデータベース232B及び画像データ記憶部272Bは、端末装置20Bの端末記憶部(図1の端末記憶部22参照)により実現できる。
ユーザデータベース230Bには、上述したサーバ装置10のユーザデータベース130内のデータ(図13参照)のうちの、第1ユーザアバターM1と同一グループに属する各ユーザアバターM1に関するデータだけが記憶されてもよいし、その他のデータが更に記憶されてもよい。ユーザデータベース230B内のデータのうち、位置/向き情報のデータは、サーバ装置10Aから送信された位置/向き情報に基づいて位置情報更新部241Bにより更新される。なお、ユーザデータベース230B内のデータのうち他のデータは、適宜、サーバ装置10Aとの通信を介して、上述した更新データに基づいて更新されてもよい(例えば、本実施形態に係る仮想現実アプリケーションの起動時等)。
アバターデータベース232Bは、上述したサーバ装置10のアバターデータベース132内のデータ(図14参照)のうちの、第1ユーザアバターM1と同一グループに属する各ユーザアバターM1に関するデータだけが記憶されてもよいし、その他のデータが更に記憶されてもよい。アバターデータベース232B内のデータは、グループの生成時やグループを形成するユーザアバターM1の構成変更時等にサーバ装置10Aとの通信を介して、上述した更新データに基づいて更新されてよい。
位置情報更新部241Bは、上述したようにサーバ装置10Aからの受信データに基づいて、ユーザデータベース230B内のデータのうちの、位置/向き情報のデータを更新する。また、位置情報更新部241Bは、第1ユーザからの移動操作入力や方向操作入力に基づいて、ユーザデータベース230B内のデータのうちの、第1ユーザに係る位置/向き情報のデータを更新してもよい。
位置管理部242Bは、上述したサーバ装置10の位置管理部142の同様の機能を実現する。ただし、各ユーザアバターM1の配置については、第1ユーザアバターM1と同じグループ内のユーザアバターM1に関してのみ実行されてもよいし、その他のユーザアバターM1に対して実行されてもよい。
第1画像条件生成部2441Bは、上述したサーバ装置10の第1画像条件生成部1441と同様の機能を実現する。第1画像条件生成部2441Bは、生成した画像生成条件をサーバ装置10Aに送信してもよい。この場合、画像生成条件は、サーバ装置10A側でも記憶できる。
第1移動処理部2621Bは、上述したサーバ装置10の第1移動処理部1621と同様の機能を実現する。
第1判定部246Bは、上述したサーバ装置10の第1判定部146と同様の機能を実現する。ただし、第1判定部246Bは、第1ユーザアバターM1に関して、第1所定条件を満たすか否かを判定する。
インタフェース形成部248Bは、上述したサーバ装置10のインタフェース形成部148と同様の機能を実現する。ただし、インタフェース形成部148は、第1ユーザ用の端末用画像に関する処理を行う。
準備処理部250Bは、上述したサーバ装置10の準備処理部150と同様の機能を実現する。ただし、準備処理部250Bは、第1ユーザアバターM1用に(すなわち第1判定部246Bによる判定結果に基づいて)、第1所定条件が満たされた場合の上述した準備処理を実行する。
イベント発生部252Bは、上述したサーバ装置10のイベント発生部152と同様の機能を実現する。ただし、イベント発生部252Bは、第1ユーザアバターM1用のイベントを発生させる。イベント発生部252Bは、画像データ取得部2521Bと、各種イベント発生部2522Bとを含む。
第1相対関係出力部254Bは、上述したサーバ装置10の第1相対関係出力部154と同様の機能を実現する。ただし、第1相対関係出力部254Bは、第1ユーザアバターM1を基準とした第1相対関係を出力する。
第2相対関係出力部256Bは、上述したサーバ装置10の第2相対関係出力部156と同様の機能を実現する。ただし、第2相対関係出力部256Bは、第1ユーザアバターM1を基準とした第2相対関係を出力する。
第2判定部258Bは、上述したサーバ装置10の第2判定部158と同様の機能を実現する。ただし、第2判定部258Bは、第1ユーザアバターM1に関して、第2所定条件を満たすか否かを判定する。
画像データ記憶部272Bは、上述したサーバ装置10の画像データ記憶部172と同様の機能を実現する。ただし、画像データ記憶部272Bは、画像データ取得部2521Bにより取得されたイベント画像データに係る画像生成条件を記憶する。この場合も、写真再現ページでは、画像出力部212Bは、アクセスにより取得された画像生成条件をクエリパラメータとしてパースして変数に格納し、Google社が提供する“Google Maps BPI”又はその類のBPIのメソッドに引数として入力、アバター情報の選定などを行うことで、イベント画像データに係る画像の生成(再現)を実現してよい。
また、図22及び図22Aに示すような分担態様が実現されてもよい。この場合も、サーバ装置10Cと各ユーザの端末装置20Cとが連携して、上述したサーバ装置10と端末装置20とが連携する場合と同様の機能を実現できる。
図22に示すサーバ装置10Cは、図11に示したサーバ装置10に対して、端末画像描画部164及び端末画像データ送信部165が追加された点が異なる。
端末画像描画部164は、画像条件生成部144により受信された端末用画像用の画像生成条件に基づいて、端末用画像を描画する。例えば、画像出力部212は、端末用画像用の画像生成条件をクエリパラメータとしてパースして変数に格納し、Google社が提供する“Google Maps API”又はその類のAPIのメソッドに引数として入力、アバター情報の選定などを行うことで、端末用画像を描画してよい。
端末画像データ送信部165は、端末画像描画部164により描画された端末用画像用の画像データを、対応する各端末装置20Cに送信する。
図22Aに示す端末装置20Cは、図12に示した端末装置20に対して、画像生成条件受信部210及び画像出力部212が、それぞれ、画像データ受信部211及び画像出力部212Cに置換された点が異なる。
画像データ受信部211は、端末画像データ送信部165により送信される端末用画像用の画像データを受信する。
画像出力部212Cは、画像データ受信部211により受信された端末用画像のデータを、上述した表示部23上に出力する。
次に、図23及び図24を参照して、仮想現実生成システム1の動作のうちの一部の動作例について説明する。
図23は、画像取得イベントの発生に関する仮想現実生成システム1の動作例を概略的に示すタイミングチャートである。
図23には、動作主体として、3つの端末装置20として、第1ユーザに係る端末装置20-1、第2ユーザに係る端末装置20-2、及びサーバ装置10が示されている。なお、ここでは、説明上、第2ユーザは、一人であるが、複数人であってよい。この場合、複数の第2ユーザのそれぞれに係る端末装置20が、同様に動作する。これは、後述する図24も同様である。
まず、第1ユーザ及び第2ユーザは、本実施形態に係る仮想現実アプリケーション(図23では、「仮想現実アプリ」と表記)を起動し(ステップS230)、各種初期入力を行う。なお、仮想現実アプリの起動するタイミングは、例えば同じ時間帯であってよく、事前に連絡等により決められていてもよい。例えば、第1ユーザ及び第2ユーザが、メール等で事前にやり取りをすることで、当該時間帯がスケージュール調整の上で決定されてもよい。初期入力は、グループ名やユーザ名等の入力や、それぞれのユーザアバターM1を決定するための入力等を含んでよい。この場合、第1ユーザ及び第2ユーザは、同じグループに属するものとする。
次いで、第1ユーザ及び第2ユーザは、それぞれ、それぞれのユーザアバターM1を介して仮想空間内を移動してよい(ステップS231)。第1ユーザ及び第2ユーザのそれぞれのユーザアバターM1が移動する仮想空間において、サーバ装置10が第1所定条件の成否を監視する(ステップS232)。なお、ここでは、第1ユーザアバターM1と一の第2ユーザアバターM1との2体のユーザアバターM1だけが対象の仮想空間内に存在する。この場合、サーバ装置10は、2体に関して共通の第1相対位置関係を算出して第1相対関係情報を出力しつつ、第1所定条件の成否を監視する。ただし、第1ユーザアバターM1と複数の第2ユーザアバターM1が存在する場合は、サーバ装置10は、上述したように、ユーザアバターM1ごとに、一のユーザアバターM1を基準として第1所定条件の成否を監視する。
第1所定条件が成立すると、準備処理として、シャッタボタンである操作ボタンB602(図6参照)がアクティブ(操作可能な状態)とされる(ステップS233、ステップS234)。そして、第1ユーザにより操作ボタンB602が操作されると(ステップS235)、サーバ装置10は、シャッタ音発生指示を第1ユーザアバターM1周辺のすべてのユーザアバターM1に係る端末装置20に送信する(ステップS235A)とともに、第1ユーザに関して画像取得イベントを発生させる(ステップS236)。また、第2ユーザにより操作ボタンB602が操作されると(ステップS237)、サーバ装置10は、シャッタ音発生指示を第2ユーザアバターM1の周辺のすべてのユーザアバターM1に係る端末装置20に送信する(ステップS237A)とともに、第2ユーザに関して画像取得イベントを発生させる(ステップS238)。なお、この場合、第1ユーザ側の画像取得イベント(ステップS236)で取得されるイベント画像データに係る画像生成条件と、第2ユーザ側の画像取得イベント(ステップS238)で取得されるイベント画像データに係る画像生成条件とは、第1視点と第2視点の相違に起因して異なりうる。また、ポーズ等も異なりうる。この場合、第1ユーザと第2ユーザとの間でイベント画像データの交換等も促進され、ユーザ間の交流の促進を図ることができる。ただし、変形例では、第1ユーザ側の画像取得イベント(ステップS236)で取得されるイベント画像データに係る画像生成条件と、第2ユーザ側の画像取得イベント(ステップS238)で取得されるイベント画像データに係る画像生成条件とは、実質的に同じであってもよい。この場合、サーバ装置10の処理負荷を低減できる。
ここで、ステップS235A及びステップS237Aに関して、シャッタ音発生指示を受信した端末装置20は、カメラのシャッタ音を模した音声情報を出力(再生)する。この場合、当該端末装置20のユーザは、他のユーザによる画像取得イベントを知ることができる。これにより、当該場所での画像取得イベントの活性化を図ることができる。
図24は、アイテム取得イベントの発生に関する仮想現実生成システム1の動作例を概略的に示すタイミングチャートである。図24には、動作主体として、3つの端末装置20として、第1ユーザに係る端末装置20-1、第2ユーザに係る端末装置20-2、管理ユーザに係る端末装置20-3、及びサーバ装置10が示されている。
まず、第1ユーザ及び第2ユーザは、本実施形態に係る仮想現実アプリケーション(図24では、「仮想現実アプリ」と表記)を起動し、各種初期入力を行う。なお、仮想現実アプリの起動するタイミングは、例えば同じ時間帯であってよく、事前に連絡等により決められていてもよい。例えば、第1ユーザ及び第2ユーザが、管理ユーザの催すイベントに参加する場合、当該時間帯は、管理ユーザにより事前に通知されていてよい。初期入力は、グループ名やユーザ名等の入力を含んでよい。また、第1ユーザ及び第2ユーザが、管理ユーザの催すイベントに参加する場合、初期入力は、当該イベントを特定する情報や参加資格を示す情報の入力を含んでよい。
まず、管理ユーザは、端末装置20-3を介して、ミッションモードを設定する(ステップS240)。なお、管理ユーザも、独自のユーザアバターM1を介して、仮想空間内で活動することが可能であってもよい。ミッションモードの内容は、あらかじめ管理ユーザにより構成されていてよい。サーバ装置10は、開始されたミッションモードに応じたミッションを各ユーザに通知し(ステップS241)、ミッションが開始される(ステップS242)。ミッションは、例えば、上述したようなフラミンゴのたまごのような特定アイテム(取得目標アイテム)を探して取得するような探索型のミッションであってもよいし、特定のコンテンツを視聴して課題を提出することで特定アイテムに応じた仮想現実媒体(例えば修了情報)を得る学習型のミッションであってもよい。ここでは、特定アイテムを探して取得するような探索型のミッションであるとする。
次いで、第1ユーザ及び第2ユーザは、それぞれのユーザアバターM1を介して仮想空間内を移動してよい(ステップS243)。第1ユーザ及び第2ユーザのそれぞれのユーザアバターM1が移動する仮想空間において、サーバ装置10は、特定アイテムを配置し、第2所定条件の成否を監視する(ステップS244)。この場合、サーバ装置10は、ユーザアバターM1ごとに、共通の特定アイテムに対する第2相対位置関係を算出して第2相対関係情報を出力しつつ、第2所定条件の成否を監視する。
第2所定条件が成立すると、サーバ装置10は、第2所定条件を成立させたユーザアバターM1に関してアイテム取得イベントを発生させる(ステップS245)。その後、管理ユーザは、適宜、端末装置20-3を介して、集合指示入力を生成する(ステップS246)。この場合、例えば、各ユーザアバターM1は、集合指示入力に応じて、対応する所定の集合場所に強制的に移動される(ステップS247)。なお、上述したように、強制的に移動に代えて、各ユーザからの応答入力(承認の入力)に基づいて、対応する所定の集合場所に強制的に移動されてもよい。そして、サーバ装置10は、ミッション修了条件が成立すると(ステップS248)、ミッションを終了させる(ステップS249)。なお、ミッション修了条件は、任意であり、例えば経過時間等に基づいて設定されてもよい。
次に、図25以降を参照して、上述した実施形態に対する変形例について説明する。
図25は、変形例によるサーバ装置10Bの機能ブロック図である。図26は、広告情報記憶部176内のデータの説明図である。
本変形例によるサーバ装置10Bは、図11を参照して上述したサーバ装置10に対して、イベント履歴記憶部174と、移動履歴記憶部175と、広告情報記憶部176と、画像評価部180と、人気ポイント検出部181と、撮影禁止ポイント設定部182と、交流促進処理部183と、アバター検出部184と、アプリ連携処理部185と、シャッタ音発生部186と、ユーザスコア算出部187と、インセンティブ付与部188と、広告設定部189と、広告評価部190と、画像加工部192とを含む。
なお、本変形例に対する更なる変形例では、図11を参照して上述したサーバ装置10の各機能の一部が省略されてもよいし、イベント履歴記憶部174から画像加工部192の一部が省略されてもよい。
イベント履歴記憶部174には、仮想空間内の各座標で起きた各種イベントの履歴が記憶される。イベント履歴記録用の各座標の粒度は、任意であるが、例えば、施設単位であってもよい。あるいは、イベント履歴記録用の座標の粒度は、場所の属性に応じて設定されてもよい。履歴の記憶対象の各種イベントは、上述した画像取得イベント等であってよい。イベント履歴記憶部174内の各種イベントの履歴データは、適宜、特定のユーザ用に出力(表示)されてもよい。イベント履歴記憶部174内の各種イベントの履歴データは、ビックデータや集合知として利用されてもよい。
移動履歴記憶部175には、各ユーザアバターM1の移動履歴データ(仮想空間内の移動に関する履歴データ)が記憶される。各ユーザアバターM1の移動履歴データは、移動に関する座標の軌跡、日時、停止時間(滞在時間)等の情報を含んでよい。また、各ユーザアバターM1の向き情報の履歴データも、各ユーザアバターM1の移動履歴データと関連付けて記憶されてもよい。この場合、各ユーザアバターM1が、各座標においてどのような視線方向であったか等の情報を得ることができる。
広告情報記憶部176には、仮想空間に仮想現実媒体として配置される広告に関する各種情報(以下、「広告情報」と称する)が記憶される。図26に示す例では、広告IDごとに、広告主を特定する情報(広告主ID)、広告内容、広告の位置情報、広告期間、成果情報等のような各種関連情報が対応付けられている。
広告内容は、画像や動画の形態や、仮想空間内で活動する広告用アバターの形態であってよく、AR(Augmented Reality)看板のようなARアイテムの形態であってよい。また、広告は、仮想空間内のイベントの形態で実現されてもよい。いずれの場合も、広告内容は、広告主により提供される情報に基づいて設定されてもよい。広告の位置情報は、実空間画像に対応付けられている座標系で設定されてもよい。なお、広告内容が広告用アバターの形態である場合、広告の位置情報は、広告用アバターの位置情報として動的に更新されてもよい。広告期間は、契約等に応じてあらかじめ決められる期間である。成果情報は、広告の成果を表す情報である。成果情報は、広告の分野で広く知られている指標値(例えばCPI:Cost Per Install、CPA:Cost Per Acquisition、CTR:Click Through Rate)やその類(例えばCPA:Cost Per Action、CPC:Cost Per Click、CPM:Cost Per Mille)を含んでよい。
画像評価部180は、各ユーザにより取得された画像データ又はその画像生成条件(例えば上述した画像取得イベントにより取得されたイベント画像データに係る画像生成条件)を評価/解析する。この場合、画像評価部180は、座標ごとの画像の撮像回数や、座標ごとの画像に含まれるユーザアバターM1の数等を数値化してもよい。
また、画像評価部180は、同じ場所での画像データであっても、珍しい物体やユーザアバターM1(例えば有名人のユーザアバターM1)が写っている場合に、かかるレアイベントを検出してもよい。また、画像評価部180は、初めて撮像された場所については、撮像したユーザ(以下、「第1撮像ユーザ」とも称する)を特定する情報を生成してもよい。
また、画像評価部180は、ユーザによる撮影行為(シャッタボタンである操作ボタンB602(図6参照)の操作)を仮想空間内の“自動販売機”として置き換える態様で、各種情報を生成してもよい。例えばアバターアイテムのアパレル店に関して、どこのお店でどれぐらい映えるアイテムをどのようにユーザアバター/ユーザが撮影したか又は購入したかを記録してもよい。この場合、かかる情報は、後述する交流促進処理部183によりユーザ間でシェアされてもよい。
人気ポイント検出部181は、仮想空間における人気ポイント(例えば映えポイント)を検出する。人気ポイントは、例えば各ユーザアバターM1による訪問回数が多い場所であり、各ユーザアバターM1の移動履歴データに基づいて検出されてもよい。また、人気ポイントは、イベント履歴記憶部174内の各種イベントの履歴データに基づいて検出されてもよい。この場合、画像取得イベントの発生回数が多いほど人気が高い場所として評価されてもよい。
また、人気ポイント検出部181は、各ユーザアバターM1の視線方向を評価することで、人気ポイントにおける人気の視線方向を検出してもよい。各ユーザアバターM1の視線方向は、上述した向き情報の履歴データに基づいて評価されてもよい。この場合、各ユーザアバターM1の視線が向けられる回数が多い物体や場所ほど人気が高い物体や場所として評価されてもよい。
このようにして、人気ポイント検出部181により検出される人気ポイントは、多様な態様で利用できる。例えば、人気ポイントは、人気度合いに応じてランク付けされてよく、各人気ポイントのランクがユーザに多様な態様で伝達されてもよい。例えば、各人気ポイントのランクは、人気度ランキング情報として、上位の所定数が表示されてもよい。また、人気上昇中の人気スポットがピックアップされてもよい。また、おすすめ情報として、ランクが高い人気ポイントが各ユーザに提示されてもよい。この場合、例えば上述した瞬間移動用のボタンB605からB609のいずれかが、提示された人気ポイント(場所)の行き先となり、当該人気スポットへの瞬間移動が可能とされてもよい。また、おすすめ情報として各ユーザに提示される人気スポットは、各ユーザの属性や好み等に基づいて、ユーザごとに抽出されてもよい。例えば、一のユーザに提示される人気スポットは、当該一のユーザに似た行動をしている他のユーザが良く訪れる人気スポットを含んでもよい。
撮影禁止ポイント設定部182は、画像取得イベントの禁止ポイント、及び/又は、通常の撮影の禁止ポイントを設定する。画像取得イベントの禁止ポイント等では、シャッタボタンである操作ボタンB602(図6参照)が非アクティブ化されてもよいし、非表示化されてもよい。撮影禁止ポイント設定部182は、例えば機密やプライバシー等の観点から禁止ポイントを自動的に設定してもよいし、管理ユーザからの入力に応じて禁止ポイントを設定してもよい。
交流促進処理部183は、所定の送信条件が満たされた場合に、一のユーザアバターM1のユーザにより操作ボタンB602(図6参照)の操作を介して取得された画像(図20内のイベント画像データ又はその画像生成条件等)を、他のユーザ(例えばフレンド情報のユーザ)に送信する。所定の送信条件は、任意であり、各ユーザにより適宜設定されてもよい。この場合、交流促進処理部183は、QRコード(登録商標)のような二次元コードを生成することで、対応する画像又はその画像の取得位置(場所)に他のユーザがアクセスできるようにしてもよい。また、この場合、交流促進処理部183は、インタフェース形成部148を介して、当該画像の取得場所に、他のユーザのユーザアバターM1が瞬間移動できるようなユーザインタフェースを形成してもよい。この場合、映えのある撮影ポイントを友人のユーザに紹介したり、友人やそのユーザアバターM1と一緒に写真撮ったり、といったユーザ間の各種交流を効果的に促進できる。
アバター検出部184は、特定の検出対象場所への一のユーザアバターM1の移動を検出した場合に、特定の検出対象場所において一のユーザアバターM1を検出した旨の通知(以下、「検出通知」とも称する)を生成する。アバター検出部184は、例えば特定の検出対象場所に設置された仮想カメラの画角内に、一のユーザアバターM1が入った場合に、検出通知を生成してもよい。検出通知は、検出したユーザアバターM1を特定する情報(ユーザアバターID)を含んでよい。また、アバター検出部184は、仮想カメラにより、検出したユーザアバターM1を撮影した画像データを検出通知に含めてもよい。検出通知の送信先(通知先)は、特定の検出対象場所ごとに設定されてもよい。特定の検出対象場所は、管理ユーザや特定のユーザにより設定可能であってよい。例えば、管理ユーザは、立入禁止区域等を特定の検出対象場所として設定してもよい。この場合、検出通知の送信先(通知先)は、当該特定の検出対象場所を設定した管理ユーザを含んでよい。
また、アバター検出部184は、特定の検出対象物体へ一のユーザアバターM1の視線が向けられた場合に、その旨の通知(以下、「特定の検出対象物体へ視線検出通知」とも称する)を生成する。特定の検出対象物体へ一のユーザアバターM1の視線が向けられたか否かは、各ユーザアバターM1の向き情報と特定の検出対象物体の位置情報とに基づいてリアルタイムに判定されてもよいし、上述した向き情報の履歴データに基づいてオフラインで判定されてもよい。特定の検出対象物体へ視線検出通知の送信先(通知先)は、上述した特定の検出対象場所と同様の態様で設定されてもよい。
シャッタ音発生部186は、仮想空間内の一の場所において一のユーザによりシャッタボタンである操作ボタンB602(図6参照)が操作された場合に、当該一の場所に位置する他のユーザアバターM1に係るユーザ(当該一のユーザとは異なる他のユーザ)に、シャッタボタンの操作があったことを知らせる情報(「撮像イベント発生情報」と称する)を出力する。撮像イベント発生情報は、例えば、シャッタ音のような音声情報を介して出力されてもよい。例えば、他のユーザに係る端末装置20にシャッタ音発生指示(図23のステップS235A、237A参照)が送信されてシャッタ音が出力(再生)されてもよい。この場合、他のユーザに、「この場所は写真を撮る価値がある場所である」ことを体感的かつ間接的に伝えることができる。このような構成では、人気ポイントではシャッタ音が多く聞こえる可能性が高くなる。これにより、各ユーザは、仮想空間における各人気ポイントを聴覚的に把握することができる。
ユーザスコア算出部187は、各ユーザ(又は各ユーザアバターM1)に対応付けられる各種スコアを算出する。各種スコアは、仮想空間における活動度合いの指標となるスコアを含んでよい。また、ユーザスコア算出部187は、上述した画像評価部180による評価結果に基づいて、上述したレアイベントを発生させたユーザ及び/又は上述した第1撮像ユーザに対して特別なスコア(ボーナススコア)を付与してもよい。あるいは、写真撮影会のようなイベントにおいては、各参加ユーザにより取得された写真(操作ボタンB602を介して取得された画像)に基づいて、各参加ユーザにスコアを付与してもよい。この場合、写真内の物体の配置(構図)等が評価対象とされてもよい。
インセンティブ付与部188は、インセンティブ付与条件が満たされた場合に、仮想空間内で活動する各ユーザアバターM1(又は各ユーザ)にインセンティブを付与する。インセンティブ付与条件は、ユーザアバターM1(又は各ユーザ)ごとに判定されてよい。また、インセンティブ付与条件は、インセンティブごとに又はインセンティブの属性ごとに付与されてもよい。例えば、インセンティブは、有名ポイントに対する命名権であってもよい。この場合、有名ポイントを最初に到来したユーザアバターM1や有名ポイントで初めて写真を撮ったユーザ(操作ボタンB602を操作したユーザ)に、命名権が付与されてもよい。この場合、インセンティブは、新たな有名ポイントが発生するごとに付与されてもよい。
また、インセンティブ付与部188は、ユーザスコア算出部187と同様に又はユーザスコア算出部187に代えて、上述したレアイベントを発生させたユーザ及び/又は上述した第1撮像ユーザに対して、特定のインセンティブ(例えば、最初に撮影したポイントであることの証明情報)を付与してもよい。また、インセンティブ付与部188は、ユーザスコア算出部187により付与されたスコアが閾値を超えるようなユーザに対して、特定のインセンティブを付与してもよい。
広告設定部189は、仮想空間において広告を設定する。広告設定部189は、広告を設定する場合に、新たな広告IDを付与し、広告情報記憶部176内のデータ(図26参照)を更新してよい。
このようにして広告設定部189により設定される広告に係る広告内容は、広告の期間の間、所定の提示条件が満たされるユーザ(ユーザアバターM1)に対して提示される。広告内容の提示は、上述した各ユーザ用の端末用画像に含められる態様で画像条件生成部144により画像生成条件が生成されることで、実現されてよい。この場合、画像条件生成部144は、実空間画像に態様で広告内容の画像や動画を重畳してよい。例えば、第1画像条件生成部1441は、第1ユーザアバターM1の位置/向き情報と、一の広告の位置情報との関係に基づいて、第1ユーザアバターM1の視界内に当該一の広告の位置情報が位置するか否かを判定する。そして、第1ユーザアバターM1の視界内に当該一の広告の位置情報が位置する場合、第1画像条件生成部1441は、第1ユーザに係る端末用画像に、対応する広告内容を描画するための画像生成条件を生成してよい。
所定の提示条件は、任意であるが、広告IDごとにターゲット層が設定されてもよい。この場合、一の広告内容は、当該一の広告内容に対応付けられているターゲット層に一致するユーザ(ユーザアバターM1)に対してのみ提示可能とされてもよい。また、広告内容がARアイテムの場合、所定の提示条件は、ARアイテムを可視とするツール(例えば仮想現実媒体としてのスマートフォン)を有するユーザアバターM1に対してのみ提示可能とされてもよい。
広告設定部189は、広告の位置情報に応じて、広告に要するコスト(広告主が負担するコスト)を設定してもよい。この場合、広告設定部189は、人気ポイント検出部181により検出された人気ポイントにおけるコストが高くなる態様で、広告の位置情報に応じてコストを設定してもよい。例えば、渋谷のハチ公前のような場所はたくさんの人が撮影したくなるので、かかる場所に広告を設定する場合はコストが比較的高くなる。
広告評価部190は、広告IDごとに、上述した成果情報を生成する。例えば、広告評価部190は、一の広告IDについて、対応する広告内容にユーザアバターM1の視線が向けられた回数(すなわち広告内容が描画された端末用画像に係るユーザ数)や、アバターM1の視線が向けられた時間の積算値、画像取得イベント等による画像データに写り込んだ回数等を評価材料として利用してもよい。また、広告評価部190は、実空間の看板と仮想空間の看板に設定し広告効果を測定してもよい。これは、看板以外の広告についても同様である。
なお、このようにして広告評価部190により生成される成果情報は、実空間における広告コストの算出に利用されてもよいし、土地の価格の算出(不動産取引等)に利用されてもよい。これは、上述した人気ポイント検出部181による検出結果についても同様である。また、広告評価部190により生成される成果情報は、実空間における実広告の設定等に利用されてもよい。例えば、一の広告IDに係る一の場所での成果情報に示す成果が比較的高い場合、実空間において、対応する広告をデジタルサイネージ等に表示することとしてもよい。このようにして、仮想空間内の広告を主として実空間内の広告を従として、仮想空間内の広告の成果情報に応じて実空間内の広告を連動して設定してもよい。
また、このようにして広告評価部190により生成される成果情報は、対応する仮想空間における各領域(空間部を含む)の価格に反映されてもよい。これは、仮想空間において土地(領域)の各種取引(販売や賃借等)が行われる場合に好適となる。
画像加工部192は、対応するユーザからの要求に応じて、画像データ記憶部172内の画像データに係る画像生成条件であって、当該ユーザに対応付けられた画像データに係る画像生成条件の各種加工処理を行う。各種加工処理は、任意であるが、例えば、上述した交流用のQRコード(登録商標)のような二次元コードを埋め込む処理を含んでよい。また、各種加工処理は、「六本木ヒルズにてN月N日NN時撮影」といった具合に、現実空間に基づく情報を画像やURLに紐付ける処理を含んでよい。また、各種加工処理は、コピーライトのような権利情報を埋め込む処理を含んでよい。また、各種加工処理の一部又は全部は、対応するユーザからの要求とは無関係に、自動的に実現されてもよい。また、各種加工処理の内容の一部又は全部は、事前にユーザにより設定(カスタマイズ)されてもよい。
また、各種加工処理は、不動産取引用の内見写真の自動生成処理を含んでよい。この場合、内見写真の自動生成処理は、ユーザアバターM1が訪問したみんなが住みたい場所、買いたい場所の映える写真や動画から、他のユーザアバターだけを除去する処理を含んでよい。
ところで、旧来の実空間に係る不動産写真に求められる機能として、「借り手/買い手などの顧客が興味を持ち、不動産販売業者に問い合わせをする」という、いわゆる美しさとか、実際の物件よりも広くてきれい、という印象を与えることがある。具体的には、広角レンズで撮影することで実際の人間の視界よりも広く見えるような画像を掲示することがある。また窓からの眺めや、カメラの向きについても撮影者の恣意で撮影・生成されることがある。
これに対して、本変形例による画像加工部192の自動生成処理を使った不動産写真の場合は、単なる360度カメラによる画像と異なり、実際の人間のサイズを比較し(狭い/広い・天井が高い/低いなど)、複数の利用者が同じ空間にいる場合のシミュレーションが可能となる。すなわち、ユーザアバターM1が実際の人間のサイズを反映できるから広さの感覚のリアリティさが増す。また、他のユーザの視点(注目した点、評価を高くした/低くした)などの保存が可能となる。これは、他者の注目した画角や方向が保存されない一般的な360度画像とは対照的である。また、不動産販売者も「他のユーザがこういうところを気にしました」ということがデータとして記録が可能となる。このようにして、画像データ記憶部172内の画像生成条件に係る画像は、名画面において商品性が高いショットとして利用が可能となるが、ここではユーザアバターM1を外して表示することで、不動産取引に好適な写真又は動画を得ることができる。なお、端末用画像は、上述したように実空間画像をベースとしており、上述したように例えばJavaScript(登録商標)上で合成することで、ユーザアバターの表示/非表示は動的に制御が可能である。
図27は、変形例による端末装置20Bの機能ブロック図である。本変形例による端末装置20Bは、図12を参照して上述した端末装置20に対して、アプリ連携処理部285が追加された点が異なる。
アプリ連携処理部285は、本実施形態に係る仮想現実アプリケーションを、端末装置20B内の他のGPS利用アプリや通知と連携させる。GPS利用アプリとは、端末装置20Bに内蔵されるGPS機能の位置情報を利用するアプリケーションを指し、その種類は任意である。例えば、第1ユーザに係る端末装置20Bに、実空間内の特定の場所で特定の通知が発生するGPS利用アプリが実装されている場合、仮想空間内の、対応する特定の場所に第1ユーザアバターM1が位置する場合、当該GPS利用アプリを介して特定の通知が発生してもよい。
また、アプリ連携処理部285は、実空間における第1ユーザの移動履歴(端末装置20Bに内蔵されるGPS機能の位置情報の履歴)に基づいて、仮想空間内における第1ユーザアバターM1の位置情報を連動させてもよい。例えば、M月M日のM時からL時までの実空間における第1ユーザの移動履歴に基づいて、仮想空間内における第1ユーザアバターM1の位置情報を変化させてもよい。この場合、第1ユーザは、過去のM月M日のM時からL時までの実空間における体験を、第1ユーザアバターM1を介して仮想空間において振り返ることが可能である。
なお、本変形例によるサーバ装置10B及び端末装置20Bについても、上述したサーバ装置10及び端末装置20について図21及び図21Aを参照して上述したように、上述したサーバ装置10B及び端末装置20B間の機能の分担は、多様に変更が可能である。例えば、イベント履歴記憶部174から画像加工部192の一部が端末装置20Bにより実現されてもよい。
以上、実施形態について図面を参照して詳述してきたが、具体的な構成は上述した各種実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、上述した実施形態において、上述したイベント発生により取得される画像(例えば記念撮影で得られた写真又は動画)は、NFTとして流通可能とされてもよい。