(57)【要約】【課題】  キャラクタの動作時にキャラクタの所定部位を所定のオブジェクトまたは地面から浮かせないようにすることができるゲームプログラムおよびゲームシステムを提供する。【解決手段】  コンピュータを、仮想空間生成手段、およびキャラクタ動作制御手段、として機能させ、キャラクタ動作制御手段は、キャラクタの所定部位が所定のオブジェクトまたは地面に当接した状態を維持する当接動作を行う当接動作実行手段を含み、当接動作実行手段は、少なくとも３つの関節のうちの所定の第１関節を固定し、他の関節を可動とした状態で、他の関節の位置および姿勢を決定する第１の演算を実行し、他の関節のうちの所定の第２関節の角度が所定の角度以上となったか否かを判定し、第２関節の角度が所定の角度以上となった場合に、第２関節を固定した状態で、第１関節を可動とし、第１関節および他の関節のうちの第２関節以外の関節の位置および姿勢を決定する。【選択図】図４
2018028813.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
３次元のキャラクタが動作する３次元の仮想空間を生成する仮想空間生成手段、および
前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、
前記キャラクタ動作制御手段は、前記キャラクタの所定の動作中において前記キャラクタの所定部位が所定のオブジェクトまたは地面に当接した状態を維持する当接動作を行う当接動作実行手段を含み、
前記所定部位は、前記キャラクタにおいて連続して配置される少なくとも３つの関節のうちの先端に位置する関節より先に位置する部位であり、
前記当接動作実行手段は、
前記少なくとも３つの関節のうちの所定の第１関節を固定し、他の関節を可動とした状態で、前記他の関節の位置および姿勢を決定する第１の演算を実行する第１演算実行手段と、
前記第１の演算の結果、前記他の関節のうちの所定の第２関節の角度が所定の角度以上となったか否かを判定する角度判定手段と、
前記第２関節の角度が前記所定の角度以上となった場合に、前記第２関節を固定した状態で、前記第１関節を可動とし、前記第１関節および前記他の関節のうちの前記第２関節以外の関節の位置および姿勢を決定する第２の演算を実行する第２演算実行手段と、を含む、ゲームプログラム。
【請求項２】
前記第１関節は、前記少なくとも３つの関節のうちの先端に位置する関節であり、
前記第２関節は、前記第１関節に隣接する関節である、請求項１に記載のゲームプログラム。
【請求項３】
前記少なくとも３つの関節は、前記キャラクタの脚部の関節である、請求項２に記載のゲームプログラム。
【請求項４】
前記当接動作実行手段は、前記所定部位における前記所定のオブジェクトまたは地面に当接した箇所を起点にして可動状態にある関節の位置および姿勢を決定する、請求項１から３の何れかに記載のゲームプログラム。
【請求項５】
請求項１から４の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲームシステムに関する。
【背景技術】
【０００２】
従来、アクションゲームまたはロールプレイングゲーム等、ユーザの操作に応じてプレイヤキャラクタを３次元の仮想空間内で動作させるゲームがある。このようなゲームにおいては、敵キャラクタ等の様々なノンプレイヤキャラクタが登場し、プレイヤキャラクタが敵キャラクタを討伐することにより進行するものがある。プレイヤキャラクタおよびノンプレイヤキャラクタの動作は、複数の関節を有する関節モデルの各関節の位置および姿勢（角度）を決定することにより、実現される（例えば特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−６１４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような従来のゲームにおいて、キャラクタが身体の向きを変えたり、足が地面に付いた状態で体が引っ張り上げられたりするような動作を行う場合に、足を地面から浮かせないようにすることが難しく、不自然に見える場合があった。このような問題は、足と地面との接地だけでなく、キャラクタの手等の所定部位が所定のオブジェクトまたは地面に当接した状態を保持しつつキャラクタを動作させる際に同様に生じ得る。
【０００５】
そこで本発明は、キャラクタの動作時にキャラクタの所定部位を所定のオブジェクトまたは地面から浮かせないようにすることができるゲームプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るゲームプログラムは、コンピュータを、３次元のキャラクタが動作する３次元の仮想空間を生成する仮想空間生成手段、および前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、前記キャラクタ動作制御手段は、前記キャラクタの所定の動作中において前記キャラクタの所定部位が所定のオブジェクトまたは地面に当接した状態を維持する当接動作を行う当接動作実行手段を含み、前記当接動作実行手段は、前記少なくとも３つの関節のうちの所定の第１関節を固定し、他の関節を可動とした状態で、前記他の関節の位置および姿勢を決定する第１の演算を実行する第１演算実行手段と、前記第１の演算の結果、前記他の関節のうちの所定の第２関節の角度が所定の角度以上となったか否かを判定する角度判定手段と、前記第２関節の角度が前記所定の角度以上となった場合に、前記第２関節を固定した状態で、前記第１関節を可動とし、前記第１関節および前記他の関節のうちの前記第２関節以外の関節の位置および姿勢を決定する第２の演算を実行する第２演算実行手段と、を含む。
【０００７】
前記第１関節は、前記少なくとも３つの関節のうちの先端に位置する関節であり、前記第２関節は、前記第１関節に隣接する関節であってもよい。
【０００８】
前記少なくとも３つの関節は、前記キャラクタの脚部の関節であってもよい。
【０００９】
前記当接動作実行手段は、前記所定部位における前記所定のオブジェクトまたは地面に当接した箇所を起点にして可動状態にある関節の位置および姿勢を決定してもよい。
【００１０】
本発明の他の態様に係るゲームシステムは、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えている。
【発明の効果】
【００１１】
本発明によれば、キャラクタの動作時にキャラクタの所定部位を所定のオブジェクトまたは地面から浮かせないようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態におけるゲーム装置のハードウェア構成を示すブロック図である。
【図２】図１に示すゲーム装置の機能的な構成を示すブロック図である。
【図３】本実施の形態における関節モデルを例示するための図である。
【図４】本実施の形態におけるプレイヤキャラクタの当接動作の具体例を示す図である。
【図５】本実施の形態における当接動作実行処理の流れを示すフローチャートである。
【図６】比較例におけるプレイヤキャラクタの動作例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【００１４】
［ゲーム概要］
以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、３次元の仮想空間が生成され、ユーザが当該仮想空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
【００１５】
［ハードウェア構成］
上述したゲームを実現するゲーム装置の構成について説明する。本実施の形態におけるゲームシステムは、下記ゲーム装置２と、当該ゲーム装置２に接続されるモニタ（表示部）１９、スピーカ２２およびコントローラ（操作部）２４などの外部装置とで構成され、下記ディスク型記憶媒体３０から読み込んだゲームプログラム３０ａおよびゲームデータ３０ｂに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置２と称する場合がある。
【００１６】
図１は、本実施の形態におけるゲーム装置２のハードウェア構成を示すブロック図である。図１に示すように、ゲーム装置２は、他のゲーム装置２およびサーバ装置３との間で、インターネットまたはＬＡＮなどの通信ネットワークＮＷを介して互いに通信可能である。このゲーム装置２は、その動作を制御するコンピュータであるＣＰＵ１０を備え、このＣＰＵ１０にはバス１１を介してディスクドライブ１２、メモリカードスロット１３、プログラム記憶部を成すＨＤＤ１４、ＲＯＭ１５およびＲＡＭ１６が接続されている。
【００１７】
また、ＣＰＵ１０には、バス１１を介してグラフィック処理部１７、オーディオ合成部２０、無線通信制御部２３およびネットワークインタフェース２５が接続されている。
【００１８】
このうちグラフィック処理部１７は、ＣＰＵ１０の指示にしたがってゲーム空間および各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部１７にはビデオ変換部１８を介して外部のモニタ１９が接続されており、グラフィック処理部１７にて描画されたゲーム画像はビデオ変換部１８において動画形式に変換され、モニタ１９にて表示されるようになっている。
【００１９】
オーディオ合成部２０は、ＣＰＵ１０の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部２０にはオーディオ変換部２１を介して外部のスピーカ２２が接続されている。したがって、オーディオ合成部２０にて再生および合成されたゲーム音声は、オーディオ変換部２１にてアナログ形式にデコードされ、さらにスピーカ２２から外部へ出力されるようになっている。
【００２０】
さらに、オーディオ合成部２０は、ゲーム装置２に接続されるヘッドセットやコントローラ２４等に設けられたマイク２６から入力されるユーザの音声等がオーディオ変換部２１にてデジタル形式にコードされたデータを取得可能である。オーディオ合成部２０は、取得したデータをＣＰＵ１０に入力情報として伝えることができる。
【００２１】
無線通信制御部２３は、２．４ＧＨｚ帯の無線通信モジュールを有し、ゲーム装置２に付属するコントローラ２４との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ２４に設けられたボタン等の操作子（後述）を操作することにより、ゲーム装置２へ信号を入力することができ、モニタ１９に表示されるプレイヤキャラクタの動作を制御可能になっている。また、ネットワークインタフェース２５は、インターネットまたはＬＡＮなどの通信ネットワークＮＷに対してゲーム装置２を接続するものであり、他のゲーム装置２またはサーバ装置３との間で通信可能である。そして、ゲーム装置２を、通信ネットワークＮＷを介して他のゲーム装置２と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。これにより、本ゲームにおいては、複数のユーザに対応する複数のプレイヤキャラクタが協同して敵キャラクタと戦う、または複数のユーザ同士が敵対して対戦する、マルチプレイが可能である。
【００２２】
［ゲーム装置の機能的構成］
図２は、図１に示すゲーム装置２の機能的な構成を示すブロック図である。図１に示すようにゲーム装置２は、ＣＰＵ１０、ＨＤＤ１４、ＲＯＭ１５、ＲＡＭ１６、グラフィック処理部１７、ビデオ変換部１８、オーディオ合成部２０、オーディオ変換部２１、ネットワークインタフェース２５などを含む制御部４を備えたコンピュータとして動作する。そして、図２に示すように、ゲーム装置２の制御部４は、本発明のゲームプログラム３０ａを実行することで、仮想空間生成手段４１、オブジェクト配置手段４２、および、キャラクタ動作制御手段４３等の機能を発揮する。キャラクタ動作制御手段４３は、当接動作実行手段４４を含む。さらに、当接動作実行手段４４は、第１演算実行手段４５、角度判定手段４６、および、第２演算実行手段４７を含む。
【００２３】
このうち、仮想空間生成手段４１は、３次元の仮想空間を生成する。当該仮想空間が、ユーザが操作するプレイヤキャラクタが行動するゲーム空間となる。また、オブジェクト配置手段４２は、仮想空間に種々のオブジェクトを配置する。例えば、オブジェクト配置手段４２は、プレイヤキャラクタの移動に伴って、ゲームデータ３０ｂに含まれるオブジェクト等のデータを読み出し、仮想空間に配置する。オブジェクト配置手段４２は、プレイヤキャラクタおよび敵キャラクタ等のノンプレイヤキャラクタも仮想空間に配置する。
【００２４】
キャラクタ動作制御手段４３は、キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、キャラクタの動作を制御する。キャラクタ動作制御手段４３は、例えば、ユーザによるコントローラ２４の操作に応じて、プレイヤキャラクタの各種動作を制御する。さらに、キャラクタ動作制御手段４３は、例えば、敵キャラクタおよび敵キャラクタでないノンプレイヤキャラクタ（味方となって一緒に敵キャラクタを攻撃するキャラクタや味方でも敵でもない村人などのキャラクタ等）の動作も制御する。
【００２５】
図３は、本実施の形態における関節モデルを例示するための図である。図３には、プレイヤキャラクタＰが例示されている。図３に示されるプレイヤキャラクタＰは人間を模したキャラクタとして構成されている。すなわち、プレイヤキャラクタＰは、頭部１００、首部１０１、胸部１０２、腰部１０３、腕部１０４、脚部１０５等を有する複数の部位で構成される。関節モデルＭは、これらの部位のそれぞれに対応付けられた複数の関節Ｊ（Ｊ０，Ｊ１〜Ｊ３を含む）と、所定の２つの関節Ｊ−Ｊ間を接続する骨Ｂとを有している。プレイヤキャラクタＰの各部位の体表面は多数のポリゴンの組み合わせで構成されており、各ポリゴンの頂点は１または複数の関節Ｊに関連付けられている。プレイヤキャラクタＰの動作は、関節Ｊを移動させる（位置を変える）および／または所定角度回転させる（姿勢を変える）ことで行われる。関節Ｊの位置または姿勢の変化に応じて、その関節Ｊに関連付けられているポリゴンが連動して変形し、プレイヤキャラクタＰの様々な動作が実現される。
【００２６】
通常、キャラクタ動作制御手段４３は、所定のモーションデータに基づいて身体の中心部に位置する関節（図３の例では腰関節Ｊ０）を起点にして動作を生成する。後述する第１の演算の結果に基づいた当接動作は、腰関節Ｊ０を起点にして生成される。具体的には、キャラクタ動作制御手段４３は、所定の部位を移動させる動作（例えば足部Ｆを地面に接地した状態を維持しながら腰部１０３をひねる動作等）を行う際、まず、腰関節Ｊ０の位置および姿勢を決定し、次に当該関節Ｊ０に骨Ｂを介して接続されている関節、すなわち、胸部１０２の関節および脚部１０５の関節Ｊ３，Ｊ２，Ｊ１の位置および姿勢を決定する。その後、胸部１０２の関節Ｊに骨Ｂを介して接続されている腕部１０４の関節の位置および姿勢を決定する。
【００２７】
すなわち、キャラクタ動作制御手段４３は、プレイヤキャラクタＰの中央部の部位（基端側部位）の関節（親関節）から順に先端側部位の関節（子関節）の位置および姿勢を決定することによって、プレイヤキャラクタＰの全身の動きを決定する。例えば、キャラクタ動作制御手段４３は、フォワードキネマティクス（ＦＫ）に基づいて各関節Ｊの位置および姿勢を決定する。
【００２８】
なお、本実施の形態および特許請求の範囲において、「関節の位置および姿勢を決定する」とは、関節の座標と関節の所定位置からの角度とを変更可能なパラメータとして有するという意味であり、動作の前後において、関節の位置および姿勢のうちの何れかが変化しない状態も含まれ得る。
【００２９】
さらに、キャラクタ動作制御手段４３は、プレイヤキャラクタＰの先端側部位（例えば手、足等）の関節から順に中央部の部位の関節の位置および姿勢を決定することによって、プレイヤキャラクタＰの全身の動きを決定することもできる。例えば、キャラクタ動作制御手段４３は、インバースキネマティクス（ＩＫ）に基づいて各関節Ｊの位置および姿勢が決定され得る。すなわち、ＩＫの場合、親関節と子関節との関係がＦＫと逆になる。
【００３０】
さらに、関節モデルＭは、プレイヤキャラクタＰを移動制御するための基準位置ＪＮを含んでいる。基準位置ＪＮは、プレイヤキャラクタＰの移動方向を定めるように構成されている。例えば、基準位置ＪＮにおいて、移動平面の法線に垂直な方向（移動平面に沿った方向）にプレイヤキャラクタＰの移動方向が設定されている。基準位置ＪＮは、その位置が関節モデルＭの各関節Ｊと対応付けられている。一般的に、基準位置ＪＮは、ＮＵＬＬパーツ等と呼称される。本実施の形態において、基準位置ＪＮは、プレイヤキャラクタＰが水平面上において立ち姿勢または移動姿勢にあるときに腰関節Ｊ０の直下かつ移動平面に接する位置に設定されている。基準位置ＪＮは、プレイヤキャラクタＰの位置座標の基準となる。例えば、プレイヤキャラクタＰの位置座標は、基準位置ＪＮに一致する。なお、基準位置ＪＮは、ゲーム画面上には表示されない。
【００３１】
［キャラクタ動作制御の具体例］
図４は、本実施の形態におけるプレイヤキャラクタの当接動作の具体例を示す図である。また、図６は、比較例におけるプレイヤキャラクタの動作例を示す図である。図４および図６においては、足部が地面Ｑに接地した状態を維持しながら腰部１０３をひねる動作により、腰関節Ｊ０が上方へ移動した場合の脚部１０５の動作が示されている。なお、図４および図６には、腰関節Ｊ０および一方の脚部１０５の各関節Ｊ１〜Ｊ３と、これらを繋ぐ骨Ｂ０〜Ｂ３とのみを示している。図４および図６においては、左側の図が動作前を示し、右側の図が動作後を示している。
【００３２】
まず、図６の比較例において、足部Ｆが地面Ｑに接した状態で上体（図示せず）のひねり動作により腰関節Ｊ０の位置が地面Ｑに対して離れる方向（腰関節位置Ｊ０’）に移動した場合、足部Ｆが地面Ｑから離れないように膝関節Ｊ２および股関節Ｊ３の位置および姿勢が演算される。従来、足部Ｆの当接箇所Ｔを起点にしてＩＫにより脚部１０５の各関節の位置および姿勢を決定する際には、多数の解が生じるのを避けるため、足首関節Ｊ１を固定して膝関節Ｊ２および股関節Ｊ３の位置および姿勢が演算される。すなわち、各関節の位置および姿勢を決定する際、膝関節Ｊ２および股関節Ｊ３は可動に設定され、足首関節Ｊ１は固定に設定されている。（図６において、可動に設定された関節における角度を両端に矢印を付した円弧として表示し、固定に設定された関節の角度を二重の円弧として表示している（図４においても同様）。
【００３３】
この場合、地面Ｑと腰関節Ｊ０との間の距離が所定の長さ以上になると、両関節Ｊ２，Ｊ３が伸びきった状態でも、足部Ｆが地面Ｑから離れてしまい、隙間Ｘが生じてしまう。また、隙間Ｘが生じない場合であっても、両関節Ｊ２，Ｊ３が必要以上に伸びた状態はプレイヤキャラクタＰの動きとしては不自然である。
【００３４】
そこで、本実施の形態において、当接動作実行手段４４は、第１演算実行手段４５、角度判定手段４６および第２演算実行手段４７の各機能を実行する。
【００３５】
図５は、本実施の形態における当接動作実行処理の流れを示すフローチャートである。まず、角度判定手段４６は、脚部１０５を構成する３つの関節Ｊ１〜Ｊ３のうちの先端に位置する第１関節である足首関節Ｊ１の角度（足首関節Ｊ１に接続される骨Ｂ１，Ｂ２のなす角度）θ１が所定の角度θ１ｔｈ以上であるか否か判定する（ステップＳ１）。
【００３６】
足首関節Ｊ１の角度θ１が所定の角度θ１ｔｈ未満である場合（ステップＳ１でＮｏ）、第１演算実行手段４５は、足首関節Ｊ１を固定し、３つの関節Ｊ１〜Ｊ３のうちの他の関節Ｊ２，Ｊ３を可動に設定する（ステップＳ２）。さらに、第１演算実行手段４５は、当該関節Ｊ２，Ｊ３の位置および姿勢を決定する第１の演算を実行する（ステップＳ３）。第１の演算は、足部Ｆにおける地面Ｑへの当接箇所を起点にして可動状態にある膝関節Ｊ２および股関節Ｊ３の位置および姿勢を決定する。すなわち、第１演算実行手段４５は、ＩＫに基づいて膝関節Ｊ２および股関節Ｊ３の位置および姿勢を決定する。
【００３７】
ここで、第１の演算の結果、角度判定手段４６は、足首関節Ｊ１に隣接する（基端側に位置する）第２関節である膝関節Ｊ２の角度（膝関節Ｊ２に接続される骨Ｂ２，Ｂ３のなす角度）θ２が所定の角度θ２ｔｈ以上であるか否か判定する（ステップＳ４）。
【００３８】
膝関節Ｊ２の角度θ２が所定の角度θ２ｔｈ以上である場合（ステップＳ４でＹｅｓ）、第２演算実行手段４７は、膝関節Ｊ２を固定し、足首関節Ｊ１および股関節Ｊ３を可動に設定する（ステップＳ５）。さらに、第２演算実行手段４７は、足首関節Ｊ１および股関節Ｊ３の位置および姿勢を決定する第２の演算を実行する（ステップＳ６）。第２の演算は、第１の演算と同様に、足部Ｆにおける地面Ｑへの当接箇所Ｔを起点にして可動状態にある足首関節Ｊ１および股関節Ｊ３の位置および姿勢を決定する。すなわち、第２演算実行手段４７は、ＩＫに基づいて足首関節Ｊ１および股関節Ｊ３の位置および姿勢を決定する。
【００３９】
当接動作実行手段４４は、第１の演算の結果において膝関節Ｊ２の角度θ２が所定の角度θ２ｔｈ以上である場合は、第２の演算の結果に基づいて脚部１０５の当接動作を実行する（ステップＳ７）。また、当接動作実行手段４４は、第１の演算の結果において膝関節Ｊ２の角度θ２が所定の角度θ２ｔｈ未満である場合（ステップＳ４でＮｏ）、第１の演算の結果に基づいて脚部１０５の当接動作を実行する（ステップＳ７）。一旦、第２の演算の結果に基づいて脚部１０５の当接動作を実行した後は、足首関節Ｊ１の角度θ１が所定の角度θ１ｔｈ未満となるまで、第２の演算が継続的に行われ、足首関節Ｊ１の角度θ１が所定の角度θ１ｔｈ以上となった場合は、再度第１の演算が行われる。これを実現するためにステップＳ１の判定処理が行われる。
【００４０】
なお、第２の演算において、足首関節Ｊ１の角度θ１が最大角度θ１Ｍ（＞θ１ｔｈ）以上となる場合、前記第２演算実行手段４７は、足部Ｆにおける地面Ｑへの当接箇所Ｔを起点とする足首関節Ｊ１および股関節Ｊ３の位置および姿勢の決定を中止し、足部Ｆを地面Ｑから浮かせる動作として例えばＦＫに基づいて各関節の位置および姿勢を決定してもよい。プレイヤキャラクタＰが過度に爪先立ちになる状態が不自然となる動作等において、プレイヤキャラクタＰが爪先立ちになることを防止することができる。
【００４１】
以上のような態様によれば、プレイヤキャラクタＰが身体をひねるような動作等において腰関節Ｊ０が引っ張り上げられるような状態となっても、膝関節Ｊ２が適度に曲がった状態を維持しつつ足部Ｆが地面Ｑに当接した状態を維持することができる。したがって、足部Ｆが地面Ｑに当接した状態を維持する動作をより自然に表現することができる。また、当接箇所Ｔを起点にして脚部１０５の可動状態にある各関節の位置および姿勢が決定される。これにより、腰関節Ｊ０の変化の方向および程度に拘わらず脚部１０５の各関節の位置および姿勢を予め個別に設定しておく必要がない。したがって、プレイヤキャラクタＰの様々な動作に対して足部Ｆが地面Ｑに当接した状態を維持させることを、データ量の増大を抑制しつつ容易に実現することができる。
【００４２】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【００４３】
例えば、上記実施の形態においては、プレイヤキャラクタＰにおける当接動作について説明したが、敵キャラクタ等のノンプレイヤキャラクタにおける当接動作に適用することも可能である。
【００４４】
また、上記実施の形態において、第１の演算において固定する第１関節は、足首関節Ｊ１としたが、第１関節は、足首関節Ｊ１以外の関節（連続する３つの関節のうちの先端に位置する関節以外の関節）でもよい。また、上記実施の形態において、第２の演算において固定する第２関節は、膝関節Ｊ２としたが、第２関節は、膝関節Ｊ２以外の関節でもよい。例えば、第１関節を膝関節Ｊ２とし、第２関節を足首関節Ｊ１としてもよい。また、角度判定手段４６が角度を判定する関節は、複数であってもよい。例えば、角度判定手段４６は、膝関節Ｊ２および股関節Ｊ３の角度θ２，θ３が所定の角度θ２ｔｈ，θ３ｔｈ以上であるか否かをそれぞれ判定し、少なくとも何れか一方が所定の角度以上であれば対応する関節を固定してもよい。
【００４５】
また、キャラクタの足がキャラクタの装備品（例えば竹馬、歩行ロボット）等を介して間接的に地面に当接する場合にも適用可能である。
【００４６】
また、上記実施の形態においては、脚部１０５の足部Ｆが地面Ｑに当接する状態を維持する当接動作について説明したが、これに限られない。例えば、キャラクタが逆立ちしている場合等、腕部１０４の手が地面Ｑに当接する状態を維持する当接動作にも上記実施の形態における当接動作実行処理を適用可能である。また、例えば、壁等のオブジェクトに腕部１０４の手等の部位が当接する状態を維持する当接動作にも上記実施の形態における当接動作実行処理を適用可能である。これらの場合、第１関節は手首関節、第２関節は肘関節、第３関節は肩関節となる。また、４足歩行の動物の移動動作について、当該動物の四肢の動作に対して上記実施の形態における当接動作実行処理が行われてもよい。この場合、第１関節は手首関節および足首関節、第２関節は肘関節および膝関節、第３関節は肩関節および股関節となる。
【００４７】
上記実施の形態において、関節モデルＭに含まれる複数の関節Ｊは人間の関節を模したものでもよいし、モンスター等、より多い関節またはより少ない関節を有していてもよい。すなわち、上記動作が適用できるキャラクタは、人間のキャラクタだけでなく、様々なモンスター等も含まれる。
【００４８】
また、上記実施の形態においては、アクションゲームを例示したが、３次元のキャラクタについての上記動作態様は、ロールプレイングゲーム、シミュレーションゲームまたはシューティングゲーム等、３次元の仮想空間を用いる種々のゲームに適用可能である。
【００４９】
また、上記実施の形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
【産業上の利用可能性】
【００５０】
本発明は、キャラクタの動作時にキャラクタの所定部位を所定のオブジェクトまたは地面から浮かせないようにするために有用である。
【符号の説明】
【００５１】
２  ゲーム装置
３０ａ  ゲームプログラム
３０ｂ  ゲームデータ
４１  仮想空間生成手段
４３  キャラクタ動作制御手段
４４  当接動作実行手段
４５  第１演算実行手段
４６  角度判定手段
４７  第２演算実行手段
Ｊ  関節
Ｊ０  腰関節
Ｊ１  足首関節
Ｊ２  膝関節
Ｊ３  股関節
Ｍ  関節モデル
Ｐ  プレイヤキャラクタ
Ｑ  地面
Ｔ  当接箇所
【図１】
2018028813.tif 000003
【図２】
2018028813.tif 000004
【図３】
2018028813.tif 000005
【図４】
2018028813.tif 000006
【図５】
2018028813.tif 000007
【図６】
2018028813.tif 000008