(57)【要約】【課題】キャラクタ変形機能を備えるゲーム装置において、キャラクタオブジェクトの姿勢や顔の表情の変化が不自然にならないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現することが可能になるゲーム装置を提供すること。【解決手段】本発明では、仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトン（ジョイント又はボーン）が回転することによって、キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化する。本発明では、第１位置又は第２位置の少なくとも一方を変更するようにプレイヤに案内される。また、第１位置又は第２位置の少なくとも一方がプレイヤによって変更された場合、スケルトンの位置が、スケルトンが所定角度回転した場合にキャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するように補正される（Ｓ１０３，Ｓ１０４）。【選択図】図８
2008301987.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置において、
前記第１位置又は前記第２位置の少なくとも一方を変更するようにプレイヤに案内する案内手段と、
前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第１位置から前記第２位置まで変化するように補正する補正手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置において、
前記補正手段は、前記第１位置又は前記第２位置の少なくとも一方に関する条件と、前記スケルトンの位置の補正の基礎となる補正情報と、を対応づけてなる位置補正データを記憶する手段を含み、前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記第１位置又は前記第２位置の少なくとも一方によって満足される前記条件に対応する前記補正情報に基づいて、前記スケルトンの位置を補正することを特徴とするゲーム装置。
【請求項３】
請求項２に記載のゲーム装置において、
前記条件は、前記第１位置と前記第２位置との間の距離に関する条件であることを特徴とするゲーム装置。
【請求項４】
請求項２又は３に記載のゲーム装置において、
前記補正情報は、所定方向への前記スケルトンの移動距離を示す情報であり、
前記補正手段は、前記スケルトンを、前記第１位置又は前記第２位置の少なくとも一方によって満足される前記条件に対応する前記補正情報が示す移動距離だけ、前記所定方向に移動する、
ことを特徴とするゲーム装置。
【請求項５】
仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置の制御方法において、
前記第１位置又は前記第２位置の少なくとも一方を変更するようにプレイヤに案内する案内ステップと、
前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第１位置から前記第２位置まで変化するように補正する補正ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項６】
仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記第１位置又は前記第２位置の少なくとも一方を変更するようにプレイヤに案内する案内手段、及び、
前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第１位置から前記第２位置まで変化するように補正する補正手段、
として前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
キャラクタオブジェクトが配置された仮想３次元空間を所与の視点から見た様子を表す画像を表示するゲーム装置が知られている。例えば、サッカー選手を表すキャラクタオブジェクトが配置された仮想３次元空間を所与の視点から見た様子を表す画像を表示することによって、サッカーゲームを実現するゲーム装置が知られている。
【０００３】
このようなゲーム装置では、キャラクタオブジェクトの姿勢や顔の表情を変えるために、キャラクタオブジェクトに複数のスケルトンが設定される。スケルトンは、関節部分に相当するジョイントと、ジョイント間を接続するボーンと、を含んで構成される。各ジョイント及びボーンには、キャラクタオブジェクトを構成するポリゴンの頂点の少なくとも一部が関連づけられる。ジョイント及びボーンの状態（位置や回転角度）が変化した場合、そのジョイント及びボーンに関連づけられた頂点の位置がそのジョイント及びボーンの状態変化に基づいて変化する。すなわち、キャラクタオブジェクトの姿勢や顔の表情が変化する。
【０００４】
図１０はキャラクタオブジェクト４６の頭部４６ａの一例を示している。図１１及び図１２はキャラクタオブジェクト４６の目５０の状態の一例を示している。図１１は、キャラクタオブジェクト４６の目５０が完全に開いた状態を示している。図１２は、キャラクタオブジェクト４６の目５０が完全に閉じた状態を示している。なお、符号５２はキャラクタオブジェクト４６の目５０の上まぶたを指しており、符号５６はキャラクタオブジェクト４６の目５０の下まぶたを指している。また、符号５４は上まぶた５２の頂点のうちの代表頂点を指しており、符号５８は下まぶた５６の頂点のうちの代表頂点を指している。
【０００５】
図１３は、複数のポリゴンを含んで構成されるキャラクタオブジェクト４６に対して設定されるスケルトンの一例を示している。図１３には、キャラクタオブジェクト４６の目５０の開閉を制御するためのジョイント６０が表されている。なお、キャラクタオブジェクト４６には、例えばキャラクタオブジェクト４６の口の開閉を制御するためのジョイント及びボーン等も設定されるが、図１３では省略されている。
【０００６】
ジョイント６０には、例えばキャラクタオブジェクト４６の上まぶた５２の頂点（代表頂点５４等）が関連づけられる。上まぶた５２の頂点の位置はジョイント６０の状態（回転角度）に応じて変化する。すなわち、上まぶた５２の頂点はジョイント６０に従動する。図１４は、キャラクタオブジェクト４６の上まぶた５２と、ジョイント６０と、の関係を説明するための図である。キャラクタオブジェクト４６の目５０が完全に開いた状態（図１１参照）において、ジョイント６０がＸ軸を回転軸としてＡ方向（図１３参照）に所定角度θｃ（例えば３０°）回転すると、キャラクタオブジェクト４６の上まぶた５２が下まぶた５６まで移動する。例えば、上まぶた５２の代表頂点５４（所定頂点）が基本位置（第１位置）から下まぶた５６の代表頂点５８の位置（第２位置）まで移動する。こうして、キャラクタオブジェクト４６の目５０は完全に閉じた状態（図１２参照）になる。一方、キャラクタオブジェクト４６の目５０が完全に閉じた状態（図１２参照）において、ジョイント６０がＸ軸を回転軸としてＡ方向（図１３参照）とは逆方向に所定角度θｃ（例えば３０°）回転すると、キャラクタオブジェクト４６の上まぶた５２は基本位置に戻る。すなわち、キャラクタオブジェクト４６の目５０が完全に開いた状態（図１１参照）に戻る。
【０００７】
また、上記のようなゲーム装置では、モーションデータによってジョイント及びボーンが制御される。モーションデータは、キャラクタオブジェクト４６の姿勢や顔の表情を変化させる際のジョイント及びボーンの状態変化を定義したデータである。例えば、キャラクタオブジェクト４６の目５０を閉じる際のモーションデータは、ジョイント６０の回転角度の所定時間（例えば１／６０秒）ごとの変化を定義したデータである。このモーションデータは、例えば、ジョイント６０を、Ｘ軸を回転軸としてＡ方向に、ジョイント６０の回転角度が所定角度θｃ（例えば３０°）になるまで徐々に回転させることを示すデータである。このモーションデータに従ってジョイント６０が回転することによって、キャラクタオブジェクト４６が目５０を閉じる様子がゲーム画面に表される。
【０００８】
また、上記のようなゲーム装置は、いわゆるキャラクタ変形機能、すなわち、プレイヤがキャラクタオブジェクト４６のモデル形状を変えることができる機能を備える場合がある。例えば、プレイヤがキャラクタオブジェクト４６の目５０の大きさ（細さ）を変えることができるようになっている場合がある。
【０００９】
【特許文献１】特開２００７−０８２６７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記のようなキャラクタ変形機能によって、キャラクタオブジェクト４６のモデル形状がプレイヤによって変更された場合、キャラクタオブジェクト４６の姿勢や顔の表情の変化が不自然になってしまう場合がある。
【００１１】
例えばキャラクタオブジェクト４６の目５０の細さ（目５０の縦方向の長さ）が変わる場合、キャラクタオブジェクト４６の目５０が完全に開いた状態から完全に閉じた状態へ変化するために必要なジョイント６０の回転角度も変わってしまう。ここで、キャラクタオブジェクト４６の目５０が初期形状（プレイヤによって変形される前の形状）である場合の、キャラクタオブジェクト４６の目５０が完全に開いた状態から完全に閉じた状態へ変化するために必要なジョイント６０の回転角度が３０°であると仮定する。例えば、キャラクタオブジェクト４６の目５０が初期形状よりも細く変形されたときには、Ｘ軸を回転軸としてＡ方向にジョイント６０を３０°回転させてしまうと、上まぶた５２が下まぶた５６を貫通してしまう場合がある。また例えば、キャラクタオブジェクト４６の目５０が初期形状よりも大きく設定されたときには、Ｘ軸を回転軸としてジョイント６０を３０°回転させただけでは、キャラクタオブジェクト４６の目５０が完全に閉じた状態にならない場合がある。いずれの場合にも、キャラクタオブジェクト４６の目５０が閉じる様子が不自然であるとの印象をプレイヤに感じさせてしまうおそれがある。
【００１２】
上記のような不都合を軽減するための方法としては、キャラクタオブジェクト４６の目５０を閉じる際に用いられるモーションデータを目５０の細さに応じて複数種類用意しておく方法が考えられる。しかしながら、その場合、モーションデータのデータ量が増大し、モーションデータ作成に関する作業量も増大してしまう。
【００１３】
本発明は上記課題に鑑みてなされたものであって、その目的は、キャラクタ変形機能を備えるゲーム装置において、キャラクタオブジェクトの姿勢や顔の表情の変化が不自然にならないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現することが可能になるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明に係るゲーム装置は、仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置において、前記第１位置又は前記第２位置の少なくとも一方を変更するようにプレイヤに案内する案内手段と、前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第１位置から前記第２位置まで変化するように補正する補正手段と、を含むことを特徴とする。
【００１５】
また、本発明に係るゲーム装置の制御方法は、仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置の制御方法において、前記第１位置又は前記第２位置の少なくとも一方を変更するようにプレイヤに案内する案内ステップと、前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第１位置から前記第２位置まで変化するように補正する補正ステップと、を含むことを特徴とする。
【００１６】
また、本発明に係るプログラムは、仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、前記第１位置又は前記第２位置の少なくとも一方を変更するようにプレイヤに案内する案内手段、及び、前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第１位置から前記第２位置まで変化するように補正する補正手段、として前記コンピュータを機能させるためのプログラムである。
【００１７】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【００１８】
本発明は、仮想３次元空間に配置されたキャラクタオブジェクトに設定されるスケルトン（ジョイント又はボーン）が回転することによって、キャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するゲーム装置に関するものである。本発明では、第１位置又は第２位置の少なくとも一方を変更するようにプレイヤに案内される。そして本発明では、第１位置又は第２位置の少なくとも一方がプレイヤによって変更された場合、スケルトンの位置が、スケルトンが所定角度回転した場合にキャラクタオブジェクトの所定頂点の位置が第１位置から第２位置まで変化するように補正される。本発明によれば、キャラクタ変形機能を備えるゲーム装置において、キャラクタオブジェクトの姿勢や顔の表情の変化が不自然にならないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現することが可能になる。
【００１９】
また、本発明の一態様では、前記補正手段は、前記第１位置又は前記第２位置の少なくとも一方に関する条件と、前記スケルトンの位置の補正の基礎となる補正情報と、を対応づけてなる位置補正データを記憶する手段を含み、前記第１位置又は前記第２位置の少なくとも一方が前記プレイヤによって変更された場合、前記第１位置又は前記第２位置の少なくとも一方によって満足される前記条件に対応する前記補正情報に基づいて、前記スケルトンの位置を補正するようにしてもよい。
【００２０】
また、本発明の一態様では、前記条件は、前記第１位置と前記第２位置との間の距離に関する条件であってもよい。
【００２１】
また、本発明の一態様では、前記補正情報は、所定方向への前記スケルトンの移動距離を示す情報であってもよい。また、前記補正手段は、前記スケルトンを、前記第１位置又は前記第２位置の少なくとも一方によって満足される前記条件に対応する前記補正情報が示す移動距離だけ、前記所定方向に移動するようにしてもよい。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００２３】
図１は、本発明の実施形態に係るゲーム装置の全体構成を示す図である。図１に示すゲーム装置１０は、家庭用ゲーム機１１、モニタ３２、スピーカ３４、光ディスク３６を含んでいる。モニタ３２及びスピーカ３４は家庭用ゲーム機１１に接続される。モニタ３２としては例えば家庭用テレビ受像機が用いられる。スピーカ３４としては例えば家庭用テレビ受像機に内蔵されたスピーカが用いられる。光ディスク３６は情報記憶媒体であり、家庭用ゲーム機１１に装着される。
【００２４】
家庭用ゲーム機１１は公知のコンピュータゲームシステムである。家庭用ゲーム機１１は、バス１２、マイクロプロセッサ１４、主記憶１６、画像処理部１８、入出力処理部２０、音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８及びコントローラ３０を含んでいる。コントローラ３０以外の構成要素は家庭用ゲーム機１１の筐体内に収容される。
【００２５】
バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。マイクロプロセッサ１４、主記憶１６、画像処理部１８及び入出力処理部２０は、バス１２によって相互データ通信可能に接続される。
【００２６】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステム、光ディスク３６又はハードディスク２６から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機１１の各部を制御する。主記憶１６は例えばＲＡＭを含んでいる。主記憶１６には、光ディスク３６又はハードディスク２６から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶１６はマイクロプロセッサ１４の作業用メモリとしても用いられる。
【００２７】
画像処理部１８はＶＲＡＭを含んでいる。画像処理部１８は、マイクロプロセッサ１４から送られる画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。そして、画像処理部１８は、そのゲーム画面をビデオ信号に変換して所定のタイミングでモニタ３２に出力する。
【００２８】
入出力処理部２０は、マイクロプロセッサ１４が音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８及びコントローラ３０にアクセスするためのインタフェースである。入出力処理部２０には、音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８及びコントローラ３０が接続される。
【００２９】
音声処理部２２はサウンドバッファを含んでいる。サウンドバッファには、光ディスク３６又はハードディスク２６から読み出されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データが記憶される。音声処理部２２は、サウンドバッファに記憶された各種音声データを再生してスピーカ３４から出力する。
【００３０】
光ディスク読み取り部２４はマイクロプロセッサ１４からの指示に従って光ディスク３６に記録されたプログラムやデータを読み取る。なお、ここではプログラムやデータを家庭用ゲーム機１１に供給するために光ディスク３６を用いることとするが、ＲＯＭカード等、他のあらゆる情報記憶媒体を用いて、プログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。また、例えばインターネット等の通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。
【００３１】
ハードディスク２６は一般的なハードディスク装置（補助記憶装置）である。ハードディスク２６にはプログラムやデータが記憶される。例えば、セーブデータ等がハードディスク２６に記憶される。通信インタフェース２８は、インターネット等の通信ネットワークに家庭用ゲーム機１１を有線又は無線接続するためのインタフェースである。
【００３２】
コントローラ３０は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部２０は一定周期毎（例えば１／６０秒ごと）にコントローラ３０の各部の状態をスキャンする。そして、入出力処理部２０はそのスキャン結果を表す操作信号をバス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４はその操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機１１には複数のコントローラ３０を接続することが可能である。マイクロプロセッサ１４は各コントローラ３０から入力される操作信号に基づいてゲーム制御を実行する。
【００３３】
上記の構成を備えるゲーム装置１０では、光ディスク３６又はハードディスク２６から読み出されたゲームプログラムが実行されることによって、例えばサッカーゲームが実現される。
【００３４】
ゲーム装置１０の主記憶１６には仮想３次元空間が構築される。図２は仮想３次元空間４０の一例を示している。図２に示すように、仮想３次元空間４０にはサッカーの試合会場が形成される。すなわち、仮想３次元空間４０には、サッカーのフィールドを表すフィールドオブジェクト４２が配置される。フィールドオブジェクト４２上には、ゴールを表すゴールオブジェクト４４と、サッカー選手を表すキャラクタオブジェクト４６と、サッカーボールを表すボールオブジェクト４８と、が配置される。なお、図２では省略されているが、仮想３次元空間４０には２２体のキャラクタオブジェクト４６が配置される。また図２ではキャラクタオブジェクト４６が簡略化されている。なお、キャラクタオブジェクト４６は例えば図１０に示すような外観を有する。また、キャラクタオブジェクト４６は、例えば図１３に示すように、複数のポリゴンを含んで構成され、複数のスケルトンが設定される。スケルトンは、関節部分に相当するジョイントと、ジョイント間を接続するボーンと、を含んで構成される。キャラクタオブジェクト４６には、例えば図１３に示したジョイント６０等が設定される。
【００３５】
仮想３次元空間４０には仮想カメラ４９が配置される。この仮想カメラ４９から仮想３次元空間４０を見た様子を表すゲーム画面がモニタ３２に表示される。プレイヤはゲーム画面を見ながら、コントローラ３０を用いて操作対象のキャラクタオブジェクト４６を操作する。
【００３６】
上記サッカーゲームはキャラクタ変形機能を備えている。図３はキャラクタ変形画面の一例を示している。図３に示すキャラクタ変形画面７０は、マイクロプロセッサ１４（案内手段）が光ディスク３６又はハードディスク２６に記憶されるプログラムを実行することによって表示される。キャラクタ変形画面７０は、キャラクタオブジェクト４６の目５０の大きさ（細さ）を変えるようにプレイヤに案内する画面である。すなわち、キャラクタ変形画面７０は、キャラクタオブジェクト４６の目５０の頂点（上まぶた５２の代表頂点５４、下まぶた５６の代表頂点５８を含む）の位置を変えるようにプレイヤに案内する画面である。なお以下では、プレイヤによって変形される前のキャラクタオブジェクト４６の形状、すなわち、ゲーム開発者（デザイナ）によって作成されたキャラクタオブジェクト４６の目５０の元々の形状のことを「初期形状」と記載する。
【００３７】
キャラクタ変形画面７０には変形結果表示領域７２と変形パラメータ表示欄７４とが含まれている。変形結果表示領域７２にはキャラクタオブジェクト４６の変形結果が表示される。変形パラメータ表示欄７４には、キャラクタオブジェクト４６の変形の程度を示す変形パラメータの値が表示される。本実施の形態の場合、変形パラメータの値は、キャラクタオブジェクト４６の目５０をどの程度大きく又は細くするのかを示す。
【００３８】
変形パラメータの値が０より小さい場合、キャラクタオブジェクト４６の目５０は初期形状よりも細くなる。一方、変形パラメータの値が０より大きい場合、キャラクタオブジェクト４６の目５０は初期形状よりも大きくなる。変形パラメータの値が小さくなる程、キャラクタオブジェクト４６の目５０は細くなり、変形パラメータの値が大きくなる程、キャラクタオブジェクト４６の目５０は大きくなる。なお、変形パラメータの値が０である場合、キャラクタオブジェクト４６の目５０は初期形状になる。
【００３９】
例えば、プレイヤがコントローラ３０の上方向指示ボタンを押下するごとに、変形パラメータ表示欄７４に表示される変形パラメータの値は１増加する。また例えば、プレイヤがコントローラ３０の下方向指示ボタンを押下するごとに、変形パラメータ表示欄７４に表示される変形パラメータ値は１減少する。
【００４０】
変形パラメータの値が増加又は減少されると、変形結果表示領域７２に表示されるキャラクタオブジェクト４６の画像が更新される。そのとき、キャラクタオブジェクト４６の目５０の大きさ（細さ）が下記に説明するようにして更新される。
【００４１】
図４は、キャラクタオブジェクト４６の目５０の大きさ（細さ）の更新について説明するための図である。図４は、変形パラメータが０より小さい場合について示している。図４において、符号５２ａは、キャラクタオブジェクト４６の目５０が初期形状である場合の上まぶた５２を示しており、符号５４ａは、キャラクタオブジェクト４６の目５０が初期形状である場合の代表頂点５４の位置（初期位置）を示している。同様に、符号５６ａは、キャラクタオブジェクト４６の目５０が初期形状である場合の下まぶた５６を示しており、符号５８ａは、キャラクタオブジェクト４６の目５０が初期形状である場合の代表頂点５８の位置（初期位置）を示している。
【００４２】
変形パラメータｐが０より小さい場合、図４に示すように、上まぶた５２の代表頂点５４の位置が、代表頂点５４の初期位置５４ａから下方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新される。なお、｜ｐ｜は変形パラメータｐの絶対値を示している。また、ΔＨは定数である。このとき、上まぶた５２の他の頂点の位置も代表頂点５４の位置に合わせて更新される。また、下まぶた５６の代表頂点５８の位置が、代表頂点５８の初期位置５８ａから上方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新される。このとき、下まぶた５６の他の頂点の位置も代表頂点５８の位置に合わせて更新される。その結果、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４と下まぶた５６の代表頂点５８との間の長さＨが、キャラクタオブジェクト４６の目５０が初期形状である場合の長さＨ０と比較して、（２＊｜ｐ｜＊ΔＨ）だけ短くなる。すなわち、キャラクタオブジェクト４６の目５０の縦方向の長さが短くなり、キャラクタオブジェクト４６の目５０が細くなる。
【００４３】
一方、変形パラメータｐが０より大きい場合、上まぶた５２の代表頂点５４の位置が、代表頂点５４の初期位置５４ａから上方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新される。このとき、上まぶた５２の他の頂点の位置も代表頂点５４の位置に合わせて更新される。また、下まぶた５６の代表頂点５８の位置が、代表頂点５８の初期位置５８ａから下方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新される。このとき、下まぶた５６の他の頂点の位置も代表頂点５８の位置に合わせて更新される。その結果、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４と下まぶた５６の代表頂点５８との間の長さＨが、キャラクタオブジェクト４６の目５０が初期形状である場合の長さＨ０と比較して、（２＊｜ｐ｜＊ΔＨ）だけ長くなる。すなわち、キャラクタオブジェクト４６の目５０の縦方向の長さが長くなる。
【００４４】
キャラクタ変形画面において、プレイヤがコントローラ３０の決定ボタンを押下すると、変形結果を示すデータがハードディスク２６に記憶される。例えば、プレイヤによって設定された変形パラメータの値がハードディスク２６に記憶される。また、プレイヤによる変形後のキャラクタオブジェクト４６の頂点データもハードディスク２６に記憶される。以降、ゲーム画面を生成する際には、ハードディスク２６に記憶された、変形後のキャラクタオブジェクト４６の頂点データが用いられる。そして、プレイヤによって変形されたキャラクタオブジェクト４６がゲーム画面が表示される。
【００４５】
以下、上記のゲーム装置１０において、キャラクタオブジェクト４６の目５０の大きさ（細さ）が変えられた場合であっても、キャラクタオブジェクト４６が目５０を閉じる様子が不自然に表されないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現するための技術について説明する。
【００４６】
まず、ゲーム装置１０（光ディスク３６又はハードディスク２６）に記憶されるデータについて説明する。ゲーム装置１０には、キャラクタオブジェクト４６の目５０を閉じるためのモーションデータと、ジョイント６０の位置補正データと、が記憶される。
【００４７】
キャラクタオブジェクト４６の目５０を閉じるためのモーションデータは、キャラクタオブジェクト４６が目５０を閉じる際のジョイント６０の回転角度（Ｘ軸を回転軸とするＡ方向への回転角度）の所定時間（例えば１／６０秒）ごとの変化を定義したデータである。本実施の形態では、キャラクタオブジェクト４６の目５０を閉じるためのモーションデータが一種類記憶されている。また、そのモーションデータは、ジョイント６０をＸ軸を回転軸としてＡ方向に、ジョイント６０の回転角度が所定角度θｃ（例えば３０°）になるまで徐々に回転させることを示すデータになっている。
【００４８】
図５はジョイント６０の位置補正データの一例を示している。図５に示すように、ジョイント６０の位置補正データは、変形パラメータｐと、位置補正パラメータΔｌ（補正情報）と、を対応づけたデータである。位置補正パラメータΔｌは、ジョイント６０の位置をＺ軸正方向又は負方向にどれだけ補正するかを示すパラメータである。
【００４９】
上述したように、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４及び下まぶた５６の代表頂点５８の基本位置（第１位置及び第２位置）は、変形パラメータｐの値に基づいて決定されるため、図５に示す位置補正データは、上まぶた５２の代表頂点５４及び下まぶた５６の代表頂点５８の基本位置に関する条件と、位置補正パラメータΔｌと、を対応づけたデータということができる。また上述したように、例えば変形パラメータｐの値が０より小さい場合には、図４に示したように、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４及び下まぶた５６の代表頂点５８との間の距離Ｈは（Ｈ０−２＊｜ｐ｜＊ΔＨ）になる。また例えば変形パラメータｐの値が０より大きい場合には、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４及び下まぶた５６の代表頂点５８との間の距離Ｈは（Ｈ０＋２＊｜ｐ｜＊ΔＨ）になる。このため、図５に示す位置補正データは、上まぶた５２の代表頂点５４と下まぶた５６の代表頂点５８との間の距離に関する条件と、位置補正パラメータΔｌと、を対応づけたデータともいうことができる。
【００５０】
ここで、変形パラメータｐの値に対応する位置補正パラメータΔｌの値の決定方法について説明する。図６は、変形パラメータｐが０より小さい場合の位置補正パラメータΔｌの値の決定方法について示している。図７は、変形パラメータｐが０より大きい場合の位置補正パラメータΔｌの値の決定方法について示している。なお、図４と同様、符号５４ａは、キャラクタオブジェクト４６の目５０が初期形状である場合の上まぶた５２の代表頂点５４の位置（初期位置）を示しており、符号５８ａは、キャラクタオブジェクト４６の目５０が初期形状である場合の下まぶた５６の代表位置５８の位置（初期位置）を示している。また、符号６０ａはジョイント６０の初期位置を示している。ここで、ジョイント６０の初期位置とは、ジョイント６０の位置が補正される前のジョイント６０の位置である。すなわち、ジョイント６０の初期位置とは、ゲーム開発者（デザイナ）によって設定された、ジョイント６０の元々の位置である。
【００５１】
変形パラメータｐの値に対応する位置補正パラメータΔｌの値を決定する場合には、まず、上まぶた５２の代表頂点５４の変形後位置５４ｂと、下まぶた５６の代表頂点５８の変形後位置５８ｂと、が取得される。変形パラメータｐが０より小さい場合、上まぶた５２の代表頂点５４の変形後位置５４ｂは、代表頂点５４の初期位置５４ａから、下方向（Ｙ軸負方向）に、（｜ｐ｜＊ΔＨ）だけ移動した位置である。また、下まぶた５６の代表頂点５８の変形後位置５８ｂは、代表頂点５８の初期位置５８ａから、上方向（Ｙ軸正方向）に、（｜ｐ｜＊ΔＨ）だけ移動した位置である。一方、変形パラメータｐが０より大きい場合、上まぶた５２の代表頂点５４の変形後位置５４ｂは、代表頂点５４の初期位置５４ａから、上方向（Ｙ軸正方向）に、（｜ｐ｜＊ΔＨ）だけ移動した位置である。また、下まぶた５６の代表頂点５８の変形後位置５８ｂは、代表頂点５８の初期位置５８ａから、下方向（Ｙ軸負方向）に、（｜ｐ｜＊ΔＨ）だけ移動した位置である。
【００５２】
上まぶた５２の代表頂点５４の変形後位置５４ｂと、下まぶた５６の代表頂点５８の変形後位置５８ｂと、が取得されたら、次に、下記のような条件を満足するジョイント６０の位置が補正目標位置６０ｂとして取得される。すなわち、ジョイント６０がＸ軸を回転軸としてＡ方向に所定角度θｃ（例えば３０°）回転することによって、上まぶた５２の代表頂点５４が、代表頂点５４の変形後位置５４ｂから代表頂点５８の変形後位置５８ｂまでちょうど移動することになるような、ジョイント６０の位置が補正目標位置６０ｂとして取得される。本実施の形態の場合、ジョイント６０の補正目標位置６０ｂは、ジョイント６０を初期位置６０ａからＺ軸正方向又は負方向に移動することによって取得される。
【００５３】
ジョイント６０の補正目標位置６０ｂが取得されたら、次に、ジョイント６０の補正目標位置６０ｂと、ジョイント６０の初期位置６０ａと、の差が位置補正パラメータΔｌとして取得される。なお、ジョイント６０の補正目標位置６０ｂがジョイント６０の初期位置６０ａよりもＺ軸正方向側にある場合、位置補正パラメータΔｌは正の値になり、ジョイント６０の補正目標位置６０ｂがジョイント６０の初期位置６０ａよりもＺ軸負方向側にある場合、位置補正パラメータΔｌは負の値になる。
【００５４】
上記のようにして、変形パラメータｐの値に対応する位置補正パラメータΔｌの値が決定され、ジョイント６０の位置補正データが生成される。なお、ジョイント６０の位置補正データはテーブル形式のデータであってもよいし、数式形式のデータであってもよい。また、ジョイント６０の位置補正データはテーブル形式のデータと数式形式のデータとを組み合わせた形式のデータであってもよい。
【００５５】
次に、ゲーム装置１０で実行される処理について説明する。図８は、キャラクタ変形画面７０で決定ボタンが押下された場合に実行される処理を示すフロー図である。マイクロプロセッサ１４は光ディスク３６又はハードディスク２６に記憶されるプログラムに従って、図８に示す処理を実行する。
【００５６】
図８に示すように、マイクロプロセッサ１４は、プレイヤがキャラクタ変形画面７０で入力した変形パラメータの値を取得する（Ｓ１０１）。このとき、マイクロプロセッサ１４は、プレイヤが入力した変形パラメータの値をハードディスク２６に記憶させる。
【００５７】
その後、マイクロプロセッサ１４は、Ｓ１０１で取得された変形パラメータの値に基づいて、キャラクタオブジェクト４６の目５０の各頂点の位置を変更する（Ｓ１０２）。すなわち、マイクロプロセッサ１４は、Ｓ１０１で取得された変形パラメータの値に基づいて、キャラクタオブジェクト４６の目５０を変形する。
【００５８】
例えば、変形パラメータｐが０より小さい場合、マイクロプロセッサ１４は、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４の位置を、代表頂点５４の初期位置５４ａから下方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新する（図４参照）。また、マイクロプロセッサ１４は、上まぶた５２の他の頂点の位置も代表頂点５４の位置に合わせて更新する（図４参照）。また、マイクロプロセッサ１４は、キャラクタオブジェクト４６の下まぶた５６の代表頂点５８の位置を、代表頂点５８の初期位置５８ａから上方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新する（図４参照）。また、マイクロプロセッサ１４は、下まぶた５６の他の頂点の位置も代表頂点５８の位置に合わせて更新する（図４参照）。
【００５９】
また例えば、変形パラメータｐが０より大きい場合、マイクロプロセッサ１４は、キャラクタオブジェクト４６の上まぶた５２の代表頂点５４の位置を、代表頂点５４の初期位置５４ａから上方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新する。また、マイクロプロセッサ１４は、上まぶた５２の他の頂点の位置も代表頂点５４の位置に合わせて更新する。また、マイクロプロセッサ１４は、キャラクタオブジェクト４６の下まぶた５６の代表頂点５８の位置を、代表頂点５８の初期位置５８ａから下方向に（｜ｐ｜＊ΔＨ）だけ移動した位置に更新する。また、マイクロプロセッサ１４は、下まぶた５６の他の頂点の位置も代表頂点５８の位置に合わせて更新する。
【００６０】
マイクロプロセッサ１４は変形後のキャラクタオブジェクト４６の頂点データをハードディスク２６に記憶させる。
【００６１】
また、マイクロプロセッサ１４（補正手段）は、Ｓ１０１で取得された変形パラメータの値に対応する位置補正パラメータの値を、ジョイント６０の位置補正データ（図５参照）に基づいて取得する（Ｓ１０３）。その後、マイクロプロセッサ１４（補正手段）は、Ｓ１０３で取得された位置補正パラメータに基づいて、ジョイント６０の位置を補正する（Ｓ１０４）。具体的には、マイクロプロセッサ１４は、Ｓ１０３で取得された位置補正パラメータの値をジョイント６０の初期位置（Ｚ軸座標値）に加算することによって、ジョイント６０の補正位置を取得する。この場合、ジョイント６０の位置は、ジョイント６０が所定角度θｃ（例えば３０°）回転した場合にキャラクタオブジェクト４６の上まぶた５２の代表頂点５４が基本位置（第１位置）から下まぶた５６の代表頂点５８の位置（第２位置）まで移動するように補正される。マイクロプロセッサ１４はジョイント６０の補正位置データをハードディスク２６に記憶させる。
【００６２】
ジョイント６０の位置の補正が完了したら、本処理は終了する。以降、キャラクタオブジェクト４６が登場するゲーム画面は、ハードディスク２６に記憶された、キャラクタオブジェクト４６の頂点データに基づいて生成される。その結果として、プレイヤによって目５０の大きさ（細さ）が変更されたキャラクタオブジェクト４６がゲーム画面に表示される。
【００６３】
ゲーム装置１０では、キャラクタオブジェクト４６の目５０の大きさ（細さ）がプレイヤによって変更された場合、目５０の開閉を制御するためのジョイント６０の位置が補正される。ジョイント６０の位置の補正は図５に示す位置補正データに基づいて行われる。その結果、キャラクタオブジェクト４６の目５０の大きさ（細さ）が変えられた場合であっても、モーションデータ（キャラクタオブジェクト４６の目５０を閉じるためのモーションデータ）が再生された場合、すなわち、ジョイント６０がＸ軸を回転軸としてＡ方向に所定角度θｃ（例えば３０°）回転した場合には、上まぶた５２が下まぶた５６まで移動するようになる。例えば、上まぶた５２の代表頂点５４（所定頂点）は基本位置（第１位置）から下まぶた５６の代表頂点５８の位置（第２位置）まで移動する。例えば、キャラクタオブジェクト４６の目５０が初期形状よりも細く変形された場合に、ジョイント６０が所定角度θｃ（例えば３０°）回転したときであっても、上まぶた５２が下まぶた５６を貫通しないようになる。また例えば、キャラクタオブジェクト４６の目５０が初期形状よりも大きく設定された場合に、ジョイント６０が所定角度θｃ（例えば３０°）回転したときであっても、キャラクタオブジェクト４６の目５０が完全に閉じた状態になるようになる。つまり、モーションデータが再生された場合には常に目５０が完全に開いた状態から完全に閉じた状態に好適に変化するようになる。
【００６４】
以上のように、ゲーム装置１０によれば、キャラクタオブジェクト４６の目５０の大きさ（細さ）が変えられた場合でも、キャラクタオブジェクト４６が目５０を閉じる様子が不自然に表されないように図ることが可能になる。
【００６５】
また、ゲーム装置１０によれば、キャラクタオブジェクト４６の目５０の大きさ（細さ）に応じてモーションデータを複数種類用意しておく必要がない。すなわち、モーションデータに係るデータ量及び作業量の増大が抑制される。
【００６６】
本発明は以上に説明した実施の形態に限定されるものではない。
【００６７】
例えば、本発明は、キャラクタオブジェクト４６の目５０の大きさ（細さ）が変えられた場合でも、キャラクタオブジェクト４６が目５０を閉じる様子が不自然に表されないように図る場合以外にも適用することができる。例えば、キャラクタオブジェクト４６の口の大きさが変えられた場合でも、キャラクタオブジェクト４６が口を閉じる様子が不自然に表されないように図る場合にも適用することができる。
【００６８】
また例えば、本発明はサッカーゲーム以外のゲームにおいても用いることができる。
【００６９】
また例えば、以上の説明では、プログラムを情報記憶媒体たる光ディスク３６から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図９は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図９に基づいて本発明に係るプログラム配信方法を説明する。図９に示すように、このプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークを含んでいる。このシステムでは、ゲームデータベース（情報記憶媒体）１０２に、光ディスク３６の記憶内容と同様のプログラムが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からプログラムを読み出し、それをパソコン１０８、家庭用ゲーム機１１０、ＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信（一括配信）する必要はなく、ゲームの局面に応じて必要な部分を配信（分割配信）するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【００７０】
【図１】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】仮想３次元空間の一例を示す図である。
【図３】キャラクタ変形画面の一例を示す図である。
【図４】キャラクタオブジェクトの目の変形について説明するための図である。
【図５】ジョイントの位置補正データの補正位置の一例を示す図である。
【図６】位置補正パラメータの値の決定方法について説明するための図である。
【図７】位置補正パラメータの値の決定方法について説明するための図である。
【図８】ゲーム装置で実行される処理を示すフロー図である。
【図９】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【図１０】キャラクタオブジェクトの外観の一例を示す図である。
【図１１】キャラクタオブジェクトの目の状態の一例を示す図である。
【図１２】キャラクタオブジェクトの目の状態の一例を示す図である。
【図１３】キャラクタオブジェクトに設定されるスケルトンの一例を示す図である。
【図１４】キャラクタオブジェクトの上まぶたとジョイントと関係を説明するための図である。
【符号の説明】
【００７１】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  主記憶、１８  画像処理部、２０  入出力処理部、２２  音声処理部、２４  光ディスク読み取り部、２６  ハードディスク、２８  通信インタフェース、３０  コントローラ、３２  モニタ、３４  スピーカ、３６  光ディスク、４０  仮想３次元空間、４２  フィールドオブジェクト、４４  ゴールオブジェクト、４６  キャラクタオブジェクト、４６ａ  頭部、４８  ボールオブジェクト、４９  仮想カメラ、５０  目、５２  上まぶた、５４  上まぶたの代表頂点、５４ａ  上まぶたの代表頂点の初期位置、５４ｂ  上まぶたの代表頂点の変形後位置、５６  下まぶた、５８  下まぶたの代表頂点、５８ａ  下まぶたの代表頂点の初期位置、５８ｂ  下まぶたの代表頂点の変形後位置、６０  ジョイント、６０ａ  ジョイントの初期位置、６０ｂ  ジョイントの補正位置、７０  キャラクタ変形画面、７２  変形結果表示領域、７４  変形パラメータ表示欄、１００  プログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  携帯情報端末（ＰＤＡ）、１１４  プログラム配信装置。
【図１】
2008301987.tif 000003
【図２】
2008301987.tif 000004
【図３】
2008301987.tif 000005
【図４】
2008301987.tif 000006
【図５】
2008301987.tif 000007
【図６】
2008301987.tif 000008
【図７】
2008301987.tif 000009
【図８】
2008301987.tif 000010
【図９】
2008301987.tif 000011
【図１０】
2008301987.tif 000012
【図１１】
2008301987.tif 000013
【図１２】
2008301987.tif 000014
【図１３】
2008301987.tif 000015
【図１４】
2008301987.tif 000016