(57)【特許請求の範囲】
【請求項１】
ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための移行用モーションを決定する決定ステップと、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示し、当該移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する表示ステップと、
を含み、
前記決定ステップでは、前記第２のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記移行用モーションを規定する一連の姿勢が順次決定され、
前記一連の合成の内の最初の合成は、前記キャラクタの前記最後に表示された姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、
前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施される、
ことを特徴とするモーション表示方法。
【請求項２】
ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢に続く、前記第１のモーションの複数の姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する第１の決定ステップと、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記第１の決定ステップで決定された前記第１の移行用モーションを表示し、当該第１の移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する第１の表示ステップと、
前記第１の移行用モーションの表示中に操作入力に応答して前記キャラクタのモーションを前記第１の移行用モーションの表示済みのモーション部分から第３のモーションに移行するときに、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの姿勢と前記第３のモーションの先頭の複数の姿勢により規定される先頭モーション部分とに依存して、前記第１の移行用モーションの前記表示済みのモーション部分から前記第３のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第２の移行用モーションを決定する第２の決定ステップと、
前記第１の移行用モーションの前記表示済みのモーション部分に続けて、前記第２の決定ステップで決定された前記第２の移行用モーションを表示し、当該第２の移行用モーションに続けて前記第３のモーションの前記後続のモーション部分を表示する第２の表示ステップと、
を含むモーション表示方法。
【請求項３】
前記第１の移行用モーションは、前記第１のモーションの表示中に最後に表示された前記姿勢に続く、前記第１のモーションの前記複数の姿勢と前記第２のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢で規定されるモーションを表し、
前記第２の移行用モーションは、前記第１の移行用モーションの表示中に最後に表示された当該キャラクタの前記姿勢と前記第３のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢により規定されるモーションを表す請求項２に記載のモーション表示方法。
【請求項４】
前記第２の移行用モーションを規定する前記徐々に増大する合成比率は、合成比率が一定の値ずつ増大する場合よりも急激に増大することを特徴とする請求項３に記載のモーション表示方法。
【請求項５】
前記第２の決定ステップでは、前記第３のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記第２の移行用モーションを規定する一連の姿勢が順次決定され、
前記一連の合成の内の最初の合成は、前記キャラクタの前記第１の移行用モーションの表示中に前記最後に表示された姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、
前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施される、
ことを特徴とする請求項２に記載のモーション表示方法。
【請求項６】
ビデオゲームのキャラクタの第１のモーションを表示中にプレイヤによる操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、所定の条件が満たされているか否かを判別する判別ステップと、
前記第１のモーションから前記第２のモーションに移行するための移行用モーションを決定するための移行用モーション決定手順として、所定の複数の移行用モーション決定手順の一つを前記判別ステップによる判別結果に依存して選択する選択ステップと、
前記選択ステップで選択された移行用モーション決定手順に従って移行用モーションを決定する決定ステップと、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示する表示ステップと、
を含むモーション表示方法。
【請求項７】
前記判別ステップは、前記第１のモーションがいずれかのモーションから他のモーションへ移行するための移行用モーションであることを前記条件としている請求項６に記載のモーション表示方法。
【請求項８】
コンピュータで実行されるビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための移行用モーションを決定する決定ステップと、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示し、当該移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する表示ステップと、
をコンピュータに実行させるプログラムであり、
前記決定ステップでは、前記第２のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記移行用モーションを規定する一連の姿勢が順次決定され、
前記一連の合成の内の最初の合成は、前記キャラクタの前記最後に表示された姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、
前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施される、
ことを特徴とする記録媒体。
【請求項９】
コンピュータで実行されるビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
ビデオゲームのキャラクタの第１のモーションの表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、前記第１のモーションの最後に表示された当該キャラクタの姿勢に続く、前記第１のモーションの複数の姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する第１の決定ステップと、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記第１の決定ステップで決定された前記第１の移行用モーションを表示し、当該第１の移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する第１の表示ステップと、
前記第１の移行用モーションの表示中に操作入力に応答して前記キャラクタのモーションを前記第１の移行用モーションの表示済みのモーション部分から第３のモーションに移行するときに、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの姿勢と前記第３のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１の移行用モーションの前記表示済みのモーション部分から前記第３のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第２の移行用モーションを決定する第２の決定ステップと、
前記第１の移行用モーションの前記表示済みのモーション部分に続けて、前記第２の決定ステップで決定された前記第２の移行用モーションを表示し、当該第２の移行用モーションに続けて前記第３のモーションの前記後続のモーション部分を表示する第２の表示ステップと、
をコンピュータに実行させるプログラムであることを特徴とする記録媒体。
【請求項１０】
前記第１の移行用モーションは、前記第１のモーション表示中に最後に表示された前記キャラクタの前記姿勢に続く、前記第１のモーションの前記複数の姿勢と前記第２のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢で規定されるモーションを表し、
前記第２の移行用モーションは、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの前記姿勢と前記第３のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢により規定されるモーションを表す請求項９に記載の記録媒体。
【請求項１１】
前記第２の移行用モーションを規定する前記徐々に増大する合成比率は、合成比率が一定の値ずつ増大する場合よりも急激に増大することを特徴とする請求項１０に記載の記録媒体。
【請求項１２】
前記第２の決定ステップでは、前記第３のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記第２の移行用モーションを規定する一連の姿勢が順次決定され、
前記一連の合成の内の最初の合成は、前記キャラクタの前記第１の移行用モーションの表示中に前記最後に表示された姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、
前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施される、
ことを特徴とする請求項９に記載の記録媒体。
【請求項１３】
コンピュータで実行されるビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
ビデオゲームのキャラクタの第１のモーションを表示中にプレイヤによる操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、所定の条件が満たされているか否かを判別する判別ステップと、
前記第１のモーションから前記第２のモーションに移行するための移行用モーションを決定するための移行用モーション決定手順として、所定の複数の移行用モーション決定手順の一つを前記判別ステップによる判別結果に依存して選択する選択ステップと、
前記選択ステップで選択された移行用モーション決定手順に従って移行用モーションを決定する決定ステップと、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示する表示ステップと、
をコンピュータに実行させるプログラムであることを特徴とする記録媒体。
【請求項１４】
前記判別ステップは、前記第１のモーションがいずれかのモーションから他のモーションへ移行するための移行用モーションであることを前記条件としている請求項１３に記載の記録媒体。
【請求項１５】
ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための移行用モーションを決定する決定手段と、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定手段で決定された前記移行用モーションを表示し、当該移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する表示手段と、
を備え、
前記決定手段では、前記第２のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記移行用モーションを規定する一連の姿勢が順次決定され、
前記一連の合成の内の最初の合成は、前記キャラクタの前記最後に表示された姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、
前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施される、
ことを特徴とするゲーム装置。
【請求項１６】
ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢に続く、前記第１のモーションの複数の姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する第１の決定手段と、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記第１の決定手段で決定された前記第１の移行用モーションを表示し、当該第１の移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する第１の表示手段と、
前記第１の移行用モーションの表示中に操作入力に応答して前記キャラクタのモーションを前記第１の移行用モーションの表示済みのモーション部分から第３のモーションに移行するときに、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの姿勢と前記第３のモーションの先頭の複数の姿勢により規定される先頭モーション部分とに依存して、前記第１の移行用モーションの前記表示済みのモーション部分から前記第３のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第２の移行用モーションを決定する第２の決定手段と、
前記第１の移行用モーションの前記表示済みのモーション部分に続けて、前記第２の決定手段で決定された前記第２の移行用モーションを表示し、当該第２の移行用モーションに続けて前記第３のモーションの前記後続のモーション部分を表示する第２の表示手段と、
を備えることを特徴とするゲーム装置。
【請求項１７】
ビデオゲームのキャラクタの第１のモーションを表示中にプレイヤによる操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、所定の条件が満たされているか否かを判別する判別手段と、
前記第１のモーションから前記第２のモーションに移行するための移行用モーションを決定するための移行用モーション決定手順として、所定の複数の移行用モーション決定手順の一つを前記判別手段による判別結果に依存して選択する選択手段と、
前記選択手段で選択された移行用モーション決定手順に従って移行用モーションを決定する決定手段と、
前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定手段で決定された前記移行用モーションを表示する表示手段と、
を備えることを特徴とするゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲーム画面に表示されたキャラクタと呼ばれる仮想物のモーションを表示するためのプログラムが記録された記録媒体、モーション表示方法及びゲーム装置に関する。
【０００２】
【従来の技術】
最近のビデオゲームでは、ポリゴンで形成された立体的なキャラクタと呼ばれる仮想物を仮想３次元空間に配置し、所与の視点から見た視界画像を生成して画面に表示するいわゆる３Ｄゲームが増えている。
【０００３】
ビデオゲーム上のキャラクタの一連の動作はモーションとも呼ばれ、あらかじめメモリに記憶されたモーションデータに基づいて表示される。モーションデータはキャラクタの手、足等を変化させるときのキャラクタの一連の姿勢を特定するデータからなる。キャラクタのモーションを表示装置に表示することはモーションを再生するとも呼ばれる。
【０００４】
ゲーム上のキャラクタのあるモーションを表示している途中で、プレイヤによる操作入力に応じて当該キャラクタのモーションを変更する場合、変更後のモーションに対応するモーションデータがメモリから読み出され、読み出されたモーションデータに基づいて変更後のモーションが表示される。しかしながら、単純にこのようにモーションを移行すると、移行開始時点でキャラクタ画像が急激に変化することが多く、プレイヤにとって望ましくない。
【０００５】
モーションの滑らかな移行を行う方法として、元のモーションと移行先のモーションとを合成する方法が知られている。例えば特開平９−２１８９６１号公報では、移行元のモーションデータと移行先のモーションデータとからフレーム毎の姿勢特定情報が生成されている。フレーム毎に二つの姿勢特定情報を補間し、各フレームの姿勢が生成されている。その際、補間割合の重み付けを行い、徐々に移行先のモーションデータの重みを大きくし、それでもって移行先のモーションデータに滑らかに移行するモーションデータが生成されている。
【０００６】
【発明が解決しようとする課題】
合成によるモーションの移行を適用できるのは、ある程度類似した二つの動作に対してである。例えば上述の特開平９−２１８９６１号公報では、歩く動作と走る動作という二つの類似する動作が合成されている。これらの動作は、同じ方向に進む場合には、これらの動作の姿勢毎の補間が可能になる。
【０００７】
ところが野球ゲームのようなスポーツゲームでは、移行元のモーションと移行先のモーションが類似しているとは限らない。例えば、プレイヤの指示が、右方向への「走れ」から左方向への「走れ」の指示に切り替わる場合もある。右向きに走るモーションと左向きに走るモーションでは、キャラクタの向きが全く逆である。右へ走るモーションでは右へ向かうように手足を動かしている。左へ走るモーションでは左へ向かうように手足を動かしている。この場合、フレーム毎の姿勢特定情報を補間すると、これらの二つのモーションの間を繋ぐ移行用モーションの手足の動きが一定に定まらず、不自然な動きとなる。
【０００８】
したがって、本発明の目的は、移行元のモーションと移行先のモーションとが逆の動きをする場合であっても、滑らかな一連の動きで移行先のモーションへ移行できるようにするモーション表示方法、それを用いるゲーム装置及び記録媒体を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るモーション表示方法は、ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための移行用モーションを決定する決定ステップと、前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示し、当該移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する表示ステップと、を含み、前記決定ステップでは、前記第２のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記移行用モーションを規定する一連の姿勢が順次決定され、前記一連の合成の内の最初の合成は、前記キャラクタの前記最後に表示された姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施されるものである。
【００１０】
本発明に係るモーション表示方法によれば、第１、第２のモーションがともにキャラクタの姿勢の変化が全く逆方向に変化するものであっても、キャラクタの姿勢が滑らかに変化する移行用のモーションを用いて第１のモーションから第２のモーションに移行することができる。更に、移行用モーションとして、移行元の第１のモーションから移行先の第２のモーションへ急激に変化するモーションを決定することが容易になる。
【００１３】
本発明に係るモーション表示方法の望ましい態様は、ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢に続く、前記第１のモーションの複数の姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する第１の決定ステップと、前記第１のモーションの前記表示済みのモーション部分に続けて、前記第１の決定ステップで決定された前記第１の移行用モーションを表示し、当該第１の移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する第１の表示ステップと、前記第１の移行用モーションの表示中に操作入力に応答して前記キャラクタのモーションを前記第１の移行用モーションの表示済みのモーション部分から第３のモーションに移行するときに、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの姿勢と前記第３のモーションの先頭の複数の姿勢により規定される先頭モーション部分とに依存して、前記第１の移行用モーションの前記表示済みのモーション部分から前記第３のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第２の移行用モーションを決定する第２の決定ステップと、前記第１の移行用モーションの前記表示済みのモーション部分に続けて、前記第２の決定ステップで決定された前記第２の移行用モーションを表示し、当該第２の移行用モーションに続けて前記第３のモーションの前記後続のモーション部分を表示する第２の表示ステップと、を含むものである。
【００１４】
具体的には、前記第１の移行用モーションは、前記第１のモーションの表示中に最後に表示された前記姿勢に続く、前記第１のモーションの前記複数の姿勢と前記第２のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢で規定されるモーションを表し、前記第２の移行用モーションは、前記第１の移行用モーションの表示中に最後に表示された当該キャラクタの前記姿勢と前記第３のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢により規定されるモーションを表す。更に望ましくは、前記第２の移行用モーションを規定する前記徐々に増大する合成比率は、合成比率が一定の値ずつ増大する場合よりも急激に増大するものである。
他の具体的な態様の例は、前記第２の決定ステップでは、前記第３のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記第２の移行用モーションを規定する一連の姿勢が順次決定され、前記一連の合成の内の最初の合成は、前記キャラクタの前記第１の移行用モーションの表示中に前記最後に表示された姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施されるものである。
【００１５】
本発明に係るモーション表示方法の他の望ましい態様は、ビデオゲームのキャラクタの第１のモーションを表示中にプレイヤによる操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、所定の条件が満たされているか否かを判別する判別ステップと、前記第１のモーションから前記第２のモーションに移行するための移行用モーションを決定するための移行用モーション決定手順として、所定の複数の移行用モーション決定手順の一つを前記判別ステップによる判別結果に依存して選択する選択ステップと、前記選択ステップで選択された移行用モーション決定手順に従って移行用モーションを決定する決定ステップと、前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示する表示ステップと、を含むものである。
【００１６】
本発明に係るモーション表示方法の上記望ましい態様によれば、移行用のモーションとして望ましいモーションを使用することが可能になる。
【００１７】
具体的には、前記判別ステップは、前記第１のモーションがいずれかのモーションから他のモーションへ移行するための移行用モーションであることを前記条件としているものである。
【００１８】
本発明に係る記録媒体は、コンピュータで実行されるビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための移行用モーションを決定する決定ステップと、前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示し、当該移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する表示ステップと、をコンピュータに実行させるプログラムであり、前記決定ステップでは、前記第２のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記移行用モーションを規定する一連の姿勢が順次決定され、前記一連の合成の内の最初の合成は、前記キャラクタの前記最後に表示された姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施されるものである。
【００２１】
本発明に係る記録媒体の望ましい態様は、コンピュータで実行されるビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、ビデオゲームのキャラクタの第１のモーションの表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、前記第１のモーションの最後に表示された当該キャラクタの姿勢に続く、前記第１のモーションの複数の姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する第１の決定ステップと、前記第１のモーションの前記表示済みのモーション部分に続けて、前記第１の決定ステップで決定された前記第１の移行用モーションを表示し、当該第１の移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する第１の表示ステップと、前記第１の移行用モーションの表示中に操作入力に応答して前記キャラクタのモーションを前記第１の移行用モーションの表示済みのモーション部分から第３のモーションに移行するときに、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの姿勢と前記第３のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１の移行用モーションの前記表示済みのモーション部分から前記第３のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第２の移行用モーションを決定する第２の決定ステップと、前記第１の移行用モーションの前記表示済みのモーション部分に続けて、前記第２の決定ステップで決定された前記第２の移行用モーションを表示し、当該第２の移行用モーションに続けて前記第３のモーションの前記後続のモーション部分を表示する第２の表示ステップと、をコンピュータに実行させるプログラムであるものである。
【００２２】
具体的には、前記第１の移行用モーションは、前記第１のモーション表示中に最後に表示された前記キャラクタの前記姿勢に続く、前記第１のモーションの前記複数の姿勢と前記第２のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢で規定されるモーションを表し、前記第２の移行用モーションは、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの前記姿勢と前記第３のモーションの前記先頭の複数の姿勢のそれぞれとを徐々に増大する合成比率を用いて合成したときに得られる一連の姿勢により規定されるモーションを表す。より具体的には、前記第２の移行用モーションを規定する前記徐々に増大する合成比率は、合成比率が一定の値ずつ増大する場合よりも急激に増大するものである。
他の具体的な態様の例は、前記第２の決定ステップでは、前記第３のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記第２の移行用モーションを規定する一連の姿勢が順次決定され、前記一連の合成の内の最初の合成は、前記キャラクタの前記第１の移行用モーションの表示中に前記最後に表示された姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第３のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施されるものである。
【００２３】
本発明に係る記録媒体の他の望ましい態様は、コンピュータで実行されるビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、ビデオゲームのキャラクタの第１のモーションを表示中にプレイヤによる操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、所定の条件が満たされているか否かを判別する判別ステップと、前記第１のモーションから前記第２のモーションに移行するための移行用モーションを決定するための移行用モーション決定手順として、所定の複数の移行用モーション決定手順の一つを前記判別ステップによる判別結果に依存して選択する選択ステップと、前記選択ステップで選択された移行用モーション決定手順に従って移行用モーションを決定する決定ステップと、前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定ステップで決定された前記移行用モーションを表示する表示ステップと、をコンピュータに実行させるプログラムであるものである。
【００２４】
具体的には、前記判別ステップは、前記第１のモーションがいずれかのモーションから他のモーションへ移行するための移行用モーションであることを前記条件としている。
【００２５】
本発明に係るゲーム装置の望ましい一つの態様は、ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する決定手段と、前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定手段で決定された前記移行用モーションを表示し、当該移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する表示手段と、を備え、前記決定手段では、前記第２のモーションの前記先頭の複数の姿勢のそれぞれに対し順次合成が施されるように、一連の合成が施され、それにより前記移行用モーションを規定する一連の姿勢が順次決定され、前記一連の合成の内の最初の合成は、前記キャラクタの前記最後に表示された姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の最初の姿勢とに対して施され、前記一連の合成の内の第ｉ番目の合成（ただしｉは２以上の整数）は、前記一連の合成の内の第（ｉ−１）番目の合成により得られた前記キャラクタの姿勢と前記第２のモーションの前記先頭の複数の姿勢の内の第ｉ番目の姿勢とに対して施されるものである。
本発明に係るゲーム装置の他の望ましい態様は、ビデオゲームのキャラクタの第１のモーションを表示中に操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、当該第１のモーションの表示中に最後に表示された当該キャラクタの姿勢に続く、前記第１のモーションの複数の姿勢と前記第２のモーションの先頭の複数の姿勢により規定される先頭のモーション部分とに依存して、前記第１のモーションの前記表示済みのモーション部分から前記第２のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第１の移行用モーションを決定する第１の決定手段と、前記第１のモーションの前記表示済みのモーション部分に続けて、前記第１の決定手段で決定された前記第１の移行用モーションを表示し、当該第１の移行用モーションに続けて前記第２のモーションの前記後続のモーション部分を表示する第１の表示手段と、前記第１の移行用モーションの表示中に操作入力に応答して前記キャラクタのモーションを前記第１の移行用モーションの表示済みのモーション部分から第３のモーションに移行するときに、前記第１の移行用モーションの表示中に最後に表示された前記キャラクタの姿勢と前記第３のモーションの先頭の複数の姿勢により規定される先頭モーション部分とに依存して、前記第１の移行用モーションの前記表示済みのモーション部分から前記第３のモーションの前記先頭のモーション部分の後続のモーション部分に移行するための第２の移行用モーションを決定する第２の決定手段と、前記第１の移行用モーションの前記表示済みのモーション部分に続けて、前記第２の決定手段で決定された前記第２の移行用モーションを表示し、当該第２の移行用モーションに続けて前記第３のモーションの前記後続のモーション部分を表示する第２の表示手段と、を備えるものである。
本発明に係るゲーム装置の更に他の望ましい態様は、ビデオゲームのキャラクタの第１のモーションを表示中にプレイヤによる操作入力に応答して当該キャラクタのモーションを前記第１のモーションの表示済みのモーション部分から第２のモーションに移行するときに、所定の条件が満たされているか否かを判別する判別手段と、前記第１のモーションから前記第２のモーションに移行するための移行用モーションを決定するための移行用モーション決定手順として、所定の複数の移行用モーション決定手順の一つを前記判別手段による判別結果に依存して選択する選択手段と、前記選択手段で選択された移行用モーション決定手順に従って移行用モーションを決定する決定手段と、前記第１のモーションの前記表示済みのモーション部分に続けて、前記決定手段で決定された前記移行用モーションを表示する表示手段と、を備えるものである。
【００２６】
【発明の実施の形態】
以下、本発明に係る記録媒体、モーション表示方法及びゲーム装置のいくつかの実施の形態を図面を参照して詳細に説明する。なお、以下においては、同じ参照番号は同じもの若しくは類似のものを表すものとする。また、第２の実施の形態以降では、第１の実施の形態との相違点を主に説明するに止める。
【００２７】
＜発明の実施の形態１＞
図１に示すように、ゲームシステム１は、例えば本発明に係るコンピュータゲームプログラムを記録したＣＤ−ＲＯＭ４０を着脱自在に装着できるゲーム装置１０と、それにケーブルでそれぞれ接続された、テレビジョンセット２０及び二人のプレイヤがそれぞれ操作可能な複数のキーパッド３０Ａ，３０Ｂとから構成されている。ゲーム装置１０は、家庭用ゲーム装置であり、一つの筐体内に収められたコンピュータ１００を含む。
【００２８】
プレイヤは、ゲーム装置１０上の開閉ボタン（図示せず）を押し、開閉可能な蓋（図示せず）を開き、例えばＣＤ−ＲＯＭ４０をその内部に装着する。ゲーム装置１０は、ＣＤ−ＲＯＭ４０に記録されたコンピュータゲームプログラムを実行する。
【００２９】
本ゲーム装置１０は、キーパッド３０Ａ，３０Ｂに対応する一対のカードスロット（図示せず）を有する。それぞれのカードスロットには、外部補助記録媒体である二つのメモリカード５０Ａ，５０Ｂを挿入可能である。各プレイヤは、ゲーム中のキャラクタに関するデータあるいはゲームプログラムの進行状況に関するデータ等のゲームの再開に必要なデータを、それぞれカードスロットに挿入されたメモリカード５０Ａ又は５０Ｂに任意に記憶させることができる。プレイヤがゲームを中断した後にそのメモリカード５０Ａ又は５０Ｂを使用してゲームを再度実行すると、ゲーム装置１０は中断した部分からゲームを再開する。
【００３０】
テレビジョンセット２０は、ゲーム装置１０に対する表示装置の一例として使用される。テレビジョンセット２０は、ビデオ信号及び音声信号をゲーム装置１０から受信し、受信したビデオ信号を処理して映像をその画面２１に表示し、受信した音声信号に応じた音声をテレビジョンセット２０に付随するスピーカ２２から出力する。
【００３１】
キーパッド３０Ａ，３０Ｂは一般にコントローラとも呼ばれ、プレイヤが操作するための複数のボタンその他の操作部を有し、入力装置の一例として使用される。その構造の例は後に説明する。
【００３２】
コンピュータ１００は、例えば、中央処理装置（ＣＰＵ）１０１と、ＣＰＵ１０１がプログラム命令を実行するのに必要な命令列及びデータを記憶する読み出し専用メモリ（ＲＯＭ）１０２と、実行すべきゲームプログラム及びそのゲームプログラムが使用するデータを一時的に記憶するためのメインメモリを構成するランダムアクセスメモリ（ＲＡＭ）１０３と、グラフィック処理部１０４と、サウンド処理部１０５と、ＣＤ−ＲＯＭ４０が搭載されるＣＤ−ＲＯＭドライブ１０６と、入出力インタフェース部１０７と、磁気記憶装置（ＨＤＤ）１０８と、通信インタフェース部１０９及び以上の回路を接続するバス１１０とにより構成される。
【００３３】
ＣＰＵ１０１は、ＲＡＭ１０３に記憶されたプログラム命令を解読実行し、その命令にしたがってコンピュータ内部の各回路を制御するとともに、入出力インタフェース部１０７を介してキーパッド３０Ａあるいは３０Ｂから入力されるプレイヤによる操作入力に応答して、その操作入力に対応するプログラム部分を実行するようにゲームプログラムの実行を制御する。ＣＰＵ１０１はプログラム命令の実行時にＲＯＭ１０２に記憶された命令列を適宜実行する。
【００３４】
グラフィック処理部１０４は、図示されていないビデオＲＡＭ（ＶＲＡＭ）を含み、その中にフレームバッファ（図示せず）を構成し、ＣＰＵ１０１から与えられる命令に応答して、オブジェクトを表す複数のポリゴンからなる画像などをフレームバッファ上に描画する。更に、グラフィック処理部１０４は、そのフレームバッファに記憶された画像に応じたビデオ信号、例えばテレビジョン信号を生成して、テレビジョンセット２０内の図示しないビデオ回路に出力する。
【００３５】
フレームバッファは、一対のフレームバッファからなる。同一のフレーム画像を構成する複数のオブジェクトの画像は、上記一対のフレームバッファの一方に記憶される。一つのフレーム画像の生成が終了すると、次のフレーム画像が上記一対のフレームバッファの他方に記憶される。こうして、複数のフレーム画像が上記一対のフレームバッファに交互に記憶される。
【００３６】
一対のフレームバッファ内の、現在フレーム画像を記憶するのに使用されている一方のフレームバッファと異なる他方のフレーバッファからそこに最近に記憶されたフレーム画像が読み出される。読み出すべきフレームバッファの切り替えはテレビジョンセット２０の垂直同期信号に同期して行われ、新たなフレーム画像の生成もこの信号に同期して行われる。垂直同期信号の周期がフレーム画像表示周期（あるいは単にフレーム周期とも呼ぶ）である。
【００３７】
サウンド処理部１０５は、ＲＡＭ１０３に記憶されたサウンドデータに基づいて音声、音楽、効果音等を表すサウンド信号を発生し、テレビジョンセット２０内の図示しないオーディオ回路を介してスピーカ２２に供給する。
【００３８】
入出力インタフェース部１０７は、キーパッド３０Ａ，３０Ｂとカードスロット（図示せず）に挿入されたメモリカード５０Ａ，５０Ｂとに接続され、これらのキーパッド及びメモリカードとＣＰＵ１０１その他の回路との間のデータ転送のタイミングを制御する。なお、本発明に係るゲーム装置を構成するコンピュータは図示されたものあるいはそれに類似のものに限定はされないことは言うまでもない。
【００３９】
ＣＤ−ＲＯＭ４０は、ゲームプログラム及びそれが使用するデータを記録した記録媒体である。ＣＤ−ＲＯＭドライブ１０６は、このゲームプログラムとデータを読み込み、ＲＡＭ１０３に格納し、ＣＰＵ１０１による実行に供する。
【００４０】
本ゲーム装置で使用されるゲームプログラムとデータは、他の方法で提供することもできる。例えば、そのゲームプログラムを通信に使用される搬送波内に含ませて、コンピュータで実行させるためのコンピュータデータ信号として送信しゲーム装置側で受信するという方法を採用することもできる。
【００４１】
具体的には、例えば通信インタフェース部１０９により、通信回線１１１を介して接続されたネットワーク１１２上の図示されていない他の機器からゲームプログラムをダウンロードしてゲーム装置１０で使用してもよい。磁気記憶装置１０８は、そのようにしてダウンロードされたゲームプログラムを記憶し、ＣＰＵ１０１によりそのゲームプログラムを実行させるためにあるいは他の目的に使用できる。
【００４２】
あるいは通信回線１１１を介して接続されたネットワーク１１２上の図示しない他の機器内のメモリに上記ゲームプログラムとデータをあらかじめ記憶し、このゲームプログラムとデータを通信回線１１１とネットワーク１１２を介して必要に応答して順次ＲＡＭ１０３に格納して使用してもよい。なお、このような使用形態と、ＣＤ−ＲＯＭを使用する使用形態あるいは磁気記憶装置１０８を使用する使用形態の一つのみをサポートできるようにゲーム装置１０を構成してもよい。
【００４３】
本実施の形態では、ゲームプログラムとして野球ゲームが使用される。ＲＡＭ１０３は、野球ゲーム用のプログラムの実行時には、例えば図２に示すメモリマップにしたがって使用される。システム領域１０３ａには割り込み処理ルーチンへのジヤンプ先を示す割り込みベクタ等のゲーム進行の基本動作に必要なシステム情報が記憶される。プログラム領域１０３ｂにはゲームプログラムの実行中の部分がＣＤ−ＲＯＭ４０からロードされる。
【００４４】
モーションデータ領域１０３ｃには、全選手のいろいろのモーションを表す複数のモーションデータが格納される。モデルデータ領域１０３ｄには、ゲーム中に登場する複数の選手を表す画像を生成するのにそれぞれ使用される複数の選手モデルデータが格納される。以上のデータはいずれもＣＤ−ＲＯＭ４０からゲームプログラムの実行前に対応するワーク領域に格納される。これらのデータの詳細は後に説明する。他のワーク領域１０３ｅは、ゲームプログラムの実行時に他のデータを一時的に保持するワーク領域として使用される。
【００４５】
図３にはキーパッド３０Ａの構造の例が示されている。他のキーパッド３０Ｂも同じ構造である。３１は、画面２１に表示されるカーソルを左、右、上又は下方向に移動するための４つの方向キーからなる方向キー群であり、３２はＬ１ボタン、３３はＲ１ボタン、３４は三角（△）ボタン、３５は丸（○）ボタン、３６は、ばつ（×）ボタン、３７は四角（□）ボタンである。
【００４６】
本発明を適用するゲームシステムは図示されたものあるいはそれに類似のものに限定されない。他の構造の、表示装置、入力装置、ＣＰＵあるいは記録媒体を使用してもよいことは言うまでもない。
【００４７】
図４には、本実施の形態で使用される野球ゲームプログラムにより表示される画面の一例が示されている。打者６０、投手６１、野手６２，６３、ランナー６４等の選手が表示されている。守備側のプレイヤは、一方のキーパッド、例えば３０Ａを用いて投手６１に投球あるいはランナー６４に対する牽制を指令できる。攻撃側のプレイヤは、他のキーパッド３０Ｂを用いて、打者６０による打撃あるいはランナー６４による走塁を指令できる。
【００４８】
打者６０による打撃の支援のために、ストライクゾーン６７が表示される。ストライクゾーン６７は９個の同じ大きさの部分領域に区分されている。攻撃側のプレイヤは、投手６１により投げられたボールを見て、ストライクゾーン６７内のボールが来る部分領域を予測し、方向キー群３１を用いてカーソル６８をその予測した部分領域に動かすことにより打撃位置を指示する。
【００４９】
走塁の指令には、例えば「走れ」と「戻れ」がある。具体的には、走塁指示対象のランナーが１塁ランナー、２塁ランナー又は３塁ランナーであるとき、そのランナーを指定するために方向キー群３１内の右方向キー（→）、上方向キー（↑）又は左方向キー（←）が操作される。出塁中の全ランナーに対する走塁指示を指示するときには、方向キー群３１内のいずれの方向キーも操作されない。
【００５０】
「走れ」は、Ｌ１キー３２により指示される。ランナーはこのキーが押されている間、走り続け、このキーが開放されたときにランナーは停止する。「戻れ」は、Ｒ１キー３３により指示される。このキーが押されている間、ランナーは元の塁に向けて走り続け、このキーが開放されたときにランナーは停止する。ランナーの停止は、特別のキーの操作によって指示されるのではなく、「走れ」を指示するＬ１キー３２あるいは「戻れ」を指示するＲ１キー３３が押されなくなったときに、結果として指示されることになる。
【００５１】
ランナーが「走れ」を指示されなくなったとき、ランナーのモーションをそれまでの走るモーションから停止時のモーションに移行する必要がある。本発明では、このようにプレイヤによるキー操作が終了したときであっても、その終了に伴いキャラクタのモーションの変更を必要とする場合には、新たな操作入力がプレイヤにより与えられたと考える。
【００５２】
本実施の形態でのキャラクタのモーションの移行方法を説明する前に、キャラクタのモーションの表示の原理的な処理を説明する。キャラクタのモーションの表示のためにキャラクタの骨格を表すスケルトンモデルが使用される。図５には、スケルトンモデルの一例を示す。スケルトンモデルとしては他の構造のものも使用可能であるのは言うまでもない。
【００５３】
キャラクタは、３次元のローカル空間に位置し、人の首、肩、肢体等を表すための複数の直線状のアークＥ１ないしＥ１０からなるスケルトンモデルでもって表される。これらのアークは関節Ｎ１からＮ６により相互に連結されている。例えば最初のアークＥ１は首を表し、アークＥ２は肩を表し、関節Ｎ１によりアークＥ１に連結されている。アークＥ３は腕を表し、関節Ｎ２によりアークＥ２に接続されている。以下では、各関節をノードと呼ぶ。
【００５４】
各アークに対応して、そのアークに対応する肢体等を表す複数のポリゴンが後に説明するモデルデータにより定義されており、ポリゴンで構成されたキャラクタの画像が形成される。
【００５５】
各アークの位置と方向を指定するにはいろいろの方法が使用できるが、ここでは例えば以下に示す方法が用いられる。各アークは、それの基準点の位置とそのアークの角度で指定される。アークＥ１の基準点はその端点Ｎ０である。この基準点Ｎ０はこのスケルトンモデル全体の基準点としても使用される。他のアークの基準点にはそのアークが接続されたアークＥ１に近い側（上流側）のノードが使用できる。例えばアークＥ２の基準点はノードＮ１である。
【００５６】
アークＥ１の位置データとして、ローカル空間内の基準点Ｎ０の位置座標が用いられる。アークＥ１の角度データとしてローカル空間内のアークＥ１の角度座標が用いられる。他のアークの位置データ及び角度データとして、上流側のアークに対する相対位置座標及び相対角度座標が用いられる。すなわち、あるアークの位置データとして、アークＥ１に近い側の隣接アークの基準点に対する、当該アークの基準点の相対位置が使用される。
【００５７】
具体的には当該アークの基準点のローカル空間内の位置座標と上記上流側の隣接アークの基準点のローカル空間内の位置座標との差が使用される。例えばアークＥ２の位置データとしては、アークＥ１の基準点Ｎ０に対する、ノードＮ１の相対位置が使用される。すなわち、アークＥ２の基準点Ｎ１の位置座標（Ｘ２，Ｙ２，Ｚ２）とアークＥ１の基準点Ｎ０の位置座標（Ｘ１，Ｙ１，Ｚ１）との差座標が使用される。
【００５８】
各アークの角度データとして上記隣接アークの角度に対する当該アークの相対角度が使用される。すなわち、当該アークのローカル空間内の角度座標と上記隣接アークのローカル空間内の角度との差座標が使用される。例えばアークＥ２の角度データとしては、アークＥ１の角度に対する、アークＥ２の相対角度が使用される。すなわち、アークＥ２の角度座標（α２，β２，γ２）とアークＥ１の角度座標（α１，β１，γ１）の差座標が使用される。なお、アークその他の要素の角度は４元数（クォータニオン）を用いて表すことが望ましいが、本実施の形態では簡単化のために、角度座標はオイラー角を用いて説明する。
【００５９】
以上のように、各アークに関するデータは位置データと角度データの両方からなり、これら二つのデータは合わせて６つの座標成分を持つ。以下では各アークに関する位置データと角度データを合わせて位置角度データ、単にアークのデータ、アークデータあるいは６座標成分と呼ぶことがある。スケルトンモデルを構成する全アークに関して定義された位置角度データをまとめてスケルトンデータあるいは骨格データと呼ぶことがある。
【００６０】
スケルトンモデルに基づいてキャラクタを表す画像を生成するときには、スケルトンモデルを構成する各アークに対応する仮想空間（ワールド空間）内の位置及び角度が決定される。具体的には、ゲームプログラムで定められたキャラクタの位置データ及び方向データに基づいて、最初のアークＥ１が仮想空間内に配置される。すなわち、キャラクタの位置データと方向データに従って、アークＥ１の仮想空間内の位置と角度が決定される。
【００６１】
既に述べたように、アークＥ２の位置データと角度データはアークＥ１に対する相対位置と相対角度を表す。これらの相対位置と相対角度と仮想空間内のアークＥ１の位置と座標とに基づいて、仮想空間内のアークＥ２の位置と角度が決定される。仮想空間内の他のアークＥ３からＥ１０の位置と角度も同様にして決定される。その後、このようにして決定された仮想空間内のアークの各々に対して、そのアークに対応する肢体等を表すポリゴンの配置がモデルデータを用いて決定され、キャラクタを表すオブジェクトモデルが生成される。
【００６２】
その後、ポリゴンに透視変換などのレンダリング処理が施され、画面に表示されるキャラクタを表すように、上記オブジェクトモデルを構成する複数のポリゴンの画面上の形と位置が決定される。また、オブジェクトモデルに対してテクスチャマッピング処理が施され、キャラクタを構成する複数のポリゴンの各面に色及び模様などが割り当てられる。こうして、キャラクタの状態を表す画像が生成され、画面に表示される。
【００６３】
キャラクタのモーションの表示のために、各フレームごとに上記スケルトンデータが使用される。したがって、異なるフレームに対するスケルトンデータの集合が、表示すべきモーションを規定するデータであり、このデータをモーションデータと呼ぶのが自然である。
【００６４】
本実施の形態でも選手のモーションを表示するために上記スケルトンデータが使用される。しかし、モーションの表示のためには、上記スケルトンデータの集合がそのままモーションデータとしてＲＡＭ１０３にあらかじめ記憶されている必要はなく、ＲＡＭ１０３に記憶された他のデータから異なるフレームに対応するスケルトンデータの集合を生成することもできる。
【００６５】
本明細書では、上記スケルトンデータの集合とは異なり、上記スケルトンデータの集合の生成に使用されるＲＡＭ１０３にあらかじめ記憶されたデータも広くモーションデータと呼ぶ。
【００６６】
図６は、本実施の形態においてＲＡＭ１０３にあらかじめ記憶されるモーションデータ７０の例を示す。モーションデータ７０は異なるノードに対応する複数の部分モーションデータ７０Ａ，７０Ｂ、…からなる。各部分モーションデータは、対応するノードの識別情報（以下、ノードＩＤ  （ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）  と呼ぶ）７１と、その部分モーションデータが使用するキーフレームの数７２と、それぞれのキーフレームのフレーム番号７３ａ，７３ｂ、…と、それぞれのキーフレームにおける対応するノードの相対角度７４ａ，７４ｂ、…とを含む。
【００６７】
ここで、キーフレームは、よく知られているように、アニメーションの表示に使用される一連のフレームからあらかじめ選択された、当該一連のフレームを代表するフレームである。各キーフレームに対する画像データがあらかじめ決定され、当該キーフレームに対する画像情報の生成に使用されるが、キーフレーム以外のフレームの画像情報は、当該フレームの前後の一対のキーフレームに対してあらかじめ決定された一対の画像データを補間して得られる画像データから生成される。本実施の形態では、キャラクタのモーションを表す、キャラクタの時系列的に変化する姿勢を代表する複数の姿勢を表す複数のフレームがそれぞれキーフレームとして使用される。
【００６８】
各部分モーションデータは、キーフレームにおける対応するノードの情報しか含まない。これにより、モーションデータとして記憶すべきデータの量を低減している。更に、キーフレームとして使用されるフレームの数とフレーム番号はノード毎に定められている。それにより、ノード毎に必要なキーフレームの数を最適化でき、モーションデータ全体のデータ量を更に低減している。
【００６９】
更に、各キーフレームに対して記憶されるノードに接続されたアークに関する情報は、そのアークの相対角度のみであり、そのアークの相対位置を含まない。これにより、モーションデータのデータ量を更に低減している。アークの相対位置は、そのアークの相対角度と表示すべきキャラクタのモデルデータにより後に説明する方法により決定される。
【００７０】
このモーションデータ７０を用いた一般的なモーション表示の原理的な処理Ｓ３００が図７に示される。まず、表示すべきモーションに対するモーションデータ７０がＲＡＭ１０３から読み出される（ステップＳ３０１）。新たにフレーム画像を表示する毎に、そのフレーム画像の表示の前に、そのフレーム画像で表示すべき選手の画像を生成するために、そのフレームにおける各ノードの相対角度を示す姿勢データがモーションデータ７０に基づいて以下のようにして生成される（ステップＳ３０２）。
【００７１】
任意のフレームにおける各ノードの相対角度は、そのノードのキーフレーム情報を参照して補間により決定される。すなわち当該フレームが当該ノードのいずれかのキーフレームに一致するか否かが判断される。一致が検出されたとき、一致するキーフレームに対して記憶された相対角度が当該フレームにおける当該ノードの相対角度として使用される。一致が検出されないとき、当該フレームの両側に位置する一対のキーフレームに対して記憶された一対の相対角度を補間して当該フレームにおける当該ノードの相対角度が決定される。
【００７２】
こうして、図８に示される姿勢データ７５が生成される。データ７５はそれぞれのノードに関する部分データ７５ａ，７５ｂ，…として、ノードＩＤ７６ａ，７６ｂ，…と、それぞれのノードのそのフレームにおける相対角度７７ａ，７７ｂ，…とを含む。
【００７３】
データ７５は、各ノードの相対角度しか含まない。しかし、各ノードの長さは後に説明するように、あらかじめ決められている。したがって、データ７５は、当該フレームにおける選手の姿勢を示すと考えることができる。以下ではデータ７５をフレーム別姿勢データあるいは単に姿勢データと呼ぶことにする。
【００７４】
図７に戻り、姿勢データ７５に基づいて当該フレームに対するスケルトンデータが生成される（ステップＳ３０３）。図９に示されるように、スケルトンデータ７８は、当該フレームにおけるそれぞれのノードに関するデータ７８ａ，７８ｂ，…として、ノードＩＤ７９ａ，７９ｂ，…と、それぞれのノードのそのフレームにおける相対角度８０ａ，８０ｂ，…と、相対位置８１ａ，８１ｂ，…とを含む。
【００７５】
各ノードの相対位置は次のようにして決定される。本実施の形態では、野球ゲームをよりリアルにするために、各選手には、プロ野球のいずれかの特定の選手が対応付けられ、その特定の選手の名前が与えられ、更に各選手の頭部、背番号及びユニフォームが対応する特定のプロ野球の選手のそれらを模擬するように表示される。更に選手の体型もそのプロ野球選手のそれに近いものになるように表示される。
【００７６】
このような表示を実現するために、図１０に示すように、各選手に対応して選手モデルデータ８２があらかじめ定められている。選手モデルデータ８２には、異なるノードに対する部分モデルデータ８２Ａ，８２Ｂ，…が含まれる。各部分モデルデータ８２Ａ又は８２Ｂには、対応するノードのノードＩＤ８３ａと、そのノードが接続されている上流側のノードである親ノードのＩＤ８３ｂと、対応する選手が基準姿勢にあるときの、各ノードの相対位置８３ｃ及び相対角度８３ｄと、選手の表示時のサイズを規定するための相対スケール８３ｅ等が含まれている。
【００７７】
各ノードに関連するポリゴンを指定するポリゴンデータ８４も含まれている。このポリゴンデータ８４には、各ポリゴンの構造に関するデータとともに、選手の背番号を表すテキスチャーデータ及び選手が属するチームのユニフォームを表すテキスチャーデータ等のテキスチャーデータも含まれる。
【００７８】
各ノードに対する相対位置８３ｃにより当該ノードの上流側のアークの長さが計算される。そのノードの各表示フレームでの相対位置は、計算された当該上流側のアークの長さと、姿勢データ７５に含まれる、当該フレームでの当該上流側のノードの相対角度とから計算される。こうして、当該フレームにおける各ノードの相対位置が決定され、図９に示されたスケルトンデータ７８が決定される。
【００７９】
図７に戻り、生成されたスケルトンデータ７８に基づいて、かつ、選手のモデルデータを使用して、当該フレームにおける選手のキャラクタ画像が生成され、表示される（ステップＳ３０４）。選手特有の顔、背番号、選手が所属するチームのユニフォーム等を有する３次元の選手を表す画像が生成される。
【００８０】
以上の処理が異なるフレームに対して繰り返されることにより、選手の一つのモーションが表示されることになる。
【００８１】
本実施の形態でのモーションの移行の詳細を以下に説明する。図１１にはモーションの移行を含むモーション表示処理Ｓ３５０のフローを示す。キーパッド３０Ａ又は３０Ｂからの操作入力が検出され（ステップＳ３５１）、検出された操作入力によりモーションの変更を要するか否かが判断される（ステップＳ３５２）。
【００８２】
モーションの変更が必要であると判断されたときには、合成切り替え処理Ｓ４００が実行される。本実施の形態では、後に説明するように、モーションの移行時には表示中のモーションから移行先のモーションに滑らかに移行するための移行用のモーションが合成処理により生成される。複数の合成処理を切り替えて実行可能になっている。合成切り替え処理Ｓ４００では、これらの複数の合成処理の一つが選択される。
【００８３】
図１２を参照して合成切り替え処理Ｓ４００の詳細を説明する。本実施の形態では、モーションの移行が最初に必要になった場合、移行用のモーションを通常合成処理により生成してもキャラクタの不自然な姿勢が出現しないと仮定している。例えば、野球ゲームでは、ランナーに「走れ」が指示された後で「止まれ」が指示されたとき、移行先の停止時のモーションは移行元の走るモーションとはランナーの逆の動きを必要としないので、走るモーションと停止時のモーションは通常合成処理により合成しても、得られる移行用のモーションにはランナーの不自然な姿勢が発生しない。ランナーに対する指示が「止まれ」から「戻れ」に変更されたときも同様である。
【００８４】
更に、ランナーに「走れ」モーションの表示を必要とする第１の指令が指示されたとき、「戻れ」のような逆方向の動きを伴うモーションの表示を必要とする第２の指令が同じランナーにいきなり指示されることはなく、第１と第２の指令の間に「止まれ」のような姿勢の変化が少ないモーションの表示を要する第３の指令が指示されると仮定している。したがって、最初にモーションの移行を行うときは、通常合成処理により移行用のモーションを生成しても上記問題が生じない。
【００８５】
しかし、走るモーションから停止状態のモーションに移行する途中でプレイヤから「戻れ」という指示がなされることがある。このときには、走るモーションから停止時のモーションに移行するための第１の移行用モーションの表示中に、更に戻るモーションに移行する第２の移行用モーションに移行する必要がある。しかしながら、第１の移行用モーションの先頭のモーション部分は、走るモーションの影響を強く受けて、ランナーがかなりの速度で走っているモーションに近いことがあり、表示中のモーションと移行先のモーションは逆方向に走るモーションとなる。したがって、第２の移行用モーションを合成処理により生成すると、移行用のモーションの途中で不自然な姿勢が出現することがある。
【００８６】
一般的には、ビデオゲームではあるモーションからいずれかのモーションにモーションが移行する可能性があることが事前に分かっていることが多い。このようなモーションの組合わせに対しては、一般に移行用のモーションを合成により生成しても不自然な姿勢が移行用のモーションに出現しないように、移行前のモーションと移行後のモーションに対するモーションデータをあらかじめ設計することが可能である。しかしながら、上記移行用のモーションの表示中に更に他のモーションに移行するための他の移行用のモーションを合成により生成しても不自然な姿勢の出現を回避できるとは限らないのが普通である。したがって、上記仮定は本実施の形態に特有な仮定ではなく、一般的にビデオゲームにもあてはまる。
【００８７】
そこで、本実施の形態では、モーション合成中に新たにモーションを移行すべきときには、通常の合成処理ではなく、半固定合成処理と言う特殊な合成処理を使用して移行用のモーションを生成する。このことにより、移行用のモーションに不自然な姿勢が発生するのを回避している。
【００８８】
具体的には、合成切り替え処理Ｓ４００では、モーションの変更が必要になったとき、移行先のモーションが操作入力に基づいて決定される（ステップＳ４０１）。その後あらかじめ定めた条件に従い望ましい合成処理が選択される。具体的には選択条件としてモーションを合成中であるか否かが判断される（ステップＳ４０１）。すなわち、表示中のモーションが合成により生成されているか否かが判断される。この判定は、以下で述べるモーションモードに基づいて判断される。
【００８９】
モーションモードの初期値は非合成モードであり、例えば０である。モーションモードは、モーションの合成を開始しない限りこのモードに維持される。後に説明するように、モーションモードは、モーションの合成を開始すると、モーション合成のために実行される処理の種類に応じて値１又は２にセットされる。
【００９０】
モーションを合成中でないときには通常合成処理Ｓ６００が選択される。後に説明するように、通常合成処理では、キャラクタのモーションをプレイヤによる操作入力に応じたモーションに移行するために、後に説明する方法で移行用のモーションのための姿勢データが生成される。例えば、ランナー６４が走っているときに、「止まれ」を指示された場合、ランナー６４の走るモーションは合成により生成されていないので、通常合成処理Ｓ５１０が選択されることになる。なお、停止モーションは、例えば、ランナーが同じ位置で足を少し屈伸していることを示すモーションである。このとき、移行用のモーションは、走るモーションから少しずつ速度を落とすモーションである。
【００９１】
通常合成処理の選択は以下のようにして実行される。まずモーションモードが通常合成モードにセットされる（ステップＳ４０３）。例えば、モーションモードは値１にセットされる。更に通常合成処理が初期化される（ステップＳ４０４）。具体的には、通常合成処理で使用される合成フレーム番号ｊが０にセットされる。
【００９２】
判定ステップＳ４０２でモーションを合成中であると判断されたときには、半固定合成処理Ｓ７００が選択される。この処理では、キャラクタの合成中のモーションをプレイヤによる操作入力に応じたモーションに更に移行するために、通常合成処理Ｓ６００とは異なる、後に説明する方法で移行用のモーションのための姿勢データが生成される。
【００９３】
半固定合成処理Ｓ７００の選択は具体的には以下のようにして行われる。まずモーションモードが半固定合成モードにセットされる（ステップＳ４０５）。例えばモーションモードは値２にセットされる。更に半固定合成処理が初期化される（ステップＳ４０６）。具体的には、半固定合成処理で使用される、合成フレーム総数を表す変数ｋが０にセットされる。こうして合成切り替え処理Ｓ４００が終了する。
【００９４】
例えば、ランナー６４が走っているときに「止まれ」が指示され、走るモーションから止まるモーションへ移行するモーションを表示している途中で、ランナー６４に「戻れ」という指示が更になされた場合、上記移行用のモーションは通常合成処理Ｓ６００により生成されているので、この移行用のモーションから戻るモーションへ移行するための新たな移行用のモーションは半固定合成処理Ｓ７００により生成される。
【００９５】
半固定合成処理Ｓ７００の実行中に更にモーションを移行する場合も、合成切り替え処理Ｓ４００では、新たな移行用のモーションを生成するために半固定合成処理Ｓ７００が新たに起動される。
【００９６】
図１１に戻り、合成切り替え処理Ｓ４００の実行後に、モーションモードが判断される（ステップＳ３５３）。モーションモードに応じて異なる処理がその後実行される。
【００９７】
なお、ステップＳ３５２において、モーションの変更が不要であると判断された場合には、合成切り替え処理Ｓ４００は実行されず、ステップＳ３５３においてモーションモードが判定される。プレイヤが操作入力を入力しなかった場合あるいはプレイヤが操作入力を入力したが入力された操作入力が表示中のモーションに影響を与えない場合には、モーションの変更は不要である。
【００９８】
この場合、表示中のモーションのモーションモードは、合成を用いない非合成モード、通常合成モードあるいは半固定合成モードのいずれの場合もある。すなわち、通常合成処理あるいは半固定合成処理のいずれの合成処理も実行されていないときには、モーションモードは非合成モードである。
【００９９】
また、既に述べたように合成切り替え処理Ｓ４００が実行されたときにはモーションモードは通常合成モード又は半固定合成モードに変更され、その直後のフレームでは、以下に説明するように、変更後のモーションモードに対応して通常合成処理又は半固定合成処理が実行される。しかし当該フレームの後続のフレームにおいてモーションを変更する操作入力が更に入力されないときには、ステップＳ３５２において、モーション変更は不要と判断される。したがって、このような場合には、ステップＳ３５２においてモーション変更は不要と判断されたが、モーションモードは通常合成モード又は半固定合成モードである。
【０１００】
さて、ステップＳ３５３において、モーションモードが非合成モードであると判断されたときには、図７に関して説明したようにモーション表示の基本的な手順が実行される。すなわち、必要なモーションデータがＲＡＭ１０３より読み出され（ステップＳ３０１）、このモーションデータから姿勢データが生成される（ステップＳ３０２）。その後、姿勢データからスケルトンデータが生成され（ステップＳ３０３）、キャラクタ画像が生成され、次のフレームにおいて表示される（ステップＳ３０４）。その後ステップＳ３５１以降が繰り返される。
【０１０１】
判定ステップＳ３５３において、モーションモードが通常合成モードとあると判断されたときは、合成切り替え処理Ｓ４００において既に通常合成処理が選択されているときであり、通常合成処理Ｓ４００が後に説明する方法で実行され、移行用モーションの姿勢データが生成される。
【０１０２】
つぎにモーションの合成が終了したか否かが判断される（ステップＳ３５６）。この判断は、後に述べるように合成フレーム総数ｊが閾値Ｎａに達したか否かにより判断される。合成が終了していないときには、合成により得られた姿勢データからスケルトンデータが生成され（ステップＳ３０３）、スケルトンデータからキャラクタ画像が生成され、表示される（ステップＳ３０４）。その後ステップＳ３５１以降が繰り返される。
【０１０３】
この繰り返し時には、ステップＳ３５１においてモーションの変更を引き起こす新たな操作入力が検出されない限り、ステップＳ３５２において、モーションの変更が不要と判断される。したがって、合成切り替え処理Ｓ４００は実行されない。一方、合成が終了しているときには、モーションモードが非合成モードにセットされ（ステップＳ３５７）、その後ステップＳ３０３とＳ３０４が実行され、処理はステップＳ３５１に戻る。
【０１０４】
判定ステップＳ３５３において、モーション合成モードが半固定合成モードであると判断されたときは、合成切り替え処理Ｓ４００において既に半固定合成処理が選択されているときであり、半固定合成処理Ｓ７００が後に説明する方法で実行され、移行用モーションの姿勢データが生成される。
【０１０５】
つぎにモーションの合成が終了したか否かが判断される（ステップＳ３５４）。この判断は、後に述べるように合成フレーム総数ｋが閾値Ｎｂに達したか否かにより判断される。合成が終了していないときには、合成により得られた姿勢データからスケルトンデータが生成され（ステップＳ３０３）、スケルトンデータからキャラクタ画像が生成され、表示される（ステップＳ３０４）。その後ステップＳ３５１以降が繰り返される。この繰り返し時にも、合成切り替え処理Ｓ４００は実行されない。一方、合成が終了しているときには、モーションモードが非合成モードにセットされ（ステップＳ３５５）、その後ステップＳ３０３とＳ３０４が実行され、処理はステップＳ３５１に戻る。
【０１０６】
通常合成処理Ｓ６００は、図１３にしたがって以下のようにして実行される。この処理Ｓ６００では、キャラクタのモーションを表示中のモーションから移行先のモーションに滑らかに移行するための移行用のモーションが、表示中のモーション及び移行先のモーションを合成して生成される。すなわち表示中のモーションの移行開始時点より後の一連の姿勢データと、移行先のモーションの先頭のモーション部分を規定する一連の姿勢データが順次異なるフレームに対して合成され、移行用のモーションを規定する一連の姿勢データが順次生成される。
【０１０７】
合成は、合成フレーム総数の閾値Ｎａに基づいて行われる。Ｎａは、例えば５ないし２０である。まず、合成フレーム番号ｊが１だけカウントアップされる（ステップＳ６０３）。既に述べたように、図１２の合成切り替え処理Ｓ４００内のステップＳ４０６において、合成フレーム番号ｊはあらかじめ初期値０に設定されている。
【０１０８】
合成比率Ｇが下記式１にしたがって計算される（ステップＳ６０４）。合成比率Ｇは、移行先のモーションの合成比率である。表示中のモーションの合成比率は１−Ｇとなる。
【０１０９】
【数１】
Ｇ＝ｊ÷Ｎａ                    （１）
【０１１０】
その後、表示中のモーションを指定するモーションデータがＲＡＭ１０３から読み出される（ステップＳ６０５）。表示中のモーションの移行開始時点以降の一連の姿勢データのうち、次のフレームで表示されるキャラクタの姿勢を指定する姿勢データが、読み出されたモーションデータから生成される（ステップＳ６０６）。モーションデータから姿勢データを生成する方法は図７のステップＳ３０２に関して説明したとおりである。
【０１１１】
移行先のモーションを指定するモーションデータがＲＡＭ１０３から読み出される（ステップＳ６０７）。移行先のモーションの次の姿勢データが生成される（ステップＳ６０８）。ステップＳ６０６とＳ６０８で生成された二つの姿勢データがステップＳ６０３で定められた合成比率Ｇに従い合成される（ステップＳ６０９）。
【０１１２】
この合成では、表示中のモーションの姿勢データが示す各ノードの相対角度、例えば（αｓ，βｓ，γｓ）と移行先のモーションの最初の姿勢データが示す同じノードに対する相対角度、例えば（αｔ，βｔ，γｔ）に対して合成比率Ｇで合成し、合成後の相対角度（αｃ，βｃ，γｃ）が下記式２ａから２ｃにより計算される。この計算がスケルトンの全ノードに対して実行され、全ノードに対する計算により得られた一群の相対角度が合成後の姿勢データを構成する。なお、ここでは合成の対象となる二つの姿勢データに含まれた相対角度はオイラー角により表されていると仮定する。
【０１１３】
【数２】
αｃ＝αｓ×（１−Ｇ）＋αｔ×Ｇ            （２ａ）
βｃ＝βｓ×（１−Ｇ）＋βｔ×Ｇ            （２ｂ）
γｃ＝γｓ×（１−Ｇ）＋γｔ×Ｇ            （２ｃ）
【０１１４】
後に説明するようにこのモーション移行途中で更にモーションの移行を行う場合に、この合成で最後に得られた姿勢データが使用される。そのときに備えて、合成により姿勢データが生成されるごとに、旧姿勢データとしてＲＡＭ１０３に保存される（ステップＳ６１０）。
【０１１５】
こうして合成後の姿勢データが生成されると、処理は図１１に戻り、既に述べたように、ステップＳ３０３によりスケルトンデータが生成され、ステップＳ３０４によりキャラクタ画像が生成され、次のフレームにおいて表示される。その後、後続のフレームにおけるキャラクタ画像を生成するために図１１の処理が繰り返される。
【０１１６】
図１１の処理により通常合成処理Ｓ６００が繰り返し呼ばれるごとに、図１３のステップＳ６０３からＳ６０９が実行される。この繰り返しにより合成フレーム番号ｉが閾値Ｎａに等しくなったとき、図１１のステップＳ３５６により通常合成処理Ｓ６００が終了したと判断される。なお、ステップＳ６１０が繰り返されたときには、新たに生成された姿勢データは、先に保存された旧姿勢データを更新するように保存される。
【０１１７】
以上から分かるように、合成比率Ｇが、１／Ｎａから順次同じ値だけ増大し、最大（１−１／Ｎａ）に達するまでの合計Ｎａ−１個のフレームに対して合成が行われる。
【０１１８】
図１４（ａ）には、通常合成処理Ｓ６００による合成の一例が示されている。ここでは、図１１のステップＳ３０１からＳ３０４を繰り返し実行することにより、モーションＡを規定するモーションデータに基づき、キャラクタの一連の姿勢データＡｘ，Ａｙ，，，Ａｚにより規定される一連のキャラクタ画像が表示されていると仮定する。更に、姿勢データＡｚに基づくキャラクタ画像が表示されているときにプレイヤによる操作入力が与えられ、その操作入力に応答してモーションＢへの変更が必要であるとステップＳ３５２（図１１）で判断されたと仮定する。移行に使用する合成フレーム総数の閾値Ｎａは５であると仮定する。
【０１１９】
図において、Ａ１、Ａ２、…は、一連のフレームでモーションＡを表示するための一連の姿勢データのうち、姿勢データＡｚの後続の一連の姿勢データを表す。Ｂ１、Ｂ２、…は、モーションＢをその先頭から順次異なるフレームで表示するための一連の姿勢データである。移行用のモーションを決定するために、モーションＡの移行開始後の最初の姿勢データＡ１とモーションＢの最初の姿勢データＢ１とが合成比率１／５に基づいて合成され、移行用のモーションの最初の姿勢データＰ１が得られる。
【０１２０】
以下同様にしてモーションＡの後続の姿勢データＡ２，Ａ３，Ａ４とモーションＢの後続の姿勢データＢ２，Ｂ３，Ｂ４とがそれぞれ合成比率２／５、３／５、４／５に基づいて合成され、順次合成後の姿勢データＰ２，Ｐ３，Ｐ４が得られて合成が終了する。こうして一連の姿勢データＰ１，Ｐ２，Ｐ３，Ｐ４により指定される移行用のモーションＰが表示される。
【０１２１】
なお、モーションＡの次の姿勢データＡ５とモーションＢの次の姿勢データＢ５とを合成しても合成比率は５／５であり、合成結果は、モーションＢの姿勢データＢ５に等しくなるので、本実施の形態では姿勢データＡ５と姿勢データＢ５とは合成しない。一般的には、既に述べたように、合成フレーム総数の閾値をＮａとすると、合成比率が（１−１／Ｎａ）に達した後は、合成は行われない。その後は、モーションＢの後続の姿勢データＢ５，Ｂ６，Ｂ７，…に基づいてモーションＢの後続の部分が表示される。
【０１２２】
以上から分かるように、移行用のモーションＰの生成に、移行先のモーションＢの先頭モーション部分を規定する一連の先頭の複数の姿勢データが使用されている。したがって、モーションＢの影響が移行用のモーションＰに徐々に反映される。この結果、モーションの移行によりモーションＢの表示が実質的に遅延されないと言える。
【０１２３】
更に、モーションＡの移行開始後の後続の姿勢データＡ１，Ａ２，Ａ３，Ａ４が、移行用のモーションの生成に使用されているので、キャラクタのモーションは、モーションＡの影響を残しながら徐々にモーションＡからモーションＢに移行する。モーションＡとＢが特殊なモーションの組合わせである場合を除いて、移行用のモーションＰは、モーションＡからモーションＢへの滑らかな移行を実現すると期待される。
【０１２４】
しかし、後に説明するように、モーションＡとＢが互いに逆方向の動きを必要とするような特殊なモーションの組合わせであるときには、通常合成処理により生成されるモーションは、モーションの途中で姿勢が不自然な姿勢になることがあり、そのような特殊なモーションの組合わせの場合、それらのモーションの間でのモーションの移行には通常合成処理Ｓ６００は適さない。
【０１２５】
なお、通常合成処理Ｓ６００を、図１４（ｂ）に示すように論理演算記号を用いて後に言及することがある。ここでは、モーションＡとＢが通常合成処理Ｃｏにより合成され、モーションＰが得られることが示されている。
【０１２６】
半固定合成処理Ｓ７００は図１５にしたがって実行される。この処理Ｓ７００では、キャラクタのモーションを表示中のモーションから移行先のモーションに滑らかに移行するための移行用のモーションが、表示中のモーションとして表示されたキャラクタの最後の姿勢及び移行先のモーションを合成して生成される。すなわち表示中のモーションの移行直前にキャラクタの表示に使用された姿勢データと移行先のモーションの先頭のモーション部分を規定する一連の先頭の複数の姿勢データとが、順次異なるフレームに対して合成され、上記移行用のモーションを規定する一連の姿勢データが順次生成される。
【０１２７】
通常合成処理Ｓ６００では、表示中のモーションの移行開始時点より後に表示される部分を規定する一連の姿勢データも移行用のモーションの生成に使用されたが、半固定合成処理Ｓ７００では、表示中のモーションの移行開始直前に生成された姿勢データが移行用のモーションの生成に使用される点で、半固定合成処理Ｓ７００は通常合成処理Ｓ６００と異なる。半固定合成処理Ｓ７００では、表示中のモーションが、移行開始前の特定の姿勢に固定されて移行先のモーションと合成されるので、この合成処理を半固定合成処理と呼ぶことにする。
【０１２８】
具体的には図１５において、Ｎｂ，ｋは図１３におけるＮａとｊと同じく合成フレーム総数の閾値及び合成フレーム番号を表す。まず合成フレーム番号ｋが１だけカウントアップされる（ステップＳ７０３）。既に述べたように、図１２の合成切り替え処理Ｓ４００内のステップＳ４０４において、合成フレーム番号ｋはあらかじめ初期値０に設定されている。合成比率Ｈが先に述べた合成比率Ｇと同様にして計算される（ステップＳ７０４）。
【０１２９】
旧姿勢データが読み出される（ステップＳ７０５）。ステップＳ７０５が最初に実行されたときにそのステップで読み出される旧姿勢データは、通常合成処理によりモーションの移行開始直前に決定された、元のモーションとして最後に表示されたキャラクタの姿勢データであり、通常合成処理Ｓ６００のステップＳ６１０により保存された姿勢データである。
【０１３０】
移行先のモーションを規定するモーションデータがＲＡＭ１０３から読み出される（ステップＳ７０６）。移行先のモーションの次のフレームにおけるキャラクタの姿勢を表す姿勢データが決定される（ステップＳ７０７）。移行先のモーションのこの姿勢データとステップＳ７０５で読み出された旧姿勢データとが合成比率Ｈに従って合成される（ステップＳ７０８）。
【０１３１】
後に説明するように、半固定合成処理Ｓ７００を用いてモーション移行途中で更にモーションを他のモーションに移行する場合に、半固定合成処理Ｓ７００により最後に得られた姿勢データが使用される。そのときに備えて、ステップＳ７０８により姿勢データが生成されると、先に通常合成処理Ｓ６００によりＲＡＭ１０３に保存された旧姿勢データがステップＳ７０８により得られた合成後の姿勢データにより更新される（ステップＳ７０９）。ステップＳ７０９による旧姿勢データの更新は、半固定合成処理Ｓ７００が繰り返される毎に繰り返され、その結果、最新の合成により得られた姿勢データが旧姿勢データとして保存されることに注意すべきである。
【０１３２】
こうして合成後の姿勢データが生成されると、通常合成処理Ｓ６００の場合と同じく、図１１のステップＳ３０３により対応するスケルトンデータが生成される。更に、ステップＳ３０４によりキャラクタ画像が生成され、次のフレームにおいて表示される。その後、後続のフレームにおけるキャラクタ画像を生成するために図１１の処理が繰り返される。
【０１３３】
図１１の処理により半固定合成処理Ｓ７００が繰り返し呼ばれるごとに、図１５のステップＳ７０３からステップＳ７０９が実行される。この繰り返しにより合成フレーム番号ｋが閾値Ｎｂに等しくなったとき、図１１のステップＳ３５４により半固定合成処理Ｓ７００が終了したと判断される。
【０１３４】
なお、以上においてステップＳ７０５が繰り返されたときに読み出される旧姿勢データは、先にステップＳ７０９により更新された姿勢データである。したがって、本実施の形態では、半固定合成処理Ｓ７００により合成された姿勢データが次のフレームの姿勢データを生成するの使用されることになる。すなわち、ステップＳ７０８で生成された姿勢データが再帰的に使用されている。
【０１３５】
したがって、本実施の形態での半固定合成処理Ｓ７００を再帰的な半固定合成処理と呼ぶことがある。後に説明するように、再帰的な半固定合成処理では、移行開始前に表示されていたモーションの最後の姿勢と移行先のモーションが非線形に増大する合成比率により合成されていることになる。
【０１３６】
図１６（ａ）には、半固定合成処理Ｓ７００による合成の例が示されている。ここでは、モーションＰは、図１４に示されたように、モーションＡからＢへの移行用のモーションである。図１４に関して説明した方法により、モーションＰを規定する姿勢データＰ１，Ｐ２が順次生成され、これらの姿勢データにより規定されるキャラクタ画像が順次表示され、姿勢データＰ２により規定されるキャラクタ画像が表示されているときに、プレイヤによる操作入力が与えられ、その操作入力に応答してモーションの変更が必要であると図１１のステップＳ３５２により判断されたと仮定する。移行に使用する合成フレーム総数の閾値Ｎｂは５であると仮定する。
【０１３７】
モーションの移行が必要であると判断されたとき、図１１に示すように合成切り替え処理Ｓ４００が起動される。この処理Ｓ４００では、今の場合には図１２にしたがって半固定合成処理Ｓ７００が選択される。
【０１３８】
図１１により半固定合成処理Ｓ７００が繰り返し呼ばれることにより、新たな移行用のモーションＱの姿勢データが生成される。最初に表示中のモーションＰの最後に表示されたキャラクタの姿勢データＰ２が、旧姿勢データとして読み出される（ステップＳ７０５（図１５））。モーションＢの最初の姿勢データＣ１が生成される（ステップＳ７０６，７０７（図１５））。
【０１３９】
これら二つの姿勢データが合成比率１／５に基づいて合成され（ステップＳ７０８（図１５））、最初の合成後の姿勢データＱ１が得られる。その後図１１のステップＳ３０３とＳ３０４により、移行用のモーションの最初の画像が表示される。姿勢データＱ１は図１５のステップＳ７０９により、通常合成処理Ｓ６００により保存された旧姿勢データを更新する。
【０１４０】
新たに保存された姿勢データＱ１とモーションＣの第２の姿勢データＣ２とが合成され、移行用の第２の姿勢データＱ２が生成され、対応するキャラクタ画像が生成される。同様にしてモーションＱの最近に生成された姿勢データＱ２，Ｑ３とモーションＢの一連の姿勢データＣ３，Ｃ４とがそれぞれ合成され、順次合成後の姿勢データＱ３，Ｑ４が得られて合成が終了する。
【０１４１】
こうして一連の姿勢データＱ１，Ｑ２，Ｑ３，Ｑ４により指定される移行用のモーションＱが表示される。その後は、モーションＣの後続の姿勢データＣ５，Ｃ６，Ｃ７，…に基づいてモーションＣの後続の部分が表示される。
【０１４２】
以上から分かるように、移行用のモーションＱの生成に移行先のモーションＣの先頭部分を規定する一連の先頭の姿勢データが使用されている。したがって、モーションＣの影響が移行用のモーションＱに徐々に反映される。この結果、モーションの移行によりモーションＣの表示が実質的に遅延されないと言える。
【０１４３】
更に、移行前に表示されたモーションＰの最後の姿勢を規定する姿勢データＰ２が、移行用のモーションの生成に使用され、モーションＰの後続の姿勢Ｐ３等は使用されない。したがって、モーションＰとモーションＣが先に述べた通常合成処理Ｓ６００による合成に適さない特定の組合わせのモーションであるときでも、得られるモーションＱの姿勢は自然な変化を示すと期待される。したがって半固定合成処理Ｓ７００は、例えばモーションＰとＣが互いに逆方向の動きを要するモーションであるときに、これらのモーションの間の移行に使用するのに適している。
【０１４４】
半固定合成処理Ｓ７００では、合成が再帰的に行われるので、実質的に合成比率が非線形に増大されていることを図１６（ａ）を参照して説明する。
【０１４５】
モーションＰの各姿勢データＰｉ（ｉ＝１，２，…）のあるノードの相対角度をαｓｉとし、モーションＣの各姿勢データＣｉ（ｉ＝１，２，…）の同じノードの相対角度をαｔｉとし、モーションＱの各姿勢データＱｉ（ｉ＝１，２，…）の同じノードの相対角度をαｃｉとする。更に、姿勢データＱｉの合成に使用される合成比率をＧｉとする。以下では各ノードの３つの相対角度（α，β，γ）のうち、相対角度αのみについて説明するが、以下の説明は他の相対角度についてもあてはまる。
【０１４６】
移行用のモーションＱの最初の姿勢Ｑ１の相対角度αｃ１については次式３が成立する。
【０１４７】
【数３】
αｃ１＝αｓ１×（１−Ｇ１）＋αｔ１×Ｇ１            （３）
【０１４８】
移行用のモーションＱの第２の姿勢Ｑ２の相対角度αｃ２については次式４が成立する。
【０１４９】
【数４】
αｃ２＝αｃ１×（１−Ｇ２）＋αｔ２×Ｇ２      （４）
【０１５０】
式３を用いて式４を変形すると式５が得られる。
【０１５１】
【数５】
αｃ２＝αｓ１×（１−Ｇ１）×（１−Ｇ２）
＋αｔ１×Ｇ１（１−Ｇ２）＋αｔ２×Ｇ２  （５）
【０１５２】
ここで、Ｇ１＝１／５，Ｇ２＝２／５を代入すると次式６が成立する。
【０１５３】
【数６】
αｃ２＝αｓ１×（４／５）×（３／５）
＋αｔ１×（１／５）×（３／５）＋αｔ２×（２／５）  （６）
【０１５４】
したがって、元のモーションＰの相対角度αｓ１に対する実質的な合成比率は（４／５）×（３／５）であり、合成比率Ｇ２から決まる相対角度αｓ２に対する合成比率３／５の８０％に低下している。この低下率は、モーションＱの更に後の姿勢Ｑ３，Ｑ４のほうが大きくなる。
【０１５５】
すなわち、再帰的な半固定合成処理Ｓ７００は、元のモーションＰの最後の姿勢Ｐ２がモーションＱに及ぼす影響（すなわち、姿勢Ｐ２によりモーションＱの姿勢が変化する度合）が、合成フレーム番号ｋが増加するにつれて、その番号ｋの増加の割合よりも大きい割合で非線形に減少する。したがって、移行用モーションは、元のモーションＰの最後の姿勢から移行先のモーションＣの後続部分の先頭の姿勢に急速に近づく姿勢の変化を表すことになり、画面上ではモーションの移行がより急速に実現される。
【０１５６】
なお、再帰的な半固定合成処理Ｓ７００を、図１６（ｂ）に示すように論理演算記号により後に言及することがある。ここでは、モーションＰの旧姿勢データＰｏｌｄと移行先のモーションＣが再帰的な半固定合成処理Ｃｆｒにより合成され、移行用のモーションＱが得られ、得られたモーションＱの姿勢データがその後旧姿勢データＱｏｌｄとしてモーションＰの旧姿勢データＰｏｌｄに代えて次の姿勢データの生成に使用されることが示されている。
【０１５７】
図１７には、野球ゲームに本実施の形態によるモーション表示方法を適用したときの具体例が示されている。図において、モーションＡはランナー６４（図４）の走る動作を表す走るモーションであり、モーションＢはランナー６４が停止しているときの動作を表す停止モーションであり、モーションＣは、ランナー６４が元の塁に戻る動作を表す戻るモーションであると仮定する。
【０１５８】
操作入力に応答してモーションＡが表示されモーションＡが表示されている途中で、操作入力により「止まれ」が指示されたとき、図１４（ａ）に関して説明したように、モーションＡからＢに移行するためのモーションＰが通常合成処理Ｓ６００を用いて生成される。移行用のモーションＰが表示されている途中で、操作入力により「戻れ」が指示されたとき、図１６（ａ）に関して説明したように、移行用のモーションＱが半固定合成処理Ｓ７００を用いて生成される。
【０１５９】
モーションＰは、走るモーションＡから止まるモーションＢへの移行用のモーションであり、このモーションＰは、ランナーが徐々に速度を落としながら停止するときのキャラクタのモーションを表す。したがって、このモーションＰが表示され始めたときには、ランナーはまだ高速に走っていることがある。
【０１６０】
戻るモーションＣは、走るモーションＡと逆方向に走るモーションである。このようなモーションＰとＣを通常合成処理Ｓ６００により合成すると、得られる移行用のモーションでは、手足等の動きが不自然になることがある。しかし、本実施の形態では、モーションＰからモーションＣに移行するときに、モーションＰの最後の姿勢からモーションＣに移行するので、モーションＰのその後の姿勢の変化が移行用のモーションＱに影響しない。したがって、滑らかな動きを示す移行用のモーションＱを表示することができる。
【０１６１】
図１８は、図１７に示された二つのモーション移行を論理演算記号を用いて示す。すなわち、モーションＡの表示中にモーションＢへモーションを移行するときには、モーションＡとＢが通常合成処理Ｃｏにより合成され、移行用のモーションＰが生成される。この移行用のモーションＰの表示中にモーションＣへモーションを移行するときには、上の通常合成処理Ｃｏが中止され、モーションＰの旧姿勢データＰｏｌｄとモーションＣが再帰的な半固定合成処理Ｃｆｒにより合成され、移行用モーションＱが生成される。
【０１６２】
なお、図１７には示さなかったが、モーションＱの表示中にモーションをモーションＤに更に移行するときには、図１１のフローに従い、図１８に点線で示されるように、モーションＱの旧姿勢データＱｏｌｄとモーションＤに対して再帰的な半固定合成処理Ｃｆｒが施され、新たな移行用のモーションＲが生成されることになる。
【０１６３】
＜発明の実施の形態２＞
上記再帰的な半固定合成処理Ｓ７００に代えて図１９に示す半固定合成処理Ｓ７００Ａでも類似の移行用のモーションを生成することもできる。図１９においては、図１５に示された半固定合成処理Ｓ７００と異なり、ステップＳ７０５では、この半固定合成処理Ｓ７００Ａが繰り返されたときでも、通常合成処理Ｓ６００で保存された旧姿勢データが読み出され、ステップＳ７０８では本半固定合成処理Ｓ７００Ａで得られた旧姿勢データが、上記姿勢データとは別に本合成処理の旧姿勢データとして保存される。ステップＳ７０９で保存された旧姿勢データは、半固定合成処理Ｓ７００を実行中に別のモーションへ移行する際に利用できる。
【０１６４】
更に、ステップＳ７０４では、表示中のモーション及び移行先のモーションに対する合成比率として、合成フレーム番号ｋの非線形な関数Ｈｓ（ｋ）及びＨｔ（ｋ）（ｋは０以上の整数）が使用される。
【０１６５】
したがって、本合成処理では、移行先のモーションの先頭部分を規定する一連の姿勢データが通常合成処理Ｓ６００で保存された旧姿勢データと合成されることになる。したがって、半固定合成処理Ｓ７００Ａは、先に述べた再帰的な半固定合成処理Ｓ７００と異なり、非再帰的な半固定合成処理である。しかし、合成比率は、例えば以下に例示する方法により、再帰的な半固定合成処理Ｓ７００と同様に非線形に変化される。
【０１６６】
半固定合成処理Ｓ７００Ａによる合成処理の使用例が図２０に示されている。ここでは、モーションＰからモーションＣに移行するときに、モーションＰの最後に表示されたキャラクタ画像を規定する姿勢データＰ２とモーションＣの先頭の部分を規定する一連の姿勢データＣ１，Ｃ２，Ｃ３，Ｃ４とが合成され、モーションＣの後続の部分に移行するための移行用のモーションＱが生成される。
【０１６７】
表示中のモーションと移行先のモーションに対する合成比率として、合成フレーム番号ｋの非線形な関数Ｈｓ（ｋ）及びＨｔ（ｋ）が使用される。移行先のモーションに対する合成比率Ｈｔ（ｋ）は、合成フレーム番号ｋの非線形な関数であり、番号ｋの増大の割合より大きい割合で増大するよう定められる。もちろん、二つの関数の和は１になるように定められる。
【０１６８】
関数Ｈｓ（ｋ）及びＨｔ（ｋ）は例えば次式７ａ及び７ｂのように定めることができる。式７ｃ及び７ｄは、式７ａと７ｂで使用される関数の定義及び初期値を規定する式である。
【０１６９】
【数７】
Ｈｓ（ｋ）＝Ｈｓ（ｋ−１）×（１−Ｈ（ｋ））（７ａ）
Ｈｔ（ｋ）＝１−Ｈｓ（ｋ）                  （７ｂ）
ここで
Ｈ（ｋ）＝ｋ÷Ｒｂ                          （７ｃ）
Ｈｓ（０）＝１                              （７ｄ）
【０１７０】
なおＲｂはモーションの移行に要するフレーム数であり、自然数である。
【０１７１】
具体的には、Ｈｓ（ｋ），Ｈｓ（ｋ）等は式８ａから８ｆにより表される。
【数８】
0003618298.tif 000002
【０１７２】
なお、Ｈｓ（４），Ｈｔ（４）以降の詳細は簡単化のために省略する。
本半固定合成処理Ｓ７００Ａも、基本的には先に述べた半固定合成処理Ｓ７００の利点と同じ利点を有する。ただし、先に述べた半固定合成処理Ｓ７００では、本半固定合成処理Ｓ７００Ａに比べて合成比率関数の計算が簡単であり、かつ、本半固定合成処理Ｓ７００Ａで必要な２種類の旧姿勢データの一方を保存しなくてもよいので、その点では先に述べた半固定合成処理Ｓ７００のほうが処理が簡単である。
【０１７３】
しかし、本実施の形態では、合成比率関数Ｈｓ（ｋ），Ｈｔ（ｋ）を所望の関数で定義することにより、合成比率とフレーム番号ｋとの関係を所望のものにすることができる。
【０１９４】
＜発明の実施の形態３＞
以上の実施の形態では、最初のモーション移行時には通常合成処理により移行用のモーションを生成しても移行用のモーションには不自然な姿勢が出ないと仮定していた。具体的には、走るモーションと戻るモーションのように姿勢の変化が激しい二つのモーションの間でモーションが移行することはなく、これらのモーションの間には停止時のモーションのように姿勢の変化の少ないモーションが表示されると仮定していた。
【０１９５】
プレイヤは「走れ」をＬ１キー３２を押すことにより指示し、「止まれ」はこのキーを開放することにより指示する。同様にプレイヤは「戻れ」をＲ１キー３３を押すことにより指示する。したがって、プレイヤがＬ１キー３２を開放する前にＲ１キー３３を押すことが生じる可能性がある。このような走るモーションから戻るモーションへの移行に対しては、第１の実施の形態では、合成切り替え処理Ｓ４００（図１２）のステップＳ４０１では、モーションが合成中でないので通常合成処理Ｓ６００が起動されることになり、移行用のモーションには不自然な姿勢が出現する恐れがある。
【０１９６】
本実施の形態は、このような姿勢の激しい変化を伴う二つのモーションの間でのモーションの移行を可能にする。具体的には、このような特殊なモーションの組合わせをあらかじめ登録しておく。
【０１９７】
図１２の合成切り替え処理Ｓ４００を以下のように変更すればよい。すなわちステップＳ４０２では、モーションを合成中でないとき、元のモーションと移行先のモーションとの組みが、あらかじめ登録されているモーションの組みと一致するか否かが判定され、もし一致が検出されたときには半固定合成処理Ｓ７００が選択される。
【０１９９】
図２１には、第１の実施の形態により表示されるモーションの例を示す。図において（ａ）は、プレイヤによる指令「走れ」により右方向に全力で走るモーションでのランナーの代表的な姿勢を示す。（ｂ）は、走る途中でプレイヤによる指令「走れ」指令がなくなり、走るモーションから停止モーションに移行するモーションでの速度を落としつつあるランナーの一姿勢を示す。（ｃ）は、ランナーが止まる前にプレイヤにより指令「戻れ」が出されたために、上記移行モーションから急遽戻るモーションに移行するモーションでの急遽左方向に走り出そうとするランナーの姿勢を示す。（ｄ）は、戻るモーションに移行し終わり左方向に全力で走るランナーの代表的な姿勢を示す。
【０２００】
特に同図（ｃ）のように、走るモーションから止まるモーションに移行するモーションの途中から戻るモーションに移行するときでも、ランナーの姿勢の急激な変化にも拘わらず自然な形でその姿勢を表示できることが分かる。
【０２０１】
以上の説明から分かるように、上記実施の形態のいずれにおいても、モーションを移行するとき、モーションの移行の遅延が少なく、かつキャラクタの不自然な姿勢が発生するのを回避できる。
【０２０２】
本発明は以上に示した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲でこれらの実施の形態を適宣修正あるいは変更してもよいことは言うまでもない。
【０２０３】
例えば、以上の実施の形態では、モーションデータにはスケルトンモデルの各ノードの相対角度が記憶されているが、相対距離は記憶されておらず、相対距離は、選手モデルデータから決定された。しかし、本発明は、このようなモーションデータに限定されない。例えば、モーションデータとして各ノードの相対距離に関するデータを含むものであってもよい。
【０２０４】
同様に、実施の形態で使用された姿勢データには相対角度が含まれ、相対距離が含まれていなかったが、相対角度を含むデータを姿勢データとして使用してもよい。要するに、姿勢データは、キャラクタの姿勢を特定可能なあるいは特定するのに使用可能なデータであればよい。
【０２０５】
また、各選手の画像が選手毎に定められたモデルデータを用いて生成されたが、本発明は、モーションの移行に関連するものであり、そのモーションを実行するキャラクタを表す画像の生成の仕方は限定されない。
【０２０６】
上記実施の形態では本発明を野球ゲームに適用した場合について説明したが、本発明は、サッカーゲーム等の他のスポーツゲームあるいはレーシングゲーム等の他のゲームに適用することもできる。更に、本発明はこれらのゲーム以外のゲームにも適用できる。
【０２０７】
上記実施の形態で示したゲーム装置を構成するコンピュータにそこで使用したゲームプログラムの一部の機能を実行するための論理回路を設けてもよく、更にそれに伴いそこで使用したゲームプログラムの機能の実行方法を変更するようにゲームプログラムを変更してもよい。
【０２０８】
上記本発明の実施の形態では、ゲーム装置とは別体にキーパッド、テレビジョンセットが設けられていた。しかし、キーパッド及びテレビジョンセットの一方あるいは両方がゲーム装置と一体に構成されていてもよく、また、他の入力装置あるいは表示装置が使用されてもよい。また、ゲーム装置で使用される記録媒体は、ゲーム装置から着脱自在でなくて、ゲーム装置に固定的に組み込まれたものでもよい。
【０２０９】
本発明に係る記録媒体あるいは本発明に係るゲーム装置で使用される記録媒体は、ＣＤ−ＲＯＭに限定されるものではなく、コンピュータが読み取り可能な記録媒体であればよい。例えばＤＶＤ、磁気的記録媒体、半導体メモリあるいは他の光学的記録媒体であってもよい。
【０２１０】
上記実施の形態では、家庭用ゲーム機をプラットフォームとして使用したが、本発明に係るゲーム装置を、パーソナルコンピュータなどの汎用コンピュータあるいはアーケードゲーム機をプラットフォームとして実現してもよい。また、携帯電話、携帯情報端末、カーナビゲーション等の通信端末をプラットフォームとして実現してもよい。
【０２１１】
【発明の効果】
本発明によれば、移行元のモーションの最後に表示された姿勢と移行先のモーションの先頭部分とにより移行用のモーションを決定するようにしたため、移行元のモーションによる姿勢の変化が移行用のモーションに影響を及ぼすことがない。そのため、移行元のモーションと全く逆の動きをする他のモーションへ移行する場合であっても、滑らかに目的のモーションへ移行することができる。
【図面の簡単な説明】
【図１】本発明に係る、コンピュータ内臓のゲーム装置を使用したゲームシステムの概略図である。
【図２】コンピュータ内のＲＡＭのメモリマップの一例である。
【図３】ゲームシステムで使用可能なキーパッドの例を示す図である。
【図４】野球ゲームにより表示される画像を模式的に示す図である。
【図５】スケルトンモデルの例を示す図である。
【図６】コンピュータ内のＲＡＭに記憶されるモーションデータの例を示す図である。
【図７】モーション表示の原理的な処理を示すフローチャートである。
【図８】モーションデータから生成される姿勢データを示す図である。
【図９】姿勢データから生成されるスケルトンデータを示す図である。
【図１０】選手用のモデルデータを示す図である。
【図１１】モーション表示処理の詳細を示すフローチャートである。
【図１２】合成切り替え処理のフローチャートである。
【図１３】通常合成処理のフローチャートである。
【図１４】通常合成処理によるモーション移行の例を示す図である。
【図１５】半固定合成処理のフローチャートである。
【図１６】半固定合成処理によるモーション移行の例を示す図である。
【図１７】野球ゲームにおけるモーション移行の例を示す図である。
【図１８】図１７のモーション移行に対する論理演算記号を用いた説明図である。
【図１９】他の半固定合成処理のフローチャートである。
【図２０】図１９の半固定合成処理によるモーション移行の例を示す図である。
【図２１】第１の実施の形態で得られるいくつかのモーションの例を示す図である。
【符号の説明】
１        ゲームシステム
１０      ゲーム装置
２０      テレビジョンセット
３０Ａ    キーパッド
３０Ｂ    キーパッド
６７      ストライクゾーン
６８      カーソル
１１１    通信回線
１１２    ネットワーク
【図１】
0003618298.tif 000003
【図２】
0003618298.tif 000004
【図３】
0003618298.tif 000005
【図４】
0003618298.tif 000006
【図５】
0003618298.tif 000007
【図６】
0003618298.tif 000008
【図７】
0003618298.tif 000009
【図８】
0003618298.tif 000010
【図９】
0003618298.tif 000011
【図１０】
0003618298.tif 000012
【図１１】
0003618298.tif 000013
【図１２】
0003618298.tif 000014
【図１３】
0003618298.tif 000015
【図１４】
0003618298.tif 000016
【図１５】
0003618298.tif 000017
【図１６】
0003618298.tif 000018
【図１７】
0003618298.tif 000019
【図１８】
0003618298.tif 000020
【図１９】
0003618298.tif 000021
【図２０】
0003618298.tif 000022
【図２１】
0003618298.tif 000023