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