(57)【特許請求の範囲】
【請求項１】
キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置において、
前記キャラクタオブジェクトの目の周辺部分の頂点の位置を特定するための頂点位置特定データを複数記憶する手段であって、複数の基本視線方向の各々に対応する前記頂点位置特定データを記憶する頂点位置特定データ記憶手段と、
前記キャラクタオブジェクトの視線方向に関する視線方向情報と、前記複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データを記憶するブレンド制御データ記憶手段と、
前記キャラクタオブジェクトの視線方向に関する視線方向情報を取得する視線方向情報取得手段と、
前記視線方向情報取得手段によって取得された前記視線方向情報に対応する前記ブレンド比率情報を前記ブレンド制御データに基づいて取得するブレンド比率情報取得手段と、
前記ブレンド比率情報取得手段によって取得された前記ブレンド比率情報に基づいて前記複数の頂点位置特定データをブレンドすることによって、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データを取得する頂点位置特定データ取得手段と、
前記頂点位置特定データ取得手段によって取得された、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データに基づいて、前記ゲーム画面を表示する表示制御手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置において、
前記キャラクタオブジェクトには、該キャラクタオブジェクトの１又は複数の頂点が関連づけられたスケルトンが１又は複数設定され、
前記１又は複数のスケルトンに関連づけられた前記キャラクタオブジェクトの頂点の位置は、前記１又は複数のスケルトンの状態の変化に応じて変化し、
前記頂点位置特定データは、前記１又は複数のスケルトンのうちの、前記キャラクタオブジェクトの目の周辺部分の頂点が関連づけられたスケルトンの状態を示すデータであり、
前記表示制御手段は、
前記キャラクタオブジェクトが所定動作を行う場合の前記１又は複数のスケルトンの状態を示すモーションデータを記憶するモーションデータ記憶手段と、
前記１又は複数のスケルトンの状態を前記モーションデータに基づいて変化させる手段と、
前記キャラクタオブジェクトの目の周辺部分の頂点が関連づけられたスケルトンの状態を、前記モーションデータが示す状態から、前記頂点位置特定データ取得手段によって取得された、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データが示す状態に置き換える手段と、を含む、
ことを特徴とするゲーム装置。
【請求項３】
請求項１に記載のゲーム装置において、
前記表示制御手段は、
前記キャラクタオブジェクトが所定動作を行う場合の前記キャラクタオブジェクトの各頂点の位置を特定するためのモーションデータを記憶するモーションデータ記憶手段と、
前記キャラクタオブジェクトの各頂点の位置を前記モーションデータに基づいて変化させる手段と、
前記キャラクタオブジェクトの目の周辺部分の頂点の位置を、前記モーションデータによって特定される位置から、前記頂点位置特定データ取得手段によって取得された、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データによって特定される位置に置き換える手段と、を含む、
ことを特徴とするゲーム装置。
【請求項４】
キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置の制御方法において、
頂点位置特定データ記憶手段の記憶内容を読み出す手段が、前記キャラクタオブジェクトの目の周辺部分の頂点の位置を特定するための頂点位置特定データを複数記憶する手段であって、複数の基本視線方向の各々に対応する前記頂点位置特定データを記憶してなる頂点位置特定データ記憶手段の記憶内容を読み出すステップと、
ブレンド制御データ記憶手段の記憶内容を読み出す手段が、前記キャラクタオブジェクトの視線方向に関する視線方向情報と、前記複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データを記憶してなるブレンド制御データ記憶手段の記憶内容を読み出すステップと、
視線方向情報取得手段が、前記キャラクタオブジェクトの視線方向に関する視線方向情報を取得する視線方向情報取得ステップと、
ブレンド比率情報取得手段が、前記視線方向情報取得ステップにおいて取得された前記視線方向情報に対応する前記ブレンド比率情報を前記ブレンド制御データに基づいて取得するブレンド比率情報取得ステップと、
頂点位置特定データ取得手段が、前記ブレンド比率情報取得ステップにおいて取得された前記ブレンド比率情報に基づいて前記複数の頂点位置特定データをブレンドすることによって、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データを取得する頂点位置特定データ取得ステップと、
表示制御手段が、前記頂点位置特定データ取得ステップにおいて取得された、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データに基づいて、前記ゲーム画面を表示する表示制御ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項５】
キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記キャラクタオブジェクトの目の周辺部分の頂点の位置を特定するための頂点位置特定データを複数記憶する手段であって、複数の基本視線方向の各々に対応する前記頂点位置特定データを記憶する頂点位置特定データ記憶手段の記憶内容を読み出す手段、
前記キャラクタオブジェクトの視線方向に関する視線方向情報と、前記複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データを記憶するブレンド制御データ記憶手段の記憶内容を読み出す手段、
前記キャラクタオブジェクトの視線方向に関する視線方向情報を取得する視線方向情報取得手段、
前記視線方向情報取得手段によって取得された前記視線方向情報に対応する前記ブレンド比率情報を前記ブレンド制御データに基づいて取得するブレンド比率情報取得手段、
前記ブレンド比率情報取得手段によって取得された前記ブレンド比率情報に基づいて前記複数の頂点位置特定データをブレンドすることによって、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データを取得する頂点位置特定データ取得手段、及び、
前記頂点位置特定データ取得手段によって取得された、前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データに基づいて、前記ゲーム画面を表示する表示制御手段、
として前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置が知られている。従来、上記のようなゲーム装置では、キャラクタオブジェクトがある方向を見ていることを表すための方法として、キャラクタオブジェクトの眼球の位置をキャラクタオブジェクトの視線方向に合わせて変える方法が用いられていた。
【特許文献１】特開２００４−２１６１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、人間がある方向を見ている場合には眼球の位置だけでなく目の周辺部分にも変化が生じる。例えば、目の周辺の皮膚に皺ができたりする。このため、上記のように単に眼球の位置を変えるような方法では、キャラクタオブジェクトの目の周辺部分が不自然であるとの印象をユーザが感じてしまうおそれがある。
【０００４】
上記のような不都合の発生を抑止するための方法としては、キャラクタオブジェクトの目の周辺部分がキャラクタオブジェクトの視線方向に合わせて変化する様子を示すデータ（モーションデータ又はアニメデータ）をあらかじめ用意しておき、そのデータに従ってキャラクタオブジェクトの目の周辺部分を変化させるという方法が考えられる。しかしながら、キャラクタオブジェクトの視線方向は一定の方向に限られず多様であるため、この方法を用いる場合には上記のようなデータを大量に用意しなければならなくなる。すなわち、データ量やデータ作成のための作業量が増大してしまう。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、キャラクタオブジェクトの目の周辺部分がキャラクタオブジェクトの視線方向に合わせて変化する様子を表現することをデータ量やデータ作成のための作業量の軽減を図りつつ実現できるようになるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係るゲーム装置は、キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置において、前記キャラクタオブジェクトの目の周辺部分の頂点の位置を特定するための頂点位置特定データを複数記憶する手段であって、複数の基本視線方向の各々に対応する前記頂点位置特定データを記憶する頂点位置特定データ記憶手段と、前記キャラクタオブジェクトの視線方向に関する視線方向情報と、前記複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データを記憶するブレンド制御データ記憶手段と、前記キャラクタオブジェクトの視線方向を取得する視線方向取得手段と、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記ブレンド比率情報を前記ブレンド制御データに基づいて取得するブレンド比率情報取得手段と、前記ブレンド比率情報取得手段によって取得された前記ブレンド比率情報に基づいて前記複数の頂点位置特定データをブレンドすることによって、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データを取得する頂点位置特定データ取得手段と、前記頂点位置特定データ取得手段によって取得された、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データに基づいて、前記ゲーム画面を表示する表示制御手段と、を含むことを特徴とする。
【０００７】
また、本発明に係るゲーム装置の制御方法は、キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置の制御方法において、前記キャラクタオブジェクトの目の周辺部分の頂点の位置を特定するための頂点位置特定データを複数記憶する手段であって、複数の基本視線方向の各々に対応する前記頂点位置特定データを記憶してなる頂点位置特定データ記憶手段の記憶内容を読み出すステップと、前記キャラクタオブジェクトの視線方向に関する視線方向情報と、前記複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データを記憶してなるブレンド制御データ記憶手段の記憶内容を読み出すステップと、前記キャラクタオブジェクトの視線方向を取得する視線方向取得ステップと、前記視線方向取得ステップにおいて取得された前記キャラクタオブジェクトの視線方向に対応する前記ブレンド比率情報を前記ブレンド制御データに基づいて取得するブレンド比率情報取得ステップと、前記ブレンド比率情報取得ステップにおいて取得された前記ブレンド比率情報に基づいて前記複数の頂点位置特定データをブレンドすることによって、前記視線方向取得ステップにおいて取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データを取得する頂点位置特定データ取得ステップと、前記頂点位置特定データ取得ステップにおいて取得された、前記視線方向取得ステップにおいて取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データに基づいて、前記ゲーム画面を表示する表示制御ステップと、を含むことを特徴とする。
【０００８】
また、本発明に係るプログラムは、キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、前記キャラクタオブジェクトの目の周辺部分の頂点の位置を特定するための頂点位置特定データを複数記憶する手段であって、複数の基本視線方向の各々に対応する前記頂点位置特定データを記憶する頂点位置特定データ記憶手段、前記キャラクタオブジェクトの視線方向に関する視線方向情報と、前記複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データを記憶するブレンド制御データ記憶手段、前記キャラクタオブジェクトの視線方向を取得する視線方向取得手段、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記ブレンド比率情報を前記ブレンド制御データに基づいて取得するブレンド比率情報取得手段、前記ブレンド比率情報取得手段によって取得された前記ブレンド比率情報に基づいて前記複数の頂点位置特定データをブレンドすることによって、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データを取得する頂点位置特定データ取得手段、及び、前記頂点位置特定データ取得手段によって取得された、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データに基づいて、前記ゲーム画面を表示する表示制御手段、として前記コンピュータを機能させるためのプログラムである。
【０００９】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【００１０】
本発明は、キャラクタオブジェクトが配置された仮想３次元空間をゲーム画面に表示するゲーム装置に関するものである。本発明では、複数の基本視線方向の各々に対応する頂点位置特定データが記憶される。頂点位置特定データはキャラクタオブジェクトの目の周辺部分の頂点の位置を特定するためのデータである。また本発明では、キャラクタオブジェクトの視線方向に関する視線方向情報と、複数の頂点位置特定データのブレンド比率に関するブレンド比率情報と、を対応づけてなるブレンド制御データが記憶される。また本発明では、キャラクタオブジェクトの視線方向が取得される。そして、キャラクタオブジェクトの視線方向に対応するブレンド比率情報がブレンド制御データに基づいて取得される。また、そのブレンド比率情報に基づいて複数の頂点位置特定データがブレンドされることによって、キャラクタオブジェクトの視線方向に対応する頂点位置特定データが取得される。そして、その頂点位置特定データに基づいてゲーム画面が表示される。本発明によれば、キャラクタオブジェクトの目の周辺部分がキャラクタオブジェクトの視線方向に合わせて変化する様子を表現することをデータ量やデータ作成のための作業量の軽減を図りつつ実現できるようになる。
【００１１】
また、本発明の一態様では、前記キャラクタオブジェクトには、該キャラクタオブジェクトの１又は複数の頂点が関連づけられたスケルトンが１又は複数設定されてもよい。前記１又は複数のスケルトンに関連づけられた前記キャラクタオブジェクトの頂点の位置は、前記１又は複数のスケルトンの状態の変化に応じて変化してもよい。前記頂点位置特定データは、前記１又は複数のスケルトンのうちの、前記キャラクタオブジェクトの目の周辺部分の頂点が関連づけられたスケルトンの状態を示すデータであってもよい。また、前記表示制御手段は、前記キャラクタオブジェクトが所定動作を行う場合の前記１又は複数のスケルトンの状態を示すモーションデータを記憶するモーションデータ記憶手段と、前記１又は複数のスケルトンの状態を前記モーションデータに基づいて変化させる手段と、前記キャラクタオブジェクトの目の周辺部分の頂点が関連づけられたスケルトンの状態を、前記モーションデータが示す状態から、前記頂点位置特定データ取得手段によって取得された、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データが示す状態に置き換える手段と、を含むようにしてもよい。
【００１２】
また、本発明の一態様では、前記表示制御手段は、前記キャラクタオブジェクトが所定動作を行う場合の前記キャラクタオブジェクトの各頂点の位置を特定するためのモーションデータを記憶するモーションデータ記憶手段と、前記キャラクタオブジェクトの各頂点の位置を前記モーションデータに基づいて変化させる手段と、前記キャラクタオブジェクトの目の周辺部分の頂点の位置を、前記モーションデータによって特定される位置から、前記頂点位置特定データ取得手段によって取得された、前記視線方向取得手段によって取得された前記キャラクタオブジェクトの視線方向に対応する前記頂点位置特定データによって特定される位置に置き換える手段と、を含むようにしてもよい。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００１４】
図１は、本発明の実施形態に係るゲーム装置の全体構成を示す図である。図１に示すゲーム装置１０は、家庭用ゲーム機１１、モニタ３２、スピーカ３４、光ディスク３６を含んでいる。モニタ３２及びスピーカ３４は家庭用ゲーム機１１に接続される。モニタ３２としては例えば家庭用テレビ受像機が用いられる。スピーカ３４としては例えば家庭用テレビ受像機に内蔵されたスピーカが用いられる。光ディスク３６は情報記憶媒体であり、家庭用ゲーム機１１に装着される。
【００１５】
家庭用ゲーム機１１は公知のコンピュータゲームシステムである。家庭用ゲーム機１１は、バス１２、マイクロプロセッサ１４、主記憶１６、画像処理部１８、入出力処理部２０、音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８及びコントローラ３０を含んでいる。コントローラ３０以外の構成要素は家庭用ゲーム機１１の筐体内に収容される。
【００１６】
バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。マイクロプロセッサ１４、主記憶１６、画像処理部１８及び入出力処理部２０は、バス１２によって相互データ通信可能に接続される。
【００１７】
マイクロプロセッサ１４は図示しないＲＯＭに格納されるオペレーティングシステム、光ディスク３６又はハードディスク２６から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機１１の各部を制御する。主記憶１６は例えばＲＡＭを含んでいる。主記憶１６には光ディスク３６又はハードディスク２６から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶１６はマイクロプロセッサ１４の作業用メモリとしても用いられる。
【００１８】
画像処理部１８はＶＲＡＭを含んでいる。画像処理部１８はマイクロプロセッサ１４から送られる画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。そして、画像処理部１８はＶＲＡＭ上に描画されたゲーム画面をビデオ信号に変換して所定のタイミングでモニタ３２に出力する。
【００１９】
入出力処理部２０はマイクロプロセッサ１４が音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８及びコントローラ３０にアクセスするためのインタフェースである。入出力処理部２０には、音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８及びコントローラ３０が接続される。
【００２０】
音声処理部２２はサウンドバッファを含んでいる。サウンドバッファには光ディスク３６又はハードディスク２６から読み出されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データが記憶される。音声処理部２２はサウンドバッファに記憶された各種音声データを再生してスピーカ３４から出力する。
【００２１】
光ディスク読み取り部２４はマイクロプロセッサ１４からの指示に従って光ディスク３６に記録されたプログラムやデータを読み取る。なお、ここではプログラムやデータを家庭用ゲーム機１１に供給するために光ディスク３６を用いることとするが、ＲＯＭカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えばインターネット等の通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。
【００２２】
ハードディスク２６は一般的なハードディスク装置（補助記憶装置）である。ハードディスク２６にはプログラムやデータが記憶される。通信インタフェース２８はインターネット等の通信ネットワークに家庭用ゲーム機１１を有線又は無線接続するためのインタフェースである。
【００２３】
コントローラ３０はユーザが各種ゲーム操作を入力するための汎用操作入力手段である。入出力処理部２０は一定周期毎（例えば１／６０秒ごと）にコントローラ３０の各部の状態をスキャンする。そして、入出力処理部２０はそのスキャン結果を表す操作信号をバス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４はその操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機１１には複数のコントローラ３０を接続することが可能である。マイクロプロセッサ１４は各コントローラ３０から入力される操作信号に基づいてゲーム制御を実行する。
【００２４】
上記の構成を備えるゲーム装置１０では、光ディスク３６又はハードディスク２６から読み出されたゲームプログラムが実行されることによって、例えばサッカーゲームが実現される。
【００２５】
ゲーム装置１０の主記憶１６には仮想３次元空間が構築される。図２は仮想３次元空間４０の一例を示している。図２に示すように、仮想３次元空間４０にはサッカーの試合会場が形成される。すなわち、仮想３次元空間４０にはサッカーのフィールドを表すフィールドオブジェクト４２が配置される。フィールドオブジェクト４２上には、ゴールを表すゴールオブジェクト４４と、サッカー選手を表すキャラクタオブジェクト４６と、サッカーボールを表すボールオブジェクト４８と、が配置される。各オブジェクトは複数のポリゴンを含んで構成される。なお図２では省略されているが、仮想３次元空間４０には２２体のキャラクタオブジェクト４６が配置される。また図２ではキャラクタオブジェクト４６が簡略化されている。図３はキャラクタオブジェクト４６の顔５０（頭部）の一例を示している。
【００２６】
キャラクタオブジェクト４６の内部にはスケルトンが設定される。スケルトンは、関節部分に相当するジョイントと、ジョイント間を接続するボーンと、を含んで構成される。各スケルトン（ジョイント及びボーン）にはキャラクタオブジェクト４６の１又は複数の頂点が関連づけられる。各スケルトンに関連づけられた頂点の位置がそのスケルトンの状態（位置や回転角度等）の変化に基づいて変化する。キャラクタオブジェクト４６の姿勢や表情が変化させる場合には各スケルトンの状態に変化が与えられる。各スケルトンの状態が変化すると、そのスケルトンに関連づけられた頂点が従動する。その結果、キャラクタオブジェクト４６の姿勢や表情が変化する。このように、スケルトンはキャラクタオブジェクト４６の姿勢や表情を変えるために用いられる。
【００２７】
例えば、キャラクタオブジェクト４６の顔５０（頭部）には、目５２及び目５２の周辺部分（言い換えれば、キャラクタオブジェクト４６の視線方向の変化に応じて変化が現れる部分）の頂点に関連づけられたスケルトン（以下、「目関連スケルトン」と記載する。）や、口５８及び口５８の周辺部分の頂点に関連づけられたスケルトン等が設定される。目関連スケルトンには、例えば、上まぶた５４を動かすためのジョイント又は／及びボーンや、眉毛５６を動かすためのジョイント又は／及びボーンが含まれる。これらのジョイント又は／及びボーンの状態が変化することによって、キャラクタオブジェクト４６の上まぶた５４や眉毛５６が動く。
【００２８】
また仮想３次元空間４０には仮想カメラ４９が配置される。この仮想カメラ４９から仮想３次元空間４０を見た様子を表すゲーム画面がモニタ３２に表示される。ユーザはゲーム画面を見ながら、コントローラ３０を用いて操作対象のキャラクタオブジェクト４６を操作する。なお、ユーザの操作対象のキャラクタオブジェクト４６はユーザの操作内容に従って行動する。それ以外のキャラクタオブジェクト４６は所定のアルゴリズム（以下、「行動決定アルゴリズム」と記載する。）による決定内容に従って行動する。
【００２９】
以下、上記のゲーム装置１０において、キャラクタオブジェクト４６の目５２の周辺部分がキャラクタオブジェクト４６の視線方向に合わせて変化する様子を表現することを、データ量及びデータ作成の作業量の軽減を図りつつ実現するための技術について説明する。
【００３０】
まず、ゲーム装置１０に記憶されるデータについて説明する。なお、下記に説明するデータのうち、光ディスク３６に記憶されるデータはハードディスク２６に記憶されていてもよい。
【００３１】
仮想３次元空間４０に配置される各オブジェクトのモデルデータが光ディスク３６に記憶される。また、キャラクタオブジェクト４６のモーションデータが光ディスク３６（モーションデータ記憶手段）に記憶される。モーションデータは、キャラクタオブジェクト４６が各種動作を行う場合の各フレームごと（例えば１／６０秒ごと）のキャラクタオブジェクト４６の頂点の位置の変化を示すデータである。本実施の形態の場合、キャラクタオブジェクト４６の頂点の位置はキャラクタオブジェクト４６に設定された各スケルトンの状態（回転角度や位置等）によって特定される。このため、本実施の形態の場合、モーションデータは、キャラクタオブジェクト４６が各種動作を行う場合の各フレームごとの各スケルトンの状態（回転角度や位置等）の変化を示すデータである。なお以下では、モーションデータに従ってキャラクタオブジェクト４６の各スケルトンの状態を変化させることを「モーションデータを再生する」と記載する。
【００３２】
キャラクタオブジェクト４６のモーションデータの例としては、キャラクタオブジェクト４６が走行する場合のモーションデータ、キャラクタオブジェクト４６がパスを行う場合のモーションデータ（以下、「パスモーションデータ」と記載する。）、キャラクタオブジェクト４６が喜ぶ場合のモーションデータ（以下、「喜びモーションデータ」と記載する。）や、キャラクタオブジェクト４６が痛がる場合のモーションデータ（以下、「痛がりモーションデータ」と記載する。）等が挙げられる。
【００３３】
なお、喜びモーションデータは、例えば得点が入った場合や試合に勝利した場合に用いられる。喜びモーションデータには、キャラクタオブジェクト４６の表情を笑顔にするための、キャラクタオブジェクト４６の顔５０の各スケルトンの状態の変化を示すデータが含まれる。このため、喜びモーションデータが再生された場合、キャラクタオブジェクト４６が「喜ぶ動作」を行うとともに、キャラクタオブジェクト４６の顔５０の表情が笑顔になる。また、痛がりモーションデータは、例えば相手チームのキャラクタオブジェクト４６のタックルをキャラクタオブジェクト４６が受けた場合に用いられる。痛がりモーションデータには、キャラクタオブジェクト４６の表情を「痛がる表情」にするための、キャラクタオブジェクト４６の顔５０の各スケルトンの状態の変化を示すデータが含まれる。このため、痛がるモーションデータが再生された場合、キャラクタオブジェクト４６が「痛がる動作」を行うとともに、キャラクタオブジェクト４６の顔５０の表情が「痛がる表情」になる。
【００３４】
また、キャラクタオブジェクト４６が複数の基本視線方向の各々を見ている場合のキャラクタオブジェクト４６の目５２及び目５２の周辺部分の頂点の位置を特定するためのデータ（頂点位置特定データ）が光ディスク３６（頂点位置特定データ記憶手段）に記憶される。なお上述したように、キャラクタオブジェクト４６の目５２及び目５２の周辺部分の頂点の位置は、キャラクタオブジェクト４６の目関連スケルトンの状態（回転角度や位置等）によって特定される。このため、本実施の形態の場合、キャラクタオブジェクト４６が基本視線方向を見ている場合の目５２及び目５２の周辺部分の頂点の位置を特定するためのデータとして、キャラクタオブジェクト４６が基本視線方向を見ている場合の目関連スケルトンの状態（回転角度や位置等）を示すデータが記憶される。なお以下では、このデータのことを目関連スケルトンの「基本状態データ」と記載する。
【００３５】
本実施の形態の場合、４つの基本視線方向（上、下、左、右）の各々に対応する目関連スケルトンの基本状態データが光ディスク３６に記憶される。図４〜図７は、４つの基本視線方向について説明するための図である。
【００３６】
図４は基本視線方向（上）を示す図である。図４は、キャラクタオブジェクト４６が顔５０を正面に向けたままの状態で真上方向（図４に示すＵ方向）を見ている場合を示している。基本視線方向（上）に対応する目関連スケルトンの基本状態データとは、キャラクタオブジェクト４６の視線方向が真上方向（図４に示すＵ方向）になっている場合の目関連スケルトンの状態（回転角度や位置等）を示すデータである。なお以下では、この基本状態データのことを「基本状態データＵ」と記載する。
【００３７】
図５は基本視線方向（下）を示す図である。図５は、キャラクタオブジェクト４６が顔５０を正面に向けたままの状態で真下方向（図５に示すＤ方向）を見ている場合を示している。基本視線方向（下）に対応する目関連スケルトンの基本状態データとは、キャラクタオブジェクト４６の視線方向が真下方向（図５に示すＤ方向）になっている場合の目関連スケルトンの状態（回転角度や位置等）を示すデータである。なお以下では、この基本状態データのことを「基本状態データＤ」と記載する。
【００３８】
図６は基本視線方向（左）を示す図である。図６は、キャラクタオブジェクト４６が顔５０を正面に向けたままの状態で真左方向（図６に示すＬ方向）を見ている場合を示している。基本視線方向（左）に対応する目関連スケルトンの基本状態データとは、キャラクタオブジェクト４６の視線方向が真左方向（図６に示すＬ方向）になっている場合の目関連スケルトンの状態（回転角度や位置等）を示すデータである。なお以下では、この基本状態データのことを「基本状態データＬ」と記載する。
【００３９】
図７は基本視線方向（右）を示す図である。図７は、キャラクタオブジェクト４６が顔５０を正面に向けたままの状態で真右方向（図７に示すＲ方向）を見ている場合を示している。基本視線方向（右）に対応する目関連スケルトンの基本状態データとは、キャラクタオブジェクト４６の視線方向が真右方向（図７に示すＲ方向）になっている場合の目関連スケルトンの状態（回転角度や位置等）を示すデータである。なお以下では、この基本状態データのことを「基本状態データＲ」と記載する。
【００４０】
また、ブレンド制御データが光ディスク３６（ブレンド制御データ記憶手段）に記憶される。ブレンド制御データは、キャラクタオブジェクト４６の視線方向に関する視線方向情報と、目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒをブレンド（合成）する場合のブレンド比率（合成比率）に関するブレンド比率情報と、を対応づけてなるデータである。図８はブレンド制御データの一例を示している。図８に示すブレンド制御データは、キャラクタオブジェクト４６の視線方向の特徴量θｘ及びθｙ（視線方向情報）と、目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒのブレンド比率（ブレンド比率情報）と、を対応づけてなるデータである。図８に示すブレンド制御データはテーブル形式のデータになっており、複数のレコードを含んでいる。各レコードは「視線方向条件」フィールドと「ブレンド比率」フィールドとを含んでいる。なお図８では代表的なレコード（視線方向条件及びブレンド比率）のみが表されている。
【００４１】
「視線方向条件」フィールドはキャラクタオブジェクト４６の視線方向に関する条件を示す。より具体的には、「視線方向条件」フィールドはキャラクタオブジェクト４６の視線方向の特徴量θｘ及びθｙに関する条件を示す。
【００４２】
ここで、キャラクタオブジェクト４６の視線方向の特徴量θｘ及びθｙについて説明する。図９〜図１１はθｘ及びθｙを説明するための図である。なお、これらの図において、Ｘ軸はキャラクタオブジェクト４６の顔５０の横方向（左右方向）に対応している。すなわち、Ｘ軸正方向は図７に示すＲ方向に対応しており、Ｘ軸負方向は図６に示すＬ方向に対応している。また、Ｙ軸はキャラクタオブジェクト４６の顔５０の縦方向（上下方向）に対応している。すなわち、Ｙ軸正方向は図４に示すＵ方向に対応しており、Ｙ軸負方向は図５に示すＤ方向に対応している。また、Ｚ軸はキャラクタオブジェクト４６の顔５０の正面方向６４に対応している。また、符号６０は、キャラクタオブジェクト４６の左目５２と右目５２の間の中心点を示している。図９では、キャラクタオブジェクト４６の視線方向６２を示す直線の始点が左目５２と右目５２の間の中心点６０に設定されている。
【００４３】
特徴量θｘ及びθｙは、キャラクタオブジェクト４６の視線方向６２と、キャラクタオブジェクト４６の顔５０の正面方向６４と、のずれを示す角度である。θｘは、キャラクタオブジェクト４６の視線方向６２がキャラクタオブジェクト４６の顔５０の正面方向６４に対して左右方向（Ｘ軸方向）にどれだけずれているかを示す角度である。より具体的には、図９及び図１０に示すように、θｘは、視線方向６２を示す直線をＸＺ平面に投影することによって得られる直線６２ａと、顔５０の正面方向６４（Ｚ軸方向）と、の間の角度を示している。なお、視線方向６２が顔５０の正面方向６４より右側（Ｘ軸正方向）にずれている場合、θｘの値は正の値になる。一方、視線方向６２が顔５０の正面方向６４より左側（Ｘ軸負方向）にずれている場合、θｘの値は負の値になる。また、θｙは、キャラクタオブジェクト４６の視線方向６２がキャラクタオブジェクト４６の顔５０の正面方向６４に対して上下方向（Ｙ軸方向）にどれだけずれているかを示す角度である。より具体的には、図９及び図１１に示すように、θｙは、視線方向６２と、視線方向６２を示す直線をＸＺ平面に投影することによって得られる直線６２ａ（ＸＺ平面）と、の間の角度を示している。なお、視線方向６２が顔５０の正面方向６４より上側（Ｙ軸正方向）にずれている場合、θｙの値は正の値になる。一方、視線方向６２が顔５０の正面方向６４より下側（Ｙ軸負方向）にずれている場合、θｙの値は負の値になる。
【００４４】
「ブレンド比率」フィールドは目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒをブレンドする場合のブレンド比率を示す。
【００４５】
なお、ブレンド制御データは数式形式のデータであってもよい。すなわち、ブレンド制御データは目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒのブレンド比率をθｘ及びθｙの値に基づいて算出するための演算式であってもよい。また、ブレンド制御データはテーブル形式のデータと数式形式のデータとを組み合わせたデータであってもよい。例えば、ブレンド制御データは、目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒのブレンド比率をθｘ及びθｙの値に基づいて算出するための演算式がθｘ及びθｙの角度範囲ごとに定められたデータであってもよい。
【００４６】
以上の他に、ゲームの現在状況を示すゲーム状況データが主記憶１６に記憶される。図１２はゲーム状況データのデータ構成の一例を示す図である。図１２に示すゲーム状況データはボールオブジェクト４８の現在の状態（位置、移動方向、移動速度等）を示すデータと、各キャラクタオブジェクト４６の現在の状態を示すデータと、を含んでいる。キャラクタオブジェクト４６の現在の状態を示すデータは、例えば、キャラクタオブジェクト４６の「位置」データ、「移動方向」データ、「移動速度」データ、「スケルトン状態」データ、「注視目標」データ、「視線方向」データ、「操作対象フラグ」、「ボール保持フラグ」、「再生中モーションデータＩＤ」、「現在フレーム番号」等を含んでいる。「スケルトン状態」データは各スケルトンの状態（回転角度や位置等）を示すデータである。また、「注視目標」データはキャラクタオブジェクト４６の注視目標を示すデータである。キャラクタオブジェクト４６の注視目標としては、例えば仮想３次元空間４０の所定位置、ボールオブジェクト４８又は他のキャラクタオブジェクト４６が設定される。「操作対象フラグ」はキャラクタオブジェクト４６がユーザの操作対象であるか否かを示すデータである。「ボール保持フラグ」はキャラクタオブジェクト４６がボールオブジェクト４８を保持しているか否かを示すデータである。「再生中モーションデータＩＤ」は再生中のモーションデータを示すデータである。「現在フレーム番号」はモーションデータの現在の再生位置を示すデータである。なお図１２では省略されているが、ゲーム状況データには例えば各チームの得点状況等の試合経過を示すデータも含まれる。
【００４７】
ここで、ゲーム装置１０で実行される処理について説明する。図１３及び図１４は、ゲーム装置１０で所定時間（例えば１／６０秒）ごとに実行される処理のうちの、本発明に関連する処理を示すフロー図である。マイクロプロセッサ１４は光ディスク３６又はハードディスク２６に記憶されるプログラムに従って、図１３及び図１４に示す処理を実行する。
【００４８】
図１３に示すように、まずマイクロプロセッサ１４は、ゲーム状況データに含まれるボールオブジェクト４８及び各キャラクタオブジェクト４６の現在の状態を示すデータを更新する（Ｓ１０１）。
【００４９】
例えば、マイクロプロセッサ１４は各キャラクタオブジェクト４６の「位置」、「移動方向」及び「移動速度」データをユーザの操作内容又は行動決定アルゴリズムの決定内容に従って更新する。マイクロプロセッサ１４はユーザの操作対象であるキャラクタオブジェクト４６の「位置」データ等をユーザの操作内容に従って更新する。一方、マイクロプロセッサ１４はユーザの操作対象でないキャラクタオブジェクト４６の「位置」データ等を行動決定アルゴリズムの決定内容に従って更新する。
【００５０】
また例えば、マイクロプロセッサ１４は各キャラクタオブジェクト４６の「再生中モーションデータＩＤ」をユーザの操作内容又は行動決定アルゴリズムの決定内容に従って更新する。例えばユーザによってパス指示操作が行われた場合、マイクロプロセッサ１４は、ユーザの操作対象であるキャラクタオブジェクト４６の「再生中モーションデータＩＤ」にパスモーションデータのＩＤをセットする。また例えば得点が入った場合、マイクロプロセッサ１４は、得点を入れたキャラクタオブジェクト４６の「再生中モーションデータＩＤ」に喜びモーションデータのＩＤをセットする。また例えばキャラクタオブジェクト４６がタックルを受けた場合、マイクロプロセッサ１４は、そのキャラクタオブジェクト４６の「再生中モーションデータＩＤ」に痛がりモーションデータのＩＤをセットする。なお、「再生中モーションデータＩＤ」が更新された場合、マイクロプロセッサ１４は「現在フレーム番号」を先頭フレーム番号に初期化する。また、いずれかのキャラクタオブジェクト４６がパスやシュート等のボール関連動作を行った場合、マイクロプロセッサ１４はボールオブジェクト４８の「位置」、「移動方向」及び「移動速度」データも更新する。
【００５１】
また例えば、マイクロプロセッサ１４は各キャラクタオブジェクト４６の「現在フレーム番号」を１フレーム進める。
【００５２】
また例えば、マイクロプロセッサ１４（表示制御手段）は各キャラクタオブジェクト４６の「スケルトン状態」データを「再生中モーションデータＩＤ」及び「現在フレーム番号」に基づいて更新する。より具体的には、マイクロプロセッサ１４は、再生中のモーションデータから、現在フレームにおける各スケルトンの状態を取得する。そしてマイクロプロセッサ１４は、キャラクタオブジェクト４６の「スケルトン状態」データを、該「スケルトン状態」データがその取得された状態を示すように更新する。なお、例えば喜びモーションデータのＩＤがキャラクタオブジェクト４６の「再生中モーションデータＩＤ」にセットされている場合、そのキャラクタオブジェクト４６の「スケルトン状態」データは、そのキャラクタオブジェクト４６の顔５０の各スケルトン（目関連スケルトン等）の状態が喜びモーションデータの現在フレームのおける状態となるように更新される。このため、この時点の「スケルトン状態」データには、目関連スケルトンの状態として、再生中のモーションデータ（例えば喜びモーションデータ）が示す状態が保持されている。
【００５３】
また例えば、マイクロプロセッサ１４は各キャラクタオブジェクトの「注視目標」データを更新する。例えば、マイクロプロセッサ１４は、仮想３次元空間４０の所定位置、ボールオブジェクト４８や他のキャラクタオブジェクト４６等を所定のアルゴリズムに従って注視目標として選択する。なお、キャラクタオブジェクト４６の注視目標は所定時間ごとに決定されるようにしてもよいし、何らかのゲームイベントが発生した場合に決定されるようにしてもよい。
【００５４】
その後、マイクロプロセッサ１４は各キャラクタオブジェクト４６の目関連スケルトンの状態を補正するための処理を実行する（Ｓ１０２〜Ｓ１１２）。まず、マイクロプロセッサ１４はいずれかのキャラクタオブジェクト４６を選択する（Ｓ１０２）。以下、Ｓ１０２又は後述のＳ１１２で選択されたキャラクタオブジェクト４６のことを「選択キャラクタオブジェクト」と記載する。
【００５５】
そして、マイクロプロセッサ１４（視線方向取得手段）は選択キャラクタオブジェクトの視線方向６２を取得する（Ｓ１０３）。マイクロプロセッサ１４は選択キャラクタオブジェクトの視線方向６２を、選択キャラクタオブジェクトの位置と、注視目標の位置と、に基づいて取得する。例えば、マイクロプロセッサ１４は選択キャラクタオブジェクトの右目５２と左目５２の間の中心点６０から注視目標の位置への方向を視線方向６２として取得する。その後、マイクロプロセッサ１４は、選択キャラクタオブジェクトの視線方向６２の特徴量θｘ及びθｙ（図９〜図１１参照）を取得する（Ｓ１０４）。
【００５６】
次に、マイクロプロセッサ１４はブレンド制御データから先頭のレコードを読み出す（Ｓ１０５）。そして、マイクロプロセッサ１４は、読み出されたレコードの「視線方向条件」フィールドが示す条件をθｘ及びθｙが満足するか否かを判定する（Ｓ１０６）。読み出されたレコードの「視線方向条件」フィールドが示す条件をθｘ及びθｙが満足しない場合、マイクロプロセッサ１４は次のレコードをブレンド制御データから読み出す（Ｓ１０７）。そして、マイクロプロセッサ１４は、そのレコードの「視線方向条件」フィールドが示す条件をθｘ及びθｙが満足するか否かを判定する（Ｓ１０６）。
【００５７】
一方、読み出されたレコードの「視線方向条件」フィールドが示す条件をθｘ及びθｙが満足する場合、マイクロプロセッサ１４（ブレンド比率情報取得手段）は、読み出されたレコードの「ブレンド比率」フィールドが示すブレンド比率を取得する（Ｓ１０８）。そして、マイクロプロセッサ１４（頂点位置特定データ取得手段）は、目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒを、Ｓ１０８で取得されたブレンド比率に基づいてブレンドすることによって、Ｓ１０３で取得された視線方向６２に対応する目関連スケルトンの状態データを取得する（Ｓ１０９）。
【００５８】
この場合、例えば、Ｓ１０３で取得された視線方向６２に対応する各スケルトン（ジョイント又はボーン）の回転角度θは下記の式（１）によって取得される。下記の式（１）において、θｕは基本状態データＵが示す該スケルトンの回転角度を示す。θｄは基本状態データＤが示す該スケルトンの回転角度を示す。θｌは基本状態データＬが示す該スケルトンの回転角度を示す。θｒは基本状態データＲが示す該スケルトンの回転角度を示す。また、αｕは基本状態データＵのブレンド比率を示す。αｄは基本状態データＤのブレンド比率を示す。αｌは基本状態データＬのブレンド比率を示す。αｒは基本状態データＲのブレンド比率を示す。
【００５９】
θ＝θｕ＊αｕ＋θｄ＊αｄ＋θｌ＊αｌ＋θｒ＊αｒ  ・・・  （１）
【００６０】
また例えば、Ｓ１０３で取得された視線方向６２に対応する各スケルトン（ジョイント又はボーン）の位置Ｐは下記の式（２）によって取得される。下記の式（２）において、Ｐｕは基本状態データＵが示す該スケルトンの位置を示す。Ｐｄは基本状態データＤが示す該スケルトンの位置を示す。Ｐｌは基本状態データＬが示す該スケルトンの位置を示す。Ｐｒは基本状態データＲが示す該スケルトンの位置を示す。なお、この式（２）におけるαｕ、αｄ、αｌ、αｒは式（１）と同様である。
【００６１】
Ｐ＝Ｐｕ＊αｕ＋Ｐｄ＊αｄ＋Ｐｌ＊αｌ＋Ｐｒ＊αｒ  ・・・  （２）
【００６２】
Ｓ１０３で取得された視線方向６２に対応する目関連スケルトンの状態データが取得された後、マイクロプロセッサ１４（表示制御手段）は、その状態データに基づいて、選択キャラクタオブジェクトの「スケルトン状態」データに保持される目関連スケルトンの状態を更新する（Ｓ１１０）。より具体的には、マイクロプロセッサ１４は、選択キャラクタオブジェクトの「スケルトン状態」データに保持される目関連スケルトンの状態を、Ｓ１０１においてモーションデータに基づいて得られた状態から、Ｓ１０９で取得された状態データが示す状態へと置き換える。
【００６３】
その後、マイクロプロセッサ１４は、選択キャラクタオブジェクトとして未だ選択されていないキャラクタオブジェクト４６が存在するか否かを判定する（Ｓ１１１）。選択キャラクタオブジェクトとして未だ選択されていないキャラクタオブジェクト４６が存在する場合、マイクロプロセッサ１４は、選択キャラクタオブジェクトとして未だ選択されていないキャラクタオブジェクト４６のうちのいずれかを選択し（Ｓ１１２）、Ｓ１０３の処理を実行する。
【００６４】
一方、選択キャラクタオブジェクトとして未だ選択されていないキャラクタオブジェクト４６が存在しない場合、すなわち、すべてのキャラクタオブジェクト４６の目関連スケルトンの状態の補正が完了した場合、マイクロプロセッサ１４及び画像処理部１８（表示制御手段）は、仮想３次元空間４０を仮想カメラ４９から見た様子を表すゲーム画面を、主記憶１６に記憶されるゲーム状況データに基づいてＶＲＡＭ上に生成する（Ｓ１１３）。例えば、マイクロプロセッサ１４及び画像処理部１８は、各キャラクタオブジェクト４６の頂点の位置をそのキャラクタオブジェクト４６の「スケルトン状態」データに基づいて算出する。そして、マイクロプロセッサ１４及び画像処理部１８は、その算出結果と、各キャラクタオブジェクト４６の「位置」データ等と、に基づいてゲーム画面を生成する。ＶＲＡＭ上に生成されたゲーム画面を所与のタイミングでモニタ３２に表示出力される。
【００６５】
以上説明したゲーム装置１０によれば、キャラクタオブジェクト４６の目５２の周辺部分がキャラクタオブジェクト４６の視線方向に合わせて変化する様子を表現できるようになる。
【００６６】
例えば、キャラクタオブジェクト４６の視線方向６２が顔５０の正面方向６４に対して右上にずれている場合を想定する。より具体的には、θｘが４５°であり、θｙが４５°である場合を想定する。この場合、基本状態データＵ，Ｄ，Ｌ，Ｒのブレンド比率としてそれぞれ「０．５」、「０」、「０」、「０．５」が取得される（図１４のＳ１０８参照）。そして、基本状態データＵと基本状態データＲとが０．５：０．５の比率でブレンドされることによって、視線方向６２（右上）に対応する目関連スケルトンの状態データが取得される（図１４のＳ１０９参照）。すなわち、キャラクタオブジェクト４６が基本視線方向（上）を見ている場合（図４参照）の目関連スケルトンの状態と、キャラクタオブジェクト４６が基本視線方向（右）を見ている場合（図７参照）の目関連スケルトンの状態と、が０．５：０．５の比率でブレンドされることによって、視線方向６２（右上）に対応する目関連スケルトンの状態が取得される。そして、キャラクタオブジェクト４６の目関連スケルトンの状態が、視線方向６２（右上）に対応する状態に置き換えられる（図１４のＳ１１０参照）。また、そのような置き換えが行われた後の各スケルトンの状態に基づいて、キャラクタオブジェクト４６の各頂点の位置が算出される（図１４のＳ１１３参照）。すなわち、視線方向６２（右上）に対応する目関連スケルトンの状態に基づいて、キャラクタオブジェクト４６の目５２及び目５２の周辺部分の頂点の位置が算出される。そして、その算出結果に基づいてキャラクタオブジェクト４６がゲーム画面に表示される（図１４のＳ１１３参照）。その結果、ゲーム画面に表示されるキャラクタオブジェクト４６の目５２及び目５２の周辺部分がキャラクタオブジェクト４６の視線方向６２（右上）に合わせて変化する。
【００６７】
また例えば、キャラクタオブジェクト４６の視線方向６２が顔５０の正面方向６４に対して左下にずれている場合を想定する。より具体的には、θｘが−４５°であり、θｙが−４５°である場合を想定する。この場合、基本状態データＵ，Ｄ，Ｌ，Ｒのブレンド比率としてそれぞれ「０」、「０．５」、「０．５」、「０」が取得される（図１４のＳ１０８参照）。そして、基本状態データＤと基本状態データＬとが０．５：０．５の比率でブレンドされることによって、視線方向６２（左下）に対応する目関連スケルトンの状態データが取得される（図１４のＳ１０９参照）。すなわち、キャラクタオブジェクト４６が基本視線方向（下）を見ている場合（図５参照）の目関連スケルトンの状態と、キャラクタオブジェクト４６が基本視線方向（左）を見ている場合（図６参照）の目関連スケルトンの状態と、が０．５：０．５の比率でブレンドされることによって、視線方向６２（左下）に対応する目関連スケルトンの状態が取得される。そして、キャラクタオブジェクト４６の目関連スケルトンの状態が、視線方向６２（左下）に対応する状態に置き換えられる（図１４のＳ１１０参照）。また、そのような置き換えが行われた後の各スケルトンの状態に基づいて、キャラクタオブジェクト４６の各頂点の位置が算出される（図１４のＳ１１３参照）。すなわち、視線方向６２（左下）に対応する目関連スケルトンの状態に基づいて、キャラクタオブジェクト４６の目５２及び目５２の周辺部分の頂点の位置が算出される。そして、その算出結果に基づいてキャラクタオブジェクト４６がゲーム画面に表示される（図１４のＳ１１３参照）。その結果、ゲーム画面に表示されるキャラクタオブジェクト４６の目５２及び目５２の周辺部分がキャラクタオブジェクト４６の視線方向６２（左下）に合わせて変化する。
【００６８】
ところで、キャラクタオブジェクト４６の目５２の周辺部分がキャラクタオブジェクト４６の視線方向６２に合わせて変化する様子を表すための方法としては、下記のような方法も考えられる。すなわち、キャラクタオブジェクト４６の目５２の周辺部分がキャラクタオブジェクト４６の視線方向６２に合わせて変化する様子を表すモーションデータをキャラクタオブジェクト４６の視線方向６２ごとに用意しておく方法も考えられる。例えば、喜びモーションデータや痛がりモーションデータ等をキャラクタオブジェクト４６の視線方向６２ごとに用意しておく方法が考えられる。しかしながら、キャラクタオブジェクト４６の視線方向６２は、そのキャラクタオブジェクト４６と、注視目標（例えば、仮想３次元空間４０の所定位置、ボールオブジェクト４８又は他のキャラクタオブジェクト４６等）と、の位置関係に応じて変化するものであり、一定の方向に限られない。このため、上記の方法を採用した場合には上記のようなモーションデータを大量に用意しなければならなくなる。すなわち、データ量及びデータ作成の作業量が増大してしまう。この点、ゲーム装置１０によれば、複数の基本視線方向の各々に対応する目関連スケルトンの基本状態データ（例えば基本状態データＵ，Ｄ，Ｌ，Ｒ）と、ブレンド制御データ（図８参照）と、を用意すれば足りるため、データ量及びデータ作成の作業量の軽減を図ることが可能になる。
【００６９】
またゲーム装置１０では、喜びモーションデータや痛がりモーションデータ等のモーションデータに従って、キャラクタオブジェクト４６の各スケルトンの状態が更新された後に、目関連スケルトンの状態のみが置き換えられるようになっている。このため、目関連スケルトン以外のスケルトン（例えば、口５８及び口５８の周辺の頂点が関連づけられたスケルトン）の状態は元々のモーションデータ（例えば喜びモーションデータや痛がりモーションデータ等）で定められた状態になる。その結果、例えば口元等には元々のモーションデータで意図されていた表情（笑顔や「痛がる表情」等）が表されることになる。
【００７０】
本発明は以上に説明した実施の形態に限定されるものではない。
【００７１】
例えば、基本視線方向は上、下、左、右の４方向に限られない。例えば、上、下、左、右、左上、右上、右上、右上の８方向を基本視線方向としてもよい。
【００７２】
また例えば、図１４のＳ１０９において、マイクロプロセッサ１４は、その時点のキャラクタオブジェクト４６の「スケルトン状態」データ（図１２参照）と、基準状態データＵ，Ｄ，Ｌ，Ｒと、をブレンドすることによって、キャラクタオブジェクト４６の視線方向６２に対応する目関連スケルトンの状態データを取得するようにしてもよい。すなわち、マイクロプロセッサ１４は、例えば喜びモーションデータや痛がりモーションデータ等が示す目関連スケルトンの状態と、基準状態データＵ，Ｄ，Ｌ，Ｒの各々が示す状態と、をブレンドすることによって、キャラクタオブジェクト４６の視線方向６２に対応する目関連スケルトンの状態が取得されるようにしてもよい。この場合、その時点のキャラクタオブジェクト４６の「スケルトン状態」データは一定の割合でブレンドされるようにすればよい。例えば、その時点のキャラクタオブジェクト４６の「スケルトン状態」データのブレンド率が「０．１」に設定される場合、ブレンド制御データ（図８参照）の「ブレンド比率」フィールドでは、基本状態データＵ，Ｄ，Ｌ，Ｒのブレンド比率の合計が「０．９」になる。こうすれば、キャラクタオブジェクト４６の目５２及び目５２の周辺部分の表情に元々のモーションデータ（例えば喜びモーションデータや痛がりモーションデータ等）で意図されていた表情が反映されるようになる。
【００７３】
また例えば、目関連スケルトンの基本状態データＵ，Ｄ，Ｌ，Ｒに代えて、キャラクタオブジェクト４６が４つの基本視線方向（上、下、左、右）の各々を見ている場合の目５２及び目５２の周辺部分の頂点の位置自体を示す基本位置データＵ，Ｄ，Ｌ，Ｒが光ディスク３６又はハードディスク２６に記憶されるようにしてもよい。
【００７４】
この場合、図１４のＳ１０９において、マイクロプロセッサ１４（頂点位置特定データ取得手段）は、基本位置データＵ，Ｄ，Ｌ，Ｒを、Ｓ１０８で取得されたブレンド比率に基づいてブレンドすることによって、キャラクタオブジェクト４６の視線方向６２に対応する、目５２及び目５２の周辺部分の頂点の位置データを取得する。このとき、目５２及び目５２の周辺部分の各頂点の位置Ｐ’は下記の式（３）によって算出される。下記の式（３）において、Ｐｕ’は基本位置データＵに保持された該頂点の位置を示す。Ｐｄ’は基本位置データＤに保持された該頂点の位置を示す。Ｐｌ’は基本位置データＬに保持された該頂点の位置を示す。Ｐｒ’は基本位置データＲに保持された該頂点の位置を示す。また、αｕ、αｄ、αｌ、αｒは式（１）と同様である。
【００７５】
Ｐ’＝Ｐｕ’＊αｕ＋Ｐｄ’＊αｄ＋Ｐｌ’＊αｌ＋Ｐｒ’＊αｒ  ・・・  （３）
【００７６】
また、この場合、図１４のＳ１１０が省略される代わりに、図１４のＳ１１３において、マイクロプロセッサ１４及び画像処理部１８（表示制御手段）は、キャラクタオブジェクト４６の目５２及び目５２の周辺部分の各頂点の位置を、図１４のＳ１０９で取得された位置データが示す位置に置き換えるようにしてもよい。このようにしても、キャラクタオブジェクト４６の目５２の周辺部分がキャラクタオブジェクト４６の視線方向に合わせて変化する様子を表現することをデータ量及びデータ作成の作業量の軽減を図りつつ実現できる。
【００７７】
また例えば、本発明はサッカーゲーム以外のゲームにおいても用いることができる。
【００７８】
また例えば、以上の説明では、プログラムを情報記憶媒体たる光ディスク３６から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図１５は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図１５に基づいて本発明に係るプログラム配信方法を説明する。図１５に示すように、このプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークを含んでいる。このシステムでは、ゲームデータベース（情報記憶媒体）１０２に、光ディスク３６の記憶内容と同様のプログラムが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からプログラムを読み出し、それをパソコン１０８、家庭用ゲーム機１１０、ＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信（一括配信）する必要はなく、ゲームの局面に応じて必要な部分を配信（分割配信）するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【００７９】
【図１】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】仮想３次元空間の一例を示す図である。
【図３】キャラクタオブジェクトの顔の一例を示す図である。
【図４】基本視線方向（上）を示す図である。
【図５】基本視線方向（下）を示す図である。
【図６】基本視線方向（左）を示す図である。
【図７】基本視線方向（右）を示す図である。
【図８】ブレンド制御データの一例を示す図である。
【図９】特徴量θｘ及びθｙについて説明するための図である。
【図１０】特徴量θｘについて説明するための図である。
【図１１】特徴量θｙについて説明するための図である。
【図１２】ゲーム状況データの一例を示す図である。
【図１３】ゲーム装置で実行される処理を示す図である。
【図１４】ゲーム装置で実行される処理を示す図である。
【図１５】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【００８０】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  主記憶、１８  画像処理部、２０  入出力処理部、２２  音声処理部、２４  光ディスク読み取り部、２６  ハードディスク、２８  通信インタフェース、３０  コントローラ、３２  モニタ、３４  スピーカ、３６  光ディスク、４０  仮想３次元空間、４２  フィールドオブジェクト、４４  ゴールオブジェクト、４６  キャラクタオブジェクト、４８  ボールオブジェクト、４９  仮想カメラ、５０  顔、５２  目、５４  上まぶた、５６  眉毛、５８  口、６０  目の間の中心点、６２  視線方向、６２ａ  視線方向を示す直線をＸＺ平面に投影することによって得られる直線、６４  顔の正面方向、１００  プログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  携帯情報端末（ＰＤＡ）、１１４  プログラム配信装置。
【図１】
0004964057.tif 000002
【図２】
0004964057.tif 000003
【図３】
0004964057.tif 000004
【図４】
0004964057.tif 000005
【図５】
0004964057.tif 000006
【図６】
0004964057.tif 000007
【図７】
0004964057.tif 000008
【図８】
0004964057.tif 000009
【図９】
0004964057.tif 000010
【図１０】
0004964057.tif 000011
【図１１】
0004964057.tif 000012
【図１２】
0004964057.tif 000013
【図１３】
0004964057.tif 000014
【図１４】
0004964057.tif 000015
【図１５】
0004964057.tif 000016