JP2019192203A - プログラム、情報処理装置、および方法 - Google Patents

プログラム、情報処理装置、および方法 Download PDF

Info

Publication number
JP2019192203A
JP2019192203A JP2018222930A JP2018222930A JP2019192203A JP 2019192203 A JP2019192203 A JP 2019192203A JP 2018222930 A JP2018222930 A JP 2018222930A JP 2018222930 A JP2018222930 A JP 2018222930A JP 2019192203 A JP2019192203 A JP 2019192203A
Authority
JP
Japan
Prior art keywords
user
avatar
processor
virtual space
avatar object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018222930A
Other languages
English (en)
Other versions
JP2019192203A5 (ja
JP7029379B2 (ja
Inventor
健登 中島
Kento Nakajima
健登 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to JP2018222930A priority Critical patent/JP7029379B2/ja
Publication of JP2019192203A publication Critical patent/JP2019192203A/ja
Publication of JP2019192203A5 publication Critical patent/JP2019192203A5/ja
Priority to JP2022023670A priority patent/JP7278442B2/ja
Application granted granted Critical
Publication of JP7029379B2 publication Critical patent/JP7029379B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】仮想空間におけるユーザの仮想体験の興趣性をより高めることができるプログラム、情報処理装置及び方法を提供する。【解決手段】プロセッサは、ユーザの入力に基づいて、課金に関する処理を実行する。課金に関する処理が実行された場合、アバターオブジェクト6Bによる第2パフォーマンスの実行をユーザ5Bにリクエストする。第2パフォーマンスの実行をリクエストした後、第2ユーザ5Bの動きに応じて、アバターオブジェクト6Bに第2パフォーマンスを実行させる。【選択図】図78

Description

本発明は、プログラム、情報処理装置、および方法に関する。
特許文献1〜3に、仮想空間においてユーザにコンテンツを視聴させる技術の一例が開
示されている。
特開2017−176728号 特開2018−007828号 特開2016−025633号
従来の技術には、仮想空間におけるユーザの仮想体験の興趣性をより高めることができ
る余地がある。
本開示の一態様は、仮想空間におけるユーザの仮想体験の興趣性をより高めることを目
的とする。
本発明の一態様によれば、第1ユーザに仮想体験を提供するために、第1プロセッサを
備えた第1コンピュータによって実行されるプログラムが提供される。プログラムは、第
1プロセッサに、仮想体験を第1ユーザに提供するための仮想空間を定義するステップと
、第1ユーザに関連付けられる第1アバターと、第2ユーザに関連付けられる第2アバタ
ーとを、仮想空間に配置するステップと、第2ユーザの動きに応じて、第2アバターに第
1パフォーマンスを実行させるステップと、第1ユーザの入力に基づいて、課金に関する
処理を実行するステップと、課金に関する処理が実行された場合、第2アバターによる第
2パフォーマンスの実行を第2ユーザにリクエストするステップと、第2パフォーマンス
の実行をリクエストした後、第2ユーザの動きに応じて、第2アバターに第2パフォーマ
ンスを実行させるステップと、を実行させる。
また、本発明の一態様によれば、第2ユーザに仮想体験を提供するために、第2プロセ
ッサを備えた第2コンピュータによって実行されるプログラムが提供される。プログラム
は、第2プロセッサに、仮想体験を第2ユーザに提供するための仮想空間を定義するステ
ップと、第1ユーザに関連付けられる第1アバターと、第2ユーザに関連付けられる第2
アバターとを、仮想空間に配置するステップと、第2ユーザの身体の動きを検出するステ
ップと、第2ユーザの動きに応じて、第2アバターに第1パフォーマンスを実行させるス
テップと、第1ユーザの入力に基づいて実行された課金に関する処理に応じて、第2アバ
ターによる第2パフォーマンスの実行が第2ユーザにリクエストされた場合、第2パフォ
ーマンスに関する情報を第2ユーザに通知するステップと、第2パフォーマンスに関する
情報を第2ユーザに通知した後、第2ユーザの動きに応じて、第2アバターに第2パフォ
ーマンスを実行させるステップと、を実行させる。
本開示の一態様によれば、仮想空間におけるユーザの仮想体験の興趣性をより高めるこ
とができる。
ある実施の形態に従うHMDシステムの構成の概略を表す図である。 ある実施の形態に従うコンピュータのハードウェア構成の一例を表すブロック図である。 ある実施の形態に従うHMDに設定されるuvw視野座標系を概念的に表す図である。 ある実施の形態に従う仮想空間を表現する一態様を概念的に表す図である。 ある実施の形態に従うHMDを装着するユーザの頭部を上から表した図である。 仮想空間において視界領域をX方向から見たYZ断面を表す図である。 仮想空間において視界領域をY方向から見たXZ断面を表す図である。 ある実施の形態に従うコントローラの概略構成を表す図である。 ある実施の形態に従うユーザの右手に対して規定されるヨー、ロール、ピッチの各方向の一例を示す図である。 ある実施の形態に従うサーバのハードウェア構成の一例を表すブロック図である。 ある実施の形態に従うコンピュータをモジュール構成として表わすブロック図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ネットワークにおいて、各HMDがユーザに仮想空間を提供する状況を表す模式図である。 図12(A)におけるユーザ5Aの視界画像を示す図である。 ある実施の形態に従うHMDシステムにおいて実行する処理を示すシーケンス図である。 ある実施の形態に従うコンピュータのモジュールの詳細構成を表わすブロック図である。 ある実施の形態に従う仮想空間および視界画像を示す図である。 ある実施の形態に従う仮想空間および視界画像を示す図である。 ある実施の形態に従うHMDシステムにおいて実行される処理の一例を示すシーケンス図である。 ある実施の形態に従う寸法データの取得方法を説明するための図である。 ある実施の形態に従う位置情報のデータ構造の一例を示す図である。 ある実施の形態に従う寸法データのデータ構造の一例を示す図である。 ある実施の形態に従う寸法データを取得するための処理を表すフローチャートである。 ある実施の形態に従う回転方向のデータ構造の一例を示す図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第1仮想空間および視界画像を示す図である。 ある実施の形態に従う第1仮想空間および視界画像を示す図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施形態に係るユーザの姿勢の一例を表す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第1仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間およびライブ映像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第3仮想空間および視界画像を示す図である。 ある実施の形態に従う第3仮想空間および視界画像を示す図である。 ある実施の形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施形態に係るユーザの姿勢の一例を表す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第3仮想空間および視界画像を示す図である。 HMDシステムにおいて実行される処理の一例を示すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施形態に係るユーザの姿勢の一例を表す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 HMDシステムにおいて実行される処理の一例を示すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ユーザに少なくとも1つの第2パフォーマンスを通知するために、プロセッサが参照するデータの一例を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 HMDシステムにおいて実行される処理の一例を示すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第1仮想空間(第1領域)および視界画像を示す図である。 ある実施の形態に従う第1仮想空間および視界画像を示す図である。 ある実施形態に従うHMDセットにおいて実行される処理の一部を表すシーケンスチャートである。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第1仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。 ある実施の形態に従う第2仮想空間および視界画像を示す図である。
〔実施形態1〕
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下
の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じで
ある。したがって、それらについての詳細な説明は繰り返さない。本開示において示され
る1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、
かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
[HMDシステムの構成]
図1を参照して、HMD(Head-Mounted Device)システム100の構成について説明
する。図1は、本実施の形態に従うHMDシステム100の構成の概略を表す図である。
HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供
される。
HMDシステム100は、サーバ600と、HMDセット110A,110B,110
C,110Dと、外部機器700と、ネットワーク2とを含む。HMDセット110A,
110B,110C,110Dの各々は、ネットワーク2を介してサーバ600や外部機
器700と通信可能に構成される。以下、HMDセット110A,110B,110C,
110Dを総称して、HMDセット110とも言う。HMDシステム100を構成するH
MDセット110の数は、4つに限られず、3つ以下でも、5つ以上でもよい。HMDセ
ット110は、HMD120と、コンピュータ200と、HMDセンサ410と、ディス
プレイ430と、コントローラ300とを備える。HMD120は、モニタ130と、注
視センサ140と、第1カメラ150と、第2カメラ160と、マイク170と、スピー
カ180とを含む。コントローラ300は、モーションセンサ420を含み得る。
ある局面において、コンピュータ200は、インターネットその他のネットワーク2に
接続可能であり、ネットワーク2に接続されているサーバ600その他のコンピュータと
通信可能である。その他のコンピュータとしては、例えば、他のHMDセット110のコ
ンピュータや外部機器700が挙げられる。別の局面において、HMD120は、HMD
センサ410の代わりに、センサ190を含み得る。
HMD120は、ユーザ5の頭部に装着され、動作中に仮想空間をユーザ5に提供し得
る。より具体的には、HMD120は、右目用の画像および左目用の画像をモニタ130
にそれぞれ表示する。ユーザ5の各目がそれぞれの画像を視認すると、ユーザ5は、両目
の視差に基づき当該画像を3次元画像として認識し得る。HMD120は、モニタを備え
る所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装
着可能なヘッドマウント機器のいずれをも含み得る。
モニタ130は、例えば、非透過型の表示装置として実現される。ある局面において、
モニタ130は、ユーザ5の両目の前方に位置するようにHMD120の本体に配置され
ている。したがって、ユーザ5は、モニタ130に表示される3次元画像を視認すると、
仮想空間に没入することができる。ある局面において、仮想空間は、例えば、背景、ユー
ザ5が操作可能なオブジェクト、ユーザ5が選択可能なメニューの画像を含む。ある局面
において、モニタ130は、所謂スマートフォンその他の情報表示端末が備える液晶モニ
タまたは有機EL(Electro Luminescence)モニタとして実現され得る。
別の局面において、モニタ130は、透過型の表示装置として実現され得る。この場合
、HMD120は、図1に示されるようにユーザ5の目を覆う密閉型ではなく、メガネ型
のような開放型であり得る。透過型のモニタ130は、その透過率を調整することにより
、一時的に非透過型の表示装置として構成可能であってもよい。モニタ130は、仮想空
間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。例え
ば、モニタ130は、HMD120に搭載されたカメラで撮影した現実空間の画像を表示
してもよいし、一部の透過率を高く設定することにより現実空間を視認可能にしてもよい
ある局面において、モニタ130は、右目用の画像を表示するためのサブモニタと、左
目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ130
は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合
、モニタ130は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にの
み認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
ある局面において、HMD120は、図示せぬ複数の光源を含む。各光源は例えば、赤
外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ410
は、HMD120の動きを検出するためのポジショントラッキング機能を有する。より具
体的には、HMDセンサ410は、HMD120が発する複数の赤外線を読み取り、現実
空間内におけるHMD120の位置および傾きを検出する。
別の局面において、HMDセンサ410は、カメラにより実現されてもよい。この場合
、HMDセンサ410は、カメラから出力されるHMD120の画像情報を用いて、画像
解析処理を実行することにより、HMD120の位置および傾きを検出することができる
別の局面において、HMD120は、位置検出器として、HMDセンサ410の代わり
に、あるいはHMDセンサ410に加えてセンサ190を備えてもよい。HMD120は
、センサ190を用いて、HMD120自身の位置および傾きを検出し得る。例えば、セ
ンサ190が角速度センサ、地磁気センサ、あるいは加速度センサである場合、HMD1
20は、HMDセンサ410の代わりに、これらの各センサのいずれかを用いて、自身の
位置および傾きを検出し得る。一例として、センサ190が角速度センサである場合、角
速度センサは、現実空間におけるHMD120の3軸周りの角速度を経時的に検出する。
HMD120は、各角速度に基づいて、HMD120の3軸周りの角度の時間的変化を算
出し、さらに、角度の時間的変化に基づいて、HMD120の傾きを算出する。
注視センサ140は、ユーザ5の右目および左目の視線が向けられる方向を検出する。
つまり、注視センサ140は、ユーザ5の視線を検出する。視線の方向の検出は、例えば
、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラ
ッキング機能を有するセンサにより実現される。ある局面において、注視センサ140は
、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ140は、例
えば、ユーザ5の右目および左目に赤外線を照射するとともに、照射光に対する角膜およ
び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい
。注視センサ140は、検出した各回転角に基づいて、ユーザ5の視線を検知することが
できる。
第1カメラ150は、ユーザ5の顔の下部を撮影する。より具体的には、第1カメラ1
50は、ユーザ5の鼻および口などを撮影する。第2カメラ160は、ユーザ5の目およ
び眉などを撮影する。HMD120のユーザ5側の筐体をHMD120の内側、HMD1
20のユーザ5とは逆側の筐体をHMD120の外側と定義する。ある局面において、第
1カメラ150は、HMD120の外側に配置され、第2カメラ160は、HMD120
の内側に配置され得る。第1カメラ150および第2カメラ160が生成した画像は、コ
ンピュータ200に入力される。別の局面において、第1カメラ150と第2カメラ16
0とを1台のカメラとして実現し、この1台のカメラでユーザ5の顔を撮影するようにし
てもよい。
マイク170は、ユーザ5の発話を音声信号(電気信号)に変換してコンピュータ20
0に出力する。スピーカ180は、音声信号を音声に変換してユーザ5に出力する。別の
局面において、HMD120は、スピーカ180に替えてイヤホンを含み得る。
コントローラ300は、有線または無線によりコンピュータ200に接続されている。
コントローラ300は、ユーザ5からコンピュータ200への命令の入力を受け付ける。
ある局面において、コントローラ300は、ユーザ5によって把持可能に構成される。別
の局面において、コントローラ300は、ユーザ5の身体あるいは衣類の一部に装着可能
に構成される。さらに別の局面において、コントローラ300は、コンピュータ200か
ら送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するよう
に構成されてもよい。さらに別の局面において、コントローラ300は、ユーザ5から、
仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
ある局面において、コントローラ300は、複数の光源を含む。各光源は例えば、赤外
線を発するLEDにより実現される。HMDセンサ410は、ポジショントラッキング機
能を有する。この場合、HMDセンサ410は、コントローラ300が発する複数の赤外
線を読み取り、現実空間内におけるコントローラ300の位置および傾きを検出する。別
の局面において、HMDセンサ410は、カメラにより実現されてもよい。この場合、H
MDセンサ410は、カメラから出力されるコントローラ300の画像情報を用いて、画
像解析処理を実行することにより、コントローラ300の位置および傾きを検出すること
ができる。
モーションセンサ420は、ある局面において、ユーザ5の手に取り付けられて、ユー
ザ5の手の動きを検出する。例えば、モーションセンサ420は、手の回転速度、回転数
等を検出する。検出された信号は、コンピュータ200に送られる。モーションセンサ4
20は、例えば、コントローラ300に設けられている。ある局面において、モーション
センサ420は、例えば、ユーザ5に把持可能に構成されたコントローラ300に設けら
れている。別の局面において、現実空間における安全のため、コントローラ300は、手
袋型のようにユーザ5の手に装着されることにより容易に飛んで行かないものに装着され
る。さらに別の局面において、ユーザ5に装着されないセンサがユーザ5の手の動きを検
出してもよい。例えば、ユーザ5を撮影するカメラの信号が、ユーザ5の動作を表わす信
号として、コンピュータ200に入力されてもよい。モーションセンサ420とコンピュ
ータ200とは、一例として、無線により互いに接続される。無線の場合、通信形態は特
に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いら
れる。
ディスプレイ430は、モニタ130に表示されている画像と同様の画像を表示する。
これにより、HMD120を装着しているユーザ5以外のユーザにも当該ユーザ5と同様
の画像を視聴させることができる。ディスプレイ430に表示される画像は、3次元画像
である必要はなく、右目用の画像や左目用の画像であってもよい。ディスプレイ430と
しては、例えば、液晶ディスプレイや有機ELモニタなどが挙げられる。
サーバ600は、コンピュータ200にプログラムを送信し得る。別の局面において、
サーバ600は、他のユーザによって使用されるHMD120に仮想現実を提供するため
の他のコンピュータ200と通信し得る。例えば、アミューズメント施設において、複数
のユーザが参加型のゲームを行なう場合、各コンピュータ200は、各ユーザの動作に基
づく信号をサーバ600を介して他のコンピュータ200と通信して、同じ仮想空間にお
いて複数のユーザが共通のゲームを楽しむことを可能にする。各コンピュータ200は、
各ユーザの動作に基づく信号をサーバ600を介さずに他のコンピュータ200と通信す
るようにしてもよい。
外部機器700は、コンピュータ200と通信可能な機器であればどのような機器であ
ってもよい。外部機器700は、例えば、ネットワーク2を介してコンピュータ200と
通信可能な機器であってもよいし、近距離無線通信や有線接続によりコンピュータ200
と直接通信可能な機器であってもよい。外部機器700としては、例えば、スマートデバ
イス、PC(Personal Computer)、及びコンピュータ200の周辺機器などが挙げられ
るが、これらに限定されるものではない。
[コンピュータのハードウェア構成]
図2を参照して、本実施の形態に係るコンピュータ200について説明する。図2は、
本実施の形態に従うコンピュータ200のハードウェア構成の一例を表すブロック図であ
る。コンピュータ200は、主たる構成要素として、プロセッサ210と、メモリ220
と、ストレージ230と、入出力インターフェイス240と、通信インターフェイス25
0とを備える。各構成要素は、それぞれ、バス260に接続されている。
プロセッサ210は、コンピュータ200に与えられる信号に基づいて、あるいは、予
め定められた条件が成立したことに基づいて、メモリ220またはストレージ230に格
納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッ
サ210は、CPU(Central Processing Unit)、GPU(Graphics Processing U
nit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Arr
ay)その他のデバイスとして実現される。
メモリ220は、プログラムおよびデータを一時的に保存する。プログラムは、例えば
、ストレージ230からロードされる。データは、コンピュータ200に入力されたデー
タと、プロセッサ210によって生成されたデータとを含む。ある局面において、メモリ
220は、RAM(Random Access Memory)その他の揮発メモリとして実現される。
ストレージ230は、プログラムおよびデータを永続的に保持する。ストレージ230
は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、
その他の不揮発記憶装置として実現される。ストレージ230に格納されるプログラムは
、HMDシステム100において仮想空間を提供するためのプログラム、シミュレーショ
ンプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との
通信を実現するためのプログラムを含む。ストレージ230に格納されるデータは、仮想
空間を規定するためのデータおよびオブジェクト等を含む。
別の局面において、ストレージ230は、メモリカードのように着脱可能な記憶装置と
して実現されてもよい。さらに別の局面において、コンピュータ200に内蔵されたスト
レージ230の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使
用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施
設のように複数のHMDシステム100が使用される場面において、プログラムやデータ
の更新を一括して行なうことが可能になる。
入出力インターフェイス240は、HMD120、HMDセンサ410、モーションセ
ンサ420およびディスプレイ430との間で信号を通信する。HMD120に含まれる
モニタ130,注視センサ140,第1カメラ150,第2カメラ160,マイク170
およびスピーカ180は、HMD120の入出力インターフェイス240を介してコンピ
ュータ200との通信を行ない得る。ある局面において、入出力インターフェイス240
は、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HD
MI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実
現される。入出力インターフェイス240は上述のものに限られない。
ある局面において、入出力インターフェイス240は、さらに、コントローラ300と
通信し得る。例えば、入出力インターフェイス240は、コントローラ300およびモー
ションセンサ420から出力された信号の入力を受ける。別の局面において、入出力イン
ターフェイス240は、プロセッサ210から出力された命令を、コントローラ300に
送る。当該命令は、振動、音声出力、発光等をコントローラ300に指示する。コントロ
ーラ300は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光の
いずれかを実行する。
通信インターフェイス250は、ネットワーク2に接続されて、ネットワーク2に接続
されている他のコンピュータ(例えば、サーバ600)と通信する。ある局面において、
通信インターフェイス250は、例えば、LAN(Local Area Network)その他の有線
通信インターフェイス、あるいは、WiFi(Wireless Fidelity)、Bluetoot
h(登録商標)、NFC(Near Field Communication)その他の無線通信インターフェ
イスとして実現される。通信インターフェイス250は上述のものに限られない。
ある局面において、プロセッサ210は、ストレージ230にアクセスし、ストレージ
230に格納されている1つ以上のプログラムをメモリ220にロードし、当該プログラ
ムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200
のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、
仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ210は、入出力イ
ンターフェイス240を介して、仮想空間を提供するための信号をHMD120に送る。
HMD120は、その信号に基づいてモニタ130に映像を表示する。
図2に示される例では、コンピュータ200は、HMD120の外部に設けられる構成
が示されているが、別の局面において、コンピュータ200は、HMD120に内蔵され
てもよい。一例として、モニタ130を含む携帯型の情報通信端末(例えば、スマートフ
ォン)がコンピュータ200として機能してもよい。
コンピュータ200は、複数のHMD120に共通して用いられる構成であってもよい
。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもで
きるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむこ
とができる。
ある実施の形態において、HMDシステム100では、現実空間における座標系である
実座標系が予め設定されている。実座標系は、現実空間における鉛直方向、鉛直方向に直
交する水平方向、並びに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ
平行な、3つの基準方向(軸)を有する。実座標系における水平方向、鉛直方向(上下方
向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、
実座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方
向に平行である。z軸は現実空間の前後方向に平行である。
ある局面において、HMDセンサ410は、赤外線センサを含む。赤外線センサが、H
MD120の各光源から発せられた赤外線をそれぞれ検出すると、HMD120の存在を
検出する。HMDセンサ410は、さらに、各点の値(実座標系における各座標値)に基
づいて、HMD120を装着したユーザ5の動きに応じた、現実空間内におけるHMD1
20の位置および傾き(向き)を検出する。より詳しくは、HMDセンサ410は、経時
的に検出された各値を用いて、HMD120の位置および傾きの時間的変化を検出できる
HMDセンサ410によって検出されたHMD120の各傾きは、実座標系におけるH
MD120の3軸周りの各傾きに相当する。HMDセンサ410は、実座標系におけるH
MD120の傾きに基づき、uvw視野座標系をHMD120に設定する。HMD120
に設定されるuvw視野座標系は、HMD120を装着したユーザ5が仮想空間において
物体を見る際の視点座標系に対応する。
[uvw視野座標系]
図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従う
HMD120に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ41
0は、HMD120の起動時に、実座標系におけるHMD120の位置および傾きを検出
する。プロセッサ210は、検出された値に基づいて、uvw視野座標系をHMD120
に設定する。
図3に示されるように、HMD120は、HMD120を装着したユーザ5の頭部を中
心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD120
は、実座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、
実座標系内においてHMD120の各軸周りの傾きだけ各軸周りにそれぞれ傾けることに
よって新たに得られる3つの方向を、HMD120におけるuvw視野座標系のピッチ軸
(u軸)、ヨー軸(v軸)、およびロール軸(w軸)として設定する。
ある局面において、HMD120を装着したユーザ5が直立し、かつ、正面を視認して
いる場合、プロセッサ210は、実座標系に平行なuvw視野座標系をHMD120に設
定する。この場合、実座標系における水平方向(x軸)、鉛直方向(y軸)、および前後
方向(z軸)は、HMD120におけるuvw視野座標系のピッチ軸(u軸)、ヨー軸(
v軸)、およびロール軸(w軸)に一致する。
uvw視野座標系がHMD120に設定された後、HMDセンサ410は、HMD12
0の動きに基づいて、設定されたuvw視野座標系におけるHMD120の傾きを検出で
きる。この場合、HMDセンサ410は、HMD120の傾きとして、uvw視野座標系
におけるHMD120のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)を
それぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ軸周りのHM
D120の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー軸周りの
HMD120の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール
軸周りのHMD120の傾き角度を表す。
HMDセンサ410は、検出されたHMD120の傾きに基づいて、HMD120が動
いた後のHMD120におけるuvw視野座標系を、HMD120に設定する。HMD1
20と、HMD120のuvw視野座標系との関係は、HMD120の位置および傾きに
関わらず、常に一定である。HMD120の位置および傾きが変わると、当該位置および
傾きの変化に連動して、実座標系におけるHMD120のuvw視野座標系の位置および
傾きが変化する。
ある局面において、HMDセンサ410は、赤外線センサからの出力に基づいて取得さ
れる赤外線の光強度および複数の点間の相対的な位置関係(例えば、各点間の距離など)
に基づいて、HMD120の現実空間内における位置を、HMDセンサ410に対する相
対位置として特定してもよい。プロセッサ210は、特定された相対位置に基づいて、現
実空間内(実座標系)におけるHMD120のuvw視野座標系の原点を決定してもよい
[仮想空間]
図4を参照して、仮想空間についてさらに説明する。図4は、ある実施の形態に従う仮
想空間11を表現する一態様を概念的に表す図である。仮想空間11は、中心12の36
0度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、
仮想空間11のうちの上半分の天球が例示されている。仮想空間11では各メッシュが規
定される。各メッシュの位置は、仮想空間11に規定されるグローバル座標系であるXY
Z座標系における座標値として予め規定されている。コンピュータ200は、仮想空間1
1に展開可能なパノラマ画像13(静止画、動画等)を構成する各部分画像を、仮想空間
11において対応する各メッシュにそれぞれ対応付ける。
ある局面において、仮想空間11では、中心12を原点とするXYZ座標系が規定され
る。XYZ座標系は、例えば、実座標系に平行である。XYZ座標系における水平方向、
鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される
。したがって、XYZ座標系のX軸(水平方向)が実座標系のx軸と平行であり、XYZ
座標系のY軸(鉛直方向)が実座標系のy軸と平行であり、XYZ座標系のZ軸(前後方
向)が実座標系のz軸と平行である。
HMD120の起動時、すなわちHMD120の初期状態において、仮想カメラ14が
、仮想空間11の中心12に配置される。ある局面において、プロセッサ210は、仮想
カメラ14が撮影する画像をHMD120のモニタ130に表示する。仮想カメラ14は
、現実空間におけるHMD120の動きに連動して、仮想空間11を同様に移動する。こ
れにより、現実空間におけるHMD120の位置および傾きの変化が、仮想空間11にお
いて同様に再現され得る。
仮想カメラ14には、HMD120の場合と同様に、uvw視野座標系が規定される。
仮想空間11における仮想カメラ14のuvw視野座標系は、現実空間(実座標系)にお
けるHMD120のuvw視野座標系に連動するように規定されている。したがって、H
MD120の傾きが変化すると、それに応じて、仮想カメラ14の傾きも変化する。仮想
カメラ14は、HMD120を装着したユーザ5の現実空間における移動に連動して、仮
想空間11において移動することもできる。
コンピュータ200のプロセッサ210は、仮想カメラ14の位置と傾き(基準視線1
6)とに基づいて、仮想空間11における視界領域15を規定する。視界領域15は、仮
想空間11のうち、HMD120を装着したユーザ5が視認する領域に対応する。つまり
、仮想カメラ14の位置は、仮想空間11におけるユーザ5の視点と言える。
注視センサ140によって検出されるユーザ5の視線は、ユーザ5が物体を視認する際
の視点座標系における方向である。HMD120のuvw視野座標系は、ユーザ5がモニ
タ130を視認する際の視点座標系に等しい。仮想カメラ14のuvw視野座標系は、H
MD120のuvw視野座標系に連動している。したがって、ある局面に従うHMDシス
テム100は、注視センサ140によって検出されたユーザ5の視線を、仮想カメラ14
のuvw視野座標系におけるユーザ5の視線とみなすことができる。
[ユーザの視線]
図5を参照して、ユーザ5の視線の決定について説明する。図5は、ある実施の形態に
従うHMD120を装着するユーザ5の頭部を上から表した図である。
ある局面において、注視センサ140は、ユーザ5の右目および左目の各視線を検出す
る。ある局面において、ユーザ5が近くを見ている場合、注視センサ140は、視線R1
およびL1を検出する。別の局面において、ユーザ5が遠くを見ている場合、注視センサ
140は、視線R2およびL2を検出する。この場合、ロール軸wに対して視線R2およ
びL2が成す角度は、ロール軸wに対して視線R1およびL1が成す角度よりも小さい。
注視センサ140は、検出結果をコンピュータ200に送信する。
コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視セ
ンサ140から受信した場合には、その検出値に基づいて、視線R1およびL1の交点で
ある注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値
を注視センサ140から受信した場合には、視線R2およびL2の交点を注視点として特
定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザ5の視線N
0を特定する。コンピュータ200は、例えば、ユーザ5の右目Rと左目Lとを結ぶ直線
の中点と、注視点N1とを通る直線の延びる方向を、視線N0として検出する。視線N0
は、ユーザ5が両目により実際に視線を向けている方向である。視線N0は、視界領域1
5に対してユーザ5が実際に視線を向けている方向に相当する。
別の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えて
もよい。このような構成によれば、HMDシステム100は、仮想空間11においてテレ
ビ番組を表示することができる。
さらに別の局面において、HMDシステム100は、インターネットに接続するための
通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
[視界領域]
図6および図7を参照して、視界領域15について説明する。図6は、仮想空間11に
おいて視界領域15をX方向から見たYZ断面を表す図である。図7は、仮想空間11に
おいて視界領域15をY方向から見たXZ断面を表す図である。
図6に示されるように、YZ断面における視界領域15は、領域18を含む。領域18
は、仮想カメラ14の位置と基準視線16と仮想空間11のYZ断面とによって定義され
る。プロセッサ210は、仮想空間における基準視線16を中心として極角αを含む範囲
を、領域18として規定する。
図7に示されるように、XZ断面における視界領域15は、領域19を含む。領域19
は、仮想カメラ14の位置と基準視線16と仮想空間11のXZ断面とによって定義され
る。プロセッサ210は、仮想空間11における基準視線16を中心とした方位角βを含
む範囲を、領域19として規定する。極角αおよびβは、仮想カメラ14の位置と仮想カメラ14の傾き(向き)とに応じて定まる。
ある局面において、HMDシステム100は、コンピュータ200からの信号に基づい
て、視界画像17をモニタ130に表示させることにより、ユーザ5に仮想空間11にお
ける視界を提供する。視界画像17は、パノラマ画像13のうち視界領域15に対応する
部分に相当する画像である。ユーザ5が、頭部に装着したHMD120を動かすと、その
動きに連動して仮想カメラ14も動く。その結果、仮想空間11における視界領域15の
位置が変化する。これにより、モニタ130に表示される視界画像17は、パノラマ画像
13のうち、仮想空間11においてユーザ5が向いた方向の視界領域15に重畳する画像
に更新される。ユーザ5は、仮想空間11における所望の方向を視認することができる。
このように、仮想カメラ14の傾きは仮想空間11におけるユーザ5の視線(基準視線
16)に相当し、仮想カメラ14が配置される位置は、仮想空間11におけるユーザ5の
視点に相当する。したがって、仮想カメラ14の位置または傾きを変更することにより、
モニタ130に表示される画像が更新され、ユーザ5の視界が移動される。
ユーザ5は、HMD120を装着している間、現実世界を視認することなく、仮想空間
11に展開されるパノラマ画像13のみを視認できる。そのため、HMDシステム100
は、仮想空間11への高い没入感覚をユーザ5に与えることができる。
ある局面において、プロセッサ210は、HMD120を装着したユーザ5の現実空間
における移動に連動して、仮想空間11において仮想カメラ14を移動し得る。この場合
、プロセッサ210は、仮想空間11における仮想カメラ14の位置および傾きに基づい
て、HMD120のモニタ130に投影される画像領域(視界領域15)を特定する。
ある局面において、仮想カメラ14は、2つの仮想カメラ、すなわち、右目用の画像を
提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含み得る。
ユーザ5が3次元の仮想空間11を認識できるように、適切な視差が、2つの仮想カメラ
に設定される。別の局面において、仮想カメラ14を1つの仮想カメラにより実現しても
よい。この場合、1つの仮想カメラにより得られた画像から、右目用の画像と左目用の画
像とを生成するようにしてもよい。本実施の形態においては、仮想カメラ14が2つの仮
想カメラを含み、2つの仮想カメラのロール軸が合成されることによって生成されるロー
ル軸(w)がHMD120のロール軸(w)に適合されるように構成されているものとし
て、本開示に係る技術思想を例示する。
[コントローラ]
図8を参照して、コントローラ300の一例について説明する。図8は、ある実施の形
態に従うコントローラ300の概略構成を表す図である。
図8に示されるように、ある局面において、コントローラ300は、右コントローラ3
00Rと図示せぬ左コントローラとを含み得る。右コントローラ300Rは、ユーザ5の
右手で操作される。左コントローラは、ユーザ5の左手で操作される。ある局面において
、右コントローラ300Rと左コントローラとは、別個の装置として対称に構成される。
したがって、ユーザ5は、右コントローラ300Rを把持した右手と、左コントローラを
把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ
300は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コント
ローラ300Rについて説明する。
右コントローラ300Rは、グリップ310と、フレーム320と、天面330とを備
える。グリップ310は、ユーザ5の右手によって把持されるように構成されている。た
とえば、グリップ310は、ユーザ5の右手の掌と3本の指(中指、薬指、小指)とによ
って保持され得る。
グリップ310は、ボタン340,350と、モーションセンサ420とを含む。ボタ
ン340は、グリップ310の側面に配置され、右手の中指による操作を受け付ける。ボ
タン350は、グリップ310の前面に配置され、右手の人差し指による操作を受け付け
る。ある局面において、ボタン340,350は、トリガー式のボタンとして構成される
。モーションセンサ420は、グリップ310の筐体に内蔵されている。ユーザ5の動作
がカメラその他の装置によってユーザ5の周りから検出可能である場合には、グリップ3
10は、モーションセンサ420を備えなくてもよい。
フレーム320は、その円周方向に沿って配置された複数の赤外線LED360を含む
。赤外線LED360は、コントローラ300を使用するプログラムの実行中に、当該プ
ログラムの進行に合わせて赤外線を発光する。赤外線LED360から発せられた赤外線
は、右コントローラ300Rと左コントローラとの各位置や姿勢(傾き、向き)を検出す
るために使用され得る。図8に示される例では、二列に配置された赤外線LED360が
示されているが、配列の数は図8に示されるものに限られない。一列あるいは3列以上の
配列が使用されてもよい。
天面330は、ボタン370,380と、アナログスティック390とを備える。ボタ
ン370,380は、プッシュ式ボタンとして構成される。ボタン370,380は、ユ
ーザ5の右手の親指による操作を受け付ける。アナログスティック390は、ある局面に
おいて、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける
。当該操作は、たとえば、仮想空間11に配置されるオブジェクトを移動するための操作
を含む。
ある局面において、右コントローラ300Rおよび左コントローラは、赤外線LED3
60その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型な
どを含むが、これらに限定されない。別の局面において、右コントローラ300Rと左コ
ントローラは、たとえば、コンピュータ200のUSBインターフェースに接続され得る
。この場合、右コントローラ300Rおよび左コントローラは、電池を必要としない。
図8の状態(A)および状態(B)に示されるように、例えば、ユーザ5の右手に対し
て、ヨー、ロール、ピッチの各方向が規定される。ユーザ5が親指と人差し指とを伸ばし
た場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向
の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向として規定
される。
[サーバのハードウェア構成]
図9を参照して、本実施の形態に係るサーバ600について説明する。図9は、ある実
施の形態に従うサーバ600のハードウェア構成の一例を表すブロック図である。サーバ
600は、主たる構成要素として、プロセッサ610と、メモリ620と、ストレージ6
30と、入出力インターフェイス640と、通信インターフェイス650とを備える。各
構成要素は、それぞれ、バス660に接続されている。
プロセッサ610は、サーバ600に与えられる信号に基づいて、あるいは、予め定め
られた条件が成立したことに基づいて、メモリ620またはストレージ630に格納され
ているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ61
0は、CPU、GPU、MPU、FPGAその他のデバイスとして実現される。
メモリ620は、プログラムおよびデータを一時的に保存する。プログラムは、例えば
、ストレージ630からロードされる。データは、サーバ600に入力されたデータと、
プロセッサ610によって生成されたデータとを含む。ある局面において、メモリ620
は、RAMその他の揮発メモリとして実現される。
ストレージ630は、プログラムおよびデータを永続的に保持する。ストレージ630
は、例えば、ROM、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置
として実現される。ストレージ630に格納されるプログラムは、HMDシステム100
において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプ
ログラム、ユーザ認証プログラム、コンピュータ200との通信を実現するためのプログ
ラムを含んでもよい。ストレージ630に格納されるデータは、仮想空間を規定するため
のデータおよびオブジェクト等を含んでもよい。
別の局面において、ストレージ630は、メモリカードのように着脱可能な記憶装置と
して実現されてもよい。さらに別の局面において、サーバ600に内蔵されたストレージ
630の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する
構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のよ
うに複数のHMDシステム100が使用される場面において、プログラムやデータの更新
を一括して行なうことが可能になる。
入出力インターフェイス640は、入出力機器との間で信号を通信する。ある局面にお
いて、入出力インターフェイス640は、USB、DVI、HDMIその他の端子を用い
て実現される。入出力インターフェイス640は上述のものに限られない。
通信インターフェイス650は、ネットワーク2に接続されて、ネットワーク2に接続
されているコンピュータ200と通信する。ある局面において、通信インターフェイス6
50は、例えば、LANその他の有線通信インターフェイス、あるいは、WiFi、Bl
uetooth、NFCその他の無線通信インターフェイスとして実現される。通信イン
ターフェイス650は上述のものに限られない。
ある局面において、プロセッサ610は、ストレージ630にアクセスし、ストレージ
630に格納されている1つ以上のプログラムをメモリ620にロードし、当該プログラ
ムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、サーバ600のオペ
レーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空
間で実行可能なゲームソフトウェア等を含み得る。プロセッサ610は、入出力インター
フェイス640を介して、仮想空間を提供するための信号をコンピュータ200に送って
もよい。
[HMDの制御装置]
図10を参照して、HMD120の制御装置について説明する。ある実施の形態におい
て、制御装置は周知の構成を有するコンピュータ200によって実現される。図10は、
ある実施の形態に従うコンピュータ200をモジュール構成として表わすブロック図であ
る。
図10に示されるように、コンピュータ200は、コントロールモジュール510と、
レンダリングモジュール520と、メモリモジュール530と、通信制御モジュール54
0とを備える。ある局面において、コントロールモジュール510とレンダリングモジュ
ール520とは、プロセッサ210によって実現される。別の局面において、複数のプロ
セッサ210がコントロールモジュール510とレンダリングモジュール520として作
動してもよい。メモリモジュール530は、メモリ220またはストレージ230によっ
て実現される。通信制御モジュール540は、通信インターフェイス250によって実現
される。
コントロールモジュール510は、ユーザ5に提供される仮想空間11を制御する。コ
ントロールモジュール510は、仮想空間11を表す仮想空間データを用いて、HMDシ
ステム100における仮想空間11を規定する。仮想空間データは、例えば、メモリモジ
ュール530に記憶されている。コントロールモジュール510が、仮想空間データを生
成したり、サーバ600などから仮想空間データを取得するようにしたりしてもよい。
コントロールモジュール510は、オブジェクトを表すオブジェクトデータを用いて、
仮想空間11にオブジェクトを配置する。オブジェクトデータは、例えば、メモリモジュ
ール530に記憶されている。コントロールモジュール510が、オブジェクトデータを
生成したり、サーバ600などからオブジェクトデータを取得するようにしたりしてもよ
い。オブジェクトは、例えば、ユーザ5の分身であるアバターオブジェクト、キャラクタ
オブジェクト、コントローラ300によって操作される仮想手などの操作オブジェクト、
ゲームのストーリーの進行に従って配置される森、山その他を含む風景、街並み、動物等
を含み得る。
コントロールモジュール510は、ネットワーク2を介して接続される他のコンピュー
タ200のユーザ5のアバターオブジェクトを仮想空間11に配置する。ある局面におい
て、コントロールモジュール510は、ユーザ5のアバターオブジェクトを仮想空間11
に配置する。ある局面において、コントロールモジュール510は、ユーザ5を含む画像
に基づいて、ユーザ5を模したアバターオブジェクトを仮想空間11に配置する。別の局
面において、コントロールモジュール510は、複数種類のアバターオブジェクト(例え
ば、動物を模したオブジェクトや、デフォルメされた人のオブジェクト)の中からユーザ
5による選択を受け付けたアバターオブジェクトを仮想空間11に配置する。
コントロールモジュール510は、HMDセンサ410の出力に基づいてHMD120
の傾きを特定する。別の局面において、コントロールモジュール510は、モーションセ
ンサとして機能するセンサ190の出力に基づいてHMD120の傾きを特定する。コン
トロールモジュール510は、第1カメラ150および第2カメラ160が生成するユー
ザ5の顔の画像から、ユーザ5の顔を構成する器官(例えば、口,目,眉)を検出する。
コントロールモジュール510は、検出した各器官の動き(形状)を検出する。
コントロールモジュール510は、注視センサ140からの信号に基づいて、ユーザ5
の仮想空間11における視線を検出する。コントロールモジュール510は、検出したユ
ーザ5の視線と仮想空間11の天球とが交わる視点位置(XYZ座標系における座標値)
を検出する。より具体的には、コントロールモジュール510は、uvw座標系で規定さ
れるユーザ5の視線と、仮想カメラ14の位置および傾きとに基づいて、視点位置を検出
する。コントロールモジュール510は、検出した視点位置をサーバ600に送信する。
別の局面において、コントロールモジュール510は、ユーザ5の視線を表す視線情報を
サーバ600に送信するように構成されてもよい。係る場合、サーバ600が受信した視
線情報に基づいて視点位置を算出し得る。
コントロールモジュール510は、HMDセンサ410が検出するHMD120の動き
をアバターオブジェクトに反映する。例えば、コントロールモジュール510は、HMD
120が傾いたことを検知して、アバターオブジェクトを傾けて配置する。コントロール
モジュール510は、検出した顔器官の動作を、仮想空間11に配置されるアバターオブ
ジェクトの顔に反映させる。コントロールモジュール510は、サーバ600から他のユ
ーザ5の視線情報を受信し、当該他のユーザ5のアバターオブジェクトの視線に反映させ
る。ある局面において、コントロールモジュール510は、コントローラ300の動きを
アバターオブジェクトや操作オブジェクトに反映する。この場合、コントローラ300は
、コントローラ300の動きを検知するためのモーションセンサ、加速度センサ、または
複数の発光素子(例えば、赤外線LED)などを備える。
コントロールモジュール510は、仮想空間11においてユーザ5の操作を受け付ける
ための操作オブジェクトを仮想空間11に配置する。ユーザ5は、操作オブジェクトを操
作することにより、例えば、仮想空間11に配置されるオブジェクトを操作する。ある局
面において、操作オブジェクトは、例えば、ユーザ5の手に相当する仮想手である手オブ
ジェクト等を含み得る。ある局面において、コントロールモジュール510は、モーショ
ンセンサ420の出力に基づいて現実空間におけるユーザ5の手の動きに連動するように
仮想空間11において手オブジェクトを動かす。ある局面において、操作オブジェクトは
、アバターオブジェクトの手の部分に相当し得る。
コントロールモジュール510は、仮想空間11に配置されるオブジェクトのそれぞれ
が、他のオブジェクトと衝突した場合に、当該衝突を検出する。コントロールモジュール
510は、例えば、あるオブジェクトのコリジョンエリアと、別のオブジェクトのコリジ
ョンエリアとが触れたタイミングを検出することができ、当該検出がされたときに、予め
定められた処理を行なう。コントロールモジュール510は、オブジェクトとオブジェク
トとが触れている状態から離れたタイミングを検出することができ、当該検出がされたと
きに、予め定められた処理を行なう。コントロールモジュール510は、オブジェクトと
オブジェクトとが触れている状態であることを検出することができる。例えば、コントロ
ールモジュール510は、操作オブジェクトと、他のオブジェクトとが触れたときに、こ
れら操作オブジェクトと他のオブジェクトとが触れたことを検出して、予め定められた処
理を行なう。
ある局面において、コントロールモジュール510は、HMD120のモニタ130に
おける画像表示を制御する。例えば、コントロールモジュール510は、仮想空間11に
仮想カメラ14を配置する。コントロールモジュール510は、仮想空間11における仮
想カメラ14の位置と、仮想カメラ14の傾き(向き)を制御する。コントロールモジュ
ール510は、HMD120を装着したユーザ5の頭部の傾きと、仮想カメラ14の位置
に応じて、視界領域15を規定する。レンダリングモジュール520は、決定された視界
領域15に基づいて、モニタ130に表示される視界画像17を生成する。レンダリング
モジュール520により生成された視界画像17は、通信制御モジュール540によって
HMD120に出力される。
コントロールモジュール510は、HMD120から、ユーザ5のマイク170を用い
た発話を検出すると、当該発話に対応する音声データの送信対象のコンピュータ200を
特定する。音声データは、コントロールモジュール510によって特定されたコンピュー
タ200に送信される。コントロールモジュール510は、ネットワーク2を介して他の
ユーザのコンピュータ200から音声データを受信すると、当該音声データに対応する音
声(発話)をスピーカ180から出力する。
メモリモジュール530は、コンピュータ200が仮想空間11をユーザ5に提供する
ために使用されるデータを保持している。ある局面において、メモリモジュール530は
、空間情報と、オブジェクト情報と、ユーザ情報とを保持している。
空間情報は、仮想空間11を提供するために規定された1つ以上のテンプレートを保持
している。
オブジェクト情報は、仮想空間11を構成する複数のパノラマ画像13、仮想空間11
にオブジェクトを配置するためのオブジェクトデータを含む。パノラマ画像13は、静止
画像および動画像を含み得る。パノラマ画像13は、非現実空間の画像と現実空間の画像
とを含み得る。非現実空間の画像としては、例えば、コンピュータグラフィックスで生成
された画像が挙げられる。
ユーザ情報は、ユーザ5を識別するユーザIDを保持する。ユーザIDは、例えば、ユ
ーザが使用するコンピュータ200に設定されるIP(Internet Protocol)アドレスま
たはMAC(Media Access Control)アドレスであり得る。別の局面において、ユーザ
IDはユーザによって設定され得る。ユーザ情報は、HMDシステム100の制御装置と
してコンピュータ200を機能させるためのプログラム等を含む。
メモリモジュール530に格納されているデータおよびプログラムは、HMD120の
ユーザ5によって入力される。あるいは、プロセッサ210が、当該コンテンツを提供す
る事業者が運営するコンピュータ(例えば、サーバ600)からプログラムあるいはデー
タをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュー
ル530に格納する。
通信制御モジュール540は、ネットワーク2を介して、サーバ600その他の情報通
信装置と通信し得る。
ある局面において、コントロールモジュール510及びレンダリングモジュール520
は、例えば、ユニティテクノロジーズ社によって提供されるUnity(登録商標)を用
いて実現され得る。別の局面において、コントロールモジュール510及びレンダリング
モジュール520は、各処理を実現する回路素子の組み合わせとしても実現され得る。
コンピュータ200における処理は、ハードウェアと、プロセッサ210により実行さ
れるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクそ
の他のメモリモジュール530に予め格納されている場合がある。ソフトウェアは、CD
−ROMその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、
プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インタ
ーネットその他のネットワークに接続されている情報提供事業者によってダウンロード可
能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディス
ク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは
、通信制御モジュール540を介してサーバ600その他のコンピュータからダウンロー
ドされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ210
によって記憶モジュールから読み出され、実行可能なプログラムの形式でRAMに格納さ
れる。プロセッサ210は、そのプログラムを実行する。
[HMDシステムの制御構造]
図11を参照して、HMDセット110の制御構造について説明する。図11は、ある
実施の形態に従うHMDセット110において実行される処理の一部を表すシーケンスチ
ャートである。
図11に示されるように、ステップS1110において、コンピュータ200のプロセ
ッサ210は、コントロールモジュール510として、仮想空間データを特定し、仮想空
間11を定義する。
ステップS1120において、プロセッサ210は、仮想カメラ14を初期化する。た
とえば、プロセッサ210は、メモリのワーク領域において、仮想カメラ14を仮想空間
11において予め規定された中心12に配置し、仮想カメラ14の視線をユーザ5が向い
ている方向に向ける。
ステップS1130において、プロセッサ210は、レンダリングモジュール520と
して、初期の視界画像を表示するための視界画像データを生成する。生成された視界画像
データは、通信制御モジュール540によってHMD120に出力される。
ステップS1132において、HMD120のモニタ130は、コンピュータ200か
ら受信した視界画像データに基づいて、視界画像を表示する。HMD120を装着したユ
ーザ5は、視界画像を視認すると仮想空間11を認識し得る。
ステップS1134において、HMDセンサ410は、HMD120から発信される複
数の赤外線光に基づいて、HMD120の位置と傾きを検知する。検知結果は、動き検知
データとして、コンピュータ200に出力される。
ステップS1140において、プロセッサ210は、HMD120の動き検知データに
含まれる位置と傾きとに基づいて、HMD120を装着したユーザ5の視界方向を特定す
る。
ステップS1150において、プロセッサ210は、アプリケーションプログラムを実
行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間11にオブジェ
クトを配置する。
ステップS1160において、コントローラ300は、モーションセンサ420から出
力される信号に基づいて、ユーザ5の操作を検出し、その検出された操作を表す検出デー
タをコンピュータ200に出力する。別の局面において、ユーザ5によるコントローラ3
00の操作は、ユーザ5の周囲に配置されたカメラからの画像に基づいて検出されてもよ
い。
ステップS1170において、プロセッサ210は、コントローラ300から取得した
検出データに基づいて、ユーザ5によるコントローラ300の操作を検出する。
ステップS1180において、プロセッサ210は、ユーザ5によるコントローラ30
0の操作に基づく視界画像データを生成する。生成された視界画像データは、通信制御モ
ジュール540によってHMD120に出力される。
ステップS1190において、HMD120は、受信した視界画像データに基づいて視
界画像を更新し、更新後の視界画像をモニタ130に表示する。
[アバターオブジェクト]
図12(A)、(B)を参照して、本実施の形態に従うアバターオブジェクトについて
説明する。以下、HMDセット110A,110Bの各ユーザ5のアバターオブジェクト
を説明する図である。以下、HMDセット110Aのユーザをユーザ5A、HMDセット
110Bのユーザをユーザ5B、HMDセット110Cのユーザをユーザ5C、HMDセ
ット110Dのユーザをユーザ5Dと表す。HMDセット110Aに関する各構成要素の
参照符号にAが付され、HMDセット110Bに関する各構成要素の参照符号にBが付さ
れ、HMDセット110Cに関する各構成要素の参照符号にCが付され、HMDセット1
10Dに関する各構成要素の参照符号にDが付される。例えば、HMD120Aは、HM
Dセット110Aに含まれる。
図12(A)は、ネットワーク2において、各HMD120がユーザ5に仮想空間11
を提供する状況を表す模式図である。コンピュータ200A〜200Dは、HMD120
A〜120Dを介して、ユーザ5A〜5Dに、仮想空間11A〜11Dをそれぞれ提供す
る。図12(A)に示される例において、仮想空間11Aおよび仮想空間11Bは同じデ
ータによって構成されている。換言すれば、コンピュータ200Aとコンピュータ200
Bとは同じ仮想空間を共有していることになる。仮想空間11Aおよび仮想空間11Bに
は、ユーザ5Aのアバターオブジェクト6Aと、ユーザ5Bのアバターオブジェクト6B
とが存在する。仮想空間11Aにおけるアバターオブジェクト6Aおよび仮想空間11B
におけるアバターオブジェクト6BがそれぞれHMD120を装着しているが、これは説
明を分かりやすくするためのものであって、実際にはこれらのオブジェクトはHMD12
0を装着していない。
ある局面において、プロセッサ210Aは、ユーザ5Aの視界画像17Aを撮影する仮
想カメラ14Aを、アバターオブジェクト6Aの目の位置に配置し得る。
図12(B)は、図12(A)におけるユーザ5Aの視界画像17Aを示す図である。
視界画像17Aは、HMD120Aのモニタ130Aに表示される画像である。この視界
画像17Aは、仮想カメラ14Aにより生成された画像である。視界画像17Aには、ユ
ーザ5Bのアバターオブジェクト6Bが表示されている。特に図示はしていないが、ユー
ザ5Bの視界画像にも同様に、ユーザ5Aのアバターオブジェクト6Aが表示されている
図12(B)の状態において、ユーザ5Aは仮想空間11Aを介してユーザ5Bと対話
による通信(コミュニケーション)を図ることができる。より具体的には、マイク170
Aにより取得されたユーザ5Aの音声は、サーバ600を介してユーザ5BのHMD12
0Bに送信され、HMD120Bに設けられたスピーカ180Bから出力される。ユーザ
5Bの音声は、サーバ600を介してユーザ5AのHMD120Aに送信され、HMD1
20Aに設けられたスピーカ180Aから出力される。
ユーザ5Bの動作(HMD120Bの動作およびコントローラ300Bの動作)は、プ
ロセッサ210Aにより仮想空間11Aに配置されるアバターオブジェクト6Bに反映さ
れる。これにより、ユーザ5Aは、ユーザ5Bの動作を、アバターオブジェクト6Bを通
じて認識できる。
図13は、本実施の形態に従うHMDシステム100において実行される処理の一部を
表すシーケンスチャートである。図13においては、HMDセット110Dを図示してい
ないが、HMDセット110Dについても、HMDセット110A、110B、110C
と同様に動作する。以下の説明でも、HMDセット110Aに関する各構成要素の参照符
号にAが付され、HMDセット110Bに関する各構成要素の参照符号にBが付され、H
MDセット110Cに関する各構成要素の参照符号にCが付され、HMDセット110D
に関する各構成要素の参照符号にDが付されるものとする。
ステップS1310Aにおいて、HMDセット110Aにおけるプロセッサ210Aは
、仮想空間11Aにおけるアバターオブジェクト6Aの動作を決定するためのアバター情
報を取得する。このアバター情報は、例えば、動き情報、フェイストラッキングデータ、
および音声データ等のアバターに関する情報を含む。動き情報は、HMD120Aの位置
および傾きの時間的変化を示す情報や、モーションセンサ420A等により検出されたユ
ーザ5Aの手の動きを示す情報などを含む。フェイストラッキングデータは、ユーザ5A
の顔の各パーツの位置および大きさを特定するデータが挙げられる。フェイストラッキン
グデータは、ユーザ5Aの顔を構成する各器官の動きを示すデータや視線データが挙げら
れる。音声データは、HMD120Aのマイク170Aによって取得されたユーザ5Aの
音声を示すデータが挙げられる。アバター情報には、アバターオブジェクト6A、あるい
はアバターオブジェクト6Aに関連付けられるユーザ5Aを特定する情報や、アバターオ
ブジェクト6Aが存在する仮想空間11Aを特定する情報等が含まれてもよい。アバター
オブジェクト6Aやユーザ5Aを特定する情報としては、ユーザIDが挙げられる。アバ
ターオブジェクト6Aが存在する仮想空間11Aを特定する情報としては、ルームIDが
挙げられる。プロセッサ210Aは、上述のように取得されたアバター情報を、ネットワ
ーク2を介してサーバ600に送信する。
ステップS1310Bにおいて、HMDセット110Bにおけるプロセッサ210Bは
、ステップS1310Aにおける処理と同様に、仮想空間11Bにおけるアバターオブジ
ェクト6Bの動作を決定するためのアバター情報を取得し、サーバ600に送信する。同
様に、ステップS1310Cにおいて、HMDセット110Cにおけるプロセッサ210
Cは、仮想空間11Cにおけるアバターオブジェクト6Cの動作を決定するためのアバタ
ー情報を取得し、サーバ600に送信する。
ステップS1320において、サーバ600は、HMDセット110A、HMDセット
110B、およびHMDセット110Cのそれぞれから受信したプレイヤ情報を一旦記憶
する。サーバ600は、各アバター情報に含まれるユーザIDおよびルームID等に基づ
いて、共通の仮想空間11に関連付けられた全ユーザ(この例では、ユーザ5A〜5C)
のアバター情報を統合する。そして、サーバ600は、予め定められたタイミングで、統
合したアバター情報を当該仮想空間11に関連付けられた全ユーザに送信する。これによ
り、同期処理が実行される。このような同期処理により、HMDセット110A、HMD
セット110B、およびHMDセット110Cは、互いのアバター情報をほぼ同じタイミ
ングで共有することができる。
続いて、サーバ600から各HMDセット110A〜110Cに送信されたアバター情
報に基づいて、各HMDセット110A〜110Cは、ステップS1330A〜S133
0Cの処理を実行する。ステップS1330Aの処理は、図11におけるステップS11
80の処理に相当する。
ステップS1330Aにおいて、HMDセット110Aにおけるプロセッサ210Aは
、仮想空間11Aにおける他のユーザ5B,5Cのアバターオブジェクト6B、アバター
オブジェクト6Cの情報を更新する。具体的には、プロセッサ210Aは、HMDセット
110Bから送信されたアバター情報に含まれる動き情報に基づいて、仮想空間11にお
けるアバターオブジェクト6Bの位置および向き等を更新する。例えば、プロセッサ21
0Aは、メモリモジュール530に格納されたオブジェクト情報に含まれるアバターオブ
ジェクト6Bの情報(位置および向き等)を更新する。同様に、プロセッサ210Aは、
HMDセット110Cから送信されたアバター情報に含まれる動き情報に基づいて、仮想
空間11におけるアバターオブジェクト6Cの情報(位置および向き等)を更新する。
ステップS1330Bにおいて、HMDセット110Bにおけるプロセッサ210Bは
、ステップS1330Aにおける処理と同様に、仮想空間11Bにおけるユーザ5A,5
Cのアバターオブジェクト6A,6Cの情報を更新する。同様に、ステップS1330C
において、HMDセット110Cにおけるプロセッサ210Cは、仮想空間11Cにおけ
るユーザ5A,5Bのアバターオブジェクト6A,6Bの情報を更新する。
[モジュールの詳細構成]
図14を参照して、コンピュータ200のモジュール構成の詳細について説明する。図
14は、ある実施の形態に従うコンピュータ200のモジュールの詳細構成を表わすブロ
ック図である。図14に示されるように、コントロールモジュール510は、仮想オブジ
ェクト生成モジュール1421、仮想カメラ制御モジュール1422、操作オブジェクト
制御モジュール1423、アバターオブジェクト制御モジュール1424、動き検出モジ
ュール1425、衝突検出モジュール1426、仮想オブジェクト制御モジュール142
7、課金処理モジュール1428、および決済処理モジュール1429を備えている。
仮想オブジェクト生成モジュール1421は、各種の仮想オブジェクトを仮想空間11
に生成する。ある局面において、仮想オブジェクトは、例えば、ゲームのストーリーの進
行に従って配置される森、山その他を含む風景、動物等を含み得る。ある局面において、
仮想オブジェクトは、アバターオブジェクト、操作オブジェクト、およびステージオブジ
ェクト、UI(User Interface)オブジェクトを含み得る。
仮想カメラ制御モジュール1422は、仮想空間11における仮想カメラ14の挙動を
制御する。仮想カメラ制御モジュール1422は、例えば、仮想空間11における仮想カ
メラ14の配置位置と、仮想カメラ14の向き(傾き)とを制御する。
操作オブジェクト制御モジュール1423は、仮想空間11においてユーザ5の操作を
受け付けるための操作オブジェクトを制御する。ユーザ5は、操作オブジェクトを操作す
ることによって、例えば、仮想空間11に配置される仮想オブジェクトを操作する。ある
局面において、操作オブジェクトは、例えば、HMD120を装着したユーザ5の手に相
当する手オブジェクト(仮想手)等を含み得る。ある局面において、操作オブジェクトは
、後述するアバターオブジェクトの手の部分に相当し得る。
アバターオブジェクト制御モジュール1424は、HMDセンサ410が検出するHM
D120の動きをアバターオブジェクトに反映する。例えば、アバターオブジェクト制御
モジュール1424は、HMD120が傾いたことを検知して、アバターオブジェクトを
傾けて配置するためのデータを生成する。ある局面において、アバターオブジェクト制御
モジュール1424は、コントローラ300の動きをアバターオブジェクトに反映する。
この場合、コントローラ300は、コントローラ300の動きを検知するためのモーショ
ンセンサ、加速度センサ、または複数の発光素子(例えば、赤外線LED)などを備える
。アバターオブジェクト制御モジュール1424は、動き検出モジュール1425が検出
した顔器官の動作を、仮想空間11に配置されるアバターオブジェクトの顔に反映させる
。つまり、アバターオブジェクト制御モジュール1424は、ユーザ5の顔の動作をアバ
ターオブジェクトに反映する。
動き検出モジュール1425は、ユーザ5の動きを検出する。動き検出モジュール14
25は、例えば、コントローラ300の出力に応じて、ユーザ5の手の動きを検出する。
動き検出モジュール1425は、例えば、ユーザ5の身体に装着されるモーションセンサ
の出力に応じて、ユーザ5の身体の動きを検出する。動き検出モジュール1425は、ユ
ーザ5の顔器官の動作を検出することもできる。
衝突検出モジュール1426は、仮想空間11に配置される仮想オブジェクトのそれぞ
れが、他の仮想オブジェクトと衝突した場合に、当該衝突を検出する。衝突検出モジュー
ル1426は、例えば、ある仮想オブジェクトと、別の仮想オブジェクトとが触れたタイ
ミングを検出することができる。衝突検出モジュール1426は、ある仮想オブジェクト
と他の仮想オブジェクトとが触れている状態から離れたタイミングを検出することができ
る。衝突検出モジュール1426は、ある仮想オブジェクトと他の仮想オブジェクトとが
触れている状態であることを検出することもできる。衝突検出モジュール1426は、例
えば、操作オブジェクトと、他の仮想オブジェクトとが触れたときに、これら操作オブジ
ェクトと他のオブジェクトとが触れたことを検出する。衝突検出モジュール1426は、
これらの検出結果に基づいて、予め定められた処理を実行する。
仮想オブジェクト制御モジュール1427は、仮想空間11において、アバターオブジ
ェクトを除く仮想オブジェクトの挙動を制御する。一例として、仮想オブジェクト制御モ
ジュール1427は、仮想オブジェクトを変形させる。別の例として、仮想オブジェクト
制御モジュール1427は、仮想オブジェクトの配置位置を変更する。別の例として、仮
想オブジェクト制御モジュール1427は、仮想オブジェクトを移動させる。
課金処理モジュール1428は、課金に関する処理を実行する。
決済処理モジュール1429は、決済に関する処理を実行する。
[視聴者の仮想空間]
図15は、ある実施の形態に従う仮想空間11Aおよび視界画像1517Aを示す図で
ある。図15(A)では、ユーザ5A(第1ユーザ)に仮想体験を提供するための仮想空
間11Aに、アバターオブジェクト6A〜6D、仮想カメラ14A、およびステージオブ
ジェクト1532が少なくとも配置される。ユーザ5Aは、頭部にHMD120Aを装着
している。ユーザ5Aは、ユーザ5Aの身体の右側の一部を構成する右手(第1部位)で
右コントローラ300RAを把持し、ユーザ5Aの身体の左側の一部を構成する左手(第
2部位)で左コントローラ300LAを把持している。アバターオブジェクト6A(第1
アバター)は、仮想右手1531RAおよび仮想左手1531LAを含む。仮想右手15
31RAは操作オブジェクトの一種であり、ユーザ5Aの右手の動きに応じて仮想空間1
1Aにおいて動くことができる。仮想左手1531LAは操作オブジェクトの一種であり
、ユーザ5Aの左手の動きに応じて仮想空間11Aにおいて動くことができる。
図15(A)に示す仮想空間11Aは、コンピュータ200Aにおいてライブコンテン
ツが再生されることによって、構築される。仮想空間11Aにおいて、アバターオブジェ
クト6Bは、ライブの演者としてパフォーマンスを実行し、アバターオブジェクト6Aを
含む他のアバターオブジェクトは、ライブの視聴者としてパフォーマンスを視聴する。仮
想空間11Aにおいて、アバターオブジェクト6A〜6Dは、それぞれ、ユーザ5A〜5
Dに個別に関連付けられている。
仮想空間11Aにおいて、アバターオブジェクト6B(第2アバター)は、ステージオ
ブジェクト1532上に配置される。ステージオブジェクト1532は、現実のライブ会
場におけるステージを模した外観を有している。アバターオブジェクト6A、6C、およ
び6Dは、いずれも、ステージオブジェクト1532の手前に配置される。仮想空間11
Aにおいて、アバターオブジェクト6Bは、ユーザ5B(第2ユーザ)の動きに応じて動
くことによって、ライブのパフォーマンスを実行する。仮想空間11Aにおいて、アバタ
ーオブジェクト6Aは、アバターオブジェクト6Bによるパフォーマンスを視聴する。こ
のとき、ユーザ5Cに提供される仮想空間11Cにおいて、アバターオブジェクト6Cは
、アバターオブジェクト6Bによって実行されたパフォーマンスを視聴する。同様に、ユ
ーザ5Dに提供される仮想空間11Dにおいて、アバターオブジェクト6Dは、アバター
オブジェクト6Bによって実行されたパフォーマンスを視聴する。したがって、ユーザ5
Bが演者であり、かつ、ユーザ5A、5C、および5Dが視聴者であるとも言える。
図15(A)において、仮想カメラ14Aは、アバターオブジェクト6Aの頭部に配置
される。仮想カメラ14Aは、仮想カメラ14Aの位置および向きに応じた視界領域15
Aを規定する。仮想カメラ14Aは、視界領域15Aに対応する視界画像1517Aを生
成して、図15(B)に示すようにHMD120Aに表示させる。ユーザ5Aは、視界画
像1517Aを視認することによって、アバターオブジェクト6Aの視点で仮想空間の一
部を視認する。これにより、ユーザ5Aは、あたかもユーザ5A自身がアバターオブジェ
クト6Aであるかのような仮想体験を、得ることができる。視界画像1517Aには、パ
フォーマンスを実行するアバターオブジェクト6Bが含まれる。したがって、ユーザ5A
は、アバターオブジェクト6Bによるパフォーマンスを、アバターオブジェクト6Aの視
点で視聴することができる。
仮想空間11Aには、異なる複数のアバターオブジェクト6Bが配置されることもでき
る。ある局面では、複数のアバターオブジェクト6Bにそれぞれ異なるユーザ5が関連付
けられる。別の局面では、複数のアバターオブジェクト6Bに同一のユーザ5Bが関連付
けられる。
[演者の仮想空間]
図16は、ある実施の形態に従う仮想空間11Bおよび視界画像1617Bを示す図で
ある。図16(A)では、ユーザ5Bに仮想体験を提供するための仮想空間11Bに、ア
バターオブジェクト6A〜6D、仮想カメラ14B、およびステージオブジェクト153
2が少なくとも配置される。ユーザ5Bは、頭部にHMD120Bを装着している。ユー
ザ5Bは、ユーザ5Bの身体の右側の一部を構成する右手(第1部位)で右コントローラ
300RBを把持し、ユーザ5Bの身体の左側の一部を構成する左手(第2部位)で左コ
ントローラ300LBを把持している。
HMD120Bは、モーションセンサとして機能するセンサ190を備える。右コント
ローラ300RBおよび左コントローラ300LBは、モーションセンサ420を備える
。ユーザ5Bは、さらに、モーションセンサ1641〜1643を装着している。モーシ
ョンセンサ1641は、ベルト1644によってユーザ5Bの腰部に装着されている。モ
ーションセンサ1642は、ユーザ5Bの右足の甲に装着されている。モーションセンサ
1643は、ユーザ5Bのユーザ5Bの左足の甲に装着されている。モーションセンサ1
641〜1643は、有線または無線によってコンピュータ200Bに接続されている。
ある局面において、ユーザ5Bに装着されるモーションセンサは、ベースステーション
(図示しない)から照射される信号(例えば赤外線レーザ)の到達時間と角度とを検出す
る。コンピュータ200Bのプロセッサ210B(以下、単にプロセッサ210B)は、
モーションセンサの検出結果に基づいて、ベースステーションに対するモーションセンサ
の位置を検出する。プロセッサ210Bは、さらに、ベースステーションに対するモーシ
ョンセンサの位置を、所定点(例えば頭部に装着されたセンサ190の位置)を基準とし
て規格化してもよい。
アバターオブジェクト6Bは、仮想右手1531RBおよび仮想左手1531LBを含
む。仮想右手1531RBは操作オブジェクトの一種であり、ユーザ5Bの右手の動きに
応じて仮想空間11Bにおいて動くことができる。仮想左手1531LAは操作オブジェ
クトの一種であり、ユーザ5Bの左手の動きに応じて仮想空間11Bにおいて動くことが
できる。
図16(A)に示す仮想空間11Bは、コンピュータ200Bにおいてライブコンテン
ツが再生されることによって、構築される。仮想空間11Aおよび11Bは、サーバ60
0の制御に応じて互いに同期している。ユーザ5Bは、アバターオブジェクト6Bにパフ
ォーマンスを実行させるために、自身の身体を動かす。コンピュータ200Bは、ユーザ
5Bに装着される各種のモーションセンサの出力に基づいて、ユーザ5Bの動きを検出す
る。仮想空間11Bにおいて、アバターオブジェクト6Bは、特定されたユーザ5Bの動
きに応じて、現実空間におけるユーザ5Bの動きが反映されたパフォーマンスを実行する
。仮想空間11Bにおいて、アバターオブジェクト6A、6C、および6Dは、アバター
オブジェクト6Bによるパフォーマンスを視聴する。仮想空間11Bにおいてアバターオ
ブジェクト6Bがユーザ5Bに動きに応じたパフォーマンスを実行すると、それに同期し
て、仮想空間11A、11C、および11Dにおいてもアバターオブジェクト6Bが同じ
パフォーマンスを実行する。このように、ユーザ5Bは、アバターオブジェクト6Bによ
るライブを、ユーザ5A、5C、および5Dにそれぞれ配信する配信者としての役割を有
する。
図16(A)において、仮想カメラ14Bは、アバターオブジェクト6Bの頭部に配置
される。仮想カメラ14Bは、仮想カメラ14Bの位置および向きに応じた視界領域15
Bを規定する。仮想カメラ14Bは、視界領域15Bに対応する視界画像1617Bを生
成して、図16(B)に示すようにHMD120Bに表示させる。ユーザ5Bは、視界画
像1617Bを視認することによって、アバターオブジェクト6Bの視点で仮想空間の一
部を視認する。これにより、ユーザ5Bは、あたかもユーザ5B自身がアバターオブジェ
クト6Bであるかのような仮想体験を、得ることができる。視界画像1617Bには、パ
フォーマンスを視聴するアバターオブジェクト6A、6C、および6Dが含まれる。した
がって、ユーザ5Bは、アバターオブジェクト6Bによるパフォーマンスを視聴するアバ
ターオブジェクト6A、6C、および6Dの様子を、アバターオブジェクト6Bの視点で
把握することができる。
[ライブ配信フロー]
図17は、HMDシステム100において実行される処理の一例を示すシーケンス図で
ある。以下では、仮想空間11Bにおいて行われるアバターオブジェクト6Bのライブを
、コンピュータ200Bからコンピュータ200Aに対して配信するための一連の処理を
説明する。コンピュータ200Cおよび200Dに対しても、同様の一連の処理に基づい
てアバターオブジェクト6Bのライブが配信される。
ステップS1701において、プロセッサ210Bは、ユーザ5Bに装着されたモーシ
ョンセンサから、ユーザ5Bの頭部、腰部、両手、および両足の位置を検出する。以下、
各モーションセンサによって検出されるユーザ5Bの部位の位置を「位置情報」とも言う
。ステップS1702において、プロセッサ210Bは、ユーザ5Bの現在の位置情報と
、予め取得されたユーザ5Bの寸法データとに基づいて、ユーザ5Bの関節の回転方向を
算出する。寸法データは、ユーザ5Bの身体の寸法を表すデータである。寸法データおよ
び回転方向については後述する。現在の位置情報を検出することおよび回転方向を算出す
ること、ユーザ5Bの動きを検出することと同義である。
ステップS1703において、プロセッサ210Bは、現在の位置情報および回転方向
に基づいて、仮想空間11Bに配置されるアバターオブジェクト6Bを動かす。プロセッ
サ210Bは、例えば、右肩の回転方向に基づいて、アバターオブジェクト6Bの右上腕
部を動かす。プロセッサ210Bはさらに、現在の位置情報(例えば現在の腰部の位置情
報)に基づいて、アバターオブジェクト6Bの仮想空間11Bにおける位置を動かす。こ
れにより、プロセッサ210Bは、現実空間のユーザ5Bの動きが仮想空間のアバターオ
ブジェクト6Bに反映させる。言い換えれば、プロセッサ210Bは、アバターオブジェ
クト6Bに、ユーザ5Bの動きに応じたパフォーマンスを実行させる。
ユーザ5Bの動きをアバターオブジェクト6Bに反映させるための処理は、上述した位
置情報および回転方向に応じた処理に限定されない。プロセッサ210Bは、例えば、回
転方向を算出することなく、ユーザ5Bの動きに応じてアバターオブジェクト6Bを動か
すこともできる。プロセッサ210Bは、例えば、ユーザ5Bの身体を構成する各部位の
位置に対応するように、ユーザ5Bの各部位に対応するアバターオブジェクト6Bの各部
位オブジェクトの位置を制御するようにしてもよい。
ステップS1704において、プロセッサ210Bは、パフォーマンスを実行した際の
アバターオブジェクト6Bの動きを表す動き情報を生成し、この動き情報を含むアバター
オブジェクト6Bのアバター情報をサーバ600に送信する。
ステップS1710において、コンピュータ200Aのプロセッサ210A(以下、単
にプロセッサ210A)は、アバターオブジェクト6Aのアバター情報をサーバに送信す
る。ステップS1720において、サーバ600は、仮想空間11Aおよび11Bを同期
するための同期処理を実行する。詳細には、サーバ600は、コンピュータ200Bから
受信したアバターオブジェクト6Bのアバター情報を、コンピュータ200Aに送信する
。サーバ600は、さらに、コンピュータ200Aから受信したアバターオブジェクト6
Aのアバター情報を、コンピュータ200Bに送信する。
ステップS1705において、プロセッサ210Bは、サーバ600から送信されたア
バターオブジェクト6Aのアバター情報を受信する。ステップS1706において、プロ
セッサ210Bは、受信したアバター情報に基づいて、仮想空間11Bにおいてアバター
オブジェクトを制御する。これにより、仮想空間11Aにおけるアバターオブジェクト6
Aの挙動が、仮想空間11Bにおけるアバターオブジェクト6Aに反映される。言い換え
れば、アバターオブジェクト6Aの挙動が、仮想空間11Aおよび11Bにおいて同期さ
れる。例えば、仮想空間11Aにおいてアバターオブジェクト6Aが移動した場合、仮想
空間11Bにおいてもアバターオブジェクト6Aは同様に移動する。
ステップS1711において、プロセッサ210Aは、サーバ600から送信されたア
バターオブジェクト6Bのアバター情報を受信する。ステップS1712において、プロ
セッサ210Aは、受信したアバター情報に含まれる動き情報に基づいて、アバターオブ
ジェクト6Bを動かす。これにより、プロセッサ210Bは、現実空間のユーザ5Bの動
きを、仮想空間11Aに配置されるアバターオブジェクト6Bに反映させる。言い換えれ
ば、プロセッサ210Aは、仮想空間11Aにおいて、アバターオブジェクト6Bにユー
ザ5Bの動きに応じたパフォーマンスを実行させる。これにより、仮想空間11Bにおけ
るアバターオブジェクト6Bの挙動が、仮想空間11Aにおけるアバターオブジェクト6
Bに反映される。言い換えれば、アバターオブジェクト6Bの挙動が、仮想空間11Aお
よび11Bにおいて同期される。例えば、仮想空間11Bにおいてアバターオブジェクト
6Bが第1パフォーマンスを実行した場合、仮想空間11Aにおいてもアバターオブジェ
クト6Bは同様に第1パフォーマンスを実行する。このようにして、仮想空間11Bにお
けるアバターオブジェクト6Bのライブが、仮想空間11Aに配信される。
図示しないが、プロセッサ210Bは、ユーザ5Bが発した音声を、マイク170Bを
用いて録音する。プロセッサ210Bは、ユーザ5Bの音声を表す音声データを生成し、
サーバ600に送信する。サーバ600は、受信したユーザ5Bの音声データを、同期処
理によってコンピュータ200Aに送信する。プロセッサ210Aは、受信したユーザ5
Bの音声データが表す音声を、スピーカ180Aに出力する。これらの一連の処理の結果
、ユーザ5Aは、ライブ中にユーザ5Bが発した音声を、リアルタイムに聴取することが
できる。
[寸法データの取得]
図18は、寸法データの取得方法を説明するための図である。図18(A)は、ユーザ
5Bが、正面を向き、両手を水平に広げ、起立している状態を表す。以下、図18(A)
に示される状態を第1姿勢とも言う。図18(B)は、ユーザ5Bが、正面を向き、両手
を太もも側面に下ろし、起立している状態を表す。以下、図18(B)に示される状態を
第2姿勢とも言う。
ある局面において、プロセッサ210Bは、ユーザ5Bに対し第1姿勢および第2姿勢
をとるように促す。一例として、プロセッサ210Bは、第1姿勢および第2姿勢のキャ
ラクタをモニタ130Bに表示し、同様の姿勢をとる旨のメッセージを表示する。他の例
として、プロセッサ210Bは、第1姿勢および第2姿勢をとる旨の音声をスピーカ18
0Bから出力してもよい。
プロセッサ210Bは、2つの姿勢(第1姿勢と第2姿勢)のそれぞれにおいて、ユー
ザ5Bに装着されたモーションセンサの出力に基づいてユーザ5Bの頭部、腰部、両手、
両足の位置情報を取得する。これら位置情報は、図19に示されるように実座標系(x、
y、z)における位置として取得され得る。
プロセッサ210Bは、2つの姿勢に対応する位置情報からユーザ5Bの寸法データを
算出する。ある実施形態において、プロセッサ210Bは、図20に示されるように、ユ
ーザ5Bの身長、肩幅、腕の長さ、足の長さ、頭部から肩までの高さを寸法データとして
算出する。プロセッサ210Bは、第2姿勢における両手の間隔を肩幅として算出し得る
。プロセッサ210Bは、第1姿勢における両手の間隔から肩幅を差し引いた値の半分を
腕の長さとして算出し得る。プロセッサ210Bは、足の高さから頭部の高さまでの距離
を身長として算出し得る。プロセッサ210Bは、足の高さから腰部の高さまでの距離を
足の長さとして算出し得る。プロセッサ210Bは、第1姿勢における手の高さから頭部
までの高さを、頭部から肩までの高さとして算出し得る。
図21は、寸法データを取得するための処理を表すフローチャートである。ステップS
2110において、プロセッサ210Bは、仮想空間11Bに仮想カメラ14Bを配置す
る。プロセッサ210Bはさらに、仮想カメラ14Bの撮影範囲に対応する視界画像17
Bをモニタ130Bに出力する。
ステップS2120において、プロセッサ210Bは、ユーザ5Bに第1姿勢になるよ
うに指示する。例えば、プロセッサ210Bは、当該指示が記されたオブジェクトを仮想
空間11Bに配置することでステップS2120の処理を実現する。ステップS2130
において、プロセッサ210Bは、第1姿勢に対応する位置情報を取得する。
ステップS2140において、プロセッサ210Bは、ユーザ5Bに第2姿勢になるよ
うに指示する。ステップS2150において、プロセッサ210Bは、第2姿勢に対応す
る位置情報を取得する。
ステップS2160において、プロセッサ210Bは、第1姿勢に対応する位置情報と
第2姿勢に対応する位置情報とから、ユーザ5Bの寸法データを算出する。プロセッサ2
10Bは、寸法データをストレージ230Bに格納する。
以上のように、ユーザ5Bは、2つの姿勢をとるだけで、自身の寸法をコンピュータ2
00Bに容易に入力できる。なお、他の局面において、ユーザ5Bは、自身の寸法をキー
ボード等の入力デバイスを用いてコンピュータ200Bに入力してもよい。
[関節の回転方向]
ある実施形態において、プロセッサ210Bは、ユーザ5Bに装着された6つのモーシ
ョンセンサの出力(位置情報)と、寸法データとに基づいて、ユーザ5Bの関節の回転方
向を推定する。一例として、プロセッサ210Bは、頭部の位置情報と、肩幅と、頭部か
ら肩までの高さとに基づいて、肩の位置を推定する。プロセッサ210Bは、肩の位置と
手の位置情報とから、肘の位置を推定する。この推定は、逆運動学(Inverse Kinematics
)を利用した公知のアプリケーションにより実行され得る。
ある実施形態において、プロセッサ210Bは、6つのモーションセンサから、ユーザ
5Bの首(頭部)、腰、両手首、および両足首の関節の傾き(回転方向)を取得する。加
えて、プロセッサ210Bは、逆運動学に基づいて、両肩、両肘、両股(足のつけ根)、
両膝の関節の回転方向を推定する。図22に示されるように、プロセッサ210Bは、各
関節の回転方向をuvw視野座標系で取得または推定する。
なお、回転方向が位置情報と寸法データとに基づいて算出される場合、プロセッサ21
0Bは、ユーザ5Bが正面を向いていないとき(つまり、頭部と腰部とが異なる方向を向
いているとき)の肩の位置等を正確に推定できない。そこで、他の実施形態において、コ
ンピュータ200Bは、モーションセンサによって検出されるユーザ5Bの部位の傾きを
さらに考慮して関節の回転方向を推定してもよい。例えば、コンピュータ200Bは、頭
部の位置情報と、頭部の傾きと、腰部の傾きと、肩幅と、頭部から肩までの高さとに基づ
いて、肩の位置を推定する。当該構成によれば、コンピュータ200Bは、関節の回転方
向の精度を向上し得る。
[ライブ会場選択処理フロー]
図23は、ある実施の形態に従うHMDセット110Aにおいて実行される処理の一部
を表すシーケンスチャートである。図24は、ある実施の形態に従う第1仮想空間241
1Aおよび視界画像2417Aを示す図である。本実施形態では、ユーザ5Aが仮想ライ
ブを視聴する場所である仮想会場を選択するための一連の処理が、HMDセット110A
により実行されるものとして説明する。ただし、当該処理は、他のHMDセット110B
,110C,110Dにより実行されてもよいし、当該処理の一部または全部がサーバ6
00によって実行されてもよい。
ステップS2301において、プロセッサ210Aは、図24(A)に示すような第1
仮想空間2411Aを定義する。当該処理は、図11のステップS1110の処理に相当
する。具体的には、プロセッサ210Aは、仮想空間データを特定することによって、仮
想空間データによって表される第1仮想空間2411Aを定義する。第1仮想空間241
1Aは、アバターオブジェクト6Bによるライブが開始される前にアバターオブジェクト
6Aが配置される仮想空間である。第1仮想空間2411Aは、ユーザ5Aに、会場を選
択させるための仮想空間でもある。
ステップS2302において、プロセッサ210Aは、仮想オブジェクト生成モジュー
ル1421として、仮想カメラ14Aを生成し、第1仮想空間2411Aに配置する。ス
テップS2303において、プロセッサ210Aは、仮想オブジェクト生成モジュール1
421として、仮想右手1531RAおよび仮想左手1531LAを含むアバターオブジ
ェクト6Aを生成し、第1仮想空間2411Aに配置する。ステップS2304において
、プロセッサ210Aは、仮想オブジェクト生成モジュール1421として、UIパネル
2450およびペンオブジェクト2453を生成し、第1仮想空間2411Aに配置する
UIパネル2450はUIオブジェクトの一種であり、会場を選択するための処理をプ
ロセッサ210Aに実行させるために、ユーザ5Aによって用いられる。UIパネル24
50は、UIパネル2450の前面に配置される選択肢2451および2452を含む。
選択肢2451および2452は、その選択肢がユーザ5Aによって選択された場合に選
択される会場の名称を説明する情報を含む。選択肢2451は、第1会場を選択するため
の項目であり、選択肢2452は、第1会場とは異なる第2会場を選択するための項目で
ある。ペンオブジェクト2453は、仮想オブジェクトの一種であり、UIパネル245
0の選択肢2451または2452を選択するために、仮想右手1531RAまたは仮想
左手1531LAによって把持されかつ使用される。
ステップS2305において、プロセッサ210Aは、仮想カメラ制御モジュール14
22として、HMD120Aの動きに応じて第1仮想空間2411Aにおける仮想カメラ
14Aの位置および傾きを決定する。より詳細には、プロセッサ210Aは、ユーザ5A
の頭部の姿勢と、第1仮想空間2411Aにおける仮想カメラ14Aの位置とに応じて、
第1仮想空間2411Aにおける仮想カメラ14Aからの視界である視界領域15Aを制
御する。当該処理は、図11のステップS1140の処理の一部に相当する。仮想カメラ
14Aがアバターオブジェクト6Aと同一の位置に配置されるので、仮想カメラ14Aの
位置は、アバターオブジェクト6Aの位置と同義である。さらに、仮想カメラ14Aから
の視界は、アバターオブジェクト6Aからの視界と同義である。
ステップS2306において、プロセッサ210Aは、視界画像17Aをモニタ130
Aに表示する。具体的には、プロセッサ210Aは、HMD120Aの動き(すなわち仮
想カメラ14Aの位置および傾き)と、第1仮想空間2411Aを定義する仮想空間デー
タと、に基づいて、視界領域15Aに対応する視界画像17Aを定義する。視界画像17
Aを定義することは、視界画像17Aを生成することと同義である。プロセッサ210A
は、さらに、HMD120Aのモニタ130Aに視界画像17Aを出力することによって
、視界画像17AをHMD120Aに表示させる。当該処理は、図11のステップS11
80およびS1190の処理に相当する。
プロセッサ210Aは、例えば、図24(A)に示す第1仮想空間2411Aに対応す
る視界画像2417Aを、図24(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像2417Aを視認することによって、UIパネル2450の選択肢24
51または選択肢2452を選択する必要があることを認識する。
上述したステップS2305およびS2306の処理(すなわち、HMD120Aの動
きに応じた視界画像17Aの更新)は、後述するステップS2307〜S2310が実行
される間にも、継続して繰り返し実行される。
ステップS2307において、プロセッサ210Aは、動き検出モジュール1425と
して、右コントローラ300RAの出力に基づいて、ユーザ5Aの右手の動きを検出する
。ステップS2308において、プロセッサ210Aは、操作オブジェクト制御モジュー
ル1423として、検出されたユーザ5Aの右手の動きに応じて、第1仮想空間2411
Aにおいて仮想右手1531RAを動かす。ある局面において、プロセッサ210Aは、
ユーザ5Aの右手の動きに応じて、ペンオブジェクト2453に仮想右手1531RAを
近づけるように、第1仮想空間2411Aにおいて仮想右手1531RAを動かす。プロ
セッサ210Aは、仮想右手1531RAがペンオブジェクト2453に十分に近づいた
後、ユーザ5Aの右手の動きに基づいて、仮想右手1531RAでペンオブジェクト24
53を選択する(掴む)。ユーザ5Aの右手の動きとしては、例えば、右コントローラ3
00RAのいずれかのボタンを押下する動きが挙げられる。これにより、仮想右手153
1RAでペンオブジェクト2453が把持される。
図25は、ある実施の形態に従う第1仮想空間2411Aおよび視界画像2517Aを
示す図である。図25(A)に示すように、プロセッサ210Aは、仮想右手1531R
Aがペンオブジェクト2453を選択した後、ユーザ5Aの右手の動きに基づいて、ペン
オブジェクト2453の先端を選択肢2451に近づけるように、第1仮想空間2411
Aにおいて仮想右手1531RAおよびペンオブジェクト2453を動かす。プロセッサ
210Aは、衝突検出モジュール1426として、ペンオブジェクト2453の先端と選
択肢2451とが第1位置関係になった場合、ペンオブジェクト2453の先端と選択肢
2451とが衝突したことを検出する。第1位置関係とは、例えば、ペンオブジェクト2
453の先端と選択肢2451との距離が第1距離を下回ることである。あるいは、ペン
オブジェクト2453の先端に規定されるコリジョンエリアと、選択肢2451に設定さ
れるコリジョンエリアとが少なくとも部分的に衝突することである。プロセッサ210A
は、ペンオブジェクト2453の先端と選択肢2451とが衝突したことに基づいて、ペ
ンオブジェクト2453によって選択肢2451が選択されたことを検出する。ステップ
S2309において、プロセッサ210Aは、選択された選択肢2451に対応する第1
会場の選択を受け付ける。第1会場は、ユーザ5Aがライブを視聴する環境である第2仮
想空間2711Aに対応する仮想会場である。
プロセッサ210Aは、例えば、図25(A)に示す第1仮想空間2411Aに対応す
る視界画像2517Aを、図25(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像2517Aを視認することによって、UIパネル2450の選択肢24
51を選択したこと(すなわち第1会場を選択したこと)を認識する。
ステップS2310において、プロセッサ210Aは、アバターオブジェクト制御モジ
ュール1424として、アバターオブジェクト6Aを第1仮想空間2411Aから退出さ
せる。詳細には、プロセッサ210Aは、第1仮想空間2411Aにおけるアバターオブ
ジェクト6Aの配置を終了する。この後、プロセッサ210Aは、第1仮想空間2411
Aの定義を継続する。プロセッサ210Aは、さらに、アバターオブジェクト6Aが配置
されなくなった後も、第1仮想空間2411Aには他の仮想オブジェクトを配置したまま
にする。プロセッサ210Aは、ユーザ5Aに対する第1仮想空間2411Aの提供を中
断する。プロセッサ210Aは、さらに、アバターオブジェクト6Bによるパフォーマン
スをアバターオブジェクト6Aに視聴させるための一連の処理を実行することによって、
第1会場に対応する第2仮想空間2711Aをユーザ5Aに新たに提供する。
会場選択方式は、上述した例に限定されない。プロセッサ210Aは、例えば、会場の
内容を視覚化した球体モデルを第1仮想空間2411Aに配置する。プロセッサ210A
は、この球体モデルが仮想右手1531RAまたは仮想左手1531LAによって選択さ
れた場合も、選択された球体モデルが示す会場に対応する第2仮想空間2711Aをユー
ザ5Aに新たに提供することができる。
[ライブ視聴処理フロー]
図26は、ある実施の形態に従うHMDセット110Aにおいて実行される処理の一部
を表すシーケンスチャートである。図27は、ある実施の形態に従う第2仮想空間271
1Aおよび視界画像2717Aを示す図である。本実施形態では、ライブ視聴を開始する
ための一連の処理が、HMDセット110Aにより実行されるものとして説明する。ただ
し、当該処理は、他のHMDセット110B,110C,110Dにより実行されてもよ
いし、当該処理の一部または全部がサーバ600によって実行されてもよい。
ステップS2601において、プロセッサ210Aは、図27(A)に示すような第2
仮想空間2711Aを定義する。当該処理は、図11のステップS1110の処理に相当
する。具体的には、プロセッサ210Aは、仮想空間データを特定することによって、仮
想空間データによって表される第2仮想空間2711Aを定義する。第2仮想空間271
1Aは、第1仮想空間2411Aとは異なる仮想空間であり、アバターオブジェクト6B
のライブをアバターオブジェクト6Aが視聴する仮想空間である。言い換えれば、第2仮
想空間2711Aは、アバターオブジェクト6Bによるパフォーマンスが行われる仮想空
間である。
ステップS2602において、プロセッサ210Aは、仮想カメラ14Aを生成し、第
2仮想空間2711Aに配置する。ステップS2603において、プロセッサ210Aは
、ステージオブジェクト1532を生成し、第2仮想空間2711Aに配置する。ステッ
プS2604において、プロセッサ210Aは、アバターオブジェクト6Cおよび6Dの
各アバター情報を、サーバ600から受信する。ステップS2605において、プロセッ
サ210Aは、受信した各アバター情報に基づいて、アバターオブジェクト6Cおよび6
Dを第2仮想空間2711Aに配置する。プロセッサ210Aは、さらに、他のアバター
オブジェクト6のアバター情報も受信し、第2仮想空間2711Aに配置する。第2仮想
空間2711Aには、他のアバターオブジェクト6が多数配置されているが、図27では
、説明の便宜のため、その内の1つのみを代表的に図示している。以降、特に必要がない
限り、他のアバターオブジェクト6には言及しない。
ステップS2606において、プロセッサ210Aは、アバターオブジェクト制御モジ
ュール1424として、アバターオブジェクト6Aを第2仮想空間2711Aに入場させ
る。詳細には、プロセッサ210Aは、第1仮想空間2411Aから退出させたアバター
オブジェクト6Aを、第2仮想空間2711Aに配置する。このように、アバターオブジ
ェクト6Aを第2仮想空間2711Aに入場させることは、アバターオブジェクト6Aを
第2仮想空間2711Aに配置することと同義である。図示しないが、プロセッサ210
Aは、任意のタイミングで、アバターオブジェクト6Aのアバター情報を生成し、サーバ
600に送信する。
ステップS2607において、プロセッサ210Aは、仮想オブジェクト生成モジュー
ル1421として、タグオブジェクト2733Aを生成し、アバターオブジェクト6Aに
関連付ける。詳細には、プロセッサ210Aは、タグオブジェクト2733Aをアバター
オブジェクト6Aの仮想左手1531LAに配置する。タグオブジェクト2733Aは、
仮想オブジェクトの一種である。タグオブジェクト2733Aは、第2仮想空間2711
Aにおいてライブを視聴するユーザ5Aに課金される課金額を表す課金情報を管理するた
めの仮想オブジェクトである。
プロセッサ210Aは、ライブ中にユーザ5Aに課金されることが可能な課金額の上限
(以下、上限課金額)を設定する。プロセッサ210Aは、さらに、設定された上限課金
額を表す上限課金情報を、タグオブジェクト2733Aに登録する。プロセッサ210A
は、例えば、タグオブジェクト2733Aを仮想左手1531LAに配置した後、ユーザ
5Aによる上限課金額の入力を受け付け、入力された上限課金額を設定することができる
。プロセッサ210Aは、例えば、ユーザ5BがHMDシステム100にユーザ情報を登
録した際、ユーザ情報に含まれるクレジットカード情報などに基づいて、上限課金額を予
め設定することもできる。プロセッサ210Aは、例えば、ユーザ5Aが過去に視聴した
ライブにおけるユーザの過去の課金額に基づいて、上限課金額を算出することもできる。
プロセッサ210Aは、設定された上限課金額を表す上限課金情報を、タグオブジェクト
2733Aに登録する。
図27(A)では、アバターオブジェクト6Bは第2仮想空間2711Aに配置されて
いない。言い換えれば、第2仮想空間2711Aにおいて、アバターオブジェクト6Bの
ライブがまだ開始されていない。ステップS2608において、プロセッサ210Aは、
仮想カメラ制御モジュール1422として、HMD120Aの動きに応じて第2仮想空間
2711Aにおける仮想カメラ14Aの位置および傾きを決定する。この処理は、ステッ
プS2305における処理と基本的に同一であるため、詳細な説明を繰り返さない。ステ
ップS2609において、プロセッサ210Aは、視界画像17Aをモニタ130Aに表
示する。この処理は、ステップS2306における処理と基本的に同一であるため、詳細
な説明を繰り返さない。
プロセッサ210Aは、例えば、図27(A)に示す第2仮想空間2711Aに対応す
る視界画像2717Aを、図27(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像2717Aを視認することによって、アバターオブジェクト6Aが第2
仮想空間2711Aに入場したことを認識する。ユーザ5Aは、さらに、ステージオブジ
ェクト1532上にアバターオブジェクト6Bが配置されていないので、アバターオブジ
ェクト6Bのライブがまだ開始されていないことを認識する。
図28は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像2817Aを
示す図である。ステップS2610において、プロセッサ210Aは、課金処理モジュー
ル1428として、第2仮想空間2711Aに対応する第1会場の入場料を表す課金情報
を、タグオブジェクト2733Aに登録する。第1会場の入場料は、第2仮想空間271
1Aにおいて行われるライブを視聴するためにユーザ5Aに課金される課金額である。こ
こで登録される課金情報は、アバターオブジェクト6Aが第2仮想空間2711Aに入場
するという行動に応じた課金情報であるとも言える。プロセッサ210Aは、タグオブジ
ェクト2733Aに登録された課金情報を、タグオブジェクト2733A上で視覚化する
。詳細には、プロセッサ210Aは、タグオブジェクト2733Aの表面に、登録された
各課金情報が表す課金額の合計(以下、合計課金額)を表示する。図28(A)では、タ
グオブジェクト2733Aに1つの課金情報が登録されている。この場合、プロセッサ2
10Aは、登録された課金情報が表す課金額(500円)そのものを、合計課金額として
タグオブジェクト2733Aに表示する。プロセッサ210Aは、さらに、上限課金情報
が表す上限課金額(30000円)を、タグオブジェクト2733Aに表示する。
課金情報が登録された後、ユーザ5Aは、腕時計で時間を確認するように、左手を自身
の視界内まで移動させる。プロセッサ210Aは、左コントローラ300LAの出力に基
づいて、ユーザ5Aの左手の動きを検出する。プロセッサ210Aは、ユーザ5Aの左手
の動きに応じて、図28(A)に示すように仮想左手1531LAを視界領域15A内に
移動させる。プロセッサ210Aは、例えば、図28(A)に示す第2仮想空間2711
Aに対応する視界画像2817Aを、図28(B)に示すようにモニタ130Aに表示す
る。ユーザ5Aは、視界画像2817Aを視認することによって、タグオブジェクト27
33Aに表示される上限課金額および合計課金額を、それぞれ確認する。図28(B)の
例では、ユーザは、上限課金額が30000円であり、かつ、現時点での合計課金額が5
00円であることを認識する。言い換えれば、ユーザ5Aは、第2仮想空間2711Aに
アバターオブジェクト6Aが入場した結果、入場料として500円がユーザ5Aに課金さ
れたことを把握する。
[ライブ開始]
図29は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像2917Bを
示す図である。アバターオブジェクト6Aが第2仮想空間2711Aに入場した後、プロ
セッサ210Bは、図29に示す第2仮想空間2711Bを定義する。第2仮想空間27
11Bは、ユーザ5Bに提供され、かつ、第2仮想空間2711Aと同期される仮想空間
である。第2仮想空間2711Bは、アバターオブジェクト6Bによるパフォーマンスが
行われる仮想空間でもある。プロセッサ210Bは、仮想カメラ14B、アバターオブジ
ェクト6B、およびステージオブジェクト1532を第2仮想空間2711Bに配置する
。プロセッサ210Bは、アバターオブジェクト6A、6C、および6Dの各アバター情
報をサーバ600から受信し、これらのアバター情報に基づいて、アバターオブジェクト
6A、6C、および6Dを第2仮想空間2711Bに配置する。
プロセッサ210Bは、例えば、図29(A)に示す第2仮想空間2711Bに対応す
る視界画像2917Bを、図29(B)に示すようにモニタ130Bに表示する。ユーザ
5Bは、視界画像2917Bを視認することによって、ライブの視聴者であるアバターオ
ブジェクト6A、6C、および6Dがステージオブジェクト1532の前にいることを認
識する。ステージオブジェクト1532上にアバターオブジェクト6Bが配置された後、
アバターオブジェクト6Bによるライブが開始される。この後、ユーザ5Bは、自身が動
いたり、音声を発したり、右コントローラ300RBおよび左コントローラ300LBを
操作したりすることによって、第2仮想空間2711Bにおけるアバターオブジェクト6
Bのライブを進行させる。プロセッサ210Bは、ライブの実行中に、アバターオブジェ
クト6Bの動き情報を含むアバター情報を、リアルタイムにサーバ600に送信する。
図30は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3017Aを
示す図である。第2仮想空間2711Bが定義された後、ステップS2611において、
プロセッサ210Aは、アバターオブジェクト6Bのアバター情報をサーバ600からリ
アルタイムに受信する。ステップS2612において、プロセッサ210Aは、最初に受
信したアバターオブジェクト6Bのアバター情報に基づいて、図30(A)に示すように
、アバターオブジェクト6Bを第2仮想空間2711Aに配置する。詳細には、プロセッ
サ210Aは、アバターオブジェクト6Bをステージオブジェクト1532上に配置する
プロセッサ210Aは、例えば、図30(A)に示す第2仮想空間2711Aに対応す
る視界画像3017Aを、図30(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像3017Aを視認することによって、ライブの演者であるアバターオブ
ジェクト6Bがステージオブジェクト1532上に登場したことを認識する。ユーザ5B
は、さらに、アバターオブジェクト6Bによるライブがこれから開始されることを認識す
る。
図31は、ある実施形態に係るユーザ5Bの姿勢の一例を表す図である。ライブの開始
後、ユーザ5Bは、例えば図31に示す姿勢を取るように自身の身体を動かす。図31に
示す姿勢は、第1パフォーマンスに対応する姿勢である。プロセッサ210Bは、図31
に示す姿勢を取った際のユーザ5Bの動きに応じて、第2仮想空間2711Bにおいてア
バターオブジェクト6Bに第1パフォーマンスを実行させる。プロセッサ210Bは、ア
バターオブジェクト6Bが第1パフォーマンスを実行した際のアバターオブジェクト6B
の動き情報を含むアバター情報を、サーバ600にリアルタイムに送信する。
図32は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3217Aを
示す図である。第2仮想空間2711Bにおいてアバターオブジェクト6Bが第1パフォ
ーマンスを実行した後、ステップS2613において、プロセッサ210Aは、アバター
オブジェクト6Bのアバター情報をサーバ600からリアルタイムに受信する。ステップ
S2614において、プロセッサ210Aは、受信したアバター情報に含まれる動き情報
に基づいて、アバターオブジェクト6Bに第1パフォーマンスを実行させる。これにより
、プロセッサ210Aは、図31に示すユーザ5Bの動きに応じて、アバターオブジェク
ト6Bに第1パフォーマンスを実行させることができる。
図31の例では、アバターオブジェクト6Bは、ステージオブジェクト1532上に限
らず、第2仮想空間2711A内の任意に位置に移動して、第1パフォーマンスを実行す
ることができる。また、アバターオブジェクト6Aは、第2仮想空間2711A内の任意
の位置で、アバターオブジェクト6Bによる第1パフォーマンスを視聴することできる。
したがって、第2仮想空間2711A内において第1パフォーマンスが行われる領域(第
1領域)は、第2仮想空間2711Aの全体であると言える。
プロセッサ210Aは、アバターオブジェクト6Bによる第1パフォーマンスを、第2
仮想空間2711Aにおいてアバターオブジェクト6Aに視聴させる。プロセッサ210
Aは、例えば、図32(A)に示す第2仮想空間2711Aに対応する視界画像3217
Aを、図32(B)に示すようにモニタ130Aに表示する。ユーザ5Aは、視界画像3
217Aを視認することによって、アバターオブジェクト6Bがステージオブジェクト1
532上で第1パフォーマンスを実行したことを認識する。これにより、ユーザ5Aは、
アバターオブジェクト6Aの視点で、アバターオブジェクト6Bによるパフォーマンスを
楽しむことができる。
[課金情報の登録]
図33は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3317Aを
示す図である。プロセッサ210Aは、アバターオブジェクト6Bのライブを撮影したラ
イブ映像の購入をユーザ5Aに案内するメッセージを、ライブ中にユーザ5Aに通知する
。プロセッサ210Aは、例えば、タグオブジェクト2733Aにメッセージを表示する
。メッセージは、ライブ映像の購入をユーザ5Aに案内するテキストと、ユーザ5Bがラ
イブ映像を購入するための必要な課金額とを含む。図33の例では、ライブ映像を購入す
るための課金額は1000円である。
第2仮想空間2711Aには、ユーザ5Aが購入可能なライブ映像を撮影するための専
用の仮想カメラ(不図示)が、第2仮想空間2711Aに配置されている。プロセッサ2
10Aは、専用の仮想カメラによって第2仮想空間2711A内の一部を撮影することに
よって、ライブ映像を生成する。プロセッサ210Aは、専用の仮想カメラを第2仮想空
間2711A内で移動させながらライブ映像を撮影することもできる。
メッセージがタグオブジェクト2733Aに表示された後、ユーザ5Aは、腕時計で時
間を確認するように、左手を自身の視界内まで移動させる。プロセッサ210Aは、ユー
ザ5Aの左手の動きに応じて、図33(A)に示すように、仮想左手1531LAを視界
領域15A内に移動させる。プロセッサ210Aは、例えば、図33(A)に示す第2仮
想空間2711Aに対応する視界画像3317Aを、図33(B)に示すようにモニタ1
30Aに表示する。ユーザ5Aは、視界画像3317Aを視認することによって、タグオ
ブジェクト2733Aに表示されるメッセージを確認する。これにより、ユーザ5Bは、
新たに1000円の課金額を支払えばライブ映像を購入できることを認識する。
図34は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3417Aを
示す図である。ユーザ5Aは、タグオブジェクト2733Aに表示されたメッセージを確
認した後、ライブ映像を購入するための操作を行う。ユーザ5Aは、仮想右手1531R
Aの先端をタグオブジェクト2733Aに近づけるように、自身の右手を動かす。プロセ
ッサ210Aは、ユーザ5Bの右手の動きに応じて、仮想右手1531RAの先端をタグ
オブジェクト2733Aに近づけるように、第2仮想空間2711Aにおいて仮想右手1
531RAを動かす。
プロセッサ210Aは、衝突検出モジュール1426として、仮想右手1531RAの
先端とタグオブジェクト2733Aとが第1位置関係になった場合、仮想右手1531R
Aの先端とタグオブジェクト2733Aとが衝突したことを検出する。第1位置関係とは
、例えば、仮想右手1531RAの先端とタグオブジェクト2733Aとの距離が第1距
離を下回ることである。あるいは、仮想右手1531RAの先端に規定されるコリジョン
エリアと、タグオブジェクト2733Aに設定されるコリジョンエリアとが少なくとも部
分的に衝突することである。プロセッサ210Aは、仮想右手1531RAの先端とタグ
オブジェクト2733Aとが衝突したことに基づいて、仮想右手1531RAによってタ
グオブジェクト2733Aが選択されたことを検出する。プロセッサ210Aは、ライブ
映像を購入を案内するメッセージが表示されるタグオブジェクト2733Aが選択された
ことに応じて、ライブ映像を購入するためのユーザ5Aの操作を検出する。
プロセッサ210Aは、例えば、図34(A)に示す第2仮想空間2711Aに対応す
る視界画像3417Aを、図34(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像3417Aを視認することによって、メッセージが表示されるタグオブ
ジェクト2733Aを仮想右手1531RAで選択したことを認識する。図34の例では
、ライブ映像を購入するためのユーザ5Aの操作がタグオブジェクト2733Aに対して
なされるので、第2仮想空間2711Aに対するユーザ5Aの没入感を損なわずに済む。
図35は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3517Aを
示す図である。ステップS2615において、プロセッサ210Aは、課金処理モジュー
ル1428として、アバターオブジェクト6Bの行動に応じた課金情報を、タグオブジェ
クト2733Aに登録する。ここで言うアバターオブジェクト6Aの行動とは、ユーザ5
Bに対する課金に繋がるアバターオブジェクト6Aの行動を意味する。図34の例では、
ユーザ5Bに対する課金に繋がる行動は、アバターオブジェクト6Aが、仮想右手153
1RAでタグオブジェクト2733Aを選択することである。課金に繋がる行動は、後述
する実施形態2〜8における課金に繋がる行動でもあり得る。課金に繋がる行動は、ユー
ザ5Aがライブ中に使用可能な仮想グッズ(例えば仮想ペンライト)を購入することに繋
がるアバターオブジェクト6Aの行動でもあり得る。図34の例では、プロセッサ210
Aは、ライブ映像の購入に必要な課金額(1000円)を表す課金情報を、タグオブジェ
クト2733Aに新たに登録する。
課金情報が登録された後、プロセッサ210Aは、タグオブジェクト2733A上で課
金情報を再び視覚化する。詳細には、プロセッサ210Aは、タグオブジェクト2733
Aにおけるメッセージの表示を消去すると共に、上限課金額および合計課金額をタグオブ
ジェクト2733Aに表示する。詳細には、プロセッサ210Aは、タグオブジェクト2
733Aに登録された2つの課金情報が表す2つの課金額(500円および1000円)
の合計(1500円)を算出し、合計課金額としてタグオブジェクト2733Aに表示す
る。プロセッサ210Aは、例えば、図35(A)に示す第2仮想空間2711Aに対応
する視界画像3517Aを、図35(B)に示すようにモニタ130Aに表示する。ユー
ザ5Aは、視界画像3517Aを視認することによって、ライブ映像を購入したことによ
って現時点での合計課金額が1500円に増加したことを認識する。このように、ユーザ
5Aは、簡単な操作で合計課金額を確認することができる。
プロセッサ210Aは、合計課金額だけでなく、その内訳をタグオブジェクト2733
A上で視覚化することもできる。プロセッサ210Aは、例えば、タグオブジェクト27
33Aに登録された複数の課金情報が表す各課金額を、個別にタグオブジェクト2733
Aに表示する。ユーザ5Aは、タグオブジェクト2733Aを視認することによって、個
々の課金額を確認することができる。
プロセッサ210Aは、課金情報をタグオブジェクト2733A上で視覚化することな
く、視界画像3517A上で直接視覚化することもできる。プロセッサ210Aは、例え
ば、視界画像3517Aに重畳するポップアップ画像などの通知UIをモニタ130Aに
表示すると共に、その通知UIに合計課金額を表示することができる。プロセッサ210
Aは、ポップアップ画像を視界画像3517A上でタグオブジェクト2733Aに関連付
けてモニタ130Aに表示することもできる。
ライブ映像購入に対応する課金情報の登録後、プロセッサ210Aは、第2仮想空間2
711A内でアバターオブジェクト6Aが課金に繋がる新たな行動を取るたびに、その行
動に応じた課金情報をタグオブジェクト2733Aに新たに登録する。タグオブジェクト
2733Aに登録された課金情報がより増加することによって、ユーザ5Aに課金される
合計課金額がさらに増加する。ユーザ5Bは、所望のタイミングでタグオブジェクト27
33Aを視認することによって、最新の合計課金額を確認することができる。
[合計課金額の決済]
図36は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3617Aを
示す図である。図36(A)では、第2仮想空間2711Aにおけるライブは終了してい
る。ライブの終了に伴って、アバターオブジェクト6Bおよび6Cが第2仮想空間271
1Aから退出している。アバターオブジェクト6Aおよび6Dは、ライブの終了後に第2
仮想空間2711Aに残っている。ライブの終了時点で、ユーザ5Bに対して課金された
合計課金額は12000円であるとする。言い換えれば、タグオブジェクト2733Aに
登録される各課金情報が表す課金額の合計は、12000円である。
プロセッサ210Aは、例えば、図36(A)に示す第2仮想空間2711Aに対応す
る視界画像3617Aを、図36(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像3617Aを視認することによって、ライブが終了したことを認識する
。ユーザ5Bは、さらに、ユーザ5Aに課金された合計課金額が12000円であること
を認識する。
ユーザ5Aは、ライブ終了時点での合計課金額を確認した後、アバターオブジェクト6
Aを第2仮想空間2711Aから退出させるための操作を行う。この操作は、例えば、右
コントローラ300RAのいずれかのボタンをユーザ5Aが押下することである。ステッ
プS2616において、プロセッサ210Aは、アバターオブジェクト6Aを退出させる
ためのユーザ5Aの操作を検出したことに応じて、アバターオブジェクト6Aを第2仮想
空間2711Aから退出させる。これにより、プロセッサ210Aは、ユーザ5Aに対す
る第2仮想空間2711Aの提供を終了する。
図37は、ある実施の形態に従う第1仮想空間2411Aおよび視界画像3717Aを
示す図である。ステップS2617において、プロセッサ210Aは、第2仮想空間27
11Aから退出したアバターオブジェクト6Aを、図37に示すように再び第1仮想空間
2411Aに入場させる。言い換えれば、プロセッサ210Aは、アバターオブジェクト
6Aを第1仮想空間2411Aに再び配置する。このとき、プロセッサ210Aは、アバ
ターオブジェクト6Aに対するタグオブジェクト2733Aの関連付けを解消する。言い
換えれば、プロセッサ210Aは、第1仮想空間2411Aにおいて、仮想左手1531
LAにタグオブジェクト2733Aを配置しない。
ステップS2618において、プロセッサ210Aは、決済処理モジュール1429と
して、タグオブジェクト2733Aに登録された課金情報に応じた決済に関する処理を実
行する。プロセッサ210Aは、例えば、登録された各課金情報が表す各課金額の合計を
、サーバ600に通知する。サーバ600は、通知された合計課金額を決済する。サーバ
600は、例えば、HMDシステム100に登録されたユーザ5Aのクレジットカード情
報に応じて、合計課金額のクレジットカード決済を実行する。これにより、クレジットカ
ードの発行者は、後日、ユーザ5Aに課金された12000円を、ユーザ5Aに請求する
。サーバ600とは異なる別のサーバが、ユーザ5Aに課金された合計課金額を決済する
こともできる。プロセッサ210Aが、ユーザ5Aに課金された合計課金額を決済するこ
ともできる。
プロセッサ210Aは、例えば、図37(A)に示す第1仮想空間2411Aに対応す
る視界画像3717Aを、図37(B)に示すようにモニタ130Aに表示する。サーバ
600は、決済が終了したことをコンピュータ200Aに通知する。プロセッサ210A
は、決済の完了がサーバ600から通知されたことに応じて、決済が完了したことを視界
画像3717A上でユーザ5Aに通知する。プロセッサ210Aは、例えば、決済が完了
したことを説明するメッセージを含む通知画像3735を、視界画像3717Aに重畳さ
せてモニタ130Aに表示する。プロセッサ210Aは、通知画像3735と同一の外観
を有する仮想オブジェクトを、第2仮想空間2711Aにおける視界領域15A内の任意
の位置に配置することもできる。プロセッサ210Aは、あるいは、視界画像3717A
の生成時に、視界画像3717A内の任意の位置に通知画像3735を含めることもでき
る。ユーザ5Bは、視界画像3717Aを視認することによって、ライブの終了後、第1
仮想空間2411Aにアバターオブジェクト6Aが再び配置されたことを認識する。ユー
ザ5Aは、さらに、通知画像3735を視認することによって、ライブ中にユーザ5Aに
課金された課金額の決済が完了したことを把握する。ユーザ5Aは、さらに、第1仮想空
間2411Aにおいて仮想左手7131LBにタグオブジェクト2733Aが配置されな
いので、第1仮想空間2411Aにおいてはアバターオブジェクト6Aの行動に応じた課
金額がユーザ5Aにこれ以上課金されないことを認識する。
プロセッサ210Aは、アバターオブジェクト6Aが第1仮想空間2411Aに移動し
た後、タグオブジェクト2733Aをアバターオブジェクト6Aに配置したままにするこ
ともできる。この場合、プロセッサ210Aは、決済の完了後、決済が完了したことをユ
ーザ5Aに通知するメッセージをタグオブジェクト2733Aに表示する。プロセッサ2
10Aは、さらに、「了承」ボタンをタグオブジェクト2733Aに表示する。プロセッ
サ210Aは、アバターオブジェクト6Aが「了承」ボタンを押下した場合、アバターオ
ブジェクト6Aに対するタグオブジェクト2733Aの関連付けを解消する。これにより
、タグオブジェクト2733Aがアバターオブジェクト6Aに配置されなくなる。したが
って、ユーザ5Aは、仮想左手1531LAを視界領域15A内に移動させたとしても、
タグオブジェクト2733Aを視認できなくなる。
プロセッサ210Bは、ライブの終了後、視聴者である各ユーザ5に課金された各合計
課金額を合算することによって、ライブの売り上げを算出する。サーバ600が売り上げ
を算出し、コンピュータ200Bに通知することもできる。プロセッサ210Bは、ライ
ブの売り上げに応じた報酬をユーザ5Bに支払うための処理を実行する。プロセッサ21
0Bは、例えば、報酬の支払いをサーバ600に要求する要求情報を、ライブの終了後に
サーバ600に送信する。サーバ600は、受信した要求情報に応じて、各ユーザ5に対
する決済の完了後、ライブの売り上げの少なくとも一部を報酬としてユーザ5Bに支払う
。サーバ600は、ライブが終了するたびに、報酬をユーザ5Bに支払うことができる。
サーバ600は、あるいは、一定期間(例えば一ヶ月)内に行われた各ライブの売り上げ
の合計に応じた報酬を、一定期間が経過した時点でユーザ5Bにまとめて支払うこともで
きる。サーバ600ではなくプロセッサ210Bが、売り上げに応じた報酬をユーザ5B
に支払うこともできる。
[本実施形態の主要な利点]
以上のように、プロセッサ210Aは、第2仮想空間2711A内でのアバターオブジ
ェクト6Aの行動に応じた課金情報を、アバターオブジェクト6Aに関連付けられて自動
的に登録する。このように、HMDシステム100は、第2仮想空間2711Aにおける
好適な課金方式をユーザ5Aに提供することができる。プロセッサ210Aは、さらに、
課金に関する入力をユーザ5Aに求めるUIを視界画像17Aに重畳させてモニタ130
Aに表示することなく、タグオブジェクト2733Aに課金情報を自動的に登録する。こ
れにより、課金に関する処理が実行される際に、第2仮想空間2711Aに対するユーザ
5Aの没入感を損なわずに済む。
プロセッサ210Aは、さらに、アバターオブジェクト6Aが第2仮想空間2711A
から退場した場合、決済に関する処理を自動的に実行する。このように、HMDシステム
100は、第2仮想空間2711Aにおける好適な決済方法をユーザ5Aに提供すること
ができる。プロセッサ210Aは、さらに、決済に関する入力をユーザ5Aに求めるUI
を視界画像17Aに重畳させてモニタ130Aに表示することなく、決済に関する処理を
自動的に実行する。これにより、決済に関する処理が実行される際に、第1仮想空間24
11Aに対するユーザ5Aの没入感を損なわずに済む。
プロセッサ210Aは、さらに、クレジットカードまたは現金を模した決済用の仮想オ
ブジェクト(仮想通貨)をユーザ5Aに使用させることなく、決済に関する処理を自動的
に実行する。これにより、決済に関する処理が実行される際に、ユーザ5Aに煩わしさを
与えずに済む。
[ユーザ5Aに対する警告]
図38は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3817Aを
示す図である。図38の例では、合計課金額は25000円であり、上限課金額の一定割
合を超えている。一定割合は、例えば上限課金額の70%(21000円である)。プロ
セッサ210Aは、合計課金額が上限課金額の一定割合を超えていることを、ユーザ5B
に警告する。プロセッサ210Aは、例えば、図38(A)に示すように、タグオブジェ
クト2733Aを発光させることによって、ユーザ5Bに警告する。
プロセッサ210Aは、例えば、図38(A)に示す第2仮想空間2711Aに対応す
る視界画像3817Aを、図38(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像3817Aを視認することによって、現時点での合計課金額が2500
0円であることを認識する。ユーザ5Aは、さらに、タグオブジェクト2733Aの発光
を視認することによって、合計課金額が上限課金額に近づいた旨を警告されたことを認識
する。これにより、ユーザ5Aは、自身の知らない間に合計課金額が上限課金額を超えて
しまうことを、避けることができる。
プロセッサ210Aは、ユーザ5Aに警告した後、ユーザ5Aの操作に応じて上限課金
額を増加させることができる。ユーザ5Aは、例えば、仮想右手1531RAを操作する
ことによって、タグオブジェクト2733Aに新たな上限課金額を入力する。プロセッサ
210Aは、入力された新たな上限課金額を検出する。プロセッサ210Aは、タグオブ
ジェクト2733Aに登録される上限課金情報が表す上限課金額を、検出した新たな上限
課金額に更新する。
図39は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3917Aを
示す図である。図39の例では、プロセッサ210Aは、合計課金額に応じて第2仮想空
間2711Aの外観を制御する。詳細には、プロセッサ210Aは、合計課金額をユーザ
5Aに通知するためのモニタオブジェクト3936Aを、アバターオブジェクト6Aに関
連付けて第2仮想空間2711Aに配置する。プロセッサ210Aは、さらに、合計課金
額を表す合計課金情報を生成し、サーバ600に定期的に送信する。以後、この合計課金
情報を、アバターオブジェクト6Aの合計課金情報と称する。
図示しない第2仮想空間2711Cにおいて、アバターオブジェクト6Cの仮想左手1
531LCにタグオブジェクト2733Cが配置されている。タグオブジェクト2733
Cには、ユーザ5Cに対して課金される各課金額を表す各課金情報が登録されている。プ
ロセッサ210Cは、タグオブジェクト2733Cに登録される各課金情報が表す各課金
額の合計(合計課金額)を算出する。プロセッサ210Cは、さらに、合計課金額を表す
合計課金情報を生成し、サーバ600に定期的に送信する。以後、この合計課金情報を、
アバターオブジェクト6Cの合計課金情報と称する。
図示しない第2仮想空間2711Dにおいて、アバターオブジェクト6Dの仮想左手1
531LDにタグオブジェクト2733Dが配置されている。タグオブジェクト2733
Dには、ユーザ5Dに対して課金される各課金額表す各課金情報が登録されている。プロ
セッサ210Dは、タグオブジェクト2733Dに登録される各課金情報が表す各課金額
の合計(合計課金額)を算出する。プロセッサ210Dは、さらに、合計課金額を表す合
計課金情報を生成し、サーバ600に定期的に送信する。以後、この合計課金情報を、ア
バターオブジェクト6Dの合計課金情報と称する。
プロセッサ210Aは、アバターオブジェクト6Cおよび6Dの各合計課金情報をサー
バ600から受信する。プロセッサ210Aは、アバターオブジェクト6Cの合計課金情
報が表す合計課金額に応じて、第2仮想空間2711Aにおいてアバターオブジェクト6
Cの外観を制御する。詳細には、プロセッサ210Aは、ユーザ5Cの合計課金額が視覚
化されるモニタオブジェクト3936Cを、アバターオブジェクト6Cに関連付けて第2
仮想空間2711Aに配置する。
プロセッサ210Aは、課金情報が表す課金額の合計に応じて、第2仮想空間2711
Aにおいてアバターオブジェクト6Dの外観を制御する。プロセッサ210Aは、アバタ
ーオブジェクト6Dの合計課金情報が表す合計課金額に応じて、第2仮想空間2711A
においてアバターオブジェクト6Dの外観を制御する。詳細には、プロセッサ210Aは
、ユーザ5Dの合計課金額が視覚化されるモニタオブジェクト3936Dを、アバターオ
ブジェクト6Dに関連付けて第2仮想空間2711Aに配置する。
モニタオブジェクト3936A〜3936Cは、アバターオブジェクト6A〜6Cのそ
れぞれの上部に配置される。プロセッサ210Aは、アバターオブジェクト6Aの課金情
報をモニタオブジェクト3936A上で視覚化することによって、アバターオブジェクト
6Aの外観を制御する。詳細には、プロセッサ210Aは、ユーザ5Aの合計課金額をモ
ニタオブジェクト3936Aに表示する。プロセッサ210Aは、アバターオブジェクト
6Cの課金情報をモニタオブジェクト3936C上で視覚化することによって、アバター
オブジェクト6Cの外観を制御する。詳細には、プロセッサ210Aは、ユーザ5Cの合
計課金額を、モニタオブジェクト3936Cに表示する。プロセッサ210Aは、アバタ
ーオブジェクト6Dの課金情報をモニタオブジェクト3936D上で視覚化することによ
って、アバターオブジェクト6Dの外観を制御する。詳細には、プロセッサ210Dはユ
ーザ5Dの合計課金額をモニタオブジェクト3936Dに表示する。
プロセッサ210Aは、例えば、図39(A)に示す第2仮想空間2711Aに対応す
る視界画像3917Aを、図39(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像3917Aを視認することによって、ユーザ5Cの現時点での合計課金
額が20000円であり、かつ、ユーザ5Dの現時点での合計課金額が5000円である
ことを認識する。モニタオブジェクト3936Aは視界領域15A内に配置されないので
、ユーザ5Aは、モニタオブジェクト3936Aに表示されるユーザ5Aの合計課金額を
視認しない。
モニタオブジェクト3936Aには、ユーザ5Aの合計課金額が表示されるので、合計
課金額がより多いほど、より高い金額がモニタオブジェクト3936Aに表示される。モ
ニタオブジェクト3936Aに表示される金額が低いと、その金額はユーザ5B〜5Dの
注目をあまり集めない。したがって、モニタオブジェクト3936Aに関連付けられるア
バターオブジェクト6Aは、他のユーザ5B〜5Dに対してあまり目立たない。モニタオ
ブジェクト3936Aに表示される金額がより高いほど、その金額はユーザ5B〜5Dの
注目をより多く集める。したがって、モニタオブジェクト3936Aに関連付けられるア
バターオブジェクト6Aは、他のユーザ5B〜5Dに、より目立って見える。このように
、プロセッサ210Aは、モニタオブジェクト3936Aにユーザ5Aの合計課金額を表
示することによって、合計課金額がより多いほどアバターオブジェクト6Aの外観をより
目立たせることができる。
視界画像3917Aにおいて、アバターオブジェクト6Cに関連付けて表示されるユー
ザ5Cの合計課金額(20000円)は、アバターオブジェクト6Dに関連付けて表示さ
れるユーザ5Dの合計課金額(5000円)よりも多い。したがって、ユーザ5Aは、視
界画像3917Aを視認することによって、アバターオブジェクト6Cの外観がアバター
オブジェクト6Dの外観よりも目立っていることを認識する。
図40は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像4017Bを
示す図である。サーバ600は、受信したアバターオブジェクト6A、6C、および6D
の各合計課金情報を、同期処理によってコンピュータ200Bに送信する。プロセッサ2
10Bは、サーバ600から送信されたアバターオブジェクト6A、6C、および6Dの
各合計課金情報を受信する。プロセッサ210Bは、受信したアバターオブジェクト6A
、6C、および6Dの各合計課金情報に応じて、アバターオブジェクト6A、6C、およ
び6Dの各外観を制御する。この場合の外観制御は、図39に示す第2仮想空間2711
Aにおけるアバターオブジェクト6A、6C、および6Dの各外観の制御と同様であるた
め、詳細な説明は繰り返さない。
プロセッサ210Bは、例えば、図40(A)に示す第2仮想空間2711Bに対応す
る視界画像4017Bを、図40(B)に示すようにモニタ130Bに表示する。ユーザ
5Bは、視界画像4017Bを視認することによって、ユーザ5Aの現時点での合計課金
額が7000円であり、ユーザ5Cの現時点での合計課金額が20000円であり、かつ
、ユーザ5Dの現時点での合計課金額が5000円であることを認識する。ユーザ5Bに
とって、より高い合計課金額に対応するアバターオブジェクト6Cの外観は、より低い合
計課金額に対応するアバターオブジェクト6Aおよびユーザ5Dに関連付けられるアバタ
ーオブジェクト6Dの各外観に比べて、より目立って見える。このように、ユーザ5Cは
、ユーザ5Bおよび5Dに比べて自身の合計課金額が多いことを、アバターオブジェクト
6Cの外観変化を通じてユーザ5Bに対してアピールすることができる。
図41は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像4117Aを
示す図である。図41の例では、プロセッサ210Aは、アバターオブジェクト6A、6
C、および6Dの各課金情報に応じて、アバターオブジェクト6A、6C、および6Dの
外観の色を制御する。詳細には、プロセッサ210Aは、各課金情報に応じたテクスチャ
4137A、4137C、および4137Dを、アバターオブジェクト6A、6C、およ
び6Dに貼り付けることによって、アバターオブジェクト6A、6C、および6Dの外観
の色を変化させる。
テクスチャ4137Dは、合計課金額が第1閾値を上回ることに対応する、第1色に着
色されるテクスチャである。テクスチャ4137Aは、合計課金額が第2閾値を上回るこ
とに対応する、第2色に着色されるテクスチャである。テクスチャ4137Cは、合計課
金額が第3閾値を上回ることに対応する、第3色に着色されるテクスチャである。第2色
は、第1色よりも目立つ色である。第3色は、第2色よりも目立つ色である。第1色は、
例えば銅色であり、第2色は例えば銀色であり、第3色は例えば金色である。
プロセッサ210Aは、例えば、図41(A)に示す第2仮想空間2711Aに対応す
る視界画像4117Aを、図41(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像4117Aを視認することによって、アバターオブジェクト6Cの外観
が第3色に変化し、かつ、アバターオブジェクト6Dの外観が第1色に変化したことを認
識する。ユーザ5Aは、視界画像3917Aを視認することによって、アバターオブジェ
クト6Cの外観がアバターオブジェクト6Dの外観よりも目立っていることを認識する。
プロセッサ210Aは、合計課金額がより多いほど、アバターオブジェクト6Aの外観
を、より金持ちらしく見える外観に変化させることもできる。プロセッサ210Aは、図
示しない掲示板オブジェクトを第2仮想空間2711Aに配置すると共に、合計課金額の
ランキングを掲示板オブジェクトに表示することもできる。プロセッサ210Aは、例え
ば、合計課金額がより多い上位5名のユーザ5の名称を、掲示板オブジェクトに表示する
。これにより、合計課金額がより多いユーザ5に関連付けられるアバターオブジェクト6
を、第2仮想空間2711Aにおいてより目立たせることができる。
プロセッサ210Aは、アバターオブジェクト6Aの外観の全体ではなくその一部を変
化させることもできる。プロセッサ210Aは、アバターオブジェクト6Aの外観をより
金持ちらしく見せることができるアクセサリーを、アバターオブジェクト6Aに装着する
こともできる。このようなアクセサリーとして、例えば、例えば、金ぴかの時計またはネ
ックレスなどが挙げられる。
[ライブビューイングの視聴]
図42は、ある実施の形態に従う第2仮想空間4211Bおよびライブ映像4239を
示す図である。プロセッサ210Bは、第2仮想空間2711Bと同様に、アバターオブ
ジェクト6A〜6D、ステージオブジェクト1532、および仮想カメラ14Bを第2仮
想空間4211Bに配置する。プロセッサ210Bは、さらに、第2仮想空間4211B
には仮想カメラ4238を配置する。仮想カメラ4238は、アバターオブジェクト6B
のライブを撮影したライブ映像を生成する仮想オブジェクトである。プロセッサ210B
は、例えば、アバターオブジェクト6Bの正面から一定距離を置いた位置に、仮想カメラ
4238を配置する。プロセッサ210Bは、さらに、仮想カメラ4238の向きを制御
することによって、仮想カメラ4238の視界領域4215内にステージオブジェクト1
532およびアバターオブジェクト6Bを収める。
プロセッサ210Bは、例えば、仮想カメラ4238を制御することによって、第2仮
想空間4211Bのうち視界領域4215に含まれる箇所を仮想カメラ4238で撮影す
る。これにより、プロセッサ210Bは、視界領域4215に対応するライブ映像423
9を図42(B)に示すように生成する。ライブ映像4239は、一種の視界画像である
。ライブ映像4239には、アバターオブジェクト6Bがステージオブジェクト1532
上でパフォーマンスを実行する様子が映し出されている。プロセッサ210Bは、生成さ
れたライブ映像4239を、コンピュータ200Aなどの他の各コンピュータ200にサ
ーバ600を介して配信する。
図43は、ある実施の形態に従う第2仮想空間4311Aおよび視界画像4317Aを
示す図である。プロセッサ210Aは、第2仮想空間2711Aと同様に、アバターオブ
ジェクト6A、6C、および6Dを第2仮想空間4311Aに配置する。しかし、プロセ
ッサ210Aは、第2仮想空間2711Aとは異なり、ステージオブジェクト1532お
よびアバターオブジェクト6Bを、第2仮想空間4311Aに配置しない。その代わりに
、プロセッサ210Aは、スクリーンオブジェクト4340を第2仮想空間4311Aに
配置する。
プロセッサ210Aは、サーバ600を介してコンピュータ200Bから配信されたラ
イブ映像4239を受信する。プロセッサ210Aは、受信したライブ映像4239を、
スクリーンオブジェクト4340に表示する。これにより、プロセッサ210Aは、ライ
ブ映像4239に映し出されるアバターオブジェクト6Bによるパフォーマンスを、アバ
ターオブジェクト6Aに視聴させる。プロセッサ210Aは、例えば、図43(A)に示
す第2仮想空間4311Aに対応する視界画像4317Aを、図43(B)に示すように
モニタ130Aに表示する。ユーザ5Aは、視界画像4317Aを視認することによって
、スクリーンオブジェクト4340に表示されるライブ映像4239を視認する。ライブ
映像4239には、ステージオブジェクト1532上でパフォーマンスを行うアバターオ
ブジェクト6Bの姿が映し出されている。ユーザ5Aは、ライブ映像4239を視認する
ことによって、アバターオブジェクト6Bによるライブのライブビューイングを第2仮想
空間4311Aにおいてあたかも自身が視聴しているかのような仮想体験を、得ることが
できる。
ライブビューイングの配信は、上述した例に限定されない。例えば、アバターオブジェ
クト6B、ステージオブジェクト1532、および仮想カメラ4238のみが配置される
ライブ映像撮影用の仮想空間において、アバターオブジェクト6Bのライブ映像を撮影し
、そのライブ映像を、第2仮想空間4311Aに配置されるスクリーンオブジェクト43
40に表示する方式によっても、ライブ映像を配信することができる。
プロセッサ210Aは、第2仮想空間4311A内でのアバターオブジェクト6Aの行
動に応じた課金情報を、タグオブジェクト2733Aに登録することもできる。プロセッ
サ210Aは、例えば、ユーザ5Aがライブ映像4239を購入することに繋がる行動を
アバターオブジェクト6Aが取った場合、その行動に応じた課金情報をタグオブジェクト
2733Aに登録する。
[仮想空間内の第1領域]
図44は、ある実施の形態に従う第2仮想空間4411Aおよび視界画像4417Aを
示す図である。プロセッサ210Aは、第2仮想空間2711Aと同様に、アバターオブ
ジェクト6Aおよび6C、およびステージオブジェクト1532を第2仮想空間4411
Aに配置する。第2仮想空間4411Aは、第1領域4451を含んでいる。第1領域4
451は、第2仮想空間4411Aの一部分に相当する。プロセッサ210Aは、第1領
域4451の外縁における一カ所に、ゲートオブジェクト4452を配置する。
図44では、アバターオブジェクト6Cおよびステージオブジェクト1532は第1領
域4451内に配置されている。アバターオブジェクト6Aは、第1領域4451外に配
置されている。第1領域4451は、図示しない不透明の壁オブジェクトによって囲まれ
ている。第1領域4451は、アバターオブジェクト6Bのライブが開催される場所であ
る。アバターオブジェクト6Aは、第1領域4451内にいる場合、アバターオブジェク
ト6Bによるパフォーマンスを視聴することができる。アバターオブジェクト6Aは、第
1領域4451外にいる場合、アバターオブジェクト6Bによるパフォーマンスを視聴す
ることができない。アバターオブジェクト6Aは、ゲートオブジェクト4452を通るこ
とによって、第1領域4451に入場したり、第1領域4451から退出したりすること
ができる。
プロセッサ210Aは、第2仮想空間4411Aを定義した後、アバターオブジェクト
6Aを、第2仮想空間4411Aにおける第1領域4451外に配置する。プロセッサ2
10Aは、アバターオブジェクト6Aが第1領域4451外に配置される間、タグオブジ
ェクト2733Aを仮想左手1531LAに配置しない。プロセッサ210Aは、ユーザ
5Aの操作に応じて、ゲートオブジェクト4452を通じてアバターオブジェクト6Aを
第1領域4451外から第1領域4451内に移動させる。これにより、プロセッサ21
0Aは、アバターオブジェクト6Aを第1領域4451に入場させる。
プロセッサ210Aは、アバターオブジェクト6Aが第1領域4451に入場した場合
、仮想左手1531LAにタグオブジェクト2733Aを配置する。プロセッサ210A
は、第1領域4451内でのアバターオブジェクト6Aの行動に応じた課金情報を、タグ
オブジェクト2733Aに登録する。プロセッサ210Aは、ユーザ5Aの操作に応じて
、ゲートオブジェクト4452を通じてアバターオブジェクト6Aを第1領域4451内
から第1領域4451外に移動させる。これにより、プロセッサ210Aは、アバターオ
ブジェクト6Aを第1領域4451から退出させる。
プロセッサ210Aは、アバターオブジェクト6Aが第1領域4451から退出した場
合、タグオブジェクト2733Aに登録される課金情報に応じた決済に関する処理を実行
する。プロセッサ210Aは、さらに、仮想左手1531LAからタグオブジェクト27
33Aを削除する。
[変形例]
プロセッサ210Aは、タグオブジェクト2733Aを、仮想左手1531LAに限ら
ず、アバターオブジェクト6Aの任意の一部に関連付けることができる。プロセッサ21
0Aは、例えば、タグオブジェクト2733Aを仮想右手1531RAに関連付ける。プ
ロセッサ210Aは、例えば、アバターオブジェクト6Aの胴体または足にタグオブジェ
クト2733Aを関連付ける。プロセッサ210Aは、好ましくは、仮想右手1531R
Aまたは仮想左手1531LAにタグオブジェクト2733Aを配置する。これにより、
タグオブジェクト2733Aに表示される合計課金額をユーザ5Aに容易に確認させるこ
とができる。
プロセッサ210Aは、アバターオブジェクト6Aが第2仮想空間2711Aに入場し
た場合、必ずしもタグオブジェクト2733Aをアバターオブジェクト6Aに関連付ける
必要はない。プロセッサ210Aは、課金情報をアバターオブジェクト6Aに関連付けて
アバターオブジェクト6Aに登録することができる。アバターオブジェクト6Aは、アバ
ターオブジェクト6Aが第2仮想空間2711Aから退場した場合、アバターオブジェク
ト6Aに登録された課金情報に応じて決済に関する処理を実行することもできる。
ユーザ5Aは、合計課金額の決済に利用可能なポイントを事前に購入することができる
。サーバ600は、ユーザ5Aがポイントを事前に購入していた場合、ユーザ5Aが所持
する全ポイントのうち合計課金額に相当するポイントを消費することによって、合計課金
額を決済することができる。
プロセッサ210Aは、タグオブジェクト2733Aに課金情報を登録する際、課金情
報をストレージ230Aに保存することができる。プロセッサ210Aは、アバターオブ
ジェクト6Aが第2仮想空間2711Aから不正に離脱した場合、ストレージ230Aに
保存される課金情報を用いて、決済に関する処理を実行する。アバターオブジェクト6A
が第2仮想空間2711Aから不正に離脱することは、例えば、アバターオブジェクト6
Aが第2仮想空間2711Aから退場する前に、ユーザ5Aがコンピュータ200Aの電
源を強制的にオフさせる場合に、発生し得る。プロセッサ210Aは、コンピュータ20
0Aの電源がオンされた後、ストレージ230Aに保存される課金情報をサーバ600に
送信する。プロセッサ610は、受信した課金情報が表す課金額の合計を決済する。
プロセッサ210Aは、アバターオブジェクト6Aを第2仮想空間2711Aから退場
させる前に、ユーザ5Aがコンピュータ200Aの電源を強制的にオフさせた場合、コン
ピュータ200Aの電源が次回オンされた後に、アバターオブジェクト6Aの不正離脱が
発生したことを検出する。プロセッサ210Aは、不正離脱の発生を検出した場合、サー
バ600にその旨を通知する。プロセッサ610は、不正離脱の発生がコンピュータ20
0Aから通知された場合、不正離脱が発生した時点でのユーザ5Aの課金情報に応じて、
課金額を決済する。これにより、HMDシステム100は、ユーザ5Aが課金額の決済を
逃れることを防止することができる。プロセッサ610は、アバターオブジェクト6Aの
不正離脱が頻繁に発生したり、不正離脱後の決済を正常に完了させることができなかった
りする場合、ユーザ5Aのアカウントを削除することができる。
プロセッサ210Aは、アバターオブジェクト6Aが第2仮想空間2711Aに入場し
た場合、入場料に対応する課金情報をタグオブジェクト2733Aに登録すると共に、入
場料に対応する決済に関する処理を直ちに実行することができる。言い換えれば、プロセ
ッサ210Aは、タグオブジェクト2733Aに課金情報が登録された後、アバターオブ
ジェクト6Aが第2仮想空間2711Aから退場する前に、決済に関する処理を実行する
こともできる。プロセッサ210Aは、さらに、アバターオブジェクト6Aの行動に応じ
た課金情報をタグオブジェクト2733Aに登録した場合も、アバターオブジェクト6A
が退場する前に、登録された課金情報に対応する決済に関する処理を実行することができ
る。
プロセッサ210Aは、第2仮想空間2711Aにおけるアバターオブジェクト6Bの
ライブが開催される前に、アバターオブジェクト6Aを第2仮想空間2711Aに入場さ
せることができる。プロセッサ210Aは、アバターオブジェクト6Aがライブの開催前
に第2仮想空間2711Aに入場した場合、第2仮想空間2711Aにおいて、アバター
オブジェクト6Aにアバターオブジェクト6Bからライブのチケットを購入させることが
できる。
ユーザ5Aは、ライブの開催前に、ライブのチケットをアバターオブジェクト6Aに購
入させることができる。ある局面において、プロセッサ210Bは、ライブのチケットを
販売するためのユーザ5Bの動きを、ライブの開催前に予めに検出する。プロセッサ21
0Bは、検出された動きに応じて、アバターオブジェクト6Bに、チケットを販売するた
めの第1動作を実行させる。プロセッサ210Bは、第1動作に対応する動き情報を含む
アバターオブジェクト6Bのアバター情報を、サーバ600に送信する。
プロセッサ210Aは、ライブの開催前にアバターオブジェクト6Aが第2仮想空間2
711Aに入場した場合、コンピュータ200Bが事前にサーバ600に送信しておいた
アバターオブジェクト6Bのアバター情報を、サーバ600にリクエストする。サーバ6
00は、リクエストに応じて、アバターオブジェクト6Bのアバター情報をコンピュータ
200Aに送信する。プロセッサ210Aは、受信したアバター情報に基づいて、アバタ
ーオブジェクト6Bを第2仮想空間2711Aに配置する。プロセッサ210Aは、アバ
ター情報に含まれる動き情報に基づいて、チケットを販売するための第1動作を、アバタ
ーオブジェクト6Bに実行させる。プロセッサ210Aは、例えば、アバターオブジェク
ト6Bからアバターオブジェクト6Aにチケットを手渡しさせる。プロセッサ210Aは
、さらに、アバターオブジェクト6Bに仮想左手1531LBを振らせる。
別の局面において、プロセッサ210Aは、特定の時間帯にアバターオブジェクト6A
を第2仮想空間2711Aに入場させた場合、アバターオブジェクト6Aのアバター情報
をサーバ600に送信する。サーバ600による同期処理の結果、プロセッサ210Bは
、アバターオブジェクト6Aのアバター情報をサーバ600から受信する。プロセッサ2
10Bは、受信したアバター情報に応じて、アバターオブジェクト6Aを第2仮想空間2
711Bに配置する。プロセッサ210Bは、アバターオブジェクト6Aが配置された後
、ライブのチケットを販売するためのユーザ5Bの動きを検出する。プロセッサ210B
は、検出したユーザ5Bの動きに応じて、第2仮想空間2711Bにおいて、アバターオ
ブジェクト6Aにチケットを販売するための第2動作をアバターオブジェクト6Bに実行
させる。プロセッサ210Bは、第2動作に対応する動き情報を含むアバターオブジェク
ト6Bのアバター情報を、サーバ600に送信する。
プロセッサ210Aは、サーバ600の同期処理の結果、アバターオブジェクト6Bの
アバター情報をサーバ600から受信する。プロセッサ210Aは、受信したアバター情
報に含まれる動き情報に応じて、プロセッサ210Aは、アバター情報に含まれる動き情
報に基づいて、チケットを販売するための第2動作を、アバターオブジェクト6Bに実行
させる。言い換えれば、プロセッサ210Aは、ユーザ5Bのリアルタイムの動きに応じ
て、アバターオブジェクト6Bにチケットを販売する動作を実行させることができる。こ
れにより、ユーザ5Aをユーザ5Bとリアルタイムに交流させることができるので、ユー
ザ5Aをより満足させることができる。
〔実施形態2〕
本実施形態において、プロセッサ210Aは、ユーザ5Aに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式によって
実行する。しかし、これに限定されず、プロセッサ210Aは、実施形態1に係る方式と
は異なる任意の方式によって、ユーザ5Aに対する課金および決済に関する処理を実行す
ることもできる。
[移動距離に応じた課金処理フロー]
図45は、ある実施の形態に従うHMDセット110Aにおいて実行される処理の一部
を表すシーケンスチャートである。図46は、ある実施の形態に従う第2仮想空間271
1Aおよび視界画像4617Aを示す図である。図46では、第2仮想空間2711Aに
おいて、ユーザ5B(第2ユーザ)に関連付けられるアバターオブジェクト6B(第2ア
バター)によるパフォーマンスが行われている。タグオブジェクト2733Aには、入場
料(500円)に対応する課金情報のみが登録されている。ユーザ5A(第1ユーザ)に
関連付けられるアバターオブジェクト6A(第1アバター)は、第2仮想空間2711A
における、ステージオブジェクト1532から大きく離れた第1位置4661に配置され
ている。ユーザ5Aは、アバターオブジェクト6Aから遠く離れた位置にいるアバターオ
ブジェクト6Bのパフォーマンスを視聴している。
ユーザ5Aは、アバターオブジェクト6Aをステージオブジェクト1532に近い第2
位置4662に移動させることによって、アバターオブジェクト6Bのもっと近くでパフ
ォーマンスを視聴することを望む。ユーザ5Aは、この希望を叶えるために、仮想右手1
531RAの先端が第2位置4662を指し示すように、右手を動かす。ステップS45
01において、プロセッサ210Aは、右コントローラ300RAの出力に基づいて、ユ
ーザ5Aの右手の動きを検出する。ステップS4502において、プロセッサ210Aは
、ユーザ5Aの右手の動きに応じて仮想右手1531RAを動かす。図46(A)に示す
ように、仮想右手1531RAが動いた後、仮想右手1531RAの先端は、第2仮想空
間2711Aにおける第2位置4662を指し示している。ステップS4503において
、プロセッサ210Aは、仮想右手1531RAの先端が指し示す第2仮想空間2711
A内の第2位置4662を特定する。
プロセッサ210Aは、例えば、図46(A)に示す第2仮想空間2711Aに対応す
る視界画像4617Aを、図46(B)に示すようにモニタ130Aに表示する。ステッ
プS4504において、プロセッサ210Aは、第2仮想空間2711A内の第2位置4
662を示すマーク4663を、視界画像4617A上でユーザ5Aに通知する。詳細に
は、プロセッサ210Aは、マーク4663を、第2位置4662に対応する視界画像4
617Aにおける位置4664に重畳させてモニタ130Aに表示する。プロセッサ21
0Aは、マーク4663を、第2仮想空間2711A内の第2位置4662に仮想オブジ
ェクトとして配置することができる。プロセッサ210Aは、あるいは、視界画像461
7Aの生成時に、第2位置4662に対応する位置4664にマーク4663を含めるよ
うにすることもできる。ユーザ5Aは、視界画像4617Aを視認することによって、第
2仮想空間2711A内の第2位置4662を示すマーク4663がモニタ130Aに表
示されたことを確認する。ユーザ5Aは、マーク4663を確認することによって、アバ
ターオブジェクト6Aの移動先として第2位置4662を指定したことを把握する。
マーク4663の確認後、ユーザ5Aは、アバターオブジェクト6Aを第2位置466
2に移動させるための第1操作を行う。第1操作は、例えば、右コントローラ300RA
のいずれかのボタンをユーザが押下することである。ステップS4505において、プロ
セッサ210Aは、アバターオブジェクト6Aを移動させるためのユーザ5Aの第1操作
を検出する。
図47は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像4717Aを
示す図である。ステップS4506において、プロセッサ210Aは、ユーザ5Aの第1
操作が検出された場合、アバターオブジェクト制御モジュール1424として、図47(
A)に示すように、第2仮想空間2711A内でアバターオブジェクト6Aを第1位置4
661から第2位置4662まで離散的に移動させる。詳細には、プロセッサ210Aは
、第1位置4661から第2位置4662までの間の各位置を経由することなく、アバタ
ーオブジェクト6Aを第1位置4661から第2位置4662まで瞬間的に移動させる(
ワープ移動させる)。プロセッサ210Aは、さらに、アバターオブジェクト6Aの移動
に連動させて仮想カメラ14Aも離散的に移動させる。
ステップS4507において、プロセッサ210Aは、第1位置4661から第2位置
4662までのアバターオブジェクト6Aの移動距離4775に応じた課金情報を、タグ
オブジェクト2733Aに登録する。詳細には、プロセッサ210Aは、移動距離477
5に、一定距離ごとの課金単価を乗算することによって、移動距離4775に応じた課金
額を算出する。課金単価は、例えば、HMDシステム100の運営者によって予め決定さ
れている。プロセッサ210Aは、例えば、第2仮想空間2711Aを定義する際、仮想
空間データに含まれる単価情報が表す課金単価を、コンピュータ200Aに設定する。図
47では、課金額として500円が算出される。プロセッサ210Aは、算出した課金額
を表す課金情報を、タグオブジェクト2733Aに新たに登録する。プロセッサ210A
は、タグオブジェクト2733Aの表面に、登録された2つの課金情報が表す各課金額の
合計(1000円)を表示する。
課金情報が登録された後、プロセッサ210Aは、ユーザ5Aの左手の動きに応じて、
図47(A)に示すように、仮想左手1531LAを視界領域15A内に移動させる。プ
ロセッサ210Aは、例えば、図47(A)に示す第2仮想空間2711Aに対応する視
界画像4717Aを、図47(B)に示すようにモニタ130Aに表示する。ユーザ5A
は、視界画像4717Aを視認することによって、アバターオブジェクト6Aがステージ
オブジェクト1532の近くの第2位置4662まで移動したことを認識する。ユーザ5
Aは、さらに、アバターオブジェクト6Bがアバターオブジェクト6Aの目の前にいるこ
とを認識する。これにより、ユーザ5Aは、アバターオブジェクト6Bの近くでパフォー
マンスを視聴することができるので、ライブをより楽しむことができる。ユーザ5Aは、
さらに、タグオブジェクト2733Aを視認することによって、現時点での合計課金額が
1000円であることを認識する。言い換えれば、ユーザ5Aは、アバターオブジェクト
6Aを第2位置4662まで移動させた結果、移動料金として500円が新たにユーザ5
Aに課金されたことを把握する。
図48は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像4817Aを
示す図である。図48における第2仮想空間2711Aにおいて、図46と同一である。
アバターオブジェクト6Aは第1位置4661に配置されている。タグオブジェクト27
33Aには、入場料(500円)に対応する課金情報のみが登録されている。ユーザ5A
は、仮想右手1531RAの先端が、第2位置4662よりもステージオブジェクト15
32から遠い第3位置4866を指し示すように、右手を動かす。プロセッサ210Aは
、仮想右手1531RAの先端が指し示す第2仮想空間2711A内の第3位置4866
を特定する。
プロセッサ210Aは、例えば、図48(A)に示す第2仮想空間2711Aに対応す
る視界画像4817Aを、図48(B)に示すようにモニタ130Aに表示する。プロセ
ッサ210Aは、第2仮想空間2711Aにおける第3位置4866を示すマーク466
3を、視界画像4817A上でユーザ5Aに通知する。詳細には、プロセッサ210Aは
、マーク4663を、第2仮想空間2711Aにおける第3位置4866に対応する視界
画像4817Aにおける位置4867に重畳させてモニタ130Aに表示する。プロセッ
サ210Aは、マーク4663を、第2仮想空間2711A内の第3位置4866に仮想
オブジェクトとして配置することができる。プロセッサ210Aは、あるいは、視界画像
4817Aの生成時に、第3位置4886に対応する位置4867にマーク4663を含
めるようにすることもできる。ユーザ5Aは、視界画像4817Aを視認することによっ
て、第2仮想空間2711A内の第3位置4866を示すマーク4663がモニタ130
Aに表示されたことを確認する。ユーザ5Aは、マーク4663を確認することによって
、アバターオブジェクト6Aの移動先として第3位置4866を指定したことを把握する
図49は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像4917Aを
示す図である。プロセッサ210Aは、アバターオブジェクト6Aを第3位置4866に
移動させるためのユーザ5Aの第1操作を検出する。プロセッサ210Aは、ユーザ5A
の第1操作が検出された場合、図49(A)に示すように、第2仮想空間2711A内で
アバターオブジェクト6Aおよび仮想カメラ14Aを第1位置4661から第3位置48
66まで離散的に移動させる。プロセッサ210Aは、第1位置4661から第3位置4
866までのアバターオブジェクト6Aの移動距離4969に応じた課金情報を、タグオ
ブジェクト2733Aに登録する。詳細には、プロセッサ210Aは、移動距離4969
に課金単価を乗算することによって、移動距離4969に応じた課金額を算出する。移動
距離4969は移動距離4775よりも短いので、図49では、500円よりも安い25
0円が課金額として算出される。プロセッサ210Aは、算出した課金額を表す課金情報
を、タグオブジェクト2733Aに新たに登録する。
プロセッサ210Aは、タグオブジェクト2733Aの表面に、登録された2つの課金
情報が表す各課金額の合計(750円)を表示する。プロセッサ210Aは、例えば、図
49(A)に示す第2仮想空間2711Aに対応する視界画像4917Aを、図49(B
)に示すようにモニタ130Aに表示する。ユーザ5Aは、視界画像4917Aを視認す
ることによって、アバターオブジェクト6Aがステージオブジェクト1532からやや離
れた第3位置4866まで移動したことを認識する。ユーザ5Aは、さらに、現時点での
合計課金額が750円であることを認識する。言い換えれば、ユーザ5Aは、アバターオ
ブジェクト6Aを第3位置4866まで移動させた結果、移動料金として250円が新た
にユーザ5Aに課金されたことを把握する。図47および図49に示すように、プロセッ
サ210Aは、移動距離がより長いほどより高い課金額を表す課金情報をタグオブジェク
ト2733Aに登録する。
[本実施形態の主要な利点]
プロセッサ210Aは、アバターオブジェクト6Aの移動距離に応じた課金情報をタグ
オブジェクト2733Aに登録する。このように、HMDシステム100は、第2仮想空
間2711Aにおける好適な課金方式をユーザ5Aに提供することができる。
ユーザ5Aは、ライブ中に第2仮想空間2711Aにおける所望の位置にアバターオブ
ジェクト6Aを移動させることによって、自身の好きな位置でライブを視聴することがで
きる。ユーザ5Aは、例えば、自身の好きなパフォーマンスが行われる場合はアバターオ
ブジェクト6Aをアバターオブジェクト6Bの近くの位置まで移動させる。ユーザ5Aは
、アバターオブジェクト6Bにより行われるパフォーマンスの内容に応じて視聴したい位
置が異なる場合には、パフォーマンスの内容ごとに自身の好きな位置にアバターオブジェ
クト6Aを移動させてライブを視聴できる。ユーザ5Aは、例えば、自身の好きなパフォ
ーマンスが2つのパートで構成されている場合、第1のパートは、アバターオブジェクト
6Bの正面位置にアバターオブジェクト6Aを移動させて視聴し、第2のパートは、ステ
ージオブジェクト1532の上手側にアバターオブジェクト6Aを移動させて斜め方向か
らアバターオブジェクト6Bを視聴することができる。パフォーマンスを行うアバターオ
ブジェクト6Bが第2仮想空間2711A内に複数存在し、かつ、各アバターオブジェク
ト6Bのステージオブジェクト1532上での位置が入れ替わる場合、ユーザ5Aは、自
身の好きなアバターオブジェクト6Bの位置に追従するようにアバターオブジェクト6A
を移動させてライブを視聴することもできる。これらの結果、HMDシステム100は、
ユーザ5Aの嗜好に応じてライブをより楽しませることができる。
[アバターオブジェクト6Bの移動]
以上では、アバターオブジェクト6Aが任意のタイミングで移動可能である例について
説明したが、アバターオブジェクト6Aの移動はこの例に限定されない。以下では、アバ
ターオブジェクト6Bが指定したタイミングでのみアバターオブジェクト6Aの移動が可
能である例について、詳細に説明する。
図50は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像5017Aを
示す図である。図50では、第2仮想空間2711Aにおいてアバターオブジェクト6B
によるパフォーマンスが行われている。タグオブジェクト2733Aには、入場料(50
0円)に対応する課金情報のみが登録されている。アバターオブジェクト6Bは、ステー
ジオブジェクト1532上の右端近くの第1位置5070に配置されている。アバターオ
ブジェクト6Aは、第2仮想空間2711Aにおける、ステージオブジェクト1532に
近くにおける、第1位置5070に対向する第2位置5071に配置されている。このよ
うに、アバターオブジェクト6Aは、アバターオブジェクト6Bと向き合うようにして、
アバターオブジェクト6Bの近くでアバターオブジェクト6Bによるパフォーマンスを視
聴している。
プロセッサ210Aは、例えば、図50(A)に示す第2仮想空間2711Aに対応す
る視界画像5017Aを、図50(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像5017Aを視認することによって、アバターオブジェクト6Aの近く
にいるアバターオブジェクト6Bのパフォーマンスを楽しむ。
図51は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像5117Bを
示す図である。図51に示す第2仮想空間2711Bは、図50に示す第2仮想空間27
11Aに同期されている。プロセッサ210Bは、例えば、図51(A)に示す第2仮想
空間2711Bに対応する視界画像5117Bを、図51(B)に示すようにモニタ13
0Bに表示する。ユーザ5Bは、視界画像5117Bを視認することによって、アバター
オブジェクト6Aがアバターオブジェクト6Bの近くでパフォーマンスを視聴しているこ
とを認識する。
図52は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像5217Aを
示す図である。プロセッサ210Aは、第2仮想空間2711A内でアバターオブジェク
ト6Aを移動させることを可能とさせる条件が成立していない場合、アバターオブジェク
ト6Aが第2仮想空間2711A内で移動することを禁止している。図52において、プ
ロセッサ210Aは、ユーザ5Aの右手の動きに応じて、仮想右手1531RAの先端が
第2仮想空間2711Aにおける所望の位置を指し示すように、仮想右手1531RAを
動かす。しかし、プロセッサ210Aは、アバターオブジェクト6Aの移動が禁止されて
いることに応じて、仮想右手1531RAの先端が指し示す位置を特定しない。
プロセッサ210Aは、例えば、図52(A)に示す第2仮想空間2711Aに対応す
る視界画像5217Aを、図52(B)に示すようにモニタ130Aに表示する。プロセ
ッサ210Aは、仮想右手1531RAの先端が指し示す位置を特定しないことに応じて
、当該位置を示すマーク4663を視界画像5217A上でユーザ5Aに通知しない。ユ
ーザ5Aは、視界画像5217Aを視認することによって、仮想右手1531RAの先端
で第2仮想空間2711A内の所望の位置を指し示したにも関わらず、位置を示すマーク
4663がモニタ130Aに表示されないことを確認する。ユーザ5Aは、さらに、マー
ク4663が表示されないために、アバターオブジェクト6Aを移動させることができな
いことを把握する。
図53は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像5317Bを
示す図である。ユーザ5Bは、ステージオブジェクト1532においてアバターオブジェ
クト6Bがパフォーマンスを実行する位置を、ステージオブジェクト1532の左端に近
い第3位置5372に変更することを望む。ユーザ5Bは、この希望を叶えるため、仮想
左手1531LBの先端が第3位置5372を指し示すように、左手を動かす。プロセッ
サ210Bは、ユーザ5Bの左手の動きに応じて、第2仮想空間2711Bにおいて仮想
左手1531LBを動かす。プロセッサ210Bは、仮想左手1531LBの先端が指し
示す第2仮想空間2711B内の第3位置5372を特定する。
プロセッサ210Bは、例えば、図53(A)に示す第2仮想空間2711Bに対応す
る視界画像5317Bを、図53(B)に示すようにモニタ130Bに表示する。プロセ
ッサ210Bは、第2仮想空間2711Bにおける第3位置5372を示すマーク466
3を、視界画像5317B上でユーザ5Bに通知する。詳細には、プロセッサ210Bは
、マーク4663を、第2仮想空間2711Bにおける第3位置5372に対応する視界
画像5317Bにおける位置5373に重畳させてモニタ130Bに表示する。プロセッ
サ210Bは、マーク4663を、第2仮想空間2711B内の第3位置5372に仮想
オブジェクトとして配置することができる。プロセッサ210Bは、あるいは、視界画像
5317Bの生成時に、第3位置5372に対応する位置5373にマーク4663を含
めるようにすることもできる。ユーザ5Bは、視界画像5317Bを視認することによっ
て、第3位置5372を示すマーク4663がモニタ130Bに表示されたことを確認す
る。ユーザ5Bは、マーク4663を確認することによって、アバターオブジェクト6B
の移動先として第3位置5372を指定したことを把握する。
マーク4663の確認後、ユーザ5Bは、アバターオブジェクト6Bを第3位置537
2に移動させるための第2操作を行う。第2操作は、例えば、右コントローラ300RA
のいずれかのボタンをユーザ5Bが押下することである。プロセッサ210Bは、アバタ
ーオブジェクト6Bを移動させるためのユーザ5Bの第2操作を検出する。
図54は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像5417Bを
示す図である。プロセッサ210Bは、ユーザ5Bの第2操作が検出された場合、図54
(A)に示すように、第2仮想空間2711B内でアバターオブジェクト6Bおよび仮想
カメラ14Bを第1位置5070から第3位置5372まで離散的に移動させる。プロセ
ッサ210Bは、例えば、図54(A)に示す第2仮想空間2711Bに対応する視界画
像5417Bを、図54(B)に示すようにモニタ130Bに表示する。ユーザ5Bは、
視界画像5417Bを視認することによって、アバターオブジェクト6Bが第3位置53
72まで移動したことを認識する。ユーザ5Bは、さらに、アバターオブジェクト6Bが
移動した結果、アバターオブジェクト6Aがアバターオブジェクト6Bの視界内からいな
くなったことを認識する。
図55は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像5517Aを
示す図である。第2仮想空間2711Bにおいてアバターオブジェクト6Bが移動した後
、プロセッサ210Aは、アバターオブジェクト6Bの最新のアバター情報をサーバ60
0から受信する。プロセッサ210Aは、受信したアバター情報に含まれる動き情報に基
づいて、第2仮想空間2711Aにおいてアバターオブジェクト6Bを第1位置5070
から第3位置5372まで離散的に移動させる。これにより、アバターオブジェクト6B
は視界領域15A外に配置される。プロセッサ210Aは、例えば、図55(A)に示す
第2仮想空間2711Aに対応する視界画像5517Aを、図55(B)に示すようにモ
ニタ130Aに表示する。ユーザ5Aは、視界画像5517Aを視認することによって、
アバターオブジェクト6Bがステージオブジェクト1532上を移動したために、アバタ
ーオブジェクト6Aの視界内からいなくなったことを認識する。
プロセッサ210Aは、第2仮想空間2711A内でアバターオブジェクト6Bが移動
した場合、第2仮想空間2711A内でアバターオブジェクト6Aを移動させることを可
能とする。ただし、第2仮想空間2711A内でアバターオブジェクト6Aを移動させる
ことを可能とさせる条件は、これに限定されるものではない。プロセッサ210Aは、ア
バターオブジェクト6Aが移動できるようになったことを、例えば音声などでユーザ5A
に通知する。プロセッサ210Aは、アバターオブジェクト6Aが移動できるようなった
ことを、第2仮想空間2711A内の照明を変更することによってユーザ5Aに通知する
こともできる。
図56は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像5617Aを
示す図である。図56では、プロセッサ210Aは、アバターオブジェクト6Bが移動し
たことに応じて、第2仮想空間2711A内でアバターオブジェクト6Aが移動すること
を許可している。ユーザ5Aは、右側を向くことによって、アバターオブジェクト6Bが
ステージオブジェクト1532の右端近くに移動したことを認識する。ユーザ5Aは、移
動後のアバターオブジェクト6Bに近い第2仮想空間2711Aにおける第4位置567
4にアバターオブジェクト6Aを移動させることによって、引き続きアバターオブジェク
ト6Bの近くでライブを視聴することを望む。
ユーザ5Aは、この希望を叶えるために、仮想右手1531RAの先端が第4位置56
74を指し示すように、右手を動かす。プロセッサ210Aは、ユーザ5Aの右手の動き
に応じて仮想右手1531RAを動かす。プロセッサ210Aは、アバターオブジェクト
6Aの移動が許可されていることに応じて、移動後の仮想右手1531RAの先端が指し
示す第4位置5674を特定する。
プロセッサ210Aは、例えば、図56(A)に示す第2仮想空間2711Aに対応す
る視界画像5617Aを、図56(B)に示すようにモニタ130Aに表示する。プロセ
ッサ210Aは、第2仮想空間2711Aにおける第4位置5674を示すマーク466
3を、第2仮想空間2711Aにおける第4位置5674に対応する視界画像4817A
における位置5675に重畳させてモニタ130Aに表示する。プロセッサ210Aは、
マーク4663を、第2仮想空間2711A内の第4位置5674に仮想オブジェクトと
して配置することができる。プロセッサ210Aは、あるいは、視界画像5617Aの生
成時に、第4位置5674に対応する位置5675にマーク4663を含めるようにする
こともできる。ユーザ5Aは、視界画像5617Aを視認することによって、アバターオ
ブジェクト6Bがステージオブジェクト1532の右端近くまで移動したことを認識する
。ユーザ5Aは、さらに、視界画像5617Aに含まれるマーク4663を確認すること
によって、アバターオブジェクト6Aの移動先として第4位置5674を指定したことを
把握する。
図57は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像5717Aを
示す図である。プロセッサ210Aは、アバターオブジェクト6Aを第4位置5674に
移動させるためのユーザ5Aの第1操作を検出する。プロセッサ210Aは、ユーザ5A
の第1操作が検出された場合、図57(A)に示すように、第2仮想空間2711A内で
アバターオブジェクト6Aおよび仮想カメラ14Aを第2位置5071から第4位置56
74まで離散的に移動させる。プロセッサ210Aは、第2位置5071から第4位置5
674までのアバターオブジェクト6Aの移動距離5776に応じた課金情報を、タグオ
ブジェクト2733Aに登録する。
プロセッサ210Aは、例えば、図57(A)に示す第2仮想空間2711Aに対応す
る視界画像5717Aを、図57(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像5717Aを視認することによって、アバターオブジェクト6Aがアバ
ターオブジェクト6Bの近くの第4位置5674まで移動したことを認識する。ユーザ5
Aは、さらに、アバターオブジェクト6Bがアバターオブジェクト6Aの目の前にいるこ
とを認識する。これにより、ユーザ5Aは、引き続きアバターオブジェクト6Bの近くで
ライブを楽しむことができる。
図50〜図57に示す形態では、アバターオブジェクト6Bが第2仮想空間2711A
内で移動した結果、ユーザ5Aは、アバターオブジェクト6Aをアバターオブジェクト6
Bの近くに移動させる動機を強く持つ。このように、ユーザ5Bは、アバターオブジェク
ト6Aを移動させることによって、アバターオブジェクト6Aの移動をユーザ5Aに強く
促すことができる。したがって、ユーザ5Aが第2仮想空間2711A内でアバターオブ
ジェクト6Aを積極的に移動することが期待できるので、移動距離に応じた課金額をユー
ザ5Aに課金できる可能性をより高めることができる。その結果、アバターオブジェクト
6Bのライブの売り上げを増加させる可能性を高めることができる。
[変形例]
プロセッサ210Aは、移動距離に応じた課金情報を、必ずしもタグオブジェクト27
33Aに登録する必要はない。プロセッサ210Aは、例えば、移動距離に応じた課金情
報を、アバターオブジェクト6Aに関連付けてアバターオブジェクト6Aに登録すること
もできる。プロセッサ210Aは、移動距離に応じた課金情報をタグオブジェクト273
3Aに登録する代わりに、移動距離に応じた課金に関する任意の処理を実行することがで
きる。課金に関する処理は、例えば、課金情報をタグオブジェクト2733Aに登録する
ことなくサーバ600に送信することである。
プロセッサ210Aは、アバターオブジェクト6Aの移動回数に応じた課金に関する処
理を実行することもできる。プロセッサ210Aは、例えば、移動回数に応じた課金情報
を、タグオブジェクト2733Aに登録する。プロセッサ210Aは、例えば、移動回数
がより多いほどより高くなる課金額を算出し、算出した課金額を表す課金情報をタグオブ
ジェクト2733Aに登録する。この場合、プロセッサ210Aは、アバターオブジェク
ト6Aの移動回数に応じた最適な課金情報をタグオブジェクト2733Aに登録すること
ができる。プロセッサ210Aは、さらに、アバターオブジェクト6Aが第2仮想空間2
711A内を無制限に移動することによってアバターオブジェクト6Bのライブを阻害す
ることを、防止することができる。
プロセッサ210Aは、移動距離および移動回数の少なくともいずれかに応じた課金処
理を実行することができる。プロセッサ210Aは、移動距離のみに応じた課金に関する
第1処理、移動回数のみに応じた課金に関する第2処理、ならびに移動距離および移動回
数の双方に応じた課金に関する第3処理のうち、任意の処理を実行することができる。
プロセッサ210Aは、アバターオブジェクト6Aの移動距離および移動方向に応じた
課金に関する処理を実行することもできる。プロセッサ210Aは、例えば、アバターオ
ブジェクト6Aの移動方向がアバターオブジェクト6Bにより近づく方向である場合、課
金単価をより高くする。プロセッサ210Aは、例えば、アバターオブジェクト6Aの移
動方向がアバターオブジェクト6Bからより離れる方向である場合、課金単価をより安く
する。
プロセッサ210Aは、第2仮想空間2711A内でアバターオブジェクト6Aを連続
的に移動させることもできる。プロセッサ210Aは、例えば、ユーザ5Aによる第1操
作に応じて、第1位置4661から第2位置4662までの間の各位置をすべて経由する
ように、アバターオブジェクト6Aを第1位置4661から第2位置4662まで移動さ
せる。この場合も、プロセッサ210Aは、移動距離4775に応じた課金額を表す課金
情報を、タグオブジェクト2733Aに登録する。
プロセッサ210Aは、ユーザ5Bの第1操作を検出することなく、第2仮想空間27
11A内でアバターオブジェクト6Aを自動的に移動させることもできる。プロセッサ2
10Aは、アバターオブジェクト6Aを自動的に移動させた場合も、移動距離に応じた課
金額を表す課金情報をタグオブジェクト2733Aに登録する。
本実施形態では、プロセッサ210Aは、第2仮想空間2711Aにおいてアバターオ
ブジェクト6Aとは異なるアバターオブジェクト6が配置されない位置にのみ、アバター
オブジェクト6Aを移動させることができることを前提とするが、これに限定されるもの
ではない。言い換えれば、ユーザ5Aは、アバターオブジェクト6Aとは異なるアバター
オブジェクト6が配置される位置を、アバターオブジェクト6Aの異動先の位置として指
定することはできないことを前提とするが、これに限定されるものではない。
プロセッサ210Aは、第2仮想空間2711Aにおける規定の範囲内の位置にだけ、
アバターオブジェクト6Aを移動させることができることを前提とする。プロセッサ21
0Aは、例えば、ステージオブジェクト1532上にアバターオブジェクト6Aを移動す
ることを原則として禁止する。プロセッサ210Aは、ユーザ5Bによる許可があった場
合、ステージオブジェクト1532上にアバターオブジェクト6Aを移動させることもで
きる。ただし、これに限定されるものではない。
ユーザ5Bは、アバターオブジェクト6Aの移動を許可するための第2操作を行うこと
ができる。プロセッサ210Bは、ユーザ5Bの第2操作を検出した場合、第2操作の検
出を示す検出情報をサーバ600を介してコンピュータ200Aに送信する。プロセッサ
210Aは、コンピュータ200Bから送信された検出情報を受信する。プロセッサ21
0Aは、受信した検出情報に基づいて、ユーザ5Bによる第2操作を検出する。プロセッ
サ210Aは、第2操作を検出した場合、第2仮想空間2711A内でアバターオブジェ
クト6Aを移動させることを可能とする。プロセッサ210Aは、例えば、第2操作を検
出してから、一定期間、移動させることを可能とする。第2操作は、ユーザ5Bの操作そ
のものではなく、ユーザ5Bの発話内容などのユーザ5Bの動作であってもよいし、移動
させることを可能とする期間を指定する情報としてもよい。これにより、プロセッサ21
0Aは、ライブ中にユーザ5Bの許可無く勝手にアバターオブジェクト6Aが移動するこ
とを防止することができる。言い換えれば、ユーザ5Bは、アバターオブジェクト6Aが
移動することができるタイミングを、自らの意志で指定することができる。これにより、
ユーザ5Bは、ライブの演出をよりユーザ5Bの望むような形に制御することができる。
プロセッサ210Aは、第2仮想空間2711Aにおける第1事象の発生を検出するこ
とができる。第1事象は、例えば、アバターオブジェクト6Bが何らかの行動を取ること
である。アバターオブジェクト6Bの行動は、例えば、図55に示すように、アバターオ
ブジェクト6Bがステージオブジェクト1532上の他の位置に移動することである。第
1事象は、ステージオブジェクト1532上でアバターオブジェクト6Bが一定時間以上
、規定のパフォーマンスを実行することでもよい。プロセッサ210Aは、第1事象を検
出した場合、アバターオブジェクト6Aを第2仮想空間2711A内で移動させることを
可能とする。これにより、アバターオブジェクト6Aがライブ中に無作為に移動すること
を防止することができる。
HMDシステム100において、一定距離ごとの課金単価は、第2仮想空間2711A
のサイズに応じて異なっていてもよい。例えば、第2仮想空間2711Aのサイズがより
大きいほど、課金単価はより安い。プロセッサ210Aは、定義された第2仮想空間27
11Aのサイズが第1サイズである場合、課金単価として第1課金単価(例えば50円)
をコンピュータ200Aに設定する。プロセッサ210Aは、定義された第2仮想空間2
711Aのサイズが第1サイズよりも大きい第2サイズの場合、課金単価として第1課金
単価よりも安い第2課金単価(例えば20円)をコンピュータ200Aに設定する。プロ
セッサ210Aは、コンピュータ200Aに設定された課金単価にアバターオブジェクト
6Aの移動距離を乗算することによって、第2仮想空間2711Aのサイズおよび移動距
離の双方に応じた最適な課金額を算出することができる。
プロセッサ210Aは、図43に示すライブ映像4239が再生される第2仮想空間4
311A内でアバターオブジェクト6Aが移動した場合も、移動距離および移動回数の少
なくともいずれかに応じた課金に関する処理を実行することができる。プロセッサ210
Aは、他にも、アバターオブジェクト6Bによるパフォーマンスが行われず、かつ、ライ
ブ映像4239が再生されない仮想空間内でアバターオブジェクト6Aが移動した場合も
、移動距離および移動回数の少なくともいずれかに応じた課金に関する処理を実行するこ
とができる。
〔実施形態3〕
本実施形態において、プロセッサ210Aは、ユーザ5Aに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式によって
実行する。しかし、これに限定されず、プロセッサ210Aは、実施形態1に係る方式と
は異なる任意の方式によって、ユーザ5Aに対する課金および決済に関する処理を実行す
ることもできる。
本実施形態において、プロセッサ210Cは、ユーザ5Cに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式と同一の
方式によって実行する。しかし、これに限定されず、プロセッサ210Cは、実施形態1
に係る方式とは異なる任意の方式によって、ユーザ5Cに対する課金および決済に関する
処理を実行することもできる。
[視点共有処理フロー]
図58は、ある実施の形態に従うHMDセット110Aにおいて実行される処理の一部
を表すシーケンスチャートである。図59は、ある実施の形態に従う第2仮想空間271
1Cおよび視界画像5917Cを示す図である。図59では、プロセッサ210Cは、ユ
ーザ5C(第2ユーザ)に提供される第2仮想空間2711Cにおいて、ユーザ5Bの動
きに応じて、ユーザ5B(第3ユーザ)に関連付けられるアバターオブジェクト6B(第
3アバター)にパフォーマンス(第1パフォーマンス)を実行させる。プロセッサ210
Cは、ユーザ5Cに関連付けられるアバターオブジェクト6C(第2アバター)に、アバ
ターオブジェクト6Bの近くでパフォーマンスを視聴させる。プロセッサ210Cは、ユ
ーザ5A(第1ユーザ)に関連付けられるアバターオブジェクト6A(第1アバター)に
、アバターオブジェクト6Bから離れた位置でパフォーマンスを視聴させる。
第2仮想空間2711Cに同期される第2仮想空間2711Aにおいて、プロセッサ2
10Aは、ユーザ5Bの動きに応じて、アバターオブジェクト6Bにパフォーマンスを実
行させる。プロセッサ210Aは、第2仮想空間2711Aにおいて、アバターオブジェ
クト6Bによるパフォーマンスをアバターオブジェクト6Aおよび6Cに視聴させる。
プロセッサ210Cは、ステージオブジェクト1532へのアバターオブジェクト6C
の移動を案内するメッセージを、ライブ中にユーザ5Cに通知する。プロセッサ210C
は、例えば、図59(A)に示すように、メッセージをタグオブジェクト2733Cに表
示する。メッセージは、ステージオブジェクト1532への移動をユーザ5Cに案内する
テキストと、アバターオブジェクト6Cを移動させる場合にユーザ5Cに課金される課金
額とを含む。図59の例では、アバターオブジェクト6Cをステージオブジェクト153
2上に移動させるための課金額は、1000円である。
メッセージがタグオブジェクト2733Cに表示された後、プロセッサ210Cは、ユ
ーザ5Cの左手の動きに応じて、図59(A)に示すように、仮想左手1531LCを視
界領域15C内に移動させる。プロセッサ210Cは、例えば、図59(A)に示す第2
仮想空間2711Cに対応する視界画像5917Cを、図59(B)に示すようにモニタ
130Cに表示する。ユーザ5Cは、視界画像5917Cを視認することによって、タグ
オブジェクト2733Cに表示されるメッセージを確認する。これにより、ユーザ5Cは
、新たに1000円の課金額を支払えば、アバターオブジェクト6Cをステージオブジェ
クト1532上に移動させることができることを認識する。
図60は、ある実施の形態に従う第2仮想空間2711Cおよび視界画像6017Cを
示す図である。ユーザ5Cは、視界画像6017Cを視聴することによって、タグオブジ
ェクト2733Cに表示されたメッセージを確認する。ユーザ5Cは、メッセージを確認
した結果、アバターオブジェクト6Cをステージオブジェクト1532上に移動させるこ
とを望む。この希望を叶えるため、ユーザ5Cは、タグオブジェクト2733Cを選択す
るための操作を行う。プロセッサ210Cは、ユーザ5Cの操作を検出したことに応じて
、タグオブジェクト2733Cに、ステージ移動に対応する課金情報を登録する。詳細に
は、プロセッサ210Cは、アバターオブジェクト6Cをステージオブジェクト1532
上に移動させるたの課金額を表す課金情報をタグオブジェクト2733Cに登録する。課
金情報の登録後、プロセッサ210Cは、図60(A)に示すように、アバターオブジェ
クト6Cをステージオブジェクト1532上に移動させる。プロセッサ210Cは、ステ
ージオブジェクト1532におけるアバターオブジェクト6Bの目の前の位置に、移動後
のアバターオブジェクト6Cを配置する。プロセッサ210Cは、アバターオブジェクト
6Cの移動後、アバターオブジェクト6Cのアバター情報をサーバ600に送信する。
プロセッサ210Cは、例えば、図60(A)に示す第2仮想空間2711Cに対応す
る視界画像6017Cを、図60(B)に示すようにモニタ130Cに表示する。ユーザ
5Cは、視界画像6017Cを視認することによって、アバターオブジェクト6Cがステ
ージオブジェクト1532上に移動したことを認識する。ユーザ5Cは、さらに、アバタ
ーオブジェクト6Bの目の前でパフォーマンスを楽しんだり、アバターオブジェクト6B
との(言い換えれば、ユーザ5Bとの)交流を楽しんだりすることができる。
図61は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像6117Aを
示す図である。ステップS5801において、プロセッサ210Aは、第2仮想空間27
11Cにおいてアバターオブジェクト6Cがステージオブジェクト1532上に移動した
後、アバターオブジェクト6Cのアバター情報をサーバ600から受信する。ステップS
5802において、プロセッサ210Aは、受信したアバター情報に基づいて、図61(
A)に示すように、第2仮想空間2711Aにおいてアバターオブジェクト6Cをステー
ジオブジェクト1532上に移動させる。言い換えれば、プロセッサ210Aとしては、
第2仮想空間2711Aを、図60に示す第2仮想空間2711Cに同期させる。プロセ
ッサ210Aは、プロセッサ210Cは、ステージオブジェクト1532におけるアバタ
ーオブジェクト6Bの目の前の位置に、アバターオブジェクト6Cを配置する。
プロセッサ210Aは、アバターオブジェクト6Cをステージオブジェクト1532上
に移動した後、アバターオブジェクト6Bのアバター情報をサーバ600から受信する。
プロセッサ210Aは、受信したアバター情報に含まれる動き情報に応じて、アバターオ
ブジェクト6Bに、アバターオブジェクト6Cに対するパフォーマンス(第2パフォーマ
ンス)を実行させる。このように、第2仮想空間2711Aにおいて、アバターオブジェ
クト6Cは、ステージ移動に対応する課金情報がタグオブジェクト2733Cに登録され
たことに応じて、アバターオブジェクト6Cに対するアバターオブジェクト6Bによるパ
フォーマンスを視聴している。
プロセッサ210Aは、アバターオブジェクト6Cがステージオブジェクト1532上
に移動した後、アバターオブジェクト6Aとは異なる他のアバターオブジェクト6の視点
をアバターオブジェクト6Aに共有させることをユーザ5Aに案内するメッセージを、ラ
イブ中にユーザ5Aに通知する。プロセッサ210Aは、例えば、タグオブジェクト27
33Aにメッセージを表示する。メッセージは、視点共有をユーザ5Aに案内するテキス
トと、視点を共有させる場合にユーザ5Aに課金される課金額とを含む。図61の例では
、視点共有のためにユーザ5Aに課金される課金額は、200円である。メッセージがタ
グオブジェクト2733Aに表示された後、プロセッサ210Aは、ユーザ5Aの左手の
動きに応じて、図61(A)に示すように、仮想左手1531LAを視界領域15A内に
移動させる。
プロセッサ210Aは、例えば、図61(A)に示す第2仮想空間2711Aに対応す
る視界画像6117Aを、図61(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像6117Aを視認することによって、アバターオブジェクト6Cがステ
ージオブジェクト1532上に移動したことを認識する。ユーザ5Aは、さらに、アバタ
ーオブジェクト6Cがステージオブジェクト1532上でアバターオブジェクト6Bの近
くでパフォーマンスを視認していることを認識する。ユーザ5Aは、さらに、タグオブジ
ェクト2733Cに表示されるメッセージを確認することによって、新たに200円の課
金額を支払えば、いずれかのアバターオブジェクト6の視点をアバターオブジェクト6A
に共有させることができることを認識する。
[課金による視点共有]
図62は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像3417Aを
示す図である。ユーザ5Aは、タグオブジェクト2733Aに表示されたメッセージを確
認した後、アバターオブジェクト6Cの視点をアバターオブジェクト6Aに共有させるこ
とを望む。ユーザ5Aは、この希望を叶えるため、タグオブジェクト2733Aを選択す
るための操作を行う。ステップS5803において、プロセッサ210Aは、ユーザ5A
の操作を検出した場合、視点共有に対応する課金情報をタグオブジェクト2733Aに登
録する。詳細には、プロセッサ210Aは、視点共有に必要な課金額(200円)を表す
課金情報をタグオブジェクト2733Aに新たに登録する。プロセッサ210Aは、課金
情報が登録されたことに応じて、第2仮想空間2711Aにおいて、他のアバターオブジ
ェクト6の視点をアバターオブジェクト6Aに共有させることを可能とする。プロセッサ
210Aは、視点共有が可能になったことを、例えば音声などでユーザ5Aに通知する。
プロセッサ210Aは、視点共有が可能になったことを、第2仮想空間2711A内の照
明を変更することによってユーザ5Aに通知することもできる。
プロセッサ210Aは、タグオブジェクト2733Aが選択された後の右手の動きに応
じて、図62(A)に示すように、仮想右手153の1RAの先端がアバターオブジェク
ト6Cを指し示すように、仮想右手1531RAを動かす。ステップS5804において
、プロセッサ210Aは、仮想右手1531RAの先端が指し示すアバターオブジェクト
6Cを特定する。
プロセッサ210Aは、例えば、図62(A)に示す第2仮想空間2711Aに対応す
る視界画像6217Aを、図62(B)に示すようにモニタ130Aに表示する。ステッ
プ5805において、プロセッサ210Aは、アバターオブジェクト6Cを示すマーク6
277を、視界画像6217Aにおいてアバターオブジェクト6Cに重畳させてモニタ1
30Aに表示する。プロセッサ210Aは、マーク6277を、アバターオブジェクト6
Cに接触または近接する仮想オブジェクトとして第2仮想空間2711Aに配置すること
もできる。プロセッサ210Aは、視界画像6217Aの生成時に、視界画像4617A
内のアバターオブジェクト6Cの位置にマーク6277を含めるようにすることもできる
。ユーザ5Aは、視界画像6217A内のマーク6277を視認することによって、アバ
ターオブジェクト6Cを指定したことを把握する。マーク6277の確認後、ユーザ5A
は、アバターオブジェクト6Cの視点をアバターオブジェクト6Aに共有させるための第
1操作を行う。第1操作は、例えば、右コントローラ300RAのいずれかのボタンをユ
ーザ5Aが押下することである。
図63は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像6317Aを
示す図である。ステップS5806において、プロセッサ210Aは、第1操作が検出さ
れたことに応じて、アバターオブジェクト6Cを選択する。ステップS5807において
、プロセッサ210Aは、アバターオブジェクト6Cが選択されたことに応じて、アバタ
ーオブジェクト6Cに対するパフォーマンスを視聴しているアバターオブジェクト6Cの
視点を、アバターオブジェクト6Aに共有させる。詳細には、プロセッサ210Aは、仮
想カメラ14Aを、アバターオブジェクト6Aの位置からアバターオブジェクト6Cの位
置まで移動させる。このとき、プロセッサ210Aは、アバターオブジェクト6Aを移動
させない。したがって、仮想カメラ14Aが移動した後、第2仮想空間2711Aにおい
てアバターオブジェクト6Aおよび仮想カメラ14Aが配置される位置は、互いに異なる
。プロセッサ210Aは、アバターオブジェクト6Cの頭部の向きに応じて、移動後の仮
想カメラ14Aの向きを制御する。これにより、アバターオブジェクト6Aはアバターオ
ブジェクト6Cの視点を共有することができる。
プロセッサ210Aは、視点共有に対応する課金情報がタグオブジェクト2733Aに
登録された場合、アバターオブジェクト6Cを選択するためのUIをタグオブジェクト2
733A上に表示することもできる。この場合、ユーザ5Aは、タグオブジェクト273
3Aに表示されるUIへの入力を通じて、アバターオブジェクト6Cを選択する。プロセ
ッサ210Aは、UIを通じて選択されたアバターオブジェクト6Cの視点を、アバター
オブジェクト6Aに共有させる。プロセッサ210Aは、視点共有に対応する課金情報が
タグオブジェクト2733Aに登録された場合、ユーザ5Aにアバターオブジェクト6C
を選択させることなく、アバターオブジェクト6Cの視点を自動的にアバターオブジェク
ト6Aに共有させることもできる。
視点共有後、ステップS5808において、プロセッサ210Aは、アバターオブジェ
クト6Bのアバター情報をサーバ600から受信する。ステップS5809において、プ
ロセッサ210Aは、受信したアバター情報に含まれる動き情報に基づいて、アバターオ
ブジェクト6Bに、アバターオブジェクト6Cに対するパフォーマンス(第2パフォーマ
ンス)を実行させる。このように、アバターオブジェクト6Cは、ステージ移動に対応す
る課金情報がタグオブジェクト2733Cに登録されたことに応じて、第2仮想空間27
11Aにおいてアバターオブジェクト6Cに対するアバターオブジェクト6Bによるパフ
ォーマンスを視聴している。
プロセッサ210Aは、例えば、図63(A)に示す第2仮想空間2711Aに対応す
る視界画像6317A(第1視界画像)を、図63(B)に示すようにモニタ130Aに
表示する。ユーザ5Aは、視界画像6317Aを視認することによって、アバターオブジ
ェクト6Cの視点がアバターオブジェクト6Aに共有されたことを認識する。言い換えれ
ば、ユーザ5Aは、ユーザ5Cと同様に、アバターオブジェクト6Bの目の前で、アバタ
ーオブジェクト6Cに対するパフォーマンスを視聴することができる。
図63(A)では、アバターオブジェクト6Cの視点がアバターオブジェクト6Aに共
有されるが、アバターオブジェクト6Aそのものはアバターオブジェクト6Bから遠く離
れた位置にいる。したがって、ユーザ5Aは、アバターオブジェクト6Aをアバターオブ
ジェクト6Bと直接的に交流させることはできない。例えば、ユーザ5Aは、仮想右手1
531RAをアバターオブジェクト6Bに向かって差し出したり、振らせたりすることは
できない。プロセッサ210Aは、ユーザ5Bが発した音声をスピーカ180Aに出力し
ないようにしてもよい。これにより、ユーザ5Aが、ユーザ5Bがアバターオブジェクト
6Cに向かって語りかける音声を聴取することはできないようにしてもよい。このように
、ユーザ5Aは、ユーザ5Cがアバターオブジェクト6B(ユーザ5B)と交流する様子
を、アバターオブジェクト6Cの視点で視認することができるのみである。視点共有のた
めの課金額(200円)は、ステージオブジェクト1532上への移動のための課金額(
1000円)よりも安いので、ユーザ5Aは、視点共有後にアバターオブジェクト6Aを
アバターオブジェクト6Bと交流させることができないことに納得する。さらに、ユーザ
5Aには、視点共有を試してみようという動機が与えられる。
図64は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像6417Bを
示す図である。図64(A)において、ステージオブジェクト1532上にアバターオブ
ジェクト6Bおよびアバターオブジェクト6Cが配置されている。アバターオブジェクト
6Aを含む異なる3つのアバターオブジェクト6が、アバターオブジェクト6Cの視点を
共有している。プロセッサ210Bは、アバターオブジェクト6Cの視点を共有している
アバターオブジェクト6の数をユーザ5Bに通知するためのモニタオブジェクト6478
を、アバターオブジェクト6Cに関連付けて第2仮想空間2711Bに配置する。モニタ
オブジェクト6478は、アバターオブジェクト6Cの上に配置される。プロセッサ21
0Bは、モニタオブジェクト6478に、アバターオブジェクト6Cの視点を共有してい
るアバターオブジェクト6の数を表示する。
プロセッサ210Bは、例えば、図64(A)に示す第2仮想空間2711Bに対応す
る視界画像6417Bを、図64(B)に示すようにモニタ130Bに表示する。ユーザ
5Bは、視界画像6417Bを視認することによって、アバターオブジェクト6Bの目の
前でアバターオブジェクト6Cがパフォーマンスを視聴していることを認識する。ユーザ
5Bは、さらに、モニタオブジェクト6478に表示される数を確認することによって、
アバターオブジェクト6Cの視点を他の3つのアバターオブジェクト6が共有しているこ
とを認識する。言い換えれば、ユーザ5Bは、アバターオブジェクト6Cに向けたパフォ
ーマンスが、どのくらいの数の他のユーザ5に受けているのかを把握することができる。
[課金によるアバターオブジェクト6Aの移動]
図65は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像6517Aを
示す図である。図65(A)に示すように、プロセッサ210Aは、アバターオブジェク
ト6Cをステージオブジェクト1532上に移動させた後、規定の条件(例えば、一定時
間の経過)が成立した場合、アバターオブジェクト6Cを第2仮想空間2711Aにおけ
る元の位置に戻す。ステップS5810において、プロセッサ210Aは、アバターオブ
ジェクト6Cを元の位置に戻した場合、視点共有を終了する。詳細には、プロセッサ21
0Aは、仮想カメラ14Aをアバターオブジェクト6Aの位置まで移動させる。
視点共有の終了後、プロセッサ210Aは、ステージオブジェクト1532上へのアバ
ターオブジェクト6Aの移動を案内するメッセージを、ライブ中にユーザ5Aに通知する
。プロセッサ210Aは、例えば、タグオブジェクト2733Aにメッセージを表示する
。メッセージは、ステージオブジェクト1532への移動をユーザ5Aに案内するテキス
トと、アバターオブジェクト6Aをステージオブジェクト1532上に移動させる場合に
ユーザ5Aに課金される課金額とを含む。図65の例では、アバターオブジェクト6Aを
ステージオブジェクト1532上に移動させるための課金額は、1000円である。
メッセージの表示後、プロセッサ210Aは、ユーザ5Aの左手の動きに応じて、図6
5(A)に示すように、仮想左手1531LAを視界領域15A内に移動させる。プロセ
ッサ210Aは、例えば、図65(A)に示す第2仮想空間2711Aに対応する視界画
像6517Aを、図65(B)に示すようにモニタ130Aに表示する。ユーザ5Aは、
視界画像6517Aを視認することによって、視点の共有が終了したことを認識する。ユ
ーザ5Aは、さらに、タグオブジェクト2733Aに表示されるメッセージを確認するこ
とによって、新たに1000円の課金額を支払えばアバターオブジェクト6Aをステージ
オブジェクト1532上に移動させることできることを認識する。
図66は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像6617Aを
示す図である。ユーザ5Aは、アバターオブジェクト6Cの視点をアバターオブジェクト
6Aに共有させた体験を楽しんだ結果、アバターオブジェクト6Aをステージオブジェク
ト1532上に移動させることによって、アバターオブジェクト6Bと直接交流すること
を望む。この希望を叶えるため、ユーザ5Aは、タグオブジェクト2733Aに表示され
たメッセージを確認した後、タグオブジェクト2733Aを選択するための操作を行う。
ステップS5811において、プロセッサ210Aは、タグオブジェクト2733Aを選
択するためのユーザ5Aの操作を検出した場合、ステージ移動に対応する課金情報をタグ
オブジェクト2733Aに登録する。詳細には、プロセッサ210Aは、視点の共有が終
了した後、ステージ移動に対応する課金額(1000円)を表す課金情報を、タグオブジ
ェクト2733Aに新たに登録する。
ステップS5812において、プロセッサ210Aは、ステージ移動に対応する課金情
報がタグオブジェクト2733Aに登録された場合、図66(A)に示すように、アバタ
ーオブジェクト6Aをステージオブジェクト1532上に移動させる。プロセッサ210
Aは、ステージオブジェクト1532におけるアバターオブジェクト6Bの目の前の位置
に、移動後のアバターオブジェクト6Aを配置する。ステップS5813において、プロ
セッサ210Aは、アバターオブジェクト6Bのアバター情報をサーバ600から受信す
る。ステップS5814において、アバターオブジェクト制御モジュール1424は、受
信したアバター情報に含まれる動き情報に応じて、アバターオブジェクト6Bに、アバタ
ーオブジェクト6Aに対するパフォーマンス(第2パフォーマンス)を実行させる。
プロセッサ210Aは、例えば、図66(A)に示す第2仮想空間2711Aに対応す
る視界画像6617Aを、図66(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像6617Aを視認することによって、アバターオブジェクト6Aがステ
ージオブジェクト1532上に移動したことを認識する。ユーザ5Aは、さらに、アバタ
ーオブジェクト6Bの目の前でパフォーマンスを楽しんだり、アバターオブジェクト6B
との(言い換えれば、ユーザ5Bとの)交流を楽しんだりすることができる。
図66では、視点共有の場合とは異なり、第2仮想空間2711Aにおいてアバターオ
ブジェクト6Aはアバターオブジェクト6Bの目の前にいる。したがって、ユーザ5Aは
、仮想右手1531RAをアバターオブジェクト6Bに向かって差し出したり、振らせた
りすることができる。プロセッサ210Aは、ユーザ5Bが発した音声をスピーカ180
Aに出力する。したがって、ユーザ5Aは、ユーザ5Bがアバターオブジェクト6Aに向
かって語りかける音声を聴取することができる。このように、ユーザ5Aは、視点共有の
場合とは異なりアバターオブジェクト6Aをアバターオブジェクト6Bと直接交流させる
ことができるので、視点共有の場合に比べてより満足することができる。
[本実施形態の主要な利点]
プロセッサ210Aは、第2仮想空間2711Aにおいて、アバターオブジェクト6A
とは異なる他のアバターオブジェクト6の視点を、アバターオブジェクト6Aに共有させ
ることができる。これにより、ユーザ5Aは、アバターオブジェクト6Aの視点だけでは
なく、アバターオブジェクト6Aとは異なる位置にいる他のアバターオブジェクト6の視
点でも、アバターオブジェクト6Bのパフォーマンスを視聴することができる。ユーザ5
Aは、例えば、アバターオブジェクト6Aを移動させたい位置にアバターオブジェクト6
Cがすでにいるために、その位置にアバターオブジェクト6Aを移動させることができな
い場合であっても、視点共有によってアバターオブジェクト6Cの視点でアバターオブジ
ェクト6Bのパフォーマンスを視聴することができる。このように、HMDシステム10
0は、第2仮想空間2711Aにおけるユーザ5Aの興趣性をより高めることができる。
本実施形態では、アバターオブジェクト6Cは、ステージ移動の課金額がユーザ5Cに
課金された結果、アバターオブジェクト6Bによるアバターオブジェクト6Cに対するパ
フォーマンスを視聴する。アバターオブジェクト6Aは、視点共有の課金額がユーザ5A
に課金された場合、課金の結果として行われるアバターオブジェクト6Cに対するパフォ
ーマンスを、アバターオブジェクト6Cの視点で視聴する。これにより、ユーザ5Aは、
アバターオブジェクト6Cに対するパフォーマンスを、不完全な形ではあるが事前に体験
することができる。ユーザ5Bは、視点共有時のアバターオブジェクト6Bのパフォーマ
ンスに満足した場合、アバターオブジェクト6Bによるパフォーマンスをアバターオブジ
ェクト6Aに対して実行して貰うことを望む。これにより、ユーザ5Aは、ステージ移動
のための課金額がユーザ5Aに課金されることを許容する。
このように、HMDシステム100は、ステージ移動に対応する課金額をユーザ5Cに
課金した後、視点共有に対応する課金額をユーザ5Aに課金し、さらにその課金をきっか
けとして、ステージ移動に対応する課金額をユーザ5Aにも課金することができる。この
ように、HMDシステム100は、ユーザ5Aに対する複数回数の課金サイクルを実現す
ることができるので、より多くの課金額をユーザ5Aに課金することができる。その結果
、ユーザ5Bは、ライブの売り上げをより増加させることができる。
[変形例]
視点共有のためのユーザ5Aに対する課金は、必ずしも必要ではない。プロセッサ21
0Aは、視点共有に対応する課金情報をタグオブジェクト2733Aに登録することなく
、視点共有をユーザ5Aに許可することができる。言い換えれば、プロセッサ210Aは
、ライブ中の任意の時点におけるユーザ5Aによる操作に応じて、他のアバターオブジェ
クト6の視点をアバターオブジェクト6Aに共有させることができる。プロセッサ210
Aは、ユーザ5Aによる操作を検出することなく、他のアバターオブジェクト6の視点を
アバターオブジェクト6Aに自動的に共有させることもできる。
プロセッサ210Aは、ステージオブジェクト1532に配置されない他のアバターオ
ブジェクト6の視点を、アバターオブジェクト6Aに共有させることができる。プロセッ
サ210Aは、例えば、ユーザ5Aによってアバターオブジェクト6Dが選択された場合
、アバターオブジェクト6Dの視点をアバターオブジェクト6Aに共有させる。
プロセッサ210Bは、複数の異なるアバターオブジェクト6のそれぞれについて、視
点を共有している他のアバターオブジェクト6の数をユーザ5Bに通知することができる
。これによりユーザ5Bは、第2仮想空間2711Bにおけるどのアバターオブジェクト
6の視点が、より多くのユーザ5の人気を集めているのかを把握することができる。
プロセッサ210Cは、ステージ移動に対応する課金情報を、必ずしもタグオブジェク
ト2733Cに登録する必要はない。プロセッサ210Cは、例えば、ステージ移動に対
応する課金情報をアバターオブジェクト6Cに関連付けてアバターオブジェクト6Cに登
録することもできる。プロセッサ210Cは、ステージ移動に対応する課金情報をタグオ
ブジェクト2733Cに登録する代わりに、ステージ移動に対応する課金(第2課金)に
関する任意の他の処理を実行することができる。当該他の処理は、例えば、ステージ移動
に対応する課金情報をタグオブジェクト2733Cに登録することなくサーバ600に送
信することである。
プロセッサ210Aは、視点共有に対応する課金情報を、必ずしもタグオブジェクト2
733Aに登録する必要はない。プロセッサ210Aは、例えば、視点共有に対応する課
金情報をアバターオブジェクト6Aに関連付けてアバターオブジェクト6Aに登録するこ
ともできる。プロセッサ210Aは、視点共有に対応する課金情報をタグオブジェクト2
733Aに登録する代わりに、視点共有に対応する課金(第1課金)に関する任意の他の
処理を実行することができる。当該他の処理は、例えば、視点共有に対応する課金情報を
タグオブジェクト2733Aに登録することなくサーバ600に送信することである。
プロセッサ210Aは、ステージ移動に対応する課金情報を、必ずしもタグオブジェク
ト2733Aに登録する必要はない。プロセッサ210Aは、例えば、ステージ移動に対
応する課金情報をアバターオブジェクト6Aに関連付けてアバターオブジェクト6Aに登
録することもできる。プロセッサ210Aは、ステージ移動に対応する課金情報をタグオ
ブジェクト2733Aに登録する代わりに、ステージ移動に対応する課金(第3課金)に
関する任意の他の処理を実行することができる。当該他の処理は、例えば、課金情報をタ
グオブジェクト2733Aに登録することなくサーバ600に送信することである。
ユーザ5Bは、視点共有を許可するための第1操作を行うことができる。プロセッサ2
10Bは、ユーザ5Bの第1操作を検出した場合、第1操作の検出を示す検出情報をサー
バ600を介してコンピュータ200Aに送信する。プロセッサ210Aは、コンピュー
タ200Bから送信された検出情報を受信する。プロセッサ210Aは、受信した検出情
報に基づいて、ユーザ5Bによる第1操作を検出する。プロセッサ210Aは、第1操作
が検出された場合、アバターオブジェクト6Aとは異なる他のいずれかのアバターオブジ
ェクト6の視点をアバターオブジェクト6Aに共有させることを可能とする。プロセッサ
210Aは、例えば、第1操作を検出した後、一定期間、アバターオブジェクト6Aとは
異なる他のいずれかのアバターオブジェクト6の視点をアバターオブジェクト6Aに共有
させることを可能とする。第1操作は、ユーザ5Bの操作そのものではなく、ユーザ5B
の発話内容などのユーザ5Bの動作であってもよいし、視点共有させることを可能とする
期間を指定する情報としてもよい。これにより、ユーザ5Bの許可無く勝手に他のアバタ
ーオブジェクト6の視点がアバターオブジェクト6Aに共有されることを防止することが
できる。言い換えれば、ユーザ5Bは、アバターオブジェクト6Aが他のアバターオブジ
ェクト6の視点を共有することができるタイミングを、自らの意志で指定することができ
る。これにより、ユーザ5Bは、ライブの演出をよりユーザ5Bの望むような形に制御す
ることができる。
プロセッサ210Aは、仮想カメラ14Aをアバターオブジェクト6Cの位置に移動さ
せることなく、アバターオブジェクト6Cの視点をアバターオブジェクト6Aに共有させ
ることができる。プロセッサ210Aは、例えば、アバターオブジェクト6Cの視点をア
バターオブジェクト6Aに共有させるためのユーザ5Aの操作を検出した場合、視点共有
を要求するための要求情報を、サーバ600を介してコンピュータ200Cに送信する。
プロセッサ210Cは、要求情報を受信した場合、仮想カメラ14Cによって生成される
、アバターオブジェクト6Cからの視界領域15Cに対応する視界画像6017C(第2
視界画像)を、サーバ600を介してコンピュータ200Aに送信する。プロセッサ21
0Aは、視界画像6017Cを受信した場合、仮想カメラ14Aの制御を一時的に停止す
る。プロセッサ210Aは、さらに、受信した視界画像6017Cを、モニタ130Aに
出力する。ユーザ5Aは、視界画像6017Cを視認することによって、アバターオブジ
ェクト6Cの視点でアバターオブジェクト6Bのパフォーマンスを視聴することができる
プロセッサ210Aは、第2仮想空間2711Aにおける第1事象の発生を検出するこ
とができる。第1事象は、例えば、アバターオブジェクト6Bが何らかの行動を取ること
である。アバターオブジェクト6Bの行動は、例えば、アバターオブジェクト6Bがステ
ージオブジェクト1532上の他の位置に移動することである。第1事象は、ステージオ
ブジェクト1532上でアバターオブジェクト6Bが一定時間以上、規定のパフォーマン
スを実行することでもよい。第1事象は、他には、アバターオブジェクト6Cがステージ
オブジェクト1532上に移動することでもよい。プロセッサ210Aは、第1事象を検
出した場合、他のアバターオブジェクト6の視点をアバターオブジェクト6Aに共有させ
ることを可能とする。これにより、勝手に他のアバターオブジェクト6の視点がアバター
オブジェクト6Aに共有されることを防止することができる。
プロセッサ210Aは、視点の共有後、仮想カメラ14Cの制御に連動させて仮想カメ
ラ14Aを制御することができる。プロセッサ210Aは、例えば、仮想カメラ14Aを
アバターオブジェクト6Cの位置に移動させた後、仮想カメラ14Cの位置および向きの
制御内容を表す制御情報を、サーバ600を介してコンピュータ200Cから受信する。
プロセッサ210Aは、受信した制御情報に応じて、仮想カメラ14Cの制御に連動させ
て仮想カメラ14Aを制御する。これにより、アバターオブジェクト6Cの視点をアバタ
ーオブジェクト6Aが共有していることを、より明瞭にユーザ5Aに実感させることがで
きる。
〔実施形態4〕
本実施形態において、プロセッサ210Bは、ユーザ5Bに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式と同一の
方式によって実行する。しかし、これに限定されず、プロセッサ210Bは、実施形態1
に係る方式とは異なる任意の方式によって、ユーザ5Bに対する課金および決済に関する
処理を実行することもできる。
[アバター選択フロー]
図67は、ある実施の形態に従うHMDセット110Bにおいて実行される処理の一部
を表すシーケンスチャートである。図68は、ある実施の形態に従う第3仮想空間681
1Bおよび視界画像6817Bを示す図である。ステップS6701において、コンピュ
ータ200Bのプロセッサ210B(以下単に「プロセッサ210B」)は、図68(A
)に示すような第3仮想空間6811Bを定義する。当該処理は、図11のステップS1
110の処理に相当する。具体的には、プロセッサ210Bは、仮想空間データを特定す
ることによって、仮想空間データによって表される第3仮想空間6811Bを定義する。
第3仮想空間6811Bは、第2仮想空間2711Bにおけるライブが開始される前にア
バターオブジェクト6Bが配置される仮想空間である。第3仮想空間6811Bは、ライ
ブ中にユーザ5Bによって用いられるアバターオブジェクトをユーザ5Bに選択させるた
めの仮想空間でもある。
ステップS6702において、プロセッサ210Bは、仮想カメラ14Bを生成し、第
3仮想空間6811Bに配置する。ステップS6703において、プロセッサ210Bは
、仮想右手1531RBおよび仮想左手1531LBを含むアバターオブジェクト6Bを
生成し、第3仮想空間6811Bに配置する。アバターオブジェクト6Bは、ライブ中に
ユーザ5Bによって使用されるアバターを第3仮想空間6811Bにおいて選択するため
に、ユーザ5Bによって使用される。本実施形態では、アバターオブジェクト6Bは第2
仮想空間2711Bにおいて使用されない。ステップS6704において、プロセッサ2
10Bは、UIパネル6850およびペンオブジェクト6853を生成し、第3仮想空間
6811Bに配置する。
本実施形態では、複数の異なるアバターオブジェクトが、HMDシステム100に予め
用意されている。ユーザ5Bは、複数のアバターオブジェクトの中から、第2仮想空間2
711Bにおいてライブに使用する1つのアバターオブジェクトを選択することができる
UIパネル6850はUIオブジェクトの一種であり、複数のアバターオブジェクトの
中から1つのアバターオブジェクトを選択するための処理をプロセッサ210Bに実行さ
せるために、ユーザ5Bによって用いられる。UIパネル6850は、UIパネル685
0の前面に配置される選択肢6851および6852を含む。選択肢6851および68
52は、その選択肢がユーザ5Bによって選択された場合に選択されるアバターオブジェ
クトの外観を示す画像を含む。選択肢6851は、複数のアバターオブジェクトのうちの
第1アバターオブジェクトを選択するための項目であり、選択肢6852は、複数のアバ
ターのうちの第2アバターオブジェクトを選択するための項目である。ペンオブジェクト
6853は、仮想オブジェクトの一種であり、UIパネル6850の選択肢6851また
は6852を選択するために、仮想右手1531RBまたは仮想左手1531LBによっ
て把持されかつ使用される。
ステップS6705において、プロセッサ210Bは、HMD120Bの動きに応じて
第3仮想空間6811Bにおける仮想カメラ14Bの位置および傾きを決定する。当該処
理は、図11のステップS1140の処理の一部に相当する。ステップS6706におい
て、プロセッサ210Bは、視界画像17Bをモニタ130Aに表示する。当該処理は、
図11のステップS1180およびS1190の処理に相当する。
プロセッサ210Bは、例えば、図68(A)に示す第3仮想空間6811Bに対応す
る視界画像6817Bを、図68(B)に示すようにモニタ130Bに表示する。ユーザ
5Bは、視界画像6817Bを視認することによって、UIパネル6850の選択肢68
51または選択肢6852を選択する必要があることを認識する。
上述したステップS6705およびS6706の処理(すなわち、HMD120Bの動
きに応じた視界画像17Bの更新)は、後述するステップS6707〜S6709が実行
される間にも、継続して繰り返し実行される。
ステップS6707において、プロセッサ210Bは、右コントローラ300RBの出
力に基づいて、ユーザ5Bの右手の動きを検出する。ステップS6708において、プロ
セッサ210Bは、検出されたユーザ5Bの右手の動きに応じて、第3仮想空間6811
Bにおいて仮想右手1531RBを動かす。ある局面において、プロセッサ210Bは、
ユーザ5Bの右手の動きに応じて、ペンオブジェクト6853に仮想右手1531RBを
近づけるように、第3仮想空間6811Bにおいて仮想右手1531RBを動かす。プロ
セッサ210Bは、仮想右手1531RBがペンオブジェクト6853に十分に近づいた
後、ユーザ5Bの右手の動きに基づいて、仮想右手1531RBでペンオブジェクト68
53を選択する(掴む)。
図69は、ある実施の形態に従う第3仮想空間6811Bおよび視界画像6917Bを
示す図である。図69(A)に示すように、プロセッサ210Bは、仮想右手1531R
Bがペンオブジェクト6853を選択した後、ユーザ5Bの右手の動きに基づいて、ペン
オブジェクト6853の先端を選択肢6851に近づけるように、第3仮想空間6811
Bにおいて仮想右手1531RBおよびペンオブジェクト6853を動かす。プロセッサ
210Bは、ペンオブジェクト6853の先端と選択肢6851とが衝突したことに基づ
いて、ペンオブジェクト6853によって選択肢6851が選択されたことを検出する。
ステップS6709において、プロセッサ210Bは、複数のアバターオブジェクトの中
から、選択された選択肢6851に対応するアバターオブジェクト7106Bを選択する
。アバターオブジェクト7106Bの外観およびサイズは、アバターオブジェクト6Bの
外観およびサイズとは異なっている。
プロセッサ210Bは、例えば、図69(A)に示す第3仮想空間6811Bに対応す
る視界画像6917Bを、図69(B)に示すようにモニタ130Aに表示する。ユーザ
5Bは、視界画像6917Bを視認することによって、UIパネル6850の選択肢68
51を選択したことによってアバターオブジェクト7106Bを選択したことを、認識す
る。
プロセッサ210Bは、アバターオブジェクト7106Bの選択後、第3仮想空間68
11Bにおけるアバターオブジェクト6Bの配置を終了する。この後、プロセッサ210
Bは、第3仮想空間6811Bの定義を継続する。プロセッサ210Bは、さらに、アバ
ターオブジェクト6Bが配置されなくなった後も、第3仮想空間6811Bには他の仮想
オブジェクトを配置したままにする。プロセッサ210Bは、ユーザ5Bに対する第3仮
想空間6811Bの提供を中断する。プロセッサ210Bは、さらに、アバターオブジェ
クト7106Bにパフォーマンスを実行させる一連の処理を実行することによって、第2
仮想空間2711Bをユーザ5Bに新たに提供する。
ユーザ5Bによるアバターオブジェクトの選択方式は、上述した例に限定されない。プ
ロセッサ210Bは、例えば、選択肢6851が示す第1アバターオブジェクトおよび選
択肢6852が示す第2アバターオブジェクトを、第3仮想空間6811Bに配置しても
よい。ユーザ5Bは、例えば、仮想右手1531RBを、第3仮想空間6811Bに配置
される第1アバターオブジェクトまたは第2アバターオブジェクトに接触させる。プロセ
ッサ210Bは、仮想右手1531RBに接触したアバターオブジェクトを選択する。
[パフォーマンス実行処理フロー]
図70は、ある実施の形態に従うHMDセット110Bにおいて実行される処理の一部
を表すシーケンスチャートである。図71は、ある実施の形態に従う第2仮想空間271
1Bおよび視界画像7117Aを示す図である。ステップS7001において、プロセッ
サ210Bは、図71(A)に示すような第2仮想空間2711Bを定義する。ステップ
S7002において、プロセッサ210Bは、仮想カメラ14Bを生成し、第2仮想空間
2711Bに配置する。ステップS7003において、プロセッサ210Bは、ステージ
オブジェクト1532を生成し、第2仮想空間2711Bに配置する。ステップS700
4において、プロセッサ210Bは、アバターオブジェクト6A、6C、および6Dの各
アバター情報を、サーバ600から受信する。ステップS7005において、プロセッサ
210Bは、受信した各アバター情報に基づいて、アバターオブジェクト6A、6C、お
よび6Dを第2仮想空間2711Bに配置する。
ステップS7006において、プロセッサ210Bは、仮想右手7131RBおよび仮
想左手7131LBを含むアバターオブジェクト7106B(第1アバター)を、ユーザ
5B(第1ユーザ)に関連付けて第2仮想空間2711Bに配置する。詳細には、プロセ
ッサ210Bは、アバターオブジェクト7106Bをステージオブジェクト1532上に
配置する。図示しないが、プロセッサ210Bは、任意のタイミングで、アバターオブジ
ェクト6Bのアバター情報を生成し、サーバ600に送信する。
ステップS7007において、プロセッサ210Bは、タグオブジェクト2733Bを
生成し、アバターオブジェクト7106Bに関連付ける。詳細には、プロセッサ210B
は、タグオブジェクト2733Bをアバターオブジェクト7106Bの仮想左手7131
LBに配置する。プロセッサ210Bは、ライブ中にユーザ5Bに課金されることが可能
な課金額の上限を表す上限課金情報を、タグオブジェクト2733Bに登録する。
ステージオブジェクト1532上にアバターオブジェクト7106Bが配置された後、
第2仮想空間2711Bにおいて、アバターオブジェクト7106Bによるライブが開始
される。図71(A)は、ライブが開始された時点の第2仮想空間2711Bを表す。プ
ロセッサ210Bは、ライブの開始時点では、タグオブジェクト2733Bに課金情報を
登録しない。ステップS7008において、プロセッサ210Bは、HMD120Bの動
きに応じて第2仮想空間2711Bにおける仮想カメラ14Bの位置および傾きを決定す
る。この処理は、ステップS2305における処理と基本的に同一であるため、詳細な説
明を繰り返さない。ステップS7009において、プロセッサ210Bは、視界画像17
Bをモニタ130Bに表示する。この処理は、ステップS2306における処理と基本的
に同一であるため、詳細な説明を繰り返さない。
プロセッサ210Bは、例えば、図71(A)に示す第2仮想空間2711Bに対応す
る視界画像7117Bを、図71(B)に示すようにモニタ130Bに表示する。プロセ
ッサ210Bは、上限課金情報が表す上限課金額をタグオブジェクト2733Bに表示す
る。プロセッサ210Bは、さらに、課金情報がタグオブジェクト2733Aに登録され
ていないことに応じて、合計課金額として0円をタグオブジェクト2733Aに表示する
。ユーザ5Bは、視界画像7117Bを視認することによって、ライブの視聴者であるア
バターオブジェクト6A、6C、および6Dがステージオブジェクト1532の前にいる
ことを認識する。ユーザ5Bは、さらに、ライブの開始時点ではアバターオブジェクト7
106Bの使用料がユーザ5Bに課金されていないことを認識する。
図72は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像7217Aを
示す図である。プロセッサ210Aは、第2仮想空間2711Bが定義された後、アバタ
ーオブジェクト6Bのアバター情報をサーバ600からリアルタイムに受信する。プロセ
ッサ210Aは、最初に受信したアバターオブジェクト6Bのアバター情報に基づいて、
図72(A)に示すように、アバターオブジェクト7106Bを第2仮想空間2711A
に配置する。詳細には、プロセッサ210Aは、アバターオブジェクト7106Bをステ
ージオブジェクト1532上に配置する。
プロセッサ210Aは、例えば、図72(A)に示す第2仮想空間2711Aに対応す
る視界画像7217Aを、図72(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像7217Aを視認することによって、ライブの演者であるアバターオブ
ジェクト7106Bがステージオブジェクト1532上に登場したことを認識する。ユー
ザ5は、さらに、アバターオブジェクト7106Bによるライブがこれから開始されるこ
とを認識する。
図73は、ある実施形態に係るユーザ5Bの姿勢の一例を表す図である。ライブの開始
後、ユーザ5Bは、例えば図73に示す姿勢を取るように自身の身体を動かす。ステップ
S7010において、プロセッサ210Bは、各モーションセンサの出力に基づいて、図
73に示す姿勢を取った際のユーザ5Bの動きを検出する。
図74は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像7417Bを
示す図である。ステップS7011において、プロセッサ210Bは、ユーザ5Bの動き
に応じて、図74(A)に示すように、第2仮想空間2711Bにおいてアバターオブジ
ェクト7106Bにパフォーマンスを実行させる。詳細には、プロセッサ210Bは、図
73に示すユーザ5Bの身体の動きを、アバターオブジェクト7106Bに反映させる。
プロセッサ210Bは、アバターオブジェクト7106Bがパフォーマンスを実行した際
のアバターオブジェクト7106Bの動き情報を含むアバター情報を、サーバ600にリ
アルタイムに送信する。
プロセッサ210Bは、例えば、図74(A)に示す第2仮想空間2711Bに対応す
る視界画像7417Bを、図74(B)に示すようにモニタ130Bに表示する。ユーザ
5Bは、視界画像7417Bを視認することによって、パフォーマンスに対するアバター
オブジェクト6A、6C、および6Dの反応を確認する。
図75は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像7517Aを
示す図である。第2仮想空間2711Bにおいてアバターオブジェクト7106Bがパフ
ォーマンスを実行した後、プロセッサ210Aは、アバターオブジェクト7106Bのア
バター情報をサーバ600からリアルタイムに受信する。プロセッサ210Aは、受信し
たアバター情報に含まれる動き情報に基づいて、アバターオブジェクト7106Bにパフ
ォーマンスを実行させる。これにより、プロセッサ210Aは、図73に示すユーザ5B
の動きに応じて、アバターオブジェクト7106Bにパフォーマンスを実行させることが
できる。プロセッサ210Aは、アバターオブジェクト7106Bによるパフォーマンス
を、第2仮想空間2711Aにおいてアバターオブジェクト6Aに視聴させる。プロセッ
サ210Aは、例えば、図75(A)に示す第2仮想空間2711Aに対応する視界画像
7517Aを、図75(B)に示すようにモニタ130Aに表示する。ユーザ5Aは、視
界画像7517Aを視認することによって、アバターオブジェクト7106Bがステージ
オブジェクト1532上で第1パフォーマンスを実行したことを認識する。これにより、
ユーザ5Aは、アバターオブジェクト6Aの視点で、アバターオブジェクト7106Bに
よるパフォーマンスを楽しむことができる。
[課金情報の登録]
図76は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像7617Bを
示す図である。図76(A)に示す第2仮想空間2711Bにおいて、アバターオブジェ
クト7106Bのライブはすでに終了している。ステップS7012において、プロセッ
サ210Bは、第2仮想空間2711Bにおけるアバターオブジェクト7106Bのパフ
ォーマンスに応じた課金情報を、タグオブジェクト2733Bに登録する。プロセッサ2
10Bは、例えば、第2仮想空間2711Bにおいてアバターオブジェクト7106Bが
使用された時間に応じた課金額を表す課金情報を、ライブが終了した後にタグオブジェク
ト2733Bに登録する。プロセッサ210Bは、ライブの開始時点から終了時点までの
経過時間に、アバターオブジェクト7106Bに設定される一定時間ごとの課金単価を乗
算することによって、アバターオブジェクト7106Bの使用料である課金額を算出する
。図76では、課金額として1000円が算出される。プロセッサ210Bは、算出され
た課金額を表す課金情報を、タグオブジェクト2733Bに登録する。プロセッサ210
Bは、登録された課金情報をタグオブジェクト2733B上で視覚化する。
プロセッサ210Bは、例えば、図76(A)に示す第2仮想空間2711Bに対応す
る視界画像7617Bを、図76(B)に示すようにモニタ130Bに表示する。ユーザ
5Bは、視界画像7617Bを視認することによって、アバターオブジェクト7106B
の使用料として1000円がユーザ5Bに課金されたことを把握する。
ユーザ5Bは、ライブ終了時点での合計課金額を確認した後、アバターオブジェクト7
106Bを第2仮想空間2711Bから退出させるための操作を行う。この操作は、例え
ば、右コントローラ300RBのいずれかのボタンをユーザ5Bが押下することである。
ステップS7013において、プロセッサ210Bは、アバターオブジェクト7106B
を退出させるためのユーザ5Bの操作を検出したことに応じて、アバターオブジェクト7
106Bを第2仮想空間2711Bから退出させる。これにより、プロセッサ210Bは
、ユーザ5Bに対する第2仮想空間2711Bの提供を終了する。
図77は、ある実施の形態に従う第3仮想空間6811Bおよび視界画像7717Bを
示す図である。ステップS7014において、プロセッサ210Bは、アバターオブジェ
クト6Bを、図77(A)に示すように再び第3仮想空間6811Bに配置する。このと
き、プロセッサ210Bは、仮想左手1531LBにタグオブジェクト2733Bを配置
しない。ステップS7015において、プロセッサ210Bは、タグオブジェクト273
3Bに登録された課金情報に応じた決済に関する処理を実行する。この処理は、ステップ
S2618における処理と基本的に同一であるため、詳細な説明を繰り返さない。
プロセッサ210Bは、例えば、図77(A)に示す第3仮想空間6811Bに対応す
る視界画像7717Bを、図77(B)に示すようにモニタ130Bに表示する。サーバ
600は、決済が終了したことをコンピュータ200Bに通知する。プロセッサ210B
は、決済の完了がサーバ600から通知されたことに応じて、決済が完了したことを視界
画像7717B上でユーザ5Bに通知する。プロセッサ210Bは、例えば、決済が完了
したことを説明するメッセージを含む通知画像3735を、視界画像7717Bに重畳さ
せてモニタ130Bに表示する。プロセッサ210Bは、通知画像3735と同一の外観
を有する仮想オブジェクトを、第2仮想空間2711Bにおける視界領域15B内の任意
の位置に配置することもできる。プロセッサ210Bは、あるいは、視界画像7717B
の生成時に、視界画像7717B内の任意の位置に通知画像3735を含めることもでき
る。ユーザ5Bは、視界画像7717Bを視認することによって、ライブの終了後、第3
仮想空間6811Bにアバターオブジェクト6Bが再び配置されたことを認識する。ユー
ザ5Bは、さらに、通知画像3735を視認することによって、アバターオブジェクト7
106Bの使用料に対応する課金額の決済が完了したことを把握する。ユーザ5Bは、さ
らに、第3仮想空間6811Bにおいて仮想左手7131LBにタグオブジェクト273
3Bが配置されないので、アバターオブジェクト7106Bの使用料金がこれ以上課金さ
れないことを認識する。
ステップS7016において、プロセッサ210Bは、アバターオブジェクト7106
Bの作成者への報酬を決定する。プロセッサ210Bは、詳細には、タグオブジェクト2
733Bに登録された課金情報に応じて報酬を決定する。課金情報はアバターオブジェク
ト7106Bのパフォーマンスに応じて登録されるので、課金情報に応じて報酬を決定す
ることは、アバターオブジェクト7106Bのパフォーマンスに応じて報酬を決定するこ
とと同義である。図76の例では、第2仮想空間2711Bにおいてアバターオブジェク
ト7106Bが使用された時間に応じた課金額を表す課金情報が登録される。したがって
、プロセッサ210Bは、第2仮想空間2711Bにおいてアバターオブジェクト710
6Bが使用された時間に応じた報酬を決定する。
ステップS7017において、プロセッサ210Bは、決定された報酬をアバターオブ
ジェクト7106Bの作成者に支払うための処理を実行する。プロセッサ210Bは、例
えば、決定された報酬をサーバ600に通知する。サーバ600は、決済の実行後、通知
された報酬をアバターオブジェクト7106Bの作成者に支払う。サーバ600は、アバ
ターオブジェクト7106Bが使用されるライブが終了するたびに、報酬をアバターオブ
ジェクト7106Bの使用者に支払うことができる。サーバ600は、あるいは、一定期
間(例えば一ヶ月)内のアバターオブジェクト7106Bの使用料の合計に応じた報酬を
、一定期間が経過した時点でアバターオブジェクト7106Bの作成者にまとめて支払う
こともできる。サーバ600ではなくプロセッサ210Bが、課金情報に応じた報酬をア
バターオブジェクト7106Bの作成者に支払うこともできる。
[本実施形態の主要な利点]
以上のように、プロセッサ210Bは、第2仮想空間2711Bにおけるアバターオブ
ジェクト7106Bのパフォーマンスに応じた課金情報を、タグオブジェクト2733B
に登録する。このように、HMDシステム100は、第2仮想空間2711Bにおける好
適な課金方式をユーザ5Bに提供することができる。
プロセッサ210Bは、ユーザ5Bの位置情報および関節の回転方向に応じて、ユーザ
5Bによって選択されたアバターオブジェクトにパフォーマンスを実行させる。これによ
り、ユーザ5Bとは形状が大きく異なるアバターオブジェクトに対しても、ユーザ5Bの
動きを正確に反映させることができる。このように、HMDシステム100では、ユーザ
5Bが選択可能なアバターオブジェクトの形状を、特定の形状に制約する必要がない。し
たがって、形状が異なる多様なアバターオブジェクトを、HMDシステム100に用意す
ることができる。その結果、ユーザ5Bが選択可能なアバターオブジェクトの選択肢をよ
り増やすことができるので、演者によるライブの多様性を高めることができる。
アバターオブジェクトの作成者は、自身が作成したアバターオブジェクトが演者によっ
て使用された場合、アバターオブジェクトのパフォーマンスに応じた報酬を受け取ること
ができる。したがって、HMDシステム100は、HMDシステム100において使用可
能な新たなアバターオブジェクトを作成する動機を、多くの作成者に与えることができる
。その結果、HMDシステム100に用意されるアバターオブジェクトの種類をより増や
すことができる。これにより、演者が選択可能なアバターオブジェクトの選択肢を、より
増やすことができるので、演者によるライブの多様性を高めることができる。
[変形例]
プロセッサ210Bは、アバター使用に対応する課金情報を、必ずしもタグオブジェク
ト2733Bに登録する必要はない。プロセッサ210Bは、例えば、アバター使用に対
応する課金情報をアバターオブジェクト7106Bに関連付けてアバターオブジェクト7
106Bに登録することもできる。プロセッサ210Bは、アバター使用に対応する課金
情報をタグオブジェクト2733Bに登録する代わりに、アバター使用に対応する課金に
関する任意の他の処理を実行することができる。当該他の処理は、例えば、アバター使用
に対応する課金情報をタグオブジェクト2733Bに登録することなくサーバ600に送
信することである。
プロセッサ210Bは、第2仮想空間2711Bにおけるライブの売り上げに応じた課
金額に対応する課金に関する処理を、実行することができる。プロセッサ210Bは、さ
らに、第2仮想空間2711Bにおけるライブの売り上げに応じた報酬を決定することが
できる。プロセッサ210Bは、例えば、売り上げの一部をライブの売り上げに応じた課
金額として算出する。プロセッサ210Bは、売り上げに応じた課金額を表す課金情報を
、タグオブジェクト2733Bに登録する。これにより、ライブの売り上げがより高くな
るほど、アバターオブジェクト7106Bの使用料としてユーザ5Bに課金される課金額
もより高くなる。また、ライブの売り上げがより高いほど、アバターオブジェクト710
6Bの作成者に支払われる報酬もより高くなる。これにより、HMDシステム100は、
ライブの売り上げ増加に繋がるような人気のあるアバターオブジェクト7106Bを作成
する動機を、作成者に与えることができる。
プロセッサ210Bは、アバターオブジェクト7106Bが使用される第2仮想空間2
711Bの内容に応じた課金額に対応する課金に関する処理を、実行することができる。
プロセッサ210Bは、さらに、第2仮想空間2711Bの内容に応じた報酬を決定する
ことができる。プロセッサ210Bは、例えば、アバターオブジェクト7106Bが使用
される第2仮想空間2711Bのサイズがより大きいほど、アバターオブジェクト710
6Bの使用料としてより高い課金額を算出する。プロセッサ210Bは、算出した課金額
を表す課金情報をタグオブジェクト2733Bに登録する。アバターオブジェクト710
6Bが使用される第2仮想空間2711Bのサイズがより大きいほど、アバターオブジェ
クト7106Bの作成者に支払われる報酬がより高くなる。これにより、HMDシステム
100は、より大きいサイズの第2仮想空間2711Bにおいて使用されるような人気の
あるアバターオブジェクト7106Bを作成する動機を、作成者に与えることができる。
プロセッサ210Bは、第2仮想空間2711Bにおけるアバターオブジェクト710
6Bの使用履歴を生成することができる。プロセッサ210Bは、使用履歴として、例え
ば、第2仮想空間2711Bにおけるアバターオブジェクト7106Bの使用時間の履歴
を生成する。プロセッサ210Aは、使用履歴として、例えば、第2仮想空間2711B
においてアバターオブジェクト7106Bが使用されたライブの売り上げの履歴を生成す
る。プロセッサ210Bは、例えば、アバターオブジェクト7106Bが使用された第2
仮想空間2711Aの履歴を生成する。プロセッサ210Bは、生成された使用履歴を、
アバターオブジェクト7106Bの作成者に通知する。作成者は、通知されたアバターオ
ブジェクト7106Bの使用履歴を閲覧することによって、第2仮想空間2711Bにお
いて過去にアバターオブジェクト7106Bが使用された状況の詳細を把握することがで
きる。作成者は、把握した使用状況を参考にすることによって、より優れたアバターオブ
ジェクトを新たに作成することができる。
ユーザ5Bは、アバターオブジェクト7106Bを、作成者からレンタルすることもで
きる。この場合、プロセッサ210Bは、アバターオブジェクト7106Bのレンタル期
間に応じた課金額を、ユーザ5Bに課金する。プロセッサ210Bは、さらに、アバター
オブジェクト7106Bのレンタル期間に応じた報酬を決定する。
〔実施形態5〕
本実施形態において、プロセッサ210Aは、ユーザ5Aに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式によって
実行する。しかし、これに限定されず、プロセッサ210Aは、実施形態1に係る方式と
は異なる任意の方式によって、ユーザ5Aに対する課金および決済に関する処理を実行す
ることもできる。
[第2パフォーマンスのリクエスト]
図78は、HMDシステム100において実行される処理の一例を示すシーケンスチャ
ートである。以下では、ユーザ5A(第1ユーザ)が行った第2パフォーマンスのリクエ
ストに対し、ユーザ5B(第2ユーザ)が、仮想空間11Bにてアバターオブジェクト6
B(第2アバター)に第2パフォーマンスを実行させるための一連の処理を説明する。図
78に示すシーケンスチャートは、図26に示すステップS2614が実行された後の処
理を示している。なお、第2パフォーマンスのリクエストは、ユーザ5Cが行ってもよい
し、ユーザ5Dが行ってもよい。
図79は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像7917Aを
示す図である。プロセッサ210Aは、アバターオブジェクト6Bに対する第2パフォー
マンスのリクエストをユーザ5Aに案内するメッセージを、ライブ中にユーザ5Aに通知
する。プロセッサ210Aは、例えば、タグオブジェクト2733Aにメッセージを表示
する。メッセージは、第2パフォーマンスの内容をユーザ5Aに案内するテキストと、ユ
ーザ5Aが第2パフォーマンスをリクエストするために必要な課金額とを含む。図79の
例では、第2パフォーマンスの内容は指さしポーズであり、指さしポーズのリクエストを
行うために必要な課金額は500円である。指さしポーズとは、例えば、アバターオブジ
ェクト6Bがアバターオブジェクト6A(第1アバター)を指さすパフォーマンスである
。このように、第2パフォーマンスは、第2パフォーマンスをリクエストしたユーザ5に
関連付けられたアバターオブジェクト6を対象とするパフォーマンスであってもよい。
メッセージがタグオブジェクト2733Aに表示された後、プロセッサ210Aは、ユ
ーザ5Aの左手の動きに応じて、図79(A)に示すように、仮想左手1531LAを視
界領域15A内に移動させる。プロセッサ210Aは、例えば、図79(A)に示す第2
仮想空間2711Aに対応する視界画像7917Aを、図79(B)に示すようにモニタ
130Aに表示する。ユーザ5Aは、視界画像7917Aを視認することによって、タグ
オブジェクト2733Aに表示されるメッセージを確認する。これにより、ユーザ5Aは
、新たに500円の課金額を支払えば、アバターオブジェクト6Bに対して、指さしポー
ズをリクエストできることを認識する。
ユーザ5Aは、タグオブジェクト2733Aに表示されたメッセージを確認した後、指
さしポーズをリクエストするための操作を行う。該操作は、実施形態1にて図34を参照
して説明しているため、ここでは繰り返さない。プロセッサ210Aは、第2パフォーマ
ンスのリクエストを案内するメッセージが表示されるタグオブジェクト2733Aが選択
されたことに応じて、第2パフォーマンスをリクエストするためのユーザ5Aの操作を検
出する。
図80は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像8017Aを
示す図である。ステップS7801において、プロセッサ210Aは、第2パフォーマン
スのリクエストに対応する課金情報を、タグオブジェクト2733Aに登録する。図79
の例では、プロセッサ210Aは、アバターオブジェクト6Aが、仮想右手1531RA
でタグオブジェクト2733Aを選択した場合、指さしポーズのリクエストに必要な課金
額(500円)を表す課金情報を、タグオブジェクト2733Aに新たに登録する。なお
、登録された課金情報が表す課金額の決済は、実施形態1で説明した方法で行えばよい。
課金情報が登録された後、プロセッサ210Aは、タグオブジェクト2733A上で課
金情報を再び視覚化する。この処理の詳細については、実施形態1にて図35を参照して
説明しているため、ここでは繰り返さない。プロセッサ210Aは、例えば、図80(A
)に示す第2仮想空間2711Aに対応する視界画像8017Aを、図80(B)に示す
ようにモニタ130Aに表示する。ユーザ5Aは、視界画像8017Aを視認することに
よって、指さしポーズをリクエストした結果として現時点での合計課金額が2000円に
増加したことを認識する。
ステップS7802において、プロセッサ210Aは、第2パフォーマンスのリクエス
トをコンピュータ200Bへ送信する。詳細には、プロセッサ210Aは、該リクエスト
をサーバ600へ送信する。サーバ600は、受信した第2パフォーマンスに関する情報
を、同期処理によってコンピュータ200Bへ送信する。なお、コンピュータ200Aと
コンピュータ200Bとの間の情報の送受信がサーバ600を介して行われることは、実
施形態1にて図17を参照して既に説明している。このため、図78では、サーバ600
が実行する処理を図示していない。
図81は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像8117Bを
示す図である。図81の例では、アバターオブジェクト6Bは、アバターオブジェクト6
C(第3アバター)の方向を向いており、かつ、アバターオブジェクト6Aは、視界領域
外の第1位置8176に配置されている。つまり、視界領域15B内には、アバターオブ
ジェクト6Aが配置されていない。プロセッサ210Bは、例えば、図81(A)に示す
第2仮想空間2711Bに対応する視界画像8117Bを、図81(B)に示すようにモ
ニタ130Aに表示する。
ステップS7811において、プロセッサ210Bは、プロセッサ210Aから送信さ
れた第2パフォーマンスのリクエストを受信する。ステップS7812において、プロセ
ッサ210Bは、リクエストされた第2パフォーマンスに関する情報をユーザ5Bに通知
する。リクエストされた第2パフォーマンスに関する情報は、例えば、リクエストされた
第2パフォーマンスの内容であってもよい。プロセッサ210Bは、さらに、第2パフォ
ーマンスをリクエストしたユーザ5Aに関連付けられたアバターオブジェクト6Aの、第
2仮想空間2711Bにおける位置(以下、「第1位置」)を示す情報をユーザ5Bに通
知してもよい。プロセッサ210Bは、一例として、リクエストされた第2パフォーマン
スに関する情報と、第1位置8176を示す情報とを、視界画像8117B上で通知する
。プロセッサ210Bは、例えば、図81(B)に示すように、通知画像8181および
矢印画像8182を視界画像8117Bに含めて、モニタ130に表示する。プロセッサ
210Bは、通知画像8181と同一の外観を有する仮想オブジェクトを、第2仮想空間
2711Bに配置することもできる。プロセッサ210Bは、矢印画像8182と同一の
外観を有する仮想オブジェクトを、第2仮想空間2711Bに配置することもできる。
通知画像8181は、一例として、図81(B)に示すように、第2パフォーマンスが
リクエストされたこと、および、リクエストされた第2パフォーマンスの内容を含む。こ
れにより、ユーザ5Bは、第2パフォーマンスがリクエストされたこと、および、リクエ
ストされた第2パフォーマンスの内容を認識することができる。
矢印画像8182は、図81(A)に示すように、アバターオブジェクト6Aが視界領
域15Bに配置されていない場合の第1位置8176を示す画像である。詳細には、矢印
画像8182は、視界領域15B内の第2位置8177から、アバターオブジェクト6A
がいる第1位置8176へ向かう第1方向8178に対応する、視界画像8117Bにお
ける第2方向を示す画像である。すなわち、図81の例の場合、矢印画像8182は、視
界画像8117Bの左から右へ向かう(右向きの)矢印の画像である。矢印画像8182
が視界画像8117Bに含まれていることにより、ユーザ5Bは、右方向に頭部を動かす
ことにより、視界画像17Bに、第2パフォーマンスをリクエストしたユーザ5に関連付
けられたアバターオブジェクト6(アバターオブジェクト6A)が含まれることを、容易
に認識することができる。
なお、プロセッサ210Bは、リクエストに含まれるアバターオブジェクト6Aを識別
する情報を用いて、第2仮想空間2711Bにおける、アバターオブジェクト6Aの第1
位置8176を特定すればよい。該情報は、例えば、ユーザ5Aまたはアバターオブジェ
クト6AのIDであってもよい。そして、プロセッサ210Bは、アバターオブジェクト
6Aが視界領域15Bに配置されているか否かを判定すればよい。
図82は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像8217Bを
示す図である。ユーザ5Bが頭部を動かしたことにより、アバターオブジェクト6Bが図
82(A)に示す方向を向いたとする。これにより、図82(A)に示すように、アバタ
ーオブジェクト6Aが視界領域15Bに含まれる。換言すれば、プロセッサ210Bは、
アバターオブジェクト6Aが視界領域15Bに含まれていると判定する。プロセッサ21
0Bは、図82(A)に示す第2仮想空間2711Bに対応する視界画像8117Bに、
図82(B)に示すように、アバターオブジェクト6Aを囲う枠画像8283を含めて、
モニタ130Bに表示する。これにより、ユーザ5Bは、第2パフォーマンスをリクエス
トしたユーザ5に関連付けられたアバターオブジェクト6を容易に特定することができる
。プロセッサ210Bは、枠画像8283と同一の外観を有する仮想オブジェクトを、ア
バターオブジェクト6Aを囲うように第2仮想空間2711Bに配置することもできる。
図83は、ある実施形態に係るユーザ5Bの姿勢の一例を表す図である。ステップS7
813において、プロセッサ210Bは、第2パフォーマンスに対応するユーザ5Bの動
きを検出する。図81(B)に示す通知画像8181を視認したユーザ5Bは、例えば図
83に示す姿勢、すなわち、右手を前に突き出す姿勢を取るように自身の身体を動かす。
このとき、ユーザ5Bは、右コントローラ300RBに設けられたボタン(図83では不
図示)を操作(例えば押下)するものとする。図83に示す姿勢は、ユーザ5Aにリクエ
ストされた第2パフォーマンス、すなわち指さしポーズに対応する姿勢である。
図84は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像8417Bを
示す図である。ステップS7814において、プロセッサ210Bは、検出した動きに応
じてアバターオブジェクト6Bに第2パフォーマンスを実行させる。一例として、プロセ
ッサ210Bは、図83に示す姿勢をとるユーザ5Bの動き、および、右コントローラ3
00RBに設けられたボタンの押下に応じて、図84(A)に示すように、アバターオブ
ジェクト6Bに指さしポーズを実行させる。詳細には、プロセッサ210Bは、仮想右手
1531RBを前に伸ばし、伸ばした先を指さす動作を、アバターオブジェクト6Bに実
行させる。プロセッサ210Bは、例えば、図84(A)に示す第2仮想空間2711B
に対応する視界画像8417Bを、図84(B)に示すようにモニタ130Aに表示する
。ユーザ5Bは仮想右手1531RBを含む視界画像8417Bを視認することによって
、アバターオブジェクト6Bが指さしポーズを実行していることを認識することができる
プロセッサ210Bは、アバターオブジェクト6Bに第2パフォーマンスを実行させる
と、図84(B)に示すように、通知画像8181および枠画像8283を視界画像84
17Bにおいて非表示とする。一例として、プロセッサ210Bは、ユーザ5Bがとった
姿勢を示す情報と、第2パフォーマンスの内容と関連付けられてストレージ230に格納
されている、該第2パフォーマンスの姿勢を示す情報とを比較する。比較した結果、2つ
の情報の一致率が所定の閾値以上であった場合、プロセッサ210Bは、アバターオブジ
ェクト6Bに第2パフォーマンスを実行させたと判定し、通知画像8181および枠画像
8283を視界画像8417Bにおいて非表示とする。
ステップS7815において、プロセッサ210Bは、第2パフォーマンスの実行に対
応するアバター情報を、コンピュータ200Aへ送信する。詳細には、プロセッサ210
Bは、該アバター情報をサーバ600へ送信する。サーバ600は、受信したアバター情
報を、同期処理によってコンピュータ200Aへ送信する。
図85は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像8517Aを
示す図である。ステップS7803において、プロセッサ210Aは、プロセッサ210
Bから送信されたアバター情報をリアルタイムに受信する。ステップS7804において
、プロセッサ210Aは、受信したアバター情報に含まれる動き情報に基づいて、アバタ
ーオブジェクト6Bに第2パフォーマンスを実行させる。これにより、プロセッサ210
Aは、図83に示すユーザ5Bの動きに応じて、アバターオブジェクト6Bに第2パフォ
ーマンスを実行させることができる。
プロセッサ210Aは、アバターオブジェクト6Bによる第2パフォーマンスを、第2
仮想空間2711Aにおいてアバターオブジェクト6Aに視聴させる。プロセッサ210
Aは、例えば、図85(A)に示す第2仮想空間2711Aに対応する視界画像8517
Aを、図85(B)に示すようにモニタ130Aに表示する。ユーザ5Aは、視界画像8
517Aを視認することによって、アバターオブジェクト6Bが、自身がリクエストした
第2パフォーマンスを実行したことを認識する。これにより、ユーザ5Aは、アバターオ
ブジェクト6Bが、自身がリクエストした第2パフォーマンスを実行したことに対し、喜
びを感じる。詳細には、ユーザ5Aは、現実のライブでは体験することが難しい、自身に
向けられた演者のパフォーマンスを、課金額の負担により仮想体験することができる。結
果として、ユーザ5Aに喜びを感じさせることができ、ユーザ5Aをより満足させること
ができる。つまり、仮想空間におけるライブの興趣性をより高めることができる。
[変形例]
ユーザ5Aが、内容を指定せずに第2パフォーマンスをリクエストすることが可能であ
ってもよい。この場合、リクエストを受信したプロセッサ210Bは、第2パフォーマン
スのリクエストがあったことのみをユーザ5Bへ通知する。ユーザ5Bは、アバターオブ
ジェクト6Bに実行させる第2パフォーマンスを自ら決定し、決定した第2パフォーマン
スに対応する姿勢を取る。
第2パフォーマンスのリクエストを行うために必要な課金額は、リクエストする第2パ
フォーマンスの内容に応じて設定されてもよい。一例として、実行に時間がかかる、複雑
である、工数(動作)が多いなどの、ユーザ5Bにとって実行することが大変な第2パフ
ォーマンスは、課金額が高く設定されてもよい。
第2パフォーマンスの内容は、上述した例に限定されない。例えば、第2パフォーマン
スは、アバターオブジェクト6Bがステージオブジェクト1532から移動し、リクエス
トしたアバターオブジェクト6に近づいて、任意のまたはリクエストされた内容のパフォ
ーマンスを実行することであってもよい。アバターオブジェクト6Bのステージオブジェ
クト1532からの移動は、実施形態2で説明した移動方法で行われてもよい。また、第
2パフォーマンスは、第2パフォーマンスをリクエストしたユーザ5に関連付けられたア
バターオブジェクト6を対象としないパフォーマンスであってもよい。このようなパフォ
ーマンスの一例としては、ステージオブジェクト1532上でジャンプするなどが挙げら
れる。
通知画像8181、および、矢印画像8182または枠画像8283は、リクエストを
受信した直後ではなく、予め設定されたタイミングで視界画像17Bに含められてもよい
。予め設定されたタイミングとは、例えば、ユーザ5Bが、第2パフォーマンスを実行す
る期間として設定した期間が開始されたタイミングであってもよい。
第2パフォーマンスをリクエストするために必要な課金額は、例えば、第2パフォーマ
ンスをリクエストするための操作が行われたときに決済されてもよい。
第2パフォーマンスのリクエストは、例えば、入札方式であってもよい。この例の場合
、第2パフォーマンスをリクエストするために必要な課金額は設定されていない。プロセ
ッサ210Aは、第2パフォーマンスの対価としての金額(以下、「第1金額」)の入力
を受け付ける。また、プロセッサ210Aは、第1金額が、ユーザ5A以外のユーザ5(
第3ユーザ)により入力された、第2パフォーマンスの対価としての金額(第2金額)よ
り高い場合、第1金額を表す課金情報をタグオブジェクト2733Aに登録する。第1金
額と第2金額との比較は、例えば、サーバ600が行えばよい。つまり、プロセッサ21
0Aは第1金額を示す情報をサーバ600へ送信する。サーバ600は、第1金額が第2
金額より高い場合、その旨をコンピュータ200Aに通知する。プロセッサ210Aは、
該通知を受信した場合、第1金額を表す課金情報をタグオブジェクト2733Aに登録す
る。
第2パフォーマンスのリクエストが入札方式である場合、第2パフォーマンスの内容お
よび実行するタイミングはユーザ5Bが予め設定していてもよい。また、仮想空間11を
複数の領域に分割し、該領域単位で入札が行われてもよい。この場合、プロセッサ210
Bは、各領域の課金額を集計し、集計した金額が最も高い領域を示す画像を、視界画像1
7Bに含める。この場合の第2パフォーマンスは、例えば、各領域に配置されたステージ
オブジェクトのうち、集計した金額が最も高い領域に配置されたステージオブジェクトに
アバターオブジェクト6Bが移動し、第1パフォーマンスを実行することであってもよい
第2パフォーマンスのリクエストが入札方式である場合、最低入札金額が設定されてい
てもよい。サーバ600は、第1金額および第2金額が、いずれも最低入札金額より低い
場合、その旨をコンピュータ200Bへ通知してもよい。プロセッサ210Bは、該通知
を受信した場合、ユーザ5Bに、入札された金額が最低入札金額に到達しなかったことを
通知してもよい。この場合、ユーザ5Bは、アバターオブジェクト6Bに第2パフォーマ
ンスを実行させなくてもよい。例えば、第2パフォーマンスが、リクエストしたユーザ5
に関連付けられたアバターオブジェクト6に近づいて、リクエストされた内容のパフォー
マンスを行うことである例を説明する。この例において、第1金額および第2金額最低入
札金額より低い場合、ユーザ5Bは、アバターオブジェクト6Bに、上記第2パフォーマ
ンスに代えて、ステージオブジェクト1532上での第1パフォーマンスを継続させても
よい。
また、第2パフォーマンスのリクエストは、アバターオブジェクト6Bによる第1パフ
ォーマンスが開始される前に行われてもよい。一例として、該リクエストは、ユーザ5A
がライブの仮想体験を開始する前に行われてもよい。この例の場合、該リクエストは、い
わゆるクラウドファンディングの形式で行われてもよい。例えば、ユーザ5Bが、ライブ
の仮想体験の開始前に、アバターオブジェクト6Bが近づいて、所定のパフォーマンスを
行なうことを希望するユーザ5に課金額の支払いを促す旨の募集を行う。課金額が設定し
た金額以上となった場合、アバターオブジェクト6Bは、ライブにおいて、課金額を負担
したユーザ5に関連付けられたアバターオブジェクト6に近づいて、所定のパフォーマン
スを行う。
〔実施形態6〕
本実施形態において、プロセッサ210Aは、ユーザ5Aに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式によって
実行する。しかし、これに限定されず、プロセッサ210Aは、実施形態1に係る方式と
は異なる任意の方式によって、ユーザ5Aに対する課金および決済に関する処理を実行す
ることもできる。
図86は、HMDシステム100において実行される処理の一例を示すシーケンスチャ
ートである。以下では、ユーザ5A(第1ユーザ)が、仮想空間11Aにてアバターオブ
ジェクト6A(第1アバター)の外観を制御し、アバターオブジェクト6Aを対象とする
第2パフォーマンスをアバターオブジェクト6B(第2アバター)に実行させるための一
連の処理を説明する。図86に示すシーケンスチャートは、図26に示すステップS26
14が実行された後の処理を示している。なお、アバターオブジェクト6の外観の制御は
、ユーザ5Cが行ってもよいし、ユーザ5Dが行ってもよい。
図87は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像8717Aを
示す図である。プロセッサ210Aは、アバターオブジェクト6Aの外観の制御をユーザ
5Aに案内するメッセージを、ライブ中にユーザ5Aに通知する。一例として、外観の制
御は、アバターオブジェクト6Aの外観を、他のアバターオブジェクト6より目立たせる
(強調する)ことである。プロセッサ210Aは、例えば、タグオブジェクト2733A
にメッセージを表示する。メッセージは、外観の強調を案内するテキストと、ユーザ5A
がアバターオブジェクト6Aの外観を強調するために必要な課金額とを含む。
メッセージがタグオブジェクト2733Aに表示された後、プロセッサ210Aは、ユ
ーザ5Aの左手の動きに応じて、図87(A)に示すように、仮想左手1531LAを視
界領域15A内に移動させる。プロセッサ210Aは、例えば、図87(A)に示す第2
仮想空間2711Aに対応する視界画像8717Aを、図87(B)に示すようにモニタ
130Aに表示する。ユーザ5Aは、視界画像8717Aを視認することによって、タグ
オブジェクト2733Aに表示されるメッセージを確認する。これにより、ユーザ5Aは
、新たに500円の課金額を支払えば、アバターオブジェクト6Aの外観を強調できるこ
とを認識する。
ユーザ5Aは、タグオブジェクト2733Aに表示されたメッセージを確認した後、ア
バターオブジェクト6Aの外観を強調するための操作を行う。該操作は、実施形態1にて
図34を参照して説明しているため、ここでは繰り返さない。プロセッサ210Aは、ア
バターオブジェクト6Aの外観の強調を案内するメッセージが表示されるタグオブジェク
ト2733Aが選択されたことに応じてアバターオブジェクト6Aの外観を強調するため
のユーザ5Aの操作を検出する。
図88は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像8817Aを
示す図である。ステップS8601において、プロセッサ210Aは、アバターオブジェ
クト6Aの強調に対応する課金情報を、タグオブジェクト2733Aに登録する。図88
の例では、プロセッサ210Aは、アバターオブジェクト6Aが、仮想右手1531RA
でタグオブジェクト2733Aを選択した場合、アバターオブジェクト6Aの強調に必要
な課金額(500円)を表す課金情報を、タグオブジェクト2733Aに新たに登録する
。なお、登録された課金情報が表す課金額の決済は、実施形態1で説明した方法で行えば
よい。
課金情報が登録された後、プロセッサ210Aは、タグオブジェクト2733A上で課
金情報を再び視覚化する。この処理の詳細については、実施形態1にて図35を参照して
説明しているため、ここでは繰り返さない。プロセッサ210Aは、例えば、図88(A
)に示す第2仮想空間2711Aに対応する視界画像8817Aを、図88(B)に示す
ようにモニタ130Aに表示する。ユーザ5Aは、視界画像8817Aを視認することに
よって、アバターオブジェクト6Aを強調させた結果として現時点での合計課金額が20
00円に増加したことを認識する。
図89は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像8117Bを
示す図である。ステップS8602において、プロセッサ210Aは、アバターオブジェ
クト6Aの外観を、ユーザ5A以外の視聴者側のユーザ5(第3ユーザ)に関連付けられ
たアバターオブジェクト6(第3アバター、以下「他のアバターオブジェクト6」)より
目立たせる。一例として、プロセッサ210Aは、他のアバターオブジェクト6より目立
つように、アバターオブジェクト6Aの外観の色を制御する。詳細には、プロセッサ21
0Aは、図89(A)に示すように、テクスチャ4137Aをアバターオブジェクト6A
に貼り付けることにより、アバターオブジェクト6Aの外観の色を変化させる。テクスチ
ャ4137Aは、アバターオブジェクト6Aの強調に必要な課金額(500円)がユーザ
5Aに1回課金されたことに対応する、第1色に着色されるテクスチャである。プロセッ
サ210Aは、例えば、図89(A)に示す第2仮想空間2711Aに対応する視界画像
8917Aを、図89(B)に示すようにモニタ130Aに表示する。
プロセッサ210Aは、アバターオブジェクト6Aの強調に必要な課金額をユーザ5A
に課金した回数が増えるたびに、アバターオブジェクト6Aをより目立たせてもよい。一
例として、該課金額を課金した回数が増えるたびに、アバターオブジェクト6Aの外観の
色をより目立つように変化させてもよい。例えば、該課金額を2回課金した場合、第1色
より目立つ第2色に着色されるテクスチャを、アバターオブジェクト6Aに貼り付けても
よい。また、該課金額を3回課金した場合、第2色より目立つ第3色に着色されるテクス
チャを、アバターオブジェクト6Aに貼り付けてもよい。第1色は、例えば銅色であり、
第2色は例えば銀色であり、第3色は例えば金色である。
ステップS8603において、プロセッサ210Aは、外観が制御されたアバターオブ
ジェクト6Aのアバター情報(第1情報)を、コンピュータ200Bへ送信する。詳細に
は、プロセッサ210Aは、該アバター情報をサーバ600へ送信する。サーバ600は
、受信したアバター情報を、同期処理によってコンピュータ200Bへ送信する。なお、
アバター情報には、ユーザ5Aを示す第1ユーザ情報が含まれている。第1ユーザ情報は
、例えば、ユーザ5Aを示すIDであってもよいし、アバターオブジェクト6Aを示すI
Dであってもよい。
図90は、ある実施の形態に従う第2仮想空間2711Bおよび視界画像9017Bを
示す図である。ステップS8611において、プロセッサ210Bは、プロセッサ210
Aから送信されたアバター情報をリアルタイムに受信する。ステップS8612において
、プロセッサ210Bは、受信したアバター情報に基づいて、アバターオブジェクト6A
の外観を、他のアバターオブジェクト6より目立たせる。詳細には、プロセッサ210B
は、受信したアバター情報に基づいて、図90(A)に示すように、テクスチャ4137
Aをアバターオブジェクト6Aに貼り付けることにより、アバターオブジェクト6Aの外
観の色を変化させる。プロセッサ210Bは、例えば、図90(A)に示す第2仮想空間
2711Bに対応する視界画像9017Bを、図90(B)に示すようにモニタ130A
に表示する。ユーザ5B(第2ユーザ)は、視界画像9017Bを視認することによって
、アバターオブジェクト6Aの外観が、他のアバターオブジェクト6より目立つように変
更されたことを認識する。すなわち、ユーザ5Bは、アバターオブジェクト6Aを目立た
せるための課金額がユーザ5Aに課金されたことを認識する。
ステップS8613において、プロセッサ210Bは、お勧めの第2パフォーマンスを
ユーザ5Bに通知する。詳細には、プロセッサ210Bは、複数の第2パフォーマンスの
うち、少なくとも1つの第2パフォーマンスを選択し、ユーザ5Bに優先的に通知する。
一例として、プロセッサ210Bは、外観が制御されたアバターオブジェクト6Aが関連
付けられたユーザ5Aに対する課金に繋がる第2パフォーマンスを選択し、ユーザ5Bに
通知する。
図91は、ユーザ5Bに少なくとも1つの第2パフォーマンスを通知するために、プロ
セッサ210Bが参照するデータの一例を示す図である。該データは、例えば、ストレー
ジ230Bに格納されている。「第2パフォーマンス」のカラムには、「指さしポーズ」
、「手を振る」などの各第2パフォーマンスの内容を示す情報(以下、「第2情報」)が
格納されている。「第1ユーザ情報」のカラムには、各第2情報に関連付けられている第
1ユーザ情報が格納されている。図91では、第1ユーザ情報の一例として、本明細書で
「ユーザ」に付している符号5A、5C、および5Dを用いている。
第1ユーザ情報は、図86に示す処理以前に、プロセッサ210Bにより第2情報に関
連付けられる。一例として、プロセッサ210Bは、アバターオブジェクト6Bが第2パ
フォーマンスを実行した後、該第2パフォーマンスの実行から所定時間、アバター情報の
受信を待機する。所定時間以内にアバター情報を受信した場合、プロセッサ210Bは、
該アバター情報に含まれる第1ユーザ情報を、直前に実行した第2パフォーマンスを示す
第2情報に関連付ける。つまり、プロセッサ210Bは、第2パフォーマンスが実行され
てから所定時間以内に、視聴者側のユーザ5が、自身に関連付けられたアバターオブジェ
クト6を目立たせるために課金情報を登録した場合、直前に実行した第2パフォーマンス
を、該ユーザ5による課金に繋がった第2パフォーマンスとして設定する。
プロセッサ210Bは、受信したアバター情報に含まれる第1ユーザ情報が関連付けら
れている第2情報を、ユーザ5Bに通知する。一例として、ユーザ5Aを示す第1ユーザ
情報「5A」を含むアバター情報を受信した場合、プロセッサ210Bは、図91に示す
データを参照し、「5A」という第1ユーザ情報が対応付けられた「指さしポーズ」を選
択し、ユーザ5Bに通知する。つまり、プロセッサ210Bは、過去にアバターオブジェ
クト6Bに実行させた結果としてユーザ5Aに対する課金に実際に繋がった第2パフォー
マンスを、課金に繋がる可能性が高い第2パフォーマンスとしてユーザ5Bに通知する。
プロセッサ210Bは、図90(B)に示すように、視界画像9017Bに、選択した第
2パフォーマンスの内容を示すテキストを含む通知画像9084を含めて、モニタ130
Bに表示する。プロセッサ210Bは、通知画像9084と同一の外観を有する仮想オブ
ジェクトを、第2仮想空間2711Bに配置することもできる。ユーザ5Bは、通知画像
9084を視認することによって、ユーザ5Aに対する課金に繋がる可能性が高い第2パ
フォーマンスを認識することができる。
ステップS8614において、プロセッサ210Bは、第2パフォーマンスに対応する
ユーザ5Bの動きを検出する。ステップS8615において、プロセッサ210Bは、検
出したユーザ5Bの動きに応じて、アバターオブジェクト6Bに第2パフォーマンスを実
行させる。プロセッサ210Bは、ユーザ5Bの動きに応じて、アバターオブジェクト6
Bに指さしポーズを実行させる。指さしポーズの詳細、および、指さしポーズをアバター
オブジェクト6Bに実行させるためのユーザ5Bの動きの詳細は、実施形態5にて図83
および84を参照して既に説明しているため、ここでは繰り返さない。
プロセッサ210Bは、アバターオブジェクト6Bに第2パフォーマンスを実行させる
と、通知画像9084を視界画像17Bにおいて非表示とする。プロセッサ210Bは、
この処理の一例として、実施形態5にて説明した、通知画像8181および枠画像828
3を視界画像17Bにおいて非表示とする処理と同様の処理を行なえばよい。
ステップS8616において、プロセッサ210Bは、第2パフォーマンスの実行に対
応するアバター情報を、コンピュータ200Aへ送信する。詳細には、プロセッサ210
Bは、該アバター情報をサーバ600へ送信する。サーバ600は、受信したアバター情
報を、同期処理によってコンピュータ200Aへ送信する。
図92は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像9217Aを
示す図である。ステップS8604において、プロセッサ210Aは、プロセッサ210
Bから送信されたアバター情報をリアルタイムに受信する。ステップS8605において
、プロセッサ210Aは、受信したアバター情報に含まれる動き情報に基づいて、アバタ
ーオブジェクト6Bに第2パフォーマンスを実行させる。これにより、プロセッサ210
Aは、ユーザ5Bの動きに応じて、アバターオブジェクト6Bに第2パフォーマンスを実
行させることができる。
プロセッサ210Aは、アバターオブジェクト6Bによる第2パフォーマンスを、第2
仮想空間2711Aにおいてアバターオブジェクト6Aに視聴させる。プロセッサ210
Aは、例えば、図92(A)に示す第2仮想空間2711Aに対応する視界画像9217
Aを、図92(B)に示すようにモニタ130Aに表示する。ユーザ5Aは、視界画像8
517Aを視認することによって、アバターオブジェクト6Bが、自身がリクエストした
第2パフォーマンスを実行したことを認識する。これにより、ユーザ5Aは、自身に関連
付けられたアバターオブジェクト6Aの外観を、課金額の負担により他の視聴者側のアバ
ターオブジェクト6より目立たせたことによって、アバターオブジェクト6Bが第2パフ
ォーマンスを実行したと認識し、喜びを感じる。つまり、仮想空間におけるライブの興趣
性をより高めることができる。また、ユーザ5Aは、自身に向けられた第2パフォーマン
スを再度実行してほしいと願い、アバターオブジェクト6Aをさらに目立たせるために、
さらに課金額を支払う可能性がある。これにより、ユーザ5Bはより多くの収入を得るこ
とができる。
また、ユーザ5Bがアバターオブジェクト6Bに、通知された第2パフォーマンス(お
勧めの第2パフォーマンス)を実行させた場合を考える。該第2パフォーマンスは、過去
に実行した際、ユーザ5Aが課金額を支払うことに繋がった第2パフォーマンスであり、
換言すれば、ユーザ5Aが好む第2パフォーマンスである。ユーザ5Aにしてみると、自
身に関連付けられたアバターオブジェクト6Aの外観を、課金額の支払いにより他の視聴
者側のアバターオブジェクト6より目立たせたことによって、アバターオブジェクト6B
が、自身が好む第2パフォーマンスを実行してくれたと感じる。これにより、ユーザ5A
はより大きな喜びを感じる。また、アバターオブジェクト6Aをさらに目立たせるための
課金額をユーザ5Aが支払う可能性も上がる。
[変形例]
アバターオブジェクト6Aの外観の制御は、アバターオブジェクト6Bからアバターオ
ブジェクト6Aが目立つような外観の制御であれば、上述した、アバターオブジェクト6
Aの色を変化させる例に限定されない。例えば、プロセッサ210Aは、アバターオブジ
ェクト6Aの大きさや形状を変化させてもよい。また、プロセッサ210Aは、他のアバ
ターオブジェクト6の外観を制御することにより、アバターオブジェクト6Aを目立たせ
てもよい。例えば、プロセッサ210Aは、他のアバターオブジェクト6を一定時間透明
にしてもよい。
ユーザ5Bに通知する第2パフォーマンスを選択するための条件は、上述した例、すな
わち、「課金に繋がる第2パフォーマンス」に限定されない。詳細には、プロセッサ21
0Bは、該条件で選択した第2パフォーマンスを、他の条件でさらに絞り込んでもよい。
該他の条件は、例えば、「ユーザ5Bが得意な第2パフォーマンス」であってもよい。つ
まり、プロセッサ210Bは、ユーザ5Aに対する課金に繋がった第2パフォーマンスが
複数ある場合、ユーザ5Bが得意な第2パフォーマンスを選択し、ユーザ5Bに通知して
もよい。ユーザ5Bが得意な第2パフォーマンスは、ユーザ5Bが予め設定しておけばよ
い。
また、該他の条件は、例えば、「他のユーザ5の評価を下げない第2パフォーマンス」
であってもよい。つまり、プロセッサ210Bは、ユーザ5Aに対する課金に繋がった第
2パフォーマンスが複数ある場合、過去のライブで実行したときの評価を示す評価値が閾
値未満の第2パフォーマンスを選択肢から除外してもよい。評価値は、一例として、視聴
者側の各ユーザが行った個別の評価に基づいて算出される。該個別の評価は、例えば、視
聴者側のユーザ5が右手または左手を用いて所定の操作を行うことにより入力された値で
あり、該値は、コンピュータ200Bへ送信される。プロセッサ210Bは、一例として
、受信した値を平均することで、評価値を算出する。以上より、課金に繋がる第2パフォ
ーマンスを行った結果、アバターオブジェクト6Bの評価が下がったり、インターネット
上で批判されたりすることを防ぐことができる。
視聴者側のユーザ5は、個別の評価とともに、第2パフォーマンスに対するコメントを
入力してもよい。プロセッサ210Aは、図示しない掲示板オブジェクトを第2仮想空間
2711Aに配置すると共に、該コメントを掲示板オブジェクトに表示してもよい。
また、プロセッサ210Bは、ユーザ5Bに通知する第2パフォーマンスを選択する際
、視聴者側のユーザ5の男女比、年齢の分布などを参照してもよい。例えば、ユーザ5A
に対する課金に繋がった複数の第2パフォーマンスに、過去のライブで実行したときの評
価を示す評価値が閾値未満の第2パフォーマンスがあるとする。該第2パフォーマンスは
、女性限定のライブにおいて評価値が閾値未満である一方、男性限定のライブにおいては
評価値が閾値以上であるとする。ここで、今回のライブの視聴者側のユーザ5の男女比は
、男性が8割であるとする。この場合、プロセッサ210Bは、該第2パフォーマンスは
、男性には受けが良い第2パフォーマンスであるとして、選択肢から除外せず、ユーザ5
Bに通知してもよい。
〔実施形態7〕
本実施形態において、プロセッサ210Aは、ユーザ5Aに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式によって
実行する。しかし、これに限定されず、プロセッサ210Aは、実施形態1に係る方式と
は異なる任意の方式によって、ユーザ5Aに対する課金および決済に関する処理を実行す
ることもできる。
図93は、HMDシステム100において実行される処理の一例を示すシーケンスチャ
ートである。以下では、ユーザ5A(第1ユーザ)の入力に基づいて、ライブの演出制御
を実行するための一連の処理を説明する。図93に示すシーケンスチャートは、図26に
示すステップS2613が実行された後の処理を示している。なお、本実施形態では、ユ
ーザ5Aに行わせる演出制御として、照明制御を例に挙げて説明する。ただし、該演出制
御は、照明制御に限定されない。例えば、該演出制御は、音響制御を含んでもよい。この
例の場合、プロセッサ210Aは、ユーザ5Aの入力に基づいて、照明および音響の少な
くとも一方を制御する。また、ライブの演出制御は、ユーザ5Cが行ってもよいし、ユー
ザ5Dが行ってもよい。
図94は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像9417Aを
示す図である。図94(A)に示すように、第2仮想空間2711Aには、仮想オブジェ
クトの一種である、照明オブジェクト9491が配置されている。一例として、プロセッ
サ210Aは、ステージオブジェクト1532とともに、照明オブジェクト9491を第
2仮想空間2711Aに配置してもよい。
ステップS9301において、プロセッサ210Aは、受信したアバター情報に含まれ
る動き情報に基づいて、アバターオブジェクト6B(第2アバター)に第1パフォーマン
スを実行させる。ステップS9302において、プロセッサ210Aは、第1照明演出を
実行する。第1照明演出は、ユーザ5Bがライブの開始前に予め設定した照明演出である
。第1照明演出を実行するための情報は、コンピュータ200Bからサーバ600を介し
てコンピュータ200Aに送信される。コンピュータ200Aは、例えば、アバターオブ
ジェクト6Bを第2仮想空間2711Aに配置するためのアバター情報とともに、該情報
を受信しておき、ステップS9302において、該情報に基づいて第1照明演出を実行し
てもよい。
詳細には、プロセッサ210Aは、仮想オブジェクト制御モジュール1427として、
図94(A)に示すように、照明オブジェクト9491から、第1照明演出を実行するた
めの情報に基づいて、光線オブジェクト9492を出射させる。プロセッサ210Aは、
該情報に基づいて、照明オブジェクト9491を動かしてもよい。これにより、プロセッ
サ210Aは、光線オブジェクト9492を動かすことができる。なお、照明オブジェク
ト9491は、例えば、ステージオブジェクト1532の配置と同じタイミングで、第2
仮想空間2711Aに配置されてもよい。
プロセッサ210Aは、照明制御をユーザ5Aに案内するメッセージを、ライブ中にユ
ーザ5Aに通知する。プロセッサ210Aは、例えば、タグオブジェクト2733Aにメ
ッセージを表示する。メッセージは、照明制御を案内するテキストと、ユーザ5Aがライ
ブの照明制御を行うために必要な課金額とを含む。
メッセージがタグオブジェクト2733Aに表示された後、プロセッサ210Aは、ユ
ーザ5Aの左手の動きに応じて、図94(A)に示すように、仮想左手1531LAを視
界領域15A内に移動させる。プロセッサ210Aは、例えば、図94(A)に示す第2
仮想空間2711Aに対応する視界画像9417Aを、図94(B)に示すようにモニタ
130Aに表示する。ユーザ5Aは、視界画像9417Aを視認することによって、タグ
オブジェクト2733Aに表示されるメッセージを確認する。これにより、ユーザ5Aは
、新たに1000円の課金額を支払えば、自身がライブの照明制御を行なえることを認識
する。
ユーザ5Aは、タグオブジェクト2733Aに表示されたメッセージを確認した後、照
明制御を自身が行うための操作を行う。該操作は、実施形態1にて図34を参照して説明
しているため、ここでは繰り返さない。プロセッサ210Aは、照明制御を案内するメッ
セージが表示されるタグオブジェクト2733Aが選択されたことに応じて、照明制御を
行うためのユーザ5Aの操作を検出する。
図95は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像9517Aを
示す図である。ステップS9303において、プロセッサ210Aは、照明制御に対応す
る課金情報を、タグオブジェクト2733Aに登録する。図95の例では、プロセッサ2
10Aは、アバターオブジェクト6A(第1アバター)が、仮想右手1531RAでタグ
オブジェクト2733Aを選択した場合、照明制御に必要な課金額(1000円)を表す
課金情報を、タグオブジェクト2733Aに新たに登録する。なお、登録された課金情報
が表す課金額の決済は、実施形態1で説明した方法で行えばよい。
課金情報が登録された後、プロセッサ210Aは、タグオブジェクト2733A上で課
金情報を再び視覚化する。この処理の詳細については、実施形態1にて図35を参照して
説明しているため、ここでは繰り返さない。プロセッサ210Aは、例えば、図95(A
)に示す第2仮想空間2711Aに対応する視界画像9517Aを、図95(B)に示す
ようにモニタ130Aに表示する。ユーザ5Aは、視界画像9517Aを視認することに
より、照明制御を行うことによって現時点での合計課金額が2500円に増加したことを
認識する。
図96は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像9617Aを
示す図である。ステップS9304において、プロセッサ210Aは、アバターオブジェ
クト6Aを、照明制御を行うための第1位置へ移動させる。プロセッサ210Aは、仮想
オブジェクト生成モジュール1421として、照明制御オブジェクト9693を生成し、
第1位置へ移動したアバターオブジェクト6Aの前に配置する。照明制御オブジェクト9
693は、照明演出を制御するための処理をプロセッサ210Aに実行させるために、ユ
ーザ5Cによって用いられる。照明制御オブジェクト9693は、一例として、アバター
オブジェクト6Aの操作を受け付けるボタン、ダイヤル、スライダなどの部分オブジェク
トを含む。プロセッサ210Aは、部分オブジェクトに対する操作を受け付けることによ
り、照明演出を制御する。例えば、プロセッサ210Aは、受け付けた操作に応じて、光
線オブジェクト9492の色を変化させたり、照明オブジェクト9491を動かしたりす
ることができる。なお、照明制御オブジェクト9693は、第1位置に基づいて定まる所
定の位置(図96(A)に示す位置)に、アバターオブジェクト6Aが移動する前に配置
されてもよい。例えば、照明制御オブジェクト9693は、ステージオブジェクト153
2の配置と同じタイミングで、該所定の位置に配置されてもよい。
プロセッサ210Aは、例えば、図96(A)に示す第2仮想空間2711Aに対応す
る視界画像9617Aを、図96(B)に示すようにモニタ130Aに表示する。ユーザ
5Aは、視界画像9617Aを視認することにより、アバターオブジェクト6Aが第1位
置へ移動したこと、および、照明制御オブジェクト9693を認識する。換言すれば、ユ
ーザ5Aは、自身が照明制御を行えるようになったことを認識する。
図97は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像9717Aを
示す図である。ユーザ5Aは、第1位置に移動した後、照明を制御するための操作を行う
。ユーザ5Aは、仮想右手1531RAの先端を照明制御オブジェクト9693に近づけ
るように、自身の右手を動かす。ステップS9305において、プロセッサ210Aは、
右コントローラ300RAの出力に基づいて、ユーザ5Aの右手の動きを検出する。ステ
ップS9306において、プロセッサ210Aは、ユーザ5Aの右手の動きに応じて、仮
想右手1531RAの先端を照明制御オブジェクト9693に近づけるように、第2仮想
空間2711Aにおいて仮想右手1531RAを動かす。
ステップS9307において、プロセッサ210Aは、仮想右手1531RAの動きに
応じて、照明制御オブジェクト9693を操作する。詳細には、プロセッサ210Aは、
仮想右手1531RAの先端と照明制御オブジェクト9693に含まれる部分オブジェク
トとが第1位置関係になった場合、仮想右手1531RAの先端と部分オブジェクトとが
衝突したことを検出する。第1位置関係とは、例えば、仮想右手1531RAの先端と部
分オブジェクトとの距離が第1距離を下回ることである。あるいは、仮想右手1531R
Aの先端に規定されるコリジョンエリアと、部分オブジェクトに設定されるコリジョンエ
リアとが少なくとも部分的に衝突することである。プロセッサ210Aは、仮想右手15
31RAの先端と部分オブジェクトとが衝突したことに基づいて、仮想右手1531RA
によって部分オブジェクトが操作されたことを検出する。
ステップS9308において、プロセッサ210Aは、照明制御オブジェクト9693
に対する操作、すなわち、部分オブジェクトに対する操作に応じて、第2照明演出を実行
する。第2照明演出とは、ユーザ5Aの制御によって行われる、第1照明演出と異なる照
明演出である。例えば、プロセッサ210Aは、部分オブジェクトに対する操作に応じて
、第1色に着色された光線オブジェクト9492を、図97(A)に示すように、第2色
に着色された光線オブジェクト9792に変更する。プロセッサ210Aは、例えば、図
97(A)に示す第2仮想空間2711Aに対応する視界画像9717Aを、図97(B
)に示すようにモニタ130Aに表示する。ユーザ5Aは、視界画像9717Aを視認す
ることによって、第2仮想空間2711Aにおいて、自身の操作に応じた第2照明演出が
実行されていることを確認する。
プロセッサ210Aは、第2照明演出を実行するための情報を、サーバ600に送信す
る。サーバ600は、受信した該情報を、全てのユーザ5のコンピュータ200へ送信す
る。これにより、各コンピュータ200のプロセッサ210は、第2照明演出を実行可能
となる。
図98は、ある実施の形態に従う第2仮想空間2711Cおよび視界画像9817Cを
示す図である。プロセッサ210Cは、第2照明演出を実行するための情報を受信すると
、UIパネル9894を生成し、第2仮想空間2711Cに配置する。プロセッサ210
Cは、例えば、図98(A)に示す第2仮想空間2711Cに対応する視界画像9817
Cを、図98(B)に示すようにモニタ130Cに表示する。ユーザ5C(第3ユーザ)
は、視界画像9817Cを視認することによって、UIパネル9894が第2仮想空間2
711Cに配置されたことを認識する。
UIパネル9894はUIオブジェクトの一種であり、照明演出を選択するための処理
をプロセッサ210Cに実行させるために、ユーザ5Cによって用いられる。UIパネル
9894は、UIパネル9894の前面に配置される選択肢9895および9896を含
む。選択肢9895および選択肢9896は、その選択肢がユーザ5Cによって選択され
た場合に選択される照明演出を説明する情報を含む。選択肢9895は、第1照明演出、
換言すれば、デフォルトの照明演出を選択するための項目であり、選択肢9896は、第
2照明演出、換言すれば、ユーザ5Aの制御による照明演出を選択するための項目である
。つまり、ユーザ5Cは、第2照明演出でアバターオブジェクト6Bの第1パフォーマン
スを視聴するか否かを選択することができる。
図98の例では、選択肢9895が選択されている。このため、プロセッサ210Cは
、第2仮想空間2711Cにおいて、第1照明演出を実行している。プロセッサ210C
は、図98(B)に示すように、選択されている選択肢9895と選択されていない選択
肢9896との色を異ならせてもよい。これにより、ユーザ5Cは、選択肢9895が選
択されていることを認識することができる。なお、第1照明演出はデフォルトの照明演出
であるため、UIパネル9894が第2仮想空間2711Cに配置された時点で、自動的
に選択肢9855が選択されていてもよい。
ユーザ5Cは、第2仮想空間2711Cにおいて第2照明演出の実行を希望する場合、
照明演出を変更するための操作を行う。一例として、ユーザ5Cは、仮想右手1531R
Cの先端を選択肢9896に近づけるように、自身の右手を動かす。プロセッサ210C
は、右コントローラ300RCの出力に基づいて、ユーザ5Cの右手の動きを検出する。
そして、プロセッサ210Cは、ユーザ5Cの右手の動きに応じて、仮想右手1531R
Cの先端を選択肢9896に近づけるように、第2仮想空間2711Cにおいて仮想右手
1531RCを動かす。
プロセッサ210Cは、ユーザ5Cの右手の動きに基づいて、仮想右手1531RCの
先端を選択肢9896に近づけるように、第2仮想空間2711Cにおいて仮想右手15
31RCを動かす。プロセッサ210Cは、仮想右手1531RCの先端と選択肢989
6とが衝突したことに基づいて、仮想右手1531RCによって選択肢9896が選択さ
れたことを検出する。
図99は、ある実施の形態に従う第2仮想空間2711Cおよび視界画像9917Cを
示す図である。プロセッサ210Cは、選択肢9896の選択を検出したことに応じて、
第2仮想空間2711Cにおいて第2照明演出を実行する。プロセッサ210Cは、例え
ば、図99(A)に示す第2仮想空間2711Cに対応する視界画像9917Cを、図9
9(B)に示すようにモニタ130Cに表示する。ユーザ5Cは、視界画像9917Cを
視認することによって、選択肢9896が選択されたこと、および、第2仮想空間271
1Cにおいて第2照明演出が開始されたことを認識する。プロセッサ210Cは、第2仮
想空間2711Cにおいて第2照明演出を実行すると、サーバ600を介して、その旨を
コンピュータ200Aへ通知する。
図100は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像10017
Aを示す図である。ステップS9309において、プロセッサ210Aは、第2照明演出
でアバターオブジェクト6Bの第1パフォーマンスを視聴しているユーザ5の人数をユー
ザ5Aに通知する。詳細には、プロセッサ210Aは、他のコンピュータ200から受信
した、第2照明演出を実行した旨の通知の数を、上記人数としてユーザ5Aに通知する。
プロセッサ210Aは、例えば、図100(A)に示す第2仮想空間2711Aに対応す
る視界画像10017Aに、上記人数を示すテキストを含む通知画像10085を含める
。そして、プロセッサ210Aは、図100(B)に示すように、視界画像10017A
をモニタ130Aに表示する。プロセッサ210Aは、通知画像10085と同一の外観
を有する仮想オブジェクトを、第2仮想空間2711Aに配置することもできる。ユーザ
5Aは、視界画像10017Aを視認することによって、第2照明演出でアバターオブジ
ェクト6Bの第1パフォーマンスを視聴している人数を認識する。
図101は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像10117
Aを示す図である。図101(A)では、第2仮想空間2711Aにおけるライブは終了
している。ライブの終了に伴って、アバターオブジェクト6Bおよび6Cが第2仮想空間
2711Aから退出している。アバターオブジェクト6Aおよび6Dは、ライブの終了後
に第2仮想空間2711Aに残っている。
ステップS9310において、プロセッサ210Aは、他のユーザ5の、第2照明演出
に対する評価に基づいて、タグオブジェクト2733Aに登録された課金情報における課
金額を変更する。該評価は、一例として、第2照明演出でアバターオブジェクト6Bの第
1パフォーマンスを視聴したユーザ5の人数であってもよい。プロセッサ210Aは、例
えば、該人数が多いほど、タグオブジェクト2733Aに登録された課金情報における課
金額を減少させてもよい。
プロセッサ210Aは、例えば、図101(A)に示す第2仮想空間2711Aに対応
する視界画像10117Aを、図101(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像10117Aを視認することによって、ライブが終了したことを
認識する。ユーザ5Aは、さらに、ユーザ5Aに課金された合計課金額が、2500円(
図95(B)参照)から2300円に変更されたことを認識する。換言すれば、ユーザ5
Aは、自身が行った照明制御の評価により、照明制御に必要な課金額が安くなったことを
認識する。
以上のように、プロセッサ210Aは、課金情報の登録に応じて、ユーザ5Aにライブ
の演出を制御させる。このように、HMDシステム100は、現実のライブでは不可能な
、観客によるライブの演出をユーザ5Aに仮想体験させることができる。結果として、仮
想空間におけるライブの興趣性をより高めることができる。また、ライブの演出制御には
、課金額の支払いが必要となるため、演出制御を行うユーザ5の人数を最適化することが
でき、ユーザ5の演出によりアバターオブジェクト6Bのパフォーマンスが阻害されるこ
とを防ぐことができる。
また、ユーザ5Aによる演出制御が高い評価を得た場合、ユーザ5Aが仮想空間におけ
るライブの演出スタッフとしての名声を得ることができる。結果として、ユーザ5Aが、
ユーザ5Bにより演出スタッフとして雇用されることも考えられる。
[変形例]
図102は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像10217
Aを示す図である。プロセッサ210Aは、ユーザ5B(第2ユーザ)による第1操作を
検出した場合に、ユーザ5Aによる演出制御を可能としてもよい。詳細には、プロセッサ
210Aは、コンピュータ200Bから、演出制御を許可する旨の通知を受信した場合、
演出制御をユーザ5Aに案内するメッセージを、タグオブジェクト2733Aに表示する
。プロセッサ210Aは、例えば、図102(A)に示す第2仮想空間2711Aに対応
する視界画像10217Aを、図102(B)に示すようにモニタ130Aに表示する。
このとき、プロセッサ210Aは、視界画像10217Aに、ユーザ5Aによる演出制御
が可能となったことを示す通知画像10286を含めてもよい。これにより、ユーザ5A
は、視界画像10217Aを視認することによって、自身による演出制御が可能となった
ことを認識することができる。なお、第1操作は、例えば、図102(B)に示すように
、アバターオブジェクト6Bに、両手を上に上げる姿勢を取らせるためのユーザ5Bの動
きであってもよい。プロセッサ210Aは、通知画像10286と同一の外観を有する仮
想オブジェクトを、第2仮想空間2711Aに配置することもできる。
演出制御のために必要な課金額は、演出制御の内容に応じて設定されてもよい。例えば
、音響および照明を制御する場合、いずれか一方のみを制御する場合より高い課金額が設
定されてもよい。また、演出制御のために必要な課金額は、演出制御を行った時間に応じ
て決定されてもよい。この例の場合、プロセッサ210Aは、演出制御の終了後に、演出
制御に要した時間に応じた課金額を表す課金情報を、タグオブジェクト2733Aに新た
に登録する。
ユーザ5Aは、演出制御を、コンピュータ200Aに接続された入力デバイスへの操作
により行ってもよい。この例の場合、プロセッサ210Aは、モニタ130だけでなく、
コンピュータ200Aに接続されたディスプレイ430Aに視界画像17Aを表示するも
のとする。詳細には、ユーザ5Aは、課金情報が登録された後、HMD120を頭部から
外す。そして、演出制御に適した視界画像17Aが、ディスプレイ430Aに表示される
ように、HMD120の向きを調節する。演出制御に適した視界画像17Aとは、例えば
、アバターオブジェクト6Bおよび光線オブジェクト9492が含まれる視界画像である
。そして、ユーザ5Aは、コンピュータ200Aに接続されたキーボードやマウスなどの
入力デバイスを操作する。プロセッサ210Aは、該操作に応じた演出制御を実行する。
他のユーザ5の、第2照明演出に対する評価に基づいて、タグオブジェクト2733A
に登録された課金情報における課金額が変更された結果、合計課金額が負の値となっても
よい。例えば、ユーザ5Aが行った演出制御が非常に高い評価を得たことにより、課金額
が大幅に減少され、合計課金額が負の値となってもよい。この場合、ユーザ5Bまたはプ
ラットフォーマが、上記合計課金額の絶対値をユーザ5Aに報酬として支払うこととなる
ユーザ5Aによる演出制御に、ユーザ5Aに対する課金が不要であってもよい。
〔実施形態8〕
本実施形態において、プロセッサ210Aは、ユーザ5Aに対する課金および決済に関
する処理を、実施形態1に記載されるタグオブジェクト2733Aを用いた方式によって
実行する。しかし、これに限定されず、プロセッサ210Aは、実施形態1に係る方式と
は異なる任意の方式によって、ユーザ5Aに対する課金および決済に関する処理を実行す
ることもできる。
[会場選択]
図103は、ある実施の形態に従う第1仮想空間2411A(第1領域)および視界画
像10317Aを示す図である。プロセッサ210Aは、UIパネル10350およびペ
ンオブジェクト2453を生成し、第1仮想空間2411Aに配置する。なお、ペンオブ
ジェクト2453は、実施形態1にて、図24を参照して既に説明しているため、ここで
は説明を繰り返さない。
UIパネル10350は、実施形態1にて説明したUIパネル2450(図24参照)
と同様に、会場を選択するための処理をプロセッサ210Aに実行させるために、ユーザ
5Aによって用いられる。UIパネル10350は、UIパネル10350の前面に配置
される選択肢10351および10352を含む。選択肢10351および10352は
、その選択肢がユーザ5A(第1ユーザ)によって選択された場合に選択される会場の名
称を説明する情報を含む。また、選択肢10351および10352は、その選択肢がユ
ーザ5Aによって選択された場合の課金額を含む。該課金額は、一例として、会場料金(
第1課金額)およびパフォーマンス料金(第2課金額)である。会場料金は、会場に応じ
た課金額であり、パフォーマンス料金は、アバターオブジェクト6のパフォーマンスに応
じた課金額である。
選択肢10351は、第1会場を選択するための項目であり、第1会場を選択した場合
の会場料金は1000円、パフォーマンス料金は1000円である。選択肢10352は
、第1会場と異なる第2会場を選択するための項目であり、第2会場を選択した場合の会
場料金は500円、パフォーマンス料金は800円である。つまり、第1会場と第2会場
とは異なる会場であるため、選択肢10351と選択肢10352とで会場料金が異なっ
ている。また、第1会場でパフォーマンスをするアバターオブジェクト6と、第2会場で
パフォーマンスをするアバターオブジェクト6とは異なり、さらに、そのパフォーマンス
内容も異なり得るため、選択肢10351と選択肢10352とでパフォーマンス料金も
異なっている。
プロセッサ210Aは、例えば、図103(A)に示す第1仮想空間2411Aに対応
する視界画像10317Aを、図103(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像10317Aを視認することによって、UIパネル10350の
選択肢10351または選択肢10352を選択する必要があることを認識する。
図104は、ある実施の形態に従う第1仮想空間2411Aおよび視界画像10417
Aを示す図である。プロセッサ210Aは、第1会場をユーザ5Aに選択させる。図10
4(A)に示すように、プロセッサ210Aは、仮想右手1531RAがペンオブジェク
ト2453を選択した後、ユーザ5Aの右手の動きに基づいて、ペンオブジェクト245
3の先端を選択肢10351に近づけるように、第1仮想空間2411Aにおいて仮想右
手1531RAおよびペンオブジェクト2453を動かす。プロセッサ210Aは、ペン
オブジェクト2453の先端と選択肢10351とが衝突したことに基づいて、ペンオブ
ジェクト2453によって選択肢10351が選択されたことを検出する。そして、プロ
セッサ210Aは、選択された選択肢10351に対応する第1会場の選択を受け付ける
プロセッサ210Aは、例えば、図104(A)に示す第1仮想空間2411Aに対応
する視界画像10417Aを、図104(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像10417Aを視認することによって、UIパネル10350の
選択肢10351を選択したこと(すなわち第1会場を選択したこと)を認識する。
図105は、ある実施形態に従うHMDセット110において実行される処理の一部を
表すシーケンスチャートである。以下では、ユーザ5Aが、第1会場を選択した後の課金
に関する処理について説明する。図105に示すシーケンスチャートは、図26に示すス
テップS2607が実行された後の処理を示している。
図106は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像10617
Aを示す図である。ステップS10501において、プロセッサ210Aは、会場料金を
表す課金情報をタグオブジェクト2733Aに登録する(第1課金に関する処理を実行す
る)。ステップS10502において、プロセッサ210Aは、パフォーマンス料金を表
す課金情報をタグオブジェクト2733Aに登録する(第2課金に関する処理を実行する
)。プロセッサ210Aは、タグオブジェクト2733Aに登録された課金情報を、タグ
オブジェクト2733A上で視覚化する。図106(A)の例では、プロセッサ210A
は、会場料金とパフォーマンス料金との合計(2000円)を、合計課金額としてタグオ
ブジェクト2733Aに表示する。なお、ステップS10501およびステップS105
02の処理は、同時に実行されてもよいし、ステップS10502の処理が、ステップS
10501の処理より前に実行されてもよい。
課金情報が登録された後、ユーザ5Aは、腕時計で時間を確認するように、左手を自身
の視界内まで移動させる。プロセッサ210Aは、左コントローラ300LAの出力に基
づいて、ユーザ5Aの左手の動きを検出する。プロセッサ210Aは、ユーザ5Aの左手
の動きに応じて、図106(A)に示すように仮想左手1531LAを視界領域15A内
に移動させる。プロセッサ210Aは、例えば、図106(A)に示す第2仮想空間27
11Aに対応する視界画像10617Aを、図106(B)に示すようにモニタ130A
に表示する。ユーザ5Aは、視界画像10617Aを視認することによって、タグオブジ
ェクト2733Aに表示される上限課金額および合計課金額を、それぞれ確認する。図1
06(B)の例では、ユーザは、上限課金額が30000円であり、かつ、現時点での合
計課金額が2000円であることを認識する。換言すれば、ユーザ5Aは、第2仮想空間
2711Aにアバターオブジェクト6A(第1アバター)が入場した結果、会場料金(1
000円)およびパフォーマンス料金(1000円)が課金されたことを把握する。
ステップS10503において、プロセッサ210Aは、アバターオブジェクト6B(
第2アバター)のアバター情報をサーバ600からリアルタイムに受信する。ステップS
10504において、プロセッサ210Aは、最初に受信したアバターオブジェクト6B
のアバター情報に基づいて、アバターオブジェクト6Bを第2仮想空間2711Aに配置
する。詳細には、プロセッサ210Aは、アバターオブジェクト6Bをステージオブジェ
クト1532上に配置する。
実施形態1にて図31を参照して説明したように、ライブの開始後、ユーザ5B(第2
ユーザ)は自身の身体を動かす。プロセッサ210Bは、ユーザ5Bの動きに応じて、第
2仮想空間2711Bにおいてアバターオブジェクト6Bに第1パフォーマンスを実行さ
せる。プロセッサ210Bは、アバターオブジェクト6Bが第1パフォーマンスを実行し
た際のアバターオブジェクト6Bの動き情報を含むアバター情報を、サーバ600にリア
ルタイムに送信する。
ステップS10505において、プロセッサ210Aは、アバターオブジェクト6Bの
アバター情報をサーバ600からリアルタイムに受信する。ステップS10506におい
て、プロセッサ210Aは、受信したアバター情報に含まれる動き情報に基づいて、アバ
ターオブジェクト6Bに第1パフォーマンスを実行させる。
以上のように、プロセッサ210Aは、ユーザ5Aの会場選択に応じて、アバターオブ
ジェクト6Aが第2仮想空間2711Aに入場したとき、会場料金を表す課金情報と、パ
フォーマンス料金を表す課金情報とをタグオブジェクト2733Aに登録する。このよう
に、HMDシステム100は、アバターオブジェクト6Bのパフォーマンスと、該パフォ
ーマンスを実行する会場とが考慮された、より適切な課金額を、ユーザ5Aに課金するこ
とができる。
[会場料金の設定]
図107は、ある実施の形態に従う第1仮想空間2411Aおよび視界画像10717
Aを示す図である。プロセッサ210Aは、UIパネル10750およびペンオブジェク
ト2453を生成し、第1仮想空間2411Aに配置する。図107に示す第1仮想空間
2411Aは、図103に示す第1仮想空間2411Aとは異なるタイミング(例えば、
別の日)に生成された第1仮想空間であるとする。つまり、図107は、図103の例と
は別の日において、ユーザ5Aがライブを視聴するために会場の選択を行なっている例を
示す図である。
図107に示す例において、第1会場は、図103に示す第1会場と異なる。一方、第
1会場で行われるパフォーマンス、および、該パフォーマンスを行うアバターオブジェク
ト6は、図103の例と同じであるとする。なお、第2会場、該第2会場で行われるパフ
ォーマンス、および、該パフォーマンスを行うアバターオブジェクト6は、図103の例
と同じであるとする。このため、UIパネル10750は、選択肢10751に含まれる
会場料金(500円)が選択肢10351に含まれる会場料金(1000円)と異なる。
UIパネル10750は、この点を除き、図103に示すUIパネル10350と同様で
ある。
図108は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像10817
Aを示す図である。図108は、図107に示す第1仮想空間2411Aにおいて、ユー
ザ5Aが第1会場を選択し、第1会場、すなわち第2仮想空間2711Aに入場した後の
状態を示す図である。
図108(A)に示す第2仮想空間2711Aは、図106(A)に示す第2仮想空間
2711Aより狭い。換言すれば、図108(A)に示す第2仮想空間2711Aは、図
106(A)に示す第2仮想空間2711Aに比べて収容人数が少ない。また、図108
(A)に示す第2仮想空間2711Aに配置されたステージオブジェクト10832は、
図106(A)に示す第2仮想空間2711Aに配置されたステージオブジェクト153
2より狭い。換言すれば、図108(A)に示す第2仮想空間2711Aは、図106(
A)に示す第2仮想空間2711Aに比べて設備が充実していない。
このため、図108(A)に示す第2仮想空間2711Aに入場するために課金される
会場料金(500円)は、図106(A)に示す第2仮想空間2711Aに入場するため
に課金される会場料金(1000円)より安くなっている。このように、ある局面におい
て、会場料金は、会場、すなわち第2仮想空間2711Aの属性に基づいて設定される。
第2仮想空間2711Aの属性の一例としては、収容人数、設備の充実度合い、音質など
が挙げられる。
プロセッサ210Aは、例えば、図108(A)に示す第2仮想空間2711Aに対応
する視界画像10817Aを、図108(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像10817Aを視認することによって、第2仮想空間2711A
にアバターオブジェクト6Aが入場した結果、1500円が課金されたことを認識する。
具体的には、ユーザ5Aは、会場料金として500円、パフォーマンス料金として100
0円が課金されたことを認識する。
図109は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像10917
Aを示す図である。図109は、アバターオブジェクト6Bが第2仮想空間2711Aに
配置された後の状態を示す図である。なお、アバターオブジェクト6Bが第2仮想空間2
711Aに配置された後、すなわちライブの開始後に、視聴者側のアバターオブジェクト
6が第2仮想空間2711Aに入場することはできないものとする。
プロセッサ210Aは、第2仮想空間2711Aに配置された、アバターオブジェクト
6A以外の視聴者側のアバターオブジェクト6(第3アバター、以下、「他のアバターオ
ブジェクト6」)の数に基づいて、ユーザ5Aに課金する会場料金を設定してもよい。こ
の例の場合、会場料金は、第1仮想空間2411Aにおける会場の選択の時点では確定し
ていない。このため、第1仮想空間2411Aに配置されるUIパネルの選択肢は、会場
料金の金額を含まない選択肢であってもよい。換言すれば、この例におけるUIパネルは
、図24に示すUIパネル2450であってもよい。
プロセッサ210Aは、アバターオブジェクト6Bが第2仮想空間2711Aに配置さ
れると、他のアバターオブジェクト6の数を算出する。そして、プロセッサ210Aは、
算出した数に応じて、アバターオブジェクト6Aに課金する会場料金を決定し、該会場料
金を表す課金情報をタグオブジェクト2733Aに登録する。なお、プロセッサ210A
は、一例として、このタイミングで、パフォーマンス料金を表す課金情報もタグオブジェ
クト2733Aに登録してもよい。あるいは、プロセッサ210Aは、アバターオブジェ
クト6Aが第2仮想空間2711Aに入場したときに、パフォーマンス料金を表す課金情
報をタグオブジェクト2733Aに登録してもよい。
図109(A)に示すように、第2仮想空間2711Aには、他のアバターオブジェク
ト6が3体配置されている。プロセッサ210Aは、この例において、会場料金を100
0円に決定し、該会場料金を表す課金情報と、パフォーマンス料金(1000円)を表す
課金情報をタグオブジェクト2733Aに登録する。
プロセッサ210Aは、例えば、図109(A)に示す第2仮想空間2711Aに対応
する視界画像10917Aを、図109(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像10917Aを視認することによって、第2仮想空間2711A
にアバターオブジェクト6Aが入場した結果、会場料金とパフォーマンス料金の合計金額
として2000円が課金されたことを認識する。
図110は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像11017
Aを示す図である。図110は、図109と同様の状態を示す図である。この例において
も、アバターオブジェクト6Bが第2仮想空間2711Aに配置された後、すなわちライ
ブの開始後に、視聴者側のアバターオブジェクト6が第2仮想空間2711Aに入場する
ことはできないものとする。また、この例におけるアバターオブジェクト6Bのパフォー
マンスは、図109の例と同一であるものとする。つまり、図110の例におけるパフォ
ーマンス料金は、図109の例と同様に1000円であるとする。
図110の例では、図110(A)に示すように、第2仮想空間2711Aに配置され
た、他のアバターオブジェクト6の数が5体であり、図109の例より多い。プロセッサ
210Aは、この例において、会場料金を、図109の例より高い1500円に決定し、
該会場料金を表す課金情報と、パフォーマンス料金(1000円)を表す課金情報をタグ
オブジェクト2733Aに登録する。プロセッサ210Aは、例えば、図110(A)に
示す第2仮想空間2711Aに対応する視界画像11017Aを、図110(B)に示す
ようにモニタ130Aに表示する。ユーザ5Aは、視界画像11017Aを視認すること
によって、第2仮想空間2711Aにアバターオブジェクト6Aが入場した結果、会場料
金とパフォーマンス料金の合計金額として2500円が課金されたことを認識する。
このように、プロセッサ210Aは、視聴者側のアバターオブジェクト6の数が多い、
すなわち、人気のあるライブである場合、会場料金をより高く設定し、会場料金を適正な
ものとすることができる。
プロセッサ210Aは、他のアバターオブジェクト6の数に代えて、他のアバターオブ
ジェクト6が関連付けられるユーザ5(第3ユーザ、以下、「他のユーザ5」)の属性に
基づいて、会場料金を設定してもよい。あるいは、プロセッサ210Aは、他のアバター
オブジェクト6の数、および、他のユーザ5の属性に基づいて、会場料金を設定してもよ
い。該属性の一例としては、有名度、性別、職業、年収などが挙げられる。これらの情報
は、例えば、仮想空間でのライブを視聴するサービスへ登録するときに入力されればよい
。プロセッサ210Aは、例えば、有名人に関連付けられたアバターオブジェクト6が、
視聴者側のアバターオブジェクト6として第2仮想空間2711Aに配置されている場合
、会場料金をより高く設定してもよい。また例えば、プロセッサ210Aは、ユーザ5A
が男性である場合において、女性であるユーザ5に関連付けられた、他のアバターオブジ
ェクト6の割合が所定の値以上である場合、会場料金をより高く設定してもよい。
また、プロセッサ210Aは、アバターオブジェクト6Aを第2仮想空間2711Aに
入場させた時点で、既に第2仮想空間2711Aに配置されている他のアバターオブジェ
クト6に基づいて、会場料金を設定してもよい。詳細には、プロセッサ210Aは、該他
のアバターオブジェクト6の数、および、該他のアバターオブジェクト6に関連付けられ
るユーザ5の属性の少なくとも一方に基づいて、会場料金を設定してもよい。この例の場
合、プロセッサ210Aは、アバターオブジェクト6Aが第2仮想空間2711Aに入場
したときに、会場料金を表す課金情報をタグオブジェクト2733Aに登録してもよい。
プロセッサ210Aは、ユーザ5Aが好む他のユーザ5の属性と、第2仮想空間271
1Aに配置された他のユーザ5の属性との一致率に応じて、会場料金を設定してもよい。
ユーザ5Aが好む他のユーザ5の属性は、ユーザ5Aが予め入力しておいてもよいし、プ
ロセッサ210Aが、過去にユーザ5Aが視聴したライブにおける他のユーザ5の属性に
基づいて決定してもよい。
[会場選択の変形例]
会場料金およびパフォーマンス料金は、ライブを視聴した時間に応じて設定されてもよ
い。この例の場合、プロセッサ210Aは、ユーザ5Aがライブの視聴を終了した時点で
、会場料金およびパフォーマンス料金の決済に関する処理を行えばよい。
会場料金は、さらに、第2仮想空間2711Aにおいて、アバターオブジェクト6Aが
配置された位置に応じて設定されてもよい。一例として、プロセッサ210Aは、アバタ
ーオブジェクト6Bにより近い位置にアバターオブジェクト6Aを配置した場合、会場料
金をより高く設定してもよい。また、プロセッサ210Aは、第2仮想空間2711Aに
おけるアバターオブジェクト6Aの位置と、該位置にアバターオブジェクト6Aが存在し
た時間とに応じて、会場料金を設定してもよい。つまり、プロセッサ210Aは、アバタ
ーオブジェクト6Aが位置を移動する前後において、単位時間当たりの課金額を変更して
もよい。
プロセッサ210Aは、第1仮想空間2411Aにおいて、すなわち、ユーザ5Aに会
場を選択させるときに、各会場の最も良い席からのプレビューをユーザ5Aに体験させて
もよい。最も良い席とは、例えば、最前列の席であってもよい。
[アバターオブジェクト6のシャッフル]
プロセッサ210Aは、一例として、ユーザ5Aの入力に応じて、課金に関する処理が
実行された場合、アバターオブジェクト6Aおよび他のアバターオブジェクト6からなる
アバター群から選択された複数のアバターオブジェクト6それぞれを、第2仮想空間27
11Aの異なる位置に移動させる。ある局面において、プロセッサ210Aは、第2仮想
空間2711Aにおいて、アバター群から選択された複数のアバターオブジェクト6の位
置を入れ替える。以下、この入れ替えを「アバターシャッフル」と称する。
図111は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像11017
Aを示す図である。プロセッサ210Aは、アバターシャッフルをユーザ5Aに案内する
メッセージを、ライブ中にユーザ5Aに通知する。プロセッサ210Aは、例えば、タグ
オブジェクト2733Aにメッセージを表示する。メッセージは、アバターシャッフルを
案内するテキストと、ユーザ5Aがアバターシャッフルを行うために必要な課金額とを含
む。
メッセージがタグオブジェクト2733Aに表示された後、プロセッサ210Aは、ユ
ーザ5Aの左手の動きに応じて、図111(A)に示すように、仮想左手1531LAを
視界領域15A内に移動させる。プロセッサ210Aは、例えば、図111(A)に示す
第2仮想空間2711Aに対応する視界画像11117Aを、図111(B)に示すよう
にモニタ130Aに表示する。ユーザ5Aは、視界画像11117Aを視認することによ
って、タグオブジェクト2733Aに表示されるメッセージを確認する。これにより、ユ
ーザ5Aは、新たに1000円の課金額を支払えば、アバターシャッフルを行なえること
を認識する。
ユーザ5Aは、タグオブジェクト2733Aに表示されたメッセージを確認した後、ア
バターシャッフルを行うための操作を行う。該操作は、実施形態1にて図34を参照して
説明しているため、ここでは繰り返さない。プロセッサ210Aは、アバターシャッフル
を案内するメッセージが表示されるタグオブジェクト2733Aが選択されたことに応じ
て、アバターシャッフルを行うためのユーザ5Aの操作を検出する。該操作を検出すると
、プロセッサ210Aは、アバターシャッフルに対応する課金情報を、タグオブジェクト
2733Aに登録し、アバターシャッフルを実行する。図111の例では、プロセッサ2
10Aは、アバターオブジェクト6Aが、仮想右手1531RAでタグオブジェクト27
33Aを選択した場合、アバターシャッフルに必要な課金額(1000円)を表す課金情
報を、タグオブジェクト2733Aに新たに登録する(第3課金に関する処理を実行する
)。なお、登録された課金情報が表す課金額の決済は、実施形態1で説明した方法で行え
ばよい。
図112は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像11217
Aを示す図である。プロセッサ210Aは、一例として、図112(A)に示すように、
第2仮想空間2711Aに配置されている6体のアバターオブジェクト6の位置をランダ
ムに入れ替える。アバターシャッフルが実行されたことにより、アバターオブジェクト6
Aは、図111の例において最前列にいたアバターオブジェクト6の位置へ移動している
。また、図111の例において、アバターオブジェクト6Aに最も近い位置にいたアバタ
ーオブジェクト6はアバターオブジェクト6Cである。一方、アバターシャッフルが実行
されたことにより、アバターオブジェクト6Aに最も近い位置にいるアバターオブジェク
ト6は、図112(A)に示すようにアバターオブジェクト6Dとなっている。
プロセッサ210Aは、例えば、図112(A)に示す第2仮想空間2711Aに対応
する視界画像11217Aを、図112(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像11217Aを視認することにより、アバターシャッフルによっ
てアバターオブジェクト6Aが移動したことを認識する。
プロセッサ210Aは、アバターシャッフルを実行した場合、アバターシャッフル実行
後の各アバターオブジェクト6の位置を示す情報を含むアバター情報を、サーバ600へ
送信する。サーバ600は、同期処理により、受信したアバター情報を、各コンピュータ
200へ送信する。これにより、ユーザ5B、5C、5Dなどの各ユーザ5に提供された
仮想空間11においても、アバターシャッフルが実行される。
図113は、ある実施の形態に従う第2仮想空間2711Aおよび視界画像11317
Aを示す図である。課金情報が登録された後、プロセッサ210Aは、タグオブジェクト
2733A上で課金情報を再び視覚化する。この処理の詳細については、実施形態1にて
図35を参照して説明しているため、ここでは繰り返さない。プロセッサ210Aは、例
えば、図113(A)に示す第2仮想空間2711Aに対応する視界画像11317Aを
、図113(B)に示すようにモニタ130Aに表示する。ユーザ5Aは、視界画像11
317Aを視認することにより、アバターシャッフルを行うことによって現時点での合計
課金額が2500円に増加したことを認識する。
以上のように、プロセッサ210Aは、課金情報の登録に応じて、アバターシャッフル
を実行する。これにより、アバターオブジェクト6Aに最も近い位置にいる他のアバター
オブジェクト6が変更される。結果として、ユーザ5は、ライブ中にアバターシャッフル
を実行することにより、多様な他のユーザ5とのコミュニケーションを実現することがで
きる。
[アバターシャッフルの変形例]
図114は、ある実施の形態に従う第2仮想空間4411Aおよび視界画像11417
Aを示す図である。プロセッサ210Aは、第2仮想空間2711Aと同様に、アバター
オブジェクト6A〜6D、およびステージオブジェクト1532を第2仮想空間4411
Aに配置する。第2仮想空間4411Aは、第1領域4451を含んでいる。第1領域4
451は、第2仮想空間4411Aの一部分に相当する。プロセッサ210Aは、第1領
域4451の外縁における一カ所に、ゲートオブジェクト4452を配置する。
図114では、アバターオブジェクト6A〜6Cおよびステージオブジェクト1532
は第1領域4451内に配置されている。アバターオブジェクト6Dは、第1領域445
1外に配置されている。第1領域4451は、図示しない不透明の壁オブジェクトによっ
て囲まれている。第1領域4451では、アバターオブジェクト6Bのライブが開催され
ている。第1領域4451内にいるアバターオブジェクト6は、アバターオブジェクト6
Bによるパフォーマンスを視聴することができる。第1領域4451外にいるアバターオ
ブジェクト6は、アバターオブジェクト6Bによるパフォーマンスを視聴することができ
ない。つまり、図114の例の場合、アバターオブジェクト6Aおよび6Cは、アバター
オブジェクト6Bによるパフォーマンスを視聴することができる。アバターオブジェクト
6Dは、アバターオブジェクト6Bによるパフォーマンスを視聴することができない。
プロセッサ210Aは、例えば、図114(A)に示す第2仮想空間4411Aに対応
する視界画像11417Aを、図114(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像11417Aを視認することにより、アバターオブジェクト6C
が第1領域4451内にいることを認識する。
図115は、ある実施の形態に従う第2仮想空間4411Aおよび視界画像11517
Aを示す図である。プロセッサ210Aは、一例として、ユーザ5Aの入力に応じて、課
金に関する処理が実行された場合、アバターシャッフルを実行し、第1領域4451内に
配置された他のアバターオブジェクト6を第1領域4451外に移動させるとともに、第
1領域4451外に配置された他のアバターオブジェクト6を第1領域4451内に移動
させてもよい。プロセッサ210Aは、例えば、アバターシャッフルを実行することによ
り、アバターオブジェクト6Cの位置とアバターオブジェクト6Dの位置とを入れ替える
。これにより、図115(A)に示すように、アバターオブジェクト6Cが第1領域44
51外へ移動し、アバターオブジェクト6Dが第1領域内へ移動する。
プロセッサ210Aは、例えば、図115(A)に示す第2仮想空間4411Aに対応
する視界画像11517Aを、図115(B)に示すようにモニタ130Aに表示する。
ユーザ5Aは、視界画像11517Aを視認することにより、アバターシャッフルによっ
て、アバターオブジェクト6Dが、アバターオブジェクト6Cがいた位置に移動したこと
を認識する。そして、ユーザ5Aは、新たな他のユーザ5(ユーザ5D)とのコミュニケ
ーションを実現することができる。
なお、本変形例の場合、アバターシャッフルにより第1領域4451内から第1領域4
451外へアバターオブジェクト6が移動する可能性があることを、ライブの開始前にユ
ーザ5に通知しておくことが好ましい。また、プロセッサ210Aは、第1領域4451
外にスクリーンオブジェクト4340(図43参照)を配置してもよい。すなわち、第1
領域4451外は、第1領域4451内で行われているライブのパブリックビューイング
会場であってもよい。
また、プロセッサ210Aは、ユーザ5Bによる第1操作を検出した場合に、アバター
シャッフルを可能としてもよい。詳細には、プロセッサ210Aは、コンピュータ200
Bから、アバターシャッフルを許可する旨の通知を受信した場合、アバターシャッフルを
ユーザ5Aに案内するメッセージを、タグオブジェクト2733Aに表示する。このとき
、プロセッサ210Aは、視界画像17Aに、アバターシャッフルが可能となったことを
示す通知画像を含めてもよい。これにより、ユーザ5Aは、視界画像17Aを視認するこ
とによって、アバターシャッフルが可能となったことを認識することができる。
また、プロセッサ210Aは、一例として、ユーザ5Aの入力に応じて、課金に関する
処理が実行された場合、1体の他のアバターオブジェクト6を、アバターオブジェクト6
Aに最も近い位置へ移動させてもよい。
ユーザ5Aによるアバターシャッフルに、ユーザ5Aに対する課金が不要であってもよ
い。
プロセッサ210Aは、ユーザ5Aの入力に応じて、他のユーザ5が実行するアバター
シャッフルの対象からアバターオブジェクト6Aを除外するための課金に関する処理を実
行してもよい。
以上、本開示の実施形態について説明したが、本発明の技術的範囲は、本実施形態の説
明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範
囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者
によって理解されるところである。本発明の技術的範囲は、特許請求の範囲に記載された
発明の範囲およびその均等の範囲に基づいて定められるべきである。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
(項目1) プログラムを説明した。本開示のある局面によると、プログラムは、第1
ユーザ(ユーザ5A)に仮想体験を提供するために、第1プロセッサ(プロセッサ210
A)を備えた第1コンピュータ(コンピュータ200A)によって実行される。プログラ
ムは、第1プロセッサに、仮想体験を第1ユーザに提供するための仮想空間(第2仮想空
間2711A)を定義するステップ(S2601)と、第1ユーザに関連付けられる第1
アバター(アバターオブジェクト6A)と、第2ユーザ(ユーザ5B)に関連付けられる
第2アバター(アバターオブジェクト6B)とを、仮想空間に配置するステップ(S26
06、S2612)と、第2ユーザの動きに応じて、第2アバターに第1パフォーマンス
を実行させるステップ(S2614)と、第1ユーザの入力に基づいて、課金に関する処
理を実行するステップ(S7801)と、課金に関する処理が実行された場合、第2アバ
ターによる第2パフォーマンスの実行を第2ユーザにリクエストするステップ(S780
2)と、第2パフォーマンスの実行をリクエストした後、第2ユーザの動きに応じて、第
2アバターに第2パフォーマンスを実行させるステップ(S7804)と、を実行させる
(項目2) (項目1)において、プログラムは、第1プロセッサに、第1ユーザの頭
部の姿勢と仮想空間における第1アバターの位置とに応じて、仮想空間における第1アバ
ターからの視界(視界領域15A)を制御するステップ(S2608)と、第1アバター
からの視界に対応する視界画像(視界画像17A)を定義するステップ(S2609)と
、第1ユーザの頭部に関連付けられた画像表示装置(モニタ130A)に前記視界画像を
出力するステップ(S2609)と、をさらに実行させる。
(項目3) (項目2)において、課金に関する処理を実行するステップにおいて、第
2アバターに第1パフォーマンスを実行させている間に行われた第1ユーザの入力に基づ
いて、課金に関する処理を実行する。
(項目4) (項目1)〜(項目3)のいずれかにおいて、プログラムは、第1プロセ
ッサに、仮想空間に、第3ユーザ(ユーザ5C、5D)に関連付けられる第3アバター(
アバターオブジェクト6C、6D)を配置するステップ(S2605)と、第1ユーザに
よる、該第2パフォーマンスの対価としての第1金額の入力を受け付けるステップと、を
さらに実行させる。課金に関する処理を実行するステップにおいて、第1金額が、該第2
パフォーマンスの対価として第3ユーザにより入力された第2金額より高い場合、第1金
額に基づく前記課金に関する処理を実行する。
(項目5) プログラムを説明した。本開示のある局面によると、プログラムは、第2
ユーザ(ユーザ5B)に仮想体験を提供するために、第2プロセッサ(プロセッサ210
B)を備えた第2コンピュータ(コンピュータ200B)によって実行される。プログラ
ムは、第2プロセッサに、仮想体験を第2ユーザに提供するための仮想空間(第2仮想空
間2711B)を定義するステップ(S2601)と、第1ユーザ(ユーザ5A)に関連
付けられる第1アバター(アバターオブジェクト6A)と、第2ユーザに関連付けられる
第2アバター(アバターオブジェクト6B)とを、仮想空間に配置するステップ(S26
06、S2612)と、第2ユーザの身体の動きを検出するステップ(S1701、S1
702)と、第2ユーザの動きに応じて、第2アバターに第1パフォーマンスを実行させ
るステップ(S1703)と、第1ユーザの入力に基づいて実行された課金に関する処理
に応じて、第2アバターによる第2パフォーマンスの実行が第2ユーザにリクエストされ
た場合、第2パフォーマンスに関する情報(通知画像8181)を第2ユーザに通知する
ステップ(S7812)と、第2パフォーマンスに関する情報を第2ユーザに通知した後
、第2ユーザの動きに応じて、第2アバターに第2パフォーマンスを実行させるステップ
(S7814)と、を実行させる。
(項目6) (項目5)において、第2パフォーマンスは、入力を行った第1ユーザに
関連付けられた第1アバターを対象とするパフォーマンスである。通知するステップにお
いて、該第1アバターの、仮想空間における第1位置(8176)を示す情報(矢印画像
8182、枠画像8283)を、第2ユーザにさらに通知する。
(項目7) (項目6)において、プログラムは、第2プロセッサに、第2ユーザの頭
部の姿勢と仮想空間における第2アバターの位置とに応じて、仮想空間における第2アバ
ターからの視界(視界領域15B)を制御するステップ(S2608)と、第2アバター
からの視界に対応する視界画像(視界画像17B)を定義するステップ(S2609)と
、第2ユーザの頭部に関連付けられた画像表示装置(モニタ130B)に視界画像を出力
するステップ(S2609)と、をさらに実行させる。通知するステップにおいて、第1
位置を示す情報を視界画像上で通知する。
(項目8) (項目7)において、第1アバターが視界画像に含まれていない場合、第
1位置を示す情報は、仮想空間における視界内の第2位置(8177)から、第1位置へ
向かう第1方向(8178)に対応する、視界画像における第2方向を示す画像(矢印画
像)である。
(項目9) (項目5)〜(項目8)において、第2パフォーマンスに関する情報は、
第2パフォーマンスの内容を含む。
(項目10) 情報処理装置を説明した。本開示のある局面によると、情報処理装置(
コンピュータ200A)は、第1ユーザ(ユーザ5A)に仮想体験を提供するために、情
報処理装置によって実行されるプログラムを記憶する記憶部(ストレージ230A)と、
プログラムを実行することにより、情報処理装置の動作を制御する制御部(プロセッサ2
10A)と、を備えている。制御部は、仮想体験を第1ユーザに提供するための仮想空間
(第2仮想空間2711A)を定義し、第1ユーザに関連付けられる第1アバター(アバ
ターオブジェクト6A)と、第2ユーザ(ユーザ5B)に関連付けられる第2アバター(
アバターオブジェクト6B)とを、仮想空間に配置し、第2ユーザの動きに応じて、第2
アバターに第1パフォーマンスを実行させ、第1ユーザの入力に基づいて、課金に関する
処理を実行し、課金に関する処理が実行された場合、第2アバターによる第2パフォーマ
ンスの実行を第2ユーザにリクエストし、第2パフォーマンスの実行をリクエストした後
、第2ユーザの動きに応じて、第2アバターに第2パフォーマンスを実行させる。
(項目11) 情報処理装置を説明した。本開示のある局面によると、情報処理装置(
コンピュータ200B)は、第2ユーザ(ユーザ5B)に仮想体験を提供するために、情
報処理装置によって実行されるプログラムを記憶する記憶部(ストレージ230B)と、
プログラムを実行することにより、情報処理装置の動作を制御する制御部(プロセッサ2
10B)と、を備えている。制御部は、仮想体験を第2ユーザに提供するための仮想空間
(第2仮想空間2711B)を定義し、第1ユーザ(ユーザ5A)に関連付けられる第1
アバター(アバターオブジェクト6A)と、第2ユーザに関連付けられる第2アバター(
アバターオブジェクト6B)とを、仮想空間に配置し、第2ユーザの身体の動きを検出し
、第2ユーザの動きに応じて、第2アバターに第1パフォーマンスを実行させ、第1ユー
ザの入力に基づいて実行された課金に関する処理に応じて、第2アバターによる第2パフ
ォーマンスの実行が第2ユーザにリクエストされた場合、第2パフォーマンスに関する情
報(通知画像8181)を第2ユーザに通知し、第2パフォーマンスに関する情報を第2
ユーザに通知した後、第2ユーザの動きに応じて、第2アバターに第2パフォーマンスを
実行させる。
(項目12) プログラムを実行する方法を説明した。本開示のある局面によると、プ
ログラムは、第1ユーザ(ユーザ5A)に仮想体験を提供するために、第1プロセッサ(
プロセッサ210A)を備えた第1コンピュータ(コンピュータ200A)によって実行
される。方法は、第1プロセッサが、仮想体験を第1ユーザに提供するための仮想空間(
第2仮想空間2711A)を定義するステップ(S2601)と、第1ユーザに関連付け
られる第1アバター(アバターオブジェクト6A)と、第2ユーザ(ユーザ5B)に関連
付けられる第2アバター(アバターオブジェクト6B)とを、仮想空間に配置するステッ
プ(S2606、S2612)と、第2ユーザの動きに応じて、第2アバターに第1パフ
ォーマンスを実行させるステップ(S2614)と、第1ユーザの入力に基づいて、課金
に関する処理を実行するステップ(S7801)と、課金に関する処理が実行された場合
、第2アバターによる第2パフォーマンスの実行を第2ユーザにリクエストするステップ
(S7802)と、第2パフォーマンスの実行をリクエストした後、第2ユーザの動きに
応じて、第2アバターに第2パフォーマンスを実行させるステップ(S7804)と、を
含む。
(項目13) プログラムを実行する方法を説明した。本開示のある局面によると、プ
ログラムは、第2ユーザ(ユーザ5B)に仮想体験を提供するために、第2プロセッサ(
プロセッサ210B)を備えた第2コンピュータ(コンピュータ200B)によって実行
される。方法は、第2プロセッサが、仮想体験を第2ユーザに提供するための仮想空間(
第2仮想空間2711B)を定義するステップ(S2601)と、第1ユーザ(ユーザ5
A)に関連付けられる第1アバター(アバターオブジェクト6A)と、第2ユーザに関連
付けられる第2アバター(アバターオブジェクト6B)とを、仮想空間に配置するステッ
プ(S2606、S2612)と、第2ユーザの身体の動きを検出するステップ(S17
01、S1702)と、第2ユーザの動きに応じて、第2アバターに第1パフォーマンス
を実行させるステップ(S1703)と、第1ユーザの入力に基づいて実行された課金に
関する処理に応じて、第2アバターによる第2パフォーマンスの実行が第2ユーザにリク
エストされた場合、第2パフォーマンスに関する情報(通知画像8181)を第2ユーザ
に通知するステップ(S7812)と、第2パフォーマンスに関する情報を第2ユーザに
通知した後、第2ユーザの動きに応じて、第2アバターに第2パフォーマンスを実行させ
るステップ(S7814)と、を含む。
上記実施形態においては、HMDによってユーザが没入する仮想空間(VR空間)を例
示して説明したが、HMDとして、透過型のHMDを採用してもよい。この場合、透過型
のHMDを介してユーザが視認する現実空間に仮想空間を構成する画像の一部を合成した
視界画像を出力することにより、拡張現実(AR:Augmented Reality)空間または複合
現実(MR:Mixed Reality)空間における仮想体験をユーザに提供してもよい。この場
合、操作オブジェクトに代えて、ユーザの手の動きに基づいて、仮想空間内における対象
オブジェクトへの作用を生じさせてもよい。具体的には、プロセッサは、現実空間におけ
るユーザの手の位置の座標情報を特定するとともに、仮想空間内における対象オブジェク
トの位置を現実空間における座標情報との関係で定義してもよい。これにより、プロセッ
サは、現実空間におけるユーザの手と仮想空間における対象オブジェクトとの位置関係を
把握し、ユーザの手と対象オブジェクトとの間で上述したコリジョン制御等に対応する処
理を実行可能となる。その結果、ユーザの手の動きに基づいて対象オブジェクトに作用を
与えることが可能となる。
2 ネットワーク、5,5A,5B,5C、5D ユーザ、6,6A,6B,6C,6
D アバターオブジェクト、11,11A,11B,11C,11D 仮想空間、12
中心、13 パノラマ画像、14,14A,14B 仮想カメラ、15,15A,15B
,15C 視界領域、16 基準視線、17,17A,17B 視界画像、18,19
領域、100 HMDシステム、110,110A,110B,110C,110D H
MDセット、120,120A,120B,120C、HMD、130,130A,13
0B,130C モニタ、140 注視センサ、150 第1カメラ、160 第2カメ
ラ、170,170A,170B マイク、180,180A,180B スピーカ、1
90 センサ、200,200A,200B コンピュータ、210,210A、210
B,210C,210D,610 プロセッサ、220,620 メモリ、230,23
0A,230B,630 ストレージ、240,640 入出力インターフェイス、25
0,650 通信インターフェイス、260,660 バス、300,300B コント
ローラ、300R 右コントローラ、300L 左コントローラ、310 グリップ、3
20 フレーム、330 天面、340,340,350,370,380 ボタン、3
60 赤外線LED、390 アナログスティック、410 HMDセンサ、420,4
20A モーションセンサ、430,430A ディスプレイ、510 コントロールモ
ジュール、520 レンダリングモジュール、530 メモリモジュール、540 通信
制御モジュール、600 サーバ、700 外部機器、1421 仮想オブジェクト生成
モジュール、1422 仮想カメラ制御モジュール、1423 操作オブジェクト制御モ
ジュール、1424 アバターオブジェクト制御モジュール、1425 動き検出モジュ
ール、1426 衝突検出モジュール、1427 仮想オブジェクト制御モジュール、1
428 課金処理モジュール、1429 決済処理モジュール、1517A,1617B
,2417A,2517A,2717A,2817A,2917B,3017A,321
7A,3317A,3417A,3517A,3617A,3717A,3817A,3
917A,4017B,4117A,4317A,4417A,4617A,4717A
,4817A,4917A,5017A,5117B,5217A,5317B,541
7B,5517A,5617A,5717A,5917C,6017C,6117A,6
217A,6317A,6417B,6517A,6617A,6817B,6917B
,7117A,7117B,7217A,7417B,7517A,7617B,771
7B,7917A,8017A,8117B,8217B,8417B,8517A,8
717A,8817A,8917A,9017B,9217A,9417A,9517A
,9617A,9717A,9817C,9917C,10017A,10117A,1
0217A,10317A,10417A,10617A,10717A,10817A
,10917A,11017A,11117A,11217A,11317A,1141
7A,11517A,視界画像、1531LA,1531LB,1531LC,1531
LD 仮想左手、1531RA,1531RB,1531RC 仮想右手、1532,1
0832 ステージオブジェクト、1641,1642,1643 モーションセンサ、
1644 ベルト、2411A 第1仮想空間、2450 2450,6850,989
4,10350,10750,UIパネル、UIパネル、2451,2452,6851
,6852,9895,9896,10351,10352,10751 選択肢、24
53、6853 ペンオブジェクト、2711A,2711B,2711C,2711D
,4311B,4411A 第2仮想空間、2733A,2733B,2733C,27
33D タグオブジェクト、3936A,3936C,3936D モニタオブジェクト
、4137A,4137C,4137D テクスチャ、4239 ライブ映像、4340
スクリーンオブジェクト、4451 第1領域、4452 ゲートオブジェクト、37
35,8181,9084,10085,10286, 通知画像、4661,5070
,8176 第1位置、4662,5071,8177 第2位置、4663,6277
マーク,4664,4867,5373,5675 位置,4665,4969,57
76 移動距離,4866,5372 第3位置,5674 第4位置、6811B 第
3仮想空間,8178 第1方向,8182 矢印画像,8283 枠画像,9491
照明オブジェクト,9492,9792 光線オブジェクト,9693 照明制御オブジ
ェクト

Claims (13)

  1. 第1ユーザに仮想体験を提供するために、第1プロセッサを備えた第1コンピュータに
    よって実行されるプログラムであって、
    前記プログラムは、前記第1プロセッサに、
    前記仮想体験を前記第1ユーザに提供するための仮想空間を定義するステップと、
    前記第1ユーザに関連付けられる第1アバターと、第2ユーザに関連付けられる第2
    アバターとを、前記仮想空間に配置するステップと、
    前記第2ユーザの動きに応じて、前記第2アバターに第1パフォーマンスを実行させ
    るステップと、
    前記第1ユーザの入力に基づいて、課金に関する処理を実行するステップと、
    前記課金に関する処理が実行された場合、前記第2アバターによる第2パフォーマン
    スの実行を前記第2ユーザにリクエストするステップと、
    前記第2パフォーマンスの実行をリクエストした後、前記第2ユーザの動きに応じて
    、前記第2アバターに前記第2パフォーマンスを実行させるステップと、を実行させる、
    プログラム。
  2. 前記プログラムは、前記第1プロセッサに、
    前記第1ユーザの頭部の姿勢と前記仮想空間における前記第1アバターの位置とに応
    じて、前記仮想空間における前記第1アバターからの視界を制御するステップと、
    前記第1アバターからの前記視界に対応する視界画像を定義するステップと、
    前記第1ユーザの頭部に関連付けられた画像表示装置に前記視界画像を出力するステ
    ップと、をさらに実行させる、請求項1に記載のプログラム。
  3. 前記課金に関する処理を実行するステップにおいて、前記第2アバターに前記第1パフ
    ォーマンスを実行させている間に行われた前記第1ユーザの入力に基づいて、前記課金に
    関する処理を実行する、請求項2に記載のプログラム。
  4. 前記プログラムは、前記第1プロセッサに、
    前記仮想空間に、第3ユーザに関連付けられる第3アバターを配置するステップと、
    前記第1ユーザによる、該第2パフォーマンスの対価としての第1金額の入力を受け
    付けるステップと、をさらに実行させ、
    前記課金に関する処理を実行するステップにおいて、前記第1金額が、該第2パフォー
    マンスの対価として前記第3ユーザにより入力された第2金額より高い場合、前記第1金
    額に基づく前記課金に関する処理を実行する、請求項1から3のいずれか1項に記載のプ
    ログラム。
  5. 第2ユーザに仮想体験を提供するために、第2プロセッサを備えた第2コンピュータに
    よって実行されるプログラムであって、
    前記プログラムは、前記第2プロセッサに、
    前記仮想体験を前記第2ユーザに提供するための仮想空間を定義するステップと、
    第1ユーザに関連付けられる第1アバターと、前記第2ユーザに関連付けられる第2
    アバターとを、前記仮想空間に配置するステップと、
    前記第2ユーザの身体の動きを検出するステップと、
    前記第2ユーザの動きに応じて、前記第2アバターに第1パフォーマンスを実行させ
    るステップと、
    前記第1ユーザの入力に基づいて実行された課金に関する処理に応じて、前記第2ア
    バターによる第2パフォーマンスの実行が前記第2ユーザにリクエストされた場合、前記
    第2パフォーマンスに関する情報を前記第2ユーザに通知するステップと、
    前記第2パフォーマンスに関する情報を前記第2ユーザに通知した後、前記第2ユー
    ザの動きに応じて、前記第2アバターに前記第2パフォーマンスを実行させるステップと
    、を実行させる、プログラム。
  6. 前記第2パフォーマンスは、前記入力を行った前記第1ユーザに関連付けられた前記第
    1アバターを対象とするパフォーマンスであり、
    前記通知するステップにおいて、該第1アバターの、前記仮想空間における第1位置を
    示す情報を、前記第2ユーザにさらに通知する、請求項5に記載のプログラム。
  7. 前記プログラムは、前記第2プロセッサに、
    前記第2ユーザの頭部の姿勢と前記仮想空間における前記第2アバターの位置とに応
    じて、前記仮想空間における前記第2アバターからの視界を制御するステップと、
    前記第2アバターからの前記視界に対応する視界画像を定義するステップと、
    前記第2ユーザの頭部に関連付けられた画像表示装置に前記視界画像を出力するステ
    ップと、をさらに実行させ、
    前記通知するステップにおいて、前記第1位置を示す情報を前記視界画像上で通知する
    、請求項6に記載のプログラム。
  8. 前記第1アバターが前記視界画像に含まれていない場合、前記第1位置を示す情報は、
    前記仮想空間における前記視界内の第2位置から、前記第1位置へ向かう第1方向に対応
    する、前記視界画像における第2方向を示す画像である、請求項7に記載のプログラム。
  9. 前記第2パフォーマンスに関する情報は、前記第2パフォーマンスの内容を含む、前記
    請求項5から8のいずれか1項に記載のプログラム。
  10. 情報処理装置であって、
    前記情報処理装置は、
    第1ユーザに仮想体験を提供するために、第1プロセッサを備えた第1コンピュータ
    によって実行されるプログラムを記憶する記憶部と、
    前記プログラムを実行することにより、前記情報処理装置の動作を制御する制御部と
    、を備え、
    前記制御部は、
    前記仮想体験を前記第1ユーザに提供するための仮想空間を定義し、
    前記第1ユーザに関連付けられる第1アバターと、第2ユーザに関連付けられる第2
    アバターとを、前記仮想空間に配置し、
    前記第2ユーザの動きに応じて、前記第2アバターに第1パフォーマンスを実行させ

    前記第1ユーザの入力に基づいて、課金に関する処理を実行し、
    前記課金に関する処理が実行された場合、前記第2アバターによる第2パフォーマン
    スの実行を前記第2ユーザにリクエストし、
    前記第2パフォーマンスの実行をリクエストした後、前記第2ユーザの動きに応じて
    、前記第2アバターに前記第2パフォーマンスを実行させる、情報処理装置。
  11. 情報処理装置であって、
    前記情報処理装置は、
    第2ユーザに仮想体験を提供するために、第2プロセッサを備えた第2コンピュータ
    によって実行されるプログラムを記憶する記憶部と、
    前記プログラムを実行することにより、前記情報処理装置の動作を制御する制御部と
    、を備え、
    前記制御部は、
    前記仮想体験を前記第2ユーザに提供するための仮想空間を定義し、
    第1ユーザに関連付けられる第1アバターと、前記第2ユーザに関連付けられる第2
    アバターとを、前記仮想空間に配置し、
    前記第2ユーザの身体の動きを検出し、
    前記第2ユーザの動きに応じて、前記第2アバターに第1パフォーマンスを実行させ

    前記第1ユーザの入力に基づいて実行された課金に関する処理に応じて、前記第2ア
    バターによる第2パフォーマンスの実行が前記第2ユーザにリクエストされた場合、前記
    第2パフォーマンスに関する情報を前記第2ユーザに通知し、
    前記第2パフォーマンスに関する情報を前記第2ユーザに通知した後、前記第2ユー
    ザの動きに応じて、前記第2アバターに前記第2パフォーマンスを実行させる、情報処理
    装置。
  12. 第1ユーザに仮想体験を提供するために、第1プロセッサを備えた第1コンピュータが
    プログラムを実行する方法であって、
    前記方法は、前記第1プロセッサが、
    前記仮想体験を前記第1ユーザに提供するための仮想空間を定義するステップと、
    前記第1ユーザに関連付けられる第1アバターと、第2ユーザに関連付けられる第2
    アバターとを、前記仮想空間に配置するステップと、
    前記第2ユーザの動きに応じて、前記第2アバターに第1パフォーマンスを実行させ
    るステップと、
    前記第1ユーザの入力に基づいて、課金に関する処理を実行するステップと、
    前記課金に関する処理が実行された場合、前記第2アバターによる第2パフォーマン
    スの実行を前記第2ユーザにリクエストするステップと、
    前記第2パフォーマンスの実行をリクエストした後、前記第2ユーザの動きに応じて
    、前記第2アバターに前記第2パフォーマンスを実行させるステップと、を含む、方法。
  13. 第2ユーザに仮想体験を提供するために、第2プロセッサを備えた第2コンピュータが
    プログラムを実行する方法であって、
    前記方法は、前記第2プロセッサが、
    前記仮想体験を前記第2ユーザに提供するための仮想空間を定義するステップと、
    第1ユーザに関連付けられる第1アバターと、前記第2ユーザに関連付けられる第2
    アバターとを、前記仮想空間に配置するステップと、
    前記第2ユーザの身体の動きを検出するステップと、
    前記第2ユーザの動きに応じて、前記第2アバターに第1パフォーマンスを実行させ
    るステップと、
    前記第1ユーザの入力に基づいて実行された課金に関する処理に応じて、前記第2ア
    バターによる第2パフォーマンスの実行が前記第2ユーザにリクエストされた場合、前記
    第2パフォーマンスに関する情報を前記第2ユーザに通知するステップと、
    前記第2パフォーマンスに関する情報を前記第2ユーザに通知した後、前記第2ユー
    ザの動きに応じて、前記第2アバターに前記第2パフォーマンスを実行させるステップと
    、を含む、方法。
JP2018222930A 2018-11-28 2018-11-28 プログラム、情報処理装置、および方法 Active JP7029379B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018222930A JP7029379B2 (ja) 2018-11-28 2018-11-28 プログラム、情報処理装置、および方法
JP2022023670A JP7278442B2 (ja) 2018-11-28 2022-02-18 プログラム、情報処理装置、および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018222930A JP7029379B2 (ja) 2018-11-28 2018-11-28 プログラム、情報処理装置、および方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018087779A Division JP6463535B1 (ja) 2018-04-27 2018-04-27 プログラム、情報処理装置、および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022023670A Division JP7278442B2 (ja) 2018-11-28 2022-02-18 プログラム、情報処理装置、および方法

Publications (3)

Publication Number Publication Date
JP2019192203A true JP2019192203A (ja) 2019-10-31
JP2019192203A5 JP2019192203A5 (ja) 2021-05-13
JP7029379B2 JP7029379B2 (ja) 2022-03-03

Family

ID=68390416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018222930A Active JP7029379B2 (ja) 2018-11-28 2018-11-28 プログラム、情報処理装置、および方法

Country Status (1)

Country Link
JP (1) JP7029379B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021117593A (ja) * 2020-01-23 2021-08-10 株式会社ドワンゴ コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム
JP2023026312A (ja) * 2021-08-11 2023-02-24 株式会社Abal 複合空間体感システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248844A (ja) * 2001-12-18 2003-09-05 Sony Computer Entertainment Inc 仮想世界におけるオブジェクトの表示装置、表示システム及び表示方法、ならびにそれらを利用可能な仮想世界における地価及び広告料の設定方法
US20080098064A1 (en) * 2006-10-23 2008-04-24 Sherinian Konrad V Systems, methods, and apparatus for transmitting virtual world content from a server system to a client
JP2009230507A (ja) * 2008-03-24 2009-10-08 Konami Digital Entertainment Co Ltd 画像生成装置、画像生成方法、ならびに、プログラム
KR20100004673A (ko) * 2008-07-04 2010-01-13 에스케이텔레시스 주식회사 홈과 원정 개념이 적용된 사용자 위치 기반 무선 인터넷게임 서비스 방법 및 시스템
JP2013244050A (ja) * 2012-05-23 2013-12-09 Hiroyuki Yamazaki ゲームプログラム、ゲーム制御方法、及びゲーム装置
JP6203369B1 (ja) * 2016-12-08 2017-09-27 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018007828A (ja) * 2016-07-13 2018-01-18 株式会社バンダイナムコエンターテインメント プログラム及び電子機器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248844A (ja) * 2001-12-18 2003-09-05 Sony Computer Entertainment Inc 仮想世界におけるオブジェクトの表示装置、表示システム及び表示方法、ならびにそれらを利用可能な仮想世界における地価及び広告料の設定方法
US20080098064A1 (en) * 2006-10-23 2008-04-24 Sherinian Konrad V Systems, methods, and apparatus for transmitting virtual world content from a server system to a client
JP2009230507A (ja) * 2008-03-24 2009-10-08 Konami Digital Entertainment Co Ltd 画像生成装置、画像生成方法、ならびに、プログラム
KR20100004673A (ko) * 2008-07-04 2010-01-13 에스케이텔레시스 주식회사 홈과 원정 개념이 적용된 사용자 위치 기반 무선 인터넷게임 서비스 방법 및 시스템
JP2013244050A (ja) * 2012-05-23 2013-12-09 Hiroyuki Yamazaki ゲームプログラム、ゲーム制御方法、及びゲーム装置
JP2018007828A (ja) * 2016-07-13 2018-01-18 株式会社バンダイナムコエンターテインメント プログラム及び電子機器
JP6203369B1 (ja) * 2016-12-08 2017-09-27 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021117593A (ja) * 2020-01-23 2021-08-10 株式会社ドワンゴ コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム
JP7548785B2 (ja) 2020-01-23 2024-09-10 株式会社ドワンゴ コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム
JP2023026312A (ja) * 2021-08-11 2023-02-24 株式会社Abal 複合空間体感システム

Also Published As

Publication number Publication date
JP7029379B2 (ja) 2022-03-03

Similar Documents

Publication Publication Date Title
JP6463535B1 (ja) プログラム、情報処理装置、および方法
US11074737B2 (en) Information processing apparatus and method
JP7157551B2 (ja) プログラム、情報処理装置、および方法
JP6298561B1 (ja) ヘッドマウントデバイスと通信可能なコンピュータによって実行されるプログラム、当該プログラムを実行するための情報処理装置、およびヘッドマウントデバイスと通信可能なコンピュータによって実行される方法
JP7117890B2 (ja) プログラム、情報処理装置、および方法
US20190073830A1 (en) Program for providing virtual space by head mount display, method and information processing apparatus for executing the program
JP7531011B2 (ja) プログラム
JP6470859B1 (ja) ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
JP6580748B1 (ja) プログラム、情報処理装置、および方法
JP2019128721A (ja) ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
JP7117889B2 (ja) プログラム、情報処理装置、および方法
JP2018200678A (ja) ヘッドマウントデバイスと通信可能なコンピュータによって実行されるプログラム、当該プログラムを実行するための情報処理装置、およびヘッドマウントデバイスと通信可能なコンピュータによって実行される方法
JP7029379B2 (ja) プログラム、情報処理装置、および方法
JP7278442B2 (ja) プログラム、情報処理装置、および方法
JP6820299B2 (ja) プログラム、情報処理装置、および方法
JP6791920B2 (ja) プログラム、情報処理装置、および方法
JP7114326B2 (ja) プログラム、情報処理装置、および方法
JP6826082B2 (ja) プログラム、情報処理装置、および方法
JP2019192172A (ja) プログラム、情報処理装置、および方法
JP2019130292A (ja) プログラム、情報処理装置、および方法
JP2019160295A (ja) ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
JP7438786B2 (ja) プログラム、情報処理方法、及び情報処理装置
JP6453499B1 (ja) プログラム、情報処理装置、および方法
WO2021131938A1 (ja) プログラム、方法および情報処理装置
JP2021036448A (ja) プログラム、情報処理装置、および方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210329

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220218

R150 Certificate of patent or registration of utility model

Ref document number: 7029379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150