説明

画像表示プログラムおよび画像表示装置

【課題】 仮想空間内で動作するオブジェクトを、鮮明かつ自然に表現する。
【課題を解決するための手段】
キャラクタCHは、X軸回りにα=360[deg]、Y軸回りにβ=90[deg]回転し、かつ姿勢パラメータPa、Pbを25[%]対75[%]の割合で合成した姿勢Pをとっている。姿勢パラメータの合成は、姿勢パラメータPa、Pbに含まれる各対応パラメータを、25[%]対75[%]の比率で加算することによって演算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間内に存在するオブジェクトの画像を表示するための画像表示プログラムおよび画像表示装置に関する。
【背景技術】
【0002】
ゲーム装置等において、キャラクタ等オブジェクトの動作を表現する際に、オブジェクト各部の微細な動きを演算することは処理データ量、演算負荷が膨大なものとなり、現実的でない。
【0003】
そこで、特許文献1記載の「ゲームキャラクタのモーション表示方法」では、一連のモーションAから、基本姿勢の異なる一連のモーションBへ移行する際に、あらかじめ、モーションA、B間を補間するフレームを、各ポリゴンをアフィン変換して生成し、用意しておく。そして、モーションA、Bの相関に基づいて補間フレーム数nを設定し、モーションBの最初のnフレームを補間フレームに置き換える。
【0004】
一方、特許文献2の「モーション表示方法」では、モーションAからモーションBへ移行する際に、モーションA、Bのフレームを、合成割合が当初Aが高く、徐々にBが高くなるように合成した合成モーションを生成し、スムーズな移行を実現する。
【特許文献1】特開2001−160150号公報
【特許文献2】特許第3618298号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1のモーション移行処理は、移行の過程におけるフレーム数、補間フレームにつき、多様な設定が必要であり、データ量が大きく、表示処理の計算負荷も大である。鮮明かつ自然な動作を実現するには多くの試行錯誤を要する。
【0006】
特許文献2のモーション移行処理は、A、B合成処理における合成割合を多様に調整する必要があり、演算処理は複雑である。そして、特許文献1と同様、鮮明かつ自然な動作を実現するには多くの試行錯誤を要する。
【0007】
本発明は、このような従来の問題点を解消すべく創案されたもので、鮮明かつ自然な動作を容易に実現することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、仮想空間内に存在するオブジェクトの画像を表示する画像表示プログラムであって、前記オブジェクトの動きに関するパラメータを設定するパラメータ設定ステップと、前記パラメータの段階的変化の単位時間(基本単位時間という。)を設定する基本単位時間設定ステップと、前記基本単位時間を等分割した最小単位時間を設定する最小単位時間設定ステップと、前記基本単位時間ごとに、前記パラメータの値を設定し、さらに、前記最小単位時間ごとにパラメータ値を割り振るパラメータ値基本設定ステップと、前記最小単位時間ごとに割り振られた前記パラメータ値を、連続する複数の最小単位時間について平滑化した値を各最小単位時間の値とする平滑化ステップと、前記平滑化ステップによって割り振られた各最小単位時間ごとの値に基づいて前記オブジェクトを表示する表示ステップとをコンピュータに実行させる。
【0009】
これによって、鮮明かつ自然な動作を容易に実現でき、比較的小規模のハードウエアにおいても、例えば、鮮明かつ自然な回転運動を表示し得る。
【0010】
本発明は、仮想空間内に存在するオブジェクトの画像を表示する画像表示装置であって、前記オブジェクトの動きに関するパラメータを設定するパラメータ設定手段と、前記パラメータの段階的変化の単位時間(基本単位時間という。)を設定する基本単位時間設定手段と、前記基本単位時間を等分割した最小単位時間を設定する最小単位時間設定手段と、前記基本単位時間ごとに、前記パラメータの値を設定し、さらに、前記最小単位時間ごとにパラメータ値を割り振るパラメータ値基本設定手段と、前記最小単位時間ごとに割り振られた前記パラメータ値を、連続する複数の最小単位時間について平滑化した値を各最小単位時間の値とする平滑化手段と、前記平滑化手段によって割り振られた各最小単位時間ごとの値に基づいて前記オブジェクトを表示する表示手段とを備える。
【0011】
これによって、鮮明かつ自然な動作を容易に実現でき、比較的小規模のハードウエアにおいても、例えば、鮮明かつ自然な回転運動を表示し得る。
【0012】
本発明に係る画像表示プログラムおよび画像表示装置において、前記パラメータは、例えば、前記仮想空間内の3次元座標軸(X、Y、Z軸とする。)まわりの回転角速度(X軸まわりで+方向に向かって右まわりの回転角速度ωx、Y軸まわりで+方向に向かって右まわりの回転角速度ωy、Z軸まわりで+方向に向かって右まわりの回転角速度ωz)を含む。
【0013】
これによって、3次元の任意の回転運動を、鮮明かつ自然に表示し得る。
【0014】
本発明に係る画像表示プログラムおよび画像表示装置において、前記パラメータは、例えば、前記オブジェクトの姿勢を示す姿勢パラメータを含む。
【0015】
これによって、3次元の任意の姿勢の変化を、鮮明かつ自然に表示し得る。
【0016】
本発明に係る画像表示プログラムおよび画像表示装置において、前記基本単位時間は、例えば、略0.5秒であり、前記平滑化ステップおよび平滑化手段は、連続する複数の最小単位時間について平滑化した値を各最小単位時間の値とし、平滑化は、例えば連続する複数のパラメータ値の重み付加算によって実行される。重み付加算の重みは均等であってもよく、前記最小単位時間は、例えば、基本単位時間を4等分した時間である。
【0017】
これによって、経験則上、動作の鮮明度、自然さを最大限に高め得る。
【発明の効果】
【0018】
本発明によれば、鮮明かつ自然な動作を容易に表示でき、比較的小規模のハードウエアにおいても、例えば、鮮明かつ自然な回転運動を表示し得る。
【0019】
【発明を実施するための最良の形態】
【0020】
次に、本発明に係る画像表示プログラムおよび画像表示装置の好適な実施例を図面に基づいて説明する。
【実施例1】
【0021】
[画像表示装置]
図1は、本発明に係る画像表示装置をゲーム装置に適用した実施例を示す正面図、図2は、図1のゲーム装置を示すブロック図である。
【0022】
図1において、ゲーム装置(画像表示装置)2000には、コントロ−ラ2100、TVモニタ2200等の表示装置2200およびキーボード2300が接続されている。
【0023】
表示装置2200には、仮想空間内で動作するキャラクタのオブジェクトCHの画像(CH1〜CH3で示す。)が表示され、該キャラクタCH1〜CH3は、飛び込み台のオブジェクトOBから高飛び込みを行っている。
【0024】
キャラクタCHは、例えば、左手を上げた姿勢で、左回転(矢印R1で示す。)しつつ、飛び込み台OBから後ろ向きにジャンプし、放物線Gに沿って下方に落下する(画像CH2で示す。)。その後、膝をかかえ込んだ姿勢(画像CH3で示す。)に変化し、さらに落下する。本実施例によれば、これらの動作は、比較的小規模のハードウエアにおいても、鮮明かつ自然に表示し得る。
【0025】
キャラクタCHのこのような動作の表示は、コントローラ2100からの入力信号に基づいて、あるいは、所定のプログラムに基づいて、図2に関連して後述する、CPU1000、システムメモリ1020、ビデオディスプレイプロセッサ1030、グラフィックメモリ1040の協働によって実現される。
【0026】
なお、仮想空間内にはその他の種々のオブジェクトが存在し得るが、ここではオブジェクトCHについてのみ説明を行う。
【0027】
図2において、ゲーム装置(画像表示装置)2000は、全体を制御するCPU1000と、ゲーム装置2000を起動させるためのプログラムを格納するブートロム1010と、CPU1000によって実行されるプログラムやデータを格納するシステムメモリ1020とを有する。
【0028】
ゲーム装置2000には、表示すべき画像を生成、制御するビデオプロセッサ1030と、生成される画像の元となる画像や生成された画像を記憶するグラフィックメモリ1040が設けられ、ビデオプロセッサ1030は、生成した画像を表示装置2200に表示する。
【0029】
ゲーム装置2000には、音声を生成するオーディオプロセッサ1070と、生成される音声のデータを記憶するオーディオメモリ1080が設けられ、オーディオプロセッサ1070はオーディオメモリ1080に記憶されたデータに基づいて音声のデジタル信号を生成し、スピーカやヘッドフォン(図示省略)によって音声を出力する。
【0030】
ゲーム装置2000には、プログラムデータ等の記憶装置としてCD−ROMドライブ1090等が設けられ、記憶装置において記憶媒体に格納されたゲームプログラムやデータがシステムメモリ1020、グラフィックメモリ1040、オーディオメモリ1080に読み込まれる。
【0031】
ゲーム装置2000にはメモリインターフェース1130が設けられ、遊戯者が保有するメモリカードA、Bに対する読み書きが可能である。これによって、各ユーザのゲーム成績、中途で終了したゲームの状態等を登録し得る。
【0032】
ゲーム装置2000には、通信インターフェース1160を介してモデム1150が設けられ、ネットワークを介して複数のゲーム装置2000によるネットワークゲームを実行でき、また、サーバ(図示省略)から、ゲーム成績の統計、各遊戯者順位、種々のイベント等、ゲームに関する種々の情報を取得し得る。
【0033】
ゲーム装置2000には、コントローラインターフェース1140が設けられ、コントローラ2100はコントローラインターフェース1140の端子1〜4に接続される。
【0034】
[画像表示アルゴリズム]
次に、ゲーム装置2000によって実行される画像表示アルゴリズムを説明する。
【0035】
図3は、図1のゲーム装置で表示される仮想空間の例を示す図、図4は、図3の仮想空間内で動作するキャラクタのオブジェクトの正立した姿勢を示す正面図、図5は、図4の右側面図、図6は、図4のオブジェクトの片手を上げた姿勢を示す正面図、図7は、図6の右側面図、図8は、図6の左側面図、図9は、図4のオブジェクトの膝を抱えた姿勢を示す正面図、図10は、図9の右側面図である。
【0036】
図3において、仮想空間VS内には、X、Y、Zの3次元座標が定義され、例えば、X軸の正の方向について右回りの回転角度α、Y軸の正の方向について右回りの回転角度β、Z軸の正の方向について右回りの回転角度γが定義され、さらに、回転角度α、β、γの角速度ωx、ωy、ωzが定義されている。
【0037】
キャラクタCHその他のオブジェクトは、これらパラメータ、すなわち座標(X,Y,Z)、回転角度(α、β、γ)、回転角速度(ωx、ωy、ωz)の設定によって、仮想空間VS内で、任意の位置、任意の回転角度で配置でき、かつその回転角速度を設定し得る。
【0038】
図4〜図10に示すように、キャラクタCHは、複数の姿勢、例えば、正立した姿勢(図4、図5)、片手を上げた姿勢(図6〜図8)、膝を抱えた姿勢(図9、図10)が定義され、これらの姿勢を任意に選択しつつ、連続的な姿勢変化が可能である。
【0039】
キャラクタCHの姿勢を変化しつつ、回転させる際には、例えば、図11に示すよう、基本単位時間(例えば0.5秒)ごとの姿勢、回転角速度が設定される。
【0040】
[パラメータ、基本単位時間、最小単位時間]
図11において、回転角速度(ωx、ωy、ωz)は、基本単位時間ごとに(0,0,0)、(720,0,0)、(0,720,0)、(720,720,0)、(720,0,720)、(0,0,0)(単位[deg])と変化する。図11では、姿勢は6種設定され、各姿勢を姿勢パラメータ(後述する。)Pa、Pb、Pc、Pd、Pe、Pfで表示するとき、姿勢はPa−>Pb−>Pc−>Pd−>Pe−>Pfと変化する。
【0041】
設定された回転、姿勢の動的変化を、鮮明かつ自然なものとするため、本実施例では、基本単位時間(Tとする。)を所定数(Dとする。)の最小単位時間(tとする。)に分割し、各基本単位時間Tの回転角速度(ωx、ωy、ωz)、姿勢パラメータ(Pa,Pb,Pc,Pd,Pe,Pf)を最小単位時間に割り振る。その結果を図12に示す。
【0042】
図12において、基本単位時間T=1を最小単位時間の範囲0=<t<0.125[sec]、0.125=<t<0.250[sec]、0.250=<t<0.375[sec]、0.375=<t<0.500[sec]に分割する。
【0043】
基本単位時間T=2については、最小単位時間の範囲0.500=<t<0.625[sec]、0.625=<t<0.750[sec]、0.750=<t<0.875[sec]、0.875=<t<1.000[sec]に分割する。
【0044】
基本単位時間T=3については、最小単位時間の範囲1.000=<t<1.125[sec]、1.125=<t<1.250[sec]、1.250=<t<1.375[sec]、1.375=<t<1.500[sec]に分割する。
【0045】
基本単位時間T=4については、最小単位時間の範囲1.500=<t<1.625[sec]、1.625=<t<1.750[sec]、1.750=<t<1.875[sec]、1.875=<t<2.000[sec]に分割する。
【0046】
基本単位時間T=5については、最小単位時間の範囲2.000=<t<2.125[sec]、2.125=<t<2.250[sec]、2.250=<t<2.375[sec]、2.375=<t<2.500[sec]に分割する。
【0047】
基本単位時間T=6については、最小単位時間の範囲2.500=<t<2.625[sec]、2.625=<t<2.750[sec]、2.750=<t<2.875[sec]、2.875=<t<3.000[sec]に分割する。
【0048】
[姿勢パラメータ]
図4〜図10に示したキャラクタCHについて、姿勢パラメータを説明する。
【0049】
キャラクタCHは、可動要素をリンク(アークと呼ぶ。)によってモデル化(スケルトンと呼ぶ。)し、アークの接合点(ノードと呼ぶ。)における相対角度によってその姿勢を定義し得る。図4に対応した図22に示すように、キャラクタCHは、例えば、複数のアークE1〜E20を回転可能に連結したスケルトンに、頭部、胴体、腕、足等を被覆して構成され、上端のアークE1の一端N0(頭頂の位置)が基準点とされている。
図22は、姿勢合成演算のための、図4のキャラクタのスケルトンを示す図、図23は、姿勢合成演算のための、図5のキャラクタのスケルトンを示す図、図24は、姿勢合成演算のための、図6のキャラクタのスケルトンを示す図、図25は、姿勢合成演算のための、図7のキャラクタのスケルトンを示す図、図26は、姿勢合成演算のための、図8のキャラクタのスケルトンを示す図、図27は、姿勢合成演算のための、図9のキャラクタのスケルトンを示す図である。なお、表示を明瞭化するため、図24、図25では、図22、図23との相違部分のみに符号を付し、図26、図27では、アークの符号を省略している。
【0050】
アークE1はノードN1によってアークE2(首の位置)に回転可能に連結されている。アークE2はノードN3によってアークE3、E4(肩の位置)およびアークE6(胸の位置)に回転可能に連結されている。
【0051】
アークE3はノードN2によってアークE5(右上腕の位置)に回転可能に連結され、アークE5はノードN5によってアークE8(右前腕の位置)に回転可能に連結されている。アークE8はノードN8によってアークE11(右手の位置)に回転可能に連結されている。
【0052】
アークE4はノードN4によってアークE7(左上腕の位置)に回転可能に連結され、アークE7はノードN7によってアークE10(左前腕の位置)に回転可能に連結されている。アークE10はノードN10によってアークE14(左手の位置)に回転可能に連結されている。
【0053】
アークE6はノードN6によってアークE9(腹の位置)に回転可能に連結され、アークE9はノードN9によってアークE12、E13(骨盤の位置)に回転可能に連結されている。
【0054】
アークE12はノードN11によってアークE15(右大腿の位置)に回転可能に連結され、アークE15はノードN15によってアークE17(右下腿の位置)に回転可能に連結されている。アークE17はノードN17によってアークE19(右足の位置)に回転可能に連結されている。
【0055】
アークE13はノードN13によってアークE16(左大腿の位置)に回転可能に連結され、アークE16はノードN18によってアークE18(左下腿の位置)に回転可能に連結されている。アークE18はノードN16によってアークE20(左足の位置)に回転可能に連結されている。
【0056】
スケルトンは、ノードN0の(X,Y,Z)座標、アークE1の回転角度(α、β、γ)を決定すれば仮想空間内の位置、角度が決定し、他のアークE2〜E20は各ノードN1〜N18における相対角度によって角度設定される。これらの、ノード、アークを設定するパラメータの集合を姿勢パラメータという。
【0057】
[回転および姿勢の合成]
次に、キャラクタCHの回転、姿勢変化がどのように実行されるかを説明する。ここでは説明を簡略化するため、キャラクタをより単純にモデル化して示す。
【0058】
図17は、キャラクタの姿勢合成、回転を説明するための、図4のキャラクタを簡略化して示す斜視図、図18は、キャラクタの姿勢合成、回転を説明するための、図9のキャラクタを簡略化して示す斜視図、図19は、図17、図18のキャラクタの姿勢を合成し、かつ回転した状態を示す斜視図、図20は、図17、図18のキャラクタの姿勢を合成し、かつ回転した他の状態を示す斜視図、図21は、図17、図18のキャラクタの姿勢を合成し、かつ回転した、さらに他の状態を示す斜視図である。
【0059】
図17の非回転、正立の姿勢(姿勢パラメータPa)、図18の非回転、膝を抱えた姿勢(姿勢パラメータPb)に対して、図19では、キャラクタCHは、X軸回りにα=270[deg]回転し、かつ姿勢パラメータPa、Pbを75[%]対25[%]の割合で合成した姿勢Pをとっている。姿勢パラメータの合成は、姿勢パラメータPa、Pbに含まれる各対応パラメータを、75[%]対25[%]の比率で加算することによって演算する。
【0060】
図20では、キャラクタCHは、X軸回りにα=330[deg]回転し、かつ姿勢パラメータPa、Pbを50[%]対50[%]の割合で合成した姿勢Pをとっている。姿勢パラメータの合成は、姿勢パラメータPa、Pbに含まれる各対応パラメータを、50[%]対50[%]の比率で加算することによって演算する。
【0061】
図21では、キャラクタCHは、X軸回りにα=360[deg]、Y軸回りにβ=90[deg]回転し、かつ姿勢パラメータPa、Pbを25[%]対75[%]の割合で合成した姿勢Pをとっている。姿勢パラメータの合成は、姿勢パラメータPa、Pbに含まれる各対応パラメータを、25[%]対75[%]の比率で加算することによって演算する。
【0062】
[回転]
図12において、最小単位時間に割り振られた回転角速度(ωx、ωy、ωz)は、そのままキャラクタの回転に適用すると、急激かつ不自然な回転開始、終了と、角速度変化時点での不自然な回転変化が生じる。
【0063】
そこで、本実施例では、回転角速度(ωx、ωy、ωz)を、例えば、3最小単位時間の期間について、式(1)〜(3)によって平滑化する。
【0064】
ωx(ti)={ωx(ti-1)+ωx(ti)+ωx(ti+1)}/3 式(1)
ωy(ti)={ωy(ti-1)+ωy(ti)+ωy(ti+1)}/3 式(2)
ωz(ti)={ωz(ti-1)+ωz(ti)+ωz(ti+1)}/3 式(3)
ti-1:(i−1)番目の最小単位時間
ti:i番目の最小単位時間
ti+1:(i+1)番目の最小単位時間
ωx(ti):i番目の最小単位時間におけるωx
ωy(ti):i番目の最小単位時間におけるωy
ωz(ti):i番目の最小単位時間におけるωz
但し、式(1)〜(3)において、図12のti=0のように、ti-1が存在しないときはωx(ti-1)、ωy(ti-1)、ωz(ti-1)は省略し、ti=3.000のようにti+1が存在しないときはωx(ti+1)、ωy(ti+1)、ωz(ti+1)は省略する。
【0065】
なお、より短い期間、あるいは長期間に渡って平滑化してもよい。また、式(4)は均等な重みによる重み付加算であるが、連続するパラメータのそれぞれに異なる重みを与えた重み付加算によって平滑化を実行してもよい。
【0066】
平滑化を実行した結果を図13に示し、図13における、最小単位時間ごとの、回転角度(α、β、γ)を図14の表に示す。また、図14の回転角度を積算した、キャラクタの合計回転角度量を図15の表に示し、図13の姿勢パラメータおよび図15の合計回転角度量を図16のグラフに示す。
【0067】
図16から明らかなように、回転角度(α、β、γ)の変化は、マクロには明瞭な変化が生じているが、ミクロには微細な角度変化が平滑化されており、全体として、極めて鮮明かつ自然なものになる。
【0068】
なお、経験則上、基本単位時間T=0.5秒、D=4として、極めて良好な結果を得ているが、その近似値においても同様であり、また、種々の基本単位時間、分割数の組み合わせにおいて、良好な条件を選択し得ることはいうまでもない。
【0069】
[姿勢の動的変化]
姿勢パラメータに関して、図12に示した姿勢パラメータPa−>Pb−>Pc−>Pd−>Pe−>Pfの変化は、各姿勢パラメータを順次100%とし、他の姿勢パラメータを0%とすることによって実現されるが、これをキャラクタの動的姿勢変化に適用すると、急激かつ不自然な姿勢変化が生じる。
【0070】
そこで、本実施例では、特許文献2における姿勢パラメータ合成と同様、ある姿勢から次の姿勢に移り変わる過渡期において、式(4)によって、両姿勢を合成し、変化を穏やかなものとする。例えば、姿勢パラメータがPaからPbに移行する場合には、例えば、式(4)によって過渡期の合成姿勢パラメータPを算出する。過渡期の期間を最小単位時間の2×Tr倍、Pa終了時の最小単位時間をi番目とすると、式(4)演算により姿勢パラメータ合成が実行される。
【0071】
P(ti-Tr+1)={Pa×(1−R)+Pb×R}
P(ti-Tr+2)={Pa×(1−R×2)+Pb×(R×2)}
......
P(ti)={Pa×0.5+Pb×0.5}
P(ti+1)={Pa×0.5+Pb×0.5}
......
P(ti+Tr−1)={Pa×R+Pb×(1−R)} 式(4)
R=1/(2×Tr)
P(ti):i番目の最小単位時間における合成姿勢パラメータ
【0072】
図13は、D=4、Tr=2として、図12の姿勢パラメータの過渡期の合成姿勢パラメータPを算出した結果であり、図16はそのグラフを示す。図16において、Pa、Pb、Pc、Pd、Pe、Pfの符号を付した曲線が、合成姿勢パラメータPであり、Pa、Pb、Pc、Pd、Pe、Pfを付した位置で、これらPa、Pb、Pc、Pd、Pe、Pfが100%に達している。その過渡期において、Pa−>Pb−>Pc−>Pd−>Pe−>Pfの変化は、穏やかである。
【0073】
図1、図2のゲーム装置において、CPU1000、システムメモリ1020は協働して、オブジェクトCHの動きに関するパラメータ、すなわち、座標(X,Y,Z)、回転角度(α、β、γ)、回転角速度(ωx、ωy、ωz)、姿勢パラメータPa〜Pf等を設定するパラメータ設定手段として機能し、基本単位時間Tを設定する基本単位時間設定手段として機能し、最小単位時間tを設定する最小単位時間設定手段として機能し、パラメータの値を最小単位時間に割り振るパラメータ値基本設定手段として機能する。
【0074】
さらに、CPU1000、システムメモリ1020は協働して、パラメータ値基本設定手段によって、前記最小単位時間ごとに割り振られた回転角速度(ωx、ωy、ωz)を、連続する複数の最小単位時間について平滑化した値を各最小単位時間の値とする平滑化手段として機能する。
【0075】
CPU1000、システムメモリ1020、ビデオディスプレイプロセッサ1030、グラフィックメモリ1040は、協働して、平滑化手段によって割り振られた各最小単位時間ごとの回転角速度に基づいてオブジェクトCHを表示する表示手段として機能する。
【0076】
[画像表示プログラム]
以上の画像表示アルゴリズムを図1の画像表示装置で実行するための画像表示プログラムを図28に示す。画像表示プログラムの処理は以下の各ステップを含む。
【0077】
ステップS2701:まず表示すべきオブジェクトCHを変化させるために必要なパラメータを設定する。本実施例では、座標(X,Y,Z)、回転角度(α、β、γ)、回転角速度(ωx、ωy、ωz)、姿勢パラメータPa〜Pf等である。
【0078】
ステップS2702:ステップS2701に続いて、基本単位時間Tを設定する。
【0079】
ステップS2703:ステップS2702に続いて、基本単位時間ごとに、座標(X,Y,Z)、回転角度(α、β、γ)、回転角速度(ωx、ωy、ωz)、姿勢パラメータPa〜Pf等を設定する。
【0080】
ステップS2704:ステップS2703に続いて、分割数D、最小単位時間tを設定する。
【0081】
ステップS2705:ステップS2703に続いて、ステップS2703で設定されたパラメータを最小単位時間に、割り振る。
【0082】
ステップS2706:前記式(1)〜(3)を用いて、回転角速度(ωx、ωy、ωz)の平滑化する。
【0083】
ステップS2707:前記式(4)を用いて、過渡期の姿勢パラメータを合成する。
【0084】
ステップS2708:各最小単位時間ごとにオブジェクトの画像を表示する。その後、処理を終了する。
【0085】
以上の画像表示プログラムによれば、回転角度(α、β、γ)の変化は、マクロには明瞭な変化が生じているが、ミクロには微細な角度変化が平滑化されており、全体として、極めて鮮明かつ自然なものになる。また、姿勢の動的変化は自然である。
【0086】
ステップS2706の演算、すなわち式(1)〜(3)の演算は、極めて単純であり、その計算負荷はわずかであり、低パフォーマンスのハードウエアにおいても高速処理が可能である。
【0087】
さらに、ステップS2704〜S2706の演算は再帰的に実行することが可能であり、1回目の処理で設定した分割数Dのべき状の分割によって、微少な最小単位時間tを容易に生成し得る。
【0088】
さらに、ステップS2704〜S2706の演算は、パラメータが変化しない状況においては、一定のパラメータ値を出力する特性を有するので、適用条件を判断することなく、常に、パラメータ出力ルーチンとして適用でき、ソフトウエア構成を単純化し得る。
【実施例2】
【0089】
次に、本発明に係る画像表示装置および画像表示プログラムの実施例2を説明する。
【0090】
実施例2は、実施例1の構成において、姿勢パラメータを個々に平滑化するものである。
【0091】
[画像表示アルゴリズム]
図12に示したように、一般に姿勢パラメータの設定はある姿勢から次の姿勢へと順次変位するように設定され、各姿勢パラメータは、0%から100%になり、その後0%に戻る。従って、各姿勢パラメータを独立に平滑化すると、0%と100%との移行期間の変化が平滑化され、急峻な変化が緩和される。
【0092】
例えば、3最小単位時間についての姿勢パラメータPaの平滑化では、式(5)が適用される。
【0093】
Pa(ti)={Pa(ti-1)+Pa(ti)+Pa(ti+1)}/3 式(5)
Pa(ti):i番目の最小単位時間におけるPa
【0094】
但し、式(1)〜(3)において、図12のti=0のように、ti-1が存在しないときはPa(ti-1)は省略し、ti=3.000のようにti+1が存在しないときはPa(ti+1)は省略する。
【0095】
なお、より短い期間、あるいは長期間に渡って平滑化を実行してもよい。
【0096】
図29は、以上のアルゴリズムにより図12の姿勢パラメータPa〜Pfを独立に平滑化したものであり、図30はそのグラフである。
【0097】
図30から明らかなように、姿勢パラメータは順次穏やかに遷移する。
【0098】
実施例2は回転角速度と姿勢パラメータの処理を共通化し得るので、処理ルーチンは単純化され、ハードウエアの小規模化に貢献する。
【0099】
[画像表示プログラム]
以上の画像表示アルゴリズムを図1の画像表示装置で実行するための画像表示プログラムを図31に示す。
【0100】
実施例2の画像表示プログラムは、実施例1のステップS2701〜S2706、S2708と共通のステップS3001〜S3006、S3008を有し、ステップS3007のみがステップS2707と相違する。ステップS3007は以下の処理を実行する。すなわち、
【0101】
ステップS3007:各姿勢パラメータについて、独立に平滑化する。
【0102】
これによって、各姿勢パラメータの0%、100%間の変化が穏やかになり、自然な動的変化を実現し得る。
【産業上の利用可能性】
【0103】
以上の実施例はキャラクタの高飛び込みを表示するための画像表示処理について説明したが、仮想空間内で回転、姿勢変化する任意のオブジェクト、スノーボード、フリースキー、モーグルスキー、水上スキー、トランポリン、スケートボード、スリースカイダイビング、体操のキャラクタ、その他に、本発明を適用し得ることはいうまでもない。
【図面の簡単な説明】
【0104】
【図1】本発明に係るゲーム装置(画像処理装置)の実施例を示す正面図である。(実施例1)
【図2】図1のゲーム装置を示すブロック図である。(実施例1)
【図3】図1のゲーム装置で表示される仮想空間の例を示す図である。(実施例1)
【図4】図3の仮想空間内で動作するキャラクタのオブジェクトの正立した姿勢を示す正面図である。(実施例1)
【図5】図4の右側面図である。(実施例1)
【図6】図4のオブジェクトの片手を上げた姿勢を示す正面図である。(実施例1)
【図7】図6の右側面図である。(実施例1)
【図8】図6の左側面図である。(実施例1)
【図9】図4のオブジェクトの膝を抱えた姿勢を示す正面図である。(実施例1)
【図10】図9の右側面図である。(実施例1)
【図11】キャラクタの基本単位時間ごとの姿勢パラメータ、回転角速度の変化を示す表である。(実施例1)
【図12】キャラクタの最小単位時間ごとの姿勢パラメータ、回転角速度の変化を示す表である。(実施例1)
【図13】図12の姿勢パラメータ、回転角速度を平滑化した結果を示す表である。(実施例1)
【図14】図13における、最小単位時間ごとの、回転角度を示す表である。(実施例1)
【図15】図14の回転角度を積算した、キャラクタの合計回転角度量を示す表である。(実施例1)
【図16】図13の姿勢パラメータおよび図15の合計回転角度量を示すグラフである。(実施例1)
【図17】キャラクタの姿勢合成、回転を説明するための、図4のキャラクタを簡略化して示す斜視図である。(実施例1)
【図18】キャラクタの姿勢合成、回転を説明するための、図9のキャラクタを簡略化して示す斜視図である。(実施例1)
【図19】図17、図18のキャラクタの姿勢を合成し、かつ回転した状態を示す斜視図である。(実施例1)
【図20】図17、図18のキャラクタの姿勢を合成し、かつ回転した他の状態を示す斜視図である。(実施例1)
【図21】図17、図18のキャラクタの姿勢を合成し、かつ回転した、さらに他の状態を示す斜視図である。(実施例1)
【図22】姿勢合成演算のための、図4のキャラクタのスケルトンを示す図。(実施例1)
【図23】姿勢合成演算のための、図5のキャラクタのスケルトンを示す図。(実施例1)
【図24】姿勢合成演算のための、図6のキャラクタのスケルトンを示す図。(実施例1)
【図25】姿勢合成演算のための、図7のキャラクタのスケルトンを示す図。(実施例1)
【図26】姿勢合成演算のための、図8のキャラクタのスケルトンを示す図。(実施例1)
【図27】姿勢合成演算のための、図9のキャラクタのスケルトンを示す図。(実施例1)
【図28】本発明にかかる画像表示プログラムの実施例1の処理を示すフローチャートである。(実施例1)
【図29】平滑化によって合成した姿勢パラメータを示す表である。(実施例2)
【図30】平滑化によって合成した姿勢パラメータを示すグラフである。(実施例2)
【図31】本発明にかかる画像表示プログラムの実施例2の処理を示すフローチャートである。(実施例2)
【符号の説明】
【0105】
1000 CPU
1020 システムメモリ
1030 ビデオディスプレイプロセッサ
1040 グラフィックメモリ
2000 ゲーム装置
2100 コントローラ
2200 表示装置
2300 キーボード


【特許請求の範囲】
【請求項1】
仮想空間内に存在するオブジェクトの画像を表示する画像表示プログラムであって、
前記オブジェクトの動きに関するパラメータを設定するパラメータ設定ステップと、
前記パラメータの段階的変化の単位時間(基本単位時間という。)を設定する基本単位時間設定ステップと、
前記基本単位時間を等分割した最小単位時間を設定する最小単位時間設定ステップと、
前記基本単位時間ごとに、前記パラメータの値を設定し、さらに、前記最小単位時間ごとにパラメータ値を割り振るパラメータ値基本設定ステップと、
前記最小単位時間ごとに割り振られた前記パラメータ値を、連続する複数の最小単位時間について平滑化した値を各最小単位時間の値とする平滑化ステップと、
前記移動平均ステップによって割り振られた各最小単位時間ごとの値に基づいて前記オブジェクトを表示する表示ステップと、
をコンピュータに実行させる画像表示プログラム。
【請求項2】
平滑化ステップは、連続する複数の最小単位時間における、複数の前記パラメータ値を重み付加算する請求項1記載の画像表示プログラム。
【請求項3】
平滑化ステップの重み付加算は、均等な重みによって重み付加算数する請求項2記載の画像表示プログラム。
【請求項4】
前記パラメータは、前記仮想空間内の3次元座標軸(X、Y、Z軸とする。)まわりの回転角速度(X軸まわりで+方向に向かって右まわりの回転角速度ωx、Y軸まわりで+方向に向かって右まわりの回転角速度ωy、Z軸まわりで+方向に向かって右まわりの回転角速度ωz)を含む請求項1乃至3のいずれか1項に記載の画像表示プログラム。
【請求項5】
前記パラメータは、前記オブジェクトの姿勢を示す姿勢パラメータを含む請求項1乃至4のいずれか1項に記載の画像表示プログラム。
【請求項6】
前記基本単位時間は、略0.5秒である請求項1乃至5のいずれか1項に記載の画像表示プログラム。
【請求項7】
前記移動平均ステップは、各最小単位時間のパラメータ値とその前後の最小単位時間との平均値を、該最小単位時間のパラメータ値とする請求項1乃至6のいずれか1項にに記載の画像表示プログラム。
【請求項8】
前記最小単位時間は、基本単位時間を4等分した時間である請求項1乃至7のいずれか1項にに記載の画像表示プログラム。
【請求項9】
仮想空間内に存在するオブジェクトの画像を表示する画像表示装置であって、
前記オブジェクトの動きに関するパラメータを設定するパラメータ設定手段と、
前記パラメータの段階的変化の単位時間(基本単位時間という。)を設定する基本単位時間設定手段と、
前記基本単位時間を等分割した最小単位時間を設定する最小単位時間設定手段と、
前記基本単位時間ごとに、前記パラメータの値を設定し、さらに、前記最小単位時間ごとにパラメータ値を割り振るパラメータ値基本設定手段と、
前記最小単位時間ごとに割り振られた前記パラメータ値を、連続する複数の最小単位時間について平滑化した値を各最小単位時間の値とする平滑化手段と、
前記移動平均手段によって割り振られた各最小単位時間ごとの値に基づいて前記オブジェクトを表示する表示手段と、
を備えた画像表示装置。
【請求項10】
平滑化ステップは、連続する複数の最小単位時間における、複数の前記パラメータ値を重み付加算する請求項9記載の画像表示装置。
【請求項11】
平滑化ステップの重み付加算は、均等な重みによって重み付加算数する請求項10記載の画像表示装置。
【請求項12】
前記パラメータは、前記仮想空間内の3次元座標軸(X、Y、Z軸とする。)まわりの回転角速度(X軸まわりで+方向に向かって右まわりの回転角速度ωx、Y軸まわりで+方向に向かって右まわりの回転角速度ωy、Z軸まわりで+方向に向かって右まわりの回転角速度ωz)を含む請求項9乃至11のいずれか1項に記載の画像表示装置。
【請求項13】
前記パラメータは、前記オブジェクトの姿勢を示す姿勢パラメータを含む請求項9乃至12のいずれか1項に記載の画像表示装置。
【請求項14】
前記基本単位時間は、略0.5秒である請求項9乃至13のいずれか1項に記載の画像表示装置。
【請求項15】
前記移動平均手段は、各最小単位時間のパラメータ値とその前後の最小単位時間との平均値を、該最小単位時間のパラメータ値とする請求項9乃至14のいずれか1項に記載の画像表示プログラム。
【請求項16】
前記最小単位時間は、基本単位時間を4等分した時間である請求項9乃至15のいずれか1項に記載の画像表示装置。
【請求項17】
請求項1記載の画像表示プログラムの各ステップをコンピュータに実行させるプログラムコードが記憶された、コンピュータ読み取り可能な記憶媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2009−93437(P2009−93437A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2007−263760(P2007−263760)
【出願日】平成19年10月9日(2007.10.9)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】