IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アオミネクストの特許一覧

特開2025-27692アバター素材販売プログラム及びアバター素材販売サーバ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025027692
(43)【公開日】2025-02-28
(54)【発明の名称】アバター素材販売プログラム及びアバター素材販売サーバ
(51)【国際特許分類】
   G06Q 30/0601 20230101AFI20250220BHJP
【FI】
G06Q30/0601 330
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023132735
(22)【出願日】2023-08-16
(71)【出願人】
【識別番号】523312576
【氏名又は名称】株式会社アオミネクスト
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】中村 真護
【テーマコード(参考)】
5L030
5L049
【Fターム(参考)】
5L030BB08
5L030BB26
5L049BB08
5L049BB26
(57)【要約】
【課題】アバター素材に特有なデータ構造を考慮してアバター素材の販売が行えるプログラム及びアバター素材販売システムを提供する。
【解決手段】アバター素材販売プログラムは、コンピュータ(10)に、立体形状からなる身体データを含む一つのキャラクタモデルと、当該キャラクタモデルの身体データの立体形状に適合した衣服モデルとを併記したアバター素材販売ページ(600)を生成して表示する機能を実現させる。アバター素材販売ページ(600)には、キャラクタモデルの身体データの立体形状に適合しない衣服モデルは含まない、
【選択図】図20
【特許請求の範囲】
【請求項1】
アバター素材販売プログラムであって、
コンピュータに、
立体形状からなる身体データを含む一つのキャラクタモデルと、当該キャラクタモデルの身体データの立体形状に適合した衣服モデルとを併記したアバター素材販売ページを生成して表示する機能を実現させ、
前記アバター素材販売ページには、前記キャラクタモデルの身体データの立体形状に適合しない衣服モデルは含まない、
アバター素材販売プログラム。
【請求項2】
請求項1に記載のアバター素材販売プログラムであって、
コンピュータに、
複数のキャラクタモデルと、及び複数の衣服モデルをストレージに格納する機能と、
前記アバター素材販売ページにおいて、前記アバター素材の購入希望操作を受け付ける機能と、を更に実現させ、
前記衣服モデルの其々は、当該衣服モデルが適合する前記キャラクタモデルを識別するキャラクタモデル識別情報と関連付けて格納され、
前記アバター素材販売ページを生成する際に、前記複数のキャラクタモデルのうちの一のキャラクタモデルを対象キャラクタモデルとし、当該対象キャラクタモデルの識別情報に関連付けられた前記衣服モデルを識別する衣服モデル識別情報を抽出し、抽出した衣服モデル識別情報が示す少なくとも一つ以上の衣服モデルの説明情報と、前記対象キャラクタモデルの説明情報とを同一の前記アバター素材販売ページに併記する、
アバター素材販売プログラム。
【請求項3】
請求項1に記載のアバター素材販売プログラムであって、
コンピュータに、
外部サーバにて公開された外部販売ページから、前記アバター素材販売ページに掲載する対象キャラクタモデルに適合する衣服モデルについての説明情報及び当該衣服モデルが掲載された前記外部販売ページのURL情報を取得する機能を更に実現させ、
前記アバター素材販売ページを生成する際に、前記対象キャラクタモデルの説明情報と、前記外部販売ページから取得した前記衣服モデルについての説明情報及び当該衣服モデルが掲載された前記外部販売ページのURL情報と、を同一の前記アバター素材販売ページに併記する、
アバター素材販売プログラム。
【請求項4】
アバター素材販売サーバであって、
立体形状からなる身体データを含む一のキャラクタモデルと、当該キャラクタモデルの身体データの立体形状に適合した衣服モデルとを併記したアバター素材販売ページを生成する販売ページ制御部を備え、
前記アバター素材販売ページには、前記キャラクタモデルの身体データの立体形状に適合しない衣服モデルは含まない、
アバター素材販売サーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アバター素材販売プログラム及びアバター素材販売サーバに関する。
【背景技術】
【0002】
従来、仮想現実空間に仮想的な自分を表すキャラクタを配置することが行われており、このキャラクタは、アバターと称されている。ユーザはアバターに用いるキャラクタモデルとしてどれを用いるか、また、キャラクタモデルにどの衣服モデルを着せるかを選択的に行うことで、仮想現実体験をより豊かに楽しむことができる。その一環として、アバターに用いられるキャラクタモデルや衣服モデルを販売するサイトが開設されている(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】インターネット<URL:https://booth.pm/ja/browse/3Dモデル>
【発明の概要】
【発明が解決しようとする課題】
【0004】
アバターが着用する衣服モデルは、アバターに用いるキャラクタの体型に合わせてデザインされる。そして、キャラクタモデルとそのキャラクタモデルの体型に適合した衣服モデルとを組み合わせてアバターを形成することにより、ユーザの動きに合わせてキャラクタモデルを動くと共にそのキャラクタモデルの動きに追従して衣服モデルを動き、結果としてユーザの動きに合わせてアバターを動かすことができる。従って、アバター素材を購入する際には、キャラクタモデルと衣服モデルとの適合性を考慮する必要がある。しかし、従来の販売サイトではこの点について考慮されておらず、ユーザが、キャラクタモデルに着せられない衣服モデルを購入したり、所望する衣服モデルを着用できないキャラクタモデルを購入する懸念がある。
【0005】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、アバター素材に特有なデータ構造を考慮したアバター素材販売プログラム及びアバター素材販売システムを提供することにある。上記した以外の目的、構成、効果については以下の実施形態において明らかにされる。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明は特許請求の範囲に記載の構成を備える。その一例を挙げるならば、本発明は、アバター素材販売プログラムであって、コンピュータに、立体形状からなる身体データを含む一つのキャラクタモデルと、当該キャラクタモデルの身体データの立体形状に適合した衣服モデルとを併記したアバター素材販売ページを生成して表示する機能を実現させ、前記アバター素材販売ページには、前記キャラクタモデルの身体データの立体形状に適合しない衣服モデルは含まない。
【0007】
また本発明は、アバター素材販売サーバであって、立体形状からなる身体データを含む一のキャラクタモデルと、当該キャラクタモデルの身体データの立体形状に適合した衣服モデルとを併記したアバター素材販売ページを生成する販売ページ制御部を備え、前記アバター素材販売ページには、前記キャラクタモデルの身体データの立体形状に適合しない衣服モデルは含まない。
【発明の効果】
【0008】
本発明によれば、アバター素材に特有なデータ構造を考慮したアバター素材販売プログラム及びアバター素材販売システムを提供することができる。上記した以外の目的、構成、効果については、以下の実施形態において明らかにされる。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係る仮想現実提供システムの概要を示す図である。
図2】VR提供サーバのハードウェア構成図である。
図3】HMDセットの外観図である。
図4】HMDのハードウェア構成図である。
図5】リモートコントローラのハードウェア構成図である。
図6】PCのハードウェア構成図である。
図7】第1実施形態に係るVR提供サーバ及びVRユーザ端末の機能ブロック図である。
図8】VR提供サーバに格納されるデータ例を示す図であり、(a)は開発者管理テーブル、(b)はキャラクタモデル管理テーブル、(c)は衣服モデル管理テーブル、(d)はVRユーザ管理テーブルを示す。
図9】キャラクタモデルの外観データを示す図である。
図10】キャラクタモデルの身体データを示す図である。
図11】衣服モデルの外観データを示す図である。
図12】衣服モデルのキャラクタモデルへの追従処理(アバター合成処理)の説明図である。
図13】各キャラクタモデルにそのキャラクタモデルに適合した衣服モデルを合成した状態を示す図である。
図14】仮想現実提供システムにおけるモデルの販売、購入処理の流れを示すシーケンス図である。
図15】キャラクタモデル販売ページ例を示す図である。
図16】衣服モデル販売ページ例を示す図である。
図17】仮想現実提供システムにおけるVR映像表示処理の流れを示すシーケンス図である。
図18】仮想現実提供システムにおけるVR映像表示処理の流れを示すシーケンス図である。
図19】キャラクタモデルの身体データについての座標の決定方法を示す図である。
図20】第1実施形態の変更例に係るアバター素材販売ページを示す図である。
図21】VR提供サーバに格納されるデータ例を示す図であり、(a)は開発者管理テーブル、(b)はキャラクタモデル管理テーブル、(c)は衣服モデル管理テーブルを示す。
図22】第2実施形態における仮想現実提供システムにおいて他人の複合アバターのアバター素材を購入する処理の流れを示すシーケンス図である。
図23】第2実施形態に係る画面表示例を示す図である。
図24】第2実施形態に係る画面表示例を示す図である。
図25】第2実施形態に係る画面表示例を示す図である。
図26】第2実施形態に係る画面表示例を示す図である。
図27】全身ミラーが現れた画面表示例を示す図である。
図28】プロフィール編集画面例例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。なお、以下に記載する本発明の実施形態は、本発明を具体化する際の一例を示すものであって、本発明の範囲を実施形態の記載の範囲に限定するものではない。従って、本発明は、実施形態に種々の変更を加えて実施することができる。
【0011】
[用語についての説明]
以下の実施形態において、ユーザが仮想現実空間に仮想的な自分として配置するキャラクタモデルをアバターと称する。またキャラクタモデルを描出するためのキャラクタデータとして立体形状データ(3DCGデータ)が用いられる。キャラクタデータには、キャラクタモデルの表情、身体の外観の立体形状を示すキャラクタ外観データと、当該キャラクタモデルの身体的特徴の立体形状を示す身体データと、を含む。身体データは一例として身体特徴点の位置などが表現される。身体特徴点は、例えば、頭部中央点、関節点、鎖骨中央点、骨盤中央点、上腕中央点、下肢中央点等を用いてもよい。身体特徴点として肩関節点と肘関節点とを定義した場合、肩関節点から肘関節点まで距離が上腕の長さに相当する。身体特徴点の設定箇所、また身体データを身体特徴点として表す身体データのデータ構造は一例にすぎず、キャラクタモデルのデータ構造は上記に限定されない。
【0012】
また、キャラクタモデルに着せる衣服モデルを描出するための衣服モデルも立体形状データ(3DCGデータ)が用いられる。衣服モデルには、衣服モデルのサイズ、カラー、デザインなどを含む外観の立体形状を示す衣服外観データと、衣服モデルをキャラクタモデルに着せた場合に前記キャラクタモデルの身体特徴点に重なる衣服モデルの部位を示す追従点を含む骨格追従データとを含む。
【0013】
<第1実施形態>
[仮想現実提供システム1の概要]
図1は、本実施形態に係る仮想現実提供システム1の概要を示す図である。図1に示すように、仮想現実提供システム1では、仮想現実(Virtual Reality:以下「VR」と略記する)提供サーバ10に、少なくとも一つ、好ましくは不特定多数のキャラクタモデル開発者端末41a、41b、・・・、41iの其々と、少なくとも一つ、好ましくは不特定多数の衣服モデル開発者端末42a、42b、・・・、42jの其々が通信ネットワーク4を介して接続される。
【0014】
更にVR提供サーバ10には、仮想現実世界を体験するユーザ(以下「VRユーザ」という)が利用するVRユーザ端末20a、20b、20cの其々が通信ネットワーク5を介して接続される。
【0015】
キャラクタモデル開発者端末41a、41b、・・・、41i、衣服モデル開発者端末42a、42b、・・・、42j、VRユーザ端末20a、20b、20cの数は図1に図示した数に限定されない。以下、キャラクタモデル開発者端末41a、41b、・・・、41iを区別する必要がない場合は「キャラクタモデル開発者端末41」と、衣服モデル開発者端末42a、42b、・・・、42jを区別する必要がない場合は「衣服モデル開発者端末42」と、VRユーザ端末20a、20b、20cを区別する必要がない場合は「VRユーザ端末20」と記載することがある。
【0016】
通信ネットワーク4、5は、VR提供サーバ10とキャラクタモデル開発者端末41及び衣服モデル開発者端末42、またVR提供サーバ10と各VRユーザ端末20、の接続関係を示すために便宜的に分けて図示したが、通信ネットワーク4、5は共通でもよい。通信ネットワーク4、5の具体例は特に限定されないが、例えば、インターネット、移動体通信システム(例えば、4G、5Gなど)、Wi-Fi(登録商標)などの無線ネットワーク、またはこれらの組み合わせがある。
【0017】
VR提供サーバ10は、キャラクタモデル開発者端末41から社外のキャラクタモデル開発者が開発した3DCGからなるキャラクタモデルを受信し、格納する。同様にVR提供サーバ10は、社外の衣服モデル開発者から、特定のキャラクタモデルに合った3DCGからなる衣服モデルを受信し、格納する。
【0018】
衣服モデル開発者は、特定のキャラクタモデルの身体データを取得し、それに適合した衣服モデルを開発するが、その「特定のキャラクタモデルの身体データ」の取得方法は、例えばキャラクタモデル開発者から可搬性記憶媒体を経由して取得したり、キャラクタモデル開発者端末41から衣服モデル開発者端末42に対してクラウドドライブ経由、またメールの添付ファイルで取得したりすればよく、その態様は限定されず、かつ仮想現実提供システム1内で行う必要もない。
【0019】
また、キャラクタモデル及び衣服モデルのVR提供サーバ10への提供は、通信ネットワーク4を経由する必要は必ずしもなく、例えば可搬性記憶媒体に保存してVR提供サーバ10にて取り込んでもよい。よって、キャラクタモデル開発者端末41及び衣服モデル開発者端末42がVR提供サーバ10に通信接続されることは必須ではない。
【0020】
そして、VR提供サーバ10は、格納されたキャラクタモデル及び衣服モデルの利用権の販売を行うために販売サイトを公開し、VRユーザ端末20からそれらの利用権の購入希望に応じて決済を行う。よって、VR提供サーバ10は、アバター素材販売サーバとしての機能を有する。
【0021】
VR提供サーバ10は、アバター素材の販売サイトにおいて、特定のキャラクタモデルとそのキャラクタモデルに適合した衣服モデルとを関連付けて表示する。これにより、VRユーザが所望するキャラクタモデルに適合しない衣服モデルを間違って購入することを抑止しつつ、アバター素材の販売が行える。
【0022】
VRユーザは、VR提供サーバ10が提供するアバター素材の販売サイトから購入したキャラクタモデルに衣服モデルを着せた複合アバターを自分のアバターとして用い、VR提供サーバ10が提供する仮想現実空間に上記の複合アバターを配置して仮想現実を体験する。
【0023】
[VR提供サーバ10の構成]
図2は、VR提供サーバ10のハードウェア構成図である。VR提供サーバ10は、例えば、ワークステーション、またはパーソナルコンピュータなどの汎用コンピュータで実現される。図2に示すように、VR提供サーバ10は、プロセッサ11と、RAM12と、ストレージ13と、入出力インタフェース14と、通信インタフェース15とを主に備える。VR提供サーバ10の各構成要素は、通信バス19に接続されている。
【0024】
プロセッサ11は、RAM12またはストレージ13に格納されているサーバプログラム13Pに含まれる一連の命令を実行することによって、後述する処理を実現する。サーバプログラム13Pは、オペレーションシステムや仮想現実提供プログラムを含む。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)の他、FPGA(Field-Programmable Gate Array)、その他のデバイスとして実現される。
【0025】
RAM12は、RAM(Random Access Memory)、その他の揮発メモリを用いて実現され、サーバプログラム13Pの実行時にはワーク領域として、またデータの一次保存領域として用いられる。
【0026】
ストレージ13は、不揮発記憶装置、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、メモリカードのように着脱可能な記憶装置を用いて実現される。またストレージ13として、また外部不揮発性記憶装置を用いてもよい。ストレージ13はサーバプログラム13P及びデータを永続的に保持する。
【0027】
入出力インタフェース14は、ディスプレイ、入力装置(例えば、キーボード、ポインティングデバイス)17、ディスプレイ18の他、外部記憶装置等の外部装置をVR提供サーバ10に接続するためのインタフェースである。入出力インタフェース14は、例えば、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface、登録商標)、その他の端子で用いて実現される。
【0028】
通信インタフェース15は、通信ネットワーク4、5に接続されている他の装置、例えば、キャラクタモデル開発者端末41、衣服モデル開発者端末42、VRユーザ端末20と通信する。通信インタフェース15は、例えば、LAN(Local Area Network)など有線通信インタフェース、Wi-Fi(Wireless Fidelity)などの無線通信インタフェースとして実現される。
【0029】
キャラクタモデル開発者端末41、衣服モデル開発者端末42は、図示は省略するもののVR提供サーバ10と同様、プロセッサと、メモリと、ストレージと、入出力インタフェースと、通信インタフェースを主に備え、それらが通信バスにより互い接続されたコンピュータにより構成される。
【0030】
[VRユーザ端末20の構成]
本実施形態ではVRユーザ端末20として、HMDセット200を用いる。図3は、HMDセット220の外観図である。図3に示すように、HMDセット200は、HMD210、リモートコントローラ230、及びパーソナルコンピュータ(以下「PC」と略記する)30を含み、これらを通信接続して構成される。
【0031】
HMD210は、HMD本体211及びHMD本体211をユーザの眼前に保持するための保持体219を備える。HMD本体211は、HMD側近距離無線通信機213(図4参照)を含む。HMD側近距離無線通信機213(図4参照)の一例として、Bluetooh(登録商標、以下「BT」と略記する)無線機を用いてもよい。
【0032】
リモートコントローラ230は、筐体229にリモコン側近距離無線通信機221を備え、筐体229の背面に背面ボタン222を備える。リモコン側近距離無線通信機221は一例としてBT通信機(図5参照)を用い、HMD側近距離無線通信機213又はPC30と通信接続される。HMD210が映像生成処理を行う場合はリモートコントローラ230の操作信号をHMD210が直接受信してHMD210に表示する映像に反映させてもよい。またPC30が映像生成処理を行い、その映像信号をHMD210が受信して表示する態様であれば、リモートコントローラ230の操作信号はPC30が受信するように構成されてもよい。本実施形態では、後者を例に挙げて以下の説明を行う。
【0033】
PC30は、例えばデスクトップパソコンを用いて構成される。PC30は、インターネットなどの通信ネットワーク5を介してVR提供サーバ10に通信接続される。そして、VR提供サーバ10から仮想現実の描画データをPC30が受信し、仮想現実映像データを生成してHMD210にPC30から送信する。
【0034】
[HMD210の構成]
図4は、HMD210のハードウェア構成図である。HMD210は、HMD本体211内にプロセッサ101、RAM102、ディスプレイ103、ストレージ104、入力インタフェース105、モーションセンサ106、アウトカメラ107、通信インタフェース108、マイク109、及びスピーカ110を備え、これらが通信バス111により互いに接続されている。
【0035】
プロセッサ101は、ストレージ104に格納されているHMD制御プログラム104Pに含まれる一連の命令を実行することによって、後述する処理を実現する。プロセッサ101は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)、その他のデバイスとして実現される。
【0036】
RAM(Random Access Memory)102は、揮発性メモリである。
【0037】
一例として、ディスプレイ103は、非透過型の表示装置として実現される。ディスプレイ103は、例えば、ユーザの両目の前方に位置するようにHMD本体211に配置されている。非透過型のディスプレイ103は、例えば、液晶モニタ、有機EL(Electro Luminescence)モニタとして実現される。
【0038】
他の例として、ディスプレイ103は、透過型の表示装置として実現される。この場合のHMD210は、ユーザの目を覆う密閉型ではなく、メガネ型のような開放型となる。ディスプレイ103は、仮想現実空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。一例として、透過型のディスプレイ103は、HMD210に搭載されたカメラで撮像した現実空間の画像を表示してもよい。他の例として、透過型のディスプレイ103は、透過率を調整可能に構成されていてもよい。そして、透過型のディスプレイ103は、表示領域の一部の透過率を高く設定して、現実空間を直接視認できるようにしてもよい。
【0039】
また、ディスプレイ103は、ユーザに3次元画像を視認させるために、以下の構成を採用してもよい。一例として、ディスプレイ103は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含んでもよい。他の例として、ディスプレイ103は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合のディスプレイ103は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【0040】
ストレージ104は、データを永続的に保持する記憶媒体であり、例えば、ROM(Read-Only Memory)、フラッシュメモリ、その他の不揮発記憶媒体として実現される。また、ストレージ104は、メモリカードのように着脱可能な記憶媒体として実現されてもよい。ストレージ104には、HMD210の制御に必要なHMD制御プログラム104Pが格納される。
【0041】
入力インタフェース105は、例えば、USB(Universal Serial Bus)端子である。
【0042】
モーションセンサ106は、HMD210の動き、例えばHMD210をユーザの頭部に装着している場合は、HMD210とユーザの頭部とがほぼ一体となって運動するのでユーザの頭部の動きを検出する。モーションセンサ106は、例えば3軸加速度センサを用いて実現される。
【0043】
アウトカメラ107は、外界映像を撮像するカメラである。没入型のHMD210ではアウトカメラ107のスルー画像をディスプレイ103に表示することでユーザがHMD210を装着したまま外界映像を視認して自分の周囲の状況を把握することができる。
【0044】
通信インタフェース108は、HMD210と外部機器とを通信接続するためのインタフェースである。一例として、通信インタフェース108をUSB端子として構成し、BTドングルをHMD側近距離無線通信機213として用い、リモートコントローラ230又はPC30と近距離無線通信が行えるように構成してもよい。マルチペアリング対応のBT通信機を用いて、リモートコントローラ230とPC30との同時接続を実現してもよい。
【0045】
マイク109は、HMD210周辺の集音を行う装置である。ユーザが音声入力をする際はマイク109がユーザの音声を集音してHMD210に入力し、音声認識処理を実行することで音声入力が行える。
【0046】
スピーカ110は、ディスプレイ103に表示中のコンテンツの音声や、その他の音声を出力する音声出力装置である。
【0047】
[リモートコントローラ230の構成]
図5は、リモートコントローラ230のハードウェア構成図である。リモートコントローラ230は、プロセッサ201、RAM202、ROM203、操作スイッチ204、モーションセンサ205、及びBT通信機206を備え、これらが通信バス209により互いに接続されている。
【0048】
RAM202は、揮発性メモリであり、処理プログラムやデータの一時記憶領域として用いられる。
【0049】
ROM203は、リモートコントローラ230の処理プログラムを格納する。
【0050】
操作スイッチ204は、例えば背面ボタン222や不図示のスティックスイッチ、トラックパッドなどを含む。
【0051】
モーションセンサ205は、リモートコントローラ230の動きを検出するセンサであり、例えば3軸加速度センサを用いて実現される。
【0052】
プロセッサ201は、例えばMPU(Micro Processor Unit)を用いて構成され、ROM203からリモートコントローラ230の制御プログラムを読み出してRAM202にロードして実行する。プロセッサ201は、操作スイッチ204の操作情報、モーションセンサ205が検出したリモートコントローラ230の動き等を、BT通信機206を介してPC30に送信する。よってBT通信機206はリモコン側近距離無線通信機221に相当する。
【0053】
[PC30の構成]
図6は、PC30のハードウェア構成図である。PC30は、プロセッサ301、RAM302、ROM303、ストレージ304、入力インタフェース305、通信インタフェース306を備え、これらが通信バス309により互いに接続されている。各部の詳細は、HMD210、リモートコントローラ230と重複するので省略する。
【0054】
プロセッサ301は、例えばGPU(Graphics Processing Unit)を用いて実現される。
【0055】
RAM302は、揮発性メモリであり、処理プログラムやデータの一時記憶領域として用いられる。
【0056】
ROM303は、PCのオペレーティングシステムプログラムなどを記憶した不揮発性メモリである。
【0057】
ストレージ304は、HDD(Hard Disk Drive)やSSD(Solid State Drive)など不揮発性記憶媒体により実現され、本実施形態に係る仮想現実表示プログラム、アバター合成プログラムを格納する。
【0058】
[VR提供サーバ10及びVRユーザ端末20の機能ブロック図]
図7は、VR提供サーバ10及びVRユーザ端末20(PC30)の機能ブロック図である。図7に示すように、VR提供サーバ10のRAM12にロードされたサーバプログラム13Pは、VR提供サーバ10をログイン認証部401、キャラクタモデル管理部402、衣服モデル管理部403、ユーザ管理部404、販売ページ制御部405、VR描画データ送信部406、購入受付部407、及び決済部408として機能させる。また、ストレージ104にはキャラクタモデル格納部409、衣服モデル格納部410、VRユーザデータ格納部411、及び開発者管理データ格納部412が含まれる。
【0059】
またVRユーザ端末20のPC30のRAM302にロードされた端末プログラム304Pは、PC30をVR映像生成部431、アバター合成部432、及びアバター動作制御部433として機能させる。部の機能説明については後述する。
【0060】
図8は、VR提供サーバ10に格納されるデータ例を示す図であり、(a)は開発者管理テーブル、(b)はキャラクタモデル管理テーブル、(c)は衣服モデル管理テーブル、(d)は、VR提供サーバ10に格納されるデータ例を示す図であり、VRユーザ管理テーブルを示す。
【0061】
図8(a)に示す開発者管理テーブル500は、開発者管理データ格納部412に記憶される。開発者管理テーブル500は、キャラクタモデル開発者及び衣服モデル開発者を固有に識別する「開発者ID」、開発者がログインする際に用いる「PINコード」、開発者の氏名「NAME」、開発者がキャラクタモデル開発者(フラグ1)であるか衣服モデル開発者(フラグ2)であるかを識別する「属性」が開発者毎に関連付けて格納される。更に、開発者が、自分が開発したキャラクタモデル又は衣服モデルの利用権の売り上げが立った場合には売り上げの所定割合を受領するように構成してもよい。その場合は、開発者管理テーブル500は各開発者が決済に用いるアカウント情報を含む「アカウント情報」を更に含んでもよい。
【0062】
図8(b)に示すキャラクタモデル管理テーブル520は、キャラクタモデル格納部409に記憶される。キャラクタモデル管理テーブル520は、キャラクタモデルを固有に識別する「Model ID」(キャラクタモデル識別情報に相当する)、そのキャラクタモデルの開発者を示す「開発者ID」、当該キャラクタモデルのモデルデータ「CharaModel DATA」が関連付けて格納される。実際には、キャラクタモデル管理テーブル520には「CharaModel DATA」の格納先のアドレスが書き込まれ、「CharaModel DATA」のデータの実体はキャラクタモデル管理テーブル520には含まれないが、キャラクタモデル管理テーブル520に間接的に関連付けて格納されるといえる。
【0063】
「CharaModel DATA」は、キャラクタモデルの外観データ(形状、色彩等)に身体データを重畳したデータである。身体データは、当該キャラクタモデルの身体特徴点が点群で定義されたデータである。
【0064】
図8(c)に示す衣服モデル管理テーブル540は、衣服モデル格納部410に記憶される。衣服モデル管理テーブル540は、衣服モデルを固有に識別する「Outfit ID」(衣服モデル識別情報に相当する)、その衣服モデルの開発者を示す「開発者ID」、当該衣服モデルのモデルデータ「OutfitModel DATA」、当該衣服モデルのサイズを示す「Size」、当該衣服モデルが適合するキャラクタモデルを示す「適合モデル」のCharaModel IDが、Outfit ID毎に関連付けて格納される。キャラクタモデルと同様、実際には、衣服モデル管理テーブル540には「OutfitModel DATA」の格納先のアドレスが書き込まれ、「OutfitModel DATA」のデータの実体は衣服モデル管理テーブル540には含まれないが、衣服モデル管理テーブル540に間接的に関連付けて格納されるといえる。
【0065】
「OutfitModel DATA」は、衣服モデルの外観データ(形状、色彩等)に、当該衣服モデルが適合するキャラクタモデルの身体データに追従する追従点と、衣服モデルの特徴点とを含む点群データが重畳されたデータである。
【0066】
図8(d)に示すVRユーザ管理テーブル560は、VRユーザデータ格納部411に記憶される。VRユーザ管理テーブル560は、VRユーザを固有に識別する「VRユーザ ID」、VRユーザがログインする際に用いる「PINコード」、VRユーザの氏名「NAME」、VRユーザが現在自分のアバターに用いているキャラクタモデルを示す「Avatar Model」、VRユーザが現在自分のアバターに用いているキャラクタモデルに着せる衣服モデルを示す「Avatar Outfit」、各VRユーザがキャラクタモデル及び衣服モデルの利用権を購入した際に決済に用いるアカウント情報を含む「アカウント情報」、及びデータの利用権を購入済のモデルを示す「保有する素材」がVRユーザに関連付けて格納される。「Avatar Model」には、VRユーザが選択したキャラクタを固有に示す「Model ID」が入力され、キャラクタモデル管理テーブル520の「Model ID」を参照することで当該キャラクタモデルを参照することができる。同様に、「Avatar Outfit」には、VRユーザが選択した衣服モデルを固有に示す「Outfit ID」が入力され、衣服モデル管理テーブル540の「Outfit ID」を参照することで当該衣服モデルを参照することができる。
【0067】
図9は、キャラクタモデルの外観データを示す図、図10は、キャラクタモデルの身体データを示す図である。
【0068】
図9に示すように、キャラクタモデルの外観データは、キャラクタの表情、体型の外観を示す3DCGで表現されたデータにより構成される。図9では、「Model 1」~「Model 4」の4つのキャラクタモデルが図示されており、「Model 1」から「Model 4」に向かって順にキャラクタモデルの身長、体格が大きくなる。「Model 1」は適合する衣服サイズはS、「Model 2」、「Model 3」は適合する衣服サイズはM、「Model 4」は適合する衣服サイズはLである。
【0069】
図10に示すように、キャラクタモデルの身体データは、キャラクタモデルの身体特徴点、一例として頭部及び各関節点といった身体特徴点が点群で定義された3DCGデータにより構成される。
【0070】
図11は、衣服モデルの外観データを示す図、図12は、衣服モデルのキャラクタモデルへの追従処理(アバター合成処理)の説明図、図13は、各キャラクタモデルにそのキャラクタモデルに適合した衣服モデルを合成した状態を示す図である。
【0071】
図11では、サイズSの衣服モデルの外観データ「Outfit 1」、サイズMの衣服モデルの外観データ「Outfit 2」、「Outfit 3」、サイズLの衣服モデルの外観データ「Outfit 4」が図示されている。
【0072】
図12に示すように、衣服モデル「Outfit 1」は、キャラクタモデル「Model 1」の身体データに衣服モデル「Outfit 1」を着せるとキャラクタモデル「Model 1」の身体特徴点「Jn」(n=1,2,・・・、12)に重なる衣服モデルの部位を示す追従点「cn」(n=1,2,・・・、12)を含む。換言すると、「cn」(n=1,2,・・・、12)は、Model 1の身体データに設けられた「Jn」(n=1,2,・・・、12)のそれぞれに対応する位置に定義されている。
【0073】
そのため、「cn」(n=1,2,・・・、12)の各点をModel 1の身体データに設けられた「Jn」(n=1,2,・・・、12)の各点に重畳すると、図13に示すように各キャラクタモデルの外観に衣服モデルの外観を沿わせたアバターを合成することができる。
【0074】
なお、図9図10図11に示すように、SサイズとMサイズ、MサイズとLサイズはキャラクタモデルの身長に対して重なる範囲を設けて衣服サイズのカテゴリが規定される。これにより、例えば「Model 2」に適合するように作成されたサイズMの「Outfit 2」は「Model 3」にも適合し、「Model 3」に適合するように作成されたサイズMの「Outfit 3」は「Model 2」にも適合する。
【0075】
図14は、仮想現実提供システム1におけるモデルの販売、購入処理の流れを示すシーケンス図である。実施形態における仮想現実提供システム1の処理の流れを示すシーケンス図である。図14の処理を開始する前提として、各開発者はVR提供サーバ10に登録しておき、その登録情報が開発者管理テーブル500に登録されているものとする。
【0076】
キャラクタモデル開発者は、キャラクタモデル開発者端末41を操作してVR提供サーバ10にログイン情報を送信し(S01)、VR提供サーバ10のログイン認証部401が開発者管理テーブル500の登録情報とログイン情報とを照合してログイン認証処理を実行する(S02)。
【0077】
キャラクタモデル開発者は、キャラクタモデル開発者端末41を操作してキャラクタモデルの外観データと身体データをVR提供サーバ10にアップロードし(S03)、VR提供サーバ10では、キャラクタモデル管理部402がキャラクタモデル格納部409にアップロードされたキャラクタデータを格納し、キャラクタモデル管理テーブル520を更新する(S04)。
【0078】
衣服モデル開発者は、衣服モデル開発者端末42を操作してVR提供サーバ10にログイン情報を送信し(S05)、VR提供サーバ10のログイン認証部401が開発者管理テーブル500の登録情報とログイン情報とを照合してログイン認証処理を実行する(S06)。
【0079】
衣服モデル開発者は衣服モデル開発者端末42を操作して、完成した衣服モデルデータをVR提供サーバ10にアップロードする(S07)。その際、当該衣服モデルがどのキャラクタモデルに適合するかを示す情報も付加してアップロードする。VR提供サーバ10では、衣服モデル管理部403が衣服モデル格納部410にアップロードされた衣服モデルデータを格納し、衣服モデル管理テーブル540を更新する(S08)。衣服モデル管理テーブル540を更新することで、新たに格納した衣服モデルデータがどのキャラクタデータに適合するかを示す情報も記録される。
【0080】
VR提供サーバ10の販売ページ制御部405は、キャラクタデータ又は衣服モデルが新たに格納されると新たに格納されたキャラクタデータ又は衣服モデルが追加されたアバター素材販売ページを生成し、公開する(S09)。よって、ステップS09は、販売ページ生成ステップに相当する。衣服モデル販売ページは、当該ページで販売対象となる対象キャラクタモデルの説明情報と、そのキャラクタに適合した衣服モデルの説明情報を掲載し、当該キャラクタに適合しない衣服モデルの説明情報は掲載されない。
【0081】
例えば、販売ページ制御部405は、キャラクタモデル管理テーブル520の「Model ID」を参照し、対象となるキャラクタモデルを選択する。そして対象となるキャラクタモデルの「Model ID」が衣服モデル管理テーブル540の「適合モデル」に格納されている衣服モデルを抽出する。そして対象となるキャラクタモデルの販売ページには、抽出した衣服モデルのみを掲載する。このように、販売ページ制御部405は、対象となるキャラクタモデルに適合した衣服モデルは掲載され、適合しない衣服モデルは掲載されていない販売ページを生成する。
【0082】
図15は、キャラクタモデル販売ページ例を示す図、図16は、衣服モデル販売ページ例を示す図である。
【0083】
販売ページ制御部405は、VR提供サーバ10が販売可能なキャラクタモデルを表示したキャラクタモデル販売ページを生成する。VRユーザは、キャラクタモデル販売ページ(図15)から、キャラクタモデルのデータ利用権の購入を希望するキャラクタモデルを選択し、キャラクタモデル選択情報を送信する。選択操作は、リモートコントローラ230のポインタ240をキャラクタモデルに合わせて確定操作、例えば背面ボタン222を押し下げすることで行ってもよい。
【0084】
次に販売ページ制御部405は、キャラクタモデル選択情報を受信すると、選択されたキャラクタモデルとそれに適合したい衣服モデルを抽出して併記した衣服モデル販売ページ(図16)を生成して表示する。
【0085】
キャラクタモデル販売ページ及び衣服販売ページは、仮想現実空間内に表示するインベントリ画面として生成、表示してもよいし、Webページとして生成、表示してもよい。また、アバター素材販売ページの別例として、後述する第1実施形態の変更例に係るアバター素材販売ページ(図20参照)と同様のページを作成してもよい。但し、図20において衣服モデルの説明情報に外部サーバのURL情報が記載されているが、VR提供サーバ10が格納するアバター素材の販売ページでは外部サーバのURL情報の記載は不要である。
【0086】
VRユーザは、アバター素材販売ページを参照し、購入を希望する場合はVR提供サーバ10にログインする(S10)。ログイン認証が成功すると(S11)、キャラクタモデル販売ページ(図15)、又は衣服モデル販売ページ(図16)上からキャラクタモデル、またはキャラクタモデルに適合した衣服モデルの利用権の購入希望操作を行い、決済情報を送信する(S12)。
【0087】
VR提供サーバ10の決済部408は決済処理を実行し、ユーザ管理部404は、購入したキャラクタモデル、又は衣服モデルの情報(一例として、購入したモデルのID)をVRユーザ管理テーブル560の「保有する素材」の書き込む(S13)。これにより、今後VRユーザは、購入したキャラクタモデル又は衣服モデルを自分のアバターとして使用できる。
【0088】
図17図18を参照して仮想現実提供システム1におけるVRユーザ端末とVR提供サーバの処理の流れについて説明する。図17図18は、仮想現実提供システムにおけるVR映像表示処理の流れを示すシーケンス図である。
【0089】
図17に示すようにVRユーザは、VRユーザ端末20を操作してVR提供サーバ10にログイン情報を送信し(S21)、VR提供サーバ10のログイン認証部401がVRユーザ登録情報とログイン情報とを照合してログイン認証処理を実行する(S22)。
【0090】
VR提供サーバ10のVR描画データ送信部406は、VR映像の生成処理に必要な描画データをVRユーザ端末20に送信し(S23)、VRユーザ端末20が描画データを基にVR映像を生成し、ディスプレイ214にVR映像が表示される(S24)。VR映像は、アバターの視点(一人称視点)又はアバターの視点とは異なる視点、例えば背後から見守る視点(三人称視点)の仮想現実映像(VR映像)のどちらでもよい。VR映像の生成処理に必要な描画データには、他人のアバターを描画するために必要な描画データも含まれる。
【0091】
次いでVRユーザは、VR空間に配置する仮想の自分としてのアバターの選択操作を行う。VRユーザは、VRユーザ端末20を操作してVR提供サーバ10にキャラクタモデル照会情報を送信する(S25)。VR提供サーバ10のユーザ管理部404は、VRユーザ管理テーブル560の「保有する素材」を参照し、購入済のキャラクタモデルの映像を並べたキャラクタモデル選択画面(不図示)を生成し、表示する(S26)。キャラクタモデル選択画面のレイアウト例として、例えば図15のキャラクタモデル販売ページと同様のレイアウトを用いてもよい。但し、「保有する素材」に含まれるキャラクタモデルを限定して表示することで、購入済のキャラクタモデルだけが表示される。衣服モデルについても同様であり、図16の衣服モデル販売ページと同様にレイアウトを用いてもよい。
【0092】
VRユーザは、VRユーザ端末20のリモートコントローラ230を操作してたキャラクタモデル選択画面の中から、自分のアバターとして用いたいキャラクタモデルを選択し、キャラクタモデル選択情報を送信する(S27)。
【0093】
ユーザ管理部404は、選択されたキャラクタモデルを読み出して、VRユーザ管理テーブル560の「Avatar Model」に選択されたキャラクタモデルのModel IDを登録し(S28)、キャラクタモデルをVRユーザ端末20に送信する(S29)。
【0094】
次いでVRユーザは、VRユーザ端末20を操作してVR提供サーバ10に衣服モデル照会情報を送信する(S30)。ユーザ管理部404は、VRユーザ管理テーブル560の「保有する素材」を参照し、VRユーザが選択したキャラクタモデルに適合した衣服モデルを衣服モデル格納部から抽出して表示する(S31)。衣服モデル管理部403は、抽出した衣服モデルの衣服外観データを並べた衣服モデル選択画面(図17)を生成し表示する(S31)。
【0095】
VRユーザは、VRユーザ端末20のリモートコントローラ230を操作してた衣服モデル選択画面の中から、自分のアバターのキャラクタモデルに着せたい衣服モデルを選択し、衣服モデル選択情報を送信する(S32)。
【0096】
ユーザ管理部404は、VRユーザ管理テーブル560の「Avatar Outfit」に選択された衣服モデルのOutfit IDを登録し(S33)、衣服モデルをVRユーザ端末20に送信する(S34)。
【0097】
VRユーザ端末20のアバター合成部は、キャラクタモデルの身体特徴点とそれに対応する衣服モデルの追従点との対応付けを行い、キャラクタモデルに衣服モデルを着せた複合アバターを合成し(S35)、HMD210にて表示する(S36)。
【0098】
図18は、キャラクタモデルの身体データについての座標の決定方法を示す図である。
【0099】
図18では、キャラクタ「Model 1」を例に挙げて説明する。キャラクタモデル「Model 1」の身体データ「CharaModel DATA」には、キャラクタモデル「Model 1」の頭部中央にキャラクタモデルの基準点となるM1(x,y,z)が定義されている。そして身体データ上に設けられた各関節点J1、J2、J3、J4、J5、J6、J7、J8、J9、J10、J11、J12の各座標はM1(x,y,z)を基準とする相対座標で定義される。その際、キャラクタ「Model 1」を直立させた基本姿勢をとらせ、基準点M1(x,y,z)から見た各関節点J1、J2、J3、J4、J5、J6、J7、J8、J9、J10、J11、J12の其々の3軸キャラクタモデル座標系(xyz座標系)における変位量を用いて定義する。
J1(xJ1,yJ1,zJ1)=(x+ΔxJ1,y+ΔyJ1,z+ΔzJ1
J2(xJ2,yJ2,zJ2)=(x+ΔxJ2,y+ΔyJ2,z+ΔzJ2
・・・・
J12(xJ12,yJ12,zJ12)=(x+ΔxJ12,y+ΔyJ12,z+ΔzJ12
【0100】
衣服モデル「Outfit 1S」は「Model 1」の身体データに適合するように開発されている。既述のとおり通り、衣服モデルには、キャラクタモデル「Model 1」の身体データ上の身体特徴点である関節点J1、J2、J3、J4、J5、J6、J7、J8、J9、J10、J11、J12に対応する追従点C1、C2、C3、C4、C5、C6、C7、SC、C10、C11、C12が定義されている。
【0101】
アバター合成部は、「Outfit 1S」の「OutfitModel DATA」で定義された点C1、C2、・・・、C12の各座標をキャラクタモデル「Model 1」の各関節点J1、J2、・・・、J12と対応付ける。すなわち、
C1(xC1,yC1,zC1)=J1(xJ1,yJ1,zJ1)=(x+ΔxJ1,y+ΔyJ1,z+ΔzJ1)、
C2(xC2,yC2,zC2)=J2(xJ2,yJ2,zJ2)=(x+ΔxJ2,y+ΔyJ2,z+ΔzJ2)、
・・・
C12(xC12,yC12,zC12)=J11(xJ11,yJ11,zJ11)=(x+ΔxJ11,y+ΔyJ11,z+ΔzJ11
と対応付ける。
【0102】
キャラクタモデル「Model 1」を仮想現実空間に配置する際には、キャラクタモデルの基準点M1(x,y,z)の座標を仮想現実空間の3次元座標(Xvr,Yvr,Zvr)に書き換える。これにより、キャラクタモデル「Model 1」の各関節点J1、J2、・・・、J12の座標が仮想現実空間の3次元座標に書き換えられる。さらに衣服モデル上の追従点C1、C2、・・・、C12の各座標も、これに対応するキャラクタモデルの関節点J1、J2、・・・、J12と同一の仮想現実空間の3次元座標に書き換えられる。これにより、キャラクタモデル「Model 1」の動きに衣服モデルの動きを追従させることができる。
【0103】
VRユーザ端末20では、アバター動作制御部433がユーザの動きを検出するモーションセンサが出力したセンサ情報に基づいて、ユーザの動きにアバターの動作を追従制御し(S37)、HMD210のディスプレイ103に表示されたVR映像内にユーザの動きに追従して動くアバターの映像が表示される(S38)。VRユーザ端末20がログアウトをすると処理が終了する。
【0104】
[本実施形態の作用効果]
本実施形態に係るVR提供サーバ10によれば、不特定多数のキャラクタモデル開発者、衣服モデル開発者から多くのキャラクタモデル及び衣服モデルを取得し、販売することができる。その際、アバターに用いるキャラクタモデルには、そのキャラクタモデルの身体データに適合した衣服モデルでなければ着せ替えができないというアバター素材に特有なデータ構造に起因して、一般ユーザがキャラクタモデルとそれに適合しない衣服モデルを誤って購入する懸念がある。
【0105】
本実施形態では、衣服モデルの販売ページにおいて、キャラクタモデルとそのキャラクタモデルに適合した衣服モデルを表示し、当該キャラクタモデルに適合しない衣服モデルは表示しないことにより、ユーザがキャラクタモデルに着せたい衣服モデルを間違わずに購入することができる。
【0106】
更に、VRユーザ端末のアバター合成部が、キャラクタモデルの身体特徴点と衣服モデルの追従点とを対応付けを自動で行い複合アバターを作成することができる。これにより、従来はVRユーザが手動でキャラクタモデルの身体特徴点と衣服モデルの追従点とを対応付けを行っていたが、その手間をかけることなくキャラクタモデルの着せ替えを楽しむことができる。
【0107】
更にキャラクタモデル及び衣服モデルを汎用のゲームエンジンに用いられるプログラミング言語を用いて作成し、VRユーザ端末20では当該プログラミング言語を用いたゲームエンジンによりアバター合成部を実現することで、VRユーザ端末20では、キャラクタモデル開発者及び衣服モデル開発者が用いる開発者向けのソフトウェアを搭載することなくキャラクタモデルと衣服モデルとを合成した複合アバターを生成し、表示することができる。汎用のゲームエンジンに用いられるプログラミング言語をとして、例えばUnityを用いてもよい。
【0108】
[変更例]
上記実施形態では、VR提供サーバ10に格納した衣服モデルから、対象となるキャラクタモデルに適合した衣服モデルを抽出して並べた衣服モデル販売ページを生成、表示して購入を例について説明したが、対象となるキャラクタモデルに適合した衣服モデルを含み、適合しない衣服モデルは掲載しないアバター素材の販売ページの生成方法は上記に限らない。
【0109】
例えば、販売ページ制御部405は、VR提供サーバ10とは異なる外部サーバにアクセスし、当該外部サーバで公開された外部販売ページ上で販売されている衣服モデルの情報を収集する。収集の態様として、衣服モデルの説明文(テキスト情報)、当該衣服モデルの画像情報、及び当該衣服モデルが掲載された外部販売ページのURL情報を収集してもよい。この処理は、情報収集ステップに相当する。
【0110】
そして販売ページ制御部405は、収集したデータをキャラクタモデルのなまえで分類し、キャラクタモデル毎の販売ページを生成してもよい。図20は、第1実施形態の変更例に係るアバター素材販売ページを示す図である。
【0111】
アバター素材販売ページ600では、キャラクタモデルを用いたアバター画像601及びキャラクタモデルの名前602と、そのキャラクタモデルに適合した衣服モデルの説明情報611、612、613とが並べて表示されている。各衣服モデルの説明情報611、612、・・・、衣服モデルの価格及び当該衣服モデルを販売している外部サーバにジャンプするためのURLが記載されている。
【0112】
本変更例によれば、VR提供サーバ10とは異なる外部サーバが販売するアバター素材であっても、キャラクタモデルに適合した衣服モデルを間違うことなく購入することができる。
【0113】
<第2実施形態>
第2実施形態は、第1実施形態の仮想現実提供システム1において、VR提供サーバ10が提供する仮想現実空間において他人が用いるアバターに用いられたアバター素材を購入できる実施形態である。
【0114】
[キャラクタモデル管理テーブル及び衣服モデル管理テーブルの構成]
図21は、VR提供サーバに格納されるデータ例を示す図であり、(a)はキャラクタモデル管理テーブル520a、(b)は衣服モデル管理テーブル540a、(c)はVRユーザ管理テーブル560aを示す。
【0115】
キャラクタモデル管理部402は、第1実施形態のキャラクタモデル管理テーブル520に対してModel Lの登録更新を行っている。
【0116】
また衣服モデル管理部403は、第1実施形態の衣服モデル管理テーブル540に対してOutfit XS、Outfit XM、Outfit XLの登録更新を行っている。
【0117】
またユーザ管理部404は、第1実施形態のVRユーザ管理テーブル560に対してuser3を追加し、更に各ユーザのアバター表示名「Avatar Name」レコードの追加と、仮想現実空間内における各アバターの存在位置を示す「アバター位置情報」レコードの追加及び登録更新を行っている。
【0118】
複合アバターは、「Avatar Model」に格納されたModel IDが示すキャラクタモデルと、「Avatar Outfit」に格納されたOutfit IDが示す衣服モデルとを組み合わせて構成されている。換言すると、「Avatar Model」に格納されたModel IDが示すキャラクタモデルに「Avatar Outfit」に格納されたOutfit IDが示す衣服モデルを着せて、複合アバターは構成される。
【0119】
「アバター位置情報」は、複合アバターが存在している座標を、当該アバターが存在する仮想現実空間を示すワールド名と、当該ワールド内の世界座標系で定義された座標と、を用いて示される。「アバター位置情報」のワールドとは、各仮想現実空間を識別する概念であり、同一のワールド内にいるアバターは出会えるが、異なるワールドにいるアバターは同一のワールド内に移動しなければ出会えない。アバター位置情報の座標は、各ワールドの3軸直交座標系で表された点を示し、その点は、図19の各アバターの基準点M1の座標である。VRユーザ管理テーブル560aの例では、ワールド1で識別される仮想現実空間の描画データはVRユーザ端末20aに配信され、ワールド2で識別される仮想現実空間の描画データはVRユーザ端末20b、20cに配信される。例えば、知り合いのVRユーザ同士でパーティーを形成し、パーティーのメンバーの複合アバターだけを一つのワールドに配置して、パーティー内で仮想現実空間映像を同期して仮想現実を体験してもよい。
【0120】
本実施形態では、VR提供サーバ10が提供する仮想現実空間(ワールド)であれば、同一の仮想現実空間を複製した仮想現実空間だけでなく、異なる仮想現実空間であってもユーザは複合アバターを用いることができる。例えばワールド1、ワールド2が共にA都市空間でのフェス会場を再現した仮想現実空間の場合でもよいし、ワールド1はA都市空間のフェス会場、ワールド2はB地方のバーチャル旅行空間であってもよい。VR提供サーバ10が提供する仮想現実空間(ワールド)であれば、異なる仮想現実空間に複合アバターを持ち越せることも本実施形態の特徴の一つである。
【0121】
図22は、第2実施形態における仮想現実提供システム1において他人の複合アバターのアバター素材を購入する処理の流れを示すシーケンス図である。以下の説明の前提として、VRユーザB,Cは、VRユーザ端末20b、cを用いてVR提供サーバ10が提供するVR映像を視聴しているとする。VRユーザB、Cは、同一のVR空間(ワールド2)にアバターB、Cを配置している。アバターB、Cは、第1実施形態に係るキャラクタモデルに衣服モデルを組み合わせた複合アバターである。キャラクタモデル、衣服モデルは複合アバターの構成要素であり、アバター素材に相当する。以下では、VRユーザBが、アバターCに用いられているアバター素材を購入する場合を例に挙げて説明する。アバターCは、VRユーザBからみて他人アバターに相当する。
【0122】
VRユーザBがアバターCに遭遇し、アバターCに用いられたアバター素材を購入したいと考えると、アバターCを選択し、その選択情報がVR提供サーバ10に送信される(S51)。
【0123】
購入受付部407は、VRユーザ管理テーブル560aのアバターCについての「Avatar Model」及び「Avatar Outfit」欄に記載されたキャラクタモデル、衣服モデルの情報を読み取る(S52)。
【0124】
購入受付部407は、組み合わせ元のデータに基づいてアバターCに用いられた素材を表示したアバターCの詳細画面(インベントリ)を生成し(S53)、VRユーザ端末20bに送信する(S54)。
【0125】
VRユーザ端末Bが、アバターCの詳細画面上で購入を希望する素材を選択して購入希望操作を行う(S55)、購入希望情報が購入受付部407に送信され(S56)、選択された素材の代金の決済処理が決済部408により実行される(S57)。
【0126】
決済部408による決済処理が終了すると、ユーザ管理部404がVRユーザBのVRユーザ管理テーブル560aに新たに購入したアバター素材の情報を更新する(S58)。
【0127】
図23から図26は、第2実施形態に係る画面表示例を示す図である。図23に示すように、VR空間を表示した画面800において、他人、本例ではVRユーザCが用いるアバターC801を、VRユーザ端末Bのリモートコントローラ230を用いて選択すると、アバターC801が選択状態となり、購入受付部407が購入モードへ遷移させる購入画面アイコン802を表示する。本例では、購入画面アイコン802として「今すぐ買う」のテキストが表示される。
【0128】
VRユーザ端末Bのリモートコントローラ230が購入画面アイコン802を操作すると、図24の画面810に遷移する。画面810には、アバターC801のインベントリを表示させるためのインベントリ表示アイコン811と、メニュー画面812とが表示される。インベントリ表示アイコン811として、「インベントリ出す・しまう」のテキストが表示される。VRユーザ端末Bのリモートコントローラ230を用いてインベントリの表示操作を行うと、図25の画面820に遷移する。
【0129】
画面820には、アバターC801の素材を表示したインベントリ画面821が表示される。インベントリ画面821には、アバターC801に用いられたアバター素材例として、衣服モデル822が掲載されている。さらにインベントリ画面821には、衣服モデル822の購入情報として、衣服モデル822と同じデザイン、かつ各種サイズの衣服モデルを選択するサイズ選択アイコン823が表示される。更に、VRユーザ端末Bが現在使用しているキャラクタモデルに合った衣服モデルがどれかを示すアドバイスメッセージ824が表示されてもよい。VRユーザ端末Bのリモートコントローラ230を用いて衣服モデルのサイズの選択操作を行うと、図26の画面830に遷移する。
【0130】
画面830には、購入決定アイコン831が表示される。VRユーザ端末Bのリモートコントローラ230を用いて購入決定アイコン831を操作して決済が完了すると購入完了画面832が表示される。VRユーザ端末Bのリモートコントローラ230を用いて「今すぐ使いますか」に対して「はい」のアイコン833を操作するとVRユーザ端末Bが現在使用している複合アバターの衣服が衣服モデル822に切り替わる。
【0131】
上記では、他人の複合アバターが着用している衣服モデルの購入例を例示したが、他人の複合アバターに使用されているキャラクタモデルも購入可能である。この場合は、図25のインベントリ画面において他人の複合アバターに用いられているキャラクタモデルを表示し、購入させてもよい。
【0132】
本実施形態によれば、仮想現実内で出会った他人の複合アバターに用いられているアバター素材、例えばキャラクタモデル、衣服モデルを購入することができる。
【0133】
その際、自分の複合モデルに用いているキャラクタモデルと、他人の複合モデルに用いられているキャラクタモデルの身体モデルが異なっている場合には、異なるサイズの衣服モデルの中から自分が必要な衣服モデルを選択して購入することができる。
【0134】
更に、衣服モデルに対して複数のサイズが提案された場合に、自分が使用しているキャラクタモデルに応じたサイズの衣服モデルがどれであるかのアドバイスを参考にして購入判断を行うことができる。
【0135】
<第3実施形態>
第3実施形態は、第1実施形態、第2実施形態の仮想現実提供システム1において、アバター素材を購入すると自分のアバターの容姿を確認し、そのアバターの容姿を自分のアバターのプロフィール画像に転用する実施形態である。各アバターのプロフィール情報は、VRユーザデータ格納部411に格納してもよいし、VRユーザ端末20が格納してもよい。
【0136】
仮想現実空間に自分のアバターを配置して仮想現実を体験中は、アバターに自分の動きを反映させるためにアバターの視点と自分の視点とを一致させた、所謂一人称視点のVR映像がHMD210に表示されている。そのため、第1実施形態、第2実施形態においてアバター素材、例えば衣服モデルを購入して衣服を着替えても、自身の全身像を直接視認することはできない。
【0137】
そこで、本実施形態では、自身のアバターを着替えさせると、全身ミラー(所謂姿見)を登場させる。図27は、全身ミラーが現れた画面表示例を示す図である。
【0138】
図27の画面900は、仮想現実空間内の通路901の途中にミラー902が現れる。ミラー902の出現トリガー例として、アバター903が衣服を着替えたためユーザ管理部404がVRユーザ管理テーブル560aを更新したことを用いてもよい。アバター903の着替えは、例えば図26の画面830において、「今すぐ使いますか」に対して「はい」のアイコン833を操作すると実施される。アバターの着替えが行われると、ユーザ管理部404は仮想現実空間内において本来はミラー902が設置されていない場所にミラー902を出現させる。なお、ユーザ管理部404は、ミラー902を出現させるVRユーザ端末20としてアバター903の着せ替えを行ったユーザが操作するVRユーザ端末(例えば20B)のみに対して行い、同一のワールドに入室している他のユーザがいる場合には、当該他のユーザが用いるVRユーザ端末(例えば20C)には行わなくてもよい。これにより、アバターの着せ替えを行っていないユーザが視認している仮想現実にミラー902が出現することによる視界の妨げや没入感の損失を抑止することができる。
【0139】
ユーザ管理部404は、衣服モデルの着せ替えを行った後のアバター映像をミラー902内にはめ込んで表示する。ユーザがミラー902に映った自分のアバター903の容姿を視認し、プロフィール反映操作を行う。
【0140】
プロフィール反映操作の一例として、リモートコントローラ230のポインタをミラー902に合わせて背面ボタン222を押す操作としてもよい。プロフィール反映操作を行うと、図27の画面900から図28の画面910へ遷移する。出現したミラー902は、プロフィール反映操作が完了すると消滅してもよいし、別途ミラー902を消滅させる操作を行ってもよい。図28は、プロフィール編集画面例を示す図である。
【0141】
ユーザ管理部404は、アバターのプロフィール画面911を表示する。そして、プロフィール画面911内のアバター画像912をミラー902の全身像に差し替える。
【0142】
プロフィール画面911内のアバター画像912を、図20のアバター素材販売ページ600のアバター画像601と連携しておき、アバター画像912が差し替わると販売ページ制御部405がアバター素材販売ページ600のアバター画像601を指し替えてもよい。
【0143】
本実施形態によれば、アバターを着せ替えた場合に一人称視点で仮想現実を視認中は自身の姿を直接見ることができないが、ミラー902の映った姿を見ることで着替えたアバターの容姿を確認することができる。その際、仮想現実内でミラーを探さなくても、その場にミラーが出現するので姿を確認するのに便利である。
【0144】
また、従来は、プロフィール画面911内のアバター画像912を差し替えるために、キャラクタモデルと衣服モデルとの合成を手動で行っていたが、アバター合成部による合成結果をアバター画像912に反映させることができるので、プロフィール画像の更新が自動で行えて便利である。
【0145】
更にアバター素材販売ページとプロフィール画面911内のアバター画像912とを連携すれば、アバター合成部による合成結果をプロフィール画面911と共にアバター素材販売ページにも自動で反映させることができる。
【0146】
本発明は上記実施形態に限定されない。例えば、VR提供サーバ10が提供する仮想現実は、対戦ゲーム、VR空間内で開催されるイベントや音楽フェス、学校や塾などの仮想現実空間内の教育施設、バーチャル旅行等、どのような仮想現実空間に配置するアバターにも本実施形態は適用することができる。
【0147】
また、上記では衣服モデルのサイズとしてS,M,Lの3種類を例示して説明したが、サイズはこの3種類に限定されず、多数、一例として3000件~5000件くらいあってもよい。またサイズは、衣服モデルのキャラクタモデルの身体データへの近似度の一表現例に過ぎない。例えば、サイズの表記に代えて「キャラクタモデルA対応」、「キャラクタモデルB対応」と記載されている場合でも、「キャラクタモデルAのサイズに対応」、「キャラクタモデルBのサイズに対応」と読み替えることで、本発明の技術的範囲に属することは明らかである。キャラクタモデルを用いたサイズ表記がされている場合であっても、販売ページ制御部405がキャラクタモデルA、キャラクタモデルBの各身体データの近似度に応じて当該キャラクタモデルの身体データに適合した衣服モデルを抽出してもよい。これにより、例えば衣服モデルとキャラクタモデルの対応状況は、「Sサイズ」のように抽象化されておらず、「キャラクタモデルA対応」、「キャラクタモデルB対応」というふうに特定の身体を指定したり、「キャラクタモデルA・キャラクタモデルB共通素体対応」のように、特定の身体データを指定する形で管理されたりしている場合にも、本発明を適用することができる。
【0148】
また上記ではアバター合成部432は、VRユーザ端末20が選択したアバター素材であるキャラクタと衣服とを合成したが、アバター合成部432は、キャラクタモデル開発者端末41又は衣服モデル開発者端末42が選択したキャラクタと衣服とを合成して表示してもよい。
【0149】
またアバター合成部432は、VR提供サーバ10に予め格納された複数種類のキャラクタモデルと、そのうちの特定のキャラクタモデルに適合した衣服モデルとを合成すればよく、キャラクタモデル、衣服モデルはキャラクタモデル開発者端末41、衣服モデル開発者端末42から送信して取得されたものに限定されない。
【0150】
また上記では、対象となるキャラクタモデルを選択し、そのキャラクタモデルに適合した衣服モデルを掲載した販売ページや着せ替えの提案(図25のメッセージ824)を行ったが、VRユーザが所望する衣服モデルを選択し、これを対象衣服モデルとして、この対象衣服モデルに適合したキャラクタモデルの販売ページや着せ替え提案を販売ページ制御部405等が行う態様も本発明に含まれる。この態様によれば、例えばVRユーザが気に入った衣服モデルを着せられるキャラクタモデルを探す場合などに好適である。
【0151】
また本発明に係るプログラムは、単一のプログラムに限定されず、複数のプログラムの集合体でもよい。また、本発明に係るプログラムは、単一の装置で実行されるものに限定されず、複数の装置で分担して実行されてもよい。さらに、VR提供サーバ10及びVRユーザ端末20の役割分担は、前述の例に限定されない。すなわち、VR提供サーバ10の処理の一部がVRユーザ端末20によって実行されてもよいし、VRユーザ端末20の処理の一部がVR提供サーバ10によって実行されてもよい。
【0152】
さらに、プログラムによって実現される各手段の一部または全部は、集積回路などのハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード、DVDの他、インターネット上のサーバ等を指す。
【符号の説明】
【0153】
1:仮想現実提供システム,4:通信ネットワーク,5:通信ネットワーク,10:VR提供サーバ,11:プロセッサ,12:RAM,13:ストレージ,13P:サーバプログラム,14:入出力インタフェース,15:通信インタフェース,18:ディスプレイ,19:通信バス,20:VRユーザ端末,20a:VRユーザ端末,20b:VRユーザ端末,20c:VRユーザ端末,41:キャラクタモデル開発者端末,41a:キャラクタモデル開発者端末,41b:キャラクタモデル開発者端末,42:衣服モデル開発者端末,42a:衣服モデル開発者端末,42b:衣服モデル開発者端末,101:プロセッサ,102:RAM,103:ディスプレイ,104:ストレージ,104P:HMD制御プログラム,105:入力インタフェース,106:モーションセンサ,107:アウトカメラ,108:通信インタフェース,109:マイク,110:スピーカ,111:通信バス,200:HMDセット,201:プロセッサ,202:RAM,203:ROM,204:操作スイッチ,205:モーションセンサ,206:BT通信機,209:通信バス,210:HMD,211:HMD本体,213:HMD側近距離無線通信機,214:ディスプレイ,219:保持体,220:HMDセット,221:リモコン側近距離無線通信機,222:背面ボタン,229:筐体,230:リモートコントローラ,240:ポインタ,301:プロセッサ,302:RAM,303:ROM,304:ストレージ,304P:端末プログラム,305:入力インタフェース,306:通信インタフェース,309:通信バス,401:ログイン認証部,402:キャラクタモデル管理部,403:衣服モデル管理部,404:ユーザ管理部,405:販売ページ制御部,406:VR描画データ送信部,407:購入受付部,408:決済部,409:キャラクタモデル格納部,410:衣服モデル格納部,411:VRユーザデータ格納部,412:開発者管理データ格納部,431:VR映像生成部,432:アバター合成部,433:アバター動作制御部,500:開発者管理テーブル,520:キャラクタモデル管理テーブル,520a:キャラクタモデル管理テーブル,540:衣服モデル管理テーブル,540a:衣服モデル管理テーブル,560:VRユーザ管理テーブル,560a:VRユーザ管理テーブル,600:アバター素材販売ページ,601:アバター画像,602:名前,611:説明情報,612:説明情報,613:説明情報,800:画面,802:購入画面アイコン,810:画面,811:インベントリ表示アイコン,812:メニュー画面,820:画面,821:インベントリ画面,822:衣服モデル,823:サイズ選択アイコン,824:アドバイスメッセージ,830:画面,831:購入決定アイコン,832:購入完了画面,833:アイコン,900:画面,901:通路,902:ミラー,903:アバター,910:画面,911:プロフィール画面,912:アバター画像,C1~C12:追従点,801:アバター,J1~J12:関節点(身体特徴点),M1:基準点
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28