説明

画像生成システム及び情報記憶媒体

【課題】 ムービーに奥行きを持たせて、ムービーによる移動オブジェクトの陰面消去を可能にする画像生成システム及び情報記憶媒体を提供すること。
【解決手段】 ムービー再生のためのムービーデータに奥行き値Z1を含ませ、この奥行き値Z1とキャラクタ10の奥行き値Z2に基づき陰面消去を行い、ムービーとキャラクタ10とが合成された画像を描画する。ムービーデータにヒットエリアを特定するためのヒットエリアデータ(ヒットエリアフラグ、ヒットエリアの高さ)を含ませ、ヒットエリアデータに基づきキャラクタとヒットエリアとのヒットチェックを行う。ムービーデータに移動経路データや移動データを含ませ、移動経路データや移動データに基づきキャラクタを移動させる。ムービー再生の最終フレームの画像のデータに奥行き値Z1を含ませ、奥行き値Z1とキャラクタの奥行き値Z2に基づき陰面消去を行い、最終フレーム画像とキャラクタとが合成された画像を描画する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成システム及び情報記憶媒体に関する。
【背景技術】
【0002】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【0003】
このような画像生成システムでは、ゲームのオープニング、幕間、エンディングなどにおいて、プレーヤのゲーム意欲を盛り上げたりプレーヤの感動を高めるために、いわゆるムービー(動画)と呼ばれるものが再生される。このムービーでは、CGツールにより制作されたCG映像や実写映像が再生されるため、ポリゴン(プリミティブ面)により構成された3次元オブジェクトをリアルタイムに動かすことで生成される画像に比べて、よりリアルで写実的な表現が可能になる。
【0004】
しかしながら、これまでの画像生成システムでは、ムービー再生のためのデータであるムービーデータが、2次元画像データや音データしか含まなかった。従って、例えばムービーとキャラクタ(広義には移動オブジェクト)が合成された画像を生成しようとすると、キャラクタがムービーの手前に常に表示されるようになり、リアル感に欠ける画像が生成されてしまう。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平8−212379号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ムービーに奥行きを持たせて、ムービーによる移動オブジェクトの陰面消去を可能にする画像生成システム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、ムービー再生のためのデータであって奥行き値データを含むムービーデータを記憶するムービーデータ記憶手段と、ムービーデータが含む第1の奥行き値データと移動オブジェクトの第2の奥行き値データとに基づいて陰面消去を行いながら、ムービーと移動オブジェクトとが合成された画像を描画する描画手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0008】
本発明によれば、ムービー再生のためのデータであるムービーデータ(CG映像、実写映像等)が、第1の奥行き値データを含む。そして、この第1の奥行き値データと移動オブジェクト(キャラクタ等)の第2の奥行き値データとに基づいて陰面消去が行われる。これにより、ムービーを構成する表示物の物陰に移動オブジェクトが隠れるなどの画像表現が可能になる。従って、2次元映像であるムービーにあたかも奥行きがあるかのように、プレーヤを錯覚させることができ、プレーヤの仮想現実感を高めることができる。しかも、背景などをムービーで表現すれば、背景をポリゴン(プリミティブ面)で表現する場合に比べて、よりリアルで写実的な画像表現が可能になると共に、製品の低コスト化や開発期間の短縮化を図れる。
【0009】
なお、第1、第2の奥行き値データに基づく陰面消去は、Zバッファを用いたZバッファ法により行うことが望ましい。また移動オブジェクトは、複数のプリミティブ面(ポリゴン、曲面等)により構成することが望ましい。
【0010】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記ムービーデータ記憶手段に記憶されるムービーデータが、ヒットエリアを特定するためのヒットエリアデータを含み、前記ヒットエリアデータに基づいて移動オブジェクトとヒットエリアとのヒットチェックを行う手段(該手段を実現するためのプログラム、処理ルーチン)を含むことを特徴とする。このようすることで、ムービーの中の表示物と移動オブジェクトとの間のヒットチェックが可能になる。従って、ムービーの中の表示物が障害となって移動オブジェクトが移動できないなどのゲーム状況を作り出すことができる。これにより、ムービーの中の表示物がポリゴン等で構成されているかのような錯覚を、プレーヤに与えることが可能になり、プレーヤの仮想現実感を高めることができる。
【0011】
なお、ヒットチェック処理においては、ムービーに登場する表示物の底面をヒットエリアとし、このヒットエリアと、移動オブジェクトの最下部に設定された代表点との間で、ヒットチェックを行うことが望ましい。
【0012】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記ヒットエリアデータが、ヒットエリアに関する高さデータを含むことを特徴とする。このようにすることで、ムービーの中の表示物の高さも考慮したヒットチェック処理などが可能になる。
【0013】
なお、ヒットエリアデータとしては、この高さデータの他にも、画像の各ピクセルがヒットエリアか否かを示すヒットエリアフラグなどを考えることができる。
【0014】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記ムービーデータ記憶手段に記憶されるムービーデータが、移動オブジェクトの移動経路を決めるための移動経路データを含み、前記移動経路データに基づいて移動オブジェクトを移動させる手段(該手段を実現するためのプログラム、処理ルーチン)を含むことを特徴とする。このようにすれば、ムービーの中の表示物の存在により、移動オブジェクトの移動経路を変更するなどの処理が可能になり、表示物を避けるように移動オブジェクトを移動させることが可能になる。
【0015】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記ムービーデータ記憶手段に記憶されるムービーデータが、移動オブジェクトを移動させるための移動データを含み、前記移動データに基づいて移動オブジェクトを移動させる手段(該手段を実現するためのプログラム、処理ルーチン)を含むことを特徴とする。このようにすれば、ムービーの中の表示物の動きに連動させて移動オブジェクトを移動させたり、ムービー全体の動きに連動させて、移動オブジェクトを移動させることなどが可能になる。
【0016】
なお、移動データとしては、移動量を表す移動値や、移動エリアを特定するための移動エリアフラグなどを考えることができる。
【0017】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ムービーデータが含む前記第1の奥行き値データが、ムービーを構成する各画像の各ピクセルに対して設定されていることを特徴とする。このように各画像(フレーム画像)の各ピクセルに対して第1の奥行き値データを設定することで、より精密で正確な陰面消去が可能になる。
【0018】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ムービー再生の最終フレームの画像のデータが前記第1の奥行き値データを含み、前記描画手段が、ムービー再生の最終フレームの画像のデータが含む第1の奥行き値データと移動オブジェクトの第2の奥行き値データとに基づいて陰面消去を行いながら、最終フレームの画像と移動オブジェクトとが合成された画像を描画することを特徴とする。このようにすれば、オープニング用ムービーや幕間用ムービーの再生の後、切れ目無くゲームを開始できるようになり、プレーヤは、自然にゲーム世界に入り込むことができるようになる。
【図面の簡単な説明】
【0019】
【図1】本実施形態の画像生成システムのブロック図の例である。
【図2】本実施形態の手法について説明するための図である。
【図3】図3(A)は、本実施形態により生成される画像の例であり、図3(B)は、比較例により生成される画像の例である。
【図4】ムービーデータとして実写映像を用いる場合におけるムービーデータの作成手法について説明するための図である。
【図5】ムービーデータのデータ構造の他の例について示す図である。
【図6】図6(A)、(B)は、本実施形態のヒットチェック手法について説明するための図である。
【図7】ムービーデータに含まれる移動値MVに基づいてキャラクタを移動させる手法について説明するための図である。
【図8】ムービー再生の最終フレームの画像のデータに含ませた奥行き値に基づいて陰面消去を行う手法について説明するための図である。
【図9】本実施形態の全体処理の例について示すフローチャートである。
【図10】ゲームメイン処理の例について示すフローチャートである。
【図11】ムービープレイ処理の例について示すフローチャートである。
【図12】キャラクタ移動処理の例について示すフローチャートである。
【図13】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図14】図14(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0021】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0022】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0023】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0024】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0025】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行(実現)するための情報(プログラム或いはデータ)が格納される。
【0026】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0027】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0028】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0029】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0030】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0031】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0032】
処理部100は、ゲーム処理部110、画像生成部130、音生成部150を含む。
【0033】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ面)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0034】
画像生成部130は、ゲーム処理部110からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ(視点)から見える画像を生成して、表示部190に出力する。また、音生成部150は、ゲーム処理部110からの指示等にしたがって各種の音処理を行い、BGM、効果音、音声などの音を生成し、音出力部192に出力する。
【0035】
なお、ゲーム処理部110、画像生成部130、音生成部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0036】
ゲーム処理部110は、移動・動作演算部112、ヒットチェック部114を含む。
【0037】
ここで移動・動作演算部112は、キャラクタなどの移動オブジェクトの移動情報(位置データ、回転角度データ)や動作情報(移動オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、移動オブジェクトを移動させたり動作させたりする処理を行う。
【0038】
より具体的には、移動・動作演算部114は、移動オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでの移動オブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでの移動オブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0039】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
ヒットチェック部114は、ヒットエリアやショット(矢、弾丸等)と、移動オブジェクトとの間のヒットチェック処理を行う。より具体的には本実施形態では、ムービーデータ記憶部172に記憶されるムービーデータが、ヒットエリアを特定するためのヒットエリアデータ(ヒットエリアフラグ、ヒットエリアの高さ等)を含む。そして、ヒットチェック部114は、このヒットエリアデータと、移動オブジェクトの位置や方向とに基づいてヒットチェック処理を行う。そして、移動オブジェクトがヒットエリアにヒットした(進入した)と判断されると、移動オブジェクトの移動経路が補正される。
【0040】
なお、ムービーデータ記憶部172に記憶されるムービーデータが移動経路データや移動データ(移動値、移動エリアフラグ等)を含む場合には、移動・動作演算部112は、これらの移動経路データや移動データに基づいて、移動オブジェクトを移動させる処理を行うことになる。
【0041】
画像生成部130は、ジオメトリ処理部132(3次元演算部)、描画部140(レンダリング部)を含む。
【0042】
ここで、ジオメトリ処理部132は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元演算)を行う。
【0043】
描画部140は、オブジェクトやテクスチャのデータなどに基づいて、オブジェクト空間において仮想カメラから見える画像を描画する処理を行う。そして、本実施形態の描画部140は、ムービーデータ記憶部172に記憶されるムービーデータが含む奥行き値Z1とキャラクタなどの移動オブジェクトの奥行き値Z2とに基づいて陰面消去を行いながら、ムービーと移動オブジェクトとが合成された画像を描画する。この場合、描画部140が含む陰面消去部142が、例えば、奥行き値が格納されるZバッファ174を用いてZバッファ法のアルゴリズムにしたがった陰面消去を行うことになる。
【0044】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0045】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0046】
2.本実施形態の特徴
本実施形態では、ムービー再生のためのデータであるムービーデータに奥行き値Z1を含ませている。そして、この奥行き値Z1とキャラクタ(広義には移動オブジェクト)の奥行き値Z2とに基づいて陰面消去を行いながら、ムービーとキャラクタが合成された画像を生成している。
【0047】
より具体的には例えば図2に示すように、ムービーを構成する各フレーム画像の各ピクセルに対して、画像データ(RGB)の他に、奥行き値Z1のデータを含ませる。そして、このZ1とキャラクタのZ2とを比較し、Zバッファ法などのアルゴリズムにしたがって陰面消去を行い、ムービーとキャラクタが合成された画像を生成する。
【0048】
このようにすることで図3(A)に示すように、ムービーの絵の中にキャラクタを割り込ませることができるようになる。即ち、ムービーで表現されるタンス20(表示物)の物陰にキャラクタ10が隠れたり、ムービーで表現される出入り口22からキャラクタが出て行くなどの画像表現が可能になる。或いは、ムービーで表現される窓24の向こう側からキャラクタ10が覗き込むなどの画像表現も可能になる。
【0049】
即ち、これまでのムービーでは、ムービーデータが画像データや音データしか含まず、奥行き値のデータを含まなかった。従って、ムービーとキャラクタの合成画像を生成しようとすると、図3(B)に示すようにキャラクタ10が常に手前に表示されるようになってしまい、リアルが画像を生成できなかった。
【0050】
本実施形態によれば、図3(A)に示すように、キャラクタ10の奥行き値Z2の大きさに応じて、キャラクタ10がムービーの中の表示物の物陰に隠れたり、隠れなかったりするようになるため、よりリアルで臨場感溢れる画像を生成できる。
【0051】
なお、本実施形態におけるムービーは、CGツールで制作した一連のセル画像により構成されるCG映像でもよいし、カメラにより撮影した実写映像でもよい。
【0052】
ムービーとしてCG映像を用いる場合には、CGの作成時に生じた各ピクセルの奥行き値のデータを破棄せずにムービーデータの中に含ませるようにする。即ち、CGツールのZバッファに記憶される最終的な奥行き値のデータは、通常は破棄されるが、これを破棄せずに、画像データ(RGB)と共にムービーデータの中に含ませるようにする。このようにすることで、奥行き値のデータを含むムービーデータを、それほど手間をかけることなく用意することができるようになる。
【0053】
一方、ムービーとして実写映像を用いる場合には以下のようにする。
【0054】
例えば図4に示すように、被写体となる人物30、机31、椅子32等を撮影用のカメラ50で撮影する際に、複数台の位置測定用のカメラ52、54を用いて人物30、机31、椅子32を異なる方向から撮影する。そして、得られた画像を用いて数値計算を行い、三角測量の原理で人物30、机31、椅子32の奥行き値(位置)を求める。そして、求められた奥行き値を、撮影用のカメラ50により得られたムービーデータ(実写映像データ)の中に含ませるようにする。
【0055】
なお、人物30、机31、椅子32のおおよその奥行き値がわかれば十分である場合には、即ち、キャラクタが、人物30、机31、椅子32の手前に位置するか後ろに隠れるかが判別できれば十分である場合には、次のようにすればよい。即ち、これらの被写体の代表点にピンポン玉などのターゲット33〜40を取り付け、これらターゲット33〜40の位置をカメラ52、54で測定することで、被写体の奥行き値を特定する。
【0056】
なお、この場合、ターゲット33〜40は、撮影用のカメラ50から見えない位置に取り付けることが望ましい。例えば人物30の場合には、人物30の後頭部や背中にターゲットを取り付ける。そして、位置測定用のカメラ52、54を人物30の後方や頭上に設置して人物30を撮影し、人物30の奥行き値を特定する。
【0057】
また、カメラ50により撮影する際に、壁60を青色にし(ブルーバック)、別に用意された背景と、人物30、机31、椅子32とを、クロマキー合成するようにしてもよい。この場合に、別に用意された背景の奥行き値は例えば無限大に設定し、人物30、机31、椅子32の奥行き値は、カメラ52、54による測定で得られた値を設定する。このようにすれば、より正確な奥行き値を設定できる。
【0058】
また、カメラ52、54を用いる代わりに、超音波や電磁波とそれを受信する受信機を用いて奥行き値を求めてもよい。例えば、ターゲットから超音波や電磁波を発信して、ターゲットとは別の位置に設置された1又は複数の受信機で受信する。そして、受信機への超音波や電磁波の到達時間や、複数の受信機への到達時間や位相の差に基づいて、奥行き値(位置)を求めるようにする。
【0059】
なお、奥行き値は、全てのフレーム画像に設定しもよいし、一部のフレーム画像にのみ設定しもよい。また、奥行き値は、ムービーを構成するフレーム画像の全てのピクセルに対して設定しもよいし、一部のピクセルにのみ設定してもよい。また、奥行き値データを圧縮してムービーデータに含ませるようにしてもよい。
【0060】
また、ムービーは、図3(A)のように背景として用いてもよいが、敵ボス(移動オブジェクト)などの表現に用いてもよい。この場合には例えば、ムービー表示のための仮想的なスクリーンを用意し、この仮想スクリーンに、敵ボスのムービーを投影するようにする。或いは、ムービー表示のためのポリゴン(プリミティブ面)を用意し、ムービーをテクスチャとしてこのポリゴンにマッピングするようにしてもよい。
【0061】
さて、ムービーデータに含ませるデータとしては、奥行き値Z1以外にも種々のデータを考えることができる。
【0062】
例えば図5では、ムービーデータに対して、画像データ(RGB)や奥行き値Z1の他に、ヒットエリアフラグHF、高さHH(ヒットエリアの高さ)、移動経路MR、移動値MV(移動データ)、法線ベクトルNVのデータを含ませている。
【0063】
ムービーデータの中に、ヒットエリアフラグHF、高さHHなどのデータを含ませることで、キャラクタとヒットエリアとのヒットチェックが可能になる。
【0064】
即ち図6(A)では、レバー70やボタン72を用いてプレーヤが操作するキャラクタ10が、ムービーで表現される表示物(障害物)74の方に向かって歩いている。この場合に、表示物74の底面がヒットエリア76と定義され、このヒットエリア76の位置や大きさが、ヒットエリアフラグHFにより特定される。例えば、HF=1と設定されるピクセルは、ヒットエリア76内のピクセルであると判断され、HF=0と設定されるピクセルは、ヒットエリア76外のピクセルであると判断される。
【0065】
そして、キャラクタ10の足下などに設定された代表点P(XP、YP)と、ヒットエリア76とのヒットチェックが行われる。そして、代表点Pがヒットエリア76にヒットした(進入した)と判断された場合には、キャラクタ10の移動経路を補正したり、キャラクタ10の移動を制限するようにする。
【0066】
なお、より高度なヒットチェックを行う場合には、ヒットエリア76の高さHHも用いるようにする。そして、キャラクタ10がヒットエリア76にヒットした時にプレーヤがジャンプを指示するボタン72を押した場合には、この高さHHに基づいて、キャラクタ10が表示物74の上に飛び乗れるか否かを判断するようにする。
【0067】
また、ムービーデータに移動経路MRのデータを含ませることで、ヒットエリア76へのヒット後のキャラクタ10の移動を簡易に制御できるようになる。例えば、キャラクタ10がヒットエリア76にヒットした後に、プレーヤがレバー70を奥側に倒した場合には、キャラクタ10を、移動経路78に沿って移動させる。また、ヒット後に、プレーヤがレバー70を右側に倒すと共にジャンプのボタン72を押した場合には、キャラクタ10を移動経路80に沿って移動させる。また、ヒット後に、プレーヤがレバー70を手前側に倒した場合には、キャラクタ10を移動経路82に沿って移動させる。
【0068】
この場合に、移動経路78、80、82を特定するためのデータ(移動経路の方向データ等)を、移動経路MRとしてムービーデータに含ませるようにする。このようにすることで、表示物74の形状に応じた最適な移動経路でキャラクタ10を移動させることができるようになる。
【0069】
また、ムービーデータに移動値MVのデータ(広義には移動データ)を含ませることで、ムービーの中の表示物の動きや、ムービー全体の動きに合わせて、キャラクタ(移動オブジェクト)を移動させることが可能になる。
【0070】
例えば図7では、キャラクタ10が、ムービーで表現されるエスカレーター84の上に乗っている。この場合には、キャラクタ10の足下などに設定された代表点P(XP、YP)の位置(ピクセル)における移動値MV(移動量、移動ベクトル成分等)を取得する。そして、取得された移動値MVに基づいて、キャラクタ10を移動させる。このようにすることで、ムービーの中の表示物であるエスカレーター84の動きに連動して、キャラクタ10も移動するようになる。従って、キャラクタの画像とムービーが、より自然に合成されて見えるようになり、これまでにないリアルな画像を少ない処理負担で生成できる。
【0071】
なお、ムービーデータに含ませる移動データとしては、移動値MVの他に、移動エリアを特定するための移動エリアフラグなども考えることができる。即ち、キャラクタが移動エリアに位置するか否かを、キャラクタの代表点P(XP、YP)の位置(ピクセル)に設定された移動エリアフラグにより判断する。そして、その位置での移動エリアフラグが例えば1ならば、キャラクタを移動させる処理を行う。そして、ムービーデータが移動値MVを含む場合には、移動値MVに応じた移動量だけキャラクタを移動させるようにする。
【0072】
また、ムービーで表される背景がスクロールする場合など、ムービー全体が動く場合にも、移動値MVを用いてキャラクタを移動させるようにしてもよい。例えば、ムービーで表現される背景が左方向にスクロールした場合には、そのスクロールに合わせて、キャラクタを画面上で右方向に移動させる。なお、この場合には、移動値MVを、ピクセル単位ではなく画像単位で持たせてもよい。
【0073】
さて、本実施形態では、ムービー再生の最終フレームの画像のデータ(ムービーデータの一種)に奥行き値Z1を含ませ、この奥行き値Z1とキャラクタの奥行き値Z2とに基づいて陰面消去を行うようにしてもよい。
【0074】
例えば図8に示すように、ゲームのオープニングや幕間などにおいて、予め用意されたオープニング用ムービーや幕間用ムービーを再生する。そして、ムービー再生の最終フレームの画像86(静止画像)の各ピクセルに対して奥行き値Z1を設定しておく。そして、この最終フレーム画像86を背景として用いると共に、最終フレーム画像86の奥行き値Z1とキャラクタ10の奥行き値Z2とを比較しながら陰面消去を行い、画像を描画する。
【0075】
このようにすることで、一連のムービーの再生の後、切れ目無くゲームが開始するようになる。従って、オープニングや幕間のムービーによりゲーム意欲が盛り上がったプレーヤは、その盛り上がったゲーム意欲を維持したまま、自然にゲーム世界に入り込むことができるようになる。これにより、プレーヤの仮想現実感を飛躍的に高めることができる。
【0076】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図9、図10、図11、図12のフローチャートを用いて説明する。
【0077】
図9は、全体処理に関するフローチャートである。
【0078】
画像生成システムがリセットされると、ハードウェアの初期化処理が行われる(ステップS1)。そして、MODE(システムのメインモード)がATTR(アトラクション)に設定される(ステップS2)。
【0079】
次に、フレーム開始の割り込みが発生したか否かを判断し(ステップS3)、発生した場合には、フレームバッファを切り替える(ステップS4)。即ち前のフレームで画像を描画したフレームバッファを表示用のフレームバッファに切り替え、前のフレームで画像を表示したフレームバッファを描画用のフレームバッファに切り替える。
【0080】
次に、MODEが、ATTR、INIT、GAME、ENDINGのいずれに設定されているか否かを判断する(ステップS5〜S8)。そして、ATTR、INIT、GAME、ENDINGに設定されていた場合には、各々、アトラクション、ゲーム初期化、ゲームメイン、エンディングの処理に移行する(ステップS9〜S12)。なお、MODEがOVERに設定されていた場合にはゲームオーバー処理に移行する(ステップS13)。
【0081】
そして、上記の処理の終了後、描画処理を行う(ステップS14)。この場合に本実施形態では、ムービーデータが含む奥行き値Z1や移動オブジェクトの奥行き値Z2に基づいて、Zバッファを使用したZバッファ法により、陰面消去を行う。
【0082】
図10は、図9のステップS11のゲームメイン処理のフローチャートである。
【0083】
まず、MODESUB(システムのサブモード)が、SEL、INTRO、MOVIE、WINのいずれに設定されているかを判断する(ステップS20〜S23)。そして、SEL、INTRO、MOVIE、WINに設定されていた場合には、各々、キャラクタ選択、イントロダクション、ムービープレイ、勝利の処理に移行する(ステップS24〜S27)。なお、MODESUBがLOSEに設定されていた場合には敗北処理に移行する(S28)。
【0084】
図11は、図10のステップS26のムービープレイ処理のフローチャートである。
【0085】
まず、図5で説明したムービーデータのストリームをメインメモリに読み込む(ステップS30)。そして、読み込んだムービーデータをワークバッファに展開する(ステップS31)。より具体的には、RGB、奥行き値Z1、ヒットエリアフラグHF、高さHH、移動経路MR、移動値MV、法線ベクトルNV、音SDのデータを、各々、RGB、Z1、HF、HH、MR、MV、NV、SDのワークバッファに展開する。
【0086】
次に、キャラクタ(プレーヤが操作するプレーヤキャラクタ)の移動処理を行い(ステップS32)、敵キャラクタの移動処理を行う(ステップS33)。そして、勝敗の判定処理を行う(ステップS34)。そして、プレーヤが勝利したか否かを判断し(ステップS35)、勝利した場合にはMODESUBにWINを設定する(ステップS36)。一方、勝利しなかった場合にはプレーヤが敗北したか否かを判断し(ステップS37)、敗北した場合にはMODESUBにLOSEを設定する(ステップS38)。
【0087】
次に、ステップS31〜S34の処理結果に基づいて、描画リスト(ポリゴンデータ、テクスチャデータ、環境(光源、仮想カメラ)設定データなどのリスト)を作成する(ステップS39)。描画処理は、この描画リストに基づいて行われることになる。
【0088】
図12は、図11のステップS32のキャラクタ移動処理のフローチャートである。
【0089】
まず、操作部(コントローラ)からの操作データを取得する(ステップS40)。これにより、図6(A)、(B)において、レバー70を倒した方向や倒したタイミング、ボタン72を押したタイミングなどを知ることができる。そして、取得した操作データに基づいて、キャラクタの仮移動位置を計算する(ステップS41)。
【0090】
次に、図11のステップS31でMVワークバッファに展開された移動値MVに基づき、ステップS41で計算された仮移動位置を補正する(ステップS42)。即ち、図7で説明したように、キャラクタがエスカレーターに乗った場合には、エスカレーターの動く方向にキャラクタを移動させる。
【0091】
次に、仮移動位置と、HFワークバッファからのヒットエリアフラグHFと、HHワークバッファからの高さHHとに基づき、ヒットチェック処理を行う(ステップS43)。即ち、図6(B)で説明したように、P(XP、YP)の仮移動位置が、ヒットエリアに進入したか否かをヒットエリアフラグHFにより判断する。また、ジャンプのボタンを押した場合には、キャラクタが表示物を飛び越えることができるかを、ヒットエリアの高さHHのデータに基づき判断する。
【0092】
次に、キャラクタがヒットエリアとヒットしたか否かを判断し(ステップS44)、ヒットしたと判断した場合には、MRワークバッファからの移動経路MRのデータに基づき、仮移動位置を補正する(ステップS45)。即ち、図6(B)において、P(XP、YP)が、移動経路78、80、82のいずれかに沿って移動するように、P(XP、YP)の仮移動位置を補正する。
【0093】
以上に説明した処理を、各フレーム毎に行うことで、ムービーの奥行き値とキャラクタの奥行き値に基づく陰面消去や、ムービーの中の表示物とキャラクタとのヒットチェックなどが可能になる。
【0094】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図13を用いて説明する。
【0095】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0096】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0097】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0098】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション(幕間)画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮されたムービー(動画)を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0099】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0100】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0101】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0102】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0103】
RAM960は、各種プロセッサの作業領域として用いられる。
【0104】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0105】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0106】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システム、他のゲームシステムとの間でのデータ転送が可能になる。
【0107】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0108】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0109】
図14(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報(プログラム又はデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0110】
図14(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0111】
図14(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0112】
なお、図14(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0113】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0114】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0115】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0116】
また本発明の移動オブジェクトは、格闘ゲームやロールプレイングゲームなどに登場するキャラクタであることが特に望ましいが、本発明の移動オブジェクトはこれに限定されない。
【0117】
またムービーデータのデータ構造は、図2や図5で説明した構造が特に望ましいが、これに限定されず、種々の変形実施が可能である。
【0118】
また、第1の奥行き値データ、ヒットエリアデータ、移動経路データ、移動データは、ムービーを構成する各画像(フレーム画像)の全てのピクセルに設定してもよいし、一部のピクセルにのみ設定してもよい。或いは、各画像に対して設定するようにしてもよい。
【0119】
また、陰面消去の手法はZバッファ法であることが特に望ましいが、それ以外の手法を採用してもよい。
【0120】
また、第1、第2の奥行き値データ、ヒットエリアデータ(ヒットエリアフラグ、高さ)、移動経路データ、移動データ(移動値、移動エリアフラグ)も、本実施形態で説明した形態のデータであることが特に望ましいが、これに限定されるものではない。
【0121】
また本発明は種々のゲーム(ロールプレイングゲーム、アクションゲーム、シューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0122】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【符号の説明】
【0123】
10 キャラクタ
20 タンス
22 出入り口
24 窓
30 登場人物
31 机
32 椅子
33〜40 ターゲット(ピンポン玉)
50 撮影用のカメラ
52、54 位置測定用のカメラ
60 壁
70 レバー
72 ボタン
74 表示物
76 ヒットエリア
78、80、82 移動経路
84 エスカレーター
100 処理部
110 ゲーム処理部
112 移動・動作演算部
114 ヒットチェック部
130 画像生成部
132 ジオメトリ処理部
140 描画部
142 陰面消去部
150 音生成部
160 操作部
170 記憶部
172 ムービーデータ記憶部
174 Zバッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

【特許請求の範囲】
【請求項1】
画像を生成するための画像生成システムであって、
ムービー再生のためのデータであって奥行き値データを含むムービーデータを記憶するムービーデータ記憶手段と、
ムービーデータが含む第1の奥行き値データと移動オブジェクトの第2の奥行き値データとに基づいて陰面消去を行いながら、ムービーと移動オブジェクトとが合成された画像を描画する描画手段と、
を含むことを特徴とする画像生成システム。
【請求項2】
請求項1において、
前記ムービーデータ記憶手段に記憶されるムービーデータが、ヒットエリアを特定するためのヒットエリアデータを含み、
前記ヒットエリアデータに基づいて移動オブジェクトとヒットエリアとのヒットチェックを行う手段を含むことを特徴とする画像生成システム。
【請求項3】
請求項2において、
前記ヒットエリアデータが、ヒットエリアに関する高さデータを含むことを特徴とする画像生成システム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記ムービーデータ記憶手段に記憶されるムービーデータが、移動オブジェクトの移動経路を決めるための移動経路データを含み、
前記移動経路データに基づいて移動オブジェクトを移動させる手段を含むことを特徴とする画像生成システム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記ムービーデータ記憶手段に記憶されるムービーデータが、移動オブジェクトを移動させるための移動データを含み、
前記移動データに基づいて移動オブジェクトを移動させる手段を含むことを特徴とする画像生成システム。
【請求項6】
請求項1乃至5のいずれかにおいて、
ムービーデータが含む前記第1の奥行き値データが、ムービーを構成する各画像の各ピクセルに対して設定されていることを特徴とする画像生成システム。
【請求項7】
請求項1乃至6のいずれかにおいて、
ムービー再生の最終フレームの画像のデータが前記第1の奥行き値データを含み、
前記描画手段が、
ムービー再生の最終フレームの画像のデータが含む第1の奥行き値データと移動オブジェクトの第2の奥行き値データとに基づいて陰面消去を行いながら、最終フレームの画像と移動オブジェクトとが合成された画像を描画することを特徴とする画像生成システム。
【請求項8】
コンピュータが使用可能な情報記憶媒体であって、
ムービー再生のためのデータであって奥行き値データを含むムービーデータを記憶するムービーデータ記憶手段と、
ムービーデータが含む第1の奥行き値データと移動オブジェクトの第2の奥行き値データとに基づいて陰面消去を行いながら、ムービーと移動オブジェクトとが合成された画像を描画する描画手段と、
を実現するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項9】
請求項8において、
前記ムービーデータ記憶手段に記憶されるムービーデータが、ヒットエリアを特定するためのヒットエリアデータを含み、
前記ヒットエリアデータに基づいて移動オブジェクトとヒットエリアとのヒットチェックを行う手段を実現するためのプログラム含むことを特徴とする情報記憶媒体。
【請求項10】
請求項9において、
前記ヒットエリアデータが、ヒットエリアに関する高さデータを含むことを特徴とする情報記憶媒体。
【請求項11】
請求項8乃至10のいずれかにおいて、
前記ムービーデータ記憶手段に記憶されるムービーデータが、移動オブジェクトの移動経路を決めるための移動経路データを含み、
前記移動経路データに基づいて移動オブジェクトを移動させる手段を実現するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項12】
請求項8乃至11のいずれかにおいて、
前記ムービーデータ記憶手段に記憶されるムービーデータが、移動オブジェクトを移動させるための移動データを含み、
前記移動データに基づいて移動オブジェクトを移動させる手段を実現するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項13】
請求項8乃至12のいずれかにおいて、
ムービーデータが含む前記第1の奥行き値データが、ムービーを構成する各画像の各ピクセルに対して設定されていることを特徴とする情報記憶媒体。
【請求項14】
請求項8乃至13のいずれかにおいて、
ムービー再生の最終フレームの画像のデータが前記第1の奥行き値データを含み、
前記描画手段が、
ムービー再生の最終フレームの画像のデータが含む第1の奥行き値データと移動オブジェクトの第2の奥行き値データとに基づいて陰面消去を行いながら、最終フレームの画像と移動オブジェクトとが合成された画像を描画することを特徴とする情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−238245(P2009−238245A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2009−164669(P2009−164669)
【出願日】平成21年7月13日(2009.7.13)
【分割の表示】特願平11−369595の分割
【原出願日】平成11年12月27日(1999.12.27)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】