(57)【要約】【課題】  一のキャラクタが他のキャラクタまたはオブジェクトに当接した場合の表現をデータ量の増大を抑制しつつよりリアルに実現することができるゲームプログラムおよびゲームシステムを提供する。【解決手段】  コンピュータを、仮想空間生成手段、オブジェクト配置手段、およびキャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、キャラクタ動作制御手段は、キャラクタにおける所定の第１動作を実行する第１動作実行手段と、第１動作中に、キャラクタにおける所定の部位がオブジェクトに当接した場合、所定の部位におけるオブジェクト当接箇所を起点にしてキャラクタの第２動作を実行する第２動作実行手段と、を含む。【選択図】図４
2018027217.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
３次元のキャラクタが動作する３次元の仮想空間を生成する仮想空間生成手段、
前記仮想空間にオブジェクトを配置するオブジェクト配置手段、および
前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、
前記キャラクタ動作制御手段は、
前記キャラクタにおける所定の第１動作を実行する第１動作実行手段と、
前記第１動作中に、前記キャラクタにおける所定の部位が前記オブジェクトに当接した場合、前記所定の部位におけるオブジェクト当接箇所を起点にして前記キャラクタの第２動作を実行する第２動作実行手段と、を含む、ゲームプログラム。
【請求項２】
前記第２動作実行手段は、前記オブジェクト当接箇所の位置を固定して前記第２動作を実行する、請求項１に記載のゲームプログラム。
【請求項３】
前記所定の部位は、前記キャラクタにおいて連続して配置される複数の関節のうちの先端に位置する第１関節より先端側に位置する部位であり、
前記第２動作実行手段は、前記連続して配置される複数の関節のうちの前記第１関節より基端側にある少なくとも１つの関節の位置および姿勢を、前記オブジェクト当接箇所を起点にして決定する、請求項１または２に記載のゲームプログラム。
【請求項４】
前記第１動作実行手段は、フォワードキネマティクスに基づいて動作するモーションデータを再生することにより前記第１動作を実行し、
前記第２動作実行手段は、前記連続して配置される複数の関節のうちの前記第１関節より基端側にある少なくとも１つの関節の位置および姿勢をインバースキネマティクスに基づいて生成することにより前記第２動作を実行する、請求項３に記載のゲームプログラム。
【請求項５】
前記第２動作実行手段は、前記第１関節の角度を所定の角度分変化させ、前記第１関節より基端側にある少なくとも１つの関節の位置および姿勢を当該角度変化に追従させるように決定する、請求項３または４に記載のゲームプログラム。
【請求項６】
前記第１動作は、所定の把持オブジェクトを把持した前記キャラクタが前記把持オブジェクトを把持した腕部を振る動作を含み、
前記第２動作実行手段は、前記把持オブジェクトが前記オブジェクトに当接した場合、前記把持オブジェクトの当接箇所を起点にして前記腕部に含まれる関節の位置および姿勢を決定する、請求項３から５の何れかに記載のゲームプログラム。
【請求項７】
前記第１動作実行手段は、前記第１動作を、前記関節モデルを構成する複数の関節のうちの前記キャラクタの中央部に位置する所定の関節を起点にして生成する、請求項１から６の何れかに記載のゲームプログラム。
【請求項８】
前記キャラクタ動作制御手段は、前記第２動作を所定期間実行した後、前記所定の関節を起点にして、前記第１動作とは異なる第３動作を実行する第３動作実行手段を含み、
前記第３動作実行手段は、前記第２動作の前記所定期間実行後の前記キャラクタの位置および姿勢と前記第３動作の開始時の前記キャラクタの位置および姿勢との間を補間する、請求項７に記載のゲームプログラム。
【請求項９】
請求項１から８の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲームシステムに関する。
【背景技術】
【０００２】
従来、アクションゲームまたはロールプレイングゲーム等、ユーザの操作に応じてプレイヤキャラクタを３次元の仮想空間内で動作させるゲームがある。このようなゲームにおいては、敵キャラクタ等の様々なノンプレイヤキャラクタが登場し、プレイヤキャラクタが敵キャラクタを討伐することにより進行するものがある。プレイヤキャラクタおよびノンプレイヤキャラクタの動作は、複数の関節を有する関節モデルの各関節の位置および姿勢（角度）を決定することにより、実現される（例えば特許文献１等参照）。また、仮想空間には種々のオブジェクトが配置される。
【０００３】
このような従来のゲームにおいて、一のキャラクタが他のキャラクタに攻撃をヒットさせた場合には、一瞬だけ両キャラクタの動きを止める（ヒットストップ表現を行う）ことにより、攻撃がヒットした感覚を疑似的に創出している。また、一のキャラクタの攻撃が壁等のオブジェクトに当接した場合には、当接した時点で攻撃の動作を停止し、跳ね返す動作を実行している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−６１４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記のように、動きを一瞬止めたり、跳ね返す動作を実行したりするだけでは、一のキャラクタの攻撃が他のキャラクタまたはオブジェクトにヒットした場合等の動作を十分に表現しきれていない問題があった。これを解決するためには、単純に攻撃が他のキャラクタまたはオブジェクトにヒットした状態におけるキャラクタの動作についてのモーションデータを攻撃動作および／または跳ね返す動作とは別に予め作っておき、ヒット状態の期間だけ当該動作を再生することが考えられる。しかし、キャラクタの攻撃態様は多種多様であり、その時々で他のキャラクタまたはオブジェクトに当接する箇所も異なる。このため、単にヒットした状態におけるキャラクタの動作と言っても、様々な状況に合わせて多くのモーションデータを用意しておく必要が生じる。したがって、このような方法ではデータ量が多くなってしまう。
【０００６】
そこで本発明は、一のキャラクタが他のキャラクタまたはオブジェクトに当接した場合の表現をデータ量の増大を抑制しつつよりリアルに実現することができるゲームプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るゲームプログラムは、コンピュータを、３次元のキャラクタが動作する３次元の仮想空間を生成する仮想空間生成手段、前記仮想空間にオブジェクトを配置するオブジェクト配置手段、および前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、前記キャラクタ動作制御手段は、前記キャラクタにおける所定の第１動作を実行する第１動作実行手段と、前記第１動作中に、前記キャラクタにおける所定の部位が前記オブジェクトに当接した場合、前記所定の部位におけるオブジェクト当接箇所を起点にして前記キャラクタの第２動作を実行する第２動作実行手段と、を含む。
【０００８】
前記第２動作実行手段は、前記オブジェクト当接箇所の位置を固定して前記第２動作を実行してもよい。
【０００９】
前記所定の部位は、前記キャラクタにおいて連続して配置される複数の関節のうちの先端に位置する第１関節より先端側に位置する部位であり、前記第２動作実行手段は、前記連続して配置される複数の関節のうちの前記第１関節より基端側にある少なくとも１つの関節の位置および姿勢を、前記オブジェクト当接箇所を起点にして決定してもよい。
【００１０】
前記第１動作実行手段は、フォワードキネマティクスに基づいて動作するモーションデータを再生することにより前記第１動作を実行し、前記第２動作実行手段は、前記連続して配置される複数の関節のうちの前記第１関節より基端側にある少なくとも１つの関節の位置および姿勢をインバースキネマティクスに基づいて生成することにより前記第２動作を実行してもよい。
【００１１】
前記第２動作実行手段は、前記第１関節の角度を所定の角度分変化させ、前記第１関節より基端側にある少なくとも１つの関節の位置および姿勢を当該角度変化に追従させるように決定してもよい。
【００１２】
前記第１動作は、所定の把持オブジェクトを把持した前記キャラクタが前記把持オブジェクトを把持した腕部を振る動作を含み、前記第２動作実行手段は、前記把持オブジェクトが前記オブジェクトに当接した場合、前記把持オブジェクトの当接箇所を起点にして前記腕部に含まれる関節の位置および姿勢を決定してもよい。
【００１３】
前記第１動作実行手段は、前記第１動作を、前記関節モデルを構成する複数の関節のうちの前記キャラクタの中央部に位置する所定の関節を起点にして生成してもよい。
【００１４】
前記キャラクタ動作制御手段は、前記第２動作を所定期間実行した後、前記第１動作とは異なる所定の第３動作を実行する第３動作実行手段を含み、前記第３動作実行手段は、前記第２動作の前記所定期間実行後の前記キャラクタの位置および姿勢と前記第３動作の開始時の前記キャラクタの位置および姿勢との間を補間してもよい。
【００１５】
本発明の他の態様に係るゲームシステムは、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えている。
【発明の効果】
【００１６】
本発明によれば、一のキャラクタが他のキャラクタまたはオブジェクトに当接した場合の表現をデータ量の増大を抑制しつつよりリアルに実現することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態におけるゲーム装置のハードウェア構成を示すブロック図である。
【図２】図１に示すゲーム装置の機能的な構成を示すブロック図である。
【図３】本実施の形態における関節モデルを例示するための図である。
【図４】本実施の形態におけるプレイヤキャラクタの一連の動作例の流れを示す図である。
【図５】図４に示すプレイヤキャラクタが第１動作から第２動作に移行する際のオブジェクト当接箇所近傍を示す部分拡大図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【００１９】
［ゲーム概要］
以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、３次元の仮想空間が生成され、ユーザが当該仮想空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
【００２０】
［ハードウェア構成］
上述したゲームを実現するゲーム装置の構成について説明する。本実施の形態におけるゲームシステムは、下記ゲーム装置２と、当該ゲーム装置２に接続されるモニタ（表示部）１９、スピーカ２２およびコントローラ（操作部）２４などの外部装置とで構成され、下記ディスク型記憶媒体３０から読み込んだゲームプログラム３０ａおよびゲームデータ３０ｂに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置２と称する場合がある。
【００２１】
図１は、本実施の形態におけるゲーム装置２のハードウェア構成を示すブロック図である。図１に示すように、ゲーム装置２は、他のゲーム装置２およびサーバ装置３との間で、インターネットまたはＬＡＮなどの通信ネットワークＮＷを介して互いに通信可能である。このゲーム装置２は、その動作を制御するコンピュータであるＣＰＵ１０を備え、このＣＰＵ１０にはバス１１を介してディスクドライブ１２、メモリカードスロット１３、プログラム記憶部を成すＨＤＤ１４、ＲＯＭ１５およびＲＡＭ１６が接続されている。
【００２２】
また、ＣＰＵ１０には、バス１１を介してグラフィック処理部１７、オーディオ合成部２０、無線通信制御部２３およびネットワークインタフェース２５が接続されている。
【００２３】
このうちグラフィック処理部１７は、ＣＰＵ１０の指示にしたがってゲーム空間および各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部１７にはビデオ変換部１８を介して外部のモニタ１９が接続されており、グラフィック処理部１７にて描画されたゲーム画像はビデオ変換部１８において動画形式に変換され、モニタ１９にて表示されるようになっている。
【００２４】
オーディオ合成部２０は、ＣＰＵ１０の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部２０にはオーディオ変換部２１を介して外部のスピーカ２２が接続されている。したがって、オーディオ合成部２０にて再生および合成されたゲーム音声は、オーディオ変換部２１にてアナログ形式にデコードされ、さらにスピーカ２２から外部へ出力されるようになっている。
【００２５】
さらに、オーディオ合成部２０は、ゲーム装置２に接続されるヘッドセットやコントローラ２４等に設けられたマイク２６から入力されるユーザの音声等がオーディオ変換部２１にてデジタル形式にコードされたデータを取得可能である。オーディオ合成部２０は、取得したデータをＣＰＵ１０に入力情報として伝えることができる。
【００２６】
無線通信制御部２３は、２．４ＧＨｚ帯の無線通信モジュールを有し、ゲーム装置２に付属するコントローラ２４との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ２４に設けられたボタン等の操作子（後述）を操作することにより、ゲーム装置２へ信号を入力することができ、モニタ１９に表示されるプレイヤキャラクタの動作を制御可能になっている。また、ネットワークインタフェース２５は、インターネットまたはＬＡＮなどの通信ネットワークＮＷに対してゲーム装置２を接続するものであり、他のゲーム装置２またはサーバ装置３との間で通信可能である。そして、ゲーム装置２を、通信ネットワークＮＷを介して他のゲーム装置２と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。これにより、本ゲームにおいては、複数のユーザに対応する複数のプレイヤキャラクタが協同して敵キャラクタと戦う、または複数のユーザ同士が敵対して対戦する、マルチプレイが可能である。
【００２７】
［ゲーム装置の機能的構成］
図２は、図１に示すゲーム装置２の機能的な構成を示すブロック図である。図１に示すようにゲーム装置２は、ＣＰＵ１０、ＨＤＤ１４、ＲＯＭ１５、ＲＡＭ１６、グラフィック処理部１７、ビデオ変換部１８、オーディオ合成部２０、オーディオ変換部２１、ネットワークインタフェース２５などを含む制御部４を備えたコンピュータとして動作する。そして、図２に示すように、ゲーム装置２の制御部４は、本発明のゲームプログラム３０ａを実行することで、仮想空間生成手段４１、オブジェクト配置手段４２、および、キャラクタ動作制御手段４３等の機能を発揮する。キャラクタ動作制御手段４３は、第１動作実行手段４４と、第２動作実行手段４５と、第３動作実行手段４６と、を含む。
【００２８】
このうち、仮想空間生成手段４１は、３次元の仮想空間を生成する。当該仮想空間が、ユーザが操作するプレイヤキャラクタが行動するゲーム空間となる。また、オブジェクト配置手段４２は、仮想空間に種々のオブジェクトを配置する。例えば、オブジェクト配置手段４２は、プレイヤキャラクタの移動に伴って、ゲームデータ３０ｂに含まれるオブジェクト等のデータを読み出し、仮想空間に配置する。オブジェクト配置手段４２は、プレイヤキャラクタおよび敵キャラクタ等のノンプレイヤキャラクタも仮想空間に配置する。
【００２９】
キャラクタ動作制御手段４３は、キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、キャラクタの動作を制御する。キャラクタ動作制御手段４３は、例えば、ユーザによるコントローラ２４の操作に応じて、プレイヤキャラクタの各種動作を制御する。さらに、キャラクタ動作制御手段４３は、例えば、敵キャラクタおよび敵キャラクタでないノンプレイヤキャラクタ（味方となって一緒に敵キャラクタを攻撃するキャラクタや味方でも敵でもない村人などのキャラクタ等）の動作も制御する。
【００３０】
図３は、本実施の形態における関節モデルを例示するための図である。図３には、武器（把持オブジェクト）である斧Ｗを把持したプレイヤキャラクタＰが例示されている。図３に示されるプレイヤキャラクタＰは人間を模したキャラクタとして構成されている。すなわち、プレイヤキャラクタＰは、頭部１００、首部１０１、胸部１０２、腰部１０３、腕部１０４、脚部１０５等を有する複数の部位で構成される。関節モデルＭは、これらの部位のそれぞれに対応付けられた複数の関節Ｊ（Ｊ０，Ｊ１〜Ｊ３を含む）と、所定の２つの関節Ｊ−Ｊ間を接続する骨Ｂとを有している。プレイヤキャラクタＰの各部位の体表面は多数のポリゴンの組み合わせで構成されており、各ポリゴンの頂点は１または複数の関節Ｊに関連付けられている。プレイヤキャラクタＰの動作は、関節Ｊを移動させる（位置を変える）および／または所定角度回転させる（姿勢を変える）ことで行われる。関節Ｊの位置または姿勢の変化に応じて、その関節Ｊに関連付けられているポリゴンが連動して変形し、プレイヤキャラクタＰの様々な動作が実現される。
【００３１】
通常、キャラクタ動作制御手段４３は、所定のモーションデータに基づいて身体の中心部に位置する関節（図３の例では腰関節Ｊ０）を起点にして動作を生成する。後述する第１動作および第３動作は、腰関節Ｊ０を起点にして生成される。具体的には、キャラクタ動作制御手段４３は、所定の部位を移動させる動作（例えば斧Ｗを振る動作、すなわち、斧Ｗを把持する手の位置を所定の第１位置から第２位置に移動させる動作）を行う際、まず、腰関節Ｊ０の位置および姿勢を決定し、次に当該関節Ｊ０に骨Ｂを介して接続されている関節（胸部１０２の関節および脚部１０５の関節）の位置および姿勢を決定する。その後、胸部１０２の関節Ｊに骨Ｂを介して接続されている関節（腕部１０４の関節Ｊ３，Ｊ２，Ｊ１）の位置および姿勢を決定する。
【００３２】
すなわち、キャラクタ動作制御手段４３は、プレイヤキャラクタＰの中央部の部位（基端側部位）の関節（親関節）から順に先端側部位の関節（子関節）の位置および姿勢を決定することによって、プレイヤキャラクタＰの全身の動きを決定する。例えば、キャラクタ動作制御手段４３は、フォワードキネマティクス（ＦＫ）に基づいて各関節Ｊの位置および姿勢を決定する。
【００３３】
なお、本実施の形態および特許請求の範囲において、「関節の位置および姿勢を決定する」とは、関節の座標と関節の所定位置からの角度とを変更可能なパラメータとして有するという意味であり、動作の前後において、関節の位置および姿勢のうちの何れかが変化しない状態も含まれ得る。
【００３４】
さらに、キャラクタ動作制御手段４３は、プレイヤキャラクタＰの先端側部位（例えば手、足等）の関節から順に中央部の部位の関節の位置および姿勢を決定することによって、プレイヤキャラクタＰの全身の動きを決定することもできる。例えば、キャラクタ動作制御手段４３は、インバースキネマティクス（ＩＫ）に基づいて各関節Ｊの位置および姿勢が決定され得る。すなわち、ＩＫの場合、親関節と子関節との関係がＦＫと逆になる。
【００３５】
［キャラクタ動作制御の具体例］
図４は、本実施の形態におけるプレイヤキャラクタの一連の動作例の流れを示す図である。図４においては、プレイヤキャラクタＰを、一連の動作に含まれる各動作に応じて異なる符号を付して区別している。具体的には、下記第１動作を行っている状態のプレイヤキャラクタをＰａとし、第２動作を行っている状態のプレイヤキャラクタをＰｂとし、第３動作を行っている状態のプレイヤキャラクタＰｃとしている。
【００３６】
本実施の形態において、キャラクタ動作制御手段４３は、プレイヤキャラクタＰａが斧Ｗを振り下ろす動作（第１動作）と、当該第１動作中に斧Ｗが固定オブジェクトである壁Ｑに当接した場合に、斧Ｗが跳ね返る動作または壁Ｑから引き抜く動作（第３動作）との間に、斧Ｗが壁Ｑに食い込んだように見せるための溜め込み動作（第２動作）を実行する。このために、キャラクタ動作制御手段４３は、このような一連の動作を実行するために、第１動作実行手段４４、第２動作実行手段４５、および、第３動作実行手段４６の各機能を実行する。
【００３７】
まず、ユーザによるコントローラ２４の操作に基づいて、第１動作実行手段４４がプレイヤキャラクタＰにおける所定の第１動作を実行する。より具体的には、第１動作実行手段４４は、ゲームデータ３０ｂに記憶されている斧Ｗの振り下ろし動作についてのモーションデータを読み出し、当該モーションデータを実行する。これにより、プレイヤキャラクタＰａは、斧Ｗを把持した腕部１０４を振り下ろす動作を行う。第１動作実行手段４４は、第１動作を、関節モデルＭを構成する複数の関節Ｊのうちの中央部に位置する所定の関節（腰関節Ｊ０）を起点にして生成する。例えば、第１動作のためのモーションデータは、ＦＫに基づいて動作するデータとして構成される。
【００３８】
キャラクタ動作制御手段４３は、第１動作中、所定のタイミングごと（例えば１フレームごと）に、プレイヤキャラクタＰａにおける所定の部位が所定のオブジェクト（図４の例では壁Ｑ）に当接したかどうかを判定する。本実施の形態において、所定の部位は、プレイヤキャラクタＰａが把持する斧Ｗである。このように、本実施の形態および特許請求の範囲における「キャラクタにおける所定の部位」には、キャラクタ本体のみならず、キャラクタが把持する把持オブジェクト（例えば武器、バット等）またはキャラクタが装着している装着オブジェクト（例えば鎧、グローブ等）が含まれ得る。
【００３９】
斧Ｗが壁Ｑに当接したと判定された場合、第２動作実行手段４５は、プレイヤキャラクタＰｂにおける第２動作を実行する。より具体的には、第２動作実行手段４５は、ゲームデータ３０ｂに記憶されている斧Ｗの溜め込み動作についてのモーションデータを読み出し、当該モーションデータを実行する。これにより、プレイヤキャラクタＰｂは、斧Ｗを把持する腕部に力が溜め込まれたような動作を行う。
【００４０】
図５は、図４に示すプレイヤキャラクタが第１動作から第２動作に移行する際のオブジェクト当接箇所近傍を示す部分拡大図である。第２動作は、斧Ｗにおけるオブジェクト当接箇所Ｔを起点にする動作として構成される。より具体的には、第２動作実行手段４５は、オブジェクト当接箇所Ｔの位置を固定して第２動作を実行する。さらに、第２動作実行手段４５は、第２動作を、関節モデルＭを構成する複数の関節Ｊのうちの斧Ｗを把持する腕部１０４の先端に位置する第１関節（手首関節）Ｊ１より基端側にある少なくとも１つの関節（例えば肘関節Ｊ２および肩関節Ｊ３）の位置および姿勢を、オブジェクト当接箇所Ｔを起点にして決定する。
【００４１】
第２動作実行手段４５は、オブジェクト当接箇所Ｔに最も近い関節（すなわち斧Ｗを把持する手の手首関節Ｊ１）の角度を所定の角度θ分変化させ、それより基端側にある少なくとも１つの関節（例えば肘関節Ｊ２および肩関節Ｊ３）の位置および姿勢を、当該角度変化に追従させるように決定する。例えば、第２動作のためのモーションデータは、手首関節Ｊ１については、壁Ｑへの当接時における手首関節Ｊ１の角度（骨Ｂ１と骨Ｂ２とのなす角度）が所定の角度θ分減算されるように動作し、肘関節Ｊ２および肩関節Ｊ３については、ＩＫに基づいて動作するデータとして構成される。
【００４２】
すなわち、本実施の形態において、第１動作実行手段４４は、ＦＫに基づいて動作するモーションデータを再生することにより第１動作を実行し、第２動作実行手段４５は、連続して配置される複数の関節Ｊ１〜Ｊ３のうちの第１関節（手首関節）Ｊ１より基端側にある関節Ｊ２，Ｊ３の位置および姿勢をＩＫに基づいて生成することにより第２動作を実行する。
【００４３】
第２動作実行手段４５は、壁Ｑへの当接時にオブジェクト当接箇所Ｔの位置を取得する。そして、第２動作実行手段４５は、図５に示すプレイヤキャラクタＰａの腕部（想像線で示す）のように、壁Ｑへの当接時における手首関節Ｊ１の角度から所定の角度θを減算した位置に斧Ｗおよび骨Ｂ１，Ｂ２を移動する。この際、斧Ｗにおける当該オブジェクト当接箇所Ｔの位置を維持すること（すなわち、同じ位置で斧Ｗが壁Ｑに当接していること）が制約条件として設定される。したがって、図５に示すプレイヤキャラクタＰｂの腕部（破線で示す）のように、オブジェクト当接箇所Ｔを中心として、斧Ｗおよび骨Ｂ１，Ｂ２が所定の角度θ分回転した位置に移動する。これにより、手首関節Ｊ１の位置および姿勢ならびに肘関節Ｊ２の位置が決定される。
【００４４】
第２動作実行手段４５は、斧Ｗおよび骨Ｂ１，Ｂ２の移動に応じて肘関節Ｊ２の姿勢ならびに肩関節Ｊ３の位置および姿勢を決定する。この際、第２動作実行手段４５は、プレイヤキャラクタＰｂの腕部１０４以外の関節（腰関節Ｊ０等）の位置および姿勢を、腰関節Ｊ０を起点にして（ＦＫに基づいて）決定し、肘関節Ｊ２の姿勢ならびに肩関節Ｊ３の位置および姿勢を、腕部１０４が胸部１０２に滑らかに繋がるように、オブジェクト当接箇所Ｔを起点にして（ＩＫに基づいて）決定してもよい。
【００４５】
以上のような態様によれば、オブジェクト当接箇所Ｔを起点にする第２動作が実行されるため、単にヒットストップを行うだけの従来の態様に比べて、斧Ｗが壁Ｑに食い込んだとき等の表現をユーザによりリアルに感じさせることができる。しかも、第２動作がオブジェクト当接箇所Ｔを起点とする動作であることにより、キャラクタの攻撃態様、オブジェクト当接箇所Ｔの位置によらず、一のモーションデータ（上記例においては、手首関節Ｊ１の角度設定と、手首関節Ｊ１より基端部にある関節Ｊ２，Ｊ３の位置および姿勢をＩＫに基づいて決定すること）を追加するだけで、様々な攻撃態様および様々な壁Ｑ等への当接状態に応じて第２動作を実行することができる。したがって、データ量の増大を抑制しつつよりリアルな表現を実現することができる。また、オブジェクト当接箇所Ｔを固定することにより、各関節の位置および姿勢を決定する演算をより簡単化することができる。
【００４６】
第２動作を所定期間実行した後（または第２動作の終了後）、第３動作実行手段４６は、腰関節Ｊ０を起点にし、第１動作とは異なる所定の第３動作を実行する。より具体的には、第３動作実行手段４６は、ゲームデータ３０ｂに記憶されている斧Ｗが跳ね返る動作についてのモーションデータを読み出し、当該モーションデータを実行する。これにより、プレイヤキャラクタＰｃは、斧Ｗが壁Ｑに当接した後、跳ね返った反動でのけ反るような動作を行う。第３動作実行手段４６は、第３動作を、関節モデルＭを構成する複数の関節Ｊのうちの腰関節Ｊ０を起点にして生成する。例えば、第３動作のためのモーションデータは、ＦＫに基づいて動作するデータとして構成される。
【００４７】
なお、第３動作のモーションデータには、予め当該第３動作の開始時点における各関節Ｊの位置および姿勢（第３動作初期値）が定められている。第３動作実行手段４６は、第２動作の所定期間実行後のプレイヤキャラクタＰｂの位置および姿勢と、第３動作の開始時のプレイヤキャラクタＰｃの位置および姿勢と、の間を補間するようにプレイヤキャラクタＰの動作を制御する。このような補間動作において、第３動作実行手段４６は、各関節の位置および姿勢を手首関節Ｊ１を起点にして（ＩＫに基づいて）決定してもよいし、腰関節Ｊ０を起点にして（ＦＫに基づいて）決定してもよい。
【００４８】
例えば、ＩＫに基づいて実行される第３動作として、第３動作実行手段４６は、プレイヤキャラクタＰが壁Ｑに刺さった斧Ｗを引き抜く動作を実行してもよい。プレイヤキャラクタＰは、斧Ｗが壁Ｑに刺さった位置（オブジェクト当接箇所Ｔ）に位置した状態で、斧Ｗを引き抜く動作（引き抜こうとするが抜けない動作）を複数回繰り返す。このような動作がオブジェクト当接箇所Ｔを起点にしてＩＫに基づいて決定される。これにより、斧Ｗが壁Ｑから抜けないリアルな動作を表現することができる。さらにその後、キャラクタ動作制御手段４３は、斧Ｗが壁Ｑから抜けたことによるプレイヤキャラクタＰの動作をＦＫに基づいて実行してもよい。
【００４９】
また、第２動作の後、プレイヤキャラクタＰが壁Ｑに刺さった状態の斧Ｗから手を離す動作をしてもよい。例えば、第２動作の後、ユーザの操作によりプレイヤキャラクタＰを移動させる操作が入力されると、プレイヤキャラクタＰは斧Ｗから手を離す動作をＦＫに基づいて実行するとともに、仮想空間内を移動する動作をＦＫに基づいて実行してもよい。この場合、プレイヤキャラクタＰが再度壁Ｑに刺さった状態の斧Ｗの位置に戻り、ユーザから所定の操作がされた場合、プレイヤキャラクタＰは斧Ｗを握る動作をＦＫに基づいて実行する。
【００５０】
すなわち、第３動作実行手段４６は、プレイヤキャラクタＰの先端の関節位置を移動させない場合にはプレイヤキャラクタＰの動作をＩＫに基づいて制御し、プレイヤキャラクタＰの先端の関節位置を移動させる場合にはプレイヤキャラクタＰの動作をＦＫに基づいて制御する。
【００５１】
これにより、第２動作から第３動作への切り替えユーザに違和感を与えることなくスムーズに行うことができる。
【００５２】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【００５３】
例えば、上記実施の形態においては、プレイヤキャラクタＰにおける一連の動作について説明したが、敵キャラクタ等のノンプレイヤキャラクタにおける一連の動作に適用することも可能である。
【００５４】
また、上記実施の形態においては、プレイヤキャラクタＰが斧を振り下ろす動作（攻撃動作）について例示したが、適用可能な動作はこれに限られない。例えば、バットまたはラケットを把持したキャラクタが当該バットまたはラケットを振って、ボールに当てた場合に、バットまたはラケットを把持したキャラクタの腕部の動作として上記第２動作と同様の動作を適用してもよい。これにより、バットまたはラケットにボールが当たったことについての誇張表現を実現することができる。また、例えば、野球のグローブを装着したキャラクタがボールを捕球した際に、グローブを装着した方の腕部が押されるような動作として上記第２動作と同様の動作を適用してもよい。
【００５５】
また、キャラクタの手または足等が直接オブジェクトに当接した場合に、上記第２動作と同様の動作を適用してもよい。このように、第２動作の起点となるキャラクタの所定の部位は、様々に設定され得る。
【００５６】
このように、キャラクタの所定の部位に当接するオブジェクトは、上記壁Ｑ、木、柱等の固定オブジェクトであってもよいし、ボール、他のキャラクタ等の移動オブジェクトであってもよい。移動オブジェクトの場合には、キャラクタの第１動作は例えばグローブを構える等の静止状態を含み得る。
【００５７】
上記実施の形態において、関節モデルＭに含まれる複数の関節Ｊは人間の関節を模したものでもよいし、モンスター等、より多い関節またはより少ない関節を有していてもよい。すなわち、上記動作が適用できるキャラクタは、人間のキャラクタだけでなく、様々なモンスター等も含まれる。
【００５８】
上記実施の形態において、第２動作の際に、設定される手首関節Ｊ１の所定の角度θは、つねに固定の値としてもよいし、条件に応じて異なる値としてもよい。例えば、当接するオブジェクトの材質（他のキャラクタ、壁、木等）に応じて異なる角度に設定されてもよい。また、武器の種類（刀か斧か、同じ斧でも大きい斧か小さい斧か等）、攻撃の種類（モーションが遅く攻撃力の高い大攻撃かモーションが速く攻撃力の低い小攻撃か等）、キャラクタの能力（攻撃力、体力、男性キャラクタか女性キャラクタか等）等に応じて異なる角度に設定されてもよい。
【００５９】
また、上記実施の形態においては、第２動作の際に、オブジェクト当接箇所の位置を固定する態様を例示したが、当接後、オブジェクト当接箇所の位置（第２動作の起点にする位置）を移動させてもよい。この場合、オブジェクトとキャラクタの当接部位とが当接した状態を維持しつつ同じように移動する（オブジェクトとキャラクタにおけるオブジェクト当接箇所の相対位置は変化しないように移動する）こととしてもよい。
【００６０】
オブジェクト配置手段４２は、第２動作または第３動作の後、壁Ｗ等のオブジェクトにおけるオブジェクト当接箇所Ｔに対応する位置に、傷を表現するテクスチャ等を貼り付けてもよい。傷を表現するテクスチャは、武器の種類または攻撃の種類等に応じて異なってもよい。
【００６１】
また、上記実施の形態においては、アクションゲームを例示したが、３次元のキャラクタについての上記動作態様は、ロールプレイングゲーム、シミュレーションゲームまたはシューティングゲーム等、３次元の仮想空間を用いる種々のゲームに適用可能である。
【００６２】
また、上記実施の形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
【産業上の利用可能性】
【００６３】
本発明は、一のキャラクタが他のキャラクタまたはオブジェクトに当接した場合の表現をデータ量の増大を抑制しつつよりリアルに実現するために有用である。
【符号の説明】
【００６４】
２  ゲーム装置
３０ａ  ゲームプログラム
３０ｂ  ゲームデータ
４１  仮想空間生成手段
４２  オブジェクト配置手段
４３  キャラクタ動作制御手段
４４  第１動作実行手段
４５  第２動作実行手段
４６  第３動作実行手段
Ｊ  関節
Ｊ０  腰関節
Ｊ１  手首関節
Ｍ  関節モデル
Ｐ，Ｐａ〜Ｐｃ  プレイヤキャラクタ
【図１】
2018027217.tif 000003
【図２】
2018027217.tif 000004
【図３】
2018027217.tif 000005
【図４】
2018027217.tif 000006
【図５】
2018027217.tif 000007