(57)【要約】【課題】少ないデータ量で多様な画像表現を実現できる画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】仮想カメラの視点位置とは別に用意される仮想点を設定し、仮想点とオブジェクトの位置関係により決められる方向とオブジェクトの向きとが所定の方向関係になるように、オブジェクトを配置する。オブジェクトの注視点や仮想カメラが追従する移動オブジェクトの位置に仮想点を設定したり、移動オブジェクトの速度に基づき仮想点を動かす。オブジェクト群毎に仮想点の設定を異ならせる。オブジェクトと仮想点との距離に基づいてオブジェクトの画像処理の内容を変更する。仮想カメラの視線方向とは別に用意される仮想方向を設定し、仮想方向とオブジェクトの向きとが所定の方向関係になるように、オブジェクトを配置する。オブジェクト群毎に仮想方向の設定を異ならせる。【選択図】図６
2008198232.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
仮想カメラの視点位置とは別に用意される仮想点を設定し、仮想点と各オブジェクトとの位置関係により決められる方向と、各オブジェクトの向きとが、所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記仮想点が、
仮想点によりその向きが設定されるオブジェクトが、ゲームにおいて注視する点の位置に設定されることを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
前記仮想点が、
仮想カメラが追従する移動オブジェクトの位置又は移動オブジェクトの速度により決められる位置に設定されることを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
複数のオブジェクトのうちの第１のオブジェクト群については、第１の仮想点又は仮想カメラの視点位置に基づいて、その向きが設定され、
複数のオブジェクトのうちの第２のオブジェクト群については、第２の仮想点基づいて、その向きが設定されることを特徴とする画像生成システム。
【請求項５】
請求項４において、
仮想カメラの視点設定の変更イベントが発生したことを条件に、
第１の仮想点又は仮想カメラの視点位置に基づいて第１のオブジェクト群の向きが設定され、第２の仮想点に基づいて第２のオブジェクト群の向きが設定されることを特徴とする画像生成システム。
【請求項６】
請求項４又は５において、
前記第１、第２の仮想点が、
仮想カメラの視線方向の線分上において異なった位置に設定されることを特徴とする画像生成システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
各オブジェクトと仮想点との距離に基づいて、各オブジェクトに施される画像処理の内容が変更されることを特徴とする画像生成システム。
【請求項８】
画像生成を行う画像生成システムであって、
複数のオブジェクトの向きを設定するための仮想方向であり仮想カメラの視線方向とは別に用意される仮想方向を設定し、仮想方向と複数のオブジェクトの向きとが所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項９】
請求項８において、
複数のオブジェクトのうちの第１のオブジェクト群については、第１の仮想方向又は仮想カメラの視線方向に基づいて、その向きが設定され、
複数のオブジェクトのうちの第２のオブジェクト群については、第２の仮想方向に基づいて、その向きが設定されることを特徴とする画像生成システム。
【請求項１０】
請求項９において、
仮想カメラの視点設定の変更イベントが発生したことを条件に、
第１の仮想方向又は仮想カメラの視線方向に基づいて第１のオブジェクト群の向きが設定され、第２の仮想方向に基づいて第２のオブジェクト群の向きが設定されることを特徴とする画像生成システム。
【請求項１１】
請求項８乃至１０のいずれかにおいて、
前記仮想方向が、
仮想カメラと仮想カメラが追従する移動オブジェクトとの位置関係により決められることを特徴とする画像生成システム。
【請求項１２】
請求項８乃至１１のいずれかにおいて、
仮想カメラの視線方向が変化した場合に、仮想方向を、視線方向の変化に追従させない或いは弱い追従度で追従させることを特徴とする画像生成システム。
【請求項１３】
画像生成を行う画像生成システムであって、
仮想カメラの視点位置とは別に用意される仮想点を設定し、各オブジェクトと仮想点との距離に基づいて、各オブジェクトに施される画像処理の内容を変更する画像処理変更部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項１４】
請求項１３において、
各オブジェクトと仮想点との距離に基づいて、各オブジェクトのα値の変更処理、デプスキューイング処理、テクスチャの変更処理が行われることを特徴とする画像生成システム。
【請求項１５】
請求項１乃至１４のいずれかにおいて、
仮想点又は仮想方向に基づいて、その向きが設定される又は画像処理の内容が変更されるオブジェクトが、板形状のオブジェクト又は基準線から放射状に延びる複数のプリミティブ面を有するオブジェクトであることを特徴とする画像生成システム。
【請求項１６】
画像を生成するためのプログラムであって、
仮想カメラの視点位置とは別に用意される仮想点を設定し、仮想点と各オブジェクトとの位置関係により決められる方向と、各オブジェクトの向きとが、所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項１７】
請求項１６において、
前記仮想点が、
仮想点によりその向きが設定されるオブジェクトが、ゲームにおいて注視する点の位置に設定されることを特徴とするプログラム。
【請求項１８】
請求項１６又は１７において、
前記仮想点が、
仮想カメラが追従する移動オブジェクトの位置又は移動オブジェクトの速度により決められる位置に設定されることを特徴とするプログラム。
【請求項１９】
請求項１６乃至１８のいずれかにおいて、
複数のオブジェクトのうちの第１のオブジェクト群については、第１の仮想点又は仮想カメラの視点位置に基づいて、その向きが設定され、
複数のオブジェクトのうちの第２のオブジェクト群については、第２の仮想点基づいて、その向きが設定されることを特徴とするプログラム。
【請求項２０】
請求項１９において、
仮想カメラの視点設定の変更イベントが発生したことを条件に、
第１の仮想点又は仮想カメラの視点位置に基づいて第１のオブジェクト群の向きが設定され、第２の仮想点に基づいて第２のオブジェクト群の向きが設定されることを特徴とするプログラム。
【請求項２１】
請求項１９又は２０において、
前記第１、第２の仮想点が、
仮想カメラの視線方向の線分上において異なった位置に設定されることを特徴とするプログラム。
【請求項２２】
請求項１６乃至２１のいずれかにおいて、
各オブジェクトと仮想点との距離に基づいて、各オブジェクトに施される画像処理の内容が変更されることを特徴とするプログラム。
【請求項２３】
画像を生成するためのプログラムであって、
複数のオブジェクトの向きを設定するための仮想方向であり仮想カメラの視線方向とは別に用意される仮想方向を設定し、仮想方向と複数のオブジェクトの向きとが所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２４】
請求項２３において、
複数のオブジェクトのうちの第１のオブジェクト群については、第１の仮想方向又は仮想カメラの視線方向に基づいて、その向きが設定され、
複数のオブジェクトのうちの第２のオブジェクト群については、第２の仮想方向に基づいて、その向きが設定されることを特徴とするプログラム。
【請求項２５】
請求項２４において、
仮想カメラの視点設定の変更イベントが発生したことを条件に、
第１の仮想方向又は仮想カメラの視線方向に基づいて第１のオブジェクト群の向きが設定され、第２の仮想方向に基づいて第２のオブジェクト群の向きが設定されることを特徴とするプログラム。
【請求項２６】
請求項２３乃至２５のいずれかにおいて、
前記仮想方向が、
仮想カメラと仮想カメラが追従する移動オブジェクトとの位置関係により決められることを特徴とするプログラム。
【請求項２７】
請求項２３乃至２６のいずれかにおいて、
仮想カメラの視線方向が変化した場合に、仮想方向を、視線方向の変化に追従させない或いは弱い追従度で追従させることを特徴とするプログラム。
【請求項２８】
画像を生成するためのプログラムであって、
仮想カメラの視点位置とは別に用意される仮想点を設定し、各オブジェクトと仮想点との距離に基づいて、各オブジェクトに施される画像処理の内容を変更する画像処理変更部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２９】
請求項２８において、
各オブジェクトと仮想点との距離に基づいて、各オブジェクトのα値の変更処理、デプスキューイング処理、テクスチャの変更処理が行われることを特徴とするプログラム。
【請求項３０】
請求項１６乃至２９のいずれかにおいて、
仮想点又は仮想方向に基づいて、その向きが設定される又は画像処理の内容が変更されるオブジェクトが、板形状のオブジェクト又は基準線から放射状に延びる複数のプリミティブ面を有するオブジェクトであることを特徴とするプログラム。
【請求項３１】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１６乃至３０のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内において所与の視点（仮想カメラ）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。競争ゲーム（カーゲーム）を楽しむことができる画像生成システムを例にとれば、プレーヤは、操作部（ステアリング、シフトレバー、アクセルペダル、ブレーキペダル等）を用いてプレーヤ移動体（プレーヤカー、プレーヤオブジェクト）を操作し、コンピュータや相手プレーヤが操作する敵移動体（敵カー、敵オブジェクト）と競争することでゲームを楽しむ。
【０００３】
このような画像生成システムでは、少ないデータ量で高品質な画像を生成するために、いわゆるビルボードと呼ばれる処理が行われる。このビルボード処理では、立体的に見える木、炎などの画像が描かれた板形状の多数のオブジェクト（平面ポリゴン）を、仮想カメラに正対するように配置することで、少ないデータ量で木、炎などの画像を生成する。このビルボード処理の従来技術としては例えば特開平８−５０１９４８がある。
【０００４】
しかしながら、これまでのビルボード処理では、ビルボードのオブジェクトの向きを決定するのに、仮想カメラの視点位置や視線方向だけが用いられていた。このため、生成される画像が画一的になってしまったり、オブジェクト配置の設計の自由度が制限されてしまうなどの課題があることが判明した。
【特許文献１】特開２０００−３０５７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ないデータ量で多様な画像表現を実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、画像生成を行う画像生成システムであって、仮想カメラの視点位置とは別に用意される仮想点を設定し、仮想点と各オブジェクトとの位置関係により決められる方向と、各オブジェクトの向きとが、所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、仮想カメラの視点位置とは別に仮想点が用意される。そして、仮想点とオブジェクトとの位置関係に応じて、オブジェクトが配置設定される。従って、仮想点を用いて、オブジェクトの向きを任意に制御できるようになり、少ないデータ量で多様な画像を生成できる。また、オブジェクトの配置設計の自由度を増すことができる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記仮想点が、仮想点によりその向きが設定されるオブジェクトが、ゲームにおいて注視する点の位置に設定されてもよい。
【０００９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記仮想点が、仮想カメラが追従する移動オブジェクトの位置又は移動オブジェクトの速度により決められる位置に設定されてもよい。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、複数のオブジェクトのうちの第１のオブジェクト群については、第１の仮想点又は仮想カメラの視点位置に基づいて、その向きが設定され、複数のオブジェクトのうちの第２のオブジェクト群については、第２の仮想点基づいて、その向きが設定されてもよい。
【００１１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想カメラの視点設定の変更イベントが発生したことを条件に、第１の仮想点又は仮想カメラの視点位置に基づいて第１のオブジェクト群の向きが設定され、第２の仮想点に基づいて第２のオブジェクト群の向きが設定されてもよい。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第１、第２の仮想点が、仮想カメラの視線方向の線分上において異なった位置に設定されてもよい。
【００１３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、各オブジェクトと仮想点との距離に基づいて、各オブジェクトに施される画像処理の内容が変更されてもよい。
【００１４】
また本発明は、画像生成を行う画像生成システムであって、複数のオブジェクトの向きを設定するための仮想方向であり仮想カメラの視線方向とは別に用意される仮想方向を設定し、仮想方向と複数のオブジェクトの向きとが所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１５】
本発明によれば、仮想カメラの視線方向とは別に仮想方向が用意される。そして、この仮想方向に基づいて、オブジェクトが配置設定される。従って、仮想方向を用いて、オブジェクトの向きを任意に制御できるようになり、少ないデータ量で多様な画像を生成できる。また、オブジェクトの配置設計の自由度を増すことができる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、複数のオブジェクトのうちの第１のオブジェクト群については、第１の仮想方向又は仮想カメラの視線方向に基づいて、その向きが設定され、複数のオブジェクトのうちの第２のオブジェクト群については、第２の仮想方向に基づいて、その向きが設定されてもよい。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想カメラの視点設定の変更イベントが発生したことを条件に、第１の仮想方向又は仮想カメラの視線方向に基づいて第１のオブジェクト群の向きが設定され、第２の仮想方向に基づいて第２のオブジェクト群の向きが設定されてもよい。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記仮想方向が、仮想カメラと仮想カメラが追従する移動オブジェクトとの位置関係により決められてもよい。
【００１９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想カメラの視線方向が変化した場合に、仮想方向を、視線方向の変化に追従させない或いは弱い追従度で追従させてもよい。
【００２０】
また本発明は、画像生成を行う画像生成システムであって、仮想カメラの視点位置とは別に用意される仮想点を設定し、各オブジェクトと仮想点との距離に基づいて、各オブジェクトに施される画像処理の内容を変更する画像処理変更部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００２１】
本発明によれば、仮想カメラの視点位置とは別に仮想点が用意される。そして、この仮想点からの距離に基づいて、オブジェクトに施される画像処理の内容が変更される。従って、仮想点を用いて、オブジェクトの画像処理の内容を制御できるようになり、少ない処理負荷で多様な画像を生成できる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、各オブジェクトと仮想点との距離に基づいて、各オブジェクトのα値の変更処理、デプスキューイング処理、テクスチャの変更処理が行われてもよい。
【００２３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想点又は仮想方向に基づいて、その向きが設定される又は画像処理の内容が変更されるオブジェクトが、板形状のオブジェクト又は基準線から放射状に延びる複数のプリミティブ面を有するオブジェクトであってもよい。
【発明を実施するための最良の形態】
【００２４】
以下、本実施形態について図面を用いて説明する。
【００２５】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２６】
１．構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお、本実施形態の画像生成システムは、図１の各部（機能ブロック）を全て含む必要はなく、その一部（例えば操作部１６０、携帯型情報記憶装置１９４又は通信部１９６等）を省略した構成としてもよい。
【００２７】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、或いは筺体などのハードウェアにより実現できる。
【００２８】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部をコンピュータに実現させるためのプログラム）が記憶（記録、格納）される。
【００３０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３１】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００３２】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３３】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３４】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３５】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００３６】
処理部１００は、移動・動作処理部１１０、オブジェクト空間設定部１１２、仮想カメラ（視点）制御部１１８、画像生成部１２０、音生成部１３０を含む。なお、処理部１００は、これらの各部（機能ブロック）を全て含む必要はなく、その一部を省略してもよい。
【００３７】
移動・動作処理部１１０は、オブジェクト（移動オブジェクト）の移動情報（位置、回転角度）や動作情報（オブジェクトの各パーツの位置、回転角度）を求める処理を行う。即ち、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作（モーション、アニメーション）させたりする処理を行う。
【００３８】
オブジェクト空間設定部１１２は、移動体（キャラクタ、車、戦車、ロボット）、柱、壁、建物、マップ（地形）などの各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間内に配置設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転）でオブジェクトを配置する。
【００３９】
オブジェクト空間設定部１１２は仮想点設定部１１４を含む。この仮想点設定部１１４は、仮想カメラの視点位置とは別に用意される仮想点（プログラムにおいて、視点位置とは別のパラメータでその位置が表される仮想的な点）をオブジェクト空間に設定する。
【００４０】
そして、オブジェクト空間設定部１１２は、設定された仮想点と各オブジェクト（例えば板形状のオブジェクト又は基準線から放射状に延びる複数のプリミティブ面を有するオブジェクト）との位置関係により決められる方向（例えばオブジェクトの任意の点と仮想点とを結ぶ線分の方向）と、各オブジェクトの向き（例えばオブジェクトのプリミティブ面又は主面の法線ベクトルの方向）とが、所定の方向関係（例えば平行）になるように、オブジェクト空間内にオブジェクトを配置設定する。
【００４１】
オブジェクト空間設定部１１２は仮想方向設定部１１６を含む。この仮想方向設定部１１６は、オブジェクト（オブジェクト群）の向き（例えばオブジェクトのプリミティブ面又は主面の法線ベクトルの方向）を設定するための方向であり仮想カメラの視線方向とは別に用意される仮想方向（プログラムにおいて、視線方向とは別のパラメータでその方向が表される仮想的な方向）を、オブジェクト空間に設定する。
【００４２】
そして、オブジェクト空間設定部１１２は、設定された仮想方向とオブジェクト（例えば板形状のオブジェクト又は基準線から放射状に延びる複数のプリミティブ面を有するオブジェクト）の向きとが、所定の方向関係（例えば平行）になるように、オブジェクト空間内にオブジェクト（オブジェクト群）を配置設定する。
【００４３】
仮想カメラ制御部１１８は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転（Ｘ、Ｙ、Ｚ軸回りでの回転）を制御する処理（視点位置や視線方向を制御する処理）等を行う。
【００４４】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転（仮想カメラの方向）を制御する。この場合には、移動・動作演算部１１０で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御することになる。
【００４５】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。即ち、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）が、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００４６】
画像生成部１２０はα合成部１２２を含む。このα合成部１２２は、α値（Ａ値）に基づくα合成処理（αブレンディング、α加算又はα減算等）を行う。例えばα合成がαブレンディングである場合には下式のような合成処理が行われる。
【００４７】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４に既に描画されている画像（背景画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画するオブジェクト（プリミティブ）の色のＲ、Ｇ、Ｂ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像の色のＲ、Ｇ、Ｂ成分である。
【００４８】
なお、α値（Ａ値）は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４９】
画像生成部１２０はデプスキューイング部１２４を含む。このデプスキューイング部１２４は、オブジェクトのデプスキューイング処理を行う。
【００５０】
ここでデプスキューイング処理は、オブジェクトの色（輝度）を距離を関数として補間して、背景の色（広義にはターゲット色）に徐々に近づける処理である。例えば背景色が青であった場合には、距離（例えば仮想カメラ又は仮想点からの距離）が遠いオブジェクトほど、その色が青に近づくようになる。従って、オブジェクトの元の色が何色であっても、遠景においてはオブジェクトの色が背景色に近づき、オブジェクトが背景に溶け込んだかのように見える画像を生成できる。なお、デプスキューイング処理は、デプスキューイング効果の強さを決めるパラメータであるデプスキューイング値を用いて制御される。
【００５１】
画像生成部１２０はテクスチャマッピング部１２６を含む。このテクスチャマッピング部１２６は、テクスチャ記憶部１７６に記憶されるテクスチャをオブジェクトにマッピングする処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いて、テクスチャ記憶部１７６からテクスチャ（色、輝度、法線、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピング（project）する。この場合に、画素とテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。また、インデックスカラー・テクスチャマッピング用のＬＵＴ（ルックアップテーブル）を用いたテクスチャマッピングを行うようにしてもよい。
【００５２】
画像生成部１２０は画像処理変更部１２８を含む。この画像処理変更部１２８は、オブジェクトと仮想点との距離（奥行き距離、直線距離等）に応じて、オブジェクトに施される画像処理の内容を変更する。
【００５３】
より具体的には、オブジェクトと仮想点との距離に基づいて、α合成処理、デプスキューイング処理、テクスチャマッピング処理が行われるようにする。例えば、オブジェクトと仮想点との距離に基づいて、オブジェクトに使用されるα値（半透明度、透明度）を変更する。或いは、オブジェクトと仮想点の距離に基づいて、デプスキューイング処理が行われるようにする。或いは、オブジェクトと仮想点の距離に基づいて、オブジェクトにマッピングされるテクスチャ（テクスチャ座標）を変更する。
【００５４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５６】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５７】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００５８】
２．１  仮想点の設定
さて、いわゆるビルボード処理では、図２（Ａ）に示すように、仮想カメラＶＣの視点位置ＶＷＰとオブジェクトＯＢ１、ＯＢ２、ＯＢ３を結ぶ方向を求める。そして、求められた方向とＯＢ１、ＯＢ２、ＯＢ３の向きＮ１、Ｎ２、Ｎ３とが平行になるように、ＯＢ１、ＯＢ２、ＯＢ３を配置する。これにより、オブジェクトＯＢ１〜ＯＢ３が仮想カメラＶＣの視点位置ＶＷＰの方に正対するように配置される。
【００５９】
しかしながら、これまでのビルボード処理では、オブジェクトＯＢ１〜ＯＢ３の向きを決定するのに、仮想カメラの視点位置だけが用いられていた。このため、生成される画像が画一的になってしまったり、オブジェクト配置の設計の自由度が制限されてしまうなどの課題があることが判明した。
【００６０】
そこで本実施形態では図２（Ｂ）に示すように、仮想カメラＶＣの視点位置ＶＷＰとは別に仮想点ＶＬＰを用意する。即ち、視点位置ＶＷＰのパラメータとは別のパラメータ（変数）でその位置が表される仮想点ＶＬＰを用意する。
【００６１】
そして、この仮想点ＶＬＰとオブジェクトＯＢ１〜ＯＢ３との位置関係により決められる方向と、ＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３とが所定（所与）の方向関係になるように、ＯＢ１〜ＯＢ３を配置する。
【００６２】
このようにすることで、図２（Ａ）では、仮想カメラＶＣの視点位置ＶＷＰの方にしかオブジェクトＯＢ１〜ＯＢ３を正対させることができなかったのに対して、図２（Ｂ）では、仮想点ＶＬＰの方にオブジェクトＯＢ１〜ＯＢ３を正対させることが可能になる。これにより、視点位置ＶＷＰとは独立に任意の位置に設定可能な仮想点ＶＬＰの方に、オブジェクトＯＢ１〜ＯＢ３を向かせることが可能になる。従って、視点設定の変更イベントの発生、仮想カメラＶＣが追従するオブジェクトとＶＣとの位置関係、或いはゲーム状況の変化などに応じて、種々の位置に仮想点ＶＬＰを設定することで、多種多様な画像を生成できるようになる。また、仮想点ＶＬＰを任意の位置に設定することで、オブジェクト配置の設計の自由度を増すことが可能になり、ゲーム設計の容易化を図れる。
【００６３】
なお、ＶＬＰとＯＢ１〜ＯＢ３との位置関係（位置座標）により決められる方向は、例えば、ＶＬＰとＯＢ１〜ＯＢ３の任意の点（代表点又は頂点等）とを結ぶ方向である。或いは、ＶＬＰの第１、第２の座標成分（Ｘ、Ｚ座標）で特定される点（ＸＺ平面上の点）と、ＯＢ１〜ＯＢ３の第１、第２の座標成分で特定される点とを結ぶ方向などであってもよい。
【００６４】
また、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３（表示方向の向き。表の面の向き）は、オブジェクトＯＢ１〜ＯＢ３を構成するプリミティブ面（主面）の法線ベクトルの方向である。或いは、オブジェクトＯＢ１〜ＯＢ３の向きを代表的に表す方向として仮想的に設定された方向であってもよい。
【００６５】
また、ＶＬＰとＯＢ１〜ＯＢ３との位置関係により決められる方向とＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３とが所定の方向関係になるとは、例えば、その方向とＮ１〜Ｎ３とのなす角度が所定の角度になることである。より具体的には図２（Ｂ）に示すように、その方向とＮ１〜Ｎ３とのなす角度を例えば零度（ほぼ零度の場合を含む）に設定して、その方向とＮ１〜Ｎ３が平行（ほぼ平行の場合を含む）になるようにする。
【００６６】
図３（Ａ）〜（Ｆ）に、仮想点ＶＬＰ（或いは仮想方向）に基づいてその向きが設定されるオブジェクトＯＢ（図２（Ｂ）のＯＢ１〜ＯＢ３）の例を示す。
【００６７】
図３（Ａ）のＯＢは板形状のオブジェクト（１又は複数のプリミティブ面を平面的に配置することで構成されるオブジェクト）であり、木の画像（立体的に見えるようにＣＧにより作成された画像）がＯＢに描かれている。より具体的には木の画像のテクスチャ（木が描かれている部分以外は透明のテクスチャ）がＯＢにマッピングされている。
【００６８】
図３（Ａ）の板形状のオブジェクトＯＢを多数配置することで森林を表現できる。そして、仮想点ＶＬＰの方にその向きが向くように複数のオブジェクトＯＢを配置すれば、より少ない個数のオブジェクトＯＢで、より広い面積を占める森林を表現できる。
【００６９】
図３（Ｂ）、（Ｃ）のＯＢも板形状のオブジェクトであり、観客の画像、爆発の画像がＯＢに描かれている。より具体的には観客の画像、爆発の画像のテクスチャがＯＢにマッピングされている。図３（Ｂ）、（Ｃ）の板形状のオブジェクトＯＢを多数配置することで、大きな観客席や大きな爆発を表現できる。
【００７０】
なお、図３（Ａ）、（Ｂ）、（Ｃ）のオブジェクトＯＢでは、画像が描かれている表示面側（表の面）の法線ベクトルの方向を、ＯＢの向き（図２（Ｂ）のＮ１〜Ｎ３）に設定できる。
【００７１】
図３（Ｄ）、（Ｅ）、（Ｆ）のＯＢは、基準線ＲＬ（中心線）から放射状に延びる複数のプリミティブ面（ポリゴン）ＰＲ１〜ＰＲ４、ＰＲ１〜ＰＲ３、ＰＲ１〜ＰＲ５を有するオブジェクトである。図３（Ｄ）、（Ｅ）、（Ｆ）に示すようなオブジェクトＯＢを用いれば、いわゆる書き割り形状（十字形状等）であるのにもかかわらず、あたかもボリュームを持つ立体形状であるかのように表示物を見せることができる。
【００７２】
なお、図３（Ｄ）、（Ｅ）、（Ｆ）のオブジェクトＯＢでは、ＯＢを構成するプリミティブ面のうちの１つのプリミティブ面（ＰＲ１〜ＰＲ５のいずれか）の法線ベクトルの方向を、ＯＢの向き（図２（Ｂ）のＮ１〜Ｎ３）に設定できる。或いは、オブジェクトＯＢに仮想的に設定された代表方向を、ＯＢの向きに設定してもよい。この場合の代表方向としては、例えば、プリミティブ面（ＰＲ１〜ＰＲ５のいずれか）に沿った方向や、第１のプリミティブ面（例えばＰＲ１）に沿った方向と第２のプリミティブ面（例えばＰＲ２）に沿った方向の中間方向などを採用できる。
【００７３】
また、図３（Ｄ）、（Ｅ）、（Ｆ）のオブジェクトＯＢにおいて、プリミティブ面ＰＲ１〜ＰＲ５に交差（直交）するプリミティブ面を更に付加してもよい。
【００７４】
また、図３（Ａ）〜（Ｆ）のオブジェクトＯＢに、ムービー・テクスチャをマッピングするようにしてもよい。
【００７５】
２．２  注視点、移動体位置への仮想点の設定
仮想点ＶＬＰを設定位置としては種々の位置を考えることができる。
【００７６】
例えば図４では、オブジェクトＯＢ１、ＯＢ２がゲームにおいて注視する点の位置に、ＶＬＰが設定されている。
【００７７】
より具体的には、オブジェクトＯＢ１、ＯＢ２には、図３（Ｂ）に示すような観客の画像がマッピングされている。そして、ゲームにおける観客の注視点は、オブジェクトＥＯＢ１、ＥＯＢ２（他のプレーヤ又はコンピュータが操作するオブジェクト）のクラッシュ地点になっている。この場合には、ＯＢ１、ＯＢ２の注視点であるクラッシュ地点に、仮想点ＶＬＰを設定する。なお、ＭＯＢは仮想カメラＶＣが追従するオブジェクト（プレーヤが操作するオブジェクト）である。
【００７８】
図４のようにすれば、観客表現用のオブジェクトＯＢ１、ＯＢ２の向きＮ１、Ｎ２が、仮想点ＶＬＰが設定される注視点（クラッシュ地点）の方に向くようになる。従って、観客がクラッシュ地点を注視している様子が、仮想カメラＶＣから見えるようになり、より多様でリアルな画像を表現できる。例えば図２（Ａ）のように視点位置ＶＷＰだけに基づいてオブジェクトの向きを設定する手法では、図４に示すような画像表現を実現できない。
【００７９】
なお、仮想点ＶＬＰが設定される注視点は、固定的な位置であってもよいし、ゲーム状況、ゲーム進行、時間経過又移動オブジェクトの速度等に応じてその位置を動的に変化させてもよい。
【００８０】
また、仮想点ＶＬＰが設定される注視点としては、ゲームにおけるイベントの発生位置（クラッシュ位置、キャラクタ同士の戦闘位置）、球技ゲームにおけるボールの位置など、種々のものを考えることができる。
【００８１】
図５（Ａ）では、仮想カメラＶＣが追従する移動オブジェクトＭＯＢ（プレーヤが操作するオブジェクト）の位置（代表点）に、仮想点ＶＬＰが設定されている。
【００８２】
図５（Ａ）のようにすれば、オブジェクトＯＢ１〜ＯＢ３の向きＮ１、Ｎ２、Ｎ３が、仮想点ＶＬＰが設定された移動オブジェクトＭＯＢの方に向くようになる。従って、仮想カメラＶＣの視点位置ＶＷＰの変化に依らず、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３が、移動オブジェクトＭＯＢを注視する方向に向くようになる。
【００８３】
また図５（Ｂ）、（Ｃ）では、仮想カメラＶＣが追従する移動オブジェクトＭＯＢの速度により決められる位置に、仮想点ＶＬＰが設定されている。
【００８４】
例えば図５（Ｂ）では、移動オブジェクトＭＯＢの速度が速いため、オブジェクトＯＢ１〜ＯＢ３から、より近い位置に仮想点ＶＬＰが設定される。一方、図５（Ｃ）では、移動オブジェクトＭＯＢの速度が遅いため、オブジェクトＯＢ１〜ＯＢ３から、より遠い位置に仮想点ＶＬＰが設定される。
【００８５】
このようにすれば、移動オブジェクトＭＯＢの速度が速いほど、図５（Ｂ）のオブジェクトＯＢ１、ＯＢ３の向きＮ１、Ｎ３が、ＭＯＢの移動方向（仮想カメラＶＣの視線方向ＶＷＤ）に対してより直交する方向に向くようになる。この結果、スピード感溢れる画像が仮想カメラＶＣから見えるようになり、画像のリアル度を増すことができる。
【００８６】
なお、移動オブジェクトＭＯＢの速度に応じて仮想点ＶＬＰの位置を変化させる場合には、仮想カメラＶＣの視線方向ＶＷＤの線分上で、ＭＯＢの速度に応じて仮想点ＶＬＰの位置を変化させてもよい。或いは、移動オブジェクトＭＯＢが走行するコースに沿った方向（コースデータが有するコース方向データにより特定される方向）の線分上で、ＭＯＢの速度に応じて仮想点ＶＬＰの位置を変化させてもよい。
【００８７】
２．３  オブジェクト群毎の仮想点の設定
本実施形態では、オブジェクト群毎に異なる仮想点を設定できる。
【００８８】
例えば図６では、オブジェクトＯＢ１〜ＯＢ３（第１のオブジェクト群）は、仮想点ＶＬＰ１（第１の仮想点）に基づいて、その向きＮ１〜Ｎ３が設定される。即ち、仮想点ＶＬＰ１とＯＢ１〜ＯＢ３との位置関係により決められる方向とＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３とが、所定（所与）の方向関係になるように、ＯＢ１〜ＯＢ３が配置される。なお、仮想点ＶＬＰ１の代わりに、仮想カメラＶＣの視点位置ＶＷＰに基づいて、ＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３を設定してもよい。
【００８９】
一方、オブジェクトＯＢ４〜ＯＢ６（第２のオブジェクト群）は、仮想点ＶＬＰ２（第２の仮想点）に基づいて、その向きＮ４〜Ｎ６が設定される。即ち、仮想点ＶＬＰ２とＯＢ４〜ＯＢ６との位置関係により決められる方向とＯＢ４〜ＯＢ６の向きＮ４〜Ｎ６とが、所定の方向関係になるように、ＯＢ４〜ＯＢ６が配置される。
【００９０】
このように、オブジェクト群毎に異なる仮想点を設定することで、更に多様な画像を生成できる。
【００９１】
例えば、オブジェクトＯＢ１〜ＯＢ３として図３（Ｂ）に示すような観客表現用オブジェクトを採用し、これらのＯＢ１〜ＯＢ３については、ＯＢ１〜ＯＢ３から近い位置に設定される仮想点ＶＬＰ１（或いは視点位置ＶＷＰ）に基づいて、その向きＮ１〜Ｎ３を設定する。
【００９２】
一方、オブジェクトＯＢ４〜ＯＢ７として図３（Ａ）に示すような木表現用のオブジェクトを採用し、これらのＯＢ４〜ＯＢ７については、ＯＢ４〜ＯＢ７から遠い位置に設定される仮想点ＶＬＰ２に基づいて、その向きＮ４〜Ｎ６を設定する。
【００９３】
このようにすれば、観客表現用のオブジェクトＯＢ１、ＯＢ３の向きＮ１、Ｎ３を、仮想カメラＶＣの視線方向ＶＷＤに対してより直交する方向に向けることが可能になる。これにより、観客がＶＬＰ１の方を注視している様子を表現できる。
【００９４】
一方、木表現用のオブジェクトＯＢ４、ＯＢ６の向きＮ４、Ｎ６については、仮想カメラＶＣの視線方向ＶＷＤに対してより平行な方向に向けることが可能になる。これにより、より少ない個数のオブジェクトで、より広い面積を占める森林を表現できるようになる。
【００９５】
なお、仮想点ＶＬＰ１、ＶＬＰ２は、仮想カメラＶＣの視線方向ＶＷＤの線分上（視点位置ＶＷＰを通る線分上）において異なった位置に設定できる。或いは、移動オブジェクトが走行するコースに沿った方向（コースデータが有するコース方向データにより特定される方向）の線分上で、異なった位置に設定してもよい。
【００９６】
また、仮想カメラＶＣの視点設定の変更イベント（広義には、ゲーム中のイベント）が発生したことを条件に、オブジェクト群毎に異なる仮想点を設定するようにしてもよい。
【００９７】
例えば図７（Ａ）に示すように、視点設定変更イベントの発生前においては、爆発表現用の第１のオブジェクト群のオブジェクトＯＢ１、木表現用の第２のオブジェクト群のオブジェクトＯＢ２は、共に、仮想カメラＶＣの視点位置ＶＷＰ（或いは視線方向ＶＷＤ）に基づいて、その向きＮ１、Ｎ２が設定されている。
【００９８】
一方、図７（Ｂ）に示すように、仮想カメラＶＣの視点位置ＶＷＰや視線方向ＶＷＤが急激に変化する視点設定変更イベントが発生した場合には、仮想点ＶＬＰ１、ＶＬＰ２を新たに設定する（ＶＬＰ１、ＶＬＰ２のパラメータを用意する）。そして、爆発表現用の第１のオブジェクト群のオブジェクトＯＢ１については、仮想点ＶＬＰ１又は視点位置ＶＷＰに基づいて、その向きＮ１を設定する。一方、木表現用の第２のオブジェクト群のオブジェクトＯＢ２については、仮想点ＶＬＰ２に基づいて、その向きＮ２を設定する。即ち、オブジェクト毎の仮想点の設定を異ならせる。
【００９９】
このようにすることで、例えば、爆発表現用の第１のオブジェクト群のオブジェクトＯＢ１の向きＮ１については、仮想点ＶＬＰ１（視点位置ＶＷＰ）の方に向き、木表現用の第２のオブジェクト群のオブジェクトＯＢ２の向きＮ２については、仮想点ＶＬＰ２の方に向くという、オブジェクトの配置制御が可能になる。
【０１００】
これにより、視点設定変更イベントの発生により、木表現用のオブジェクトＯＢ２の向きＮ２が仮想カメラＶＣの方に向いてしまうというような不自然な画像が生成されるのを防止できる。一方、爆発表現用のオブジェクトＯＢ１については、視点設定変更イベントの発生時に仮想カメラＶＣの方に向いても不自然な画像にならない。逆にＯＢ１の向きＮ１を仮想カメラＶＣの方に向けることで、ＶＣから見たときのスクリーン上での爆発表示の占有面積が増すという利点が得られる。
【０１０１】
なお、視点設定変更イベントは、仮想カメラの視点位置や視線方向が急激に変化等することで、仮想カメラの制御プログラムのアルゴリズムの切り替えが必要になるイベント等である。例えば、コース上で走行する移動オブジェクトに仮想カメラが追従している時に、仮想カメラが急激に上空に移動するイベントや、移動オブジェクトがスリップしてその向きが急激に変化するイベントや、ロールプレイングゲームにおいてゲーム場面が切り替わるイベントなどを考えることができる。
【０１０２】
２．４  仮想点から距離に応じた画像処理内容の変更
本実施形態によれば、オブジェクトと仮想点との距離に応じて、オブジェクトに施される画像処理の内容を変更できる。より具体的には、オブジェクトと仮想点との距離に基づいて、オブジェクトのα値（半透明度、透明度）の変更処理、デプスキューイング処理、テクスチャ（テクスチャ座標）の変更処理などを行う。
【０１０３】
例えば図８（Ａ）において、オブジェクトＯＢ１、ＯＢ２、ＯＢ３にはフォグ（霧、雲又は煙等）の画像（テクスチャ）が描かれている。そして、仮想点ＶＬＰとオブジェクトＯＢ１、ＯＢ２、ＯＢ３の間の距離（奥行き距離或いは直線距離等）はＤ１、Ｄ２、Ｄ３（Ｄ１＜Ｄ２＜Ｄ３）となっている。
【０１０４】
この場合に本実施形態では、例えば仮想点ＶＬＰから遠いオブジェクトほど、より不透明になるようにα値を設定する。例えば図８（Ａ）では、オブジェクトＯＢ１、ＯＢ２、ＯＢ３の順で、徐々に不透明度が高くなっている。このようにすることで、手前側では半透明で、奥側に行くほど徐々に不透明になってゆくリアルなフォグ画像を表現できる。
【０１０５】
また図８（Ｂ）において、オブジェクトＯＢ１、ＯＢ２、ＯＢ３にはビル、看板、道路等の画像（テクスチャ）が描かれている。そして、仮想点ＶＬＰとオブジェクトＯＢ１、ＯＢ２、ＯＢ３の間の距離はＤ１、Ｄ２、Ｄ３（Ｄ１＜Ｄ２＜Ｄ３）となっている。
【０１０６】
この場合に本実施形態では、例えば仮想点ＶＬＰから遠いオブジェクトほど、よりデプスキューイング効果（背景色の補間率）が高くなるように設定する。例えば図８（Ｂ）では、オブジェクトＯＢ１、ＯＢ２、ＯＢ３の順で、その色が、徐々に背景色（ターゲット色）に近づいて行く。このようにすることで、奥側のオブジェクトが背景に溶け込んで行く様子を表現できる。
【０１０７】
また図８（Ｃ）において、仮想点ＶＬＰとオブジェクトＯＢ１、ＯＢ２、ＯＢ３の間の距離はＤ１、Ｄ２、Ｄ３（Ｄ１＜Ｄ２＜Ｄ３）となっている。
【０１０８】
この場合に本実施形態では、仮想点ＶＬＰとオブジェクトの間の距離に応じて、そのオブジェクトにマッピングされるテクスチャを変更する。これにより、距離に応じて、オブジェクトの絵柄や半透明度を変化させることが可能になる。
【０１０９】
例えば本実施形態と異なる手法として、仮想カメラＶＣの視点位置ＶＷＰからの距離に応じて、オブジェクトに施す画像処理の内容を変化させる手法を考えることができる。
【０１１０】
しかしながら、この手法では、α合成処理のα値やデプスキューイング処理の補間率を制御するパラメータとして、視点位置ＶＷＰからの距離だけしか用いることができない。このため、α値や補間率を求める関数（距離を引数とする関数）が複雑化するなどの問題が生じる。
【０１１１】
これに対して、本実施形態のように仮想点ＶＬＰからの距離に基づいてα値や補間率を制御する手法によれば、仮想点ＶＬＰを適切な位置に設定することで、α値や補間率を求める関数の簡素化等を図れる。例えば、オブジェクトＯＢ１〜ＯＢ３のうち、奥側に位置するＯＢ２、ＯＢ３だけについて、そのα値や補間率を変化させたい場合には、ＯＢ２の手前の位置に仮想点ＶＬＰを設定する。そして、オブジェクトＯＢ２、ＯＢ３と仮想点ＶＬＰとの距離を引数となる簡素な関数（例えば一次関数、２次関数等）を用いて、ＯＢ２、ＯＢ３のα値や補間率を求めるようにする。
【０１１２】
なお、仮想点との距離に応じて変更する画像処理は、図８（Ａ）、（Ｂ）、（Ｃ）に限定されず、種々の処理を考えることができる。また、２個以上の仮想点を用いて画像処理の内容を変更してもよい。また、オブジェクトの向き等を変更せずに、仮想点との距離に応じて画像処理の内容だけを変更するようにしてもよい。
【０１１３】
２．５  仮想方向の設定
以上では、仮想点を用いてオブジェクトの向きを制御していたが、本実施形態では、仮想方向を用いてオブジェクトの向きを制御することもできる。
【０１１４】
具体的には図９（Ａ）に示すように、複数のオブジェクトＯＢ１〜ＯＢ３の向きＮ１、Ｎ２、Ｎ３を一律に設定するための仮想方向ＶＬＤを用意する。この仮想方向ＶＬＤは、仮想カメラＶＣの視線方向ＶＷＤとは別に用意される。即ち、仮想方向ＶＬＤは、視線方向ＶＷＤのパラメータとは別のパラメータ（変数）でその方向が表される。なお、一時的に仮想方向ＶＬＤと視線方向ＶＷＤが同じ方向になってもかまわない。
【０１１５】
そして本実施形態では図９（Ａ）に示すように、仮想方向ＶＬＤとオブジェクトＯＢ１〜ＯＢ３（図３（Ａ）〜（Ｆ）のオブジェクト）の向きＮ１〜Ｎ３とが所定（所与）の方向関係になるように、ＯＢ１〜ＯＢ３を配置する。
【０１１６】
このようにすれば、仮想カメラＶＣの視線方向ＶＷＤとは独立に任意の方向に設定可能な仮想方向ＶＬＤを用いて、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３を制御できるようになる。従って、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３を視線方向ＶＷＤでしか制御できない手法に比べて、オブジェクト配置の設計の自由度を増すことができる。また、仮想方向ＶＬＤを任意の方向に設定することで、多種多様な画像を生成できるようになる。
【０１１７】
例えば本実施形態によれば、図９（Ｂ）に示すように仮想カメラＶＣの視線方向ＶＷＤが変化した場合にも、この変化に仮想方向ＶＬＤを追従させないようにすることができる。従って、視線方向ＶＷＤが変化した時にも、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ４は変化しないようになり、より自然な画像を生成できる。
【０１１８】
また、図２（Ｂ）に示す仮想点ＶＬＰを用いる手法では、ＶＬＰとオブジェクトＯＢ１〜ＯＢ３とを結ぶ線分を求める処理が必要になる。これに対して、仮想方向ＶＬＤを用いる手法によれば、このような処理が不要になり、処理負荷を軽減できる。
【０１１９】
なお、仮想方向ＶＬＤとＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３とが所定の方向関係になるとは、例えば、ＶＬＤとＮ１〜Ｎ３とのなす角度が所定の角度になることである。より具体的には図９（Ａ）、（Ｂ）に示すように、仮想方向ＶＬＤとＮ１〜Ｎ３とのなす角度を例えば零度（ほぼ零度の場合を含む）に設定して、仮想方向ＶＬＤとＮ１〜Ｎ３が平行（ほぼ平行の場合を含む）になるようにする。或いは、仮想方向ＶＬＤのベクトルの第１、第２の座標成分（Ｘ、Ｚ座標）で決められる方向と、Ｎ１〜Ｎ３のベクトルの第１、第２の座標成分で決められる方向とのなす角度が、所定の角度になるように、オブジェクトＯＢ１〜ＯＢ３を配置してもよい。
【０１２０】
２．６  オブジェクト群毎の仮想点の設定
本実施形態では、オブジェクト群毎に異なる仮想方向を設定できる。
【０１２１】
例えば図１０において、オブジェクトＯＢ１〜ＯＢ３（第１のオブジェクト群）については仮想方向ＶＬＤ１（第１の仮想方向）に基づいて、その向きＮ１〜Ｎ３を設定し、オブジェクトＯＢ４〜ＯＢ６（第２のオブジェクト群）については、仮想方向ＶＬＤ２（第２の仮想方向）に基づいて、その向きＮ４〜Ｎ６を設定する  またオブジェクトＯＢ７〜ＯＢ９（第３のオブジェクト群）については、仮想方向ＶＬＤ３（第３の仮想方向）に基づいて、その向きＮ７〜Ｎ９を設定する。なお、仮想方向ＶＬＤ１の代わりに、仮想カメラＶＣの視線方向ＶＷＤに基づいて、ＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３を設定してもよい。
【０１２２】
このように、オブジェクト群毎に異なる仮想方向を設定することで、更に多様な画像を生成できるようになる。
【０１２３】
例えば、オブジェクトＯＢ１〜ＯＢ３として図３（Ａ）に示すような木表現用のオブジェクトを採用し、これらのＯＢ１〜ＯＢ３については、視線方向ＶＷＤと同じ又は近い方向に設定される仮想方向ＶＬＤ１（或いはＶＷＤそのもの）に基づいて、その向きＮ１〜Ｎ３を設定する。
【０１２４】
一方、オブジェクトＯＢ４〜ＯＢ６、ＯＢ７〜ＯＢ９として図３（Ｂ）に示すような観客表現用のオブジェクトを採用し、これらのＯＢ４〜ＯＢ６、ＯＢ７〜ＯＢ９については、視線方向ＶＷＤとは異なる方向に設定される仮想方向ＶＬＤ２、ＶＬＤ３に基づいて、その向きＮ４〜Ｎ６、Ｎ７〜Ｎ９を設定する。
【０１２５】
このようにすれば、木表現用のオブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３を、視線方向ＶＷＤに対してより平行な方向に向けることが可能になる。これにより、少ない個数のオブジェクトで、より広い面積を占める森林を表現できる。
【０１２６】
一方、観客表現用オブジェクトＯＢ４〜ＯＢ６、ＯＢ７〜ＯＢ９の向きＮ４〜Ｎ６、Ｎ７〜Ｎ９については、視線方向ＶＷＤに対してより直交する方向に向けることが可能になる。これにより、観客が移動オブジェクトや仮想カメラの方を注視している様子を表現できる。
【０１２７】
また、仮想カメラＶＣの視点設定の変更イベント（広義には、ゲーム中のイベント）が発生したことを条件に、オブジェクト群毎に異なる仮想方向を設定するようにしてもよい。
【０１２８】
例えば図１１（Ａ）に示すように、視点設定変更イベントの発生前においては、爆発表現用の第１のオブジェクト群のオブジェクトＯＢ１、木表現用の第２のオブジェクト群のオブジェクトＯＢ２は、共に、仮想カメラＶＣの視線方向ＶＷＤに基づいて、その向きＮ１、Ｎ２が設定されている。
【０１２９】
一方、図１１（Ｂ）に示すように、仮想カメラＶＣの視点位置ＶＷＰや視線方向ＶＷＤが急激に変化する視点設定変更イベントが発生した場合には、仮想方向ＶＬＤ１、ＶＬＤ２を新たに設定する（ＶＬＤ１、ＶＬＤ２のパラメータを用意する）。そして、爆発表現用の第１のオブジェクト群のオブジェクトＯＢ１については、仮想方向ＶＬＤ１又は視線方向ＶＷＤに基づいて、その向きＮ１を設定する。一方、木表現用の第２のオブジェクト群のオブジェクトＯＢ２については、仮想方向ＶＬＤ２に基づいて、その向きＮ２を設定する。即ち、オブジェクト毎の仮想方向の設定を異ならせる。
【０１３０】
このようにすることで、視点設定変更イベントの発生により、木表現用のオブジェクトＯＢ２の向きＮ２が仮想カメラＶＣの方に向いてしまうというような不自然な画像が生成されるのを防止できる。一方、爆発表現用のオブジェクトＯＢ１については、視点設定変更イベントの発生時に仮想カメラＶＣの方に向いても不自然な画像にならない。逆にＯＢ１の向きＮ１を仮想カメラＶＣの方に向けることで、ＶＣから見たときのスクリーン上での爆発表示の占有面積が増すという利点が得られる。
【０１３１】
２．７  移動オブジェクトとの位置関係に基づく仮想方向の設定
本実施形態では、仮想カメラと移動オブジェクトとの位置関係に基づき、仮想方向を設定できる。
【０１３２】
例えば図１２（Ａ）において、仮想カメラＶＣは移動オブジェクトＭＯＢの移動に追従する。この時に、仮想カメラＶＣと移動オブジェクトＭＯＢとの位置関係に基づいて、仮想方向ＶＬＤを設定する。
【０１３３】
ここで、仮想カメラＶＣと移動オブジェクトＭＯＢとの位置関係に基づいて仮想方向ＶＬＤを設定するとは、例えば、仮想カメラＶＣ（視点位置ＶＷＰ）と移動オブジェクトＭＯＢ（代表点ＭＰ）とを結ぶ線分の方向を、仮想方向ＶＬＰに設定することである。或いは、視点位置ＶＷＰの第１、第２の座標成分（Ｘ、Ｚ座標）で特定される点と、移動オブジェクトＭＯＢの代表点ＭＰの第１、第２の座標成分で特定される点を結ぶ線分の方向を、仮想方向ＶＬＰに設定してもよい。
【０１３４】
このようにすれば、例えば仮想カメラＶＣの視線方向ＶＷＤが変化した場合にも、仮想方向ＶＬＤは、移動オブジェクトＭＯＢと仮想カメラＶＣを結ぶ線分の方向に常に向くようになる。この結果、視線方向ＶＷＤが変化した場合にも、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３は、ＶＬＤに平行な方向に常に向くようになり、視線方向ＶＷＤの変化の影響を受けにくい自然な画像を生成できる。
【０１３５】
２．８  視線方向の変化への不追従
本実施形態では、仮想方向を、視線方向の変化に追従させない或いは弱い追従度で追従させるようにしてもよい。
【０１３６】
例えば図１３（Ａ）、（Ｂ）、（Ｃ）に示すように、仮想カメラＶＣの視線方向ＶＷＤが変化した場合にも、この変化に仮想方向ＶＬＤを追従させないようにする（或いは弱い追従度で追従させる）。このようにすれば、視線方向ＶＷＤが変化した場合にも、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３は変化しないようになり、より自然な画像を生成できる。
【０１３７】
例えば、移動オブジェクト（車）のスリップ等が原因となって仮想カメラＶＣの視線方向ＶＷＤが急激に変化した場合に、この変化に追従してオブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３が変化してしまうと、プレーヤが不自然さを感じてしまう可能性がある。
【０１３８】
図１３（Ａ）、（Ｂ）、（Ｃ）の手法によれば、オブジェクトＯＢ１〜ＯＢ３の向きＮ１〜Ｎ３は、仮想方向ＶＬＤ（ＶＷＤの初期方向）に基づき決められる。従って、移動オブジェクトのスリップ等により視線方向ＶＷＤが急激に変化した場合にも、Ｎ１〜Ｎ３の方向は変化しないようになり、自然な画像を生成できる。
【０１３９】
なお、  仮想方向ＶＬＤを弱い追従度で視線方向ＶＷＤに追従させる場合には、ＶＷＤの方向の変化を所与の減衰関数で減衰させ、減衰により得られた方向に、仮想方向ＶＬＤを設定すればよい。
【０１４０】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１４、図１５のフローチャートを用いて説明する。
【０１４１】
図１４は仮想点を用いる手法の処理を示すフローチャートである。
【０１４２】
まず、視点位置とは別に仮想点を設定する（ステップＳ１）。即ち、プログラムにおいて仮想点のパラメータを宣言する。
【０１４３】
次に、オブジェクトの代表点（任意の点）と仮想点とを結ぶ線分の方向を求める（ステップＳ２）。そして、求められた方向にオブジェクトの向き（法線ベクトル）を向けるための変換マトリクス（例えばローカル座標系からワールド座標系への変換マトリクス）を求める（ステップＳ３）。
【０１４４】
次に、求められた変換マトリクス等に基づいて、オブジェクトのジオメトリ処理（座標系変換処理）を行う（ステップＳ４）。そして、全てのオブジェクトの処理が終了したか否かを判断し（ステップＳ５）、終了していない場合にはステップＳ２に戻る。
【０１４５】
全てのオブジェクトの処理が終了した場合には、ジオメトリ処理後のオブジェクトのプリミティブ面データ（ポリゴンデータ、頂点リスト）を作成し、描画プロセッサに転送する（ステップＳ６）。これにより、オブジェクト空間において仮想カメラから見える画像が生成されるようになる。
【０１４６】
図１５は仮想方向を用いる手法の処理を示すフローチャートである。
【０１４７】
まず、仮想カメラの視線方向とは別に仮想方向を設定する（ステップＳ１１）。即ち、プログラムにおいて仮想方向のパラメータを宣言する。
【０１４８】
次に、設定された仮想方向にオブジェクト群の向きを向けるための変換マトリクスを求める（ステップＳ１２）。
【０１４９】
次に、求められた変換マトリクス等に基づいて、オブジェクト群のジオメトリ処理を行う（ステップＳ１３）。そして、全てのオブジェクトの処理が終了したか否かを判断し（ステップＳ１４）、終了していない場合にはステップＳ１２に戻る。
【０１５０】
全てのオブジェクトの処理が終了した場合には、ジオメトリ処理後のオブジェクトのプリミティブ面データを作成し、描画プロセッサに転送する（ステップＳ１５）。これにより、オブジェクト空間において仮想カメラから見える画像が生成されるようになる。
【０１５１】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１６を用いて説明する。
【０１５２】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１５３】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１５４】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１５５】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１５６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１５７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１５８】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１５９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１６０】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１６１】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１６２】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１６３】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１６４】
なお、本実施形態の各部（各手段）は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１６５】
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
【０１６６】
図１７（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、操作部１１０２（レバー、ボタン）を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本実施形態の各部を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１６７】
図１７（Ｂ）に、本実施形態を家庭用のゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、コントローラ１２０２、１２０４などを操作してゲームを楽しむ。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９などに格納されている。
【０１６８】
図１７（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-１〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-１〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-１〜１３０４-nに伝送し端末において出力することになる。
【０１６９】
なお、図１７（Ｃ）の構成の場合に、本実施形態の各部を、ホスト装置（サーバー）と端末とで分散して実現するようにしてもよい。また、本実施形態の各部を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１７０】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。
【０１７１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１７２】
例えば、明細書中の記載において広義な用語（方向関係、α値、ターゲット色、視点設定変更イベント等）として引用された用語（なす角度、半透明度、背景色、ゲームイベント等）は、明細書中の他の記載においても広義な用語に置き換えることができる。
【０１７３】
また、仮想点、仮想方向の設定手法も、本実施形態で詳細に説明した手法に限定されず、種々の変形実施が可能である。
【０１７４】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１７５】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）に適用できる。
【０１７６】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【０１７７】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】図２（Ａ）、（Ｂ）は、本実施形態の仮想点設定手法について説明するための図である。
【図３】図３（Ａ）〜（Ｆ）は、仮想点や仮想方向に基づきその向きが決められるオブジェクトの例を示す図である。
【図４】オブジェクトの注視点に仮想点を設定する手法について説明するための図である。
【図５】図５（Ａ）、（Ｂ）、（Ｃ）は、移動オブジェクトの位置や速度に基づいて仮想点を設定する手法について説明するための図である。
【図６】オブジェクト群毎に仮想点を設定する手法について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、視点設定変更イベントの発生時にオブジェクト群毎に仮想点を設定する手法について説明するための図である。
【図８】図８（Ａ）、（Ｂ）、（Ｃ）は、仮想点からの距離に応じてオブジェクトの画像処理の内容を変更する手法について説明するための図である。
【図９】図９（Ａ）、（Ｂ）は、本実施形態の仮想方向設定手法について説明するための図である。
【図１０】オブジェクト群毎に仮想方向を設定する手法について説明するための図である。
【図１１】図１１（Ａ）、（Ｂ）は、視点設定変更イベントの発生時にオブジェクト群毎に仮想方向を設定する手法について説明するための図である。
【図１２】図１２（Ａ）、（Ｂ）は、仮想カメラと移動オブジェクトを結ぶ方向に仮想方向を設定する手法について説明するための図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、仮想カメラの視線方向の変化に仮想方向を追従させない手法について説明するための図である。
【図１４】本実施形態の処理の詳細例について示すフローチャートである。
【図１５】本実施形態の処理の詳細例について示すフローチャートである。
【図１６】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１７】図１７（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
【０１７８】
ＶＣ      仮想カメラ
ＶＷＰ    視点位置
ＶＷＤ    視線方向
ＶＬＰ、ＶＬＰ１、ＶＬＰ２  仮想点
ＶＬＤ、ＶＬＤ１〜ＶＬＤ３  仮想方向
ＯＢ１〜ＯＢ９  オブジェクト
１００  処理部
１１０  移動・動作処理部
１１２  オブジェクト空間設定部
１１４  仮想点設定部
１１６  仮想方向設定部
１１８  仮想カメラ制御部
１２０  画像生成部
１２２  α合成部
１２４  デプスキューイング部
１２６  テクスチャマッピング部
１２８  画像処理変更部
１３０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
2008198232.tif 000003
【図２】
2008198232.tif 000004
【図３】
2008198232.tif 000005
【図４】
2008198232.tif 000006
【図５】
2008198232.tif 000007
【図６】
2008198232.tif 000008
【図７】
2008198232.tif 000009
【図８】
2008198232.tif 000010
【図９】
2008198232.tif 000011
【図１０】
2008198232.tif 000012
【図１１】
2008198232.tif 000013
【図１２】
2008198232.tif 000014
【図１３】
2008198232.tif 000015
【図１４】
2008198232.tif 000016
【図１５】
2008198232.tif 000017
【図１６】
2008198232.tif 000018
【図１７】
2008198232.tif 000019
【手続補正書】
【提出日】平成20年7月7日(2008.7.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
仮想カメラの視線方向とは別に用意される仮想方向を設定する仮想方向設定部と、
仮想方向とオブジェクトの向きとが所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、コンピュータを機能させ、
前記仮想方向設定部が、
仮想カメラと仮想カメラが追従する移動オブジェクトとの位置関係により、仮想方向を設定することを特徴とするプログラム。
【請求項２】
請求項１において、
前記仮想方向設定部が、
仮想カメラの視線方向が変化した場合に、仮想方向を視線方向の変化に追従させないことを特徴とするプログラム。
【請求項３】
請求項１において、
前記仮想方向設定部が、
仮想カメラの視線方向が変化した場合に、仮想方向を視線方向に対して弱い追従度で追従させることを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記オブジェクト空間設定部が、
第１の仮想方向又は仮想カメラの視線方向に基づいて、複数の前記オブジェクトで構成される第１のオブジェクト群の向きを設定し、第２の仮想方向に基づいて、複数の前記オブジェクトで構成される第２のオブジェクト群の向きを設定することを特徴とするプログラム。
【請求項５】
請求項４において、
前記オブジェクト空間設定部が、
仮想カメラの視点設定の変更イベントが発生したことを条件に、第１の仮想方向又は仮想カメラの視線方向に基づいて第１のオブジェクト群の向きを設定し、第２の仮想方向に基づいて第２のオブジェクト群の向きを設定することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記オブジェクトが、板形状のオブジェクト又は基準線から放射状に延びる複数のプリミティブ面を有するオブジェクトであることを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜６のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
画像生成を行う画像生成システムであって、
仮想カメラの視線方向とは別に用意される仮想方向を設定する仮想方向設定部と、
仮想方向とオブジェクトの向きとが所定の方向関係になるように、オブジェクト空間内にオブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、
前記仮想方向設定部が、
仮想カメラと仮想カメラが追従する移動オブジェクトとの位置関係により、仮想方向を設定することを特徴とする画像生成システム。