(58)【調査した分野】(Int.Cl.,DB名)
アバターを表示するためのモデル情報を有するアバター情報が格納されるアバター格納部と、当該アバターが装着するアイテムの情報であり、アイテムの表示のためのアイテム表示情報を有するアイテム情報が格納されるアイテム格納部と、操作受付部と、出力構成部と、出力部とにより実現されるアバター出力方法であって、
前記操作受付部が、ユーザからの操作を受け付ける操作受付ステップと、
前記出力部が、前記操作に基づいて、前記アイテム表示情報に予め対応付いているアイテムモーション情報を取得し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第一出力態様、および前記ユーザの動作を含む前記操作に基づいて、アイテムモーション情報を構成し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第二出力態様を含む2以上の態様のうちの、出力態様を選択するための条件であるアイテム条件に基づいて選択した一の出力態様の出力を行う出力ステップとを具備するアバター出力方法。
アバターを表示するためのモデル情報を有するアバター情報が格納されるアバター格納部と、当該アバターが装着するアイテムの情報であり、アイテムの表示のためのアイテム表示情報を有するアイテム情報が格納されるアイテム格納部とにアクセス可能なコンピュータを、
ユーザからの操作を受け付ける操作受付部と、
前記アイテム表示情報に予め対応付いているアイテムモーション情報を取得し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第一出力態様、および前記ユーザの動作を含む前記操作に基づいて、アイテムモーション情報を構成し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第二出力態様を含む2以上の態様のうちの、出力態様を選択するための条件であるアイテム条件に基づいて選択した一の出力態様の出力を行う出力部として機能させるためのプログラム。
【発明を実施するための形態】
【0032】
以下、アバター出力装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0033】
(実施の形態1)
本実施の形態において、アバター情報とアイテム情報とが格納されており、アイテム条件に基づいて、第一出力態様でアイテムとアバターとを出力する場合と、第二出力態様でアイテムとアバターとを出力する場合とがあるアバター出力装置を具備する情報システムについて説明する。なお、アイテム条件は、例えば、デバイスの種類に基づく条件である。また、第一出力態様は、ユーザからの操作に基づいて読み出したアイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する態様である。第二出力態様は、ユーザからの操作に基づいてアイテムモーション情報を構成し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する態様である。
【0034】
また、本実施の形態において、アイテムが装着されたアバターに応じて、アイテムモーション情報を補正し、当該補正したモーション情報を用いて、上述した第一出力態様を実現するアバター出力装置を具備する情報システムについて説明する。なお、アバターに応じたアイテムモーション情報の補正は、例えば、アバターにおけるアイテムの装着位置を特定する装着位置情報に応じたアイテムモーション情報の補正、アバターの形状に関する形状属性値に応じたアイテムモーション情報の補正である。
【0035】
また、本実施の形態において、アバターの基本モーション情報とアイテムのモーション情報とを合成し、当該合成したモーション情報を用いて、アイテムとアバターとを出力するアバター出力装置を具備する情報システムについて説明する。
【0036】
また、本実施の形態において、アイテムに対応付けて装着条件が格納されており、装着条件に合致しないアバターには当該アイテムは装着できない制御を行うアバター出力装置を具備する情報システムについて説明する。
【0037】
また、本実施の形態において、作成者端末からサーバ経由で受信されたアイテム情報を受信して、使用するアバター出力装置を具備する情報システムについて説明する。
【0038】
さらに、本実施の形態において、作成者端末からアイテム情報を受信し、当該アイテム情報とアバター情報とをアバター出力装置に送信するサーバを具備する情報システムについて説明する。
【0039】
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、サーバ1、1または2以上のアバター出力装置2、および1または2以上の作成者端末3を備える。
【0040】
サーバ1は、作成者端末3からアイテム情報を受信し、当該アイテム情報とアバター情報とをアバター出力装置2に送信するサーバである。サーバ1は、例えば、クラウドサーバ、ASPサーバ等である。なお、サーバ1の種類は問わない。
【0041】
アバター出力装置2は、アバターとアイテムとを出力する装置である。アバター出力装置2は、ここでは、主に、端末として説明するが、サーバでも良い。アバター出力装置2は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であるが、その種類は問わない。なお、アバター出力装置2がサーバである場合、アバター出力装置2は、アバター情報とアイテム情報とを図示しないユーザ端末に送信する。
【0042】
作成者端末3は、アイテム情報の作成者が使用する端末である。作成者端末3は、作成者が作成したアイテム情報をサーバ1に送信する。作成者端末3は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であるが、その種類は問わない。
【0043】
図2は、本実施の形態における情報システムAのブロック図である。
図3は、アバター出力装置2のブロック図である。
【0044】
サーバ1は、サーバ格納部11、サーバ受信部12、サーバ処理部13、およびサーバ送信部14を備える。
【0045】
アバター出力装置2は、格納部21、受付部22、送信部23、受信部24、処理部25、および出力部26を備える。格納部21は、ワールド格納部211、アバター格納部212、およびアイテム格納部213を備える。受付部22は、指示受付部221、および操作受付部222を備える。受信部24は、ワールド受信部241、アバター受信部242、およびアイテム受信部243を備える。処理部25は、種類取得部251、属性値取得部252、補正部253、モーション合成部254、および出力構成部255を備える。
【0046】
作成者端末3は、端末格納部31、端末受付部32、端末処理部33、端末送信部34、端末受信部35、および端末出力部36を備える。
【0047】
サーバ1を構成するサーバ格納部11には、各種の情報が格納される。各種の情報とは、例えば、1または2以上のワールド情報、1または2以上のアバター情報、1または2以上のアイテム情報、2以上のアイテムモーション情報である。サーバ格納部11の各種の情報は、例えば、サーバ1の運営者の端末から受信された情報、作成者端末3から受信された情報である。
【0048】
ワールド情報は、ワールドを構成するための情報である。ワールド情報の構造は問わない。ワールドは、通常、仮想的な三次元空間である。なお、ワールドは、場と言っても良い。ワールド情報は、例えば、ワールド識別子に対応付いている。ワールド識別子は、ワールド情報を識別する情報である。
【0049】
アバター情報は、出力されるアバターを構成するための情報を含む。アバター情報は、例えば、アバター識別子に対応付いている。アバター識別子に対応付いていることは、アバター識別子を有することでも良い。アバター識別子は、例えば、アバターのIDであるが、アバターに対応するユーザのID、アバターが表示されるアバター出力装置2のID等でも良い。
【0050】
アバター情報は、通常、モデル情報を有する。アバター情報は、アバターの基本的なモーションの情報である基本モーション情報を有することは好適である。アバター情報は、アバターモーション情報を有しても良い。
【0051】
モデル情報は、アバターの表示を構成するための情報である。モデル情報は、例えば、メッシュ情報、ボーン情報、マテリアル情報を有する。モデル情報は、例えば、glTF ?(GL Transmission Format)?のデータ構造を有する。ただし、モデル情報のデータ構造は、VRM、OBJ、FBX、STL、GLB、COLLADA、等でも良く、種類を問わない。また、アバター情報は、モデル情報の他、音声情報や1以上の属性値を有しても良い。
【0052】
基本モーション情報は、例えば、アバターが呼吸を行う際の動きを特定する情報である。なお、基本モーション情報は、アバターモーション情報の一例である、と考えても良い。アバターモーション情報は、アバターが有する固定的なモーションの情報である。基本モーション情報、アバターモーション情報は、アバターの動きを特定する情報である。
【0053】
アイテム情報は、アイテムを構成するための情報である。アイテム情報は、アイテムの表示のためのアイテム表示情報を有する。アイテム表示情報のデータ構造は問わない。アイテムは、アバターが装着する物であり、例えば、武器、剣、刀、拳銃、ボールである。アバターが装着する物は、アバターが操作する物、身に付ける物等を含むと考えても良い。
【0054】
アイテム情報は、アイテムモーション情報を有する。アイテムモーション情報は、例えば、アイテムの動きを特定する情報である。アイテムモーション情報は、例えば、アイテムが装着されたアバターの部位の動きを特定する情報である。アイテムモーション情報は、1以上のモーション属性値に対応付いていても良い。モーション属性値は、アイテムモーション情報が特定する動作の前提となるアイテムの属性値に関する条件である。
【0055】
モーション属性値は、例えば、「右手」である。モーション属性値「右手」と対になるアイテムモーション情報は、アイテムの装着位置が「右手」である場合のアイテムの動作を特定する情報である。モーション属性値は、例えば、「身長が1m以下」である。モーション属性値「身長が1m以下」と対になるアイテムモーション情報は、身長が1m以下のアバターを想定した場合のアイテムの動作を特定する情報である。
【0056】
基本モーション情報、アバターモーション情報、アイテムモーション情報は、モーション情報の例である。モーション情報は、例えば、プログラム、スクリプト、プログラムまたはスクリプトに与える1または2以上のパラメータである。モーション情報、アバターまたはアイテムの動きを特定する情報であれば良く、その構造や記載手段は問わない。
【0057】
アイテム情報は、アイテム情報に対応するアイテムをアバターが装着するための装着条件に対応付いていることは好適である。装着条件は、例えば、1または2以上のアバター属性値を用いた条件である。アバター属性値は、アバターの属性値であり、例えば、形状属性値、性別、年齢等である。形状属性値は、例えば、アバターの身長、体重、サイズ、骨格の形状を特定する情報である。装着条件は、例えば、「身長>=1m」「腕を有すること」である。例えば、剣のアイテム情報に装着条件「身長>=1m」が格納されている場合、属性値「身長=80cm」のアバターは、アイテム「剣」を装着しない。例えば、拳銃のアイテム情報に装着条件「腕を有すること」が格納されている場合、腕を有さないアバターは、アイテム「拳銃」を装着しない。
【0058】
サーバ受信部12は、各種の情報や指示を受信する。各種の情報や指示は、例えば、ワールド情報、アバター情報、アイテム情報、選択指示、送信指示である。
【0059】
選択指示は、サーバ格納部11に格納されている2以上のアイテムモーション情報のうち、1以上のアイテムモーション情報を選択する指示である。サーバ受信部12は、作成者端末3から選択指示を受信する。アイテムモーション情報は、アイテム作成者が簡易にアイテムを作成するために事前に用意されたテンプレートのアイテムモーションを示す情報であってもよい。かかる場合、アイテム作成者は作成者端末3に表示されたテンプレートのモーションの中から任意のモーションを選択した結果が選択指示となる。
【0060】
送信指示は、ワールド情報、アバター情報、アイテム情報のうちの1または2種類以上の情報を送信する指示である。サーバ受信部12は、例えば、ワールド情報、アバター情報、アイテム情報のうちの1または2種類以上の情報を作成者端末3から受信する。サーバ受信部12は、例えば、送信指示をアバター出力装置2から受信する。
【0061】
サーバ受信部12は、例えば、サーバの運営者の端末(図示しない)から、ワールド情報、アバター情報、アイテムモーション情報を受信する。サーバ受信部12は、例えば、作成者端末3からアイテム情報を受信する。
【0062】
サーバ処理部13は、各種の処理を行う。各種の処理は、例えば、送信するワールド情報、アバター情報、アイテム情報のうちの1種類以上の情報を、サーバ格納部11から取得する処理である。
【0063】
サーバ送信部14は、各種の情報を送信する。各種の情報は、例えば、ワールド情報、アバター情報、アイテム情報のうちの1または2種類以上の情報である。サーバ送信部14は、例えば、サーバ処理部13が取得した情報をアバター出力装置2に送信する。
【0064】
サーバ送信部14は、受信された選択指示に対応するアイテムモーション情報を含むアイテム情報と、アバター情報とをアバター出力装置2に送信する。
【0065】
アバター出力装置2を構成する格納部21には、各種の情報が格納される。各種の情報とは、例えば、ワールド情報、アバター情報、アイテム情報、アイテム条件、装着条件、後述する種類識別子である。
【0066】
アイテム条件は、第一出力態様、第二出力態様を含む2以上の態様のうちの、一の出力態様を選択するための条件である。
【0067】
アイテム条件は、例えば、アイテムのデバイスのハードウェアに関する条件であり、自動的に取得できる条件であることは好適である。ただし、アイテム条件は、ユーザが設定した条件(後述する「モード」)でも良い。
【0068】
アイテム条件は、例えば、デバイスの種類に基づく条件である。デバイスの種類は、アイテムの出力デバイスの種類である。デバイスの種類は、例えば、アバター出力装置2の種類である。デバイスの種類は、例えば、「第一種」「第二種」である。「第一種」は、例えば、二次元デバイスであることを示す情報である。「第二種」は、例えば、VRデバイスであることを示す情報である。
【0069】
アイテム条件は、例えば、アバター出力装置2の処理能力に基づく条件である。かかる場合、アイテム条件は、例えば、「処理能力<閾値」「処理能力>=閾値」である。処理能力は、例えば、プロセッサのクロック数である。アイテム条件「処理能力<閾値」は第一出力態様に対応し、「処理能力>=閾値」は第二出力態様に対応する。
【0070】
アイテム条件は、例えば、アバター出力装置2から受信される情報の種類に関する条件でも良い。アイテム条件は、例えば、スマートフォンであるアバター出力装置2から「ボタンに対する操作」を特定する操作情報であるか否かである。
【0071】
アイテム条件は、例えば、アバター出力装置2のユーザが選択したモードである。モードは、例えば、「第一モード」「第二モード」である。「第一モード」は第一出力態様を示し、「第二モード」は第二出力態様を示す。
【0072】
ワールド格納部211には、1または2以上のワールド情報が格納される。ワールド格納部211のワールド情報は、例えば、サーバ1から受信された情報である。
【0073】
アバター格納部212は、1または2以上のアバター情報が格納される。アバター格納部212のアバター情報は、例えば、サーバ1から受信された情報である。
【0074】
アイテム格納部213には、1または2以上のアイテム情報が格納される。アイテム格納部213のアイテム情報は、例えば、サーバ1から受信された情報である。アイテム情報には、装着条件が対応付いていることは好適である。
【0075】
受付部22は、各種の情報や指示や操作を受け付ける。なお、指示は操作を含むと考えても良い。
【0076】
ここで受け付けとは、通常、入力手段から入力された情報の受け付けであるが、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
【0077】
指示受付部221は、各種の指示を受け付ける。各種の指示は、例えば、送信指示、開始指示、終了指示である。開始指示は、格納部21のアバター情報やアイテム情報等を用いたアバター等の出力の開始の指示である。終了指示は、処理を終了する指示であり、例えば、画像の出力を終了する指示、電源OFFの指示である。
【0078】
操作受付部222は、ユーザからの操作を受け付ける。操作を受け付けることは、操作情報を受け付けることでも良い。操作を入力する入力手段は問わない。入力手段は、例えば、VRやゲーム用の種々の入力手段、マウス、キーボード、十字キー等であり、問わない。VRやゲーム用の入力手段は、例えば、ハンドコントローラー、ファントムである。
【0079】
なお、入力手段が二次元デバイスである場合、操作受付部222は、例えば、ボタン操作に関する操作情報やスライド操作等を受け付ける。入力手段がVRやゲーム用の入力手段である場合、操作受付部222は、例えば、ユーザ自身の動きに対応するモーションデータを操作情報として受け付ける。なお、ボタン操作は、仮想的なボタンの操作も含むことは言うまでもない。
【0080】
送信部23は、各種の指示や情報を送信する。各種の指示や情報は、例えば、送信指示である。
【0081】
受信部24は、各種の情報を受信する。各種の情報は、例えば、ワールド情報、アバター情報、アイテム情報である。受信部24は、サーバ1から各種の情報を受信する。
【0082】
ワールド受信部241は、ワールド情報を受信する。アバター受信部242は、アバター情報を受信する。アイテム受信部243は、アイテム情報を受信する。なお、受信されたワールド情報、アバター情報、アイテム情報は、格納部21に、少なくとも一時的に蓄積されることは好適である。
【0083】
処理部25は、各種の処理を行う。各種の処理は、例えば、種類取得部251、属性値取得部252、補正部253、モーション合成部254、出力構成部255が行う処理である。
【0084】
種類取得部251は、アバターを出力する装置(例えば、アバター出力装置2)の種類である種類識別子を取得する。種類取得部251は、例えば、格納部21から種類識別子を取得する。種類識別子は、例えば、「第一種」「第二種」である。なお、アバターを出力する装置は、アバター出力装置2がアバター情報等を送信し、アバターを表示する装置でも良い。種類取得部251は、例えば、アバター出力装置2の特定のプロパティーである種類識別子を取得する。
【0085】
属性値取得部252は、アイテムが装着されたアバターに関する1または2以上の属性値を取得する。アバターに関する属性値は、アバター属性値または関係属性値である。関係属性値は、アバターとアイテムとの関係に関する情報である。関係属性値は、例えば、装着位置情報、装着数情報である。装着位置情報は、アイテムがアバターに装着された位置を特定する情報である。装着位置情報は、例えば、左腕、右腕、左脚、右脚、胴である。装着数情報は、アバターに装着されたアイテムの数を特定する情報である。
【0086】
属性値取得部252は、例えば、アバターの形状に関する1または2以上の形状属性値を取得する。
【0087】
補正部253は、属性値取得部252が取得した1以上の属性値に応じて、アイテム表示情報に予め対応付いているアイテムモーション情報を補正する。アイテムモーション情報の補正とは、アイテム表示情報に予め対応付いているアイテムモーション情報を修正し、修正後のアイテムモーション情報を取得することである。アイテムモーション情報の補正は、アイテムの動作が変更されるためのアイテムモーション情報の修正であれば良い。
【0088】
補正部253は、例えば、属性値取得部252が取得した1以上の属性値に応じて、アイテム表示情報に予め対応付いているアイテムモーション情報である1以上の各パラメータを修正し、修正後のアイテムモーション情報を取得する。
【0089】
補正部253は、例えば、属性値取得部252が取得した1以上の属性値に応じて、プログラムまたはスクリプトであるアイテムモーション情報に与える1以上のパラメータを修正し、修正後の1以上のパラメータとプログラムまたはスクリプトであるアイテムモーション情報とを取得する。
【0090】
補正部253は、例えば、属性値取得部252が取得した1以上の属性値に応じて、プログラムまたはスクリプトであるアイテムモーション情報から、一部のプログラムまたはスクリプトを削除したり、一部のプログラムまたはスクリプトを付加したりし、修正後のプログラムまたはスクリプトを取得する。なお、プログラムとスクリプトとを同じもの(プログラム)と考えても良い。
【0091】
補正部253は、属性値取得部252が取得した装着位置情報に応じて、アイテム表示情報に予め対応付いているアイテムモーション情報を補正する。例えば、アイテム表示情報に予め対応付いているアイテムモーション情報が、アバターがアイテムを右手で保持した場合のアイテムモーション情報であることが、アイテムモーション情報に対応付けて格納されている場合であり、属性値取得部252が取得した装着位置情報が「左手」である場合(アバターがアイテムを左手で保持している場合)には、補正部253は、アイテム表示情報に予め対応付いているアイテムモーション情報を、アイテムの動作が左右反転するように変更し、変更後のアイテムモーション情報を取得する。
【0092】
補正部253は、属性値取得部252が取得した形状属性値に応じて、アイテム表示情報に予め対応付いているアイテムモーション情報を補正する。例えば、アイテム表示情報に予め対応付いているアイテムモーション情報に対応付いているサイズ(標準的なアバターのサイズ)がXであり、属性値取得部252が取得したアバターのサイズが2Xである場合、補正部253は、アイテム表示情報に予め対応付いているアイテムモーション情報の動きの大きさ(動きの幅)が2倍となるように、当該アイテムモーション情報を変更し、変更後のアイテムモーション情報を取得する。
【0093】
モーション合成部254は、アイテム表示情報に予め対応付いているアイテムモーション情報と基本モーション情報とを合成し、合成モーション情報を取得する。2以上のモーション情報を合成することは、2以上の各モーション情報を用いて行われる動作をすべて行う状態とすることである。
【0094】
例えば、アイテムモーション情報と基本モーション情報とがプログラムまたはスクリプトである場合、モーション合成部254は、アイテム表示情報に予め対応付いているアイテムモーション情報と基本モーション情報とを結合し、アイテムモーション情報が特定する動作と基本モーション情報が特定する動作の両方を行うモーション情報を構成する。
【0095】
例えば、アイテムモーション情報と基本モーション情報とがプログラムまたはスクリプトに与える2以上のパラメータのベクトルである場合、モーション合成部254は、アイテム表示情報である2以上の各パラメータと基本モーション情報である2以上の各パラメータとを、パラメータごとに加算し、加算した各パラメータを要素とする合成後のベクトルを構成する。
【0096】
出力構成部255は、出力される画像を構成する。かかる画像は、通常、仮想的な三次元画像であり、アバターを有する。かかる画像は、アイテムを有することは好適である。かかる画像は、ワールドを有することは好適である。また、画像は、通常、操作受付部222が受け付けた操作に応じた動きを有する動画である。
【0097】
出力構成部255は、操作受付部222が受け付けた操作に基づいて、出力される画像を構成する。出力構成部255は、予め決められたアイテム条件に基づいて、第一出力態様の画像を構成したり、第二出力態様の画像を構成したりすることは好適である。
【0098】
出力構成部255は、例えば、種類取得部251が取得した種類識別子に対応する出力態様をアイテム条件に基づいて取得し、当該出力態様の画像を構成する。
【0099】
出力構成部255は、例えば、種類取得部251が取得した種類識別子が「第一種」であれば第一出力態様の画像を構成し、種類識別子が「第二種」であれば第二出力態様の画像を構成する。
【0100】
第一出力態様の画像は、アイテム格納部213のアイテム情報とアバター格納部212のアバター情報とを用いて構成された画像であり、操作受付部222が受け付けた操作に基づいて、当該アイテム情報に含まれるアイテム表示情報に予め対応付いているアイテムモーション情報を用いた動作を行うアイテムとアバターとを含む画像である。第一出力態様の画像は、アバター情報が有するモデル情報を用いて構成されたアバターと、アイテム情報が有するアイテム表示情報を用いて構成されたアイテムであり、アイテムモーション情報を用いた動作を行うアイテムとが、ワールド格納部211のワールド情報を用いて構成されたワールドの中に配置された画像であることは好適である。
【0101】
第二出力態様の画像は、アイテム格納部213のアイテム情報とアバター格納部212のアバター情報とを用いて構成された画像であり、操作受付部222が受け付けた操作に基づいて、出力構成部255が構成したアイテムモーション情報を用いた動作を行うアイテムとアバターとを含む画像である。なお、操作受付部222が受け付けた操作は、ユーザの動きに基づいて構成されるモーションデータである操作情報でも良い。
【0102】
なお、第一出力態様におけるアイテムの動作を特定するアイテムモーション情報は、操作受付部222が受け付けた操作に基づいて読み出された情報であり、第二出力態様におけるアイテムの動作を特定するアイテムモーション情報は、操作受付部222が受け付けた操作に基づいて構成された情報である。
【0103】
出力構成部255は、第一出力態様の画像を構成する場合、補正部253が補正したアイテムモーション情報を用いた動作を行うアイテムとアバターとを含む画像を構成することは好適である。
【0104】
出力構成部255は、第一出力態様の画像を構成する場合、モーション合成部254が取得した合成モーション情報を用いた動作を行うアイテムとアバターとを含む画像を構成することは好適である。
【0105】
出力構成部255は、装着条件を満たさないアバターを、当該装着条件に対応するアイテムと共に含む画像は構成しないことは好適である。
【0106】
出力構成部255は、例えば、アイテムモーション情報を用いて、動作を行うアイテムを含む画像であり、かつ当該アイテムの動作に追従するように、アイテムが装着されたアバターの部位が動作するようなアバターを含む画像を構成する。かかる場合、アイテムモーション情報は、アイテムの動きを特定する情報である。
【0107】
出力構成部255は、例えば、アイテムモーション情報を用いて、アイテムが装着されたアバターの部位が動作する画像であり、アバターの部位の動作に追従するように、アイテムが動作する画像を構成する。かかる場合、アイテムが装着されたアバターの部位の動きを特定する情報である。
【0108】
第二出力態様の画像は、アイテム格納部213のアイテム情報とアバター格納部212のアバター情報とを用いて構成された画像であり、操作受付部222が受け付けた操作に基づいて構成されたアイテムモーション情報が特定する動作をするアイテムとアバターとを含む画像である。なお、ここでの操作は、ユーザの動作を含む。ユーザの動作を含むことは、ユーザの動作により発生した情報(モーションデータと言っても良い)を含む、と考えても良い。第二出力態様の画像は、アバター情報が有するモデル情報を用いて構成されたアバターと、アイテム情報が有するアイテム表示情報を用いて構成されたアイテムであり、操作受付部222が受け付けた操作に基づいて、出力構成部255が構成したアイテムモーション情報を用いた動作を行うアイテムとが、ワールド格納部211のワールド情報を用いて構成されたワールドの中に配置された画像であることは好適である。なお、操作受付部222が受け付けた操作に基づいて、アイテムモーション情報を構成する処理は公知技術である。
【0109】
出力部26は、予め決められたアイテム条件に基づいて、第一出力態様と第二出力態様とを含む2以上の態様のうちの、少なくとも一の態様の出力を行う。
【0110】
ここで出力とは、ディスプレイへの表示、プロジェクターを用いた投影等であるが、プリンタでの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0111】
出力部26は、予め決められたアイテム条件に基づいて、第一出力態様に対応する画像を出力する。出力部26は、予め決められたアイテム条件に基づいて、第二出力態様に対応する画像を出力する。かかる画像は、通常、出力構成部255が構成した画像である。かかる画像は、アバターやアイテムの動作を含む画像である。
【0112】
出力部26は、操作に基づいて、アイテム表示情報に予め対応付いているアイテムモーション情報を取得し、アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第一出力態様、および操作に基づいて、アイテムモーション情報を構成し、アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第二出力態様を含む2以上の態様のうちの、少なくとも一の態様の出力を行う。ここで、出力態様の選択は、予め決められたアイテム条件に基づく。
【0113】
出力部26は、第一出力態様による出力を行う場合に、補正部253が補正したアイテムモーション情報を用いた動作を行うアイテムとアバターとを出力することは好適である。なお、補正したアイテムモーション情報を用いた動作を行うアイテムを出力することは、アイテム表示情報に予め対応付いているアイテムモーション情報を取得し、当該アイテムモーション情報を用いた動作を行うアイテムを出力することに含まれる。
【0114】
出力部26は、第一出力態様による出力を行う場合に、合成モーション情報を用いた動作を行うアイテムとアバターとを出力することは好適である。
【0115】
出力部26は、装着条件を満たさないアバターを、装着条件に対応するアイテムと共には出力しないことは好適である。
【0116】
出力部26は、アイテムモーション情報を用いて、動作を行うアイテムを出力し、かつアイテムの動作に追従するように、アイテムが装着されたアバターの部位が動作するようにアバターを出力することは好適である。
【0117】
出力部26は、アイテムモーション情報を用いて、アイテムが装着されたアバターの部位を動作させる出力をし、かつアバターの部位の動作に追従するように、アイテムが動作するようにアイテムを出力することは好適である。
【0118】
作成者端末3を構成する端末格納部31には、各種の情報が格納される。各種の情報とは、例えば、1または2以上のアイテム情報である。各種の情報とは、例えば、1または2以上のワールド情報、1または2以上のアバター情報である。
【0119】
端末受付部32は、各種の情報や指示を受け付ける。各種の情報や指示は、例えば、1または2以上のワールド情報、1または2以上のアバター情報、1または2以上のアイテム情報、送信指示である。
【0120】
端末処理部33は、各種の処理を行う。各種の処理は、例えば、端末受付部32が受け付けた各種の情報や指示を、送信する形式の情報や指示にする処理である。各種の処理は、例えば、端末受信部35が受信した情報を、出力する形式の情報にする処理である。
【0121】
端末送信部34は、各種の情報や指示をサーバ1に送信する。各種の情報は、例えば、例えば、1または2以上のアイテム情報である。各種の情報とは、例えば、1または2以上のワールド情報、1または2以上のアバター情報である。
【0122】
端末受信部35は、各種の情報を受信する。
【0123】
端末出力部36は、各種の情報を出力する。
【0124】
サーバ格納部11、格納部21、ワールド格納部211、アバター格納部212、アイテム格納部213、および端末格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。サーバ格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報がサーバ格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報がサーバ格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報がサーバ格納部11等で記憶されるようになってもよい。
【0125】
サーバ受信部12、受信部24、ワールド受信部241、アバター受信部242、アイテム受信部243、および端末受信部35は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0126】
サーバ処理部13、処理部25、種類取得部251、属性値取得部252、補正部253、モーション合成部254、出力構成部255、および端末処理部33は、通常、プロセッサやメモリ等から実現され得る。サーバ処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0127】
サーバ送信部14、送信部23、および端末送信部34は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0128】
受付部22、指示受付部221、操作受付部222、および端末受付部32は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0129】
出力部26、および端末出力部36は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部26等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0130】
次に、情報システムAの動作例について説明する。まず、
図4のフローチャートを用いて、サーバ1の動作例について説明する。
【0131】
(ステップS401)サーバ受信部12は、作成者端末3等から情報を受信したか否かを判断する。情報を受信した場合はステップS402に行き、情報を受信しなかった場合はステップS403に行く。なお、ここでの情報は、ワールド情報、アバター情報、アイテム情報のうちの1種類以上の情報である。
【0132】
(ステップS402)サーバ処理部13は、ステップS401で受信された情報をサーバ格納部11に蓄積する。ステップS401に戻る。
【0133】
(ステップS403)サーバ受信部12は、アバター出力装置2等から送信指示を受信したか否かを判断する。送信指示を受信した場合はステップS404に行き、送信指示を受信しなかった場合はステップS406に行く。
【0134】
(ステップS404)サーバ処理部13は、送信指示に対応する情報を取得する。なお、かかる情報は、ワールド情報、アバター情報、アイテム情報のうちの1種類以上の情報である。
【0135】
(ステップS405)サーバ送信部14は、送信指示を送信してきた装置に、ステップS404で取得された情報を送信する。ステップS401に戻る。
【0136】
(ステップS406)サーバ受信部12は、選択指示を受信したか否かを判断する。選択指示を受信した場合はステップS407に行き、選択指示を受信しなかった場合はステップS401に戻る。
【0137】
(ステップS407)サーバ処理部13は、ステップS406で受信された選択指示に対応するアイテムモーション情報を取得する。
【0138】
(ステップS408)サーバ処理部13は、ステップS407で取得したアイテムモーション情報を有するアイテム情報を構成する。
【0139】
(ステップS409)サーバ送信部14は、選択指示を送信してきたアバター出力装置2に、ステップS408で構成されたアイテム情報を送信する。
ステップS401に戻る。
【0140】
なお、
図4のフローチャートにおいて、選択指示は、アイテムモーション情報を特定する情報であったが、アイテム情報を特定する情報でも良い。
【0141】
また、
図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0142】
次に、アバター出力装置2の動作例について、
図5のフローチャートを用いて説明する。
【0143】
(ステップS501)指示受付部221は、送信指示を受け付けたか否かを判断する。送信指示を受け付けた場合はステップS502に行き、送信指示を受け付けなかった場合はステップS513に行く。
【0144】
(ステップS502)処理部25は、ステップS501で受け付けられた送信指示を用いて、送信する送信指示を構成する。送信部23は、当該送信指示をサーバ1に送信する。
【0145】
(ステップS503)受信部24は、アバター情報等を受信したか否かを判断する。アバター情報等を受信した場合はステップS504に行き、アバター情報等を受信しなかった場合はステップS503に戻る。なお、アバター情報等は、ここでは、通常、アバター情報とワールド情報とを含む、とする。アバター情報等は、1または2以上のアイテム情報を含んでも良い。
【0146】
(ステップS504)処理部25は、ステップS503で受信されたアバター情報をアバター格納部212に蓄積し、ステップS503で受信されたワールド情報をワールド格納部211に蓄積する。
【0147】
(ステップS505)属性値取得部252は、アバターの1以上の属性値を取得する。なお、1以上の属性値は、例えば、アバター属性値または関係属性値である。
【0148】
(ステップS506)処理部25は、カウンタiに1を代入する。
【0149】
(ステップS507)処理部25は、ステップS503で受信された情報の中に、i番目のアイテム情報が存在するか否かを判断する。i番目のアイテム情報が存在する場合はステップS508に行き、存在しない場合はステップS501に戻る。
【0150】
(ステップS508)処理部25は、i番目のアイテム情報に対応する装着条件を取得する。なお、ここで、i番目のアイテム情報に対応付いた装着条件が存在しない場合、装着条件を取得しない。
【0151】
(ステップS509)処理部25は、ステップS505で取得した1以上の属性値のうちの装着条件に対応する1以上の属性値が、ステップS508で取得した装着条件を満たすか否かを判断する。装着条件を満たす場合はステップS510に行き、装着条件を満たさない場合はステップS512に行く。つまり、ここでは、対応するアバター情報に対して、装着条件を満たさないアイテム情報は、アイテム格納部213に蓄積されないので、出力されることはない。
【0152】
(ステップS510)補正部253は、アイテムモーション情報の補正の処理を行う。かかるモーション情報補正処理の例について、
図6のフローチャートを用いて説明する。
【0154】
(ステップS512)処理部25は、カウンタiを1、インクリメントする。ステップS507に戻る。
【0155】
(ステップS513)指示受付部221は、開始指示を受け付けたか否かを判断する。開始指示を受け付けた場合はステップS514に行き、開始指示を受け付けなかった場合はステップS501に戻る。
【0156】
(ステップS514)出力構成部255は、開始指示に対応するワールド情報をワールド格納部211から取得する。出力構成部255は、開始指示に対応するアバター情報をアバター格納部212から取得する。出力構成部255は、アバター情報に対応するアイテム情報を、アイテム格納部213から取得する。なお、ここで、アイテム情報を取得しない場合もあり得る。
【0157】
(ステップS515)出力構成部255は、ステップS514で取得した情報を用いて、仮想的な三次元空間の画像を構成する。なお、かかる画像は、ワールドの中に存在するアバターを含む。また、かかる画像は、アバターに装着されたアイテムを含むことは好適である。なお、ワールド情報、アバター情報、アイテム情報を用いて、画像を構成する処理は公知技術であるので、詳細な説明は省略する。
【0158】
(ステップS516)出力部26は、ステップS515で構成された画像を出力する。
【0159】
(ステップS517)種類取得部251は、出力デバイス(例えば、アバター出力装置2)の種類識別子を取得する。
【0160】
(ステップS518)操作受付部222は、ユーザの操作を受け付けたか否かを判断する。操作を受け付けた場合はステップS519に行き、操作を受け付けなかった場合はステップS521に行く。
【0161】
(ステップS519)出力構成部255は、操作に基づいて変更される画像を構成する。かかる変更画像構成処理の例について、
図7のフローチャートを用いて説明する。
【0162】
(ステップS520)出力部26は、ステップS519で構成された画像であり、アバター、またはアバターとアイテムの動作を含む画像を出力する。
【0163】
(ステップS521)指示受付部221は、終了指示を受け付けたか否かを判断する。終了指示を受け付けた場合はステップS522に行き、終了指示を受け付けなかった場合はステップS523に行く。
【0164】
(ステップS522)処理部25は、出力の終了のための処理を行う。かかる処理は、例えば、画像の出力をOFFとすること、アバター出力装置2の電源をOFFとすること等である。
【0165】
(ステップS523)処理部25は、アバターの基本モーション情報をアバター情報から取得する。
【0166】
(ステップS524)出力部26は、ステップS523で取得された基本モーション情報を用いて、アバターの動作を出力する。
【0167】
なお、
図5のフローチャートにおいて、受信されたアイテム情報を蓄積する際に、アイテムモーション情報に対して、必要な補正を行った。しかし、アイテムモーション情報を用いたアイテムの動作が出力される際に、アイテムモーション情報の必要な補正を行っても良い。つまり、アイテムモーション情報の補正のタイミングは問わない。
【0168】
また、
図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0169】
次に、ステップS510のモーション情報補正処理の例について、
図6のフローチャートを用いて説明する。モーション情報補正処理は、アイテムモーション情報を補正する処理である。
【0170】
(ステップS601)補正部253は、アイテムモーション情報と対になる1以上のモーション属性値を取得する。
【0171】
(ステップS602)補正部253は、装着位置情報を取得する。
【0172】
(ステップS603)補正部253は、ステップS601で取得した1以上のモーション属性値の中の装着位置に関連するモーション属性値を参照し、ステップS602で取得した装着位置情報が特定する装着位置に基づくモーション情報の補正が必要であるか否かを判断する。装着位置に基づく補正が必要である場合はステップS604に行き、補正が必要でない場合はステップS605に行く。
【0173】
例えば、ステップS602で取得した装着位置情報が、ステップS601で取得した1以上のモーション属性値の中に含まれない場合、またはステップS602で取得した装着位置情報が、ステップS601で取得したモーション属性値と異なる場合に、補正部253は、補正が必要である、と判断する。
【0174】
(ステップS604)補正部253は、ステップS602で取得した装着位置情報に基づいて、アイテムモーション情報を補正し、補正後のアイテムモーション情報を取得する。補正部253は、例えば、ステップS601で取得した1以上のモーション属性値とステップS602で取得した装着位置情報とに基づいて、アイテムモーション情報を補正し、補正後のアイテムモーション情報を取得する。
【0175】
(ステップS605)補正部253は、アバターの1以上の形状属性値を取得する。
【0176】
(ステップS606)補正部253は、ステップS601で取得した1以上のモーション属性値とステップS605で取得した1以上の形状属性値とを用いて、アバターの形状に基づくモーション情報の補正が必要であるか否かを判断する。装着位置に基づく補正が必要である場合はステップS607に行き、補正が必要でない場合は上位処理にリターンする。
【0177】
(ステップS607)補正部253は、ステップS605で取得した1以上の形状属性値に基づいて、アイテムモーション情報を補正し、当該補正後のアイテムモーション情報をアイテム格納部213に蓄積する。上位処理にリターンする。
【0178】
次に、ステップS519の変更画像構成処理の例について、
図7のフローチャートを用いて説明する。
【0179】
(ステップS701)出力構成部255は、ステップS518で受け付けられた操作に対応する操作情報を取得する。
【0180】
(ステップS702)出力構成部255は、ステップS518で受け付けられた操作がアバターに対する操作であるか否かを判断する。アバターに対する操作であればステップS703に行き、アバターに対する操作でなければステップS707に行く。
【0181】
(ステップS703)出力構成部255は、ステップS701で取得した操作情報に応じた、アバターのモーション情報を取得する。
【0182】
(ステップS704)出力構成部255は、アバターに対応付くアイテムが存在するか否かを判断する。アイテムが存在する場合はステップS705に行き、アイテムが存在しない場合はステップS706に行く。
【0183】
(ステップS705)出力構成部255は、ステップS703で取得したアバターのモーション情報により特定されるアバターのモーションに応じたアイテムのモーション情報を取得する。
【0184】
(ステップS706)出力構成部255は、アバターの動作を構成する。またはアバターとアイテムの動作を構成する。上位処理にリターンする。なお、動作を構成することは、最終的に、出力部26が、アバター等が動作を行う画像を出力できれば良く、例えば、アバター等が動作を行う画像を出力部26に渡すことである。
【0185】
(ステップS707)出力構成部255は、ステップS518で受け付けられた操作がアイテムに対する操作であるか否かを判断する。アイテムに対する操作であればステップS708に行き、アイテムに対する操作でなければステップS717に行く。
【0186】
(ステップS708)出力構成部255は、ステップS517で取得された種類識識別子が「第一種」であるか否かを判断する。「第一種」であればステップS709に行き、「第二種」であればステップS713に行く。なお、ここでは、種類識識別子が「第一種」でなければ、種類識識別子は「第二種」である、とする。
【0187】
(ステップS709)出力構成部255は、ステップS701で取得した操作情報に応じたアイテムモーション情報を読み出す。
【0188】
(ステップS710)出力構成部255は、ステップS701で取得した操作情報に応じた(アイテムの動作に追従する)アバターのモーション情報を取得する。また、出力構成部255は、アバターの基本モーション情報を取得する。
【0189】
(ステップS711)モーション合成部254は、ステップS709およびステップS710で取得したすべてのモーション情報を合成する。
【0190】
(ステップS712)出力構成部255は、ステップS711で取得したモーション情報を用いて、アバターとアイテムの動作を構成する。上位処理にリターンする。
【0191】
(ステップS713)出力構成部255は、ステップS701で取得した操作情報に応じたアイテムモーション情報を構成する。
【0192】
(ステップS714)出力構成部255は、ステップS701で取得した操作情報に応じた(アイテムの動作に追従する)アバターのモーション情報を構成する。また、出力構成部255は、アバターの基本モーション情報を取得する。
【0193】
(ステップS715)出力構成部255は、ステップS713およびステップS714で取得したすべてのモーション情報を合成する。
【0194】
(ステップS716)出力構成部255は、ステップS715で取得したモーション情報を用いて、アバターとアイテムの動作を構成する。上位処理にリターンする。
【0195】
(ステップS717)出力構成部255は、ステップS701で取得した操作情報を用いて、現在、出力されている画像に対して、ステップS518で受け付けられた操作に応じた画像を構成する。上位処理にリターンする。
【0196】
次に、作成者端末3の動作例について、
図8のフローチャートを用いて説明する。
【0197】
(ステップS801)端末受付部32は、アイテム表示情報を受け付けたか否かを判断する。アイテム表示情報を受け付けた場合はステップS802に行き、アイテム表示情報を受け付けなかった場合はステップS810に行く。
【0198】
(ステップS802)端末送信部34は、アイテムモーション情報の選択画面の送信指示を、サーバ1に送信する。
【0199】
(ステップS803)端末受信部35は、サーバ1から、アイテムモーション情報の選択画面を受信したか否かを判断する。選択画面を受信した場合はステップS804に行き、選択画面を受信しなかった場合はステップS803に戻る。
【0200】
(ステップS804)端末出力部36は、アイテムモーション情報の選択画面を出力する。
【0201】
(ステップS805)端末受付部32は、出力された選択画面に対して、アイテムモーション情報の選択を受け付けたか否かを判断する。選択を受け付けた場合はステップS806に行き、選択を受け付けなかった場合はステップS805に戻る。
【0202】
(ステップS806)端末処理部33は、選択に対応するアイテムモーション情報を取得する。次に、端末処理部33は、ステップS801で受け付けられたアイテム表示情報と、取得したアイテムモーション情報とを有するアイテム情報を構成する。
【0203】
(ステップS807)端末受付部32は、装着条件を受け付けたか否かを判断する。装着条件を受け付けた場合はステップS808に行き、装着条件を受け付けなかった場合はステップS809に行く。なお、ここで、通常、装着条件を受け付けるまで、または装着条件は入力されないことが示されるまで、ウェイトする。
【0204】
(ステップS808)端末送信部34は、ステップS806で構成されたアイテム情報と、ステップS807で受け付けられた装着条件とを対応付けて、サーバ1に送信する。ステップS801に戻る。
【0205】
(ステップS809)端末送信部34は、ステップS806で構成されたアイテム情報をサーバ1に送信する。ステップS801に戻る。
【0206】
(ステップS810)端末受付部32は、ワールド情報またはアバター情報を受け付けたか否かを判断する。情報を受け付けた場合はステップS811に行き、情報を受け付けなかった場合はステップS801に戻る。
【0207】
(ステップS811)端末送信部34は、ステップS810で受け付けられた情報をサーバ1に送信する。ステップS801に戻る。
【0208】
なお、
図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0209】
以下、本実施の形態における情報システムAの具体的な動作例について説明する。
【0210】
今、サーバ1のサーバ格納部11には、ワールド情報、アバター情報、および2以上のアイテムモーション情報が格納されている、とする。かかる情報は、サーバ1の運営者が、サーバ1に蓄積した情報である、とする。
【0211】
また、ここでの2以上のアイテムモーション情報は、ボールの動作を特定する情報(ボールが投げられた場合の動作を特定する情報)、剣の動作を特定する情報(剣が振られた場合の動作を特定する情報)、拳銃の動作を特定する情報(拳銃を発射した場合に、玉が飛ぶ動作特定する情報)を含む、とする。また、2以上の各アイテムモーション情報には、少なくとも一つのアイテム表示情報が対応付いている、とする。アイテム表示情報は、例えば、ボールを表示するための情報、剣を表示するための情報、拳銃を表示するための情報である。
【0212】
また、本具体例において、アバター出力装置2の種類を識別する種類識別子は、「第一種」または「第二種」である、とする。また、本具体例において、「第一種」は二次元デバイスを示す情報であり、「第二種」はVRデバイスを示す情報である、とする。そして、サーバ格納部11のアイテムモーション情報は、「第一種」であるアバター出力装置2において、使用される、とする。
【0213】
かかる状況において、以下、装着条件の一例としての装着位置を含むアイテム情報を作成する例について説明する。まず、作成者端末3の作成者Aの操作により、作成者端末3は、
図9の画面をサーバ1から受信し、出力した、とする。なお、
図9は、作成者Aがアイテムをサーバ1に登録する際の画面である。また、
図9の901は、サーバ1の運営者が予め準備したアイテムの種別(アイテムモーション情報を含む)を選択するためのフィールドである。また、902は、サーバ1の運営者が予め準備したアイテムのアイテムモーション情報を使用せずに、作成者Aが準備したアイテムモーション情報を含むアイテム情報を登録するためのフィールドである。903は、アイテムのアバターへの装着位置を特定する情報を登録するためのフィールドである。903において、ここでは、予め準備された装着位置「左手」「右手」「腰」等のうちから、一の装着位置を選択するためのフィールドである。
【0214】
かかる状況で、作成者Aは、
図9のフィールド901に「拳銃」、フィールド902に「左手」を入力した、とする。なお、かかる入力は、複数の選択項目からの選択でも良く、入力方法は問わない。
【0215】
次に、作成者端末3は、「拳銃」に対応するアイテムモーション情報とアイテム表示情報とを有するアイテム情報と、装着位置情報「左手」とを対応付けて、サーバ1に送信する。なお、ここでのアイテムモーション情報は、アバターの左手に装着された場合の拳銃の動作を特定する情報である。
【0216】
次に、サーバ1は、作成者端末3から送信されたアイテム情報と装着位置情報「左手」とを受信し、サーバ格納部11に蓄積する。なお、かかるアイテム情報は、サーバ1の運営者が予め準備した情報から、作成者が選択し、作成したアイテム情報である。
【0217】
次に、ユーザBは、アバター出力装置2にアイテム「拳銃」のアイテム情報、一のアバター情報、および一のワールド情報の送信指示を入力した、とする。なお、ここでのアバター出力装置2は、スマートフォンである、とする。スマートフォンは、デバイスの種類識別子「第一種」である、とする。
【0218】
次に、アバター出力装置2かかる送信指示をサーバ1に送信する。その結果、アバター出力装置2は、一のワールド情報、一のアバター情報、および3つの「拳銃」のアイテム情報をサーバ1から受信し、格納部21に蓄積する。
【0219】
次に、ユーザBは、アバター出力装置2に開始指示を入力した、とする。すると、アバター出力装置2の指示受付部221は、開始指示を受け付ける。ここで、開始指示は、一のワールド情報、一のアバター情報、および3つの「拳銃」のアイテム情報を使用することを特定する指示である、とする。
【0220】
次に、出力構成部255は、格納部21の一のワールド情報、一のアバター情報、および3つの「拳銃」のアイテム情報を読み出し、三次元の仮想空間におけるワールド、アバター、3つの拳銃を含む画像を構成する。次に、出力部26は、当該画像を出力する。かかる画像の例は、
図10である。
図10において、1001は、アバターやアイテムが配置されるワールドである。1002は、アバターである。1003、1004、1005は、アイテムである拳銃である。
【0221】
次に、種類取得部251は、アバター出力装置2の格納部21から、種類識別子「第一種」を読み出す。
【0222】
次に、ユーザBは、表示されているアバターをアイテム「拳銃」を選択できる位置まで移動させる操作を行った、とする。すると、出力構成部255は、移動させる操作に対応する操作情報を取得する。次に、出力構成部255は、当該操作情報に応じた、アバターのモーション情報(移動するモーション情報)を取得する。次に、出力構成部255は、アバターの動作を構成する(動作を行うプログラムを実行する)。そして、出力部26は、アバターが「拳銃」を選択できる位置まで移動する出力を行う。
【0223】
次に、ユーザBは、拳銃1004をタップした、とする。また、ユーザBは、右手で拳銃を持つ操作を行った、とする。すると、操作受付部222は、ユーザのタップの操作を受け付ける。また、操作受付部222は、右手で拳銃を持つ操作を受け付ける。次に、出力構成部255は、当該操作に対応する操作情報を取得する。
【0224】
次に、出力構成部255は、取得された種類識識別子が「第一種」である、と判断する。次に、出力構成部255は、拳銃1004に対応するアイテムモーション情報をアイテム格納部213から読み出す。なお、かかるアイテムモーション情報は、作成者Aにより、サーバ1に登録された情報である、とする。
【0225】
次に、補正部253は、拳銃1004に対応するアイテムモーション情報と対になる装着条件「左手」を取得する。また、補正部253は、現在の拳銃1004の装着位置情報「右手」を取得する。次に、補正部253は、左手用のアイテムモーション情報を、右手用の動作となるように変更し、変更後のアイテムモーション情報を取得する。
【0226】
また、出力構成部255は、取得した操作情報に応じたアバターのモーション情報を取得する。ここでは、アバターの右手が拳銃1004に近づき、当該拳銃1004を右手に装着するアイテムモーション情報を取得する。また、出力構成部255は、アバターの基本モーション情報(ここでは、アバターが呼吸をするために胸部が前後に揺れる動作の情報)を取得する。
【0227】
次に、モーション合成部254は、取得したすべてのモーション情報を合成する。
【0228】
次に、出力構成部255は、受け付けられた操作情報に基づいて、かつ補正されたアイテムモーション情報を含む合成されたモーション情報を用いて、アバターの右手に拳銃1004が持たれるまで移動動作を構成する。
【0229】
次に、出力部26は、アバターとアイテムである拳銃1004の動作を含む画像を出力する。
【0230】
次に、ユーザBは、アバターを、ワールドの中の的1101に正体する位置に移動させるための操作を行う。そして、アバター出力装置2は、かかる操作を受け付けることにより、アバターを、
図11の1102に示す位置に移動させる出力を行う。
【0231】
次に、ユーザBは、ボタン1103を指示する。なお、ボタン1103は、アバターが保持している拳銃1004を使用するためのボタンである。拳銃1004の使用とは、拳銃1004から玉を発射させることである。
【0232】
次に、アバター出力装置2の操作受付部222は、ユーザの操作(ボタン1103の指示)を受け付ける。そして、出力構成部255は、受け付けられた操作に対応する操作情報を取得する。なお、操作情報は、例えば、ボタン1103の識別子を含む。
【0233】
次に、出力構成部255は、操作情報を用いて、受け付けられた操作がアイテムに対する操作である、と判断する。
【0234】
次に、出力構成部255は、取得された種類識識別子が「第一種」である、と判断する。
【0235】
次に、出力構成部255は、取得した操作情報に応じたアイテムモーション情報(拳銃1004から玉を発射させる動作の情報)であり、拳銃1004に対応付いているアイテムモーション情報を、アイテム格納部213から読み出す。
【0236】
次に、出力構成部255は、アバターの基本モーション情報を取得する。次に、モーション合成部254は、取得したすべてのモーション情報を合成する。
【0237】
次に、出力構成部255は、合成されたモーション情報を用いて、アバターとアイテムの動作を構成する。かかる動作は、アバターの呼吸によるアバターの胸部の前後の揺れの動作、および拳銃1004から玉が発射される動作である。
【0238】
次に、出力部26は、構成された動作を含む画像であり、アバターとアイテムの動作を含む画像を出力する(
図11参照)。
【0239】
なお、上記の具体例において、アバター出力装置2が「第一種」である場合について説明した。また、アバター出力装置2が「第一種」である場合、歩いているときに、持っている拳銃と腕は一定の姿勢および一定の位置関係で変化しない、とする。一方、アバター出力装置2が「第二種」である場合、ユーザの腕に動きに連動して拳銃を持つ腕も動き、拳銃を打つ時もユーザが腕を構える動きに連動して拳銃を打つ姿勢になる、とする。
【0240】
以上、本実施の形態によれば、条件に応じた異なるアイテムモーション情報を用いて、柔軟にアイテムを動作させることができる。
【0241】
また、本実施の形態によれば、デバイスの種類に応じた異なるアイテムモーション情報を用いて、柔軟にアイテムを動作させることができる。
【0242】
また、本実施の形態によれば、アイテムが装着されたアバターに応じて、アイテムモーション情報を補正できる。
【0243】
また、本実施の形態によれば、アイテムが装着されたアバターにおける装着位置情報に応じて、アイテムモーション情報を補正できる。
【0244】
また、本実施の形態によれば、アバターの形状に関する形状属性値に応じて、モーション情報を補正できる。
【0245】
また、本実施の形態によれば、アイテムモーション情報と基本モーション情報とを合成して、取得した合成モーション情報を用いて、アイテムを動作させることができる。
【0246】
また、本実施の形態によれば、作成者が作成したアイテム情報を用いて、ユーザは、アイテムを出力できる。
【0247】
また、本実施の形態によれば、アバターの部位の動きに関するアイテムモーション情報を用いて、柔軟にアイテムを動作させることができる。
【0248】
さらに、本実施の形態によれば、容易にアイテム情報を構築できる環境を提供できる。
【0249】
なお、本実施の形態の具体例によれば、種類識別子が「第一種」の場合に、アバター出力装置2が第一出力態様の出力を行う場合の動作例を説明した。しかし、上述した通り、種類識別子が「第二種」の場合には、アバター出力装置2は第二出力態様の出力を行う。
【0250】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサーバ1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、アバターを表示するためのモデル情報を有するアバター情報が格納されるサーバ格納部にアクセス可能なコンピュータを、アイテムを作成する作成者の端末である作成者端末からアイテム情報を受信するサーバ受信部と、前記アバター情報と前記アイテム情報とを、アバター出力装置2に送信するサーバ送信部として機能させるためのプログラムである。
【0251】
また、本実施の形態におけるアバター出力装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、アバターを表示するためのモデル情報を有するアバター情報が格納されるアバター格納部と、当該アバターが装着するアイテムの情報であり、アイテムの表示のためのアイテム表示情報を有するアイテム情報が格納されるアイテム格納部とにアクセス可能なコンピュータを、ユーザからの操作を受け付ける操作受付部と、予め決められたアイテム条件に基づいて、前記操作に基づいて、前記アイテム表示情報に予め対応付いているアイテムモーション情報を取得し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第一出力態様、および前記操作に基づいて、アイテムモーション情報を構成し、当該アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第二出力態様を含む2以上の態様のうちの、少なくとも一の態様の出力を行う出力部として機能させるためのプログラムである。
【0252】
また、
図12は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のアバター出力装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図12は、このコンピュータシステム300の概観図であり、
図13は、システム300のブロック図である。
【0253】
図12において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0254】
図13において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0255】
コンピュータシステム300に、上述した実施の形態のアバター出力装置等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
【0256】
プログラムは、コンピュータ301に、上述した実施の形態のアバター出力装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0257】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0258】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0259】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0260】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0261】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【解決手段】アバター情報が格納されるアバター格納部212と、アイテム表示情報を有するアイテム情報が格納されるアイテム格納部213と、ユーザからの操作を受け付ける操作受付部222と、操作に基づいて、アイテム表示情報に予め対応付いているアイテムモーション情報を取得し、アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第一出力態様、およびユーザの動作を含む操作に基づいて、アイテムモーション情報を構成し、アイテムモーション情報を用いた動作を行うアイテムとアバターとを出力する第二出力態様を含む2以上の態様のうちの、少なくとも一の態様の出力を、予め決められたアイテム条件に基づいて行う出力部26とを具備するアバター出力装置2により、上記課題を解決できる。