(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-12
(45)【発行日】2023-07-21
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06T 13/40 20110101AFI20230713BHJP
A63F 13/55 20140101ALI20230713BHJP
【FI】
G06T13/40
A63F13/55
(21)【出願番号】P 2020192228
(22)【出願日】2020-11-19
【審査請求日】2022-05-17
【早期審査対象出願】
(73)【特許権者】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】中島 秀彦
(72)【発明者】
【氏名】西村 和宏
【審査官】粕谷 満成
(56)【参考文献】
【文献】特開2011-028714(JP,A)
【文献】特開2011-070598(JP,A)
【文献】特開平11-175753(JP,A)
【文献】特開2015-176495(JP,A)
【文献】特開2018-028812(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
A63F 13/55
(57)【特許請求の範囲】
【請求項1】
情報処理装置を、
第1のモーションに基づいて動作する第1のオブジェクトに乗った第2のオブジェクトの第2のモーションを、前記第2のオブジェクトの所定位置が前記第1のオブジェクトの所定位置を追従して配置されるよう
に補正するモーション補正部、
前記第2のオブジェクトが元の姿勢角度となるように前記第2のモーションを補正する姿勢補正部、
前記姿勢補正部による補正後の前記第2のモーションに基づいて前記第1のオブジェクトに乗った前記第2のオブジェクトの画像を表示する表示制御部、
として機能させるためのプログラム。
【請求項2】
前記元の姿勢角度は、地面に対して垂直に近い状態の前記第2のオブジェクトの姿勢角度、前記第1のオブジェクトの体勢が前につんのめったり後にのけぞったりする前の前記第2のオブジェクトの姿勢角度、又は前記第1のオブジェクトが立ち上がるアクションをした状態の前の前記第2のオブジェクトの姿勢角度であること
を特徴とする請求項1記載のプログラム。
【請求項3】
前記姿勢補正部は、前記第1のオブジェクトの加速比率に応じた姿勢角度となるように前記第2のオブジェクトのモーションを補正すること
を特徴とする請求項1
又は2記載のプログラム。
【請求項4】
前記姿勢補正部は、前記第1のオブジェクトがいる地面の傾斜を打ち消す姿勢角度となるように前記第2のオブジェクトのモーションを補正すること
を特徴とする請求項1乃至
3の何れか一項記載のプログラム。
【請求項5】
前記モーション補正部は、前記第2のオブジェクトの手足及び尻のそれぞれの位置が前記第1のオブジェクトの前記所定位置を追従して配置されるように前記第2のモーションを補正し、
前記姿勢補正部は、前記第2のオブジェクトの腰から背骨の角度、又は頭の角度を前記元の姿勢角度として調整すること
を特徴とする請求項1乃至
3の何れか一項記載のプログラム。
【請求項6】
前記モーション補正部は、一連の前記第1のモーションの中で、前記第2のモーションの補正のオン及びオフを切り替えるタイミングを設定できること
を特徴とする請求項1乃至
5の何れか一項記載のプログラム。
【請求項7】
情報処理装置に、
第1のモーションに基づいて動作する第1のオブジェクトに乗った第2のオブジェクトの第2のモーションを、前記第2のオブジェクトの所定位置が前記第1のオブジェクトの所定位置を追従して配置されるよう
に補正するモーション補正ステップと、
前記第2のオブジェクトが元の姿勢角度となるように前記第2のモーションを補正する姿勢補正ステップと、
前記姿勢補正ステップによる補正後の前記第2のモーションに基づいて前記第1のオブジェクトに乗った前記第2のオブジェクトの画像を表示する表示制御ステップと、
を実行させる情報処理方法。
【請求項8】
第1のモーションに基づいて動作する第1のオブジェクトに乗った第2のオブジェクトの第2のモーションを、前記第2のオブジェクトの所定位置が前記第1のオブジェクトの所定位置を追従して配置されるよう
に補正するモーション補正部と、
前記第2のオブジェクトが元の姿勢角度となるように前記第2のモーションを補正する姿勢補正部と、
前記姿勢補正部による補正後の前記第2のモーションに基づいて前記第1のオブジェクトに乗った前記第2のオブジェクトの画像を表示する表示制御部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
仮想的な3次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、所与の視点での視界画像を生成する画像生成装置が従来から知られている。この種の画像生成装置では、表示物の動きを、モーションデータに基づいて記述する場合が多い。そして、このモーションデータに基づいて、ポリゴンや曲面などのプリミティブ面で構成されているゲームキャラクタのオブジェクトをオブジェクト空間内で動作させる。これにより順次変化するゲームキャラクタの動作等の表現が可能となる。
【0003】
なお、ゲームキャラクタの動作のバラエティ度を増すためには、1つのゲームキャラクタに対して、なるべく多くのモーションデータを用意することが望まれる(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されている技術は、複数のパーツが接続されたオブジェクトの所与のパーツに含まれる基準点が所与の補正点に配置されるように、補正点の位置情報と、あるフレームにおける基準モーションデータとに基づいて、オブジェクトのモーションをリアルタイムに補正して用いることで、予めそれほど多くのモーションデータを用意しなくても表示物の動作のバラエティ度を高められる。
【0006】
しかしながら、例えば乗り物に乗った人のモーションを特許文献1に記載されている技術で補正した場合、乗り物の挙動や環境によっては、乗り物に乗った人のモーションが不自然になってしまう場合があるという問題があった。
【0007】
本開示は、モーションを作成する手間を軽減しつつ、他のオブジェクトに乗った状態のオブジェクトの自然なモーションを実現することを課題とする。
【課題を解決するための手段】
【0008】
本開示によれば、第1のモーションに基づいて動作する第1のオブジェクトに乗った第2のオブジェクトの第2のモーションを、前記第2のオブジェクトの所定位置が前記第1のオブジェクトの所定位置を追従して配置されるように補正するモーション補正部、前記第2のオブジェクトが元の姿勢角度となるように前記第2のモーションを補正する姿勢補正部、前記姿勢補正部による補正後の前記第2のモーションに基づいて前記第1のオブジェクトに乗った前記第2のオブジェクトの画像を表示する表示制御部、として機能させるためのプログラムが提供される。
【発明の効果】
【0009】
本開示によれば、モーションを作成する手間を軽減しつつ、他のオブジェクトに乗った状態のオブジェクトの自然なモーションを実現できる。
【図面の簡単な説明】
【0010】
【
図1】情報処理装置のハードウェア構成の一例を示す図である。
【
図2】本実施形態に係る情報処理装置の機能構成の一例を示す図である。
【
図3】本実施形態に係るモーション補正及び姿勢補正の概要について説明する図である。
【
図4】本実施形態に係るモーション補正及び姿勢補正の処理について説明する図である。
【
図5】本実施形態に係るライダオブジェクト及び乗り物オブジェクトの表示処理の一例のフローチャートである。
【
図6】ステップS16の処理手順の一例を示したフローチャートである。
【
図7】本実施形態に係るモーション補正及び姿勢補正を行ったライダオブジェクト及び乗り物オブジェクトのモーション例について説明する図である。
【発明を実施するための形態】
【0011】
以下、本開示を実施するための形態について図面を参照して説明する。
【0012】
[ハードウェア構成]
まず、一実施形態に係る情報処理装置について、
図1を参照して説明する。
図1は情報処理装置のハードウェア構成の一例を示す図である。
図1の情報処理装置は、パーソナルコンピュータ、スマートフォンなどの携帯電話機、携帯ゲーム機、タブレット端末、家庭用ゲーム装置、業務用ゲーム装置等である。
【0013】
図1の情報処理装置は、例えばCPU(Central Processing Unit)100、記憶装置102、通信装置104、入力装置106、及び表示装置108を有する。CPU100はプログラムに従って情報処理装置を制御する。記憶装置102は、例えばROM(Read Only Memory)やRAM(Random Access Memory)などのメモリ、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージである。記憶装置102はCPU100で実行するプログラム及びデータを記憶する。
【0014】
通信装置104は、通信を制御するネットワーク回路などの通信デバイスである。入力装置106は、タッチパッド、コントローラ、マウス、キーボード、カメラ、マイクなどの入力デバイスである。また、表示装置108はディスプレイ、スピーカなどの出力デバイスである。タッチパネルはタッチパッドとディスプレイとを組み合わせることで実現される。
【0015】
なお、
図1のハードウェア構成は一例であって、例えばサーバとクライアントとを有する情報処理システムで実現してもよい。サーバは、クライアントとの間でデータを送受信することで、ユーザがクライアントに入力した文字やコマンドの情報を受け付け、その文字やコマンドの情報に応じた処理を行う機能等を、クライアントに提供する。サーバはクラウドコンピュータにより実現してもよい。サーバの個数は、1つに限定されるものではなく、2つ以上で分散処理してもよい。また、サーバはサービスの利用に必要なプログラムをクライアントに提供するダウンロード処理などに利用してもよい。
【0016】
図2は、本実施形態に係る情報処理装置の機能構成の一例を示す図である。
図2の情報処理装置は、制御部200、操作部202、表示部204、通信部206、及び記憶部208を有する。記憶部208は、プログラム232、モーションデータ234、及びオブジェクトデータ236を記憶している。なお、記憶部208は記憶装置102により実現されてもよいし、ネットワーク等を介して接続された記憶装置により実現されてもよい。
【0017】
モーションデータは馬やバイクなどの乗り物のオブジェクトや、乗り物に乗る人のオブジェクトのモーション(動き)を定義する情報の一例である。また、オブジェクトデータはモーションデータによりモーションを定義された馬やバイクなどの乗り物のオブジェクトや、乗り物に乗る人のオブジェクトの情報の一例である。以下では、馬やバイクなどの乗り物のオブジェクトを「乗り物オブジェクト」と呼ぶ。また、乗り物オブジェクトに乗るオブジェクトを「ライダオブジェクト」と呼ぶ。
【0018】
制御部200は情報処理装置の全体の制御を行う。情報処理装置の全体の制御には例えばモーションデータに基づいてオブジェクトをオブジェクト空間内で動作させる制御が含まれる。制御部200は、CPU100がプログラムに記載された処理を実行することにより実現される。制御部200は、ライド対象オブジェクト選択部220、モーション選択部222、モーション補正部224、姿勢補正部226、及び表示制御部228を有する構成である。
【0019】
ライド対象オブジェクト選択部220は、オブジェクト空間内に表示するオブジェクトの中から、ライド対象であるオブジェクトを選択する。ライド対象オブジェクト選択部220が選択するライド対象のオブジェクトは、乗り物オブジェクト及びライダオブジェクトである。
【0020】
モーション選択部222は、ライド対象であるオブジェクトのモーションデータからライド対象であるオブジェクトに適用するモーションを選択する。例えばモーション選択部222はライド対象オブジェクト選択部220が選択した乗り物オブジェクトに適用するモーションデータと、ライダオブジェクトに適用するモーションデータと、を選択する。
【0021】
なお、モーション選択部222は後述するようなライダオブジェクトのモーション補正を行う場合、ライダオブジェクトに適用するモーションデータとして、後述のモーション補正部224による補正の基準となる姿勢(ニュートラルな姿勢)のモーションデータを選択する。
【0022】
モーション補正部224は、モーション選択部222が選択したライダオブジェクトに適用するモーションデータを後述のように補正し、補正後のモーションデータをライダオブジェクトに適用することで、乗り物オブジェクトのモーションと乗り物オブジェクトに乗るライダオブジェクトのモーションとの整合性が取れるようにしている。
【0023】
例えばモーション補正部224は乗り物オブジェクトが自転車、ライダオブジェクトが人である場合、手がハンドル位置、足がペダル位置、尻がサドル位置に追従するようにライダオブジェクトのモーションを補正する。
【0024】
姿勢補正部226は、ライダオブジェクトの姿勢が、乗り物オブジェクトの挙動(アクションや移動)又は環境(坂道や段差)に基づいた姿勢となるように、ライダオブジェクトのモーションを補正することで、乗り物オブジェクトに乗った状態のライダオブジェクトのモーションが自然になるようにしている。
【0025】
表示制御部228は、モーション補正部224及び姿勢補正部226により補正されたモーションに基づいて、乗り物オブジェクトに乗った状態のライダオブジェクトの画像を表示部204に表示させる。
【0026】
操作部202は入力装置106に対するユーザの各種操作を受け付ける。表示部204は表示制御部228の制御に従って各種画面を表示装置108に表示する。なお、操作部202はCPU100がプログラムに従って入力装置106を制御することにより実現される。また、表示部204は、CPU100がプログラムに従って表示装置108を制御することにより実現される。入力装置106に対するユーザの各種操作とは、CPU100に処理を実行させるため、ユーザが操作部202を操る操作をいう。表示部204は制御部200の制御に従い、各種画面を表示する。通信部206は、ネットワーク等を介して通信する。通信部206はCPU121がプログラムを実行し、プログラムに従って通信装置104を制御することで実現される。
【0027】
[処理]
以下では乗り物オブジェクト1002が馬、ライダオブジェクト1000が人の例を説明する。
図3は本実施形態に係るモーション補正及び姿勢補正の概要について説明する図である。
図3の左に示した乗り物オブジェクト1002に乗ったライダオブジェクト100はニュートラルな姿勢のモーションデータが適用された状態である。
【0028】
図3の左に示したライダオブジェクト1000は、手が乗り物オブジェクト1002である馬の手綱の位置、足が馬の鐙の位置、及び尻が馬の鞍の位置に配置されている。
図3では左に示した状態から、乗り物オブジェクト1002の体勢が変化した状態を、右側に示している。
【0029】
図3の右上の例は、乗り物オブジェクト1002の体勢が前につんのめったり、後ろにのけぞったり、した場合に、ニュートラルな姿勢のモーションデータをそのまま適用したライダオブジェクト1000のモーション例である。
図3の右上の例はライダオブジェクト1000のモーションが乗り物オブジェクト1002の体勢の変化により、乗り物オブジェクト1002と一緒に傾くことで振り回されているように見えてしまい、不自然となっている。
【0030】
図3の右下の例は、乗り物オブジェクト1002の体勢が前につんのめったり、後ろにのけぞったり、した場合に、ニュートラルな姿勢のモーションデータをそのまま適用するのではなく、ライダオブジェクト1000の姿勢が垂直(元姿勢角度)に近い状態になるようにしたライダオブジェクト1000のモーション例である。実際の人間は、例えば乗っている馬が立ち上がったり、坂道を駆け上がったり、しているとき、馬と一緒に傾くのではなく、ニュートラルな姿勢のモーションデータのように、姿勢を地面に対して垂直に保とうとする。このため、
図3の右下の例は乗り物オブジェクト1002と一緒に傾かないようにライダオブジェクト1000の姿勢を地面に対して垂直に保つように補正することで、乗り物オブジェクト1002の体勢の変化に対するライダオブジェクト1000のモーションが自然となっている。
【0031】
そこで、本実施形態では
図3の左に示した乗り物オブジェクト1002に乗ったライダオブジェクト100のニュートラルな姿勢のモーションデータを補正することで、
図3の右下の例となるようにライダオブジェクト1000のモーション補正及び姿勢補正を
図4に示すように行う。
図4は本実施形態に係るモーション補正及び姿勢補正の処理について説明する図である。
【0032】
図4は、ライダオブジェクトの手又は足を配置する乗り物オブジェクト1002の所定位置(以下、手足アタッチノードと呼ぶ)を星印「☆」で示している。また、
図4はライダオブジェクトの尻を配置する乗り物オブジェクト1002の所定位置(以下、ライダアタッチノードと呼ぶ)及びライダオブジェクト1000の姿勢角度を三角印「△」で示している。
【0033】
図4の左に示したライダオブジェクト1000は、手足が乗り物オブジェクト1002の手足アタッチノードの位置にそれぞれ配置され、尻が乗り物オブジェクト1002のライダアタッチノードの位置に配置されている。
図4では、左に示した状態から、乗り物オブジェクト1002の体勢が変化した状態を、右側に示している。
【0034】
図4の右上の例は、乗り物オブジェクト1002の体勢が前につんのめったり、後ろにのけぞったり、した場合に、ニュートラルな姿勢のモーションデータをそのまま適用したライダオブジェクト1000のモーション例である。例えば
図4の右上の例は、ライダオブジェクト1000の手が乗り物オブジェクト1002の手足アタッチノードの位置から離れている。また、
図4の右上の例はライダオブジェクト1000の姿勢角度が乗り物オブジェクト1002と一緒に傾くことで、乗り物オブジェクト1002の体勢の変化により振り回されているように見えてしまい、不自然となっている。
【0035】
図4の右下の例は、乗り物オブジェクト1002の体勢が前につんのめったり、後ろにのけぞったり、した場合に、ニュートラルな姿勢のモーションデータをそのまま適用するのではなく、ライダオブジェクト1000の手足が乗り物オブジェクト1002の手足アタッチノードの位置に追従して配置されるようにモーションが補正されている。また、
図4の右下の例は、ライダオブジェクト1000の姿勢角度がニュートラルな姿勢に近い状態になるようにライダオブジェクト1000のモーションが補正されている。
図4の右下の例はライダオブジェクト1000の手足の位置が乗り物オブジェクト1002の手足アタッチノードの位置から離れておらず、且つ姿勢角度が地面に対して垂直を保つように補正されることで、乗り物オブジェクト1002の体勢の変化に対するライダオブジェクト1000のモーションが自然となっている。
【0036】
図5は本実施形態に係るライダオブジェクト及び乗り物オブジェクトの表示処理の一例のフローチャートである。ステップS10において、ライド対象オブジェクト選択部220はオブジェクト空間内に表示するオブジェクトの中から、ライド対象であるライダオブジェクト1000及び乗り物オブジェクト1002を選択する。ライド対象であるライダオブジェクト1000及び乗り物オブジェクト1002は例えば設定値などで識別できるようになっている。
【0037】
ステップS12において、モーション選択部222はライド対象のライダオブジェクト1000に適用するモーションと、乗り物オブジェクト1002に適用するモーションとをそれぞれ選択する。ここでは、ライド対象のライダオブジェクト1000のニュートラルな姿勢のモーションデータを選択する例を説明する。なお、ライダオブジェクト1000に特別なモーションを実現させる場合は、専用のモーションデータを選択する。
【0038】
ステップS14において、モーション補正部224は選択されたライダオブジェクト1000のモーションに「モーション補正あり」が設定されていれば、ステップS16及びS18の処理を行う。ステップS16において、モーション補正部224は、モーション選択部222が選択したライダオブジェクト1000の手足が乗り物オブジェクト1002の手足アタッチノードの位置にそれぞれ配置されるように、ライダオブジェクト1000に適用するモーションデータを補正する。
【0039】
また、ステップS16及びS18において、モーション補正部224及び姿勢補正部226は例えば
図4に三角印「△」で示したライダアタッチノードの位置及び姿勢角度を乗り物オブジェクト1002の動きに合わせて調整し、そのライダアタッチノードの位置及び姿勢角度に従ってライダオブジェクト1000の尻を乗り物オブジェクト1002に乗せることで、ライダオブジェクト1000がニュートラルな姿勢に近い状態となるように、ライダオブジェクト1000に適用するモーションデータを補正する。
【0040】
また、姿勢補正部226は、ライダオブジェクト1000の姿勢が乗り物オブジェクト1002の挙動(アクションや移動)又は環境(坂道や段差)に基づいた姿勢となるように、ライダオブジェクトのモーションを補正する。
【0041】
例えば姿勢補正部226はライダオブジェクト1000が乗っている乗り物オブジェクト1002が加速した場合、その加速比率に応じてライダオブジェクト1000の姿勢角度(例えば腰から背骨の角度、頭の角度など)を後ろ方向に倒すように補正する。加速比率の算出方法の一例としては(「前フレームの移動量」-「現在フレームの移動量」)/「前フレームの移動量」などの式により計算できる。また、姿勢角度の補正方法の一例としては、前フレームのライダオブジェクト1000の頭があった座標を100%、現在フレームの頭があった座標を0%としたときに、加速比率(0~100%)で補間目標の座標を計算し、その方向に向けて角度補正を行う。同様に、姿勢補正部226はライダオブジェクト1000が乗っている移動中の乗り物オブジェクト1002が減速した場合、その減速比率に応じてライダオブジェクト1000の姿勢角度を前方向に倒すように補正する。なお、姿勢補正部226によるライダオブジェクト1000の姿勢角度の補正は不自然とならないように、前後左右それぞれに、姿勢を倒せる上限角度を定めておくようにしてもよい。また、姿勢補正部226によるライダオブジェクト1000の姿勢角度の補正は不自然とならないように、腰、背骨下部、及び背骨上部の順番のように、徐々に角度変化をつけるようにしてもよい。さらに、姿勢補正部226によるライダオブジェクト1000の姿勢角度の補正は不自然とならないように、1フレームごとに変化させられる上限角度を定めておくようにしてもよい。
【0042】
また、例えば姿勢補正部226はライダオブジェクト1000が乗っている乗り物オブジェクト1002が坂道にいる場合、地面の角度を取得し、取得した地面の角度を打ち消すようにライダオブジェクト1000の姿勢角度を補正する。
【0043】
また、姿勢補正部226はライダオブジェクト1000が乗っている乗り物オブジェクト1002が立ち上がるアクションをした場合、ライダオブジェクト1000の姿勢が垂直(元姿勢角度)に近い状態になるようにライダオブジェクト1000の姿勢角度を補正する。
【0044】
さらに、例えば姿勢補正部226はライダオブジェクト1000が乗っている乗り物オブジェクト1002が段差を通過する場合、段差の大きさを取得し、取得した段差の大きさに相当する揺れが生じるようにライダオブジェクト1000の姿勢角度を補正する。
【0045】
なお、ステップS14において、選択されたライダオブジェクト1000のモーションに「モーション補正あり」が設定されていなければ、モーション補正部224はステップS16及びS18の処理をスキップする。例えば「モーション補正あり」の設定は、ライド対象であるライダオブジェクト1000及び乗り物オブジェクト1002と対応付けて設定されている。
【0046】
そして、ステップS20において、表示制御部228はモーション補正部224及び姿勢補正部226により補正されたモーションに基づいて、乗り物オブジェクト1002に乗った状態のライダオブジェクト1000の画像を表示部204に表示させる。
【0047】
ステップS16のモーション補正処理は、例えば
図6に示す手順で実行される。
図6はステップS16の処理手順の一例を示したフローチャートである。ステップS30においてモーション補正部224は、乗り物オブジェクト1002のライダアタッチノード及び手足アタッチノードの位置を算出する。
【0048】
ステップS32において、モーション補正部224はライダオブジェクト1000の手足の位置を、乗り物オブジェクト1002の手足アタッチノードの位置に設定するようにライダオブジェクト1000のモーションを補正する。
【0049】
ステップS34において、モーション補正部224はライダオブジェクト1000の尻の位置をライダアタッチノードの位置に設定すると共に、ライダオブジェクト1000の姿勢角度を、垂直(元姿勢角度)に近い状態とするように、ライダオブジェクト100のモーションを補正する。
【0050】
図7は本実施形態に係るモーション補正及び姿勢補正を行ったライダオブジェクト及び乗り物オブジェクトのモーション例について説明する図である。
図7はライダオブジェクト及び乗り物オブジェクトの一連のモーション例を示している。
【0051】
図7(a)はライダオブジェクトを乗せている乗り物オブジェクトが静止状態の例を示している。
図7(b)は
図7(a)の静止状態から加速中の状態を示している。乗り物オブジェクトが加速中であるため、ライダオブジェクトは姿勢角度が後ろ方向に倒れるように補正されている。また、ライダオブジェクトの手足の位置は乗り物オブジェクトの手足アタッチノードに設定されている。
【0052】
図7(c)は
図7(b)の状態の後で加速が終了した状態を示している。加速が終了した状態であるため、ライダオブジェクトは姿勢角度が垂直(元姿勢角度)に近い状態に戻るように補正されている。
【0053】
図7(d)はライダオブジェクトを乗せている乗り物オブジェクトが、立ち上がるアクションをした状態を示している。乗り物オブジェクトが立ち上がるアクションをした場合は、ライダオブジェクトの姿勢が垂直(元姿勢角度)に近い状態になるようにライダオブジェクトの姿勢角度を補正する。また、ライダオブジェクトの手足の位置は乗り物オブジェクトの手足アタッチノードに設定されている。
【0054】
図7(e)は本実施形態に係るモーション補正及び姿勢補正をオンからオフに切り替えて専用のモーションデータをライダオブジェクトに適用した状態を示している。本実施形態に係るモーション補正及び姿勢補正は、一連の乗り物オブジェクトのモーションの中でオン及びオフを切り替えるタイミングを設定できるものとする。
図7(e)は本実施形態に係るモーション補正及び姿勢補正がオフの状態であるため、ライダオブジェクトの手が乗り物オブジェクトの手足アタッチノードの位置に設定されず、ライダオブジェクトが手を上げるモーションを実現している。
【0055】
なお、
図7(e)のモーションデータを、本実施形態に係るモーション補正及び姿勢補正がオンの状態でライダオブジェクトに適用しても、ライダオブジェクトの手が乗り物オブジェクトの手足アタッチノードの位置に設定されてしまい、意図したモーションを実現することができない。
【0056】
さらに、本実施形態に係るモーション補正及び姿勢補正がオフの状態では、例えばライダオブジェクトが乗り物オブジェクトの上に立ち上がるモーションや、乗り物オブジェクトの上でジャンプするモーションなど、様々なモーションをライダオブジェクトの姿勢を不自然に崩すことなく実現できる。なお、本実施形態に係るモーション補正及び姿勢補正のオンとオフの切り替えは、実現したいモーションに応じて一部(例えば手足のみ)をオフできるようにしてもよい。
【0057】
図7(f)は減速中の状態を示している。
図7(f)は本実施形態に係るモーション補正及び姿勢補正オフからオンに切り替えて、再びニュートラルなモーションデータをライダオブジェクトに適用した状態を示している。
図7(f)は乗り物オブジェクトが減速中であるため、ライダオブジェクトは姿勢角度が前方向に倒れるように補正されている。また、ライダオブジェクトの手足の位置は乗り物オブジェクトの手足アタッチノードに設定されている。
【0058】
本実施形態によれば、乗り物オブジェクトとライダオブジェクトとに別々の動きをさせたい場合に、乗り物オブジェクトのモーションを利用し、ライダオブジェクトのニュートラルな姿勢のモーションデータを補正して利用できるようにしたことで、乗り物オブジェクトの様々な動きに合わせてライダオブジェクトを動かすために必要なライダオブジェクトのモーションデータを減らすことができる。
【0059】
したがって、ライダオブジェクトのモーションデータを作成する手間を軽減しつつ、乗り物オブジェクトに乗った状態のライダオブジェクトの自然なモーションを実現できる。
【0060】
開示した一実施形態の情報処理装置は例示であって制限的なものではないと考えられるべきである。上記の実施形態は添付の請求の範囲及びその主旨を逸脱することなく、様々な形態で変形及び改良が可能である。また、上記した複数の実施形態に記載された事項は矛盾しない範囲で他の構成も取り得ることができ、また、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【0061】
200 制御部
202 操作部
204 表示部
206 通信部
208 記憶部
220 ライド対象オブジェクト選択部
222 モーション選択部
224 モーション補正部
226 姿勢補正部
228 表示制御部
1000 ライダオブジェクト
1002 乗り物オブジェクト