(57)【要約】【課題】  エフェクト・イベントの発生をプレーヤに確実に認識させることができるプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】  エフェクトブオジェクトＥＦの発生するエフェクト・イベントが発生したと判定された場合に、エフェクト・イベントの発生位置ＥＰに基づいて設定されるエフェクト範囲ＥＲ内に仮想カメラＶＣが存在するか否かを判定し、エフェクト範囲ＥＲ内に仮想カメラＶＣが存在すると判定された場合に、少なくとも仮想カメラＶＣの視野外に配置設定されるエフェクトブオジェクトＥＦを、仮想カメラＶＣの視野内に移動して配置する。【選択図】      図３
2005319029.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定するイベント発生判定部と、
前記エフェクト・イベントが発生したと判定された場合に、該エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラ又はプレーヤが操作するプレーヤキャラクタが存在するか否かを判定する位置判定部と、
前記エフェクト範囲内に前記仮想カメラ又はプレーヤキャラクタが存在すると判定された場合に、少なくとも前記仮想カメラの視野外に配置設定されるエフェクトブオジェクト又は予め用意されたダミーエフェクトブジェクトを、前記仮想カメラの視野内に配置するエフェクト配置処理部と、
オブジェクト空間における前記仮想カメラから見た画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記エフェクト・イベントに基づいて複数の前記エフェクトオブジェクトが発生する場合に、
前記エフェクト配置処理部が、
少なくとも前記複数のエフェクトオブジェクトのカメラ座標系の奥行き方向における配置順列を変更せずに、各エフェクトオブジェクトを前記仮想カメラの視野内に移動して配置することを特徴とするプログラム。
【請求項３】
請求項２において、
カメラ座標系における前記仮想カメラの前方に設定される第１の境界面と、カメラ座標系における該仮想カメラの後方に設定される第２の境界面との間が所与の奥行き範囲として設定されており、
前記エフェクト配置処理部が、
前記第１の境界面とスクリーンとの間の第１の距離と、前記第１の境界面と第２の境界面との間の第２の距離との比に基づいて、前記複数のエフェクトオブジェクトが前記第１の境界面と前記スクリーンとの間に配置されるように各エフェクトオブジェクトのカメラ座標系の奥行き情報を演算し、求められた前記奥行き情報に基づいて前記所与の奥行き範囲内に配置設定される各エフェクトオブジェクトを前記仮想カメラの視野内に移動して配置することを特徴とするプログラム。
【請求項４】
請求項１において、
前記エフェクト・イベントに基づいて複数の前記エフェクトオブジェクトが発生する場合に、
前記エフェクト配置処理部が、
少なくとも前記複数のエフェクトオブジェクトのカメラ座標系の奥行き方向における配置順列に従って、各エフェクトオブジェクトに対応する複数のダミーエフェクトオブジェクトを前記仮想カメラの視野内に配置することを特徴とするプログラム。
【請求項５】
請求項４において、
カメラ座標系における前記仮想カメラの前方に設定される第１の境界面と、カメラ座標系における該仮想カメラの後方に設定される第２の境界面との間が所与の奥行き範囲として設定されており、
前記エフェクト配置処理部が、
前記第１の境界面とスクリーンとの間の第１の距離と、前記第１の境界面と第２の境界面との間の第２の距離との比に基づいて、前記複数のエフェクトオブジェクトが前記第１の境界面と前記スクリーンとの間に配置される場合の各エフェクトオブジェクトのカメラ座標系の奥行き情報を演算し、求められた前記奥行き情報に基づいて前記所与の奥行き範囲内に配置設定される各エフェクトオブジェクトに対応する複数のダミーエフェクトオブジェクトを前記仮想カメラの視野内に配置することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記エフェクト配置処理部により配置されたエフェクトオブジェクト又はダミーエフェクトオブジェクトのカメラ座標系における奥行き情報に基づいて、前記エフェクトオブジェクト又はダミーエフェクトオブジェクトの位置がスクリーン位置又は仮想カメラの位置に近くなるほど透明度が高くなるように半透明合成処理を行う半透明処理部としてコンピュータを機能させることを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
第１〜第Ｎ（Ｎは２以上の整数）の画像により分割して表示される場合に、
前記画像生成部が、
前記第１〜第Ｎの画像として、第１〜第Ｎの仮想カメラから見える画像を生成し、
前記位置判定部が、
前記エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に前記第１〜第Ｎの仮想カメラ又は第１〜第Ｎのプレーヤキャラクタが存在するか否かを判定し、
前記エフェクト配置処理部が、
前記第１〜第Ｎの仮想カメラのうち第Ｋ（１≦Ｋ≦Ｎ）の仮想カメラ又は第１〜第Ｎのプレーヤキャラクタのうち第Ｋのプレーヤキャラクタが前記エフェクト範囲内に存在すると判定された場合に限って、少なくとも該第Ｋの仮想カメラの視野外に配置設定されるエフェクトブオジェクト又は予め用意されたダミーエフェクトオブジェクトを、該第Ｋの仮想カメラの視野内に配置することを特徴とするプログラム。
【請求項８】
画像を生成するためのプログラムであって、
エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定するイベント発生判定部と、
前記エフェクト・イベントが発生したと判定された場合に、該エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラ又はプレーヤが操作するプレーヤキャラクタが存在するか否かを判定する位置判定部と、
前記エフェクト範囲内に前記仮想カメラ又はプレーヤキャラクタが存在すると判定された場合に、少なくとも前記仮想カメラの視野外に配置設定されるエフェクトブオジェクトが前記仮想カメラの視野内に存在するように、前記仮想カメラの位置を移動する仮想カメラ制御部と、
オブジェクト空間における前記仮想カメラから見た画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項９】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜８のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１０】
画像を生成する画像生成システムであって、
エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定するイベント発生判定部と、
前記発生エフェクト・イベントが発生したと判定された場合に、該エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラ又はプレーヤが操作するプレーヤキャラクタが存在するか否かを判定する位置判定部と、
前記エフェクト範囲内に前記仮想カメラが存在すると判定された場合に、少なくとも前記仮想カメラの視野外に配置設定されるエフェクトブオジェクト又は予め用意されたダミーエフェクトオブジェクトを、前記仮想カメラの視野内に配置するエフェクト配置処理部と、
オブジェクト空間における前記仮想カメラから見た画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項１１】
画像を生成する画像生成システムであって、
エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定するイベント発生判定部と、
前記発生エフェクト・イベントが発生したと判定された場合に、該エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラ又はプレーヤが操作するプレーヤキャラクタが存在するか否かを判定する位置判定部と、
前記エフェクト範囲内に前記仮想カメラが存在すると判定された場合に、少なくとも前記仮想カメラの視野外に配置設定されるエフェクトブオジェクトが、前記仮想カメラの視野内に存在するように、前記仮想カメラの位置を移動する仮想カメラ制御部と、
オブジェクト空間における前記仮想カメラから見た画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体および画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。プレーヤがキャラクタを操作してオブジェクト空間を移動させたり、キャラクタに何らかの行動を行わせるアクションゲームのゲームの画像を生成する画像生成システムを例にとれば、イベント発生時にゲーム演出として爆発、炎、煙などをエフェクトオブジェクトを用いて表現した３次元画像が生成される。このような３次元画像を生成するシステムでは、処理を簡便なものとするために、スプライトポリゴン（ビルボード表示のポリゴン）などエフェクトを２次元的に表現するオブジェクトが用いられる手法がある。
【０００３】
しかしながらこの手法では、例えばエフェクトオブジェクトを発生させるイベント（エフェクト・イベント）がプレーヤキャラクタの近くで発生したために、エフェクトオブジェクトが仮想カメラの後ろ側などに配置設定されると、実際には見えるべき映像エフェクトがプレーヤには認識できない状況が発生しうる。仮想カメラの前方にエフェクトオブジェクトが配置設定されたとしても、その位置が仮想カメラとスクリーンとの間の位置である場合にも同様な状況が発生しうる。特に、エフェクトオブジェクトによりプレーヤの操作するキャラクタにヒット・ダメージを与えるような効果が与えられている場合には、プレーヤには映像エフェクトを認識できないにもかかわらず、自己のキャラクタがダメージを負うといった不自然な状況が起こりうる。
【特許文献１】特開平１０−１７９９３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的は、エフェクト・イベントの発生をプレーヤに確実に認識させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、画像を生成する画像生成システムであって、エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定するイベント発生判定部と、前記エフェクト・イベントが発生したと判定された場合に、該エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラ又はプレーヤが操作するプレーヤキャラクタが存在するか否かを判定する位置判定部と、前記エフェクト範囲内に前記仮想カメラ又はプレーヤキャラクタが存在すると判定された場合に、少なくとも前記仮想カメラの視野外に配置設定されるエフェクトブオジェクト又は予め用意されたダミーエフェクトオブジェクトを、前記仮想カメラの視野内に配置するエフェクト配置処理部と、オブジェクト空間における前記仮想カメラから見た画像を生成する画像生成部とを含む画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明によれば、エフェクト・イベントが発生した場合に、仮想カメラ（所与の視点）の視野外に配置設定されるエフェクトオブジェクトを仮想カメラの視野内に配置変更する、あるいは予め用意されたダミーエフェクトオブジェクトを仮想カメラの視野内に配置することにより、仮想カメラあるいはプレーヤの操作するプレーヤキャラクタの近傍でエフェクト・イベントが発生したことをプレーヤに確実に伝達するようにエフェクトオブジェクトが表現された画像を生成することができる。
【０００７】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記エフェクト・イベントに基づいて複数の前記エフェクトオブジェクトが発生する場合に、前記エフェクト配置処理部が、少なくとも前記複数のエフェクトオブジェクトのカメラ座標系の奥行き方向における配置順列を変更せずに、各エフェクトオブジェクトを移動して配置するようにしてもよい。このようにすれば、エフェクトオブジェクトの配置変更により各オブジェクトの配置順列が乱れて生成画像が不自然になることを防止することができる。
【０００８】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、カメラ座標系における前記仮想カメラの前方に設定される第１の境界面と、カメラ座標系における該仮想カメラの後方に設定される第２の境界面との間が所与の奥行き範囲として設定されており、前記エフェクト配置処理部が、前記第１の境界面とスクリーンとの間の第１の距離と、前記第１の境界面と第２の境界面との間の第２の距離との比に基づいて、前記複数のエフェクトオブジェクトが前記第１の境界面と前記スクリーンとの間に配置されるように各エフェクトオブジェクトのカメラ座標系の奥行き情報を演算し、求められた前記奥行き情報に基づいて前記所与の奥行き範囲内に配置設定される各エフェクトオブジェクトを移動して配置するようにしてもよい。このようにすれば、第１の境界面と第２の境界面とによって区画された所与の領域内に配置されるエフェクトオブジェクトのみが配置変更されるため、生成画像が不自然になりにくく、処理負担が大きくなることも防止することができる。また各エフェクトオブジェクトの配置が変更される際には、所定の境界面との関係で決まる距離比に基づいて変更配置後のエフェクトオブジェクトの奥行き情報が求められるため、エフェクトオブジェクトの配置順列のみならず配置間隔比も変更されることはなく、より自然なエフェクト表現が実現できる。
【０００９】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記エフェクト・イベントに基づいて複数の前記エフェクトオブジェクトが発生する場合に、前記エフェクト配置処理部が、少なくとも前記複数のエフェクトオブジェクトのカメラ座標系の奥行き方向における配置順列に従って、各エフェクトオブジェクトに対応する複数のダミーエフェクトオブジェクトを前記仮想カメラの視野内に配置するようにしてもよい。このようにすれば、複数のエフェクトオブジェクトに対応する複数のダミーエフェクトオブジェクトが各エフェクトオブジェクトの配置順列に従って配置されるため、生成画像が不自然になることを防止することができる。
【００１０】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、カメラ座標系における前記仮想カメラの前方に設定される第１の境界面と、カメラ座標系における該仮想カメラの後方に設定される第２の境界面との間が所与の奥行き範囲として設定されており、前記エフェクト配置処理部が、前記第１の境界面とスクリーンとの間の第１の距離と、前記第１の境界面と第２の境界面との間の第２の距離との比に基づいて、前記複数のエフェクトオブジェクトが前記第１の境界面と前記スクリーンとの間に配置される場合の各エフェクトオブジェクトのカメラ座標系の奥行き情報を演算し、求められた前記奥行き情報に基づいて前記所与の奥行き範囲内に配置設定される各エフェクトオブジェクトに対応する複数のダミーエフェクトオブジェクトを前記仮想カメラの視野内に配置するようにしてもよい。このようにすれば、少なくとも第１の境界面と第２の境界面とによって区画された所与の領域内に配置されるエフェクトオブジェクトに対応するダミーエフェクトオブジェクトを発生させればよいため、処理負担が大きくなることを防止することができる。また仮想カメラの視野内に配置されるダミーエフェクトオブジェクトは、所定の境界面との関係で決まる距離比に基づいてその配置位置を決定する奥行き情報が求められるため、ダミーエフェクトオブジェクトの配置順列のみならず配置間隔比もエフェクトオブジェクトの配置順列および配置間隔比に対して変更されることはなく、より自然なエフェクト表現が実現できる。
【００１１】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記エフェクト配置処理部により配置されたエフェクトオブジェクト又はダミーエフェクトオブジェクトのカメラ座標系における奥行き情報に基づいて、前記エフェクトオブジェクト又はダミーエフェクトオブジェクトの位置がスクリーン位置又は仮想カメラの位置に近くなるほど透明度が高くなるように半透明合成処理を行う半透明処理部を含んでいてもよい。このようにすれば、プレーヤの操作するプレーヤキャラクタが見えにくくなることを防止することができる。また、プレーヤキャラクタと共に仮想カメラが移動している場合（仮想カメラがプレーヤキャラクタの移動・動作に追従するように制御される場合）にも、エフェクトが不自然に消滅するように表現されることを防止することができる。
【００１２】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、第１〜第Ｎ（Ｎは２以上の整数）の画像により分割して表示される場合に、前記画像生成部が、前記第１〜第Ｎの画像として、第１〜第Ｎの仮想カメラから見える画像を生成し、前記位置判定部が、前記エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に前記第１〜第Ｎの仮想カメラ又は第１〜第Ｎのプレーヤキャラクタが存在するか否かを判定し、前記エフェクト配置処理部が、前記第１〜第Ｎの仮想カメラのうち第Ｋ（１≦Ｋ≦Ｎ）の仮想カメラ又は第Ｋのプレーヤキャラクタが前記エフェクト範囲内に存在すると判定された場合に限って、少なくとも該第Ｋの仮想カメラの視野外に配置設定されるエフェクトブオジェクト又は予め用意されたダミーエフェクトオブジェクトを、該第Ｋの仮想カメラの視野内に配置するようにしてもよい。この場合、第１〜第Ｎの仮想カメラのうち第Ｌ（１≦Ｌ≦Ｎ）の仮想カメラ又は第Ｌのプレーヤキャラクタがエフェクト範囲内に存在しないと判定された場合には、第Ｌの仮想カメラから見える画像を生成するにあたってエフェクトオブジェクトを移動しないで配置する（配置設定された通りに配置する）とともに、ダミーエフェクトオブジェクトも第Ｌの仮想カメラの視野内に配置されない。
【００１３】
このようにすれば、エフェクトの影響を受けているプレーヤ用の画像にはエフェクトオブジェクトの配置変更あるいはダミーエフェクトオブジェクトの配置を行ってエフェクトに巻き込まれていることをプレーヤに確実に伝達することができ、これを他の仮想カメラ（視点）で見るプレーヤ用の画像には、イベント発生位置にそのままエフェクトオブジェクトを配置して自然な画像表現を実現することができる。
【００１４】
また本発明は、画像を生成する画像生成システムであって、エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定するイベント発生判定部と、前記エフェクト・イベントが発生したと判定された場合に、該エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラ又はプレーヤが操作するプレーヤキャラクタが存在するか否かを判定する位置判定部と、前記エフェクト範囲内に前記仮想カメラ又はプレーヤキャラクタが存在すると判定された場合に、少なくとも前記仮想カメラの視野外に配置設定されるエフェクトブオジェクトが、前記仮想カメラの視野内に存在するように、前記仮想カメラの位置を移動する仮想カメラ制御部と、オブジェクト空間における前記仮想カメラから見た画像を生成する画像生成部とを含む画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１５】
本発明によれば、エフェクト・イベントが発生した場合に、仮想カメラ（所与の視点）の視野外に配置設定されるエフェクトオブジェクトが仮想カメラの視野内に存在するように仮想カメラの位置を移動（変更）することにより、仮想カメラあるいはプレーヤの操作するプレーヤキャラクタの近傍でエフェクト・イベントが発生したことをプレーヤに確実に伝達するようにエフェクトオブジェクトが表現された画像を生成することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１７】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１８】
操作部１６０は、プレーヤがプレーヤオブジェクト（プレーヤが操作するプレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７１をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２４】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、イベント発生判定部１１６、位置判定部１１８、エフェクト配置処理部１２０、ヒット判定部１２２、画像生成部１３０、音生成部１４０を含む。なおこれらの一部を省略する構成としてもよい。
【００２５】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２６】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（プレーヤオブジェクト；プレーヤキャラクタを表現するオブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２７】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００２８】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２９】
また本実施の形態では、後述する位置判定部１１８においてエフェクト範囲内に仮想カメラ又はプレーヤキャラクタが存在すると判定された場合に、仮想カメラ制御部１１４が少なくとも仮想カメラの視野外に配置設定されるエフェクトブオジェクトが仮想カメラの視野内に存在するように、仮想カメラの位置を移動する制御を行うようにしてもよい。
【００３０】
イベント発生判定部１１６は、エフェクトブオジェクトの発生するエフェクト・イベントが発生したか否かを判定する。なおエフェクト・イベントは、所与の条件が満たされたことによりプログラムに従って発生するものであってもよいし、プレーヤのキャラクタ操作などにより爆弾を爆発させるなどしてプレーヤの意思に基づき発生させることができるものであってもよい。
【００３１】
位置判定部１１８は、イベント発生判定部１１６においてエフェクト・イベントが発生したと判定された場合に、エフェクト・イベントの発生位置に基づいて設定される所与のエフェクト範囲内に仮想カメラあるいはプレーヤが操作するプレーヤキャラクタ（プレーヤオブジェクト）が存在するか否かを判定する。すなわち、エフェクト範囲内に仮想カメラあるいはプレーヤキャラクタが存在する場合には、エフェクトオブジェクトの配置設定位置が仮想カメラの視野外となる可能性があるため、この場合にはエフェクトオブジェクトの配置を変更する必要性（あるいはダミーエフェクトオブジェクトを配置する必要性）が高いことを意味する。ここでエフェクト範囲とは、エフェクトの種類に応じて個別にその大きさを設定することができる範囲であり、例えばエフェクトオブジェクトで表現されるエフェクトが見えるべき範囲（例えば爆発の大きさなど）を示すものとすることができる。また後述するヒット判定部１２２では、このエフェクト範囲をヒットチェック範囲として用いる。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の判定処理が行われる。
【００３２】
エフェクト配置処理部１２０は、位置判定部１１８においてエフェクト範囲内に仮想カメラあるいはプレーヤキャラクタが存在すると判定された場合に、少なくとも仮想カメラの視野（画角と同義）外に配置設定されるエフェクトブオジェクトを、仮想カメラの視野内に移動して配置する。これにより仮想カメラあるいはプレーヤキャラクタの近傍で発生したエフェクト・イベントをプレーヤに確実に認識させることができる。
【００３３】
またエフェクト配置処理部１２０は、エフェクト・イベントに基づいて複数のエフェクトオブジェクトが発生する場合に、少なくとも複数のエフェクトオブジェクトのカメラ座標系の奥行き方向における配置順列（Ｚソート順序と同義）を変更せずに、各エフェクトオブジェクトを移動して配置する。このようにすれば、エフェクトオブジェクトの配置変更により各オブジェクトの配置順列が乱れて生成画像が不自然になることを防止することができる。
【００３４】
例えば、カメラ座標系における仮想カメラの前方に設定される第１の境界面と、カメラ座標系における仮想カメラの後方に設定される第２の境界面との間を所与の奥行き範囲として設定しておく。そして、第１の境界面とスクリーンとの間の第１の距離と、第１の境界面と第２の境界面との間の第２の距離との比に基づいて、複数のエフェクトオブジェクトが第１の境界面とスクリーンとの間に配置されるように各エフェクトオブジェクトのカメラ座標系の奥行き情報を演算して、求められた奥行き情報に基づいて所与の奥行き範囲内に配置設定される各エフェクトオブジェクトを移動して配置する。
【００３５】
またエフェクト配置処理部１２０は、位置判定部１１８においてエフェクト範囲内に仮想カメラあるいはプレーヤキャラクタが存在すると判定された場合に、少なくとも仮想カメラの視野（画角と同義）外に配置設定されるエフェクトブオジェクトと対応するダミーエフェクトオブジェクトを、記憶部１７０のダミーエフェクトオブジェクトデータ記憶部１７９から読み出し、仮想カメラの視野内に配置する処理を行う。このようにしても仮想カメラあるいはプレーヤキャラクタの近傍で発生したエフェクト・イベントをプレーヤに確実に認識させることができる。
【００３６】
またエフェクト配置処理部１２０は、エフェクト・イベントに基づいて複数のエフェクトオブジェクトが発生する場合に、少なくとも複数のエフェクトオブジェクトのカメラ座標系の奥行き方向における配置順列（Ｚソート順序と同義）に従って、各エフェクトオブジェクトに対応するダミーエフェクトオブジェクトを仮想カメラの視野内に配置する。このようにすれば、ダミーエフェクトオブジェクトの配置順列が、これと対応するエフェクトオブジェクトの配置順列と一致するため生成画像が不自然になることを防止することができる。
【００３７】
例えば、カメラ座標系における仮想カメラの前方に設定される第１の境界面と、カメラ座標系における仮想カメラの後方に設定される第２の境界面との間を所与の奥行き範囲として設定しておく。そして、第１の境界面とスクリーンとの間の第１の距離と、第１の境界面と第２の境界面との間の第２の距離との比に基づいて、複数のエフェクトオブジェクトが第１の境界面とスクリーンとの間に配置される場合の各エフェクトオブジェクトのカメラ座標系の奥行き情報を演算して、求められた奥行き情報に基づいて所与の奥行き範囲内に配置設定される各エフェクトオブジェクトに対応する複数のダミーエフェクトオブジェクトを仮想カメラの視野内に配置する。
【００３８】
なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについてエフェクトオブジェクトの配置を変更すべきか否か（あるいはダミーエフェクトオブジェクトを配置すべき否か）が判断され、エフェクト範囲内に存在すると判定された仮想カメラ（エフェクト範囲内に存在するプレーヤキャラクタに追従する仮想カメラ）については、少なくともその仮想カメラの視野外に配置設定されるエフェクトブオジェクト（あるいは仮想カメラの視野外に配置設定されるエフェクトブオジェクトに対応するダミーエフェクトオブジェクト）を、その仮想カメラの視野内に配置し、エフェクト範囲内に存在しないと判定された仮想カメラ（エフェクト範囲内に存在しないプレーヤキャラクタに追従する仮想カメラ）については、エフェクトオブジェクトを移動しないで（あるいはダミーエフェクトブジェクトを配置しないで）そのまま配置する（配置設定された通りに配置する）。
【００３９】
ヒット判定部１２２は、オブジェクト間のヒット判定処理（ヒットチェック）を行う。例えば、エフェクト・イベントにより発生したエフェクトオブジェクトと他のオブジェクト（プレーヤオブジェクト）とのヒット判定を、上述したエフェクト範囲を用いて行う。
【００４０】
画像生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７３（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように生成する。
【００４１】
画像生成部１３０は、テクスチャマッピング部１３２、半透明処理部１３４、隠面消去部１３６を含む。
【００４２】
テクスチャマッピング部１３２は、テクスチャ記憶部１７５に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７５からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００４３】
半透明処理部１３４はα値（Ａ値）に基づく半透明合成処理（通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等）を行う。例えば通常αブレンディングの場合には下式の処理を行う。
【００４４】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
一方、加算αブレンディングの場合には下式の処理を行う。
【００４５】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７３に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７３に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４６】
特に本実施の形態では、エフェクトオブジェクトについてエフェクト配置処理部１２０により移動して配置されたエフェクトオブジェクト（あるいはダミーエフェクトオブジェクトデータ記憶部１７９から読み出された配置されたダミーエフェクトオブジェクト）のカメラ座標系における奥行き情報に基づいて、エフェクトオブジェクトの位置がスクリーン位置あるいは仮想カメラの位置に近くなるほど透明度が高くなるように半透明合成処理を行う。このようにすれば、画像中に表現されるキャラクタが見えにくくなることを防止することができる。また、スクリーン位置に近いものほど透明度が高くなるようにしておけば、キャラクタと共に仮想カメラ（視点）が移動している場合にも、エフェクトが不自然に消滅するように表現されることを防止することができる。
【００４７】
隠面消去部１３６は、各ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７７（奥行きバッファ）を用いて、Ｚバッファ法（奥行き比較法、Ｚテスト）により隠面消去処理を行う。すなわちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Ｚバッファ１７７に格納されるＺ値を参照する。そして参照されたＺバッファ１７７のＺ値と、プリミティブ面の描画対象ピクセルでのＺ値とを比較し、描画対象ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、そのピクセルの描画処理を行うとともにＺバッファ１７７のＺ値を新たなＺ値に更新する。
【００４８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４９】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００５０】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、ゲーム画像において爆発エフェクトを表現する際に本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなゲーム画像の表現のみならず、種々の画像表現に適用できる。
【００５１】
図２（Ａ）〜図２（Ｃ）に本実施の形態で用いられるエフェクトオブジェクトＥＦの例を示す。エフェクトオブジェクトＥＦは、オブジェクト空間の所与の位置で発生する各種のエフェクト・イベントによる特殊効果を擬似的に表現するオブジェクトであり、その種類としては、爆発表現オブジェクト、炎表現オブジェクト、煙表現オブジェクト、雷表現オブジェクト、その他の特殊効果表現オブジェクト等がある。エフェクトオブジェクトＥＦには、エフェクト（爆発、炎、煙、雷）を表現するテクスチャがマッピングされる。またエフェクトオブジェクトＥＦは、仮想カメラＶＣに正対するように（ビルボードプリミティブ面の法線ベクトルと、仮想カメラの視線方向ベクトルとのなす角度が１８０度になるように）３次元のオブジェクト空間内に配置設定されるスプライトポリゴン（ビルボード表示のポリゴン）である。すなわち本実施の形態ではエフェクト表現テクスチャがマッピングされたスプライトポリゴンをスクリーンＳＣに投影変換して、エフェクトを３次元的に表現することができる。
【００５２】
本実施の形態では、図２（Ｂ）に示すように、エフェクトオブジェクトＥＦを一枚のスプライトポリゴンとしてエフェクト発生位置ＥＰに配置設定することでエフェクトを表現することができる。またエフェクトの表現手法としては、図２（Ｃ）に示すように、いわゆるパーティクルシステムを採用することができる。パーティクルシステムでは、複数のパーティクルに位置や色などの属性情報を持たせ、所与の規則に従って発生、移動、消滅するパーティクルの集合により、爆発や炎、煙などの不定形なエフェクトを表現することができる。この場合、パーティクルは、スプライトポリゴンにより生成することができる。
【００５３】
またエフェクトオブジェクトＥＦには、エフェクト・イベントに応じてエフェクト発生位置ＥＰを中心としたエフェクト範囲ＥＲが設定されている。本実施の形態でエフェクト範囲ＥＲは、仮想カメラＶＣの位置の判定に用いられるとともに、エフェクトオブジェクトＥＦと他のオブジェクトとのヒット判定を行うためのヒットチェック範囲として用いることができる。
【００５４】
そして本実施の形態では、所定の条件を満たした場合に、仮想カメラＶＣの視野外に配置されるエフェクトオブジェクトＥＦを仮想カメラＶＣの視野内に移動して配置する処理を行っている。図３（Ａ）および図３（Ｂ）に本実施の形態で行うエフェクトオブジェクトＥＦの配置変更の手法を示す。
【００５５】
例えばプレーヤの操作するキャラクタを表現するプレーヤオブジェクトＰＯＢを後方から撮影するように仮想カメラＶＣが設定される状況を考える。
【００５６】
このとき仮想カメラＶＣの後方の位置ＥＰにおいてエフェクト範囲ＥＲのエフェクト・イベント（例えば爆発イベント）が発生した場合に、エフェクトオブジェクトＥＦは、図３（Ａ）に示すように、エフェクト発生位置ＥＰの付近に配置設定される。この場合、エフェクトオブジェクトＥＦの配置設定位置は、スクリーンＳＣより後方である。すなわち、エフェクトオブジェクトＥＦは仮想カメラＶＣの視野外に配置設定されることになり、仮想カメラＶＣから見える画像中にはエフェクトが表現されない。そしてエフェクト範囲ＥＲが他のオブジェクトにより表現されるキャラクタにヒット・ダメージを与えるためのヒットチェック範囲として設定されていると、プレーヤにはプレーヤオブジェクトＰＯＢがエフェクトに巻き込まれていないように見えるにもかかわらず、プレーヤキャラクタがヒット・ダメージを受ける事態が生じる。
【００５７】
そこで本実施の形態では、図３（Ａ）に示すように、エフェクトオブジェクトＥＦのエフェクト範囲ＥＲ内に仮想カメラＶＣが存在する場合であって、エフェクトオブジェクトＥＦが仮想カメラＶＣの視野外に配置設定される場合に、図３（Ｂ）に示すように、エフェクトオブジェクトＥＦを仮想カメラＶＣの視野内に移動して配置することによりプレーヤにエフェクトを認識させることができる。より具体的には、エフェクトオブジェクトＥＦのカメラ座標系の奥行き情報（カメラ座標系のＺ値）を少なくともスクリーンＳＣの位置より前方に配置されるように演算して、エフェクトオブジェクトＥＦを仮想カメラＶＣの視野内へと移動する。
【００５８】
このように本実施の形態の手法を用いれば、エフェクト・イベントが発生した場合に、仮想カメラＶＣの視野外に配置設定されるエフェクトオブジェクトＥＦを仮想カメラＶＣの視野内に配置変更することにより、仮想カメラＶＣあるいはプレーヤオブジェクトＰＯＢの近傍でエフェクト・イベントが発生したことをプレーヤに確実に伝達するようにエフェクトが表現された画像を生成することができる。
【００５９】
また本実施の形態では図３（Ｂ）に示すように、仮想カメラＶＣの視野内にエフェクトオブジェクトＥＦを移動する代わりに、図３（Ｃ）に示すように、予め用意されたダミーエフェクトオブジェクトＤＥＦを仮想カメラＶＣの視野内に配置する手法を採用することもできる。ダミーエフェクトオブジェクトＤＥＦは、エフェクトオブジェクトＥＦと同様のエフェクト表現テクスチャがマッピングされたスプライトポリゴンである。このようにしても、図３（Ｂ）に示す場合と同様に、仮想カメラＶＣあるいはプレーヤオブジェクトＰＯＢの近傍でエフェクト・イベントが発生したことをプレーヤに確実に伝達するようにエフェクトが表現された画像を生成することができる。
【００６０】
また本実施の形態では、上述したようにエフェクトオブジェクトＥＦを移動して配置したりダミーエフェクトオブジェクトＤＥＦを発生させたりするのではなく、仮想カメラＶＣを移動することによって本来仮想カメラＶＣの視野外に配置設定されるエフェクトオブジェクトＥＦをプレーヤに認識させるようにすることもできる。
【００６１】
例えば、図４（Ａ）に示すように、仮想カメラＶＣの後方にエフェクトオブジェクトＥＦが配置設定される場合に、図４（Ｂ）に示すように、仮想カメラＶＣの位置（視点位置）を少なくともスクリーンＳＣよりも前方にエフェクトオブジェクトＥＦが位置するように（少なくともスクリーンＳＣがエフェクトオブジェクトＥＦの後方に位置するように）仮想カメラＶＣを移動する制御を行う。これによりエフェクトオブジェクトＥＦを移動したり、ダミーエフェクトオブジェクトＤＥＦを発生させたりしなくとも、仮想カメラＶＣの視野内に配置されたエフェクトオブジェクトＥＦをプレーヤに認識させることができる。
【００６２】
また本実施の形態の手法は、図２（Ｃ）に示したように、エフェクトを複数のエフェクトオブジェクトを用いて表現するパーティクルシステムを採用する場合にも有用である。
【００６３】
図５（Ａ）に複数のエフェクトオブジェクトＥＦｎ（ｎ＝１，２，３，・・・）を用いて爆発等のエフェクト表現を行う場合のエフェクトオブジェクトＥＦ１〜ＥＦ３の配置変更例を示す。この場合には、少なくともエフェクトオブジェクトＥＦ１〜ＥＦ３のカメラ座標系の奥行き方向における配置順列（Ｚソート順序）を変更せずに、各エフェクトオブジェクトＥＦｎを移動して配置する。このようにすれば、エフェクトオブジェクトＥＦ１〜ＥＦ３の配置順列が乱れて生成画像が不自然になることを防止することができる。
【００６４】
具体的には、仮想カメラＶＣの前方の位置に第１の境界面ＶＴＨ１と、仮想カメラＶＣの後方の位置に第２の境界面ＶＴＨ２とを設定しておく。第１の境界面ＶＴＨ１および第２の境界面ＶＴＨ２と仮想カメラＶＣとの相対的な位置関係は、固定的であってもよいし、発生したエフェクト・イベントに応じて変更可能としてもよい。第１の境界面ＶＴＨ１および第２の境界面ＶＴＨ２と仮想カメラＶＣとの相対的な位置関係を変更可能とする場合には、例えば、エフェクト範囲ＥＲの大きさ（広さ）に応じて第１の境界面ＶＴＨ１および第２の境界面ＶＴＨ２の位置を設定することができる。また第１の境界面ＶＴＨと第２の境界面ＶＴＨ２とは仮想カメラＶＣと正対する面（あるいはスクリーンＳＣと正対する面）として設定することができる。
【００６５】
そして図５（Ａ）に示す例においては、発生したエフェクト・イベントのエフェクト範囲ＥＲ内に仮想カメラＶＣが存在すると判断される場合に、第１の境界面ＶＴＨ１と第２の境界面ＶＴＨとにより区画されるカメラ座標系の奥行き範囲内に配置されるエフェクトオブジェクトＥＦ１〜ＥＦ３のカメラ座標系の奥行き情報（Ｚ値）を変更して第１の境界面ＶＴＨ１とスクリーンＳＣとの間に移動して配置する処理を行う。具体的には、第１の境界面ＶＴＨ１とスクリーンＳＣとの間の第１の距離ｄ１と、第１の境界面ＶＴＨ１と第２の境界面ＶＴＨ２との間の第２の距離ｄ２との比（ｄ１／ｄ２）に基づいて、エフェクトオブジェクトＥＦ１〜ＥＦ３が第１の境界面ＶＴＨ１とスクリーンＳＣとの間に配置されるようにエフェクトオブジェクトＥＦ１〜ＥＦ３のカメラ座標系の奥行き情報（Ｚ値）を演算して配置を変更する。
【００６６】
このようにすれば、生成された画像が不自然になりにくいばかりでなく、第１の境界面ＶＴＨ１と第２の境界面ＶＴＨ２とによって区画された所与の領域内に配置されるエフェクトオブジェクトＥＦ１〜ＥＦ３のみが配置変更されるため、処理負担が大きくなることも防止することができる。また図４に示す手法によれば、エフェクトオブジェクトＥＦ１〜ＥＦ３の配置順列（Ｚソート順序）のみならずエフェクトオブジェクトＥＦ１〜ＥＦ３の間の配置間隔比も変更されることはなく、より自然なエフェクト表現が実現できる。
【００６７】
なおエフェクトオブジェクトＥＦ１〜ＥＦ３を配置変更する代わりに、エフェクトオブジェクトＥＦ１〜ＥＦ３に対応するダミーエフェクトオブジェクトＤＥＦ１〜ＤＥＦ３を配置する場合には、エフェクトオブジェクトＥＦ１〜ＥＦ３の移動すべき位置、すなわち第１の境界面ＶＴＨ１とスクリーンＳＣとの間の第１の距離ｄ１と、第１の境界面ＶＴＨ１と第２の境界面ＶＴＨ２との間の第２の距離ｄ２との比（ｄ１／ｄ２）に基づいて求められたカメラ座標系の奥行き情報（Ｚ値）に基づいてエフェクトオブジェクトＤＥＦ１〜ＤＥＦ３を配置すればよい。
【００６８】
またエフェクトを複数のエフェクトオブジェクトを用いて表現するパーティクルシステムを採用する場合には、エフェクトオブジェクトＥＦ１〜ＥＦ３がスクリーンＳＣの前方に位置するように（スクリーンＳＣがエフェクトオブジェクトＥＦ１〜ＥＦ３よりも後方に位置するように）仮想カメラＶＣの位置（視点位置）を移動する手法を採用してもよい。
【００６９】
具体的には、図５（Ｂ）に示すように、仮想カメラＶＣの後方に第３の境界面ＶＴＨ３を設定しておき、移動前の仮想カメラＶＣ０の位置に基づいて設定されるスクリーンＳＣ０の位置と第３の境界面ＶＴＨ３との間に配置設定されるエフェクトオブジェクトＥＦ１〜ＥＦ３が仮想カメラＶＣの視野内に入るように仮想カメラＶＣの位置を求めて、仮想カメラＶＣを移動する。例えば、仮想カメラＶＣの移動後の位置は、スクリーンＳＣの位置が第３の境界面ＶＴＨ３よりも後方の位置とすることができる。なお、仮想カメラＶＣの移動後の位置は、少なくともスクリーンＳＣ０と第３の境界面ＶＴＨ３との間に配置設定されるエフェクトオブジェクトＥＦ１〜ＥＦ３よりもスクリーンＳＣが後方に位置するようにすればよい。
【００７０】
また本実施の形態の手法は、マルチプレーヤゲームシステムを採用した場合に、表示画面に第１〜第Ｎのプレーヤの操作する第１〜第Ｎのプレーヤキャラクタに対応する第１〜第Ｎ（Ｎは２以上の整数）の画像が分割して表示される場合にも有用である。この場合には、第１〜第Ｎの画像として、第１〜第Ｎの複数の仮想カメラＶＣＮから見える画像が生成される。
【００７１】
例えば図６（Ａ）および図６（Ｂ）に第１の仮想カメラＶＣ１と第２の仮想カメラＶＣ２とから見える画像が第１の画像および第２の画像として生成される場合が示されている。この場合には、エフェクト・イベントの発生位置ＥＰに基づいて設定されるエフェクト範囲ＥＲ内に第１，第２の仮想カメラＶＣ１，ＶＣ２が存在するか否かが判定される。
【００７２】
そして、図６（Ａ）に示すように、第１の仮想カメラＶＣ１に関しては、エフェクト範囲ＥＲ内に存在すると判定されるため、少なくとも第１の仮想カメラＶＣ１の視野外に配置設定されるエフェクトブオジェクトＥＦ１を、上述した手法を用いて第１の仮想カメラＶＣ１の視野内に移動して配置する。
【００７３】
また、図６（Ｂ）に示すように、第２の仮想カメラＶＣ２に関しては、エフェクト範囲ＥＲ内に存在しないと判定されるため、エフェクトオブジェクトＥＦ２を移動しないでそのまま配置する。
【００７４】
このようにすることで、エフェクトの影響を受けているプレーヤオブジェクトＰＯＢに追従する第１の仮想カメラＶＣ１から見える画像（スクリーンＳＣ１に投影された画像）にはエフェクトオブジェクトＥＦ１の配置変更を行ってエフェクトに巻き込まれていることをプレーヤに確実に伝達することができ、第２の仮想カメラＶＣ２から見える画像（スクリーンＳＣ２に投影された画像）には、イベント発生位置ＥＰに基づいて配置を変更せずにエフェクトオブジェクトＥＦ２を配置してプレーヤオブジェクトＰＯＢがエフェクトに巻き込まれている様子を伝える自然な画像表現を実現することができる。
【００７５】
また本実施の形態では、エフェクトオブジェクトＥＦｎについてカメラ座標系における奥行き情報（Ｚ値、Ｚ座標と同義）に基づいて、エフェクトオブジェクトＥＦｎの位置がスクリーンＳＣの位置に近くなるほど透明度が高くなるように半透明合成処理を行う。このようにすれば、画像中に表現されるプレーヤオブジェクトＰＯＢが見えにくくなることを防止することができる。また、スクリーンＳＣの位置に近いものほど透明度が高くなるようにしておけば、プレーヤオブジェクトＰＯＢが移動することによりプレーヤオブジェクトＰＯＢと共に仮想カメラＶＣが移動する場合にも、エフェクトが不自然に消滅するように表現されることを防止することができる。
【００７６】
ここで、図７および図８に本実施の形態の手法を用いて生成される画像の例を示す。図７（Ａ）および図７（Ｂ）は、オブジェクト空間にプレーヤオブジェクトとエフェクトオブジェクトのみを配置した場合の画像の例を示す。また、図８（Ａ）および図８（Ｂ）は、図７（Ａ）および図７（Ｂ）の画像にさらに地形オブジェクトなどの背景オブジェクトをＺバッファ法により合成した画像を示す。
【００７７】
図７および図８では、図６について説明した状況が表現されている。図７（Ａ）および図８（Ａ）は、エフェクトオブジェクトＥＦの配置を変更する前の画像を示し、図７（Ｂ）および図８（Ｂ）は、エフェクトオブジェクトＥＦの配置を変更した後の画像を示している。図７（Ａ）および図８（Ａ）に示すように、配置を変更しない場合では、第２の仮想カメラＶＣ２から見える画像（スクリーンＳＣ２に投影された画像）については、プレーヤオブジェクトＰＯＢが爆発エフェクトに巻き込まれている様子がわかるように表現されているが、第１の仮想カメラＶＣ１から見える画像（スクリーンＳＣ２に投影された画像）については、プレーヤオブジェクトＰＯＢが爆発エフェクトに巻き込まれていることが認識できない。
【００７８】
一方、図７（Ｂ）および図８（Ｂ）に示すように本実施の形態の手法によりエフェクトオブジェクトＥＦの配置を変更した場合には、第１，第２の仮想カメラＶＣ１，ＶＣ２のいずれから見た画像においてもプレーヤオブジェクトＰＯＢが爆発エフェクトに巻き込まれている様子が表現されている。このように本実施の形態の手法によれば、スプライトポリゴンを用いた簡易的なエフェクト表現でも、実際の状況に即したリアルな画像表現を実現することができる。
【００７９】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図９、図１０のフローチャートを用いて説明する。
【００８０】
図９には、エフェクトオブジェクトの配置変更あるいはダミーエフェクトオブジェクトの配置を行う場合の処理例を示す。
【００８１】
まずイベント発生判定部１１６が、エフェクトオブジェクトＥＦｎが発生するエフェクト・イベントが発生したか否かを判定する（ステップＳ１０）。エフェクト・イベントが発生したと判断される場合には（ステップＳ１０でＹ）、仮想カメラＶＣ（あるいはプレーヤオブジェクトＰＯＢ）が、エフェクト範囲ＥＲ内に存在するか否かを判定する（ステップＳ１１）。そして仮想カメラＶＣ（あるいはプレーヤオブジェクトＰＯＢ）がエフェクト範囲ＥＲ内に存在すると判断された場合には（ステップＳ１１でＹ）、発生したエフェクトオブジェクトＥＦｎが、第１の境界面ＶＴＨ１と第２の境界面ＶＴＨ２との間に配置設定されるか否かを判定する（ステップＳ１２）。エフェクトオブジェクトＥＦｎが第１の境界面ＶＴＨ１と第２の境界面ＶＴＨ２との間に配置設定される場合には（ステップＳ１２でＹ）、図５（Ａ）に示したように、第１の境界面ＶＴＨ１とスクリーンＳＣとの間の距離ｄ１と第１の境界面ＶＴＨ１と第２の境界面ＶＴＨ２との間の距離ｄ２との比率（ｄ１／ｄ２）に基づいて、エフェクトオブジェクトＥＦｎ（あるいはダミーエフェクトオブジェクトＤＦｎ）のスクリーン座標系の奥行き情報（Ｚ値、Ｚ座標と同義）を演算して、求められた奥行き情報に従ってエフェクトオブジェクトＥＦｎ（あるいはダミーエフェクトオブジェクトＤＦｎ）を配置する（ステップＳ１３）。続いて、仮想カメラＶＣ（あるいはスクリーンＳＣ）と移動後のエフェクトオブジェクトＥＦｎ（あるいは配置されたダミーエフェクトオブジェクトＤＥＦｎ）との距離から各オブジェクトの半透明度を設定する（ステップＳ１４）。具体的には、仮想カメラＶＣ（あるいはスクリーンＳＣ）に近い位置に配置されたものほど透明度が高くなるように設定する。ステップＳ１２からステップＳ１４にいたる処理が全てのエフェクトオブジェクトＥＦｎに対して行われたら（ステップＳ１５でＹ）、各オブジェクトを半透明合成して描画バッファに書き込んですべての処理を終了する（ステップＳ１６）。これらの処理により本実施の形態の手法が実現される。
【００８２】
図１０には、仮想カメラを移動する場合の処理例を示す。
【００８３】
まずイベント発生判定部１１６が、エフェクトオブジェクトＥＦｎが発生するエフェクト・イベントが発生したか否かを判定する（ステップＳ２０）。エフェクト・イベントが発生したと判断される場合には（ステップＳ２０でＹ）、仮想カメラＶＣ（あるいはプレーヤオブジェクトＰＯＢ）が、エフェクト範囲ＥＲ内に存在するか否かを判定する（ステップＳ２１）。そして仮想カメラＶＣ（あるいはプレーヤオブジェクトＰＯＢ）がエフェクト範囲ＥＲ内に存在すると判断された場合には（ステップＳ２１でＹ）、発生したエフェクトオブジェクトＥＦｎが、スクリーンＳＣ０と第３の境界面ＶＴＨ３との間に配置設定されるか否かを判定する（ステップＳ２２）。エフェクトオブジェクトＥＦｎがスクリーンＳＣ０と第３の境界面ＶＴＨ３との間に配置設定される場合には（ステップＳ２２でＹ）、例えば図５（Ｂ）に示したように、第３の境界面ＶＴＨ３よりもスクリーンＳＣが後方に位置するような仮想カメラＶＣの位置を演算して、求められた位置に仮想カメラＶＣを移動して配置する（ステップＳ２３）。続いて、移動後の仮想カメラＶＣ（あるいはスクリーンＳＣ）とエフェクトオブジェクトＥＦｎとの距離から各オブジェクトの半透明度を設定する（ステップＳ２４）。具体的には、移動後の仮想カメラＶＣ（あるいはスクリーンＳＣ）に近い位置に配置されたものほど透明度が高くなるように設定する。ステップＳ２２からステップＳ２４にいたる処理が全てのエフェクトオブジェクトＥＦｎに対して行われたら（ステップＳ２５でＹ）、各オブジェクトを半透明合成して描画バッファに書き込んですべての処理を終了する（ステップＳ２６）。これらの処理により本実施の形態の手法が実現される。
【００８４】
４．ハードウェア構成
図１１に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８５】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００８６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００８７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００８８】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００８９】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００９０】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００９１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（奥行き情報、配置順列など）として引用された用語（Ｚ値、Ｚ座標、Ｚソート順序など）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９２】
またエフェクトオブジェクトの配置変更手法や、半透明合成処理手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００９３】
また本実施形態では、仮想カメラの前方に第１の境界面を設定し、仮想カメラの後方に第２の境界面を設定し、第１の境界面と第２の境界面との間に配置設定されるエフェクトオブジェクトの配置を変更する場合について説明した。しかしながら本発明はこれに限定されず、仮想カメラの後方にのみ境界面を設定しておき、その境界面とスクリーンとの間に配置設定されるエフェクトオブジェクトを少なくともスクリーンより前方に配置されるようにしてもよい。
【００９４】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００９５】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）（Ｂ）（Ｃ）は本実施の形態の手法の説明図。
【図３】図３（Ａ）（Ｂ）（Ｃ）は本実施の形態の手法の説明図。
【図４】図４（Ａ）（Ｂ）は本実施の形態の手法の説明図。
【図５】図５（Ａ）（Ｂ）は本実施の形態の手法の説明図。
【図６】図６（Ａ）（Ｂ）は本実施の形態の手法の説明図。
【図７】本実施形態の手法で生成された画像の例。
【図８】本実施形態の手法で生成された画像の例。
【図９】本実施形態の具体的な処理のフローチャート。
【図１０】本実施形態の具体的な処理のフローチャート。
【図１１】ハードウェア構成例。
【符号の説明】
【００９６】
ＥＦ（ＥＦｎ）  エフェクトオブジェクト、
ＤＥＦ（ＤＥＦｎ）  ダミーエフェクトオブジェクト、
ＰＯＢ  プレーヤオブジェクト、
ＥＲ  エフェクト範囲、ＥＰ  エフェクト発生位置
ＶＣ（ＶＣ０，ＶＣ１，ＶＣ２）  仮想カメラ、
ＳＣ（ＳＣ０，ＳＣ１，ＳＣ２）  スクリーン、
ＶＴＨ１  第１の境界面、ＶＴＨ２  第２の境界面、ＶＴＨ３  第３の境界面、
１００  処理部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  イベント発生判定部、
１１８  位置判定部、１２０  エフェクト配置処理部、１２２  ヒット判定部、
１３０  画像生成部、
１３２  テクスチャマッピング部、１３４  半透明処理部、１３６  隠面消去部、
１４０  音生成部、１６０、操作部、
１７０  記憶部、
１７１  主記憶部、１７３  描画バッファ、
１７５  テクスチャ記憶部、１７７  Ｚバッファ、
１７９  ダミーエフェクトオブジェクトデータ記憶部、
１８０  情報記憶媒体、１９４  携帯型情報記憶装置、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2005319029.tif 000003
【図３】
2005319029.tif 000004
【図４】
2005319029.tif 000005
【図５】
2005319029.tif 000006
【図６】
2005319029.tif 000007
【図９】
2005319029.tif 000008
【図１０】
2005319029.tif 000009
【図１１】
2005319029.tif 000010
【図２】
2005319029.tif 000011
【図７】
2005319029.tif 000012
【図８】
2005319029.tif 000013