JP4257764B2 - Game character motion display method - Google Patents
Game character motion display method Download PDFInfo
- Publication number
- JP4257764B2 JP4257764B2 JP34383099A JP34383099A JP4257764B2 JP 4257764 B2 JP4257764 B2 JP 4257764B2 JP 34383099 A JP34383099 A JP 34383099A JP 34383099 A JP34383099 A JP 34383099A JP 4257764 B2 JP4257764 B2 JP 4257764B2
- Authority
- JP
- Japan
- Prior art keywords
- motion
- frame
- frames
- data
- game character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は業務用又は家庭用のテレビゲーム機におけるゲームキャラクタのモーション表示方法に係り、表示されるキャラクタのモーションが画像的に連続性を確保し難い他のモーションへ移行する際に実行される補間処理方法に関する。
【0002】
【従来の技術】
テレビゲーム機では、コンピュータグラフィックス(CG)を用いてゲームキャラクタを作成するが、一般的には、ゲームキャラクタを手足や頭等の複数のオブジェクトに分解し、それらオブジェクトをモデリング座標系で個々に作成したものを部品として格納しておき、実際に表現されるシーンでは、モデリングされた各オブジェクトをワールド座標系の中で組み合わせて配置した集合体としてゲームキャラクタ全体を構成する。
したがって、ある部品(オブジェクト)を移動・回転させたいときや親子構造になった多関節の動き等のアニメーション表現も、前記のモデリング座標系からワールド座標系への変換によって容易に行うことができる。
【0003】
そして、ワールド座標系のゲームキャラクタに対して各オブジェクトの動き情報も付加して各フレーム毎のモーションデータを構成し、そのモーションデータを用いてゲームキャラクタの全体的動きを連続的に表示させることで、人体等の複雑に連動した動きをリアルに表現する。
また、実際のゲーム機においては、予めゲームキャラクタの多種多様なモーションをそれぞれ一連のフレームデータ(時系列的に連続したモーションデータ)としてメモリに格納しておき、ゲーム進行過程での操作部からの指示入力に対応した一連のフレームデータをその時系列で読み出すことによりディスプレイに表示させるようになっている。
【0004】
尚、実際のデータ処理では、3次元CGによりポリゴンや自由曲面等で構成された3次元オブジェクトによるフレームデータをベタ形式でメモリに格納すると膨大なデータ量になるため、予めランレングス圧縮等の圧縮処理を施して格納しておき、ゲーム機で復号展開しながら再生する方式が採用されている。
【0005】
【発明が解決しようとする課題】
ところで、前記のようにゲームキャラクタの各モーションを一連のフレームデータとして予め用意しておく場合において、モーションAからモーションBへ移行する際に、それらモーションA,Bでのゲームキャラクタの基本的姿態が異なっていると、表示画像上でゲームキャラクタの動きが円滑に繋がらないことがある。
【0006】
そこで、モーションAからモーションBへ移行する際の円滑な動きを表現できるように、一連の補間フレームを別途作成しておくことが行われている。
即ち、図6に示すように、モーションAの最終フレーム:Fa(m)とモーションBの第1番目のフレーム:Fb(1)におけるゲームキャラクタの各ベクトル情報に基づいて、双方のフレーム内でのゲームキャラクタの姿態が円滑な連続性をもって繋がるように徐々に変化した補間フレーム: Fv(1),Fv(2)…Fv(q)を挿入させる方式である。
【0007】
しかし、前記の補間方式を採用する場合には、モーションの連繋が円滑でない場合の組み合わせについて個々に補間フレームを用意しておかねばならず、煩雑な補間フレームの作成作業が必要になると共に、その組み合わせ数によっては相当なデータ量となる。
また、ゲームキャラクタの動きを円滑に繋ごうとすれば、図6における時間:ΔTを長くとってより多数の補間フレームを介在させることになるが、ゲームキャラクタが衝撃を受けた場合等で瞬間的な動きが要求されるときには前記時間:ΔTを長くできない場合もあり、少数の補間フレームを介在させてもその動作に関する所要の円滑さを表現できず、むしろ視覚的には不自然な表現になってしまうことが少なくない。
【0008】
そこで、本発明は、前記の問題点に鑑みて、ゲームキャラクタの基本的姿態が異なるモーション間をソフトウェア処理だけで補間でき、予め補間フレームを作成しておく必要がなく、視覚的にもより円滑なモーションの移行状態を表現できる表示方法を提供することを目的として創作された。
【0009】
【課題を解決するための手段】
本発明は、テレビゲーム機において、ゲームプログラムの進行過程で表示されるゲームキャラクタが一連の第1モーションから姿態の異なる一連の第2モーションへ移行する場合に、モーション移行コマンドを検出した時点での第1モーションに係る最終フレームを記憶手段に格納する第1手順と、前記の各モーション間におけるゲームキャラクタの姿態の連繋度合いに応じた補間フレーム数:nを設定する第2手順と、前記第1モーションの最終フレームに連続する第p番目(但し、p=1,2,…,n)の補間フレームを、前記記憶手段に格納されたフレームの各ポリゴンデータから前記第2モーションに係る第p番目のフレームにおける各対応ポリゴンデータを差し引いた差分位置データ・差分スケールデータ・差分角度データを求め、それらデータの(p/n)に相当する分だけ前記記憶手段に格納されたフレームの各ポリゴンデータを移動・拡大/縮小・回転させる演算を実行して生成させる第3手順とを実行し、前記第3手順によって生成されたnフレーム分の各補間フレームを順次表示させた後に、前記第2モーションに係る第(n+1)番目以降のフレームを表示させることを特徴とするゲームキャラクタのモーション表示方法に係る。
【0010】
本発明では、第1モーションから第2モーションへ移行する際のnフレーム分の各補間フレームを、第1モーションに係る最終フレームの各ポリゴンを移動・拡大/縮小・回転させることによって生成させる。
そして、その移動・拡大/縮小・回転の量は、第1モーションに係る最終フレームの各ポリゴンと第2モーションに係る各対応ポリゴンとの関係に基づいて求められ、第p番目の補間フレームについては、第1モーションに係る最終フレームの各ポリゴンデータから第2モーションに係る第p番目のフレームにおける各対応ポリゴンデータを差し引いて位置・スケール・角度に係る差分データを求め、その各差分データの(p/n)に相当する分として求められる。
したがって、nフレーム分の補間フレームにおけるキャラクタの姿態についてみると、初期の補間フレームにおいては第1モーションの最終フレームでの姿態に近似しており、時系列的にpが増大してゆくと第2モーションの第p番目のフレームでの姿態に徐々に近似してゆき、第n番目になると第2モーションの第n番目のフレームと同一になる。
ここに、補間フレーム数:nは、第1モーションと第2モーションにおけるゲームキャラクタの姿態の連繋度合いを考慮して設定され、一般的には、姿態がかけ離れているときにはnを大きく設定し、逆に近似しているときにはnを小さく設定される傾向になるが、予め各モーション間の組み合わせに対応させて補間フレーム数を設定したテーブルデータを用意しておき、モーション移行の際にそのテーブルデータを参照して補間フレーム数:nを設定すれば、最適値の迅速な設定が可能になる。
【0011】
本発明によれば、補間フレームの生成処理はそれを実行するための単一のプロセス制御プログラムを用意しておくだけで足り、従来技術のようにモーションの移行に対して予め多数の補間フレームを作成しておく必要はない。
また、第1モーション係る最終フレームが表示された後に、直ちにその最終フレームと第2モーションのフレームとが関連付けられた態様での補間フレームが生成表示されてゆくため、各モーション間でキャラクタの姿態がかけ離れていても時間的な制約を受けず、視覚的にも円滑で自然なモーション間の繋がりを表現できる。
【0012】
【発明の実施の形態】
以下、本発明の「ゲームキャラクタのモーション表示方法」の実施形態を、図1から図5を用いて詳細に説明する。
先ず、図1は実施形態に係る業務用ゲーム機のシステム回路図を示す。
同図において、1はCPUであり、そのバス(データバス,アドレスバス,コントロールバス)には、システム制御プログラムを格納したROM2、外付けのROMボード3を接続するためのインターフェイス3a、ワークメモリであるRAM4、フレームメモリに相当するビデオRAM5に対してリード/ライト制御を実行するビデオコントローラ6、サウンドコントローラ7、及びボタンやジョイスティック等を搭載した操作部8やコイン検出器9からの各信号を取り込むための入力インターフェイス10がバス接続されている。
また、ビデオコントローラ6はビデオRAM5から読み出したフレームデータをディスプレイドライバ11へ出力してディスプレイ12に映像を表示させ、サウンドコントローラ7は前記映像に同期した音声データをオーディオ出力回路13へ出力してスピーカ14で音声出力させる。
【0013】
このシステムの特徴は、(1)ゲームプログラムを格納しているROMボード3に特殊な補間フレーム生成プログラムが格納されており、後述のMBモード設定がなされると同プログラムに基づいて補間フレームを自動生成させる点、及び(2)ROMボード3が各種のモーション移行条件に対応させてそれぞれの補間フレーム数を設定したテーブル(以下、「補間フレーム数テーブル」という)を格納している点にある。
【0014】
そして、この業務用ゲーム機では、図2に示すように、モーションAの一連のフレーム:…Fa(m),Fa(m)からモーションBへ以降する際に、モーションAとモーションBに係るキャラクタの各姿態の連繋度合いに基づいて補間フレーム数:nを設定し、そのnフレーム分の補間フレーム:Fc(1),Fc(2),…,Fc(n)を生成して表示させた後に、本来のモーションBに係るフレームを第(n+1)番目から表示させる。
【0015】
前記の補間フレームの生成に係るデータ処理と一連の表示動作の手順は図3のフローチャートに示され、以下、同図を参照しながらその手順を説明する。
ゲームプログラムの進行過程で、一連のモーションAを表示中に、操作部8からの指示入力によって他のモーションへの移行コマンドが検出されると、CPU1はROMボード3の補間フレーム数テーブルを参照し、モーションAからその移行コマンドに係るモーションへの変化がモーションブレンドモード(以下、「MBモード」という)の対象であるかどうかを確認する(S1〜S3)。
即ち、補間フレーム数テーブルは、一連のモーションから他の一連のモーションへ移行する場合について、ゲームキャラクタの基本姿態の相違が大きく、画像の円滑な繋がりが確保できない組み合わせと、その連繋度合いに応じて設定された補間フレーム数とをテーブルデータとして格納しており、CPU1は前記のモーションの移行がその補間フレーム数テーブルに存在するか否かを確認する。
【0016】
ここでは、前記の移行コマンドによってモーションBが指示され、モーションAからモーションBへの移行がMBモードの対象になっていたと仮定する(S3)。その場合、CPU1は直ちにMBモードを設定し、RAM4に前記移行コマンド検出時点でのモーションAに係る最終フレーム[Fa(m)]をセーブさせる(S4,S5)。
また、CPU1は補間フレーム数テーブルを参照し、前記のモーションAからモーションBに係る組み合わせに対応させてある補間フレーム数:nをセットする(S6)。
【0017】
そして、前記のMBモードの設定によって、CPU1はROMボード3に格納されている補間フレーム生成プログラムをレディ状態にセットすると共に、ゲームプログラムのモーションBに係るnフレーム分を時系列的にRAM4へ読み出し、先のステップS5で格納されているモーションAの最終フレーム[Fa(m)]とモーションBの各フレームを用いてnフレーム分の補間フレーム:Fc(1),Fc(2),…,Fc(p),…,Fc(n)を生成させる(S8)。
【0018】
この補間フレームの生成手順では、補間フレームを第1番目から第n番目まで時系列的に生成させることになるが、ここでは一般性を持たせて、その第p番目(p=1,2,…,n)の補間フレームを生成させる際の手順を説明することとする。
先ず、図4に示すように、モーション移行コマンドが検出された時点におけるモーションAの最終フレーム[Fa(m)]でのゲームキャラクタのオブジェクト21を構成する任意のポリゴン22aの頂点座標ベクトルデータを[Vam1,Vam2,Vam3]とし、モーションBの第p番目のフレーム[Fb(p)]での前記ポリゴン22に対応するポリゴン22bの頂点座標ベクトルデータを[Vbp1,Vbp2,Vbp3]とする。
但し、ここでは、以降の説明及び数式を簡素化する上での便宜上、それらポリゴン22a,22bの各頂点座標ベクトルデータの代表値をそれぞれVami,Vbpi(i=1,2,3)とする。
ここに、各ベクトルデータVami,Vbpiを同次座標系(homogeneous coordinate)で表すとVami=[Xami,Yami,Zami,1],Vbpi=[Xbpi,Ybpi,Zbpi,1]であるが、X,Y,Z軸方向に係る差分データをΔXpmi=Xbpi−Xami,ΔYpmi=Ybpi−Yami,ΔZpmi=Zbpi−Zamiとする。
また、それらポリゴン22a,22bのX,Y,Z軸方向に関する各スケールデータをそれぞれ[Sxam,Syam,Szam],[Sxbp,Sybp,Szbp]とし、X,Y,Z軸方向に関する各角度データをそれぞれ[θxam,θyam,θzam],[θxbp,θybp,θzbp]として、前記と同様に各差分データをΔSxpm=Sxbp−Sxam,ΔSypm=Sybp−Syam,ΔSzpm=Szbp−Szam、Δθxpm=θxbp−θxam,Δθypm=θybp−θyam,Δθzpm=θzbp−θzamとする。
【0019】
上記前提において、CPU1は、ROMボード3の補間フレーム生成プログラムに基づいて次の[数式1]の演算を実行することにより、補間フレーム[Fc(p)]における前記のポリゴン22a,22bに対応したポリゴン22cの頂点座標ベクトルデータVcpi=[Xcpi,Ycpi,Zcpi,1](i=1,2,3)を求める。
【0020】
【数1】
【0021】
但し、右辺でVamiに対して右側から乗算されている各数式は同次座標系での4×4行列であり、T[(Vbpi-Vami)・p/n]は移動行列、Spmは拡大/縮小行列、Rx[Δθxpm・p/n],Ry[Δθypm・p/n],Rz[Δθzpm・p/n]は回転行列に相当し、それぞれ次の[数式2]〜[数式6]で表される。
【数2】
【数3】
【数4】
【数5】
【数6】
【0022】
このようにして、ポリゴン22cの頂点座標ベクトルデータVcpiが求まり、画面全体のポリゴンを構成することによって補間フレーム[Fc(p)]が生成されるが、その補間フレーム[Fc(p)]のデータは直ちにビデオコントローラ6へ転送されてビデオRAM5に書き込まれ、ビデオコントローラ6がそのフレームデータをディスプレイドライバ11へ出力させてディスプレイ12に表示させる(S8,S9)。
【0023】
そして、CPU1は、モーションAの最終フレーム[Fa(m)]とモーションBの最初のnフレーム分([Fb(1)],[Fb(2)],…,[Fb(n)])との関係で、時系列的なnフレーム分の補間フレーム([Fc(1)],[Fc(2)],…,[Fc(n)])を生成・表示させ、第n番目の補間フレーム[Fc(n)]を生成・表示させた段階でMBモードを解除する(S7→S8〜S10の繰り返し・S10→S12)。
また、その解除に基づいて、ROMボード3から本来のモーションBに係る第(n+1)番目以降のフレームを読み出して順次表示させてゆく(S12,S13)。
尚、図3において、他のモーションへの移行コマンドが検出されない場合(S2)や、移行コマンドが検出されてもゲームキャラクタの姿態が極めて近似している等からMBモードを設定する必要性がない場合(S3)においては、通常モードでの表示が継続される(S2,S3→S14)。
【0024】
ところで、この実施形態による表示方式では、モーション移行コマンドを検出した時点におけるモーションAに係る最終フレーム[Fa(m)]のポリゴンとモーションBに係る第p番目(p=1,2,…,n)のフレーム[Fb(p)]の対応ポリゴンとの間で差分位置データ・差分スケールデータ・差分角度データを求め、それら差分データの(p/n)相当分だけモーションAに係る最終フレーム[Fa(m)]のポリゴンを移動・拡大/縮小・回転させて第p番目の補間フレーム[Fc(p)]を生成させている。
したがって、モーションAに係る最終フレーム[Fa(m)]の後にそのままモーションBに係る第1番目のフレームを表示させると、ゲームキャラクタの姿態の異なりによって動きが円滑に繋がらなくなるが、この実施形態の表示方式によれば、補間フレーム[Fc(p)]のゲームキャラクタの姿態は、その初期のフレーム(pが小さい段階)ではモーションAに係る最終フレーム[Fa(m)]に近似したものとなり、補間フレームの表示数が進む(pが大きくなる)につれてモーションBに係るフレーム[Fb(p)]での姿態に漸近し、第n番目の補間フレーム[Fc(n)]ではモーションBに係る第n番目のフレーム[Fb(n)]の姿態と一致して、本来のモーションBに係る第(n+1)番目のフレーム[Fb(n+1)]へ連続することになる。
【0025】
そして、その補間フレームの生成・表示態様をゲームキャラクタを含んだ具体的な映像フレームで見ると図5に示すような時系列的表示となる。
同図において、モーションAのフレーム[Fa(m-1)](上段に図示)ではゲームキャラクタが打撃を受け、最終フレーム[Fa(m)]ではダメージポーズとなっている。
一方、モーションBの第1フレーム[Fb(1)]から開始する一連のフレーム(下段に図示)はゲームキャラクタの攻撃動作に係るものであり、構えたポーズからキックポーズへ移行する連続動作を表示するためのモーションデータである。
ここで、フレーム[Fa(m)]とフレーム[Fb(1)]を比較すると明らかなように、ゲームキャラクタの姿態は大きく異なっており、モーションが連続性をもつように表示させたいにもかかわらず、[Fa(m)]の後に[Fb(1)]を連続的に出力させると画面が唐突に別シーンへ移行したような不自然な表示状態となる。
【0026】
そこで、この実施形態に基づいて、前記のフレーム[Fa(m)]とフレーム[Fb(1)]におけるゲームキャラクタの姿態の連繋度合いを考慮して補間フレーム数:nを100フレームにセットし、上記プログラムによる演算で補間フレーム[Fc(1)]〜[Fc(100)]を生成・表示させる。
図5では各補間フレーム[Fc(1)]〜[Fc(100)]の表示内容を中段に示してあり、その100フレーム分でモーションAのフレーム[Fa(m-1)]のダメージポーズからモーションBの[Fb(101)](キック攻撃中のポーズ)へ至る動作を極めて円滑に連続性をもって表現できている。
尚、各補間フレーム[Fc(1)]〜[Fc(100)]は、本来のモーションBに係るフレーム[Fb(1)]〜[Fb(100)]とは異なったゲームキャラクタの姿態を表示するものであるが、100フレームとしても高々3sec程度の表示時間であるために不自然な動作表現にはならず、映像的に見ても、むしろ円滑な動作が補償されていることによる効果が大きい。
【0027】
そして、補間フレーム[Fc(p)](p=1,2,…,n)は、MBモードの設定があればプロセス制御プログラムともいうべき補間フレーム生成プログラムによって自動生成されるものであり、従来のように2つのモーションの連繋度合いを考慮して予めゲーム製作段階で多数の補間フレームを作成して用意しておくのとは本質的に相違しており、当然に補間に要する大量のフレームデータを格納しておく必要はない。
また、この実施形態の表示方式では、MBモードが設定された時点から次のモーションBの読み出しプログラムが開始され、その何フレーム分を先のモーションAの最終フレーム[Fa(m)]との関係で演算対象とするかが設定されるだけであり、従来技術のように補間フレームを緻密に挿入する時間を確保できずに不自然な表現になってしまうようなこともない。
即ち、ROMボード3の補間フレーム数テーブルに対し、各種モーション間におけるゲームキャラクタの姿態の連繋度合いに応じて、経験的に又はゲームの製作段階での検証に基づいて得られる最適の補間フレーム数:nを格納しておけば足り、前記の従来技術で生じるような不具合を懸念する必要はない。
【0028】
一方、表示される補間フレーム[Fc(p)]は本来のモーションBに係るフレーム[Fb(p)]とは異なるために音声出力との同期がずれることになるが、これに関しても高々3sec程度の表示時間であることから、モーションBに係るフレーム[Fb(p)]に対応した音声データをそのまま出力させても不自然さは生じない。
もっとも、必要であれば補間フレーム[Fc(p)]の表示出力に対応させて音声出力のタイミングを制御するようなプログラムを設けておくこともできる。
【0029】
尚、この実施形態ではワールド座標系のポリゴンを対象として補間フレーム[Fc(p)]を生成させるようにしているが、ゲームキャラクタを構成するローカル座標系のポリゴンを対象として上記と同様の原理に基づいた補間フレーム生成プログラムを実行して補間フレーム用のゲームキャラクタを生成させ、それをワールド座標系に配置させるような手順であってもよく、基本となるモーションデータをどのようなデータ構成で格納させているかによって、適宜採用すればよい。
【0030】
【発明の効果】
本発明の「ゲームキャラクタのモーション表示方法」は、以上の構成を有していることにより、次のような効果を奏する。
ゲームプログラムの進行過程でゲームキャラクタが一連の第1モーションから姿態の異なる一連の第2モーションへ移行し、第2モーションの動きが素早いためにその移行状態が連続性をもって円滑に表現し難いような場合に、それらモーション間をソフトウェア処理だけで適応数の補間フレームを自動生成させて補間処理し、視覚的に円滑なモーションの移行状態を表現する。
したがって、従来方式のように予め1コマずつ作成した補間フレームを用意しておく必要がなく、ゲームプログラムの作成作業において大幅な時間と労力の削減が図れ、データ量も小さくできる。
【図面の簡単な説明】
【図1】実施形態に係る業務用ゲーム機のシステム回路図である。
【図2】MBモードにおける補間フレームの生成・表示態様を示す概念図である。
【図3】ゲームキャラクタが一連のモーションAから一連のモーションBへ移行する場合におけるデータ処理・表示手順を示すフローチャートである。
【図4】モーションAの最終フレーム[Fa(m)]でゲームキャラクタのオブジェクトを構成する任意のポリゴンと、モーションBの第p番目のフレーム[Fb(p)]での対応ポリゴンと、第p番目の補間フレーム[Fc(p)]での対応ポリゴンの関係を示す模式図である。
【図5】モーションAに係る最終段階のフレーム[Fa(m-1)],[Fa(m)]と、モーションBに係るフレーム[Fb(1)],[Fb(25)],[Fb(50)],[Fb(75)],[Fb(100)],[Fb(101)] [Fb(102)]と、補間フレーム[Fc(1)],[Fc(25)],[Fc(50)],[Fc(75)],[Fc(100)]に係るゲームキャラクタの事例的映像を対比させた参考図である。
【図6】従来の補間方式を模式的に示す図である。
【符号の説明】
1…CPU、2…ROM、3…ROMボード、3a…I/F、4…RAM、5…RAM、6…ビデオコントローラ、7…サウンドコントローラ、8…操作部、9…コイン検出器、10…入力I/F、11…ディスプレイドライバ、12…ディスプレイ、13…オーディオ出力回路、14…スピーカ、21…ゲームキャラクタのオブジェクト、22a,22b,22c…ポリゴン、〜Fa(m-1),Fa(m)…モーションAのフレーム、Fb(1),Fb(2),〜Fb(n),Fb(n+1),〜…モーションBのフレーム、Fc(p);[p=1〜n]…補間フレーム、Fv(q);[q=1〜q]…補間フレーム。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for displaying a motion of a game character in a commercial or home video game machine, and interpolation performed when the motion of the displayed character shifts to another motion that is difficult to ensure image continuity. It relates to the processing method.
[0002]
[Prior art]
In a video game machine, a computer character (CG) is used to create a game character. Generally, a game character is decomposed into a plurality of objects such as limbs and heads, and these objects are individually expressed in a modeling coordinate system. The created game is stored as a part, and in the scene that is actually expressed, the entire game character is configured as an aggregate in which the modeled objects are combined and arranged in the world coordinate system.
Therefore, when a part (object) is desired to be moved / rotated, an animation expression such as a multi-joint movement having a parent-child structure can be easily performed by conversion from the modeling coordinate system to the world coordinate system.
[0003]
Then, by adding motion information of each object to the game character in the world coordinate system, the motion data for each frame is constructed, and the overall motion of the game character is continuously displayed using the motion data. Realistically express the complicated movement of the human body.
In an actual game machine, various motions of the game character are stored in advance in the memory as a series of frame data (motion data that is continuous in time series), and from the operation unit during the game progress process. A series of frame data corresponding to the instruction input is read in time series and displayed on the display.
[0004]
In actual data processing, if frame data of a three-dimensional object composed of polygons, free-form surfaces, etc. by three-dimensional CG is stored in a memory in a solid format, the amount of data becomes large. Therefore, compression such as run length compression is performed in advance. A method is adopted in which processing is performed and stored, and playback is performed while decrypting and expanding on a game machine.
[0005]
[Problems to be solved by the invention]
By the way, when each motion of the game character is prepared in advance as a series of frame data as described above, when moving from motion A to motion B, the basic appearance of the game character in those motions A and B is as follows. If they are different, the movement of the game character on the display image may not be smoothly connected.
[0006]
Therefore, a series of interpolated frames are separately created so that a smooth movement when moving from motion A to motion B can be expressed.
That is, as shown in FIG. 6, based on the vector information of the game character in the final frame of motion A: Fa (m) and the first frame of motion B: Fb (1), This is a method of inserting interpolated frames Fv (1), Fv (2)... Fv (q) that gradually change so that the appearance of the game character is connected with smooth continuity.
[0007]
However, when adopting the above-described interpolation method, it is necessary to prepare an interpolation frame individually for a combination when the connection of motion is not smooth, and it is necessary to create a complicated interpolation frame. Depending on the number of combinations, the amount of data is considerable.
Further, if the movement of the game character is to be smoothly connected, a longer time: ΔT in FIG. 6 is used and a larger number of interpolated frames are interposed. However, when the game character is shocked, it is instantaneous. When motion is required, the time: ΔT may not be lengthened, and even if a small number of interpolated frames are interposed, the required smoothness of the motion cannot be expressed, but rather it is a visually unnatural expression. It often happens.
[0008]
Therefore, in view of the above-described problems, the present invention can interpolate motions with different basic game character appearances only by software processing, and it is not necessary to create an interpolation frame in advance, which makes visual smoother. It was created for the purpose of providing a display method that can express the transition state of various motions.
[0009]
[Means for Solving the Problems]
The present invention provides a video game machine that detects a motion transition command when a game character displayed in the course of a game program shifts from a series of first motions to a series of second motions having different appearances. A first procedure for storing the final frame relating to the first motion in the storage means; a second procedure for setting the number of interpolated frames: n according to the degree of linkage of the game character's appearance between the motions; The p-th (p = 1, 2,..., N) interpolated frames that are continuous with the final frame of the motion are converted from the polygon data of the frames stored in the storage means to the p-th for the second motion. The difference position data, difference scale data, and difference angle data obtained by subtracting each corresponding polygon data in the frame of And a third procedure for generating by generating an operation for moving, enlarging / reducing and rotating each polygon data of the frame stored in the storage means by an amount corresponding to (p / n) of the data, A motion display method for a game character characterized by displaying (n + 1) th and subsequent frames related to the second motion after sequentially displaying each of the n interpolated frames generated by the third procedure. Related.
[0010]
In the present invention, n interpolated frames for transition from the first motion to the second motion are generated by moving, enlarging / reducing, and rotating each polygon of the final frame related to the first motion.
The amount of movement / enlargement / reduction / rotation is obtained based on the relationship between the polygons of the final frame related to the first motion and the corresponding polygons related to the second motion, and for the p-th interpolation frame, Then, the corresponding polygon data in the p-th frame related to the second motion is subtracted from each polygon data of the final frame related to the first motion to obtain difference data related to the position, scale, and angle, and (p / N).
Therefore, the appearance of the characters in the interpolation frames for n frames is similar to the appearance in the final frame of the first motion in the initial interpolation frame, and the second increases as p increases in time series. It gradually approximates the appearance of the motion in the pth frame, and when it becomes nth, it becomes the same as the nth frame of the second motion.
Here, the number of interpolated frames: n is set in consideration of the degree of linkage of the game character's appearance in the first motion and the second motion. In general, when the appearance is far away, n is set large and vice versa. However, n tends to be set small, but table data in which the number of interpolation frames is set in advance corresponding to the combination between the motions is prepared, and the table data is transferred at the time of motion transition. If the number of interpolation frames: n is set with reference, the optimum value can be quickly set.
[0011]
According to the present invention, it is only necessary to prepare a single process control program for executing the interpolation frame generation process, and a number of interpolation frames are previously prepared for motion transition as in the prior art. There is no need to create it.
Further, after the final frame related to the first motion is displayed, an interpolation frame in a form in which the final frame and the second motion frame are associated with each other is generated and displayed. Even if they are far apart, they are not subject to time constraints and can express the connection between motions that are visually smooth and natural.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the “game character motion display method” of the present invention will be described in detail with reference to FIGS. 1 to 5.
First, FIG. 1 shows a system circuit diagram of the arcade game machine according to the embodiment.
In the figure,
Further, the
[0013]
This system has the following features: (1) A special interpolation frame generation program is stored in the
[0014]
In this arcade game machine, as shown in FIG. 2, when a series of frames of motion A:... Fa (m), Fa (m) is changed to motion B, characters related to motion A and motion B are displayed. After setting the number of interpolated frames: n based on the degree of connection of each form of, and generating and displaying the interpolated frames for the n frames: Fc (1), Fc (2), ..., Fc (n) The frames related to the original motion B are displayed from the (n + 1) th.
[0015]
The procedure of data processing and a series of display operations relating to the generation of the interpolation frame is shown in the flowchart of FIG. 3, and the procedure will be described below with reference to the same drawing.
If a transition command to another motion is detected by an instruction input from the
In other words, the interpolation frame number table shows that when the transition from a series of motions to another series of motions, the difference in the basic appearance of the game character is large, and the smooth connection of the images cannot be ensured, and depending on the degree of linkage The set number of interpolation frames is stored as table data, and the
[0016]
Here, it is assumed that the motion B is instructed by the transition command and the transition from the motion A to the motion B is the target of the MB mode (S3). In that case, the
Further, the
[0017]
Then, according to the setting of the MB mode, the
[0018]
In this interpolation frame generation procedure, the interpolation frames are generated in time series from the first to the n-th. Here, the p-th (p = 1, 2, .., N) will be described in terms of generating an interpolated frame.
First, as shown in FIG. 4, the vertex coordinate vector data of an
However, here, for convenience in simplifying the following description and mathematical expressions, the representative values of the vertex coordinate vector data of the
Here, when each vector data Vami, Vbpi is expressed in a homogeneous coordinate system, Vami = [Xami, Yami, Zami, 1] and Vbpi = [Xbpi, Ybpi, Zbpi, 1] The difference data in the Y and Z axis directions are ΔXpmi = Xbpi−Xami, ΔYpmi = Ybpi−Yami, and ΔZpmi = Zbpi−Zami.
The scale data of the
[0019]
Based on the above assumption, the
[0020]
[Expression 1]
[0021]
However, each mathematical expression multiplied from the right side to Vami on the right side is a 4 × 4 matrix in the homogeneous coordinate system, T [(Vbpi-Vami) · p / n] is a movement matrix, and Spm is an expansion / The reduced matrices Rx [Δθxpm · p / n], Ry [Δθypm · p / n], and Rz [Δθzpm · p / n] correspond to the rotation matrix, and are expressed by the following [Equation 2] to [Equation 6], respectively. Is done.
[Expression 2]
[Equation 3]
[Expression 4]
[Equation 5]
[Formula 6]
[0022]
In this way, the vertex coordinate vector data Vcpi of the
[0023]
The
Further, based on the cancellation, the (n + 1) th and subsequent frames related to the original motion B are read from the
In FIG. 3, there is no need to set the MB mode when a command to shift to another motion is not detected (S2), or even if a shift command is detected, the appearance of the game character is very similar. In the case (S3), the display in the normal mode is continued (S2, S3 → S14).
[0024]
By the way, in the display method according to this embodiment, the p-th (p = 1, 2,..., N) related to the polygon and the motion B of the final frame [Fa (m)] related to the motion A at the time when the motion transition command is detected. ) Of the frame [Fb (p)] of the frame [Fb (p)], the difference position data, the difference scale data, and the difference angle data are obtained, and the final frame [Fa] related to the motion A by (p / n) corresponding to the difference data. The polygon of (m)] is moved / enlarged / reduced / rotated to generate the p-th interpolation frame [Fc (p)].
Therefore, if the first frame related to motion B is displayed as it is after the final frame [Fa (m)] related to motion A, the movement is not smoothly connected due to the difference in the appearance of the game character. According to the display method, the appearance of the game character in the interpolation frame [Fc (p)] approximates the final frame [Fa (m)] related to the motion A in the initial frame (step where p is small). As the number of interpolated frames displayed (p increases), the frame [Fb (p)] associated with the motion B gradually approaches, and the nth interpolated frame [Fc (n)] relates to the motion B associated with the motion B. Consistent with the appearance of the nth frame [Fb (n)], it continues to the (n + 1) th frame [Fb (n + 1)] related to the original motion B.
[0025]
When the interpolation frame generation / display mode is viewed in a specific video frame including a game character, a time-series display as shown in FIG. 5 is obtained.
In the figure, the game character is hit in the frame [Fa (m-1)] (illustrated in the upper part) of motion A, and is in a damage pose in the final frame [Fa (m)].
On the other hand, a series of frames starting from the first frame [Fb (1)] of motion B (shown in the lower row) relates to the attacking action of the game character, and displays a continuous action of shifting from the prepared pose to the kick pose. Motion data.
Here, as is clear when comparing the frame [Fa (m)] and the frame [Fb (1)], the appearance of the game character is greatly different, although the motion is desired to be displayed continuously. First, if [Fb (1)] is continuously output after [Fa (m)], an unnatural display state appears as if the screen suddenly shifted to another scene.
[0026]
Therefore, based on this embodiment, the number of interpolated frames: n is set to 100 frames in consideration of the degree of linkage of the game character appearances in the frame [Fa (m)] and the frame [Fb (1)]. Interpolation frames [Fc (1)] to [Fc (100)] are generated and displayed by the calculation by the above program.
In FIG. 5, the display contents of the interpolation frames [Fc (1)] to [Fc (100)] are shown in the middle stage, and from the damage pose of the frame [Fa (m-1)] of motion A in 100 frames. The motion of Motion B up to [Fb (101)] (pause during kick attack) can be expressed very smoothly and continuously.
Each interpolation frame [Fc (1)] to [Fc (100)] displays a different game character appearance from the original frame B [Fb (1)] to [Fb (100)]. However, even with 100 frames, the display time is about 3 seconds at most, so it does not represent an unnatural motion expression. large.
[0027]
The interpolation frame [Fc (p)] (p = 1, 2,..., N) is automatically generated by an interpolation frame generation program that should be called a process control program if the MB mode is set. This is essentially different from creating and preparing a large number of interpolation frames in advance in the game production stage in consideration of the degree of connection between the two motions as shown in FIG. Need not be stored.
Also, in the display method of this embodiment, the next motion B read program is started from the time when the MB mode is set, and how many frames are related to the last frame [Fa (m)] of the previous motion A. In this case, it is only set whether or not the calculation target is set, and there is no case where the time for inserting the interpolation frame precisely cannot be secured as in the conventional technique and the expression becomes unnatural.
That is, with respect to the interpolation frame number table of the
[0028]
On the other hand, since the displayed interpolated frame [Fc (p)] is different from the original frame B [Fb (p)] related to motion B, the audio output is out of synchronization. Therefore, even if the audio data corresponding to the frame [Fb (p)] related to the motion B is output as it is, no unnaturalness occurs.
Of course, if necessary, a program for controlling the audio output timing in correspondence with the display output of the interpolation frame [Fc (p)] may be provided.
[0029]
In this embodiment, the interpolation frame [Fc (p)] is generated for polygons in the world coordinate system, but the same principle as described above is applied to polygons in the local coordinate system constituting the game character. It may be a procedure to execute an interpolation frame generation program based on this to generate a game character for an interpolation frame and place it in the world coordinate system, and store the basic motion data in any data structure What is necessary is just to employ | adopt suitably according to having made it.
[0030]
【The invention's effect】
The “game character motion display method” of the present invention has the following configuration, and thus has the following effects.
As the game program progresses, the game character transitions from a series of first motions to a series of second motions with different appearances, and the movement of the second motion is so quick that the transition state is difficult to express smoothly with continuity. In some cases, an interpolation number of adaptive frames are automatically generated between the motions only by software processing, and interpolation processing is performed to express a visually smooth motion transition state.
Therefore, it is not necessary to prepare an interpolation frame created one frame at a time as in the conventional method, and the time and labor can be greatly reduced in the game program creation work, and the data amount can be reduced.
[Brief description of the drawings]
FIG. 1 is a system circuit diagram of an arcade game machine according to an embodiment.
FIG. 2 is a conceptual diagram showing how interpolation frames are generated and displayed in MB mode.
FIG. 3 is a flowchart showing a data processing / display procedure when a game character shifts from a series of motions A to a series of motions B.
FIG. 4 shows an arbitrary polygon constituting a game character object in the final frame [Fa (m)] of motion A, a corresponding polygon in the pth frame [Fb (p)] of motion B, and the pth It is a schematic diagram which shows the relationship of the corresponding polygon in the 1st interpolation frame [Fc (p)].
FIG. 5 shows frames [Fa (m-1)] and [Fa (m)] at the final stage related to motion A, and frames [Fb (1)], [Fb (25)] and [Fb related to motion B. (50)], [Fb (75)], [Fb (100)], [Fb (101)] [Fb (102)] and interpolation frames [Fc (1)], [Fc (25)], [ FIG. 10 is a reference diagram in which case images of game characters according to Fc (50)], [Fc (75)], and [Fc (100)] are compared.
FIG. 6 is a diagram schematically illustrating a conventional interpolation method.
[Explanation of symbols]
1 ... CPU, 2 ... ROM, 3 ... ROM board, 3a ... I / F, 4 ... RAM, 5 ... RAM, 6 ... video controller, 7 ... sound controller, 8 ... operation unit, 9 ... coin detector, 10 ... Input I / F, 11 ... Display driver, 12 ... Display, 13 ... Audio output circuit, 14 ... Speaker, 21 ... Game character object, 22a, 22b, 22c ... Polygon, ~ Fa (m-1), Fa (m ) ... Motion A frame, Fb (1), Fb (2), Fb (n), Fb (n + 1), ... Motion B frame, Fc (p); [p = 1 to n] ... Interpolated frame, Fv (q); [q = 1 to q] ... interpolated frame.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34383099A JP4257764B2 (en) | 1999-12-02 | 1999-12-02 | Game character motion display method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34383099A JP4257764B2 (en) | 1999-12-02 | 1999-12-02 | Game character motion display method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001160150A JP2001160150A (en) | 2001-06-12 |
JP4257764B2 true JP4257764B2 (en) | 2009-04-22 |
Family
ID=18364578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34383099A Expired - Fee Related JP4257764B2 (en) | 1999-12-02 | 1999-12-02 | Game character motion display method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4257764B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108367199A (en) * | 2015-12-09 | 2018-08-03 | 喀普康有限公司 | Recording medium, effect control method and the game device of recording game program |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106536005B (en) * | 2014-05-16 | 2019-11-05 | 世嘉飒美创意股份有限公司 | Game image generating means and method |
CN115119014B (en) * | 2022-06-15 | 2024-01-30 | 马上消费金融股份有限公司 | Video processing method, training method and device for interpolation frame number model |
-
1999
- 1999-12-02 JP JP34383099A patent/JP4257764B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108367199A (en) * | 2015-12-09 | 2018-08-03 | 喀普康有限公司 | Recording medium, effect control method and the game device of recording game program |
CN108367199B (en) * | 2015-12-09 | 2021-07-09 | 喀普康有限公司 | Recording medium for recording game program, effect control method and game device |
Also Published As
Publication number | Publication date |
---|---|
JP2001160150A (en) | 2001-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1994028507A1 (en) | Image processing device and method | |
US6734854B1 (en) | Image processing method and storage medium for storing image processing programs | |
JP4380042B2 (en) | Animation generation method and apparatus | |
WO1995009405A1 (en) | Clipping processor, three-dimensional simulator and clipping processing method | |
US6339430B1 (en) | Video game machine and method for changing texture of models | |
JP5190524B2 (en) | Object operation apparatus and method, and program | |
JP2001087543A (en) | Motion reproduction control method, recording medium and game device | |
JP4257764B2 (en) | Game character motion display method | |
JP4053078B2 (en) | 3D game device and information storage medium | |
JP3990258B2 (en) | Image generation system, program, and information storage medium | |
US7277583B2 (en) | Game software and game machine | |
JP2002163678A (en) | Method and device for generating pseudo three- dimensional image | |
JP3530095B2 (en) | Three-dimensional object transformation method and video game apparatus in video game, and computer-readable recording medium on which video game program is recorded | |
JP4447000B2 (en) | Image generation system, program, and information storage medium | |
JPH09147134A (en) | Animation generating device | |
JP4567027B2 (en) | Image processing apparatus, image processing method, and program | |
JPH09282482A (en) | Image information processor | |
US6118460A (en) | Virtual pseudo-human figure generating system | |
JP4425589B2 (en) | Image generation program, image generation method, and image generation apparatus | |
JP2004246877A (en) | Program projecting image onto game character, game machine incorporating program, storage medium storing program | |
JP3183636B2 (en) | Three-dimensional game device and information storage medium | |
JP2003069900A (en) | Device and program for generating video | |
JP4365303B2 (en) | Recording medium storing image processing program | |
JPH07105404A (en) | Stereoscopic image processor and its processing method | |
JP2002175541A (en) | Method and device for generating animation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090128 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090129 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150213 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |