(57)【要約】【課題】仮想３次元空間に存在するオブジェクトの動作の微妙な違いを比較的少ないデータ量で忠実に再現した画像を生成する。【解決手段】バスケットボールゲームのキャラクタは、コート上の任意の位置で停止して右手または左手でドリブルする。右手でドリブルしているときに、タッチパネル１３上のエリア２、３、５、６、８、９の範囲内がタッチされたときは、右手でドリブルを続ける。エリア２、３、５、６、８、９を形成する長方形の外周に６つの特定座標２０１〜２０６が設定されており、それぞれに個別のモーションデータが対応づけられている。エリア３内の位置Ｔがタッチされたときに、その座標に応じてモーションデータのブレンド対象となる特定座標２０１、２０２、２０４、２０５が選定され、位置Ｔからそれぞれへの距離に応じて、各々に対応したモーションデータのブレンド率Ｂ（２０１）、Ｂ（２０２）、Ｂ（２０３）、Ｂ（２０４）が算出される。【選択図】図４
2007102503.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成装置であって、
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力手段と、
前記オブジェクトの動作を規定する複数のモーションデータを、前記２次元平面上に予め設定された複数の特定座標位置にそれぞれ対応づけて記憶するモーションデータ記憶手段と、
前記複数のモーションデータの各々に対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいて、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするブレンド手段と、
前記ブレンド手段によりブレンドされたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段と、
前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段と、
前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段と
を備えることを特徴とする画像生成装置。
【請求項２】
前記座標位置入力手段から入力された座標位置が、前記複数の特定座標位置のいずれかの特定座標位置と同じであるかどうかを判定する座標位置判定手段をさらに備え、
前記ブレンド手段は、前記座標位置判定手段によりいずれの特定座標位置とも異なると判定されたときに、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドし、
前記オブジェクト動作手段は、前記座標位置判定手段によりいずれかの特定座標位置と同じであると判定されたときに、前記モーションデータ記憶手段に記憶された複数のモーションデータのうちの前記座標位置入力手段から入力された座標位置と同じ特定座標位置に対応したモーションデータを用いて、前記オブジェクトを動作させる
ことを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記複数の特定座標位置のうちから、前記座標位置入力手段から入力された座標位置に応じて前記特定座標位置の総数よりも少ない２以上の特定座標位置を選択する特定座標位置選択手段をさらに備え、
前記ブレンド手段は、前記特定座標位置選択手段により選択された特定座標位置に対応したモーションデータを、各々のモーションデータに対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいてブレンドする
ことを特徴とする請求項１または２に記載の画像生成装置。
【請求項４】
前記特定座標位置選択手段は、さらに前記座標位置入力手段から座標位置が入力されたときにおける前記オブジェクトの動作状態に応じて前記複数の特定座標位置のうちから２以上の特定座標位置を選択する
ことを特徴とする請求項３に記載の画像生成装置。
【請求項５】
前記オブジェクトは、それぞれが該オブジェクトとは異なる第２オブジェクトを所持可能な複数の第２オブジェクト所持部を有しており、
前記特定座標位置選択手段は、前記オブジェクトの動作状態として前記第２オブジェクトがいずれの第２オブジェクト所持部により所持されているかに応じて特定座標位置を選択する
ことを特徴とする請求項４に記載の画像生成装置。
【請求項６】
前記ブレンド手段は、前記座標位置入力手段から入力された座標位置に近い特定座標位置に対応したモーションデータほど高いブレンド率で前記複数のモーションデータをブレンドする
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像生成装置。
【請求項７】
前記ブレンド手段は、前記２次元平面の座標系の第１方向における前記座標位置入力手段から入力された座標位置と各々の特定座標位置との間の距離と、前記２次元平面の座標系において前記第１方向と直交する第２方向における前記座標位置入力手段から入力された座標位置と各々の特定座標位置との間の距離とに従って、前記複数のモーションデータをブレンドする
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像生成装置。
【請求項８】
仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成装置であって、
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力手段と、
前記オブジェクトの動作を規定する複数のモーションデータを記憶するモーションデータ記憶手段と、
前記座標位置入力手段から入力された座標位置に基づいて、前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定するモーションデータ決定手段と、
前記モーションデータ決定手段により決定されたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段と、
前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段と、
前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段と
を備えることを特徴とする画像生成装置。
【請求項９】
前記モーションデータ記憶手段は、前記複数のモーションデータを、前記２次元平面上に予め設定された複数の特定座標位置にそれぞれ対応づけて記憶し、
前記モーションデータ決定手段は、前記座標位置入力手段から入力された座標位置と前記２次元平面上に予め設定された特定座標位置との位置関係に基づいて、前記オブジェクトの動作を規定するモーションデータを決定する
ことを特徴とする請求項８に記載の画像生成装置。
【請求項１０】
操作者の操作に応じて前記オブジェクトの移動方向を入力する移動方向入力手段をさらに備え、
前記モーションデータ決定手段は、さらに前記移動方向入力手段から入力された移動方向に応じて、前記オブジェクトの動作を規定するモーションデータを決定し、
前記オブジェクト動作手段は、前記移動方向入力手段から入力された移動方向に応じて、前記オブジェクトを前記仮想３次元空間で移動させる移動制御手段を含む
ことを特徴とする請求項８または９に記載の画像生成装置。
【請求項１１】
前記座標位置入力手段から座標位置が入力されたときまでの前記オブジェクトの動作と、該入力された座標位置に対応したモーションデータにより規定される動作の間に前記オブジェクトが行うつなぎ動作を規定するつなぎモーションデータを記憶するつなぎモーションデータ記憶手段と、
前記座標位置入力手段から座標位置が入力されたときに、該座標位置が入力されたときまでの前記オブジェクトの動作と該入力された座標位置とが所定の関係を有するかどうかを判定する動作位置判定手段とをさらに備え、
前記オブジェクト動作手段は、
前記動作位置判定手段により所定の関係を有すると判定されたときに、前記座標位置が入力されたときまでの前記オブジェクトの動作状態から移行して前記つなぎモーション記憶手段に記憶されたつなぎモーションデータを用いて前記オブジェクトを動作させるつなぎ動作手段を含み、
該つなぎ動作手段により前記オブジェクトを動作させた後に、該つなぎ動作手段による動作から移行して前記座標位置入力手段から入力された座標位置に対応したモーションデータを用いて前記オブジェクトを動作させる
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像生成装置。
【請求項１２】
前記つなぎモーションデータ記憶手段は、前記座標位置入力手段から座標位置が入力されたときまでの前記オブジェクトの動作状態と該入力された座標位置との関係に応じて、複数のつなぎモーションデータを記憶し、
前記つなぎ動作手段は、前記つなぎモーションデータ記憶手段に記憶された複数のつなぎモーションデータのうちで前記座標位置入力手段から座標位置が入力されたときまでの前記オブジェクトの動作と該入力された座標位置との関係に応じたつなぎモーションデータを用いて前記オブジェクトを動作させる
ことを特徴とする請求項１１に記載の画像生成装置。
【請求項１３】
前記座標位置入力手段から先に入力された第１の座標位置に対応したモーションデータにより規定される動作と、前記第１の座標位置の次に入力された第２の座標位置に対応したモーションデータにより規定される動作との間に前記オブジェクトが行うつなぎ動作を規定するつなぎモーションデータを記憶するつなぎモーションデータ記憶手段と、
前記第１の座標位置と前記第２の座標位置とが所定の関係を有するかどうかを判定する座標位置判定手段とをさらに備え、
前記オブジェクト動作手段は、
前記座標位置判定手段により所定の関係を有すると判定されたときに、前記第１の座標位置に対応したモーションデータにより規定される前記オブジェクトの動作から移行して前記つなぎモーション記憶手段に記憶されたつなぎモーションデータを用いて前記オブジェクトを動作させるつなぎ動作手段を含み、
該つなぎ動作手段により前記オブジェクトを動作させた後に、該つなぎ動作手段による動作から移行して前記第２の座標位置に対応したモーションデータを用いて前記オブジェクトを動作させる
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像生成装置。
【請求項１４】
前記つなぎモーションデータ記憶手段は、前記第１、第２の座標位置の位置関係に応じて、複数のつなぎモーションデータを記憶し、
前記つなぎ動作手段は、前記つなぎモーションデータ記憶手段に記憶された複数のつなぎモーションデータのうちで前記第１、第２の座標位置の位置関係に応じたつなぎモーションデータを用いて前記オブジェクトを動作させる
ことを特徴とする請求項１３に記載の画像生成装置。
【請求項１５】
前記座標位置判定手段は、前記複数の特定座標位置のうちで前記第１の座標位置に最も近い特定座標位置と前記第２の座標位置に最も近い特定座標位置とが所定の関係を有するかどうかを判定する
ことを特徴とする請求項１３または１４に記載の画像生成装置。
【請求項１６】
前記座標位置入力手段は、前記複数の特定座標位置にそれぞれ対応づけられた複数の領域を有しており、
前記座標位置判定手段は、前記複数の領域のうちで前記第１の座標位置が含まれる領域と前記第２の座標位置が含まれる領域とが所定の関係を有するかどうかを判定する
ことを特徴とする請求項１３または１４に記載の画像生成装置。
【請求項１７】
少なくとも前記オブジェクトの高さの範囲内で前記仮想３次元空間の高さ方向に垂直な平面に設定される仮想２次元空間の前記オブジェクトを含む所定範囲の画像を生成する平面画像生成手段と、
前記平面画像生成手段の生成した前記仮想２次元空間の画像を、前記オブジェクトを中心として前記表示手段とは異なる第２表示手段に表示させる平面画像表示制御手段とをさらに備え、
前記座標位置入力手段は、前記第２表示手段の前面に配設され、該第２表示手段に表示された画像を透過可能に示すタッチパネルである
ことを特徴とする請求項１乃至１６のいずれか１項に記載の画像生成装置。
【請求項１８】
前記座標位置入力手段以外とは別に、操作者の操作に応じて前記オブジェクトの動作に関する指示を入力する動作入力手段をさらに備え、
前記オブジェクト動作手段は、さらに前記動作入力手段から入力された指示に応じて前記オブジェクトを動作させる
ことを特徴とする請求項１乃至１７のいずれか１項に記載の画像生成装置。
【請求項１９】
前記オブジェクト動作手段は、
前記動作入力手段から操作者の指示が入力されたときに、前記座標位置入力手段から入力された座標位置に対応するモーションデータを用いた動作とは異なる態様で前記オブジェクトを動作させる手段を含み、
前記オブジェクトが前記動作入力手段からの入力に基づく動作を停止したときに、前記モーションデータ記憶手段に記憶された複数のモーションデータのうちの特定のモーションデータを用いて、前記オブジェクトを動作させる
ことを特徴とする請求項１８に記載の画像生成装置。
【請求項２０】
前記仮想３次元空間に存在する複数のオブジェクトのうちで、モーションデータを用いて動作させるオブジェクトを切り替える動作オブジェクト切り替え手段をさらに備え、
前記オブジェクト動作手段は、前記オブジェクト動作手段によりモーションデータを用いて動作させるオブジェクトが新たなオブジェクトに切り替えられたときに、前記モーションデータ記憶手段に記憶された複数のモーションデータのうちの特定のモーションデータを用いて、該新たに切り替えられたオブジェクトを動作させる
ことを特徴とする請求項１乃至１９のいずれか１項に記載の画像生成装置。
【請求項２１】
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成方法であって、
前記２次元平面上に予め設定された複数の特定座標位置と、該複数の特定座標位置にそれぞれ対応する前記オブジェクトの動作を規定する複数のモーションデータとを、前記記憶装置に予め記憶させ、
前記複数のモーションデータの各々に対応づけて前記記憶装置に記憶されている複数の特定座標位置と前記座標位置入力装置から入力された座標位置との位置関係に基づいて、前記記憶装置に記憶されている前記複数のモーションデータをブレンドし、該ブレンドされたモーションデータを前記記憶装置に一時記憶させ、
前記ブレンドされて前記記憶装置に一時記憶されているモーションデータを用いて、前記オブジェクトを動作させて、該動作に応じたオブジェクトの形態を順次前記記憶装置に一時記憶させ、
前記記憶装置に一時記憶されている形態で前記オブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより順次透視変換して、該オブジェクトの動作する画像を生成し、
前記透視変換により生成した前記オブジェクトの動作する画像を前記表示装置に表示させる
ことを特徴とする画像生成方法。
【請求項２２】
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムであって、
前記記憶装置は、前記２次元平面上に予め設定された複数の特定座標位置と、該複数の特定座標位置にそれぞれ対応する前記オブジェクトの動作を規定する複数のモーションデータとを予め記憶しており、
前記プログラムは、
前記複数のモーションデータの各々に対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいて、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするブレンド手段、
前記ブレンド手段によりブレンドされたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、
前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、
前記動作画像生成手段の生成した前記オブジェクトの動作する画像を前記表示装置に表示させる動作画像表示制御手段
として前記コンピュータ装置を機能させることを特徴とするプログラム。
【請求項２３】
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムを記録した記録媒体であって、
前記記憶装置は、前記２次元平面上に予め設定された複数の特定座標位置と、該複数の特定座標位置にそれぞれ対応する前記オブジェクトの動作を規定する複数のモーションデータとを予め記憶しており、
前記プログラムは、
前記複数のモーションデータの各々に対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいて、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするブレンド手段、
前記ブレンド手段によりブレンドされたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、
前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、
前記動作画像生成手段の生成した前記オブジェクトの動作する画像を前記表示装置に表示させる動作画像表示制御手段
として前記コンピュータ装置を機能させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２４】
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成方法であって、
前記オブジェクトの動作を規定する複数のモーションデータを、前記記憶装置に予め記憶させ、
前記座標位置入力装置から入力された座標位置に基づいて、前記記憶装置に予め記憶された前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定し、該決定したモーションデータに関する決定情報を前記記憶装置に一時記憶させ、
前記記憶装置装置に一時記憶された決定情報に対応したモーションデータを用いて、前記オブジェクトを動作させて、該動作に応じたオブジェクトの形態を順次前記記憶装置に一時記憶させ、
前記記憶装置に一時記憶されている形態で前記オブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより順次透視変換して、該オブジェクトの動作する画像を生成し、
前記透視変換により生成した前記オブジェクトの動作する画像を前記表示装置に表示させる
ことを特徴とする画像生成方法。
【請求項２５】
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムであって、
前記記憶装置は、前記オブジェクトの動作を規定する複数のモーションデータを予め記憶し、
前記プログラムは、
前記座標位置入力手段から入力された座標位置に基づいて、前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定するモーションデータ決定手段、
前記モーションデータ決定手段により決定されたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、
前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、
前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段
として前記コンピュータ装置を機能させることを特徴とするプログラム。
【請求項２６】
操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムを記録した記録媒体であって、
前記記憶装置は、前記オブジェクトの動作を規定する複数のモーションデータを予め記憶し、
前記プログラムは、
前記座標位置入力手段から入力された座標位置に基づいて、前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定するモーションデータ決定手段、
前記モーションデータ決定手段により決定されたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、
前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、
前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段
として前記コンピュータ装置を機能させることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め記憶されたモーションデータを用いて、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成装置等に関する。
【背景技術】
【０００２】
従来より、仮想３次元空間に存在するキャラクタなどのオブジェクトを動作させ、これらのオブジェクトが動作する様子を仮想カメラにより透視変換して生成する手法が、３次元ビデオゲームにおいて広く適用されている。ここで、キャラクタなどのオブジェクトの動作を忠実に再現するため、これらのオブジェクトを動作させる際に、予め記憶されているモーションデータを用いるものがある。
【０００３】
もっとも、キャラクタなどのオブジェクトの動作には多種多様なものが考えられ、考えられ得る動作毎にモーションデータを用意するとなると、そのデータ量が膨大なものとなってしまう。そこで、格闘ゲームにおいてキャラクタが移動しながら攻撃を行う場合を例にとると、移動用のモーションデータと攻撃用のモーションデータとをブレンドして、このような複合的な動作も少ないデータ量で再現できるようにしたものがあった（例えば、特許文献１、２参照）。
【０００４】
【特許文献１】特開２００３−６２３２６号公報（段落００６６〜０１７２）
【特許文献２】特開２００３−６７７７３号公報（段落００７０〜０１７６）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１、２においてモーションブレンドを適用しようと考えられている場合は、移動と攻撃といったキャラクタの異なるの動作を複合させる場合や、あるオブジェクトと他のオブジェクトとが衝突した場合に限られていた。特許文献１、２においても、本来的に同一種類であると認識できるオブジェクトの動作については、その動作形態に微妙な差異を再現することはできなかった。また、これらの従来技術では、プレイヤの操作によってオブジェクトの動作を自在に変化させることができなかった。
【０００６】
本発明は、仮想３次元空間に存在するオブジェクトの動作の微妙な違いを比較的少ないデータ量で忠実に再現した画像を生成することのできる画像生成装置及び方法、並びにそのために用いられるプログラム及び記録媒体を提供することを第１の目的とする。
【０００７】
本発明は、また、操作者が任意の座標位置を入力することによりオブジェクトの動作を自在に変化させた画像を生成することのできる画像生成装置及び方法、並びにそのために用いられるプログラム及び記録媒体を提供することを第２の目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の第１の観点にかかる画像生成装置は、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成装置であって、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力手段と、前記オブジェクトの動作を規定する複数のモーションデータを、前記２次元平面上に予め設定された複数の特定座標位置にそれぞれ対応づけて記憶するモーションデータ記憶手段と、前記複数のモーションデータの各々に対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいて、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするブレンド手段と、前記ブレンド手段によりブレンドされたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段と、前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段と、前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段とを備えることを特徴とする。
【０００９】
上記第１の観点にかかる画像生成装置では、仮想３次元空間に存在するオブジェクトは、モーションデータを用いて動作させられる。オブジェクトを動作させるためのモーションデータは、記憶されている複数のモーションデータにそれぞれ対応した特定座標位置と座標位置入力手段により入力した座標位置との位置関係に基づいて、モーションデータ記憶手段に記憶されている複数のモーションデータをブレンドすることにより生成されるものとなる。つまり、入力した座標位置が異なれば、最終的に生成されるモーションデータも異なることとなる。
【００１０】
このように座標位置入力手段からは２次元平面上の任意の座標位置を入力することができるが、入力する座標位置の違いによって生成するモーションデータを異ならせることで、オブジェクトの動作について微妙な違いも表現することができるようになる。また、オブジェクトを動作させるためのモーションデータの生成のためにモーションデータ記憶手段に記憶させておくモーションデータは、座標位置入力手段から座標位置を入力可能な２次元平面上に設定された複数の特定座標位置に対応するものだけでよい。このため、モーションデータ記憶手段に予め記憶させておくモーションデータのデータ量を比較的少ない量に抑えることができるようになる。さらに、座標入力手段から入力する座標位置を変えるだけでオブジェクトを動作させるためのモーションデータを異ならせるものとすることができ、操作者の操作に応じて自在にオブジェクトを動作させることができるようになる。
【００１１】
上記第１の観点にかかる画像生成装置は、前記座標位置入力手段から入力された座標位置が、前記複数の特定座標位置のいずれかの特定座標位置と同じであるかどうかを判定する座標位置判定手段をさらに備えていてもよい。この場合において、前記ブレンド手段は、前記座標位置判定手段によりいずれの特定座標位置とも異なると判定されたときに、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするものとすることができる。ここで、前記オブジェクト動作手段は、前記座標位置判定手段によりいずれかの特定座標位置と同じであると判定されたときに、前記モーションデータ記憶手段に記憶された複数のモーションデータのうちの前記座標位置入力手段から入力された座標位置と同じ特定座標位置に対応したモーションデータを用いて、前記オブジェクトを動作させることができる。
【００１２】
特定座標位置は、座標位置入力手段から入力可能な座標位置を含む２次元平面上に設定されているものであるため、座標位置入力手段から入力された座標位置がたまたまいずれかの特定座標位置と同じになることもある。ここでは、ブレンド手段によるモーションデータのブレンドは行う必要がなく、入力された座標位置と同じ特定座標位置に対応したモーションデータをそのまま用いて、オブジェクトを動作させるものとすることができる。この場合には、オブジェクトを動作させるためのモーションデータを得るために余分な処理を行わなくて済むので、上記画像生成装置の処理負荷を小さくすることができる。
【００１３】
上記第１の観点にかかる画像生成装置は、前記複数の特定座標位置のうちから、前記座標位置入力手段から入力された座標位置に応じて前記特定座標位置の総数よりも少ない２以上の特定座標位置を選択する特定座標位置選択手段をさらに備えていてもよい。この場合において、前記ブレンド手段は、前記特定座標位置選択手段により選択された特定座標位置に対応したモーションデータを、各々のモーションデータに対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいてブレンドするものとすることができる。
【００１４】
モーションデータ記憶手段には、総ての特定座標位置に対応するモーションデータが記憶されているが、座標位置入力手段から入力された座標位置は、必ずしも総ての特定座標位置に対して関連性が大きいものとは限らない。例えば、入力された座標位置から所定の方向の所定の距離のところに１の特定座標位置があるが、これと近い方向でさらに遠いところにある他の特定座標位置は、１の特定座標位置に比べて入力された座標位置に対する関連性が小さい。ここでは、座標位置入力手段から入力された座標位置に応じて特定座標位置の総数よりも少ない２以上の特定座標位置を選択し、選択した特定座標位置のみについて対応するモーションデータのブレンドを行うので、オブジェクトを動作させるためのモーションデータの生成に要する処理量を抑えることができる。
【００１５】
この場合において、前記特定座標位置選択手段は、さらに前記座標位置入力手段から座標位置が入力されたときにおける前記オブジェクトの動作状態に応じて前記複数の特定座標位置のうちから２以上の特定座標位置を選択するものとすることができる。
【００１６】
ここで、前記オブジェクトが、それぞれが該オブジェクトとは異なる第２オブジェクトを所持可能な複数の第２オブジェクト所持部を有するものである場合には、前記特定座標位置選択手段は、前記オブジェクトの動作状態として前記第２オブジェクトがいずれの第２オブジェクト所持部により所持されているかに応じて特定座標位置を選択するものとすることができる。
【００１７】
座標位置入力手段から入力された座標位置に応じてオブジェクトの動作を一律に決めてしまうと、それまでのオブジェクトの動作状態によっては、前後の動作の違いが大きくなりすぎたり、さらに前後の動作の違いに違和感が生じてしまったりする虞がある。例えば、第２オブジェクトを所持する第２オブジェクト所持部が頻繁に変わると、そこに違和感が生じてしまう虞もある。ここでは、座標位置入力手段から入力された座標位置が同じであっても、該座標位置が入力されたときのオブジェクトの動作状態に応じて特定座標位置を選択するものとしているため、座標位置の入力の前後のオブジェクトの動作の違いが大きくなりすぎたり、その違いに違和感を生じさせるようなことがないようにすることができる。
【００１８】
上記第１の観点にかかる画像生成装置において、前記ブレンド手段は、前記座標位置入力手段から入力された座標位置に近い特定座標位置に対応したモーションデータほど高いブレンド率で前記複数のモーションデータをブレンドすることが好ましい。
【００１９】
この場合、座標位置入力手段から入力された座標位置に近い特定座標位置に対応したモーションデータほど、オブジェクトを動作させるために生成されるモーションデータへ大きな影響を及ぼすため、どのような座標位置を座標入力手段から入力すればどのようにオブジェクトが動作するかが操作者に分かり易いものとなる。
【００２０】
上記第１の観点にかかる画像生成装置において、前記ブレンド手段は、前記２次元平面の座標系の第１方向における前記座標位置入力手段から入力された座標位置と各々の特定座標位置との間の距離と、前記２次元平面の座標系において前記第１方向と直交する第２方向における前記座標位置入力手段から入力された座標位置と各々の特定座標位置との間の距離とに従って、前記複数のモーションデータをブレンドするものとすることができる。
【００２１】
この場合には、複数のモーションデータをブレンドする際のブレンド率を、加減乗除という比較的処理の容易な計算だけでそれぞれ算出することができるので、上記画像生成装置の処理負荷を小さくすることができる。
【００２２】
上記目的を達成するため、本発明の第２の観点にかかる画像生成装置は、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成装置であって、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力手段と、前記オブジェクトの動作を規定する複数のモーションデータを記憶するモーションデータ記憶手段と、前記座標位置入力手段から入力された座標位置に基づいて、前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定するモーションデータ決定手段と、前記モーションデータ決定手段により決定されたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段と、前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段と、前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段とを備えることを特徴とする。
【００２３】
上記第２の観点にかかる画像生成装置において、前記モーションデータ決定手段は、前記座標位置入力手段から入力された座標位置に基づいて前記複数のモーションデータのうちのいずれか１つを選択し、該選択したモーションデータを前記オブジェクトの動作を規定するモーションデータとして決定することができる。また、前記モーションデータ記憶手段は、前記座標位置入力手段から入力された座標位置に基づいて前記複数のモーションデータのうちのいずれか２以上を選択し、該選択したモーションデータをブレンドしたモーションデータを前記オブジェクトの動作を規定するモーションデータとして決定することができる。前記座標位置入力手段から入力された座標位置によって、前者と後者とを使い分けるものとしてもよい。
【００２４】
上記第２の観点にかかる画像生成装置では、仮想３次元空間に存在するオブジェクトは、モーションデータを用いて動作させられる。オブジェクトを動作させるためのモーションデータは、記憶されている複数のモーションデータのうちから座標位置入力手段により入力した座標位置に基づいて決定される。つまり、入力した座標位置が異なれば、オブジェクトを動作させるものとなるモーションデータも異なることとなる。
【００２５】
このように座標位置入力手段からは２次元平面上の任意の座標位置を入力することができるが、入力する座標位置の違いによってオブジェクトを動作させるためのモーションデータを異ならせることで、オブジェクトの動作について微妙な違いも表現することができるようになる。さらに、座標入力手段から入力する座標位置を変えるだけでオブジェクトを動作させるためのモーションデータを異ならせるものとすることができ、操作者の操作に応じて自在にオブジェクトを動作させることができるようになる。
【００２６】
上記第２の観点にかかる画像生成装置において、前記モーションデータ記憶手段は、前記複数のモーションデータを、前記２次元平面上に予め設定された複数の特定座標位置にそれぞれ対応づけて記憶していてもよい。この場合において、前記モーションデータ決定手段は、前記座標位置入力手段から入力された座標位置と前記２次元平面上に予め設定された特定座標位置との位置関係に基づいて、前記オブジェクトの動作を規定するモーションデータを決定することができる。
【００２７】
この場合には、オブジェクトを動作させるためのモーションデータの生成のためにモーションデータ記憶手段に記憶させておくモーションデータは、座標位置入力手段から座標位置を入力可能な２次元平面上に設定された複数の特定座標位置に対応するものだけでよい。このため、モーションデータ記憶手段に予め記憶させておくモーションデータのデータ量を比較的少ない量に抑えることができるようになる。
【００２８】
上記第２の観点にかかる画像生成装置は、操作者の操作に応じて前記オブジェクトの移動方向を入力する移動方向入力手段をさらに備えていてもよい。この場合において、前記モーションデータ決定手段は、さらに前記移動方向入力手段から入力された移動方向に応じて、前記オブジェクトの動作を規定するモーションデータを決定し、前記オブジェクト動作手段は、前記移動方向入力手段から入力された移動方向に応じて、前記オブジェクトを前記仮想３次元空間で移動させる移動制御手段を含むものとすることができる。
【００２９】
この場合には、仮想３次元空間においてオブジェクトが移動する場合に、該移動方向に応じてモーションデータが決定されるため、その移動に応じて適切な動作をオブジェクトに行わせることができるようになる。
【００３０】
上記第１、第２の観点にかかる画像生成装置は、前記座標位置入力手段から座標位置が入力されたときまでの前記オブジェクトの動作と、該入力された座標位置に対応したモーションデータにより規定される動作の間に前記オブジェクトが行うつなぎ動作を規定するつなぎモーションデータを記憶するつなぎモーションデータ記憶手段と、前記座標位置入力手段から座標位置が入力されたときに、該座標位置が入力されたときまでの前記オブジェクトの動作状態と該入力された座標位置とが所定の関係を有するかどうかを判定する動作位置判定手段とをさらに備えていてもよい。この場合において、前記オブジェクト動作手段は、前記動作位置判定手段により所定の関係を有すると判定されたときに、前記座標位置が入力されたときまでの前記オブジェクトの動作から移行して前記つなぎモーション記憶手段に記憶されたつなぎモーションデータを用いて前記オブジェクトを動作させるつなぎ動作手段を含むものとすることができ、該つなぎ動作手段により前記オブジェクトを動作させた後に、該つなぎ動作手段による動作から移行して前記座標位置入力手段から入力された座標位置に対応したモーションデータを用いて前記オブジェクトを動作させることができる。
【００３１】
ここで、前記つなぎモーションデータ記憶手段は、前記座標位置入力手段から座標位置が入力されたときまでの前記オブジェクトの動作状態と該入力された座標位置との関係に応じて、複数のつなぎモーションデータを記憶していてもよい。この場合において、前記つなぎ動作手段は、前記つなぎモーションデータ記憶手段に記憶された複数のつなぎモーションデータのうちで前記座標位置入力手段から座標位置が入力されたときまでの前記オブジェクトの動作と該入力された座標位置との関係に応じたつなぎモーションデータを用いて前記オブジェクトを動作させることができる。
【００３２】
オブジェクトを動作させるためのモーションデータは、座標位置入力手段から入力された座標位置に応じて生成されるが、それまでのオブジェクトの動作状態によっては、生成されたモーションデータに応じたオブジェクトの動作とその前の動作が急激に変わってしって違和感を生じさせる虞がある。ここでは、座標位置入力手段から入力された座標位置と該座標位置が入力されたときのオブジェクトの動作状態が所定の関係を有する場合には、一旦つなぎモーションデータを用いてオブジェクトを動作させてから、入力された座標位置に応じて生成されたモーションデータを用いてオブジェクトを動作させるので、座標位置を入力する前後でオブジェクトの動作が急激に変わって違和感を生じさせるようなことがないようにすることができる。特に座標位置入力手段から入力された座標位置と該座標位置が入力されたときのオブジェクトの動作状態との関係に応じて複数のつなぎモーションデータを用意しておくことで、オブジェクトの動作状態や入力された座標位置が如何なるものであっても、座標位置が入力される前後のオブジェクトの動作を違和感なく移行させることができるようになる。
【００３３】
上記第１、第２の観点にかかる画像生成装置は、前記座標位置入力手段から先に入力された第１の座標位置に対応したモーションデータにより規定される動作と、前記第１の座標位置の次に入力された第２の座標位置に対応したモーションデータにより規定される動作との間に前記オブジェクトが行うつなぎ動作を規定するつなぎモーションデータを記憶するつなぎモーションデータ記憶手段と、前記第１の座標位置と前記第２の座標位置とが所定の関係を有するかどうかを判定する座標位置判定手段とをさらに備えていてもよい。この場合において、前記オブジェクト動作手段は、前記座標位置判定手段により所定の関係を有すると判定されたときに、前記第１の座標位置に対応したモーションデータにより規定される前記オブジェクトの動作から移行して前記つなぎモーション記憶手段に記憶されたつなぎモーションデータを用いて前記オブジェクトを動作させるつなぎ動作手段を含むものとすることができ、該つなぎ動作手段により前記オブジェクトを動作させた後に、該つなぎ動作手段による動作から移行して前記第２の座標位置に対応したモーションデータを用いて前記オブジェクトを動作させることができる。
【００３４】
ここで、前記つなぎモーションデータ記憶手段は、前記第１、第２の座標位置の位置関係に応じて、複数のつなぎモーションデータを記憶していてもよい。この場合において、前記つなぎ動作手段は、前記つなぎモーションデータ記憶手段に記憶された複数のつなぎモーションデータのうちで前記第１、第２の座標位置の位置関係に応じたつなぎモーションデータを用いて前記オブジェクトを動作させることができる。
【００３５】
オブジェクトを動作させるためのモーションデータは、座標位置入力手段から入力された座標位置に応じて生成されるが、先に入力された第１の座標位置と後から入力された第２の座標位置によっては、それぞれの座標位置に応じて生成されたモーションデータが大きく異なるものとなることもあり、第２の座標位置を入力したときにオブジェクトの動作が急激に変わってしって違和感を生じさせる虞がある。ここでは、先に入力された第１の座標位置と後から入力された第２の座標位置とが所定の関係を有する場合には、オブジェクトの動作として、第１の座標位置に応じて生成されたモーションデータを用いた動作と、第２の座標位置に応じて生成されたモーションデータを用いた動作との間に、つなぎモーションデータを用いた動作を挿入している。このため、第２の座標位置を入力した後のオブジェクトの動作が第１の座標位置を入力した後の動作から急激に変わって違和感を生じさせるようなことがないようにすることができる。特に第１、第２の座標位置の位置関係に応じて複数のつなぎモーションデータを用意しておくことで、続けて入力された第１、第２の座標位置が如何なるものであっても、オブジェクトの動作を違和感なく移行させることができるようになる。
【００３６】
なお、前記座標位置判定手段は、前記複数の特定座標位置のうちで前記第１の座標位置に最も近い特定座標位置と前記第２の座標位置に最も近い特定座標位置とが所定の関係を有するかどうかを判定するものであってもよい。
【００３７】
また、前記座標位置入力手段が、前記複数の特定座標位置にそれぞれ対応づけられた複数の領域を有している場合には、前記座標位置判定手段は、前記複数の領域のうちで前記第１の座標位置が含まれる領域と前記第２の座標位置が含まれる領域とが所定の関係を有するかどうかを判定するものであってもよい。
【００３８】
これらの場合には、第１の座標位置と第２の座標位置とが所定の関係を有するかどうかを比較的容易に判定することができるようになる。
【００３９】
上記第１、第２の観点にかかる画像生成装置は、少なくとも前記オブジェクトの高さの範囲内で前記仮想３次元空間の高さ方向に垂直な平面に設定される仮想２次元空間の前記オブジェクトを含む所定範囲の画像を生成する平面画像生成手段と、前記平面画像生成手段の生成した前記仮想２次元空間の画像を、前記オブジェクトを中心として前記表示手段とは異なる第２表示手段に表示させる平面画像表示制御手段とをさらに備えていてもよい。この場合において、前記座標位置入力手段は、前記第２表示手段の前面に配設され、該第２表示手段に表示された画像を透過可能に示すタッチパネルとすることができる。
【００４０】
ここでは、操作者は、第２表示手段に表示されているオブジェクトの位置を基準として座標位置入力手段から座標位置を入力することができるようになるので、オブジェクトに所望の動作をさせるために入力すべき座標位置が操作者に分かり易いものとなる。
【００４１】
上記第１、第２の観点にかかる画像生成装置は、前記座標位置入力手段以外とは別に、操作者の操作に応じて前記オブジェクトの動作に関する指示を入力する動作入力手段をさらに備えていてもよい。この場合において、前記オブジェクト動作手段は、さらに前記動作入力手段から入力された指示に応じて前記オブジェクトを動作させることができる。
【００４２】
この場合には、座標位置入力手段からの座標位置の入力だけではく、動作入力手段からの入力によってオブジェクトを動作させることができるので、より豊富な動作態様でオブジェクトを動作させることができるようになる。
【００４３】
ここで、前記オブジェクト動作手段は、前記動作入力手段から操作者の指示が入力されたときに、前記座標位置入力手段から入力された座標位置に対応するモーションデータを用いた動作とは異なる態様で前記オブジェクトを動作させる手段を含むものとすることができ、前記オブジェクトが前記動作入力手段からの入力に基づく動作を停止したときに、前記モーションデータ記憶手段に記憶された複数のモーションデータのうちの特定のモーションデータを用いて、前記オブジェクトを動作させるものとすることができる。
【００４４】
この場合、オブジェクトが動作入力手段からの入力に基づく動作を停止したときに、そのままオブジェクトの動作を完全に停止させるのではなく、モーションデータを用いた動作をオブジェクトに行わせることができるものとなる。
【００４５】
上記第１、第２の観点にかかる画像生成装置は、前記仮想３次元空間に存在する複数のオブジェクトのうちで、モーションデータを用いて動作させるオブジェクトを切り替える動作オブジェクト切り替え手段をさらに備えていてもよい。この場合において、前記オブジェクト動作手段は、前記オブジェクト動作手段によりモーションデータを用いて動作させるオブジェクトが新たなオブジェクトに切り替えられたときに、前記モーションデータ記憶手段に記憶された複数のモーションデータのうちの特定のモーションデータを用いて、該新たに切り替えられたオブジェクトを動作させるものとすることができる。
【００４６】
この場合、モーションデータを用いて動作させるオブジェクトが切り替えられても、新たに切り替えられたオブジェクトを最初からモーションデータを用いて動作させることができるものとなる。
【００４７】
上記目的を達成するため、本発明の第３の観点にかかる画像生成方法は、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成方法であって、前記２次元平面上に予め設定された複数の特定座標位置と、該複数の特定座標位置にそれぞれ対応する前記オブジェクトの動作を規定する複数のモーションデータとを、前記記憶装置に予め記憶させ、前記複数のモーションデータの各々に対応づけて前記記憶装置に記憶されている複数の特定座標位置と前記座標位置入力装置から入力された座標位置との位置関係に基づいて、前記記憶装置に記憶されている前記複数のモーションデータをブレンドし、該ブレンドされたモーションデータを前記記憶装置に一時記憶させ、前記ブレンドされて前記記憶装置に一時記憶されているモーションデータを用いて、前記オブジェクトを動作させて、該動作に応じたオブジェクトの形態を順次前記記憶装置に一時記憶させ、前記記憶装置に一時記憶されている形態で前記オブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより順次透視変換して、該オブジェクトの動作する画像を生成し、前記透視変換により生成した前記オブジェクトの動作する画像を前記表示装置に表示させることを特徴とする。
【００４８】
上記目的を達成するため、本発明の第４の観点にかかるプログラムは、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムであって、前記記憶装置は、前記２次元平面上に予め設定された複数の特定座標位置と、該複数の特定座標位置にそれぞれ対応する前記オブジェクトの動作を規定する複数のモーションデータとを予め記憶しており、前記プログラムは、前記複数のモーションデータの各々に対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいて、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするブレンド手段、前記ブレンド手段によりブレンドされたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、前記動作画像生成手段の生成した前記オブジェクトの動作する画像を前記表示装置に表示させる動作画像表示制御手段として前記コンピュータ装置を機能させることを特徴とする。
【００４９】
上記目的を達成するため、本発明の第５の観点にかかるコンピュータ読み取り可能な記録媒体は、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムを記録した記録媒体であって、前記記憶装置は、前記２次元平面上に予め設定された複数の特定座標位置と、該複数の特定座標位置にそれぞれ対応する前記オブジェクトの動作を規定する複数のモーションデータとを予め記憶しており、前記プログラムは、前記複数のモーションデータの各々に対応づけられた特定座標位置と前記座標位置入力手段から入力された座標位置との位置関係に基づいて、前記モーションデータ記憶手段に記憶された前記複数のモーションデータをブレンドするブレンド手段、前記ブレンド手段によりブレンドされたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、前記動作画像生成手段の生成した前記オブジェクトの動作する画像を前記表示装置に表示させる動作画像表示制御手段として前記コンピュータ装置を機能させることを特徴とする。
【００５０】
上記目的を達成するため、本発明の第６の観点にかかる画像生成方法は、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、仮想３次元空間に存在するオブジェクトを動作させた画像を生成する画像生成方法であって、前記オブジェクトの動作を規定する複数のモーションデータを、前記記憶装置に予め記憶させ、前記座標位置入力装置から入力された座標位置に基づいて、前記記憶装置に予め記憶された前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定し、該決定したモーションデータに関する決定情報を前記記憶装置に一時記憶させ、前記記憶装置装置に一時記憶された決定情報に対応したモーションデータを用いて、前記オブジェクトを動作させて、該動作に応じたオブジェクトの形態を順次前記記憶装置に一時記憶させ、前記記憶装置に一時記憶されている形態で前記オブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより順次透視変換して、該オブジェクトの動作する画像を生成し、前記透視変換により生成した前記オブジェクトの動作する画像を前記表示装置に表示させることを特徴とする。
【００５１】
上記目的を達成するため、本発明の第７の観点にかかるプログラムは、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムであって、前記記憶装置は、前記オブジェクトの動作を規定する複数のモーションデータを予め記憶し、前記プログラムは、前記座標位置入力手段から入力された座標位置に基づいて、前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定するモーションデータ決定手段、前記モーションデータ決定手段により決定されたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段として前記コンピュータ装置を機能させることを特徴とする。
【００５２】
上記目的を達成するため、本発明の第８の観点にかかるコンピュータ読み取り可能な記録媒体は、操作者の操作に応じて２次元平面上の任意の座標位置を入力する座標位置入力装置と、データを記憶する記憶装置と、画像を表示する表示装置とを備えるコンピュータ装置において実行され、該コンピュータ装置により仮想３次元空間に存在するオブジェクトを動作させた画像を生成するためのプログラムを記録した記録媒体であって、前記記憶装置は、前記オブジェクトの動作を規定する複数のモーションデータを予め記憶し、前記プログラムは、前記座標位置入力手段から入力された座標位置に基づいて、前記複数のモーションデータのうちから前記オブジェクトを動作させるためのモーションデータを決定するモーションデータ決定手段、前記モーションデータ決定手段により決定されたモーションデータを用いて、前記オブジェクトを動作させるオブジェクト動作手段、前記オブジェクト動作手段により動作させられているオブジェクトを前記仮想３次元空間の所定の位置に設定された仮想カメラにより透視変換することにより、該オブジェクトの動作する画像を生成する動作画像生成手段、及び、前記動作画像生成手段の生成した前記オブジェクトの動作する画像を表示手段に表示させる動作画像表示制御手段として前記コンピュータ装置を機能させることを特徴とする。
【発明を実施するための最良の形態】
【００５３】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００５４】
図１は、この実施の形態に適用されるゲーム装置１の構成を示す外観図である。ここでは、ゲーム装置１の一例として、携帯ゲーム装置を示す。図１において、ゲーム装置１は、２つの液晶表示器（ＬＣＤ）１１および１２を所定の配置位置となるように、ハウジング１８に収納して構成される。
【００５５】
第１液晶表示器（以下、「ＬＣＤ」という）１１および第２ＬＣＤ１２を互いに上下に配置して収納する場合は、ハウジング１８が下部ハウジング１８ａおよび上部ハウジング１８ｂから構成され、上部ハウジング１８ｂが下部ハウジング１８ａの上辺の一部で回動自在に支持される。上部ハウジング１８ｂは、第１ＬＣＤ１１の平面形状よりも少し大きな平面形状を有し、一方主面から第１ＬＣＤ１１の表示画面を露出するように開口部が形成される。下部ハウジング１８ａは、その平面形状が上部ハウジング１８ｂよりも横長に選ばれ、横方向の略中央部に第２ＬＣＤ１２の表示画面を露出する開口部が形成され、第２ＬＣＤ１２を挟む何れか一方にスピーカ１５の音抜き孔が形成されるとともに、第２ＬＣＤ１２を挟む左右に操作スイッチ部１４が装着される。
【００５６】
操作スイッチ部１４は、第２ＬＣＤ１２の右横における下部ハウジング１８ａの一方主面に装着される動作スイッチ（Ａボタン）１４ａおよび動作スイッチ（Ｂボタン）１４ｂと、第２ＬＣＤ１２の左横における下部ハウジング１８ａの一方主面に装着される方向指示スイッチ（十字キー）１４ｃと、スタートスイッチ１４ｄと、セレクトスイッチ１４ｅと、側面スイッチ１４ｆおよび１４ｇとを含む。
【００５７】
動作スイッチ１４ａおよび１４ｂは、例えば、この実施の形態で適用されるバスケットボールゲームにおいてはパスやシュートを行う等の指示の入力に使用される。方向指示スイッチ１４ｃは、プレイヤによって操作スイッチ部１４を用いて操作可能なプレイヤオブジェクト（この実施の形態では、プレイヤキャラクタ）の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。側面スイッチ（Ｌボタン）１４ｆおよび側面スイッチ（Ｒボタン）１４ｇは、下部ハウジング１８ａにおける上部面（上部側面）の左右に設けられる。方向指示スイッチ１４ｃは、十字キーにより構成されているが、十字の互いに隣接する２つのキー（上と右、右と下、下と左、左と上）は、同時操作可能であり、単独のキーの操作による上、下、左及び右の入力と、隣接するキーの同時操作による右上、右下、左上、左下の合計８方向の入力を行うことができる。
【００５８】
第２ＬＣＤ１２の上面には、タッチパネル１３（図１における破線領域）が装着される。タッチパネル１３は、例えば、抵抗膜方式、光学式（赤外線方式）、静電容量結合式の何れの種類でもよく、その上面をスティック１６（または指でも可）で押圧操作、移動操作、または撫でる操作をしたとき、スティック１６の座標位置を検出して出力するものである。この実施の形態で適用されるバスケットボールゲームでは、タッチパネル１３は、プレイヤキャラクタがボールをドリブルしているときに、そのドリブルする位置を入力するために使用される。
【００５９】
上部ハウジング１８ｂの側面近傍には、必要に応じてタッチパネル１３を操作するスティック１６を収納するための収納孔（図１における二点破線領域）が形成される。この収納孔には、スティック１６が収納される。下部ハウジング１８ａの側面の一部には、ゲームプログラムを記憶したメモリ（例えば、ＲＯＭ）を内蔵したゲームカートリッジ１７（以下、単にカートリッジ１７と記載する）を着脱自在に装着するためのカートリッジ挿入部（図１における一点破線領域）が形成される。カートリッジ１７は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ＲＯＭまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ１７と電気的に接続するためのコネクタ（図２参照）が内蔵される。さらに、下部ハウジング１８ａ（または上部ハウジング１８ｂでも可）には、ＣＰＵ等の各種電子部品を実装した電子回路基板が収納される。
【００６０】
次に、ゲーム装置１の回路構成について説明する。図２は、ゲーム装置１の回路構成を示すブロック図である。図２において、ハウジング１８に収納される電子回路基板には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、所定のバスを介して、カートリッジ１７と接続するためのコネクタ２８が接続されるとともに、入出力インターフェース（Ｉ／Ｆ）回路２７、第１のグラフィック処理ユニット（第１ＧＰＵ）２４、第２のグラフィック処理ユニット（第２ＧＰＵ）２６、およびワーキングＲＡＭ（ＷＲＡＭ）２２が接続される。
【００６１】
コネクタ２８には、カートリッジ１７が着脱自在に接続される。カートリッジ１７は、上述したようにゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するＲＯＭ１７１とバックアップデータを書き換え可能に記憶するＲＡＭ１７２とを搭載する。カートリッジ１７のＲＯＭ１７１に記憶されたゲームプログラムは、ＷＲＡＭ２２にロードされ、当該ＷＲＡＭ２２にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがＷＲＡＭ２２に記憶される。ＲＯＭ１７１には、ゲーム装置１のコンピュータ、特にＣＰＵコア２１によって実行可能な形式の命令群及びデータ群であるゲームプログラムが記録される。そして、このゲームプログラムは、ＷＲＡＭ２２に適宜読み込まれ実行される。
【００６２】
第１ＧＰＵ２４には、第１ビデオＲＡＭ（以下「ＶＲＡＭ」）２３が接続され、第２ＧＰＵ２６には、第２のビデオＲＡＭ（以下「ＶＲＡＭ」）２５が接続される。第１ＧＰＵ２４は、ＣＰＵコア２１からの指示に応じて、ＷＲＡＭ２２に記憶される画像を生成するためのデータに基づいて第１ゲーム画像を生成し、第１ＶＲＡＭ２３に描画する。第２ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＷＲＡＭ２２に記憶される画像を生成するためのデータに基づいて第２ゲーム画像を生成し、第２ＶＲＡＭ２５に描画する。
【００６３】
第１ＧＰＵ２４が第１ＬＣＤ１１に接続され、第２ＧＰＵ２６が第２ＬＣＤ１２に接続される。第１ＧＰＵ２４は、ＣＰＵコア２１からの指示に応じて第１ＶＲＡＭ２３に描画された第１ゲーム画像を第１ＬＣＤ１１に出力する。そして、第１ＬＣＤ１１は、第１ＧＰＵ２４から出力された第１ゲーム画像を表示する。第２ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第２ＶＲＡＭ２５に描画された第２ゲーム画像を第２ＬＣＤ１２に出力する。そして、第２ＬＣＤ１２は、第２ＧＰＵ２６から出力された第２ゲーム画像を表示する。
【００６４】
Ｉ／Ｆ回路２７には、タッチパネル１３、操作スイッチ部１４、およびスピーカ１５が接続される。Ｉ／Ｆ回路２７は、タッチパネル１３、操作スイッチ部１４、およびスピーカ１５等の外部入出力装置とＣＰＵコア２１との間のデータの受け渡しを行う回路である。スピーカ１５は、上述した音抜き孔の内側位置に配置され、実行中のゲームに応じて生成される音声を出力する。
【００６５】
タッチパネル１３（タッチパネル用のデバイスドライバを含む）は、第２ＶＲＡＭ２５の座標系に対応する座標系を有し、スティック１６等によって入力（指示）された位置に対応する座標データをＷＲＡＭ２２に設けられる所定のレジスタに出力するものである。例えば、第２ＬＣＤ１２の表示画面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル１３の検出精度も表示画面に対応した２５６ｄｏｔ×１９２ｄｏｔである。なお、タッチパネル１３の検出精度は、第２ＬＣＤ１２の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
【００６６】
以下、この実施の形態において、図１、図２に示したゲーム装置１で実行されるゲームについて説明する。この実施の形態にかかるゲームは、プレイヤチームのキャラクタと、相手チームのキャラクタとがバスケットボールの試合を行うバスケットボールゲームである。プレイヤチームがオフェンス側にあるときには、通常は、プレイヤチームのキャラクタのうちで実際にボールを所持しているキャラクタがプレイヤからの指示に応じて動作するプレイヤキャラクタとなる。すなわち、プレイヤキャラクタは、ゲームの進行状況に応じて変わることがある。
【００６７】
プレイヤキャラクタを含むプレイヤチームの各キャラクタ、相手チームの各キャラクタは、仮想３次元空間に形成されたバスケットボールコート（以下、単に「コート」という）上に存在しており、ゲームの進行状況に応じてコート上で動作する。仮想３次元空間に形成されたコート上には、ボールも存在し、それぞれのキャラクタの動作によってコート上でボールを運んで、敵チーム（プレイヤチームにとっては相手チーム）のゴールにボールを入れることで得点となる。
【００６８】
プレイヤチームの他のキャラクタの動作は、ボールやプレイヤキャラクタの動きに応じてゲーム装置１のＣＰＵコア２１により制御される。相手チームのキャラクタの動作は、全てゲーム装置１のＣＰＵコア２１により制御される。なお、プレイヤチームがディフェンス側にあるとき、或いはルーズボールとなっているときには、ボールの位置や相手チームのキャラクタの位置などによってプレイヤキャラクタが決定され、プレイヤからの指示により動作させられることとなるが、これについては本発明と直接的に関わりがないので説明を省略する。
【００６９】
図３は、この実施の形態にかかるバスケットボールゲームにおいて、プレイヤチームがオフェンス側にあるときの表示画面の例を示す図である。図３（ａ）に示すように、第１ＬＣＤ１１には、ボール１１０を所持している（ここでは、ドリブルしている）プレイヤキャラクタ１００を参照点とし、所定の位置に視点の設定された仮想カメラによりコートを含む仮想３次元空間を透視変換した画像が表示される。プレイヤキャラクタ１００以外のプレイヤチームのキャラクタ１０１〜１０４、及び相手チームのキャラクタ１２１〜１２５は、プレイヤキャラクタ１００を基準とした透視変換される範囲に存在すれば、第１ＬＣＤ１１に表示される。
【００７０】
仮想カメラの視点の位置は、プレイヤキャラクタ１００がコート上での位置の移動を停止したとき、或いはパスなどを受けることにより新たなプレイヤキャラクタ１００が設定されたときに、プレイヤキャラクタ１００の背面側の方向（プレイヤキャラクタ１００の基準方向であるルート１００Ｒの方向と反対側の方向）の所定距離の位置に設定される（但し、視点とプレイヤキャラクタ１００との間に障害物がない場合）。
【００７１】
プレイヤキャラクタ１００は、後述するようにタッチパネル１３のタッチによりボール１１０をドリブルする位置を変えることで、その向き（すなわち、ルート１００Ｒの向き）を変えることがある。但し、ボール１１０をドリブルする位置の変化よりも向きの変化は小さい。後述するクイックターンの場合を除いて、プレイヤキャラクタ１００のコート上の位置が変わらなければ、視点の位置が変わることはない。方向指示スイッチ１４ｃの操作によりプレイヤキャラクタ１００がコート上で移動すれば、その移動に追随して視点の位置が移動する。後述するクイックターンの際も、ターン後のプレイヤキャラクタ１００の背面側の方向に視点の位置が移動する。
【００７２】
また、図３（ｂ）に示すように、第２ＬＣＤ１２には、プレイヤキャラクタ１００の位置を中心として、仮想３次元空間のｘ−ｚ平面（ｙ方向、すなわち高さ方向に垂直な平面）の画像が表示される。表示される範囲は、プレイヤキャラクタ１００が中心となり、第１ＬＣＤ１１に画像を表示するための仮想カメラの視点の方向が下方向となる範囲に設定される。図３（ａ）の例では、ここでは、視点とプレイヤキャラクタ１００とを結ぶ直線がコートの縦方向と一致しているため、第２ＬＣＤ１２の表示範囲は、図３（ｂ）に示すようなものとなる。この表示範囲に存在するキャラクタのうちでプレイチームのキャラクタ（プレイヤキャラクタ１００を含む）１００〜１０４は白丸で、相手チームのキャラクタ１２１〜１２５は黒丸で、コート上における位置が示される。
【００７３】
第２ＬＣＤ１２の表示範囲の縦横方向は、必ずしもコートの縦横方向と一致しない。すなわち、参照点となるプレイヤキャラクタ１００と仮想カメラの視点を結ぶ直線の方向に応じて表示範囲の縦横方向は、コートの縦横方向に対して傾くものとなる。方向指示スイッチ１４ｃの入力方向（８方向）は、第２ＬＣＤ１２の表示方向に対応するものであり、方向指示スイッチ１４ｃを操作したときのプレイヤキャラクタ１００のコート上における移動方向は、表示範囲とコートとの傾き角に応じて決められるものとなる。
【００７４】
次に、この実施の形態にかかるバスケットボールゲームにおいて、プレイヤチームがオフェンス側にあるときのプレイヤキャラクタ１００の動作について説明する。この場合のプレイヤキャラクタ１００の動作としては、コート上の任意の位置で停止してのボールのドリブル、ボール１１０をドリブルしながらのコート上の移動、プレイヤチームの他のキャラクタへのボールのパス（この場合、パスを受けたキャラクタが新たなプレイヤキャラクタ１００となる）、シュートなどの動作がある。
【００７５】
プレイヤキャラクタ１００がコート上の任意の位置で停止してボールをドリブルする場合について説明する。プレイヤキャラクタ１００は、コート上の任意の位置に停止しているとき、モーションデータに従ってボール１１０をドリブルし続けている。プレイヤキャラクタ１００の位置に対するボール１１０の位置は、タッチパネル１３をタッチする位置に応じてプレイヤキャラクタ１００の手が届く範囲において任意に切り替えられる。また、タッチパネル１３をタッチする位置に応じてボール１１０をドリブルする手も切り替えられる。もっとも、ボール１１０の位置及びドリブルする手が変わるのは、タッチパネル１３のタッチによりプレイヤキャラクタ１００にドリブル動作するためのモーションデータが変わることによるものである。
【００７６】
このようにタッチパネル１３をタッチした位置に応じて任意の位置でボール１１０をドリブルできるため、タッチパネル１３の位置毎にプレイヤキャラクタ１００がボール１１０をドリブルする際のモーションデータを用意しておいたのでは、モーションデータのデータ量が膨大なものとなってしまう。そこで、この実施の形態にかかるバスケットボールゲームでは、タッチパネル１３上の特定の座標位置（以下、特定座標）にのみ対応づけてモーションデータをＲＯＭ１７１に書き込んでおき、これ以外の位置がタッチされたときには、タッチされた位置の座標に応じてＲＯＭ１７１に記憶されたモーションデータをブレンドして、プレイヤキャラクタ１００にドリブル動作させるためのモーションデータを生成するものとしている。
【００７７】
図４は、プレイヤキャラクタ１００がコート上の任意の位置に停止してドリブルを行う場合におけるモーションブレンドの説明図である。プレイヤキャラクタ１００は右手でも左手でもボール１１０をドリブルすることができるが、図４は、右手でドリブルを行う場合のモーションブレンドを説明するものである。左手でドリブルを行う場合は、図４の左右を反転したパターンとして考えればよいこととなる。
【００７８】
図４（ａ）に示すように、タッチパネル１３上の領域は、（１）〜（９）の３行３列の９つのエリアに等間隔で区切られている。プレイヤキャラクタ１００が右手でドリブルを行っている場合には、図中斜線を付して示すように、真ん中の列（縦方向）にある３つのエリア（２）、（５）、（８）と、右側の列にある３つのエリア（３）、（６）、（９）がドリブルする手を変えないエリアとして設定されている。また、これらの６つのエリアで形成される長方形の４つの頂点の位置と、縦方向の２つの辺の中点の位置に、全部で６つの特定座標２０１〜２０６が設定されている。
【００７９】
特定座標２０１〜２０６には、それぞれの位置に対応したモーションデータが対応づけられている。プレイヤキャラクタ１００が右手でドリブルしているときにタッチパネル１３上のタッチされた位置の座標が特定座標２０１〜２０６のいずれかであれば、タッチされた位置に対応する特定座標に対応づけられたモーションデータがＷＲＡＭ２２にロードされてプレイヤキャラクタ１００にドリブル動作させるためのモーションデータとしてそのまま用いられる。パスを受けるなどして新たなプレイヤキャラクタ１００が設定された場合には、デフォルトとして特定座標２０１に対応したモーションデータがＷＲＡＭ２２にロードされて用いられる。これは、プレイヤキャラクタ１００の正面（すなわち、ルート１００Ｒの方向）でボール１１０をドリブルするためのモーションデータである。
【００８０】
タッチパネル１３上のエリア（２）、（３）、（５）、（６）、（８）、（９）の範囲内で特定座標２０１〜２０６以外の位置がタッチされた場合には、まず、そのタッチされた位置の座標がＷＲＡＭ２２に保存される。タッチパネル１３上のタッチされた位置の座標は、少なくとも最新の２回分が保存される。新たなプレイヤキャラクタ１００が設定された場合には、それまでにＷＲＡＭ２２に保存されていた座標は全て消去され、デフォルトとして用いられるモーションデータに対応した特定座標２０１が最新のタッチされた位置の座標としてＷＲＡＭ２２に保存される。この位置の座標に従って、特定位置２０１〜２０６に対応したモーションデータがブレンドされて、モーションデータが生成される。
【００８１】
例えば、図４（ｂ）に示すように、エリア（３）内の位置Ｔ（ｘ１，ｙ１）がタッチされたものとする。位置Ｔのｙ座標ｙ１は、上辺の頂点２０１、２０４のｙ座標０よりも大きく、中点の特定座標２０２、２０５のｙ座標９５よりも小さいため、４つの特定座標２０１、２０２、２０４、２０５がモーションデータのブレンド対象となる特定座標として選定される。頂点２０１〜２０６とｘ座標またはｙ座標の一方が同じ位置がタッチされた場合は、特定座標は２つだけ選定されることとなる。
【００８２】
次に、選定された特定座標２０１、２０２、２０４、２０５で囲まれる長方形の上辺（特定座標２０１、２０４を結ぶ辺）、底辺（特定座標２０２、２０５を結ぶ辺）、左辺（特定座標２０１、２０２を結ぶ辺）、右辺（特定座標２０４、２０５を結ぶ辺）と、位置Ｔを通り、これらの辺に平行な直線の交点の位置をＴｈ、Ｔｕ、Ｔｌ、Ｔｒとしたとき、位置Ｔと位置Ｔｈの間の長さと位置Ｔと位置Ｔｕの間の長さの比がＨ：Ｕ、位置Ｔと位置Ｔｌの間の長さ、位置Ｔと位置Ｔｒの間の長さの比がＬ：Ｒとなったものとする。
【００８３】
この場合、特定座標２０１、２０２、２０４、２０５に対応したモーションデータのブレンド率Ｂ（２０１）、Ｂ（２０２）、Ｂ（２０４）、Ｂ（２０５）は、それぞれ図４（ｃ）に示す数式で求められる。これらの数式から分かるように、タッチパネル１３上のタッチされた位置Ｔに近い位置にある特定座標に対応したモーションデータほど、ブレンド率が高くなっている。特定座標２０１、２０２、２０４、２０５に対応したモーションデータは、求められたブレンド率Ｂ（２０１）、Ｂ（２０２）、Ｂ（２０４）、Ｂ（２０５）でブレンドされて、プレイヤキャラクタ１００がボール１１０をドリブルするためのモーションデータが生成されて、ＷＲＡＭ２２に保存される。
【００８４】
こうして新たなタッチ位置に応じたモーションデータがブレンドされ、ＷＲＡＭ２２に記憶されると、タッチパネル１３をタッチする前のモーションデータから新たにタッチした位置に応じたモーションデータに移行されて（但し、移行の際のフレーム補間がある）、プレイヤキャラクタ１００が動作されるものとなる。もっとも、前回のタッチ位置と今回のタッチ位置との関係によっては、タッチする前のモーションデータから、一旦つなぎモーションのモーションデータに移行してプレイヤキャラクタ１００を動作させた後、新たにタッチした位置に応じたモーションデータに移行してプレイヤキャラクタ１００を動作させるものとなる。
【００８５】
一方、プレイヤキャラクタ１００が右手でドリブルを行っている場合に、タッチパネル１３の左側の３つのエリア（１）、（４）、（７）の範囲内の位置がタッチされた場合には、ボール１１０をドリブルする手が左手に切り替えられる。図５は、プレイヤキャラクタ１００がボール１１０をドリブルする手を右手から左手に切り替える場合についての説明図である。ボール１１０をドリブルする手を左手から右手に切り替える場合は、図５の左右を反転したパターンで考えればよいこととなる。
【００８６】
例えば、図５（ａ）に示すように、プレイヤキャラクタ１００が右手でボール１１０をドリブルしている状態でタッチパネル１３上のエリア（１）の範囲内に含まれる位置ｔがタッチされたものとする。この位置は、右手のままドリブルできる位置に対応していないので、図５（ｂ）に示すように左手でのドリブルに対応した特定座標のうちから、タッチされた位置ｔに対応する特定座標２２１〜２２４がモーションデータのブレンド対象となる特定座標として選定されるものとなる。ここで、モーションデータの生成は、図４（ｂ）、（ｃ）に示したのと同様の手法で行えばよい。
【００８７】
プレイヤキャラクタ１００がボール１１０をドリブルする手を切り替える場合には、タッチパネル１３をタッチする前のモーションデータから、新たにタッチした位置に応じたモーションデータにそのまま移行される訳ではない。タッチする前のモーションデータから、一旦つなぎモーションのモーションデータに移行してプレイヤキャラクタ１００を動作させた後、新たにタッチした位置に応じたモーションデータに移行してプレイヤキャラクタ１００を動作させるものとなる。
【００８８】
次に、つなぎモーションについて説明する。図６は、つなぎモーションの説明図である。つなぎモーションは、前述したようにプレイヤキャラクタ１００が右手から左手にボール１１０を持ち替えてドリブルする場合には、必ず挿入される。プレイヤキャラクタ１００がボールを持ち替えないときでも、前回タッチパネル１３がタッチされた位置がエリア（１）〜（３）の範囲内に含まれるときであって今回タッチされた位置がエリア（７）〜（９）の範囲内に含まれるとき、または前回タッチされた位置がエリア（７）〜（９）の範囲内に含まれるときであって今回タッチされた位置がエリア（１）〜（３）の範囲内に含まれるときにも、つなぎモーションが挿入されることとなる。
【００８９】
つなぎモーションも、モーションデータの再生によりプレイヤキャラクタ１００を動作させるものであるが、前回タッチパネル１３がタッチされた位置が含まれるエリアと、今回タッチされた位置が含まれるエリアとの違いに応じて異なるモーションデータが用意されており、ＲＯＭ１７１に予め記憶されている。新たなタッチパネル１３のタッチの前にプレイヤキャラクタ１００が右手でボール１１０をドリブルしていた場合のつなぎモーションとして、図６（ａ）に示す２６種類のつなぎモーションが用意されている。
【００９０】
ここで、例えば、Ｒ（３）とは、エリア（３）に含まれる位置のタッチに基づいて右手でボール１１０をドリブルすることを示すものである。Ｌ（４）とは、エリア（４）に含まれる位置のタッチに基づいて左手でボール１１０をドリブルすることを示すものである。新たなタッチパネル１３のタッチの前にプレイヤキャラクタ１００が右手でボール１１０をドリブルしていた場合のつなぎモーションとしても、図６（ａ）に示すパターンの左右を反転させた２６種類のつなぎモーションが用意されている。
【００９１】
つなぎモーションの態様として、例えば、Ｒ（２）→Ｌ（１）のつなぎモーションでは、プレイヤキャラクタ１００がボール１１０をドリブルする手を右手から左手に入れ替える動作が含まれている。また、Ｒ（２）→Ｒ（８）のつなぎモーションでは、プレイヤキャラクタ１００がエリア（２）に対応した位置でドリブルする動作からエリア（８）に対応した位置でドリブルする動作に動作を変化させる間に、中間位置で一旦ドリブルする動作が含まれている。
【００９２】
つなぎモーションが挿入される場合、前回タッチパネル１３がタッチされた位置に基づいて生成されたモーションデータから、つなぎモーションのモーションデータを経て、今回タッチパネル１３がタッチされた位置に基づいて生成されたモーションデータでプレイヤキャラクタ１００を動作させる。ここで、図６（ｂ）に示すように、前回タッチパネル１３がタッチされた位置に基づいて生成されたモーションデータからつなぎモーションのモーションデータに移行する間に、所定フレーム数だけフレーム補間（スタート補間）がされる。また、つなぎモーションのモーションデータから今回タッチパネル１３がタッチされた位置に基づいて生成されたモーションデータに移行する間にも、所定フレーム数だけフレーム補間（エンド補間）がされる。
【００９３】
次に、プレイヤキャラクタ１００がドリブルしながらコート上を移動する場合について説明する。プレイヤキャラクタ１００がコート上を移動するための指示は、プレイヤによる方向指示スイッチ１４ｃの操作に応じて入力される。プレイヤキャラクタ１００は、方向指示スイッチ１４ｃから入力された方向にボール１１０をドリブルしながら移動するものとなる。プレイヤキャラクタ１００が移動するモーションについてもモーションデータが予め用意されてＲＯＭ１１７に記憶されており、ドリブルのモーションデータとブレンドされて再生されることとなる。
【００９４】
この実施の形態にかかるバスケットボールゲームでは、ボール１１０をドリブルする位置に応じてプレイヤキャラクタ１００が移動する速度が変わるものとなる。図７は、ボール１１０をドリブルする位置とプレイヤキャラクタ１００の移動速度との関係を示す説明図である。ここでは、プレイヤキャラクタ１００のルート１００Ｒの方向は、方向指示スイッチ１４ｃから入力された方向を既に向いているものとし、プレイヤキャラクタ１００は、入力された方向（移動方向１００Ｄ）に移動するものとする。
【００９５】
図７（ａ）に示すように、プレイヤキャラクタ１００の移動方向１００Ｄ上にボール１１０があるとき、すなわちプレイヤキャラクタ１００からボール１１０に向けた方向が移動方向１００Ｄと一致するときには、プレイヤキャラクタ１００は、速度Ｖでコート上を移動するものとなる。この場合は、移動のためのモーションデータを通常の速度で再生しながらプレイヤキャラクタ１００を移動させればよいものとなる。
【００９６】
図７（ｂ）に示すように、プレイヤキャラクタ１００からボール１１０に向けた方向と移動方向１００Ｄとがなす角度がθ１であるときには、プレイヤキャラクタ１００は、速度Ｖｃｏｓ（θ１／２）で移動することとなり、移動方向１００Ｄ上にボール１１０があるときの速度Ｖよりも遅くなる。さらに、図７（ｃ）に示すように、プレイヤキャラクタ１００からボール１１０に向けた方向と移動方向１００Ｄとがなす角度がθ１よりも大きいθ２であるときには、プレイヤキャラクタ１００は、速度Ｖｃｏｓ（θ２／２）で移動することとなり、その角度がθ１のときの速度Ｖｃｏｓ（θ１／２）よりも遅くなる。これらの場合、プレイヤキャラクタ１００の移動速度が制御されるだけではなく、これに合わせてモーションデータの再生速度も、通常のｃｏｓ（θ１／２）倍、ｃｏｓ（θ２／２）倍となり、速度Ｖでプレイヤキャラクタが移動するときよりも遅くなる。
【００９７】
また、プレイヤキャラクタ１００がコート上を移動する際には、その向きであるルート１００Ｒが進行方向を向いていなければならず、方向指示スイッチ１４ｃから入力された方向がルート１００Ｒの方向と一致していなかったときには、まず、ルート１００Ｒの方向が変えられてから、プレイヤキャラクタ１００がコート上で移動することとなる。ルート１００Ｒの方向を変える場合、方向指示スイッチ１４ｃから入力された方向から所定範囲内にボール１１０が予め存在するときには、クイックターンという手法によりプレイヤキャラクタ１００のルート１００Ｒの方向が変えられる。
【００９８】
図８は、方向指示スイッチ１４ｃから入力された方向から所定範囲内にボール１１０が存在しないときの通常ターンと、方向指示スイッチ１４ｃから入力された方向から所定範囲内にボール１１０が予め存在するときのクイックターンの説明図である。ここでは、プレイヤキャラクタ１００のルート１００Ｒが右方向を向いている状態で方向指示スイッチ１４ｃから上方向の入力があった場合を例として説明している。
【００９９】
図８（ａ）に示すように、プレイヤキャラクタ１００のルート１００Ｒが右方向を向いている状態で方向指示スイッチ１４ｃから上方向の入力があったときにおいて移動方向１００Ｄから±θ３の範囲外にボール１１０が存在したものとする。この場合、図８（ｂ）に示すように、プレイヤキャラクタ１００は、ボール１１０をドリブルしながらルート１００Ｒの方向が移動方向１００Ｄに一致するまで方向転換をする。ＲＯＭ１１７には方向転換用のモーションデータも予め記憶されており、ドリブルのモーションデータとブレンドされて再生されることとなる。ボール１１０が元々存在していた位置にもよるが、ルート１００Ｒが移動方向１００Ｄを向くまでに、少なくとも十数フレーム程度の期間は要するものとなる。
【０１００】
一方、図８（ｃ）に示すように、プレイヤキャラクタ１００のルート１００Ｒが右方向を向いている状態で方向指示スイッチ１４ｃから上方向の入力があったときにおいて移動方向１００Ｄから±θ３の範囲内にボール１１０が存在したものとする。この場合、図８（ｄ）に示すように、プレイヤキャラクタ１００は、即座にルート１００Ｒの方向を移動方向１００Ｄに向けるものとなる。但し、方向転換の際に数フレームのフレーム補間を行うものとしてもよい。
【０１０１】
なお、方向指示スイッチ１４ｃの操作によってプレイヤキャラクタ１００がボール１１０をドリブルしながらコート上を移動する間に、タッチパネル１３をタッチすることによってボール１１０をドリブルする手や位置を変えたりすることもできる。この場合の動作は、上記の動作の処理を組み合わせることによって実現できる（但し、つなぎモーションとして、停止してドリブルするときとは異なるモーションデータが用いられる場合がある）。また、パスやシュートの動作については、本発明と直接的に関わりがないので、説明を省略する。
【０１０２】
以下、図１、図２に示したゲーム装置１において、この実施の形態にかかるバスケットボールゲームを行うための処理について説明する。ゲームの進行の流れでは、相手チームのキャラクタがボールを所持していたり、プレイヤチームのキャラクタのうちでボールを実際に所持するキャラクタが変わることでプレイヤキャラクタの切り替えなどの処理も行われる。もっとも、ここでは、本発明に関わる処理のみ、すなわちボールを実際に所持しているプレイヤキャラクタを動作させる処理のみについて説明するものとする。
【０１０３】
図９は、バスケットボールゲームにおいて、プレイヤチームがオフェンス側のときにプレイヤキャラクタ１００を動作させるための処理を示すフローチャートである。このフローチャートの処理は、ＣＰＵコア２１がカートリッジ１７のＲＯＭ１７１からＷＲＡＭ２２にロードされたゲームプログラムを実行する処理である。この処理が最初に開始されるときには、右手でボール１１０をドリブルする場合の特定座標がデフォルトとして設定されている。
【０１０４】
まず、ＣＰＵコア２１は、タッチパネル１３がタッチされ、そのいずれかの座標位置が入力されたかどうかを判定する（ステップＳ１０１）。タッチパネル１３から座標位置が入力されていれば、ＣＰＵコア２１は、詳細を後述するタッチ時処理を行う（ステップＳ１０２）。その後、再びステップＳ１０１の処理に戻る。タッチパネル１３から座標位置が入力されていなければ、ＣＰＵコア２１は、方向指示スイッチ１４ｃから８方向のうちのいずれかの方向が入力されたかどうかを判定する（ステップＳ１０３）。方向指示スイッチ１４ｃからいずれかの方向が入力されていれば、詳細を後述する方向入力時処理を行う（ステップＳ１０４）。その後、再びステップＳ１０１の処理に戻る。
【０１０５】
方向指示スイッチ１４ｃからいずれの方向も入力されていなければ、ＣＰＵコア２１は、操作スイッチ部１４から他の入力があったかどうかを判定する（ステップＳ１０５）。操作スイッチ部１４から他の入力があった場合には、ＣＰＵコア２１は、当該入力に応じた処理（例えば、プレイヤキャラクタ１００にシュートさせる、他のキャラクタにパスさせるなど）を行う（ステップＳ１０６）。その後、再びステップＳ１０１の処理に戻る。他の入力もなかった場合には、ＣＰＵコア２１は、ＷＲＡＭ２２に記憶されている最新のモーションデータに従って、プレイヤキャラクタ１００を動作させる（ステップＳ１０７）。そして、ステップＳ１０１の処理に戻る。
【０１０６】
図１０は、ステップＳ１０２のタッチ時処理を詳細に示すフローチャートである。タッチ時処理においては、ＣＰＵコア２１は、タッチパネル１３から入力されたタッチされた位置の座標をＷＲＡＭ２２に保存する（ステップＳ２０１）。次に、ＣＰＵコア２１は、現時点でプレイヤキャラクタ１００が左手でボール１１０をドリブルしており、且つタッチパネル１３上でタッチされた位置がエリア（３）、（６）、（９）のいずれかの範囲内に含まれるかどうかを判定する（ステップＳ２０２）。
【０１０７】
プレイヤキャラクタ１００が右手でボール１１０をドリブルしているか、タッチされた位置がエリア（３）、（６）、（９）の範囲外であった場合には、ＣＰＵコア２１は、さらにプレイヤキャラクタ１００が右手でボール１１０をドリブルしており、且つタッチパネル１３上でタッチされた位置がエリア（１）、（４）、（７）のいずれかの範囲内に含まれるかどうかを判定する（ステップＳ２０３）。
【０１０８】
プレイヤキャラクタ１００が左手でボール１１０をドリブルしているか、タッチされた位置がエリア（１）、（４）、（７）の範囲外であった場合には、ＣＰＵコア２１は、さらにＷＲＡＭ２２に前回記憶されたタッチパネル１３のタッチされた位置（デフォルトで記憶された位置を含む）がエリア（１）〜（３）のいずれかの範囲内であって今回タッチされた位置がエリア（７）〜（９）のいずれかの範囲内であるか、或いはＷＲＡＭ２２に前回記憶されたタッチパネル１３のタッチされた位置がエリア（７）〜（９）のいずれかの範囲内であって今回タッチされた位置がエリア（１）〜（３）のいずれかの範囲内であるかを判定する（ステップＳ２０４）。
【０１０９】
ＷＲＡＭ２２に前回記憶されたタッチの位置または今回タッチされた位置が（４）〜（６）のいずれかの範囲内であるか、ＷＲＡＭ２２に前回記憶されたタッチパネル１３のタッチされた位置がエリア（７）〜（９）のいずれかの範囲内であって今回タッチされた位置がエリア（７）〜（９）のいずれかの範囲内であるか、ＷＲＡＭ２２に前回記憶されたタッチパネル１３のタッチされた位置がエリア（１）〜（３）のいずれかの範囲内であって今回タッチされた位置がエリア（１）〜（３）のいずれかの範囲内であった場合には、ＣＰＵコア２１は、設定されている特定座標のうちからモーションデータのブレンド対象となる特定座標を今回タッチパネル１３がタッチされた位置に応じて選定する（ステップＳ２０５）。
【０１１０】
ＣＰＵコア２１は、選定した特定座標に対応したモーションデータのブレンド率を、各々の特定座標と今回タッチされた位置の座標に応じてそれぞれ算出する（ステップＳ２０６）。ＣＰＵコア２１は、選定した特定座標に対応したモーションデータをそれぞれに算出したブレンド率でブレンドして、プレイヤキャラクタ１００にボール１１０をドリブルさせるためのモーションデータを生成し、ＷＲＡＭ２２に保存する（ステップＳ２０７）。
【０１１１】
ＣＰＵコア２１は、今回タッチパネル１３がタッチされる前に適用されていたモーションデータから、タッチパネル１３の新たなタッチ位置に従って生成されたモーションデータに移行させるまでの所定フレーム数のフレーム補間を行う（ステップＳ２０８）。そして、タッチ時処理を終了して、図９のフローチャートに復帰する。図９のフローチャートに復帰し、そのまま何の入力もなければ、ステップＳ２０７において生成されたモーションデータに従ってプレイヤキャラクタ１００が動作させられるものとなる。
【０１１２】
また、ステップＳ２０２でプレイヤキャラクタ１００が左手でボール１１０をドリブルしており、且つタッチパネル１３上でタッチされた位置がエリア（３）、（６）、（９）のいずれかの範囲内に含まれていた場合には、ＣＰＵコア２１は、プレイヤキャラクタ１００が右手でボール１１０をドリブルする場合の特定データを設定し、ＷＲＡＭ２２に記憶させる。さらに、ＣＰＵコア２１は、ＷＲＡＭ２２に前回記憶されたタッチされた位置を含むエリアと、今回タッチされた位置を含むエリアに応じたつなぎモーションのモーションデータを選択する（ステップＳ２０９）。そして、ステップＳ２１２の処理に進む。
【０１１３】
また、ステップＳ２０３でプレイヤキャラクタ１００が右手でボール１１０をドリブルしており、且つタッチパネル１３上でタッチされた位置がエリア（１）、（４）、（７）のいずれかの範囲内に含まれていた場合には、ＣＰＵコア２１は、プレイヤキャラクタ１００が左手でボール１１０をドリブルする場合の特定データを設定し、ＷＲＡＭ２２に記憶させる。さらに、ＣＰＵコア２１は、ＷＲＡＭ２２に前回記憶されたタッチされた位置を含むエリアと、今回タッチされた位置を含むエリアに応じたつなぎモーションのモーションデータを選択する（ステップＳ２１０）。そして、ステップＳ２１２の処理に進む。
【０１１４】
さらに、ステップＳ２０４でＷＲＡＭ２２に前回記憶されたタッチパネル１３のタッチされた位置がエリア（１）〜（３）のいずれかの範囲内であって今回タッチされた位置がエリア（７）〜（９）のいずれかの範囲内であるか、或いはＷＲＡＭ２２に前回記憶されたタッチパネル１３のタッチされた位置がエリア（７）〜（９）のいずれかの範囲内であって今回タッチされた位置がエリア（１）〜（３）のいずれかの範囲内であった場合には、ＣＰＵコア２１は、ＷＲＡＭ２２に前回記憶されたタッチされた位置を含むエリアと、今回タッチされた位置を含むエリアに応じたつなぎモーションのモーションデータを選択する（ステップＳ２１１）。そして、ステップＳ２１２の処理に進む。
【０１１５】
ステップＳ２１２〜Ｓ２１４の処理は、ステップＳ２０５〜Ｓ２０７の処理と同じである。ステップＳ２１４を終了すると、ＣＰＵコア２１は、今回タッチパネル１３がタッチされる前に適用されていたモーションデータから、ステップＳ２０９〜Ｓ２１１で選択されたつなぎモーションのモーションデータに移行させるまでの所定フレーム数のフレーム補間を行う（ステップＳ２１５）。その後、ＣＰＵコア２１は、ステップＳ２０９〜２１１で選択されたつなぎモーションのモーションデータに従って、プレイヤキャラクタ１００を動作させる（ステップＳ２１６）。
【０１１６】
さらに、ＣＰＵコア２１は、つなぎモーションのモーションデータから、タッチパネル１３の新たなタッチ位置に従って生成されたモーションデータに移行させるまでの所定フレーム数のフレーム補間を行う（ステップＳ２１７）。そして、タッチ時処理を終了して、図９のフローチャートに復帰する。図９のフローチャートに復帰し、そのまま何の入力もなければ、ステップＳ２１４において生成されたモーションデータに従ってプレイヤキャラクタ１００が動作させられるものとなる。
【０１１７】
図１１は、ステップＳ１０４の方向入力時処理を詳細に示すフローチャートである。このフローチャートの処理においては、プレイヤキャラクタ１００とボール１１０との方向やルート１００Ｒの方向と、方向指示スイッチ１４ｃから入力された方向とを扱っているが、前者の方向を後者の方向と比較するときには、仮想カメラの視点から参照点となるプレイヤキャラクタ１００に向けた方向に応じて方向指示スイッチ１４ｃから入力された方向を変換しており、以下の説明における入力方向は、変換された後の方向を指すものとする。
【０１１８】
方向入力時処理においては、まず、ＣＰＵコア２１は、コート上におけるプレイヤキャラクタ１００の位置からボール１１０の位置に向けた方向を判断する（ステップＳ３０１）。次に、ＣＰＵコア２１は、方向指示スイッチ１４ｃから入力された方向がプレイヤキャラクタ１００のルート１００Ｒの方向と一致するかどうかを判定する（ステップＳ３０２）。入力方向がルート１００Ｒの方向と一致していれば、そのままプレイヤキャラクタ１００をコート上で移動させることができるようになるため、ステップＳ３１１の処理に進む。
【０１１９】
入力方向がルート１００Ｒの方向と一致しない場合には、まず、ルート１００Ｒの方向を入力方向と一致させてから、プレイヤキャラクタ１００を移動させる必要がある。ここでは、ＣＰＵコア２１は、方向指示スイッチ１４ｃから入力された方向から±θ３の範囲内の領域にボール１１０が存在しているかどうかを判定する（ステップＳ３０３）。
【０１２０】
±θ３の範囲内の領域にボール１１０が存在しなければ、プレイヤキャラクタ１００をクイックターンにより方向転換させることはできない。この場合において、ＣＰＵコア２１は、プレイヤキャラクタ１００がボール１１０をドリブルする動作のモーションデータ（ＷＲＡＭ２２に現時点で記憶されているものとしても、この場合の専用のものとしてもよい）をＲＯＭ１１７に記憶されている方向転換用のモーションデータとブレンドし、ここでの方向転換のためのモーションデータを生成する（ステップＳ３０４）。
【０１２１】
ＣＰＵコア２１は、ステップＳ３０４で生成されたモーションデータを用いて、プレイヤキャラクタ１００にボール１１０をドリブルさせながら、方向指示スイッチ１４ｃから入力された方向に向けてルート１００Ｒの向きを所定角度ずつ方向転換させる（ステップＳ３０５）。その後、ＣＰＵコア２１は、方向指示スイッチ１４ｃからの方向の入力が解除されたかどうかを判定する（ステップＳ３０６）。方向の入力が解除されていた場合には、これで方向入力時処理を終了して、図９のフローチャートに復帰する。
【０１２２】
方向の入力が解除されていなかった場合には、ＣＰＵコア２１は、プレイヤキャラクタ１００のルート１００Ｒの方向が方向指示スイッチ１４ｃから入力された方向に一致したかどうかを判定する（ステップＳ３０７）。ルート１００Ｒの方向が入力方向に未だ一致していなければ、ステップＳ３０５に戻り、プレイヤキャラクタ１００の方向転換を継続する。ルート１００Ｒの方向が入力方向に一致した場合には、プレイヤキャラクタ１００をコート上で移動させることができるようになるため、ステップＳ３１０の処理に進む。
【０１２３】
ステップＳ３０３において入力方向から±θ３の範囲内の領域にボール１１０が存在していれば、ＣＰＵコア２１は、そのままプレイヤキャラクタ１００のルート１００Ｒの方向を方向指示スイッチ１４ｃから入力された方向に即座に転換させる（ステップＳ３０８）。その後、ＣＰＵコア２１は、方向指示スイッチ１４ｃからの方向の入力が解除されたかどうかを判定する（ステップＳ３０９）。方向の入力が解除されていた場合には、これで方向入力時処理を終了して、図９のフローチャートに復帰する。方向の入力が解除されていなかった場合には、ステップＳ３０８のクイックターンによりルート１００Ｒの方向が入力方向に一致し、プレイヤキャラクタ１００をコート上で移動させることができるようになるため、ステップＳ３１０の処理に進む。
【０１２４】
ステップＳ３１０では、プレイヤキャラクタ１００がボール１１０をドリブルしながらルート１００Ｒの方向を転換させた場合には、プレイヤキャラクタ１００の位置からボール１１０の位置に向けた方向が変わってしまっているので、ＣＰＵコア２１は、ここで再びコート上におけるプレイヤキャラクタ１００の位置からボール１１０の位置に向けた方向を判断する。そして、ステップＳ３１１の処理に進む。
【０１２５】
ステップＳ３１１では、ＣＰＵコア２１は、ステップＳ３０１またはＳ３１０で判断したプレイヤキャラクタ１００の位置からボール１１０の位置に向けた方向が方向指示スイッチ１４ｃから入力された方向となす角度θを算出する。さらに、ＣＰＵコア２１は、プレイヤキャラクタ１００がボール１１０をドリブルする動作のモーションデータをＲＯＭ１１７に記憶されている移動用のモーションデータとブレンドし、コート上での移動のためのモーションデータを生成する（ステップＳ３１２）。
【０１２６】
ＣＰＵコア２１は、ステップＳ３１２で生成したモーションデータを通常のｃｏｓ（θ／２）の速度で再生するとともに、Ｖｃｏｓ（θ／２）の移動速度でプレイヤキャラクタ１００をコート上で方向指示スイッチ１４ｃから入力された方向に移動させる（ステップＳ３１３）。
【０１２７】
その後、ＣＰＵコア２１は、方向指示スイッチ１４ｃからの方向の入力が解除されたかどうかを判定する（ステップＳ３１４）。方向の入力が解除されていなかった場合には、ステップＳ３１３の処理に戻り、さらにプレイヤキャラクタ１００を入力方向に移動させる。一方、方向の入力が解除されていた場合には、これで方向入力時処理を終了して、図９のフローチャートに復帰する。
【０１２８】
以上のような処理により、プレイヤキャラクタ１００は、仮想３次元空間に形成されたコート上で動作するものとなる。また、プレイヤキャラクタ１００以外の他のキャラクタ１０１〜１０４、１２１〜１２５も、ＣＰＵコア２１の制御により仮想３次元空間に形成されたコート上で動作するものとなる。プレイヤキャラクタ１００及び他のキャラクタ１０１〜１０４、１２１〜１２５の動作に従って、ボール１１０も仮想３次元空間に形成されたコート上で動作するものとなる。これらの動作によって、この実施の形態にかかるバスケットボールゲームが進行していく。
【０１２９】
こうしてゲームが進行する様子は、第１ＬＣＤ１１及び第２ＬＣＤ１２に画像として表示されるが、第１ＬＣＤ１１及び第２ＬＣＤ１２に表示する画像の生成は、次のようにして行われる。
【０１３０】
第１ＬＣＤ１１に表示させる画像を生成するために、ＣＰＵコア２１は、プレイヤキャラクタ１００の動作や、新たなプレイヤキャラクタ１００への切り替えに応じて、仮想カメラの視点の位置を設定する。ＣＰＵコア２１は、１フレーム期間（例えば、１／３０秒）毎に、仮想カメラの参照点をプレイヤキャラクタ１００の位置に設定し、仮想３次元空間において透視変換される範囲に含まれるオブジェクト（プレイヤキャラクタ１００、他のキャラクタ１０１〜１０４、１２１〜１２５、ボール１１０を含む）を構成するポリゴンの各頂点を視点座標系の座標に変換する。
【０１３１】
ＣＰＵコア２１は、視点座標系に変換した各頂点の座標を第１ＧＰＵ２４に送るとともに、第１ＧＰＵ２４に描画命令を出力する。描画命令を受け取った第１ＧＰＵ２４は、ＣＰＵコア２１から送られてきた視点座標系の座標に基づいて、視点から近い位置にあるポリゴンが最終的に描画されるように第１ＶＲＡＭ２３に画像データを展開していく。ここで、画像データの展開の際には、陰面消去処理、シェーディング、テクスチャマッピングなどの処理も行われている。
【０１３２】
第１ＧＰＵ２４は、第１ＶＲＡＭ２３に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、第１ＬＣＤ１１に出力する。第１ＬＣＤ１１は、第１ＧＰＵ２４から出力されたビデオ信号に対応した画像を表示する。こうして１フレーム期間毎に第１ＬＣＤ１１に表示される画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタ１００や他のキャラクタ１０１〜１０４、１２１〜１２５が仮想３次元空間に形成されたコート上でバスケットボールの試合を行う様子の画像を３次元表示で見ることができるようになる。
【０１３３】
一方、第２ＬＣＤ１２に表示させる画像を生成するために、ＣＰＵコア２１は、１フレーム期間毎にプレイヤキャラクタ１００の位置を第２ＬＣＤ１２の中心位置の座標に設定し、他のキャラクタ１０１〜１０４、１２１〜１２５の仮想３次元空間におけるｘ−ｚ平面の座標をプレイヤキャラクタ１００から仮想カメラの視点の方向をｙ軸方向に設定した座標系の座標に変換する。
【０１３４】
ＣＰＵコア２１は、変換したプレイヤキャラクタ１００及び他のキャラクタ１０１〜１０４、１２１〜１２５の座標を第２ＧＰＵ２６に送るとともに、第２ＧＰＵ２６に描画命令を出力する。描画命令を受け取った第２ＧＰＵ２６は、キャラクタ１００〜１０４、１２１〜１２５の種類に応じたアイコンを、それぞれのキャラクタ１００〜１０４、１２１〜１２５の座標位置に応じて第２ＶＲＡＭ２５に展開する。
【０１３５】
第２ＧＰＵ２６は、第２ＶＲＡＭ２５に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、第２ＬＣＤ１２に出力する。第２ＬＣＤ１２は、第２ＧＰＵ２６から出力されたビデオ信号に対応した画像を表示する。こうして１フレーム期間毎に第２ＬＣＤ１２に表示される画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタ１００を中心にしてコート上のどの位置に各キャラクタ１０１〜１０４、１２１〜１２５が存在するかを示す２次元画像を見ることができるようになる。
【０１３６】
以上説明したように、この実施の形態にかかるバスケットボールゲームでは、プレイヤチームがオフェンス側で操作スイッチ部１４から入力がない場合、プレイヤキャラクタ１００は、仮想３次元空間に形成されたコート上で位置を移動せずにボール１１０をドリブルし続けることとなる。このドリブル動作は、モーションデータを用いて再生され、第１ＬＣＤ１１に画像が表示されるものである。ここで、プレイヤキャラクタ１００がボール１１０をドリブルする位置は、タッチパネル１３の任意の位置をタッチすることで変えることができるが、ボールをドリブルする位置が変われば、プレイヤキャラクタ１００の動作の再生に必要となるモーションデータも異なることとなる。
【０１３７】
プレイヤキャラクタ１００がボール１１０をドリブルするためのモーションデータは、タッチパネル１３上に設定される特定座標２０１〜２０６、２２１〜２２４に対してのみ予め用意されている。ここで、プレイヤがタッチパネル１３の特定座標２０１〜２０６、２２１〜２２４以外の位置をタッチしたときには、タッチした位置の座標と特定座標２０１〜２０６、２２１〜２２４との位置関係に応じて、特定座標２０１〜２０６、２２１〜２２４にそれぞれ対応したモーションデータのブレンド率が算出され、該ブレンド率でモーションデータをブレンドしてプレイヤキャラクタ１００のドリブル動作の再生のために用いるものとしている。
【０１３８】
このように特定座標２０１〜２０６、２２１〜２２４のそれぞれに対応したモーションデータは、タッチパネル１３のタッチされた位置に応じて異なるブレンド率でブレンドすることができるので、タッチされた位置によりモーションデータも異なるものとなる。これにより、タッチパネル１３のタッチする位置の差に応じてプレイヤキャラクタ１００のドリブル動作として微妙な違いも表現できるようになり、現実世界のバスケットボール選手の動作と同様なプレイヤキャラクタ１００の動作を再現することができるようになる。
【０１３９】
また、タッチパネル１３のタッチする位置の違いにより異なるモーションデータを用いてプレイヤキャラクタ１００が動作させられることから、プレイヤの観点で考えると、タッチパネル１３のタッチする位置を変えるだけでプレイヤキャラクタ１００がボール１１０をドリブルする位置を自在に変えることができるようになる。また、プレイヤキャラクタ１００にどのような位置でボール１１０をドリブルさせるかという指示を、タッチパネル１３のタッチする座標位置をどうするかという直感的な判断で入力することができるようになる。
【０１４０】
さらに、方向指示スイッチ１４ｃからの入力によりプレイヤキャラクタ１００をコート上で移動させている間にタッチパネル１３をタッチすると、プレイヤキャラクタ１００が移動するモーションデータと、タッチされた位置に応じて生成されたドリブルのモーションデータとがブレンドされて再生されるものとなっている。つまり、プレイヤキャラクタ１００がコート上を移動する間も、タッチパネル１３をタッチする位置によってプレイヤキャラクタ１００がボール１１０をドリブルする位置を設定することができる。このため、プレイヤキャラクタ１００がコート上を移動しているときも、直感的な判断による入力でボール１１０をドリブルする位置を変えることができるようになる。
【０１４１】
また、タッチパネル１３のタッチされた位置の違いによって最終的にプレイヤキャラクタ１００のドリブル動作に用いられるモーションデータが全て異なるものになるとしても、ゲームカートリッジ１７のＲＯＭ１７１に予め記憶させておかなければならないモーションデータは、特定座標２０１〜２０６、２２１〜２２４に対応したものだけでもよい。このため、モーションデータを予め記憶しておくために必要なＲＯＭ１７１の記憶容量を比較的小さな量に抑えることができる。
【０１４２】
ここで、ＲＯＭ１７１に予め記憶されたモーションデータのうちでブレンドの対象となるものは、タッチパネル１３のタッチされた位置との関連性が深い特定座標に対応した２つまたは４つだけが選択されるものとなっている。例えば、図４（ｂ）に示した位置Ｔがタッチされた場合には、特定座標２０１、２０２、２０４、２０５以外の特定座標はタッチされた位置Ｔからも遠く、また、それらに対応するモーションデータも、タッチされた位置に応じた動作とは相反するような動作となるものとなるからである。このようにＲＯＭ１１７に記憶されたモーションデータは、プレイヤキャラクタ１００の片手に対して６種類、全体で１２種類あるものの、ブレンドの対象となるモーションデータは、２つまたは４つだけで済むため、ブレンド率の算出やモーションデータのブレンドの処理に要する処理量が大きくなりすぎないで済む。
【０１４３】
選択された２または４の特定座標に対応したモーションデータのブレンド率は、タッチパネル１３上のタッチされた位置に近い特定座標に対応したモーションデータほど高く値が算出される。このため、タッチパネル１３のどの位置をタッチすれば、プレイヤキャラクタ１００がどのように動作するかをプレイヤが予測しやすくなり、ゲームが複雑にならない。しかも、タッチパネル１３の下側にある第２ＬＣＤ１２に表示される画像は、プレイヤキャラクタ１００が中央に位置し、他のキャラクタ１０１〜１０４、１２１〜１２５の位置も表示されるものとなっているので、プレイヤは、ゲームの進行状況に応じてタッチパネル１３のどの位置をタッチすればよいかを判断しやすくなる。
【０１４４】
また、選択された２または４の特定座標に対応したモーションデータのブレンド率は、それぞれタッチされた位置の座標と特定座標のｘ座標とｙ座標毎に距離の割合を求め、それぞれに求めた割合を互いに乗算して算出されるものとなる。このため、加減乗除という比較的容易な演算のみで各特定座標に対応したモーションデータのブレンド率を算出することができ、ブレンド率の算出のためにＣＰＵコア２１にかかる処理負荷が大きくなりすぎない。
【０１４５】
また、タッチパネル１３のタッチされた位置の座標が、たまたま特定座標２０１〜２０６、２２１〜２２４と一致するような場合もあるが、このような場合には、タッチされた位置に一致する特定座標に対応したモーションデータをそのまま用いて、プレイヤキャラクタ１００にドリブル動作をさせればよい。従って、プレイヤキャラクタ１００を動作させるために用いるモーションデータを得るために余分な処理を行う必要がなくなり、ＣＰＵコア２１の処理負荷を小さくすることができる。
【０１４６】
この実施の形態のゲームはバスケットボールゲームであるので、プレイヤキャラクタ１００は、コート上で位置を移動する場合と移動しない場合とがあり得る。オフェンス側のチームとディフェンス側のチームが変わったり、キャラクタ間でボール１１０をパスしたりすることにより、これまでとは異なるキャラクタが新たにボール１１０をドリブルするプレイヤキャラクタ１００となることがある。プレイヤキャラクタ１００がコート上で移動を止めたり、これまでと異なるキャラクタが新たなプレイヤキャラクタ１００となった場合にも、プレイヤキャラクタ１００は、特定座標２０１に対応したモーションデータを用いてドリブル動作させることができる。このデフォルトで適用されるモーションデータは、モーションブレンドの必要がないので、ＣＰＵコア２１に余分な処理負荷がかかることがない。
【０１４７】
ところで、プレイヤキャラクタ１００によるボール１１０のドリブル動作としては、右手でドリブルする動作と左手でドリブルする動作とがある。ここで、例えば、プレイヤキャラクタ１００が右手でボール１１０をドリブルしているときにタッチパネル１３のエリア（２）、（３）、（５）、（６）、（８）、（９）の範囲内がタッチされれば、新たに生成されるモーションデータでも右手でドリブルを続けることとなる。左手に持ち替えるのは、エリア（１）、（４）、（７）の範囲内がタッチされたときだけである。左手でボール１１０をドリブルしているときにおけるタッチパネル１３のタッチでは、左右を反転したパターンとなる。
【０１４８】
すなわち、タッチパネル１３で真ん中の列に当たるエリア（２）、（５）、（８）がタッチされたときは、タッチされた時点で右手でドリブルしていればタッチ後も右手でドリブルを続けるように、タッチされた時点で左手でドリブルしていればタッチ後も左手でドリブルを続けるように、モーションデータのブレンド対象となる特定座標が選ばれることとなる。このため、プレイヤキャラクタ１００がボール１１０をドリブルする手の入れ替えが頻繁になりすぎたり、不自然な手の入れ替えが生じたりしないようにすることができ、プレイヤに違和感を感じさせるのを防ぐことができる。
【０１４９】
さらに、タッチパネル１３が新たにタッチされたときにプレイヤキャラクタ１００がボール１１０を右手でドリブルしているか左手でドリブルしているかは、タッチされた時点でのプレイヤキャラクタ１００の動作状態そのものを調べるのではなく、前回にタッチパネル１３がタッチされた位置を含むエリアと今回タッチされた位置を含むエリアの関係で判断している。このため、プレイヤキャラクタ１００がボール１１０をドリブルする手を替えるべきかどうかの判断も比較的少ない計算量で行うことができる。
【０１５０】
また、プレイヤキャラクタ１００がボール１１０をドリブルする手を右手から左手、或いは左手から右手に切り替えるときには、タッチパネル１３をタッチする前のモーションデータから、タッチパネル１３をタッチした後のモーションデータにそのまま移行させるのではない。タッチパネル１３をタッチする前のモーションデータから一旦つなぎモーションのモーションデータに移行し、さらにつなぎモーションのモーションデータからタッチパネル１３をタッチした後のモーションデータに移行させるものとしている。
【０１５１】
つなぎモーションは、前回のタッチした位置を含むエリアが（１）〜（３）で今回のタッチした位置を含むエリアが（７）〜（９）であるとき、或いは前回のタッチした位置を含むエリアが（７）〜（９）で今回のタッチした位置を含むエリアが（１）〜（３）であるときにも挿入される。ドリブルする手の入れ替えも含めて、つなぎモーションを挿入するかどうかも、前回にタッチパネル１３がタッチされた位置を含むエリアと今回タッチされた位置を含むエリアの関係で判断しているので、つなぎモーションの挿入の判断も比較的少ない計算量で行うことができる。
【０１５２】
そして、このようにタッチパネル１３がタッチされた前後で適用されるモーションデータの差が大きい場合には、いきなり両者間でモーションデータを移行させるのではなく、一旦つなぎモーションのモーションデータを用いてプレイヤキャラクタ１００を動作させているため、タッチパネル１３がタッチされる前後でプレイヤに違和感が生じさせないように、プレイヤキャラクタ１００を動作させることができるようになる。
【０１５３】
ところで、この実施の形態で適用されているゲームは、バスケットボールゲームであるが、ボール１１０のドリブル以外のプレイヤキャラクタ１００の動作は、操作スイッチ部１４からの入力によって指示することができる。プレイヤキャラクタ１００は、例えば、方向指示スイッチ１４ｃからの入力により仮想３次元空間に形成されたコート上を移動したり、方向転換したりする。このようにタッチパネル１３以外の入力手段からの入力によって、ゲームの進行のためにプレイヤキャラクタ１００にボール１１０をドリブルする以外の様々な動作をさせることができるようになる。
【０１５４】
方向指示スイッチ１４ｃからの入力があった場合、プレイヤキャラクタ１００は、ボール１１０をドリブルしながらコート上で該入力された方向に移動するものとなる。ここで現実の世界におけるバスケットボール選手の動きを考えると、ボール１１０の扱いは、体の正面にあるときの方が容易になる。この実施の形態にかかるバスケットボールゲームでは、プレイヤキャラクタ１００からボール１１０に向けた方向とプレイヤキャラクタ１００の進行方向（すなわち、方向指示スイッチ１４ｃから入力された方向）とがなす角度に応じた速度でプレイヤキャラクタ１００の移動速度を変えているので、ボール１１０をドリブルする位置に応じて自然な速度でプレイヤキャラクタ１００を移動させることができる。
【０１５５】
また、この実施の形態にかかるバスケットボールゲームでは、方向指示スイッチ１４ｃからの入力があった場合、プレイヤキャラクタ１００が向いている方向（ルート１００Ｒの方向）が進行方向からずれてプレイヤに違和感を感じさせることがないよう、まず、プレイヤキャラクタ１００のルート１００Ｒの向きを転換させるものとしている。ここでも現実の世界におけるバスケットボール選手の動きを考えると、ボールが予め進行方向にあれば、体を反転させるだけでボールを正面でさばきつつ進行方向を向くことができるが、ボール１１０が予め進行方向になければ、ボールを正面でさばくには体を反転させるだけでは済まない。
【０１５６】
方向指示スイッチ１４ｃから入力された方向がプレイヤキャラクタ１００のルート１００Ｒの方向と異なるときにおいて、入力された方向から±θ３の範囲内にボールがあることを条件として、ボール１１０の位置をそのままにしてプレイヤキャラクタ１００のルート１００Ｒの方向を転換するクイックターンを行うものとしている。これにより、方向指示スイッチ１４ｃからの入力に応じた方向へプレイヤキャラクタ１００を方向転換させる場合にも、その方向転換を自然な速度で行うことができるようになる。
【０１５７】
以上のようにプレイヤキャラクタ１００の動作は、ボール１１０をドリブルする位置の違いに応じて自動的に変わるものとなる。つまり、プレイヤが行うこととなる入力操作の種類が少なくても、プレイヤキャラクタ１００は、ボール１１０をドリブルする位置に応じて自然な動作をすることができるようになる。また、プレイヤキャラクタ１００に自然な動作をさせるためにゲームが複雑になりすぎることもない。
【０１５８】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【０１５９】
上記の実施の形態では、特定座標２０１〜２０６に対応したモーションデータのブレンド率を、タッチパネル１３のタッチされた位置の座標と特定座標２０１〜２０６との間のｘ座標、ｙ座標毎の距離に基づいて算出するものとしていた。しかしながら、特定座標２０１〜２０６に対応したモーションデータのブレンド率の算出方法はこれに限るものではなく、タッチパネル１３のタッチされた位置の座標と特定座標２０１〜２０６との間の直線距離に基づいて算出したり、直線距離の自乗に基づいて算出するものとしてもよい。
【０１６０】
上記の実施の形態では、タッチパネル１３のタッチされた位置の座標と特定座標２０１〜２０６との間のｘ座標、ｙ座標毎の距離に基づいてモーションデータのブレンド率を算出し、該算出したブレンド率でブレンドしたモーションデータを用いて、プレイヤキャラクタ１００を動作させるものとしていた。これに対して、プレイヤキャラクタ１００を動作させるためのモーションデータは、タッチパネル１３のタッチされた位置に最も近い特定座標２０１〜２０６に対応したモーションデータをそのまま用いるものとし、モーションデータのブレンドを行わないものとしてもよい。
【０１６１】
ここで、特定座標２０１〜２０６に対応したモーションデータをそのまま用いるのは、タッチパネル１３上の特定座標２０１〜２０６から所定範囲（例えば、ｘ座標及びｙ座標ともに±１０の範囲）内にある位置がタッチされた場合だけとしてもよい。所定範囲外の位置がタッチされた場合には、上記の実施の形態で示したようにタッチされた位置に応じてモーションデータをブレンドし、該ブレンドしたモーションデータを用いてプレイヤキャラクタ１００を動作させるものとしてもよい。
【０１６２】
上記の実施の形態では、プレイヤキャラクタ１００の動作を規定するモーションデータは、タッチパネル１３上の特定座標２０１〜２０６に対応づけて用意されていた。これに対して、タッチパネル１３上の領域に設定されたエリア（１）〜（９）にそれぞれ対応づけてモーションデータを用意するものとしてもよい。この場合において、例えば、タッチパネル１３においてエリア（１）の範囲内のいずれかの位置がタッチされたときには、当該エリア（１）に対応づけてＲＯＭ１７１に記憶されているモーションデータを選択し、該モーションデータを用いてプレイヤキャラクタ１００を動作させるものとしてもよい。
【０１６３】
また、例えば、タッチパネル１３上の領域が５行５列のエリアに区切られているものとした場合、第２行及び第４行、並びに第２列及び第４列に含まれないエリアについてのみモーションデータを用意しておくものとしてもよい。ここで、第ｍ行第ｎ列のエリアをエリア（ｍ，ｎ）と表すものとすると、タッチパネル１３においてエリア（１，１）、（１，３）、（１，５）、（３，１）、（３，３）、（３，５）、（５，１）、（５，３）、（５，５）の範囲内のいずれかの位置がタッチされたときには、タッチされたエリアに対応づけられたモーションデータをそのまま用いてプレイヤキャラクタ１００を動作させるものとしてもよい。
【０１６４】
一方、これ以外のエリアの範囲内のいずれかの位置がタッチされたときには、ブレンドしたモーションデータを用いてプレイヤキャラクタ１００を動作させるものとすればよい。例えば、エリア（１，２）の範囲内の位置がタッチされた場合には、エリア（１，１）に対応したモーションデータとエリア（１，３）に対応したモーションデータとをブレンドすればよい。この場合のブレンド率は、それぞれ５０％とすることができる。また、エリア（２，２）の範囲内の位置がタッチされた場合には、エリア（１，１）に対応したモーションデータ、エリア（１，３）に対応したモーションデータ、及びエリア（３，１）に対応したモーションデータ、エリア（３，３）に対応したモーションデータをブレンドすればよい。この場合のブレンド率は、それぞれ２５％とすることができる。
【０１６５】
上記の実施の形態では、プレイヤキャラクタ１００がコート上を移動する際に該移動のモーションデータとブレンドされるドリブルのモーションデータも、タッチパネル１３のタッチされた位置の座標のみに応じて生成されるものとなっていた。しかしながら、プレイヤキャラクタ１００の移動する方向によっては、タッチパネル１３のタッチされた位置のみに応じて生成されたドリブルのモーションデータでは、移動の方向とドリブルの動作とに違和感を生じさせてしまう虞もある。
【０１６６】
そこで、プレイヤキャラクタ１００がコート上を移動する際に該移動のモーションデータとブレンドされるドリブルのモーションデータは、タッチパネル１３のタッチされた位置の座標に加えてプレイヤキャラクタ１００の移動方向（方向指示スイッチ１４ｃから入力された方向）に応じて生成するものとしてもよい。このための手法として、例えば、タッチパネル１３のタッチされた位置の座標をプレイヤキャラクタ１００の移動方向に応じた演算式で変換し、該演算式により変換した座標と特定座標２０１〜２０６との位置関係に応じてドリブルのモーションデータを生成するものとすることができる。つなぎモーションを挿入するかどうかも、返還後の座標と特定座標２０１〜２０６との位置関係に応じて決めることができる。
【０１６７】
これにより、プレイヤキャラクタ１００がコート上を移動する際には、プレイヤキャラクタ１００は、その移動動作に対して違和感の感じられない状態でボール１１０をドリブルすることができるようになる。また、プレイヤキャラクタ１００がボール１１０をドリブルする位置もタッチパネル１３のタッチする位置による直感的な入力で変化させることができるようになる。
【０１６８】
上記の実施の形態では、プレイヤキャラクタ１００にボール１１０をドリブルする手を入れ替えさせるか、つなぎモーションを挿入するかといった点についてのみ、前回と今回のタッチパネル１３がタッチされた位置同士の関係で判断されていた。もっとも、プレイヤキャラクタ１００のルート１００Ｒの方向と方向指示スイッチ１４ｃから入力された方向の相違の判断や、プレイヤキャラクタ１００からボール１１０へ向けた方向の判断も、前回と今回のタッチパネル１３がタッチされた位置同士の関係で判断してもよい。
【０１６９】
方向指示スイッチ１４ｃから入力可能な方向は８方向であり、タッチパネル１３上でも中心にあるエリア（５）から８方向に他のエリアがあるため、全ての方向性の判断を、これら８方向を単位として行えばよい。例えば、プレイヤキャラクタ１００からボール１１０に向けた方向を、仮想カメラの視点からプレイヤキャラクタ１００に向けた方向に応じて８等分した角度範囲のいずれの角度範囲に含まれるかで判断するものとしてもよい。これにより、異なる対象の方向同士を比較する処理が容易なものとなる。
【０１７０】
上記の実施の形態では、方向指示スイッチ１４ｃからの入力があったときに、プレイヤキャラクタ１００は、プレイヤキャラクタ１００からボール１１０に向けた方向と入力された方向とがなす角度をθとするとき、Ｖｃｏｓ（θ／２）の速度で入力された方向に移動するものとなっていた。つまり、プレイヤキャラクタ１００の移動速度は、θの大きさに応じて連続的に変化するものとなっていた。これに対して、プレイヤキャラクタ１００からボール１１０の方向と入力された方向とがなす角度θを予め定められた閾値（複数あってもよい）と比較し、θがこの閾値以下であるときにはプレイヤキャラクタ１００を所定の速度Ｖ１で移動させ、θがこの閾値より大きいときにはプレイヤキャラクタ１００をＶ１よりも遅い速度Ｖ２で移動させるものとしてもよい。つまり、プレイヤキャラクタ１００の移動速度は、θが閾値よりも大きいかどうかにより段階的に変化するものとしてもよい。
【０１７１】
上記の実施の形態では、プレイヤキャラクタ１００のルート１００Ｒの方向が方向指示スイッチ１４ｃから入力された方向と一致しないときに、ボール１１０が入力された方向から±θ３の範囲内にあれば、プレイヤキャラクタ１００をその場でクイックターンさせるものとしていた。もっとも、方向指示スイッチ１４ｃからの入力時にタッチパネル１３が現にタッチされていなければ、ボール１１０の位置に関わらずにプレイヤキャラクタ１００をクイックターンさせることはないが、方向指示スイッチ１４ｃからの入力があったときにタッチパネル１３が現にタッチされていれば（但し、入力された方向から±θ３の範囲内の位置が）、プレイヤキャラクタ１００をクイックターンさせるものとしてもよい。
【０１７２】
上記の実施の形態では、タッチパネル１３上の領域が９つのエリアに分割されており、つなぎモーションの挿入対象となるかどうかは、先にタッチされた位置が含まれるエリアと後にタッチされた位置が含まれるエリアとの関係に応じて判断されるものとなっていた。先にタッチされた位置そのものと後にタッチされた位置そのものとの関係を判定して、つなぎモーションを挿入するかどうかを判断するものとしてもよい。特定座標２０１〜２０６のうちで先にタッチされた位置に最も近い特定座標と後にタッチされた位置に最も近い特定座標との関係を判定して、つなぎモーションを挿入するかどうかを判断するものとしてもよい。
【０１７３】
上記の実施の形態では、プレイヤキャラクタ１００からボール１１０に向けた方向により両者の位置関係が判断されるものとなっていたが、さらにプレイヤキャラクタ１００とボール１１０との間の距離によっても両者の位置関係を判断するものとしてもよい。また、プレイヤキャラクタ１００に対して位置関係の判断対象となるオブジェクトはボール１１０だけであったが、２つ以上あってもよい。
【０１７４】
上記の実施の形態では、本発明をバスケットボールゲームにおいてボール１１０をドリブルするプレイヤキャラクタ１００に適用していたが、サッカーゲームなどの他のゲームのプレイヤキャラクタに適用するものとしてもよい。プレイヤキャラクタの動作に影響を与えるオブジェクトは、ボール以外のものであってもよく、プレイヤキャラクタの動作とは全く独立して仮想３次元空間において移動可能なものとしてもよい。図６、図１０にて示したモーションブレンドの手法は、ボールのようなオブジェクトを扱わないプレイヤキャラクタに対しても適用することができる。図７、図８、図１１にて示したようなプレイヤキャラクタの移動や方向転換の手法は、２次元ビデオゲームにも適用することができる。
【０１７５】
上記の実施の形態では、第２ＬＣＤ１２の前面側に配設されたタッチパネル１３から座標位置の入力を行うものとしていた。もっとも、タッチパネル１３は、第２ＬＣＤ１２のような表示装置の前面側に配設されるものでなくてもよい。また、座標位置を入力するデバイスは、タッチパネル１３に限るものではなく、表示装置上に表示されたカーソルの位置により座標入力を行うマウスなど、他のポインティングデバイスを用いるものとしてもよい。
【０１７６】
上記の実施の形態では、第１ＬＣＤ１１と第２ＬＣＤ１２という２つの表示装置、及びタッチパネル１３というポインティングデバイスを備えるゲーム装置１において、本発明を適用したバスケットボールゲームを実行するものとした場合を例として説明した。しかしながら、少なくともゲームの画像を表示する表示装置と、プレイヤが所望の座標位置を入力することのできるポインティングデバイスを備えるものであれば、ゲーム装置１以外のコンピュータ装置において、本発明を適用したゲームを実行するものとしてもよい。本発明を適用したゲームを実行するコンピュータ装置は、ゲーム専用機でもパーソナルコンピュータのような汎用機であってもよく、携帯型であるか据え置き型であるかを問わない。また、発明を適用したゲームを実行するコンピュータ装置として、携帯電話機を適用することもできる。
【０１７７】
上記の実施の形態では、ゲーム装置１のプログラム及びデータは、ゲームカートリッジ１７のＲＯＭ１７１に格納されて配布されるものとしていた。もっとも、これらのプログラム及びデータを格納する記録媒体は、このようなものに限るものではなく、プラットフォームとなるコンピュータ装置の形態に応じて、光and/or磁気ディスク装置（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）を適用することもできる。固定ディスク装置を備えるコンピュータ装置をプラットフォームとする場合には、これらのプログラム及びデータは、固定ディスク装置に予め格納して配布してもよい。
【０１７８】
さらに、ネットワークを介して他のコンピュータ装置と通信可能なコンピュータ装置をプラットフォームとして適用する場合には、これらのプログラム及びデータは、ネットワーク上に存在するサーバ装置が有する固定ディスク装置に格納しておき、ネットワークを介して配信するものとしてもよい。
【図面の簡単な説明】
【０１７９】
【図１】本発明の実施の形態に適用されるゲーム装置の構成を示す外観図である。
【図２】本発明の実施の形態に適用されるゲーム装置の回路構成を示すブロック図である。
【図３】本発明の実施の形態にかかるバスケットボールゲームにおける表示画面の例を示す図である。
【図４】プレイヤキャラクタがコート上の任意の位置に停止してドリブルを行う場合におけるモーションブレンドの説明図である。
【図５】ボールをドリブルする手の切り替えについての説明図である。
【図６】つなぎモーションについての説明図である。
【図７】ボールをドリブルする位置とプレイヤキャラクタの移動速度との関係を示す説明図である。
【図８】通常ターンとクイックターンの説明図である。
【図９】本発明の実施の形態にかかるバスケットボールゲームにおいて、プレイヤチームがオフェンス側のときにプレイヤキャラクタを動作させるための処理を示すフローチャートである。
【図１０】図９のタッチ時処理を詳細に示すフローチャートである。
【図１１】図９の方向入力時処理を詳細に示すフローチャートである。
【符号の説明】
【０１８０】
１  ゲーム装置
１１  第１ＬＣＤ
１２  第２ＬＣＤ
１３  タッチパネル
１４  操作スイッチ部
１４ｃ  方向指示スイッチ
１７  ゲームカートリッジ
１７１  ＲＯＭ
２１  ＣＰＵコア
２２  ＷＲＡＭ
２４  第１ＧＰＵ
２６  第２ＧＰＵ
１００  プレイヤキャラクタ
１１０  ボール
２０１〜２０６、２２１〜２２４  特定座標
【図１】
2007102503.tif 000003
【図２】
2007102503.tif 000004
【図３】
2007102503.tif 000005
【図４】
2007102503.tif 000006
【図５】
2007102503.tif 000007
【図６】
2007102503.tif 000008
【図７】
2007102503.tif 000009
【図８】
2007102503.tif 000010
【図９】
2007102503.tif 000011
【図１０】
2007102503.tif 000012
【図１１】
2007102503.tif 000013