3次元画像生成装置および3次元画像生成プログラム
【構成】 画像処理システム10は据置型ゲーム装置11を含み、据置型ゲーム装置11に設けられるRAM11bにはアニメーションデータが記憶される。このアニメーションデータには、画面切替のためのカメラパターンデータの識別情報が記憶される。カメラパターンデータは、注視点データの識別情報が記憶されるアドレスのポインタとカメラ動作プログラムの識別情報が記憶されるアドレスのポインタとを含む。したがって、カメラパターンデータに基づいて仮想カメラの注視点およびカメラ動作が変化され、画面表示が変化される。同じアニメーションデータを繰り返すとき、注視点データの識別情報とカメラ動作プログラムの識別情報とは、ランダムに並べ替えられる。
【効果】 同じアニメーションを繰り返すとき、注視点データおよびカメラ動作プログラムの識別情報を並べ替えるので、同じアニメーションであっても様々な映像を表示することができる。
【効果】 同じアニメーションを繰り返すとき、注視点データおよびカメラ動作プログラムの識別情報を並べ替えるので、同じアニメーションであっても様々な映像を表示することができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は3次元画像生成装置および3次元画像生成プログラムに関し、特にたとえば、ポリゴンデータを用いて、リアルタイムに合成されるゲームなどの仮想3次元アニメーション画像を生成し、画面表示する、3次元画像生成装置および3次元画像生成プログラムに関する。
【背景技術】
【0002】
従来、仮想3次元空間を想定して、コンピュータグラフィックスの理論を用いて、ゲームなどのアニメーション画像をポリゴンデータ等から生成することがよく知られている。このようなアニメーション画像は、通常、創作者(クリエータ)が意図した再生手順(シーケンス)のデータに従って生成される。このため、同じアニメーションデータを使用する限りにおいては、同じ画像が毎回表示される。
【0003】
一方、画像の表示が毎回同じにならないよう、その映像表現のバリエーションを広げる工夫をした技術がある。特許文献1によれば、3次元空間中に存在する物体群から空間の中心(物体群を包含する直方体の重心)を定め、この中心点を基準に注視点などを定める技術が開示されている。これによって、画面上の物体に応じた最適な画像が得られる。
【0004】
また、特許文献2によれば、プレイヤが操作するキャラクタ(移動体)を表示するとき、プレイヤの腕前(初級か上級か)を考慮して、移動体の種類に応じて視点制御を変更する技術が開示されている。こうすることで、初級者が選ぶであろう移動体のときには、操作し易い視点切替を選択することができ、上級者では、迫力の有る映像が得られる視点切替を選択することができる。
【0005】
さらに、特許文献3によれば、オブジェクトが移動するコースの特定ポイント毎に、異なる視点制御プログラムを選択できるように設定された技術が開示されている。これによって、コースの状況に相応しい映像が得られる。
【0006】
そして、特許文献4によれば、実際のカメラで撮影した顔画像を、仮想3次元空間内で生成されたオブジェクトで利用し、その際入力された特徴データに基づいて、相応しいアニメーションを選択して表示する技術が開示されている。
【特許文献1】特開平8−106545
【特許文献2】特許第3046578号
【特許文献3】特許第3127137号
【特許文献4】特開2004−46793
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示された技術では、仮想3次元空間中に物体が多く存在するほど処理負担が大きくなってしまう。さらには、物体を包含する直方体の重心に基づいて視点を決定するので、たとえばアニメーションの創作者(クリエータ)が意図する映像表現と一致しない画像が生成される恐れがある。
【0008】
また、特許文献2に開示された技術では、あくまでプレイヤの腕前に応じて、選択されるであろう移動体毎に、異なる視点制御を行うようにしているだけであり、同じ移動体を選択したときには、同じ映像が生成されてしまい、プレイヤが映像に飽きてしまう恐れがあった。
【0009】
さらに、特許文献3に開示された技術では、コースの途中で視点制御プログラムを切り替えるようにしてあるが、あくまでコースの状態とプレイ感覚に相応しい切り替えを行うだけであって、変化に富んだ映像を生成することができなかった。
【0010】
そして、特許文献4に開示された技術では、オブジェクトの特徴に応じて、相応しいアニメーションが自動的に選択されるようにしてあるため、視聴者がどのようなアニメーションが表示されるのか分からないことから、期待感を持たせることはできる。しかし、一度選択されたアニメーションの映像パターンまで異ならせることはできない。つまり、変化に富んだ映像を生成することができなかった。
【0011】
それゆえに、この発明の主たる目的は、新規な、3次元画像生成装置および3次元画像生成プログラムすることである。
【0012】
この発明の他の目的は、同じシーンであっても視聴者が飽きないように配慮されたアニメーションを表示できる、3次元画像生成装置および3次元画像生成プログラムを提供することである。
【0013】
この発明のその他の目的は、アニメーションの再生において、創作者の意図を反映しながら、変化に富んだ映像を生成できる、3次元画像生成装置および3次元画像生成プログラムを提供することである。
【課題を解決するための手段】
【0014】
請求項1の発明は、仮想3次元画像を生成する3次元画像生成装置であって、表示手段、注視点データ記憶手段、カメラ制御プログラム記憶手段、カメラ制御手段、3次元画像データ記憶手段、画像生成シーケンス記憶手段、指定データ記憶手段、仮想3次元画像生成手段、2次元画像表示制御手段、および指定データ更新手段を備える。表示手段は、画像を表示する。注視点データ記憶手段は、複数の注視点データを記憶する。カメラ制御プログラム記憶手段は、仮想3次元空間において、注視点データに基づき、当該仮想3次元空間内の視点から見たときの画像を撮影する仮想カメラを制御するための複数のカメラ制御プログラムを記憶する。カメラ制御手段は、カメラ制御プログラムに従って仮想カメラを制御する。3次元画像データ記憶手段は、仮想3次元画像を生成するための3次元画像データを記憶する。画像生成シーケンス記憶手段は、仮想3次元画像の生成タイミングを時系列で記憶する。指定データ記憶手段は、画像生成シーケンスに従って、いずれか1つの注視点データといずれか1つのカメラ制御プログラムとを、時系列で順番に複数組指定する指定データを記憶する。仮想3次元画像生成手段は、画像データ記憶手段に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段に記憶された生成タイミングで、仮想3次元画像を生成する。2次元画像表示制御手段は、仮想3次元画像生成手段によって生成された仮想3次元画像を、指定データに従って視点制御された仮想カメラによって撮影し、撮影された画像を表示手段に表示する。そして、指定データ更新手段は、画像生成シーケンスを繰り返す毎に、指定データ記憶手段の内容をランダムに更新する。
【0015】
請求項1の発明では、3次元画像生成装置(11:実施例で相当する参照符号。以下、同じ。)は画像を表示する表示手段(14)を備えている。注視点データ記憶手段(11b)は、注視点データを記憶する。また、カメラ制御プログラム記憶手段(11b)は、仮想3次元空間において、注視点データに基づき、当該仮想3次元空間内の視点から見たときの画像を撮影する仮想カメラを制御するための複数のカメラ制御プログラムを記憶する。カメラ制御手段(11a,S29,S37,S45)は、カメラ制御プログラムに従って仮想カメラを制御する。3次元画像データ記憶手段(11b)は、仮想3次元画像を生成するための3次元画像データを記憶する。画像生成シーケンス記憶手段(11b)は、仮想3次元画像の生成タイミングを時系列で記憶する。指定データ記憶手段(11b)は、画像生成シーケンスに従って、いずれか1つの注視点データといずれか1つのカメラ制御プログラムとを、時系列で順番に複数組指定する指定データを記憶する。仮想3次元画像生成手段(11a)は、画像データ記憶手段(11b)に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段(11b)に記憶された生成タイミングで、仮想3次元画像を生成する。2次元画像表示制御手段(11a)は、仮想3次元画像生成手段(11a)によって生成された仮想3次元画像を、指定データに従って視点制御された仮想カメラによって撮影し、撮影された画像を表示手段(14)に表示する。指定データ更新手段(11a,S49)は、画像生成シーケンスを繰り返す毎に(S47で“YES”)、指定データ記憶手段(11b)の内容をランダムに更新する。
【0016】
請求項1の発明によれば、画像生成シーケンスを繰り返す毎に指定データ記憶手段の内容をランダムに更新するので、再生回数が異なれば、同じ画面切替のタイミングであっても、同じ注視点データや同じカメラ制御プログラムが選択されるのを回避することができる。つまり、変化に富んだアニメーションの画像を表示することができるので、視聴者が映像に飽きてしまうことがない。
【0017】
請求項2の発明は請求項1に従属し、指定データ記憶手段は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶した注視点グループデータ記憶手段を含み、指定データ更新手段は、注視点グループデータ記憶手段にグループ毎に記憶された注視点指示データを、各グループ内でランダムに並べ替える。
【0018】
請求項2の発明では、注視点グループ記憶手段(11b)は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶する。指定データ更新手段(11a,S49)は、注視点グループデータ記憶手段(11b)に記憶された注視点指示データを、各グループ内でランダムに並べ替える。
【0019】
請求項2の発明によれば、たとえば、3次元画像生成プログラムの開発者や創作者の意図に従って注視点指示データをグループ化しておけば、各グループ内でランダムに注視点指示データを並べ替えた場合であっても、その意図を反映しながら、アニメーションの画像を変化させることができる。
【0020】
請求項3の発明は請求項1または請求項2に従属し、指定データ記憶手段は、複数のカメラ制御プログラムのそれぞれを示すカメラ制御指示データを、所望のグループ毎に記憶したカメラ制御グループデータ記憶手段を含み、指定データ更新手段は、カメラ制御グループデータ記憶手段にグループ毎に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える。
【0021】
請求項3の発明では、カメラ制御グループデータ記憶手段(11b)は、複数のカメラ制御プログラムのそれぞれを示すカメラ制御指示データを、所望のグループ毎に記憶する。指定データ更新手段(11a,S49)は、カメラ制御グループデータ記憶手段(11b)にグループ毎に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える。
【0022】
請求項3の発明によれば、たとえば、3次元画像生成プログラムの開発者や創作者の意図に従ってカメラ制御指示データをグループ化しておけば、各グループ内でランダムにカメラ制御指示データを並べ替えた場合であっても、その意図を反映しながら、アニメーションの画像を変化させることができる。
【0023】
請求項4の発明は請求項1ないし3のいずれかに従属し、画像データ記憶手段は、複数のポリゴンから成る1または複数のオブジェクトを生成するためのオブジェクトデータを記憶し、注視点データは、オブジェクトの仮想3次元空間上の配置位置に基づいて設定される、請求項1ないし3のいずれかに記載の3次元画像生成装置。
【0024】
請求項4の発明では、画像データ記憶手段(11b)は、複数のポリゴンから成る1または複数のオブジェクトを生成するためのオブジェクトデータを記憶する。注視点データは、オブジェクトの仮想3次元空間上の配置位置に基づいて設定される。たとえば、オブジェクトの配置位置を当該オブジェクトの足元の位置に設定しておき、注視点を当該オブジェクトの頭部(顔)の中心位置に設定することが可能である。
【0025】
請求項4の発明によれば、オブジェクトの配置位置に基づいて注視点が設定されるので、アニメーションの創作者の意図を反映し易くすることができる。
【0026】
請求項5の発明は、画像を表示する表示手段と、複数の注視点データを記憶した注視点データ記憶手段と、仮想カメラを制御するための複数のカメラ制御プログラムを記憶したカメラ制御プログラム記憶手段と、仮想3次元画像の生成タイミングを時系列で記憶した画像生成シーケンス記憶手段と、画像生成シーケンスに従っていずれか1つの注視点データといずれか1つのカメラ制御プログラムとを時系列で順番に複数組指定する指定データを記憶した指定データ記憶手段と、仮想3次元画像を生成するための3次元画像データを記憶した画像データ記憶手段とを備えた3次元画像生成装置の3次元画像生成プログラムである。この3次元画像生成プログラムは、3次元画像生成装置のプロセサに、カメラ制御ステップ、3次元画像生成ステップ、2次元画像表示制御ステップ、および指定データ更新ステップを実行させる。カメラ制御ステップは、仮想3次元空間において、注視点データに基づき、カメラ制御プログラムに従って仮想カメラを制御する。仮想3次元画像生成ステップは、画像データ記憶手段に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段に記憶された生成タイミングで、仮想3次元画像を生成する。2次元画像表示制御ステップは、仮想3次元画像生成ステップによって生成された仮想3次元画像を、指定データに従って視点制御された仮想カメラによって撮影し、撮影された画像を表示手段に表示する。そして、指定データ更新ステップは、画像生成シーケンスを繰り返す毎に、指定データ記憶手段の内容をランダムに更新する。
【0027】
請求項5の発明においても、請求項1の発明と同様に、変化に富んだアニメーションの画像を表示することができる。
【発明の効果】
【0028】
この発明によれば、画面切替制御の内容を、アニメーションの再生の度に変化させるので、毎回同じアニメーションが生成されることが無い。つまり、変化に富んだ映像を生成でき、視聴者が飽きるのを防止することができる。
【0029】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0030】
図1を参照して、この実施例の画像処理システム10は、コントローラ12が接続された据置型ゲーム装置11を含む。この据置型ゲーム装置11は、3次元画像生成装置(後述するCRT14を含む。)および3次元画像生成プログラムを備えている。据置型ゲーム装置11にはコントローラ12が接続される。このコントローラ12は、操作スイッチ12aおよびジョイスティック12bを備える。操作スイッチ12aは、主にメニュー選択画面での決定操作に使用される。ジョイスティック12bは、主にメニュー選択画面での方向指示操作や選択項目の変更操作に使用される。
【0031】
据置型ゲーム装置11を3次元画像生成装置として機能させるためのプログラムすなわち3次元画像生成プログラムは、ディスク型のROMのような外部記憶媒体13から供給(ロード)される。据置型ゲーム装置11には、CRT(モニタ)14が接続される。CRT14は典型的にはテレビモニタであり、このCRT14には上述の3次元画像生成プログラムの処理によって作成される3次元画像(キャラクタ画像を含む。)が表示される。たとえば、操作者は、CRT14に表示される3次元画像を見ながら、コントローラ12を操作してキャラクタ画像の形状を変更することができる。また、CRT14にはスピーカ14aが設けられ、このスピーカ14aからは、キャラクタ画像に関連するキャラクタ音声、ゲーム音楽(BGM)などのゲームに必要な音が出力される。
【0032】
なお、据置型ゲーム装置11には、メモリカードのような外部データ記憶媒体15が接続されてもよい。キャラクタ生成処理の途中経過(途中データ)を外部データ記憶媒体15に記憶させれば、キャラクタ生成処理の一時的な中断が可能となる。また、キャラクタ生成処理の結果(結果データ)を外部データ記憶媒体15に記憶されることもできる。
【0033】
画像処理システム10は、撮像装置として機能する携帯型ゲーム装置20を含む。携帯型ゲーム装置20は、携帯型ゲーム装置本体21と撮像カートリッジ22とを含む。携帯型ゲーム装置本体21は、操作スイッチ21aを有する。被写体を撮影するとき、操作者は、操作スイッチ21aをシャッタボタンとして使用する。携帯型ゲーム装置20はまた、LCDモニタ21bを備える。LCDモニタ21bは、携帯型ゲーム装置本体21で処理されたプログラムの結果を画像として表示する。
【0034】
撮像カートリッジ22には、撮像ユニット22aが設けられる。撮像カートリッジ22のROM22b(図2参照)には、携帯型ゲーム装置本体21を撮像装置として機能させるためのプログラムおよびデータが記憶されている。撮像ユニット22aによって撮影された画像データは、撮像カートリッジ22のバックアップRAM(またはフラッシュメモリ)22c(図2参照)に記憶される。携帯型ゲーム装置20は、接続ケーブル16を介して据置型ゲーム装置11に接続される。バックアップRAM22cに記憶された画像データは、据え置き型ゲーム装置11で使用することができる。
【0035】
図2は、画像処理システム10の電気的な構成を示すブロック図である。据置型ゲーム装置11は、その全体制御を司るCPU11aを内蔵している。このCPU11aには、RAM11bが接続される。RAM11bには、CPU11aによって処理されるプログラムやデータが一時的に記憶される。
【0036】
CPU11aにはまた、画像処理ユニット11cおよび音声処理ユニット11gがさらに接続されている。画像処理ユニット11cは、CPU11aからの指示に基づいて、RAM11bに記憶された画像データを処理する。画像処理ユニット11cによって生成された画像データは、ビデオエンコーダ11dを介してCRT14から出力される。音声処理ユニット11gは、CPU11aからの指示に基づいて、RAM11bに記憶された音声データを処理する。音声処理ユニット11cによって生成された音声データは、CRT14に設けられるスピーカ14aから出力される。
【0037】
CPU11aにはさらに、インタフェース11eが接続される。インタフェース11eは、RAM11bにも接続される。コントローラ12は、インタフェース11eを介してCPU11aに接続される。インタフェース11eにはまた、ディスクドライブユニット11fが接続される。外部記憶媒体13のデータは、CPU11aの指示に基づいて、ディスクドライブユニット11fによって読み取られる。読み取られたデータは、RAM11bに転送される。プログラム処理によって得られたデータを保存するとき、このデータは、RAM11bから読み出され、インタフェース11eを介して外部データ記憶媒体(たとえばメモリカード)15に転送される。
【0038】
携帯型ゲーム装置本体21は、CPU21cを内蔵する。CPU21cは、RAM21dと接続される。RAM21dには、CPU21cのプログラム処理によって得られたデータが一時的に記憶される。画像処理ユニット21eは、CPU21cおよびRAM21dと接続される。画像処理ユニット21eは、CPU21cの指示に基づいて、RAM21dに一時記憶された画像データを処理し、処理された画像データをVRAM21fに格納する。VRAM21fに格納された画像データは、LCDドライバ21gを介してLCDモニタ21bから出力される。
【0039】
撮像カートリッジ22は、コネクタを介して携帯型ゲーム装置本体21に着脱可能とされる。また、撮像カートリッジ22は、上述の撮像ユニット22a,ROM22bおよびバックアップRAM22c、並びに、携帯型ゲーム装置本体21と接続するためのインタフェース22dを備える。
【0040】
携帯型ゲーム装置本体21のCPU21cは、インタフェース21hを介して、撮像カートリッジ22にアクセスする。すなわち、CPU21cは、ROM22bに記憶されたプログラムおよびデータに基づいて、撮像ユニット22aを駆動し、かつ所定の処理によって撮像データを生成する。なお、生成された撮像データをバックアップメモリ22cに保存するようにすれば、この画像データを他の携帯型ゲーム装置で使用することができる。
【0041】
たとえば、操作者が操作スイッチ21aを操作すると、撮像ユニット22aによって撮影された被写体の画像データ(たとえば、顔画像データ)に所定の処理が施され、処理後の画像データがバックアップRAM22cに格納される。この画像データは、キャラクタ画像の顔部分に貼り付けるためのテクスチャデータとして用いることができる。また、操作者が操作スイッチ21aを操作することのより、被写体の特徴、この実施例では、“性別”,“体型”,“性格”および“年齢”が決定され、これに対応するデータ(被写体特徴データ)が画像データに関連づけてRAM22cに格納される。こうして得られた画像データ(顔画像データ)および被写体特徴データは、操作者が操作スイッチ21aを操作することにより、接続ケーブル16を介して据置型ゲーム装置11に送信することができる。
【0042】
図3は据置型ゲーム装置11に設けられたRAM11bのメモリマップ30である。この図3を参照して分かるように、RAM11bは、プログラム記憶領域32およびデータ記憶領域34に区分される。プログラム記憶領域32は、3次元画像生成プログラム(32a〜32g)および3次元画像表示プログラム(32h)を記憶する。3次元画像生成プログラムは、オブジェクト生成プログラム32a、アニメーション選択プログラム32b、カメラ処理プログラム32c、カメラ制御プログラム32d、画面切替制御プログラム32e、2次元画像生成プログラム32fおよび画面切替データ更新プログラム32gによって構成される。
【0043】
オブジェクト生成プログラム32aは、オブジェクト画像データ(図4参照)を用いて、仮想3次元空間内に存在するオブジェクトを生成するためのプログラムである。アニメーション選択プログラム32bは、予め用意されているアニメーションデータ(図4参照)を選択するためのプログラムである。カメラ処理プログラム32cは、アニメーションデータに含まれる画面切替タイミングで、当該画面切替タイミングに対応して記憶されたカメラパターンの識別情報を読み出し、読み出した識別情報が示すカメラパターンに設定される注視点情報およびカメラ制御情報が示す注視点およびカメラ動作プログラムに従って仮想カメラ(図示せず)を制御(視点制御)するように、カメラ制御プログラム32dを設定する。
【0044】
ここで、注視点情報は、仮想カメラが撮影すべき被写体すなわち3次元仮想空間に存在するオブジェクトの注視点を示す指定データが記憶された記憶領域を示すポインタであり、カメラ制御情報は、カメラ動作プログラムを示す指定データが記憶された記憶領域を示すポインタである。なお、注視点およびカメラ動作プログラムについては、後で詳細に説明する。
【0045】
カメラ制御プログラム32dは、カメラ処理プログラム32cで設定された注視点およびカメラ制御に従ってカメラ動作(仮想カメラの動作)を制御するためのプログラムである。この実施例では、カメラ制御プログラム32dは、第1カメラ動作プログラム322,第2カメラ動作プログラム324,…によって構成される。ここで、カメラ動作プログラムは、仮想カメラの動作を制御するためのプログラムであり、仮想カメラの向き、ズーム(ズームイン/ズームアウト)および回転(左回転、右回転)の少なくとも1つを制御するためのプログラムである。したがって、カメラ制御プログラム32dは、カメラ処理プログラム32cで設定されたカメラ動作プログラムに従う動作で、同じくカメラ処理プログラム32cで設定された注視点に仮想カメラが向くように、仮想カメラの視点制御を行うのである。
【0046】
画面切替制御プログラム32eは、アニメーション選択プログラム32bによって選択されたアニメーションデータに含まれる画面切替タイミング(切替制御位置)で、画面切替データ(図4参照)に従って画像を切り替えるためのプログラムである。2次元画像生成プログラム32fは、3次元仮想空間を視点から見た3次元画像を2次元画像に変換(投影変換)するためのプログラムである。つまり、3次元仮想空間を仮想カメラで撮影した画像を生成するためのプログラムである。
【0047】
画面切替データ更新プログラム32gは、アニメーションデータに従うアニメーションの表示が終了し、当該アニメーションの表示を繰り返すときに、画面切替データ記憶領域48の内容、すなわち当該画面切替データ記憶領域48に含まれる注視点指示データ記憶領域48a(図4参照)およびカメラ制御指示データ記憶領域48b(図4参照)の内容を、ランダムに更新するためのプログラムである。具体的には、注視点指示データ記憶領域48a内にグループ毎に記憶された注視点データの識別情報を、各グループ内でランダムに並べ替えるとともに、カメラ制御指示データ記憶領域48b内にグループ毎に記憶されたカメラ動作プログラムの識別情報を、各グループ内でランダムに並べ替える。画像表示プログラム32hは、2次元画像生成プログラム32fに従って生成された2次元画像をCRT14に表示するためのプログラムである。
【0048】
図4は図3に示したデータ記憶領域34の具体的な内容を示す図解図である。この図4を参照して、データ記憶領域34は、注視点データ記憶領域40、オブジェクト画像データ記憶領域42、アニメーションシーケンスデータ記憶領域44、カメラパターンデータ記憶領域46、画面切替データ記憶領域48およびその他のデータ記憶領域50によって構成される。
【0049】
注視点データ記憶領域40は、第1注視点データ40a、第2注視点データ40b、…を記憶する。これらの注視点データは、たとえば、3次元仮想空間に存在する人物キャラクタやアニメキャラクタ等のキャラクタ(オブジェクト)であり、所望のオブジェクトに対して所望の位置に設定される注視点についての座標(3次元座標)のデータ(以下、「座標データ」という。)である。
【0050】
たとえば、注視点はキャラクタ(オブジェクト)の頭部に設定することができるが、これに限定される必要はなく、オブジェクト毎に異なる位置に設定することも可能である。また、注視点は、所望のオブジェクトに1つだけ設定されるものではなく、たとえば一人の人物(オブジェクト)について、頭部、胴部および左腕、右腕などに別々の注視点データを設定してもよい。
【0051】
オブジェクト画像データ記憶領域42には、第1オブジェクトデータ42a、第2オブジェクトデータ42b、…が記憶される。各オブジェクトデータは、当該オブジェクトの画像を生成するためのポリゴンデータおよびテクスチャデータを含む。たとえば、第1オブジェクトデータ42aは、ポリゴンデータ420およびテクスチャデータ422によって構成される。また、第2オブジェクトデータ42bは、ポリゴンデータ424およびテクスチャデータ426によって構成される。ただし、各ポリゴンデータは複数のポリゴンについてのデータであり、また、各テクスチャデータは複数のテクスチャについてのデータである。
【0052】
アニメーションシーケンスデータ記憶領域44には、第1アニメーションデータ44a、第2アニメーションデータ44b、…が記憶される。アニメーションデータは、3次元空間に存在するオブジェクトのそれぞれに、3次元画像生成プログラムの開発者や創作者の意図した動作をさせるためのデータである。たとえば、ライブ会場を想定した3次元仮想空間において、1または複数のオブジェクトに楽器を演奏させたり、歌を歌わせたりするような動作をさせることができる。また、公園を想定した3次元仮想空間において、1または複数のオブジェクトに遊具(ブランコ、鉄棒、すべり台など)で遊ばせたり、複数のオブジェクが集まって鬼ごっこをしたりするような動作をさせることもできる。つまり、アニメーションデータは、1または複数のオブジェクトについてのアニメーションを実行するためのデータである。また、アニメーションデータには、画面を生成する(切り替える)ためのタイミングを指定する画面切替タイミングが記憶されており、この画面切替タイミングとしては、上述したように、カメラパターンデータ(パターンデータ)の識別情報(ラベル)が記憶される。
【0053】
カメラパターンデータ記憶領域46は、パターンαデータ46a、パターンβデータ46b、…などを記憶する。パターンデータは、画面切替データ記憶領域48に含まれる注視点データおよびカメラ制御プログラムを指定するためのポインタであり、固定的に決定されている。このパターンデータの識別情報(ラベル)が、上述したアニメーションデータの画面切替タイミングに対応して記憶(記録)されている。したがって、画面切替タイミングで、当該画面切替タイミングに対応するパターンデータが示す注視点データおよびカメラ制御プログラムが読み出され、これに従って仮想カメラが制御される。詳しく説明すると、パターンデータに含まれるポインタが示すアドレスに記憶された注視点データの識別情報およびカメラ動作プログラムの識別情報が後述する画面切替データ記憶領域48から読み出され、各識別情報が示す注視点データおよびカメラ動作プログラムが設定される。仮想カメラは、設定されたカメラ動作プログラムに従ってその動作を制御されるとともに、設定された注視点データが示す注視点を向くように制御される。このようにして、仮想カメラの動作が制御(視点制御)されるのである。
【0054】
画面切替データ記憶領域48は、画面生成または画面切替のためのデータ(画面切替データ)を記憶する領域であり、さらに、注視点指示データ記憶領域48aおよびカメラ制御指示データ記憶領域48bが設けられる。注視点データ記憶領域48aは注視点データを指定(指示)するための識別情報を記憶し、カメラ制御プログラム記憶領域48bはカメラ動作プログラムを指定(指示)するための識別情報を記憶する。この実施例では、注視点データの識別情報およびカメラ動作プログラムの識別情報は、それぞれ、複数用意されており、画像生成プログラムの開発者ないし創作者の意図する集まりでグループ分けされている。
【0055】
なお、図4においては、説明の都合上、識別情報として、オブジェクト名およびカメラ動作プログラムの名称を記載してある。
【0056】
たとえば、注視点指示データ記憶領域48aでは、グループAとして、ポインタPA−1が示すアドレスに第1オブジェクト(たとえば、第1注視点データ)の識別情報が記憶され、ポインタPA−2が示すアドレスに第4オブジェクト(たとえば、第4注視点データであり、図4では省略してある。)の識別情報などが記憶される。また、同じく注視点指示データ記憶領域48aでは、グループBとして、ポインタPB−1が示すアドレスに第nオブジェクト(たとえば、第n注視点データであり、図4では省略してある。)の識別情報が記憶され、ポインタPB−2が示すアドレスに第2オブジェクト(たとえば、第2注視点データ)の識別情報が記憶される。
【0057】
なお、図4で各グループ内に複数の指示データを記載しているが、グループ内の指示データは1つでもよく(この場合は、毎回同じ指示データが選択される)、一方、指示データが増えれば増えるほど、並べ替えられる指示データの要素が増加するので、より多くのランダムなアニメーションを表示することができるようになる。
【0058】
また、カメラ制御指示データ記憶領域48bでは、グループAとして、ポインタCA−1が示すアドレスに第1カメラ動作プログラムの識別情報が記憶され、ポインタCA−2が示すアドレスに第2カメラ動作プログラムの識別情報が記憶される。また、同じくカメラ制御指示データ記憶領域48bでは、グループBとして、ポインタCB−1が示すアドレスに第nカメラ動作プログラム(図3では省略した。)の識別情報が記憶され、ポインタCB−2が示すアドレスに第5カメラ動作プログラム(図3では省略した。)の識別情報などが記憶される。
【0059】
なお、カメラ動作プログラムの識別情報も、注視点データの識別情報と同様に、各グループ内に少なくとも2つ以上記憶される。
【0060】
その他のデータ記憶領域50は、画像生成プログラムおよび画像表示プログラムの実行により発生するデータやフラグを一時記憶する等に用いられる領域である。
【0061】
図5はCRT14に表示される画面(アニメーション画像)の一例を示す図解図である。この図5では、CRT14の画面中央に存在する人物A(たとえば、第1オブジェクト)の顔が、その左右に存在する人物B(たとえば、第2オブジェクト)および人物C(たとえば、第3オブジェクト)の顔よりも大きく表示されている。このような画面を表示する場合には、たとえば、注視点は人物Aすなわち第1オブジェクトである。また、このような場合には、図6に示すように、仮想3次元空間内に第1オブジェクト〜第3オブジェクトが配置されている。この図6に示すような状態では、第1オブジェクトは、第2オブジェクトおよび第3オブジェクトよりも仮想カメラに近い位置に配置されている。また、仮想カメラが、点線で示す位置から実線で示す位置に、所定の角度だけ左回転したとする。したがって、この場合には、画面切替タイミングにおいては、カメラパターンデータに従って、第1オブジェクトの注視点データが選択され、仮想カメラを左回転させるカメラ動作プログラムが選択されたことが分かる。
【0062】
なお、図5においては、動画像を表示することができないため、図6に示したように、仮想カメラが動作した後の画面を示してある。
【0063】
図7は図4に示した画面切替データ記憶領域48(画面切替データ)の具体例を示す図解図であり、図8は図7に示す画面切替データに基づいて、或るアニメーションデータに従う時系列(画像生成のシーケンス)に対するCRT14の画面表示の変化(切替)を説明するための図解図である。
【0064】
図8に示すように、切替制御位置αには、カメラパターンα(パターンα)のラベルが記憶される。このカメラパターンαには、図4に示したように、注視点情報としてポインタPA−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。したがって、ここでは、ポインタPA−1が示すアドレスに記憶されたオブジェクト(注視点データ)の識別情報が取得され、ポインタCA−1が示すアドレスに記憶されたカメラ動作プログラムの識別情報が取得される。
【0065】
図7に示す例では、分かり易く示すために、注視点データの識別情報としては、人物オブジェクトの名称が記憶されているものとし、また、カメラ動作プログラムの識別情報としては、カメラ動作の名称が記憶されているものとしてある。したがって、カメラパターンαに従うと、図7に示すように、注視点データの識別情報として「ケイコ」が取得され、カメラ制御プログラムの識別情報として「ズームイン」が取得される。この取得された内容(注視点およびカメラ動作プログラム)に従って仮想カメラが視点制御され、図8の右上段に示すように、「ケイコ」の顔が次第に拡大された(ズームインされた)画面がCRT14に表示される。
【0066】
なお、図8においては、動画を表示することができないため、カメラ動作が制御された後の画面を示してある。以下、同様である。
【0067】
次に、図8に示す切替制御位置βには、カメラパターンβのラベルが記憶される。このカメラパターンβには、図4に示したように、注視点情報としてポインタPB−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。したがって、ここでは、ポインタPB−1が示すアドレスに記憶されたオブジェクト(注視点データ)の識別情報が取得され、ポインタCA−1が示すアドレスに記憶されたカメラ動作プログラムの識別情報が取得される。したがって、カメラパターンβに従うと、図7に示すように、注視点データの識別情報として「タカシ」が取得され、カメラ動作プログラムの識別情報として「ズームイン」が取得される。この取得された内容(注視点およびカメラ動作プログラム)に従って仮想カメラが視点制御され、図8の右中段に示すように、「タカシ」の顔が次第に拡大された(ズームされた)画面がCRT14に表示される。
【0068】
なお、このようにカメラパターンαとカメラパターンβにおいて、同じポインタCA−1を指定することができるので、意図的に切替制御位置において同じカメラ動作をさせたちという制作者の意図も反映させることができる。
【0069】
さらに、図8に示す切替制御位置γでは、カメラパターンγのラベルが記憶される。このカメラパターンγには、図4では省略したが、注視点情報としてポインタPA−2が設定され、カメラ動作情報としてポインタCC−1が設定されている。したがって、ここでは、ポインタPA−2が示すアドレスに対応して記憶されたオブジェクト(注視点データ)の識別情報が取得され、ポインタCC−1が示すアドレスに記憶されたカメラ動作プログラムの識別情報が取得される。したがって、カメラパターンγに従うと、図7に示すように、注視点データの識別情報として「ノリコ」が取得され、カメラ動作プログラムの識別情報として「右回転」が取得される。この取得された内容(注視点およびカメラ動作プログラム)に従って仮想カメラが視点制御され、図8の右下段に示すように、「ノリコ」の顔を撮影しつつ、仮想カメラを右回転させた状態の画面がCRT14に表示される。
【0070】
このようにして、アニメーションデータに従って画面表示が変化されるのであるが、カメラパターンは固定であるため、何ら手当てを施さない場合には、同じアニメーションデータに従って画面表示を繰り返すと、同じ映像が何度も表示されることになる。たとえば、このような画面表示をゲームに適用した場合には、同じ場面では同じ画像が表示されることとなり、ユーザないしプレイヤは映像に飽きてしまい、さらには、ゲーム自体への興味が減退してしまう恐れがある。
【0071】
これを回避するため、この実施例では、同じアニメーションデータに従う画面表示のシーケンスが繰り返されるとき、次のシーケンスが開始される直前に、画面切替データ記憶領域48の内容を更新するようにしてある。ただし、画面生成プログラムの開発者や創作者の意図を反映した画面表示をするために、注視点データの識別情報やカメラ動作プログラムの識別情報はグループ化されており、各グループ内でランダムに識別情報を並べ替えるようにしてある。この点で、注視点データの識別情報のグループは或る時点において表示したい所望の被写体の集まりと言え、また、カメラ動作プログラムの識別情報のグループは所望の演出に必要なカメラ動作の集まりであると言える。
【0072】
以下、具体的に説明することにする。図9(A)は或るアニメーションデータに従う1回目の再生(画面表示)に用いられる画面切替データ(画面切替データ記憶領域48)の例を示し、図9(B)は当該アニメーションデータに従う2回目の再生に用いられる画面切替データの例を示す。上述したように、図9(B)の画面切替データは、或るアニメーションデータに従う1回目の再生が終了した後、当該アニメーションデータに従う2回目の再生を開始するに先立って、図9(A)に示す画面切替データの内容(画面切替データ記憶領域48)を更新したものである。
【0073】
なお、図示は省略するが、3回目以降の再生においても、再生を繰り返す直前に、画面切替データの内容を更新する点は同様である。
【0074】
図9(A)および図9(B)を参照して、注視点指示データ記憶領域48aおよびカメラ制御指示データ記憶領域48bの内容を1回目の再生と2回目の再生とで対比すると、各グループ内の識別情報が並べ替えられているのが分かる。これは、識別情報を、ランダムに並べ替えるようにしてあるためである。つまり、この実施例では、「ランダムに並べ替える」とは、前回(並べ替える前)とは必ず異なる注視点やカメラ動作プログラムが選択されるように、識別情報を並べ替えることを意味する。
【0075】
図9(A)に示すような画面切替データ(画面切替データ記憶領域48)を用いて画面表示(再生)を行うと、図10(A)に示すように、画面切替制御タイミングに対応するカメラパターンに従って画面表示が変化される。ただし、図9(A)に示す画面切替データは図7に示す画面切替データと同じであるため、図7および図8に示した場合と同じアニメーションデータに従って画面表示される場合には、図10(A)に示すように、図8に示した場合と同様に、画面表示が行われる。この場合の画面表示についての詳細な内容は、図7および図8を用いて既に説明したため、重複した説明は省略する。
【0076】
図9(B)に示すような画面切替データを用いて再生を行うと、図10(B)に示すように、画面表示が変化される。ただし、図10(B)は2回目の再生であり、図10(A)に示す1回目の再生が終了した後に、同じアニメーションデータに従って実行される。つまり、同じアニメーションデータに従うため、切替制御位置α,β,γに対応して記憶されるカメラパターンのラベルは同じである。しかし、上述したように、画面切替データの内容が更新されているため、異なる画面(映像)が表示される。
【0077】
具体的には、2回目の再生では、切替制御位置αにはカメラパターンαのラベルが記憶されており、上述したように、当該カメラパターンαには、注視点情報としてポインタPA−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。このカメラパターンαに従うと、図9(B)に示すように、ポインタPA−1が示すアドレスに記憶された「ノリコ」が取得され、ポインタCA−1が示すアドレスに記憶された「ズームアウト」が取得される。したがって、図10(B)の上段に示すように、「ノリコ」の顔が次第に小さくなるように、仮想カメラがズームアウトされる。
【0078】
また、切替制御位置βにはカメラパターンβのラベルが記憶されており、上述したように、当該カメラパターンβには、注視点情報としてポインタPB−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。このカメラパターンβに従うと、図9(B)に示すように、ポインタPB−1が示すアドレスに記憶された「アキラ」が取得され、ポインタCA−1が示すアドレスに記憶された「ズームアウト」が取得される。したがって、図10(B)の中段に示すように、「アキラ」の顔(全身)が次第に小さくなるように、仮想カメラがズームアウトされる。
【0079】
さらに、切替制御位置γにはカメラパターンγのラベルが記憶されており、上述したように、当該カメラパターンγには、注視点情報としてポインタPA−2が設定され、カメラ制御情報としてポインタCC−1が設定されている。このカメラパターンγに従うと、図9(B)に示すように、ポインタPA−2が示すアドレスに記憶された「ケイコ」が取得され、ポインタCC−1が示すアドレスに記憶された「左回転」が取得される。したがって、図10(B)の下段に示すように、「ケイコ」の顔を左から正面を撮影するように、仮想カメラが左回転される。
【0080】
なお、図10(A)および図10(B)においても、動画像を表現することはできないため、カメラ制御の後の画面を示してある。
【0081】
このように、同じアニメーションデータに従って繰り返し画面(映像)を表示する場合であっても、回が異なる毎に、画面切替データ(画面切替データ記憶領域48)を更新するので、同じタイミングで同じ画面が表示されるのを回避することができる。ただし、上述したように、画面切替データの内容を、ランダムに並べ替えるようにしてあるため、或る画面切替のタイミングにおいては、前回と今回とで同じ画面が表示されることもあるが、映像全体としては異なるため、繰り返し再生されても、ユーザが飽きてしまうことはない。
【0082】
具体的には、図2に示したCPU11aが図11に示すフロー図に従って画面生成・表示処理を実行する。図11を参照して、CPU11aは処理を開始すると、ステップS1で、初期設定を実行する。たとえば、メニュー画面を表示して、アニメーションデータを決定するためのシチュエーション(たとえば、ライブハウス,公園)を、ユーザに選択させたり、当該シチュエーションに登場する人物(オブジェクト)を選択させたりする。また、シチュエーションや登場人物の選択が終了した後に、アニメーション表示(画面表示)を開始するか否かを選択するためのスタートメニューを表示する。
【0083】
次のステップS3では、アニメーション表示するかどうかを判断する。つまり、スタートメニューでアニメーション表示の開始が選択されたかどうかを判断する。アニメーション表示の開始が選択されていなければ、ステップS3で“NO”となり、そのままステップS1に戻る。しかし、アニメーション表示の開始が選択されれば、ステップS5でアニメーションを選択する。つまり、初期設定において選択されたシチュエーションに対応するアニメーションデータをRAM11bのデータ記憶領域34に設けられるアニメーションシーケンスデータ記憶領域44から選択する。
【0084】
続いて、ステップS7で、後述するアニメーション処理(図12および図13参照)を実行し、ステップS9で、画面生成・表示処理を終了するかどうかを判断する。つまり、このステップS9では、ユーザによってアニメーション表示の終了が指示されたかどうかを判断するのである。ステップS9で“NO”であれば、つまりアニメーション表示の終了でなければ、そのままステップS1に戻る。一方、ステップS9で“YES”であれば、つまりアニメーション表示の終了であれば、画像生成・表示処理を終了する。
【0085】
なお、図示は省略するが、アニメーション表示が開始されると、仮想カメラで撮影される映像がCRT14に表示される。
【0086】
図12および図13は、図11に示したステップS7のアニメーション処理を示すフロー図である。図12に示すように、CPU11aはアニメーション処理を開始すると、ステップS21で、アニメーションの初期設定を行う。ここでは、たとえば、ユーザによって選択された登場人物の初期の配置位置を設定する。つまり、登場人物の初期の配置位置に対応する位置座標をデータ記憶領域34の注視点データ記憶領域40に記憶する。その後、各登場人物すなわち各オブジェクトの位置座標はアニメーションデータに従って更新される。
【0087】
次のステップS23では、図11に示したステップS5で選択されたアニメーションデータを読み出す。そして、ステップS25で、切替制御位置αに対応して記憶されたラベルが示すカメラパターンαを読み出す。この実施例では、上述したように、カメラパターンαには、注視点情報としてポインタPA−1が設定され、カメラ制御情報としてポインタCA−1が設定されている(図4参照)。つまり、ステップS25では、これらのポインタを読み出すのである。以下、同様である。
【0088】
次のステップS27では、カメラパターンαが指定する注視点情報(ポインタPA−1)から実際の注視点を特定する。つまり、ポインタPA−1が示すアドレスに記憶されたオブジェクト(注視点データ)の識別情報に基づいて、注視点データ記憶領域40から当該注視点データすなわち座標データを取得する。次に、ステップS29で、カメラパターンαが指定するカメラ動作情報(ポインタCA−1)に対応するカメラ制御プログラムに従って、カメラパターンαが指定する実際の注視点に対して視点制御を行う。したがって、上述したように、1回目の再生では、「ケイコ」が次第に拡大するように、画面表示される。
【0089】
続いて、ステップS31で、アニメーションデータを読み出し、ステップS33で、カメラパターンβを読み出す。上述したように、カメラパターンβには、注視点情報としてポインタPB−1が設定され、カメラ動作情報としてポインタCA−1が設定されており、これらのポインタが読み出される。
【0090】
次のステップS35では、カメラパターンβが指定する注視点情報(PB−1)から実際の注視点を特定する。注視点の特定は、上述のステップS27と同じであるため、重複した説明は省略する。続いて、ステップS37では、カメラパターンβが指定するカメラ動作制御情報(CA−1)に対応する実際のカメラ制御プログラムに従って、カメラパターンβが指定する実際の注視点に対して視点制御を行う。したがって、上述したように、1回目の再生では、「タカシ」の顔が次第に大きくなるように画面表示される。
【0091】
図13に示すように、ステップS37に続いて、アニメーションデータを読み出し、アニメーションデータに記憶されたカメラパターンに従って視点制御を行う処理が、記憶されたカメラパターン(画面切替位置)の数(厳密には、カメラパターンの総数−3)と同じ回数だけ、上述と同様に行われる。そして、ステップS39で、アニメーションデータを読み出し、ステップS41で最終のカメラパターンを読み出す。次にステップS43で、最終のカメラパターンが指定する注視点情報から実際の注視点を特定し、ステップS45で、最終のカメラパターンが指定するカメラ動作情報に対応する実際のカメラ制御プログラムに従って、最終のカメラパターンが指定する実際の注視点に対して視点制御を行う。
【0092】
そして、ステップS47で、アニメーションを繰り返すかどうかを判断する。つまり、当該アニメーションデータに従う画面表示を続けて行うかどうかを判断する。ここで、“NO”であれば、つまりアニメーションを繰り返さない場合には、そのままアニメーション処理をリターンする。一方、“YES”であれば、つまりアニメーションを繰り返す場合には、ステップS49で、注視点情報およびカメラ動作情報の識別情報をグループ毎にランダムに並べ替えて、図12に示したステップS21に戻る。
【0093】
なお、図示は省略したが、アニメーションデータに従って、3次元仮想空間に存在するオブジェクトの動作は制御される。また、仮想カメラで捉えた映像(画像)は、視点変換された後、2次元画像として、CRT14に表示される。したがって、視点制御により得られる画像をCRT14に表示することができるのである。
【0094】
この実施例によれば、アニメーションを繰り返す場合には、注視点情報とカメラ制御情報との画面切替データの内容を更新するので、全く同じアニメーションが表示されてしまうのを防止することができる。言い換えると、ユーザを飽きさせない画面表示が可能である。
【0095】
また、この実施例によれば、画像生成プログラムの開発者や創作者の意図でグループ化した注視点データの識別情報とカメラ動作プログラムの識別情報とを各グループ内で並べ替えるだけなので、当該開発者等の意図を反映しながら、変化に富んだ映像を生成することが可能である。
【0096】
さらに、この実施例によれば、オブジェクトの配置位置に基づいて注視点が設定されるので、アニメーションの創作者の意図を反映し易くすることができる。
【0097】
なお、この実施例では、注視点データの識別情報とカメラ動作プログラムの識別情報とをグループ分けして、アニメーションデータに従う画面表示を繰り返すときに、両方の識別情報を各グループ内でランダムに並べ替えるようにしたが、いずれか一方の識別情報を並べ替えるようにしても、回が異なる毎に、異なる映像を表示することができる。
【0098】
また、この実施例では、毎回異なる注視点およびカメラ動作プログラムが選択されるようにするため、その識別情報をランダムに並べ替えるようにしたが、すべての切替制御位置において、必ずしも異なる注視点およびカメラ制御プログラムが選択されることを創作者が意図しない場合には、それらの識別情報をシャッフルするようにしてもよい。つまり、一部(或るグループ内)の識別情報の並びがシャッフルする前とシャッフルした後とで同じであってもよい。
【0099】
さらに、この実施例では、画像生成装置および画像生成プログラムを据置型ゲーム装置に適用した場合について説明したが、携帯型ゲーム装置や画像生成機能を備える他の装置(機器)に適用することも可能である。
【図面の簡単な説明】
【0100】
【図1】図1はこの発明の画像生成装置を適用した据置型ゲーム装置を備える画像処理システムの構成を示す図解図である。
【図2】図2は図1に示す画像処理システムの電気的な構成を示すブロック図である。
【図3】図3は図1および図2に示す据置型ゲーム装置に設けられるRAMのメモリマップを示す図解図である。
【図4】図4は図3に示すメモリマップに含まれるデータ記憶領域の具体例を示した図解図である。
【図5】図5は図1および図2に示すCRTの表示画面の一例を示す図解図である。
【図6】図6は図5に示す表示画面が出力される場合の仮想3次元空間におけるオブジェクトの配置および仮想カメラの動作を説明するための図解図である。
【図7】図7は図4に示す画面切替データ記憶領域の具体例を示す図解図である。
【図8】図8は図7の画面切替データ記憶領域に記憶された注視点データの識別情報とカメラ動作プログラムの識別情報とに基づいて或るアニメーションデータに従う画面表示の変化を説明するための図解図である。
【図9】図9は1回目の再生と2回目の再生とにおける画面切替データ記憶領域の例を示す図解図である。
【図10】図10は図9に示した画面切替データ記憶領域に記憶された注視点データの識別情報とカメラ動作プログラムの識別情報とを用いた場合の画面表示の例を示す図解図である。
【図11】図11は図2に示す据置型ゲーム装置のCPUの画面生成・表示処理を示すフロー図である。
【図12】図12は図2に示す据置型ゲーム装置のCPUのアニメーション処理の一部を示すフロー図である。
【図13】図13は図12に示すフロー図に後続するアニメーション処理の他の一部を示すフロー図である。
【符号の説明】
【0101】
10 …画像処理システム
11 …据置型ゲーム装置
12 …コントローラ
13 …据置型ゲーム装置用外部記憶媒体
14 …CRT
20 …携帯型ゲーム装置
21a …操作スイッチ
21b …LCDモニタ
22a …撮像ユニット
【技術分野】
【0001】
この発明は3次元画像生成装置および3次元画像生成プログラムに関し、特にたとえば、ポリゴンデータを用いて、リアルタイムに合成されるゲームなどの仮想3次元アニメーション画像を生成し、画面表示する、3次元画像生成装置および3次元画像生成プログラムに関する。
【背景技術】
【0002】
従来、仮想3次元空間を想定して、コンピュータグラフィックスの理論を用いて、ゲームなどのアニメーション画像をポリゴンデータ等から生成することがよく知られている。このようなアニメーション画像は、通常、創作者(クリエータ)が意図した再生手順(シーケンス)のデータに従って生成される。このため、同じアニメーションデータを使用する限りにおいては、同じ画像が毎回表示される。
【0003】
一方、画像の表示が毎回同じにならないよう、その映像表現のバリエーションを広げる工夫をした技術がある。特許文献1によれば、3次元空間中に存在する物体群から空間の中心(物体群を包含する直方体の重心)を定め、この中心点を基準に注視点などを定める技術が開示されている。これによって、画面上の物体に応じた最適な画像が得られる。
【0004】
また、特許文献2によれば、プレイヤが操作するキャラクタ(移動体)を表示するとき、プレイヤの腕前(初級か上級か)を考慮して、移動体の種類に応じて視点制御を変更する技術が開示されている。こうすることで、初級者が選ぶであろう移動体のときには、操作し易い視点切替を選択することができ、上級者では、迫力の有る映像が得られる視点切替を選択することができる。
【0005】
さらに、特許文献3によれば、オブジェクトが移動するコースの特定ポイント毎に、異なる視点制御プログラムを選択できるように設定された技術が開示されている。これによって、コースの状況に相応しい映像が得られる。
【0006】
そして、特許文献4によれば、実際のカメラで撮影した顔画像を、仮想3次元空間内で生成されたオブジェクトで利用し、その際入力された特徴データに基づいて、相応しいアニメーションを選択して表示する技術が開示されている。
【特許文献1】特開平8−106545
【特許文献2】特許第3046578号
【特許文献3】特許第3127137号
【特許文献4】特開2004−46793
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示された技術では、仮想3次元空間中に物体が多く存在するほど処理負担が大きくなってしまう。さらには、物体を包含する直方体の重心に基づいて視点を決定するので、たとえばアニメーションの創作者(クリエータ)が意図する映像表現と一致しない画像が生成される恐れがある。
【0008】
また、特許文献2に開示された技術では、あくまでプレイヤの腕前に応じて、選択されるであろう移動体毎に、異なる視点制御を行うようにしているだけであり、同じ移動体を選択したときには、同じ映像が生成されてしまい、プレイヤが映像に飽きてしまう恐れがあった。
【0009】
さらに、特許文献3に開示された技術では、コースの途中で視点制御プログラムを切り替えるようにしてあるが、あくまでコースの状態とプレイ感覚に相応しい切り替えを行うだけであって、変化に富んだ映像を生成することができなかった。
【0010】
そして、特許文献4に開示された技術では、オブジェクトの特徴に応じて、相応しいアニメーションが自動的に選択されるようにしてあるため、視聴者がどのようなアニメーションが表示されるのか分からないことから、期待感を持たせることはできる。しかし、一度選択されたアニメーションの映像パターンまで異ならせることはできない。つまり、変化に富んだ映像を生成することができなかった。
【0011】
それゆえに、この発明の主たる目的は、新規な、3次元画像生成装置および3次元画像生成プログラムすることである。
【0012】
この発明の他の目的は、同じシーンであっても視聴者が飽きないように配慮されたアニメーションを表示できる、3次元画像生成装置および3次元画像生成プログラムを提供することである。
【0013】
この発明のその他の目的は、アニメーションの再生において、創作者の意図を反映しながら、変化に富んだ映像を生成できる、3次元画像生成装置および3次元画像生成プログラムを提供することである。
【課題を解決するための手段】
【0014】
請求項1の発明は、仮想3次元画像を生成する3次元画像生成装置であって、表示手段、注視点データ記憶手段、カメラ制御プログラム記憶手段、カメラ制御手段、3次元画像データ記憶手段、画像生成シーケンス記憶手段、指定データ記憶手段、仮想3次元画像生成手段、2次元画像表示制御手段、および指定データ更新手段を備える。表示手段は、画像を表示する。注視点データ記憶手段は、複数の注視点データを記憶する。カメラ制御プログラム記憶手段は、仮想3次元空間において、注視点データに基づき、当該仮想3次元空間内の視点から見たときの画像を撮影する仮想カメラを制御するための複数のカメラ制御プログラムを記憶する。カメラ制御手段は、カメラ制御プログラムに従って仮想カメラを制御する。3次元画像データ記憶手段は、仮想3次元画像を生成するための3次元画像データを記憶する。画像生成シーケンス記憶手段は、仮想3次元画像の生成タイミングを時系列で記憶する。指定データ記憶手段は、画像生成シーケンスに従って、いずれか1つの注視点データといずれか1つのカメラ制御プログラムとを、時系列で順番に複数組指定する指定データを記憶する。仮想3次元画像生成手段は、画像データ記憶手段に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段に記憶された生成タイミングで、仮想3次元画像を生成する。2次元画像表示制御手段は、仮想3次元画像生成手段によって生成された仮想3次元画像を、指定データに従って視点制御された仮想カメラによって撮影し、撮影された画像を表示手段に表示する。そして、指定データ更新手段は、画像生成シーケンスを繰り返す毎に、指定データ記憶手段の内容をランダムに更新する。
【0015】
請求項1の発明では、3次元画像生成装置(11:実施例で相当する参照符号。以下、同じ。)は画像を表示する表示手段(14)を備えている。注視点データ記憶手段(11b)は、注視点データを記憶する。また、カメラ制御プログラム記憶手段(11b)は、仮想3次元空間において、注視点データに基づき、当該仮想3次元空間内の視点から見たときの画像を撮影する仮想カメラを制御するための複数のカメラ制御プログラムを記憶する。カメラ制御手段(11a,S29,S37,S45)は、カメラ制御プログラムに従って仮想カメラを制御する。3次元画像データ記憶手段(11b)は、仮想3次元画像を生成するための3次元画像データを記憶する。画像生成シーケンス記憶手段(11b)は、仮想3次元画像の生成タイミングを時系列で記憶する。指定データ記憶手段(11b)は、画像生成シーケンスに従って、いずれか1つの注視点データといずれか1つのカメラ制御プログラムとを、時系列で順番に複数組指定する指定データを記憶する。仮想3次元画像生成手段(11a)は、画像データ記憶手段(11b)に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段(11b)に記憶された生成タイミングで、仮想3次元画像を生成する。2次元画像表示制御手段(11a)は、仮想3次元画像生成手段(11a)によって生成された仮想3次元画像を、指定データに従って視点制御された仮想カメラによって撮影し、撮影された画像を表示手段(14)に表示する。指定データ更新手段(11a,S49)は、画像生成シーケンスを繰り返す毎に(S47で“YES”)、指定データ記憶手段(11b)の内容をランダムに更新する。
【0016】
請求項1の発明によれば、画像生成シーケンスを繰り返す毎に指定データ記憶手段の内容をランダムに更新するので、再生回数が異なれば、同じ画面切替のタイミングであっても、同じ注視点データや同じカメラ制御プログラムが選択されるのを回避することができる。つまり、変化に富んだアニメーションの画像を表示することができるので、視聴者が映像に飽きてしまうことがない。
【0017】
請求項2の発明は請求項1に従属し、指定データ記憶手段は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶した注視点グループデータ記憶手段を含み、指定データ更新手段は、注視点グループデータ記憶手段にグループ毎に記憶された注視点指示データを、各グループ内でランダムに並べ替える。
【0018】
請求項2の発明では、注視点グループ記憶手段(11b)は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶する。指定データ更新手段(11a,S49)は、注視点グループデータ記憶手段(11b)に記憶された注視点指示データを、各グループ内でランダムに並べ替える。
【0019】
請求項2の発明によれば、たとえば、3次元画像生成プログラムの開発者や創作者の意図に従って注視点指示データをグループ化しておけば、各グループ内でランダムに注視点指示データを並べ替えた場合であっても、その意図を反映しながら、アニメーションの画像を変化させることができる。
【0020】
請求項3の発明は請求項1または請求項2に従属し、指定データ記憶手段は、複数のカメラ制御プログラムのそれぞれを示すカメラ制御指示データを、所望のグループ毎に記憶したカメラ制御グループデータ記憶手段を含み、指定データ更新手段は、カメラ制御グループデータ記憶手段にグループ毎に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える。
【0021】
請求項3の発明では、カメラ制御グループデータ記憶手段(11b)は、複数のカメラ制御プログラムのそれぞれを示すカメラ制御指示データを、所望のグループ毎に記憶する。指定データ更新手段(11a,S49)は、カメラ制御グループデータ記憶手段(11b)にグループ毎に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える。
【0022】
請求項3の発明によれば、たとえば、3次元画像生成プログラムの開発者や創作者の意図に従ってカメラ制御指示データをグループ化しておけば、各グループ内でランダムにカメラ制御指示データを並べ替えた場合であっても、その意図を反映しながら、アニメーションの画像を変化させることができる。
【0023】
請求項4の発明は請求項1ないし3のいずれかに従属し、画像データ記憶手段は、複数のポリゴンから成る1または複数のオブジェクトを生成するためのオブジェクトデータを記憶し、注視点データは、オブジェクトの仮想3次元空間上の配置位置に基づいて設定される、請求項1ないし3のいずれかに記載の3次元画像生成装置。
【0024】
請求項4の発明では、画像データ記憶手段(11b)は、複数のポリゴンから成る1または複数のオブジェクトを生成するためのオブジェクトデータを記憶する。注視点データは、オブジェクトの仮想3次元空間上の配置位置に基づいて設定される。たとえば、オブジェクトの配置位置を当該オブジェクトの足元の位置に設定しておき、注視点を当該オブジェクトの頭部(顔)の中心位置に設定することが可能である。
【0025】
請求項4の発明によれば、オブジェクトの配置位置に基づいて注視点が設定されるので、アニメーションの創作者の意図を反映し易くすることができる。
【0026】
請求項5の発明は、画像を表示する表示手段と、複数の注視点データを記憶した注視点データ記憶手段と、仮想カメラを制御するための複数のカメラ制御プログラムを記憶したカメラ制御プログラム記憶手段と、仮想3次元画像の生成タイミングを時系列で記憶した画像生成シーケンス記憶手段と、画像生成シーケンスに従っていずれか1つの注視点データといずれか1つのカメラ制御プログラムとを時系列で順番に複数組指定する指定データを記憶した指定データ記憶手段と、仮想3次元画像を生成するための3次元画像データを記憶した画像データ記憶手段とを備えた3次元画像生成装置の3次元画像生成プログラムである。この3次元画像生成プログラムは、3次元画像生成装置のプロセサに、カメラ制御ステップ、3次元画像生成ステップ、2次元画像表示制御ステップ、および指定データ更新ステップを実行させる。カメラ制御ステップは、仮想3次元空間において、注視点データに基づき、カメラ制御プログラムに従って仮想カメラを制御する。仮想3次元画像生成ステップは、画像データ記憶手段に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段に記憶された生成タイミングで、仮想3次元画像を生成する。2次元画像表示制御ステップは、仮想3次元画像生成ステップによって生成された仮想3次元画像を、指定データに従って視点制御された仮想カメラによって撮影し、撮影された画像を表示手段に表示する。そして、指定データ更新ステップは、画像生成シーケンスを繰り返す毎に、指定データ記憶手段の内容をランダムに更新する。
【0027】
請求項5の発明においても、請求項1の発明と同様に、変化に富んだアニメーションの画像を表示することができる。
【発明の効果】
【0028】
この発明によれば、画面切替制御の内容を、アニメーションの再生の度に変化させるので、毎回同じアニメーションが生成されることが無い。つまり、変化に富んだ映像を生成でき、視聴者が飽きるのを防止することができる。
【0029】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0030】
図1を参照して、この実施例の画像処理システム10は、コントローラ12が接続された据置型ゲーム装置11を含む。この据置型ゲーム装置11は、3次元画像生成装置(後述するCRT14を含む。)および3次元画像生成プログラムを備えている。据置型ゲーム装置11にはコントローラ12が接続される。このコントローラ12は、操作スイッチ12aおよびジョイスティック12bを備える。操作スイッチ12aは、主にメニュー選択画面での決定操作に使用される。ジョイスティック12bは、主にメニュー選択画面での方向指示操作や選択項目の変更操作に使用される。
【0031】
据置型ゲーム装置11を3次元画像生成装置として機能させるためのプログラムすなわち3次元画像生成プログラムは、ディスク型のROMのような外部記憶媒体13から供給(ロード)される。据置型ゲーム装置11には、CRT(モニタ)14が接続される。CRT14は典型的にはテレビモニタであり、このCRT14には上述の3次元画像生成プログラムの処理によって作成される3次元画像(キャラクタ画像を含む。)が表示される。たとえば、操作者は、CRT14に表示される3次元画像を見ながら、コントローラ12を操作してキャラクタ画像の形状を変更することができる。また、CRT14にはスピーカ14aが設けられ、このスピーカ14aからは、キャラクタ画像に関連するキャラクタ音声、ゲーム音楽(BGM)などのゲームに必要な音が出力される。
【0032】
なお、据置型ゲーム装置11には、メモリカードのような外部データ記憶媒体15が接続されてもよい。キャラクタ生成処理の途中経過(途中データ)を外部データ記憶媒体15に記憶させれば、キャラクタ生成処理の一時的な中断が可能となる。また、キャラクタ生成処理の結果(結果データ)を外部データ記憶媒体15に記憶されることもできる。
【0033】
画像処理システム10は、撮像装置として機能する携帯型ゲーム装置20を含む。携帯型ゲーム装置20は、携帯型ゲーム装置本体21と撮像カートリッジ22とを含む。携帯型ゲーム装置本体21は、操作スイッチ21aを有する。被写体を撮影するとき、操作者は、操作スイッチ21aをシャッタボタンとして使用する。携帯型ゲーム装置20はまた、LCDモニタ21bを備える。LCDモニタ21bは、携帯型ゲーム装置本体21で処理されたプログラムの結果を画像として表示する。
【0034】
撮像カートリッジ22には、撮像ユニット22aが設けられる。撮像カートリッジ22のROM22b(図2参照)には、携帯型ゲーム装置本体21を撮像装置として機能させるためのプログラムおよびデータが記憶されている。撮像ユニット22aによって撮影された画像データは、撮像カートリッジ22のバックアップRAM(またはフラッシュメモリ)22c(図2参照)に記憶される。携帯型ゲーム装置20は、接続ケーブル16を介して据置型ゲーム装置11に接続される。バックアップRAM22cに記憶された画像データは、据え置き型ゲーム装置11で使用することができる。
【0035】
図2は、画像処理システム10の電気的な構成を示すブロック図である。据置型ゲーム装置11は、その全体制御を司るCPU11aを内蔵している。このCPU11aには、RAM11bが接続される。RAM11bには、CPU11aによって処理されるプログラムやデータが一時的に記憶される。
【0036】
CPU11aにはまた、画像処理ユニット11cおよび音声処理ユニット11gがさらに接続されている。画像処理ユニット11cは、CPU11aからの指示に基づいて、RAM11bに記憶された画像データを処理する。画像処理ユニット11cによって生成された画像データは、ビデオエンコーダ11dを介してCRT14から出力される。音声処理ユニット11gは、CPU11aからの指示に基づいて、RAM11bに記憶された音声データを処理する。音声処理ユニット11cによって生成された音声データは、CRT14に設けられるスピーカ14aから出力される。
【0037】
CPU11aにはさらに、インタフェース11eが接続される。インタフェース11eは、RAM11bにも接続される。コントローラ12は、インタフェース11eを介してCPU11aに接続される。インタフェース11eにはまた、ディスクドライブユニット11fが接続される。外部記憶媒体13のデータは、CPU11aの指示に基づいて、ディスクドライブユニット11fによって読み取られる。読み取られたデータは、RAM11bに転送される。プログラム処理によって得られたデータを保存するとき、このデータは、RAM11bから読み出され、インタフェース11eを介して外部データ記憶媒体(たとえばメモリカード)15に転送される。
【0038】
携帯型ゲーム装置本体21は、CPU21cを内蔵する。CPU21cは、RAM21dと接続される。RAM21dには、CPU21cのプログラム処理によって得られたデータが一時的に記憶される。画像処理ユニット21eは、CPU21cおよびRAM21dと接続される。画像処理ユニット21eは、CPU21cの指示に基づいて、RAM21dに一時記憶された画像データを処理し、処理された画像データをVRAM21fに格納する。VRAM21fに格納された画像データは、LCDドライバ21gを介してLCDモニタ21bから出力される。
【0039】
撮像カートリッジ22は、コネクタを介して携帯型ゲーム装置本体21に着脱可能とされる。また、撮像カートリッジ22は、上述の撮像ユニット22a,ROM22bおよびバックアップRAM22c、並びに、携帯型ゲーム装置本体21と接続するためのインタフェース22dを備える。
【0040】
携帯型ゲーム装置本体21のCPU21cは、インタフェース21hを介して、撮像カートリッジ22にアクセスする。すなわち、CPU21cは、ROM22bに記憶されたプログラムおよびデータに基づいて、撮像ユニット22aを駆動し、かつ所定の処理によって撮像データを生成する。なお、生成された撮像データをバックアップメモリ22cに保存するようにすれば、この画像データを他の携帯型ゲーム装置で使用することができる。
【0041】
たとえば、操作者が操作スイッチ21aを操作すると、撮像ユニット22aによって撮影された被写体の画像データ(たとえば、顔画像データ)に所定の処理が施され、処理後の画像データがバックアップRAM22cに格納される。この画像データは、キャラクタ画像の顔部分に貼り付けるためのテクスチャデータとして用いることができる。また、操作者が操作スイッチ21aを操作することのより、被写体の特徴、この実施例では、“性別”,“体型”,“性格”および“年齢”が決定され、これに対応するデータ(被写体特徴データ)が画像データに関連づけてRAM22cに格納される。こうして得られた画像データ(顔画像データ)および被写体特徴データは、操作者が操作スイッチ21aを操作することにより、接続ケーブル16を介して据置型ゲーム装置11に送信することができる。
【0042】
図3は据置型ゲーム装置11に設けられたRAM11bのメモリマップ30である。この図3を参照して分かるように、RAM11bは、プログラム記憶領域32およびデータ記憶領域34に区分される。プログラム記憶領域32は、3次元画像生成プログラム(32a〜32g)および3次元画像表示プログラム(32h)を記憶する。3次元画像生成プログラムは、オブジェクト生成プログラム32a、アニメーション選択プログラム32b、カメラ処理プログラム32c、カメラ制御プログラム32d、画面切替制御プログラム32e、2次元画像生成プログラム32fおよび画面切替データ更新プログラム32gによって構成される。
【0043】
オブジェクト生成プログラム32aは、オブジェクト画像データ(図4参照)を用いて、仮想3次元空間内に存在するオブジェクトを生成するためのプログラムである。アニメーション選択プログラム32bは、予め用意されているアニメーションデータ(図4参照)を選択するためのプログラムである。カメラ処理プログラム32cは、アニメーションデータに含まれる画面切替タイミングで、当該画面切替タイミングに対応して記憶されたカメラパターンの識別情報を読み出し、読み出した識別情報が示すカメラパターンに設定される注視点情報およびカメラ制御情報が示す注視点およびカメラ動作プログラムに従って仮想カメラ(図示せず)を制御(視点制御)するように、カメラ制御プログラム32dを設定する。
【0044】
ここで、注視点情報は、仮想カメラが撮影すべき被写体すなわち3次元仮想空間に存在するオブジェクトの注視点を示す指定データが記憶された記憶領域を示すポインタであり、カメラ制御情報は、カメラ動作プログラムを示す指定データが記憶された記憶領域を示すポインタである。なお、注視点およびカメラ動作プログラムについては、後で詳細に説明する。
【0045】
カメラ制御プログラム32dは、カメラ処理プログラム32cで設定された注視点およびカメラ制御に従ってカメラ動作(仮想カメラの動作)を制御するためのプログラムである。この実施例では、カメラ制御プログラム32dは、第1カメラ動作プログラム322,第2カメラ動作プログラム324,…によって構成される。ここで、カメラ動作プログラムは、仮想カメラの動作を制御するためのプログラムであり、仮想カメラの向き、ズーム(ズームイン/ズームアウト)および回転(左回転、右回転)の少なくとも1つを制御するためのプログラムである。したがって、カメラ制御プログラム32dは、カメラ処理プログラム32cで設定されたカメラ動作プログラムに従う動作で、同じくカメラ処理プログラム32cで設定された注視点に仮想カメラが向くように、仮想カメラの視点制御を行うのである。
【0046】
画面切替制御プログラム32eは、アニメーション選択プログラム32bによって選択されたアニメーションデータに含まれる画面切替タイミング(切替制御位置)で、画面切替データ(図4参照)に従って画像を切り替えるためのプログラムである。2次元画像生成プログラム32fは、3次元仮想空間を視点から見た3次元画像を2次元画像に変換(投影変換)するためのプログラムである。つまり、3次元仮想空間を仮想カメラで撮影した画像を生成するためのプログラムである。
【0047】
画面切替データ更新プログラム32gは、アニメーションデータに従うアニメーションの表示が終了し、当該アニメーションの表示を繰り返すときに、画面切替データ記憶領域48の内容、すなわち当該画面切替データ記憶領域48に含まれる注視点指示データ記憶領域48a(図4参照)およびカメラ制御指示データ記憶領域48b(図4参照)の内容を、ランダムに更新するためのプログラムである。具体的には、注視点指示データ記憶領域48a内にグループ毎に記憶された注視点データの識別情報を、各グループ内でランダムに並べ替えるとともに、カメラ制御指示データ記憶領域48b内にグループ毎に記憶されたカメラ動作プログラムの識別情報を、各グループ内でランダムに並べ替える。画像表示プログラム32hは、2次元画像生成プログラム32fに従って生成された2次元画像をCRT14に表示するためのプログラムである。
【0048】
図4は図3に示したデータ記憶領域34の具体的な内容を示す図解図である。この図4を参照して、データ記憶領域34は、注視点データ記憶領域40、オブジェクト画像データ記憶領域42、アニメーションシーケンスデータ記憶領域44、カメラパターンデータ記憶領域46、画面切替データ記憶領域48およびその他のデータ記憶領域50によって構成される。
【0049】
注視点データ記憶領域40は、第1注視点データ40a、第2注視点データ40b、…を記憶する。これらの注視点データは、たとえば、3次元仮想空間に存在する人物キャラクタやアニメキャラクタ等のキャラクタ(オブジェクト)であり、所望のオブジェクトに対して所望の位置に設定される注視点についての座標(3次元座標)のデータ(以下、「座標データ」という。)である。
【0050】
たとえば、注視点はキャラクタ(オブジェクト)の頭部に設定することができるが、これに限定される必要はなく、オブジェクト毎に異なる位置に設定することも可能である。また、注視点は、所望のオブジェクトに1つだけ設定されるものではなく、たとえば一人の人物(オブジェクト)について、頭部、胴部および左腕、右腕などに別々の注視点データを設定してもよい。
【0051】
オブジェクト画像データ記憶領域42には、第1オブジェクトデータ42a、第2オブジェクトデータ42b、…が記憶される。各オブジェクトデータは、当該オブジェクトの画像を生成するためのポリゴンデータおよびテクスチャデータを含む。たとえば、第1オブジェクトデータ42aは、ポリゴンデータ420およびテクスチャデータ422によって構成される。また、第2オブジェクトデータ42bは、ポリゴンデータ424およびテクスチャデータ426によって構成される。ただし、各ポリゴンデータは複数のポリゴンについてのデータであり、また、各テクスチャデータは複数のテクスチャについてのデータである。
【0052】
アニメーションシーケンスデータ記憶領域44には、第1アニメーションデータ44a、第2アニメーションデータ44b、…が記憶される。アニメーションデータは、3次元空間に存在するオブジェクトのそれぞれに、3次元画像生成プログラムの開発者や創作者の意図した動作をさせるためのデータである。たとえば、ライブ会場を想定した3次元仮想空間において、1または複数のオブジェクトに楽器を演奏させたり、歌を歌わせたりするような動作をさせることができる。また、公園を想定した3次元仮想空間において、1または複数のオブジェクトに遊具(ブランコ、鉄棒、すべり台など)で遊ばせたり、複数のオブジェクが集まって鬼ごっこをしたりするような動作をさせることもできる。つまり、アニメーションデータは、1または複数のオブジェクトについてのアニメーションを実行するためのデータである。また、アニメーションデータには、画面を生成する(切り替える)ためのタイミングを指定する画面切替タイミングが記憶されており、この画面切替タイミングとしては、上述したように、カメラパターンデータ(パターンデータ)の識別情報(ラベル)が記憶される。
【0053】
カメラパターンデータ記憶領域46は、パターンαデータ46a、パターンβデータ46b、…などを記憶する。パターンデータは、画面切替データ記憶領域48に含まれる注視点データおよびカメラ制御プログラムを指定するためのポインタであり、固定的に決定されている。このパターンデータの識別情報(ラベル)が、上述したアニメーションデータの画面切替タイミングに対応して記憶(記録)されている。したがって、画面切替タイミングで、当該画面切替タイミングに対応するパターンデータが示す注視点データおよびカメラ制御プログラムが読み出され、これに従って仮想カメラが制御される。詳しく説明すると、パターンデータに含まれるポインタが示すアドレスに記憶された注視点データの識別情報およびカメラ動作プログラムの識別情報が後述する画面切替データ記憶領域48から読み出され、各識別情報が示す注視点データおよびカメラ動作プログラムが設定される。仮想カメラは、設定されたカメラ動作プログラムに従ってその動作を制御されるとともに、設定された注視点データが示す注視点を向くように制御される。このようにして、仮想カメラの動作が制御(視点制御)されるのである。
【0054】
画面切替データ記憶領域48は、画面生成または画面切替のためのデータ(画面切替データ)を記憶する領域であり、さらに、注視点指示データ記憶領域48aおよびカメラ制御指示データ記憶領域48bが設けられる。注視点データ記憶領域48aは注視点データを指定(指示)するための識別情報を記憶し、カメラ制御プログラム記憶領域48bはカメラ動作プログラムを指定(指示)するための識別情報を記憶する。この実施例では、注視点データの識別情報およびカメラ動作プログラムの識別情報は、それぞれ、複数用意されており、画像生成プログラムの開発者ないし創作者の意図する集まりでグループ分けされている。
【0055】
なお、図4においては、説明の都合上、識別情報として、オブジェクト名およびカメラ動作プログラムの名称を記載してある。
【0056】
たとえば、注視点指示データ記憶領域48aでは、グループAとして、ポインタPA−1が示すアドレスに第1オブジェクト(たとえば、第1注視点データ)の識別情報が記憶され、ポインタPA−2が示すアドレスに第4オブジェクト(たとえば、第4注視点データであり、図4では省略してある。)の識別情報などが記憶される。また、同じく注視点指示データ記憶領域48aでは、グループBとして、ポインタPB−1が示すアドレスに第nオブジェクト(たとえば、第n注視点データであり、図4では省略してある。)の識別情報が記憶され、ポインタPB−2が示すアドレスに第2オブジェクト(たとえば、第2注視点データ)の識別情報が記憶される。
【0057】
なお、図4で各グループ内に複数の指示データを記載しているが、グループ内の指示データは1つでもよく(この場合は、毎回同じ指示データが選択される)、一方、指示データが増えれば増えるほど、並べ替えられる指示データの要素が増加するので、より多くのランダムなアニメーションを表示することができるようになる。
【0058】
また、カメラ制御指示データ記憶領域48bでは、グループAとして、ポインタCA−1が示すアドレスに第1カメラ動作プログラムの識別情報が記憶され、ポインタCA−2が示すアドレスに第2カメラ動作プログラムの識別情報が記憶される。また、同じくカメラ制御指示データ記憶領域48bでは、グループBとして、ポインタCB−1が示すアドレスに第nカメラ動作プログラム(図3では省略した。)の識別情報が記憶され、ポインタCB−2が示すアドレスに第5カメラ動作プログラム(図3では省略した。)の識別情報などが記憶される。
【0059】
なお、カメラ動作プログラムの識別情報も、注視点データの識別情報と同様に、各グループ内に少なくとも2つ以上記憶される。
【0060】
その他のデータ記憶領域50は、画像生成プログラムおよび画像表示プログラムの実行により発生するデータやフラグを一時記憶する等に用いられる領域である。
【0061】
図5はCRT14に表示される画面(アニメーション画像)の一例を示す図解図である。この図5では、CRT14の画面中央に存在する人物A(たとえば、第1オブジェクト)の顔が、その左右に存在する人物B(たとえば、第2オブジェクト)および人物C(たとえば、第3オブジェクト)の顔よりも大きく表示されている。このような画面を表示する場合には、たとえば、注視点は人物Aすなわち第1オブジェクトである。また、このような場合には、図6に示すように、仮想3次元空間内に第1オブジェクト〜第3オブジェクトが配置されている。この図6に示すような状態では、第1オブジェクトは、第2オブジェクトおよび第3オブジェクトよりも仮想カメラに近い位置に配置されている。また、仮想カメラが、点線で示す位置から実線で示す位置に、所定の角度だけ左回転したとする。したがって、この場合には、画面切替タイミングにおいては、カメラパターンデータに従って、第1オブジェクトの注視点データが選択され、仮想カメラを左回転させるカメラ動作プログラムが選択されたことが分かる。
【0062】
なお、図5においては、動画像を表示することができないため、図6に示したように、仮想カメラが動作した後の画面を示してある。
【0063】
図7は図4に示した画面切替データ記憶領域48(画面切替データ)の具体例を示す図解図であり、図8は図7に示す画面切替データに基づいて、或るアニメーションデータに従う時系列(画像生成のシーケンス)に対するCRT14の画面表示の変化(切替)を説明するための図解図である。
【0064】
図8に示すように、切替制御位置αには、カメラパターンα(パターンα)のラベルが記憶される。このカメラパターンαには、図4に示したように、注視点情報としてポインタPA−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。したがって、ここでは、ポインタPA−1が示すアドレスに記憶されたオブジェクト(注視点データ)の識別情報が取得され、ポインタCA−1が示すアドレスに記憶されたカメラ動作プログラムの識別情報が取得される。
【0065】
図7に示す例では、分かり易く示すために、注視点データの識別情報としては、人物オブジェクトの名称が記憶されているものとし、また、カメラ動作プログラムの識別情報としては、カメラ動作の名称が記憶されているものとしてある。したがって、カメラパターンαに従うと、図7に示すように、注視点データの識別情報として「ケイコ」が取得され、カメラ制御プログラムの識別情報として「ズームイン」が取得される。この取得された内容(注視点およびカメラ動作プログラム)に従って仮想カメラが視点制御され、図8の右上段に示すように、「ケイコ」の顔が次第に拡大された(ズームインされた)画面がCRT14に表示される。
【0066】
なお、図8においては、動画を表示することができないため、カメラ動作が制御された後の画面を示してある。以下、同様である。
【0067】
次に、図8に示す切替制御位置βには、カメラパターンβのラベルが記憶される。このカメラパターンβには、図4に示したように、注視点情報としてポインタPB−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。したがって、ここでは、ポインタPB−1が示すアドレスに記憶されたオブジェクト(注視点データ)の識別情報が取得され、ポインタCA−1が示すアドレスに記憶されたカメラ動作プログラムの識別情報が取得される。したがって、カメラパターンβに従うと、図7に示すように、注視点データの識別情報として「タカシ」が取得され、カメラ動作プログラムの識別情報として「ズームイン」が取得される。この取得された内容(注視点およびカメラ動作プログラム)に従って仮想カメラが視点制御され、図8の右中段に示すように、「タカシ」の顔が次第に拡大された(ズームされた)画面がCRT14に表示される。
【0068】
なお、このようにカメラパターンαとカメラパターンβにおいて、同じポインタCA−1を指定することができるので、意図的に切替制御位置において同じカメラ動作をさせたちという制作者の意図も反映させることができる。
【0069】
さらに、図8に示す切替制御位置γでは、カメラパターンγのラベルが記憶される。このカメラパターンγには、図4では省略したが、注視点情報としてポインタPA−2が設定され、カメラ動作情報としてポインタCC−1が設定されている。したがって、ここでは、ポインタPA−2が示すアドレスに対応して記憶されたオブジェクト(注視点データ)の識別情報が取得され、ポインタCC−1が示すアドレスに記憶されたカメラ動作プログラムの識別情報が取得される。したがって、カメラパターンγに従うと、図7に示すように、注視点データの識別情報として「ノリコ」が取得され、カメラ動作プログラムの識別情報として「右回転」が取得される。この取得された内容(注視点およびカメラ動作プログラム)に従って仮想カメラが視点制御され、図8の右下段に示すように、「ノリコ」の顔を撮影しつつ、仮想カメラを右回転させた状態の画面がCRT14に表示される。
【0070】
このようにして、アニメーションデータに従って画面表示が変化されるのであるが、カメラパターンは固定であるため、何ら手当てを施さない場合には、同じアニメーションデータに従って画面表示を繰り返すと、同じ映像が何度も表示されることになる。たとえば、このような画面表示をゲームに適用した場合には、同じ場面では同じ画像が表示されることとなり、ユーザないしプレイヤは映像に飽きてしまい、さらには、ゲーム自体への興味が減退してしまう恐れがある。
【0071】
これを回避するため、この実施例では、同じアニメーションデータに従う画面表示のシーケンスが繰り返されるとき、次のシーケンスが開始される直前に、画面切替データ記憶領域48の内容を更新するようにしてある。ただし、画面生成プログラムの開発者や創作者の意図を反映した画面表示をするために、注視点データの識別情報やカメラ動作プログラムの識別情報はグループ化されており、各グループ内でランダムに識別情報を並べ替えるようにしてある。この点で、注視点データの識別情報のグループは或る時点において表示したい所望の被写体の集まりと言え、また、カメラ動作プログラムの識別情報のグループは所望の演出に必要なカメラ動作の集まりであると言える。
【0072】
以下、具体的に説明することにする。図9(A)は或るアニメーションデータに従う1回目の再生(画面表示)に用いられる画面切替データ(画面切替データ記憶領域48)の例を示し、図9(B)は当該アニメーションデータに従う2回目の再生に用いられる画面切替データの例を示す。上述したように、図9(B)の画面切替データは、或るアニメーションデータに従う1回目の再生が終了した後、当該アニメーションデータに従う2回目の再生を開始するに先立って、図9(A)に示す画面切替データの内容(画面切替データ記憶領域48)を更新したものである。
【0073】
なお、図示は省略するが、3回目以降の再生においても、再生を繰り返す直前に、画面切替データの内容を更新する点は同様である。
【0074】
図9(A)および図9(B)を参照して、注視点指示データ記憶領域48aおよびカメラ制御指示データ記憶領域48bの内容を1回目の再生と2回目の再生とで対比すると、各グループ内の識別情報が並べ替えられているのが分かる。これは、識別情報を、ランダムに並べ替えるようにしてあるためである。つまり、この実施例では、「ランダムに並べ替える」とは、前回(並べ替える前)とは必ず異なる注視点やカメラ動作プログラムが選択されるように、識別情報を並べ替えることを意味する。
【0075】
図9(A)に示すような画面切替データ(画面切替データ記憶領域48)を用いて画面表示(再生)を行うと、図10(A)に示すように、画面切替制御タイミングに対応するカメラパターンに従って画面表示が変化される。ただし、図9(A)に示す画面切替データは図7に示す画面切替データと同じであるため、図7および図8に示した場合と同じアニメーションデータに従って画面表示される場合には、図10(A)に示すように、図8に示した場合と同様に、画面表示が行われる。この場合の画面表示についての詳細な内容は、図7および図8を用いて既に説明したため、重複した説明は省略する。
【0076】
図9(B)に示すような画面切替データを用いて再生を行うと、図10(B)に示すように、画面表示が変化される。ただし、図10(B)は2回目の再生であり、図10(A)に示す1回目の再生が終了した後に、同じアニメーションデータに従って実行される。つまり、同じアニメーションデータに従うため、切替制御位置α,β,γに対応して記憶されるカメラパターンのラベルは同じである。しかし、上述したように、画面切替データの内容が更新されているため、異なる画面(映像)が表示される。
【0077】
具体的には、2回目の再生では、切替制御位置αにはカメラパターンαのラベルが記憶されており、上述したように、当該カメラパターンαには、注視点情報としてポインタPA−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。このカメラパターンαに従うと、図9(B)に示すように、ポインタPA−1が示すアドレスに記憶された「ノリコ」が取得され、ポインタCA−1が示すアドレスに記憶された「ズームアウト」が取得される。したがって、図10(B)の上段に示すように、「ノリコ」の顔が次第に小さくなるように、仮想カメラがズームアウトされる。
【0078】
また、切替制御位置βにはカメラパターンβのラベルが記憶されており、上述したように、当該カメラパターンβには、注視点情報としてポインタPB−1が設定され、カメラ動作情報としてポインタCA−1が設定されている。このカメラパターンβに従うと、図9(B)に示すように、ポインタPB−1が示すアドレスに記憶された「アキラ」が取得され、ポインタCA−1が示すアドレスに記憶された「ズームアウト」が取得される。したがって、図10(B)の中段に示すように、「アキラ」の顔(全身)が次第に小さくなるように、仮想カメラがズームアウトされる。
【0079】
さらに、切替制御位置γにはカメラパターンγのラベルが記憶されており、上述したように、当該カメラパターンγには、注視点情報としてポインタPA−2が設定され、カメラ制御情報としてポインタCC−1が設定されている。このカメラパターンγに従うと、図9(B)に示すように、ポインタPA−2が示すアドレスに記憶された「ケイコ」が取得され、ポインタCC−1が示すアドレスに記憶された「左回転」が取得される。したがって、図10(B)の下段に示すように、「ケイコ」の顔を左から正面を撮影するように、仮想カメラが左回転される。
【0080】
なお、図10(A)および図10(B)においても、動画像を表現することはできないため、カメラ制御の後の画面を示してある。
【0081】
このように、同じアニメーションデータに従って繰り返し画面(映像)を表示する場合であっても、回が異なる毎に、画面切替データ(画面切替データ記憶領域48)を更新するので、同じタイミングで同じ画面が表示されるのを回避することができる。ただし、上述したように、画面切替データの内容を、ランダムに並べ替えるようにしてあるため、或る画面切替のタイミングにおいては、前回と今回とで同じ画面が表示されることもあるが、映像全体としては異なるため、繰り返し再生されても、ユーザが飽きてしまうことはない。
【0082】
具体的には、図2に示したCPU11aが図11に示すフロー図に従って画面生成・表示処理を実行する。図11を参照して、CPU11aは処理を開始すると、ステップS1で、初期設定を実行する。たとえば、メニュー画面を表示して、アニメーションデータを決定するためのシチュエーション(たとえば、ライブハウス,公園)を、ユーザに選択させたり、当該シチュエーションに登場する人物(オブジェクト)を選択させたりする。また、シチュエーションや登場人物の選択が終了した後に、アニメーション表示(画面表示)を開始するか否かを選択するためのスタートメニューを表示する。
【0083】
次のステップS3では、アニメーション表示するかどうかを判断する。つまり、スタートメニューでアニメーション表示の開始が選択されたかどうかを判断する。アニメーション表示の開始が選択されていなければ、ステップS3で“NO”となり、そのままステップS1に戻る。しかし、アニメーション表示の開始が選択されれば、ステップS5でアニメーションを選択する。つまり、初期設定において選択されたシチュエーションに対応するアニメーションデータをRAM11bのデータ記憶領域34に設けられるアニメーションシーケンスデータ記憶領域44から選択する。
【0084】
続いて、ステップS7で、後述するアニメーション処理(図12および図13参照)を実行し、ステップS9で、画面生成・表示処理を終了するかどうかを判断する。つまり、このステップS9では、ユーザによってアニメーション表示の終了が指示されたかどうかを判断するのである。ステップS9で“NO”であれば、つまりアニメーション表示の終了でなければ、そのままステップS1に戻る。一方、ステップS9で“YES”であれば、つまりアニメーション表示の終了であれば、画像生成・表示処理を終了する。
【0085】
なお、図示は省略するが、アニメーション表示が開始されると、仮想カメラで撮影される映像がCRT14に表示される。
【0086】
図12および図13は、図11に示したステップS7のアニメーション処理を示すフロー図である。図12に示すように、CPU11aはアニメーション処理を開始すると、ステップS21で、アニメーションの初期設定を行う。ここでは、たとえば、ユーザによって選択された登場人物の初期の配置位置を設定する。つまり、登場人物の初期の配置位置に対応する位置座標をデータ記憶領域34の注視点データ記憶領域40に記憶する。その後、各登場人物すなわち各オブジェクトの位置座標はアニメーションデータに従って更新される。
【0087】
次のステップS23では、図11に示したステップS5で選択されたアニメーションデータを読み出す。そして、ステップS25で、切替制御位置αに対応して記憶されたラベルが示すカメラパターンαを読み出す。この実施例では、上述したように、カメラパターンαには、注視点情報としてポインタPA−1が設定され、カメラ制御情報としてポインタCA−1が設定されている(図4参照)。つまり、ステップS25では、これらのポインタを読み出すのである。以下、同様である。
【0088】
次のステップS27では、カメラパターンαが指定する注視点情報(ポインタPA−1)から実際の注視点を特定する。つまり、ポインタPA−1が示すアドレスに記憶されたオブジェクト(注視点データ)の識別情報に基づいて、注視点データ記憶領域40から当該注視点データすなわち座標データを取得する。次に、ステップS29で、カメラパターンαが指定するカメラ動作情報(ポインタCA−1)に対応するカメラ制御プログラムに従って、カメラパターンαが指定する実際の注視点に対して視点制御を行う。したがって、上述したように、1回目の再生では、「ケイコ」が次第に拡大するように、画面表示される。
【0089】
続いて、ステップS31で、アニメーションデータを読み出し、ステップS33で、カメラパターンβを読み出す。上述したように、カメラパターンβには、注視点情報としてポインタPB−1が設定され、カメラ動作情報としてポインタCA−1が設定されており、これらのポインタが読み出される。
【0090】
次のステップS35では、カメラパターンβが指定する注視点情報(PB−1)から実際の注視点を特定する。注視点の特定は、上述のステップS27と同じであるため、重複した説明は省略する。続いて、ステップS37では、カメラパターンβが指定するカメラ動作制御情報(CA−1)に対応する実際のカメラ制御プログラムに従って、カメラパターンβが指定する実際の注視点に対して視点制御を行う。したがって、上述したように、1回目の再生では、「タカシ」の顔が次第に大きくなるように画面表示される。
【0091】
図13に示すように、ステップS37に続いて、アニメーションデータを読み出し、アニメーションデータに記憶されたカメラパターンに従って視点制御を行う処理が、記憶されたカメラパターン(画面切替位置)の数(厳密には、カメラパターンの総数−3)と同じ回数だけ、上述と同様に行われる。そして、ステップS39で、アニメーションデータを読み出し、ステップS41で最終のカメラパターンを読み出す。次にステップS43で、最終のカメラパターンが指定する注視点情報から実際の注視点を特定し、ステップS45で、最終のカメラパターンが指定するカメラ動作情報に対応する実際のカメラ制御プログラムに従って、最終のカメラパターンが指定する実際の注視点に対して視点制御を行う。
【0092】
そして、ステップS47で、アニメーションを繰り返すかどうかを判断する。つまり、当該アニメーションデータに従う画面表示を続けて行うかどうかを判断する。ここで、“NO”であれば、つまりアニメーションを繰り返さない場合には、そのままアニメーション処理をリターンする。一方、“YES”であれば、つまりアニメーションを繰り返す場合には、ステップS49で、注視点情報およびカメラ動作情報の識別情報をグループ毎にランダムに並べ替えて、図12に示したステップS21に戻る。
【0093】
なお、図示は省略したが、アニメーションデータに従って、3次元仮想空間に存在するオブジェクトの動作は制御される。また、仮想カメラで捉えた映像(画像)は、視点変換された後、2次元画像として、CRT14に表示される。したがって、視点制御により得られる画像をCRT14に表示することができるのである。
【0094】
この実施例によれば、アニメーションを繰り返す場合には、注視点情報とカメラ制御情報との画面切替データの内容を更新するので、全く同じアニメーションが表示されてしまうのを防止することができる。言い換えると、ユーザを飽きさせない画面表示が可能である。
【0095】
また、この実施例によれば、画像生成プログラムの開発者や創作者の意図でグループ化した注視点データの識別情報とカメラ動作プログラムの識別情報とを各グループ内で並べ替えるだけなので、当該開発者等の意図を反映しながら、変化に富んだ映像を生成することが可能である。
【0096】
さらに、この実施例によれば、オブジェクトの配置位置に基づいて注視点が設定されるので、アニメーションの創作者の意図を反映し易くすることができる。
【0097】
なお、この実施例では、注視点データの識別情報とカメラ動作プログラムの識別情報とをグループ分けして、アニメーションデータに従う画面表示を繰り返すときに、両方の識別情報を各グループ内でランダムに並べ替えるようにしたが、いずれか一方の識別情報を並べ替えるようにしても、回が異なる毎に、異なる映像を表示することができる。
【0098】
また、この実施例では、毎回異なる注視点およびカメラ動作プログラムが選択されるようにするため、その識別情報をランダムに並べ替えるようにしたが、すべての切替制御位置において、必ずしも異なる注視点およびカメラ制御プログラムが選択されることを創作者が意図しない場合には、それらの識別情報をシャッフルするようにしてもよい。つまり、一部(或るグループ内)の識別情報の並びがシャッフルする前とシャッフルした後とで同じであってもよい。
【0099】
さらに、この実施例では、画像生成装置および画像生成プログラムを据置型ゲーム装置に適用した場合について説明したが、携帯型ゲーム装置や画像生成機能を備える他の装置(機器)に適用することも可能である。
【図面の簡単な説明】
【0100】
【図1】図1はこの発明の画像生成装置を適用した据置型ゲーム装置を備える画像処理システムの構成を示す図解図である。
【図2】図2は図1に示す画像処理システムの電気的な構成を示すブロック図である。
【図3】図3は図1および図2に示す据置型ゲーム装置に設けられるRAMのメモリマップを示す図解図である。
【図4】図4は図3に示すメモリマップに含まれるデータ記憶領域の具体例を示した図解図である。
【図5】図5は図1および図2に示すCRTの表示画面の一例を示す図解図である。
【図6】図6は図5に示す表示画面が出力される場合の仮想3次元空間におけるオブジェクトの配置および仮想カメラの動作を説明するための図解図である。
【図7】図7は図4に示す画面切替データ記憶領域の具体例を示す図解図である。
【図8】図8は図7の画面切替データ記憶領域に記憶された注視点データの識別情報とカメラ動作プログラムの識別情報とに基づいて或るアニメーションデータに従う画面表示の変化を説明するための図解図である。
【図9】図9は1回目の再生と2回目の再生とにおける画面切替データ記憶領域の例を示す図解図である。
【図10】図10は図9に示した画面切替データ記憶領域に記憶された注視点データの識別情報とカメラ動作プログラムの識別情報とを用いた場合の画面表示の例を示す図解図である。
【図11】図11は図2に示す据置型ゲーム装置のCPUの画面生成・表示処理を示すフロー図である。
【図12】図12は図2に示す据置型ゲーム装置のCPUのアニメーション処理の一部を示すフロー図である。
【図13】図13は図12に示すフロー図に後続するアニメーション処理の他の一部を示すフロー図である。
【符号の説明】
【0101】
10 …画像処理システム
11 …据置型ゲーム装置
12 …コントローラ
13 …据置型ゲーム装置用外部記憶媒体
14 …CRT
20 …携帯型ゲーム装置
21a …操作スイッチ
21b …LCDモニタ
22a …撮像ユニット
【特許請求の範囲】
【請求項1】
仮想3次元画像を生成する3次元画像生成装置であって、
画像を表示する表示手段、
複数の注視点データを記憶した注視点データ記憶手段、
仮想3次元空間において、前記注視点データに基づき、当該仮想3次元空間内の視点から見たときの画像を撮影する仮想カメラを制御するための複数のカメラ制御プログラムを記憶したカメラ制御プログラム記憶手段、
前記カメラ制御プログラムに従って前記仮想カメラを制御するカメラ制御手段、
前記仮想3次元画像を生成するための3次元画像データを記憶した3次元画像データ記憶手段、
前記仮想3次元画像の生成タイミングを時系列で記憶した画像生成シーケンス記憶手段、
前記画像生成シーケンスに従って、いずれか1つの前記注視点データといずれか1つの前記カメラ制御プログラムとを、時系列で順番に複数組指定する指定データを記憶した指定データ記憶手段、
前記画像データ記憶手段に記憶された3次元画像データを用いて、前記画像生成シーケンス記憶手段に記憶された生成タイミングで、前記仮想3次元画像を生成する仮想3次元画像生成手段、
前記仮想3次元画像生成手段によって生成された仮想3次元画像を、前記指定データに従って視点制御された前記仮想カメラによって撮影し、撮影された画像を前記表示手段に表示する2次元画像表示制御手段、および
前記画像生成シーケンスを繰り返す毎に、前記指定データ記憶手段の内容をランダムに更新する指定データ更新手段を備える、仮想3次元画像生成装置。
【請求項2】
前記指定データ記憶手段は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶した注視点グループデータ記憶手段を含み、
前記指定データ更新手段は、前記注視点グループデータ記憶手段にグループ毎に記憶された注視点指示データを、各グループ内でランダムに並べ替える、請求項1記載の3次元画像生成装置。
【請求項3】
前記指定データ記憶手段は、複数のカメラ制御プログラムのそれぞれを示すカメラ制御指示データを、所望のグループ毎に記憶したカメラ制御グループデータ記憶手段を含み、
前記指定データ更新手段は、前記カメラ制御グループデータ記憶手段にグループ毎に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える、請求項1または2記載の3次元画像生成装置。
【請求項4】
前記画像データ記憶手段は、複数のポリゴンから成る1または複数のオブジェクトを生成するためのオブジェクトデータを記憶し、
前記注視点データは、前記オブジェクトの前記仮想3次元空間上の配置位置に基づいて設定される、請求項1ないし3のいずれかに記載の3次元画像生成装置。
【請求項5】
画像を表示する表示手段と、複数の注視点データを記憶した注視点データ記憶手段と、仮想カメラを制御するための複数のカメラ制御プログラムを記憶したカメラ制御プログラム記憶手段と、仮想3次元画像の生成タイミングを時系列で記憶した画像生成シーケンス記憶手段と、画像生成シーケンスに従っていずれか1つの前記注視点データといずれか1つの前記カメラ制御プログラムとを時系列で順番に複数組指定する指定データを記憶した指定データ記憶手段と、仮想3次元画像を生成するための3次元画像データを記憶した画像データ記憶手段とを備えた3次元画像生成装置の3次元画像生成プログラムであって、
前記3次元画像生成装置のプロセサに、
仮想3次元空間において、前記注視点データに基づき、前記カメラ制御プログラムに従って前記仮想カメラを制御するカメラ制御ステップ、
前記画像データ記憶手段に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段に記憶された生成タイミングで、仮想3次元画像を生成する仮想3次元画像生成ステップ、
前記仮想3次元画像生成ステップによって生成された仮想3次元画像を、前記指定データに従って視点制御された前記仮想カメラによって撮影し、撮影された画像を前記表示手段に表示する2次元画像表示制御ステップ、および
前記画像生成シーケンスを繰り返す毎に、前記指定データ記憶手段の内容をランダムに更新する指定データ更新ステップを実行させる、3次元画像生成プログラム。
【請求項6】
前記指定データ記憶手段は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶した注視点グループデータ記憶手段を含み、
前記指定データ更新ステップは、前記注視点グループデータ記憶手段にグループ毎に記憶された注視点指示データを、各グループ内でランダムに並べ替える、請求項5記載の3次元画像生成プログラム。
【請求項7】
前記指定データ記憶手段は、複数の仮想カメラ制御プログラムをそれぞれ示すカメラ制御指示データを、所望のグループ毎に記憶したカメラ制御グループデータ記憶手段をさらに含み、
前記指定データ更新ステップは、前記カメラ制御グループデータ記憶手段に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える、請求項5または6記載の3次元画像生成プログラム。
【請求項1】
仮想3次元画像を生成する3次元画像生成装置であって、
画像を表示する表示手段、
複数の注視点データを記憶した注視点データ記憶手段、
仮想3次元空間において、前記注視点データに基づき、当該仮想3次元空間内の視点から見たときの画像を撮影する仮想カメラを制御するための複数のカメラ制御プログラムを記憶したカメラ制御プログラム記憶手段、
前記カメラ制御プログラムに従って前記仮想カメラを制御するカメラ制御手段、
前記仮想3次元画像を生成するための3次元画像データを記憶した3次元画像データ記憶手段、
前記仮想3次元画像の生成タイミングを時系列で記憶した画像生成シーケンス記憶手段、
前記画像生成シーケンスに従って、いずれか1つの前記注視点データといずれか1つの前記カメラ制御プログラムとを、時系列で順番に複数組指定する指定データを記憶した指定データ記憶手段、
前記画像データ記憶手段に記憶された3次元画像データを用いて、前記画像生成シーケンス記憶手段に記憶された生成タイミングで、前記仮想3次元画像を生成する仮想3次元画像生成手段、
前記仮想3次元画像生成手段によって生成された仮想3次元画像を、前記指定データに従って視点制御された前記仮想カメラによって撮影し、撮影された画像を前記表示手段に表示する2次元画像表示制御手段、および
前記画像生成シーケンスを繰り返す毎に、前記指定データ記憶手段の内容をランダムに更新する指定データ更新手段を備える、仮想3次元画像生成装置。
【請求項2】
前記指定データ記憶手段は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶した注視点グループデータ記憶手段を含み、
前記指定データ更新手段は、前記注視点グループデータ記憶手段にグループ毎に記憶された注視点指示データを、各グループ内でランダムに並べ替える、請求項1記載の3次元画像生成装置。
【請求項3】
前記指定データ記憶手段は、複数のカメラ制御プログラムのそれぞれを示すカメラ制御指示データを、所望のグループ毎に記憶したカメラ制御グループデータ記憶手段を含み、
前記指定データ更新手段は、前記カメラ制御グループデータ記憶手段にグループ毎に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える、請求項1または2記載の3次元画像生成装置。
【請求項4】
前記画像データ記憶手段は、複数のポリゴンから成る1または複数のオブジェクトを生成するためのオブジェクトデータを記憶し、
前記注視点データは、前記オブジェクトの前記仮想3次元空間上の配置位置に基づいて設定される、請求項1ないし3のいずれかに記載の3次元画像生成装置。
【請求項5】
画像を表示する表示手段と、複数の注視点データを記憶した注視点データ記憶手段と、仮想カメラを制御するための複数のカメラ制御プログラムを記憶したカメラ制御プログラム記憶手段と、仮想3次元画像の生成タイミングを時系列で記憶した画像生成シーケンス記憶手段と、画像生成シーケンスに従っていずれか1つの前記注視点データといずれか1つの前記カメラ制御プログラムとを時系列で順番に複数組指定する指定データを記憶した指定データ記憶手段と、仮想3次元画像を生成するための3次元画像データを記憶した画像データ記憶手段とを備えた3次元画像生成装置の3次元画像生成プログラムであって、
前記3次元画像生成装置のプロセサに、
仮想3次元空間において、前記注視点データに基づき、前記カメラ制御プログラムに従って前記仮想カメラを制御するカメラ制御ステップ、
前記画像データ記憶手段に記憶された3次元画像データを用いて、画像生成シーケンス記憶手段に記憶された生成タイミングで、仮想3次元画像を生成する仮想3次元画像生成ステップ、
前記仮想3次元画像生成ステップによって生成された仮想3次元画像を、前記指定データに従って視点制御された前記仮想カメラによって撮影し、撮影された画像を前記表示手段に表示する2次元画像表示制御ステップ、および
前記画像生成シーケンスを繰り返す毎に、前記指定データ記憶手段の内容をランダムに更新する指定データ更新ステップを実行させる、3次元画像生成プログラム。
【請求項6】
前記指定データ記憶手段は、複数の注視点データをそれぞれ示す注視点指示データを、所望のグループ毎に記憶した注視点グループデータ記憶手段を含み、
前記指定データ更新ステップは、前記注視点グループデータ記憶手段にグループ毎に記憶された注視点指示データを、各グループ内でランダムに並べ替える、請求項5記載の3次元画像生成プログラム。
【請求項7】
前記指定データ記憶手段は、複数の仮想カメラ制御プログラムをそれぞれ示すカメラ制御指示データを、所望のグループ毎に記憶したカメラ制御グループデータ記憶手段をさらに含み、
前記指定データ更新ステップは、前記カメラ制御グループデータ記憶手段に記憶されたカメラ制御指示データを、各グループ内でランダムに並べ替える、請求項5または6記載の3次元画像生成プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−39922(P2006−39922A)
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願番号】特願2004−218625(P2004−218625)
【出願日】平成16年7月27日(2004.7.27)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願日】平成16年7月27日(2004.7.27)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]