(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164372
(43)【公開日】2024-11-27
(54)【発明の名称】情報処理方法、情報処理システム及びプログラム
(51)【国際特許分類】
G06F 3/04845 20220101AFI20241120BHJP
G06F 3/01 20060101ALI20241120BHJP
G06T 19/00 20110101ALI20241120BHJP
【FI】
G06F3/04845
G06F3/01 570
G06T19/00 A
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023079795
(22)【出願日】2023-05-15
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】足利 昂治
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050BA11
5B050CA07
5B050CA08
5B050EA09
5B050EA27
5B050FA02
5B050FA05
5B050FA08
5E555AA27
5E555AA63
5E555AA64
5E555AA76
5E555BA38
5E555BB38
5E555BC18
5E555BC20
5E555BE17
5E555CA44
5E555CB21
5E555CB66
5E555CC05
5E555CC24
5E555CC25
5E555DA08
5E555DB32
5E555DB53
5E555DC21
5E555DC26
5E555DC27
5E555DC35
5E555DC43
5E555DC75
5E555DD06
5E555EA07
5E555EA08
5E555FA00
(57)【要約】 (修正有)
【課題】仮想空間においてオブジェクトの大きさをユーザが調整できるようにする情報処理方法、情報処理システム及びプログラムを提供する。
【解決手段】複数の情報処理装置と、複数の端末装置(VR機器3)と、を備える情報処理システムにおいて、情報処理装置が備えるコンピュータが実行する情報処理方法は、仮想空間においてアバターを動作させるためのユーザ操作の軌跡に係る軌跡80に係る軌跡情報に基づいて、仮想空間におけるオブジェクト70の大きさに係る設定を調整する。また、表示部及び入力部を備える端末装置のコンピュータが実行する情報処理方法は、仮想空間においてアバターを動作させるためのユーザ操作を、入力部(コントローラ32)を介して受け付け、入力部により受け付けたユーザ操作の軌跡に係る軌跡情報に基づいて仮想空間における大きさに係る設定が調整されたオブジェクトを、VRヘッドセットが備える表示部に表示させる。
【選択図】
図13
【特許請求の範囲】
【請求項1】
コンピュータが実行する情報処理方法であって、
仮想空間においてアバターを動作させるためのユーザ操作の軌跡に係る軌跡情報に基づいて、前記仮想空間におけるオブジェクトの大きさに係る設定を調整する、
情報処理方法。
【請求項2】
前記軌跡情報に基づいて、前記軌跡により閉じた図形が描かれたか否かを判別し、
前記閉じた図形が描かれたと判別された場合に、描かれた前記図形が大きいほど前記オブジェクトが大きくなるように前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項3】
前記軌跡情報に基づいて、前記軌跡により所定の図形の一部が描かれたか否かを判別し、
前記図形の一部が描かれたと判別された場合に、前記図形の一部に基づいて補完された前記図形の全体が大きいほど前記オブジェクトが大きくなるように前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項4】
前記図形の大きさは、前記図形の最大幅、又は前記図形の所定箇所の幅である、
請求項2又は3に記載の情報処理方法。
【請求項5】
前記軌跡情報に基づいて、前記オブジェクトのうちユーザにより予め指定された部分の大きさに係る前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項6】
前記ユーザ操作は、ユーザが保持するコントローラを移動させる動作を含み、
前記ユーザ操作の軌跡は、前記コントローラにおける特定の点の移動軌跡である、
請求項1に記載の情報処理方法。
【請求項7】
前記ユーザ操作は、ユーザの身体の所定の部位の位置がセンサ装置により検出される状態において前記所定の部位を移動させる動作を含み、
前記ユーザ操作の軌跡は、前記所定の部位における特定の点の移動軌跡である、
請求項1に記載の情報処理方法。
【請求項8】
前記軌跡情報に基づいて、前記ユーザ操作に応じた前記アバターの所定の部位の前記仮想空間における動作の軌跡を導出し、導出された前記動作の軌跡が描く図形の前記仮想空間における大きさに基づいて前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項9】
前記軌跡情報のうち、前記オブジェクトの大きさの調整を開始するための特定操作をユーザが行った後の前記軌跡に対応する部分に基づいて、前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項10】
前記仮想空間において前記アバターが前記オブジェクトを保持又は装着している状態において前記ユーザ操作が行われた場合に、当該ユーザ操作の前記軌跡に係る前記軌跡情報に基づいて前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項11】
前記ユーザ操作が、ユーザの身体の或る部位の近傍で前記軌跡を描く操作である場合に、前記設定が調整された前記オブジェクトを、前記アバターの前記或る部位に対応する部位に装着させる、
請求項1に記載の情報処理方法。
【請求項12】
前記アバターにより操作されるインターフェースであって、前記オブジェクトのデザインのカスタマイズを行うためのインターフェースを前記仮想空間に表示させ、
前記アバターにより前記インターフェースが操作された場合に、当該操作の内容に応じて前記オブジェクトのデザインのカスタマイズがなされるように前記オブジェクトに係る設定を変更し、
前記軌跡情報に基づいて、前記デザインのカスタマイズがなされた前記オブジェクトの大きさに係る前記設定を調整する、
請求項1に記載の情報処理方法。
【請求項13】
仮想空間においてアバターを動作させるためのユーザ操作の軌跡に係る軌跡情報に基づいて、前記仮想空間におけるオブジェクトの大きさに係る設定を調整する処理部を備える情報処理システム。
【請求項14】
コンピュータに、
仮想空間においてアバターを動作させるためのユーザ操作の軌跡に係る軌跡情報に基づいて、前記仮想空間におけるオブジェクトの大きさに係る設定を調整する処理
を実行させるプログラム。
【請求項15】
表示部及び入力部を備える端末装置のコンピュータが実行する情報処理方法であって、
仮想空間においてアバターを動作させるためのユーザ操作を、前記入力部を介して受け付け、
前記入力部により受け付けた前記ユーザ操作の軌跡に係る軌跡情報に基づいて前記仮想空間における大きさに係る設定が調整されたオブジェクトを、前記表示部に表示させる、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理システム及びプログラムに関する。
【背景技術】
【0002】
従来、コンピュータにより構築された仮想空間において、ユーザの操作に応じてアバターを動作させることで、他のアバターを動作させている他のユーザとコミュニケーションを取ったり、仮想空間において開催されるイベントやゲームに参加したりすることのできるサービスが実現されている。このようなサービスの中には、服や装身具といったオブジェクトをアバターに装着させることができるものがある(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術においては、仮想空間におけるオブジェクトの大きさが予め設定されており、ユーザが自由に調整することができないという課題がある。このため、例えば、アバターの特徴によっては、装着したオブジェクトが不自然に見えてしまうといった問題が生じ得る。
【0005】
本発明は、仮想空間においてオブジェクトの大きさをユーザが調整できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る情報処理方法は、
コンピュータが実行する情報処理方法であって、
仮想空間においてアバターを動作させるためのユーザ操作の軌跡に係る軌跡情報に基づいて、前記仮想空間におけるオブジェクトの大きさに係る設定を調整する。
【発明の効果】
【0007】
本発明によれば、仮想空間においてオブジェクトの大きさをユーザが調整できるようにすることができる。
【図面の簡単な説明】
【0008】
【
図4】情報処理装置の機能構成を示すブロック図である。
【
図5】オブジェクトデータの内容例を示す図である。
【
図6】VR機器の機能構成を示すブロック図である。
【
図9】ベゼルアイコンを選択した状態を示す図である。
【
図10】ショートバンドアイコンを選択した状態を示す図である。
【
図11】尾錠アイコンを選択した状態を示す図である。
【
図12】エクスポートボタンの選択に応じて時計オブジェクトが生成された状態を示す図である。
【
図13】時計オブジェクトの大きさを調整するユーザ操作を示す図である。
【
図14】時計オブジェクトの大きさを調整するユーザ操作を示す図である。
【
図15】図形の大きさの他の決定方法を示す図である。
【
図16】図形の大きさの他の決定方法を示す図である。
【
図17】図形の大きさの他の決定方法を示す図である。
【
図18】図形の大きさの他の決定方法を示す図である。
【
図19】図形の大きさの他の決定方法を示す図である。
【
図20】仮想店舗運営処理の制御手順を示すフローチャートである。
【
図21】カスタマイズ処理の制御手順を示すフローチャートである。
【
図22】オブジェクト調整処理の制御手順を示すフローチャートである。
【
図23】変形例に係る情報処理システムの構成を示す図である。
【
図24】変形例における時計オブジェクトの大きさを調整するユーザ操作を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。
【0010】
(情報処理システムの概要)
図1は、情報処理システム1の構成を示す図である。
情報処理システム1は、サーバ10と、複数の情報処理装置20と、複数のVR機器30(端末装置)とを備える。情報処理システム1は、当該情報処理システム1を利用する複数のユーザに対し、コンピュータにより構築された3次元の仮想空間(メタバース)における種々のサービスを提供する。また、情報処理システム1は、メタバースにおいてVR(仮想現実)を適用したサービスをユーザに提供することができる。VRは、仮想空間に構築された仮想世界をあたかも現実であるかのようにユーザに体験させる技術である。
【0011】
情報処理システム1の各ユーザは、1つの情報処理装置20と、1つのVR機器30とを使用する。情報処理装置20とVR機器30とは、無線通信によるデータの送受信が可能に接続されている。VR機器30は、ユーザにより装着されて用いられるVRヘッドセット31(頭部装着型装置)及びコントローラ32を備える。VR機器30は、VRヘッドセット31及びコントローラ32によりユーザの動作や入力操作を検出し、検出結果を情報処理装置20に送信する。情報処理装置20は、VR機器30が検出したユーザの動作や入力操作に応じて、仮想空間の画像及び音声等のデータをVRヘッドセット31に送信し、画像の表示及び音声の出力を行わせる。このように、ユーザの動作や入力操作に応じて仮想空間の画像をリアルタイムでVRヘッドセット31に表示させたり、音声を出力させたりすることで、VRが実現される。仮想空間においては、ユーザに代わって、アバター40(
図9参照)と呼ばれるキャラクターが動作する。言い換えると、VRヘッドセット31には、アバター40の視点から見た仮想空間の画像がリアルタイムに映し出される。
【0012】
本実施形態の情報処理システム1は、仮想空間2に構築された仮想店舗200(
図7参照)において、商品としての時計(腕時計)に係る各種サービス(以下、「仮想店舗サービス」と記す)を提供する。仮想店舗200において提供される仮想店舗サービスとしては、アバター40が装着可能な時計オブジェクト(商品オブジェクト、オブジェクト)のデザインをユーザが自由にカスタマイズするサービス、カスタマイズされた時計オブジェクトを生成してアバター40に装着(試着)させるサービスなどがある。これらの詳細については後述する。
【0013】
複数の情報処理装置20は、ネットワークNを介してサーバ10に接続されており、サーバ10との間でデータの送受信が可能である。ネットワークNは、例えばインターネットであるが、これに限定されない。サーバ10は、例えば、仮想店舗200におけるサービスの提供者により管理される。サーバ10は、仮想店舗200におけるサービスの提供に必要な種々のデータを複数の情報処理装置20に送信する。また、サーバ10は、複数の情報処理装置20から、ユーザに係るデータ、及び、時計のカスタマイズや販売に係るデータ等を受信して管理する。
以下、情報処理システム1の各構成要素について詳細に説明する。
【0014】
(サーバの構成)
図2は、サーバ10の機能構成を示すブロック図である。
サーバ10は、CPU11(Central Processing Unit)と、RAM12(Random Access Memory)と、記憶部13と、通信部14と、バス15などを備える。サーバ10の各部は、バス15を介して接続されている。なお、サーバ10は、サーバ10の管理者により使用される操作部や表示部などをさらに備えていてもよい。
【0015】
CPU11は、記憶部13に記憶されているプログラム131を読み出して実行し、各種演算処理を行うことで、サーバ10の各部の動作を制御するプロセッサである。なお、サーバ10は、複数のプロセッサ(例えば複数のCPU)を有していてもよく、本実施形態のCPU11が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0016】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。
【0017】
記憶部13は、コンピュータとしてのCPU11により読み取り可能な非一時的な記録媒体であり、プログラム131及び各種データを記憶する。記憶部13は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリを含む。プログラム131は、コンピュータが読み取り可能なプログラムコードの形態で記憶部13に格納されている。記憶部13に記憶されるデータとしては、情報処理システム1の複数のユーザに係る情報が記録されたユーザ管理データ132などがある。
【0018】
図3は、ユーザ管理データ132の内容例を示す図である。
ユーザ管理データ132における1つの行データは、1人のユーザに対応する。各行データは、「ユーザID」、「アバターID」、「アバター情報」等の項目のデータを含む。
【0019】
「ユーザID」は、各ユーザに割り当てられた固有の符号である。
「アバターID」は、そのユーザに対応するアバター40に割り当てられた固有の符号である。
「アバター情報」は、アバター40の特徴に係る複数の副項目を含む。ここでは、副項目として「全長」、「手首最大径」及び「手首形状」が例示されている。
「全長」は、仮想空間2におけるアバター40の全長(人型のアバター40の場合には、身長)である。
「手首最大径」は、アバター40の手首の最大径である。
「手首形状」は、アバター40の手首の形状である。「手首形状」は、最大径と最小径との比率等の数値により表されていてもよい。
「全長」及び「手首最大径」の単位は、仮想空間2における長さに係る任意の単位長さとすることができる。「全長」、「手首最大径」及び「手首形状」は、後述する時計オブジェクトの大きさ及び/又は形状の自動調整を行う場合に参照される。
ユーザ管理データ132には、
図3に示されていない項目のデータがさらに含まれていてもよい。例えば、ユーザの属性、特性、ログイン履歴、及び商品の購買履歴といった項目のデータがさらに含まれていてもよい。
【0020】
図2に戻り、通信部14は、予め定められた通信規格に従った通信動作を行う。通信部14は、この通信動作により、ネットワークNを介して情報処理装置20との間でデータの送受信を行う。
【0021】
(情報処理装置の構成)
図4は、情報処理装置20の機能構成を示すブロック図である。
情報処理装置20は、CPU21(処理部、コンピュータ)と、RAM22と、記憶部23と、操作入力部24と、出力部25と、通信部26と、バス27などを備える。情報処理装置20の各部は、バス27を介して接続されている。情報処理装置20は、例えば、ノートPC又は据置型PCであるが、これらに限られず、タブレット端末又はスマートフォン等であってもよい。
【0022】
CPU21は、記憶部23に記憶されているプログラム231を読み出して実行し、各種演算処理を行うことで、情報処理装置20の各部の動作を制御するプロセッサである。なお、情報処理装置20は、複数のプロセッサ(例えば複数のCPU)を有していてもよく、本実施形態のCPU21が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合には、複数のプロセッサにより「処理部」が構成される。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0023】
RAM22は、CPU21に作業用のメモリ空間を提供し、一時データを記憶する。
【0024】
記憶部23は、コンピュータとしてのCPU21により読み取り可能な非一時的な記録媒体であり、プログラム231等のプログラム及び各種データを記憶する。記憶部23は、例えばHDD、SSD等の不揮発性メモリを含む。プログラムは、コンピュータ読み取り可能なプログラムコードの形態で記憶部23に格納されている。記憶部23に記憶されるデータとしては、仮想空間2におけるオブジェクトに係る情報が記録されたオブジェクトデータ232、及び、アバター40を動作させるためのユーザ操作の軌跡に係る軌跡データ233(軌跡情報)などがある。なお、オブジェクトデータ232及び/又は軌跡データ233はサーバ10の記憶部13に記憶されていてもよく、情報処理装置20のCPU21が通信部26を介して、必要に応じてオブジェクトデータ232及び/又は軌跡データ233の情報をサーバ10から取得する態様としてもよい。
【0025】
図5は、オブジェクトデータ232の内容例を示す図である。
オブジェクトデータ232における1つの行データは、1つのオブジェクトに対応する。
図5では、仮想空間2上のオブジェクトのうち、仮想店舗200において取り扱われる時計オブジェクトに係るデータが例示されている。各行データは、「オブジェクトID」、「名称」、「表示倍率補正」、「形状補正」、「装着対象アバター」、「カスタマイズ情報」等の項目のデータを含む。
【0026】
「オブジェクトID」は、各オブジェクトに割り当てられた固有の符号である。
「名称」は、各オブジェクトの名称であり、ここでは「時計」である。
【0027】
「表示倍率補正」は、オブジェクトを表示する際の大きさに係る設定である。ここでは、デフォルトの大きさを1とした倍率でオブジェクトの大きさが表されている。値が1より大きい場合には、デフォルトの大きさよりも拡大して表示することを表し、値が1未満である場合には、デフォルトの大きさよりも縮小して表示することを表す。装着対象のアバター40の全長や手首最大径等に応じて「表示倍率補正」の設定が調整されることで、アバター40に合った大きさで時計オブジェクトが表示されるようになる。「表示倍率補正」の設定は、「オブジェクトの大きさに係る設定」の一態様である。
なお、オブジェクトの大きさに係る設定は、必ずしも表示倍率によって表されなくてもよく、例えばオブジェクトの大きさ(オブジェクトの全体又は所定部分の幅又は長さ等)を直接指定するものであってもよい。
【0028】
「形状補正」は、オブジェクトを表示する際の形状の補正に係る設定である。ここでは、アバター40に装着したときの時計のバンドの形状が指定されている。例えば「円筒」であれば、バンドが円筒状となるように時計オブジェクトの形状が補正され、「楕円筒」であれば、バンドが楕円筒状となるように時計オブジェクトの形状が補正される。「楕円筒」の場合には、楕円の偏平率がさらに指定されていてもよい。装着対象のアバター40の手首形状に応じて「形状補正」の設定が調整されることで、アバター40に合った形状で時計オブジェクトが表示されるようになる。「形状補正」の設定は、「オブジェクトの形状に係る設定」の一態様である。
【0029】
「装着対象アバター」は、オブジェクト(ここでは、時計オブジェクト)がアバター40に装着されている場合における当該アバター40の情報である。ここでは、「装着対象アバター」は、「アバターID」及び「部位」の副項目を含む。「アバターID」は、オブジェクトを装着しているアバター40に対応するアバターIDである。「部位」は、アバター40の複数の部位のうちオブジェクトが装着されている部位を表す。オブジェクトがいずれのアバター40にも装着されていない場合には、「装着対象アバター」は空白データ(空文字)となる。「装着対象アバター」に設定値が入力されている場合には、オブジェクトは、設定されたアバター40の設定された部位の動きに追従するように位置及び向きが随時更新される。これにより、アバター40の部位にオブジェクトが装着されているような表示効果が得られる。
【0030】
「カスタマイズ情報」は、後述する時計オブジェクトのデザインのカスタマイズがなされた場合におけるカスタマイズの内容を表す。具体的には、「カスタマイズ情報」は、「カスタマイズデザインID」、「ベースデザイン」、及び時計の各コンポーネント(部品)の色を表す「ベゼル色」、「フェイス色」等の副項目を含む。
「カスタマイズデザインID」は、その時計オブジェクトに設定されているカスタマイズデザインを表す固有の符号である。
「ベースデザイン」は、カスタマイズのベースとして用いられたデザインを表す固有の符号である。カスタマイズ済のデザインがベースとして用いられた場合には、「ベースデザイン」は、上記のカスタマイズデザインIDとされる。
本実施形態の時計オブジェクトは、コンポーネントとして、ベゼル61、フェイス62(ウォッチフェイス)、ショートバンド63、ロングバンド64、遊環65、及び尾錠66を有する(
図9参照)。各コンポーネントは、1つ以上の部品で構成されている。例えば、フェイス62のコンポーネントは、印刷ガラス、液晶ディスプレイ、制御回路、ケース等で構成されている。「カスタマイズ情報」の副項目は、例えば、ベゼル61の色を表す「ベゼル色」、フェイス62の色を表す「フェイス色」、ショートバンド63の色を表す「ショートバンド色」、ロングバンド64の色を表す「ロングバンド色」、遊環65の色を表す「遊環色」、及び尾錠66の色を表す「尾錠色」の各副項目を含む(
図5では、このうち「ベゼル色」及び「フェイス色」以外の副項目は省略されている)。時計オブジェクトのデザインのカスタマイズがなされていない場合には、「カスタマイズ情報」における「ベースデザイン」以外の項目が空白データ(空文字)となる。この場合には、時計オブジェクトのデザインは「ベースデザイン」と同一のデザインとなる。
【0031】
図5は、オブジェクトデータ232においてオブジェクトの大きさ、形状、装着対象アバター、及びカスタマイズデザインを特定するためのデータ構成の一例であって、これに限られない。また、オブジェクトデータ232には、
図5に示されていないデータ項目がさらに含まれていてもよい。例えば、仮想空間2におけるオブジェクトの位置及び向きや、オブジェクトの外形を特定可能な情報(オブジェクトの3Dモデルデータのファイルパス等)が含まれていてもよい。
また、
図5では、時計オブジェクトに係る行データを例示したが、オブジェクトデータ232には、この他にも仮想空間2の構成要素となり得る種々のオブジェクトに係る行データが含まれている。例えば、オブジェクトデータ232には、仮想店舗200の内装や備品、各ユーザのアバター40等のオブジェクトに係るデータが含まれている。アバター40に係るデータの少なくとも一部は、サーバ10のユーザ管理データ132から抽出されてもよい。
また、
図5におけるカスタマイズ情報の副項目では、ベゼル色、フェイス色等の各コンポーネントの色の情報が格納されているが、各コンポーネントのデザインパターンを加えるようにしてもよい。例えば、「ベゼルデザイン」という副項目に対して、デザインの種類を表す「ドット柄」を格納する。
【0032】
図4に戻り、軌跡データ233は、ユーザ操作の軌跡の情報として、例えば、VR機器30のコントローラ32における特定の点p1(
図13、
図14参照)の移動軌跡のデータを含む。特定の点p1は、例えばコントローラ32の先端の点であってもよいし、コントローラ32の他の任意の点、例えばセンサ部325が位置する点等であってもよい。例えば、軌跡データ233は、所定のサンプリング間隔ごとの複数の時点の各々における、コントローラ32の上記特定の点p1の実空間における空間座標のデータを含む。あるいは、軌跡データ233は、コントローラ32の特定の点p1の軌跡に応じた、アバター40の所定の部位の仮想空間2における動作の軌跡を表すものであってもよい。すなわち、軌跡データ233は、アバター40の所定の部位における或る点の、仮想空間2における仮想空間座標のデータを含むものであってもよい。
【0033】
操作入力部24は、ユーザの入力操作を受け付けて、入力操作に応じた入力信号をCPU21に出力する。操作入力部24は、例えば、キーボード、マウス、及びタッチパネルといった入力装置を備える。
【0034】
出力部25は、ユーザに対して、情報処理装置20における処理内容や各種ステータス等に係る情報の出力を行う。出力部25は、例えば、液晶ディスプレイ等の表示装置、スピーカー等の音出力装置、LED等の発光装置などを備える。
【0035】
通信部26は、予め定められた通信規格に従った通信動作を行う。通信部26は、この通信動作により、ネットワークNを介してサーバ10との間でデータの送受信を行う。また、通信部26は、VR機器30との間で無線通信によるデータの送受信を行う。
【0036】
(VR機器の構成)
図6は、VR機器30の機能構成を示すブロック図である。
VR機器30は、VRヘッドセット31と、右手用のコントローラ32と、左手用のコントローラ32と、を備える。2つのコントローラ32は、無線又は有線によりVRヘッドセット31とデータ通信可能に接続されている。VRヘッドセット31は、ユーザの頭部に装着されて用いられる。コントローラ32は、ユーザの手に装着又は保持されて用いられる。コントローラ32は、「入力部」に相当する。
【0037】
VRヘッドセット31は、CPU311と、RAM312と、記憶部313と、操作入力部314と、表示部315と、音出力部316と、センサ部317と、通信部318と、バス319などを備える。VRヘッドセット31の各部は、バス319を介して接続されている。
【0038】
CPU311は、記憶部313に記憶されているプログラム3131を読み出して実行し、各種演算処理を行うことで、VRヘッドセット31の各部の動作を制御するプロセッサである。なお、VRヘッドセット31は、複数のプロセッサ(例えば複数のCPU)を有していてもよく、本実施形態のCPU311が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0039】
RAM312は、CPU311に作業用のメモリ空間を提供し、一時データを記憶する。
【0040】
記憶部313は、コンピュータとしてのCPU311により読み取り可能な非一時的な記録媒体であり、プログラム3131及び各種データを記憶する。記憶部313は、例えばフラッシュメモリ等の不揮発性メモリを含む。プログラム3131は、コンピュータ読み取り可能なプログラムコードの形態で記憶部313に格納されている。
【0041】
操作入力部314は、各種スイッチやボタン等を備え、ユーザの入力操作を受け付けて、入力操作に応じた入力信号をCPU311に出力する。また、操作入力部314は、マイクを備えていてもよく、当該マイクによりユーザの音声による入力操作を受け付け可能であってもよい。操作入力部314は、「入力部」に相当する。
【0042】
表示部315は、VRヘッドセット31を装着したユーザにより視認される画像の表示を行う。表示部315は、VRヘッドセット31を装着したユーザが視認可能な位置に設けられた液晶ディスプレイ又は有機ELディスプレイ等を備える。表示部315により表示される画像の画像データは、情報処理装置20からVRヘッドセット31に送信される。表示部315は、CPU311による制御に従って、上記の受信した画像データに基づいて画像を表示する。
【0043】
音出力部316は、VRヘッドセット31を装着したユーザの聴覚により認識される種々の音の出力を行う。音出力部316は、音を出力するスピーカーを備える。音出力部316により出力される音の音データは、情報処理装置20からVRヘッドセット31に送信される。音出力部316は、CPU311による制御に従って、上記の受信した音データに基づいて音を出力する。
【0044】
センサ部317は、VRヘッドセット31を装着したユーザの頭部の動きや向きを検出する。センサ部317は、例えば、3軸加速度センサ、3軸ジャイロセンサ、及び3軸地磁気センサを備える。3軸加速度センサは、ユーザの動きに応じてVRヘッドセット31に加わる各軸方向の加速度を所定のサンプリング周波数で検出し、検出結果として加速度データをCPU311に出力する。3軸ジャイロセンサは、ユーザの動きに応じてVRヘッドセット31に加わる各軸回りの角速度を所定のサンプリング周波数で検出し、検出結果として角速度データをCPU311に出力する。3軸地磁気センサは、VRヘッドセット31を通る地磁気の大きさを所定のサンプリング周波数で検出し、検出結果として地磁気データをCPU311に出力する。3軸加速度センサ、3軸ジャイロセンサ及び3軸地磁気センサから出力されるデータは、互いに直交する3軸についての各信号成分を含む。CPU311は、センサ部317から受信した加速度データ、角速度データ及び地磁気データに基づいて、ユーザの頭部の動きや向きを導出する。センサ部317は、ユーザの動きや向きをユーザ操作として受け付けることが可能であり、「入力部」に相当する。
【0045】
通信部318は、予め定められた通信規格に従った通信動作を行う。通信部318は、この通信動作により、コントローラ32及び情報処理装置20との間で無線通信によるデータの送受信を行う。
【0046】
コントローラ32は、コントローラ32の動作を統括制御するCPU321と、CPU321に作業用のメモリ空間を提供するRAM322と、プログラムや当該プログラムの実行に必要なデータ等が記憶された記憶部323と、操作入力部324と、センサ部325と、VRヘッドセット31とのデータ通信を行う通信部326などを備える。
【0047】
操作入力部324は、各種スイッチ、ボタン、及び操作キー等を備え、ユーザの入力操作を受け付けて、入力操作に応じた入力信号をCPU321に出力する。また、操作入力部324は、ユーザの各指の動きを別個に検出可能であってもよい。
【0048】
センサ部325は、3軸加速度センサ、3軸ジャイロセンサ、及び3軸地磁気センサを備え、コントローラ32を保持又は装着したユーザの手の動きや向きを検出する。センサ部325の構成及び動作は、例えばVRヘッドセット31のセンサ部317と同様であってもよい。センサ部325による出力データに基づいて、上述したコントローラ32の特定の点p1の軌跡(空間座標の推移)を導出することができる。軌跡の導出は、コントローラ32のCPU321、VRヘッドセットのCPU311、情報処理装置20のCPU21のいずれが実行してもよい。また、導出された軌跡のデータを、軌跡データ233として情報処理装置20の記憶部23に記憶する際に、右手用のコントローラ32と左手用のコントローラ32の何れのコントローラ32による移動軌跡なのかを識別可能にするデータと共に記憶してもよい。この場合、各コントローラ32は、通信部326を介して、移動軌跡のデータとコントローラ32の種類(右手用、左手用)を示すデータを、VRヘッドセット31に送信する。
【0049】
なお、VR機器30の構成は上記に限られない。
例えば、両手の動きを別個に検出する必要がない場合等において、一方のコントローラ32を省略してもよい。また、VRヘッドセット31によって、必要なユーザの動作及び入力操作の検出が可能である場合には、コントローラ32を省略してもよい。
【0050】
(情報処理システムの動作)
次に、情報処理システム1の動作について説明する。
以下の動作の説明において、動作主体は、サーバ10のCPU11、情報処理装置20のCPU21、VRヘッドセット31のCPU311、又はコントローラ32のCPU321であるが、説明の便宜上、サーバ10、情報処理装置20、VRヘッドセット31、又はコントローラ32を動作主体として記す場合がある。
また、VR機器30により検出されるユーザの動き及び入力操作を、以下ではまとめて「ユーザ操作」と記す。すなわち、本実施形態の「ユーザ操作」は、VRヘッドセット31の操作入力部314及びコントローラ32の操作入力部324により検出される入力操作と、VRヘッドセット31のセンサ部317及びコントローラ32のセンサ部325により検出される動作とを含むものとする。よって、「ユーザ操作」は、コントローラ32の特定の点p1が軌跡を描くようにコントローラ32を移動させる動作を含む。
また、以下の説明では、VRヘッドセット31における画像の表示動作を中心に説明し、音の出力等の他の動作については説明を省略する。
【0051】
<仮想店舗サービスの開始、及びVRに係る動作>
ユーザは、情報処理システム1により提供される上述の仮想店舗サービスの利用を開始する場合には、VR機器30のVRヘッドセット31及びコントローラ32を装着し、サービスを開始するための所定の操作を行う。当該操作に応じて、情報処理装置20からサーバ10へユーザの認証情報が送信され、サーバ10によるユーザ認証がなされると、認証結果がサーバ10から情報処理装置20に返されて、認証されたユーザに対する仮想店舗サービスが開始される。
【0052】
仮想店舗サービスが開始されると、情報処理装置20からVR機器30のVRヘッドセット31への、仮想店舗200の画像データの送信が開始される。ここでは、仮想店舗200におけるユーザのアバター40の位置が所定の初期位置に設定され、初期位置にいるアバター40の視点から見た仮想店舗200の画像データがVRヘッドセット31に送信される。これに応じて、VRヘッドセット31の表示部315において、受信した画像データに基づいて仮想店舗200のVR画面3151の表示が開始される。
【0053】
図7は、VR画面3151を示す図である。
VR画面3151は、仮想店舗200の内部を3次元で表現した画像を含む。仮想店舗200の内部には、カスタマイズIF(インターフェース)50と、見本オブジェクト60とが設置されている。
【0054】
カスタマイズIF50は、時計オブジェクトのデザインのカスタマイズを行うためにアバター40により操作されるインターフェースである。
【0055】
見本オブジェクト60は、時計オブジェクトを拡大した模型のオブジェクトである。見本オブジェクト60には、カスタマイズIF50により行われているカスタマイズの内容が反映されるようになっている。見本オブジェクト60は、台座201上の空間に配置されている。
見本オブジェクト60において表示されている時刻は、現実世界の時刻が反映されるようになっている。例えば、サーバ10、情報処理装置20及びVR機器30のいずれかにおける設定時刻が見本オブジェクト60における表示時刻に反映される。見本オブジェクト60における表示時刻は、12時間制表示として、午後であれば「PM」マークを点灯させるようにしてもよい。また、24時間制表示としてもよい。
【0056】
仮想店舗200内の各オブジェクト(仮想店舗200の内装、カスタマイズIF50、及び見本オブジェクト60等)の位置、向き、及び形状等は、情報処理装置20のオブジェクトデータ232の情報に基づいて生成される。オブジェクトデータ232における各オブジェクトの情報は、予め情報処理装置20の記憶部23に記憶されていてもよいし、仮想店舗サービスが開始される場合にサーバ10から情報処理装置20に送信されるようになっていてもよい。
【0057】
また、仮想店舗サービスが開始されると、VR機器30によるユーザ操作の検出が開始され、検出結果が継続的に情報処理装置20に送信される。情報処理装置20は、受信したユーザ操作に応じて、仮想店舗200(仮想空間2)におけるアバター40の動作を制御する。すなわち、情報処理装置20は、受信したユーザ操作を、仮想店舗200におけるアバター40の動作に変換し、仮想店舗200におけるアバター40の位置、向き、及び姿勢等をリアルタイムに特定して更新する。例えば、手で保持したコントローラ32を移動させるユーザ操作を行うことで、ユーザの手の動きに追従するように、アバター40の手を仮想空間2において動かすことができる。そして、情報処理装置20は、更新後の位置及び向きのアバター40の視点から見た仮想店舗200の画像データを生成してVRヘッドセット31に送信する。この画像データの生成及び送信は、所定のフレームレートで繰り返し行われる。VRヘッドセット31の表示部315は、受信した仮想店舗200の画像データに基づいて、上記のフレームレートでVR画面3151を表示する。これにより、VRヘッドセット31を装着しているユーザは、自身の操作に応じて仮想店舗200内を移動及び動作するアバター40の視点で、リアルタイムに仮想店舗200内を視認することができる。
【0058】
VR画面3151はアバター40による一人称視点であるため、基本的にVR画面3151にはアバター40は映らない。ただし、アバター40の視野に入る位置に腕を動かしたり、アバター40の視線を自身の体に向けたりした場合には、アバター40の視界と腕や体との位置関係に応じて、VR画面3151にアバター40の一部が映る。
図7では、ユーザが右腕を前方に伸ばす動作をしており、これに応じてアバター40の右手40RがVR画面3151内に映っている。
【0059】
<時計オブジェクトのカスタマイズに係る動作>
図7に示すように、仮想店舗200内では、アバター40の指先から仮想線Lが延び、仮想線Lとオブジェクトとの交点にポインタPが生成されるようになっている。このポインタPを所望の対象の位置に合わせた状態で所定の操作を行うことで、仮想店舗200内の対象を選択することができる。仮想線Lの位置及び向きは、ユーザ操作に応じて特定されるアバター40の手指の位置及び向きに応じて導出される。ポインタPの位置は、導出された仮想線Lと、オブジェクトデータ232から特定される仮想空間2内の各オブジェクトの表面との交点として導出される。なお、仮想線L及びポインタPは、指先とオブジェクトとの距離が所定距離以下である場合に限って表示されるようになっていてもよい。ユーザは、時計オブジェクトのデザインのカスタマイズを行いたい場合には、上記のポインタPを用いて、アバター40の動作によりカスタマイズIF50を操作する。
【0060】
図8は、カスタマイズIF50を示す図である。
カスタマイズIF50は、立て看板状の板状のオブジェクトである。カスタマイズIF50には、対象選択IF51と、色選択IF52と、エクスポートボタン53とが設けられている。
【0061】
対象選択IF51は、時計オブジェクトを構成する複数のコンポーネント(複数の部分)のうちカスタマイズの対象となるコンポーネントを選択するためのインターフェースである。本実施形態の対象選択IF51は、カスタマイズの対象として時計のベゼル61を選択するためのベゼルアイコン511と、フェイス62を選択するためのフェイスアイコン512と、ショートバンド63を選択するためのショートバンドアイコン513と、ロングバンド64を選択するためのロングバンドアイコン514と、遊環65を選択するための遊環アイコン515と、尾錠66を選択するための尾錠アイコン516とを含む。各アイコン511~516は、上述したポインタPを用いて選択することができる。
図8に示す例では、選択された1つのアイコン(ここでは、ベゼルアイコン511)が枠で囲まれている。ただし、これに限られず、例えば、選択されたアイコンのみが点灯し、残りのアイコンが消灯するような表示としてもよい。
【0062】
なお、カスタマイズ対象のコンポーネントは例示であり、上記以外のコンポーネントをカスタマイズの対象とすることが可能であってもよい。例えば、シングルの遊環に対応する遊環アイコン515に加えて、トリプル(三連)の遊環に対応する遊環アイコンを表示し、いずれかの遊環アイコンを選択することで、遊嵌の形状をシングル又はトリプルから選択できるようにしてもよい。
【0063】
色選択IF52は、対象選択IF51で選択されたコンポーネントの色を指定するためのインターフェースである。色選択IF52は、互いに異なる複数の色のいずれかに対応する複数のカラーパレット521を含む。各カラーパレット521は、上述したポインタPを用いて選択することができる。色選択IF52に含まれるカラーパレット521の種類は、対象選択IF51のアイコン511~516のうち選択されているアイコンに対応して切り替えられる。すなわち、選択されているアイコンに対応するコンポーネントに対して予め設定されている色のカラーパレット521が、色選択IF52において表示される。
【0064】
対象選択IF51においてアイコン511~516のいずれかを選択した状態で、色選択IF52のいずれかのカラーパレット521を選択することで、アイコン511~516に対応するコンポーネントの色を変更することができる。当該コンポーネントの色の変更は、見本オブジェクト60に反映される。すなわち、情報処理装置20は、アバター40の動作によりカスタマイズIF50が操作された場合に、当該操作の内容に応じた時計オブジェクトのカスタマイズの内容が反映されるように見本オブジェクト60の内容を変更し、変更後の画像データをVRヘッドセット31に送信する。
【0065】
見本オブジェクト60は、カスタマイズ開始時点のデフォルト状態では、各コンポーネントの色が白色となっており、カスタマイズIF50の操作に応じて各コンポーネントの色が随時変更される。デフォルト状態の見本オブジェクト60のデザインは、例えば、
図5に示すオブジェクトデータ232における「TYPE01」のベースデザインに相当する。また、見本オブジェクト60は、デフォルト状態において、時刻が表示されたフェイス62が仮想店舗200の正面方向を向くように配置されている。本実施形態では、仮想店舗200の正面方向は、カスタマイズIF50のうち対象選択IF51等が設けられている面が向いている方向である。
図7には、デフォルト状態の見本オブジェクト60が示されている。
【0066】
図9は、ベゼルアイコン511を選択した状態を示す図である。
図9では、説明の便宜上、第三者視点で仮想店舗200内を表示する第三者視点画面3152が示されている。第三者視点画面3152は、アバター40の視点とは異なる、仮想空間2上の所定の点から仮想店舗200を見た画像である。言い換えると、第三者視点画面3152は、仮想店舗200内に位置するアバター40を仮想店舗200とともに表示させた画像である。ユーザは、所定の操作を行うことで、VR画面3151と第三者視点画面3152とを切り替えることが可能である。VR画面3151のままカスタマイズを行うことももちろん可能である。VR画面3151を用いてカスタマイズを行う場合、ユーザは、アバター40を仮想店舗200内で移動させることで、見本オブジェクト60を任意の方向から観察することができる。
【0067】
図9では、ベゼルアイコン511が選択され、ベゼル61の色が赤に指定されている。これに応じて、見本オブジェクト60のベゼル61の色が赤に着色されている。
【0068】
図10は、ショートバンドアイコン513を選択した状態を示す図である。
対象選択IF51のアイコン511~516のいずれかが選択されると、選択されたアイコンに対応するコンポーネントがユーザから見やすくなるように、見本オブジェクト60の向きが変更される。詳しくは、情報処理装置20は、対象選択IF51により時計オブジェクトの或るコンポーネントが選択されると、見本オブジェクト60における当該コンポーネントが仮想店舗200(仮想空間2)における基準方向を向くように見本オブジェクト60の向きを変更し、変更後の画像データをVRヘッドセット31に送信する。ここで、基準方向は、例えば仮想店舗200における正面方向である。
図10に示す例では、ショートバンドアイコン513が選択されたことに応じて、見本オブジェクト60のショートバンド63が正面方向を向くように見本オブジェクト60が回転している。
なお、基準方向は、仮想店舗200における見本オブジェクト60の位置(例えば、見本オブジェクト60の代表点の位置)からアバター40の位置(例えば、アバター40の代表点の位置)に向かう方向としてもよい。例えば、基準方向をアバター40の顔(顔のいずれかの目)等が向いている面に向かう方向に設定する。これにより、アバター40により対象選択IF51のうち任意のコンポーネントが選択されると、見本オブジェクト60における選択されたコンポーネントがアバター40の顔の方向に向けて表示されるため、アバター40(ユーザ)は選択したコンポーネントが容易に視認可能な状態で時計オブジェクトのカスタマイズを行うことができる。なお、基準方向のこれらの切替えは、操作入力部314を操作することで変更できる。
【0069】
図10では、ショートバンドアイコン513が選択された状態で、ショートバンド63の色が黄色に指定されている。これに応じて、見本オブジェクト60のショートバンド63の色が黄色に着色されている。
【0070】
図11は、尾錠アイコン516を選択した状態を示す図である。
図11では、尾錠アイコン516が選択されたことに応じて、見本オブジェクト60の尾錠66が正面方向を向くように見本オブジェクト60が回転している。この状態で色選択IF52からカラーパレット521を選択することで、尾錠66の色を変更することができる。
【0071】
このように、対象選択IF51のアイコン511~516を選択することで、対応するコンポーネントが正面を向くように見本オブジェクト60が回転し、さらに色選択IF52のカラーパレット521を選択することで、見本オブジェクト60のコンポーネントの色を変更することができる。この操作を繰り返すことで、見本オブジェクト60の各コンポーネントの色を変更してデザインをカスタマイズすることができる。
言い換えると、アバター40によりカスタマイズIF50が操作された場合に、当該操作の内容に応じて時計オブジェクトのカスタマイズがなされるように時計オブジェクトに係る設定が変更される。例えば、カスタマイズの開始時に、オブジェクトデータ232において、カスタマイズ対象の時計オブジェクトに係る新たな行データ(
図5に示すカスタマイズ対象データ2321)が生成され、当該カスタマイズ対象データ2321において、「ベゼル色」等のコンポーネントの色の設定が変更されてもよい。また、既存の時計オブジェクトのデザインを上記操作により変更することも可能であり、この場合には、オブジェクトデータ232における当該既存の時計オブジェクトのデザインに係る行データの設定が変更されてもよい。あるいは、この段階では、オブジェクトデータ232における見本オブジェクト60の設定値が、カスタマイズの内容に応じて変更されるようにし、時計オブジェクトを新たに生成するときに、見本オブジェクト60の設定値が新たな時計オブジェクトの行データに反映されるようにしてもよい。
【0072】
上述のようにデザインのカスタマイズを行った後で、エクスポートボタン53を選択することで(アバター40が所定の動作を行うことで)、カスタマイズ後のデザインの時計オブジェクト70が、仮想空間2において生成される。
【0073】
図12は、エクスポートボタン53の選択に応じて時計オブジェクト70が生成された状態を示す図である。
エクスポートボタン53が選択されると、その時点における見本オブジェクト60と同一のデザインの時計オブジェクト70が、エクスポートボタン53の近傍に生成され、表示(出力)される。また、時計オブジェクト70の生成に応じて、見本オブジェクト60は、
図7に示すデフォルト状態の配色に戻る。
【0074】
生成された時計オブジェクト70は、アバター40が所定の動作を行うことで、アバター40の複数の部位のうちいずれかの部位に保持又は装着される。時計オブジェクト70を保持又は装着したアバター40が仮想空間2において動作すると、仮想空間2における時計オブジェクト70の位置及び向きが、アバター40の装着部位の位置及び向きに追従する。例えば、アバター40が手首に時計オブジェクト70を装着した状態で手首をひねる動作を行うと、当該動作に応じて時計オブジェクト70も回転する。
【0075】
時計オブジェクト70を保持する動作をアバター40に行わせるためのユーザ操作は、特には限られないが、例えば、アバター40の手が時計オブジェクト70から所定距離以内となる状態で、コントローラ32により、対象を掴むための所定のグラブ操作を行うものであってもよい。時計オブジェクト70を装着する動作をアバター40に行わせるためのユーザ操作は、特には限られないが、例えば、アバター40が時計オブジェクト70を保持した状態で、コントローラ32により、対象を装着するための所定の装着操作を行うものであってもよい。
【0076】
<時計オブジェクトの大きさの調整に係る動作>
本実施形態では、時計オブジェクト70が生成された後、所定のユーザ操作を行うことで、時計オブジェクト70の大きさを調整することができる。詳しくは、時計オブジェクト70が生成された後、ユーザにより特定操作が行われると、時計オブジェクト70の大きさを調整するためのユーザ操作の受け付けが開始される。特定操作は、コントローラ32に設けられたいずれかの操作ボタン327(
図13参照)を押下したり、操作スティック328(
図13参照)を動かしたりする操作であってもよい。また、特定操作は、コントローラ32を保持した手40Rにより所定のジェスチャを行う操作であってもよい。あるいは、アバター40に時計オブジェクト70を保持又は装着させる操作を特定操作とみなしてもよい。すなわち、アバター40が時計オブジェクト70を保持又は装着した場合に、時計オブジェクト70の大きさを調整するユーザ操作の受け付けを開始してもよい。なお、特定操作の有無によらず、時計オブジェクト70が生成された場合に、時計オブジェクト70の大きさを調整するユーザ操作の受け付けを開始してもよい。
【0077】
図13及び
図14は、時計オブジェクト70の大きさを調整するユーザ操作を示す図である。
ユーザは、特定操作を行った後、
図13又は
図14に示すように、コントローラ32の特定の点p1の軌跡80が所定の図形81を描くようにコントローラ32を動かすことで、時計オブジェクト70の大きさの設定を調整することができる。詳しくは、時計オブジェクト70が、ユーザ操作の軌跡80により描かれた図形81の大きさに応じた大きさとなるように、
図5に示すオブジェクトデータ232の「表示倍率補正」の設定値が調整される。
【0078】
図13に示す例では、軌跡80が描く図形81は円であり、図形81の大きさとして、円の幅W1(直径、最大幅)が用いられる。
図13に示す軌跡80を描くユーザ操作に応じて、時計オブジェクト70の全体の幅(時計のバンドがなす輪の直径)が、図形81の幅W1に応じた幅D1となるように、「表示倍率補正」の設定値が調整される。なお、軌跡80が描く円は、通常、真正の円に対して歪んでいるので、軌跡80に最も近い円を特定し、特定された円を図形81としてもよい。
【0079】
また、
図14には、ユーザ操作の軌跡80により描かれる図形81が
図13よりも大きい場合が例示されている。すなわち、
図14に示す図形81(円)の幅W2(直径)は、
図13に示す図形81の幅W1よりも大きい。
図14に示すユーザ操作が行われた場合には、調整後の時計オブジェクト70の幅D2は、
図13に示す幅D1よりも大きくなる。
このように、ユーザ操作の軌跡80により描かれる図形81が大きいほど時計オブジェクト70が大きくなるように「表示倍率補正」の設定値が調整される。
【0080】
軌跡80により描かれた図形81及びその大きさを確定するトリガー(すなわち、変更後の時計オブジェクト70の大きさを確定するトリガー)は、例えば、軌跡80により閉じた図形81が描かれたこと、としてもよい。軌跡80により閉じた図形81が描かれた状態は、図形81を描く軌跡80の始点と終点が一致した状態の他、始点を中心とする所定の近傍距離範囲内に終点が入った状態を含めてもよい。
【0081】
軌跡80が描く図形81の大きさの決定方法は上記に限られない。
図15~
図19は、図形81の大きさの他の決定方法を示す図である。
図15に示すように、軌跡80により所定の図形81(ここでは、円)の一部(ここでは、円弧)が描かれたと判別された場合に、描かれた図形81の一部に基づいて図形81の全体を補完し、補完された図形81の全体の幅Wを、図形81の大きさとしてもよい。
【0082】
図16に示すように、軌跡80により閉じた図形81が描かれたか否かに関わらず、軌跡80そのものを図形81とみなし、当該図形81の最大の幅Wを図形81の大きさとしてもよい。
【0083】
図形81は円に限られず、
図17に示す矩形や、
図18に示す三角形といった、他の任意の形状であってもよい。図形81が矩形である場合には、
図17に示すように矩形の長辺に平行な方向の幅W(図形の所定箇所の幅)を図形81の大きさの長さとしてもよいし、矩形の対角線の長さ(最大幅)を図形81の大きさとしてもよい。図形81が三角形である場合には、
図18に示すように、三角形の高さ方向の幅W(図形の所定箇所の幅)を図形81の大きさとしてもよいし、3辺のうち最長の辺の長さ(最大幅)を図形81の大きさとしてもよい。
【0084】
また、軌跡80により、大きさの異なる図形81が連続して描かれた場合には、描かれた図形81ごとに大きさを特定し、都度、時計オブジェクト70の「表示倍率補正」の設定値に反映させて大きさを調整してもよい。例えば、
図19には、半径が徐々に大きくなるように複数の半円の軌跡80a~80dが描かれた場合が例示されている。この場合には、半円の軌跡80a~80dがそれぞれ描かれた段階で、各半円に基づいて円を補完し、各円の幅Wa~Wd(図形の大きさ)を特定する。そして、幅Wa~Wdの各々が特定されるごとに時計オブジェクト70の「表示倍率補正」の設定値を都度変更して、時計オブジェクト70の大きさを段階的に調整(ここでは、段階的に大きく)すればよい。
あるいは、軌跡80により大きさの異なる図形81が連続して描かれた場合に、最後に描かれた図形81の大きさのみに基づいて「表示倍率補正」の設定値を調整してもよい。
図19では、移動軌跡として大きさがそれぞれ異なる複数の半円を例としたが、これには限定されない。半円や矩形の半分(少なくとも辺の長さが分かれば半分でなくてもよい)を組み合わせた移動軌跡であってもよい。この場合においても、上記と同様に各図形の幅を特定することで段階的に大きさを調整することができる。
【0085】
図13~
図19に示した軌跡80及び図形81は、ユーザ操作に応じて現実空間に描かれたものであるが、これに代えて、ユーザ操作に応じたアバター40の所定の部位(例えば、手)の仮想空間2における動作の軌跡80、及び当該軌跡80が描く図形81を用いてもよい。すなわち、アバター40の手等の動作の軌跡80が描く図形81の仮想空間2における大きさに基づいて、「表示倍率補正」の設定値を調整してもよい。
【0086】
ユーザ操作が、ユーザの身体の或る部位の近傍で軌跡80を描く操作である場合に、当該或る部位に対応するアバター40の部位に時計オブジェクト70を装着させてもよい。例えば、ユーザの手首の回りで円を描くユーザ操作がなされた場合に、大きさが調整された時計オブジェクト70をアバター40の手首に装着させてもよい。
【0087】
なお、アバター40の複数の部位のうち時計オブジェクト70を装着させる部位の形状に合うように、時計オブジェクト70の形状に係る設定が調整されてもよい。
具体的には、ユーザ管理データ132の「アバター情報」のうち「手首形状」の設定値に応じて、オブジェクトデータ232の「形状補正」の設定値が変更される。例えば、アバター40の「手首形状」が「円筒」であれば、これに合わせて時計オブジェクト70の「形状補正」が「円筒」に設定され、アバター40の「手首形状」が「楕円筒」であれば、これに合わせて時計オブジェクト70の「形状補正」が「楕円筒」に設定される。
アバター40の手首(又は手首に相当する部位)が円筒ではなく楕円筒又は偏平である場合(例えばペンギンのように、偏平な翼が手首に相当するようなアバター40の場合)には、アバター40の手首の形状に応じて「形状補正」の設定が調整される。
【0088】
<仮想店舗運営処理>
次に、上記の仮想店舗サービスに係る動作を実現するために情報処理システム1において実行される仮想店舗運営処理について説明する。以下では、仮想店舗運営処理のうち情報処理装置20のCPU21により実行される処理に着目して説明する。
【0089】
図20は、仮想店舗運営処理の制御手順を示すフローチャートである。
仮想店舗運営処理が開始されると、情報処理装置20のCPU21は、ユーザがログインし仮想店舗サービスが開始されたか否かを判別する(ステップS101)。仮想店舗サービスが開始されていないと判別された場合には(ステップS101で“NO”)、CPU21は、再度ステップS101を実行する。
【0090】
仮想店舗サービスが開始されたと判別された場合には(ステップS101で“YES”)、CPU21は、VR機器30からのユーザ操作に係る操作情報の受信、及び、受信した操作情報に基づく仮想空間2におけるアバター40の制御を開始する(ステップS102)。この操作情報の受信開始後、CPU21は、コントローラ32の出力データに基づいてコントローラ32の特定の点p1の軌跡を導出し、導出した軌跡の情報を軌跡データ233に記録する。また、CPU21は、アバター40の位置及び向きに応じたVR画面3151又は第三者視点画面3152の画像データの生成、及びVRヘッドセット31への送信を開始する(ステップS103)。以降の各ステップにおいても、操作情報に基づくアバター40の制御、並びに、VR画面3151又は第三者視点画面3152の画像データの生成及びVRヘッドセット31への送信が継続して行われるが、便宜上、これらの処理については説明を省略する。
【0091】
CPU21は、アバター40によるカスタマイズIF50の操作が開始されたか否かを判別する(ステップS104)。カスタマイズIF50の操作が開始されたと判別された場合には(ステップS104で“YES”)、CPU21は、カスタマイズ処理を開始する(ステップS105)。
【0092】
図21は、カスタマイズ処理の制御手順を示すフローチャートである。
カスタマイズ処理が呼び出されると、CPU21は、見本オブジェクト60の色及び向きを上述したデフォルト状態の色及び向きに変更する(ステップS201)。また、CPU21は、オブジェクトデータ232において、カスタマイズ対象の時計オブジェクト70に係るカスタマイズ対象データ2321(行データ)を生成する(ステップS202)。カスタマイズ対象データ2321は、後述するステップS209において生成される予定の時計オブジェクト70に係る行データに相当する。
【0093】
CPU21は、対象選択IF51のアイコン511~516のいずれかを選択するアバター40の動作により、カスタマイズ対象のコンポーネントが選択されたか否かを判別する(ステップS203)。コンポーネントが選択されたと判別された場合には(ステップS203で“YES”)、CPU21は、選択されたコンポーネントが基準方向を向くように見本オブジェクト60を回転させる(ステップS204)。
【0094】
CPU21は、色選択IF52のいずれかのカラーパレット521を選択するアバター40の動作により、コンポーネントの色が指定されたか否かを判別する(ステップS205)。コンポーネントの色が指定されたと判別された場合には(ステップS205で“YES”)、CPU21は、見本オブジェクト60における選択中のコンポーネントの色を、指定された色に着色する(ステップS206)。また、CPU21は、ステップS202で生成したカスタマイズ対象データ2321において対応するコンポーネントの色の設定を変更する(ステップS207)。このステップS207は、「オブジェクトのデザインのカスタマイズがなされるようにオブジェクトに係る設定を変更する処理」に相当する。
【0095】
ステップS207が終了した場合、若しくは、ステップS203又はS205で“NO”に分岐した場合には、CPU21は、アバター40によりエクスポートボタン53が操作されたか否かを判別する。エクスポートボタン53が操作されていないと判別された場合には(ステップS208で“NO”)、CPU21は、処理をステップS203に戻す。
【0096】
エクスポートボタン53が操作されたと判別された場合には(ステップS208で“YES”)、CPU21は、その時点におけるカスタマイズ対象データ2321に基づいて、その時点における見本オブジェクト60と同一のデザインの時計オブジェクト70を生成し、所定位置に表示(出力)させる(ステップS209)。
ステップS209が終了すると、CPU21は、カスタマイズ処理を終了させて、処理を
図20の仮想店舗運営処理に戻す。
図20においてカスタマイズ処理(ステップS105)が終了すると、CPU21は、オブジェクト調整処理を実行する(ステップS106)。
【0097】
図22は、オブジェクト調整処理の制御手順を示すフローチャートである。
オブジェクト調整処理が呼び出されると、CPU21は、時計オブジェクト70をアバター40に装着させるための操作が、ユーザによりなされたか否かを判別する(ステップS301)。当該操作が行われたと判別された場合には(ステップS301で“YES”)、CPU21は、時計オブジェクト70の大きさが、アバター40のうち時計オブジェクト70を装着する部位の大きさに適合しているか否かを判別する(ステップS302)。例えば、当該部位がアバター40の手首である場合には、CPU21は、サーバ10から、
図3に示すユーザ管理データ132の「アバター情報」のうち「手首最大径」及び「手首形状」を取得し、その時点におけるオブジェクトデータ232の「表示倍率補正」に基づいて、その時計オブジェクト70の幅Dがアバター40の手首の最大径より大きく、かつ、手首の最大径の所定数倍(例えば、1.5倍)未満である場合に、手首の大きさに適合していると判別する。ユーザ管理データ132の「アバター情報」が事前に取得されてオブジェクトデータ232に記録されている場合には、CPU21は、オブジェクトデータ232を参照して上記部位の大きさを特定する。
【0098】
時計オブジェクト70の大きさがアバター40の部位の大きさに適合していると判別された場合には(ステップS302で“YES”)、CPU21は、時計オブジェクト70をアバター40に装着させる(ステップS303)。ここでは、CPU21は、
図5のオブジェクトデータ232における「装着対象アバター」に、装着対象のアバター40のアバターID及び装着部位を記録する。
【0099】
時計オブジェクト70の大きさがアバター40の部位の大きさに適合していないと判別された場合には(ステップS302で“NO”)、CPU21は、時計オブジェクト70のサイズ調整を促す報知を実行させる(ステップS304)。報知の態様は、特には限られないが、例えば時計オブジェクト70を点滅表示させる態様であってもよい。
【0100】
ステップS304が終了した場合、又は、ステップS301において、時計オブジェクト70をアバター40に装着させるための操作がなされていないと判別された場合には(ステップS301で“NO”)、CPU21は、時計オブジェクト70をアバター40に保持させるための操作が、ユーザによりなされたか否かを判別する(ステップS305)。当該操作が行われたと判別された場合には(ステップS305で“YES”)、CPU21は、時計オブジェクト70をアバター40に保持させる(ステップS306)。ここでは、CPU21は、
図5のオブジェクトデータ232における「装着対象アバター」に、保持対象のアバター40のアバターID及び保持部位を記録する。
【0101】
時計オブジェクト70をアバター40に保持させるための操作が行われていないと判別された場合(ステップS305で“NO”)、若しくは、ステップS303又はS306が終了した場合には、CPU21は、時計オブジェクト70のサイズ調整の開始を指示する特定操作がなされたか否かを判別する(ステップS307)。なお、ステップS301において、時計オブジェクト70をアバター40に装着させるための操作がなされていると判別されている場合、又は、ステップS305において、時計オブジェクト70をアバター40に保持させるための操作がなされていると判別されている場合において、これらの操作を特定操作とみなしてもよい。
【0102】
特定操作がなされたと判別された場合には(ステップS307で“YES”)、CPU21は、軌跡データ233を参照し、特定操作が行われた後のユーザ操作の軌跡80により、閉じた図形81が描かれたか否かを判別する(ステップS308)。閉じた図形81が描かれたと判別された場合には(ステップS308で“YES”)、CPU21は、描かれた図形81の大きさ(例えば、最大の幅W)を導出する(ステップS309)。
【0103】
一方、閉じた図形81が描かれていないと判別された場合には(ステップS308で“NO”)、CPU21は、特定操作が行われた後のユーザ操作の軌跡80に基づいて図形81を補完可能であるか否かを判別する(ステップS310)。ここでは、CPU21は、当該軌跡80が、所定の図形81の一部(例えば円の円弧)との間で所定の近似条件を満たす場合に、補完可能であると判別する。軌跡80に基づいて図形81を補完可能であると判別された場合には(ステップS310で“YES”)、CPU21は、図形81を補完し、補完された図形81の大きさ(例えば、最大の幅W)を導出する(ステップS311)。軌跡80に基づいて図形81を補完することができないと判別された場合には(ステップS310で“NO”)、CPU21は、特定操作が行われてから所定時間が経過したか否かを判別する(ステップS312)。所定時間は、時計オブジェクト70の大きさを調整するためのユーザ操作を受け付ける期間の長さとして、予め設定されて記憶部23に記憶されている。所定時間が経過していないと判別された場合には(ステップS312で“NO”)、CPU21は、処理をステップS308に戻す。
【0104】
ステップS309又はS311において図形81の大きさが導出されると、CPU21は、導出した大きさに応じて、時計オブジェクト70の大きさに係る設定(オブジェクトデータ232の「表示倍率補正」の設定値)を調整する(ステップS313)。また、調整後の「表示倍率補正」の設定値に基づいて、仮想空間2に表示させる時計オブジェクト70の大きさを変更する。
【0105】
CPU21は、特定操作の後に行われたユーザ操作が、ユーザの身体の或る部位(例えば、手首)の近傍で軌跡80を描く操作であるか否かを判別し(ステップS314)、或る部位の近傍で軌跡80を描く操作であると判別された場合には(ステップS314で“YES”)、アバター40の対応部位(例えば、手首)に時計オブジェクト70を装着させる(ステップS315)。ステップS315の開始時点において既に他の部位に時計オブジェクト70を装着済である場合には、ステップS315において装着部位を変更してもよい。
【0106】
或る部位の近傍で軌跡80を描く操作ではないと判別された場合には(ステップS314で“NO”)、CPU21は、オブジェクト調整処理を終了させて、処理を
図20の仮想店舗運営処理に戻す。また、ステップS315が終了した場合、若しくは、ステップS307又はS312で“NO”に分岐した場合にも、CPU21は、オブジェクト調整処理を終了させる。
【0107】
なお、ステップS314で“NO”に分岐した場合において、その段階において時計オブジェクト70がアバター40に保持又は装着されていない場合には、時計オブジェクト70をアバター40に装着させるための操作を受け付けて、当該操作がなされた場合に時計オブジェクト70をアバター40に保持又は装着させてもよい。
上記では、特定操作が行われた後のユーザ操作の軌跡80が描く図形81の大きさに応じて時計オブジェクト70の大きさを調整したが、これには限定されない。例えば、ステップS314で或る部位の近傍で軌跡80を描く操作が行われたと判別された場合、CPU21は、アバター40における軌跡80が描かれた部位を特定し、特定されたアバター40の部位の大きさに応じて時計オブジェクト70の大きさを調整した上で、当該部位に時計オブジェクト70を装着させてもよい。具体的には、例えば特定操作が行われた後に、アバター40の手首の周りで円を描く操作が行われた場合、CPU21は、円が描かれたアバター40の部位を特定し、特定された部位(この場合はアバター40の手首)の大きさを、ユーザ管理データ132の「アバター情報」のうち「手首最大径」の設定値を参照し、設定値に応じて時計オブジェクト70の大きさを調整する。そして、CPU21は、調整された時計オブジェクト70をアバター40における特定された部位に装着させる。なお、CPU21は、ユーザ管理データ132の「アバター情報」に設定された内容に応じて、部位の特定を行う。具体的には、CPU21は、軌跡80が描かれたアバター40の身体の場所に対して、「アバター情報」に設定された身体の部位(手首最大径等)が一番近いものを特定された部位とする。例えば、「アバター情報」に「手首最大径」、「頭最大径」、「胴最大径」が設定されているとして、軌跡80がアバター40の肘付近で描かれた場合、CPU21は、肘から一番近い身体の部位である手首を特定された部位として判定し、「手首最大径」の値を参照して、時計オブジェクト70の大きさを調整する。
【0108】
図20に戻り、オブジェクト調整処理(ステップS106)が終了した場合、又は、ステップS104においてカスタマイズIF50の操作が開始されていないと判別された場合には(ステップS104で“NO”)、CPU21は、アバター40が仮想店舗200から退場したか否かを判別する(ステップS107)。アバター40が仮想店舗200から退場していないと判別された場合には(ステップS107で“NO”)、CPU21は、処理をステップS104に戻す。アバター40が仮想店舗200から退場したと判別された場合には(ステップS107で“YES”)、CPU21は、仮想店舗運営処理を終了させる。
【0109】
なお、上記実施形態では、軌跡80が描く図形81の大きさに応じて時計オブジェクト70の全体の大きさを調整したが、これに代えて、時計オブジェクト70のうちユーザにより予め指定されたコンポーネント(部分)の幅又は長さを、図形81の大きさに応じて調整してもよい。例えば、時計オブジェクト70のうちバンドがなす輪の大きさのみを、軌跡80が描く図形81の大きさに応じて調整してもよい。この場合には、オブジェクトデータ232において、時計オブジェクト70の各コンポーネントの「表示倍率補正」の項目を設け、指定されたコンポーネントの「表示倍率補正」の設定値を調整すればよい。
【0110】
(変形例)
次に、上記実施形態の変形例について説明する。以下では、上記実施形態との相違点について説明し、上記実施形態と共通する構成については共通する符号を付して説明を省略する。
【0111】
上記実施形態では、ユーザ操作の軌跡80は、ユーザが保持するコントローラ32の特定の点p1の軌跡80であったが、これに限られない。本変形例では、ユーザの身体の所定の部位(例えば、手40R)における特定の点p2(例えば、指先の点;
図24参照)の移動軌跡が、ユーザ操作の軌跡80とされる。
【0112】
図23は、変形例に係る情報処理システム1の構成を示す図である。
本変形例では、VR機器30は、コントローラ32に代えて、ユーザの身体の所定の部位の位置を検出するセンサ装置33を備える。
センサ装置33は、例えば、床等に設置されて、ユーザの身体の所定の部位の動き及び位置をレーザ走査等により光学的に検出するものであってもよい。あるいは、センサ装置33は、センサ部317、325と同様のセンサ部を備え、ユーザの身体に装着されて、センサ部による検出結果に基づいて装着部位の動き及び位置を検出するものであってもよい。なお、VR機器30は、コントローラ32及びセンサ装置33の双方を備えていてもよい。この場合、センサ装置33は、コントローラ32の動きを検出するものであってもよい。
【0113】
図24は、変形例における時計オブジェクト70の大きさを調整するユーザ操作を示す図である。
本変形例において、時計オブジェクト70のサイズ調整の開始を指示する特定操作は、例えば、
図24の左側に示すようにピンチ操作を所定回数(例えば、3回)行う動作としてもよい。ピンチ操作は、親指及び人差し指の指先を近付けたり離したりする操作である。特定操作は、ピンチ操作以外の所定のジェスチャを行う操作であってもよい。ピンチ操作等の特定操作のジェスチャは、センサ装置33により検出される。
特定操作を行った後で、指先の点p2が軌跡80を描くように手を動かすことで、センサ装置33により、軌跡80が描く図形81がセンサ装置33により検出される。以降は、上記実施形態と同様、図形81の大きさに応じて時計オブジェクト70の大きさが調整される。
【0114】
上記実施形態では、アバター40が仮想店舗200内にいる際や時計オブジェクト70の大きさを調整する際、VRヘッドセット31の表示部315に表示されたVR画面3151(一人称視点の画像)又は第三者視点画面3152(三人称視点の画像)のいずれかに固定された状態で行っているが、これに限られない。例えば、VR画面3151が表示されている状態において、コントローラ32によって特定操作が行われると、VRヘッドセット31のCPU311(CPU21でも可)は、自動的に第三者視点画面3152を表示部315に表示させるようにしてもよい。これにより、軌跡80を描く前に第三者視点画面3152が表示されるため、仮想店舗200(又は仮想空間2)やアバター40に対して、どの程度大きさを調整すればよいかを直感的に得ることができる。また、逆に特定操作が行われたら、第三者視点画面3152からVR画面3151に表示を切り替えるようにしてもよい。なお、時計オブジェクト70の大きさの調整が完了したら、表示部315に表示される画像は元の表示形式に戻る。
【0115】
(効果)
以上のように、本実施形態に係る情報処理方法において、コンピュータとしてのCPU21は、仮想空間2においてアバター40を動作させるためのユーザ操作の軌跡80に係る軌跡データ233に基づいて、仮想空間2における時計オブジェクト70の大きさに係る「表示倍率補正」の設定値を調整する。これにより、軌跡を描くような直感的なユーザ操作によって、仮想空間2における時計オブジェクト70の大きさをユーザが調整することができる。また、大きさのパラメータを直接入力したり、大きさ調整用のスライダーを操作したりする従来の方法と比較して、VRならではの体験価値を損なわずに時計オブジェクト70の大きさを調整することができる。
【0116】
また、CPU21は、軌跡データ233に基づいて、軌跡80により閉じた図形81が描かれたか否かを判別し、閉じた図形81が描かれたと判別された場合に、描かれた図形81が大きいほど時計オブジェクト70が大きくなるように「表示倍率補正」の設定値を調整する。これにより、図形81及びその大きさを正確に特定できるので、時計オブジェクト70を、ユーザが意図した適切な大きさに調整することができる。また、閉じた図形81が描かれた場合に限って時計オブジェクト70の大きさが調整されるので、意図せずに時計オブジェクト70の大きさが変更される不具合の発生を抑制することができる。
【0117】
また、CPU21は、軌跡データ233に基づいて、軌跡80により所定の図形81の一部が描かれたか否かを判別し、図形81の一部が描かれたと判別された場合に、図形81の一部に基づいて補完された図形81の全体が大きいほど時計オブジェクト70が大きくなるように「表示倍率補正」の設定値を調整する。これにより、ユーザ操作の軌跡80が描く図形81が不完全であっても、ユーザの意図を補って時計オブジェクト70の大きさを調整することができる。
【0118】
また、図形81の大きさは、図形81の最大の幅W、又は図形81の所定箇所の幅Wである。これにより、軌跡80の描く図形81の幅Wを調整する直感的な操作で、時計オブジェクト70が所望の大きさとなるように調整することができる。
【0119】
また、CPU21は、軌跡データ233に基づいて、時計オブジェクト70のうちユーザにより予め指定された部分の大きさに係る設定を調整する。これにより、直感的なユーザ操作によって、時計オブジェクト70のうちの意図した部分の大きさを調整することができる。
【0120】
また、ユーザ操作は、ユーザが保持するコントローラ32を移動させる動作を含み、ユーザ操作の軌跡80は、コントローラ32における特定の点p1の移動軌跡である。つまり、特定の点p1の始点から終点までの移動軌跡によって定められた図形81の幅Wに基づいて、時計オブジェクト70の大きさを調整することができる。これにより、コントローラ32を移動させる直感的なユーザ操作により時計オブジェクト70の大きさを調整することができる。
【0121】
また、変形例において、ユーザ操作は、ユーザの身体の所定の部位の位置がセンサ装置33により検出される状態において当該部位を移動させる動作を含み、ユーザ操作の軌跡80は、当該部位における特定の点p2の移動軌跡である。これにより、コントローラ32を保持しなくても、身体を動かす直感的なユーザ操作により時計オブジェクト70の大きさを調整することができる。
【0122】
また、CPU21は、軌跡データ233に基づいて、ユーザ操作に応じたアバター40の所定の部位の仮想空間2における動作の軌跡80を導出し、導出された動作の軌跡80が描く図形81の仮想空間2における大きさに基づいて「表示倍率補正」の設定値を調整してもよい。これによれば、仮想空間2におけるアバター40の動作の大きさに応じて仮想空間2における時計オブジェクト70の大きさを調整できるので、時計オブジェクト70の大きさを、より意図どおりに調整しやすくすることができる。
【0123】
また、CPU21は、軌跡データ233のうち、時計オブジェクト70の大きさの調整を開始するための特定操作をユーザが行った後の軌跡80に対応する部分に基づいて、「表示倍率補正」の設定値を調整する。これにより、ユーザが意図していないにも関わらずユーザ操作から図形81が特定されて時計オブジェクト70の大きさが調整されてしまう不具合の発生を抑制することができる。
【0124】
また、CPU21は、仮想空間2においてアバター40が時計オブジェクト70を保持又は装着している状態においてユーザ操作が行われた場合に、当該ユーザ操作の軌跡80に係る軌跡データ233に基づいて「表示倍率補正」の設定値を調整する。これにより、大きさが調整される対象の時計オブジェクト70を認識しやすくすることができる。
【0125】
また、CPU21は、ユーザ操作が、ユーザの身体の或る部位の近傍で軌跡80を描く操作である場合に、「表示倍率補正」の設定値が調整された時計オブジェクト70を、アバター40の或る部位に対応する部位に装着させる。これにより、直感的な操作で、大きさが適切に調整された時計オブジェクト70をアバター40に装着させることができる。
【0126】
また、CPU21は、アバター40により操作されるカスタマイズIF50であって、時計オブジェクト70のデザインのカスタマイズを行うためのカスタマイズIF50を仮想空間2に表示させ、アバター40によりカスタマイズIF50が操作された場合に、当該操作の内容に応じて時計オブジェクト70のデザインのカスタマイズがなされるように時計オブジェクト70に係る設定を変更し、軌跡データ233に基づいて、デザインのカスタマイズがなされた時計オブジェクト70の大きさに係る「表示倍率補正」の設定値を調整する。これにより、デザインがカスタマイズされた時計オブジェクト70の大きさを調整することができる。
【0127】
また、本実施形態に係る情報処理システム1は、仮想空間2においてアバター40を動作させるためのユーザ操作の軌跡80に係る軌跡データ233に基づいて、仮想空間2における時計オブジェクト70の大きさに係る「表示倍率補正」の設定値を調整するCPU21を備える。これにより、軌跡を描くような直感的なユーザ操作によって、仮想空間2における時計オブジェクト70の大きさをユーザが調整することができる。
【0128】
また、本実施形態に係るプログラム231は、コンピュータとしてのCPU21に、仮想空間2においてアバター40を動作させるためのユーザ操作の軌跡80に係る軌跡データ233に基づいて、仮想空間2における時計オブジェクト70の大きさに係る「表示倍率補正」の設定値を調整する処理を実行させる。これにより、軌跡を描くような直感的なユーザ操作によって、仮想空間2における時計オブジェクト70の大きさをユーザが調整することができる。
【0129】
また、本実施形態の情報処理方法において、表示部315及び入力部としてのコントローラ32を備えるVR機器30のCPU311は、仮想空間2においてアバター40を動作させるためのユーザ操作を、コントローラ32を介して受け付け、コントローラ32により受け付けたユーザ操作の軌跡80に係る軌跡データ233に基づいて仮想空間2における大きさに係る「表示倍率補正」の設定値が調整された時計オブジェクト70を、表示部315に表示させる。これにより、軌跡を描くような直感的なユーザ操作によって、仮想空間2における時計オブジェクト70の大きさをユーザが調整することができる。
【0130】
(その他)
なお、上記実施形態における記述は、本発明に係る情報処理方法、情報処理システム及びプログラムの一例であり、これに限定されるものではない。
例えば、VR機器30(例えばVRヘッドセット31)に情報処理装置20の機能を統合し、情報処理装置20を省略してもよい。この場合には、VR機器30(VRヘッドセット31)が、本発明に係る「情報処理装置」に相当する。
【0131】
また、ユーザがVRヘッドセット31を装着せずにアバター40を操作する態様としてもよい。この場合には、VRヘッドセット31に代えて、ユーザが視認可能な位置に設けられた通常のディスプレイ(例えば、情報処理装置20の出力部25に含まれる液晶ディスプレイ等)に仮想空間2の画像が表示される。この場合に表示される画面は、VR機器30によりユーザの動きを検出できる場合にはVR画面3151としてもよい。また、VR画面3151に代えて第三者視点画面3152を表示させてもよい。
【0132】
また、上記実施形態では、仮想店舗サービスの開始後は、VR機器30と情報処理装置20の協働によって各種のサービスや動作を実行するようにしたが、これに限定されるものではない。例えば、情報処理装置20の機能を統合したサーバ10と、VR機器30とで仮想店舗サービスを実行するようにしてもよい。この場合、VR機器30の操作入力部324やセンサ部325から出力された信号は通信部326を介して、サーバ10の通信部14に送信する。サーバ10は、受信したユーザ操作に応じて、仮想店舗200(仮想空間2)におけるアバター40の動作を制御する。すなわち、サーバ10は上記で説明した情報処理装置20と同様の処理を行い、仮想店舗200の画像データを生成してVR機器30に送信する。
【0133】
また、上記実施形態では、軌跡80が描く図形81の大きさに応じた大きさとなるように時計オブジェクト70の大きさに係る設定を調整したが、軌跡データ233(軌跡情報)に基づく他の方法で当該設定を調整してもよい。例えば、軌跡80から、時計オブジェクト70の大きさを指定するジェスチャ(例えば、大サイズを表す「L」の軌跡を描くジェスチャ、中サイズを表す「M」の軌跡を描くジェスチャ、小サイズを表す「S」の軌跡を描くジェスチャ等)を特定し、当該ジェスチャにより指定された大きさとなるように時計オブジェクト70の設定を調整してもよい。
【0134】
また、仮想店舗200において生成された時計オブジェクト70に相当する内容の(例えば、同一デザインの)時計を、現実世界において注文することが可能であってもよい。例えば、仮想店舗200内に設けられた図示しない注文カウンターにおいてアバター40が所定の動作(例えば、注文ボタンを押す動作)を行うことで、上記の注文を行うことが可能であってもよい。注文がなされると、情報処理装置20は、サーバ10に対して注文要求を送信する。注文要求は、例えば、注文された時計の機種、カスタマイズの内容、及び注文を行ったアバター40に対応するユーザの情報等を含む。
【0135】
また、上記実施形態の方法でカスタマイズされた時計オブジェクト70のデザインの一部又は全部に関連付けられた非代替性トークン(Non-Fungible Token、以下「NFT」と記す)を、カスタマイズを行ったユーザに対応付けて登録してもよい。NFTは、画像、動画、又は音声といったデジタルコンテンツについての唯一性や保有者をブロックチェーン技術により証明する、代替不可能なデジタルデータである。NFTは、NFTマーケットプレイスにおいて購入や販売を行うこともできる。
【0136】
また、上記実施形態では、デザインのカスタマイズがなされた時計オブジェクト70の大きさを調整する例を用いて説明したが、これに限られない。例えば、カスタマイズの工程を省略し、単に既存の時計オブジェクト70の大きさを調整してもよい。
【0137】
また、仮想空間2における所定のエリア内(例えば、仮想店舗200の内部)においてのみ、時計オブジェクト70の大きさを調整できるようにし、このエリアの外部では時計オブジェクト70の大きさを調整できないようにしてもよい。また、ユーザ又はアバター40が所定の属性(例えば、仮想店舗200の店員属性)を有している場合にのみ、時計オブジェクト70の大きさを調整できるようにしてもよい。これにより、現実世界における時計のバンド調整が、限られた店舗内でのみ行われ、又は所定のスキルを有する人によってのみ行われることと対応させることができる。
【0138】
また、上記実施形態では、時計オブジェクト70の各コンポーネントの色の組み合わせを変更するカスタマイズを例示したが、カスタマイズの内容はこれに限定されない。例えば、コンポーネントの外観に、ユーザによる手書きの(又は、予め用意された)模様を付すこと等が可能であってもよい。また、コンポーネントの形状を変更するカスタマイズが可能であってもよい。
【0139】
また、オブジェクトのカスタマイズを行うためのインターフェースは、上記実施形態に例示したカスタマイズIF50に限られず、アバター40により操作することが可能であればどのようなインターフェースであってもよい。
【0140】
また、オブジェクトとして時計オブジェクト70を例示したが、これに限られず、仮想空間2において取り扱われる任意のオブジェクトに本発明を適用することができる。
【0141】
また、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部23のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0142】
また、上記実施形態におけるサーバ10、情報処理装置20、及びVR機器30の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【0143】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0144】
1 情報処理システム
2 仮想空間
10 サーバ
11 CPU
20 情報処理装置
21 CPU(処理部)
23 記憶部
231 プログラム
232 オブジェクトデータ
233 軌跡データ(軌跡情報)
30 VR機器(端末装置)
31 VRヘッドセット
32 コントローラ
33 センサ装置
40 アバター
50 カスタマイズIF(インターフェース)
60 見本オブジェクト
70 時計オブジェクト(オブジェクト)
80、80a~80d 軌跡
81 図形
200 仮想店舗
p1、p2 特定の点