(57)【要約】【課題】  キャラクタの一の動作に対して複数の目標位置が設定され得る動作をデータ量の増大を抑制しつつ容易に実現することができるゲームプログラムおよびゲームシステムを提供する。【解決手段】  コンピュータを、仮想空間生成手段、およびキャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、キャラクタ動作制御手段は、キャラクタの所定部位が所定の仮想基準平面または仮想基準線分上を移動するような基本軌道を表す基本軌道データを取得する基本軌道データ取得手段と、仮想基準平面または仮想基準線分の角度を変更することにより基本軌道を修正した修正軌道を生成する修正軌道生成手段と、修正軌道を移動する所定部位を起点にして関節モデルの各関節の位置および姿勢を決定する動作修正手段と、を含む。【選択図】図４
2018028810.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
３次元のキャラクタが動作する３次元の仮想空間を生成する仮想空間生成手段、および
前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、
前記キャラクタ動作制御手段は、
前記キャラクタの所定部位が所定の仮想基準平面または仮想基準線分上を移動するような基本軌道を表す基本軌道データを取得する基本軌道データ取得手段と、
前記仮想基準平面または前記仮想基準線分の角度を変更することにより前記基本軌道を修正した修正軌道を生成する修正軌道生成手段と、
前記修正軌道を移動する前記所定部位を起点にして前記関節モデルの各関節の位置および姿勢を決定する動作修正手段と、を含む、ゲームプログラム。
【請求項２】
前記修正軌道生成手段は、前記キャラクタの所定の基準位置からの行動方向を設定し、前記行動方向に前記仮想基準平面または前記仮想基準線分が平行になる、または一致するように前記角度を変更する、請求項１に記載のゲームプログラム。
【請求項３】
前記修正軌道生成手段は、前記所定部位が通過する通過点を設定し、前記通過点が前記仮想基準平面または前記仮想基準線分に含まれるように前記角度を変更する、請求項１に記載のゲームプログラム。
【請求項４】
前記修正軌道生成手段は、所定の時間間隔ごとに前記角度を変更できる、請求項１から３の何れかに記載のゲームプログラム。
【請求項５】
前記動作修正手段は、前記関節モデルの各関節の位置および姿勢の変化が全体として最小になるように前記関節モデルの各関節の位置および姿勢を決定する、請求項１から４の何れかに記載のゲームプログラム。
【請求項６】
請求項１から５の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲームシステムに関する。
【背景技術】
【０００２】
従来、アクションゲームまたはロールプレイングゲーム等、ユーザの操作に応じてプレイヤキャラクタを３次元の仮想空間内で動作させるゲームがある。このようなゲームにおいては、敵キャラクタ等の様々なノンプレイヤキャラクタが登場し、プレイヤキャラクタが敵キャラクタを討伐することにより進行するものがある。プレイヤキャラクタおよびノンプレイヤキャラクタの動作は、複数の関節を有する関節モデルの各関節の位置および姿勢（角度）を定めることにより、実現される（例えば特許文献１等参照）。
【０００３】
このような従来のゲームにおいて、一のキャラクタが他のキャラクタに打撃武器等を用いて攻撃を行う場合、よりリアルな攻撃態様を創出するためには、攻撃相手である他のキャラクタの回避行動（しゃがむ等）や弱点部位（頭部が弱点であるのか脚部が弱点であるのか等）に応じて武器の軌道を変更する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−６１４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の態様では、複数の部位（高さ等）を攻撃するための攻撃動作をキャラクタに行わせるためには、狙う部位ごとに異なる動作角度を有する複数のモーションデータが必要となっていた。武器の相違等、攻撃態様自体が異なる場合には、攻撃態様毎に複数のモーションデータが必要になることになり、データ量が多くなってしまう。このような問題は、攻撃動作のみに限られず、一の動作に対して複数の目標位置が設定され得る動作（例えばスポーツゲームにおけるバット、ラケット等の振り動作等）であれば同様に生じ得る。
【０００６】
そこで本発明は、キャラクタの一の動作に対して複数の目標位置が設定され得る動作をデータ量の増大を抑制しつつ容易に実現することができるゲームプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るゲームプログラムは、コンピュータを、３次元のキャラクタが動作する３次元の仮想空間を生成する仮想空間生成手段、および前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、前記キャラクタ動作制御手段は、前記キャラクタの所定部位が所定の仮想基準平面または仮想基準線分上を移動するような基本軌道を表す基本軌道データを取得する基本軌道データ取得手段と、前記仮想基準平面または前記仮想基準線分の角度を変更することにより前記基本軌道を修正した修正軌道を生成する修正軌道生成手段と、前記修正軌道を移動する前記所定部位を起点にして前記関節モデルの各関節の位置および姿勢を決定する動作修正手段と、を含む。
【０００８】
前記修正軌道生成手段は、前記キャラクタの基準位置からの行動方向を設定し、前記行動方向に前記仮想基準平面または前記仮想基準線分が平行になる、または一致するように前記角度を変更してもよい。
【０００９】
前記修正軌道生成手段は、前記所定部位が通過する通過点を設定し、前記通過点が前記仮想基準平面または前記仮想基準線分に含まれるように前記角度を変更してもよい。
【００１０】
前記修正軌道生成手段は、所定の時間間隔ごとに前記角度を変更可能としてもよい。
【００１１】
前記動作修正手段は、前記関節モデルの各関節の位置および姿勢の変化が全体として最小になるように前記関節モデルの各関節の位置および姿勢を決定してもよい。
【００１２】
本発明の他の態様に係るゲームシステムは、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えている。
【発明の効果】
【００１３】
本発明によれば、キャラクタの一の動作に対して複数の目標位置が設定され得る動作をデータ量の増大を抑制しつつ容易に実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態におけるゲーム装置のハードウェア構成を示すブロック図である。
【図２】図１に示すゲーム装置の機能的な構成を示すブロック図である。
【図３】本実施の形態における関節モデルを例示するための図である。
【図４】本実施の形態における敵キャラクタの一の動作の例を示す図である。
【図５】本実施の形態における敵キャラクタの他の動作の例を示す図である。
【図６】図４に示す敵キャラクタの動作の他の制御態様を示す図である。
【図７】図５に示す敵キャラクタの動作の他の制御態様を示す図である。
【図８】本実施の形態における敵キャラクタの一連の動作例の流れを示す図である。
【図９】図８に示す敵キャラクタが第１動作から第２動作に移行する際のオブジェクト当接箇所近傍を示す部分拡大図である。
【図１０】本実施の形態における動作を説明するための簡単な動作例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【００１６】
［ゲーム概要］
以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、３次元の仮想空間が生成され、ユーザが当該仮想空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
【００１７】
［ハードウェア構成］
上述したゲームを実現するゲーム装置の構成について説明する。本実施の形態におけるゲームシステムは、下記ゲーム装置２と、当該ゲーム装置２に接続されるモニタ（表示部）１９、スピーカ２２およびコントローラ（操作部）２４などの外部装置とで構成され、下記ディスク型記憶媒体３０から読み込んだゲームプログラム３０ａおよびゲームデータ３０ｂに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置２と称する場合がある。
【００１８】
図１は、本実施の形態におけるゲーム装置２のハードウェア構成を示すブロック図である。図１に示すように、ゲーム装置２は、他のゲーム装置２およびサーバ装置３との間で、インターネットまたはＬＡＮなどの通信ネットワークＮＷを介して互いに通信可能である。このゲーム装置２は、その動作を制御するコンピュータであるＣＰＵ１０を備え、このＣＰＵ１０にはバス１１を介してディスクドライブ１２、メモリカードスロット１３、プログラム記憶部を成すＨＤＤ１４、ＲＯＭ１５およびＲＡＭ１６が接続されている。
【００１９】
また、ＣＰＵ１０には、バス１１を介してグラフィック処理部１７、オーディオ合成部２０、無線通信制御部２３およびネットワークインタフェース２５が接続されている。
【００２０】
このうちグラフィック処理部１７は、ＣＰＵ１０の指示にしたがってゲーム空間および各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部１７にはビデオ変換部１８を介して外部のモニタ１９が接続されており、グラフィック処理部１７にて描画されたゲーム画像はビデオ変換部１８において動画形式に変換され、モニタ１９にて表示されるようになっている。
【００２１】
オーディオ合成部２０は、ＣＰＵ１０の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部２０にはオーディオ変換部２１を介して外部のスピーカ２２が接続されている。したがって、オーディオ合成部２０にて再生および合成されたゲーム音声は、オーディオ変換部２１にてアナログ形式にデコードされ、さらにスピーカ２２から外部へ出力されるようになっている。
【００２２】
さらに、オーディオ合成部２０は、ゲーム装置２に接続されるヘッドセットやコントローラ２４等に設けられたマイク２６から入力されるユーザの音声等がオーディオ変換部２１にてデジタル形式にコードされたデータを取得可能である。オーディオ合成部２０は、取得したデータをＣＰＵ１０に入力情報として伝えることができる。
【００２３】
無線通信制御部２３は、２．４ＧＨｚ帯の無線通信モジュールを有し、ゲーム装置２に付属するコントローラ２４との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ２４に設けられたボタン等の操作子（後述）を操作することにより、ゲーム装置２へ信号を入力することができ、モニタ１９に表示されるプレイヤキャラクタの動作を制御可能になっている。また、ネットワークインタフェース２５は、インターネットまたはＬＡＮなどの通信ネットワークＮＷに対してゲーム装置２を接続するものであり、他のゲーム装置２またはサーバ装置３との間で通信可能である。そして、ゲーム装置２を、通信ネットワークＮＷを介して他のゲーム装置２と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。これにより、本ゲームにおいては、複数のユーザに対応する複数のプレイヤキャラクタが協同して敵キャラクタと戦う、または複数のユーザ同士が敵対して対戦する、マルチプレイが可能である。
【００２４】
［ゲーム装置の機能的構成］
図２は、図１に示すゲーム装置２の機能的な構成を示すブロック図である。図１に示すようにゲーム装置２は、ＣＰＵ１０、ＨＤＤ１４、ＲＯＭ１５、ＲＡＭ１６、グラフィック処理部１７、ビデオ変換部１８、オーディオ合成部２０、オーディオ変換部２１、ネットワークインタフェース２５などを含む制御部４を備えたコンピュータとして動作する。そして、図２に示すように、ゲーム装置２の制御部４は、本発明のゲームプログラム３０ａを実行することで、仮想空間生成手段４１、オブジェクト配置手段４２、および、キャラクタ動作制御手段４３等の機能を発揮する。キャラクタ動作制御手段４３は、基本軌道データ取得手段４４と、修正軌道生成手段４５と、動作修正手段４６と、第１動作実行手段４７と、第２動作実行手段４８と、を含む。
【００２５】
このうち、仮想空間生成手段４１は、３次元の仮想空間を生成する。当該仮想空間が、ユーザが操作するプレイヤキャラクタが行動するゲーム空間となる。また、オブジェクト配置手段４２は、仮想空間に種々のオブジェクトを配置する。例えば、オブジェクト配置手段４２は、プレイヤキャラクタの移動に伴って、ゲームデータ３０ｂに含まれるオブジェクト等のデータを読み出し、仮想空間に配置する。オブジェクト配置手段４２は、プレイヤキャラクタおよび敵キャラクタ等のノンプレイヤキャラクタも仮想空間に配置する。
【００２６】
キャラクタ動作制御手段４３は、キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、キャラクタの動作を制御する。キャラクタ動作制御手段４３は、例えば、プレイヤによるコントローラ２４の操作に応じて、プレイヤキャラクタの各種動作を制御する。さらに、キャラクタ動作制御手段４３は、例えば、敵キャラクタおよび敵キャラクタでないノンプレイヤキャラクタ（味方となって一緒に敵キャラクタを攻撃するキャラクタや味方でも敵でもない村人などのキャラクタ等）の動作も制御する。
【００２７】
図３は、本実施の形態における関節モデルを例示するための図である。図３には、武器（把持オブジェクト）であるチェーンソーＷ１を把持した敵キャラクタＥが例示されている。図３に示されるプレイヤキャラクタＰは人間を模したキャラクタとして構成されている。すなわち、プレイヤキャラクタＰは、頭部１００、首部１０１、胸部１０２、腰部１０３、腕部１０４、脚部１０５等を有する複数の部位で構成される。関節モデルＭは、これらの部位のそれぞれに対応付けられた複数の関節Ｊ（Ｊ０，Ｊ１〜Ｊ３を含む）と、所定の２つの関節Ｊ−Ｊ間を接続する骨Ｂとを有している。プレイヤキャラクタＰの各部位の体表面は多数のポリゴンの組み合わせで構成されており、各ポリゴンの頂点は１または複数の関節Ｊに関連付けられている。プレイヤキャラクタＰの動作は、関節Ｊを移動させる（位置を変える）および／または所定角度回転させる（姿勢を変える）ことで行われる。関節Ｊの位置または姿勢の変化に応じて、その関節Ｊに関連付けられているポリゴンが連動して変形し、プレイヤキャラクタＰの様々な動作が実現される。
【００２８】
通常、キャラクタ動作制御手段４３は、所定のモーションデータに基づいて身体の中心部に位置する関節（図３の例では腰関節Ｊ０）を起点にして動作を生成する。後述する基本動作は、腰関節Ｊ０を起点にして生成される。具体的には、キャラクタ動作制御手段４３は、所定の部位を移動させる動作（例えばチェーンソーＷ１を振る動作、すなわち、チェーンソーＷ１を把持する手の位置を所定の第１位置から第２位置に移動させる動作）を行う際、まず、腰関節Ｊ０の位置および姿勢を決定し、次に当該関節Ｊ０に骨Ｂを介して接続されている関節（胸部１０２の関節および脚部１０５の関節）の位置および姿勢を決定する。その後、胸部１０２の関節Ｊに骨Ｂを介して接続されている関節（腕部１０４の関節Ｊ３，Ｊ２，Ｊ１）の位置および姿勢を決定する。
【００２９】
すなわち、キャラクタ動作制御手段４３は、敵キャラクタＥの中央部の部位（基端側部位）の関節（親関節）から順に先端側部位の関節（子関節）の位置および姿勢を決定することによって、敵キャラクタＥの全身の動きを決定する。例えば、キャラクタ動作制御手段４３は、フォワードキネマティクス（ＦＫ）に基づいて各関節Ｊの位置および姿勢を決定する。
【００３０】
なお、本実施の形態および特許請求の範囲において、「関節の位置および姿勢を決定する」とは、関節の座標と関節の所定位置からの角度とを変更可能なパラメータとして有するという意味であり、動作の前後において、関節の位置および姿勢のうちの何れかが変化しない状態も含まれ得る。
【００３１】
さらに、キャラクタ動作制御手段４３は、敵キャラクタＥの先端側部位（例えば手、足等）の関節から順に中央部の部位の関節の位置および姿勢を決定することによって、敵キャラクタＥの全身の動きを決定することもできる。例えば、キャラクタ動作制御手段４３は、インバースキネマティクス（ＩＫ）に基づいて各関節Ｊの位置および姿勢が決定され得る。すなわち、ＩＫの場合、親関節と子関節との関係がＦＫと逆になる。
【００３２】
本実施の形態において、ゲームデータ３０ｂとして敵キャラクタＥの所定部位が所定の仮想基準平面Ｂ１または仮想基準線分Ｂ２上を移動するような基本軌道を表す基本軌道データが記憶されている。キャラクタ動作制御手段４３は、基本軌道データに基づいた敵キャラクタＥの動作制御を行うべく基本軌道データ取得手段４４、修正軌道生成手段４５および動作修正手段４６の機能を実行する。
【００３３】
［仮想基準平面を用いた動作の具体例］
図４は、本実施の形態における敵キャラクタの一の動作の例を示す図である。図４においては、敵キャラクタＥが左手ＨでチェーンソーＷ１を把持した状態で、当該チェーンソーＷ１を振り回して攻撃する動作を示している。
【００３４】
敵キャラクタＥが上記動作を行う場合、基本軌道データ取得手段４４は、当該動作の間、敵キャラクタＥの所定部位が予め定められた仮想基準平面Ｂ１上を移動するように制御するような、基本軌道データ（モーションデータ）を取得する。図４の例において、仮想基準平面Ｂ１上を移動する敵キャラクタＥの所定部位は、チェーンソーＷ１の先端部Ｔである。これに代えて、例えば、敵キャラクタＥの手首関節Ｊ１を所定部位に設定してもよい。このように、本実施の形態および特許請求の範囲における「キャラクタの所定部位」には、キャラクタ本体のみならず、キャラクタが把持する把持オブジェクト（例えば武器、バット等）またはキャラクタが装着している装着オブジェクト（例えば鎧、グローブ等）が含まれ得る。
【００３５】
ゲームデータ３０ｂとして記憶されているモーションデータの初期状態において仮想基準平面Ｂ１ａは、仮想空間に対して所定の初期角度（本実施の形態では０°、すなわち地面に平行）となるように設定されている。図４においては、この初期角度における動作時の敵キャラクタをＥａで示している。仮想基準平面Ｂ１は、当該平面の中心位置と当該中心位置からの法線の向きとにより設定される。仮想基準平面Ｂ１の中心位置は、例えば敵キャラクタＥの腰関節Ｊ０からの方向および距離に基づいて設定される。
【００３６】
初期角度における動作を実行する場合、キャラクタ動作制御手段４３は、初期角度における動作時の敵キャラクタＥａの動作を、関節モデルＭを構成する複数の関節Ｊのうちの中央部に位置する所定の関節（腰関節Ｊ０）を起点にして生成する。例えば、初期角度における動作のためのモーションデータは、ＦＫに基づいて動作するデータとして構成される。
【００３７】
敵キャラクタＥａの攻撃対象（例えばプレイヤキャラクタ）の高さ方向位置が変化した場合等の所定の条件成立時において、修正軌道生成手段４５は、仮想基準平面Ｂ１ａの角度（例えば地面に対する角度）を変更する。例えば、敵キャラクタＥａの攻撃対象がジャンプ等の動作により上方に回避した場合、修正軌道生成手段４５は、初期状態の仮想基準平面Ｂ１ａに対して敵キャラクタＥａの前方に向かうに従って地面から離れるような角度に仮想基準平面Ｂ１ｂ（上向きの仮想基準平面Ｂ１ｂ）を設定する。本明細書において、このときの敵キャラクタをＥｂとする。また、敵キャラクタＥａの攻撃対象がしゃがむ等の動作により下方に回避した場合、修正軌道生成手段４５は、初期状態の仮想基準平面Ｂ１ａに対して敵キャラクタＥａの後方に向かうに従って地面から離れるような角度に仮想基準平面Ｂ１ｃ（下向きの仮想基準平面Ｂ１ｃ）を設定する。本明細書において、このときの敵キャラクタをＥｃとする。
【００３８】
図４の例において、修正軌道生成手段４５は、敵キャラクタＥの基準位置（腰関節Ｊ０）からの行動方向Ｄを設定し、行動方向Ｄに仮想基準平面Ｂ１が平行になるように当該仮想基準平面Ｂ１の角度を変更する。図４の例において、初期角度における敵キャラクタＥａの行動方向Ｄａは、地面に対して平行である。修正軌道生成手段４５は、行動方向Ｄを初期角度におけるＤａから上方に所定の角度θａｂ変化させた行動方向Ｄｂとすることにより、これに平行な上向きの仮想基準平面Ｂ１ｂを設定する。同様に、修正軌道生成手段４５は、行動方向Ｄを初期角度におけるＤａから下方に所定の角度θａｃ変化させた行動方向Ｄｃとすることにより、これに平行な下向きの仮想基準平面Ｂ１ｃを設定する。例えば、キャラクタ動作制御手段４３が、行動方向Ｄを攻撃対象に向くように制御すれば、攻撃対象の位置変化に応じて敵キャラクタＥの動作の基準となる仮想基準平面Ｂ１の角度を変化させることができる。修正軌道生成手段４５は、このような仮想基準平面Ｂ１の角度を変更することにより、基本軌道を修正した修正軌道を生成する。
【００３９】
動作修正手段４６は、修正軌道（すなわち、角度変更後の仮想基準平面Ｂ１上）を移動する所定部位（本例におけるチェーンソーＷ１の先端部Ｔ）の位置を起点にして関節モデルＭの各関節Ｊの位置および姿勢を決定する。より具体的には、動作修正手段４６は、ゲームデータ３０ｂとして記憶されている基本軌道のモーションデータ（ＦＫに基づくモーションデータ）を、チェーンソーＷ１の先端部Ｔの位置を制約条件（仮想基準平面Ｂ１内に位置すること）として、すなわち、当該先端部Ｔの位置を起点にして各関節Ｊの動きを補間する。例えば、動作修正手段４６は、チェーンソーＷ１の先端部Ｔの位置を起点にして手首間接Ｊ１から左腕部１０４を通じて敵キャラクタＥｂ，Ｅｃの中央部（腰関節Ｊ０）に至る各関節の位置および姿勢をＩＫに基づいて順次決定する。
【００４０】
このとき、動作修正手段４６は、関節モデルＭの各関節の位置および姿勢の変化が全体として最小になるように関節モデルＭの各関節Ｊの位置および姿勢を決定する。連続する複数の関節の位置および姿勢をＩＫに基づいて決定する場合、各関節の位置および姿勢について複数の解があるため、敵キャラクタＥｂ，Ｅｃの動きが不自然にならないようにすべての関節の位置および姿勢を決定する必要がある。そこで、動作修正手段４６は、各関節の位置および姿勢の変化が全体として最小になるように各関節の位置および姿勢を決定する。これにより、各関節における急激な位置または姿勢の変化を抑制し、敵キャラクタＥｂ，Ｅｃの動きが不自然に見えるのを防止することができる。なお、決定された各関節の位置および姿勢の変化が全体として所定以上の変化である場合は不自然な動作となるおそれがあるので、動作修正手段４６は、動作の修正を行わないように制御してもよい。この場合、敵キャラクタＥは、基本軌道に沿った動作を行うため、攻撃が空振りする場合が生じる。
【００４１】
以上のような態様によれば、キャラクタの少なくとも一部が平面内を移動する基本動作について予めＦＫに基づいて定められた１つのモーションデータに仮想基準平面Ｂ１を設定し、当該仮想基準平面Ｂ１の角度を変更することにより、キャラクタの少なくとも一部が移動する平面の角度が異なる複数の動作を１つのモーションデータから生成することができる。この際、様々な角度における動作において、元のモーションデータを、仮想基準平面Ｂ１内を移動するキャラクタの部位を起点にしたＩＫに基づいて補間することにより、様々な角度における動作においてもキャラクタの動きが不自然になるのを防止することができる。
【００４２】
上記例では、水平にチェーンソーＷ１を振り回す敵キャラクタＥａの動作についてのモーションデータから、上方にチェーンソーＷ１を振り回す敵キャラクタＥｂの動作および下方にチェーンソーＷ１を振り回す敵キャラクタＥｃの動作を違和感なく創出することができる。
【００４３】
このように、所定の動作について１つのモーションデータを予めゲームデータ３０ｂとして用意しておくだけで動作角度が異なる複数の動作を表現することができる。したがって、キャラクタの一の動作に対して複数の目標位置が設定され得る動作をデータ量の増大を抑制しつつ容易に実現することができる。
【００４４】
修正軌道生成手段４５は、所定の時間間隔（例えば１フレーム）ごとに角度を変更可能（修正軌道を生成可能）としてもよい。例えば、敵キャラクタＥがチェーンソーＷ１を振り回す連続動作を開始する時点で、攻撃対象が正面にいる（通常の立ち姿勢の）場合、敵キャラクタＥは、行動方向Ｄａに平行な仮想基準平面Ｂ１ａに沿ってチェーンソーＷ１を振り回す連続動作を開始する。当該連続動作開始後、所定のフレーム数経過時において攻撃対象がしゃがむ動作を行った場合、行動方向はＤａからＤｃに変化する。このため、敵キャラクタＥの行動は、行動方向Ｄｃに平行な仮想基準平面Ｂ１ｃに沿ってチェーンソーＷ１を振り回す連続行動に遷移する。
【００４５】
これによれば、敵キャラクタＥの動作を、攻撃対象の動きに追従して動作させることが可能となる。なお、動作開始から所定期間経過後は追従不能としてもよい。例えば、動作開始から所定フレーム経過後は、攻撃対象の位置が変化しても（行動方向Ｄが変化しても）仮想基準平面Ｂ１を変化させない。これに代えて、動作開始から所定フレーム経過後は、攻撃対象の位置が変化しても行動方向Ｄが変化しないようにしてもよい。これにより、敵キャラクタＥの攻撃が攻撃対象（プレイヤキャラクタ）に必ず命中することを防止することができ、ゲームにおける難易度が不適切に高くなるのを防止することができる。当然ながら、特定の攻撃態様（特殊攻撃等）については当該攻撃行動の終了時点まで攻撃対象の動きに追従する（高確率で攻撃が命中する）ようにしてもよい。
【００４６】
なお、仮想基準平面Ｂ１内における所定部位の動きは、所定部位が仮想基準平面Ｂ１内を移動する限り限定されない。例えば、上記例のような円弧状の動きだけでなく、矩形状でも、２次曲線状でもよい。
【００４７】
また、図４の例では、キャラクタを基準として行動方向Ｄが上下方向にのみ変化する例を示したが、行動方向Ｄを左右方向に変化可能とし、当該左右方向の変化に対応して仮想基準平面Ｂ１を敵キャラクタＥの左右方向に傾けることを可能にしてもよい。さらに、行動方向Ｄを三次元的に変化させることにより、仮想基準平面Ｂ１を三次元的に変化可能としてもよい。
【００４８】
［仮想基準線分を用いた動作の具体例］
図５は、本実施の形態における敵キャラクタの他の動作の例を示す図である。図５においては、敵キャラクタＥが両手Ｈ１，Ｈ２で槍Ｗ２を把持した状態で、当該槍Ｗ２を突き出して攻撃する動作を示している。図５の例において、敵キャラクタＥが上記動作を行う場合、基本軌道データ取得手段４４は、当該動作の間、敵キャラクタＥの所定部位が予め定められた仮想基準線分Ｂ２上を移動するように制御するような、基本軌道データ（モーションデータを取得する）。図５の例において、仮想基準線分Ｂ２上を移動する敵キャラクタＥの所定部位は、左手首関節Ｊ１Ｌである。
【００４９】
ゲームデータ３０ｂとして記憶されているモーションデータの初期状態において仮想基準線分Ｂ２ａは、仮想空間に対して所定の初期角度（本実施の形態では０°、すなわち地面に平行）となるように設定されている。図５においては、この初期角度における動作時の敵キャラクタをＥａで示している。仮想基準線分Ｂ２は、動作の開始点の位置と終了点の位置とにより設定される。例えば開始点および終了点は、当該動作における左手首関節Ｊ１Ｌの位置に基づいて設定される。
【００５０】
図５の例においても、図４の例と同様に、初期角度における動作を実行する場合、キャラクタ動作制御手段４３は、初期角度における動作時の敵キャラクタＥａの動作を、関節モデルＭを構成する複数の関節Ｊのうちの中央部に位置する所定の関節（腰関節Ｊ０）を起点にして生成する。そして、所定の条件が成立した場合、修正軌道生成手段４５は、仮想基準線分Ｂ２の角度を変更し、当該角度の変更に応じた修正軌道を生成する。そして、動作修正手段４６は、修正軌道（すなわち、角度変更後の仮想基準線分Ｂ２上）を移動する所定部位（本例における左手首関節Ｊ１Ｌ）の位置を起点にして関節モデルＭの各関節Ｊの位置および姿勢を決定する。なお、本例においても、修正軌道生成手段４５は、敵キャラクタＥの基準位置からの行動方向Ｄを設定し、行動方向Ｄに仮想基準線分Ｂ２が平行になるまたは一致するように当該仮想基準線分Ｂ２の角度を変更する。本例において、敵キャラクタＥの基準位置は、左手首関節Ｊ１Ｌであるため、行動方向Ｄは、そのまま仮想基準線分Ｂ２の向きに一致する。
【００５１】
より具体的には、動作修正手段４６は、ゲームデータ３０ｂとして記憶されている基本軌道のモーションデータ（ＦＫに基づくモーションデータ）を、敵キャラクタＥの左手首関節Ｊ１Ｌの位置を制約条件（仮想基準線分Ｂ２内に位置すること）として、すなわち、当該左手首関節Ｊ１Ｌの位置を起点にして各関節Ｊの動きを補間する。例えば、動作修正手段４６は、左手首関節Ｊ１Ｌの位置を起点にして左腕部１０４Ｌの肘関節Ｊ２Ｌおよび肩関節Ｊ３Ｌの位置および姿勢をＩＫに基づいて順次決定するとともに、槍Ｗ２を把持する右手Ｈ２を含む右腕部１０４Ｒの手首関節Ｊ１Ｒ、肘関節Ｊ２Ｒおよび肩関節Ｊ３Ｒの位置および姿勢をＩＫに基づいて順次決定する。さらに、動作修正手段４６は、両腕部１０４Ｌ，１０４Ｒの位置および姿勢に基づいて他の部位（腰関節Ｊ０等）の位置および姿勢をＩＫに基づいて順次決定する。上記以外の態様は図４の例と同様であるので詳しい説明は省略する。
【００５２】
以上のように、キャラクタの少なくとも一部が線分内を移動する基本動作について予めＦＫに基づいて定められた１つのモーションデータに仮想基準線分Ｂ２を設定し、当該仮想基準線分Ｂ２の角度を変更することにより、キャラクタの少なくとも一部が移動する線分の角度が異なる複数の動作を１つのモーションデータから生成することができる。この際、様々な角度における動作において、元のモーションデータを、仮想基準線分Ｂ２内を移動するキャラクタの部位を起点にしたＩＫに基づいて補間することにより、様々な角度における動作においてもキャラクタの動きが不自然になるのを防止することができる。
【００５３】
上記例では、水平に槍Ｗ２を突き出す敵キャラクタＥａの動作についてのモーションデータから、上方に槍Ｗ２を突き出す敵キャラクタＥｂの動作および下方に槍Ｗ２を突き出す敵キャラクタＥｃの動作を違和感なく創出することができる。
【００５４】
なお、仮想基準線分Ｂ２、すなわち仮想基準線分Ｂ２に沿って移動するキャラクタの所定部位の動きは、直線でなくてもよく、曲線（円弧、波状）でも、折れ線でもよい。
【００５５】
また、図５の例においても、行動方向Ｄを左右方向に変化可能とし、当該左右方向の変化に対応して仮想基準線分Ｂ２を敵キャラクタＥの左右方向に傾けることを可能にしてもよい。さらに、行動方向Ｄを三次元的に変化させることにより、仮想基準線分Ｂ２の向きを三次元的に変化可能としてもよい。
【００５６】
［角度変更に関する変形例］
上記図４および図５の例では、敵キャラクタＥの基準位置からの行動方向Ｄに仮想基準平面Ｂ１または仮想基準線分Ｂ２が平行になる、または一致するように当該仮想基準平面Ｂ１または仮想基準線分Ｂ２の角度を変更する態様を例示した。しかし、仮想基準平面Ｂ１または仮想基準線分Ｂ２の角度を変更するための制御態様は、これに限られない。
【００５７】
図６は、図４に示す敵キャラクタの動作の他の制御態様を示す図であり、図７は、図５に示す敵キャラクタの動作の他の制御態様を示す図である。図６および図７に示す例において、修正軌道生成手段４５は、所定部位が通過する通過点Ｘ（Ｘａ，Ｘｂ，Ｘｃ）を設定し、当該通過点Ｘが仮想基準平面Ｂ１または仮想基準線分Ｂ２に含まれるように仮想基準平面Ｂ１または仮想基準線分Ｂ２の角度を変更する。
【００５８】
例えば、図６の例において、修正軌道生成手段４５は、攻撃対象（プレイヤキャラクタ等）の位置等に基づく所定の通過点Ｘの位置座標を取得する。そして、修正軌道生成手段４５は、回転後の仮想基準平面Ｂ１ｂ，Ｂ１ｃが通過点Ｘの位置を含むように、初期状態の仮想基準平面Ｂ１ａを、所定の中心位置（例えば腰関節Ｊ０）を通過する所定の回転軸回りに回転させる。
【００５９】
また、例えば、図７の例においても、修正軌道生成手段４５は、攻撃対象（プレイヤキャラクタ等）の位置等に基づく所定の通過点Ｘの位置座標を取得する。そして、修正軌道生成手段４５は、回転後の仮想基準線分Ｂ２ｂ，Ｂ２ｃが通過点Ｘの位置を含むように、初期状態の仮想基準線分Ｂ２ａを、所定の中心位置（例えば腰関節Ｊ０）を通過する所定の回転軸回りに回転させる。
【００６０】
このような態様によれば、通過点Ｘをキャラクタの行動により、キャラクタに当接させたい対象に確実に当接させることができ、当該当接させるための動作を自然に表現することができる。
【００６１】
なお、上記態様以外の態様は、図４または図５の例と同様であるので詳しい説明は省略する。また、本変形例においても、通過点Ｘの位置は、キャラクタから見て初期状態の通過点Ｘａから上下方向に移動させるだけでなく左右方向に移動させることにより、仮想基準平面Ｂ１または仮想基準線分Ｂ２の向きを三次元的に変化可能としてもよい。
【００６２】
以下、上記実施の形態に基づいて動作する敵キャラクタＥが所定のオブジェクトに当接した場合の動作制御について説明する。
【００６３】
図８は、本実施の形態における敵キャラクタの一連の動作例の流れを示す図である。図８においては、図４および図６に示されるようなチェーンソーＷ１を把持した敵キャラクタＥの動作に基づいて説明する。図８においては、敵キャラクタＥを、一連の動作に含まれる各動作に応じて異なる符号を付して区別している。具体的には、下記第１動作を行っている状態の敵キャラクタをＥａとし、第２動作を行っている状態の敵キャラクタをＥｂとしている。
【００６４】
本実施の形態において、キャラクタ動作制御手段４３は、敵キャラクタＥａがチェーンソーＷ１を振り下ろす動作（第１動作）と、当該第１動作中にチェーンソーＷ１が固定オブジェクトである壁Ｑに当接した場合に、チェーンソーＷ１が壁Ｑを切断している間の動作（第２動作）を実行する。このために、キャラクタ動作制御手段４３は、このような一連の動作を実行するために、第１動作実行手段４７、および、第２動作実行手段４８の各機能を実行する。
【００６５】
まず、ユーザによるコントローラ２４の操作に基づいて、第１動作実行手段４７が敵キャラクタＥにおける連動する複数の関節を含む所定の連動部位による所定の第１動作を実行する。より具体的には、第１動作実行手段４７は、ゲームデータ３０ｂに記憶されているチェーンソーＷ１の振り下ろし動作についてのモーションデータを読み出し、当該モーションデータを実行する。すなわち、本実施の形態における連動部位は、左腕部１０４である。これにより、敵キャラクタＥａは、チェーンソーＷ１を把持した腕部１０４を振り下ろす動作を行う。第１動作実行手段４７は、第１動作を、関節モデルＭを構成する複数の関節Ｊのうちの中央部に位置する所定の関節（腰関節Ｊ０）を起点にして生成する。例えば、第１動作のためのモーションデータは、ＦＫに基づいて動作するデータとして構成される。
【００６６】
キャラクタ動作制御手段４３は、第１動作中、所定のタイミングごと（例えば１フレームごと）に、敵キャラクタＥａにおける所定の部位が所定のオブジェクト（図８の例では壁Ｑ）に当接したかどうかを判定する。本実施の形態において、所定の部位は、敵キャラクタＥａが把持するチェーンソーＷ１である。このように、本実施の形態および特許請求の範囲における「キャラクタにおける所定の部位」には、キャラクタ本体のみならず、キャラクタが把持する把持オブジェクト（例えば武器、バット等）またはキャラクタが装着している装着オブジェクト（例えば鎧、グローブ等）が含まれ得る。
【００６７】
チェーンソーＷ１が壁Ｑに当接したと判定された場合、第２動作実行手段４８は、敵キャラクタＥｂにおける第２動作を実行する。より具体的には、第２動作実行手段４８は、ゲームデータ３０ｂに記憶されているチェーンソーＷ１の切断動作についてのモーションデータを読み出し、当該モーションデータを実行する。これにより、敵キャラクタＥｂは、チェーンソーＷ１が壁Ｑを切断することによる応力を全身、特に、チェーンソーＷ１を把持する腕部に、受けているような動作を行う。
【００６８】
図９は、図８に示す敵キャラクタが第１動作から第２動作に移行する際のオブジェクト当接箇所近傍を示す部分拡大図である。第２動作は、連動部位である腕部１０４のうちのチェーンソーＷ１におけるオブジェクト当接箇所Ｔを含む部位（手首）の動きが第１動作における当該部位の動きに比べて遅くなるような動作として構成される。この際、腕部１０４のうちの他の部位の動作速度は、第１動作と変わらない。この結果、当該部位の動きが腕部１０４のうちの他の部位の動きに比べて遅くなるような動作として構成される。すなわち、第２動作実行手段４８は、第２動作を、関節モデルＭを構成する複数の関節ＪのうちのチェーンソーＷ１を把持する腕部１０４の先端に位置する第１関節（手首関節）Ｊ１の位置および姿勢の変化を、当該手首関節Ｊ１より基端側にある少なくとも１つの関節（例えば肘関節Ｊ２および肩関節Ｊ３）の位置および姿勢の変化より遅くする。
【００６９】
例えば、第１動作における肩関節Ｊ３の位置および／または姿勢の単位時間当たりの変化量を第１肩関節変化量ΔＭＪ３１とし、第２動作における肩関節Ｊ３の位置および／または姿勢の単位時間当たりの変化量を第２肩関節変化量ΔＭＪ３２とし、第１動作における手首関節Ｊ１の位置および／または姿勢の単位時間当たりの変化量を手首関節変化量ΔＭＪ１１とし、第２動作における手首関節Ｊ１の位置および／または姿勢の単位時間当たりの変化量を第２手首関節変化量ΔＭＪ１２とした場合、第２動作実行手段４８は、第１動作に対する第２動作の肩関節変化量の割合を示す第１の値ＶＪ３＝ΔＭＪ３２／ΔＭＪ３１に対して、第１動作に対する第２動作の手首関節変化量の割合を示す第２の値ＶＪ１＝ΔＭＪ１２／ΔＭＪ１１が小さくなるように、手首関節Ｊ１、肘関節Ｊ２および肩関節Ｊ３の位置および姿勢の変化を制御する。
【００７０】
上記態様についてより簡単な動作例に基づいて説明する。図１０は、本実施の形態における動作を説明するための簡単な動作例を示す図である。図１０には、関節モデルＭのうち、手首関節Ｊ１、肘関節Ｊ２および肩関節Ｊ３のみを示している。本例の動作例は、第１動作としてこれらの関節Ｊ１〜Ｊ３が所定位置を中心点Ｄとする同心円となる動作円Ｃ１〜Ｃ３上を等角速度で移動する態様を示している。つまり、第１動作において、各関節Ｊ１〜Ｊ３が、各関節Ｊ１〜Ｊ３を接続している骨Ｂ２，Ｂ３が半径方向に一直線上となるように動作する。なお、図１０において各関節の添え字（Ｊ１ｎ、Ｊ２ｎ，Ｊ３ｎのｎ＝０，１，２，３，４）は、時間経過を示す。例えばＪ１０，Ｊ２０，Ｊ３０が時刻ｔ０における各関節の位置を示し、Ｊ１１，Ｊ２１，Ｊ３１が時刻ｔ１における各関節の位置を示す。
【００７１】
本例における関節モデルＭを有するキャラクタが第１動作を行った場合、壁Ｑ等のオブジェクトが存在しなければ、各時刻ｔ１〜ｔ４の何れにおいても、３つの関節Ｊ１〜Ｊ３は動作円の半径方向に一直線上に並んだ状態が維持される。図１０では、位置が変化する手首関節Ｊ１および肘関節Ｊ２のオブジェクトに当接しない場合の第１動作における各時刻の位置をＪ１ｎ’，Ｊ２ｎ’で表している。
【００７２】
図１０は、時刻ｔ１にオブジェクトに当接した例を示している。したがって、時刻ｔ１における各関節Ｊ１１〜Ｊ３１は動作円の半径方向に一直線上に並んでいる。この後の第２動作において、肩関節Ｊ３の位置および姿勢の変化に対して、手首関節Ｊ１および肘関節Ｊ２の位置および姿勢の変化は、オブジェクトに当接しなかった場合に比べて同じ動作円上を移動しつつも遅れるようになる。ここで、本例において、肩関節Ｊ３の位置の変化は、オブジェクトに当接しなかった場合と同じとする。
【００７３】
例えば、時刻ｔ２における手首関節Ｊ１２は、オブジェクトに当接しなかった場合（Ｊ１２’）に比べて５０％の移動量となる。また、時刻ｔ３における手首関節Ｊ１３は、オブジェクトに当接しなかった場合（Ｊ１３’）に比べて０％の移動量（時刻ｔ３の時点でＪ１２’の位置に到達）となる。第２動作実行手段４８は、肘関節Ｊ２の動作および肩関節Ｊ３の姿勢を、骨Ｂ２，Ｂ３が滑らかに繋がるように、チェーンソーＷ１を把持する手（手首関節Ｊ１の先端側部位）の位置を起点にして（ＩＫに基づいて）決定する。
【００７４】
図１０は、時刻ｔ３にオブジェクトとの当接状態が解除された（図８における壁Ｑを切断し終わった状態の）例を示している。したがって、時刻ｔ３以降において、第２動作実行手段４８は、各関節Ｊ１〜Ｊ３の位置および姿勢の変化を第１動作の状態に徐々に復帰させるように制御する。より具体的には、第２動作実行手段４８は、手首関節Ｊ１を起点した動作を解除するとともに、手首関節Ｊ１および肘関節Ｊ２の移動速度を徐々に上げる（元に戻す）ように制御する。再び各関節Ｊ１〜Ｊ３が一直線上に並んだ後は、第１動作実行手段４７が第１動作を実行する。
【００７５】
以上のような態様によれば、敵キャラクタＥｂの壁Ｑへの当接後は、チェーンソーＷ１を把持する手以外の部位の動作速度が第１動作と同じ速度を維持した状態で、チェーンソーＷ１を把持する手の動作速度が第１動作より遅い動作速度となるような第２動作が実行される。
【００７６】
したがって、単にヒットストップを行うだけの従来の態様に比べて、チェーンソーＷ１が壁Ｑを切断している抵抗力により、腕部１０４の動きが遅くなる表現を実現することができる。したがって、チェーンソーＷ１が壁Ｑを切断するとき等の表現をユーザによりリアルに感じさせることができる。しかも、腕部１０４の動きをチェーンソーＷ１を把持する手の位置を基点として動作させることにより、キャラクタの攻撃態様、オブジェクト当接箇所Ｔの位置によらず、一のモーションデータを追加するだけで、様々な攻撃態様および様々な壁Ｑ等への当接状態に応じて第２動作を実行することができる。したがって、データ量の増大を抑制しつつよりリアルな表現を実現することができる。
【００７７】
さらに、第２動作実行手段４８は、中央部に位置する所定の関節（腰関節Ｊ０）の位置および姿勢の変化を第１動作時より遅くする（ΔＭＪ０１＞ΔＭＪ０２）。例えば、第２動作における腰関節Ｊ０の位置および姿勢の変化量ΔＭＪ０２は、第１動作における変化量ΔＭＪ０１に比べて、０．１倍程度にする。これにより、図１０の例において領域Ｕにおける各関節の動きは、第１移動時に比べて全体的にも遅くなる。さらに、第２動作実行手段４８は、壁Ｑが当接した所定の部位（手首およびチェーンソーＷ１）の動きを腰関節Ｊ０の位置および姿勢の変化より遅くする。これにより、第２動作においては、肩関節Ｊ３に対して肘関節Ｊ２および手首関節Ｊ１が遅れる動作に加えて、腕部１０４の全体の動きが敵キャラクタＥｂの胴体の動きに対して遅れる動作が実現される。これにより、敵キャラクタＥｂがチェーンソーＷ１を把持している腕部１０４を振る動作に力を入れている一方で、チェーンソーＷ１が壁Ｑを切断している抵抗力により、なかなか切り進まないような表現を実現することができる。
【００７８】
また、ゲームデータ３０ｂとして、壁Ｑ等のオブジェクトに対応するオブジェクトの材質（例えば硬さ）等に関する情報が予め記憶されており、第２動作実行手段４８は、当該オブジェクトの情報に応じて、プレイヤキャラクタＰの第２動作の動作速度を変更する、または、ＩＫに基づく各関節の動作（位置および姿勢）を補正してもよい。
【００７９】
さらに、敵キャラクタＥｂ全体の動作が遅くなることにより、第２動作の時間（チェーンソーＷ１により壁Ｑを切断する時間）を第１動作の腕の動きに基づいた時間に比べて長くすることができ、よりリアルな表現を実現することができる。
【００８０】
また、第２動作中は、胸部１０２および腰部１０３を所定方向に振動させることとしてもよい。このほか、第２動作実行手段４８は、第２動作においてキャラクタに対して第１動作時とは異なる特殊なエフェクト表現を行ってもよい。これにより、チェーンソーＷ１が壁Ｑを切断する際の応力が敵キャラクタＥｂに伝達されるような表現を実現することができる。
【００８１】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【００８２】
例えば、上記実施の形態においては、敵キャラクタＥにおける動作について説明したが、他のノンプレイヤキャラクタまたはプレイヤキャラクタにおける動作に適用することも可能である。
【００８３】
また、上記実施の形態においては、仮想基準平面Ｂ１に沿った動作として敵キャラクタＥがチェーンソーＷ１を振り回す動作（攻撃動作）について例示し、仮想基準線分Ｂ２に沿った動作として敵キャラクタＥが槍Ｗ２を突き出す動作（攻撃動作）について例示したが、適用可能な動作はこれに限られない。例えば、仮想基準平面Ｂ１に沿った動作としては、剣等の武器を振る動作、バットまたはラケット等の球技に用いる道具のスイング動作、空手等の腕または脚を振って回転攻撃する動作、野球等のボールを投げる動作等、種々の動作に適用可能である。
【００８４】
例えば、バットまたはラケット等のスイング動作を、仮想基準平面Ｂ１に沿って行わせる場合、図６の例のように、通過点Ｘをボールの位置に設定すれば正確なバッティング表現が可能となる。本例によれば、従来のように、当接（ヒット）判定である（ボールが跳ね返る処理を実行する）にもかかわらず、ゲーム画面上では実際にはバットまたはラケットにボールが当接していないといった状態となることを有効に防止することができる。
【００８５】
また、例えば、仮想基準線分Ｂ２に沿った動作としては、剣、シャベル等の武器を突き出す動作、シャベル等の道具を用いて地面または壁を掘る動作、ボクシング等の腕または脚を伸ばして攻撃する動作等、種々の動作に適用可能である。
【００８６】
上記実施の形態において、関節モデルＭに含まれる複数の関節Ｊは人間の関節を模したものでもよいし、モンスター等、より多い関節またはより少ない関節を有していてもよい。すなわち、上記動作が適用できるキャラクタは、人間のキャラクタだけでなく、様々なモンスター等も含まれる。
【００８７】
また、上記実施の形態においては、アクションゲームを例示したが、３次元のキャラクタについての上記動作態様は、ロールプレイングゲーム、シミュレーションゲームまたはシューティングゲーム等、３次元の仮想空間を用いる種々のゲームに適用可能である。
【００８８】
また、上記実施の形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
【産業上の利用可能性】
【００８９】
本発明は、本発明によれば、キャラクタの一の動作に対して複数の目標位置が設定され得る動作をデータ量の増大を抑制しつつ容易に実現するために有用である。
【符号の説明】
【００９０】
２  ゲーム装置
３０ａ  ゲームプログラム
３０ｂ  ゲームデータ
４１  仮想空間生成手段
４３  キャラクタ動作制御手段
４４  基本軌道データ取得手段
４５  修正軌道生成手段
４６  動作修正手段
Ｂ１，Ｂ１ａ〜Ｂ１ｃ  仮想基準平面
Ｂ２，Ｂ２ａ〜Ｂ２ｃ  仮想基準線分
Ｄ，Ｄａ〜Ｄｃ  行動方向
Ｅ，Ｅａ〜Ｅｃ  敵キャラクタ
Ｊ  関節
Ｍ  関節モデル
Ｘ，Ｘａ〜Ｘｃ  通過点
【図１】
2018028810.tif 000003
【図２】
2018028810.tif 000004
【図３】
2018028810.tif 000005
【図４】
2018028810.tif 000006
【図５】
2018028810.tif 000007
【図６】
2018028810.tif 000008
【図７】
2018028810.tif 000009
【図８】
2018028810.tif 000010
【図９】
2018028810.tif 000011
【図１０】
2018028810.tif 000012