(57)【特許請求の範囲】
【請求項１】
任意のポーズのキャラクタを表示画面に表示するキャラクタ表示装置であって、
キャラクタの基本ポーズ時における、キャラクタの仮想骨格の挙動を制御するための複数の基本挙動情報を、それぞれ異なる複数の条件と関連付けて記憶する基本挙動情報記憶手段と、
基本挙動情報記憶手段に記憶された基本挙動情報から、条件に応じた基本挙動情報を決定し、決定された基本挙動情報をもとに、任意のポーズに応じた、キャラクタの仮想骨格の挙動に関する挙動情報を決定する挙動情報決定手段と、
挙動情報決定手段により決定された挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御する仮想骨格制御手段と、
仮想骨格制御手段により制御された仮想骨格をもとにキャラクタをモデリングすることでキャラクタを表示するキャラクタ表示手段と
を備える、キャラクタ表示装置。
【請求項２】
仮想骨格制御手段は、
キャラクタの部位が特定の位置に固定されている場合において、逆運動学を用いて、該部位が固定されたままの状態が維持できるよう、仮想骨格の挙動を制御することを特徴とする、請求項１に記載のキャラクタ表示装置。
【請求項３】
任意のポーズのキャラクタを、記憶手段及び制御部を有するコンピュータ装置の表示画面に表示する際に実行されるキャラクタ表示方法であって、
キャラクタの基本ポーズ時における、キャラクタの仮想骨格の挙動を制御するための複数の基本挙動情報を、それぞれ異なる複数の条件と関連付けて記憶手段に記憶するステップと、
制御部において、記憶手段に記憶された基本挙動情報から、条件に応じた基本挙動情報を決定し、決定された基本挙動情報をもとに、任意のポーズに応じた、キャラクタの仮想骨格の挙動に関する挙動情報を決定するステップと、
制御部において、挙動情報を決定するステップにより決定された挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御するステップと、
制御部において、挙動の制御された仮想骨格をもとにキャラクタをモデリングすることでキャラクタを表示するステップと
を備える、キャラクタ表示方法。
【請求項４】
任意のポーズのキャラクタの表示画面への表示をコンピュータ装置に実行させるキャラクタ表示プログラムであって、
コンピュータ装置を、
キャラクタの基本ポーズ時における、キャラクタの仮想骨格の挙動を制御するための複数の基本挙動情報を、それぞれ異なる複数の条件と関連付けて記憶する基本挙動情報記憶手段と、
基本挙動情報記憶手段に記憶された基本挙動情報から、条件に応じた基本挙動情報を決定し、決定された基本挙動情報をもとに、任意のポーズに応じた、キャラクタの仮想骨格の挙動に関する挙動情報を決定する挙動情報決定手段と、
挙動情報決定手段により決定された挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御する仮想骨格制御手段と、
仮想骨格制御手段により制御された仮想骨格をもとにキャラクタをモデリングすることによりキャラクタを表示するキャラクタ表示手段
として機能させるキャラクタ表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアリティと躍動感のあるキャラクタ表示が可能なキャラクタ表示装置に関する。
【背景技術】
【０００２】
従来からＲＰＧ（ロールプレイングゲーム）などにおいて、ゲームの途中でイベントが発生したような場合、プレイヤキャラクタをフィールドマップ上で移動させたり、他のキャラクタに話しかけたりといった操作が可能なゲームのメインモードが一時的に中断され、ゲームのストーリー展開を説明するためのメッセージとアニメーションが表示されるシナリオモードに移る場合がある。
【０００３】
このようなシナリオモードにおいて、アニメーションとメッセージの表示を連続して休みなく進めていくこととすると、プレイヤによっては、メッセージを読み終わる前に、次のメッセージの表示がはじまってしまうことになるため、メッセージの量が多いような場合は、次のメッセージを表示するようにプレイヤが操作するまで、メッセージの送り待ち状態とすることが行われている。
【０００４】
シナリオモードでは、アニメーションにより表示されるキャラクタの動きと、メッセージの内容は関係性を持たせることが一般的であるが、通常、メッセージの送り待ち状態となっているときは、予め設けられているアニメーションも終了し、キャラクタは動きのない状態となっている。しかし、ゲーム画面内で表示されるキャラクタが全く動かないとすると、キャラクタの躍動感やリアリティが失われることになり、違和感を感じさせるものとなる。
【０００５】
一方、上で述べたようなシナリオモードでキャラクタを表示する場合以外であっても、ゲームの基本設定を変更するためにメニュー画面の操作をしている場合や、他のゲーム装置から通信にて対戦プレイや協力プレイを申し込まれた場合に、ゲームのメインモードが一時的に中断され、画面内のキャラクタの動きも一時的に停止されることがある。このような場合にも、キャラクタの躍動感やリアリティを失うことなく、キャラクタを表示することが望まれている。
【０００６】
このような問題を解決するため、従来は、そのキャラクタが待機している時のポーズに合わせたアニメーションを作製して表示したり、或いは、メッセージの送り待ち状態となった時のポーズと、キャラクタが地面に直立した基本ポーズとの間の動きを別途用意したアニメーションを表示し、基本ポーズに変化した後、あたかも呼吸をしているようにキャラクタをわずかに上下させてアイドリングをさせるということが行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、メッセージの送り待ち状態になるごとに、そのキャラクタが待機している時のポーズに合わせたアニメーションを作製するような場合、様々なポーズについてアニメーションを製作する必要があり、製作コストが大きくなるという問題がある。また、この場合、アニメーションデータの量が大きくなるという問題もある。
【０００８】
メッセージの送り待ち状態となった時のポーズと、基本ポーズとの間の動きを別途用意したアニメーションを表示し、基本ポーズに変化した後、キャラクタをわずかに上下させてアイドリングをさせる場合でも、同様に、アニメーションの製作コストが大きくなる。また、メッセージの送り待ち状態となる毎にキャラクタは基本ポーズに戻るため、ゲームのリアリティを損なうことにもつながる。
【０００９】
本発明は、このような課題を解決することを目的とするもので、キャラクタのポーズを変えることなく、キャラクタにあたかも呼吸をしているような動きを持たせた、躍動感とリアリティのあるキャラクタ表示が可能なキャラクタ表示装置を提供することを目的とする。さらには、キャラクタのポーズ毎にアニメーションを作製する必要がなく、製作コストをおさえ、且つ、アニメーションデータ量も抑えてメモリの容量の消費やデータ読み込みによる処理負荷を軽減することのできるキャラクタ表示装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、任意のポーズのキャラクタを表示画面に表示するキャラクタ表示装置であって、キャラクタの基本ポーズ時における、キャラクタの仮想骨格の挙動を制御するための基本挙動情報を記憶する基本挙動情報記憶手段と、基本挙動情報記憶手段に記憶された基本挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御する仮想骨格制御手段と、仮想骨格制御手段により制御された仮想骨格をもとにキャラクタをモデリングすることでキャラクタを表示するキャラクタ表示手段とを備える、キャラクタ表示装置に関する。
【００１１】
多くのゲームでは、キャラクタが地面に直立しているような基本のポーズをとって一時的に立ち止まっているような場合に、キャラクタの骨格と骨格が連結する関節点の角度を繰り返し変化させることで、キャラクタが呼吸をしているかのようなリアリティをもたせることが行われている。本発明では、この基本ポーズにおける、各関節点での角度の変化量を基本挙動情報として記憶しておき、基本ポーズとは異なる任意のポーズにおいて、この基本挙動情報をもとに、各関節点の角度を繰り返し変化させるものである。例えば、キャラクタが基本ポーズをとっている時に、キャラクタに動作（例えば、キャラクタに呼吸をしているかのような動作）を付与するために適用される加算モーションと同じ加算モーションを、キャラクタが任意のポーズを取っている時に適用することが可能である。なお、任意のポーズは、基本ポーズとは異なるポーズであり、キャラクタが取りうるポーズであれば、どのようなポーズであってもよい。
【００１２】
この結果、ゲームの途中で、メッセージの送り待ち状態となるなど、キャラクタが任意のポーズをとったまま、一時的に停止をしているような場合に、まるで、キャラクタが呼吸をしているかのようなリアリティのある表示を行うことができる。また、本発明では、ポーズ毎にアニメーションを製作する必要がないため、製作コストをおさえ、且つ、アニメーションデータ量も抑えてメモリの容量の消費やデータ読み込みによる処理負荷を軽減することが可能である。
【００１３】
仮想骨格制御手段は、基本挙動情報記憶手段に記憶された基本挙動情報をもとに、任意のポーズに応じた、キャラクタの仮想骨格の挙動に関する挙動情報を決定する挙動情報決定手段を含み、挙動情報決定手段により決定された挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御することが好ましい。
【００１４】
基本ポーズにおいて設定されている基本挙動情報をもとに、キャラクタの任意のポーズに応じた挙動情報を算定し、その算定した結果に応じて、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御することができる。つまり、どのようなポーズを取るかに応じて、仮想骨格に付与する加算モーションを変化させることができる。例えば、任意のポーズで静止した状態における仮想関節の角度に応じて、任意のポーズのキャラクタにモーションを付与する際において可動できる仮想関節の角度の大きさを変えることが可能である。
【００１５】
仮想骨格制御手段は、キャラクタの部位が特定の位置に固定されている場合において、逆運動学を用いて、該部位が固定されたままの状態が維持できるよう、仮想骨格の挙動を制御することが好ましい。
【００１６】
キャラクタの足が地面と接触しているような場合や、キャラクタの手が壁と接触しているような場合は、ＩＫ（逆運動学）制御により、地面や壁と接触している足や手の位置を固定化させたまま、各関節を動かすことができる。例えば、キャラクタの足が地面と接触しているような場合において、単に、基本ポーズの挙動情報をもとに、キャラクタの仮想骨格の挙動を制御することとすると、キャラクタは一歩も進んでいないのに、地面と足の接触位置が徐々に変化してしまうことがある。ＩＫ（逆運動学）制御を用いることで、地面と足の接触位置を変えることなく、任意ポーズのキャラクタの動きを制御することができる。なお、任意のポーズ時にキャラクタに付与される動作のうち、逆運動学によって制御される部位における動作は、この逆運動学による制御によって上書きされることで打ち消され、無効化される。
【００１７】
基本挙動情報記憶手段は、複数の基本挙動情報をそれぞれ異なる複数の条件と関連付けて記憶するものであり、挙動情報決定手段は、条件に応じて基本挙動情報を決定することが好ましい。
【００１８】
キャラクタが任意のポーズについて、同じポーズであっても、ゲーム中の状況などの条件に応じて、キャラクタの動き方に変化を持たせることができる。例えば、普通の状態（例えば、キャラクタのヒットポイントが所定値以上となった状態）の場合にくらべ、息の荒い状態（例えば、キャラクタのヒットポイントが所定値未満となった状態）では、キャラクタの動きが大きくなるなどの設定をすることができ、キャラクタの動き方に多様性を持たせることができる。
【００１９】
本発明は、任意のポーズのキャラクタをコンピュータ装置の表示画面に表示する際に実行されるキャラクタ表示方法であって、キャラクタの基本ポーズ時における、キャラクタの仮想骨格の挙動を制御するための基本挙動情報を記憶手段に記憶するステップと、記憶手段に記憶された基本挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御するステップと、挙動の制御された仮想骨格をもとにキャラクタをモデリングすることでキャラクタを表示するステップとを備える、キャラクタ表示方法に関する。
【００２０】
本発明は、任意のポーズのキャラクタの表示画面への表示をコンピュータ装置に実行させるキャラクタ表示プログラムであって、コンピュータ装置を、キャラクタの基本ポーズ時における、キャラクタの仮想骨格の挙動を制御するための基本挙動情報を記憶する基本挙動情報記憶手段と、基本挙動情報記憶手段に記憶された基本挙動情報をもとに、任意のポーズ時におけるキャラクタの仮想骨格の挙動を制御する仮想骨格制御手段と、仮想骨格制御手段により制御された仮想骨格をもとにキャラクタをモデリングすることによりキャラクタを表示するキャラクタ表示手段として機能させるキャラクタ表示プログラムに関する。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態にかかるゲーム装置の構成を示すブロック図である。
【図２】本発明の実施の形態にかかるゲーム装置の表示画面の一例を示す図である。
【図３】肘関節周辺の骨格と差分情報との関係を表す図である。
【図４】本発明の実施の形態にかかる関節管理テーブルを示す図である。
【図５】本発明の実施の形態にかかるシナリオ表示処理のフローチャートを示す図である。
【図６】本発明の実施の形態にかかるアイドリング表示処理のフローチャートを示す図である。
【発明を実施するための形態】
【００２２】
図１は、本発明の実施の形態にかかるゲーム装置の構成を示すブロック図である。ゲーム装置１は、制御部１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ハードディスク・ドライブ（ＨＤＤ）１３、サウンド処理部１４、グラフィック処理部１５、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６、通信インターフェイス１７、及びインターフェイス部１８からなり、それぞれ内部バスにより接続されている。
【００２３】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から構成される。制御部１１は、ＨＤＤ１３や記録媒体２５に格納されたプログラムを実行し、ゲーム装置１の制御を行なう。また、制御部１１は時間を計時する内部タイマを備えている。ＲＡＭ１２は、制御部１１のワークエリアである。ＨＤＤ１３は、プログラムやデータを保存するための記憶領域である。
【００２４】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１６は、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどのゲームプログラムが格納された記録媒体２５を装着することが可能である。記録媒体２５には、ゲームを行なうためのプログラム及びデータが記憶されている。ＤＶＤ／ＣＤ−ＲＯＭドライブ１６により、ゲームの進行に必要なプログラム及びデータが記録媒体２５から読み出され、ＲＡＭ１２にロードされる。
【００２５】
制御部１１は、ゲームの進行に必要なプログラム及びデータをＲＡＭ１２から読み出して処理を行なう。制御部１１は、ＲＡＭ１２にロードされたプログラム及びデータを処理することで、サウンド出力の指示をサウンド処理部１４に出力し、描画命令をグラフィック処理部１５に出力する。
【００２６】
サウンド処理部１４は、スピーカーであるサウンド出力装置２２に接続されている。制御部１１がサウンド出力の指示をサウンド処理部１４に出力すると、サウンド処理部１４はサウンド出力装置２２にサウンド信号を出力する。
【００２７】
グラフィック処理部１５は表示装置２３に接続されている。表示装置２３は表示画面２４を有している。制御部１１が描画命令をグラフィック処理部１５に出力すると、グラフィック処理部１５は、フレームメモリ（フレームバッファ）１９に画像を展開し、表示画面２４上に画像を表示するためのビデオ信号を出力する。グラフィック処理部１５は、フレーム単位で１枚の画像の描画を実行する。画像の１フレーム時間は、例えば３０分の１秒である。
【００２８】
インターフェイス部１８には、入力部（コントローラ）２１とメモリーカードスロット２０とが接続されている。プレイヤによる入力部２１からの入力情報はＲＡＭ１２に格納され、制御部１１は入力情報をもとに各種の演算処理を実行する。また、インターフェイス部１８は、制御部１１からの指示にしたがって、ＲＡＭ１２に記憶されているゲームの進行状況に関するデータをメモリーカード２７に記憶させる処理や、メモリーカード２７に記憶されているデータを読み出してＲＡＭ１２に転送する処理を行う。
【００２９】
通信インターフェイス１７は無線又は有線により通信ネットワーク２に接続されており、サーバ装置３と必要に応じて操作指示情報やゲームの進行状況に関する情報の送受信を行う。また、通信インターフェイス１７は、アンテナ２６を有する通信ユニットを介して、他のゲーム装置１と無線により通信を行なうことも可能である。
【００３０】
図２は、本発明の実施の形態にかかるゲーム装置の表示画面の一例を示す図である。図２の表示画面２４には、プレイヤキャラクタを操作してフィールドマップ上を移動させ、敵キャラクタと仮想戦闘を行うといったゲーム本編が一時的に中断され、ゲームにおけるストーリーの解説やキャラクタ間での会話の様子を表示することで、ゲームのストーリー展開をプレイヤに伝えるシナリオモード時のゲーム画面が表示されている。
【００３１】
表示画面２４には、仮想空間内の様子を表示する仮想空間表示領域３０が設けられており、仮想空間表示領域３０には、ゲームの主人公であるキャラクタ３１ａと、主人公の仲間であるキャラクタ３１ｂが表示されている。表示画面２４の下方には、メッセージ表示ウィンドウ３２が設けられており、キャラクタ３１ａとキャラクタ３１ｂの会話の内容や、ゲーム内で起こった出来事の解説などのメッセージ３２ａが表示されている。
【００３２】
また、シナリオモードにおいて表示されるメッセージ３２ａやアニメーションなどに続きがある場合は、キャラクタ３１の会話の最後尾に送りボタン３２ｂが表示される。プレイヤの操作により、送りボタン３２ａが選択等されると、送り待ち状態が解消され、次のメッセージ３２ａがメッセージ表示ウィンドウ３２に表示され、次のストーリー展開を表示するために、仮想空間表示領域３０にて新しいアニメーションが表示される。
【００３３】
この送り待ち状態の場合において、キャラクタ３１ａは左右対称で、両手を下側に下ろし、両足で地面に直立しており、基本ポーズをとっている。キャラクタ３１ｂは、地面に直立した基本ポーズをとっているわけではなく、右手に杖をもって振り上げ、右足も地面に接触をしておらず、基本ポーズ以外のポーズをとっている。基本ポーズ以外のポーズとしては、どのようなポーズでもとることができ、走っている途中や、しゃがんでいる途中、ガッツポーズをしている途中などのポーズをとることも可能である。
【００３４】
キャラクタ３１が基本ポーズをとっているような場合は、通常は、キャラクタ３１の骨格と骨格が連結する関節の角度を繰り返し変化させることで、キャラクタ３１が呼吸をしているかのような躍動感とリアリティをもたせることができる。この場合、関節ごとに、
基本ポーズにおける基準となる角度から変化した角度の大きさ（以下、変化角度ともいう）と、時間の関係が予め設定されている。具体的には、基本ポーズにおける基準となる角度が３０°で１フレーム後に角度が３２°となっている場合は、変化角度が２°となる。このように、１フレーム後の変化角度が２°、２フレーム後の変化角度が４°といった具合に、角度の変化を開始してから最大限変化するまでについて、角度の変化してからの経過時間（以下、変化時間ともいう）と変化角度との対応関係が予め設定されている。以下、この関節ごとに設定された、変化角度と、変化時間に関する情報を差分情報ともいう。
【００３５】
なお、変化時間と変化角度との対応関係は、変化が終了するまでの全てのフレームについて設定されていてもよく、例えば、５フレーム後、１０フレーム後、１５フレーム後といったように、５フレーム毎に設定されていても良い。この場合は、１〜４フレーム、６〜９フレームなどの変化角度との対応関係が設定されていない合間のフレームについては、その都度、変化角度が演算される。
【００３６】
本発明では、基本ポーズ以外のポーズ（以下、対象ポーズともいう）でキャラクタ３１をアイドリング表示させる場合に、基本ポーズにおいて設定された差分情報をもとに、対象ポーズに適用される差分情報が決定される。図３は、肘関節周辺の骨格と差分情報との関係を表す図である。図３では、対象ポーズは、基本ポーズより上腕骨４１と前腕骨４２により肘関節４３にて形成される角の角度が狭くなっているが、前腕骨４２の可動域内であれば、肘関節４３にて形成される角の角度が基本ポーズよりも広くなってもよい。
【００３７】
図３（ａ）に示すように、基本ポーズにおいて、上腕骨４１と前腕骨４２による肘関節４３の角度について、最大の変化角度（以下、最大変化角度）がαであり、その変化に必要なフレーム数（以下、必要フレーム数）がγであるような場合、図３（ｂ）に示すように、対象ポーズについても最大変化角度をαとし、必要フレーム数をγとすることができる。最大変化角度がαの場合、基本ポーズの肘関節４３の基準となる角度から０〜αまでの範囲で変化が可能であり、この範囲を繰り返し、行き来しながら変化することになる。同様に、対象ポーズの場合においても、対象ポーズの肘関節４３の基準となる角度から、０〜αまでの範囲で変化が可能であり、この範囲を繰り返し、行き来しながら変化することになる。
【００３８】
また、上の場合において、必要フレーム数はそのままで、基本ポーズにおける変化角度に係数を乗じることで、対象ポーズにおける変化角度を決定してもよい。したがって、基本ポーズにおける差分情報をもとに、対象ポーズにおける差分情報を特定することになる。なお、この係数は、基本ポーズにおける肘関節４３の基準となる角度と、対象ポーズにおける肘関節の基準となる角度との比をもとに定めることができる。つまり、対象ポーズにおける肘関節４３の角度が大きくなればなるほど、その角度の大きさに比例して、該係数も大きくなる。
【００３９】
次に、関節管理テーブルについて、説明をする。図４は、本発明の実施の形態にかかる関節管理テーブルを示す図である。関節管理テーブル５０はキャラクタ３１毎に、ＲＡＭ１２にて設定される。関節管理テーブル５０には、関節ＩＤ５１、基本角度５２、差分情報５３、固定化フラグ５４が、関節ＩＤ５１と関連付けられて記憶されている。基本角度５２は、対象となっている関節について、基本ポーズ時の基準となる角度を示すものである。対象ポーズにおける関節のフレーム毎の変化角度は、関節管理テーブル５０の差分情報５３をもとに決定される。固定化フラグ５４については、後述する。
【００４０】
次に、本発明のキャラクタ表示処理を、ＲＰＧのシナリオモードに適用した場合について説明する。図５は、本発明の実施の形態にかかるシナリオ表示処理のフローチャートを示す図である。
【００４１】
まず、ゲーム内で所定の条件を満たすことで、シナリオモードが開始される（ステップＳ１）。この場合の所定の条件はゲームの内容に応じて、適宜、設定することができる。所定の条件としては、例えば、プレイヤキャラクタが特定の場所に到達すること、プレイヤキャラクタが特定のアイテムを獲得すること、プレイヤキャラクタが特定のキャラクタに話しかけること、プレイヤキャラクタが特定の敵キャラクタとの戦闘に処理することなどがあげられる。シナリオモードが開始されると、ゲームの本編が一時的に中断され、シナリオモードが終了するまで、プレイヤキャラクタをフィールドマップ上で移動させたり、他のキャラクタに話しかけたり、アイテムを使用したりといった行動をとることができなくなる。
【００４２】
ステップＳ１にてシナリオモードが開始されると、所定のシナリオが表示される（ステップＳ２）。表示されるシナリオは、複数の種類が予め設けられていても良く、どのような条件を満たしてシナリオモードが開始されたかに応じて、表示されるシナリオが決定される。シナリオの表示が開始されると、シナリオに応じたメッセージ３２ａとアニメーションが表示される。
【００４３】
所定のアニメーションが一通り表示されると、送り待ち状態（送り待ち状態）となる。ステップＳ３にて送り待ち状態となった段階において、表示画面２４に表示されているキャラクタ３１について、アイドリング表示がなされる（ステップＳ４）。アイドリング表示は、送り待ち状態となった段階におけるキャラクタ３１のポーズをもとに行われ、関節管理テーブル５０の差分情報５３をもとに、対象ポーズのフレーム毎の変化角度を算出し、算出した変化角度を対象ポーズの基準となる角度に加算することにより行われる。
【００４４】
また、送り待ち状態となると、メッセージ表示ウィンドウ３２中に表示されたメッセージ３２ａの最後尾に送りボタン３２ａが表示される。プレイヤの入力部２１への操作入力により、シナリオ進行指示が受付けられると（ステップＳ５）、送り待ち状態が解消され、送りボタン３２ｂの表示も消去される。
【００４５】
送り待ち状態が解消されても、未だ表示されていないメッセージとアニメーションが残っている場合は、シナリオモードは終了せず（ステップＳ６にてＮＯ）、ステップＳ２に戻り、次のメッセージ３２ａとアニメーションの表示が開始される。開始されたシナリオ中のメッセージ３２ａとアニメーションの全てが表示されるまで、ステップＳ２〜Ｓ５の処理が繰り返し実行される。
【００４６】
開始されたシナリオ中のメッセージ３２ａとアニメーションが全て表示されて、シナリオが終了すると（ステップＳ６にてＹＥＳ）、ゲーム本編の一時的な中断が解消され、一連の処理が終了される。ゲーム本編の一時的な中断が解消されると、プレイヤキャラクタをフィールドマップ上で移動させたり、プレイヤキャラクタを他のキャラクタに話しかけさせたりといった操作が可能となり、一連の処理は終了する。
【００４７】
次に、ステップＳ５におけるアイドリング表示処理について、説明する。図６は、本発明の実施の形態にかかるアイドリング表示処理のフローチャートを示す図である。アイドリング表示処理が開始されると、表示画面２４上に表示されているキャラクタ３１の各関節に関する差分情報５３が、関節管理テーブル５０より読みだされ（ステップＳ１１）、キャラクタ３１の対象ポーズにおける変化開始前における基準となる角度に、差分情報５３から求められる変化角度を加算又は減算することで、フレーム毎の関節の角度が決定される（ステップＳ１２）。例えば、基本ポーズにおける基準となる角度が３０°で、対象ポーズにおける変化開始前における基準となる角度が５０°であるような場合、差分情報５３で、１フレーム後の変化角度が２°、２フレーム後の変化角度４°、３フレーム後の変化角度６°といったような場合は、この関節の角度は、１フレーム後は角度５２°となり、２フレーム後は角度５４°となり、３フレーム後は角度５６°となる。このように、決定された角度をもとにキャラクタ３１の骨格の動作が制御される（ステップＳ１３）。
【００４８】
なお、ステップＳ１１にて関節管理テーブル５０により読みだされる差分情報は、予め複数用意しておくことができ、ゲームの進行状況や、仮想世界内の天候や気温、プレイヤキャラクタのステータスなどの条件に応じて変化させることができる。例えば、仮想世界の中の天候が悪く気温が低いような場合は変化角度の小さい差分情報が、気温が高いような場合は変化角度の大きい差分情報が用いられる。また、キャラクタのヒットポイントが少ない場合は必要フレーム数が少ない差分情報が、ヒットポイントが多い場合は必要フレーム数の小さい差分情報が用いられる。
【００４９】
ステップＳ１３の骨格の動作の制御する際に、キャラクタ３１が地面と足を接触していたり、壁に手をついていたり、或いは、手すりにぶら下がっているなど、キャラクタの部位のいずれかの位置を固定化する必要がある場合（すなわち、キャラクタの関節の一部について、位置を固定化する必要がある場合）は、逆運動学を用いて、該部位が固定されたままの状態が維持できるよう、関節の位置や角度が決定される。差分情報をもとに制御される動作のうち、逆運動学によって制御される部位における動作は、逆運動学による制御によって上書きされることで打ち消され、無効化される。したがって、固定化された部位について位置が変わることなく、キャラクタ３１の骨格の動きを制御することが可能となる。
【００５０】
なお、キャラクタ３１の骨格と骨格を連結する関節が特定の位置で固定化されるか否かは、関節管理テーブル５０にて固定化フラグ５４が設定されているか、解除されているかにより決定することができる。例えば、キャラクタ３１の足と地面が接触している場合は、接触している足の先端部分の関節点に固定化フラグ５４が設定され、キャラクタ３１が飛びあがり、地面と足が接触していない状態となった場合は、固定化フラグ５４が解除される。
【００５１】
そして、ステップＳ１３にて制御された骨格をもとにキャラクタ３１のモデリングが実行され（ステップＳ１４）、さらに、仮想空間内が仮想スクリーン上で透視変換されて、画像データが描画され（ステップＳ１５）、表示画面２４にキャラクタの表示がなされて（ステップＳ１６）、一連の処理は終了する。
【００５２】
上の実施の形態では、ＲＰＧのゲームの合間に発生するシナリオモードにてメッセージとアニメーションを表示する際に、本発明を適用する場合について述べたが、これらの例に限定されず、様々な割り込み処理が発生する場合に適用が可能である。
【００５３】
例えば、プレイヤがゲームの途中で、メニューウィンドウを開いて、ゲームの基本設定を変更するような場合、一時的にゲームが中断されることになる。プレイヤは入力操作をしながら、メニューウィンドウ内のカーソル等を移動させて設定を変更するが、メニューウィンドウ外では、継続してゲーム画面が表示されている。このような場合において、メニューウィンドウ外で表示されているキャラクタについて、本発明のキャラクタ表示処理を適用することが可能である。
【００５４】
その他、例えば、プレイヤがゲーム装置にて一人でプレイをしている時に、他のゲームから無線通信にて対戦プレイや協力プレイをするような要求があった場合に、一時的にゲームが中断されることがある。このような場合に、表示画面の一部にメッセージ表示ウィンドウが立ち上がり、対戦プレイや協力プレイの要求があった旨が表示される。プレイヤは、この対戦プレイや協力プレイを受けるか否かを選択することになる。ゲームは一時的に中断をされているものの、メッセージ表示ウィンドウ外では仮想世界の様子が継続して表示されており、登場するキャラクタも表示されている。このキャラクタに対して、本発明のキャラクタ表示処理を適用することが可能である。
【符号の説明】
【００５５】
１      ゲーム装置
１１    制御部
１２    ＲＡＭ
１３    ＨＤＤ
１４    サウンド処理
１５    グラフィック処理部
１６    ＤＶＤ／ＣＤ−ＲＯＭドライブ
１７    通信インターフェイス
１８    インターフェイス部
１９    フレームメモリ
２０    メモリーカードスロット
２１    入力部
２２    スピーカー
２３    表示装置
２４    表示画面
２５    記録媒体
２６    アンテナ
２７    メモリーカード
２      通信ネットワーク
３１    キャラクタ
３２    メッセージ表示ウィンドウ
４１    上腕骨
４２    前腕骨
４３    肘関節
５０    関節管理テーブル
【図１】
0005635161.tif 000002
【図２】
0005635161.tif 000003
【図３】
0005635161.tif 000004
【図４】
0005635161.tif 000005
【図５】
0005635161.tif 000006
【図６】
0005635161.tif 000007