(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023004507
(43)【公開日】2023-01-17
(54)【発明の名称】情報処理システム、情報処理方法、情報処理プログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20230110BHJP
G06F 3/048 20220101ALI20230110BHJP
A63F 13/53 20140101ALI20230110BHJP
【FI】
G06T19/00 300A
G06F3/048
A63F13/53
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021106217
(22)【出願日】2021-06-28
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】504437801
【氏名又は名称】グリー株式会社
(74)【代理人】
【識別番号】110002871
【氏名又は名称】弁理士法人坂本国際特許商標事務所
(72)【発明者】
【氏名】渡邊 匡志
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA03
5B050BA06
5B050BA08
5B050BA09
5B050BA18
5B050BA20
5B050CA07
5B050CA08
5B050EA12
5B050EA19
5B050EA24
5B050EA26
5B050FA02
5B050FA05
5B050FA10
5B050FA12
5B050FA13
5B050FA14
5B050FA17
5E555AA07
5E555AA12
5E555AA76
5E555BA02
5E555BA03
5E555BA05
5E555BA06
5E555BA20
5E555BA38
5E555BB02
5E555BB03
5E555BB05
5E555BB06
5E555BB20
5E555BB38
5E555BC04
5E555BE17
5E555CA02
5E555CA12
5E555CA17
5E555CA42
5E555CA44
5E555CA47
5E555CB03
5E555CB12
5E555CB20
5E555CB64
5E555CB66
5E555CC01
5E555CC03
5E555DA01
5E555DB18
5E555DB32
5E555DB53
5E555DC19
5E555DD01
5E555DD06
5E555EA08
5E555EA09
5E555EA11
5E555EA14
5E555FA00
(57)【要約】
【課題】仮想空間においてアバターのような表示媒体の移動を適切に補助する。
【解決手段】仮想空間に位置する1つ以上の表示媒体を含む端末用の表示画像を描画する描画部と、ユーザからの入力を取得する取得部と、取得部により取得された一のユーザからの第1入力に基づいて、仮想空間における一のユーザに対応付けられる表示媒体の位置を変化させる位置変更部とを含み、描画部は、一のユーザに対応付けられる第1表示媒体と他のユーザに対応付けられる第2表示媒体との間の位置関係を表す案内情報を、第1表示媒体に対応付けて描画する、情報処理システムが開示される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
仮想空間に位置する1つ以上の表示媒体を含む端末用の表示画像を描画する描画部と、
ユーザからの入力を取得する取得部と、
前記取得部により取得された一のユーザからの第1入力に基づいて、仮想空間における前記一のユーザに対応付けられる表示媒体の位置を変化させる位置変更部とを含み、
前記描画部は、前記一のユーザに対応付けられる第1表示媒体と他のユーザに対応付けられる第2表示媒体との間の位置関係を表す案内情報を、前記第1表示媒体に対応付けて描画する、情報処理システム。
【請求項2】
前記案内情報は、線又は曲線を含む、請求項1に記載の情報処理システム。
【請求項3】
前記描画部は、前記第1表示媒体を起点として前記線又は曲線を描画する、請求項2に記載の情報処理システム。
【請求項4】
前記描画部は、複数の前記他のユーザに対応付けられる複数の前記第2表示媒体が仮想空間に位置する場合、前記案内情報を前記第2表示媒体ごとに描画する、請求項3に記載の情報処理システム。
【請求項5】
前記表示媒体が仮想空間における所定領域内まで移動した場合に、前記所定領域から第1所定位置へと前記表示媒体を、前記第1入力に基づく移動より短い時間で、移動させる第1ワープ処理部を更に備え、
前記描画部は、仮想空間における前記第1表示媒体と前記第2表示媒体との位置関係に基づいて、前記所定領域を終点として前記線又は曲線を描画する、請求項3又は4に記載の情報処理システム。
【請求項6】
前記第1表示媒体が仮想空間における特定領域内に位置する場合に、前記第1表示媒体に対応付けられるユーザからの第2入力に応じて、前記特定領域から第2所定位置へと前記第1表示媒体を、前記第1入力に基づく移動より短い時間で、移動させる第2ワープ処理部を更に備える、請求項1~4のうちのいずれか1項に記載の情報処理システム。
【請求項7】
前記第2所定位置は、前記第2表示媒体の位置に応じて設定される、請求項6に記載の情報処理システム。
【請求項8】
前記描画部は、前記第1表示媒体が前記特定領域内に位置する場合に、前記第2入力を入力するための第1操作部を操作可能に描画し、前記第1表示媒体が前記特定領域内に位置しない場合に、前記第1操作部を操作不能に描画する、請求項6又は7に記載の情報処理システム。
【請求項9】
前記描画部は、複数の前記他のユーザに対応付けられる複数の前記第2表示媒体が仮想空間に位置する場合、前記第2表示媒体のそれぞれに対応付けて前記第1操作部を別々に描画し、
前記第2ワープ処理部は、一の前記第2表示媒体に対応付けられた前記第1操作部に対する前記第2入力に応じて、該一の前記第2表示媒体の位置に応じた前記第2所定位置へと前記第1表示媒体を移動させる、請求項8に記載の情報処理システム。
【請求項10】
前記特定領域は、前記第1表示媒体の任意の現在位置を含む、請求項6~8のうちのいずれか1項に記載の情報処理システム。
【請求項11】
表示媒体が仮想空間における特定の空間部に入るために必要な移動権限に関する権限情報を記憶する権限情報記憶部と、
前記権限情報記憶部に記憶されている前記権限情報に基づいて、表示媒体ごとに、前記特定の空間部への表示媒体の移動の可否を判定する第1判定部と、
前記第1判定部によって前記特定の空間部への前記第1表示媒体の移動が不能であると判定された場合に、前記特定の空間部への移動のための前記第2入力を無効化する無効化処理部とを更に備える、請求項6~10のうちのいずれか1項に記載の情報処理システム。
【請求項12】
前記第1判定部は、一の前記第2表示媒体に、複数の前記移動権限の取得済み情報が対応付けられており、かつ、一の前記第1表示媒体が所定の条件を満たした場合に、前記特定の空間部への該第1表示媒体の移動が可能であると判定する、請求項11に記載の情報処理システム。
【請求項13】
前記無効化処理部により前記第2入力が無効化されている場合、前記描画部は、前記無効化処理部による無効化を解除するための補助情報を描画する、請求項11又は12に記載の情報処理システム。
【請求項14】
前記補助情報は、前記移動権限の取得方法の情報、前記移動権限の取得が可能となる仮想空間内の位置の情報、前記移動権限の取得が可能となる特定画面へのリンク又はアクセス方法の情報、前記移動権限を取得した場合の特典情報、前記移動権限を取得した場合に視聴可能なコンテンツに関する情報、のうちの少なくともいずれか1つを含む、請求項13に記載の情報処理システム。
【請求項15】
前記描画部は、前記第1表示媒体と前記第2表示媒体との間の距離であって、仮想空間の座標系に基づく距離を算出する距離算出部を備え、
前記案内情報は、前記距離算出部により算出された距離を表す距離情報を含む、請求項1~14のうちのいずれか1項に記載の情報処理システム。
【請求項16】
前記距離算出部により算出される距離の変化態様に基づいて、前記距離算出部により算出される距離が縮まっているか否かを判定する第2判定部を更に備え、
前記案内情報は、前記第2判定部による判定結果を表す情報を含む、請求項15に記載の情報処理システム。
【請求項17】
仮想空間に位置する1つ以上の表示媒体を含む端末用の表示画像を描画し、
ユーザからの入力を取得し、
一のユーザからの第1入力に基づいて、仮想空間における前記一のユーザに対応付けられる表示媒体の位置を変化させる、
処理を、コンピュータに実行させ、
前記表示画像を描画することは、前記一のユーザに対応付けられる第1表示媒体と他のユーザに対応付けられる第2表示媒体との間の位置関係を表す案内情報を、前記第1表示媒体に対応付けて描画することを含む、情報処理プログラム。
【請求項18】
仮想空間に位置する1つ以上の表示媒体を含む端末用の表示画像を描画する描画ステップと、
ユーザからの入力を取得する取得ステップと、
前記取得ステップにより取得された一のユーザからの第1入力に基づいて、仮想空間における前記一のユーザに対応付けられる表示媒体の位置を変化させる位置変更ステップとを含み、
前記描画ステップは、前記一のユーザに対応付けられる第1表示媒体と他のユーザに対応付けられる第2表示媒体との間の位置関係を表す案内情報を、前記第1表示媒体に対応付けて描画する、コンピュータにより実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理方法、情報処理プログラムに関する。
【背景技術】
【0002】
仮想空間において部屋や氷の国といったような複数種類の空間部を設定し、特定の空間部に入るためのドアをアバターがいる空間部に配置する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想空間を現実に模して広がりを有する空間として設計すると、所望の空間部へ到達するための各アバターの移動距離が比較的長くなる傾向となる。このような場合、ユーザが自身のアバターを所望の位置まで移動させる操作を容易に行うことができるように、適切に補助できると有用である。
【0005】
そこで、1つの側面では、本開示は、仮想空間においてアバターのような表示媒体の移動を適切に補助することを目的とする。
【課題を解決するための手段】
【0006】
1つの側面では、仮想空間に位置する1つ以上の表示媒体を含む端末用の表示画像を描画する描画部と、
ユーザからの入力を取得する取得部と、
前記取得部により取得された一のユーザからの第1入力に基づいて、仮想空間における前記一のユーザに対応付けられる表示媒体の位置を変化させる位置変更部とを含み、
前記描画部は、前記一のユーザに対応付けられる第1表示媒体と他のユーザに対応付けられる第2表示媒体との間の位置関係を表す案内情報を、前記第1表示媒体に対応付けて描画する、情報処理システムが提供される。
【発明の効果】
【0007】
1つの側面では、本開示によれば、仮想空間においてアバターのような表示媒体の移動を適切に補助することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る仮想現実生成システムのブロック図である。
【
図2】仮想現実生成システムにより生成可能な仮想空間の一例の説明図である。
【
図3A】
図3に示した端末用画像の一部(Q1部)であるグループ情報表示領域の説明図である。
【
図4】仮想カメラのカメラパラメータの説明図である。
【
図5】アバター移動案内機能に関連したサーバ装置の機能ブロック図の一例である。
【
図6】ユーザデータベース内のデータの説明図である。
【
図7】アバターデータベース内のデータの説明図である。
【
図8】コンテンツ情報記憶部内のデータの説明図である。
【
図9】チケット情報記憶部内のデータの説明図である。
【
図10】グループ状態記憶部内のデータの説明図である。
【
図11A】ワープ領域を含む端末用画像の一例の説明図である。
【
図12】案内情報の説明用の状況の一例を示す図である。
【
図13】
図12に示した状況下での案内情報の一例の説明図である。
【
図14】案内情報の説明用の状況の他の一例を示す図である。
【
図15】
図14に示した状況下での案内情報の一例の説明図である。
【
図16】
図12に示した状況下での案内情報の他の一例の説明図である。
【
図17】仮想空間内に2人の先行ユーザアバターが位置する状況下での案内情報の一例の説明図である。
【
図19】チケット売場までの補助情報の誘導の説明図である。
【
図20】仮想現実生成システムの各種動作のうちの、案内情報の描画とワープボタンの描画に関連した動作の一例を示す概略フローチャートである。
【
図21】案内情報出力処理(
図20のステップS2009)の一例を示す概略的なフローチャートである。
【
図22】ワープ条件判定処理(
図20のステップS2011)の一例を示す概略的なフローチャートである。
【
図23】ユーザアバターに係るユーザからフレンドアバターに係るユーザへのリクエストが送信される場合の概略的なフローチャートである。
【
図24】アバター移動案内機能に関連した端末装置の機能ブロック図の一例である。
【
図25】
図24に示す端末装置による動作例であって、端末画像生成部に関連した動作例を示す概略的なフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面を参照して説明する。
【0010】
(仮想現実生成システムの概要)
図1を参照して、本発明の一実施形態に係る仮想現実生成システム1の概要について説明する。
図1は、本実施形態に係る仮想現実生成システム1のブロック図である。仮想現実生成システム1は、サーバ装置10と、1つ以上の端末装置20と、を備える。
図1では簡便のため、3つの端末装置20を図示しているが、端末装置20の数は2つ以上であればよい。
【0011】
サーバ装置10は、例えば1つ以上の仮想現実を提供する運営者が管理するサーバ等である。端末装置20は、例えば携帯電話、スマートフォン、タブレット端末、PC(Personal Computer)、ヘッドマウントディスプレイ、又はゲーム装置等の、ユーザによって使用される装置である。端末装置20は、典型的にはユーザごとに異なる態様で、複数がサーバ装置10にネットワーク3を介して接続されうる。
【0012】
端末装置20は、本実施形態に係る仮想現実アプリケーションを実行可能である。仮想現実アプリケーションは、ネットワーク3を介してサーバ装置10や所定のアプリケーション配信サーバから端末装置20に受信されてもよく、あるいは端末装置20に備えられた記憶装置又は端末装置20が読取可能なメモリカード等の記憶媒体にあらかじめ記憶されていてもよい。サーバ装置10及び端末装置20は、ネットワーク3を介して通信可能に接続される。例えば、サーバ装置10及び端末装置20が協動して、仮想現実に関する多様な処理を実行する。
【0013】
なお、ネットワーク3は、無線通信網や、インターネット、VPN(Virtual Private Network)、WAN(Wide Area Network)、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでよい。
【0014】
ここで、本実施形態に係る仮想現実の概要について説明する。本実施形態に係る仮想現実は、例えば教育、旅行、ロールプレイング、シミュレーション、ゲームやコンサートのようなエンターテインメント等、任意の現実に対する仮想現実等であって、仮想現実の実行に伴い、アバターのような仮想現実媒体が用いられる。例えば、本実施形態に係る仮想現実は、3次元の仮想空間と、当該仮想空間内に登場する各種の仮想現実媒体と、当該仮想空間内で提供される各種のコンテンツとにより実現される。
【0015】
仮想現実媒体は、仮想現実に使用される電子データであり、例えば、カード、アイテム、ポイント、サービス内通貨(又は仮想現実内通貨)、トークン(例えばNon-Fungible Token(NFT))、チケット、キャラクタ、アバター、パラメータ等、任意の媒体を含む。また、仮想現実媒体は、レベル情報、ステータス情報、仮想現実パラメータ情報(体力値及び攻撃力等)又は能力情報(スキル、アビリティ、呪文、ジョブ等)のような、仮想現実関連情報であってもよい。また、仮想現実媒体は、ユーザによって仮想現実内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る電子データであるが、仮想現実媒体の利用態様は本明細書で明示されるものに限られない。
【0016】
(サーバ装置の構成)
サーバ装置10の構成について具体的に説明する。サーバ装置10は、サーバコンピュータにより構成される。サーバ装置10は、複数台のサーバコンピュータにより協動して実現されてもよい。例えば、サーバ装置10は、各種のコンテンツを提供するサーバコンピュータや、各種の認証サーバを実現するサーバコンピュータ等により協動して実現されてもよい。また、サーバ装置10は、Webサーバを含んでよい。この場合、後述する端末装置20の機能の一部は、Webサーバから受領したHTML文書やそれに付随する各種プログラム(Javascript)をブラウザが処理することによって実現されてもよい。
【0017】
サーバ装置10は、サーバ通信部11と、サーバ記憶部12と、サーバ制御部13と、を備える。
【0018】
サーバ通信部11は、外部装置と無線又は有線によって通信し、情報の送受信を行うインタフェースを含む。サーバ通信部11は、例えば無線LAN(Local Area Network)通信モジュール又は有線LAN通信モジュール等を含んでもよい。サーバ通信部11は、ネットワーク3を介して、端末装置20との間で情報を送受信可能である。
【0019】
サーバ記憶部12は、例えば記憶装置であって、仮想現実に係る各種処理に必要な種々の情報及びプログラムを記憶する。例えばサーバ記憶部12は、仮想現実アプリケーションを記憶する。
【0020】
また、サーバ記憶部12は、仮想空間を描画するためのデータ、例えば建物のような屋内の空間や、屋外の空間の画像等を記憶する。なお、仮想空間を描画するためのデータは、仮想空間ごとに複数種類用意され、使い分けられてもよい。
【0021】
また、サーバ記憶部12は、3次元の仮想空間内に配置された種々のオブジェクトに投影(テクスチャマッピング)するための種々の画像(テクスチャ画像)を記憶する。
【0022】
例えば、サーバ記憶部12は、各ユーザに対応付けられる仮想現実媒体としてのユーザアバターM1(表示媒体の一例)の描画情報を記憶する。なお、ユーザとは、仮想現実生成システム1のユーザである。ユーザは、一般的なユーザに加えて、仮想現実生成システム1の運営者に関連してアバターを操作するスタッフユーザや、仮想空間においてコンテンツを提供するゲストユーザ等を含んでもよい。仮想空間内にユーザアバターM1は、ユーザアバターM1の描画情報に基づいて描画される。
【0023】
また、サーバ記憶部12は、例えば建物、壁、樹木、又はNPC(Non Player Character)等のような、ユーザアバターM1とは異なる各種のオブジェクトに係る描画情報を記憶する。仮想空間内に各種のオブジェクトは、かかる描画情報に基づいて描画される。
【0024】
以下、ユーザアバターM1とは異なる任意の仮想現実媒体(例えば建物、壁、樹木、又はNPC等)に対応するオブジェクトであって、仮想空間内に描画されたオブジェクトを第2オブジェクトM3とも称する。なお、本実施形態では、第2オブジェクトM3は、仮想空間内で固定されたオブジェクトや、仮想空間内で移動可能なオブジェクト等を含んでもよい。また、第2オブジェクトM3は、仮想空間内に常に配置されるオブジェクトや、所定の配置条件が満たされた場合にだけ配置されるオブジェクト等を含んでもよい。
【0025】
サーバ制御部13は、専用のマイクロプロセッサ又は特定のプログラムを読み込むことにより特定の機能を実現するCPU(Central Processing Unit)や、GPU(Graphics Processing Unit)等を含んでよい。例えばサーバ制御部13は、端末装置20と協動して、端末装置20の表示部23に対するユーザ操作に応じて仮想現実アプリケーションを実行する。また、サーバ制御部13は、仮想現実に関する多様な処理を実行する。サーバ制御部13の具体的な処理の詳細は後述する。
【0026】
(端末装置の構成)
端末装置20の構成について説明する。
図1に示すように、端末装置20は、端末通信部21と、端末記憶部22と、表示部23と、入力部24と、端末制御部25とを備える。
【0027】
端末通信部21は、外部装置と無線又は有線によって通信し、情報の送受信を行うインタフェースを含む。端末通信部21は、例えばLTE(Long Term Evolution)(登録商標)や、LTE-A(LTE-Advanced)、第五世代移動通信システム、UMB(Ultra Mobile Broadband)等のモバイル通信規格に対応する無線通信モジュール、無線LAN通信モジュール、又は有線LAN通信モジュール等を含んでもよい。端末通信部21は、ネットワーク3を介して、サーバ装置10との間で情報を送受信可能である。
【0028】
端末記憶部22は、例えば一次記憶装置及び二次記憶装置を含む。例えば端末記憶部22は、半導体メモリ、磁気メモリ、又は光メモリ等を含んでもよい。端末記憶部22は、サーバ装置10から受信する、仮想現実の処理に用いられる種々の情報及びプログラムを記憶する。仮想現実の処理に用いられる情報及びプログラムは、端末通信部21を介して外部装置から取得されてもよい。例えば、仮想現実アプリケーションプログラムが、所定のアプリケーション配信サーバから取得されてもよい。以下、アプリケーションプログラムを、単にアプリケーションともいう。また、例えば、上述したユーザに関する情報及び他のユーザの仮想現実媒体に関する情報等の一部又は全部が、サーバ装置10から取得されてもよい。
【0029】
表示部23は、例えば液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを含む。表示部23は、多様な画像を表示可能である。表示部23は、例えばタッチパネルで構成され、多様なユーザ操作を検出するインタフェースとして機能する。なお、表示部23は、ヘッドマウントディスプレイの形態であってもよい。
【0030】
入力部24は、例えば表示部23と一体的に設けられたタッチパネルを含む入力インタフェースを含む。入力部24は、端末装置20に対するユーザ入力を受付可能である。また、入力部24は、物理キーを含んでもよいし、マウス等のようなポインティングデバイスをはじめとする任意の入力インタフェースを更に含んでもよい。また、入力部24は、音声入力やジェスチャ入力のような、非接触型のユーザ入力を受付可能であってもよい。なお、ジェスチャ入力には、ユーザの身体の動きを検出するためのセンサ(画像センサや、加速度センサ、距離センサ等)が利用されてもよい。
【0031】
端末制御部25は、1つ以上のプロセッサを含む。端末制御部25は、端末装置20全体の動作を制御する。
【0032】
端末制御部25は、端末通信部21を介して情報の送受信を行う。例えば、端末制御部25は、仮想現実に係る各種処理に用いられる種々の情報及びプログラムを、サーバ装置10及び他の外部サーバの少なくとも一方から受信する。端末制御部25は、受信された情報及びプログラムを、端末記憶部22に記憶する。例えば、端末記憶部22には、Webサーバに接続するためのブラウザ(インターネットブラウザ)が格納されてよい。
【0033】
端末制御部25は、ユーザの操作に応じて仮想現実アプリケーションを起動する。端末制御部25は、サーバ装置10と協動して、仮想現実に係る各種処理を実行する。例えば、端末制御部25は、仮想空間の画像を表示部23に表示させる。画面上には、例えばユーザ操作を検出するGUI(Graphic User Interface)が表示されてもよい。端末制御部25は、入力部24を介して、画面に対するユーザ操作を検出可能である。例えば端末制御部25は、ユーザのタップ操作、ロングタップ操作、フリック操作、及びスワイプ操作等を検出可能である。タップ操作は、ユーザが指で表示部23に触れ、その後に指を離す操作である。端末制御部25は、操作情報をサーバ装置10に送信する。
【0034】
(仮想空間の例)
サーバ制御部13は、端末装置20と協動して、表示部23上に仮想空間の画像を表示し、仮想現実の進行やユーザの操作に応じて仮想空間の画像を更新していく。本実施形態では、サーバ制御部13は、端末装置20と協動して、3次元の仮想空間に配置されるオブジェクトを、仮想空間に配置された仮想カメラから視た表現で描画する。
【0035】
なお、以下で説明する描画処理は、サーバ制御部13により実現されるが、他の実施形態では、以下で説明する描画処理の一部又は全部がサーバ制御部13により実現されてもよい。なお、以下の説明において、端末装置20に表示される仮想空間の画像の少なくとも一部を、サーバ装置10が生成したデータに基づいて端末装置20に表示させるウェブ表示とし、画像の少なくとも一部を、端末装置20にインストールされているネイティブアプリケーションによって表示させるネイティブ表示としてもよい。
【0036】
図2は、仮想現実生成システム1により生成可能な仮想空間の一例の説明図である。
【0037】
本実施形態では、仮想空間は、複数の空間部を含んでよい。複数の空間部のそれぞれは、ユーザアバターM1が入ることができる空間部であり、それぞれにおいて独自のコンテンツが提供可能であってよい。複数の空間部のそれぞれは、現実内の各種空間と同様、仮想空間内において互いに連続する空間を形成する態様で生成されてもよい。あるいは、複数の空間部の一部又はすべては、互いに不連続であってもよい。不連続とは、現実内の物理法則に反する態様で接続される関係であり、例えばワープのような瞬間移動の態様で移動可能な空間部間の関係である。
【0038】
図2に示す例では、仮想空間は、複数のコンテンツ提供用の空間部70と、フリー空間部71とを備えている。フリー空間部71では、ユーザアバターM1は、基本的に自由に移動できる。なお、フリー空間部71においても、適宜、コンテンツ(例えば空間部70で提供されるような後述する各種コンテンツ)が提供されてもよい。
【0039】
空間部70は、フリー空間部71に対して少なくとも一部が壁体(第2オブジェクトM3の例)や移動禁止部(第2オブジェクトM3の例)により隔てられた空間部であってよい。例えば、空間部70は、フリー空間部71に対してユーザアバターM1が出入りできる出入口(例えば、穴や、ドア等の第2オブジェクトM3)を有してよい。空間部70では、当該空間部70に位置するユーザアバターM1に対してコンテンツが提供されてよい。
【0040】
空間部70で提供されるコンテンツ(仮想現実で提供されるコンテンツ)の種類や数は、任意である。本実施形態では、一例として、空間部70で提供されるコンテンツは、各種の映像のようなデジタルコンテンツを含む。映像は、リアルタイムの映像であってもよいし、非リアルタイムの映像であってもよい。また、映像は、実画像に基づく映像であってもよいし、CG(Computer Graphics)に基づく映像であってもよい。映像は、情報提供用の映像であってよい。この場合、映像は、特定のジャンルの情報提供サービス(旅や、住まい、食品、ファッション、健康、美容等に関する情報提供サービス)、特定のユーザによる放送サービス(例えばYoutube(登録商標))等に関するものであってよい。
【0041】
なお、空間部70で提供されるコンテンツは、仮想空間で利用可能な各種アイテム(第2オブジェクトM3の例)であってもよい。この場合、各種アイテムを提供する空間部70は、販売所の形態であってもよい。あるいは、空間部70で提供されるコンテンツは、現実で入手可能な物品の取得権限やトークン等であってもよい。なお、複数の空間部70の一部は、コンテンツを提供しない空間部であってもよい。
【0042】
空間部70のそれぞれは、現実の実店舗と同様、異なる主体により運営されてもよい。この場合、各空間部70に係る運営者は、本仮想現実生成システム1の運営者に対して出店料等を支払うことで、対応する空間部70を利用してもよい。
【0043】
なお、仮想空間は、空間部70の増加に伴って拡大可能であってもよい。あるいは、仮想空間は、空間部70で提供されるコンテンツの属性ごとに複数設定されてもよい。この場合、仮想空間同士は、それぞれ“空間部”として互いに不連続であってもよいし、連続する形態であってよい。
【0044】
(仮想空間における描画機能)
サーバ制御部13は、端末装置20と協動して、表示部23上に端末用の表示画像(以下、単に「端末用画像」とも称する)を表示し、端末用画像を更新していく。なお、変形例では、端末用画像は、端末装置20により描画されてもよい(
図24等参照)。
【0045】
図3は、端末用画像の説明図であり、端末用画像の一例を示す図である。
図3では、仮想空間の一部がユーザアバターM1(ユーザ名“ユーザA”)とともに描画されている。端末用画像は、仮想空間内に配置される仮想カメラ60からの映像として描画されてもよい。この場合、仮想カメラ60は、ユーザアバターM1ごとに設定されてもよい。また、仮想カメラ60は、ユーザアバターM1ごとのカメラに加えて、定点に設置される形態のカメラを含んでもよい。
【0046】
図4は、仮想カメラ60のカメラパラメータの説明図である。
図4には、グローバル座標系に位置付けられたフィールド面40が示されている。グローバル座標系は、仮想空間に固定的に対応付けられた座標系である。なお、フィールド面40とは、特に言及しない限り、フィールド画像が投影された状態のフィールド面40(フィールドオブジェクトのフィールド面40)を表す。フィールド面40は、仮想空間のフィールドを表す。なお、不連続な2つ以上の空間部のそれぞれに対しては、グローバル座標系で互いに不連続なフィールド面40が設定されてよい。
【0047】
本実施形態では、カメラパラメータは、2つの位置パラメータ(X、Y)と、距離パラメータA2と、向きパラメータθと、迎角パラメータψとを含む。これらのすべてのパラメータの値が決まると、グローバル座標系に対して、仮想カメラ60を一意に位置付けることができる。なお、迎角パラメータψが約90度となると、鳥瞰表示が可能となる。
【0048】
位置パラメータXは、視線方向Vのxy平面上の交点のx座標であり、位置パラメータYは、視線方向Vのxy平面上の交点のy座標であり、距離パラメータA2は、視線方向Vのxy平面上の交点から仮想カメラ60までの距離(視線方向Vに沿った距離)である。向きパラメータθは、視線方向Vのxy平面上の投影ベクトルV’と、x軸とのなす角度である。迎角パラメータψは、視線方向Vとxy平面とのなす角度である。なお、本実施形態では、迎角パラメータψが利用されるが、迎角パラメータψは省略されてもよい。すなわち、迎角パラメータψは、値が一定値(固定値)であってもよい。
【0049】
このような各種カメラパラメータのうちの一部又は全部の各値は、ユーザアバターM1に係るパラメータの値(例えばユーザアバターM1の位置や状態)に連動して変化されてもよいし、及び/又は、ユーザからの入力に応じて変化されてもよい。例えば、2つの位置パラメータ(X、Y)の各値は、ユーザアバターM1の位置に対応してもよい。なお、このようなカメラパラメータは、一例であり、実際の処理では、異なるパラメータが等価的に使用されてもよい。例えば、カメラパラメータは、xy平面に対する高さと、直交する3軸回りの回転パラメータ(すなわち、ヨー、ロール、及びピッチ)とを含んでもよい。また、カメラパラメータは、焦点距離等のような他のパラメータを含んでもよい。
【0050】
(アバター移動案内機能の詳細)
本実施形態において、仮想空間は、ユーザアバターM1を介したユーザ間の交流の場として機能することもできる。この場合、例えば、複数のユーザが、事前に約束をして、所定の時間に特定の空間部70でコンテンツの提供を受けることができる。この場合、複数のユーザは、コンテンツの提供を介して、交流を図ることができる。あるいは、複数のユーザが、事前に約束をして、所定の時間に特定の空間部70に集まり、会話(チャット等)を楽しむことができる。
【0051】
ところで、仮想現実は、現実の場合とは異なり、仮想空間を比較的自由に設計でき、例えば、仮想空間を現実に模して広がりを有する空間として設計することも可能である。この場合、仮想空間内に比較的多くの空間部を配置でき、例えばモールのような大規模な仮想空間を構築でき、仮想空間への集客力(仮想空間を訪れるユーザアバターM1の数や頻度)を高めることができる。
【0052】
しかしながら、仮想空間を現実に模して広がりを有する空間として設計すると、所望の空間部へ到達するための各アバターの移動距離が比較的長くなる傾向となる。このような場合、ユーザアバターM1が所望の空間部へ容易に辿り着くことができるように補助できると有用である。
【0053】
そこで、本実施形態では、仮想現実生成システム1は、以下で詳説するように、ユーザアバターM1が所望の空間部又は空間部内の所望の位置へ容易に辿り着くことができるように補助ないし案内するアバター移動案内機能を有する。
【0054】
以下では、アバター移動案内機能に関連したサーバ装置10が、情報処理システムの一例を実現するが、後述するように、特定の一の端末装置20の各要素(
図1の端末通信部21~端末制御部25参照)が、情報処理システムの一例を実現してもよいし、複数の端末装置20が、協動して情報処理システムの一例を実現してもよい。また、サーバ装置10と1つ以上の端末装置20が、協動して情報処理システムの一例を実現してもよい。
【0055】
図5は、アバター移動案内機能に関連したサーバ装置10の機能ブロック図の一例である。
図6は、ユーザデータベース140内のデータの説明図である。
図7は、アバターデータベース142内のデータの説明図である。
図8は、コンテンツ情報記憶部144内のデータの説明図である。
図9は、チケット情報記憶部145内のデータの説明図である。
図10は、グループ状態記憶部146内のデータの説明図である。なお、
図6から
図10において、“***”は、何らかの情報が格納されている状態を表し、“-”は、情報が格納されていない状態を表し、“・・・”は同様の繰り返しを表す。
【0056】
サーバ装置10は、
図5に示すように、ユーザデータベース140と、アバターデータベース142と、コンテンツ情報記憶部144と、チケット情報記憶部145、グループ状態記憶部146と、グループ設定部150と、ユーザアバター処理部152と、端末画像生成部158と、コンテンツ処理部159と、対話処理部160と、第1移動権限処理部162と、第2移動権限処理部164と、判断処理部166と、パラメータ更新部170と、を含む。なお、以下で説明するサーバ装置10の機能の一部又は全部は、適宜、端末装置20により実現されてもよい(
図25参照)。また、ユーザデータベース140からグループ状態記憶部146の区分けや、グループ設定部150からパラメータ更新部170の区分けは、説明の都合上であり、一部の機能部が、他の機能部の機能を実現してもよい。例えば、グループ設定部150、ユーザアバター処理部152、端末画像生成部158、コンテンツ処理部159、及び対話処理部160の各機能は、端末装置20により実現されてもよい。また、例えば、ユーザデータベース140内のデータの一部又は全部は、アバターデータベース142内のデータに統合されてもよいし、別のデータベースに格納されてもよい。
【0057】
なお、ユーザデータベース140からグループ状態記憶部146は、
図1に示したサーバ記憶部12により実現でき、グループ設定部150からパラメータ更新部170は、
図1に示したサーバ制御部13により実現できる。また、グループ設定部150からパラメータ更新部170のうちの一部(端末装置20との通信を行う機能部)は、
図1に示したサーバ制御部13とともにサーバ通信部11により実現できる。
【0058】
ユーザデータベース140には、ユーザ情報が格納される。
図6に示す例では、ユーザ情報は、ユーザに係るユーザ情報600を含む。
【0059】
ユーザ情報600は、各ユーザIDに、ユーザ名、ユーザ認証情報、ユーザアバターID、位置/向き情報、フレンド情報等が対応付けられる。ユーザ名は、ユーザが自身で登録した名前であり、任意である。ユーザ認証情報は、ユーザが正当なユーザであることを示すための情報であり、例えばパスワードや、メールアドレス、生年月日、合言葉、生体情報等を含んでよい。フレンド情報は、フレンド関係にあるユーザを特定する情報(例えばユーザID)を含んでよい。
【0060】
ユーザアバターIDは、ユーザアバターを特定するためのIDである。本実施形態では、ユーザアバターIDは、ユーザIDごとに1つずつ対応付けられる。従って、以下の説明において、“ユーザ(又はユーザID)に対応付けられる”又はその類の表現は、ユーザアバターIDに対応付けられる”又はその類の表現と同義である。ただし、他の実施形態では、一のユーザIDに複数のユーザアバターIDが対応付け可能であってもよい。
【0061】
位置/向き情報は、ユーザアバターM1の位置情報と向き情報とを含む。向き情報は、ユーザアバターM1の顔の向きを表す情報であってよい。なお、位置/向き情報等は、ユーザからの操作入力に応じて、動的に変化しうる情報である。位置/向き情報に加えて、ユーザアバターM1の手足等の動きを表す情報や、顔の表情(例えば、口の動き)、顔や頭部の向きや視線方向(例えば、眼球の向き)、レーザーポインターのような空間内の向きや座標を示すオブジェクト等を表す情報を含んでもよい。
【0062】
アバターデータベース142には、ユーザアバターM1に関するアバター情報が格納される。
【0063】
図7に示す例では、アバター情報700は、各ユーザアバターIDに、顔パーツID、髪型パーツID、服装パーツID等が対応付けられる。顔パーツID、髪型パーツID、服装パーツID等の容姿に係るパーツ情報は、ユーザアバターM1を特徴付けるパラメータであり、対応する各ユーザにより選択されてよい。例えば、ユーザアバターM1に係る顔パーツID、髪型パーツID、服装パーツID等の容姿に係る情報は、複数種類用意される。また、顔パーツIDについては、顔の形、目、口、鼻等の各種類にそれぞれパーツIDが用意され、顔パーツIDに係る情報は、当該顔を構成する各パーツのIDの組み合わせで管理されてもよい。この場合、各アバターIDに紐付けられた容姿に係る各IDに基づいて、サーバ装置10のみならず端末装置20側においても各ユーザアバターM1を描画することが可能となる。
【0064】
コンテンツ情報記憶部144には、仮想空間内で提供可能なコンテンツに関する各種のコンテンツ情報が記憶される。例えば、コンテンツごとに、その提供位置であるコンテンツ提供位置(例えば空間部のID)や、内容等が記憶される。
【0065】
図8に示す例では、コンテンツ情報800は、各コンテンツIDに、コンテンツ提供位置(
図8では、「提供位置」と表記)や、コンテンツ内容(
図8では、「内容」と表記)等が対応付けられている。
【0066】
コンテンツ提供位置は、仮想空間内の位置であって、コンテンツ処理部159を介してユーザがコンテンツの提供を受けることができる位置を含む。すなわち、コンテンツ提供位置は、コンテンツの提供を受けることができる位置を含む。コンテンツ提供位置は、一点の座標値で定義されてもよいが、典型的には、一纏めの領域又は空間部を形成する複数の座標値で定義されてよい。また、コンテンツ提供位置は、平面上の位置であってもよいし、空間上の位置(すなわち高さ方向を含む3次元の座標系で表される位置)であってもよい。なお、一のコンテンツ提供位置に対応付けられるコンテンツの単位を、1つのコンテンツ(コンテンツの一単位)とする。従って、例えば、ある一のコンテンツ提供位置で、2種類の動画の視聴が可能である場合でも、当該2種類の動画全体が1つのコンテンツである。
【0067】
コンテンツ内容は、コンテンツ名や、概要、作成者等の情報を含んでよい。
【0068】
コンテンツ情報記憶部144には、更に、各コンテンツ提供位置でそれぞれのコンテンツの提供を受けるために満たされるべき条件(以下、「コンテンツ提供条件」とも称する)を表す情報が記憶されてよい。コンテンツ提供条件は、コンテンツIDごとに設定されてよい。コンテンツ提供条件は、提供時間、チケットの要否や年齢等に基づいて設定されてもよい。
【0069】
チケット情報記憶部145には、チケットに関するチケット情報(権限情報の一例)が記憶される。チケットとは、ユーザアバターM1が仮想空間内のコンテンツ提供位置(例えば空間部内の1つ以上の位置)に移動するための移動権限(ひいては、当該コンテンツ提供位置でコンテンツの提供を受けるための権限)を表す仮想現実媒体である。なお、
図3を参照して後述するチケット管理ボタン303の操作により表示されるチケット管理画面や、
図18を参照して後述するグループ情報表示領域3000内のチケット状態1880は、チケット情報記憶部145内のデータに基づいて生成されてよい。
【0070】
図9に示す例では、チケット情報900は、チケットIDに、コンテンツ提供位置と、所有者IDと、購入情報、譲渡用の認証情報、譲渡情報、有効フラグ等が対応付けられている。
【0071】
チケットIDは、チケットごとに付与される固有のIDである。
【0072】
コンテンツ提供位置は、チケットに係る移動権限に基づいて位置できる仮想空間内の位置を表す。コンテンツ提供位置は、コンテンツの提供を受けることができる位置を含む。コンテンツ提供位置は、一点の座標値で定義されてもよいが、典型的には、一纏めの領域又は空間部を形成する複数の座標値で定義されてよい。また、コンテンツ提供位置は、平面上の位置であってもよいし、空間上の位置(すなわち高さ方向を含む3次元の座標系で表される位置)であってもよい。コンテンツ提供位置は、典型的には、コンテンツごとに、コンテンツの提供位置や属性に応じて設定されてよい。
【0073】
なお、
図9に示すチケット情報900は、例えば
図2に示す複数の空間部70のような、複数種類のコンテンツ提供位置が対応付けられる場合に好適である。コンテンツ提供位置が1種類だけである場合、チケット情報900におけるコンテンツ提供位置は、省略されてもよい。
【0074】
所有者IDは、現時点で当該チケットを所持しているユーザに係るユーザIDに対応する。チケットは、上述したように譲渡可能であるため、所有者IDは、事後的に変化しうる。
【0075】
購入情報は、購入者IDや、購入日時、購入方法等を表す。なお、購入者IDは、購入入力を行ったユーザに対応付けられたユーザIDである。
【0076】
譲渡用の認証情報は、譲渡に必要となる認証情報であり、チケットIDごとに異なる情報である。
【0077】
譲渡情報は、1回以上の譲渡の有無を表し、更に、譲渡日時等を表してもよい。なお、
図9において、“-”は、譲渡がなされていないことを示す。
【0078】
有効フラグは、チケットの有効性を表すフラグ情報である。本実施形態では、一例として、有効フラグが“1”である場合は、チケットが有効である状態を表し、有効フラグが“0”である場合は、チケットが無効である状態を表す。チケットが有効である状態は、当該チケットに対応付けられたコンテンツ提供位置に、当該チケットに対応付けられたユーザアバターM1が移動できる状態(及びそれに伴い当該コンテンツ提供位置で特定のコンテンツの提供を受けることができる状態)に対応する。
【0079】
チケットの有効性は、チケットの属性ごとに設定されてもよい。例えば、ある属性のチケットは、対応するユーザアバターM1(例えば購入者IDに対応付けられたユーザアバターM1)がコンテンツ提供位置に到達した時点(あるいは、その直ぐ後の時点であって、コンテンツ提供位置に至った時点)で無効化されてもよい。また、他の属性のチケットは、対応するユーザアバターM1がコンテンツ提供位置に到達した時点から、所定時間が経過した時点で無効化されてもよい。また、他の属性のチケットは、対応するユーザアバターM1がコンテンツ提供位置に到達した後、コンテンツ提供位置から離れた時点で無効化されてもよい。あるいは、同じチケットにより再入場が可能な仕組みを更に実現してもよい。この場合、チケットの有効性は、対応するユーザアバターM1がコンテンツ提供位置に到達した時点から所定時間経過するまで維持されてもよい。あるいは、チケットの有効性は、所定回数以上のコンテンツ提供位置への移動(入場)が検出された場合に、無効化されてもよい。
【0080】
グループ状態記憶部146には、仮想空間において活動するグループの状態に関するグループ状態情報が格納される。グループは、後述するグループ設定部150により設定される。
図10に示す例では、グループ状態情報1000は、グループIDごとに、対応するグループ名及びユーザID(対応するグループに属するユーザに係るユーザID)が対応付けられている。なお、一のグループIDには、複数のユーザIDが対応付けられうる。なお、グループは、パーティと呼ばれる場合がある。
【0081】
グループ設定部150は、仮想空間において交流する1人以上のユーザからなるグループを設定する。例えば、各ユーザがユーザアバターM1を介して仮想空間に入る際、グループ名を入力する。この場合、グループ設定部150は、グループ名ごとにグループIDを設定し、同じ仮想空間名を入力したユーザ同士を同じグループとして設定してよい。この場合、グループごとに、グループ内の各ユーザが一の仮想空間を共有できるように、仮想空間は、グループごとに生成されてよい。これにより、例えば、仮想空間で交流しようとする複数のユーザは、事前に通知しあった共通の仮想空間名を入力することで、他のユーザ(グループが異なるユーザ)と交流することなく、共通の仮想空間で交流できる。また、グループごとに仮想空間を管理できるので、一の仮想空間を多数のユーザが共有する場合に比べて、一のユーザに対応付けられる端末装置20に送信する他ユーザの情報量を低減できるので、仮想現実生成システム1全体としての通信負荷を低減できる。なお、変形例では、一の仮想空間は、複数のグループに属するユーザが同時に利用可能であってもよい。以下では、特に言及しない限り、各ユーザアバターM1は、同一グループに属するものとする。
【0082】
また、グループ設定部150は、一のユーザがユーザアバターM1を介して仮想空間に入る際、端末画像生成部158と連携して、当該一のユーザに対応付けられる端末装置20に現在設定中のグループ情報を表示してもよい。この場合、グループ情報は、グループ名やそのメンバを表す情報(ユーザ名等)を含んでよい。また、グループ名の表示は、選択ボタンとして機能してもよい。この場合、所望のグループ名の表示を見つけたユーザは、対応する選択ボタンを操作することで、容易に所望のグループに参加できる。なお、グループへの参加は、グループ内のメンバであるユーザからの許可が必要とされてもよい。
【0083】
また、他の実施形態では、グループ設定部150は、ユーザからの入力に基づくことなく、各ユーザを複数のグループのうちの一のグループに割り振ってもよい。この場合、一のグループに属するユーザ数が均等化されるように、割り振りを実現してもよい。これにより、グループごとの処理負荷のバランスを均等化できる。この際、グループ設定部150は、入室時刻が近いユーザ同士を同一のグループに割り振ってもよいし、ユーザの属性情報(年齢や、性別、好み等)に応じた割り振りを実現してもよい。
【0084】
ユーザアバター処理部152は、各ユーザアバターM1に係る各種処理を実行する。ユーザアバター処理部152は、ユーザアバターM1ごとに、操作入力取得部1521(取得部の一例)と、ユーザ動作処理部1522とを含む。
【0085】
操作入力取得部1521は、ユーザによる各種操作に応じて生成される操作入力情報を取得する。なお、ユーザによる操作入力情報は、上述した端末装置20の入力部24を介して生成される。
【0086】
本実施形態では、操作入力情報は、仮想空間におけるユーザアバターM1の位置を変化させる操作入力(第1入力の一例)や、ユーザアバターM1の向き等の他のパラメータ(移動以外のパラメータ)の値を変化させる操作入力、ユーザインタフェース描画部1582により描画されるユーザインタフェースを介して生成される操作入力、対話処理部160で利用される音声又はテキスト入力等を含んでよい。ユーザインタフェースを介して生成される操作入力は、後述するワープボタン1800を介して生成されるワープ入力(第2入力の一例)を含む。
【0087】
なお、仮想空間におけるユーザアバターM1の位置を変化させる操作入力は、ユーザアバターM1を移動させる操作入力であり、以下、「移動操作入力」とも称する。また、以下、ユーザアバターM1の向き等の他のパラメータ(移動以外のパラメータ)の値を変化させる操作入力を、「アバター関連入力」とも称する。なお、移動操作入力やアバター関連入力は、特定キー(例えば“WASD”キー)の操作により生成されてもよいし、矢印ボタン等を含むユーザインタフェースを介して生成されてもよいし、音声やジェスチャ等の動きにより生成されてもよい。
【0088】
本実施形態では、ユーザ動作処理部1522は、基本動作処理部15221(位置変更部の一例)と、第1ワープ処理部15222と、第2ワープ処理部15223とを含む。
【0089】
基本動作処理部15221は、操作入力取得部1521により取得された操作入力情報(移動操作入力やアバター関連入力)に基づいて、仮想空間における各ユーザアバターM1の位置や向きを決定する。基本動作処理部15221により決定(生成)された各ユーザアバターM1の位置/向き情報は、例えば、対応するユーザIDに対応付けて記憶(更新)されてよい(
図6参照)。また、基本動作処理部15221は、操作入力情報に基づいて、ユーザアバターM1の手や顔などの各種の動きを決定してもよい。この場合、かかる動きの情報も、ユーザアバターM1の位置/向き情報とともに記憶(更新)されてよい。
【0090】
第1ワープ処理部15222は、一のユーザアバターM1が仮想空間におけるワープ領域(所定領域の一例)内まで移動した場合に、ワープ領域から所定距離D1以上離れた第1所定位置へと、又は、ワープ領域が属する空間部とは異なる空間部内の第1所定位置へと、当該一のユーザアバターM1を移動させる処理(以下、「第1ワープ処理」と称する)を行う。なお、一のユーザアバターM1に対する第1ワープ処理は、当該一のユーザアバターM1の位置/向き情報のうちの、少なくとも位置情報を変化させることを伴う。
【0091】
この場合、所定距離D1は、比較的大きい距離であり、例えば、第1ワープ処理の処理時間に対応する時間あたりで移動操作入力だけによってユーザアバターM1が移動できる最大距離よりも有意に大きくてよい。所定距離D1で判定される距離(ワープ領域から第1所定位置までの距離)は、直線距離であってもよいし、ユーザアバターM1の移動経路に沿った距離であってもよい。
【0092】
本実施形態では、第1所定位置は、別のワープ領域として設定される。すなわち、本実施形態では、2つのワープ領域間を直接的に行き来する態様でユーザアバターM1が移動できる。なお、2つのワープ領域間を直接的に行き来する際に要する時間は、当該2つのワープ領域間の距離を移動操作入力に基づきユーザアバターM1を移動させる場合の時間よりも有意に短い。これにより、ユーザは、ワープ領域を利用して、効率的な移動を実現できる。なお、変形例では、第1所定位置は、ワープ領域ではなく、一方向のワープだけが実現可能であってもよい。なお、ワープ領域は、複数設定されてよく、一部のワープ領域だけが、一方向のワープだけが実現可能であってもよい。
【0093】
図11Aには、
図2に示した仮想空間におけるワープ領域1100を含む端末用画像の一例が示されている。ワープ領域1100は、位置が固定であってもよいし、適宜、位置が変更されてもよい。また、ワープ領域1100は、所定の出現条件を満たした場合に出現されてもよい。ワープ領域1100からの行き先は、ワープ領域1100ごとに設定されてよい。なお、ワープ領域1100からの行き先は、必ずしも現在位置の属する空間部とは異なる空間部(例えば不連続な空間部)である必要はなく、現在位置の属する空間部と同一の空間部内に設定されてもよい。
【0094】
本実施形態では、上述したように、2つのワープ領域間を直接的に行き来できる態様で、一のワープ領域1100に対応するワープ領域が、行き先の空間部等において設定される。この場合、ワープ領域を介した双方向の移動が可能である。例えば、
図2には、対のワープ領域1100-1、1100-2が模式的に示されている。この場合、ワープ領域1100-1、1100-2のうちの一方のワープ領域内に移動すると、他方のワープ領域へと瞬間的な移動(以下、「瞬間移動」と称する)を実現できる。2点間の瞬間移動(例えば対のワープ領域1100-1、1100-2間の瞬間移動)とは、現実では実現できない移動態様であり、例えば移動操作入力によって2点間をユーザアバターM1を移動させた場合に要する最小時間よりも有意に短い時間で移動できる移動態様を指す。
【0095】
なお、
図2に示す例では、2つのワープ領域1100は、フリー空間部71内に設定されているが、複数のワープ領域の一部又は全部は、空間部70内に設定されてもよい。また、一のワープ領域から瞬間移動可能な行き先は、2つ以上あり、ユーザにより選択可能であってもよいし、ランダムに選択されてもよい。
【0096】
第2ワープ処理部15223は、一のユーザアバターM1が仮想空間における特定領域内に位置する場合に、当該一のユーザアバターM1に対応付けられるユーザ(すなわち当該一のユーザアバターM1を操作するユーザ)からのワープ入力に応じて、第2所定位置へとユーザアバターM1を移動させる処理(以下、「第2ワープ処理」と称する)を行う。この場合、第2所定位置は、特定領域が属する空間部内に設定されてもよいし、特定領域が属する空間部とは異なる空間部内に設定されてもよい。第2所定位置は、固定であってもよいし、可変であってもよい。なお、一のユーザアバターM1に対する第2ワープ処理は、当該一のユーザアバターM1の位置/向き情報のうちの、少なくとも位置情報を変化させることを伴う。
【0097】
本実施形態では、第2所定位置は、ユーザアバターM1ごとに設定される。一のユーザアバターM1に対して設定される第2所定位置は、当該一のユーザアバターM1に対して所定関係を有する他のユーザアバターM1の位置に応じて設定されてよい。所定関係は、任意であるが、本実施形態では、一例として、グループ設定部150により設定された同じグループに属する関係を含む。他の実施形態では、同じ観点から、所定関係は、フレンド関係を含んでよい。以下では、一のユーザアバターM1に対して所定関係を有する他のユーザアバターM1を、「フレンドアバター」とも称する。
【0098】
この場合、一のユーザアバターM1に対して設定される第2所定位置は、例えば、フレンドアバターの位置に対して所定距離D2内に設定されてよい。この場合、所定距離D2は比較的小さい距離であり、例えば、一のユーザアバターM1に係るユーザ用の端末用画像において、第2ワープ処理の直後に、フレンドアバターが描画されるような距離であってよい。この場合、一のユーザアバターM1は、フレンドアバターのそばまで瞬間移動が可能となる。なお、この場合、一のユーザアバターM1の移動元の位置は、フレンドアバターの位置する空間部内の位置であってもよいし、フレンドアバターの位置する空間部とは異なる空間部内の位置であってもよい。なお、一のユーザアバターM1の移動先である第2所定位置は、フレンドアバターの位置に対して所定距離D2内であれば任意であるが、例えば、フレンドアバターの位置に対して所定距離D2内、かつ、フレンドアバターの後方又は側方の位置といった具合に、フレンドアバターの位置に対して所定の位置関係を有してもよい。
【0099】
このような第2ワープ処理によれば、ユーザは、移動操作入力によって自身のユーザアバターM1をフレンドアバターのそばまで移動させることが難しい場合でも、後述するワープボタン1800を操作するだけでユーザアバターM1をフレンドアバターのそばまで移動させることが可能となるので、利便性が向上する。このような利便性は、特に仮想空間が広く、また、仮想空間内に多数の空間部が配置されている場合等に顕著となる。また、第2ワープ処理によれば、移動操作入力によってユーザアバターM1の比較的長い移動過程を描画する描画処理を省略できるので、処理負荷を低減する効果も得られる。また、端末装置20においても、描画に係る処理負荷及びそれに伴う電力消費(電源の充電状態の減少)を低減できる。
【0100】
第2ワープ処理は、このようにユーザによる移動操作入力の負荷(及びそれに伴う描画処理の負荷)を低減できる反面、仮想空間内をユーザアバターM1が移動する際の新たな発見(例えば新しい空間部の出現や、装飾など第2オブジェクトM3の変化)の機会や、フリー空間部71において必要又は有用な各種情報(例えばフリー空間部71でのチュートリアルや広告等に関するコンテンツや第2オブジェクトM3、新設された空間部70等)を提供する機会を減らしてしまう側面がある。
【0101】
従って、第2ワープ処理は、所定のワープ条件が満たされた場合に実行可能とされてもよい。所定のワープ条件は、任意であるが、例えば、所定のワープ条件は、ユーザによる移動操作入力の負荷が比較的高くなる場合に満たされるように適合されてもよい。例えば、所定のワープ条件は、フレンドアバターに対する距離が所定距離D3以上離れた場合や、フレンドアバターがユーザアバターM1(第2ワープ処理の対象となりうるユーザアバターM1)とは異なる空間部に位置する場合等に満たされてもよい。なお、フレンドアバターに対するユーザアバターM1の距離は、各ユーザアバターM1の位置/向き情報のうちの位置情報に基づいて算出されてよい。
【0102】
端末画像生成部158は、仮想空間内で移動可能な各仮想現実媒体(例えばユーザアバターM1)等を描画する。具体的には、端末画像生成部158は、アバター情報700(
図7参照)と、各ユーザアバターM1の位置/向き情報等とに基づいて、各ユーザに係る端末装置20で表示される端末用画像を生成する。
【0103】
例えば、端末画像生成部158は、ユーザアバターM1ごとに、一のユーザアバターM1の位置/向き情報に基づいて、当該一のユーザアバターM1に対応付けられたユーザに係る端末装置20で表示される画像(端末用画像)を生成する。具体的には、端末画像生成部158は、一のユーザアバターM1の位置/向き情報に基づいて、当該位置/向き情報に対応した位置及び向きの仮想カメラ60から視た仮想空間の画像(仮想空間の一部を切り取る画像)を端末用画像として生成する。この場合、各ユーザアバターM1に係る位置/向き情報は、互いに異なるので、端末用画像は、各ユーザアバターM1に係るユーザごとに異なる。以下では、この点を考慮して、ある一のユーザに係るユーザアバターM1の位置/向き情報に基づいて生成される端末用画像を、一のユーザ用の端末用画像と称する場合がある。以下では、特に言及しない限り、一のユーザ(及びそれに対応付けられているユーザアバターM1)に係る端末用画像を生成する際の端末画像生成部158の機能について説明するが、他のユーザに係る端末用画像を生成する場合も実質的に同様である。
【0104】
端末画像生成部158は、一人称視点モードや三人称視点モードのような、複数のモードを有してよい。例えば、一人称視点モードでは、端末画像生成部158は、一のユーザアバターM1の位置/向き情報に対応した位置及び向きに仮想カメラ60位置及び向き(カメラパラメータの各値)を合わせる。この場合、仮想カメラ60の視野は、当該一のユーザアバターM1の視野に実質的に一致する。なお、この場合、仮想カメラ60からの視野には、当該ユーザアバターM1は映らない。
【0105】
他方、三人称視点モードでは、端末画像生成部158は、一のユーザアバターM1の位置から少し離れた位置に仮想カメラ60の位置を合わせる。このとき、端末画像生成部158は、仮想カメラ60の他のカメラパラメータの各値を、一のユーザアバターM1の位置/向き情報の向きや、仮想空間内の状況等に応じて適宜決定してもよい。この際、ユーザアバターM1が映る端末用画像を生成するように、仮想カメラ60の位置は、ユーザアバターM1の後方や側方の少し離れた位置に設定されてよい。
【0106】
また、他のモードでは、仮想カメラ60の各種カメラパラメータの値は、対応するユーザにより任意に調整可能であってもよい。なお、かかる端末用画像を生成する際、端末画像生成部158は、奥行き感等を出すために、各種の処理(例えばフィールドオブジェクトを曲げる処理等)を実行してもよい。また、ユーザアバターM1が映る端末用画像を生成する場合は、描画処理の負荷を低減するために、ユーザアバターM1は、比較的簡易な態様(例えば二次元スプライトの形態)で描画されてもよい。
【0107】
端末画像生成部158は、仮想カメラ60からの視野内に他のユーザアバターM1が位置する場合は、当該他のユーザアバターM1を含む端末用画像を生成する。ただし、この場合、描画処理の負荷を低減するために、他のユーザアバターM1は、比較的簡易な態様(例えば二次元スプライトの形態)で描画されてもよい。
【0108】
端末画像生成部158は、各ユーザアバターM1に対してユーザ名(例えば
図3では、“ユーザA”)を対応付けて描画してもよい。これにより、各ユーザは、ユーザ名に基づいて所望のユーザに係るユーザアバターM1を特定することが可能となる。なお、ユーザ名は、ユーザによる設定に基づいて非表示とされることが可能であってもよい。
【0109】
本実施形態では、端末画像生成部158は、ベース画像描画部1581と、ユーザインタフェース描画部1582と、案内情報描画部1583と、補助情報描画部1584と、ワープ動作描画部1585と、空間部遷移描画部1586とを含む。
【0110】
ベース画像描画部1581は、上述したような端末用画像の基本部分を描画する。すなわち、ベース画像描画部1581は、ユーザインタフェース描画部1582、案内情報描画部1583、及び補助情報描画部1584のそれぞれによる描画が重畳される前の基本部分を描画する。例えば、ベース画像描画部1581は、仮想空間の描画情報や、仮想カメラ60の各カメラパラメータの値、各ユーザアバターM1の位置/向き情報、第2オブジェクトM3の配置情報等に基づいて、仮想カメラ60からの視野内の、仮想空間自体(第2オブジェクトM3等を除く部分)及び仮想空間内の各種オブジェクト(ユーザアバターM1や第2オブジェクトM3等)を描画する。なお、仮想空間の描画情報は、あらかじめ用意されてよいが、事後的又は動的に更新等されてもよい。仮想空間内の各位置は、グローバル座標系(
図4参照)で規定されてよい。なお、仮想空間の描画方法は、任意であるが、例えばフィールドオブジェクトや背景オブジェクトを、適切な平面や曲面等にマッピングすることにより実現されてもよい。
【0111】
ユーザインタフェース描画部1582は、ユーザによる各種操作が可能なユーザインタフェースを描画する。ユーザインタフェースを介して操作可能な項目は、任意である。例えば
図3に示す例では、ユーザインタフェース300は、椅子ボタン301と、いいねボタン302と、チケット管理ボタン303と、友達管理ボタン304と、退出ボタン305を含む。また、
図3に示す例では、端末用画像は、別のユーザインタフェースである対話用インタフェース309を含む。
【0112】
椅子ボタン301は、ユーザアバターM1を仮想空間内で着席させる際に操作される。例えば、各ユーザは、ユーザアバターM1を介してじっくりと話したいときなどに、椅子ボタン301を利用できる。この場合、ユーザアバターM1が着席されると、仮想空間内の音(例えば常時再生している所定の音楽等)が消え、ボイスチャット(音声による対話)のみが可能となってよい。
【0113】
いいねボタン302は、ユーザアバターM1を介して他のユーザアバターM1に良い評価やギフト等を与える際に操作される。
【0114】
チケット管理ボタン303は、後述するチケットの各種状態を閲覧可能なチケット管理画面(図示せず)を出力させる際に操作される。チケット管理画面には、後述する譲渡入力や、リクエスト入力、譲渡用の認証情報入力等が可能な更なるユーザインタフェースが設定されてもよい。
【0115】
友達管理ボタン304は、フレンド関係となっている他のユーザアバターM1に関する友達管理画面(図示せず)を出力させる際に操作される。
【0116】
退出ボタン305は、仮想空間からユーザアバターM1を退出させる際に操作される。
【0117】
また、本実施形態では、ユーザインタフェース描画部1582は、ワープボタン1800(第1操作部の一例)(
図3A参照)を描画する。ワープボタン1800は、上述した第2ワープ処理部15223の第2ワープ処理による瞬間移動を行う際に操作される。すなわち、ワープボタン1800は、ワープ入力を発生させる際に操作される。
【0118】
ワープボタン1800は、端末用画像の任意の位置に描画されてもよいが、好ましくは、対応するフレンドアバターに対応付けて描画される。例えば、一のフレンドアバターのそばまで瞬間移動するためのワープボタン1800は、当該一のフレンドアバターに対応付けて描画される。これにより、複数のフレンドアバターが存在する場合でも、ユーザは、所望のフレンドアバターのそばまで瞬間移動するためのワープボタン1800を容易に特定できる。
【0119】
図3Aには、
図3に示した端末用画像の一部(Q1部)であるグループ情報表示領域3000が示されている。グループ情報表示領域3000は、例えばユーザによる操作(例えばタップ操作)により全画面表示が可能であってよい。なお、グループ情報表示領域3000に表示されるグループは、グループ設定部150により設定されたグループに対応する。グループ情報表示領域3000には、同一グループ内の各ユーザアバターM1のアバターアイコン350、351、352が含められている。アバターアイコン350、351、352のそれぞれには、対応するユーザ名(例えば“ユーザA”、“ユーザB”等)が対応付けられている。この場合、ワープボタン1800は、対応するフレンドアバター(この場合、本人である“ユーザA”に対して“ユーザB”及び“ユーザC”)の各アバターアイコン351、352に対応付けて描画されている。
【0120】
ユーザインタフェース描画部1582は、所定のワープ条件が成立した場合に、ワープボタン1800を操作可能な表示態様で描画し、所定のワープ条件が成立しない場合に、ワープボタン1800を操作不能な表示態様で描画してよい。例えば、ワープボタン1800は、操作不能な表示態様では、操作可能な表示態様に比べて、有意に低い輝度(又は通常とは異なる色)で描画されてもよい(後述する
図18のワープボタン1800-1参照)。この場合、ユーザは、ワープボタン1800がアクティブ状態であるか否かを容易に把握できる。ユーザが、操作可能な表示態様で描画されているワープボタン1800を操作した場合、ワープ入力が正常に発生して操作入力取得部1521により取得されることになる。また、ユーザが、操作不能な表示態様で描画されているワープボタン1800を操作した場合、ワープ入力は発生しない。
【0121】
所定のワープ条件は、上述したように、例えば、ユーザによる移動操作入力の負荷が比較的高くなる場合に満たされるように適合されてもよい。この場合、所定のワープ条件は、複数のフレンドアバターが存在する場合には、フレンドアバターごとに判定されてよい。
【0122】
本実施形態では、一例として、所定のワープ条件は、ユーザアバターM1が仮想空間内の特定領域に位置し、仮想空間内にフレンドアバターが存在し、かつ、後述する無効化処理部1662からの無効化指示が生成されていない場合に、満たされる。特定領域は、フレンドアバターごとの第2所定位置よりも有意に離れるように、フレンドアバターごとに設定されてもよいが、本実施形態では、特定領域は、仮想空間内の任意の位置である。この場合、ユーザアバターM1が仮想空間内に位置する限り、特定領域に位置することになる(すなわち、ユーザアバターM1の現在位置が常に特定領域に含まれる)。これにより、ユーザアバターM1の位置とは無関係に所定のワープ条件を成立させることができるので、所定のワープ条件の判定のための処理負荷を低減できる。また、ユーザ側からすると、現在位置で第2ワープ処理による瞬間移動を行うことが可能となり、わざわざ現在位置とは異なる位置へとユーザアバターM1を移動させないと瞬間移動を行うことができない仕様に比べて、利便性が向上する。
【0123】
案内情報描画部1583は、アバター移動案内機能を実現する案内情報を描画する。案内情報は、ユーザアバターM1が所望の空間部又は空間部内の所望の位置へ容易に辿り着くことができるように、ユーザアバターM1に対応するユーザの移動操作入力を補助ないし案内するための情報である。
【0124】
本実施形態では、案内情報は、ユーザアバターM1が他のユーザアバターM1のそばまでスムーズに移動するのを補助ないし案内するための情報である。具体的には、案内情報は、ユーザアバターM1と他のユーザアバターM1との間の位置関係を表す。この場合、案内情報描画部1583は、案内情報を、ユーザアバターM1のそれぞれに対応付けて描画する。
【0125】
以下では、案内情報に関して、他のユーザアバターM1のそばまで案内される側のユーザアバターM1を、「案内対象ユーザアバターM5」(第1表示媒体の一例)とも称し、他のユーザアバターM1を、「先行ユーザアバターM6」(第2表示媒体の一例)とも称する。
【0126】
本実施形態では、案内対象ユーザアバターM5と先行ユーザアバターM6とは、所定関係を有する。所定関係は、上述したフレンドアバターに関連した所定関係と同じであってよい。この場合、案内対象ユーザアバターM5と先行ユーザアバターM6とは、互いに同一グループに属し、互いにフレンドアバターである。なお、案内対象ユーザアバターM5と先行ユーザアバターM6との区別は、説明上であり、例えば、先行ユーザアバターM6が案内対象ユーザアバターM5を迎えに行く場合は、案内情報に基づき案内対象ユーザアバターM5のそばまで誘導される“案内対象”となりうる。
【0127】
案内情報は、好ましくは、線又は曲線を含む。線又は曲線は、案内対象ユーザアバターM5に対応付けて仮想空間内に描画される。例えば、線又は曲線は、仮想空間のフィールド面40(地面に対応する部分)に描画されてもよいし、仮想空間における空間中に描画されてもよい。
【0128】
案内情報は、案内対象ユーザアバターM5が複数存在する場合、案内対象ユーザアバターM5ごとに生成及び描画されてよい。ただし、複数の案内対象ユーザアバターM5が実質的に同じ位置に存在する場合、当該複数の案内対象ユーザアバターM5に係る案内情報の一部又は全部は統合されてもよい。
【0129】
案内情報に係る線又は曲線は、案内対象ユーザアバターM5を起点として描画されてもよい。
【0130】
例えば、案内情報に係る線又は曲線は、一端が案内対象ユーザアバターM5に対応付けられ、他端が先行ユーザアバターM6に対応付けられる。これにより、案内対象ユーザアバターM5に係るユーザは、案内対象ユーザアバターM5の移動が線又は曲線を辿る態様で実現されるように移動操作入力を行うことで、案内対象ユーザアバターM5を先行ユーザアバターM6のそばまで容易に移動させることができる。
ただし、案内対象ユーザアバターM5に係るユーザ用の端末用画像に、先行ユーザアバターM6が描画されない場合、案内情報に係る線又は曲線は、一端が案内対象ユーザアバターM5に対応付けられ、他端が先行ユーザアバターM6の位置を示唆する位置まで延在してもよい。この場合、他端は、案内対象ユーザアバターM5に係るユーザ用の端末用画像の縁部に設定されてもよい。この場合、案内対象ユーザアバターM5が移動すると、それに対応して更新される端末用画像の縁部まで、案内情報に係る線又は曲線の他端が伸びる態様が実現されてもよい。
【0131】
また、案内情報に係る線又は曲線は、推奨ルートに沿って描画されてもよい。この場合、推奨ルートは、噴水オブジェクトなどの障害物に係るオブジェクトを通ることのないルート(すなわち、ユーザアバターM1がトラブルなく移動できるルート)であってよい。この場合、トラブルの少ない推奨ルートに沿った案内情報を生成できる。この結果、効率的な移動が実現されるので、ユーザアバターM1の移動に係る処理負荷を低減できる。
【0132】
また、推奨ルートは、広告等のようなユーザに見せたいコンテンツを提供するコンテンツ提供場所を通るように設定されてもよい。これにより、推奨ルートに沿ったユーザアバターM1の移動を支援しつつ、必要又は有用な各種情報(例えばフリー空間部71でのコンテンツや第2オブジェクトM3)をユーザアバターM1を介してユーザに伝達することが可能となる。また、このような観点から、推奨ルートは、あえて、噴水オブジェクトなどの障害物に係るオブジェクトを通りうるルート(例えば最短ルート)で算出されてもよい。この場合、案内対象ユーザアバターM5に係るユーザが仮想空間内の状況を注視し、自分で考えて操作することにつながり、その結果、必要又は有用な各種情報を当該ユーザに伝達できる可能性を高めることができる。
【0133】
案内情報は、上述した線又は曲線に対応付けて補足案内情報を含んでもよい。補足案内情報は、案内対象ユーザアバターM5と先行ユーザアバターM6との間の位置関係として、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離情報や、当該距離の変化態様を示す距離変化情報であってよい。
【0134】
距離情報は、例えば、数値の形態であるが、メータのような他の形態であってよい。距離変化情報は、線又は曲線の長さや色、太さ等で表現されてもよい。例えば、距離が増加した場合は、線又は曲線の長さが延長され、距離が減少した場合は、線又は曲線の長さが短縮されてもよい。あるいは、距離が増加した場合は、色が特定の色(例えば赤)とされ、距離が減少した場合は、色が他の特定の色(例えば青)とされてもよい。また、距離変化情報は、線又は曲線とは別に、線又は曲線に対応付けて描画されてもよい。例えば、距離変化情報は、文字情報として、“増”や“減”といった具合に、直接的なテキストが線又は曲線に対応付けて描画されてもよい。この場合、距離変化情報は、距離の変化量が所定量を超えた場合のみに描画(更新)されてもよい。これにより、距離変化情報が比較的高頻度で更新される場合の不都合(例えば処理負荷の増加や、増減間の入れ替わりが頻繁に起きることによる表示の煩わしさ等)を低減できる。
【0135】
図11Bは、距離情報の例の説明図であり、
図11Cは、距離変化情報の例の説明図であり、いずれも、端末用画像の一部を示す図である。
図11B及び
図11Cには、案内対象ユーザアバターM5に対応付けて描画される距離情報又は距離変化情報の例が示されている。
【0136】
具体的には、
図11Bには、距離感を“V”字マークのようなマークで表す距離変化情報の例が示されている。この場合、端末用画像の一部G1102には、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が比較的大きいときの距離情報1150Aが示され、端末用画像の一部G1102には、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が比較的小さいときの距離情報1151Aが示されている。このようにして、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が大きくなるほど、“V”マークのようなマークの数が増える態様で、距離情報が描画されてもよい。なお、距離情報1150A、1151Aに係るマークの全体としての延在方向は、案内対象ユーザアバターM5が存在する方向を表してもよい。すなわち、距離情報1150A、1151Aは、案内情報に係る線又は曲線として機能してもよい。また、距離情報1150A、1151Aに係るマークは、流れを表す態様で順に輝度や色が変化されてもよい。これにより、直感的にわかりやすい案内情報を実現できる。
【0137】
また、
図11Cには、相対位置を“V”字マークのようなマークで表す距離変化情報の例が示されている。この場合、端末用画像の一部G1102には、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が伸びたときの距離変化情報1152Aが示され、端末用画像の一部G1103には、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が縮んだときの距離変化情報1153Aが示されている。すなわち、距離変化情報1152Aは、先行ユーザアバターM6が遠ざかったことを表し、距離変化情報1153Aは、先行ユーザアバターM6が近づいたことを表す。このようにして、“V”字マークのようなマークの向きにより距離変化情報が案内対象ユーザアバターM5に係るユーザに伝達されてもよい。なお、上述した距離情報1150A、1151Aと同様に、距離変化情報1152A、1153Aに係るマークの全体としての延在方向は、案内対象ユーザアバターM5が存在する方向を表してもよい。すなわち、距離変化情報1152A、1153Aは、案内情報に係る線又は曲線として機能してもよい。また、距離変化情報1152A、1153Aに係るマークは、流れを表す態様で順に輝度や色が変化されてもよい。
【0138】
本実施形態では、案内情報描画部1583は、補足案内情報を生成するために、距離算出部15831と、距離変化判定部(第2判定部の一例)15832とを含む。
【0139】
距離算出部15831は、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離(グローバル座標系(
図4参照)での距離)を算出する。距離算出部15831は、グループ状態情報1000に基づいて、グループ内の各ユーザアバターM1間の距離を、所定周期ごとに算出してよい。この場合、上述した距離情報は、距離算出部15831による算出結果に基づいて生成できる。算出対象の距離は、直線距離であってもよいし、ユーザアバターM1の移動経路に沿った距離であってもよい。なお、距離算出部15831による算出結果は、他の用途(例えば上述した所定のワープ条件の判定等)に利用されてもよい。
【0140】
距離変化判定部15832は、距離算出部15831により算出される距離の変化態様に基づいて、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が縮まっているか否かを判定する。例えば、距離変化判定部15832は、所定の処理周期ごとに、案内対象ユーザアバターM5と先行ユーザアバターM6との間の距離が縮まっているか否かを判定してよい。なお、判定対象の距離は、案内情報が出力されている各組の案内対象ユーザアバターM5と先行ユーザアバターM6の間の距離のみであってもよい。この場合、上述した距離変化情報は、距離変化判定部15832による判定結果に基づいて生成できる。また、この場合、判定対象の距離を限定することで、処理負荷の低減を図ることができる。
【0141】
なお、変形例では、補足案内情報は、距離情報に代えて又は加えて、時間情報(例えば、先行ユーザアバターM6に到達するのに要する最小時間等)を含んでもよい。
【0142】
ここで、
図12から
図15を参照して、いくつかの案内情報の例を説明する。
【0143】
図12は、案内情報の説明図であり、
図2と同様の仮想空間の平面図である。
図2に示した仮想空間において、先行ユーザアバターM6と案内対象ユーザアバターM5との位置関係の一例が示されている。
図12に示す例では、先行ユーザアバターM6は、空間部70-12内に位置しており、案内対象ユーザアバターM5は、空間部70-12とは異なるフリー空間部71に位置している。例えば、
図12に示す案内対象ユーザアバターM5の位置は、仮想空間に入るときの初期位置又はその近傍に対応してよい。この場合、案内情報に係る線又は曲線は、
図12に模式的に示す案内ルート1200に沿って生成されてよい。
【0144】
図13は、
図12に示した状況下での案内対象ユーザアバターM5に係るユーザ用の端末用画像の一例を示す図である。
図13は、案内情報として矢印の線1300が案内対象ユーザアバターM5に対応付けて描画されている。この場合、案内情報描画部1583は、案内対象ユーザアバターM5と先行ユーザアバターM6との間の位置関係に基づいて、互いのそばに移動するための推奨ルートである案内ルート(
図12に示す例では案内ルート1200)を算出する。この際、案内情報描画部1583は、上述したように、噴水オブジェクトなどの障害物に係るオブジェクトを通ることのない案内ルート(すなわち、ユーザアバターM1が移動できる案内ルート)を算出してよい。そして、案内情報描画部1583は、算出した案内ルートに基づいて、
図13に示すような矢印の線1300を描画する。これにより、案内対象ユーザアバターM5に係るユーザは、矢印の線1300に沿って移動すればよいことを容易に理解できる。
【0145】
図14は、案内情報の説明図であり、
図2と同様の仮想空間の平面図であり、
図12とは別の状況を示す。
図14においても、
図2に示した仮想空間において、先行ユーザアバターM6と案内対象ユーザアバターM5との位置関係の他の一例が示されている。
図14
に示す例では、先行ユーザアバターM6は、空間部70-14内に位置しており、案内対象ユーザアバターM5は、空間部70-14とは異なるフリー空間部71に位置している。この場合、案内情報に係る線又は曲線は、
図14に模式的に示す案内ルート1400であって、
図14に示すようなワープ領域1100を介した案内ルート1400に沿って生成されてよい。
【0146】
図15は、
図14に示した状況下での案内対象ユーザアバターM5に係るユーザ用の端末用画像の一例を示す図である。
図15は、案内情報として矢印の線1500が案内対象ユーザアバターM5に対応付けて描画されている。この場合、案内情報描画部1583は、案内対象ユーザアバターM5と先行ユーザアバターM6との間の位置関係に基づいて、互いのそばに移動するための推奨ルートである案内ルート(
図14に示す例では案内ルート1400)を算出し、算出した案内ルートに基づいて、
図15に示すような矢印の線1500を描画する。この場合、案内対象ユーザアバターM5がワープ領域1100を介して移動した方が短い時間で先行ユーザアバターM6のそばまで移動できる場合、案内ルートはワープ領域1100を含んでよい。このような場合は、典型的には、案内対象ユーザアバターM5と先行ユーザアバターM6の間にワープ領域1100が設定されている場合である。このようにして、案内ルートにワープ領域1100が含まれる場合、案内情報描画部1583は、ワープ領域1100を終点として線又は曲線を描画してよい。この場合、矢印の線1500は、ワープ領域1100に向かうべきことを示唆できる。これにより、案内対象ユーザアバターM5に係るユーザは、矢印の線1500に沿ってワープ領域1100を介して移動すればよいことを容易に理解できる。
【0147】
図16は、他の例による案内情報の説明図であり、
図12に示した状況下での、案内対象ユーザアバターM5に係るユーザ用の端末用画像の一例を示す図である。案内情報は、上述したように、上述した線又は曲線に加えて、補足案内情報を含んでもよい。補足案内情報は、線又は曲線では表せない情報や、線又は曲線よりも詳しい情報等であってよい。例えば
図16に示す例では、補足案内情報1600は、文字情報の形態であり、矢印の線1300に対応付けて描画されている。この場合、案内対象ユーザアバターM5に係るユーザは、補足案内情報1600を見ることで、ユーザ名“ユーザB”の先行ユーザアバターM6が100m先にいることを、容易に理解できる。このような補足案内情報は、
図17を参照して後述するような複数の先行ユーザアバターM6が存在する状況下において好適である。
【0148】
図17は、他の例による案内情報の説明図であり、仮想空間内に2人の先行ユーザアバターM6が位置する状況下(
図12に示した先行ユーザアバターM6と
図14に示した先行ユーザアバターM6が同時に存在する状況下)での、案内対象ユーザアバターM5に係るユーザ用の端末用画像の一例を示す図である。
【0149】
仮想空間内に複数の先行ユーザアバターM6が位置する状況下では、案内情報描画部1583は、複数の先行ユーザアバターM6ごとに、案内情報を描画してよい。すなわち、案内情報描画部1583は、複数の先行ユーザアバターM6のそれぞれに対応付けて、案内情報を描画してよい。
図17に示す例では、
図12に示した先行ユーザアバターM6に係る矢印の線1300と、
図14に示した先行ユーザアバターM6に係る矢印の線1500とが同時に描画されている。なお、この場合、
図12に示したユーザ名“ユーザB”の先行ユーザアバターM6に係る補足案内情報1600や、
図14に示したユーザ名“ユーザC”の先行ユーザアバターM6に係る補足案内情報1700が示されてもよい。
【0150】
なお、上述したように、仮想空間内に複数の先行ユーザアバターM6が位置する状況下においても、複数の先行ユーザアバターM6の一部又は全員が実質的に同じ位置にいる場合は、実質的に同じ位置にいる1人以上の先行ユーザアバターM6に係る案内情報に係る線又は曲線は、統合されてもよい。
【0151】
このように本実施形態によれば、上述のような案内情報を描画することで、仮想空間において案内対象ユーザアバターM5の移動(すなわち当該案内対象ユーザアバターM5に係るユーザによる移動操作入力)を適切に補助することが可能となる。
【0152】
なお、本実施形態において、案内情報は、所定の出力条件が満たされた場合に出力されてもよい。この場合、所定の出力条件は、上述した所定のワープ条件と同様、先行ユーザアバターM6となりうるフレンドアバターごとに判定されてもよい。所定の出力条件は、上述した所定のワープ条件と同様であってもよい。この場合、ワープボタン1800が対応付けて描画されるフレンドアバターは、先行ユーザアバターM6として案内情報も同時に描画される。
【0153】
補助情報描画部1584は、後述する無効化処理部1662によりワープ入力が無効化されている場合、当該無効化を解除するための補助情報を描画する。後述するように、コンテンツ提供位置へのユーザアバターM1の移動は、当該ユーザアバターM1に係るチケットの所持状態に応じて制限される場合がある。具体的には、一のユーザが、一のコンテンツ提供位置に係る正当なチケットを所持していない場合、当該一のユーザによるワープ入力(当該一のコンテンツ提供位置に係る空間部への瞬間移動のためのワープ入力)が無効化処理部1662により無効化される。補助情報描画部1584は、このような場合に、ワープ入力が可能となるような補助情報を提供する。
【0154】
補助情報描画部1584により提供される補助情報は、チケットの取得方法の情報、チケットの取得が可能となる仮想空間内の位置の情報、チケットの取得が可能となる特定画面へのリンク又はアクセス方法の情報、チケットを取得した場合の特典情報、チケットを取得した場合に視聴可能なコンテンツに関する情報、のうちの少なくともいずれか1つを含んでよい。
【0155】
本実施形態では、補助情報描画部1584は、操作不能な態様で描画されるワープボタン1800に対応付けて補助情報を描画する。上述したように、ワープボタン1800は、所定のワープ条件が成立しない場合に、操作不能な態様で描画される。補助情報は、所定のワープ条件を成立させるための情報を含むので、ワープボタン1800を操作したいユーザは、補助情報にアクセスすることで、所定のワープ条件を成立させるための各種操作の手順や内容等を理解できる。
【0156】
例えば、
図18には、ユーザ名“ユーザA”に係るユーザ用の端末用画面におけるグループ情報表示領域3000が示されている。この例では、ユーザ名“ユーザC”にはワープボタン1800-2が操作可能な態様で描画されているのに対してユーザ名“ユーザB”にはワープボタン1800-1が操作不能な態様で描画されている。この場合、ユーザ名“ユーザB”は、チケットAを必要とする空間部に位置しているが、ユーザ名“ユーザA”に係るユーザ(本人)はチケットAを所持しておらず、所定のワープ条件が成立していない。この場合、ユーザ名“ユーザA”に係るユーザは、ワープボタン1800-1が操作不能である点や補助情報1840-1、1840-2に基づいて、ユーザ名“ユーザB”のユーザアバターM1(先行ユーザアバターM6)のそばまで自身のユーザアバターM1(案内対象ユーザアバターM5)を瞬間移動させたい場合、チケットAを取得する必要があることを理解できる。
【0157】
なお、
図18に示す例では、グループ情報表示領域3000には、グループ内のチケット状態1880が描画されている。グループ内のチケット状態1880は、同グループ内の各ユーザアバターM1(フレンドアバター)が所持しているチケットに関する情報を含んでよい。この場合、ユーザ名“ユーザB”に係るユーザアバターM1は、チケットAを5枚所持している。従って、ユーザ名“ユーザA”に係るユーザは、ユーザ名“ユーザB”のユーザアバターM1(先行ユーザアバターM6)のそばまで自身のユーザアバターM1(案内対象ユーザアバターM5)を瞬間移動させたい場合、例えば補助情報1840-1に係るリンク又はボタン(図示せず)を操作することで、ユーザ名“ユーザB”のユーザにチケットAをリクエストすることも可能である。
【0158】
図19には、仮想空間におけるチケット売場を含む端末用画像G110が示されている。ユーザ名“ユーザA”に係るユーザは、例えば補助情報1840-2(
図18参照)に係るリンク又はボタン(図示せず)を操作することで、チケット売場へと瞬間移動が可能であってもよい。
図19に示す例では、チケット売場への瞬間移動後の端末用画像であって、ユーザ名“ユーザA”に係るユーザ用の端末用画像G110が示されている。なお、チケット売場は、当該チケット売場で販売されているチケットAに係るコンテンツが提供されている空間部の近傍に配置されてもよい。例えば、
図19に示す例では、ユーザ名“ユーザA”に係るユーザは、対応するユーザアバターM1をチケット購入位置SP1に移動させて、例えばチケット売場で働くスタッフに係るユーザアバターM1(ユーザ名“cha”)を介してチケットAを購入してよい。そして、ユーザ名“ユーザA”に係るユーザは、チケットAを購入後、対応するユーザアバターM1を入口位置SP2に移動させることで、購入したチケットAに係るコンテンツを提供する空間部に入ることができる。
【0159】
ワープ動作描画部1585は、上述した第1ワープ処理部15222による第1ワープ処理や第2ワープ処理部15223による第2ワープ処理が実行される際に、瞬間移動を示唆する演出(例えばアニメーションによる演出)を行ってよい。瞬間移動を示唆する演出は、例えば、高速の乗り物(高速の列車やヘリコプターなど)や、画面全体の特定色への変化、フラッシュ演出等により実現されてもよい。第1ワープ処理に対する演出と第2ワープ処理に対する演出とは異なる態様で実現されてもよい。また、ワープ処理による移動距離の長さに応じて演出態様が異なってもよい。
【0160】
また、ワープ処理に係る瞬間移動は、先行ユーザアバターM6の移動した軌跡に沿ってユーザアバターM1(案内対象ユーザアバターM5)を高速に自動的に移動させることで実現されてもよい。この場合、ワープ処理中の端末用画像は、周辺の第2オブジェクトM2等の描画を部分的に省略して描画されてもよい。これにより、ワープ処理に係る描画処理に係る処理負荷を低減しつつ、先行ユーザアバターM6に係るユーザと同じ景色(仮想空間内の景色)を案内対象ユーザアバターM5に見せることができる。この結果、例えば、案内対象ユーザアバターM5が先行ユーザアバターM6のそばに瞬間移動した場合でも、途中にあった第2オブジェクトM2などの話題で対話を楽しむ等が可能であり、交流を促進できる。
【0161】
空間部遷移描画部1586は、移動操作入力に基づいて一のユーザアバターM1が一の空間部から他の空間部に移動した際に、空間部の遷移を示唆する演出を行ってよい。空間部の遷移を示唆する演出は、例えば、移動後の空間部を一時的に拡大すること等により実現されてもよい。
【0162】
コンテンツ処理部159は、コンテンツ提供位置ごとにユーザにコンテンツを提供する。コンテンツ処理部159は、例えばブラウザを介して端末装置20上でコンテンツを出力してもよい。あるいは、コンテンツ処理部159は、端末装置20に実装される仮想現実アプリケーションを介して、端末装置20上でコンテンツを出力してもよい。
【0163】
対話処理部160は、複数のユーザからの入力に基づいて、ネットワーク3を介したユーザ間の対話に係る対話処理を実行する。ユーザ間の対話は、自身の各ユーザアバターM1を介して、テキスト及び/又は音声によるチャット形式で実現されてもよい。例えば、対話用の入力には、
図3に示した端末用画像の対話用インタフェース309が利用されてもよい。この場合、ユーザは、マイクのアイコン3091を操作して発話することで音声入力が可能であり、また、テキスト入力領域3092にテキストを入力することでテキスト入力が可能である。これにより、ユーザ同士で対話が可能となる。なお、テキストは、一定数の履歴が残る対話形式で各端末用画像(対話している各ユーザに係る各端末用画像)に描画されてよい。この場合、例えば、テキストは、仮想空間に係る画像とは別に出力されてもよいし、仮想空間に係る画像に重畳して出力されてもよい。
【0164】
対話処理部160は、同一グループ内でのみ対話が実現されるように、グループごとに、対話処理を実行してよい。この場合、各ユーザは、発話内容がグループ外のユーザに知られることがないことにより、安心して対話を楽しむことができる。この場合、対話処理部160は、グループ内の一ユーザからの音声入力を出力する場合に、グループ情報表示領域3000(
図3A参照)内に表示されてよいマイクアイコン360のうちの、当該一ユーザに対応するマイクアイコン360を強調(例えば拡大や、点滅、色付け等)してもよい。これにより、他のユーザは、出力されている音声がグループ内のいずれのユーザの発話による音声であるかを容易に把握できる。なお、マイクアイコン360に代えて又は加えて、グループ情報表示領域3000(
図3A参照)内のアバターアイコン(アバターアイコン350、351等)が同様に強調されてもよい。
【0165】
第1移動権限処理部162は、ユーザからの購入入力に基づいて、コンテンツ提供位置でコンテンツの提供を受けるためのチケット(移動権限)を発生させ、ユーザに対応付けられたユーザアバターM1に当該チケットを対応付ける。
【0166】
購入入力は、チケットの購入のための各種入力を含む。購入入力は、典型的には、金銭又は金銭的価値を有する仮想現実媒体の消費を伴う。金銭的価値を有する仮想現実媒体は、金銭の消費に伴って入手可能な仮想現実媒体等を含んでよい。なお、仮想現実媒体の消費とは、ユーザIDと当該仮想現実媒体との対応付けを解消すること、ユーザIDに対応付けられた当該仮想現実媒体の量や数等を低減すること等により実現されてよい。
【0167】
第1移動権限処理部162は、チケットを発生させる際に、チケットID(
図9参照)を新規に生成し、チケット情報記憶部145内のデータを更新する。この場合、新たなチケットIDには、コンテンツ提供位置や所有者ID等が対応付けられる(
図9参照)。この場合、所有者IDは、上述した購入入力を行ったユーザに係るユーザIDとなる。
【0168】
本実施形態では、一例として、第1移動権限処理部162は、購入入力取得部1621と、チケットID生成部1622と、認証情報通知部1623と、チケット描画部1624とを含む。
【0169】
購入入力取得部1621は、端末装置20からネットワーク3を介して、上述したユーザからの購入入力を取得する。
【0170】
購入入力は、コンテンツ提供位置に係る入口付近にユーザアバターM1が位置する場合に、当該ユーザアバターM1に対応付けられたユーザにより入力可能とされる。仮想空間内におけるコンテンツ提供位置に係る入口は、明確に規定されている必要はないが、仮想空間内における入口に対応する位置には、例えば入口やゲートといった文字が描画により対応付けられてよい。
【0171】
この場合、チケットを購入したいユーザは、自身のユーザアバターM1を入口付近に至らせ、チケット購入位置SP1に対応付けて配置されるスタッフに係るユーザアバターM1(
図19のユーザ名“cha”のユーザアバターM1参照)との対話を介して、購入入力を行うことができる。
【0172】
チケットID生成部1622は、上述のように、購入入力に基づいて、チケットID(
図9参照)を新規に生成し、チケット情報記憶部145内のデータを更新する。例えば、チケットを購入したいユーザが、自身のユーザアバターM1を入口付近に位置させた状態で購入入力を行うと、チケットID生成部1622は、即座にチケットIDを新規に生成する。この場合、チケットIDに対応付けられた有効フラグの初期値は“1”にセットされてよい。また、チケットを事前に購入していたユーザが、自身のユーザアバターM1を入口付近に位置させた状態で有効化用の入力を行うと、チケットID生成部1622は、すでに生成済のチケットIDに対応付けられた有効フラグの値を“0”から“1”に変更してよい。
【0173】
認証情報通知部1623は、購入入力に基づいてチケットを購入したユーザに対して、購入したチケットに対応付けられた譲渡用の認証情報(
図9参照)を通知する。なお、上述したように、本実施形態では、一例として、譲渡用の認証情報は、数字及び/又は記号よりなる4桁のコードである。例えば、認証情報通知部1623は、譲渡用の認証情報を、ネットワーク3を介して、チケットを購入したユーザに係る端末装置20に送信する。この際、譲渡用の認証情報は、メールや電話による自動音声等により通知されてもよい。あるいは、上述したように、譲渡用の認証情報は、購入入力を行う際、ユーザにより設定されてもよい。この場合、認証情報通知部1623は省略されてもよい。
【0174】
チケット描画部1624は、購入入力に基づいて、チケットIDごとにチケット(仮想現実媒体)を描画してよい。例えば、チケット描画部1624は、チケット表示1850(
図3A参照)に、所有者IDに係るユーザアバターM1のアイコン表示が含まれる場合、対応付けてチケットを描画してもよい。あるいは、チケット描画部1624は、所有者IDに係るユーザアバターM1を含む端末用画像において、所有者IDに係るユーザアバターM1の手に対応付けてチケットを描画してもよい。これにより、ユーザアバターM1がチケットを所持(所有)している状態を仮想現実において実現できる。なお、複数のチケットIDが同一の所有者IDに対応付けられている場合、当該所有者IDに係るユーザアバターM1は、複数のチケットを所持している態様で描画されてもよい。
【0175】
第2移動権限処理部164は、ユーザからの譲渡入力に基づいて、第1移動権限処理部162によって特定のユーザに係るユーザIDが対応付けられたチケットを、当該ユーザとは異なるユーザに係るユーザIDへと対応付け替える。すなわち、第2移動権限処理部164は、当該チケットに対応付けられる所有者ID(
図9参照)を、購入者IDに係るユーザIDから、譲渡先の他のユーザに係るユーザIDに変更する。このようにして、第2移動権限処理部164は、譲渡入力に基づいて、第1移動権限処理部162によって特定のユーザ(購入者ID)に対応付けられたチケットを、当該ユーザとは異なるユーザ(譲渡先のユーザ)へと対応付け替える。この結果、当該チケットは、当該譲渡入力に基づいて、譲渡側のユーザに係るユーザアバターM1に対応付けられた状態から、譲受側のユーザに係るユーザアバターM1に対応付けられた状態へと変化する。
【0176】
具体的には、第2移動権限処理部164は、譲渡入力取得部1640と、認証通知案内部1641と、チケット情報書換部1644とを含む。
【0177】
譲渡入力取得部1640は、端末装置20からネットワーク3を介して、上述した譲渡側のユーザからの譲渡入力を取得する。譲渡入力は、譲渡対象のチケットに係るチケットIDを含む。なお、譲渡入力を行うことができるユーザは、チケットを所有しているユーザであり、チケット情報900(
図9参照)において、所有者IDに係るユーザIDを持つユーザである。また、譲渡入力は、譲受側のユーザに対応付けられたユーザIDを含んでよい。
【0178】
譲渡入力は、例えば、購入入力とともにユーザにより入力可能とされてもよい。これは、例えば親子でチケットを購入する場合、親が、子供への譲渡を予定してチケットを購入する場合が比較的多いためである。あるいは、複数のチケットが対応付けられているユーザ(すなわち複数のチケットを購入したユーザ)は、他のユーザからのリクエストに応じて、譲渡入力を行うこともできる。
【0179】
認証通知案内部1641は、上述の譲渡入力に応答して、譲渡側のユーザに対して、譲渡用の認証情報を譲受側のユーザに通知するように、案内する。なお、この案内は、購入入力の際に実現されてもよいし、他のタイミングで実現されてもよい。また、仮想現実生成システム1の利用に際して各ユーザに、この点が事前に周知される場合は、認証通知案内部1641は省略されてもよい。譲渡側のユーザは、かかる案内を受けると、譲渡用の認証情報を、チャットやメール、SMS(ショートメッセージサービス)等で譲受側のユーザに通知することになる。なお、譲渡側のユーザと、譲受側のユーザとが、親子の関係のように、何度も同じ譲渡用の認証情報を利用している関係である場合、譲渡用の認証情報の通知自体は不要でありうる。また、譲渡側のユーザと、譲受側のユーザとが、現実において近くにいる場合、譲渡用の認証情報の通知は、対面で直接的に実現されてもよい。
【0180】
チケット情報書換部1644は、譲渡入力取得部1640により取得される譲渡入力と、譲受側のユーザからの譲渡用の認証情報の入力に基づいて、チケット情報900の所有者IDを書き換える。具体的には、チケット情報書換部1644は、譲受側のユーザからの正当な譲渡用の認証情報の入力に基づいて認証が成功した場合、譲渡入力に含まれるチケットIDに対応付けられた所有者IDとして、同譲渡入力に含まれるユーザIDを対応付ける。この際、譲渡入力を行ったユーザに係るユーザIDは、所有者IDに対応付けられた状態が解消され、当該譲渡の事実が、チケット情報書換部1644の譲渡情報(
図9参照)として追加されてよい。あるいは、チケット情報900の所有者IDを書き換えることに代えて(例えば、譲渡入力を行ったユーザに係るユーザIDが所有者IDに対応付けられた状態が維持されつつ)、当該チケットを利用可能なユーザ又はユーザアバターM1として、譲受側のユーザに係るユーザIDが登録されてもよい。
【0181】
ここで、譲渡用の認証情報は、上述したように、譲渡側のユーザから譲受側のユーザに、事前に通知される。譲渡側のユーザは、譲受側のユーザにだけわかるような、譲渡用の認証情報を設定したり、譲受側のユーザにだけわかるように、譲渡用の認証情報を通知したりできるので、意図しない他のユーザに、譲渡用の認証情報が知られる可能性は実質的にない。従って、このような譲渡用の認証情報を用いることで、チケット情報書換部1644に係る認証の安全性を高めることができる。ただし、簡易な譲渡を可能とする観点から、譲渡の際の譲渡用の認証情報による照合は、省略されてもよい。譲渡用の認証情報の省略の有無は、譲渡入力の際に選択可能であってもよい。
【0182】
チケット情報書換部1644は、このようにして、一のチケットIDに係る所有者IDを変更すると、チケット描画部1624に当該変更を反映させる指示を与えてよい。この場合、チケット描画部1624は、新たな所有者IDに係るユーザアバターM1に対応付けて、チケットを描画する。例えば、ユーザは、自身の端末装置20に表示されるユーザ用の端末用画像において、チケット管理画面への遷移や、グループ情報表示領域3000内に表示されうるチケット表示1850(
図3A、
図18参照)や、自身のユーザアバターM1にチケットが対応付けて描画されている状態を確認することで、チケットを所持しているか否かを認識できる。
【0183】
判断処理部166は、チケット情報900(
図9参照)に基づいて、ユーザアバターM1がコンテンツ提供位置へと移動できるか否かを判定する。
【0184】
具体的には、判断処理部166は、チケット所持判定部1661(第1判定部の一例)と、無効化処理部1662とを含む。
【0185】
チケット所持判定部1661は、ある一のユーザアバターM1が一のコンテンツ提供位置へと移動できるか否かについて判定する際、まず、当該一のユーザアバターM1が、当該一のコンテンツ提供位置へと移動できるチケットを所持しているか否かを判定する。以下、このような判定処理を、「チケット所持判定」とも称する。
【0186】
チケット所持判定は、
図9に示したチケット情報900に基づいて実現できる。この場合、ユーザIDが所有者IDとなっているユーザ(又はそのユーザアバターM1)は、当該所有者IDが対応付けられたチケットIDのチケットを所持していると判定できる。また、当該チケットのチケットIDに有効フラグ“1”が対応付けられている場合に、当該チケットは、コンテンツ提供位置へと移動できるチケットであると判定できる。
【0187】
チケット所持判定は、任意のタイミングで実行されてよく、例えば、上述したワープボタン1800(
図3A参照)が出現している状態で実行されてよい。あるいは、チケット所持判定は、ユーザアバターM1の位置情報(
図6参照)に基づいて、コンテンツ提供位置に係る入口領域に位置するユーザアバターM1に対して実行されてもよい。コンテンツ提供位置に係る入口領域(例えば
図19の入口位置SP2)は、コンテンツ提供位置への移動を希望するユーザアバターM1が位置する領域であり、当該入口領域にユーザアバターM1が位置することは、ユーザアバターM1のコンテンツ提供位置への移動を希望することのユーザの意思表示であってよい。あるいは、入口領域にユーザアバターM1が位置することに加えて、チケットの提示操作等が、ユーザアバターM1のコンテンツ提供位置への移動を希望するユーザの意思表示として扱われてよい。
【0188】
ここで、本実施形態では、第2移動権限処理部164に関連して上述したようにチケットの譲渡が可能とされている。従って、チケット所持判定部1661は、一のコンテンツ提供位置となる空間部に係るチケット所持判定の際、当該一のコンテンツ提供位置に係るチケットを初期的に購入していないユーザに係るユーザアバターM1に対しても、当該一のコンテンツ提供位置へと移動できると判定する場合がある。具体的には、チケット所持判定部1661は、一のユーザアバターM1に、一のコンテンツ提供位置に係る複数のチケットの取得済み情報が対応付けられており、かつ、他の一のユーザアバターM1が所定の条件を満たした場合に、当該一のコンテンツ提供位置に係る空間部への当該他の一のユーザアバターM1の移動が可能であると判定する。例えば
図18に示す例では、ユーザ名“ユーザB”に係るユーザアバターM1には、5枚のチケットAの取得済み情報が対応付けられており、この場合、ユーザ名“ユーザA”に係るユーザが、正当にユーザ名“ユーザB”に係るユーザからチケットAを譲り受けた場合(所定の条件の一例)、ユーザ名“ユーザA”に係るユーザのユーザアバターM1は、チケットAのコンテンツ提供位置に移動できる。
【0189】
無効化処理部1662は、ある一のユーザアバターM1に関して、チケット所持判定部1661により、コンテンツ提供位置へと移動できるチケットを所有していると判定された場合、当該一のユーザアバターM1がコンテンツ提供位置へと移動することを許可する。他方、無効化処理部1662は、ある一のユーザアバターM1に関して、チケット所持判定部1661により、コンテンツ提供位置へと移動できるチケットを所有していないと判定された場合、当該一のユーザアバターM1がコンテンツ提供位置へと移動することを禁止する。この場合、本実施形態では、無効化処理部1662は、一のユーザアバターM1に対応付けられたワープボタン1800(コンテンツ提供位置への移動のためのワープ入力)を無効化することで、当該一のユーザアバターM1がコンテンツ提供位置へと移動することを禁止する。例えば、無効化処理部1662は、ワープボタン1800の無効化指示をユーザインタフェース描画部1582に出力する。この場合、ユーザインタフェース描画部1582は、一のユーザアバターM1に対応付けられたワープボタン1800を表示しないか、非アクティブ状態で表示することで(
図18のワープボタン1800-1参照)、無効化を実現する。なお、非アクティブ状態のワープボタン1800-1は、存在自体は可視であるが、操作しようとしてもワープ入力が発生しない。
【0190】
あるいは、無効化処理部1662は、ワープボタン1800の無効化指示に代えて、ワープボタン1800に係る第2ワープ処理による行き先である第2所定位置を、コンテンツ提供位置が位置する空間部内の位置から、当該空間部の外の位置(例えば入口付近)に変更してもよい。
【0191】
パラメータ更新部170は、仮想カメラ60の各種パラメータ(
図4参照)の各値を更新する。なお、仮想カメラ60の各種パラメータの各値は、上述したように、端末用画像ごと(ユーザアバターM1ごと)に異なりうる。パラメータ更新部170は、一のユーザアバターM1の位置/向き情報に応じて、当該一のユーザアバターM1に係る仮想カメラ60の各種パラメータの各値を更新してよい。また、パラメータ更新部170は、上述した端末画像生成部158の一人称視点モード等のモードの変化に応じて、仮想カメラ60の各種パラメータの各値を更新してよい。
【0192】
次に、
図20から
図23等を参照して、仮想現実生成システム1の動作例について説明する。なお、以降の処理フロー図(フローチャート)においては、各ステップの入力と出力の関係を損なわない限り、各ステップの処理順序を入れ替えてもよい。
【0193】
図20は、仮想現実生成システム1の各種動作のうちの、案内情報の描画とワープボタン1800の描画に関連した動作の一例を示す概略フローチャートである。
図20に示す処理は、ある一のユーザに対する処理を示し、一のユーザに係る端末装置20における仮想現実アプリケーションが起動された場合に起動し、仮想現実アプリケーションがオフされるまで、所定周期ごとに繰り返し実行されてよい。なお、
図20に示す処理は、ユーザごとに並列的に実行されてよい。
【0194】
ステップS2000では、サーバ装置10は、一のユーザに係るユーザアバターM1が仮想空間内に入ったか否かを判定する。すなわち、仮想空間への入室があったか否かを判定する。判定結果が“YES”の場合、ステップS2002に進み、それ以外の場合は、ステップS2004に進む。以下では、ユーザとは、特に言及しない限り、ステップS2000で仮想空間内に入ったと判定されたユーザアバターM1に係るユーザを指し、ユーザアバターM1とは、ステップS2000で仮想空間内に入ったと判定されたユーザアバターM1を指す。
【0195】
ステップS2002では、サーバ装置10は、ユーザアバターM1にグループIDを割り当てる。なお、ユーザは、仮想空間内に入るとき、グループ名を入力することとしてよい。この場合、グループ名の入力は、現在稼働中のグループ名のリストから所望のグループ名を選択することで実現されてもよい。この場合、サーバ装置10は、グループ名に対応するグループIDにユーザアバターM1を対応付けることで、グループ状態記憶部146内のグループ状態情報1000(
図10参照)を更新する。なお、新たなグループ名が入力された場合は、新たなグループIDが設定されてよい。
【0196】
ステップS2004では、サーバ装置10は、ユーザアバターM1が仮想空間から退出したか否かを判定する。判定結果が“YES”の場合、ステップS2006に進み、それ以外の場合(すなわち、仮想空間内で依然として活動中である場合)は、ステップS2008に進む。
【0197】
ステップS2006では、サーバ装置10は、ユーザアバターM1をグループから外す(除去する)ことでグループ状態記憶部146内のグループ状態情報1000(
図10参照)を更新する。なお、ユーザアバターM1の退出は、グループ内の他のユーザアバターM1に係るユーザに通知されてもよい。例えば、ユーザアバターM1の退出は、グループ情報表示領域3000内の情報を更新することで、グループ内の他のユーザアバターM1に係るユーザに通知されてもよい。
【0198】
ステップS2008では、サーバ装置10は、グループ状態記憶部146内のグループ状態情報1000に基づいて、同一グループ内の他のユーザアバターM1(すなわちフレンドアバター)が存在するか否かを判定する。判定結果が“YES”の場合、ステップS2009に進み、それ以外の場合は、ステップS2017に進む。
【0199】
ステップS2009では、サーバ装置10は、案内情報出力処理を実行する。案内情報出力処理の一例は、
図21を参照して後述する。
【0200】
ステップS2010では、サーバ装置10は、グループ内の1人以上の他のユーザアバターM1(フレンドアバター)のユーザIDを所定順にソートし、変数jを初期値“1”に設定する。
【0201】
ステップS2011では、サーバ装置10は、j番目のフレンドアバターに対してワープ条件判定処理を行う。ワープ条件判定処理の一例は、
図22を参照して後述する。
【0202】
ステップS2012では、サーバ装置10は、ステップS2011でのワープ条件判定処理の結果に基づいて、ユーザアバターM1がj番目のフレンドアバターのそばまで瞬間移動するための所定のワープ条件が成立しているか否かを判定する。判定結果が“YES”の場合、ステップS2013に進み、それ以外の場合は、ステップS2014に進む。
【0203】
ステップS2013では、サーバ装置10は、所定のワープ条件が成立するフレンドアバターに対応付けてワープボタン1800を操作可能に描画する。
【0204】
ステップS2014では、サーバ装置10は、所定のワープ条件が成立しないフレンドアバターに対応付けてワープボタン1800を操作不能に描画するとともに、上述した補助情報を描画する。これにより、ユーザは、補助情報を頼りに、適宜、チケットを取得することで、所定のワープ条件を成立させることができる。
【0205】
ステップS2015では、サーバ装置10は、変数jがグループ内のフレンドアバターの数に一致するか否かを判定する。すなわち、すべてのフレンドアバターに対して所定のワープ条件の成否を判定したか否かを判定する。判定結果が“YES”の場合、ステップS2017に進み、それ以外の場合は、ステップS2016を介して、ステップS2011に戻る。
【0206】
ステップS2016では、サーバ装置10は、変数jを“1”だけインクリメントする。このようして、仮想空間内にフレンドアバターが複数存在する場合、フレンドアバターごとにワープ条件判定処理が実行されてよい。
【0207】
ステップS2017では、サーバ装置10は、グループ内の各ユーザからの各種操作入力に基づいて、各ユーザアバターM1の位置/向き情報や、各仮想カメラ60の各カメラパラメータの各値等を更新する。
【0208】
ステップS2018では、サーバ装置10は、グループ内の各ユーザ用の端末用画像を生成し、各ユーザの端末装置20に送信する。
【0209】
ステップS2020では、サーバ装置10は、グループ内の各ユーザからの音声入力等に基づいて、対話処理を実行する。対話処理は、対話処理部160に関連して上述した通りであってよい。
【0210】
図21は、案内情報出力処理(
図20のステップS2009)の一例を示す概略的なフローチャートである。
【0211】
ステップS2100では、サーバ装置10は、グループ内の1人以上の他のユーザアバターM1(フレンドアバター)を抽出し、抽出したフレンドアバターに係るユーザID(又はユーザアバターID)を所定順にソートする。
【0212】
ステップS2102では、サーバ装置10は、変数kを初期値“1”に設定する。
【0213】
ステップS2104では、サーバ装置10は、k番目のフレンドアバターを処理対象として、ユーザアバターM1とk番目のフレンドアバターとの間の距離(
図21では「アバター間距離」と表記)であって、今回周期の距離d(i)を算出する。なお、ここでは、“i”は、周期数を表す任意の整数とする。距離d(i)は、上述したように、グローバル座標系での距離であってよい。
【0214】
ステップS2105では、サーバ装置10は、k番目のフレンドアバターに対して案内情報の所定の出力条件が成立したか否かを判定する。所定の出力条件は、上述したように任意であるが、例えば、ここでは、距離d(i)が所定距離D4以上である場合に満たされてよい。この場合、所定距離D4は、上述した所定距離D2よりも有意に大きく、上述した所定距離D3と同じであってもよい。判定結果が“YES”の場合、ステップS2106に進み、それ以外の場合、ステップS2112に進む。
【0215】
ステップS2106では、サーバ装置10は、今回周期の距離d(i)と前回周期の距離d(i-1)とに基づいて、ユーザアバターM1とk番目のフレンドアバターとの間の距離が前回周期よりも今回周期の方が縮まっているか否かを判定する。なお、変形例では、前回周期の距離d(i-1)に代えて、前回以前の所定数の周期での距離の平均値等が利用されてもよい。判定結果が“YES”の場合、ステップS2108に進み、それ以外の場合は、ステップS2110に進む。
【0216】
ステップS2108では、サーバ装置10は、ユーザアバターM1とk番目のフレンドアバターとの間の位置関係を表す案内情報であって、ユーザアバターM1とk番目のフレンドアバターとの間の距離が縮まっていることを表す距離変化情報(距離短縮を表す案内情報)を含む案内情報を描画する。案内情報の描画方法は、上述した通りであってよい。
【0217】
ステップS2110では、サーバ装置10は、ユーザアバターM1とk番目のフレンドアバターとの間の位置関係を表す案内情報であって、ユーザアバターM1とk番目のフレンドアバターとの間の距離が増えていることを表す距離変化情報(距離増加を表す案内情報)を含む案内情報を描画する。案内情報の描画方法は、上述した通りであってよい。
【0218】
ステップS2112では、サーバ装置10は、変数kがグループ内のフレンドアバターの数に一致するか否かを判定する。すなわち、すべてのフレンドアバターに対して案内情報を描画したか否かを判定する。判定結果が“YES”の場合、
図21の処理を終了し、それ以外の場合は、ステップS2114を介して、ステップS2104に戻る。
【0219】
ステップS2114では、サーバ装置10は、変数kを“1”だけインクリメントする。このようして、仮想空間内にフレンドアバターが複数存在する場合、フレンドアバターごとに距離の変化態様が評価されてよい。
【0220】
このようにして
図20及び
図21に示す処理によれば、グループ内のフレンドアバターごとに案内情報やワープボタン1800を描画でき、仮想空間におけるユーザアバターM1の移動を効果的に支援できる。
【0221】
図22は、ワープ条件判定処理(
図20のステップS2011)の一例を示す概略的なフローチャートである。
【0222】
ステップS2200では、サーバ装置10は、j番目のフレンドアバターの位置/向き情報に基づいて、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)を特定する。
【0223】
ステップS2202では、サーバ装置10は、ユーザアバターM1の位置/向き情報に基づいて、ユーザアバターM1が特定領域内に位置するか否かを判定する。本実施形態では、特定領域は、任意の位置であるので、ステップS2202は自動的に満たされることとしてよい。ただし、変形例の場合、特定領域は、仮想空間内の一部の領域(例えば、j番目のフレンドアバターから所定距離D3内の領域)を除く領域であってよい。判定結果が“YES”の場合、ステップS2204に進み、それ以外の場合は、ステップS2218に進む。
【0224】
ステップS2204では、サーバ装置10は、コンテンツ情報記憶部144内のデータに基づいて、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)に移動するのにチケットが必要であるか否かを判定する。判定結果が“YES”の場合、ステップS2206に進み、それ以外の場合は、ステップS2208に進む。
【0225】
ステップS2206では、サーバ装置10は、ユーザアバターM1が、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)に移動するためのチケットを所持しているか否かを判定する。この判定方法は、チケット所持判定部1661に関連して上述した通りであってよい。判定結果が“YES”の場合、ステップS2208に進み、それ以外の場合は、ステップS2210に進む。
【0226】
ステップS2208では、サーバ装置10は、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)へとユーザアバターM1が移動可能な状態(移動許可状態)を形成する。この場合、所定のワープ条件が満たされることになり、ステップS2012の判定結果は“YES”となる。
【0227】
ステップS2210では、サーバ装置10は、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)へとユーザアバターM1が移動不能な状態(移動禁止状態)を形成する。この場合、所定のワープ条件が満たされないことになり、ステップS2012の判定結果は“NO”となる。
【0228】
ステップS2212では、サーバ装置10は、チケット情報記憶部145内のデータ(
図9参照)に基づいて、j番目のフレンドアバターに、当該j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)に移動するためのチケットが複数枚対応付けられているか否かを判定する。判定結果が“YES”の場合、ステップS2214に進み、それ以外の場合は、ステップS2216に進む。
【0229】
ステップS2214では、サーバ装置10は、ユーザアバターM1に係るユーザに、j番目のフレンドアバターに係るユーザへのチケット譲渡のリクエストを促す補助情報(
図18の補助情報1840-1参照)を出力する。補助情報は、上述したように、ワープボタン1800に対応付けて描画されてもよい(
図18参照)。補助情報は、j番目のフレンドアバターに係るユーザへリクエストを送信する際に操作されるボタンを含んでもよい。なお、かかる補助情報の出力は、ユーザアバターM1の行き先が、j番目のフレンドアバターのそばである可能性が高い場合のみ実行されてもよい。
【0230】
ステップS2216では、サーバ装置10は、ユーザアバターM1に係るユーザに、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)へ移動するためのチケットの販売位置を通知する補助情報(
図18の補助情報1840-2参照)を出力する。なお、かかる補助情報は、チケットの販売位置(チケット売場)に瞬間移動する際にアクセス又は操作されるリンク又はボタンを含んでもよい。
【0231】
ステップS2218では、サーバ装置10は、j番目のフレンドアバターが位置する空間部(コンテンツ提供位置)へとユーザアバターM1が移動不能な状態(移動禁止状態)を形成する。この場合、所定のワープ条件が満たされないことになり、ステップS2012の判定結果は“NO”となる。
【0232】
なお、
図22に示す処理では、ステップS2214において、サーバ装置10は、ユーザアバターM1に係るユーザに、j番目のフレンドアバターに係るユーザへのチケット譲渡のリクエストを促す補助情報を出力するが、これに加えて、ステップS2216で出力する補助情報を出力してもよい。
【0233】
図23は、
図22の説明図であり、ユーザアバターM1に係るユーザからj番目のフレンドアバターに係るユーザへのリクエストが送信される場合の概略的なフローチャートである。
【0234】
図23において、端末装置20Aは、j番目のフレンドアバターに対応付けられているユーザに係る端末装置20を表し、端末装置20Bは、ユーザアバターM1に対応付けられているユーザに係る端末装置20を表す。
【0235】
この場合、j番目のフレンドアバターに対応付けられているユーザは、端末装置20A上で複数枚のチケットを購入すると(ステップS2300)、当該チケットの購入情報がサーバ装置10で記憶(更新)される(
図9に示したチケット情報記憶部145内のチケット情報900参照)(ステップS2302)。
【0236】
その後、サーバ装置10は、端末装置20Bに、j番目のフレンドアバターに係るユーザへのチケット譲渡のリクエストを促す補助情報を出力する(
図22のステップS2214参照)(ステップS2304)。この補助情報を受けて、端末装置20Bから端末装置20Aにリクエストが送信される(ステップS2306)。なお、このリクエストは、サーバ装置10を介して端末装置20Bから端末装置20Aに送信されてもよい。
【0237】
j番目のフレンドアバターに対応付けられているユーザは、端末装置20Bからのリクエストに応答して、譲渡入力をサーバ装置10に送信する(ステップS2308)とともに、端末装置20Bに係るユーザに、譲渡用の認証情報を通知する(ステップS2310)。なお、譲渡入力は、上述したように、j番目のフレンドアバターに対応付けられているユーザから事前に(例えばステップS2300の段階で)送信されてもよい。同様に、譲渡用の認証情報は、上述したように、j番目のフレンドアバターに対応付けられているユーザから端末装置20Bのユーザへと事前に通知されていてもよい。
【0238】
端末装置20Bのユーザは、j番目のフレンドアバターに対応付けられているユーザから譲渡用の認証情報の通知を受けると、譲渡用の認証情報をサーバ装置10に送信する(ステップS2311)。なお、サーバ装置10は、リクエストを端末装置20Aに送信する際に、譲渡用の認証情報の入力画面を端末装置20Bに出力させてもよい。
【0239】
サーバ装置10は、端末装置20Bから譲渡用の認証情報を受信すると、照合を行い、照合が成功すると、j番目のフレンドアバターに係るユーザに対応付けられている複数のチケットの1枚を、端末装置20Bに係るユーザに対応付ける(ステップS2312)。すなわち、このようなチケット情報900の書き換えは、チケット情報書換部1644を参照して上述した通りであってよい。このような書き換えに伴い、サーバ装置10は、j番目のフレンドアバターに係るワープボタン1800を操作不能な態様から操作可能な態様に描画し直す(ステップS2314)。
【0240】
これにより、端末装置20Bのユーザは、j番目のフレンドアバターに係るワープボタン1800を操作することで、ユーザアバターM1をj番目のフレンドアバターのそばに瞬間移動させることができる(ステップS2316)。
【0241】
ところで、
図5から
図23を参照して上述した実施形態では、サーバ装置10が各種機能を網羅的に実現しているが、上述したサーバ装置10の各種機能の一部又は全部は、サーバ装置10に代えて、端末装置20によって実現することも可能である。以下では、一例として、サーバ装置10の各種機能の一部が端末装置20によって実現される構成について説明する。
【0242】
図24は、アバター移動案内機能に関連した端末装置20の機能ブロック図の一例である。以下では、一の端末装置20について代表して説明し、ユーザとは、特に言及しない限り、端末装置20に係るユーザを指す。
【0243】
図24に示す例では、端末装置20は、ユーザデータベース240と、アバターデータベース242と、コンテンツ情報記憶部244と、チケット情報記憶部245と、グループ状態記憶部246と、操作入力生成部250と、サーバ情報取得部251と、ユーザアバター処理部252(取得部の一例及び位置変更部の一例)と、フレンドアバター処理部254と、操作入力送信部255と、端末画像生成部258と、コンテンツ処理部259と、対話処理部260と、パラメータ更新部270とを含む。
【0244】
なお、ユーザデータベース240からグループ状態記憶部246は、
図1に示した端末記憶部22により実現でき、操作入力生成部250からパラメータ更新部270は、
図1に示した端末制御部25により実現できる。また、操作入力生成部250からパラメータ更新部270のうちの一部(サーバ装置10との通信を行う機能部)は、
図1に示した端末制御部25とともに端末通信部21により実現できる。
【0245】
ユーザデータベース240からグループ状態記憶部246のそれぞれに記憶される各データは、上述したサーバ装置10のユーザデータベース140からグループ状態記憶部146のそれぞれに記憶される各データと実質的に同じであってよい。ただし、ユーザデータベース240に記憶される各データは、上述したサーバ装置10のユーザデータベース140に記憶されるデータのうちの、ユーザ及びそのフレンドユーザ(同一グループ内のフレンドアバターに係るユーザ、以下同様)に係るデータのみであってよい。これは、チケット情報記憶部245やグループ状態記憶部246も同様である。
【0246】
操作入力生成部250は、ユーザからの各種入力(入力部24を介した各種入力)に基づいて、上述した操作入力情報を生成する。なお、ユーザからの各種入力は、上述したとおりであり、移動操作入力や、対話用の入力、チケットのリクエスト、譲渡用の認証情報等を含んでもよい。
【0247】
サーバ情報取得部251は、サーバ装置10から、ユーザデータベース240からグループ状態記憶部246のそれぞれに記憶される各種データを取得する。サーバ情報取得部251によるデータの取得タイミングは、任意であるが、仮想現実アプリケーションの更新時等であってよい。ただし、グループ状態記憶部246に記憶されるデータの取得(更新)タイミングは、グループを構成するユーザの変化時であってよい。このようにして、ユーザデータベース240からグループ状態記憶部246のそれぞれに記憶される各種データは、適宜、サーバ情報取得部251により取得されるデータに基づいて更新されてよい。
【0248】
ユーザアバター処理部252は、上述したサーバ装置10のユーザアバター処理部152と実質的に同様の機能を有する。ただし、ユーザアバター処理部252の処理対象のユーザアバターM1は、端末装置20に係るユーザに対応付けられているユーザアバターM1のみであってよい。
【0249】
フレンドアバター処理部254は、上述したサーバ装置10のユーザアバター処理部152と実質的に同様の機能を有する。ただし、フレンドアバター処理部254の処理対象のユーザアバターM1は、端末装置20に係るユーザに対応付けられているユーザアバターM1に対するフレンドアバターのみであってよい。
【0250】
ユーザアバター処理部252及びフレンドアバター処理部254は、それぞれ、上述したサーバ装置10のユーザアバター処理部152と同様、処理対象のユーザアバターM1に関して、移動操作入力に基づく移動処理や、第1ワープ処理、第2ワープ処理等の各種処理を実現する。ユーザアバター処理部252は、ユーザに係る操作入力情報に基づいて各種処理を行い、フレンドアバター処理部254は、フレンドユーザに係る操作入力情報に基づいて各種処理を行ってよい。これにより、各ユーザアバターM1の位置/向き情報が更新される。
【0251】
操作入力送信部255は、操作入力生成部250により生成された操作入力情報をサーバ装置10に送信する。なお、操作入力送信部255は、操作入力情報に代えて、ユーザアバター処理部252により当該操作入力情報に基づき更新されるユーザアバターM1の位置/向き情報を、サーバ装置10に送信してもよい。また、操作入力送信部255は、ユーザに係るユーザアバターM1が活動する仮想空間内の他のユーザアバターM1(フレンドアバター)が存在する場合のみ、操作入力情報をサーバ装置10に送信してもよい。
【0252】
端末画像生成部258は、端末装置20用の端末用画像を生成する。端末用画像は、上述した通りであってよい。この場合、例えば、端末画像生成部258は、フレンドアバター処理部254により取得又は生成されたフレンドアバターの位置/向き情報と、描画対象のフレンドアバターを特定できる情報(例えばユーザアバターID)と、当該描画対象のフレンドアバターに係るアバター情報700(
図7参照)とに基づいて、各フレンドアバターの画像を描画してよい。この場合、端末装置20は、アバターの各パーツを描画するためのパーツ情報を端末記憶部22内(アバターデータベース242)に格納しており、当該パーツ情報と、サーバ装置10から取得するフレンドアバターの位置/向き情報等に基づいて、各フレンドアバターを描画してもよい。
【0253】
具体的には、端末画像生成部258は、ベース画像描画部2581と、ユーザインタフェース描画部2582と、案内情報描画部2583と、補助情報描画部2584と、ワープ動作描画部2585とを含む。ベース画像描画部2581からワープ動作描画部2585のそれぞれは、上述したサーバ装置10のベース画像描画部1581からワープ動作描画部1585のそれぞれと同様であってよい。ただし、描画対象の端末用画像は、一の端末装置20用の端末用画像のみである。
【0254】
コンテンツ処理部259は、コンテンツ提供位置ごとにユーザにコンテンツを提供する。ユーザに提供するコンテンツは、コンテンツ提供条件が満たされた場合にサーバ装置10から取得されてよい。
【0255】
対話処理部260は、上述したサーバ装置10の対話処理部160と実質的に同様の機能を有する。対話処理部260は、ユーザ及びそのフレンドユーザからの対話用の各入力に基づいて、同一グループ内のユーザ間の対話に係る対話処理を実行する。
【0256】
パラメータ更新部270は、ユーザアバターM1に対応付けられている仮想カメラ60の各種パラメータ(
図4参照)の各値を更新する。
【0257】
図25は、
図24に示す端末装置20による動作例であって、端末画像生成部258に関連した動作例を示す概略的なフローチャートである。
図25において、端末装置20Cは、ユーザに係る
図24に示す端末装置20を表し、端末装置20Dは、同一グループ内の一のフレンドアバターに対応付けられているユーザに係る
図24に示す端末装置20を表す。なお、ここでは、端末装置20Dに係るユーザは、一人であるが、2人以上であっても同様である。すなわち、この場合、端末装置20Cと複数の端末装置20Dのそれぞれが組をなして、
図22に示す動作例が実現されてよい。
【0258】
端末装置20C及び端末装置20Dのそれぞれにおいては、対応するユーザによる各種入力に基づいて操作入力情報を生成し(ステップS2500、ステップS2501)、生成した操作入力情報をサーバ装置10に送信する(ステップS2502、ステップS2508)。サーバ装置10は、同一グループ内の各ユーザの端末装置20(ここでは、端末装置20C及び端末装置20D)から受信された操作入力情報を、転送する(ステップS2504、ステップS2510)。なお、この際、サーバ装置10は、操作入力情報をそのまま転送してもよいし、所定の加工等を施してから送信してもよい。例えば、操作入力情報は、各ユーザアバターM1の位置/向き情報に変換されてから送信されてもよい。このようにして操作入力情報(フレンドアバターに係る操作入力情報)は、端末装置20C及び端末装置20Dのそれぞれにおいて受信される(ステップS2512、ステップS2506)。
【0259】
端末装置20Cにおいては、ステップS2500で生成した操作入力情報や、ステップS2512で受信した操作入力情報(フレンドアバターに係る操作入力情報)に基づいて、各ユーザアバターM1の位置/向き情報を更新するとともに端末用画像を描画する(ステップS2514)。この際、上述したような案内情報や補助情報等も描画される。同様に、端末装置20Dにおいては、ステップS2501で生成した操作入力情報や、ステップS2506で受信した操作入力情報(フレンドアバターに係る操作入力情報)に基づいて、各ユーザアバターM1の位置/向き情報を更新するとともに端末用画像を描画する(ステップS2516)。この際、上述したような案内情報や補助情報等も描画される。
【0260】
このような動作は、端末装置20C及び端末装置20Dのそれぞれにおいては、対応するユーザアバターM1が仮想空間から退出するまで(ステップS2518の“YES”、ステップS2520の“YES”)、繰り返される。
【0261】
なお、
図25では、図示されていないが、上述した対話処理(同一グループ内のユーザアバターM1間に係る対話処理)についても、端末装置20C及び端末装置20Dのそれぞれにおいて生成される音声入力等が、上述した操作入力情報の場合と同様の態様で端末装置20C及び端末装置20D間でやり取りされることで、実現されてよい。
【0262】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0263】
例えば、上述した実施形態において、案内情報の描画は、先導者アバター(図示せず)の出現(描画)により実現されてもよい。この場合、先導者アバターは、先行ユーザアバターM6まで移動することで、案内対象ユーザアバターM5を先行ユーザアバターM6まで誘導できる。すなわち、案内対象ユーザアバターM5に係るユーザは、先導者アバターの後を案内対象ユーザアバターM5が追うように、移動操作入力を行うことで、案内対象ユーザアバターM5を先行ユーザアバターM6のそばまで容易に移動させることができる。なお、この場合、先導者アバターは、先行ユーザアバターM6を示唆する容姿等を有してもよい。また、先導者アバターは、自動的に案内対象ユーザアバターM5を先行ユーザアバターM6のそばまで移動させるモード(案内対象ユーザアバターM5の手を引くモード)を有してもよい。このようなモードは、第2ワープ処理において実現されてもよい。
【0264】
また、上述した実施形態では、第2ワープ処理は、瞬間移動されるユーザアバターM1に対応付けられるユーザによるワープ入力により実現されるが、これに限られない。すなわち、第2ワープ処理は、瞬間移動されるユーザアバターM1に対応付けられるユーザ以外のユーザによるワープ入力により実現されてもよい。例えば親子関係のような特定のフレンド関係の場合、親ユーザによる特定のワープ入力に基づいて、子供ユーザに対応付けられるユーザアバターM1を、親ユーザに対応付けられるユーザアバターM1のそばまで瞬間移動させることが可能であってもよい。この場合、特定のワープ入力のためのユーザインタフェースは、例えば、逆ワープボタンや迷子ボタンといった名称で、ワープボタン1800とは異なるボタンにより実現されてもよい。この場合、例えば親子で仮想現実を楽しむユーザにとってユーザフレンドリな移動支援を実現できる。また、子供ユーザがワープボタンを操作できない場合でも、子供ユーザに係る端末装置20において、描画に係る処理負荷及びそれに伴う電力消費(電源の充電状態の減少)を低減できる。
【0265】
また、上述した実施形態では、第2ワープ処理は、案内対象ユーザアバターM5の近傍に、ワープ領域1100のようなワープ領域の出現により実現されてもよい。この場合、ワープ領域1100の出口側は、先行ユーザアバターM6の近傍に設定されてもよい。この場合、案内対象ユーザアバターM5に係るユーザは、近傍のワープ領域へと案内対象ユーザアバターM5を移動させる比較的簡単な移動操作入力を行うだけで、先行ユーザアバターM6の近傍まで案内対象ユーザアバターM5を瞬間移動させることができる。
【0266】
また、上述した実施形態において、案内情報描画部1583(案内情報描画部2583についても同様)の機能は、ユーザによる選択によりオン/オフ可能であってもよい。
【0267】
また、上述した実施形態において、チケットを要する空間部に位置する一のフレンドアバターのそばまでユーザアバターM1を瞬間移動させる第2ワープ処理に関して、第2所定位置は、ユーザアバターM1のチケット所持状況に応じて変化されてもよい。例えば、ユーザアバターM1が当該空間部内に移動するためのチケットを所持している場合は、第2所定位置は、当該空間部内に設定されてもよい。他方、ユーザアバターM1が当該空間部内に移動するためのチケットを所持していない場合は、第2所定位置は、当該空間部の外(例えば入口)であってよい。このような構成は、当該空間部の外(例えば入口)に、当該空間部に移動するためのチケットを販売するチケット売場がある場合に好適である。
【符号の説明】
【0268】
1 仮想現実生成システム
3 ネットワーク
10 サーバ装置
20 端末装置
60 仮想カメラ
70 空間部
71 フリー空間部
140 ユーザデータベース
142 アバターデータベース
144 コンテンツ情報記憶部
145 チケット情報記憶部
146 グループ状態記憶部
150 グループ設定部
152 ユーザアバター処理部
1521 操作入力取得部
1522 ユーザ動作処理部
15221 基本動作処理部
15222 第1ワープ処理部
15223 第2ワープ処理部
158 端末画像生成部
1581 ベース画像描画部
1582 ユーザインタフェース描画部
1583 案内情報描画部
15831 距離算出部
15832 距離変化判定部
1584 補助情報描画部
1585 ワープ動作描画部
1586 空間部遷移描画部
159 コンテンツ処理部
160 対話処理部
162 第1移動権限処理部
1621 購入入力取得部
1622 チケットID生成部
1623 認証情報通知部
1624 チケット描画部
164 第2移動権限処理部
1640 譲渡入力取得部
1641 認証通知案内部
1644 チケット情報書換部
166 判断処理部
1661 チケット所持判定部
1662 無効化処理部
170 パラメータ更新部
240 ユーザデータベース
242 アバターデータベース
244 コンテンツ情報記憶部
245 チケット情報記憶部
246 グループ状態記憶部
250 操作入力生成部
251 サーバ情報取得部
252 ユーザアバター処理部
254 フレンドアバター処理部
255 操作入力送信部
258 端末画像生成部
2581 ベース画像描画部
2582 ユーザインタフェース描画部
2583 案内情報描画部
2584 補助情報描画部
2585 ワープ動作描画部
259 コンテンツ処理部
260 対話処理部
270 パラメータ更新部
300 ユーザインタフェース
309 対話用インタフェース
350 アバターアイコン
351 アバターアイコン
352 アバターアイコン
360 マイクアイコン
1800(1800-1、1800-2) ワープボタン