(57)【要約】【課題】観者（プレーヤ）が違和感を覚えることのない、好適な画像を生成することができるプログラム、情報記憶媒体、および画像生成システムを提供する。【解決手段】お供キャラクタＡＣ１をオブジェクト空間内に設定するオブジェクト空間設定部１１０と、お供キャラクタＡＣ１をオブジェクト空間内で移動させる移動制御部１１４と、仮想カメラＶＣ１の位置および向きの少なくとも一方を制御する仮想カメラ制御部１１６と、仮想カメラＶＣ１から見える空間であって、ニアプレーン面ＮＰ１とファープレーン面ＦＰ１との間の空間に対応する空間である描画空間ＶＶ１の画像を描画する描画部１２０とを含み、オブジェクト空間設定部１１０が、お供キャラクタＡＣ１がニアプレーン面ＮＰ１を通過することを禁止する通過禁止領域ＰＦＡ１をオブジェクト空間内に設定する。【選択図】図９
2009075739.tif 000002
【特許請求の範囲】
【請求項１】
仮想カメラから見えるオブジェクト空間の画像を生成するためのプログラムであって、
第１のオブジェクトを前記オブジェクト空間内に設定するオブジェクト空間設定部と、
前記第１のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラから見える空間であって、前記仮想カメラに近い第１の面と前記仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する描画部としてコンピュータを機能させ、
前記オブジェクト空間設定部が、
前記第１のオブジェクトが前記第１の面を通過することを禁止する通過禁止領域を前記オブジェクト空間内に設定することを特徴とするプログラム。
【請求項２】
請求項１において、
前記オブジェクト空間設定部が、
所与の条件に応じて、異なる形状の前記通過禁止領域を前記オブジェクト空間内に設定することを特徴とするプログラム。
【請求項３】
請求項２において、
前記仮想カメラ制御部が、
複数の前記仮想カメラの各仮想カメラについて位置および向きの少なくとも一方の制御を行い、
前記オブジェクト空間設定部が、
前記仮想カメラ毎に前記通過禁止領域を前記オブジェクト空間内に設定するとともに、１の前記通過禁止領域と他の前記通過禁止領域の位置関係に応じて、１の前記通過禁止領域および他の前記通過禁止領域が含まれる拡大通過禁止領域を前記オブジェクト空間内に設定することを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記オブジェクト空間設定部が、
第２のオブジェクトをオブジェクト空間内に設定し、
前記移動制御部が、
操作部からの操作情報に基づいて前記第２のオブジェクトを前記オブジェクト空間内で移動させるとともに、前記第２のオブジェクトの位置に応じて前記第１のオブジェクトを前記オブジェクト空間内で移動させ、
前記仮想カメラ制御部が、
少なくとも前記第２のオブジェクトが含まれるように、前記仮想カメラの位置および向きの少なくとも一方を制御することを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記オブジェクト空間設定部が、
前記第１のオブジェクトの通過が禁止されるポリゴンまたはボリュームを前記通過禁止領域として前記オブジェクト空間内に設定することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記第１のオブジェクトは、進行方向に対して所与の長さを有するオブジェクトであることを特徴とするプログラム。
【請求項７】
仮想カメラから見えるオブジェクト空間の画像を生成するためのプログラムであって、
複数のオブジェクトをオブジェクト空間内に設定するオブジェクト空間設定部と、
所与の移動アルゴリズムに基づいて、前記複数のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラから見える空間であって、前記仮想カメラに近い第１の面と前記仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する描画部としてコンピュータを機能させ、
前記オブジェクト空間設定部が、
前記描画空間内であって前記複数のオブジェクトの移動経路上に、前記複数のオブジェクトが通過することを禁止する通過禁止領域を設定し、
前記移動制御部が、
前記複数のオブジェクトを前記通過禁止領域の形状に応じて移動させることを特徴とするプログラム。
【請求項８】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜７のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項９】
仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、
第１のオブジェクトを前記オブジェクト空間内に設定するオブジェクト空間設定部と、
前記第１のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラから見える空間であって、前記仮想カメラに近い第１の面と前記仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、
前記オブジェクト空間設定部が、
前記第１のオブジェクトが前記第１の面を通過することを禁止する通過禁止領域を前記オブジェクト空間内に設定することを特徴とする画像生成システム。
【請求項１０】
仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、
複数のオブジェクトをオブジェクト空間内に設定するオブジェクト空間設定部と、
所与の移動アルゴリズムに基づいて、前記複数のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラから見える空間であって、前記仮想カメラに近い第１の面と前記仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、
前記オブジェクト空間設定部が、
前記描画空間内であって前記複数のオブジェクトの移動経路上に、前記複数のオブジェクトが通過することを禁止する通過禁止領域を設定し、
前記移動制御部が、
前記複数のオブジェクトを前記通過禁止領域の形状に応じて移動させることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、および画像生成システムに関する。
【背景技術】
【０００２】
従来から、仮想カメラ（所与の視点）から見えるオブジェクト空間（仮想的な３次元空間）の画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。そして、このような画像生成システムでは、仮想現実感を向上させるため、観者（プレーヤ）が違和感を覚えることのない画像を生成することが望まれている。
【０００３】
例えば特許文献１では、仮想カメラが壁の内部等の現実的には起こりえない場所に配置された場合であっても、当該壁等を構成するポリゴンの描画を省略することで、壁等の内部に配置された仮想カメラから見た画像を、観者にとって好適な画像とすることが開示されている。
【特許文献１】特開平９−７０４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、仮想カメラが正常な位置に配置されている場合であっても、観者が違和感を覚えるような画像が生成されてしまうケースがある。例えば、描画空間（ビューボリューム）を構成する構成面のうち仮想カメラに近い面（ニアプレーン面、ニアクリップ面）をオブジェクトに通過させてしまうと、当該オブジェクトの断面が見える画像が生成されてしまうため、観者にとって違和感のある画像となってしまう。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、観者が違和感を覚えることのない、好適な画像を生成することができるプログラム、情報記憶媒体、および画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、第１のオブジェクトを前記オブジェクト空間内に設定するオブジェクト空間設定部と、前記第１のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、前記仮想カメラから見える空間であって、前記仮想カメラに近い第１の面と前記仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、前記オブジェクト空間設定部が、前記第１のオブジェクトが前記第１の面を通過することを禁止する通過禁止領域を前記オブジェクト空間内に設定する画像生成システムに関するものである。
【０００７】
また本発明は、上記各部としてコンピュータを機能させるプログラム、および上記各部としてコンピュータを機能させるプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体に関するものである。
【０００８】
本発明によれば、第１のオブジェクトが仮想カメラに近い第１の面を通過することを禁止する通過禁止領域をオブジェクト空間内に設定する処理が行われるため、第１のオブジェクトが仮想カメラに近い第１の面を通過することが禁止される。つまり本発明では、仮想カメラから見える空間であって、仮想カメラに近い第１の面と仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する際に、第１のオブジェクトが仮想カメラに近い第１の面を通過する画像、即ち、第１のオブジェクトの断面が見えてしまう画像は描画されない。従って本発明では、観者が違和感を覚えることのない、好適な画像を生成することができる。
【０００９】
（２）また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間設定部が、所与の条件に応じて、異なる形状の前記通過禁止領域を前記オブジェクト空間内に設定するようにしてもよい。
【００１０】
このようにすると、状況に適した形状で通過禁止領域を設定することができるため、観者にとってより好適な画像を生成することができる。
【００１１】
（３）また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記仮想カメラ制御部が、複数の前記仮想カメラの各仮想カメラについて位置および向きの少なくとも一方の制御を行い、前記オブジェクト空間設定部が、前記仮想カメラ毎に前記通過禁止領域を前記オブジェクト空間内に設定するとともに、１の前記通過禁止領域と他の前記通過禁止領域の位置関係に応じて、１の前記通過禁止領域および他の前記通過禁止領域が含まれる拡大通過禁止領域を前記オブジェクト空間内に設定するようにしてもよい。なお、「他の通過禁止領域」は、１つであってもよいし複数であってもよい。
【００１２】
このようにすると、２以上の通過禁止領域を状況に適した形状の拡大通過禁止領域として設定することができるため、観者にとってより好適な画像を生成することができる。
【００１３】
（４）また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間設定部が、第２のオブジェクトをオブジェクト空間内に設定し、前記移動制御部が、操作部からの操作情報に基づいて前記第２のオブジェクトを前記オブジェクト空間内で移動させるとともに、前記第２のオブジェクトの位置に応じて前記第１のオブジェクトを前記オブジェクト空間内で移動させ、前記仮想カメラ制御部が、少なくとも前記第２のオブジェクトが含まれるように、前記仮想カメラの位置および向きの少なくとも一方を制御するようにしてもよい。なお、「第２のオブジェクト」は、１つのオブジェクトであってもよいし複数のオブジェクトであってもよい。また、第２のオブジェクトを複数のオブジェクトとして設定する場合には、第２のオブジェクト毎に、「第１のオブジェクト」および「仮想カメラ」の少なくとも一方を設定するようにしてもよい。
【００１４】
このように、第１のオブジェクトが描画空間外から描画空間内に移動させられるケースが多発する可能性がある条件下であっても、第１のオブジェクトが描画空間外から仮想カメラに近い第１の面を介して描画空間内に移動することは禁止されるため、観者が違和感を覚えることのない、好適な画像を生成することができる。
【００１５】
（５）また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間設定部が、前記第１のオブジェクトの通過が禁止されるポリゴンまたはボリュームを前記通過禁止領域として前記オブジェクト空間内に設定するようにしてもよい。
【００１６】
（６）また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記第１のオブジェクトは、進行方向に対して所与の長さを有するオブジェクトであってもよい。
【００１７】
このように、第１のオブジェクトが仮想カメラに近い第１の面を通過するのに時間がかかる条件下、即ち第１のオブジェクトが仮想カメラに近い第１の面を通過した際に第１のオブジェクトの断面が目立つ条件化であっても、第１のオブジェクトが仮想カメラに近い第１の面を通過することが禁止されるため、観者が違和感を覚えることのない、好適な画像を生成することができる。
【００１８】
（７）本発明は、仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、複数のオブジェクトをオブジェクト空間内に設定するオブジェクト空間設定部と、所与の移動アルゴリズムに基づいて、前記複数のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、前記仮想カメラから見える空間であって、前記仮想カメラに近い第１の面と前記仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、前記オブジェクト空間設定部が、前記描画空間内であって前記複数のオブジェクトの移動経路上に、前記複数のオブジェクトが通過することを禁止する通過禁止領域を設定し、前記移動制御部が、前記複数のオブジェクトを前記通過禁止領域の形状に応じて移動させる画像生成システムに関するものである。
【００１９】
また本発明は、上記各部としてコンピュータを機能させるプログラム、および上記各部としてコンピュータを機能させるプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体に関するものである。
【００２０】
本発明によれば、仮想カメラから見える空間であって、仮想カメラに近い第１の面と仮想カメラから遠い第２の面との間の空間に対応する空間である描画空間内であり、複数のオブジェクトの移動経路上に、複数のオブジェクトが通過することを禁止する通過禁止領域を設定する処理が行われ、通過禁止領域の形状に応じて複数のオブジェクトを移動させる処理が行われる。従って本発明では、オブジェクト毎に移動を制御するという煩雑な処理ではなく、演出に応じた形状の通過禁止領域を設定するという簡易な処理で、複数のオブジェクトの移動に伴う演出を行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態（本実施形態）について説明する。なお、以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２２】
１．画像生成システムの機能ブロック
図１は、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例である。なお本実施形態の画像生成システムでは、図１の構成要素（各部）を全て含む必要はなく、その一部を省略した構成としてもよい。
【００２３】
操作部１６０は、プレーヤ（観者）が行った操作を操作情報として入力するためのものであり、その機能は、コントローラ、レバー、ボタン、マウス、マイク、トラックボール、タッチパネルなどのハードウェアにより実現できる。
【００２４】
また操作部１６０は、例えば、操作部１６０自体の動き、姿勢、向き等に応じて変化する情報を検出するセンサを内蔵することで、プレーヤの操作に伴う操作部１６０自体の動き、姿勢、向き等を操作情報として入力するようにしてもよい。センサは、操作部１６０自体の動き等に応じた加速度、角速度、速度などを検出し、検出した加速度等の値を出力するものであり、その機能は、加速度センサ（圧電型や動電式、歪みケージ式等）や姿勢方位センサやジャイロなどのハードウェアにより実現できる。
【００２５】
また操作部１６０は、表示部１９０などの指示面に対する操作部１６０の指示位置を操作情報として入力するようにしてもよい。この場合には、例えば、操作部１６０に設けられたＣＭＯＳセンサやＣＣＤなどの撮像素子（受光素子）によって、指示面（指示面付近）に設けられたＬＥＤ等の光源を撮像し、撮像された光源の位置情報と予め設定されている撮像側の基準位置情報とから、指示面に対する操作部１６０の指示位置を求めるようにすればよい。
【００２６】
また、操作部１６０は、デジタルカメラなどの撮像手段を内蔵し、当該撮像手段によって撮像された画像（映像）から、プレーヤの操作に伴う操作部１６０自体の動き、姿勢、向き等を検出したり、プレーヤ自身による入力動作を検出し、操作情報として入力するようにしてもよい。
【００２７】
また操作部１６０は、例えば、操作部１６０に対する圧力を検出する加圧センサを内蔵することで、プレーヤの入力動作によって発生する圧力（プレーヤの体重など）を操作情報として入力するようにしてもよい。
【００２８】
なお操作部１６０は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また操作部１６０には、操作部１６０と一体化されている画像生成システム（ゲームシステム、携帯型ゲームシステム）、携帯電話なども含まれる。
【００２９】
記憶部１７０は、処理部１００や通信部１９４などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。なお、これらの一部を省略する構成としてもよい。
【００３０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。そして処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）や携帯型情報記憶装置１８２から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。なお携帯型情報記憶装置１８２は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１８２としては、メモリカードや携帯型ゲーム装置などがある。
【００３１】
表示部１９０は、処理部１００により生成された画像を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ(有機ＥＬディスプレイ)、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３２】
音出力部１９２は、処理部１００により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００３３】
通信部１９４は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３４】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９４を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲に含まれる。
【００３５】
処理部１００（プロセッサ）は、操作部１６０からの操作情報や情報記憶媒体１８０から記憶部１７０に展開されたプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ゲーム処理としては、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタ、移動体、マップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、あるいはゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。なお、処理部１００は記憶部１７０の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３６】
特に本実施形態の処理部１００は、オブジェクト空間設定部１１０、表示制御部１１２、移動制御部１１４、仮想カメラ制御部１１６、通信制御部１１８、描画部１２０、音生成部１３０を含んで構成される。なお、これらの一部を省略する構成としてもよい。
【００３７】
オブジェクト空間設定部１１０は、キャラクタ、移動体（車、飛行機など）、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間（仮想的な３次元空間）に配置設定する処理を行う。具体的には、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３８】
特に本実施形態のオブジェクト空間設定部１１０は、第１のオブジェクト（例えば、キャラクタや移動体などのモデル）をオブジェクト空間内に配置設定するとともに、第１のオブジェクトが仮想カメラに近い第１の面を通過することを禁止する通過禁止領域をオブジェクト空間内に配置設定する。なお、第１のオブジェクトの通過が禁止されるポリゴンまたはボリュームを通過禁止領域としてオブジェクト空間内に設定するようにしてもよい。また、第１のオブジェクト以外に第２のオブジェクト（例えば、キャラクタや移動体などのモデル）をオブジェクト空間内に配置設定するようにしてもよいし、第１のオブジェクトは、進行方向に対して所与の長さを有するオブジェクトであってもよい。
【００３９】
また本実施形態のオブジェクト空間設定部１１０は、所与の条件に応じて、異なる形状の通過禁止領域をオブジェクト空間内に設定するようにしてもよい。例えば、仮想カメラ毎に通過禁止領域をオブジェクト空間内に設定する場合には、１の通過禁止領域と他の通過禁止領域の位置関係に応じて、１の通過禁止領域および他の通過禁止領域が含まれる拡大通過禁止領域をオブジェクト空間内に設定するようにしてもよい。なお、通過禁止領域の形状は、リアルタイム演算によって求めてもよいし、予めオブジェクトデータ記憶部１７４に種々の形状の過禁止領域を記憶させておいてもよい。
【００４０】
また本実施形態のオブジェクト空間設定部１１０は、複数のオブジェクトをオブジェクト空間内に設定するとともに、描画空間内であって複数のオブジェクトの移動経路上に、複数のオブジェクトが通過することを禁止する通過禁止領域を設定する。
【００４１】
表示制御部１１２は、表示部１９０に表示される画像（オブジェクト画像）の表示制御を行う。具体的には、キャラクタ、移動体（車、飛行機など）、建物、樹木、柱、壁、マップ（地形）などの表示すべきオブジェクトを発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部１２０等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
【００４２】
また表示制御部１１２は、プレーヤからの操作情報等により、プレーヤキャラクタ（プレーヤの操作対象となるキャラクタ）やオブジェクトの動作や移動が発生した場合に、発生した動作や移動の様子を示す画像を表示部１９０に表示するための制御を行う。
【００４３】
移動制御部１１４は、オブジェクト（例えば、キャラクタ、移動体等のモデル）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、操作部１６０によりプレーヤが入力した操作情報や、プログラム（移動アルゴリズム・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、動作（モーション、アニメーション）させたりする処理を行う。より具体的に説明すると、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４４】
また本実施形態の移動制御部１１４は、操作部１６０からの操作情報に基づいて第２のオブジェクトをオブジェクト空間内で移動させるとともに、第２のオブジェクトの位置に応じて第１のオブジェクトをオブジェクト空間内で移動させるようにしてもよい。
【００４５】
また本実施形態の移動制御部１１４は、所与の移動アルゴリズムに基づいて、複数のオブジェクトをオブジェクト空間内で移動させるとともに、複数のオブジェクトを通過禁止領域の形状に応じて移動させる。
【００４６】
仮想カメラ制御部１１６は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）および向き（Ｘ、Ｙ、Ｚ軸回りでの回転角度）の少なくとも一方を制御する処理（視点位置や視線方向を制御する処理）を行う。なお仮想カメラ制御部１１６は、これに加え、画角、仮想カメラに近い第１の面（ニアプレーン、ニアクリップ）の位置、および仮想カメラから遠い第２の面（ファープレーン、ファークリップ）の位置の少なくともいずれかを制御するようにしてもよい。
【００４７】
例えば仮想カメラにより第２のオブジェクトが含まれるように後方から撮影する場合には、第２のオブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動制御部１１４で得られた第２のオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。また、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４８】
通信制御部１１８は、他の画像生成システムに送信するパケットを生成する処理、パケット送信先の画像生成システムのネットワークアドレスを指定する処理、受信したパケットを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部１９４の制御処理等を行う。
【００４９】
なお通信制御部１１８は、アクションゲームをネットワーク（例えば、インターネット）を利用して実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部１９４を介してデータパケット及びコマンドパケットを送受信させる制御を行うようにしてよい。
【００５０】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７６（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。
【００５１】
なお本実施形態では、仮想カメラから見える画像として、オブジェクト空間内の領域のうち、描画空間内の領域が、仮想カメラから見えるオブジェクト空間の画像として生成され、表示部１９０に出力される。描画空間は、視錐台の領域であって、仮想カメラの位置、向き、画角によって上下左右の構成面が決定され、仮想カメラに近い第１の面と仮想カメラから遠い第２の面によって前後の構成面が決定される。
【００５２】
また、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５３】
描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５４】
特に描画部１２０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００５５】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００５６】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５７】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００５８】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００５９】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００６０】
音生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６１】
なお、本実施形態の画像生成システム（ゲームシステム）は、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６２】
２．本実施形態の手法
次に本実施形態の手法について説明する。以下では、アクションゲームを行うゲームシステムに本実施形態の画像生成システムを適用した場合を例にとり説明するが、上記以外にも、種々のゲームシステムや画像生成システムに本実施形態を適用することができる。
【００６３】
２−１：概要
図２〜図５を参照しながら本実施形態のアクションゲームの概要について説明する。図２は、オブジェクト空間の一例を示す斜視図である。図３は、図２の仮想カメラＶＣ１から見えるオブジェクト空間内の画像の一例を示す図である。図４は、お供キャラクタＡＣ１が、プレーヤキャラクタＰＣ１に敵キャラクタの居場所を報知する画像の一例を示す図である。図５は、プレーヤキャラクタＰＣ１と敵キャラクタＥＣとが対戦する画像の一例を示す図である。
【００６４】
本実施形態では、図２に示すように、プレーヤキャラクタＰＣ１（第２のオブジェクトの一例）とプレーヤキャラクタＰＣ１のお供キャラクタＡＣ１（第１のオブジェクトの一例）とがオブジェクト空間内に配置されている（但し、図２では、建物やマップなどのオブジェクトの配置は省略されている）。プレーヤキャラクタＰＣ１は、コントローラなどの操作部１６０からの操作情報に基づいてオブジェクト空間内を移動するように制御され、お供キャラクタＡＣ１は、移動したプレーヤキャラクタＰＣ１の後を追って（例えば、プレーヤキャラクタＰＣ１の位置や回転角度に基づいて）オブジェクト空間内を移動するように制御されている。
【００６５】
仮想カメラＶＣ１は、少なくともプレーヤキャラクタＰＣ１を含んで撮影するように制御されている。そして本実施形態では、仮想カメラＶＣ１から見えるオブジェクト空間の画像として、例えば図３に示すような画像が生成（描画）される。
【００６６】
またお供キャラクタＡＣ１は、オブジェクト空間内に隠れている敵キャラクタをプレーヤキャラクタＰＣ１に報知するように制御されている。例えば、オブジェクト空間内に隠れている敵キャラクタの近辺に、お供キャラクタＡＣ１或いはプレーヤキャラクタＰＣ１が移動すると（広義には、第１のオブジェクト或いは第２のオブジェクトが報知領域に移動すると）、図４に示すように、お供キャラクタＡＣ１が敵キャラクタの隠れている場所に移動し、プレーヤキャラクタＰＣ１に敵キャラクタの居場所を報知する。
【００６７】
そして、プレーヤキャラクタＰＣ１が敵キャラクタの隠れている場所に移動すると（広義には、第２のオブジェクトが対戦領域に移動すると）、図５に示すように、プレーヤキャラクタＰＣ１と敵キャラクタＥＣとの対戦が開始する。
【００６８】
このように本実施形態では、プレーヤキャラクタＰＣ１とお供キャラクタＡＣ１とがオブジェクト空間内を移動するとともに、お供キャラクタＡＣが敵キャラクタを発見し、プレーヤキャラクタＰＣがこの敵キャラクタと対戦することで、オブジェクト空間内に隠れている敵キャラクタを退治するゲームが行われる。
【００６９】
２−２：通過禁止領域の設定手法
まず、図６を参照しながら本実施形態の描画空間について説明する。図６は、描画空間の一例を示す斜視図である。
【００７０】
本実施形態では、オブジェクト空間内の領域のうち、図６に示す視錐台の領域であるビューボリュームＶＶ１（描画空間の一例）内の領域が、仮想カメラＶＣ１から見えるオブジェクト空間の画像として生成（描画）され、表示部１９０に出力される。ビューボリュームＶＶ１は、仮想カメラＶＣ１の位置、向き、画角によって上下左右の構成面が決定され、ニアプレーン面ＮＰ１（仮想カメラに近い第１の面の一例）とファープレーン面ＦＰ１（仮想カメラから遠い第２の面の一例）によって前後の構成面が決定される。
【００７１】
また本実施形態では、前述したように、仮想カメラＶＣ１は、少なくともプレーヤキャラクタＰＣ１を含んで撮影するように制御されている。つまり、少なくともプレーヤキャラクタＰＣ１がビューボリュームＶＶ１内に含まれるように仮想カメラＶＣ１が制御されている。より具体的には、プレーヤキャラクタＰＣ１の位置や向き（回転角度）に基づいて仮想カメラＶＣ１の位置や向き（回転角度）を決定することで、少なくともプレーヤキャラクタＰＣ１がビューボリュームＶＶ１内に含まれるように制御されている。なお、これに加え、画角、ニアプレーンの位置、及びファープレーンの位置の少なくともいずれかを制御することで、少なくともプレーヤキャラクタＰＣ１がビューボリュームＶＶ１内に含まれるように制御するようにしてもよい。
【００７２】
次に、図７〜図１０を参照しながら本実施形態の通過禁止領域の設定手法について説明する。図７（Ａ）は、描画空間（オブジェクト空間）の一例を示す平面図であり、お供キャラクタＡＣ１がプレーヤキャラクタＰＣ１の後を追って移動を開始する状態の一例を示す図である。図７（Ｂ）は、お供キャラクタＡＣ１がニアプレーン面ＮＰ１を通過する状態の一例を示す平面図である。図８は、お供キャラクタＡＣ１がニアプレーン面ＮＰ１を通過する画像の一例を示す図である。図９（Ａ）は、お供キャラクタＡＣ１が通過禁止領域ＰＦＡ１を迂回する状態の一例を示す平面図である。図９（Ｂ）は、通過禁止領域ＰＦＡ１の一例を示す斜視図である。図１０は、お供キャラクタＡＣ１が通過禁止領域ＰＦＡ１を迂回してビューボリュームＶＶ１内に移動する画像の一例を示す図である。
【００７３】
本実施形態では、前述したように、お供キャラクタＡＣ１は、移動したプレーヤキャラクタＰＣ１の後を追ってオブジェクト空間内を移動するように制御されている。具体的には、お供キャラクタＡＣ１は、プレーヤキャラクタＰＣ１の移動により、お供キャラクタＡＣ１とプレーヤキャラクタＰＣ１との距離が所定範囲以上離れた場合に移動を開始するように制御されている。なお、プレーヤキャラクタＰＣ１が移動を開始してから所定期間（例えば、１〜２秒程度）経過後に移動を開始するように制御したり、お供キャラクタＡＣ１をプレーヤキャラクタＰＣ１と同時に移動を開始するように制御してもよい。
【００７４】
また本実施形態では、前述したように、少なくともプレーヤキャラクタＰＣ１がビューボリュームＶＶ１内に含まれるように仮想カメラＶＣ１が制御されている。
【００７５】
従って、プレーヤキャラクタＰＣ１が移動した場合には、図７（Ａ）に示すように、プレーヤキャラクタＰＣ１のみがビューボリュームＶＶ１内に含まれるというケースが生じうる。この場合、お供キャラクタＡＣ１は、プレーヤキャラクタＰＣ１の後を追って移動を開始し、プレーヤキャラクタＰＣ１が移動を終えた後に、ビューボリュームＶＶ１内のプレーヤキャラクタＰＣ１に追いつくことになる。
【００７６】
ところで、この際に、図７（Ｂ）に示すように、お供キャラクタＡＣ１にニアプレーン面ＮＰ１を通過させてしまうと、お供キャラクタＡＣ１の尻尾の部分がビューボリュームＶＶ１内に含まれていないため、図８に示すように、お供キャラクタＡＣ１の断面が見える画像（お供キャラクタＡＣ１の尻尾が切断されたような画像）が生成されてしまうことになり、プレーヤにとって違和感のある画像となってしまう。特に本実施形態では、お供キャラクタＡＣ１は、進行方向に対して長いオブジェクトであるため、他のオブジェクトに比べ、ニアプレーン面ＮＰ１の通過に時間がかかってしまう。このため、お供キャラクタＡＣ１の断面が見える画像が生成される時間も長くなってしまい、お供キャラクタＡＣ１の断面が余計に目立ってしまう。
【００７７】
そこで本実施形態では、図９（Ａ）、図９（Ｂ）に示すように、ニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１を設定し、お供キャラクタＡＣ１にニアプレーン面ＮＰ１を通過させないように制御している。具体的には、ニアプレーン面ＮＰ１と同一形状の四辺形のポリゴンを通過禁止領域ＰＦＡ１として設定している。なお、通過禁止領域ＰＦＡ１は、プレーヤから見えないようにする必要があるため、四辺形のポリゴンの描画（画像合成）は省略されるか、或いは透明のポリゴンとして描画される。
【００７８】
このようにすると、お供キャラクタＡＣ１は、例えば、図９（Ａ）の矢印に示すような移動経路で移動するように制御されるため、ニアプレーン面ＮＰ１ではなく、ビューボリュームＶＶ１の右側の構成面を通過してビューボリュームＶＶ１内のプレーヤキャラクタＰＣ１の下に移動することになる。
【００７９】
このため、図１０に示すように、お供キャラクタＡＣ１の断面が見える画像ではなく、お供キャラクタＡＣ１が横から現れる画像が生成されることになり、観者が違和感を覚えることのない、好適な画像を生成することができる。
【００８０】
なお本実施形態では、お供キャラクタＡＣ１と通過禁止領域ＰＦＡ１とのヒットチェック処理をフレーム毎に行い、お供キャラクタＡＣ１が通過禁止領域ＰＦＡ１にヒットした場合には、お供キャラクタＡＣ１の移動経路（移動方向）を修正するように制御されている。
【００８１】
具体的には、プレーヤキャラクタＰＣ１とお供キャラクタＡＣ１とを結ぶ直線上をお供キャラクタＡＣ１に移動させ、お供キャラクタＡＣ１の位置と通過禁止領域ＰＦＡ１の頂点データに基づいてヒットチェック処理を行う。そして、お供キャラクタＡＣ１が通過禁止領域ＰＦＡ１にヒットした場合には、通過禁止領域ＰＦＡ１の回転角度に基づいてお供キャラクタＡＣ１の移動経路（移動方向）を通過禁止領域ＰＦＡ１に沿った方向に修正して移動させている。なお、上記の処理はフレーム毎に行われている。
【００８２】
またヒットチェック処理は、お供キャラクタＡＣ１の進行方向（プレーヤキャラクタＰＣ１とお供キャラクタＡＣ１とを結ぶ直線上）にレイを設定し、このレイが通過禁止領域ＰＦＡ１にヒットするか否かで行うようにしてもよい。
【００８３】
また本実施形態では、通過禁止領域ＰＦＡ１は、お供キャラクタＡＣ１のみの通過を禁止する領域として設定されているが、お供キャラクタＡＣ１のみならず他のオブジェクトの通過を禁止する領域として設定するようにしてもよい。このようにすると、他のオブジェクト（例えば、お供キャラクタＡＣ１に比べて進行方向の長さが短いオブジェクト）によるニアプレーン面ＮＰ１の通過も防ぐことができるため、より好適な画像を生成することができる。
【００８４】
次に、図１１〜図１３を参照しながら本実施形態の通過禁止領域の他の設定手法について説明する。
【００８５】
図１１（Ａ）は、ニアプレーン面ＮＰ１の前面に通過禁止領域ＰＦＡ１を設定した状態の一例を示す平面図である。図１１（Ｂ）は、その斜視図である。
【００８６】
本実施形態では、ニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１を設定しているが、図１１（Ａ）、図１１（Ｂ）に示すように、ニアプレーン面ＮＰ１の前面に通過禁止領域ＰＦＡ１を設定し、お供キャラクタＡＣ１にニアプレーン面ＮＰ１を通過させないように制御してもよい。このようにすると、お供キャラクタＡＣ１が、ビューボリュームＶＶ１外からニアプレーン面ＮＰ１を通過してビューボリュームＶＶ１内に移動することを防ぐことができる。
【００８７】
また、図示は省略するが、ニアプレーン面ＮＰ１の後面に通過禁止領域ＰＦＡ１を設定し、お供キャラクタＡＣ１にニアプレーン面ＮＰ１を通過させないように制御してもよい。このようにすると、お供キャラクタＡＣ１が、ビューボリュームＶＶ１内からニアプレーン面ＮＰ１を通過してビューボリュームＶＶ１外に移動することを防ぐことができる。
【００８８】
なお本実施形態では、ニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１を設定しているため、お供キャラクタＡＣ１によるビューボリュームＶＶ１外からニアプレーン面ＮＰ１を通過することも、ビューボリュームＶＶ１内からニアプレーン面ＮＰ１を通過することも防ぐことができる。
【００８９】
図１２（Ａ）は、ニアプレーン面ＮＰ１を覆うように通過禁止領域ＰＦＡ１を設定した状態の一例を示す平面図である。図１２（Ｂ）は、その斜視図である。
【００９０】
本実施形態では、四辺形のポリゴンを通過禁止領域ＰＦＡ１として設定しているが、図１２（Ａ）、図１２（Ｂ）に示すように、ニアプレーン面ＮＰ１を覆うような形状の通過禁止領域ＰＦＡ１を設定するようにしてもよい。この場合には、複数のポリゴンによって構成されたオブジェクトや、バウンディングボリューム（例えば、直方体であるバウンディングボックスや、球であるバウンディングスフィアなどの簡単な形状をもつ立体）を通過禁止領域ＰＦＡ１として設定することができる。このようにしても、お供キャラクタＡＣ１によるビューボリュームＶＶ１外からニアプレーン面ＮＰ１を通過することも、ビューボリュームＶＶ１内からニアプレーン面ＮＰ１を通過することも防ぐことができる。
【００９１】
図１３（Ａ）は、お供キャラクタＡＣ１の移動経路を誘導できるように通過禁止領域ＰＦＡ１を設定した状態の一例を示す平面図である。図１３（Ｂ）は、その斜視図である。
【００９２】
図１３（Ａ）、図１３（Ｂ）に示すような形状で通過禁止領域ＰＦＡ１を設定すると、ニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１を設定した場合に比べて、お供キャラクタＡＣ１が通過禁止領域ＰＦＡ１を迂回する際に要する時間を短縮することができる。このため、プレーヤキャラクタＰＣ１が移動しても、お供キャラクタＡＣ１を短時間でプレーヤキャラクタＰＣ１に追いつかせることが可能となる。従って、お供キャラクタＡＣ１が表示部１９０に表示されるまでの時間を短縮することができ、より好適な画像を生成することができる。
【００９３】
なお、図１３（Ａ）、図１３（Ｂ）に示す形状の通過禁止領域ＰＦＡ１は、プレーヤキャラクタＰＣ１の位置、仮想カメラＶＣ１の位置、ニアプレーン面ＮＰ１の頂点位置に基づいて設定することができる。但し、これらの位置情報をそのまま用いる必要はなく、これらの位置情報から算出される位置（例えば、プレーヤキャラクタＰＣ１のやや後方の位置や、仮想カメラＶＣ１のやや前方の位置）を用いるようにしてもよい。
【００９４】
２−３：通過禁止領域の変形手法
２−３−１：画角の変更に伴う通過禁止領域の変形手法
まず、図１４を参照しながら画角の変更に伴う通過禁止領域の変形手法について説明する。図１４（Ａ）は、画角を小さくした際に設定される通過禁止領域ＰＦＡ１の一例を示す平面図であり、図１４（Ｂ）は、画角を大きくした際に設定される通過禁止領域ＰＦＡ１の一例を示す平面図である。
【００９５】
本実施形態では、図１４（Ａ）に示すように、画角をθからθ’に変更すると（θ＞θ’）、ニアプレーン面ＮＰ１の領域も小さくなり、図１４（Ｂ）に示すように、画角をθからθ”に変更すると（θ＜θ”）、ニアプレーン面ＮＰ１の領域も大きくなる。
【００９６】
このように本実施形態では、画角を変更すると（所与の条件の一例）、ニアプレーン面ＮＰ１の形状も変化することにため、画角を変更する際には、図１４（Ａ）、図１４（Ｂ）に示すように、変更後の画角に応じたニアプレーン面ＮＰ１の形状に、通過禁止領域ＰＦＡ１の形状も変更するように制御されている。具体的には、画角に応じた種々の形状の通過禁止領域ＰＦＡ１がオブジェクトデータ記憶部１７４に記憶されており、変更された画角に応じた形状の通過禁止領域ＰＦＡ１を設定するように制御されている。なお、リアルタイム演算によって通過禁止領域ＰＦＡ１の形状を演算するようにしてもよい。
【００９７】
従って本実施形態では、画角が変更されても適切な形状の通過禁止領域ＰＦＡ１を設定することができるため、プレーヤにとってより好適な画像を生成することができる。
【００９８】
２−３−２：プレーヤキャラクタＰＣ１の位置の変更に伴う通過禁止領域の変形手法
次に、図１５を参照しながらプレーヤキャラクタＰＣ１の位置の変更に伴う通過禁止領域の変形手法について説明する。図１５（Ａ）、図１５（Ｂ）は、プレーヤキャラクタＰＣ１の位置に応じて設定される通過禁止領域ＰＦＡ１の一例を示す平面図である。
【００９９】
図１３（Ａ）、図１３（Ｂ）に示すような形状で通過禁止領域ＰＦＡ１を設定する場合、プレーヤキャラクタＰＣ１の位置に応じて通過禁止領域ＰＦＡ１の形状が定まるため、プレーヤキャラクタＰＣ１の位置を変更する際には（所与の条件の一例）、図１５（Ａ）、図１５（Ｂ）に示すように、変更後のプレーヤキャラクタＰＣ１の位置に応じて通過禁止領域ＰＦＡ１の形状も変更するように制御されている。
【０１００】
具体的には、プレーヤキャラクタＰＣ１の位置に応じた種々の形状の通過禁止領域ＰＦＡ１がオブジェクトデータ記憶部１７４に記憶されており、変更されたプレーヤキャラクタＰＣ１の位置に応じた形状の通過禁止領域ＰＦＡ１を設定するように制御されている。なお、リアルタイム演算によって通過禁止領域ＰＦＡ１の形状を演算するようにしてもよい。
【０１０１】
従って本実施形態では、プレーヤキャラクタＰＣ１の位置が変更されても適切な形状の通過禁止領域ＰＦＡ１を設定することができるため、プレーヤにとってより好適な画像を生成することができる。
【０１０２】
２−３−３：仮想カメラが複数台ある場合の通過禁止領域の変形手法
次に、図１６〜図２０を参照しながら複数のプレーヤによるプレイを行う場合の通過禁止領域の変形手法について説明する。なお、以下では、既に説明した内容と共通の手法については詳細な説明を省略し、主要な相違点を中心に説明する。
【０１０３】
図１６は、複数のプレーヤによるプレイを行う場合のオブジェクト空間の一例を示す斜視図である。図１７（Ａ）は、図１６の仮想カメラＶＣ１から見えるオブジェクト空間内の画像の一例を示す図であり、図１７（Ｂ）は、図１６の仮想カメラＶＣ２から見えるオブジェクト空間内の画像の一例を示す図である。
【０１０４】
本実施形態において複数のプレーヤによるプレイを行う場合、図１６に示すように、プレーヤキャラクタＰＣ１とプレーヤキャラクタＰＣ１のお供キャラクタＡＣ１に加え、プレーヤキャラクタＰＣ２（第２のオブジェクトの一例）とプレーヤキャラクタＰＣ２のお供キャラクタＡＣ２（第１のオブジェクトの一例）とがオブジェクト空間内に配置される。プレーヤキャラクタＰＣ２は、コントローラなどの操作部１６０からの操作情報に基づいてオブジェクト空間内を移動するように制御され、お供キャラクタＡＣ２は、移動したプレーヤキャラクタＰＣ２の後を追って（例えば、プレーヤキャラクタＰＣ２の位置や回転角度に基づいて）オブジェクト空間内を移動するように制御されている。なお、第１のプレーヤによる操作によりプレーヤキャラクタＰＣ１が制御され、第２のプレーヤによる操作によりプレーヤキャラクタＰＣ２が制御される。
【０１０５】
仮想カメラＶＣ１は、少なくともプレーヤキャラクタＰＣ１を含んで撮影するように制御され、仮想カメラＶＣ２は、少なくともプレーヤキャラクタＰＣ２を含んで撮影するように制御される。そして本実施形態では、仮想カメラＶＣ１から見えるオブジェクト空間の画像として、例えば図１７（Ａ）に示すような画像が生成（描画）され、仮想カメラＶＣ２から見えるオブジェクト空間の画像として、例えば図１７（Ｂ）に示すような画像が生成（描画）される。
【０１０６】
なお本実施形態では、表示部１９０が複数用意されており、図１７（Ａ）に示す画像は、第１のプレーヤ用の表示部に表示され、図１７（Ｂ）に示す画像は、第２のプレーヤ用の表示部に表示されるが、図１７（Ａ）、図１７（Ｂ）に示す画像を分割画像として１の表示部に表示するように画像を生成してもよい。
【０１０７】
また本実施形態では、プレーヤキャラクタ毎に仮想カメラを用意しているが、仮想カメラは１台であってもよい。この場合には、プレーヤキャラクタＰＣ１の位置とプレーヤキャラクタＰＣ２の位置とから仮想カメラの注視点が演算され、プレーヤキャラクタＰＣ１およびプレーヤキャラクタＰＣ２の少なくとも一方が含まれるように仮想カメラの位置及び向きの少なくとも一方の制御が行われる。
【０１０８】
図１８（Ａ）は、ニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１を設定するとともに、ニアプレーン面ＮＰ２に通過禁止領域ＰＦＡ２を設定した状態の一例を示す平面図である。図１８（Ｂ）は、通過禁止領域ＰＦＡ１および通過禁止領域ＰＦＡ２が含まれる拡大通過禁止領域ＥＰＦＡを設定した状態の一例を示す平面図である。
【０１０９】
図１８（Ａ）では、仮想カメラＶＣ１に対応するビューボリュームＶＶ１のニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１が設定され、仮想カメラＶＣ２に対応するビューボリュームＶＶ２のニアプレーン面ＮＰ２に通過禁止領域ＰＦＡ２が設定されている。そして、通過禁止領域ＰＦＡ１および通過禁止領域ＰＦＡ２のいずれの領域もお供キャラクタＡＣ１およびお供キャラクタＡＣ２が通過できないように設定されている。
【０１１０】
さて、図１８（Ａ）では、プレーヤキャラクタＰＣ２が移動したため、プレーヤキャラクタＰＣ２のみが仮想カメラＶＣ２のビューボリュームＶＶ２内に含まれている。この場合、お供キャラクタＡＣ２は、プレーヤキャラクタＰＣ２の後を追って移動を開始し、ビューボリュームＶＶ２内のプレーヤキャラクタＰＣ２に追いつくことになる。
【０１１１】
ところで、この際に、お供キャラクタＡＣ２に通過禁止領域ＰＦＡ１および通過禁止領域ＰＦＡ２を迂回させてプレーヤキャラクタＰＣ２の下まで移動させるとなると、例えば、図１８（Ａ）の矢印に示すような移動経路でお供キャラクタＡＣ２は移動するように制御されるため、移動に時間がかかってしまう。
【０１１２】
そこで本実施形態では、図１８（Ｂ）に示すように、通過禁止領域ＰＦＡ１と通過禁止領域ＰＦＡ２とが交わる場合には、通過禁止領域ＰＦＡ１および通過禁止領域ＰＦＡ２が含まれる拡大通過禁止領域ＥＰＦＡを設定するように制御している。具体的には、通過禁止領域ＰＦＡ１（ニアプレーン面ＮＰ１）の頂点の位置および通過禁止領域ＰＦＡ２（ニアプレーン面ＮＰ２）の頂点の位置に基づいて、通過禁止領域ＰＦＡ１と通過禁止領域ＰＦＡ２とが交わるか否かを判定し、これらの頂点の位置に基づいて、拡大通過禁止領域ＥＰＦＡの形状および配置位置を決定している。
【０１１３】
このようにすると、お供キャラクタＡＣ２は、例えば、図１８（Ｂ）の矢印に示すような移動経路で移動するように制御されるため、図１８（Ａ）の矢印に示す移動経路に比べて、移動に要する時間を短縮することができる。このため、プレーヤキャラクタＰＣ２が移動しても、お供キャラクタＡＣ２を短時間でプレーヤキャラクタＰＣ２に追いつかせることが可能となる。従って、お供キャラクタＡＣ２が第２のプレーヤ用の表示部に表示されるまでの時間を短縮することができ、より好適な画像を生成することができる。
【０１１４】
なお本実施形態では、２つの通過禁止領域が交わる場合を例にとり説明したが、３つ以上の通過禁止領域が交わる場合にも同様の手法を採用することができる。また、お供キャラクタＡＣ１についても同様の手法を採用することができる。
【０１１５】
図１９（Ａ）は、お供キャラクタＡＣ１の移動経路を誘導できるように通過禁止領域ＰＦＡ１を設定するとともに、お供キャラクタＡＣ２の移動経路を誘導できるように通過禁止領域ＰＦＡ２を設定した状態の一例を示す平面図である。図１９（Ｂ）は、通過禁止領域ＰＦＡ１および通過禁止領域ＰＦＡ２が含まれる拡大通過禁止領域ＥＰＦＡを設定した状態の一例を示す平面図である。
【０１１６】
図１８（Ａ）同様に、図１９（Ａ）においても、お供キャラクタＡＣ２に通過禁止領域ＰＦＡ２を迂回させてプレーヤキャラクタＰＣ２の下まで移動させるとなると、例えば、図１９（Ａ）の矢印に示すような移動経路で移動するように制御されることになるため、移動に時間がかかってしまう。
【０１１７】
そこで、図１９（Ｂ）に示すように、通過禁止領域ＰＦＡ１と通過禁止領域ＰＦＡ２とが交わる場合には、通過禁止領域ＰＦＡ１および通過禁止領域ＰＦＡ２が含まれる拡大通過禁止領域ＥＰＦＡを設定するように制御している。具体的には、通過禁止領域ＰＦＡ１の頂点の位置および通過禁止領域ＰＦＡ２の頂点の位置に基づいて、通過禁止領域ＰＦＡ１と通過禁止領域ＰＦＡ２とが交わるか否かを判定し、これらの頂点の位置に基づいて、拡大通過禁止領域ＥＰＦＡの形状および配置位置を決定している。
【０１１８】
このようにすると、お供キャラクタＡＣ２は、例えば、図１９（Ｂ）の矢印に示すような移動経路で移動するように制御されるため、図１９（Ａ）の矢印に示す移動経路に比べて、移動に要する時間を短縮することができる。このため、プレーヤキャラクタＰＣ２が移動しても、お供キャラクタＡＣ２を短時間でプレーヤキャラクタＰＣ２に追いつかせることが可能となる。従って、お供キャラクタＡＣ２が第２のプレーヤ用の表示部に表示されるまでの時間を短縮することができ、より好適な画像を生成することができる。
【０１１９】
なお本実施形態では、２つの通過禁止領域が交わる場合を例にとり説明したが、３つ以上の通過禁止領域が交わる場合にも同様の手法を採用することができる。また、お供キャラクタＡＣ１についても同様の手法を採用することができる。
【０１２０】
次に、図２０を参照しながら複数のプレーヤによるプレイをオンラインゲームとして行う場合のゲームシステムの概略構成について説明する。図２０は、オンラインゲーム場合のゲームシステムの概略構成図の一例である。
【０１２１】
ゲームシステム１は、サーバ装置１０と、ゲーム装置２０−１、ゲーム装置２０−２、・・・ゲーム装置２０−Ｎと、これらを接続するネットワーク３０とを含む。各ゲーム装置からの入力データ（例えば、プレーヤキャラクタを操作するための操作情報など）は、ネットワーク３０を介してサーバ装置１０に送信され、サーバ装置１０では、受信した入力データに基づいてゲーム用の演算処理が行われる。そして、演算処理結果をネットワーク３０を介して各ゲーム装置に送信し、各ゲーム装置では、受信した演算結果に基づいて画像を生成する。
【０１２２】
３．本実施形態の処理
図２１を参照しながら本実施形態の処理詳細の一例について説明する。図２１は、本実施形態の処理の一例を説明するためのフローチャート図である。
【０１２３】
まず、操作情報の入力があるか否かを判定し（ステップＳ１００）、操作情報の入力がある場合には、プレーヤキャラクタＰＣ１を操作情報に応じた位置に移動させる（ステップＳ１００でＹ、ステップＳ１０２）。
【０１２４】
次に、プレーヤキャラクタＰＣ１の位置や向き（回転角度）に基づいて、少なくともプレーヤキャラクタＰＣ１がビューボリュームＶＶ１内に含まれるように仮想カメラＶＣ１の位置や向き（回転角度）を決定する（ステップＳ１０４）。
【０１２５】
次に、ビューボリュームＶＶ１のニアプレーン面ＮＰ１に通過禁止領域ＰＦＡ１を設定する（ステップＳ１０６）。
【０１２６】
次に、プレーヤキャラクタＰＣ１の位置とお供キャラクタＡＣ１の位置とに基づいて、お供キャラクタＡＣ１とプレーヤキャラクタＰＣ１との距離が所定範囲以上離れているか否かを判定し（ステップＳ１０８）、所定範囲以上離れている場合には、プレーヤキャラクタＰＣ１の後を追ってお供キャラクタＡＣ１を移動させる（ステップＳ１０８でＹ、ステップＳ１１０）。
【０１２７】
次に、お供キャラクタＡＣ１が通過禁止領域ＰＦＡ１に移動したか否かを判定し（ステップＳ１１２）、通過禁止領域ＰＦＡ１に移動した場合には、お供キャラクタＡＣ１の移動位置を修正する（ステップＳ１１２でＹ、ステップＳ１１４）。
【０１２８】
最後に、仮想カメラＶＣ１から見える描画空間ＶＶ１の画像を描画（生成）する（ステップＳ１１６）。
【０１２９】
４．変形例
本発明は、上記の実施形態で説明したものに限らず、種々の変形実施が可能である。以下、図２２を参照しながら変形実施形態について説明する。なお、以下に示す変形実施形態では、上記の実施形態と共通の事項については詳細な説明を省略し、主要な相違点について説明する。
【０１３０】
図２２（Ａ）は、オブジェクト空間の一例を示す斜視図であり、プレーヤキャラクタＰＣ１が敵キャラクタＥＣに対して攻撃を行っている状態の一例を示す図である。図２２（Ｂ）は、敵キャラクタＥＣがプレーヤキャラクタＰＣ１の攻撃を防いでいる状態の一例を示す図である。
【０１３１】
変形実施形態では、図２２（Ａ）に示すように、プレーヤキャラクタＰＣ１が複数の昆虫ＰＩ（複数のオブジェクトの一例）を召還し、これらの召還された昆虫ＰＩを用いて敵キャラクタＥＣに対して攻撃を行う。なお、これらの昆虫ＰＩは、敵キャラクタＥＣに向かって（敵キャラクタＥＣの位置に基づいて）移動するように制御されている（所与の移動アルゴリズムの一例）。
【０１３２】
仮想カメラＶＣ１は、少なくともプレーヤキャラクタＰＣ１および敵キャラクタＥＣを含んで撮影するように制御されている。つまり変形実施形態では、少なくともプレーヤキャラクタＰＣ１および敵キャラクタＥＣがビューボリュームＶＶ１内に含まれるように仮想カメラＶＣ１が制御されている。
【０１３３】
また敵キャラクタＥＣは、プレーヤキャラクタＰＣ１の攻撃を防御できるように制御されており、例えば、図２２（Ｂ）に示すように、プレーヤキャラクタＰＣ１と敵キャラクタＥＣとの間の領域であって、複数の昆虫ＰＩの移動経路上に、複数の昆虫ＰＩの通過を禁止する星形の通過禁止領域ＰＦＡ３を設定することで、プレーヤキャラクタＰＣ１による複数の昆虫ＰＩの攻撃を防御する。
【０１３４】
そして変形実施形態では、複数の昆虫ＰＩが通過禁止領域ＰＦＡ３にヒットすると、通過禁止領域ＰＦＡ３の形状に応じて複数の昆虫ＰＩを移動させるように制御されている。つまり変形実施形態では、図２２（Ｂ）に示すように、複数の昆虫ＰＩが通過禁止領域ＰＦＡ３にヒットすると、通過禁止領域ＰＦＡ３の形状である星形を描くように複数の昆虫ＰＩの移動が制御される。具体的には、通過禁止領域ＰＦＡ３に対するヒット位置に応じて各昆虫の移動経路（移動方向）が決定されている。
【０１３５】
従って、変形実施形態では、複数の昆虫ＰＩそれぞれの移動を制御するという煩雑な処理ではなく、演出に応じた形状の通過禁止領域ＰＦＡ３を設定するという簡易な処理で、複数の昆虫ＰＩに伴う演出を行うことができる。
【０１３６】
なお、本発明は上記実施形態で説明したものに限られず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１３７】
また、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。
【０１３８】
また本発明は、業務用画像生成システム、家庭用画像生成システム、携帯型画像生成システム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【０１３９】
【図１】本実施形態の画像生成システムの機能ブロックの一例を示す図。
【図２】本実施形態の画像生成システムの制御手法の説明図。
【図３】本実施形態の画像生成システムで生成される画像の一例を示す図。
【図４】本実施形態の画像生成システムで生成される画像の一例を示す図。
【図５】本実施形態の画像生成システムで生成される画像の一例を示す図。
【図６】本実施形態の画像生成システムの制御手法の説明図。
【図７】図７（Ａ）は本実施形態の画像生成システムの制御手法の説明図。図７（Ｂ）は本実施形態との比較例を示す図。
【図８】本実施形態との比較例を示す図。
【図９】本実施形態の画像生成システムの制御手法の説明図。
【図１０】本実施形態の画像生成システムで生成される画像の一例を示す図。
【図１１】本実施形態の画像生成システムの制御手法の説明図。
【図１２】本実施形態の画像生成システムの制御手法の説明図。
【図１３】本実施形態の画像生成システムの制御手法の説明図。
【図１４】本実施形態の画像生成システムの制御手法の説明図。
【図１５】本実施形態の画像生成システムの制御手法の説明図。
【図１６】本実施形態の画像生成システムの制御手法の説明図。
【図１７】本実施形態の画像生成システムで生成される画像の一例を示す図。
【図１８】本実施形態の画像生成システムの制御手法の説明図。
【図１９】本実施形態の画像生成システムの制御手法の説明図。
【図２０】本実施形態の画像生成システムの制御手法の説明図。
【図２１】本実施形態の画像生成システムの処理例を示すフローチャート図。
【図２２】変形実施形態の画像生成システムの制御手法の説明図。
【符号の説明】
【０１４０】
ＰＣ１〜ＰＣ２  プレーヤキャラクタ、ＡＣ１〜ＡＣ２  お供キャラクタ、
ＶＣ１〜ＶＣ２  仮想カメラ、ＥＣ  敵キャラクタ、
ＶＶ１〜ＶＶ２  ビューボリューム、ＮＰ１〜ＮＰ２  ニアプレーン面、
ＦＰ１〜ＦＰ２  ファープレーン面、ＰＦＡ１〜ＰＦＡ３  通過禁止領域、
ＥＰＦＡ  拡大通過禁止領域、
１  ゲームシステム、１０  サーバ装置、
２０−１〜２０−Ｎ  ゲーム装置、３０  ネットワーク、
１００  処理部、１１０  オブジェクト空間設定部、１１２  表示制御部、
１１４  移動制御部、１１６  仮想カメラ制御部、１１８  通信制御部、
１２０  描画部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  主記憶部、１７４  オブジェクトデータ記憶部、１７６  描画バッファ、
１８０  情報記憶媒体、１８２  携帯型情報記憶装置、１９０  表示部、
１９２  音出力部、１９４  通信部
【図１】
2009075739.tif 000003
【図２】
2009075739.tif 000004
【図３】
2009075739.tif 000005
【図４】
2009075739.tif 000006
【図５】
2009075739.tif 000007
【図６】
2009075739.tif 000008
【図７】
2009075739.tif 000009
【図８】
2009075739.tif 000010
【図９】
2009075739.tif 000011
【図１０】
2009075739.tif 000012
【図１１】
2009075739.tif 000013
【図１２】
2009075739.tif 000014
【図１３】
2009075739.tif 000015
【図１４】
2009075739.tif 000016
【図１５】
2009075739.tif 000017
【図１６】
2009075739.tif 000018
【図１７】
2009075739.tif 000019
【図１８】
2009075739.tif 000020
【図１９】
2009075739.tif 000021
【図２０】
2009075739.tif 000022
【図２１】
2009075739.tif 000023
【図２２】
2009075739.tif 000024