(57)【要約】【課題】キャラクタの動作をよりスムーズに行うことを目的とする。【解決手段】キャラクタの動作に基づき、該キャラクタが地面に接地する領域と該キャラクタの重心位置とを算出する算出部と、算出した前記キャラクタが地面に接地する領域と前記キャラクタの重心位置とに基づき、該キャラクタの足を踏み替えるか否かを判定する判定部と、を有する情報処理装置が提供される。【選択図】図５
2019087074.tif 000002
【特許請求の範囲】
【請求項１】
キャラクタの動作に基づき、該キャラクタが地面に接地する領域と該キャラクタの重心位置とを算出する算出部と、
算出した前記キャラクタが地面に接地する領域と前記キャラクタの重心位置とに基づき、該キャラクタの足を踏み替えるか否かを判定する判定部と、
を有する情報処理装置。
【請求項２】
キャラクタの現在の動作から、所定時間後の該キャラクタの動作を予測する動作制御部を有し、
前記算出部は、予測した前記所定時間後の該キャラクタの動作に基づき、該キャラクタが地面に接地する領域を算出する、
請求項１に記載の情報処理装置。
【請求項３】
前記算出部は、前記キャラクタが地面に接地する領域として前記キャラクタの身体の接地位置の最外地点を結ぶ多角形を算出し、
前記判定部は、前記キャラクタの重心位置に対応する地面上の重心位置が、該多角形の領域から外れる場合、該キャラクタの足を踏み替えると判定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記判定部は、前記地面上の重心位置が前記多角形の領域から所定の閾値よりも離れている場合、前記キャラクタの足を踏み替える代わりに、該キャラクタを転倒させると判定する、
請求項３に記載の情報処理装置。
【請求項５】
前記判定部は、前記キャラクタが２足歩行の場合、該キャラクタの支持脚に対して遊脚となる足を踏み替えるか否かを判定する、
請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記判定部は、前記キャラクタが４足歩行の場合、該キャラクタの支持脚に対して遊脚となる前足及び後足の少なくともいずれかを踏み替えるか否かを判定する、
請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項７】
キャラクタの動作に基づき、該キャラクタが地面に接地する領域と該キャラクタの重心位置とを算出し、
算出した前記キャラクタが地面に接地する領域と前記キャラクタの重心位置とに基づき、該キャラクタの足を踏み替えるか否かを判定する、
処理をコンピュータに実行させる動作制御プログラム。
【請求項８】
キャラクタの動作に基づき、該キャラクタが地面に接地する領域と該キャラクタの重心位置とを算出し、
算出した前記キャラクタが地面に接地する領域と前記キャラクタの重心位置とに基づき、該キャラクタの足を踏み替えるか否かを判定する、
ステップをコンピュータが実行する動作制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、動作制御プログラム及び動作制御方法に関する。
【背景技術】
【０００２】
アニメーションの生成に、インバースキネマティクス（ＩＫ）の技術が利用されている（例えば、特許文献１を参照）。インバースキネマティクスでは、親子関係のボーンに対してルートとエンドの組み合わせを与え、ボーンの先端にエンドのボーン位置を一致させることで、その間の姿勢の自動補正を可能にする。また、インバースキネマティクス（ＩＫ）について、特にキャラクタの全身の関節を駆動するフルボディＩＫにより、アニメーションを生成する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１７５５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、インバースキネマティクス及びフルボディＩＫの手法を利用したアニメーションの生成では、所定のルールに基づき足の踏み替えを行う。このため、例えば数秒後に足を踏み替えるというルールが設定されている場合には、自動補正後のキャラクタの姿勢が崩れていても数秒経過後に足の踏み替えを行う。この結果、キャラクタの動作が不自然になる場合がある。
【０００５】
上記課題に対して、一側面では、本発明は、キャラクタの動作をよりスムーズに行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、一の態様によれば、キャラクタの動作に基づき、該キャラクタが地面に接地する領域と該キャラクタの重心位置とを算出する算出部と、算出した前記キャラクタが地面に接地する領域と前記キャラクタの重心位置とに基づき、該キャラクタの足を踏み替えるか否かを判定する判定部と、を有する情報処理装置が提供される。
【発明の効果】
【０００７】
一の側面によれば、キャラクタの動作をよりスムーズに行うことができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る情報処理機器の機能構成の一例を示す図。
【図２】一実施形態に係る情報処理機器のハードウェア構成の一例を示す図。
【図３】従来の動作制御方法の一例を示すフローチャート。
【図４】従来の動作制御方法を説明するための図。
【図５】第１実施形態に係る動作制御方法の一例を示すフローチャート。
【図６】第１実施形態に係る動作制御方法を説明するための図。
【図７】一実施形態に係る支持多角形の一例を示す図。
【図８】第２実施形態に係る動作制御方法の一例を示すフローチャート。
【図９】第２実施形態に係る動作制御方法を説明するための図。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【００１０】
［情報処理装置］
本発明の一実施形態に係る情報処理装置１０は、フルボディＩＫの技術を利用したアニメーションを生成する機能を有し、更にキャラクタの動作をよりスムーズに行うことが可能な装置である。本実施形態に係る情報処理装置１０は、タブレット型端末、パーソナルコンピューター、スマートフォン、携帯電話、ＰＤＡ（Personal Digital Assistants）、ゲーム機器、ゲーム携帯機器等のあらゆる電子機器にて実現され得る。情報処理装置１０は、ＨＭＤ（Head Mount Display）やＦＭＤ（Face Mount Display）等のウェアラブル表示デバイスであってもよい。
【００１１】
［情報処理装置の機能構成］
まず、本実施形態に係る情報処理装置１０の機能構成の一例について、図１を参照しながら説明する。本実施形態に係る情報処理装置１０は、受付部９、ゲーム実行部１１、動作制御部１２、算出部１３、判定部１４、画像処理部１５、サウンド処理部１６、表示部１７、音出力部１８、通信部１９及び記憶部３１を有する。
【００１２】
受付部９は、プレイヤのゲームに対する操作を受け付ける。例えば、受付部９は、コントローラやスティック等の入力装置を用いて、ゲームに対してプレイヤが実行した入力操作を受け付ける。例えば、ゲームに対する操作には、プレイヤキャラクタを動作させるための操作が挙げられる。また、受付部９は、後述されるキャラクタの足の踏み替え動作を制御する対象キャラクタとなるキャラクタ情報を受け付ける。対象キャラクタとしては、プレイヤキャラクタやその他のメインとなるキャラクタ等が挙げられる。
【００１３】
ゲーム実行部１１は、記憶部３１に記憶されたゲーム処理プログラム３５を情報処理装置１０のＣＰＵに実行させることで、所定のゲームを実行する。動作制御部１２は、記憶部３１に記憶された動作制御プログラム３４を情報処理装置１０のＣＰＵに実行させることで、受け付けたキャラクタの足の踏み替え動作をスムーズに行わせる機能を実現する。動作制御部１２は、キャラクタの現在の動作から数秒後のキャラクタの動作を予測する。記憶部３１には、動作制御部１２が予測したキャラクタの予測動作情報３３が記憶される。
【００１４】
算出部１３は、キャラクタの動作に基づき、該キャラクタが地面に接地する領域と該キャラクタの重心位置とを算出する。判定部１４は、算出したキャラクタが地面に接地する領域と前記キャラクタの重心位置とに基づき、該キャラクタの足を踏み替えるか否かを判定する。
【００１５】
例えば算出部１３は、予測動作情報３３に基づき予測した所定時間後のキャラクタの動作に基づき、キャラクタが地面に接地する領域を算出する。例えば、算出部１３は、キャラクタが地面に接地する領域としてキャラクタの足や手などの身体パーツの接地位置の最外を結ぶ支持多角形を算出する。判定部１４は、算出部１３が算出したキャラクタの重心位置に対応する地面上の重心位置が、前記支持多角形の領域から外れる場合、キャラクタの足を踏み替えると判定するか、キャラクタが転倒すると判定する。記憶部３１には、キャラクタが足を踏み替える又は転倒するという動作のいずれかを行うかを判定するための閾値Ｔｈ３２が記憶されている。
【００１６】
画像処理部１５は、ゲーム実行部１１から画像出力の指示命令が出力されると、指示命令に応じたキャラクタの画像を生成し、表示部１７に出力する。これにより、表示部１７は、ゲームの進行状況に応じたフィールド上のキャラクタの画像を表示する。また、ゲームの実行中、画像処理部１５は、判定部１４により判定された結果に応じて、キャラクタの足の踏み替え等を行うようにキャラクタの画像を生成する。
【００１７】
サウンド処理部１６は、ゲーム実行部１１からサウンド出力の指示命令が出力されると、指示命令に応じた音を生成し、音出力部１８に出力する。これにより、音出力部１８は、ゲームの進行状況に応じた音声や効果音等のサウンドを出力する。通信部１９は、他のゲーム機器等の情報処理装置と通信する。
【００１８】
［情報処理装置のハードウェア構成］
次に、本発明の一実施形態に係る情報処理装置１０のハードウェア構成の一例について、図２を参照しながら説明する。本実施形態に係る情報処理装置１０は、ＣＰＵ（Central Processing Unit）２１、ＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３及びＨＤＤ（Hard Disk Drive）２４を有する。また、本実施形態に係る情報処理装置１０は、グラフィックカード２５、外部Ｉ／Ｆ（インターフェース）２６、通信Ｉ／Ｆ２７、入力Ｉ／Ｆ２８、ディスプレイ２９及びスピーカ３０を有している。各部は、それぞれがバスで相互に接続されている。
【００１９】
ＲＯＭ２２は、電源を切っても記憶されているプログラム及びデータを保持することができる不揮発性の半導体メモリである。ＲＡＭ２３は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＨＤＤ２４は、プログラムやデータを格納する不揮発性の記憶装置である。ＨＤＤ２４に格納されるプログラムには、情報処理装置１０の全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。ＨＤＤ２４には、各種のデータベースが格納されてもよい。閾値Ｔｈ３２、予測動作情報３３、動作制御プログラム３４及びゲーム処理プログラム３５は、ＲＯＭ２２、ＲＡＭ２３又はＨＤＤ２４に格納されてもよい。また、これらの情報は、ネットワークを介して情報処理装置１０と接続可能なクラウド上の記憶装置に記憶されてもよい。記憶部３１の機能は、ＲＯＭ２２，ＲＡＭ２３、ＨＤＤ２４又はネットワークを介して情報処理装置１０と接続可能なクラウド上の記憶装置により実現され得る。
【００２０】
ＣＰＵ２１は、プログラムやデータをＲＡＭ２３に読み出し、上記各種処理を実行することで、情報処理装置１０の全体の制御や情報処理装置１０に搭載された機能を実現する。具体的には、ゲーム実行部１１の機能は、情報処理装置１０にインストールされたゲーム処理プログラム３５がＣＰＵ２１に実行させるゲーム処理により実現され得る。また、動作制御部１２、算出部１３及び判定部１４の機能は、情報処理装置１０にインストールされた動作制御プログラム３４がＣＰＵ２１に実行させる動作制御処理により実現され得る。
【００２１】
外部Ｉ／Ｆ２６は、情報処理装置１０を外部装置に接続するインターフェースである。外部装置には、記憶媒体２６ａなどがある。これにより、情報処理装置１０は、外部Ｉ／Ｆ２６を介して記憶媒体２６ａからのデータの読み取り及び記憶媒体２６ａへのデータの書き込みを行う。記憶媒体２６ａの一例としては、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）又はＵＳＢメモリ（Universal Serial Bus memory）等が挙げられる。
【００２２】
例えば、情報処理装置１０には、動作制御プログラム３４及びゲーム処理プログラム３５等のゲームプログラムが格納された記憶媒体２６ａを装着することが可能である。これらのプログラムは、外部Ｉ／Ｆ２６により読み出されて、ＲＡＭ２３に読み込まれる。
【００２３】
ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記の各種プログラムを処理し、グラフィックカード２５にゲームの進行状況に対応する画像の出力を指示する。グラフィックカード２５は、指示に従い画面に表示するフィールド上のキャラクタ等の画像処理を行い、キャラクタ等の画像をディスプレイ２９に描画させる。グラフィックカード２５から出力される画像の一フレーム時間は、例えば１／３０〜１／６０秒である。グラフィックカード２５は、フレーム単位で１枚の画像の描画を実行する。すなわち、一秒間に３０回〜６０回のフレームの画像が描画される。画像処理部１５の機能は、例えばグラフィックカード２５により実現され得る。
【００２４】
また、ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記の各種プログラムを処理し、ゲームの進行に応じてスピーカ３０から所定の音を出力させる。サウンド処理部１６の機能は、例えばＣＰＵ２１がＲＡＭ２３に読み込まれた上記の各種プログラムを実行することで実現され得る。音出力部１８の機能は、例えばスピーカ３０により実現され得る。
【００２５】
ディスプレイ２９はタッチパネルを搭載していてもよい。これにより、コントローラ１を用いずに入力操作を行うことができる。この場合、タッチパネルにより検出されたタッチ位置の入力情報は、ＲＡＭ２３に格納され、ＣＰＵ２１はＲＡＭ２３に格納された入力情報に基づき各種の演算処理を実行してもよい。表示部１７の機能は、例えばディスプレイ２９により実現され得る。
【００２６】
通信Ｉ／Ｆ２７は、情報処理装置１０をネットワークに接続するインターフェースである。また、通信Ｉ／Ｆ２７は、アンテナを有する通信ユニットを介して、他のゲーム機器と通信を行う機能を有してもよい。通信部１９の機能は、例えば通信Ｉ／Ｆ２７により実現され得る。
【００２７】
入力Ｉ／Ｆ２８は、コントローラ１に接続するインターフェースである。コントローラ１は、操作ボタン２及び方向キー３を有する。プレイヤは、操作ボタン２及び方向キー３を操作することでプレイヤキャラクタを所定の方向に移動させて、攻撃等の所定の動作を行わせることができる。入力Ｉ／Ｆ２８は、プレイヤがコントローラ１を用いて行った入力操作に基づく入力情報をＲＡＭ２３に格納させる。ＣＰＵ２１は、ＲＡＭ２３に格納された入力情報に基づきプレイヤキャラクタの動作に関する各種の演算処理を実行する。受付部９の機能は、例えば入力Ｉ／Ｆ２８により実現され得る。
【００２８】
［従来の動作制御方法］
以上に説明した構成の本実施形態に係るキャラクタの動作制御方法について説明する前に、従来のキャラクタの動作制御方法の一例について、図３及び図４を参照して簡単に説明する。図３は、従来のキャラクタの動作制御方法の一例を示すフローチャートである。図４は、従来のキャラクタの動作制御方法を説明するための図である。
【００２９】
図３及び図４に示す従来のキャラクタの動作制御方法の一例では、予めキャラクタの動作を規定する設計データを作成しておく必要がある。キャラクタの設計データは、インバースキネマティクス（ＩＫ）及びキャラクタの全身の関節を駆動するフルボディＩＫを用いて作成することができる。フルボディＩＫでは、エンドのボーンを指定した座標に一致させ、親子関係と関節の可動域等の制約条件に基づき、他の骨の姿勢を自動的に計算する。例えば、図４に一例を示すように、設計データのＢ３のエンド（先端）を指定の座標に固定した場合、その親に当たるＢ２、Ｂ１、および反対側の足であるＢ４や手の骨Ｂ５、Ｂ６（骨名は仮）の姿勢を制約条件から自動的に計算することで姿勢の自動補正を可能とする。
【００３０】
設計データは、ゲーム開発中にデザイナーが作成するキャラクタの骨構造のデータである。この設計データに対して、図３に一例を示す従来のキャラクタの動作制御方法により補正した後の動作が点線で示す補正データである。
【００３１】
図３を参照して簡単に説明すると、まず、本処理を実行する制御部は、キャラクタの設計データを取得する（ステップＳ１０）。次に、制御部は、キャラクタの両足をロックする制御を行う（ステップＳ１２）。図４の例では、実線のボーンＢ３及びボーンＢ４がロックされる。
【００３２】
次に、制御部は、ルート（モデルの基準位置）の移動を開始するように制御する（ステップＳ１４）。制御部は、設定時間（例えば数秒）が経過したかを判定し（ステップＳ１６）、設定時間が経過した後、遊脚のロックを解除する（ステップＳ１８）。図４の例では、この時点で遊脚のボーンＢ４のロックが解除され、点線で示すボーンＢ４の位置に足ＳＬを踏み替える。この時点では、支持脚はＢ３である。
【００３３】
次に、制御部は、設定時間（例えば数秒）が経過したかを判定し（ステップＳ２０）、設定時間が経過した後、支持脚のロックを解除する（ステップＳ２２）。図４の例では、この時点で支持脚のボーンＢ３のロックが解除され、点線で示すボーンＢ３に繋がる足ＭＬが踏み出される。その後、ステップＳ１２に戻り、ステップＳ１２〜Ｓ２２の処理が繰り返される。これにより、キャラクタの姿勢の自動補正が行われる。
【００３４】
しかしながら、従来の技術では、遊脚のロックを解除する時間、支持脚のロックを解除する時間が予め設定されている。このため、自動補正後のキャラクタの姿勢が崩れていても、設定時間が経過する度に強制的に足の踏み替えが行われる。この結果、キャラクタの姿勢と動作が調和せず、不自然な動作となる場合がある。
【００３５】
これに対して、本実施形態に係る動作制御方法では、予め足の踏みかえ時間を決めずに、キャラクタの身体の重心が、キャラクタの身体パーツの接地位置を囲む支持多角形の領域を外れたら足を踏み替える。以下、本実施形態に係る動作制御方法について説明する。
＜第１実施形態＞
［第１実施形態に係る動作制御方法］
第１実施形態に係るキャラクタの動作制御方法の一例について、図５〜図７を参照して説明する。図５は、第１実施形態に係るキャラクタの動作制御処理の一例を示すフローチャートである。図６は、第１実施形態に係るキャラクタの動作制御方法を説明するための図である。図７は、一実施形態に係る支持多角形の一例を示す図である。
【００３６】
図５の処理が開始されると、情報処理装置１０の受付部９は、本動作制御処理の対象キャラクタとなるキャラクタ情報を受け付け、動作制御部１２は、対象キャラクタの現在の動作を特定する（ステップＳ３０）。対象キャラクタは、ゲーム開始前又はゲーム実行中にゲーム実行部１１により特定されてもよいし、プレイヤにより特定されてもよい。以下、対象キャラクタを単に「キャラクタ」という。
【００３７】
次に、動作制御部１２は、特定したキャラクタの現在の動作に基づき、数秒後のキャラクタの動作を予測する（ステップＳ３２）。ここで、予測する動作は、例えば２，３秒〜１０秒又はそれ以上であってもよいし、２秒よりも短い時間であってもよい。
【００３８】
次に、算出部１３は、予測したキャラクタの動作から、地面に接地しているキャラクタの身体パーツの最外地点を結ぶ支持多角形を算出する（ステップＳ３４）。
【００３９】
第１実施形態に係る動作制御と支持多角形の一例を示す図６を参照すると、図６（ａ）及び図６（ｂ）の例に示す点線のキャラクタがキャラクタの現在の動作であり、実線のキャラクタが現在の動作から予測したキャラクタの動作の一例である。予測したキャラクタの動作において、地面に接地している足の最外地点を結ぶ多角形が支持多角形である。図６（ａ）及び図６（ｂ）では、両足ＭＬ，ＳＬの最外地点を結ぶ多角形が支持多角形Ａｒとして算出される。
【００４０】
ただし、支持多角形は、足ＭＬ，ＳＬの接地位置に基づき算出する場合に限らず、キャラクタの身体パーツの接地位置の最外地点を結ぶ多角形であればよい。例えば、図７に示す例では、算出部１３は、キャラクタの身体パーツの接地位置として、地面に接地している両足ＭＬ，ＳＬの最外地点や、地面に接地している両手Ｈと両足ＭＬ，ＳＬの最外地点を結ぶ支持多角形Ａｒを算出する。
【００４１】
上記の例の他、足が折れていたら、キャラクタの足と膝の地面への接地位置に基づき支持多角形が算出される。カンガルーのようにしっぽが長い動物では、足としっぽの地面への接地位置に基づき支持多角形を算出するようにしてもよい。
【００４２】
図５に戻り、次に、算出部１３は、キャラクタの重心を算出する（ステップＳ３６）。キャラクタの重心の計算方法の一例としては、腕、頭等の身体パーツの重さが予め設定されていて、各身体パーツの重さとそのパーツの位置とを乗算し、すべての身体パーツについての重さとそのパーツの位置との乗算結果から重心位置Ｇを算出する。ただし、キャラクタの重心の計算方法としては、これに限らず、公知の方法を使用することができる。例えば前記計算方法により算出したキャラクタの重心位置Ｇに慣性力を考慮し、最終的なキャラクタの重心Ｇを算出してもよい。
【００４３】
次に、判定部１４は、算出した重心位置Ｇに対する地面上の重心位置ＧＬが支持多角形Ａｒの領域内にあるかを判定する（ステップＳ３８）。重心位置ＧＬは、算出した重心位置Ｇに対する地面上の位置、つまり、算出した重心位置Ｇの座標が（ｘ、ｚ、ｙ）で示される場合、重心位置ＧＬは、地面上の座標（ｘ、０、ｙ）で示される位置である。
【００４４】
判定部１４は、算出した重心位置Ｇに対する地面上の重心位置ＧＬが、支持多角形Ａｒの領域内の場合、そのまま本処理を終了する。例えば、図６（ａ）の例のように、重心位置ＧＬが支持多角形Ａｒの領域の範囲内である場合、キャラクタの足の踏み替えは行われない。
【００４５】
一方、判定部１４は、算出した重心位置Ｇに対する地面上の重心位置ＧＬが、支持多角形Ａｒの領域から外れる場合、キャラクタの足を踏み替え（ステップＳ４０）、本処理を終了する。例えば、図６（ｂ）の例のように、重心位置ＧＬが支持多角形Ａｒの領域から外れる場合、キャラクタの支持脚Ｂ２の足ＳＬを固定させ、支持脚Ｂ２に対して遊脚Ｂ１の足ＭＬの踏み替えが行われ、これにより、足ＭＬが点線の位置に移動する。
【００４６】
従来のキャラクタの動作制御では、予め足の踏み替えを所定時間毎に行うため、キャラクタの身体のバランスが崩れていなくても足の踏み替えを行う。これに対して、本実施形態に係る動作制御方法によれば、キャラクタのバランスが崩れていなければ踏み替えは行われず、バランスが崩れていたときだけキャラクタの足の踏み替えが行われる。これにより、キャラクタの動作を不自然でなく、スムーズに描画することができる。これにより、プレイヤは、より臨場感のあるゲームを楽しむことができる。
【００４７】
また、本実施形態に係る動作制御方法によれば、予測したキャラクタの動作に対して足の踏み替え動作を行うか否かをリアルタイムに判定し、判定結果に基づきリアルタイムにキャラクタの足の踏み替えを行う。このため、予め沢山の動作用の設計データを作成する手間が省ける。これにより、キャラクタのアニメーション作成に関する開発時間やメンテナンス時間を短縮することができる。
＜第２実施形態＞
［第２実施形態に係る動作制御方法］
次に、第２実施形態に係るキャラクタの動作制御方法の一例について、図８及び図９を参照して説明する。図８は、第２実施形態に係る動作制御方法の一例を示すフローチャートである。図９は、第２実施形態に係る動作制御方法を説明するための図である。
【００４８】
図９の処理が開始されると、ステップＳ３０〜ステップＳ３８の処理が行われる。ステップＳ３０〜ステップＳ３８の処理は、図５に示す同ステップ番号の処理と同一であるため、ここでの説明は省略する。
【００４９】
ステップＳ３８において、判定部１４は、算出した重心位置Ｇに対する地面上の重心位置ＧＬが支持多角形Ａｒの領域内にあるかを判定した結果、地面上の重心位置ＧＬが、支持多角形Ａｒの領域内の場合、そのまま本処理を終了する。
【００５０】
一方、判定部１４は、地面上の重心位置ＧＬが、支持多角形Ａｒの領域から外れる場合、地面上の重心位置ＧＬが支持多角形Ａｒの境界から閾値Ｔｈよりもさらに離れているかを判定する（ステップＳ４２）。判定部１４は、地面上の重心位置ＧＬが支持多角形Ａｒの領域の最も近くから閾値Ｔｈ以下の位置にある場合、キャラクタの足を踏み替え（ステップＳ４０）、本処理を終了する。例えば、図９の例のように、重心位置ＧＬの一例である地面上の重心位置ＧＬ１が支持多角形Ａｒの領域の、重心位置ＧＬ１の最も近くから距離Ｐ１だけ離れている場合、距離Ｐ１が閾値Ｔｈ以下である場合、キャラクタの遊脚側の足の踏み替えが行われる。
【００５１】
一方、ステップＳ４２において、判定部１４は、地面上の重心位置ＧＬが支持多角形Ａｒの最も近くから閾値Ｔｈよりも離れている場合、キャラクタを転倒させるように制御し（ステップＳ４４）、本処理を終了する。例えば、図９の例のように、重心位置ＧＬの一例である地面上の重心位置ＧＬ２が支持多角形Ａｒの領域の、重心位置ＧＬ２の最も近くから距離Ｐ２だけ離れている場合、距離Ｐ２が閾値Ｔｈよりも大きい場合、キャラクタを転倒させる。なお、算出部１３は、例えば、各頂点の対角線の交点等を支持多角形Ａｒの中心点Ｏとし、中心点Ｏから地面上の重心位置ＧＬまでの線上の支持多角形Ａｒの領域外の長さを求め、その長さを重心位置ＧＬからの距離としてもよい。
【００５２】
本実施形態に係る動作制御方法によれば、地面上の重心位置ＧＬが支持多角形Ａｒの領域から外れた場合、キャラクタの身体のバランスが崩れていると判定し、キャラクタの遊脚側の足を踏み替えるか又はキャラクタを転倒させるかのいずれかの動作を行う。一方、地面上の重心位置ＧＬが支持多角形Ａｒの領域内の場合、キャラクタの身体のバランスが崩れていないと判定し、足の踏み替えを行わない。これにより、キャラクタの身体の状態に応じてキャラクタの転倒又は足の踏み替を行うか否かを判定することで、キャラクタの動作をよりリアルでスムーズに行うことができる。
【００５３】
また、本実施形態に係る動作制御方法によれば、予測した動作に対して足の踏み替え動作を行うか否かをリアルタイムに判定し、判定結果に基づきキャラクタの足の踏み替え又は転倒を行う。このため、予め設計データを作成する手間が省け、キャラクタのアニメーション作成に関する開発時間を短縮することができる。
【００５４】
本実施形態に係る動作制御方法は、いかなるキャラクタにも使用することができる。例えば、人等の２足歩行を行う動物のキャラクタや４足歩行を行う動物のキャラクタに使用することができる。また、多足の昆虫のキャラクタに使用してもよい。
【００５５】
なお、判定部１４は、キャラクタが２足歩行の場合、該キャラクタの支持脚に対して遊脚となる足を踏み替えるか否かを判定する。一方、判定部１４は、キャラクタが４足歩行の場合、該キャラクタの支持脚に対して遊脚となる前足及び後足の少なくともいずれかを踏み替えるか否かを判定する。
【００５６】
また、キャラクタの足や手等の大きさは、支持多角形Ａｒの面積に反映され、キャラクタの動作速度は、重心位置Ｇの算出結果や予測したキャラクタの動作の算出結果に反映される。この結果、キャラクタの身体パーツの大きさや動作速度に応じて、足の踏み替えや転倒を行うかの判断をリアルタイムに行うことで、体格や動作の異なるキャラクタに応じて、異なるタイミングに足を踏み替え又は転倒の動作を行うことで、キャラクタ毎によりスムーズな動作を行うことができる。
【００５７】
以上、情報処理装置、動作制御プログラム及び動作制御方法を上記実施形態により説明したが、本発明にかかる情報処理装置、動作制御プログラム及び動作制御方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【００５８】
９    受付部
１０  情報処理装置
１１  ゲーム実行部
１２  動作制御部
１３  算出部
１４  判定部
１５  画像処理部
１６  サウンド処理部
１７  表示部
１８  音出力部
１９  通信部
３１  記憶部
３４  動作制御プログラム
３５  ゲーム処理プログラム
Ａｒ  支持多角形
Ｇ    重心位置
ＧＬ  地面上の重心位置
【図１】
2019087074.tif 000003
【図２】
2019087074.tif 000004
【図３】
2019087074.tif 000005
【図４】
2019087074.tif 000006
【図５】
2019087074.tif 000007
【図６】
2019087074.tif 000008
【図７】
2019087074.tif 000009
【図８】
2019087074.tif 000010
【図９】
2019087074.tif 000011