(57)【特許請求の範囲】
【請求項１】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報に基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記パラメータ処理部は、
前記移動体と前記移動体の攻撃対象とを結ぶ線での前記密度情報に基づいて、前記移動体の前記攻撃パラメータの設定処理を行うことを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記移動体演算部は、
前記移動体として、前記オブジェクト空間においてコンピュータの操作に基づき移動するコンピュータ操作移動体の移動処理を行い、
前記パラメータ処理部は、
前記コンピュータ操作移動体から第１〜第Ｎの方向に延びる第１〜第Ｎの線での前記密度情報に基づいて、前記コンピュータ操作移動体の前記移動制御パラメータの設定処理を行うことを特徴とするプログラム。
【請求項４】
請求項３において、
前記パラメータ処理部は、
前記第１〜第Ｎの線のうち、前記密度情報により表される密度が高いと判定された線の方向を避ける方向側に、前記コンピュータ操作移動体が移動するように、前記移動制御パラメータの設定処理を行うことを特徴とするプログラム。
【請求項５】
請求項４において、
前記パラメータ処理部は、
前記コンピュータ操作移動体のステータスが所与の状態であると判定された場合には、前記密度情報により表される密度が高いと判定された線の方向側に、前記コンピュータ操作移動体が移動するように、前記移動制御パラメータの設定処理を行うことを特徴とするプログラム。
【請求項６】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記攻撃パラメータは、前記移動体が発射する攻撃物の追尾性能、前記攻撃物のロックオン性能、及び前記攻撃物の移動性能の少なくとも１つのパラメータであることを特徴とするプログラム。
【請求項８】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動体演算部は、
前記移動体として、前記オブジェクト空間においてプレーヤの操作情報に基づき移動するプレーヤ移動体の移動処理を行い、
前記画像生成部は、
前記プレーヤ移動体が攻撃対象を攻撃する際にプレーヤに表示される攻撃支援用表示物の表示パターンを、前記密度情報に応じて変化させる表示処理を行うことを特徴とするプログラム。
【請求項９】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記画像生成部は、
ボクセル値を用いたボリュームレンダリング処理により前記粒子集合体の画像の生成処理を行い、
前記パラメータ処理部は、
前記ボリュームレンダリング処理の前記ボクセル値を、前記粒子集合体の前記密度情報として取得することを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記パラメータ処理部は、
前記密度情報に基づく前記攻撃パラメータ又は前記防御パラメータの変化の度合いを、前記移動体の種類、前記移動体の移動状態、前記移動体を操作するプレーヤのステータスパラメータ、及び前記プレーヤの課金情報の少なくとも１つに基づいて設定することを特徴とするプログラム。
【請求項１１】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報に基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項１２】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項１３】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部と、
を含み、
前記移動体演算部は、
前記移動体として、前記オブジェクト空間においてプレーヤの操作情報に基づき移動するプレーヤ移動体の移動処理を行い、
前記画像生成部は、
前記プレーヤ移動体が攻撃対象を攻撃する際にプレーヤに表示される攻撃支援用表示物の表示パターンを、前記密度情報に応じて変化させる表示処理を行うことを特徴とする画像生成システム。
【請求項１４】
移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、
前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、
前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部と、
を含み、
前記画像生成部は、
ボクセル値を用いたボリュームレンダリング処理により前記粒子集合体の画像の生成処理を行い、
前記パラメータ処理部は、
前記ボリュームレンダリング処理の前記ボクセル値を、前記粒子集合体の前記密度情報として取得することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び画像生成システム等に関する。
【背景技術】
【０００２】
従来より、移動体等のオブジェクトが配置設定されるオブジェクト空間内において所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。戦闘機ゲームの画像生成システムを例にとれば、プレーヤは、戦闘機を模した自機を操作して、オブジェクト空間内で飛行させ、敵機や敵陣地などの攻撃対象に攻撃を行うことで、ゲームを楽しむ。
【０００３】
このような画像生成システムでは、より高品質な画像表現が求められており、例えば空中に浮かぶ雲などについても、リアルな画像で表現できることが望ましい。このような雲の画像を生成する画像生成システムの従来技術としては、例えば特許文献１に開示される技術がある。特許文献１の従来技術では、遠景用、近景用などの複数種類のビルボードのポリゴンをオブジェクト空間内に配置し、このビルボードのポリゴンに雲の画像を描くことで、リアルな雲画像を生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−５３８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の画像生成システムでは、雲は単なる画像としてゲーム画面に表示されるだけであった。このため、雲等の粒子集合体が、自機や敵機などの移動体の攻撃能力や防御能力や移動能力に影響を与えることはなかった。
【０００６】
本発明の幾つかの態様によれば、粒子集合体が存在することによる影響を、移動体の攻撃力、防御力、或いは移動制御等に対して及ぼすことを可能にするプログラム及び画像生成システム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行うオブジェクト空間設定部と、前記オブジェクト空間において前記移動体を移動させる移動処理を行う移動体演算部と、前記移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び前記移動体の位置での前記粒子集合体の前記密度情報の少なくとも１つに基づいて、前記移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理を行うパラメータ処理部と、前記オブジェクト空間において所与の視点から見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００８】
本発明の一態様によれば、複数のオブジェクトが配置設定されるオブジェクト空間において、移動体を移動させる移動処理が行われ、このオブジェクト空間において所与の視点から見える画像が生成される。そして本発明の一態様では、移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報、或いは移動体の位置での粒子集合体の密度情報に基づいて、移動体の攻撃パラメータ、防御パラメータ、或いは移動制御パラメータが設定される。従って、粒子集合体が存在することによる影響を、移動体の攻撃力、防御力、或いは移動制御等に対して及ぼすことが可能になり、これまでにない画像生成システムの提供が可能になる。
【０００９】
また本発明の一態様では、前記パラメータ処理部は、前記移動体と前記移動体の攻撃対象とを結ぶ線での前記密度情報に基づいて、前記移動体の前記攻撃パラメータの設定処理を行ってもよい。
【００１０】
このようにすれば、移動体とその攻撃対象を結ぶ線での密度情報を、移動体と攻撃対象の間に存在する粒子集合体の密度情報として、移動体の攻撃パラメータの設定処理を実現できるようになる。
【００１１】
また本発明の一態様では、前記攻撃パラメータは、前記移動体が発射する攻撃物の追尾性能、前記攻撃物のロックオン性能、及び前記攻撃物の移動性能の少なくとも１つのパラメータであってもよい。
【００１２】
このようにすれば、粒子集合体が存在することによる影響を、移動体が発射する攻撃物の追尾性能、ロックオン性能、或いは移動性能に対して及ぼして、当該攻撃物についての制御処理を実現できるようになる。
【００１３】
また本発明の一態様では、前記パラメータ処理部は、前記移動体の位置での前記密度情報に基づいて、前記移動体の前記移動制御パラメータの設定処理を行ってもよい。
【００１４】
このようにすれば、移動体の位置での粒子集合体の密度情報の影響を、移動体の移動制御パラメータに及ぼして、移動体の移動制御処理を実現できるようになる。
【００１５】
また本発明の一態様では、前記移動体演算部は、前記移動体として、前記オブジェクト空間においてコンピュータの操作に基づき移動するコンピュータ操作移動体の移動処理を行い、前記パラメータ処理部は、前記コンピュータ操作移動体から第１〜第Ｎの方向に延びる第１〜第Ｎの線での前記密度情報に基づいて、前記コンピュータ操作移動体の前記移動制御パラメータの設定処理を行ってもよい。
【００１６】
このようにすれば、コンピュータ操作移動体から第１〜第Ｎの方向に延びる第１〜第Ｎの線での粒子集合体の密度情報を用いて、コンピュータ操作移動体の移動制御を実現できる。これにより、例えば第１〜第Ｎの方向での粒子集合体の存在を検知して、コンピュータ操作移動体の移動制御を実行できるため、これまでにないタイプのコンピュータ操作移動体の移動制御を実現できるようになる。
【００１７】
また本発明の一態様では、前記パラメータ処理部は、前記第１〜第Ｎの線のうち、前記密度情報により表される密度が高いと判定された線の方向を避ける方向側に、前記コンピュータ操作移動体が移動するように、前記移動制御パラメータの設定処理を行ってもよい。
【００１８】
このようにすれば、密度情報により表される密度が高いと判定された線の方向から避ける方向側に、コンピュータ操作移動体を移動させることが可能になる。従って、例えば粒子集合体を避けて移動するようなコンピュータ操作移動体の移動制御を実現できるようになる。
【００１９】
また本発明の一態様では、前記パラメータ処理部は、前記コンピュータ操作移動体のステータスが所与の状態であると判定された場合には、前記密度情報により表される密度が高いと判定された線の方向側に、前記コンピュータ操作移動体が移動するように、前記移動制御パラメータの設定処理を行ってもよい。
【００２０】
このようにすれば、コンピュータ操作移動体のステータスが所与の状態である場合には、密度情報により表される密度が高いと判定された線の方向側に、コンピュータ操作移動体を移動させることが可能になる。従って、コンピュータ操作移動体のステータスが所与の状態である場合には、例えば粒子集合体の方に移動するようなコンピュータ操作移動体の移動制御を実現できるようになる。
【００２１】
また本発明の一態様では、前記移動体演算部は、前記移動体として、前記オブジェクト空間においてプレーヤの操作情報に基づき移動するプレーヤ移動体の移動処理を行い、前記画像生成部は、前記プレーヤ移動体が攻撃対象を攻撃する際にプレーヤに表示される攻撃支援用表示物の表示パターンを、前記密度情報に応じて変化させる表示処理を行ってもよい。
【００２２】
このようにすれば、プレーヤ移動体が攻撃対象を攻撃する際にプレーヤに表示される攻撃支援用表示物の表示パターンを、粒子集合体の密度情報に応じて変化させることが可能になる。従って、粒子集合体の密度情報による影響を、攻撃支援用表示物の表示パターンの変化を利用して、プレーヤに視覚的に認識させることが可能になる。
【００２３】
また本発明の一態様では、前記画像生成部は、前記密度情報に基づいて、前記粒子集合体の画像の生成処理を行ってもよい。
【００２４】
このようにすれば、粒子集合体の画像の生成処理に使用される密度情報を有効活用して、移動体の攻撃力パラメータ、防御力パラメータ、或いは移動制御パラメータを設定できるようになる。
【００２５】
また本発明の一態様では、前記画像生成部は、ボクセル値を用いたボリュームレンダリング処理により前記粒子集合体の画像の生成処理を行い、前記パラメータ処理部は、前記ボリュームレンダリング処理の前記ボクセル値を、前記粒子集合体の前記密度情報として取得してもよい。
【００２６】
このようにすれば、粒子集合体についてのボリュームレンダリング処理のボクセル値を有効活用して、移動体の攻撃力パラメータ、防御力パラメータ、或いは移動制御パラメータを設定できるようになる。
【００２７】
また本発明の一態様では、前記パラメータ処理部は、前記密度情報に基づく前記攻撃パラメータ又は前記防御パラメータの変化の度合いを、前記移動体の種類、前記移動体の移動状態、前記移動体を操作するプレーヤのステータスパラメータ、及び前記プレーヤの課金情報の少なくとも１つに基づいて設定してもよい。
【００２８】
このようにすれば、移動体の種類、移動体の移動状態、プレーヤのステータスパラメータ、或いはプレーヤの課金情報に応じて、密度情報に基づく攻撃パラメータ又は防御パラメータの変化の度合いを異ならせることが可能になり、多様なゲーム処理を実現できるようになる。
【図面の簡単な説明】
【００２９】
【図１】本実施形態の画像生成システムの構成例。
【図２】図２（Ａ）〜図２（Ｆ）は本実施形態の画像生成システムのハードウェア構成例についての説明図。
【図３】本実施形態により生成されたゲーム画像の例。
【図４】本実施形態により生成されたゲーム画像の例。
【図５】線の雲密度を用いた本実施形態の手法の説明図。
【図６】図６（Ａ）〜図６（Ｃ）は攻撃パラメータの設定処理についての説明図。
【図７】図７（Ａ）〜図７（Ｃ）はボリュームレンダリング処理についての説明図。
【図８】ボリュームレンダリング処理についての説明図。
【図９】線の雲密度をボクセル値に基づいて取得する手法の説明図。
【図１０】線の雲密度を用いた本実施形態の処理例のフローチャート。
【図１１】図１１（Ａ）、図１１（Ｂ）は自機の位置での雲密度を用いた本実施形態の手法の説明図及び処理例のフローチャート。
【図１２】図１２（Ａ）〜図１２（Ｃ）は雲密度を用いた敵機の移動制御手法の説明図。
【図１３】図１３（Ａ）〜図１３（Ｃ）は行動確率テーブルについての説明図。
【図１４】図１４（Ａ）、図１４（Ｂ）は体力パラメータ値がしきい値以下になった場合の雲密度を用いた敵機の移動制御手法の説明図。
【図１５】雲密度を用いた敵機の移動制御処理のフローチャート。
【図１６】図１６（Ａ）、図１６（Ｂ）は雲密度を用いた攻撃支援用表示物の表示手法の説明図。
【図１７】雲密度を用いた攻撃支援用表示物の表示処理のフローチャート。
【図１８】本実施形態の変形例の説明図。
【図１９】図１９（Ａ）〜図１９（Ｅ）も本実施形態の変形例の説明図。
【発明を実施するための形態】
【００３０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３１】
１．画像生成システム
図１に本実施形態の画像生成システム（画像生成装置、ゲームシステム、ゲーム装置）の構成例を示す。画像生成システムは、処理部１００、操作部１６０、記憶部１７０、表示部１９０、音出力部１９２、Ｉ／Ｆ部１９４、通信部１９６を含む。なお本実施形態の画像生成システムの構成は図１に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３２】
処理部１００は、操作部１６０からの操作情報やプログラムなどに基づいて、入力処理、演算処理、出力処理などの各種の処理を行う。処理部１００（プロセッサ）は、記憶部１７０（メモリー）に記憶される情報（プログラム、データ）に基づいて、本実施形態の各処理を行う。例えば処理部１００は、記憶部１７０をワーク領域として本実施形態の各処理を実行する。この処理部１００の機能は、少なくとも１つのプロセッサ（ＣＰＵ、ＧＰＵ等）や、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３３】
処理部１００は、入力処理部１０２、演算処理部１１０、出力処理部１４０を含む。入力処理部１０２は、各種の情報の入力処理を行う。例えば入力処理部１０２は、操作部１６０により入力されたプレーヤの操作情報を受け付ける処理を、入力処理として行う。例えば操作部１６０で検出された操作情報を取得する処理を行う。また入力処理部１０２は、記憶部１７０から情報を読み出す処理を、入力処理として行う。例えば読み出しコマンドで指定された情報を、記憶部１７０から読み出す処理を行う。また入力処理部１０２は、通信部１９６を介して情報を受信する処理を、入力処理として行う。例えば画像生成システムの外部装置（他の画像生成システム、サーバシステム等）からネットワークを介して情報を受信する処理を行う。受信処理は、通信部１９６に情報の受信を指示したり、通信部１９６が受信した情報を取得して記憶部１７０に書き込む処理などである。
【００３４】
演算処理部１１０は、各種の演算処理を行う。例えば演算処理部１１０は、ゲーム処理、オブジェクト空間設定処理、移動体演算処理、パラメータ処理、ヒット判定処理、ゲーム成績演算処理、仮想カメラ制御処理、画像生成処理、或いは音生成処理などの演算処理を行う。この演算処理部１１０は、ゲーム処理部１１１、オブジェクト空間設定部１１２、移動体演算部１１４、パラメータ処理部１１６、ヒット判定処理部１１７、ゲーム成績演算部１１８、仮想カメラ制御部１１９、画像生成部１２０、音生成部１３０を含む。
【００３５】
ゲーム処理は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などである。このゲーム処理はゲーム処理部１１１（ゲーム処理のプログラムモジュール）により実行される。
【００３６】
オブジェクト空間設定処理は、オブジェクト空間に複数のオブジェクトを配置設定する処理である。このオブジェクト空間設定処理はオブジェクト空間設定部１１２（オブジェクト空間設定処理のプログラムモジュール）により実行される。例えばオブジェクト空間設定部１１２は、移動体（飛行機、ロボット、船舶、戦闘機、戦車、戦艦、人、動物、車等）、マップ（地形）、建物、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）を、オブジェクト空間に配置設定する。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１１２は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００３７】
移動体演算処理は、移動体についての各種の演算処理である。例えば移動体演算処理は、移動体（ゲームに登場する表示物）をオブジェクト空間（仮想３次元空間、３次元ゲーム空間）で移動させるための処理や、移動体を動作させるための処理である。この移動体演算処理は移動体演算部１１４（移動体演算処理のプログラムモジュール）により実行される。例えば移動体演算部１１４は、操作部１６０によりプレーヤが入力した操作情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３８】
パラメータ処理は、ゲーム処理に使用される各種のパラメータを設定、演算する処理である。このパラメータ処理はパラメータ処理部１１６（パラメータ処理のプログラムモジュール）により実行される。パラメータ処理部１１６は、パラメータの値を初期設定する処理や、パラメータの値を増減させる処理などを行う。パラメータは、ゲーム処理に使用される変数であり、例えばパラメータ処理部１１６は、移動体（プレーヤ移動体、コンピュータ操作移動体）についてのパラメータ（攻撃パラメータ、防御パラメータ、移動制御パラメータ、ステータスパラメータ等）や、ゲーム進行についてのパラメータや、ゲーム状況についてのパラメータなどの各種のパラメータを設定、演算する処理を行う。
【００３９】
ヒット判定処理は、一方のオブジェクトと他方のオブジェクトの接触判定（交差判定、衝突判定）を行う処理である。このヒット判定処理はヒット判定処理部１１７（ヒット判定処理のプログラムモジュール）により実行される。ゲーム成績演算処理は、プレーヤのゲームでの成績を演算する処理である。例えばゲーム成績演算処理は、プレーヤがゲームで獲得するポイントや得点を演算する処理や、ゲーム内通貨、メダル又はチケットなどのゲーム成果を演算する処理である。このゲーム成績演算処理はゲーム成績演算部１１８（ゲーム成績演算処理のプログラムモジュール）により実行される。
【００４０】
仮想カメラ制御処理は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）を制御する処理である。この仮想カメラ制御処理は仮想カメラ制御部１１９（仮想カメラ制御処理のプログラムモジュール）により実行される。具体的には仮想カメラ制御部１１９は、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。例えば仮想カメラにより移動体を後方から撮影する場合には、移動体の位置又は方向の変化に仮想カメラが追従するように、仮想カメラの位置（視点位置）や方向（視線方向）を制御する。この場合には、移動体演算部１１４で得られた移動体の位置、方向又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は方向を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４１】
画像生成処理は、表示部１９０に表示される画像（ゲーム画像）を生成するための処理であり、各種の画像合成処理や画像エフェクト処理などを含むことができる。音生成処理は、音出力部１９２により出力されるＢＧＭ、効果音又は音声等の音（ゲーム音）を生成するための処理であり、各種の音合成処理やサウンドエフェクト処理などを含むことができる。これらの画像生成処理、音生成処理は、画像生成部１２０、音生成部１３０（画像生成処理、音生成処理のプログラムモジュール）により実行される。
【００４２】
例えば画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像が生成される。
【００４３】
なお、画像生成部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。例えば頂点処理では、頂点処理プログラム（頂点シェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。またピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７８に出力（描画）する。即ち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像が生成される。
【００４４】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現できる。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００４５】
出力処理部１４０は、各種の情報の出力処理を行う。例えば出力処理部１４０は、記憶部１７０に情報を書き込む処理を、出力処理として行う。例えば、書き込みコマンドで指定された情報を、記憶部１７０に書き込む処理を行う。また出力処理部１４０は、生成された画像の情報を表示部１９０に出力したり、生成された音の情報を音出力部１９２に出力する処理を、出力処理として行う。また出力処理部１４０は、通信部１９６を介して情報を送信する処理を、出力処理として行う。例えばゲーム装置の外部装置（他の画像生成システム、サーバシステム等）に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部１９６に情報の送信を指示したり、送信する情報を通信部１９６に指示する処理などである。
【００４６】
操作部１６０（操作デバイス）は、プレーヤ（ユーザ）が操作情報を入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００４７】
記憶部１７０（メモリー）は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭやＳＳＤやＨＤＤなどにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０は、オブジェクト情報記憶部１７２、密度情報記憶部１７４、パラメータ記憶部１７６、描画バッファ１７８を含む。
【００４８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。この情報記憶媒体１８０に、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶できる。
【００４９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、或いはＨＭＤなどにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５０】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリーカード）、ＵＳＢメモリー、或いは磁気カードなどにより実現できる。
【００５１】
通信部１９６は、ネットワークを介して外部装置（他の画像生成システム、サーバシステム等）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバシステム（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバシステムによる情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５３】
図２（Ａ）〜図２（Ｆ）は本実施形態の画像生成システムのハードウェア構成例について説明する図である。本実施形態の画像生成システムは、図２（Ａ）に示す家庭用ゲーム装置（据え置き型）、図２（Ｂ）に示すパーソナルコンピュータ（情報処理装置）、図２（Ｃ）に示す携帯型ゲーム装置、図２（Ｄ）に示す携帯型通信端末（スマートフォン、携帯電話機）、図２（Ｅ）に示す業務用ゲーム装置などの種々のハードウェア装置により実現できる。例えば本実施形態のプログラムを、これらのハードウェア装置のメモリーにインストールし、インストールしたプログラムをハードウェア装置が有するプロセッサにより実行することで、本実施形態の各処理を実現できる。或いは本実施形態の各処理は、図２（Ｆ）に示すようなサーバシステム５００を利用して実現してもよい。例えば、図２（Ａ）〜２（Ｅ）に示すハードウェア装置である端末装置ＴＭ１〜ＴＭｎを、ネットワーク５１０を介してサーバシステム５００に通信接続する。サーバシステム５００は例えば１又は複数のサーバ（管理サーバ、ゲームサーバ、課金サーバ、サービス提供サーバ、コンテンツ配信サーバ、認証サーバ、データベースサーバ、又は通信サーバ等）により実現できる。このサーバシステム５００は、コミュニティ型ウェブサイトやオンラインゲームを運営するための各種サービスを提供し、ゲーム実行に必要なデータの管理や、クライアントプログラム及び各種データ等の配信を行うことができる。これにより、端末装置（ＴＭ１〜ＴＭｎ）によりサーバシステム５００にアクセスし、当該サーバシステム５００から提供されるオンラインゲームのプレイが可能になる。本実施形態により実現されるゲームは、このようなオンラインゲームであってもよい。この場合に本実施形態の画像生成システムは、サーバシステム５００により実現してもよいし、端末装置（ＴＭ１〜ＴＭｎ）とサーバシステム５００の分散処理により実現してもよい。
【００５４】
そして本実施形態の画像生成システム（画像生成装置、ゲーム装置、ゲームシステム）は、図１に示すようにオブジェクト空間設定部１１２と移動体演算部１１４とパラメータ処理部１１６と画像生成部１２０を含む。オブジェクト空間設定部１１２は、移動体を含む複数のオブジェクトをオブジェクト空間に配置設定する処理を行う。例えば仮想３次元空間であるオブジェクト空間でのオブジェクトの配置位置を決定し、オブジェクト情報記憶部１７２に記憶されるオブジェクト情報で表されるオブジェクトを配置する処理を行う。移動体演算部１１４は、このオブジェクト空間において移動体を移動させる移動処理を行う。例えばプレーヤの操作情報や移動処理アルゴリズムなどに基づいて、オブジェクト空間において移動体を移動させる処理を行ったり、移動体を動作（モーション）させる処理を行う。画像生成部１２０は、このように移動体が移動するオブジェクト空間において所与の視点（仮想カメラ）から見える画像を生成する。例えば移動体に追従する視点（移動体の位置や移動体の後方に設定された視点）から見える画像を生成する。
【００５５】
そして本実施形態ではパラメータ処理部１１６が、移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報及び移動体の位置での粒子集合体の密度情報の少なくとも１つに基づいて、移動体の攻撃パラメータ、防御パラメータ及び移動制御パラメータの少なくとも１つの設定処理（演算処理）を行う。そして、このようにして設定（演算）された攻撃パラメータ、防御パラメータ又は移動制御パラメータを用いて、例えば移動体演算部１１４が、移動体や移動体が発射した攻撃物を移動させる処理を行ったり、ヒット判定処理部１１７が、移動体が発射した攻撃物と攻撃対象とのヒット判定処理を行う。またゲーム成績演算部１１８が、攻撃結果等に基づくプレーヤのゲーム成績を演算する処理を行う。そして画像生成部１２０は、プレーヤの攻撃、防御の結果や移動体や攻撃物の移動を反映させた画像を生成する。
【００５６】
ここで移動体から所与の方向に延びる線又は範囲は、１つの線又は範囲であってもよいし、複数の線又は範囲であってもよい。また線又は範囲は、移動体と所与の対象（攻撃対象等）とを結ぶ線又は範囲であってもよいし、移動体の前方方向等の基準方向を基準として、所与の方向に延びる１又は複数の線又は範囲であってもよい。また粒子集合体は、多数の粒子が集まったものを画像として表示するためのものである。この粒子集合体は、パーティクル等のオブジェクトにより構成されている必要は無く、その画像として粒子の集合体のように見えるものであればよい。粒子集合体の画像としては、例えば雲、霧、塵、煙、水蒸気、又は砂嵐などの画像を想定できる。粒子集合体は、多数の粒子状のものが集まって、全体として不定形な表示物となるものを表している。例えば雲は、大気中の水蒸気が凝結して、小さな氷の結晶や水の粒になり、それが集まって不定形のものとして空気中に浮かんでいるものである。本実施形態では、このような雲等の画像を、粒子集合体の画像として生成して表示する。
【００５７】
また密度情報は、粒子集合体での粒子の密度（濃度）の高低（程度）や状態を表す情報であり、例えば粒子集合体の各部分において粒子集合体の密度が高いか低いかなどを表す情報である。この密度情報の密度としては、例えばボリュームレンダリング処理におけるボクセルのボクセル値などを用いることができる。
【００５８】
そして本実施形態では、移動体から所与の方向に延びる線又は範囲での粒子集合体の密度情報や、移動体の位置での粒子集合体の密度情報を用いて、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータを設定する。例えば密度情報に基づいて攻撃パラメータ、防御パラメータ又は移動制御パラメータを変化させる。
【００５９】
ここで、移動体から所与の方向に延びる線での密度情報である線密度情報は、例えば線の複数のポイントでの複数の密度から所与の演算処理より得られるものである。例えば上記のボリュームレンダリング処理の場合には、当該線が通過する複数のボクセルのボクセル値を、これらの複数の密度として用いることができる。また線密度情報としては、例えば、上記の複数の密度の最大値、複数の密度の積算値、複数の密度の平均値、或いは複数の密度のうち所与のしきい値を超えた密度などを用いることができる。
【００６０】
また、移動体から所与の方向に延びる線は、プレーヤ移動体の位置からコンピュータ操作移動体の位置の方に延びる線であってもよいし、コンピュータ操作移動体の位置からプレーヤ移動体の位置の方に延びる線であってもよい。或いは、プレーヤ移動体、コンピュータ操作移動体等の移動体の位置を基準として、１又は複数の方向に延びる線であってもよい。
【００６１】
一方、移動体の位置での密度情報としては、例えば移動体の位置のポイント又は移動体の位置に最も近いポイントに設定された密度を用いることができる。或いは移動体の位置の周囲の複数のポイントに設定された複数の密度の平均値等を用いてよい。例えば上記のボリュームレンダリング処理の場合には、移動体が位置するボクセル（移動体の位置が属するボクセル）のボクセル値を、移動体の位置の密度情報として用いることができる。これらの密度情報は密度情報記憶部１７４に記憶される。例えば密度情報記憶部１７４は、オブジェクト空間に設定された複数のボクセルに各ボクセルに対応づけられたボクセル値として、密度情報を記憶する。
【００６２】
また粒子集合体の密度情報により設定される攻撃パラメータ、防御パラメータは、移動体の攻撃、防御に関するゲーム処理に使用される各種のパラメータである。例えば攻撃パラメータは、移動体の攻撃能力（攻撃性能）を表すパラメータである。例えば攻撃パラメータは、移動体が発射する攻撃物の攻撃能力（攻撃性能）を表すパラメータである。防御パラメータは、移動体の防御能力（防御性能）を表すパラメータである。例えば防御パラメータは、移動体が攻撃物を避ける能力、移動体の耐久力などを表すパラメータである。粒子集合体の密度情報により設定される移動制御パラメータは、移動体の移動制御処理に使用される各種のパラメータである。例えば移動制御パラメータは、移動体の移動能力や旋回性能などを表すパラメータである。例えば加速性能や旋回性能などを表すパラメータである。攻撃パラメータ、防御パラメータ、移動制御パラメータ等の各種のパラメータは、パラメータ記憶部１７６に記憶される。
【００６３】
本実施形態では、このような攻撃パラメータ、防御パラメータ又は移動制御パラメータを、粒子集合体の密度情報に基づいて変化させる。このようにすることで、粒子集合体の密度情報を反映させた移動体の攻撃処理、防御処理又は移動制御処理を実現できるようになる。
【００６４】
またパラメータ処理部１１６は、移動体と、移動体の攻撃対象とを結ぶ線（線分、範囲）での密度情報に基づいて、移動体の攻撃パラメータの設定処理を行う。例えば移動体演算部１１４は、移動体として、オブジェクト空間においてプレーヤの操作情報に基づき移動するプレーヤ移動体の移動処理を行う。即ち、プレーヤが自身の操作で自在に移動させることができるプレーヤ移動体（自機等）の移動処理を行う。そしてパラメータ処理部１１６は、プレーヤ移動体（移動体）とプレーヤ移動体の攻撃対象とを結ぶ線（線分、範囲）での密度情報に基づいて、プレーヤ移動体の攻撃パラメータの設定処理を行う。例えばプレーヤ移動体と攻撃対象とを結ぶ線（線分、範囲）での密度情報により表される密度が高いと判定された場合（所与のしきい値よりも高いと判定された場合）には、プレーヤ移動体の攻撃性能が上がるように攻撃パラメータを設定する。
【００６５】
ここで攻撃対象は、例えばコンピュータが操作するコンピュータ操作移動体（敵機、ＮＰＣ等）、他のプレーヤが操作する移動体、又はオブジェクト空間のマップに配置される物体（敵陣地等）などである。本実施形態では、プレーヤ移動体（移動体）と攻撃対象とを結ぶ線（オブジェクト空間での線）を特定し、その線密度情報に基づいて、プレーヤ移動体の攻撃パラメータ（攻撃能力）を変化させる処理などを行う。
【００６６】
また攻撃パラメータは、例えば移動体が発射する攻撃物（ミサイル、魚雷、砲弾又はレーザー等）の追尾性能、攻撃物のロックオン性能、及び攻撃物の移動性能の少なくとも１つのパラメータである。追尾性能は、攻撃物が攻撃対象を追尾する能力を表すものであり、例えば攻撃物の旋回性能や視野角などにより規定できる。攻撃物のロックオン性能は、攻撃物のロックオン距離、ロックオン範囲、又はロックオン速度などを表すものである。攻撃物の移動性能は、攻撃物の移動速度（移動加速度）、旋回速度（旋回加速度）、又は移動の精度などを表すものである。
【００６７】
またパラメータ処理部１１６は、コンピュータ操作移動体とプレーヤ移動体とを結ぶ線（線分、範囲）での密度情報に基づいて、プレーヤ移動体の防御パラメータの設定処理を行ってもよい。例えばコンピュータ操作移動体とプレーヤ移動体とを結ぶ線（線分、範囲）での密度情報に表される密度が高いと判定された場合（所与のしきい値よりも高いと判定された場合）には、プレーヤ移動体の防御性能が上がるように防御パラメータを設定する。例えばコンピュータ操作移動体が発射する攻撃物への回避性能を高くしたり、攻撃物がプレーヤ移動体にヒットした場合のダメージが小さくなるように、防御パラメータを設定する。
【００６８】
またパラメータ処理部１１６は、移動体の位置での密度情報に基づいて、移動体の移動制御パラメータの設定処理を行う。例えばプレーヤが操作するプレーヤ移動体の位置での密度情報に基づいて、プレーヤ移動体の移動制御パラメータの設定処理を行う。例えば移動体の位置での密度情報に応じて、移動制御パラメータを変化させ、密度情報を反映させた移動体の移動制御を実現する。例えば所定密度以上の場所に所定時間以上、移動体が位置していた場合には、移動体の移動性能（旋回性能）を低下させる処理を行う。この移動制御パラメータの設定処理は、プレーヤが操作するプレーヤ移動体に対して行ってもよいし、コンピュータが操作するコンピュータ操作移動体に対して行ってもよい。
【００６９】
また移動体演算部１１４は、移動体として、オブジェクト空間においてコンピュータの操作（制御）に基づき移動するコンピュータ操作移動体（コンピュータ制御移動体）の移動処理を行う。そしてパラメータ処理部１１６は、コンピュータ操作移動体から第１〜第Ｎの方向に延びる第１〜第Ｎの線（線分、範囲）での密度情報に基づいて、コンピュータ操作移動体の移動制御パラメータの設定処理を行う。
【００７０】
ここでコンピュータ操作移動体は、所定の移動アルゴリズム（動作アルゴリズム）で移動（動作）する移動体であり、いわゆるＮＰＣ（Non Player Character）である。例えばコンピュータ操作移動体の移動アルゴリズムは、プログラムに記述されており、この移動アルゴリズムと種々のゲーム状況（戦闘状況）に基づいて、コンピュータ操作移動体の移動が制御される。
【００７１】
そしてこのコンピュータ操作移動体から第１〜第Ｎの方向に延びる第１〜第Ｎの線（第１〜第Ｎの方向を規定する線）が設定される。例えば第１の線はコンピュータ操作移動体の前方方向（広義には基準方向）に延びる線である。第２、第３の線は、各々、第１の線の方向（基準方向）に対して左方向（第２の方向）、右方向（第３の方向）となる線である。なお第１〜第Ｎの線は２本以下であってもよいし、３本以上であってもよい。本実施形態では、これらの第１〜第Ｎの線での密度情報に基づいて、コンピュータ操作移動体の移動制御パラメータを変化させる設定処理などが行われて、コンピュータ操作移動体の移動が制御される。第１〜第Ｎの線での密度情報は、上述した線密度情報であり、例えば線の複数のポイントでの複数の密度から所与の演算処理より得られるものである。例えばボリュームレンダリング処理の場合には、第１〜第Ｎの各線が通過する複数のボクセルのボクセル値を、これらの複数の密度として用いることができる。
【００７２】
そしてパラメータ処理部１１６は、第１〜第Ｎの線のうち、密度情報により表される密度が高いと判定された線の方向を避ける方向側に、コンピュータ操作移動体が移動するように、移動制御パラメータの設定処理を行う。別の言い方をすれば、密度情報により表される密度が低いと判定される線に対応する方向側に、コンピュータ操作移動体を移動させる。
【００７３】
例えば第１〜第Ｎの線のうち、第１の線での線密度情報が他の線に比べて高いと判定されたとする。この場合には第１の線に対応する第１の方向（例えば前方方向）を避ける方向側（例えば左方向側、右方向側）に、コンピュータ操作移動体が移動するように（避ける方向側への移動確率が増えるように）、移動制御を行う。例えばコンピュータ操作移動体の進行方向が、第１の方向から遠ざかる方向になるように、コンピュータ操作移動体を移動させる。即ち、粒子集合体の密度が高い方向を避ける方向側にコンピュータ操作移動体を移動させる。また、第１〜第Ｎの線のうち、第２の線での線密度情報が他の線に比べて高いと判定されたとする。この場合には第２の線に対応する第２の方向（例えば左方向）を避ける方向側（例えば右方向側、前方方向側）に、コンピュータ操作移動体が移動するように、移動制御を行う。例えばコンピュータ操作移動体の進行方向が、第２の方向から遠ざかる方向になるように、コンピュータ操作移動体を移動させる。
【００７４】
一方、コンピュータ操作移動体のステータス（ステータスパラメータ）が所与の状態（例えば所与のパラメータ値以下）であると判定されたとする。例えばコンピュータ操作移動体の体力パラメータ値が所与のしきい値以下になったと判定されたとする。この場合にはパラメータ処理部１１６は、密度情報により表される密度が高いと判定された線の方向側に、コンピュータ操作移動体が移動するように、移動制御パラメータの設定処理を行う。即ち、通常状態では、上述したように粒子集合体の密度が高い方向を避ける方向側に、コンピュータ操作移動体を移動させる。これに対して、コンピュータ操作移動体のステータスが所与の状態（例えば体力、耐久力、ヒットポイント等がしきい値よりも低い状態）であると判定された場合には、粒子集合体の密度が高い方向側に、コンピュータ操作移動体を移動させる。こうすることで、体力等が低くなって粒子集合体の中に逃げ込むようなコンピュータ操作移動体の挙動を実現できるようになる。
【００７５】
また画像生成部１２０は、プレーヤ移動体が攻撃対象を攻撃する際にプレーヤに表示される攻撃支援用表示物の表示パターンを、密度情報に応じて変化させる表示処理を行う。例えばプレーヤ移動体と攻撃対象を結ぶ線（線分、範囲）での密度情報に応じて、攻撃支援用表示物の表示パターン（表示態様）を変化させる。例えば密度情報により表される密度が高い場合と低い場合とで、攻撃支援用表示物の表示パターンを異ならせる。例えば密度が高いと判定された場合には、攻撃支援用表示物の点滅表示を行ったり、攻撃支援用表示物の色、輝度、形状又はテクスチャ等を変化させる表示処理を行う。ここで、攻撃支援用表示物は、攻撃対象の位置、方向又は状態等を、プレーヤに知らせるための表示物である。例えば攻撃支援用表示物としては、攻撃対象に追従して動く表示物を想定できる。例えばＨＵＤ（Head-Up Display）におけるコンテナなどである。また攻撃支援用表示物の表示パターンを密度情報に応じて変化させる表示処理は、攻撃支援用表示物について、予め用意された複数の表示のパターンの中から、密度情報に応じたパターンを選択するような処理であってもよい。
【００７６】
また画像生成部１２０は、密度情報に基づいて、粒子集合体の画像の生成処理を行う。例えば密度情報が高い場合には、粒子集合体（例えば雲）の密度（例えば雲密度）が高く見える画像（粒子が密集している画像）を生成する。一方、密度情報が低い場合には、粒子集合体の密度が低く見える画像（粒子がまばらな画像）を生成する。
【００７７】
例えば画像生成部１２０は、ボクセル値を用いたボリュームレンダリング処理により粒子集合体の画像の生成処理を行う。そしてパラメータ処理部１１６は、ボリュームレンダリング処理のボクセル値を、粒子集合体の密度情報として取得する。このように、粒子集合体の画像の生成処理を、ボリュームレンダリング処理により実現する場合には、オブジェクト空間内に対して例えば格子状の複数のボクセルを設定し、各ボクセルのボクセル値として、粒子集合体の密度情報を設定する。そして画像生成部１２０は、密度情報であるボクセル値を用いた公知のボリュームレンダリング処理により、粒子集合体の画像を生成する。具体的には任意の視線（レイ）に沿ってボクセル（ボリューム）をサンプリングするレイキャスティング（ray casting）によりボリュームレンダリング処理を行って、粒子集合体の画像を生成する。またパラメータ処理部１１６は、移動体から所与の方向に延びる線又は範囲に対応するボクセルのボクセル値に基づいて、線又は範囲の密度情報を取得し、移動体の攻撃パラメータ、防御パラメータ、或いは移動制御パラメータを設定する。或いは、移動体の位置に対応するボクセルのボクセル値に基づいて、移動体の位置での密度情報を取得し、移動体の攻撃パラメータ、防御パラメータ、或いは移動制御パラメータを設定する。
【００７８】
またパラメータ処理部１１６は、密度情報に基づく攻撃パラメータ又は防御パラメータの変化の度合いを、移動体の種類、移動体の移動状態、移動体を操作するプレーヤのステータスパラメータ、及びプレーヤの課金情報の少なくとも１つに基づいて設定する。例えば粒子集合体の密度情報に基づいて移動体の攻撃パラメータ又は防御パラメータを変化させる場合に、当該移動体が第１の種類である場合と第２の種類である場合とで、攻撃パラメータ又は防御パラメータの変化の度合い（変化量、変化態様等）を異ならせる。或いは移動体が第１の移動状態（例えば第１の速度、第１の加速度）である場合と、移動体が第２の移動状態（例えば第２の速度、第２の加速度）である場合とで、攻撃パラメータ又は防御パラメータの変化の度合いを異ならせる。或いは移動体を操作するプレーヤのステータスパラメータ（例えばレベル、階級、体力等）が、第１の状態（第１のパラメータ値）であると場合と、第２の状態（第２のパラメータ値）である場合とで、攻撃パラメータ又は防御パラメータの変化の度合いを異ならせる。或いはプレーヤが支払う課金額が第１の額である場合と第２の額である場合とで、攻撃パラメータ又は防御パラメータの変化の度合いを異ならせる。こうすることで密度情報に基づく攻撃パラメータや防御パラメータの多様な変化処理を実現できるようになる。
【００７９】
２．本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお以下では、本実施形態を、戦闘機ゲームの画像生成システムに適用した場合について主に例にとり説明するが、本実施形態はこれに限定されない。本実施形態は、例えばロボット対戦ゲーム、戦艦ゲーム、ロールプレイングゲーム、アクションゲーム、ドライビングゲーム、或いはスポーツゲームなどの種々のジャンルのゲームの画像生成システムに適用可能である。この場合には本実施形態における移動体は、これらのゲームに登場してオブジェクト空間内（ゲーム空間内）を移動する表示物（ロボット、船、人、魔物、動物、車等）になる。また以下では、粒子集合体が雲である場合を主に例にとり説明するが、本実施形態はこれに限定されない。粒子集合体としては、例えば雲、霧、塵、煙、水蒸気、又は砂嵐などの種々のものを想定できる。
【００８０】
２．１  雲の表現
図３、図４に本実施形態の画像生成システムにより生成されるゲーム画像の例を示す。この戦闘機ゲームは、リアルな３次元空間を３６０度、自由に飛び回る爽快感と共に、自身の判断で次々に敵を定めて撃墜、破壊する快感を得ながら、難局を勝ち抜いて行く達成感を得られるゲーム（フライトシューティングゲーム）である。
【００８１】
このゲームでは、自然現象の美しさ、壮大さ、迫力をプレーヤが体感できるように、多彩な形状、種類の雲（広義には粒子集合体）がボリューム表現して構成された空の画像を、ゲーム画像として生成する。これにより、雲の作りだす自然現象の美しさ、壮大さ、迫力をプレーヤは体感でき、表情豊かな現実感ある空を３６０度、自由に飛行できるようになる。
【００８２】
例えば図３は、プレーヤが操作する自機ＭＶＰ（広義にはプレーヤ移動体）が、Ａ１、Ａ２に示すような雲の合間を飛行する敵機ＭＶＥ（広義にはコンピュータ操作移動体）を追いかけて攻撃する場面のゲーム画像である。図３に示すようにプレーヤは、間近に流れる雲が生み出す今までにないスピード感を体感できる。即ち、ボリュームのある雲が立体的に配置されて、飛行中も間近に流れて行き、プレーヤは、自機ＭＶＰの移動量やスピードを目で感じながら、自分の思い描いた飛行ルートで飛行することが可能になる。
【００８３】
またこのゲームによれば、空の地形を駆使した変化のあるドッグファイトを実現できる。例えば積乱雲など、内部に着氷、落雷、乱気流の特性を持たせた雲が配置される。更には、雲により流れが可視化された気流も発生する空のフィールドで、プレーヤは、変化する空力を感じながら、空中の地形効果を使った変化のあるドッグファイトを楽しむことができる。視界を遮る雲、機体の挙動に影響する気流、乱気流などを、プレーヤは体感できる。これによりプレーヤは、ミッションを通して戦闘のメリハリを実感できるようになる。
【００８４】
例えば図４は、Ｂ１に示す雲を挟んで、プレーヤが操作する自機ＭＶＰと、コンピュータ（又は他のプレーヤ）が操作する敵機ＭＶＥとが対峙している場面のゲーム画像である。この場合に本実施形態では、敵機ＭＶＥに対して攻撃を行う自機ＭＶＰの攻撃パラメータ、防御パラメータ又は移動制御パラメータに対して、雲の存在の影響を与えるようにする。
【００８５】
例えば自機ＭＶＰと敵機ＭＶＥの間に存在するＢ１に示す雲の影響で、自機ＭＶＰが発射するミサイル等の攻撃性能を変化させる。例えば雲の向こう側に位置する敵機ＭＶＥに対して発射されたミサイルの追尾性能を低下させる。即ち、雲の影響によりミサイルの追尾性能が低下して、敵機ＭＶＥに当たりにくくなったことを表現する。例えば赤外線追尾のミサイルの場合には、雲の表面等における太陽光の反射により赤外線追尾が狂うことがある。本実施形態では、このような追尾性能等の低下をゲーム処理において実現する。
【００８６】
また自機ＭＶＰが雲の中に入った場合には、自機ＭＶＰの移動性能を低下させる。例えば、所定密度以上の雲の中に、一定時間以上、自機ＭＶＰが入った場合には、加速性能や旋回性能を低下させる。例えば戦闘機が雲の中に入ると、パイロットの視界が悪くなる。また雲の中には乱気流が存在すると共に、戦闘機が雲の中に入ると、雲の氷の破片等がエンジンに入り込み、戦闘機の移動性能等が低下する。本実施形態では、このように雲の中に入ることによる移動性能等の低下をゲーム処理において実現する。
【００８７】
このようなゲーム処理を実現するために本実施形態では、雲密度（広義には粒子集合体の密度情報）を用いる。例えば自機ＭＶＰや敵機ＭＶＥなどの移動体から所与の方向に延びる線又は範囲での雲密度や、移動体の位置での雲密度に基づいて、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータを設定する。例えばこれらの雲密度を用いて、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータを変化させる。
【００８８】
例えば図３、図４に示すようにボリューム感のある雲の画像を生成するためには、いわゆるボリュームレンダリング処理が有効である。ボリュームレンダリング処理では、オブジェクト空間（３次元空間）に対して３次元格子状に配置された多数のボクセルが設定され、各ボクセルにはボクセル値が設定される。本実施形態では、ボリュームレンダリング処理により雲の画像を生成するために、例えば各ボクセルのボクセル値として雲密度を設定する。これにより、例えば高い雲密度が設定されたボクセルが配置されている領域では、濃い雲が表示されるようになり、低い雲密度が設定されたボクセルが配置されている領域では、薄い雲が表示されるようになる。
【００８９】
例えばビルボードのポリゴンにより雲の画像を生成する手法では、ボリューム感のある雲の画像を生成したり、雲の濃さや薄さを精細に表現することが難しいという課題がある。例えば、プレーヤの視点のすぐ前に、雲の絵が描かれたビルボードのポリゴンが配置されていると、ビルボードのポリゴンの存在がプレーヤに知られてしまい、ボリューム感のある雲のリアルな画像を生成することが難しい。
【００９０】
これに対してボリュームレンダリング処理を用いて雲の画像を生成すれば、プレーヤの視点のすぐ前にある雲もリアルに表現することができる。即ち、プレーヤが自機ＭＶＰを操作して、雲の中を駆け抜けて飛行するというようなゲームを実現でき、プレーヤの仮想現実感を向上できる。
【００９１】
そして本実施形態では、例えばボリュームレンダリング処理における雲密度を有効活用して、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータの設定処理を実現する。例えば移動体と攻撃対象を結ぶ線上（範囲内）にあるボクセルのボクセル値を、線（範囲）の雲密度として取得する。そして、この線（範囲）の雲密度に基づいて、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータを変化させる。或いは移動体が位置するボクセルのボクセル値を、雲密度として取得する。そして、この移動体の位置での雲密度に基づいて、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータを変化させる。こうすることで、雲画像の生成のためのボリュームレンダリング処理のボクセル値を有効活用して、雲密度に応じた移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータの設定処理を実現できるようになる。
【００９２】
以下、本実施形態の具体的な手法について詳細に説明する。
【００９３】
２．２  雲密度を用いた攻撃パラメータの設定処理
本実施形態では、雲密度（粒子集合体の密度情報）に基づいて、移動体の攻撃パラメータの設定処理を行っている。具体的には、移動体とのその攻撃対象を結ぶ線での雲密度に基づいて、移動体の攻撃パラメータの設定処理を行う。
【００９４】
例えば図５では、自機ＭＶＰと、その攻撃対象である敵機ＭＶＥとの間に、雲ＣＬＤ（粒子集合体）が存在している。自機ＭＶＰは、敵機ＭＶＥをロックオンしており、ミサイル等により攻撃しようとしている。この場合に本実施形態では、自機ＭＶＰと敵機ＭＶＥを結ぶ線ＬＮを求める。例えば自機ＭＶＰの代表位置（オブジェクト空間内での位置）と敵機ＭＶＥの代表位置とを結ぶ線ＬＮを求める。そして、この線ＬＮでの雲ＣＬＤの雲密度を取得する。例えば図５では、線ＬＮは高い密度の雲ＣＬＤを通過しているため、線ＬＮの雲密度は高いと判断される。この場合には、自機ＭＶＰの攻撃パラメータで表される攻撃能力を低下させる。具体的には、自機ＭＶＰが発射するミサイル（広義には攻撃物）の追尾性能、ロックオン性能（ロックオン範囲、ロックオン速度等）、或いは移動性能（移動速度等）を低下させる。
【００９５】
例えば図６（Ａ）に示すように、追尾型のミサイルＭＳは、その追尾性能を表すパラメータとして、視野角θのパラメータを有している。例えば視野角θが大きくなると、ミサイルＭＳの視野範囲ＦＶも広くなる。ミサイルＭＳは、この視野範囲ＦＶ内にある敵機ＭＶＥを追尾できる。従って、視野角θが大きいほど、ミサイルＭＳの追尾性能は高くなる。
【００９６】
また図６（Ｂ）に示すように、敵機ＭＶＥがミサイルＭＳを避けるために移動（旋回）すると、ミサイルＭＳは例えば角速度ωで旋回して、敵機ＭＶＥを追尾する。この旋回の角速度ωが、ミサイルＭＳの旋回性能を表すパラメータになる。この旋回の角速度ωが大きいほど、ミサイルＭＳの追尾性能は高くなる。例えば角速度ωによるミサイルＭＳの旋回が間に合わなくなり、図６（Ｃ）のように敵機ＭＶＥが視野範囲ＦＶの外に出てしまうと、ミサイルＭＳは敵機ＭＶＥを追尾できなくなる。
【００９７】
本実施形態では、このような視野角θ、角速度ωなどのミサイルＭＳの追尾性能のパラメータを、図５に示す線の雲密度に基づいて制御する。例えば、自機ＭＶＰと敵機ＭＶＥの間に密度の高い雲ＣＬＤが存在し、線ＬＮでの雲密度が高いと判定された場合には、図６（Ａ）〜図６（Ｃ）で説明した視野角θや角速度ωなどの追尾性能パラメータを小さい値にする。一方、自機ＭＶＰと敵機ＭＶＥの間に密度の高い雲ＣＬＤが存在せず、線ＬＮでの雲密度が低いと判定された場合には、追尾性能パラメータを変化させないようにする。こうすることで、雲ＣＬＤの存在により、自機ＭＶＰが発射したミサイルＭＳの追尾性能が低下（広義には攻撃能力の低下）するという事象を、ゲーム処理により実現できるようになる。
【００９８】
なお図５のように自機ＭＶＰと敵機ＭＶＥの間に密度が高い雲ＣＬＤが存在する場合に、ミサイルの追尾性能以外の攻撃能力を変化させてもよい。例えばミサイルのロックオン性能（ロックオン範囲、ロックオン速度）や、ミサイルの移動性能（追尾型ではないミサイルの移動速度等）を変化させる。或いは、ミサイルＭＳ以外の攻撃物（レーザー等）の攻撃能力を変化させてもよい。或いは、自機ＭＶＰの攻撃物ではなく、自機ＭＶＰ自体の攻撃能力（例えばレーダー性能、攻撃物を探知する性能等）を変化させてもよい。
【００９９】
さて本実施形態では図７（Ａ）に示すような雲ＣＬＤのリアルな画像を生成するために、ボリュームレンダリング処理を行っている。ボリュームレンダリング処理では、図７（Ｂ）に示すように、複数のボクセルＢＸが３次元格子状に配置されたボリュームにより、雲（粒子集合体）を表現する。図７（Ｃ）に示すように各ボクセルＢＸにはボクセル値ＶＢが設定されており、本実施形態ではこのボクセル値ＶＢとして、そのボクセルＢＸでの雲密度（粒子集合体の密度情報）を設定する。なおボクセルは、例えば数ｍ〜数１０ｍ（或いは数１０ｍ〜数１００ｍ）の範囲で、その高さや幅等が可変になっている。そして１つの積乱雲等の雲は例えば数１０〜数１００個のボクセルにより表されることになる。
【０１００】
図８はボリュームレンダリング処理の詳細を説明する図である。ボリュームレンダリング処理は、オブジェクト空間（仮想３次元空間）に設定された特徴量（ボクセル値）を、レイＲＹ（視線）に沿って所定間隔でサンプリングし、その値を加算して行くレイキャスティングを行うことで、最終的な画像（半透明画像）を生成する。例えば図８では、視点ＶＰ（仮想カメラ）と、スクリーンＳＣ（投影面）の画素ＰＸとを通るレイＲＹにおいて、所定間隔でボリューム内のボクセルＢＸ１、ＢＸ２、ＢＸ３、ＢＸ４、ＢＸ５・・・をサンプリングして行く。各ボクセルにはオパシティーα（不透明度）が与えられている。レイキャスティングでは、各ボクセルの輝度値とオパシティーαの積を加算して行き、αの総和が１になった場合、或いは、レイＲＹがボリュームから抜けた時に、その画素ＰＸについての処理が終了する。レイキャスティングによる加算結果が、その画素ＰＸの画素値として設定される。レイキャスティングのサンプリング点での輝度値、オパシティーは、隣接するボクセルの輝度値、オパシティーに基づき線形補間により求めることができる。
【０１０１】
各ボクセルの輝度値は、隣接するボクセルのボクセル値からの勾配より推定される法線ベクトルなどを用いて、照明モデル（例えばフォンのシェーディングモデル）により求めることができる。例えば雲の画像を生成する場合には、ボクセル値である水蒸気の密度が、光源ＬＳからの光を散乱、減衰させる要因となる。また、各ボクセルの輝度は、光源ＬＳからボリューム内を通過してきた光（光源ベクトルＬＶ）が、そのボクセルで反射、散乱して視点ＶＰの方向に向かう光の量として表すことができる。いわゆる２段階レイキャスティングでは、スクリーンＳＣ（投影面）からの第２のレイキャスティングを行う前に、光源ＬＳからの第１のレイキャスティングを行って、ボクセル値や光源情報に基づいて、各ボクセルの輝度値を決定する。そして、決定された輝度値とオパシティーαに基づいて、第２のレイキャスティングを行って、各画素ＰＸの画素値を求める。なお図８で説明した処理はボリュームレンダリング処理の一例であり、本実施形態におけるボリュームレンダリング処理はこのような処理には限定されず、種々の変形実施が可能である。
【０１０２】
そして本実施形態では、自機ＭＶＰ（プレーヤ移動体）と敵機ＭＶＥ（攻撃対象）とを結ぶ線ＬＮでの雲密度を用いて、自機ＭＶＰのパラメータの設定処理を行うが、この線ＬＮでの雲密度を、ボクセル値に基づき取得して、自機ＭＶＰの攻撃パラメータを設定する。
【０１０３】
例えば図９では、自機ＭＶＰと敵機ＭＶＥを結ぶ線ＬＮは、オブジェクト空間内に設定されたボクセルＢＸ１、ＢＸ２、ＢＸ３、ＢＸ４・・・・ＢＸｍ−２、ＢＸｍ−１、ＢＸｍを通過している。そして、これらのボクセルＢＸ１、ＢＸ２、ＢＸ３、ＢＸ４・・・・ＢＸｍ−２、ＢＸｍ−１、ＢＸｍのボクセル値は、各々、ＶＢ１、ＶＢ２、ＶＢ３、ＶＢ４・・・・ＶＢｍ−２、ＶＢｍ−１、ＶＢｍとなっている。この場合に、線ＬＮの雲密度を、これらのボクセル値ＶＢ１〜ＶＢｍにより設定して、自機ＭＶＰの攻撃パラメータ（ミサイルの追尾能力等）を設定する。例えばボクセル値ＶＢ１〜ＶＢｍの最大値、積算値又は平均値などに基づいて線ＬＮの雲密度を設定して、攻撃パラメータを設定する。
【０１０４】
例えばボクセル値（密度）の値域を０〜１．０（０〜１００％）とする。この場合に例えば自機ＭＶＰと敵機ＭＶＥを結ぶ線ＬＮが通過するボクセルＢＸ１〜ＢＸｍのボクセル値ＶＢ１〜ＶＢｍの最大値が、所与のしきい値（例えば０．７〜０．８）を越えた場合に、自機ＭＶＰと敵機ＭＶＥの間に、密度（濃度）が高い雲が存在したと判断する。そして図６（Ａ）〜図６（Ｃ）で説明したように自機ＭＶＰが発射したミサイルＭＳの追尾能力を低下させたり、ロックオン性能を低下させるなどの自機ＭＶＰの攻撃パラメータの低下処理を行う。或いは、ボクセル値ＶＢ１〜ＶＢｍの積算値が所与のしきい値（例えば１．０）を超えた場合に、自機ＭＶＰの攻撃パラメータの低下処理を行ってもよい。例えば手前側（自機に近い側）のボクセルＢＸ１から順次にボクセル値を積算して行き、積算値がしきい値を超えた場合に攻撃パラメータの低下処理を行う。或いは、線ＬＮに対応するボクセル値ＶＢ１〜ＶＢｍの平均値を求めて、平均値が所与のしきい値を超えた場合に、攻撃パラメータの低下処理を行ってもよい。
【０１０５】
このようにすれば、ボリュームレンダリング処理におけるボクセルのボクセル値を有効活用して、自機ＭＶＰと敵機ＭＶＥを結ぶ線ＬＮの雲密度を設定して、攻撃パラメータ等の設定処理を実現できるようになる。
【０１０６】
図１０は、線の雲密度を用いて攻撃パラメータを設定する本実施形態の処理の一例を示すフローチャートである。まず、ロックオンされた敵機に対してミサイルを発射する操作が行われたか否かを判断する（ステップＳ１）。即ち、自機を操作するプレーヤが、ミサイルの発射操作を行ったか否かを判断する。そしてミサイルの発射操作が行われた場合には、自機と敵機を結ぶ線（線分）を求める（ステップＳ２）。そして、線が通過するボクセルのボクセル値（雲密度）に基づいて、線の雲密度を取得する（ステップＳ３）。例えば図９で説明したように、ボクセル値の最大値、積算値又は平均値等に基づいて、線の代表の雲密度を取得する。
【０１０７】
次に、線の雲密度に基づいて、ミサイルの視野角、旋回性能等の追尾性能パラメータ（攻撃パラメータ）を設定する（ステップＳ４）。即ち、線の雲密度に基づいて、自機と敵機の間に高い密度の雲が存在すると判断された場合には、図６（Ａ）〜図６（Ｃ）で説明したように、ミサイルの視野角（θ）や旋回性能（ω）を低下させる設定処理を行う。そして、このように追尾性能パラメータが設定されたミサイルの発射処理及び移動処理を行う（ステップＳ５）。
【０１０８】
２．３  雲密度を用いた移動制御パラメータの設定処理
本実施形態では、雲密度（粒子集合体の密度情報）に基づいて、移動体の移動制御パラメータの設定処理を行っている。具体的には、移動体の位置での密度情報に基づいて、移動体の移動制御パラメータの設定処理を行う。
【０１０９】
例えば図１１（Ａ）では、自機ＭＶＰはボクセルＢＸの中に位置している。即ち自機ＭＶＰの位置はボクセルＢＸに属している。この場合には、自機ＭＶＰの位置の雲密度として、ボクセルＢＸのボクセル値ＶＢを用いる。例えばボクセル値ＶＢが小さければ、自機ＭＶＰの周りの雲密度は低いと判断し、ボクセル値ＶＢが大きければ、自機ＭＶＰの周りの雲密度は高いと判断する。そして、この雲密度であるボクセル値ＶＢに基づいて、自機ＭＶＰの移動性能（速度、加速度、角速度、角加速度）などの移動制御パラメータを設定する。例えばボクセル値が高いボクセル内（１又は複数のボクセル）に、所定時間に亘って、自機ＭＶＰが位置していたと判定された場合には、自機ＭＶＰの移動性能（旋回性能）のパラメータを低下させる処理を行う。この場合に自機ＭＶＰは、この所定時間に亘って、複数のボクセルを通過していてもよく、所定時間内において通過した複数の全てのボクセルのボクセル値が、所与のしきい値（例えば０．７〜０．８）よりも高かった場合に、自機ＭＶＰの移動性能のパラメータを低下させる。
【０１１０】
なお、移動体の位置での密度情報に基づいて移動性能等の移動制御パラメータを設定する移動体は、自機ＭＶＰには限定されず、敵機ＭＶＥであってもよい。また、移動体の位置での密度情報をボクセル値に基づき求める手法は、図１１（Ａ）の手法に限定されない。例えば移動体が位置するボクセルのボクセル値のみならず、そのボクセルの周囲（隣接）のボクセルのボクセル値を用いて、移動体の位置での密度情報を求めてもよい。
【０１１１】
図１１（Ｂ）は、自機の位置での雲密度を用いて移動制御パラメータを設定する本実施形態の処理の一例を示すフローチャートである。
【０１１２】
まず自機の移動処理を行う（ステップＳ１１）。そして自機が位置するボクセルのボクセル値を、自機の位置での雲密度として取得する（ステップＳ１２）。即ち、自機が位置するボクセルを検索し、そのボクセルのボクセル値を取得することで、自機の周りの雲密度を決定する。
【０１１３】
次に、取得した雲密度が所定密度以上か否かを判断する（ステップＳ１３）。例えば雲密度（ボクセル値）の値域が０〜１．０である場合に、例えば雲密度が０．７以上か否かを判断する。そして、雲密度が所定密度以上である場合には、時間カウント値のカウントアップ処理を行う（ステップＳ１４）。例えば時間カウント値を＋１とする。一方、雲密度が所定密度よりも小さい場合には、時間カウント値のリセット処理を行う（ステップＳ１５）。例えば時間カウント値を０にリセットする。即ち、所定密度以下の場所（ボクセル）に自機が移動した場合には、時間カウント値はリセットされる。
【０１１４】
時間カウント値のカウントアップ処理を行った後、時間カウント値がしきい値を超えたか否かを判断する（ステップＳ１６）。例えば所定密度以上の場所（ボクセル）に自機が、例えば数秒以上に亘って位置していた場合には、時間カウント値がしきい値を超えたと判断される。そして自機の移動性能（旋回性能）のパラメータを低下させる処理が行われる（ステップＳ１７）。
【０１１５】
なお図１１（Ｂ）の処理は、自機のみならず、敵機などの移動体に対して行うようにしてもよい。また、移動体の位置に基づく移動制御パラメータの設定処理は、移動性能（旋回性能）のパラメータを低下させる処理には限定されず、種々の変形実施が可能である。
【０１１６】
２．４  雲密度を用いたコンピュータ操作移動体の移動制御処理
本実施形態では、雲密度（粒子集合体の密度情報）に基づいて、コンピュータ操作移動体の移動制御を行っている。例えばコンピュータ操作移動体から延びる線（線分、範囲）での雲密度に基づいて、コンピュータ操作移動体の移動制御を行う。具体的には、コンピュータ操作移動体から第１〜第Ｎの方向に延びる第１〜第Ｎの線での雲密度に基づいて、コンピュータ操作移動体の移動制御パラメータの設定処理を行う。
【０１１７】
例えば図１２（Ａ）では、敵機ＭＶＥ（コンピュータ操作移動体）に対して３本の線ＬＮＦ、ＬＮＬ、ＬＮＲが設定されている。例えば線ＬＮＦ（第１の線）は敵機ＭＶＥから前方方向（第１の方向）に延びる線である。線ＬＮＬ（第２の線）は敵機ＭＶＥから左方向（第２の方向）に延びる線である。線ＬＮＲ（第３の線）は敵機ＭＶＥから右方向（第３の方向）に延びる線である。なおこれらの線は直線であることが望ましいが、曲線であってもよい。またコンピュータ操作移動体は敵機に限定されず、例えばプレーヤと共に共同で敵と戦うコンピュータ操作移動体（僚機）であってもよい。また例えばプレーヤのグループ（チーム）に所属するコンピュータ操作移動体（メンバー）であってもよい。
【０１１８】
本実施形態ではこれらの線ＬＮＦ、ＬＮＬ、ＬＮＲを用いて、敵機ＭＶＥの周りの雲を探知し、雲が存在しない方向に、コンピュータ操作移動体である敵機ＭＶＥを移動させる。具体的には、図５、図９で説明した手法と同様の手法により、線ＬＮＦ、ＬＮＬ、ＬＮＲでの雲密度を取得し、これらの雲密度に基づいて、雲の存在方向を判定し、雲が存在しない方向に敵機ＭＶＥを移動させる。
【０１１９】
例えば図１２（Ｂ）では、敵機ＭＶＥの前方に雲ＣＬＤが存在している。この場合には敵機ＭＶＥから前方に延びる線ＬＮＦでの雲密度が高いと判定される。即ち、線ＬＮＦでの雲密度が、線ＬＮＬ、ＬＮＲでの雲密度に比べて高いと判定される。この場合には、雲密度が高いと判定された線ＬＮＦの方向（前方方向）を避ける方向であるＤＲＬ側（左方向側）やＤＲＲ側（右方向側）に、敵機ＭＶＥが移動するように、移動制御パラメータを設定する。このようにすれば、前方に存在する雲ＣＬＤを避けるように、敵機ＭＶＥを移動させることが可能になる。
【０１２０】
また図１２（Ｃ）では、敵機ＭＶＥの左方向（左斜め方向）に雲ＣＬＤが存在している。この場合には敵機ＭＶＥから左方向に延びる線ＬＮＬでの雲密度が高いと判定される。即ち、線ＬＮＬでの雲密度が、線ＬＮＦ、ＬＮＲでの雲密度に比べて高いと判定される。この場合には、雲密度が高いと判定された線ＬＮＬの方向（左方向）を避ける方向であるＤＲＲ側に、敵機ＭＶＥが移動するように、移動制御パラメータを設定する。このようにすれば、左方向に存在する雲ＣＬＤを避けるように、敵機ＭＶＥを移動させることが可能になる。同様に、敵機ＭＶＥの右方向（右斜め方向）に雲ＣＬＤが存在している場合には、右方向に延びる線ＬＮＲでの雲密度が高いと判定されるため、右方向を避ける方向側に敵機ＭＶＥを移動させる。
【０１２１】
図１３（Ａ）〜図１３（Ｃ）は、図１２（Ａ）〜図１２（Ｃ）の処理を実現する移動制御パラメータの設定手法の一例を示す図である。
【０１２２】
本実施形態では敵機ＭＶＥは、図１３（Ａ）〜図１３（Ｃ）に示すような行動確率テーブルを用いて、各行動フェーズでの行動が決定される。例えば敵機ＭＶＥの行動としては、前進、左旋回、右旋回などの種々の行動が用意されている。各行動フェーズにおいて、これらの前進、左旋回、右旋回等のいずれの行動を行うかが、図１３（Ａ）〜図１３（Ｃ）に示すような行動確率テーブルに基づき決定される。そして、行動が決定されると、例えば数十フレームの期間に亘って、敵機ＭＶＥは、その行動に対応する動作（モーション）を行う。そして、その行動が終了すると、行動確率テーブルに基づいて、次の行動が決定される。
【０１２３】
例えば図１３（Ａ）は通常時の行動確率テーブルの例である。図１３（Ａ）に示すように通常時には、前進する確率が６０％であり、左旋回、右旋回する確率は、各々、２０％である。このため通常時には、敵機ＭＶＥが前進する確率が高くなる。
【０１２４】
これに対して、図１２（Ｂ）に示すように敵機ＭＶＥの前方に密度が高い雲ＣＬＤが存在する場合には、行動確率テーブルが図１３（Ｂ）に示すように設定される。図１３（Ｂ）では、前進する確率が１０％に減り、左旋回、右旋回する確率が、各々、４５％に増える。従って、雲ＣＬＤが前方に存在する場合には、敵機ＭＶＥが左旋回や右旋回する確率が高くなる。
【０１２５】
また図１２（Ｃ）に示すように敵機ＭＶＥの左方向（左斜め方向）に密度が高い雲ＣＬＤが存在する場合には、行動確率テーブルが図１３（Ｃ）に示すように設定される。図１３（Ｃ）では左旋回する確率が５％に減り、右旋回する確率が６０％に増える。従って、雲ＣＬＤが左方向に存在する場合には、敵機ＭＶＥが右旋回する確率が高くなる。
【０１２６】
例えば現実世界においては、戦闘機のパイロットは雲の中に入りたがらない。戦闘機が雲の中に入ると視界が悪くなると共に雲の中には乱気流が存在するからである。また、雲の氷の破片等がエンジンに入り込み、戦闘機の移動性能が低下するおそれがあるからである。
【０１２７】
図１２（Ａ）〜図１３（Ｃ）に示す本実施形態の手法によれば、このように雲に中に入りたがらないパイロットの挙動を、擬似的にシミュレートすることが可能になる。即ち、あたかも本物のパイロットが敵機に乗って操縦し、雲を避けるように飛行して行く敵機の様子を再現できる。そしてプレーヤは、自機を操作して、このように雲を避けるように飛行する敵機を追いかけるようになり、空中での雲の地形効果を使った変化のあるドッグファイトを楽しむことが可能になる。
【０１２８】
また図１３（Ａ）〜図１３（Ｃ）に示すように行動確率テーブルを用いる手法によれば、敵機の挙動が画一的になってしまうのを抑制できる。例えば図１２（Ｂ）のように敵機の前方に雲が存在する場合には、基本的には図１３（Ｂ）に示すように、敵機は左旋回又は右旋回をして、雲を避ける方向に移動する。しかしながら、前方に移動する確率も１０％であり、０％ではないため、敵機が雲を避けずに、雲の方向に移動する状況も発生する。従って、敵機が、常に雲を避けて移動するというような画一的な挙動になってしまうのを抑制でき、よりリアルな敵機の移動制御を実現できる。
【０１２９】
一方、図１４（Ａ）では、敵機ＭＶＥのステータスが、図１２（Ａ）〜図１２（Ｃ）の状態とは異なる所与の状態となっている。具体的には、敵機ＭＶＥが攻撃等を受けて、体力パラメータ値がしきい値以下になっている。この場合には敵機ＭＶＥは、図１２（Ａ）〜図１３（Ｃ）で説明した挙動とは異なる行動を行う。
【０１３０】
具体的には図１４（Ａ）では、敵機ＭＶＥの左方向に密度の高い雲ＣＬＤが存在している。このような場合に図１２（Ａ）〜図１３（Ｃ）の手法では、敵機ＭＶＥは雲ＣＬＤを避ける方向に移動するはずである。しかしながら、図１４（Ａ）では、敵機ＭＶＥの体力パラメータ値が非常に低く、撃墜寸前の状態となっている。この場合には敵機ＭＶＥは、図１２（Ｃ）とは逆に、雲ＣＬＤの方向ＤＲＬ側に移動する。即ち、敵機ＭＶＥ（コンピュータ操作移動体）のステータスが、体力パラメータ値が非常に低い所与の状態であると判定された場合には、雲密度が高いと判定された線ＬＮＬの方向側に、敵機ＭＶＥが移動する。即ち図１４（Ａ）では敵機ＭＶＥの左方向に延びる線ＬＮＬでの雲密度が高いと判断されたため、雲ＣＬＤが存在する方向である方向ＤＲＬの方に、敵機ＭＶＥが移動するようになる。
【０１３１】
このようにすれば、体力パラメータ値が低くなったことで雲の中に逃げ込むような敵機の挙動を表現することが可能になる。従って、敵機を追いかけてプレイしているプレーヤに対して、よりリアルで多様性のあるゲームプレイの面白味を提供できるようになる。
【０１３２】
図１５は、雲密度を用いた敵機の移動制御処理の一例を示すフローチャートである。まず線ＬＮＦ、ＬＮＬ、ＬＮＲでの雲密度ＤＳＦ、ＤＳＬ、ＤＳＲを取得する（ステップＳ２１）。例えば図１０のステップＳ２、Ｓ３のように、線ＬＮＦ、ＬＮＬ、ＬＮＲが通過するボクセルのボクセル値の最大値、積算値又は平均値等に基づいて、線ＬＮＦ、ＬＮＬ、ＬＮＲの代表の雲密度ＤＳＦ、ＤＳＬ、ＤＳＲを取得する。線ＬＮＦ、ＬＮＬ、ＬＮＲは図１２（Ａ）に示すように敵機から前方方向、左方向、右方向に延びる線である。
【０１３３】
次に、敵機の体力パラメータ値がしきい値以下か否かを判断する（ステップＳ２２）。そして体力パラメータ値がしきい値以下ではない場合には、線ＬＮＦ、ＬＮＬ、ＬＮＲでの雲密度ＤＳＦ、ＤＳＬ、ＤＳＲに基づいて、雲を避ける方向に移動するように、敵機の行動確率テーブルを設定する（ステップＳ２３）。図１２（Ｂ）の場合には、前方方向の雲を避ける方向に移動するように、例えば図１３（Ｂ）に示すように行動確率テーブル（移動制御パラメータの１つ）を設定する。図１２（Ｃ）の場合には、左方向の雲を避ける方向に移動するように、例えば図１３（Ｃ）に示すように行動確率テーブルを設定する。
【０１３４】
一方、体力パラメータ値がしきい値以下である場合には、線ＬＮＦ、ＬＮＬ、ＬＮＲでの雲密度ＤＳＦ、ＤＳＬ、ＤＳＲに基づいて、雲の方向に移動するように、敵機の行動確率テーブルを設定する（ステップＳ２４）。図１４（Ａ）の場合には、雲が存在する方向である左方向側に移動するように、例えば図１４（Ｂ）に示すように行動確率テーブルを設定する。
【０１３５】
そして、設定された行動確率テーブルに基づいて、敵機の行動を決定する（ステップＳ２５）。即ち、各行動フェーズにおいて敵機が行うべき行動を、行動確率テーブルに基づいて決定する。そして敵機の移動制御処理を行う（ステップＳ２６）。即ち、行動確率テーブルに基づき決定された行動（例えば前方移動、左旋回、右旋回等）を行うように、敵機の移動制御処理を実行する。
【０１３６】
２．５  雲密度を用いた攻撃支援用表示物の表示処理
本実施形態では、プレーヤ移動体が攻撃対象を攻撃する際にプレーヤに表示される攻撃支援用表示物の表示パターンを、密度情報に応じて変化させる表示処理を行う。例えば攻撃支援用表示物の表示態様を密度情報に応じて変化させる。
【０１３７】
例えば図１６（Ａ）は、いわゆるコックビットビューとして表示される本実施形態のゲーム画面の例である。図１６（Ａ）では、ＨＵＤ（Head-Up Display）の表示として、Ｃ１に示すような高度表示、姿勢表示、速度表示、照準表示が行われている。またＣ２に示すように自機や敵機の位置を知らせるレーダ表示も行われてる。
【０１３８】
そして図１６（Ａ）では、自機が敵機ＭＶＥ（攻撃対象）を攻撃する際にプレーヤに表示される攻撃支援用表示物として、コンテナＣＴ（敵追尾カーソル）が表示されている。コンテナＣＴは、敵機ＭＶＥに追従して付属表示される表示物（スプライト等）であり、プレーヤは、このコンテナＣＴを目で追いかけることで、敵機ＭＶＥの位置や動きを把握できる。コンテナＣＴは、敵機ＭＶＥの位置を囲む枠の画像として表示されている。なお敵機ＭＶＥが自機によりロックオンされた場合に、コンテナＣＴの色や形などを変更して、ロックオン状態をプレーヤに知らせるようにしてもよい。
【０１３９】
そして図１６（Ａ）では、自機と敵機ＭＶＥの間には、密度が高い雲が存在していないため、コンテナＣＴは通常の表示となっている。一方、図１６（Ｂ）では、例えば図５のように自機と敵機ＭＶＥとの間に密度が高い雲（高濃度の雲）が存在しているため、コンテナＣＴの表示パターン（表示態様）が変化している。例えば自機と敵機ＭＶＥを結ぶ線での雲密度（例えば雲密度の最大値）がしきい値以上（例えば０．７以上）であると判定されたため、コンテナＣＴの表示パターンが変化している。具体的には、例えばコンテナＣＴが２秒間、点灯し、１秒間、消灯するというような点滅表示になる。
【０１４０】
コンテナＣＴが表示されるＨＵＤは、自機のコックピット内に設けられるものであるため、雲の存在によりＨＵＤのコンテナＣＴの表示を変化させることは、通常は行われない。しかしながら、自機と敵機ＭＶＥの間に密度が高い雲が存在すると、自機の電子機器による敵機ＭＶＥに対する電子的な感知能力が落ちる状況が考えられる。即ち、敵機ＭＶＥの位置を電子的に追尾しきれなくなる状況である。
【０１４１】
このような状況をゲーム的に表現するために、本実施形態では、自機と敵機ＭＶＥの間に密度が高い雲が存在すると判定された場合に、図１６（Ｂ）に示すようにコンテナＣＴの表示パターンを変化させる。例えばコンテナＣＴが点滅表示されることで、あたかも電子的な感知能力が落ちて敵機ＭＶＥを追尾しきれなくなったような感覚を、プレーヤに与えることができ、プレーヤの仮想現実感を増すことができる。また、コンテナＣＴが点滅表示になると、プレーヤが敵機ＭＶＥを目で追うことが難しくなる。従って、雲の中に逃げ込むことで、相手からの攻撃を受けにくくなるというような状況も作り出すことができる。
【０１４２】
なお、雲密度に基づいて表示パターンを変化させる攻撃支援用表示物は、ＨＵＤのコンテナＣＴには限定されない。例えば図１６（Ｂ）のＣ３に示すようなレーダ表示の表示パターンを、雲密度に基づいて変化させてもよい。例えばレーダ表示における敵機アイコンの表示態様を変化させる。例えば敵機アイコンの点滅表示などを行う。また攻撃支援用表示物は、ＨＵＤの表示物（例えばロックオンカーソル）であってもよいし、それ以外の表示物であってもよい。例えば攻撃支援用表示物としては、種々のスプライト表示物を想定できる。また攻撃支援用表示物の表示パターンの変化は、上述したような点滅表示には限定されない。例えば雲密度に基づいて、攻撃支援用表示物の色、輝度、形状又はテクスチャ等の各種の画像プロパティを変化させてもよい。また攻撃支援用表示物の表示パターンの表示処理は、予め用意された複数のパターンの中から、密度情報に対応するパターンを選択するような処理であってもよい。例えばコンテナ等の攻撃支援用表示物について、半透明度等が異なる複数のパターンを用意し、これらのパターンの中から密度情報に基づく選択処理を行うようにしてもよい。
【０１４３】
図１７は、雲密度を用いた攻撃支援用表示物の表示処理の一例を示すフローチャートである。まず図５等で説明したように自機と敵機を結ぶ線を求める（ステップＳ３１）。そして線が通過するボクセルのボクセル値に基づいて、線の雲密度を取得する（ステップＳ３２）。例えば線が通過する複数のボクセルのボクセル値の最大値、積算値又は平均値に基づいて、線の雲密度を設定する。
【０１４４】
次に線の雲密度が所定密度以上であるか否かを判断する（ステップＳ３２）。そして線の雲密度が所定密度以上である場合には、画面上の敵機に設定されたコンテナの点滅表示処理を行う（ステップＳ３３、Ｓ３４）。例えば図１６（Ｂ）に示すように敵機ＭＶＥを追尾するコンテナＣＴを点滅表示させて、電子的な感知能力が低下したことを、プレーヤに体感させる。
【０１４５】
２．６  変形例
次に本実施形態の種々の変形例について説明する。例えば本実施形態では、密度情報に基づく攻撃パラメータ又は防御パラメータの変化の度合いを、移動体の種類、移動体の移動状態、移動体を操作するプレーヤのステータスパラメータ、或いはプレーヤの課金情報などに基づいて設定する変形例も可能である。図１８は、この変形例の処理の一例を示すフローチャートである。
【０１４６】
まず、雲密度に基づいて自機の攻撃パラメータ又は防御パラメータを変化させるか否かを判断する（ステップＳ４１）。例えば図５において自機と敵機を結ぶ線の雲密度（例えばボクセル値の最大値）がしきい値を越えた場合に、自機の攻撃パラメータを変化させると判断する。或いは後述するように自機が敵機に追尾されている場合には、敵機と自機を結ぶ線の雲密度がしきい値を越えた場合に、自機の防御パラメータを変化させると判断する。
【０１４７】
そして攻撃パラメータ又は防御パラメータを変化させると判断した場合には、自機の種類（機種、形状等）、移動状態（速度、加速度等）、プレーヤのステータスパラメータ（レベル等）、課金情報等の情報を取得する（ステップＳ４２）。そして、取得された情報に基づいて、自機の攻撃パラメータ又は防御パラメータの変化度合いを設定する（ステップＳ４３）。例えば、自機の種類、移動状態、プレーヤのステータスパラメータ、課金情報等に基づいて、攻撃パラメータ又は防御パラメータの変化量を可変に設定する。
【０１４８】
例えば自機が特別な機種（レアの機種）である場合には、攻撃パラメータ又は防御パラメータの変化量（減少量等）を非常に小さくしたり、或いは逆に大きくする。また自機の移動速度が速い場合と遅い場合とで、攻撃パラメータ又は防御パラメータの変化量を異ならせる。例えば自機が敵機を追尾している状況において、自機の速度（又は加速度）が速い場合には、雲密度に基づく攻撃パラメータ（視野角、旋回性能等）の減少量を小さくする。また敵機が自機を追尾している状況において、自機の速度（又は加速度）が速い場合には、雲密度に基づく防御パラメータ（視野角、旋回性能等）の増加量を大きくする。
【０１４９】
またプレーヤのレベル等のステータスパラメータに応じて、攻撃パラメータ又は防御パラメータの変化量を異ならせる。例えばプレーヤのレベルが高い場合には、ゲームの難易度を上げるために、敵機を追尾しているときの攻撃パラメータの減少量を大きくする。或いは、敵機に追尾されているときの防御パラメータの増加量を小さくする。またプレーヤの課金情報に応じて、攻撃パラメータ又は防御パラメータの変化量を異ならせる。例えばプレーヤの課金額が多い場合には、プレーヤを有利にするために、自機が敵機を追尾しているときの攻撃パラメータの減少量を小さくする。或いは自機が敵機に追尾されているときの防御パラメータの増加量を大きくする。
【０１５０】
また以上では、移動体から延びるものが線である場合を主に例にとり説明したが、移動体から所与の方向に延びるものは範囲であってもよい。即ち、移動体から所与の方向に延びる範囲での粒子集合体の密度情報に基づいて、移動体の攻撃パラメータ、防御パラメータ又は移動制御パラメータを設定してもよい。例えば図１９（Ａ）、図１９（Ｂ）、図１９（Ｃ）は、移動体ＭＶ（自機ＭＶＰ、敵機ＭＶＥ）から所与の方向に延びる範囲ＡＲの例である。
【０１５１】
図１９（Ａ）では、図５の線ＬＮを含むような範囲ＡＲが設定されている。この範囲ＡＲは移動体ＭＶから所与の方向（例えば自機と敵機を結ぶ方向。前方向、右方向、左方向等）に延びる長方形の範囲である。例えば範囲ＡＲは、所与の方向に交差する方向に幅を有する範囲である。この範囲ＡＲは直方体等の立体図形の範囲であってもよい。この場合には図９において、線ＬＮが通過するボクセルのみならず、この範囲ＡＲが通過するボクセルのボクセル値を用いて、この範囲ＡＲの密度情報（雲密度等）が設定されることになる。
【０１５２】
また図１９（Ｂ）では扇形状の範囲ＡＲになっている。例えば移動体ＭＶの近くでは、所与の方向に交差する方向での幅が小さく、移動体ＭＶから離れた遠くでは、所与の方向に交差する方向での幅が大きい範囲ＡＲとなっている。また図１９（Ｃ）では、円錐形状の範囲ＡＲとなっている。この範囲ＡＲは立体形状の範囲である。
【０１５３】
なお範囲ＡＲの形状としては、図１９（Ａ）〜図１９（Ｃ）に示す形状には限定されず、種々の形状を採用できる。例えば範囲ＡＲは、図１９（Ａ）、図１９（Ｂ）に示す長方形や扇形状以外の平面図形（例えば三角形等の他の多角形や、多角形以外の平面図形等）の範囲であってもよい。また範囲ＡＲは、図１９（Ｃ）に示す円錐形状以外の立体図形（例えば直方体、三角柱、六角柱等の多面体や、凸体）の範囲であってもよい。
【０１５４】
また以上では、密度情報に基づいて移動体の攻撃パラメータを設定する手法について主に例にとり説明したが、密度情報に基づいて移動体の防御パラメータを設定してもよい。例えば図１９（Ｄ）では、図５とは逆に、敵機ＭＶＥが自機ＭＶＰを追尾して攻撃しようとしている。この場合には敵機ＭＶＥ（コンピュータ操作移動体）と自機ＭＶＰ（プレーヤ移動体）を結ぶ線（範囲）での雲密度（密度情報）に基づいて、自機ＭＶＰの防御パラメータを設定する。例えば雲密度が高い場合に、敵ＭＶＥからのミサイル等の攻撃物に対する防御力を高くする。例えば敵機ＭＶＥのミサイルが自機ＭＶＰに当たりにくくなったり、当たった場合の自機ＭＶＰの損害（体力パラメータの減少等）を少なくする。なお、密度情報に基づき設定する防御パラメータとしては、例えば守備力、耐久力（体力）、攻撃物の回避力（攻撃物の追尾の回避力）、又は体力等の回復力などの種々のパラメータを想定できる。
【０１５５】
また以上では、雲等の粒子集合体の画像をボリュームレンダリング処理により生成する場合について主に説明したが、本実施形態はこれに限定されない。例えば図１９（Ｅ）では、視線に正対するように配置されたポリゴンに雲の画像を描いたビルボードＢＬ１、ＢＬ２、ＢＬ３・・・により雲の画像を生成している。このようなビルボード（広義にはポリゴン）を用いて、あたかも雲の中を飛行するような画像を生成する場合には、例えば移動体ＭＶがビルボードに到達する直前に、当該ビルボードを消す処理などを行えばよい。そして図１９（Ｅ）の場合も、例えば各ビルボードＢＬ１、ＢＬ２、ＢＬ３・・・に対して雲の密度情報を対応づけ、この密度情報に基づいて、移動体ＭＶの攻撃パラメータ、防御パラメータ又は移動制御パラメータを設定すればよい。例えば移動体ＭＶから所与の方向に延びる線又は範囲と交差するビルボード（ポリゴン）に対応づけられた密度情報に基づいて、移動体ＭＶの攻撃パラメータ、防御パラメータ又は移動制御パラメータを設定すればよい。
【０１５６】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（プレーヤ移動体、コンピュータ操作移動体、粒子集合体、粒子集合体の密度情報、攻撃物、攻撃支援用表示物等）と共に記載された用語（自機、敵機、雲、雲密度、ミサイル、コンテナ等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またオブジェクト空間の設定処理、移動体の移動処理、密度情報に基づくパラメータの設定処理、表示物の表示処理、レンダリング処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【符号の説明】
【０１５７】
ＭＶＰ  自機（プレーヤ移動体）、ＭＶＥ  敵機（コンピュータ操作移動体）、
ＬＮ  線、ＡＲ  範囲、ＣＬＤ  雲（粒子集合体）、ＭＳ  ミサイル（攻撃物）、
ＢＸ（ＢＸ１〜ＢＸｍ）  ボクセル、ＶＢ（ＶＢ１〜ＶＢｍ）  ボクセル値、
ＲＹ  レイ、ＳＣ  スクリーン（投影面）、ＰＸ  画素、ＬＳ  光源、
ＣＴ  コンテナ（攻撃支援用表示物）、ＴＭ１〜ＴＭｎ  端末装置、
１００  処理部、１０２  入力処理部、１１０  演算処理部、１１１  ゲーム処理部、
１１２  オブジェクト空間設定部、１１４  移動体演算部、１１６  パラメータ処理部、
１１７  ヒット判定処理部、１１８  ゲーム成績演算部、
１２０  画像生成部、１３０  音生成部、１４０  出力処理部、
１６０  操作部、１７０  記憶部、１７２  オブジェクト情報記憶部、
１７４  密度情報記憶部、１７６  パラメータ記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  Ｉ／Ｆ部、１９５  携帯型情報記憶媒体、１９６  通信部、
５００  サーバシステム、５１０  ネットワーク
【図１】
0006732439.tif 000002
【図２】
0006732439.tif 000003
【図３】
0006732439.tif 000004
【図４】
0006732439.tif 000005
【図５】
0006732439.tif 000006
【図６】
0006732439.tif 000007
【図７】
0006732439.tif 000008
【図８】
0006732439.tif 000009
【図９】
0006732439.tif 000010
【図１０】
0006732439.tif 000011
【図１１】
0006732439.tif 000012
【図１２】
0006732439.tif 000013
【図１３】
0006732439.tif 000014
【図１４】
0006732439.tif 000015
【図１５】
0006732439.tif 000016
【図１６】
0006732439.tif 000017
【図１７】
0006732439.tif 000018
【図１８】
0006732439.tif 000019
【図１９】
0006732439.tif 000020