(57)【要約】【課題】プロジェクション用の投影画像を生成しながら適切なヒット判定処理を実現できる画像生成システム及びプログラム等の提供。【解決手段】画像生成システムは、オブジェクト空間設定部と、プロジェクション用の投影画像を生成する画像生成部と、撮像部からの撮像画像を受け付ける受け付け部と、光出射部からの光によるスポット光の撮像画像上での位置に基づいて、プロジェクション用スクリーンでのスポット光の位置であるスクリーンスポット光位置を求め、光出射部又はプレーヤの代表位置として設定された設定位置から、スクリーンスポット光位置へと向かう方向を、光出射部の光の出射方向として求め、求められた出射方向に基づいて、前記オブジェクト空間内のオブジェクトとのヒット判定処理を行うヒット判定部を含む。【選択図】図１２
2015154219.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
前記オブジェクト空間に配置される複数のオブジェクトの情報に基づいて、プロジェクション用の投影画像を生成する画像生成部と、
前記投影画像の投影領域を撮像する撮像部からの撮像画像を受け付ける受け付け部と、
光出射部からの光によるスポット光の前記撮像画像上での位置に基づいて、プロジェクション用スクリーンでの前記スポット光の位置であるスクリーンスポット光位置を求め、前記光出射部又はプレーヤの代表位置として設定された設定位置から、前記スクリーンスポット光位置へと向かう方向を、前記光出射部の光の出射方向として求め、求められた前記出射方向に基づいて、前記オブジェクト空間内のオブジェクトとのヒット判定処理を行うヒット判定部と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記プロジェクション用スクリーンは、１つの曲面又は複数の面により構成されるスクリーンであり、
前記画像生成部は、
前記プロジェクション用スクリーンの形状情報に基づく歪み補正処理を行って、前記投影画像を生成し、
前記ヒット判定部は、
前記プロジェクション用スクリーンの形状情報に基づいて、前記スクリーンスポット光位置を求めることを特徴とする画像生成システム。
【請求項３】
請求項２において、
前記ヒット判定部は、
前記スポット光の前記撮像画像上での位置に基づいて、前記撮像部から見た前記スポット光の方向ベクトルを求め、前記方向ベクトルに沿った直線と前記プロジェクション用スクリーンとの交点位置を、前記スクリーンスポット光位置として求めることを特徴とする画像生成システム。
【請求項４】
請求項２又は３において、
前記画像生成部は、
描画バッファ上のピクセルが前記投影装置の光学系を通して出射される光線と前記プロジェクション用スクリーンとの交点位置と、代表視点位置とを結ぶ直線を、仮想カメラの視線として、前記描画バッファ上の前記ピクセルの色を決定することを特徴する画像生成システム。
【請求項５】
請求項２又は３において、
前記画像生成部は、
前記オブジェクト空間内のオブジェクトの頂点位置と代表視点位置を結ぶ直線と、前記プロジェクション用スクリーンとの交点位置に基づいて、前記オブジェクトに対応する描画オブジェクトについての描画バッファ上での頂点位置を求め、前記頂点位置に基づいて前記描画バッファに前記描画オブジェクトを描画することを特徴とする画像生成システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記オブジェクト空間設定部は、
前記光出射部の照準を表す照準オブジェクトの前記オブジェクト空間での配置位置を、前記出射方向に基づいて求め、求められた前記配置位置に前記照準オブジェクトを配置することを特徴とする画像生成システム。
【請求項７】
請求項６において、
前記オブジェクト空間設定部は、
前記出射方向に沿った直線上に、前記照準オブジェクトを配置することを特徴とする画像生成システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記画像生成部は、
前記スポット光の検出調整用オブジェクトが、前記撮像部の撮像範囲の内側に表示される前記投影画像を生成することを特徴とする画像生成システム。
【請求項９】
請求項８において、
前記オブジェクト空間設定部は、
前記検出調整用オブジェクトが、前記投影画像の投影領域において前記撮像部の前記撮像範囲の内側に表示されるように、前記検出調整用オブジェクトを前記オブジェクト空間に配置することを特徴とする画像生成システム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記投影画像を撮像した第２の撮像画像又は前記スポット光の検出位置の履歴情報に基づいて、前記撮像部の撮像範囲を特定する撮像範囲特定部を含むことを特徴とする画像生成システム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記撮像部を含み、
前記撮像部は、
撮像素子と、魚眼レンズを有することを特徴とする画像生成システム。
【請求項１２】
請求項１１において、
前記投影装置を含み、
前記撮像部は、前記投影装置に取り付けられることを特徴とする画像生成システム。
【請求項１３】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
前記オブジェクト空間に配置される複数のオブジェクトの情報に基づいて、プロジェクション用の投影画像を生成する画像生成部と、
前記投影画像を投影する投影装置と、
前記投影画像の投影領域を撮像する撮像部と、
光を出射する光出射部と、
前記撮像部からの撮像画像に基づいて、前記光出射部の光の出射方向を求め、求められた前記出射方向に基づいて、前記オブジェクト空間内のオブジェクトとのヒット判定処理を行うヒット判定部と、
を含み、
前記撮像部は、
撮像素子と、魚眼レンズを有することを特徴とする画像生成システム。
【請求項１４】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
前記オブジェクト空間に配置される複数のオブジェクトの情報に基づいて、プロジェクション用の投影画像を生成する画像生成部と、
前記投影画像の投影領域を撮像する撮像部からの撮像画像を受け付ける受け付け部と、
光出射部からの光によるスポット光の前記撮像画像上での位置に基づいて、プロジェクション用スクリーンでの前記スポット光の位置であるスクリーンスポット光位置を求め、前記光出射部又はプレーヤの代表位置として設定された設定位置から、前記スクリーンスポット光位置へと向かう方向を、前記光出射部の光の出射方向として求め、求められた前記出射方向に基づいて、前記オブジェクト空間内のオブジェクトとのヒット判定処理を行うヒット判定部として、
コンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、投影装置（プロジェクタ）により曲面スクリーン（ドーム形状のスクリーン）に対して投影される投影画像を生成するシステムが知られている。そして、曲面スクリーンに対して歪みの少ない投影画像を投影する従来技術としては、例えば特許文献１に開示される技術がある。
【０００３】
また、光出射部からの光のスポット光の位置を検出して、シューティングゲームにおけるヒット判定を行うゲームシステムも知られている。このようなゲームシステムの従来技術としては、例えば特許文献２に開示される技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８５５８６号公報
【特許文献２】特開２００１−４３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、曲面スクリーンへの投影画像を生成する画像生成システムにおいて、光出射部からの光のスポット光の位置を検出して、光出射部の光の出射方向とオブジェクトとの適切なヒット判定処理を実現する手法については提案されていなかった。
【０００６】
本発明の幾つかの態様によれば、プロジェクション用の投影画像を生成しながら適切なヒット判定処理を実現できる画像生成システム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、オブジェクト空間の設定処理を行うオブジェクト空間設定部と、前記オブジェクト空間に配置される複数のオブジェクトの情報に基づいて、プロジェクション用の投影画像を生成する画像生成部と、前記投影画像の投影領域を撮像する撮像部からの撮像画像を受け付ける受け付け部と、光出射部からの光によるスポット光の前記撮像画像上での位置に基づいて、プロジェクション用スクリーンでの前記スポット光の位置であるスクリーンスポット光位置を求め、前記光出射部又はプレーヤの代表位置として設定された設定位置から、前記スクリーンスポット光位置へと向かう方向を、前記光出射部の光の出射方向として求め、求められた前記出射方向に基づいて、前記オブジェクト空間内のオブジェクトとのヒット判定処理を行うヒット判定部と、を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００８】
本発明の一態様によれば、撮像画像上でのスポット光の位置に基づいて、プロジェクション用スクリーンでのスポット光の位置であるスクリーンスポット光位置が求められる。そして、光出射部又はプレーヤの代表位置として設定された設定位置からスクリーンスポット光位置へと向かう方向が光の出射方向として求められ、この出射方向に基づいてオブジェクト空間内のオブジェクトとのヒット判定処理が実行される。このようにすれば、プロジェクション用の投影画像を生成する画像生成システムにおいて、プロジェクション用スクリーンの形状を反映した適切なヒット判定処理を実現できる。即ち、設定位置からスクリーンスポット光位置へと向かう方向を出射方向にすれば、プロジェクション用スクリーンが１つの平面だけで構成されるスクリーンではない場合に、プロジェクション用スクリーンの形状を反映させた適切な出射方向を求めて、この出射方向に基づくヒット判定処理を実行できるようになる。
【０００９】
また本発明の一態様では、前記プロジェクション用スクリーンは、１つの曲面又は複数の面により構成されるスクリーンであり、前記画像生成部は、前記プロジェクション用スクリーンの形状情報に基づく歪み補正処理を行って、前記投影画像を生成し、前記ヒット判定部は、前記プロジェクション用スクリーンの形状情報に基づいて、前記スクリーンスポット光位置を求めてもよい。
【００１０】
このように、プロジェクション用スクリーンの形状情報に基づく歪み補正処理を行えば、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状を反映させた適切な投影画像を生成できる。また、プロジェクション用スクリーンの形状情報に基づいてスクリーンスポット光位置を求めれば、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状を反映させたスクリーンスポット光位置を求めることができ、プロジェクション用スクリーンの形状を反映させた適切なヒット判定処理を実現できるようになる。
【００１１】
また本発明の一態様では、前記ヒット判定部は、前記スポット光の前記撮像画像上での位置に基づいて、前記撮像部から見た前記スポット光の方向ベクトルを求め、前記方向ベクトルに沿った直線と前記プロジェクション用スクリーンとの交点位置を、前記スクリーンスポット光位置として求めてもよい。
【００１２】
このようにすれば、撮像画像上でのスポット光の位置に対応するスポット光の方向ベクトルが求められ、この方向ベクトルに沿った直線とプロジェクション用スクリーンとの交点位置を求めることで、スクリーンスポット光位置を求めることができる。これにより例えば撮像部の光学系の情報等を反映させたスクリーンスポット光位置を求めることが可能になる。
【００１３】
また本発明の一態様では、前記画像生成部は、描画バッファ上のピクセルが前記投影装置の光学系を通して出射される光線と前記プロジェクション用スクリーンとの交点位置と、代表視点位置とを結ぶ直線を、仮想カメラの視線として、前記描画バッファ上の前記ピクセルの色を決定してもよい。
【００１４】
このようにすれば、ピクセル単位での歪み補正処理を行って、プロジェクション用の投影画像を生成できるようになる。
【００１５】
また本発明の一態様では、前記画像生成部は、前記オブジェクト空間内のオブジェクトの頂点位置と代表視点位置を結ぶ直線と、前記プロジェクション用スクリーンとの交点位置に基づいて、前記オブジェクトに対応する描画オブジェクトについての描画バッファ上での頂点位置を求め、前記頂点位置に基づいて前記描画バッファに前記描画オブジェクトを描画してもよい。
【００１６】
このようにすれば、頂点単位での歪み補正処理を行って、プロジェクション用の投影画像を生成できるようになる。
【００１７】
また本発明の一態様では、前記オブジェクト空間設定部は、前記光出射部の照準を表す照準オブジェクトの前記オブジェクト空間での配置位置を、前記出射方向に基づいて求め、求められた前記配置位置に前記照準オブジェクトを配置してもよい。
【００１８】
このようにすれば、光出射部の照準オブジェクトを、出射方向に基づき求められた位置に配置して、当該照準オブジェクトの画像を投影画像上に生成できるようになる。
【００１９】
また本発明の一態様では、前記オブジェクト空間設定部は、前記出射方向に沿った直線上に、前記照準オブジェクトを配置してもよい。
【００２０】
このようにすれば、光出射部の出射方向の変化に連動して投影画像上を移動する照準オブジェクトの画像を表示できるようになる。
【００２１】
また本発明の一態様では、前記画像生成部は、前記スポット光の検出調整用オブジェクトが、前記撮像部の撮像範囲の内側に表示される前記投影画像を生成してもよい。
【００２２】
このようにすれば、例えば撮像部の取り付け位置や取り付け方向等にバラツキがあった場合にも、検出調整用オブジェクトを用いたスポット光の位置検出の調整を適切に実現できるようになる。
【００２３】
また本発明の一態様では、前記オブジェクト空間設定部は、前記検出調整用オブジェクトが、前記投影画像の投影領域において前記撮像部の前記撮像範囲の内側に表示されるように、前記検出調整用オブジェクトを前記オブジェクト空間に配置してもよい。
【００２４】
このようにすれば、プロジェクション用の投影画像上に、スポット光の位置検出の調整を実現する検出調整用オブジェクトを適切に表示できるようになる。
【００２５】
また本発明の一態様では、前記投影画像を撮像した第２の撮像画像又は前記スポット光の検出位置の履歴情報に基づいて、前記撮像部の撮像範囲を特定する撮像範囲特定部を含んでもよい。
【００２６】
このようにすれば、撮像部の撮像範囲を特定することが可能になり、撮像部の撮像画像に基づくスポット光の検出処理に不具合等が生じるのを防止できるようになる。
【００２７】
また本発明の一態様では、前記撮像部を含み、前記撮像部は、撮像素子と、魚眼レンズを有してもよい。
【００２８】
このように撮像部に魚眼レンズを設ければ、投影画像の投影領域の広い範囲に亘って、スポット光の位置検出を実現することが可能になる。
【００２９】
また本発明の一態様では、前記投影装置を含み、前記撮像部は、前記投影装置に取り付けられてもよい。
【００３０】
このようにすれば、例えば投影装置の投影方向と撮像部の撮像方向を揃えることなどが容易になり、ヒット判定処理の精度等を向上できる。
【００３１】
また本発明の他の態様は、オブジェクト空間の設定処理を行うオブジェクト空間設定部と、前記オブジェクト空間に配置される複数のオブジェクトの情報に基づいて、プロジェクション用の投影画像を生成する画像生成部と、前記投影画像を投影する投影装置と、前記投影画像の投影領域を撮像する撮像部と、光を出射する光出射部と、前記撮像部からの撮像画像に基づいて、前記光出射部の光の出射方向を求め、求められた前記出射方向に基づいて、前記オブジェクト空間内のオブジェクトとのヒット判定処理を行うヒット判定部と、を含み、前記撮像部は、撮像素子と、魚眼レンズを有する画像生成システムに関係する。
【００３２】
本発明の他の態様によれば、投影装置により投影画像が投影され、投影画像の投影領域が撮像部により撮像される。そして撮像画像に基づいて、光出射部の光の出射方向が求められて、オブジェクト空間内のオブジェクトとのヒット判定処理が実行される。そして本発明の他の態様では、撮像部には魚眼レンズが設けられ、この魚眼レンズを介して撮像された撮像画像に基づいて、光出射部の光の出射方向が求められる。このように撮像部に魚眼レンズを設ければ、投影画像の投影領域の広い範囲に亘って、ヒット判定処理のために検出処理を実行できるようになる。従って、プロジェクション用の投影画像を生成する画像生成システムに好適なヒット判定処理を実現できるようになる。
【図面の簡単な説明】
【００３３】
【図１】本実施形態の画像生成システムを適用したゲームシステムの一例。
【図２】本実施形態の画像生成システムを適用したゲームシステムの鉛直断面図。
【図３】本実施形態の画像生成システムの構成例。
【図４】描画バッファのピクセル単位での歪み補正手法の説明図。
【図５】ピクセル単位での歪み補正に代理平面を用いる手法の説明図。
【図６】ピクセル単位での歪み補正に代理平面を用いる手法での描画バッファ、ＵＶマップ、レンダーテクスチャの関係を示す図。
【図７】オブジェクトの頂点単位での歪み補正手法の説明図。
【図８】本実施形態の画像生成システムにより生成される投影画像の例。
【図９】図９（Ａ）、図９（Ｂ）は本実施形態の画像生成システムにより実現されるシューティングゲームの説明図。
【図１０】図１０（Ａ）、図１０（Ｂ）も本実施形態の画像生成システムにより実現されるシューティングゲームの説明図。
【図１１】本実施形態のヒット判定手法の説明図。
【図１２】本実施形態のヒット判定処理を説明するフローチャート。
【図１３】本実施形態の照準オブジェクトの配置手法の説明図。
【図１４】本実施形態の照準オブジェクトの配置手法の説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）はスポット光の方向ベクトルの演算手法の説明図。
【図１６】図１６（Ａ）、図１６（Ｂ）もスポット光の方向ベクトルの演算手法の説明図。
【図１７】図１７（Ａ）、図１７（Ｂ）はスポット光の検出調整用オブジェクトの説明図。
【図１８】図１８（Ａ）、図１８（Ｂ）もスポット光の検出調整用オブジェクトの説明図。
【図１９】スポット光の検出調整用オブジェクトの説明図。
【図２０】図２０（Ａ）、図２０（Ｂ）は撮像部の撮像範囲についての説明図。
【図２１】スポット光の検出調整用オブジェクトの配置手法の説明図。
【図２２】図２２（Ａ）、図２２（Ｂ）は照準オブジェクトの表示制御手法についての説明図。
【発明を実施するための形態】
【００３４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．構成
図１に、本実施形態の画像生成システムを適用したゲームシステムの構成例を示す。図２は、このゲームシステムの鉛直断面図である。
【００３６】
図１、図２のゲームシステムは、アミューズメント施設に設置されてシューティングゲームをプレーヤがプレイするための業務用のゲームシステムである。このゲームシステムは、プレーヤシート１０と、制御基板１６と、ゲーム画像である投影画像が投影される曲面形状のスクリーン２０と、スクリーン２０に投影画像（映像）を投影する投影装置３０と、スポット光の検出用の撮像部４０と、銃を模した光出射部５０（ガン型コントローラ）と、ゲーム音を出力するスピーカ（不図示）を備えている。
【００３７】
プレーヤシート１０は、着座したプレーヤの想定正視方向がスクリーン２０の中央付近を向くように、その向きや高さが調整されて設けられている。本実施形態では、着座したプレーヤの正面方向を想定正視方向としている。スクリーン２０は、プレーヤシート１０に着座したプレーヤの正面方向（想定正視方向）に対して凸形状に形成されている。
【００３８】
制御基板１６には、ＣＰＵ、ＧＰＵ又はＤＳＰ等の各種プロセッサや、ＡＳＩＣや、ＶＲＡＭ、ＲＡＭ又はＲＯＭ等の各種メモリが実装されている。そして、制御基板１６は、メモリに記憶されたプログラムやデータや、光出射部５０等を操作するプレーヤの操作信号等に基づいて、シューティングゲームを実現するための各種処理を行う。
【００３９】
投影装置３０（プロジェクタ）は、プレーヤシート１０の後方に設置された支柱１２や筐体フレーム１４に支持されて、プレーヤシート１０の上方であってプレーヤシート１０に着座したプレーヤに干渉しない位置に、その投影中心方向がスクリーン２０の中心付近を向くように設置されている。即ち、投影中心方向がプレーヤの想定正視方向とスクリーン２０との交点位置に向くように設置される。また、投影装置３０には、投影レンズとして広角レンズ（例えば魚眼レンズ、即ち画角が１８０度を超えるような超広角レンズ）が取り付けられており、この広角レンズを通して、投影画像がスクリーン２０の投影領域の全体に投影される。
【００４０】
また投影装置３０には、投影画像の投影領域を撮像する撮像部４０が取り付けられている。例えば撮像部４０の撮影方向は投影画像の投影方向に設定されている。この撮像部４０により撮像された撮像画像を用いて、光出射部５０からの出射光によりスクリーン２０に形成されるスポット光の位置が検出される。そして検出されたスポット光の位置に基づいて光出射部５０の光の出射方向が特定され、ゲーム画像に映る敵オブジェクトとのヒット判定が行われる。
【００４１】
光出射部５０は、銃を模して形成されたガン型のコントローラである。光出射部５０には、赤外線の発光部が設けられており、この赤外光が当たることでスクリーン２０にスポット光が形成される。撮像部４０には、可視光を遮断し、赤外光を透過する赤外線フィルター（ＩＲフィルター）が設けられているため、撮像部４０の撮像画像に基づいて、赤外光のスポット光の位置を検出できる。
【００４２】
プレーヤは、プレーヤシート１０に着座して、スクリーン２０に表示されるゲーム画像を見ながら、スピーカからのゲーム音を聞きつつ、ゲーム画像に出現する敵を、銃を模した光出射部５０でシューティングしてゲームを楽しむ。
【００４３】
本実施形態のシューティングゲームでは、オブジェクト空間（仮想３次元空間）に背景オブジェクト等のオブジェクトが配置されてゲーム空間が構成される。このオブジェクト空間内には、シューティングのターゲットとなる敵のオブジェクト等も配置されると共に、プレーヤの視点位置に仮想カメラが配置される。そして、この仮想カメラから見たオブジェクト空間の画像が、ゲーム画像として、投影装置３０によってスクリーン２０に投影（表示）される。
【００４４】
図３に本実施形態の画像生成システムのブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図３に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４５】
撮像部４０（カメラ）は、レンズ４２等の光学系と、撮像素子４４を有する。レンズ４２は、例えば撮像素子４４に像を映すレンズであり、スクリーン２０の全体を撮像するための広角レンズ（例えば魚眼レンズ）である。撮像素子４４は、例えばＣＣＤ又はＣＭＯＳセンサなどにより実現される。撮像部４０はこれ以外にも上述の赤外線フィルター等が設けられる。
【００４６】
操作部１６０は、プレーヤが操作データを入力するためのものである。図１、図２のゲームシステムに画像生成システムを適用した場合には、操作部１６０は、ガン型コントローラである光出射部５０や、不図示の操作ボタン等により実現できる。
【００４７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００４８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４９】
表示部１９０は、本実施形態により生成された画像を表示するものである。図１、図２のゲームシステムに画像生成システムを適用した場合には、表示部１９０は、液晶プロジェクタにおけるＬＣＤや、ＤＬＰプロジェクタにおけるＤＭＤなどにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５０】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００５１】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５３】
処理部１００は、ゲーム演算部１０２、オブジェクト空間設定部１０４、移動体演算部１０６、仮想カメラ制御部１０８、受け付け部１１０、ヒット判定部１１４、撮像範囲特定部１１６、画像生成部１２０、音生成部１３０を含む。なおこれらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５４】
ゲーム演算部１０２はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００５５】
オブジェクト空間設定部１０４は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、移動体（人、動物、ロボット、車、飛行機、船舶機等）、マップ（地形）、建物、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７２には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１０４は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【００５６】
移動体演算部１０６は、人、動物、車、飛行機等の移動体（移動体オブジェクト）を移動させるための制御処理を行う。また移動体を動作させるための制御処理を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（オブジェクト、モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５７】
仮想カメラ制御部１０８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００５８】
例えば仮想カメラにより移動体を後方から撮影する場合には、移動体の位置又は方向の変化に仮想カメラが追従するように、仮想カメラの位置（視点位置）や方向（視線方向）を制御する。この場合には、移動体演算部１０６で得られた移動体の位置、方向又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は方向を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００５９】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６０】
そして本実施形態の画像生成システムは、図３に示すように、オブジェクト空間設定部１０４と、受け付け部１１０と、ヒット判定部１１４と、画像生成部１２０を含む。また本実施形態の画像生成システム（ゲームシステム）は、撮像部４０や図１、図２の投影装置３０や光出射部５０を含むことができる。
【００６１】
オブジェクト空間設定部１０４は、前述のようにオブジェクト空間の設定処理を行う。オブジェクト空間は３次元のゲーム空間である。
【００６２】
画像生成部１２０は投影画像を生成する。具体的には、オブジェクト空間に配置される複数のオブジェクト（敵オブジェクト、背景オブジェクト等）の情報に基づいて、プロジェクション用の投影画像（プロジェクションマッピング処理により生成された投影画像）を生成する。投影画像は、投影装置３０が曲面形状のスクリーン２０（ドーム形状のスクリーン）に対して投影する画像である。この投影画像は、液晶プロジェクタにおけるＬＣＤ或いはＤＬＰプロジェクタにおけるＤＭＤにより実現される表示部１９０に表示され、投影装置３０の広角レンズ等の光学系により、スクリーン２０に投影される。
【００６３】
受け付け部１１０は、投影画像の投影領域（スクリーン領域）を撮像する撮像部４０からの撮像画像を受け付ける。例えば撮像部４０の撮像方向（撮影方向）は投影画像の投影方向（投影装置の投影方向）に設定されている。具体的には、撮像方向が投影方向と例えば平行（略平行）になるように撮像部４０は設置されている。そして撮像部４０が、スクリーン２０の投影領域の画像を撮像すると、その撮像画像のデータが、画像インターフェースとして機能する受け付け部１１０により受け付けられる。
【００６４】
ヒット判定部１１４は、光出射部５０からの光とオブジェクトとのヒット判定処理を行う。即ち、光出射部５０の光の出射方向に銃の弾が飛んだと想定し、光出射部５０からの光により表される弾とオブジェクトとのヒット判定処理を行う。
【００６５】
具体的にはヒット判定部１１４は、光出射部５０からの光（例えば赤外光）によるスポット光の撮像画像上での位置（撮像素子の座標系での位置）を求める。例えば撮像部４０からの撮像画像に対して画像処理等を行って、撮像画像に映るスポット光（赤外スポット光）の位置を検出する。そしてヒット判定部１１４は、スポット光の撮像画像上での位置に基づいて、プロジェクション用スクリーンでのスポット光の位置であるスクリーンスポット光位置を求める。例えば、撮像画像上でのスポット光の位置と、プロジェクション用スクリーンでのスポット光の位置は、一対一に対応づけることができる。スクリーンスポット光位置は、撮像画像上でのスポット光の位置に一対一に対応づけられるプロジェクション用スクリーンでのスポット光の位置である。
【００６６】
そしてヒット判定部１１４は、光出射部５０又はプレーヤの代表位置として設定された設定位置から、スクリーンスポット光位置へと向かう方向を、光出射部５０の光の出射方向として求める。即ち、光出射部５０の位置（又はプレーヤの位置）として想定される代表位置を、設定位置として設定し、その設定位置と、スクリーンスポット光位置とを結ぶ直線の方向を、出射方向として求める。この出射方向は、光出射部５０の現実の出射方向とは必ずしも一致しないが、ヒット判定処理を実現するために、設定位置と上述の交点位置とを結ぶ直線の方向を、出射方向として仮想的に設定する。
【００６７】
そしてヒット判定部１１４は、この出射方向に基づいて、オブジェクト空間内のオブジェクトとのヒット判定処理を行う。即ち、敵オブジェクト等の標的対象のオブジェクトとのヒット判定を行う。例えば、求められた出射方向に伸びる直線（光線）を設定し、この直線とオブジェクトとの交差判定を行うことで、光出射部５０からの光（弾、ショット）がオブジェクトにヒットしたか否かをチェックするヒット判定処理を行う。
【００６８】
またプロジェクション用スクリーンが１つの曲面又は複数の面により構成されるスクリーンである場合に、画像生成部１２０は、プロジェクション用スクリーンの形状情報に基づく歪み補正処理を行って、投影画像を生成する。プロジェクション用スクリーンの形状情報は、例えばプロジェクション用スクリーンの形状を数式（例えば楕円面の方程式）などで表した情報である。画像生成部１２０は、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状を反映させるための歪み補正処理を行って、投影画像を生成する。
【００６９】
そしてヒット判定部１１４は、プロジェクション用スクリーンの形状情報に基づいて、スクリーンスポット光位置を求める。例えばプロジェクション用スクリーンの形状を数式等で表した情報に基づいて、スクリーンスポット光位置を求める。例えば後述するように、方向ベクトルに沿った直線とプロジェクション用スクリーンとの交点位置を、スクリーンスポット光位置として求める場合には、方向ベクトルに沿った直線の数式と、プロジェクション用スクリーンの形状を表す数式とに基づいて、スクリーンスポット光位置を求めることができる。
【００７０】
またヒット判定部１１４は、スポット光の撮像画像上での位置に基づいて、撮像部４０から見たスポット光の方向ベクトルを求める。例えば撮像部４０のカメラ座標系において、スクリーン２０に映るスポット光の方向を表す方向ベクトルを求める。次にヒット判定部１１４は、この方向ベクトルに沿った直線（撮像部４０の代表位置を起点として、方向ベクトルの方向に沿った直線）と、プロジェクション用スクリーンとの交点位置を、スクリーンスポット光位置として求める。そしてヒット判定部１１４は、光出射部５０の位置（又はプレーヤの位置）として想定される設定値と、この交点位置であるスクリーンスポット光位置とを結ぶ直線の方向を、出射方向として求めて、ヒット判定処理を行う。
【００７１】
またオブジェクト空間設定部１０４は、照準オブジェクトの配置処理を行う。例えばオブジェクト空間設定部１０４は、光出射部５０の照準を表す照準オブジェクト（ガンサイト）のオブジェクト空間での配置位置を、上述の出射方向に基づいて求める。そして求められた配置位置に照準オブジェクトを配置する。具体的にはオブジェクト空間設定部１０４は、出射方向に沿った直線上に、照準オブジェクトを配置する。例えば、当該直線に交差するように、３次元オブジェクトである照準オブジェクトを配置する。
【００７２】
また画像生成部１２０は、スポット光の検出調整用オブジェクトが表示される投影画像を生成する。例えばスポット光の検出調整用オブジェクト（初期調整用オブジェクト）が、撮像部４０の撮像範囲（撮像領域）の内側に表示される投影画像を生成する。具体的には、オブジェクト空間設定部１０４は、検出調整用オブジェクトが、投影画像の投影領域（スクリーン領域）において撮像部４０の撮像範囲の内側に表示されるように、検出調整用オブジェクト（３次元オブジェクト）をオブジェクト空間に配置する。このような検出調整用オブジェクトを用いることで、スポット光の位置検出の調整処理（補正処理）等が実現される。
【００７３】
撮像範囲特定部１１６は、撮像部４０の撮像範囲の特定処理を行う。例えば本実施形態では、投影領域（投影画像の表示領域）に比べて、撮像範囲は狭い範囲になっており、例えば撮像範囲の領域は、例えば投影領域に内包される領域となっている。そして、撮像部４０の取り付け位置や取り付け方向のバラツキが原因で、撮像範囲の境界等にもバラツキが発生する。撮像範囲特定部１１６は、この撮像範囲の境界等を特定する。
【００７４】
この場合に撮像範囲特定部１１６は、投影画像を撮像した第２の撮像画像又はスポット光の検出位置の履歴情報に基づいて、撮像部４０の撮像範囲を特定する。この第２の撮像画像は、スポット光の検出のために撮像部４０により撮像された撮像画像とは異なる画像である。例えば撮像画像が例えば赤外光についての撮像画像である場合に、第２の撮像画像は可視光についての撮像画像である。この第２の撮像画像は、撮像部４０と別の第２の撮像部を設けて撮像してもよいし、撮像部４０のフィルター（例えば赤外線フィルター）の切り替え等を行って、撮像してもよい。また、スポット光の検出位置の履歴情報は、プレーヤ等の操作者が、光出射部５０を操作することで得られたスポット光の検出位置の履歴である。スポット光の検出位置の履歴情報は、過去のゲームプレイによる検出位置の履歴情報であってもよいし、他人のプレーヤのゲームプレイによる検出位置の履歴情報であってもよい。
【００７５】
画像生成部１２０はプロジェクション用の投影画像を生成する。生成された投影画像は、図１、図２の投影装置３０により、スクリーン２０に投影される。これによりプレーヤは、仮想カメラから見たオブジェクト空間の画像を、ゲーム画像として見ることが可能になる。プロジェクション用の投影画像は、例えばプロジェクションマッピング処理で生成された投影画像である。プロジェクションマッピングは、映す対象（スクリーン）の状態（形状等）と投影装置３０の状態（位置、方向等）を考慮に入れて投影装置３０で映す手法である。
【００７６】
具体的には画像生成部１２０は、描画バッファ１７６上のピクセル（投影画像のピクセル）が、投影装置３０の光学系（広角レンズ等）を通して出射される光線と、プロジェクション用スクリーンとの交点位置と、代表視点位置を結ぶ直線を、仮想カメラの視線として描画バッファ１７６上のピクセルの色を決定する。例えばこの直線を仮想カメラの視線として、オブジェクト空間の情報からピクセルの色を決定する。具体的には、この直線とオブジェクト空間内のオブジェクトとの交点位置（この直線がオブジェクト空間において最初に到達するオブジェクト上の点の位置）に応じて、ピクセルの色を決定する。この処理はレイトレーシング法にて実現することができるが描画負荷が大きく、リアルタイムでの実装が難しくなる。そこで、より実用的な方法としては、曲面のスクリーンになるべく近い形状の平面スクリーン（これを「代理平面」と呼ぶことにする）に対する描画結果をレンダーテクスチャに保存しておく手法で実現してもよい。そして、このようにしてピクセルの色を決定することで、投影画像が生成される。なお代表視点位置は、プレーヤの視点位置（仮想カメラの位置）と想定される位置である。
【００７７】
或いは、画像生成部１２０は、オブジェクト空間内のオブジェクトの頂点位置と代表視点位置を結ぶ直線を求め、この直線とプロジェクション用スクリーンとの交点位置を求める。そして、求められた交点位置に基づいて、オブジェクトに対応する描画オブジェクトについての描画バッファ１７６上での頂点位置を求める。そして、求められた頂点位置に基づいて、描画バッファ１７６に描画オブジェクトを描画することで、投影画像を生成する。
【００７８】
なお、プロジェクション用スクリーンは、例えば、図１、図２のスクリーン２０に対応して、仮想３次元空間であるオブジェクト空間に配置設定される投影画像生成用の仮想的なスクリーンである。画像生成部１２０では、このプロジェクション用スクリーンの形状に合わせて歪み補正処理（プロジェクションマッピング処理とも呼ばれる）が行われることになる。このプロジェクション用スクリーンは、１つの曲面又は複数の面（曲面、平面）により構成できる。
【００７９】
また、描画オブジェクトは、描画対象となる３次元オブジェクトに対応する２次元オブジェクトである。例えば、３次元オブジェクトは、３次元空間（オブジェクト空間）に配置されるオブジェクトを意味し、例えばその頂点の座標値として３次元の座標値（Ｘ、Ｙ、Ｚ座標値）を有するオブジェクトである。一方、描画オブジェクトは、例えばその頂点の座標値として２次元の座標値（Ｘ、Ｙ座標）を有するオブジェクトである。また描画バッファ１７６は、例えばフレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファである。
【００８０】
２．本実施形態の手法
次に本実施形態の手法について具体的に説明する。なお、以下では、プロジェクション用スクリーンが曲面形状のスクリーン（ドーム形状のスクリーン）である場合を主に例にとり説明するが、本実施形態はこれに限定されない。プロジェクション用スクリーンは、単一平面ではないスクリーンの全般を指すものである。例えばプロジェクション用スクリーンは、１つの曲面又は複数の面（平面、曲面）により構成されるスクリーンであればよい。即ち、当該スクリーンとしては、１つの曲面で構成されるスクリーン、複数の平面で構成されるスクリーン、曲面部分と平面部分とを含むスクリーンなどを想定できる。
【００８１】
２．１  ピクセル単位での歪み補正手法
まずプロジェクション用の投影画像の生成手法について説明する。例えばプロジェクション用スクリーンが、１つの曲面又は複数の面により構成されるスクリーンである場合に、本実施形態では、プロジェクション用スクリーンの形状情報に基づく歪み補正処理を行って、投影画像を生成する。以下では、投影画像の生成の際に行われる歪み補正手法の具体例について説明する。
【００８２】
ドーム形状(曲面形状）のスクリーンに画像を投影する場合に、投影装置の位置とプレーヤ（観察者）の位置が離れていると、画像の歪みが目立ってしまう。そこで、この歪みを予め考慮に入れて、投影装置からの投影画像（投影装置の描画バッファに描く画像）を生成することで、プレーヤから見て歪みのない映像を提示することが可能になる。
【００８３】
この場合に、スクリーンが単一の平面であれば、歪みは線形（パースによる歪み）となるため、射影変換行列を１つ用いるだけで簡単に補正することが可能になる。
【００８４】
しかし、単一平面ではないスクリーン（１つの曲面又は複数の面で構成されるスクリーン）である場合には、線形ではない歪みが加わるため、射影変換行列を１つ用いるだけという簡単な補正手法では、歪みを補正できず、画像の部分に応じて、細かく補正を行う必要がある。
【００８５】
このような歪み補正を実現する手法として、描画バッファのピクセル単位で歪み補正を行う手法と、３次元オブジェクトの頂点単位で歪み補正を行う手法が考えられる。まず、ピクセル単位での歪み補正手法について説明する。
【００８６】
描画バッファのピクセル単位での歪み補正手法では、図４や下記に示す（１）、（２）、（３）、（４）の処理を順に行う。
（１）描画バッファ（フレームバッファ）上のピクセルＰＸ（ＸＰ，ＹＰ）が、投影装置のレンズを通して出射される光線ＲＹを求める。
（２）その光線ＲＹが、スクリーンＳＣと交差する交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置を求める。例えばスクリーンＳＣが楕円面の方程式等の数式で表される場合には、直線ＲＹを表す数式とスクリーンＳＣを表す数式を用いて交点ＰＳを求める。このスクリーンＳＣを表す数式が、スクリーンＳＣの形状情報である。
（３）この交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の色は、プレーヤ（観察者）がオブジェクト空間（仮想空間）を観察しているときの色である必要がある。そこで、プレーヤの代表視点に対応する仮想カメラＶＣの位置ＶＰと、交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置を結ぶ直線ＬＶを求める。
（４）この直線ＬＶを仮想カメラＶＣの視線としてオブジェクト空間の情報から、描画バッファ上の投影画像のピクセルの色を決定する。例えば、オブジェクト空間で最初に到達する３次元オブジェクトＯＢ上の点ＰＢ（ＸＢ，ＹＢ，ＺＢ）の位置を求め、それに応じて、描画バッファ上の投影画像のピクセルの色を決定する。
【００８７】
この場合に、ピクセル単位での歪み補正手法の改良手法では、上記の最後の（４）において、直線ＬＶと３次元オブジェクトＯＢとの交点ＰＢ（ＸＢ，ＹＢ，ＺＢ）の色を求める代わりに、あらかじめ描画しておいた平面（レンダーテクスチャ）と直線ＬＶとの交点（レンダーテクスチャの座標で（Ｕ，Ｖ））の色を用いて、投影画像のピクセルの色を決定する。レンダーテクスチャは、予め、投影面になるべく近い平面（以下、代理平面と呼ぶ）を選んでおき、そこに通常の描画方法、すなわち、平面を投影面とする描画を行うことで作成できる。
【００８８】
図５に、このような代理平面ＰＬ１、ＰＬ２の一例を示す。点ＰＰが直線ＬＶと代理平面ＰＬ１（ＰＬ２）との交点である。
【００８９】
レンダーテクスチャの参照位置は、視点や投影装置の位置が変化しない限り、最初に１度だけ計算しておけばよい。そのデータを保持しておくための代表的な方法としては、描画バッファの１ピクセルごとに、レンダーテクスチャのどの位置（Ｕ，Ｖ）のピクセル値（テクセル値）を参照するかを、１枚のテクスチャとして保持しておく方法がある。このテクスチャを、「ＵＶマップ」と呼ぶ。図６に、投影装置の描画バッファとＵＶマップとレンダーテクスチャの関係を示す。
【００９０】
図６のレンダーテクスチャの対応点（ＵＶ座標）を、描画バッファ上の全ピクセルについて求めて保持しておくことは、大きなリソースを必要とする。その大きなリソースを用意する余裕がない場合には、スクリーンＳＣ上に適当に配置された代表頂点について、描画バッファ上の対応点（ＸＰ，ＹＰ）と、レンダーテクスチャ上の対応点（Ｕ，Ｖ）を求め、それらをつないだ三角形ポリゴンによるメッシュを作っておく。そして、三角形ポリゴンを描画するときに、三角形ポリゴンの頂点に情報として記録された（Ｕ，Ｖ）座標を参照し、三角形ポリゴン内部の点についてはそれらから補間された（Ｕ，Ｖ）座標を用いるようにする。このようにすれば、大幅にリソースを節約することが可能になる。
【００９１】
２．２  頂点単位での歪み補正手法
次に描画オブジェクトの頂点単位で歪み補正を行う手法について説明する。この手法では、オブジェクト空間内の３次元オブジェクトの頂点を、投影装置の描画バッファ上の点に変換する。具体的には図７や下記に示す（１）、（２）、（３）、（４）の処理を順に行う。これは図４の手法の処理を逆の順で行うことに相当する。
（１）オブジェクト空間内の３次元オブジェクトＯＢの頂点Ｖ（ＸＶ，ＹＶ，ＺＶ）の位置と、プレーヤの代表視点に対応する仮想カメラＶＣの位置ＶＰとを結ぶ直線ＬＶを求める。
（２）求められた直線ＬＶとスクリーンＳＣの交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置を求める。例えばスクリーンＳＣが楕円面の方程式等の数式で表される場合には、直線ＬＶを表す数式とスクリーンＳＣを表す数式を用いて交点ＰＳを求める。このスクリーンＳＣを表す数式が、スクリーンＳＣの形状情報である。
（３）交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置と投影装置ＰＪの位置を結ぶ直線ＬＲを求める。
（４）直線ＬＲに対応する描画バッファ上の点ＰＤ（ＸＤ，ＹＤ）の位置を求める。この点ＰＤは、３次元オブジェクトＯＢに対応する描画バッファ上の描画オブジェクトＯＢＤの頂点に相当する。なお直線ＬＲから点ＰＤを求める際には、投影装置ＰＪのレンズの特性や配置等の光学系の情報を用いる。
【００９２】
以後は、描画オブジェクトＯＢＤの頂点と頂点を結んで色を塗るラスタライズ処理を行うことで、描画バッファ上に投影画像を生成できる。
【００９３】
なお、この場合に、以下のような手法を用いることが望ましい。即ち、オブジェクト空間内の３次元オブジェクトＯＢに対して、頂点分割数設定部で設定された頂点分割数で頂点分割処理を行う。そして頂点分割処理後の３次元オブジェクトＯＢの頂点位置と仮想カメラＶＣの位置とを結ぶ直線と、プロジェクション用のスクリーンＳＣとの交点位置を求める。そして、求められた交点位置に基づいて、３次元オブジェクトＯＢに対応する描画オブジェクトＯＢＤについての、描画バッファでの頂点位置を求める。そして、求められた描画オブジェクトＯＢＤの頂点位置に基づいて、描画オブジェクトＯＢＤを描画バッファに描画する処理を行って、プロジェクション用の投影画像を生成する。このような手法を採用すれば、例えばオブジェクト空間内での直線が、描画バッファ上においても直線として描画されてしまい、結果として歪んだ画像が観察されてしまうような事態の発生を抑制できる。
【００９４】
２．３  ヒット判定処理
図８に本実施形態の画像生成システムで生成された投影画像の例を示す。本実施形態では図８に示すような投影画像が描画バッファ上に生成され、生成された投影画像が、投影装置３０によりスクリーン２０に投影される。この投影画像は、前述したピクセル単位での歪み補正又は頂点単位での歪み補正が行われた画像である。
【００９５】
本実施形態では、図８に示す投影画像が図１、図２のスクリーン２０に投影され、プレーヤは、スクリーン２０に映る投影画像を見ながら、敵オブジェクト等の標的対象オブジェクトへのシューティングゲームをプレイする。即ち、銃を模した光出射部５０を手に持ち、標的対象オブジェクトに狙いを定めて、光出射部５０に設けられたトリガー（発射スイッチ）を引いて、シューティングを行う。この場合に光出射部５０からの光（赤外光）の出射方向が、銃の弾の飛ぶ方向として、ゲーム上、設定され、標的対象オブジェクトと弾（出射光）とのヒット判定処理が行われる。弾がヒットすると、標的対象オブジェクトが破壊されるなどの公知の被弾演出処理が行われる。
【００９６】
図８に示すように、投影画像には、木、岩などのゲーム画像を構成するオブジェクトの画像が表示される。またこの投影画像には照準オブジェクトＳＧ１、ＳＧ２も表示される。照準オブジェクトＳＧ１、ＳＧ２は、銃を模した光出射部５０の照準を表すオブジェクトである。プレーヤがこの照準オブジェクト（ＳＧ１又はＳＧ２）に狙いを定めて光出射部５０のトリガーを引くと、照準オブジェクトの方向に弾（光線）が飛ぶようになる。なお、図８は二人のプレーヤがマルチプレイする場合のゲーム画像の例であり、ＳＧ１は第１のプレーヤ用の照準オブジェクトであり、ＳＧ２は第２のプレーヤ用の照準オブジェクトである。これらの照準オブジェクトＳＧ１、ＳＧ２は、オブジェクト空間に配置されるオブジェクト（３次元オブジェクト）であり、照準オブジェクトＳＧ１、ＳＧ２のオブジェクト空間での配置位置は、例えば光出射部５０の出射方向に基づいて求められる。従って、これらの照準オブジェクトＳＧ１、ＳＧ２の画像も、前述のピクセル単位又は頂点単位での歪み補正が行われた画像になっている。
【００９７】
図９（Ａ）、図１０（Ａ）は従来の画像生成システムにより実現されるシューティングゲームの説明図であり、図９（Ｂ）、図１０（Ｂ）は本実施形態の画像生成システムにより実現されるシューティングゲームの説明図である。
【００９８】
図９（Ａ）の従来のシューティングゲームでは、例えばＬＣＤやＣＲＴの平面のスクリーン５２０にゲーム画像が表示され、プレーヤはこのゲーム画像を見ながら光出射部５５０（ガン型コントローラ）を操作して、シューティングゲームをプレイする。ゲーム画像は平面のスクリーン５２０に表示されるため、光出射部５５０によるシューティングの範囲はＡ１に示すように狭い。
【００９９】
一方、図９（Ｂ）の本実施形態のシューティングゲームでは、ドーム形状（曲面形状）のスクリーン２０に対して投影装置３０により投影画像が投影される。プレーヤは、スクリーン２０に投影される投影画像を見ながら、光出射部５０を手に持って、シューティングゲームをプレイする。ゲーム画像である投影画像はドーム形状のスクリーン２０に投影されるため、光出射部５０によるシューティング範囲はＡ２に示すように広い。即ち、スクリーン２０の上方向から襲ってくる敵や下方向から襲ってくる敵に対して弾をヒットさせるシューティングゲームを実現できる。
【０１００】
図１０（Ａ）、図１０（Ｂ）は、二人のプレーヤがプレイするマルチプレイのシューティングゲームの例である。
【０１０１】
図１０（Ａ）の従来のマルチプレイのシューティングゲームでは、平面のスクリーン５２０に画像が表示される。従って、第１のプレーヤの光出射部５５０によるシューティング範囲はＡ３に示すように狭く、第２のプレーヤの光出射部５５２によるシューティング範囲もＡ４に示すように狭い。
【０１０２】
一方、図１０（Ｂ）の本実施形態のマルチプレイのシューティングゲームでは、第１、第２のプレーヤを覆うように設けられたドーム形状のスクリーン２０の全体に、投影装置３０からの投影画像が投影される。従って、第１のプレーヤの光出射部５０によるシューティング範囲及び第２のプレーヤの光出射部５２によるシューティング範囲は、Ａ５に示すように非常に広くなる。例えば第１のプレーヤは、Ａ６に示すように、第２のプレーヤの正面方向に出現する敵に対しても弾をヒットさせることができる。同様に第２のプレーヤは、Ａ７に示すように、第１のプレーヤの正面方向に出現する敵に対しても弾をヒットさせることができる。
【０１０３】
このように本実施形態によれば、二人（或いは一人）のプレーヤの視界を完全に包み込む巨大なドーム形状のスクリーン２０を採用している。従って、圧倒的な没入感を感じながら、上下左右から襲いかかる敵を狙い撃つ新しい体験のシューティングゲーム（ガンゲーム）を、二人一緒に楽しむことが可能になる。従って、カップル、ファミリー、グループなどの幅広い客層が楽しむことができるシューティングゲームの提供が可能になる。
【０１０４】
さて、このようなドーム形状（曲面形状）のスクリーン２０を採用した場合に、光出射部５０による弾のヒット判定処理（当たり判定処理）を、如何に正確に実現するかが重要な課題となる。この課題を解決するために本実施形態では以下のようなヒット判定手法を採用している。
【０１０５】
図１１は本実施形態のヒット判定手法を説明する図である。本実施形態では図１１や下記に示す（１）、（２）、（３）、（４）、（５）の処理を順に行う。
（１）まず、光出射部ＧＮからの光によるスポット光の撮像画像上での位置ＰＳＬ（ＸＬ，ＹＬ）を検出する。この位置ＰＳＬ（ＸＬ，ＹＬ）の座標は、例えば撮像素子の座標系（例えばＣＣＤ座標系）で表される。
即ち、プレーヤが持つ光出射部ＧＮ（銃型デバイス）からは赤外光が出射され、その赤外光のスポット光（図１、２のスクリーン２０に形成されるスポット光）を、広角レンズ（例えば魚眼レンズ）が設けられた撮像部ＣＭにより撮像（撮影）する。そして、得られた撮像画像の画像解析処理を行って、撮像画像に映った赤外光のスポット光（赤い点）の位置ＰＳＬ（ＸＬ，ＹＬ）の座標（ＣＣＤ座標系）を求める。
（２）次に、撮像画像上でのスポット光の位置ＰＳＬ（ＸＬ，ＹＬ）に基づいて、このスポット光に対応する方向ベクトルＶＳＬを求める。即ち、撮像部ＣＭから見たスポット光の方向ベクトルＶＳＬを求める。この方向ベクトルＶＳＬは、例えば撮像部ＣＭのカメラ座標系での方向ベクトルである。
例えば光出射部ＧＮにより図１、図２のスクリーン２０上に形成されるスポット光からの光は、撮像部ＣＭの光学系を通って、撮像素子の位置ＰＳＬ（ＸＬ，ＹＬ）に映る。従って、撮像部ＣＭの光学系（レンズ）の情報に基づいて、スポット光からの光の入射方向に対応する方向ベクトルＶＳＬ（入射方向と逆方向）を求めることができる。例えば、撮像部ＣＭは、広角レンズ（魚眼レンズ）の屈折効果により視野角が広がっている。例えば左右視野角が約１２０度、上下視野角が約９０度というように視野角が広がっている。このような視野角を広げる魚眼レンズを用いることで、ドーム形状のスクリーン２０の広範囲の投影領域を、撮像部ＣＭの撮像範囲に収めることができる。そして方向ベクトルＶＳＬを求める際には、このような視野角を加味して、計算を行うことになる。
（３）次に、方向ベクトルＶＳＬに沿った直線ＬＬとプロジェクション用のスクリーンＳＣとの交点ＳＬ（ＸＣ，ＹＣ，ＺＣ）の位置を求める。即ち、本実施形態では撮像画像上でのスポット光の位置ＰＳＬ（ＸＬ，ＹＬ）に基づいて、スクリーン２０上のスポット光位置であるスクリーンスポット光位置を求めているが、図１１の交点ＳＬ（ＸＣ，ＹＣ，ＺＣ）が、このスクリーンスポット光位置に相当する。
具体的には、カメラ座標系の方向ベクトルＶＳＬを、現実世界のワールド座標系（ドーム座標系）に変換する。即ち、カメラ座標系の方向ベクトルＶＳＬの向きを、ワールド座標系の向きに変換して、撮像部ＣＭの設置方向（撮像方向）を、方向ベクトルＶＳＬに反映する。例えば図１、図２に示すように、撮像部ＣＭは下方向に所定角度だけ傾けて設置されているため、この傾き角度等を方向ベクトルＶＳＬに反映する。
そして方向ベクトルＶＳＬの方向に沿った直線ＬＬとスクリーンＳＣとの交点ＳＬ（ＸＣ，ＹＣ，ＺＣ）の位置を求める。例えばスクリーンＳＣが楕円面の方程式等の数式で表される場合には、方向ベクトルＶＳＬに沿った直線ＬＬを表す数式とスクリーンＳＣを表す数式を用いて交点ＳＬの位置を求める。このスクリーンＳＣを表す数式が、スクリーンＳＣの形状情報である。また、求められた交点ＳＬ（ＸＣ，ＹＣ，ＺＣ）の位置は、スクリーンＳＣ上でのスポット光の位置に対応する。
（４）次に、光出射部ＧＮの代表位置として設定された設定位置ＰＧから交点ＳＬ（ＸＣ，ＹＣ，ＺＣ）の位置（スクリーンスポット光位置）へと向かう方向を、光出射部ＧＮの光の出射方向ＤＧ（銃方向）として求める。
この設定位置ＰＧは、現実世界で想定する光出射部ＧＮの理想的な位置である。例えば、設定位置ＰＧは、図１、図２のプレーヤシート１０の座面位置を基準位置とした固定の座標値（Ｘ、Ｙ、Ｚ座標）により表すことができる。即ち、この設定位置ＰＧに光出射部ＧＮが位置すると想定して設定位置ＰＧの座標を決定する。なお設定位置ＰＧはプレーヤの代表位置（プレーヤの所定部位の位置）として設定される位置であってもよい。また例えば光出射部ＧＮの位置（又はプレーヤの位置）を検出できる場合には、その検出位置を設定位置ＰＧにしてもよい。この場合には設定位置ＰＧは可変の位置になる。
（５）次に、求められた出射方向ＤＧに基づいて、オブジェクト空間内のオブジェクトＴＯＢとのヒット判定処理を行う。即ち、この出射方向ＤＧ（出射角度）を、プレーヤが構えている光出射部ＧＮ（銃）の向きと仮定して、この出射方向ＤＧに沿った直線ＬＧに基づいてオブジェクトＴＯＢのヒット判定処理を行う。例えば直線ＬＧとオブジェクトＴＯＢの交差判定によりヒット判定処理を実現する。つまり、出射方向ＤＧに沿ったレイを飛ばし、このレイを伸張してオブジェクトＴＯＢとのヒット判定処理を行う。
【０１０６】
図１２は、以上に説明した本実施形態のヒット判定処理を示すフローチャートである。
【０１０７】
まず撮像画像上（ＣＣＤ座標系）でのスポット光の位置ＰＳＬを求める（ステップＳ１）。そしてスポット光の位置ＰＳＬに対応する方向ベクトルＶＳＬ（カメラ座標系）を求める（ステップＳ２）。
【０１０８】
次に、求められた方向ベクトルＶＳＬをカメラ座標系からワールド座標系に変換する（ステップＳ３）。そして方向ベクトルＶＳＬに沿った直線ＬＬとスクリーンＳＣとの交点ＳＬの位置を求める（ステップＳ４）。
【０１０９】
次に、銃の設定位置ＰＧから交点ＳＬの位置へと向かう方向を出射方向ＤＧとして求める（ステップＳ５）。そして、求められた出射方向ＤＧに沿った直線ＬＧを用いてヒット判定処理を行う（ステップＳ６）。
【０１１０】
以上の本実施形態の手法によれば、ドーム形状のスクリーン２０に投影画像を投影する画像生成システムにおいて、ドーム形状等を反映した適切なヒット判定処理を実現できるようになる。
【０１１１】
即ち、本実施形態では、撮像画像上でのスポット光の位置ＰＳＬから、スクリーンＳＣ上でのスポット光の位置であるスクリーンスポット光位置を求めている。具体的には、撮像画像上でのスポット光の位置ＰＳＬに対応する方向ベクトルＶＳＬを求めて、スクリーンＳＣとの交点ＳＬの位置を、スクリーンスポット光位置として求める。従って、ドーム形状のスクリーンＳＣの形状を反映させた交点ＳＬの位置を求めることができる。また、例えばスクリーンＳＣの形状が変更された場合にも、これに容易に対応できる。また位置ＰＳＬから方向ベクトルＶＳＬを求める際には、撮像部ＣＭの光学系の情報を用いることができるため、撮像部ＣＭの光学系の情報も反映させた交点ＳＬの位置を求めることができる。
【０１１２】
そして、この交点ＳＬの位置は、現実世界において光出射部ＧＮがスクリーン２０上に形成するスポット光の位置に対応している。従って、この交点ＳＬの位置を用いて、光出射部ＧＮの光の出射方向ＤＧを設定して、オブジェクトＴＯＢとヒット判定処理を行えば、ドーム形状等を反映した適切なヒット判定処理を実現できるようになる。
【０１１３】
例えば本実施形態の比較例の手法として、１つの平面で構成される単一平面スクリーンに投影画像を投影すると共に、光出射部により単一平面スクリーンに形成されたスポット光の位置を、撮像部の撮像画像に基づき検出し、このスポット光の位置のみに基づいて光の出射方向を求めて、ヒット判定を行う手法が考えられる。
【０１１４】
しかしながら、この比較例の手法は、スクリーンが単一平面スクリーンである場合には、正確なヒット判定処理が可能であるが、本実施形態のプロジェクション用スクリーンのような１つの曲面又は複数の面により構成されるスクリーンを用いる場合には、正確なヒット判定処理を実現できないという問題がある。即ち、単一平面スクリーンでは、スクリーン上でのスポット光の位置のみに基づいて、光の出射方向を一意に決めることができるが、プロジェクションマッピングにおけるプロジェクション用スクリーンでは、光の出射方向を一意に決めることができない。
【０１１５】
この点、本実施形態では、光出射部５０又はプレーヤの代表位置として設定された設定位置を用意する。そして、この設定位置からスクリーンスポット光位置へと向かう方向を、光の出射方向に設定して、ヒット判定処理を実行する。このようにすれば、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンを用いて、例えば図９（Ｂ）、図１０（Ｂ）に示すようなゲームを実現する場合にも、プロジェクション用スクリーンの形状を反映した正確なヒット判定処理を実現することが可能になる。
【０１１６】
また本実施形態では、広角レンズとして魚眼レンズを有する撮像部ＣＭにより投影領域を撮像して、スポット光の位置を検出してもよい。このようにすれば、スクリーン２０がドーム形状であり、投影画像の投影領域が非常に広い場合にも、これに対応できるようになる。
【０１１７】
即ち、本実施形態では、図９（Ｂ）のＡ２や図１０（Ｂ）のＡ５に示すように、光出射部５０によるシューティング範囲は非常に広い。従って、例えば図９（Ｂ）では、スクリーン２０の上方向や下方向から襲ってくる敵に対して弾をヒットさせることができる。また図１０（Ｂ）では、Ａ６に示すように、第１のプレーヤは、第２のプレーヤの正面方向に出現する敵に対しても弾をヒットさせることができ、Ａ７に示すように、第２のプレーヤは、第１のプレーヤの正面方向に出現する敵に対しても弾をヒットさせることができる。  そして例えば図１０（Ｂ）では、第１、第２のプレーヤを覆うように設けられたドーム形状のスクリーン２０の全体に、投影装置３０からの投影画像が投影される。従って、通常レンズを用いた撮像部では、このようなスクリーン２０上に形成されるスポット光の位置を検出することは難しい。
【０１１８】
この点、撮像部ＣＭに、広角レンズとして魚眼レンズを設ければ、この魚眼レンズにより、図１０（Ｂ）のような巨大なドーム形状のスクリーン２０の全体が収まるように撮像範囲を設定でき、スクリーン２０上に形成されるスポット光の位置を適切に検出できるようになる。従って、図９（Ｂ）、図１０（Ｂ）に示すようなシューティングゲームに最適なスポット光の検出システムを実現できる。
【０１１９】
２．４  照準オブジェクト
シューティングゲームにおいては、敵に狙いをつけるための照準オブジェクトが必要になる。そしてシューティングゲームにおいては、この照準オブジェクトを、スクリーン上に配置された２次元オブジェクトにより実現するのが一般的である。
【０１２０】
しかしながら、ドーム形状のスクリーン２０へのプロジェクションマッピングを行う画像生成システムでは、投影画像は図８に示すようにドーム形状を反映させた変形した画像になる。従って、上述のようなスクリーン上に２次元の照準オブジェクトを配置する手法では、このような投影画像上に適切な照準を表示することは難しい。
【０１２１】
そこで本実施形態では、照準オブジェクトのオブジェクト空間での配置位置を、図１１で求められた出射方向ＤＧに基づいて求める手法を採用している。
【０１２２】
例えば図１３において、前述の図１１の手法により、光出射部ＧＮの出射方向ＤＧが求められている。この場合に本実施形態では、照準オブジェクトＳＧのオブジェクト空間での配置位置を、この出射方向ＤＧに基づいて求め、求められた配置位置に照準オブジェクトＳＧを配置する。即ち、スクリーン上の２次元オブジェクトではなく、仮想３次元空間であるオブジェクト空間内の３次元オブジェクト（３次元の座標を有するオブジェクト）として、照準オブジェクトＳＧを配置する。具体的には、出射方向ＤＧに沿った直線ＬＧ上に、照準オブジェクトＳＧを配置する。例えば図１３では、直線ＬＧとスクリーンＳＣとの交点の位置に照準オブジェクトＳＧが配置されている。
【０１２３】
このようにすれば、プレーヤが光出射部ＧＮを手に持って狙った方向に、照準オブジェクトＳＧが表示されるようになる。例えばプレーヤが光出射部ＧＮを上下左右に動かすと、これに連動して照準オブジェクトＳＧも上下左右に動くようになる。そしてプレーヤの視点から見て、照準オブジェクトＳＧがオブジェクトＴＯＢに重なるような状態にして、光出射部ＧＮのトリガーを引けば、光出射部ＧＮからの弾をオブジェクトＴＯＢにヒットさせることができる。
【０１２４】
即ち、プロジェクションマッピングを行う画像生成システムにおいては、スクリーン上に２次元の照準オブジェクトを配置する手法では、どのような形状・表示態様の照準オブジェクトを配置するかを決定するのが極めて困難である。
【０１２５】
これに対して本実施形態では、ヒット判定処理のために求められた交点ＳＬの位置や出射方向ＤＧを有効活用して、照準オブジェクトＳＧをオブジェクト空間に配置している。こうすることで、図８に示すように、スクリーン２０の形状が反映された適切な照準オブジェクトＳＧ１、ＳＧ２の画像が、投影画像上に表示されるようになる。そして、この投影画像をスクリーン２０に投影することで、プレーヤから見て適切な形状に見える照準オブジェクトＳＧ１、ＳＧ２の画像を表示できるようになる。従って、プロジェクションマッピングを行う画像生成システムに好適な照準オブジェクトの表示が可能になる。
【０１２６】
なお図１３では、出射方向ＤＧに沿った直線ＬＧ上に照準オブジェクトＳＧを配置しているが、本実施形態はこれに限定されない。例えば図１４に示すように、仮想カメラＶＣの位置ＶＰと交点ＳＬの位置を結ぶ直線ＬＳＶ上に照準オブジェクトＳＧを配置してもよい。このようにすれば、プレーヤの視点から見て適切に見えるように照準オブジェクトＳＧを配置できる。
【０１２７】
また照準オブジェクトＳＧの配置位置は、スクリーンＳＣとの交点位置には限定されない。例えば図１３、図１４に示すように、スクリーンＳＣとの交点位置よりも奥側に照準オブジェクトＳＧ’を配置してもよい。図１４の場合にはプレーヤの視点（仮想カメラＶＣ）から見て照準オブジェクトＳＧ、ＳＧ’が同じ位置に見えるが、図１３の場合には少しずれた位置に見えることになる。
【０１２８】
２．５  方向ベクトルＶＳＬ
次に方向ベクトルＶＳＬを求める手法の詳細について説明する。
【０１２９】
図１５（Ａ）、図１５（Ｂ）はピンホールカメラモデルのような理想的なレンズＬＥＮにおいて、方向ベクトルＶＳＬを求める手法を説明する図である。
【０１３０】
図１５（Ａ）では、撮像素子であるＣＣＤの座標系でのスポット光の位置ＰＳＬ（ｘ，ｙ）が検出されている。そして、このＣＣＤ座標系での位置ＰＳＬ（ｘ，ｙ）からカメラ座標系での方向ベクトルＶＳＬを求める。
【０１３１】
例えば図１５（Ａ）ではＣＣＤ座標系での値域が（０〜１）であるが、図１５（Ｂ）では、（０〜１）から（−１〜＋１）に変換されている。また図１５（Ａ）に対して図１５（Ｂ）ではＹ軸の向きを反転している。図１５（Ｂ）でのＹ軸の向きは紙面に対して手前向きである。従って、図１５（Ａ）の位置ＰＳＬを（x , y）とし、図１５（Ｂ）の位置ＰＳＬを（X , Y）とすると、下式（１）のようになる。
（X , Y）＝（2x-1 , -(2y-1)）    （１）
【０１３２】
また横画角をＡｘとし、縦画角をＡｙとし、図１５（Ｂ）の仮想スクリーンＳＣＶのＺ座標をＺ＝１とすると、図１５（Ｂ）の点ＰＲの座標は下式（２）のように表される。
ＰＲ＝(tan(Ax/2), 0, 1）    （２）
【０１３３】
従って、点ＰＶの座標は下式（３）のように表される。
ＰＶ＝（(2x-1)×(tan(Ax/2)), -(2y-1)×(tan(Ay/2)), 1）    （３）
【０１３４】
この点ＰＶの座標が下式（４）のようにカメラ座標系での方向ベクトルＶＳＬになる。
ＶＳＬ＝（(2x-1)×(tan(Ax/2)), -(2y-1)×(tan(Ay/2)), 1）  （４）
【０１３５】
図１６は魚眼レンズによく使用されるｆθレンズにおいて、方向ベクトルＶＳＬを求める手法を説明する図である。
【０１３６】
図１６のＢ１、Ｂ２では、図１５（Ａ）、図１５（Ｂ）と同様に、（x , y）から（X , Y）への座標変換を行う。即ち、レンズ中心に合わせ、レンズ中心がＣＣＤの中心（原点）になるようにする。またＹ軸の向きを反転する。
【０１３７】
図１６のＢ３では、レンズにより像は反転するため、ＰＳＬ（X , Y）の座標を上下左右に反転している。そして原点からＰＳＬ（X , Y）までの距離をＬ＝（Ｘ２＋Ｙ２）１／２とする。
【０１３８】
ｆθレンズは、θの角度で入射した光線が、焦点距離ｆだけ離れた位置において、レンズ中心（光軸）から距離ｆθの位置に結像するレンズである。従って、Ｌに対応するθについて、下式（５）が成り立つ。
Ｌ＝ｆθ    （５）
【０１３９】
このｆθレンズにおいて、θ＝０〜π／２に対応する、レンズ中心（ＣＣＤにおける原点）からの距離を０〜Ｍとする。即ち、ｆθレンズにおいてθ＝π／２の角度で入射した光線が、焦点距離ｆだけ離れた位置において結像するときの距離をＭとする。すると、下式（６）が成り立つ。
Ｍ＝ｆ×（π／２）  （６）
【０１４０】
上式（５）、（６）からθは下式（７）のように求まる。
θ＝（Ｌ／Ｍ）×（π／２）    （７）
【０１４１】
従って、図１６のＢ４から明らかなように、方向ベクトルＶＳＬは下式（８）のように求まる。
ＶＳＬ＝（（Ｘ／Ｌ）×ｓｉｎθ，（Ｙ／Ｌ）×ｓｉｎθ，ｃｏｓθ）  （８）
【０１４２】
なお方向ベクトルＶＳＬを求める手法としては種々の変形実施が可能である。例えばｆθレンズ（魚眼レンズ）を有する撮像部４０の撮像画像に対して、ｆθレンズによる歪みを補正する公知の画像補正処理を行う。そして画像補正処理後の撮像画像に対して、図１５（Ａ）、図１５（Ｂ）の手法を適用して、方向ベクトルＶＳＬを求めてもよい。実際のレンズは、理想的なレンズでもｆθレンズでもなく、単純な式では表せないような歪みを持っている場合が多い。あらかじめ格子模様を印刷した画像等を撮影するなどして、その歪みを、理想的なカメラモデルでの画像に補正するマップを作っておき、それを使って理想的なカメラモデルでの画像に変換する手法は一般的に良く用いられるが、その手法で変換した後、図１５（Ａ）、図１５（Ｂ）の手法を適用して、方向ベクトルＶＳＬを求めてもよい。
【０１４３】
２．６  スポット光の位置検出の調整
さて、本実施形態のようにスポット光の位置検出を行う場合には、その位置検出の調整作業（ガン・イニシャライズ）が必要になる。
【０１４４】
例えば図１７（Ａ）〜図１９では、スポット光の検出調整用オブジェクトＩＴ１、ＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５を、初期調整時における投影画像上に表示している。
【０１４５】
具体的には図１７（Ａ）では、画面の左上に検出調整用オブジェクトＩＴ１を表示する。そして操作者（例えばアミューズメント施設の店員）は、この検出調整用オブジェクトＩＴ１に狙いを定めて、光出射部５０のトリガーを引く。同様に図１７（Ｂ）、図１８（Ａ）、図１８（Ｂ）、図１９では、各々、画面の右上、左下、右下、真ん中に、検出調整用オブジェクトＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５を表示する。そして、操作者は、これらの検出調整用オブジェクトＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５に狙いを定めて、光出射部５０のトリガーを引く。なお、図１７（Ａ）〜図１９は、図８と同様に歪み補正処理が行われた投影画像であり、検出調整用オブジェクトＩＴ１、ＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５はオブジェクト空間に配置される３次元オブジェクトであるため、ＩＴ１、ＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５は変形した画像になっている。
【０１４６】
例えば図１７（Ａ）で検出調整用オブジェクトＩＴ１が表示されている状態で、操作者が検出調整用オブジェクトＩＴ１を狙って、光出射部５０のトリガーを引いたとする。すると、この時に検出された出射方向ＤＧ（図１１参照）と、目標となる出射方向ＤＧＴとの差分角度を求める。このようにすれば、実際のプレーヤのゲームプレイ時には、検出された出射方向ＤＧを、上述の差分角度で補正することで、正確な出射方向ＤＧを得ることができる。即ち、スポット光の正確な位置検出を実現できるようになる。
【０１４７】
さて、例えば図１、図２において、撮像部４０の取り付け位置や取り付け方向にはバラツキがある。即ち、撮像部４０は、その撮像方向が投影装置３０の投影方向に一致（略一致）するように投影装置３０に取り付けられる。また、投影装置３０を基準とした所定位置に撮像部４０が取り付けられる。しかしながら、ゲームシステムの製造時の組み立て誤差等により、撮像部４０の取り付け位置や取り付け方向にはバラツキが生じる。すると、投影領域での撮像部４０の撮像範囲にもバラツキが発生してしまう。
【０１４８】
例えば図２０（Ａ）、図２０（Ｂ）において、ＲＳＣは投影画像の投影領域（スクリーン領域）であり、ＲＣＭは、この投影領域ＲＳＣでの撮像部４０の撮像範囲である。投影装置３０の広角レンズ（例えば魚眼レンズ）は、撮像部４０の広角レンズ（例えば魚眼レンズ）に比べて、より広角なレンズとなっている。即ち、投影装置３０の投影範囲は、撮像部４０の撮像範囲よりも広角になっている。このため、図２０（Ａ）に示すように、撮像部４０の撮像範囲ＲＣＭは、投影画像の投影領域ＲＳＣよりも狭い範囲となっている。そして、撮像部４０の取り付け位置や取り付け方向にバラツキがあると、図２０（Ｂ）に示すように、投影領域ＲＳＣに対して、撮像範囲ＲＣＭが、例えばＤＲＡの方向にシフトしてしまう。そして、この撮像範囲ＲＣＭがシフトする方向は、撮像部４０の取り付け位置や取り付け方向のバラツキの状況に応じて、様々な方向になる可能性がある。
【０１４９】
そこで本実施形態では図２１に示すように、スポット光の検出調整用オブジェクトＩＴ１、ＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５が、撮像部４０の撮像範囲ＲＣＭの内側に表示されるように投影画像を生成する。即ち、撮像範囲ＲＣＭの境界から、ＤＲ１、ＤＲ２、ＤＲ３、ＤＲ４等に示すように所与の距離だけ内側に、検出調整用オブジェクトＩＴ１、ＩＴ２、ＩＴ３、ＩＴ４、ＩＴ５が表示されるようにする。具体的には、検出調整用オブジェクトＩＴ１〜ＩＴ５が、投影画像の投影領域ＲＳＣにおいて撮像範囲ＲＣＭの内側に表示されるように、検出調整用オブジェクトＩＴ１〜ＩＴ５をオブジェクト空間に配置する。
【０１５０】
このようにすれば、図２０（Ａ）、図２０（Ｂ）に示すように、撮像部４０の取り付け位置や取り付け方向のバラツキ等により、投影領域ＲＳＣに対して撮像範囲ＲＣＭがシフトした場合にも、検出調整用オブジェクトＩＴ１〜ＩＴ５を撮像範囲ＲＣＭ内に収めることが可能になる。
【０１５１】
例えば、検出調整用オブジェクトＩＴ１〜ＩＴ５が、撮像範囲ＲＣＭの内側に表示されていないと、図１７（Ａ）〜図１９に示すような調整作業（ガン・イニシャライズ）を、そもそも実行できなくなる。
【０１５２】
例えば図２０（Ｂ）のように撮像範囲ＲＣＭが右上方向にシフトすることで、画面左下の検出調整用オブジェクトＩＴ３が撮像範囲ＲＣＭに入らなくなったとする。すると、初期調整時に操作者が、検出調整用オブジェクトＩＴ３に狙いを定めて、光出射部５０のトリガーを引いたとしても、検出調整用オブジェクトＩＴ３に狙いを定めたスポット光は、撮像部４０により撮像されない。従って、検出調整用オブジェクトＩＴ３に対応する出射方向ＤＧを検出できないため、上述した補正処理を実現できなくなる事態が生じる。
【０１５３】
この点、本実施形態では図２１に示すように、撮像範囲ＲＣＭの境界から離れた内側領域に、検出調整用オブジェクトＩＴ１〜ＩＴ５が表示されるため、上記の事態の発生を防止できる。
【０１５４】
なお、検出調整用オブジェクト等を投影画像上に表示し、可視光が撮像可能な撮像部を用いて、この検出調整用オブジェクトを撮像し、得られた撮像画像の画像解析処理を行うこと、スポット光の位置検出調整を行ってもよい。例えば投影画像の四隅に、検出調整用オブジェクトとなるバーコード画像オブジェクトを表示する。そして、可視光が撮像可能な撮像部を用いて、これらのバーコード画像オブジェクトを撮像し、撮像画像の画像解析処理を行うことで、バーコード画像オブジェクトの表示位置のズレを検出して、スポット光の位置検出調整を行う。この場合に、可視光が撮像可能な撮像部は、例えば赤外光を出射する撮像部４０のフィルターの切り替え等により実現する。例えば、赤外光のスポット光を検出する場合には、赤外線フィルターを介して画像を撮像し、上述のバーコード画像オブジェクトを撮像する場合には、この赤外線フィルターを撮像光が通らないように画像を撮像する。また、この場合の検出調整用オブジェクトは、バーコード画像オブジェクトには限定されない。例えば投影画像の四隅に、互いの色が異なる４つのオブジェクトを表示してもよい。或いは、投影画像の四隅にレーザー等を照射して、このレーザーの照射位置の画像解析処理を行うことで、スポット光の位置検出調整を行ってもよい。
【０１５５】
また本実施形態では、撮像部４０の撮像範囲ＲＣＭの特定処理を行うようにしてもよい。例えば投影画像を撮像した第２の撮像画像、或いはスポット光の検出位置の履歴情報に基づいて、撮像部４０の撮像範囲ＲＣＭを特定する。
【０１５６】
例えば特定画像パターンの投影画像を表示し、上述の可視光が撮像可能な撮像部により、この特定画像パターンの投影画像を撮像し、得られた撮像画像である第２の撮像画像の画像解析処理により、撮像範囲ＲＣＭの境界等を特定する。或いは、光出射部５０を上下左右に振る動作を操作者に行わせ、その時のスポット光の検出位置の履歴に基づいて、撮像範囲ＲＣＭの境界を検出してもよい。或いは、現在のプレーヤの前にプレイしたプレーヤの操作に基づくスポット光の検出位置の履歴に基づいて、撮像範囲ＲＣＭの境界を検出してもよい。
【０１５７】
また照準オブジェクトＳＧについては、図２２（Ａ）、図２２（Ｂ）に示すような表示制御を行うことが望ましい。
【０１５８】
例えば図２２（Ａ）に示すように、照準オブジェクトＳＧが、撮像部４０の撮像範囲ＲＣＭ内に位置する場合には、図１３で説明した手法により光の出射方向ＤＧを検出し、直線ＬＧ上に照準オブジェクトＳＧを配置することで、照準オブジェクトＳＧを投影画像上に表示できる。
【０１５９】
しかしながら、撮像範囲ＲＣＭの外側にスポット光が位置する場合には、図１３のように出射方向ＤＧを検出できないため、照準オブジェクトＳＧを適切な位置に表示することができなくなる。即ち、撮像範囲ＲＣＭは投影画像の投影領域ＲＳＣよりも狭い。従って、投影領域ＲＳＣの内側であり、且つ、撮像範囲ＲＣＭの外側となる領域ＲＦは、投影画像は存在するが、スポット光は検出できない領域になる。従って、この領域ＲＦにスポット光が形成されるように、プレーヤが光出射部５０を領域ＲＦの方に向けたとしても、図１３の手法では、領域ＲＦに照準オブジェクトＳＧを表示することはできない。
【０１６０】
そこで図２２（Ａ）、（Ｂ）では、照準オブジェクトＳＧの表示位置を、撮像範囲ＲＣＭの中心から外側に向かう外側方向ＤＲＳにシフトする手法を採用している。即ち、図１３の手法で特定された表示位置よりも、照準オブジェクトＳＧの表示位置を外側方向ＤＲＳにシフトする。例えば図１３の手法で特定された照準オブジェクトＳＧの表示位置が、撮像範囲ＲＣＭの境界付近の位置であった場合に、照準オブジェクトＳＧの表示位置が、投影領域ＲＳＣの境界付近の位置になるように、外側方向ＤＲＳに照準オブジェクトＳＧの表示位置を移動する。こうすることで、照準オブジェクトＳＧの表示位置は正確ではなくなるが、プレーヤが、出射部５０を領域ＲＦの方に向けた場合にも、図２２（Ｂ）に示すように照準オブジェクトＳＧは表示されるようになり、プレーヤの不自然感を軽減できるようになる。
【０１６１】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、プロジェクション用の投影画像の生成手法、スポット光の位置の検出手法、ヒット判定手法等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム等の種々の画像生成システムに適用できる。
【０１６２】
また、本発明は、ヘッドトラッキングシステムやメガネ式立体視にも対応が可能である。ヘッドトラッキングシステムを導入する場合、頭の位置をもとにプレーヤの代表視点位置を決定し、この位置に対応した画像補正処理や照準補正処理を行うことで、より自然な映像や照準の移動が実現できる。
【０１６３】
また、立体視に対応させるには、代理平面への描画と画像の歪み補正処理を、プレーヤの視点位置を左眼と右眼に分けて行った後、２つの画像を立体視映像として合成すればよい。なお、代表視点位置は弾丸の出射方向を決定する直線の起点として用いても良いことは前述の通りであるが、この処理については代表視点を左眼と右眼に分けることはせず、例えば両眼の中心位置など、１点を用いて行うことになる。これにより、立体視が可能となり、さらに臨場感のある映像を提供することが可能となる。
【符号の説明】
【０１６４】
ＳＣ  スクリーン、ＰＪ  投影装置（プロジェクタ）、ＶＣ  仮想カメラ、
ＶＰ  仮想カメラの位置、ＯＢ  オブジェクト、ＯＢＤ  描画オブジェクト、
ＰＳＬ  撮像画像上のスポット光の位置、ＣＭ  撮像部、ＶＳＬ  方向ベクトル、
ＬＬ、ＬＧ  直線、ＳＬ  交点、ＧＮ  光出射部、ＰＧ  設定位置、ＤＧ  出射方向、
ＴＯＢ  オブジェクト、ＳＧ、ＳＧ１、ＳＧ２  照準オブジェクト、
ＩＴ１〜ＩＴ５  検出調整用オブジェクト、ＲＣＭ  撮像範囲、ＲＳＣ  投影領域、
１０  プレーヤシート、１２  支柱、１４  筺体フレーム、１６  制御基板
２０  スクリーン、３０  投影装置、４０  撮像部、４２  レンズ、
４４  撮像素子、５０  光出射部、
１００  処理部、１０２  ゲーム演算部、１０４  オブジェクト空間設定部、
１０６  移動体演算部、１０８  仮想カメラ制御部、１１０  受け付け部、
１１４  ヒット判定部、１１６  撮像範囲特定部、１２０  画像生成部、
１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  オブジェクトデータ記憶部、１７６  描画バッファ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  補助記憶装置、１９６  通信部
【図１】
2015154219.tif 000003
【図２】
2015154219.tif 000004
【図３】
2015154219.tif 000005
【図４】
2015154219.tif 000006
【図５】
2015154219.tif 000007
【図７】
2015154219.tif 000008
【図１１】
2015154219.tif 000009
【図１２】
2015154219.tif 000010
【図１３】
2015154219.tif 000011
【図１４】
2015154219.tif 000012
【図１５】
2015154219.tif 000013
【図１７】
2015154219.tif 000014
【図１８】
2015154219.tif 000015
【図１９】
2015154219.tif 000016
【図２０】
2015154219.tif 000017
【図２１】
2015154219.tif 000018
【図２２】
2015154219.tif 000019
【図６】
2015154219.tif 000020
【図８】
2015154219.tif 000021
【図９】
2015154219.tif 000022
【図１０】
2015154219.tif 000023
【図１６】
2015154219.tif 000024