説明

ゲーム装置、ゲーム装置の制御方法及びプログラム

【課題】キャラクタ変形機能を備えるゲーム装置において、キャラクタオブジェクトの姿勢や顔の表情の変化が不自然にならないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現することが可能になるゲーム装置を提供すること。
【解決手段】本発明では、仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトン(ジョイント又はボーン)が回転することによって、キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化する。本発明では、第1位置又は第2位置の少なくとも一方を変更するようにプレイヤに案内される。また、第1位置又は第2位置の少なくとも一方がプレイヤによって変更された場合、スケルトンの位置が、スケルトンが所定角度回転した場合にキャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するように補正される(S103,S104)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
キャラクタオブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示するゲーム装置が知られている。例えば、サッカー選手を表すキャラクタオブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示することによって、サッカーゲームを実現するゲーム装置が知られている。
【0003】
このようなゲーム装置では、キャラクタオブジェクトの姿勢や顔の表情を変えるために、キャラクタオブジェクトに複数のスケルトンが設定される。スケルトンは、関節部分に相当するジョイントと、ジョイント間を接続するボーンと、を含んで構成される。各ジョイント及びボーンには、キャラクタオブジェクトを構成するポリゴンの頂点の少なくとも一部が関連づけられる。ジョイント及びボーンの状態(位置や回転角度)が変化した場合、そのジョイント及びボーンに関連づけられた頂点の位置がそのジョイント及びボーンの状態変化に基づいて変化する。すなわち、キャラクタオブジェクトの姿勢や顔の表情が変化する。
【0004】
図10はキャラクタオブジェクト46の頭部46aの一例を示している。図11及び図12はキャラクタオブジェクト46の目50の状態の一例を示している。図11は、キャラクタオブジェクト46の目50が完全に開いた状態を示している。図12は、キャラクタオブジェクト46の目50が完全に閉じた状態を示している。なお、符号52はキャラクタオブジェクト46の目50の上まぶたを指しており、符号56はキャラクタオブジェクト46の目50の下まぶたを指している。また、符号54は上まぶた52の頂点のうちの代表頂点を指しており、符号58は下まぶた56の頂点のうちの代表頂点を指している。
【0005】
図13は、複数のポリゴンを含んで構成されるキャラクタオブジェクト46に対して設定されるスケルトンの一例を示している。図13には、キャラクタオブジェクト46の目50の開閉を制御するためのジョイント60が表されている。なお、キャラクタオブジェクト46には、例えばキャラクタオブジェクト46の口の開閉を制御するためのジョイント及びボーン等も設定されるが、図13では省略されている。
【0006】
ジョイント60には、例えばキャラクタオブジェクト46の上まぶた52の頂点(代表頂点54等)が関連づけられる。上まぶた52の頂点の位置はジョイント60の状態(回転角度)に応じて変化する。すなわち、上まぶた52の頂点はジョイント60に従動する。図14は、キャラクタオブジェクト46の上まぶた52と、ジョイント60と、の関係を説明するための図である。キャラクタオブジェクト46の目50が完全に開いた状態(図11参照)において、ジョイント60がX軸を回転軸としてA方向(図13参照)に所定角度θc(例えば30°)回転すると、キャラクタオブジェクト46の上まぶた52が下まぶた56まで移動する。例えば、上まぶた52の代表頂点54(所定頂点)が基本位置(第1位置)から下まぶた56の代表頂点58の位置(第2位置)まで移動する。こうして、キャラクタオブジェクト46の目50は完全に閉じた状態(図12参照)になる。一方、キャラクタオブジェクト46の目50が完全に閉じた状態(図12参照)において、ジョイント60がX軸を回転軸としてA方向(図13参照)とは逆方向に所定角度θc(例えば30°)回転すると、キャラクタオブジェクト46の上まぶた52は基本位置に戻る。すなわち、キャラクタオブジェクト46の目50が完全に開いた状態(図11参照)に戻る。
【0007】
また、上記のようなゲーム装置では、モーションデータによってジョイント及びボーンが制御される。モーションデータは、キャラクタオブジェクト46の姿勢や顔の表情を変化させる際のジョイント及びボーンの状態変化を定義したデータである。例えば、キャラクタオブジェクト46の目50を閉じる際のモーションデータは、ジョイント60の回転角度の所定時間(例えば1/60秒)ごとの変化を定義したデータである。このモーションデータは、例えば、ジョイント60を、X軸を回転軸としてA方向に、ジョイント60の回転角度が所定角度θc(例えば30°)になるまで徐々に回転させることを示すデータである。このモーションデータに従ってジョイント60が回転することによって、キャラクタオブジェクト46が目50を閉じる様子がゲーム画面に表される。
【0008】
また、上記のようなゲーム装置は、いわゆるキャラクタ変形機能、すなわち、プレイヤがキャラクタオブジェクト46のモデル形状を変えることができる機能を備える場合がある。例えば、プレイヤがキャラクタオブジェクト46の目50の大きさ(細さ)を変えることができるようになっている場合がある。
【0009】
【特許文献1】特開2007−082677号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
上記のようなキャラクタ変形機能によって、キャラクタオブジェクト46のモデル形状がプレイヤによって変更された場合、キャラクタオブジェクト46の姿勢や顔の表情の変化が不自然になってしまう場合がある。
【0011】
例えばキャラクタオブジェクト46の目50の細さ(目50の縦方向の長さ)が変わる場合、キャラクタオブジェクト46の目50が完全に開いた状態から完全に閉じた状態へ変化するために必要なジョイント60の回転角度も変わってしまう。ここで、キャラクタオブジェクト46の目50が初期形状(プレイヤによって変形される前の形状)である場合の、キャラクタオブジェクト46の目50が完全に開いた状態から完全に閉じた状態へ変化するために必要なジョイント60の回転角度が30°であると仮定する。例えば、キャラクタオブジェクト46の目50が初期形状よりも細く変形されたときには、X軸を回転軸としてA方向にジョイント60を30°回転させてしまうと、上まぶた52が下まぶた56を貫通してしまう場合がある。また例えば、キャラクタオブジェクト46の目50が初期形状よりも大きく設定されたときには、X軸を回転軸としてジョイント60を30°回転させただけでは、キャラクタオブジェクト46の目50が完全に閉じた状態にならない場合がある。いずれの場合にも、キャラクタオブジェクト46の目50が閉じる様子が不自然であるとの印象をプレイヤに感じさせてしまうおそれがある。
【0012】
上記のような不都合を軽減するための方法としては、キャラクタオブジェクト46の目50を閉じる際に用いられるモーションデータを目50の細さに応じて複数種類用意しておく方法が考えられる。しかしながら、その場合、モーションデータのデータ量が増大し、モーションデータ作成に関する作業量も増大してしまう。
【0013】
本発明は上記課題に鑑みてなされたものであって、その目的は、キャラクタ変形機能を備えるゲーム装置において、キャラクタオブジェクトの姿勢や顔の表情の変化が不自然にならないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現することが可能になるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0014】
上記課題を解決するために、本発明に係るゲーム装置は、仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置において、前記第1位置又は前記第2位置の少なくとも一方を変更するようにプレイヤに案内する案内手段と、前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第1位置から前記第2位置まで変化するように補正する補正手段と、を含むことを特徴とする。
【0015】
また、本発明に係るゲーム装置の制御方法は、仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置の制御方法において、前記第1位置又は前記第2位置の少なくとも一方を変更するようにプレイヤに案内する案内ステップと、前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第1位置から前記第2位置まで変化するように補正する補正ステップと、を含むことを特徴とする。
【0016】
また、本発明に係るプログラムは、仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、前記第1位置又は前記第2位置の少なくとも一方を変更するようにプレイヤに案内する案内手段、及び、前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第1位置から前記第2位置まで変化するように補正する補正手段、として前記コンピュータを機能させるためのプログラムである。
【0017】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【0018】
本発明は、仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトン(ジョイント又はボーン)が回転することによって、キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置に関するものである。本発明では、第1位置又は第2位置の少なくとも一方を変更するようにプレイヤに案内される。そして本発明では、第1位置又は第2位置の少なくとも一方がプレイヤによって変更された場合、スケルトンの位置が、スケルトンが所定角度回転した場合にキャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するように補正される。本発明によれば、キャラクタ変形機能を備えるゲーム装置において、キャラクタオブジェクトの姿勢や顔の表情の変化が不自然にならないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現することが可能になる。
【0019】
また、本発明の一態様では、前記補正手段は、前記第1位置又は前記第2位置の少なくとも一方に関する条件と、前記スケルトンの位置の補正の基礎となる補正情報と、を対応づけてなる位置補正データを記憶する手段を含み、前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記第1位置又は前記第2位置の少なくとも一方によって満足される前記条件に対応する前記補正情報に基づいて、前記スケルトンの位置を補正するようにしてもよい。
【0020】
また、本発明の一態様では、前記条件は、前記第1位置と前記第2位置との間の距離に関する条件であってもよい。
【0021】
また、本発明の一態様では、前記補正情報は、所定方向への前記スケルトンの移動距離を示す情報であってもよい。また、前記補正手段は、前記スケルトンを、前記第1位置又は前記第2位置の少なくとも一方によって満足される前記条件に対応する前記補正情報が示す移動距離だけ、前記所定方向に移動するようにしてもよい。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0023】
図1は、本発明の実施形態に係るゲーム装置の全体構成を示す図である。図1に示すゲーム装置10は、家庭用ゲーム機11、モニタ32、スピーカ34、光ディスク36を含んでいる。モニタ32及びスピーカ34は家庭用ゲーム機11に接続される。モニタ32としては例えば家庭用テレビ受像機が用いられる。スピーカ34としては例えば家庭用テレビ受像機に内蔵されたスピーカが用いられる。光ディスク36は情報記憶媒体であり、家庭用ゲーム機11に装着される。
【0024】
家庭用ゲーム機11は公知のコンピュータゲームシステムである。家庭用ゲーム機11は、バス12、マイクロプロセッサ14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30を含んでいる。コントローラ30以外の構成要素は家庭用ゲーム機11の筐体内に収容される。
【0025】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、主記憶16、画像処理部18及び入出力処理部20は、バス12によって相互データ通信可能に接続される。
【0026】
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、光ディスク36又はハードディスク26から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機11の各部を制御する。主記憶16は例えばRAMを含んでいる。主記憶16には、光ディスク36又はハードディスク26から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶16はマイクロプロセッサ14の作業用メモリとしても用いられる。
【0027】
画像処理部18はVRAMを含んでいる。画像処理部18は、マイクロプロセッサ14から送られる画像データに基づいてVRAM上にゲーム画面を描画する。そして、画像処理部18は、そのゲーム画面をビデオ信号に変換して所定のタイミングでモニタ32に出力する。
【0028】
入出力処理部20は、マイクロプロセッサ14が音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30にアクセスするためのインタフェースである。入出力処理部20には、音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30が接続される。
【0029】
音声処理部22はサウンドバッファを含んでいる。サウンドバッファには、光ディスク36又はハードディスク26から読み出されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データが記憶される。音声処理部22は、サウンドバッファに記憶された各種音声データを再生してスピーカ34から出力する。
【0030】
光ディスク読み取り部24はマイクロプロセッサ14からの指示に従って光ディスク36に記録されたプログラムやデータを読み取る。なお、ここではプログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いることとするが、ROMカード等、他のあらゆる情報記憶媒体を用いて、プログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。また、例えばインターネット等の通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。
【0031】
ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。ハードディスク26にはプログラムやデータが記憶される。例えば、セーブデータ等がハードディスク26に記憶される。通信インタフェース28は、インターネット等の通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0032】
コントローラ30は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各部の状態をスキャンする。そして、入出力処理部20はそのスキャン結果を表す操作信号をバス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14はその操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11には複数のコントローラ30を接続することが可能である。マイクロプロセッサ14は各コントローラ30から入力される操作信号に基づいてゲーム制御を実行する。
【0033】
上記の構成を備えるゲーム装置10では、光ディスク36又はハードディスク26から読み出されたゲームプログラムが実行されることによって、例えばサッカーゲームが実現される。
【0034】
ゲーム装置10の主記憶16には仮想3次元空間が構築される。図2は仮想3次元空間40の一例を示している。図2に示すように、仮想3次元空間40にはサッカーの試合会場が形成される。すなわち、仮想3次元空間40には、サッカーのフィールドを表すフィールドオブジェクト42が配置される。フィールドオブジェクト42上には、ゴールを表すゴールオブジェクト44と、サッカー選手を表すキャラクタオブジェクト46と、サッカーボールを表すボールオブジェクト48と、が配置される。なお、図2では省略されているが、仮想3次元空間40には22体のキャラクタオブジェクト46が配置される。また図2ではキャラクタオブジェクト46が簡略化されている。なお、キャラクタオブジェクト46は例えば図10に示すような外観を有する。また、キャラクタオブジェクト46は、例えば図13に示すように、複数のポリゴンを含んで構成され、複数のスケルトンが設定される。スケルトンは、関節部分に相当するジョイントと、ジョイント間を接続するボーンと、を含んで構成される。キャラクタオブジェクト46には、例えば図13に示したジョイント60等が設定される。
【0035】
仮想3次元空間40には仮想カメラ49が配置される。この仮想カメラ49から仮想3次元空間40を見た様子を表すゲーム画面がモニタ32に表示される。プレイヤはゲーム画面を見ながら、コントローラ30を用いて操作対象のキャラクタオブジェクト46を操作する。
【0036】
上記サッカーゲームはキャラクタ変形機能を備えている。図3はキャラクタ変形画面の一例を示している。図3に示すキャラクタ変形画面70は、マイクロプロセッサ14(案内手段)が光ディスク36又はハードディスク26に記憶されるプログラムを実行することによって表示される。キャラクタ変形画面70は、キャラクタオブジェクト46の目50の大きさ(細さ)を変えるようにプレイヤに案内する画面である。すなわち、キャラクタ変形画面70は、キャラクタオブジェクト46の目50の頂点(上まぶた52の代表頂点54、下まぶた56の代表頂点58を含む)の位置を変えるようにプレイヤに案内する画面である。なお以下では、プレイヤによって変形される前のキャラクタオブジェクト46の形状、すなわち、ゲーム開発者(デザイナ)によって作成されたキャラクタオブジェクト46の目50の元々の形状のことを「初期形状」と記載する。
【0037】
キャラクタ変形画面70には変形結果表示領域72と変形パラメータ表示欄74とが含まれている。変形結果表示領域72にはキャラクタオブジェクト46の変形結果が表示される。変形パラメータ表示欄74には、キャラクタオブジェクト46の変形の程度を示す変形パラメータの値が表示される。本実施の形態の場合、変形パラメータの値は、キャラクタオブジェクト46の目50をどの程度大きく又は細くするのかを示す。
【0038】
変形パラメータの値が0より小さい場合、キャラクタオブジェクト46の目50は初期形状よりも細くなる。一方、変形パラメータの値が0より大きい場合、キャラクタオブジェクト46の目50は初期形状よりも大きくなる。変形パラメータの値が小さくなる程、キャラクタオブジェクト46の目50は細くなり、変形パラメータの値が大きくなる程、キャラクタオブジェクト46の目50は大きくなる。なお、変形パラメータの値が0である場合、キャラクタオブジェクト46の目50は初期形状になる。
【0039】
例えば、プレイヤがコントローラ30の上方向指示ボタンを押下するごとに、変形パラメータ表示欄74に表示される変形パラメータの値は1増加する。また例えば、プレイヤがコントローラ30の下方向指示ボタンを押下するごとに、変形パラメータ表示欄74に表示される変形パラメータ値は1減少する。
【0040】
変形パラメータの値が増加又は減少されると、変形結果表示領域72に表示されるキャラクタオブジェクト46の画像が更新される。そのとき、キャラクタオブジェクト46の目50の大きさ(細さ)が下記に説明するようにして更新される。
【0041】
図4は、キャラクタオブジェクト46の目50の大きさ(細さ)の更新について説明するための図である。図4は、変形パラメータが0より小さい場合について示している。図4において、符号52aは、キャラクタオブジェクト46の目50が初期形状である場合の上まぶた52を示しており、符号54aは、キャラクタオブジェクト46の目50が初期形状である場合の代表頂点54の位置(初期位置)を示している。同様に、符号56aは、キャラクタオブジェクト46の目50が初期形状である場合の下まぶた56を示しており、符号58aは、キャラクタオブジェクト46の目50が初期形状である場合の代表頂点58の位置(初期位置)を示している。
【0042】
変形パラメータpが0より小さい場合、図4に示すように、上まぶた52の代表頂点54の位置が、代表頂点54の初期位置54aから下方向に(|p|*ΔH)だけ移動した位置に更新される。なお、|p|は変形パラメータpの絶対値を示している。また、ΔHは定数である。このとき、上まぶた52の他の頂点の位置も代表頂点54の位置に合わせて更新される。また、下まぶた56の代表頂点58の位置が、代表頂点58の初期位置58aから上方向に(|p|*ΔH)だけ移動した位置に更新される。このとき、下まぶた56の他の頂点の位置も代表頂点58の位置に合わせて更新される。その結果、キャラクタオブジェクト46の上まぶた52の代表頂点54と下まぶた56の代表頂点58との間の長さHが、キャラクタオブジェクト46の目50が初期形状である場合の長さH0と比較して、(2*|p|*ΔH)だけ短くなる。すなわち、キャラクタオブジェクト46の目50の縦方向の長さが短くなり、キャラクタオブジェクト46の目50が細くなる。
【0043】
一方、変形パラメータpが0より大きい場合、上まぶた52の代表頂点54の位置が、代表頂点54の初期位置54aから上方向に(|p|*ΔH)だけ移動した位置に更新される。このとき、上まぶた52の他の頂点の位置も代表頂点54の位置に合わせて更新される。また、下まぶた56の代表頂点58の位置が、代表頂点58の初期位置58aから下方向に(|p|*ΔH)だけ移動した位置に更新される。このとき、下まぶた56の他の頂点の位置も代表頂点58の位置に合わせて更新される。その結果、キャラクタオブジェクト46の上まぶた52の代表頂点54と下まぶた56の代表頂点58との間の長さHが、キャラクタオブジェクト46の目50が初期形状である場合の長さH0と比較して、(2*|p|*ΔH)だけ長くなる。すなわち、キャラクタオブジェクト46の目50の縦方向の長さが長くなる。
【0044】
キャラクタ変形画面において、プレイヤがコントローラ30の決定ボタンを押下すると、変形結果を示すデータがハードディスク26に記憶される。例えば、プレイヤによって設定された変形パラメータの値がハードディスク26に記憶される。また、プレイヤによる変形後のキャラクタオブジェクト46の頂点データもハードディスク26に記憶される。以降、ゲーム画面を生成する際には、ハードディスク26に記憶された、変形後のキャラクタオブジェクト46の頂点データが用いられる。そして、プレイヤによって変形されたキャラクタオブジェクト46がゲーム画面が表示される。
【0045】
以下、上記のゲーム装置10において、キャラクタオブジェクト46の目50の大きさ(細さ)が変えられた場合であっても、キャラクタオブジェクト46が目50を閉じる様子が不自然に表されないように図ることを、モーションデータに係るデータ量及び作業量の増大を抑制しつつ実現するための技術について説明する。
【0046】
まず、ゲーム装置10(光ディスク36又はハードディスク26)に記憶されるデータについて説明する。ゲーム装置10には、キャラクタオブジェクト46の目50を閉じるためのモーションデータと、ジョイント60の位置補正データと、が記憶される。
【0047】
キャラクタオブジェクト46の目50を閉じるためのモーションデータは、キャラクタオブジェクト46が目50を閉じる際のジョイント60の回転角度(X軸を回転軸とするA方向への回転角度)の所定時間(例えば1/60秒)ごとの変化を定義したデータである。本実施の形態では、キャラクタオブジェクト46の目50を閉じるためのモーションデータが一種類記憶されている。また、そのモーションデータは、ジョイント60をX軸を回転軸としてA方向に、ジョイント60の回転角度が所定角度θc(例えば30°)になるまで徐々に回転させることを示すデータになっている。
【0048】
図5はジョイント60の位置補正データの一例を示している。図5に示すように、ジョイント60の位置補正データは、変形パラメータpと、位置補正パラメータΔl(補正情報)と、を対応づけたデータである。位置補正パラメータΔlは、ジョイント60の位置をZ軸正方向又は負方向にどれだけ補正するかを示すパラメータである。
【0049】
上述したように、キャラクタオブジェクト46の上まぶた52の代表頂点54及び下まぶた56の代表頂点58の基本位置(第1位置及び第2位置)は、変形パラメータpの値に基づいて決定されるため、図5に示す位置補正データは、上まぶた52の代表頂点54及び下まぶた56の代表頂点58の基本位置に関する条件と、位置補正パラメータΔlと、を対応づけたデータということができる。また上述したように、例えば変形パラメータpの値が0より小さい場合には、図4に示したように、キャラクタオブジェクト46の上まぶた52の代表頂点54及び下まぶた56の代表頂点58との間の距離Hは(H0−2*|p|*ΔH)になる。また例えば変形パラメータpの値が0より大きい場合には、キャラクタオブジェクト46の上まぶた52の代表頂点54及び下まぶた56の代表頂点58との間の距離Hは(H0+2*|p|*ΔH)になる。このため、図5に示す位置補正データは、上まぶた52の代表頂点54と下まぶた56の代表頂点58との間の距離に関する条件と、位置補正パラメータΔlと、を対応づけたデータともいうことができる。
【0050】
ここで、変形パラメータpの値に対応する位置補正パラメータΔlの値の決定方法について説明する。図6は、変形パラメータpが0より小さい場合の位置補正パラメータΔlの値の決定方法について示している。図7は、変形パラメータpが0より大きい場合の位置補正パラメータΔlの値の決定方法について示している。なお、図4と同様、符号54aは、キャラクタオブジェクト46の目50が初期形状である場合の上まぶた52の代表頂点54の位置(初期位置)を示しており、符号58aは、キャラクタオブジェクト46の目50が初期形状である場合の下まぶた56の代表位置58の位置(初期位置)を示している。また、符号60aはジョイント60の初期位置を示している。ここで、ジョイント60の初期位置とは、ジョイント60の位置が補正される前のジョイント60の位置である。すなわち、ジョイント60の初期位置とは、ゲーム開発者(デザイナ)によって設定された、ジョイント60の元々の位置である。
【0051】
変形パラメータpの値に対応する位置補正パラメータΔlの値を決定する場合には、まず、上まぶた52の代表頂点54の変形後位置54bと、下まぶた56の代表頂点58の変形後位置58bと、が取得される。変形パラメータpが0より小さい場合、上まぶた52の代表頂点54の変形後位置54bは、代表頂点54の初期位置54aから、下方向(Y軸負方向)に、(|p|*ΔH)だけ移動した位置である。また、下まぶた56の代表頂点58の変形後位置58bは、代表頂点58の初期位置58aから、上方向(Y軸正方向)に、(|p|*ΔH)だけ移動した位置である。一方、変形パラメータpが0より大きい場合、上まぶた52の代表頂点54の変形後位置54bは、代表頂点54の初期位置54aから、上方向(Y軸正方向)に、(|p|*ΔH)だけ移動した位置である。また、下まぶた56の代表頂点58の変形後位置58bは、代表頂点58の初期位置58aから、下方向(Y軸負方向)に、(|p|*ΔH)だけ移動した位置である。
【0052】
上まぶた52の代表頂点54の変形後位置54bと、下まぶた56の代表頂点58の変形後位置58bと、が取得されたら、次に、下記のような条件を満足するジョイント60の位置が補正目標位置60bとして取得される。すなわち、ジョイント60がX軸を回転軸としてA方向に所定角度θc(例えば30°)回転することによって、上まぶた52の代表頂点54が、代表頂点54の変形後位置54bから代表頂点58の変形後位置58bまでちょうど移動することになるような、ジョイント60の位置が補正目標位置60bとして取得される。本実施の形態の場合、ジョイント60の補正目標位置60bは、ジョイント60を初期位置60aからZ軸正方向又は負方向に移動することによって取得される。
【0053】
ジョイント60の補正目標位置60bが取得されたら、次に、ジョイント60の補正目標位置60bと、ジョイント60の初期位置60aと、の差が位置補正パラメータΔlとして取得される。なお、ジョイント60の補正目標位置60bがジョイント60の初期位置60aよりもZ軸正方向側にある場合、位置補正パラメータΔlは正の値になり、ジョイント60の補正目標位置60bがジョイント60の初期位置60aよりもZ軸負方向側にある場合、位置補正パラメータΔlは負の値になる。
【0054】
上記のようにして、変形パラメータpの値に対応する位置補正パラメータΔlの値が決定され、ジョイント60の位置補正データが生成される。なお、ジョイント60の位置補正データはテーブル形式のデータであってもよいし、数式形式のデータであってもよい。また、ジョイント60の位置補正データはテーブル形式のデータと数式形式のデータとを組み合わせた形式のデータであってもよい。
【0055】
次に、ゲーム装置10で実行される処理について説明する。図8は、キャラクタ変形画面70で決定ボタンが押下された場合に実行される処理を示すフロー図である。マイクロプロセッサ14は光ディスク36又はハードディスク26に記憶されるプログラムに従って、図8に示す処理を実行する。
【0056】
図8に示すように、マイクロプロセッサ14は、プレイヤがキャラクタ変形画面70で入力した変形パラメータの値を取得する(S101)。このとき、マイクロプロセッサ14は、プレイヤが入力した変形パラメータの値をハードディスク26に記憶させる。
【0057】
その後、マイクロプロセッサ14は、S101で取得された変形パラメータの値に基づいて、キャラクタオブジェクト46の目50の各頂点の位置を変更する(S102)。すなわち、マイクロプロセッサ14は、S101で取得された変形パラメータの値に基づいて、キャラクタオブジェクト46の目50を変形する。
【0058】
例えば、変形パラメータpが0より小さい場合、マイクロプロセッサ14は、キャラクタオブジェクト46の上まぶた52の代表頂点54の位置を、代表頂点54の初期位置54aから下方向に(|p|*ΔH)だけ移動した位置に更新する(図4参照)。また、マイクロプロセッサ14は、上まぶた52の他の頂点の位置も代表頂点54の位置に合わせて更新する(図4参照)。また、マイクロプロセッサ14は、キャラクタオブジェクト46の下まぶた56の代表頂点58の位置を、代表頂点58の初期位置58aから上方向に(|p|*ΔH)だけ移動した位置に更新する(図4参照)。また、マイクロプロセッサ14は、下まぶた56の他の頂点の位置も代表頂点58の位置に合わせて更新する(図4参照)。
【0059】
また例えば、変形パラメータpが0より大きい場合、マイクロプロセッサ14は、キャラクタオブジェクト46の上まぶた52の代表頂点54の位置を、代表頂点54の初期位置54aから上方向に(|p|*ΔH)だけ移動した位置に更新する。また、マイクロプロセッサ14は、上まぶた52の他の頂点の位置も代表頂点54の位置に合わせて更新する。また、マイクロプロセッサ14は、キャラクタオブジェクト46の下まぶた56の代表頂点58の位置を、代表頂点58の初期位置58aから下方向に(|p|*ΔH)だけ移動した位置に更新する。また、マイクロプロセッサ14は、下まぶた56の他の頂点の位置も代表頂点58の位置に合わせて更新する。
【0060】
マイクロプロセッサ14は変形後のキャラクタオブジェクト46の頂点データをハードディスク26に記憶させる。
【0061】
また、マイクロプロセッサ14(補正手段)は、S101で取得された変形パラメータの値に対応する位置補正パラメータの値を、ジョイント60の位置補正データ(図5参照)に基づいて取得する(S103)。その後、マイクロプロセッサ14(補正手段)は、S103で取得された位置補正パラメータに基づいて、ジョイント60の位置を補正する(S104)。具体的には、マイクロプロセッサ14は、S103で取得された位置補正パラメータの値をジョイント60の初期位置(Z軸座標値)に加算することによって、ジョイント60の補正位置を取得する。この場合、ジョイント60の位置は、ジョイント60が所定角度θc(例えば30°)回転した場合にキャラクタオブジェクト46の上まぶた52の代表頂点54が基本位置(第1位置)から下まぶた56の代表頂点58の位置(第2位置)まで移動するように補正される。マイクロプロセッサ14はジョイント60の補正位置データをハードディスク26に記憶させる。
【0062】
ジョイント60の位置の補正が完了したら、本処理は終了する。以降、キャラクタオブジェクト46が登場するゲーム画面は、ハードディスク26に記憶された、キャラクタオブジェクト46の頂点データに基づいて生成される。その結果として、プレイヤによって目50の大きさ(細さ)が変更されたキャラクタオブジェクト46がゲーム画面に表示される。
【0063】
ゲーム装置10では、キャラクタオブジェクト46の目50の大きさ(細さ)がプレイヤによって変更された場合、目50の開閉を制御するためのジョイント60の位置が補正される。ジョイント60の位置の補正は図5に示す位置補正データに基づいて行われる。その結果、キャラクタオブジェクト46の目50の大きさ(細さ)が変えられた場合であっても、モーションデータ(キャラクタオブジェクト46の目50を閉じるためのモーションデータ)が再生された場合、すなわち、ジョイント60がX軸を回転軸としてA方向に所定角度θc(例えば30°)回転した場合には、上まぶた52が下まぶた56まで移動するようになる。例えば、上まぶた52の代表頂点54(所定頂点)は基本位置(第1位置)から下まぶた56の代表頂点58の位置(第2位置)まで移動する。例えば、キャラクタオブジェクト46の目50が初期形状よりも細く変形された場合に、ジョイント60が所定角度θc(例えば30°)回転したときであっても、上まぶた52が下まぶた56を貫通しないようになる。また例えば、キャラクタオブジェクト46の目50が初期形状よりも大きく設定された場合に、ジョイント60が所定角度θc(例えば30°)回転したときであっても、キャラクタオブジェクト46の目50が完全に閉じた状態になるようになる。つまり、モーションデータが再生された場合には常に目50が完全に開いた状態から完全に閉じた状態に好適に変化するようになる。
【0064】
以上のように、ゲーム装置10によれば、キャラクタオブジェクト46の目50の大きさ(細さ)が変えられた場合でも、キャラクタオブジェクト46が目50を閉じる様子が不自然に表されないように図ることが可能になる。
【0065】
また、ゲーム装置10によれば、キャラクタオブジェクト46の目50の大きさ(細さ)に応じてモーションデータを複数種類用意しておく必要がない。すなわち、モーションデータに係るデータ量及び作業量の増大が抑制される。
【0066】
本発明は以上に説明した実施の形態に限定されるものではない。
【0067】
例えば、本発明は、キャラクタオブジェクト46の目50の大きさ(細さ)が変えられた場合でも、キャラクタオブジェクト46が目50を閉じる様子が不自然に表されないように図る場合以外にも適用することができる。例えば、キャラクタオブジェクト46の口の大きさが変えられた場合でも、キャラクタオブジェクト46が口を閉じる様子が不自然に表されないように図る場合にも適用することができる。
【0068】
また例えば、本発明はサッカーゲーム以外のゲームにおいても用いることができる。
【0069】
また例えば、以上の説明では、プログラムを情報記憶媒体たる光ディスク36から家庭用ゲーム機11に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図9は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図9に基づいて本発明に係るプログラム配信方法を説明する。図9に示すように、このプログラム配信システム100は、ゲームデータベース102、サーバ104、通信ネットワーク106、パソコン108、家庭用ゲーム機110、PDA(携帯情報端末)112を含んでいる。このうち、ゲームデータベース102とサーバ104とによりプログラム配信装置114が構成される。通信ネットワーク106は、例えばインターネットやケーブルテレビネットワークを含んでいる。このシステムでは、ゲームデータベース(情報記憶媒体)102に、光ディスク36の記憶内容と同様のプログラムが記憶されている。そして、パソコン108、家庭用ゲーム機110又はPDA112等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク106を介してサーバ104に伝えられる。そして、サーバ104はゲーム配信要求に応じてゲームデータベース102からプログラムを読み出し、それをパソコン108、家庭用ゲーム機110、PDA112等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ104から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信(一括配信)する必要はなく、ゲームの局面に応じて必要な部分を配信(分割配信)するようにしてもよい。このように通信ネットワーク106を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【0070】
【図1】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】キャラクタ変形画面の一例を示す図である。
【図4】キャラクタオブジェクトの目の変形について説明するための図である。
【図5】ジョイントの位置補正データの補正位置の一例を示す図である。
【図6】位置補正パラメータの値の決定方法について説明するための図である。
【図7】位置補正パラメータの値の決定方法について説明するための図である。
【図8】ゲーム装置で実行される処理を示すフロー図である。
【図9】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【図10】キャラクタオブジェクトの外観の一例を示す図である。
【図11】キャラクタオブジェクトの目の状態の一例を示す図である。
【図12】キャラクタオブジェクトの目の状態の一例を示す図である。
【図13】キャラクタオブジェクトに設定されるスケルトンの一例を示す図である。
【図14】キャラクタオブジェクトの上まぶたとジョイントと関係を説明するための図である。
【符号の説明】
【0071】
10 ゲーム装置、11,110 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスク読み取り部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 モニタ、34 スピーカ、36 光ディスク、40 仮想3次元空間、42 フィールドオブジェクト、44 ゴールオブジェクト、46 キャラクタオブジェクト、46a 頭部、48 ボールオブジェクト、49 仮想カメラ、50 目、52 上まぶた、54 上まぶたの代表頂点、54a 上まぶたの代表頂点の初期位置、54b 上まぶたの代表頂点の変形後位置、56 下まぶた、58 下まぶたの代表頂点、58a 下まぶたの代表頂点の初期位置、58b 下まぶたの代表頂点の変形後位置、60 ジョイント、60a ジョイントの初期位置、60b ジョイントの補正位置、70 キャラクタ変形画面、72 変形結果表示領域、74 変形パラメータ表示欄、100 プログラム配信システム、102 ゲームデータベース、104 サーバ、106 通信ネットワーク、108 パソコン、112 携帯情報端末(PDA)、114 プログラム配信装置。

【特許請求の範囲】
【請求項1】
仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置において、
前記第1位置又は前記第2位置の少なくとも一方を変更するようにプレイヤに案内する案内手段と、
前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第1位置から前記第2位置まで変化するように補正する補正手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記補正手段は、前記第1位置又は前記第2位置の少なくとも一方に関する条件と、前記スケルトンの位置の補正の基礎となる補正情報と、を対応づけてなる位置補正データを記憶する手段を含み、前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記第1位置又は前記第2位置の少なくとも一方によって満足される前記条件に対応する前記補正情報に基づいて、前記スケルトンの位置を補正することを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置において、
前記条件は、前記第1位置と前記第2位置との間の距離に関する条件であることを特徴とするゲーム装置。
【請求項4】
請求項2又は3に記載のゲーム装置において、
前記補正情報は、所定方向への前記スケルトンの移動距離を示す情報であり、
前記補正手段は、前記スケルトンを、前記第1位置又は前記第2位置の少なくとも一方によって満足される前記条件に対応する前記補正情報が示す移動距離だけ、前記所定方向に移動する、
ことを特徴とするゲーム装置。
【請求項5】
仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置の制御方法において、
前記第1位置又は前記第2位置の少なくとも一方を変更するようにプレイヤに案内する案内ステップと、
前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第1位置から前記第2位置まで変化するように補正する補正ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項6】
仮想3次元空間に配置されたキャラクタオブジェクトに設定されるスケルトンが回転することによって、前記キャラクタオブジェクトの所定頂点の位置が第1位置から第2位置まで変化するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記第1位置又は前記第2位置の少なくとも一方を変更するようにプレイヤに案内する案内手段、及び、
前記第1位置又は前記第2位置の少なくとも一方が前記プレイヤによって変更された場合、前記スケルトンの位置を、前記スケルトンが所定角度回転した場合に前記キャラクタオブジェクトの前記所定頂点の位置が前記第1位置から前記第2位置まで変化するように補正する補正手段、
として前記コンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−301987(P2008−301987A)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2007−151320(P2007−151320)
【出願日】平成19年6月7日(2007.6.7)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】