(57)【特許請求の範囲】
【請求項１】
オブジェクトを画像表示部に表示するためのデータを処理可能なコンピュータに、
オブジェクト用のテクスチャデータを、記憶部に格納する第１テクスチャ格納機能と、
前記オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータを、記憶部に格納する第２テクスチャ格納機能と、
オブジェクト用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、前記オブジェクト用のポリゴンを仮想空間に配置する第１ポリゴン配置機能と、
前記オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、前記映り込み画像用のポリゴンを前記オブジェクト用のポリゴンの内部に配置する第２ポリゴン配置機能と、
前記オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置するカメラ配置機能と、
仮想カメラの注視点に対応する座標データを、制御部に認識させることにより、前記仮想カメラの注視点を仮想空間に配置する注視点配置機能と、
仮想カメラの位置および前記仮想カメラの注視点の位置に基づいて、前記映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、オブジェクト表面に映る画像のテクスチャを決定するテクスチャ決定機能と、
前記オブジェクト用のテクスチャデータを前記オブジェクト用のポリゴンに投影する処理を、制御部に実行させることにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルを生成する第１ポリゴン生成機能と、
抽出された前記映り込み画像用のテクスチャデータを前記映り込み画像用のポリゴンに投影する処理を、制御部に実行させることにより、映り込み画像用のポリゴンモデルを生成する第２ポリゴン生成機能と、
前記オブジェクト用のポリゴンモデルの内部の前記映り込み画像用のポリゴンモデルを、前記オブジェクト用のポリゴンモデルの透明な部分を通して、前記オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理を制御部に実行させることにより、前記オブジェクトと前記オブジェクト表面に映る画像とを画像表示部に表示する画像表示機能と、
を実現させるための画像処理プログラム。
【請求項２】
前記カメラ配置機能では、前記オブジェクト用のポリゴンの外部において仮想カメラを移動するためのカメラ移動命令が制御部から発行された場合、移動後の仮想カメラの位置を示す座標データを、制御部に認識させることにより、仮想カメラが仮想空間に配置され、
前記テクスチャ決定機能では、移動後の仮想カメラの位置および仮想カメラの注視点の位置に応じて、前記映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、前記オブジェクト表面に映る画像のテクスチャが決定される、
請求項１に記載の画像処理プログラム。
【請求項３】
前記コンピュータに、
前記オブジェクトのテクスチャデータの透明度を制御部に認識させることにより、前記オブジェクト表面に映る画像の映り込み度を設定する映り込み度設定機能と、
をさらに実現させるための請求項１又は２に記載の画像処理プログラム。
【請求項４】
前記コンピュータに、
前記オブジェクト用のポリゴンの外部において光源の配置位置を規定するための座標データを、制御部に認識させることにより、光源を仮想空間に配置する光源配置機能と、
仮想カメラの位置、仮想カメラの注視点の位置、および光源の位置に応じて、前記オブジェクトのテクスチャデータの反射率を設定する処理を、制御部に実行させることにより、前記オブジェクト表面に映る画像に反射効果を付加する反射効果付加機能と、
をさらに実現させるための請求項１から３のいずれかに記載の画像処理プログラム。
【請求項５】
前記テクスチャ決定機能では、仮想カメラの位置を示す座標データおよび仮想カメラの注視点を示す座標データに基づいて、仮想カメラの視線角度を算出する処理を制御部に実行させ、前記映り込み画像用のテクスチャデータが示す画像における、前記視線角度に対応する座標データを、制御部に認識させることにより、前記視線角度に対応する座標データが示す位置を基準として、前記オブジェクト表面に映る画像のテクスチャが抽出される、
請求項１から４のいずれかに記載の画像処理プログラム。
【請求項６】
前記テクスチャ決定機能では、仮想カメラの位置を示す座標データに基づいて、仮想カメラの位置と前記オブジェクトとの距離を算出する処理を、制御部にさらに実行させ、前記距離に対応する、オブジェクト表面に映る画像の範囲を、制御部に認識させることにより、前記視線角度に対応する座標データが示す位置を基準として、前記オブジェクト表面に映る画像の範囲のテクスチャが抽出される、
請求項５に記載の画像処理プログラム。
【請求項７】
オブジェクトを画像表示部に表示するためのデータを処理可能な画像処理装置であって、
オブジェクト用のテクスチャデータを、記憶部に格納する第１テクスチャ格納手段と、
前記オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータを、記憶部に格納する第２テクスチャ格納手段と、
オブジェクト用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、前記オブジェクト用のポリゴンを仮想空間に配置する第１ポリゴン配置手段と、
前記オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、前記映り込み画像用のポリゴンを前記オブジェクト用のポリゴンの内部に配置する第２ポリゴン配置手段と、
前記オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置するカメラ配置手段と、
仮想カメラの注視点に対応する座標データを、制御部に認識させることにより、前記仮想カメラの注視点を仮想空間に配置する注視点配置手段と、
仮想カメラの位置および前記仮想カメラの注視点の位置に基づいて、前記映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、オブジェクト表面に映る画像のテクスチャを決定するテクスチャ決定手段と、
前記オブジェクト用のテクスチャデータを前記オブジェクト用のポリゴンに投影する処理を、制御部に実行させることにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルを生成する第１ポリゴン生成手段と、
抽出された前記映り込み画像用のテクスチャデータを前記映り込み画像用のポリゴンに投影する処理を、制御部に実行させることにより、映り込み画像用のポリゴンモデルを生成する第２ポリゴン生成手段と、
前記オブジェクト用のポリゴンモデルの内部の前記映り込み画像用のポリゴンモデルを、前記オブジェクト用のポリゴンモデルの透明な部分を通して、前記オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理を制御部に実行させることにより、前記オブジェクトと前記オブジェクト表面に映る画像とを画像表示部に表示する画像表示手段と、
を備える画像処理装置。
【請求項８】
オブジェクトを画像表示部に表示するためのデータをコンピュータにより制御する画像制御方法であって、
オブジェクト用のテクスチャデータを、記憶部に格納する第１テクスチャ格納ステップと、
前記オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータを、記憶部に格納する第２テクスチャ格納ステップと、
オブジェクト用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、前記オブジェクト用のポリゴンを仮想空間に配置する第１ポリゴン配置ステップと、
前記オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、前記映り込み画像用のポリゴンを前記オブジェクト用のポリゴンの内部に配置する第２ポリゴン配置ステップと、
前記オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置するカメラ配置ステップと、
仮想カメラの注視点に対応する座標データを、制御部に認識させることにより、前記仮想カメラの注視点を仮想空間に配置する注視点配置ステップと、
仮想カメラの位置および前記仮想カメラの注視点の位置に基づいて、前記映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、オブジェクト表面に映る画像のテクスチャを決定するテクスチャ決定ステップと、
前記オブジェクト用のテクスチャデータを前記オブジェクト用のポリゴンに投影する処理を、制御部に実行させることにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルを生成する第１ポリゴン生成ステップと、
抽出された前記映り込み画像用のテクスチャデータを前記映り込み画像用のポリゴンに投影する処理を、制御部に実行させることにより、映り込み画像用のポリゴンモデルを生成する第２ポリゴン生成ステップと、
前記オブジェクト用のポリゴンモデルの内部の前記映り込み画像用のポリゴンモデルを、前記オブジェクト用のポリゴンモデルの透明な部分を通して、前記オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理を制御部に実行させることにより、前記オブジェクトと前記オブジェクト表面に映る画像とを画像表示部に表示する画像表示ステップと、
を備える画像制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、特に、オブジェクトを画像表示部に表示するためのデータを処理する画像処理プログラムに関する。また、この画像処理プログラムを実行可能な画像処理装置、およびこの画像処理プログラムに基づいてコンピュータにより制御される画像制御方法に関する。
【背景技術】
【０００２】
従来から、オブジェクトをモニタに表示するための様々な表示技術が提案されている。特に、近年では、コンピュータの性能の向上に伴い、できるだけリアリティのあるオブジェクトをモニタに表示する試みがなされるようになってきた。
【０００３】
たとえば、シミュレーションゲームや対戦ゲーム等において、建物のようなオブジェクトをモニタに表示する場合、建物の質感を向上したり建物の窓に映る景色を表現したりすることにより、リアリティのある建物が再現されていた（非特許文献１を参照）。
【０００４】
ここで、建物の質感を向上する例としては、たとえば、テクスチャの解像度を高くしたりポリゴン数を増やしたりする方法がある。また、建物の窓に映る景色を表現する例としては、たとえば、建物の前の景色用の画像を建物の窓に貼り付ける方法がある。このように、建物の質感を向上したり建物の窓に映る景色を表現したりすることによって、リアリティのある建物が、モニタに表示され再現されていた。
【非特許文献１】プロ野球スピリッツ３、コナミデジタルエンタテインメント、ＰＳ２版、２００６年４月６日
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のゲームでは、建物のようなオブジェクトをモニタに表示する場合、建物の質感を向上したり建物の窓に映る景色を表現したりすることにより、リアリティのある建物を再現していた。ところで、近年、都市部等では、壁面のほぼ全面をガラス張りとすることによって、外部の景色や他の建物が壁面全体に映りこむようなビルや建築物が見られる。このようなビルをゲーム等の仮想空間上に再現する場合は、建物の窓に映る景色を表現しない場合または単に一つの窓に外部の景色を映す場合と比較すると、よりリアリティのある建物を表示することができる。しかしながら、従来のゲームでは、このような壁面全体に外部の景色が反映され得るビルや建物を再現する場合であっても、建物の前の景色を単に建物の窓や壁面に対応する箇所に貼り付けているだけなので、カメラの位置が移動して建物を見る角度が変わっても、建物の窓や壁面に映る景色が変化しないという問題点があった。また、カメラの位置が移動して建物を見る角度が変わったときの視差の影響を、建物の窓に映る景色に反映することが難しいという問題点があった。さらに、建物の外壁の反射や建物の窓の反射等を、適切に再現することができないという問題点もあった。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、本発明の目的は、オブジェクト表面に映る画像を、リアリティのある表現で、画像表示部に表示することにある。
【課題を解決するための手段】
【０００７】
請求項１に係る画像処理プログラムは、オブジェクトを画像表示部に表示するためのデータを処理するためのものである。この画像処理プログラムでは、以下の機能が実現される。
（１）オブジェクト用のテクスチャデータを、記憶部に格納する第１テクスチャ格納機能。
（２）オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータを、記憶部に格納する第２テクスチャ格納機能。
（３）オブジェクト用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、オブジェクト用のポリゴンを仮想空間に配置する第１ポリゴン配置機能。
（４）オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、映り込み画像用のポリゴンをオブジェクト用のポリゴンの内部に配置する第２ポリゴン配置機能。
（５）オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置するカメラ配置機能。
（６）仮想カメラの注視点に対応する座標データを、制御部に認識させることにより、仮想カメラの注視点を仮想空間に配置する注視点配置機能。
（７）仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、オブジェクト表面に映る画像のテクスチャを決定するテクスチャ決定機能。
（８）オブジェクト用のテクスチャデータをオブジェクト用のポリゴンに投影する処理を、制御部に実行させることにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルを生成する第１ポリゴン生成機能。
（９）抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理を、制御部に実行させることにより、映り込み画像用のポリゴンモデルを生成する第２ポリゴン生成機能。
（１０）オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理を制御部に実行させることにより、オブジェクトとオブジェクト表面に映る画像とを画像表示部に表示する画像表示機能。
【０００８】
この画像処理プログラムでは、第１テクスチャ格納機能において、オブジェクト用のテクスチャデータが、記憶部に格納される。第２テクスチャ格納機能においては、オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータが、記憶部に格納される。
【０００９】
第１ポリゴン配置機能においては、オブジェクト用のポリゴンの配置位置を規定するための座標データが、制御部に認識される。これにより、オブジェクト用のポリゴンが、仮想空間に配置される。第２ポリゴン配置機能においては、オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データが、制御部に認識される。これにより、映り込み画像用のポリゴンが、オブジェクト用のポリゴンの内部に配置される。カメラ配置機能においては、オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データが、制御部に認識される。これにより、仮想カメラが、仮想空間に配置される。注視点配置機能においては、仮想カメラの注視点に対応する座標データが、制御部に認識される。これにより、仮想カメラの注視点が、仮想空間に配置される。
【００１０】
テクスチャ決定機能においては、仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理が、制御部により実行される。これにより、オブジェクト表面に映る画像のテクスチャが、決定される。第１ポリゴン生成機能においては、オブジェクト用のテクスチャデータをオブジェクト用のポリゴンに投影する処理が、制御部により実行される。これにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルが、生成される。第２ポリゴン生成機能においては、抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理が、制御部により実行される。これにより、映り込み画像用のポリゴンモデルが、生成される。
【００１１】
画像表示機能においては、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理が、制御部により実行される。これにより、オブジェクトとオブジェクト表面に映る画像とが、画像表示部に表示される。
【００１２】
この場合、仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部が、抽出される。そして、抽出された映り込み画像用のテクスチャデータが、映り込み画像用のポリゴンに投影される。このようにして、オブジェクトの外側の画像からオブジェクト表面に映る画像の部分のテクスチャが決定され、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルが、生成される。そして、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルが、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影される。すると、オブジェクトとオブジェクト表面に映る画像とが、画像表示部に表示される。
【００１３】
このように、請求項１に係る発明では、オブジェクト用のポリゴンモデルの内部に配置された映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影することにより、仮想カメラがオブジェクトを撮影する位置に応じて異なる画像（オブジェクト表面に映る画像）を、画像表示部に表示することができる。
ここで、上記のポリゴンモデルの透明な部分とは、ゲーム空間上においては、建物の窓やガラス等の鏡面からなる壁面等に相当する。つまり、内部処理的には、上記の通りポリゴンモデルの透明な部分を通して、その中の映り込み画像用のポリゴンモデルを仮想カメラから見ているのであるが、ゲーム空間上では、ポリゴンモデルの透明な部分を建物の窓や壁面に対応させて表現している。このために、その内部の映り込み画像用のポリゴンモデルが、あたかも建物の窓や壁面に映る外部の景色であるかのように、ゲームのプレイヤからは観察される。以上のことから、請求項１に係る発明では、オブジェクト表面に映る画像を、リアリティのある表現で、画像表示部に表示することができる。
さらに、請求項１によれば、建物の窓や壁面に映る画像が、移動する仮想カメラの視点（ゲーム内におけるキャラクタから見た視点等）に応じて変化する演出を、非常に低い処理負荷で実現できる。すなわち、単純に、従来の周知技術で仮想カメラの移動に伴って変化する建物の窓や壁面に映る画像を表現しようとした場合には、まず、仮想カメラの位置（座標）と建物を見る角度とから、反射画像を求めることになるが、その際、建物周囲の景色のうち、どの部分がどのように建物表面に反射するかを計算し、さらにその反射画像を建物表面に表示する作業が必要であるためにCPUには大きな負荷がかかる。加えて、仮想カメラは移動しているので、その移動に伴い、１フレーム毎に上記計算を繰り返し行う必要があり、CPUには膨大な負荷がかかるため、例えば一般にゲームに使用されるCPUでこの手法を採用するのは現実的ではない。この点、請求項１に係る手法によれば、上記のような膨大な計算は不要であり、CPUに加わる負荷を低く抑えながら、建物表面等に映り込む画像の変化を容易に実現することができる。
【００１４】
請求項２に係る画像処理プログラムでは、請求項１に記載の画像処理プログラムにおいて、オブジェクト用のポリゴンの外部において仮想カメラを移動するためのカメラ移動命令が制御部から発行された場合、移動後の仮想カメラの位置を示す座標データが、制御部に認識される。これにより、仮想カメラが仮想空間に配置される。また、移動後の仮想カメラの位置および仮想カメラの注視点の位置に応じて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理が、制御部により実行される。これにより、オブジェクト表面に映る画像のテクスチャが決定される。前者の機能は、カメラ配置機能において実現され、後者の機能は、テクスチャ決定機能において実現される。
【００１５】
この場合、オブジェクト用のポリゴンの外部において、仮想カメラが移動させられる。そして、移動後の仮想カメラの位置に応じて、映り込み画像用のテクスチャデータの少なくとも一部が、抽出される。このように、請求項２に係る発明では、仮想カメラが移動したとしても、移動後の仮想カメラの位置から撮影を行うことにより、仮想カメラの位置に応じて異なる画像（オブジェクト表面に映る画像）を、画像表示部に表示することができる。また、仮想カメラの位置に応じて異なる視差を、画像表示部に表示される画像において表現することができる。以上のことから、請求項２に係る発明では、オブジェクト表面に映る画像を、リアリティのある表現で、画像表示部に表示することができる。
【００１６】
請求項３に係る画像処理プログラムは、請求項１又は２に記載の画像処理プログラムにおいて、以下の機能をさらに実現させるためのプログラムである。
（１１）オブジェクトのテクスチャデータの透明度を制御部に認識させることにより、オブジェクト表面に映る画像の映り込み度を設定する映り込み度設定機能。
【００１７】
この画像処理プログラムでは、映り込み度設定機能において、オブジェクトのテクスチャデータの透明度が、制御部に認識される。これにより、オブジェクト表面に映る画像の映り込み度が設定される。
【００１８】
この場合、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルは、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影されるので、オブジェクト用のポリゴンモデルの透明な部分のテクスチャデータの透明度を制御部に認識させることにより、オブジェクト表面に映る画像の映り込みの程度を設定することができる。これにより、ゲーム空間内の例えばビルの窓部の汚れやくすみ、くもり等に起因する外部景色の映り込みの程度を変えることができる。つまり、窓部が汚れているような場合には外部の景色がきれいに映り込まない、といった演出を行うことができる。もし、窓部が複数あるビルの場合には、例えばその一枚だけを汚しておく、即ち、オブジェクト用のポリゴンモデルの透明な部分を複数設けた状態で、且つその一枚の透明度のみを低くするといった処理を行うことで、ゲーム空間上の建物に対して、見た目上の完全さを崩し、あえて現実世界の不完全さを加味することでよりリアリティに富む演出を行うことができる。このように、請求項３に係る発明では、オブジェクト表面に映る画像を、よりリアリティのある表現で、画像表示部に表示することができる。
【００１９】
請求項４に係る画像処理プログラムは、請求項１から３のいずれかに記載の画像処理プログラムにおいて、以下の機能をさらに実現させるためのプログラムである。
（１２）オブジェクト用のポリゴンの外部において光源の配置位置を規定するための座標データを、制御部に認識させることにより、光源を仮想空間に配置する光源配置機能。
（１３）仮想カメラの位置、仮想カメラの注視点の位置、および光源の位置に応じて、オブジェクトのテクスチャデータの反射率を設定する処理を、制御部に実行させることにより、オブジェクト表面に映る画像に反射効果を付加する反射効果付加機能。
【００２０】
この画像処理プログラムでは、光源配置機能において、オブジェクト用のポリゴンの外部において光源の配置位置を規定するための座標データが、制御部に認識される。これにより、光源が仮想空間に配置される。反射効果付加機能においては、仮想カメラの位置、仮想カメラの注視点の位置、および光源の位置に応じて、オブジェクトのテクスチャデータの反射率を設定する処理が、制御部により実行される。これにより、オブジェクト表面に映る画像に反射効果が付加される。
【００２１】
この場合、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルは、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影されるので、仮想カメラの位置、仮想カメラの注視点の位置、および光源の位置に応じて、オブジェクトのテクスチャデータの反射率を制御部に設定させることにより、オブジェクト表面に映る画像に反射効果を付加することができる。このように、請求項４に係る発明では、オブジェクト表面に映る画像を、よりリアリティのある表現で、画像表示部に表示することができる。
【００２２】
請求項５に係る画像処理プログラムでは、請求項１から４のいずれかに記載の画像処理プログラムにおいて、仮想カメラの位置を示す座標データおよび仮想カメラの注視点を示す座標データに基づいて、仮想カメラの視線角度を算出する処理が、制御部により実行される。そして、映り込み画像用のテクスチャデータが示す画像における、視線角度に対応する座標データが、制御部に認識される。これにより、視線角度に対応する座標データが示す位置を基準とした、オブジェクト表面に仮想的に映りうる画像からオブジェクト表面に映る画像のテクスチャが、抽出される。この機能は、テクスチャ決定機能において実現される。
【００２３】
この場合、仮想カメラの位置を示す座標データおよび仮想カメラの注視点を示す座標データに基づいて、仮想カメラの視線角度が算出される。そして、映り込み画像用のテクスチャデータが示す画像における、視線角度に対応する位置が決定される。すると、この位置を基準とした、オブジェクト表面に映る画像が、オブジェクト表面に仮想的に映りうる画像から抽出される。
【００２４】
このように、請求項５に係る発明では、仮想カメラの視線角度に応じて、オブジェクト表面に映る画像を、オブジェクト表面に仮想的に映りうる画像から抽出することができる。このため、オブジェクト用のポリゴンモデルの内部に配置された映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影すると、仮想カメラがオブジェクトを撮影する位置に応じて異なる画像（オブジェクト表面に映る画像）を、画像表示部に表示することができる。すなわち、請求項５に係る発明では、オブジェクト表面に映る画像を、リアリティのある表現で、画像表示部に表示することができる。
【００２５】
請求項６に係る画像処理プログラムでは、請求項５に記載の画像処理プログラムにおいて、仮想カメラの位置を示す座標データに基づいて、仮想カメラの位置とオブジェクトとの距離を算出する処理が、制御部によりさらに実行される。そして、この距離に対応する、オブジェクト表面に映る画像の範囲が、制御部に認識される。これにより、視線角度に対応する座標データが示す位置を基準として、オブジェクト表面に仮想的に映りうる画像におけるオブジェクト表面に映る画像の範囲のテクスチャが抽出される。
【００２６】
この場合、仮想カメラの位置を示す座標データに基づいて、仮想カメラの位置とオブジェクトとの距離が算出される。そして、オブジェクト表面に仮想的に映りうる画像における視線角度に対応する位置を基準として、算出された距離に対応する範囲が、オブジェクト表面に仮想的に映りうる画像において決定される。すなわち、仮想カメラの視線角度に応じて、オブジェクト表面に仮想的に映りうる画像の抽出位置を決定し、仮想カメラの位置とオブジェクトとの距離に応じて、オブジェクト表面に映る画像の範囲が、決定される。
【００２７】
これにより、請求項６に係る発明では、オブジェクト表面に仮想的に映りうる画像のテクスチャから、オブジェクト表面に映る画像のテクスチャを、抽出することができる。このため、オブジェクト用のポリゴンモデルの内部に配置された映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影すると、仮想カメラがオブジェクトを撮影する位置に応じて大きさの異なる画像（オブジェクト表面に映る画像）を、画像表示部に表示することができる。すなわち、請求項６に係る発明では、オブジェクト表面に映る画像を、よりリアリティのある表現で、画像表示部に表示することができる。
【００２８】
請求項７に係る画像処理装置は、オブジェクトを画像表示部に表示するためのデータを処理可能な画像処理装置である。
【００２９】
この画像処理装置は、オブジェクト用のテクスチャデータを、記憶部に格納する第１テクスチャ格納手段と、オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータを、記憶部に格納する第２テクスチャ格納手段と、オブジェクト用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、オブジェクト用のポリゴンを仮想空間に配置する第１ポリゴン配置手段と、オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、映り込み画像用のポリゴンをオブジェクト用のポリゴンの内部に配置する第２ポリゴン配置手段と、オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置するカメラ配置手段と、仮想カメラの注視点に対応する座標データを、制御部に認識させることにより、仮想カメラの注視点を仮想空間に配置する注視点配置手段と、仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、オブジェクト表面に映る画像のテクスチャを決定するテクスチャ決定手段と、オブジェクト用のテクスチャデータをオブジェクト用のポリゴンに投影する処理を、制御部に実行させることにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルを生成する第１ポリゴン生成手段と、抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理を、制御部に実行させることにより、映り込み画像用のポリゴンモデルを生成する第２ポリゴン生成手段と、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理を制御部に実行させることにより、オブジェクトとオブジェクト表面に映る画像とを画像表示部に表示する画像表示手段と、を備えている。
【００３０】
請求項８に係る画像制御方法は、オブジェクトを画像表示部に表示するためのデータをコンピュータにより制御する画像制御方法である。
【００３１】
この画像制御方法は、オブジェクト用のテクスチャデータを、記憶部に格納する第１テクスチャ格納ステップと、オブジェクトの外側の画像に対応する映り込み画像用のテクスチャデータを、記憶部に格納する第２テクスチャ格納ステップと、オブジェクト用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、オブジェクト用のポリゴンを仮想空間に配置する第１ポリゴン配置ステップと、オブジェクト用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データを制御部に認識させることにより、映り込み画像用のポリゴンをオブジェクト用のポリゴンの内部に配置する第２ポリゴン配置ステップと、オブジェクト用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置するカメラ配置ステップと、仮想カメラの注視点に対応する座標データを、制御部に認識させることにより、仮想カメラの注視点を仮想空間に配置する注視点配置ステップと、仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、制御部に実行させることにより、オブジェクト表面に映る画像のテクスチャを決定するテクスチャ決定ステップと、オブジェクト用のテクスチャデータをオブジェクト用のポリゴンに投影する処理を、制御部に実行させることにより、少なくとも一部が透明なオブジェクト用のポリゴンモデルを生成する第１ポリゴン生成ステップと、
抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理を、制御部に実行させることにより、映り込み画像用のポリゴンモデルを生成する第２ポリゴン生成ステップと、オブジェクト用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影する処理を制御部に実行させることにより、オブジェクトとオブジェクト表面に映る画像とを画像表示部に表示する画像表示ステップと、を備えている。
【発明の効果】
【００３２】
本発明では、オブジェクト用のポリゴンモデルの内部に配置された映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影することにより、仮想カメラがオブジェクトを撮影する位置に応じて異なる画像（オブジェクト表面に映る画像）を、画像表示部に表示することができる。すなわち、本発明では、オブジェクト表面に映る画像を、リアリティのある表現で、画像表示部に表示することができる。
【発明を実施するための最良の形態】
【００３３】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００３４】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００３５】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００３６】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００３７】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００３８】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００３９】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００４０】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００４１】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００４２】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００４３】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００４４】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００４５】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向に亘って、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００４６】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００４７】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００４８】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００４９】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路１３を介してＤ／Ａコンバータ１７に供給される。ここで、画像データがＤ／Ａコンバータ１７でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００５０】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００５１】
〔ゲーム装置における各種処理の説明〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機において実行される野球ゲームでは、オブジェクトたとえば建物をテレビジョンモニタ２０に表示可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００５２】
第１テクスチャ格納手段５０は、建物用のテクスチャデータを、ＲＡＭ１２に格納する機能を備えている。この手段では、建物用のテクスチャデータが、ＲＡＭ１２に格納される。ここで用いられる建物用のテクスチャデータは、建物の表面のテクスチャを表現するためのデータである。このテクスチャデータは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００５３】
第２テクスチャ格納手段５１は、建物表面に仮想的に映りうる画像に対応する映り込み画像用のテクスチャデータを、ＲＡＭ１２に格納する機能を備えている。この手段では、建物表面に仮想的に映りうる画像に対応する映り込み画像用のテクスチャデータが、ＲＡＭ１２に格納される。ここで用いられる映り込み画像用のテクスチャデータは、建物側から、建物の前方に位置する建物や物体等を撮影することにより生成されるデータである。すなわち、このテクスチャデータは、建物表面に映りうる景色（建物や物体等を含む）を撮影することにより生成されるデータである。また、このテクスチャデータは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００５４】
第１ポリゴン配置手段５２は、建物用のポリゴンの配置位置を規定するための座標データをＣＰＵ７に認識させることにより、建物用のポリゴンを仮想空間に配置する機能を備えている。この手段では、建物用のポリゴンの配置位置を規定するための座標データをＣＰＵ７に認識させることにより、建物用のポリゴンが仮想空間に配置される。
【００５５】
ここでは、建物用のポリゴンの配置位置は、ゲームプログラムにおいて予め規定されている。この建物用のポリゴンの配置位置を規定するための座標データは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００５６】
第２ポリゴン配置手段５３は、建物用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データをＣＰＵ７に認識させることにより、映り込み画像用のポリゴンを建物用のポリゴンの内部に配置する機能を備えている。この手段は、建物用のポリゴンの内部において映り込み画像用のポリゴンの配置位置を規定するための座標データをＣＰＵ７に認識させることにより、映り込み画像用のポリゴンが建物用のポリゴンの内部に配置される。
【００５７】
ここでは、映り込み画像用のポリゴンの配置位置は、ゲームプログラムにおいて予め規定されている。具体的には、建物用のポリゴンの内部における所定の位置が、映り込み画像用のポリゴンの配置位置として、ゲームプログラムにおいて予め規定されている。この映り込み画像用のポリゴンの配置位置を規定するための座標データは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００５８】
光源配置手段５４は、建物用のポリゴンの外部において光源の配置位置を規定するための座標データを、ＣＰＵ７に認識させることにより、光源を仮想空間に配置する機能を備えている。この手段では、建物用のポリゴンの外部において光源の配置位置を規定するための座標データを、ＣＰＵ７に認識させることにより、光源が仮想空間に配置される。
【００５９】
ここでは、光源の配置位置は、ゲームプログラムにおいて予め規定されている。具体的には、建物用のポリゴンの外部の所定の位置が、光源の配置位置として、ゲームプログラムにおいて予め規定されている。この光源の配置位置を規定するための座標データは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００６０】
なお、ここでは、光源が移動しない場合の例が示されるが、光源が移動するようにしても良い。たとえば、時間の経過に応じて光源を移動する場合、各時刻に対応する光源の配置位置が、ゲームプログラムにおいて予め規定されることになる。具体的には、各時刻に対応する光源の配置位置は、時刻をパラメータとして光源の配置位置を規定する方程式に基づいて決定することができる。この場合、光源が移動すると、移動後の光源の配置位置を規定するための座標データが、時刻ごとに、ＣＰＵ７に認識される。ここで用いられる方程式は、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００６１】
カメラ配置手段５５は、建物用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、ＣＰＵ７に認識させることにより、仮想カメラを仮想空間に配置する機能を備えている。
【００６２】
この手段では、建物用のポリゴンの外部において仮想カメラの配置位置を規定するための座標データを、ＣＰＵ７に認識させることにより、仮想カメラが仮想空間に配置される。
【００６３】
詳細には、この手段では、建物用のポリゴンの外部において仮想カメラを移動するためのカメラ移動命令がＣＰＵ７から発行された場合に、移動後の仮想カメラの位置を示す座標データが、ＣＰＵ７に認識される。これにより、仮想カメラが仮想空間に配置される。
【００６４】
ここでは、まず、建物用のポリゴンの外部において仮想カメラを移動するためのカメラ移動命令がＣＰＵ７から発行されたか否かが、判別される。そして、建物用のポリゴンの外部において仮想カメラを移動するためのカメラ移動命令がＣＰＵ７から発行された場合に、移動後の仮想カメラの位置を示す座標データが、ＣＰＵ７に認識される。一方で、建物用のポリゴンの外部において仮想カメラを移動するためのカメラ移動命令がＣＰＵ７から発行されていない場合には、現在の仮想カメラの位置を示す座標データが、ＣＰＵ７に認識される。このようにして、仮想カメラが仮想空間に定義され配置される。
【００６５】
注視点配置手段５６は、仮想カメラの注視点に対応する座標データを、ＣＰＵ７に認識させることにより、仮想カメラの注視点を仮想空間に配置する機能を備えている。この手段では、仮想カメラの注視点に対応する座標データを、ＣＰＵ７に認識させることにより、仮想カメラの注視点が仮想空間に配置される。
【００６６】
ここでは、仮想カメラの注視点は、建物用のポリゴンの内部に配置される。たとえば、仮想カメラの注視点は、映り込み画像用のポリゴン上に配置される。映り込み画像用のポリゴン上に配置される仮想カメラの注視点の位置は、ゲームプログラムにおいて予め規定されている。この注視点の位置を規定するための座標データは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００６７】
なお、ここでは、注視点が移動しない場合の例が示されるが、注視点が移動するようにしても良い。すなわち、注視点を移動することにより、仮想カメラの視線方向を変更するようにしても良い。たとえば、コントローラ１７からの入力信号の認識および注視点移動命令の発行の少なくともいずれか一方に基づいて、注視点を移動するようにしても良い。
【００６８】
映り込み度設設定手段５７は、建物のテクスチャデータの透明度をＣＰＵ７に認識させることにより、建物表面に映る画像の映り込み度を設定する機能を備えている。この手段では、建物のテクスチャデータの透明度をＣＰＵ７に認識させることにより、建物表面に映る画像の映り込み度が設定される。
【００６９】
ここでは、建物のテクスチャデータの透明度が、ＣＰＵ７に認識される。たとえば、建物の壁面に設けられる窓のテクスチャデータの透明度、および窓を除いた建物の壁面のテクスチャデータの透明度が、ＣＰＵ７に認識される。これにより、建物表面に映る画像の映り込み度が設定される。
【００７０】
なお、テクスチャデータと透明度との対応関係は、ゲームプログラムにおいて予め規定されている。たとえば、テクスチャデータと透明度との対応関係を示すテーブルは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【００７１】
反射効果付加手段５８は、仮想カメラの位置、仮想カメラの注視点の位置、および光源の位置に応じて、建物のテクスチャデータの反射率を設定する処理を、ＣＰＵ７に実行させることにより、建物表面に映る画像に反射効果を付加する機能を備えている。この手段では、仮想カメラの位置、仮想カメラの注視点の位置、および光源の位置に応じて、建物のテクスチャデータの反射率を設定する処理を、ＣＰＵ７に実行させることにより、建物表面に映る画像に反射効果が付加される。
【００７２】
ここでは、仮想カメラの位置と仮想カメラの注視点とを結ぶ直線（第１直線）と、第１直線が建物表面と交わる交点と光源とを結ぶ直線（第２直線）とがなす角度（反射角度）を算出する処理が、ＣＰＵ７により実行される。そして、この反射角度に応じて、建物のテクスチャデータの反射率が設定される。なお、仮想カメラの位置と反射率との対応関係は、ゲームプログラムにおいて予め規定されている。
【００７３】
テクスチャ決定手段５９は、仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、ＣＰＵ７に実行させることにより、建物表面に映る画像のテクスチャを決定する機能を備えている。この手段では、仮想カメラの位置および仮想カメラの注視点の位置に基づいて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、ＣＰＵ７に実行させることにより、建物表面に映る画像のテクスチャが決定される。また、この手段では、仮想カメラが移動した場合、移動後の仮想カメラの位置および仮想カメラの注視点の位置に応じて、映り込み画像用のテクスチャデータの少なくとも一部を抽出する処理を、ＣＰＵ７に実行させることにより、建物表面に映る画像のテクスチャが決定される。
【００７４】
詳細には、この手段では、仮想カメラの位置を示す座標データおよび仮想カメラの注視点を示す座標データに基づいて、仮想カメラの視線角度を算出する処理が、ＣＰＵ７により実行される。そして、映り込み画像用のテクスチャデータが示す画像における、視線角度に対応する座標データが、ＣＰＵ７に認識される。これにより、視線角度に対応する座標データが示す位置を基準として、建物表面に映る画像のテクスチャが抽出される。また、この手段では、仮想カメラの位置を示す座標データに基づいて、仮想カメラの位置と建物との距離を算出する処理が、ＣＰＵ７によりさらに実行される。そして、この距離に対応する、建物表面に映る画像の範囲が、ＣＰＵ７に認識される。これにより、視線角度に対応する座標データが示す位置を基準として、建物表面に映る画像の範囲のテクスチャが抽出される。
【００７５】
ここでは、仮想カメラの位置と仮想カメラの注視点とを結ぶ直線（上述した第１直線）と、仮想カメラの視線方向の角度を規定するために用いられる基準点と仮想カメラの注視点とを結ぶ直線（第３直線）とがなす角度（仮想カメラの視線角度）が、ＣＰＵ７により算出される。また、仮想カメラと建物表面との距離（カメラ建物間距離）が、ＣＰＵ７により算出される。すると、視線角度に対応する位置の座標データ、すなわち、建物表面に映り込む画像上における、視線角度に対応する位置（建物表面に映り込む画像上の視線対応位置）の座標データが、ＣＰＵ７により検出され認識される。すると、ここでＣＰＵ７に認識された、仮想カメラの視線角度に対応する座標データが示す位置を基準として、カメラ建物間距離に対応する範囲の画像、すなわち建物表面に映り込む画像内の部分画像が、ＣＰＵ７により設定され認識される。これにより、建物表面に映る部分画像のテクスチャが抽出される。
【００７６】
なお、仮想カメラの視線方向の角度を規定するために用いられる基準点は、たとえば、建物表面に垂直な方向の所定の位置に配置される。この位置は、ゲームプログラムにおいて予め規定されている。
【００７７】
また、建物表面に映り込む画像上の視線対応位置を検出する処理は、映り込み画像用のテクスチャデータに基づいて、ＣＰＵ７により実行される。たとえば、この処理は、視線角度と、建物表面に映り込む画像の内部の位置との対応関係を、ゲームプログラムにおいて予め規定しておくことにより、ＣＰＵ７により実行される。
【００７８】
さらに、部分画像を規定するための範囲を設定する処理は、建物表面に映り込む画像において、カメラ建物間距離に対応する境界を、建物表面に映り込む画像の内部に設定することにより、実現される。たとえば、カメラ建物間距離と、境界を定義するためのデータとの対応関係は、ゲームプログラムにおいて予め規定されている。
【００７９】
第１ポリゴン生成手段６０は、建物用のテクスチャデータを建物用のポリゴンに投影する処理を、ＣＰＵ７に実行させることにより、少なくとも一部が透明な建物用のポリゴンモデルを生成する機能を備えている。この手段では、建物用のテクスチャデータを建物用のポリゴンに投影する処理を、ＣＰＵ７に実行させることにより、少なくとも一部が透明な建物用のポリゴンモデルが生成される。
【００８０】
ここでは、建物用のテクスチャデータを建物用のポリゴンに投影する処理が、ＣＰＵ７により実行される。これにより、少なくとも一部が透明な建物用のポリゴンモデルが生成される。たとえば、建物用のポリゴンの３次元座標を２次元座標系に対応づける処理（マッピング）が、ＣＰＵ７により実行される。そして、建物用のテクスチャデータの座標を、建物用のポリゴンをマッピングした２次元座標系に対応づける処理が、ＣＰＵ７により実行される。これにより、建物用のポリゴンモデルが生成される。また、ここでは、透明度の値に応じて、少なくとも一部が透明な建物用のポリゴンモデルが生成される。
【００８１】
第２ポリゴン生成手段６１は、抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理を、ＣＰＵ７に実行させることにより、映り込み画像用のポリゴンモデルを生成する機能を備えている。この手段では、抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理を、ＣＰＵ７に実行させることにより、映り込み画像用のポリゴンモデルが生成される。
【００８２】
ここでは、抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンに投影する処理が、ＣＰＵ７により実行される。これにより、映り込み画像用のポリゴンモデルが生成される。たとえば、映り込み画像用のポリゴンの３次元座標を２次元座標系に対応づける処理（マッピング）が、ＣＰＵ７により実行される。そして、抽出された映り込み画像用のテクスチャデータの座標を、映り込み画像用のポリゴンをマッピングした２次元座標に対応づける処理が、ＣＰＵ７により実行される。これにより、映り込み画像用のポリゴンモデルが生成される。
【００８３】
画像表示手段６２は、建物用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルを、建物用のポリゴンモデルの透明な部分を通して、建物用のポリゴンモデルの外部から仮想カメラにより撮影する処理をＣＰＵ７に実行させることにより、建物と建物表面に映る画像とをテレビジョンモニタ２０に表示する機能を備えている。この手段では、建物用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルを、建物用のポリゴンモデルの透明な部分を通して、建物用のポリゴンモデルの外部から仮想カメラにより撮影する処理をＣＰＵ７に実行させることにより、建物と建物表面に映る画像とがテレビジョンモニタ２０に表示される。
【００８４】
ここでは、仮想カメラに対する撮影命令をＣＰＵ７に発行させることにより、仮想カメラに写る画像が、テレビジョンモニタ２０に表示される。たとえば、仮想カメラの注視点が、建物用のポリゴンの内部に配置される場合、撮影命令がＣＰＵ７から発行されると、建物用のポリゴンモデルの内部の映り込み画像用のポリゴンモデルが、建物用のポリゴンモデルの透明な部分を通して、建物用のポリゴンモデルの外部から仮想カメラにより撮影される。すると、建物の画像と、建物表面に映る画像（建物表面に映り込む画像）とが、テレビジョンモニタ２０に表示される。
【００８５】
〔野球ゲームにおける映像表示システムの説明〕
次に、野球ゲームにおける映像表示システムの具体的な内容について説明する。また、図８および図９に示すフローについても同時に説明する。なお、図８は野球ゲームの全体概要を説明するためのフローであり、図９は上記システムを説明するためのフローである。
【００８６】
以下では、まず野球ゲームの全体概要を説明し、次に上記システムの内容を説明する。
【００８７】
まず、ゲーム機の電源が投入されゲーム機が起動されると、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体１０からＲＡＭ１２にロードされ格納される（Ｓ１）。
【００８８】
たとえば、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータが含まれている。そして、この３次元ゲーム空間用の各種の画像に関するデータ、たとえば、スタジアム用の画像データ、選手キャラクタ用の画像データ、および各種のオブジェクトの画像データ等が、ＣＰＵ７に認識される。また、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータを３次元ゲーム空間に配置するための位置座標データが含まれている。また、基本ゲームデータには、上記システムで用いられるデータも、含まれている。
【００８９】
続いて、ＲＡＭ１２に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、ＣＰＵ７により実行される（Ｓ２）。すると、野球ゲームの起動画面がテレビジョンモニタ２０に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ２０に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、テレビジョンモニタ２０に表示される（図示しない）。このモード選択画面において、プレイヤがコントローラ１７を操作することにより、プレイモードが決定される（Ｓ３）。プレイモードには、たとえば、１２球団の中から好きなチームを選択して１試合の対戦を楽しむ対戦モード、１２球団の中から好きなチームを選択してペナントレースを戦うペナントモード、プレイヤが監督の立場でチームの選手キャラクタを育成する育成モード、およりプレイヤがある１人の選手キャラクタの立場になって野球ゲームを体感する成長体感モード等が、用意されている。
【００９０】
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、ＣＰＵ７により実行される（Ｓ４）。ここで実行される各種のイベントには、たとえば、ＡＩプログラム（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｐｒｏｇｒａｍ）に基づいてＣＰＵ７により自動制御されるイベントや、コントローラ１７からの入力信号に基づいてプレイヤにより手動制御されるイベントのようなイベントがある。また、選手キャラクタの制御には、ＡＩプログラムに基づいて選手キャラクタに命令を自動的に指示する自動制御や、コントローラ１７からの入力信号に基づいて選手キャラクタに命令を直接的に指示する手動制御等がある。このように、本野球ゲームでは、コントローラ１７からの指示やＡＩプログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりするようになっている。
【００９１】
続いて、選択されたプレイモードが終了したか否かが、ＣＰＵ７により判断される（Ｓ５）。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、ＣＰＵ７により判断される。そして、プレイモードが終了したことを示す命令が発行されたとＣＰＵ７により判断された場合（Ｓ５でＹｅｓ）、ゲーム継続用のデータをＲＡＭ１２に格納する処理が、ＣＰＵ７により実行される。そして、ゲーム継続用のデータがＲＡＭ１２に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、テレビジョンモニタ２０に表示される（Ｓ６）。そして、この選択画面において、プレイヤがコントローラ１７を操作することにより、野球ゲームの終了を示す項目が選択されると（Ｓ６でＹｅｓ）、野球ゲームを終了するための処理がＣＰＵ７により実行される（Ｓ７）。一方で、この選択画面において、プレイヤがコントローラ１７を操作することにより、野球ゲームの継続を示す項目が選択されると（Ｓ６でＮｏ）、ステップ３（Ｓ３）のモード選択画面が、テレビジョンモニタ２０に再表示される。
【００９２】
なお、プレイモードが終了するための命令が発行されたとＣＰＵ７に判断されない限り（Ｓ５でＮｏ）、モード選択画面で選択されたプレイモードにおいて、各種のイベントがＣＰＵ７により実行される（Ｓ４）。
【００９３】
次に、映像表示システムの詳細を説明する。
【００９４】
本実施形態では、対戦モードが選択されたときに、映像表示システムが機能する場合の例が示される。たとえば、対戦モードにおいて試合イベントが実行されているときに、打者キャラクタによりホームランが放たれると、スタンドと、スタンドに飛び込むボールと、場外の建物と、場外の建物の表面に映る景色や建物等とが、テレビジョンモニタ２０に表示される。ここで、場外の建物、および場外の建物の表面に映る景色や建物等を、テレビジョンモニタ２０に表示する場合に、映像表示システムが用いられる。
【００９５】
以下では、１つの建物に注目して、この建物、およびこの建物の表面に映る景色や建物等を、映像表示システムを用いてテレビジョンモニタ２０に表示する場合の例が示される。
【００９６】
映像表示システムでは、野球ゲームプログラムが、たとえば、記録媒体１０からＲＡＭ１２にロードされたときに、建物の表面のテクスチャに対応するテクスチャデータ、すなわち建物用のテクスチャデータが、ＲＡＭ１２に格納される（Ｓ１０１）。図３には、建物のある一面を見た場合の図が示されている。この建物の表面（外壁および屋上）のテクスチャに対応するテクスチャデータが、ＲＡＭ１２に格納される。また、このときには、この建物の表面に映りうる景色や建物等のテクスチャに対応する映り込み画像用のテクスチャデータが、ＲＡＭ１２に格納される（Ｓ１０２）。
【００９７】
映り込み画像用のテクスチャデータは、建物の表面に映りうる景色や建物等のテクスチャに対応するデータである。ここでは、図３に示すように、後述する映り込み画像用のポリゴンＰ２の重心位置ＰＧ０（後述する仮想カメラの注視点ＰＧ０）から、建物の壁面の外側の景色や建物等を見た場合の画像データが、映り込み画像用のテクスチャに対応する映り込み画像用のテクスチャデータＴＧとして用いられる。具体的には、映り込み画像用のテクスチャデータＴＧは、後述する仮想カメラの注視点ＰＧ０を撮影位置として、少なくとも建物の外面を撮影可能な画角ＧＡを用いて、建物の外面の外側に位置する景色や建物等を撮影することにより生成されるデータである。
【００９８】
続いて、建物用のポリゴンＰ１が、３次元ゲーム空間に配置される（Ｓ１０３）。ここでは、ＲＡＭ１２に格納された建物用のポリゴンＰ１の位置座標データが、ＣＰＵ７に認識される。そして、この位置座標データが示す位置に、建物用のポリゴンＰ１を配置する命令が、ＣＰＵ７から発行される。すると、建物用のポリゴンＰ１が、３次元ゲーム空間に配置される。
【００９９】
なお、「建物用のポリゴン」という文言は、三角形や四角形等のポリゴン（各要素）という意味で用いられる場合と、三角形や四角形等のポリゴン（各要素）を組み合わせて建物（六面体）を形成するポリゴン集合体という意味で用いられる場合とがある。
【０１００】
続いて、映り込み画像用のポリゴンＰ２が、３次元ゲーム空間に配置される（Ｓ１０４）。ここでは、ＲＡＭ１２に格納された映り込み画像用のポリゴンＰ２の位置座標データが、ＣＰＵ７に認識される。映り込み画像用のポリゴンＰ２の位置座標データが示す位置は、建物用のポリゴンＰ１の内部における所定の位置である。そして、この位置座標データが示す位置に、映り込み画像用のポリゴンＰ２を配置する命令が、ＣＰＵ７から発行される。すると、映り込み画像用のポリゴンＰ２が、建物用のポリゴンＰ１の内部において、３次元ゲーム空間に配置される。
【０１０１】
なお、「映り込み画像用のポリゴン」という文言は、三角形や四角形等のポリゴン（各要素）という意味で用いられる場合と、三角形や四角形等のポリゴン（各要素）を組み合わせて平面を形成するポリゴン集合体という意味で用いられる場合とがある。
【０１０２】
続いて、光源Ｌが、図４に示すように、３次元ゲーム空間に設定される（Ｓ１０５）。ここでは、ＲＡＭ１２に格納された光源Ｌの位置座標データが、ＣＰＵ７に認識される。そして、この位置座標データが示す位置に、光源Ｌを配置する命令が、ＣＰＵ７から発行される。すると、光源Ｌが、３次元ゲーム空間に配置される。
【０１０３】
続いて、仮想カメラＣが、図３および図４に示すように、３次元ゲーム空間に配置される（Ｓ１０６）。ここでは、ＲＡＭ１２に格納された仮想カメラＣの初期位置を示す位置座標データが、ＣＰＵ７に認識される。そして、この位置座標データが示す位置に、仮想カメラＣを配置する命令が、ＣＰＵ７から発行される。すると、仮想カメラＣが、３次元ゲーム空間の初期位置に配置される。
【０１０４】
続いて、仮想カメラＣの注視点ＰＧ０が、図３および図４に示すように、３次元ゲーム空間に配置される（Ｓ１０７）。ここでは、仮想カメラＣの注視点ＰＧ０は、映り込み画像用のポリゴンＰ２上に配置される。具体的には、仮想カメラＣの注視点ＰＧ０は、映り込み画像用のポリゴンＰ２の重心位置ＰＧ０に配置される。この映り込み画像用のポリゴンＰ２の重心位置ＰＧ０を示す位置座標データは、ＲＡＭ１２に格納されている。この位置座標データがＣＰＵ７に認識されると、この位置座標データが示す位置に、注視点ＰＧ０を配置する命令がＣＰＵ７から発行される。すると、注視点ＰＧ０が、３次元ゲーム空間に配置される。
【０１０５】
続いて、建物用のポリゴンＰ１の外部において仮想カメラＣを移動するためのカメラ移動命令がＣＰＵ７から発行されたか否かが、判別される（Ｓ１０８）。そして、建物用のポリゴンＰ１の外部において仮想カメラＣを移動するためのカメラ移動命令がＣＰＵ７から発行された場合（Ｓ１０８でＹｅｓ）、移動後の仮想カメラＣの位置を示す座標データが、ＣＰＵ７に認識される（Ｓ１０９）。一方で、建物用のポリゴンＰ１の外部において仮想カメラＣを移動するためのカメラ移動命令がＣＰＵ７から発行されていない場合（Ｓ１０８でＮｏ）、現在の仮想カメラＣの位置を示す座標データが、ＣＰＵ７に認識される（Ｓ１１０）。このようにして、仮想カメラＣが仮想空間に定義され配置される。
【０１０６】
続いて、建物表面の透明度Ｗに対応する、建物のテクスチャデータの透明度が、ＣＰＵ７に認識される（Ｓ１１１）。ここでは、ＲＡＭ１２に格納された、建物の壁面に設けられる窓のテクスチャデータの透明度Ｗ１、および窓を除いた建物の壁面のテクスチャデータの透明度Ｗ２が、ＣＰＵ７に認識される。これにより、建物表面に映る画像の映り込み度が設定される。
【０１０７】
具体的には、ここでは、透明度Ｗが０％のときが不透明で、透明度Ｗが１００％のときが透明であると定義されている。そして、ＲＡＭ１２に格納された、建物の壁面に設けられる窓のテクスチャデータの透明度Ｗ１が、たとえば１００％であり、窓を除いた建物の壁面のテクスチャデータの透明度Ｗ２が、たとえば０％であった場合、建物の壁面の窓に映る景色や建物等だけを、テレビジョンモニタ２０に表示することができる。
【０１０８】
また、ＲＡＭ１２に格納された、建物の壁面に設けられる窓のテクスチャデータの透明度Ｗ１が、たとえば１００％であり、窓を除いた建物の壁面のテクスチャデータの透明度Ｗ２が、たとえば１００％であった場合、建物の壁面全体に映る画像を、テレビジョンモニタ２０に表示することができる。
【０１０９】
このように、ＲＡＭ１２に格納するテクスチャデータの透明度Ｗの値に応じて、建物表面に映る映像を、様々な映り込みの程度で、テレビジョンモニタ２０に表示することができる。以下では、建物の壁面に設けられる窓のテクスチャデータの透明度Ｗ１が、１００％であり、窓を除いた建物の壁面のテクスチャデータの透明度Ｗ２が、５０％である場合の例を一例として、説明を行う。
【０１１０】
続いて、仮想カメラＣの位置、仮想カメラＣの注視点ＰＧ０の位置、および光源Ｌの位置に応じて、建物のテクスチャデータの反射率Ｈを設定する処理を、ＣＰＵ７に実行させることにより、反射効果の設定が実行される（Ｓ１１２）。ここでは、図４に示すように、仮想カメラＣの位置と仮想カメラＣの注視点ＰＧ０とを結ぶ直線ＬＳ１（第１直線）と、第１直線が建物表面と交わる交点Ｋと光源Ｌとを結ぶ直線ＬＳ２（第２直線）とがなす角度α（反射角度）を算出する処理が、ＣＰＵ７により実行される。そして、この反射角度αに応じて、建物のテクスチャデータの反射率Ｈが設定される。
【０１１１】
具体的には、まず、仮想カメラＣの位置と仮想カメラＣの注視点ＰＧ０とを結ぶ直線ＬＳ１が建物表面と交わる交点Ｋが、ＣＰＵ７により算出される。そして、この交点Ｋから光源Ｌに向かうベクトルＡ＜Ａ＞が、ＣＰＵ７により算出される。また、この交点Ｋから仮想カメラＣの位置に向かうベクトルＢ＜Ｂ＞が、ＣＰＵ７により算出される。次に、ベクトルＡ＜Ａ＞とベクトルＢ＜Ｂ＞との内積を求める式（cosα＝（＜Ａ＞・＜Ｂ＞）／（｜＜Ａ＞｜｜＜Ｂ＞｜））に基づいて、ベクトルＡ＜Ａ＞とベクトルＢ＜Ｂ＞とがなす角度すなわち反射角度αが、ＣＰＵ７により算出される。このようにして、第１直線ＬＳ１と第２直線ＬＳ２とがなす角度（反射角度α）が、ＣＰＵ７により算出される。
【０１１２】
なお、図４に示したベクトルＡ＜Ａ＞およびベクトルＢ＜Ｂ＞は、図を見やすくするために、単位ベクトルで表示している。
【０１１３】
この反射角度αに応じて、建物のテクスチャデータの反射率Ｈが設定される。ここでは、反射率Ｈが１００％のときが完全反射で、反射率Ｈが０％のときが無反射であると定義されている。たとえば、図５に示すように、反射角度αが８０度以上１００以下の場合、反射率Ｈが、たとえば１００％に設定される。そして、反射角度αが、９０度から１８０度、又は９０度から０度に向かうにつれて、反射率Ｈが小さくなるように設定される。これにより、仮想カメラＣの位置に応じて、建物壁面で反射した光の眩しさを変更することができる。
【０１１４】
なお、反射角度αと反射率Ｈとの対応関係は、ゲームプログラムにおいて予め規定されている。たとえば、反射角度αと反射率Ｈとの対応関係を示すテーブルは、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされるときに、野球ゲームプログラムとともに記録媒体１０からＲＡＭ１２にロードされ格納される。
【０１１５】
続いて、仮想カメラＣの位置および仮想カメラＣの注視点ＰＧ０の位置に基づいて、映り込み画像用のテクスチャデータＴＧの少なくとも一部を抽出する処理を、ＣＰＵ７に実行させることにより、建物表面に映る画像のテクスチャが決定される（Ｓ１１３）。
【０１１６】
ここでは、図６に示すように、仮想カメラＣの位置と仮想カメラＣの注視点ＰＧ０とを結ぶ直線ＬＳ１（上記の第１直線）と、仮想カメラＣの視線方向の角度を規定するために用いられる基準点Ｂと仮想カメラＣの注視点ＰＧ０とを結ぶ直線ＬＳ３（第３直線）とがなす角度β（仮想カメラＣの視線角度β）が、ＣＰＵ７により算出される。
【０１１７】
なお、仮想カメラＣの視線方向の角度を規定するために用いられる基準点Ｂは、たとえば、仮想カメラＣの注視点ＰＧ０を基準として、平面状の映り込み画像用のポリゴンＰ２に垂直な方向の所定の位置に配置される。この位置は、ゲームプログラムにおいて予め規定されている。
【０１１８】
具体的には、仮想カメラＣの注視点ＰＧ０から仮想カメラＣの位置に向かうベクトルＣ＜Ｃ＞と、仮想カメラＣの注視点ＰＧ０から基準点Ｂに向かうベクトルＤ＜Ｄ＞との内積を求める式（cosβ＝（＜Ｃ＞・＜Ｄ＞）／（｜＜Ｃ＞｜｜＜Ｄ＞｜））に基づいて、ベクトルＣ＜Ｃ＞とベクトルＤ＜Ｄ＞とがなす角度すなわち視線角度βが、ＣＰＵ７により算出される。このようにして、第１直線ＬＳ１と第３直線ＬＳ３とがなす角度（視線角度β）が、ＣＰＵ７により算出される。
【０１１９】
また、図３および図６に示すように、仮想カメラＣと建物表面との距離ＢＣ（カメラ建物間距離）が、ＣＰＵ７により算出される。具体的には、仮想カメラＣから建物表面又は建物表面の延長面に下ろした垂線の長さを算出する処理を、ＣＰＵ７に実行させることにより、カメラ建物間距離ＢＣが設定される。
【０１２０】
すると、建物表面に映り込む画像上における、視線角度βに対応する位置ＴＳ（建物表面に映り込む画像上の視線対応位置）の座標データが、ＣＰＵ７により検出され認識される。ここでは、建物表面に映り込む画像上の視線対応位置ＴＳの座標データは、次のようにして、ＣＰＵ７により検出される。
【０１２１】
たとえば、図３に示すように、映り込み画像用のテクスチャデータＴＧに対応する画像（建物表面に映り込む画像）における、四隅Ｔ１，Ｔ２，Ｔ３，Ｔ４の位置および重心の位置Ｔ０が、ＣＰＵ７に認識される。具体的には、建物表面に映り込む画像の四隅それぞれの位置座標データＴ１（０，０），Ｔ２（０，１），Ｔ３（１，１），Ｔ４（１，０）、および重心の位置座標データＴ０（０．５，０．５）が、ＣＰＵ７に認識される。
【０１２２】
視線角度βが０度である場合、重心の位置座標データＴ０（０．５，０．５）が、この視線角度βに対応する、建物表面に映り込む画像上の視線対応位置ＴＳの座標データとして、ＣＰＵ７に認識される。この視線角度βが０度である場合の、建物表面に映り込む画像上の視線対応位置ＴＳ（＝Ｔ０）が、基準となる。
【０１２３】
ここで、図６に示すように、映り込み画像用のポリゴンＰ２の重心位置ＰＧ０を原点として、水平方向をｘ座標、垂直方向をｙ座標とし、仮想カメラＣの注視点ＰＧ０から基準点Ｂに向かうベクトルＤ＜Ｄ＞の方向を、ｚ方向と定義する。この座標系において、視線角度βをｘｚ平面に投影した角度βｘｚ（図３を参照）に応じて、建物表面に映り込む画像上の視線対応位置ＴＳのｘ座標が設定される。また、視線角度βをｙｚ平面に投影した角度βｙｚ（図示しない）に応じて、建物表面に映り込む画像上の視線対応位置ＴＳのｙ座標が設定される。
【０１２４】
具体的には、仮想カメラＣの位置と仮想カメラＣの注視点ＰＧ０とを結ぶ直線ＬＳ１が、仮想カメラＣ側の建物表面の幅方向の境界と交わるときの角度βｘｚ＿ｍａｘ（図３を参照）を算出する処理が、ＣＰＵ７により実行される。また、仮想カメラＣの位置と仮想カメラＣの注視点ＰＧ０とを結ぶ直線ＬＳ１が、仮想カメラＣ側の建物表面の高さ方向の境界と交わるときの角度βｙｚ＿ｍａｘ（図示しない）を算出する処理が、ＣＰＵ７により実行される。そして、視線角度βをｘｚ平面に投影した角度βｘｚを、角度βｘｚ＿ｍａｘで除算する処理（βｘｚ／βｘｚ＿ｍａｘ）が、ＣＰＵ７により実行される。また、視線角度βをｙｚ平面に投影した角度βｙｚを、角度βｙｚ＿ｍａｘで除算する処理（βｙｚ／βｙｚ＿ｍａｘ）が、ＣＰＵ７により実行される。
【０１２５】
そして、建物表面に映り込む画像上の視線対応位置ＴＳ（＝Ｔ０）を基準とした、除算結果である「（βｘｚ／βｘｚ＿ｍａｘ，βｙｚ／βｙｚ＿ｍａｘ）」の位置が、視線角度βに対応する位置ＴＳ（建物表面に映り込む画像上の視線対応位置）の座標データとして、ＣＰＵ７に認識される。
【０１２６】
このようにして、視線角度βに対応する位置ＴＳ（建物表面に映り込む画像上の視線対応位置）がＣＰＵ７に認識されると、この位置ＴＳを基準として、カメラ建物間距離ＢＣに対応する画像の抽出範囲、すなわち建物表面に映り込む画像内の部分画像の範囲が、ＣＰＵ７により設定され認識される。このようにして、映り込み画像用のテクスチャデータＴＧの少なくとも一部が、ＣＰＵ７により抽出される。
【０１２７】
ここでは、たとえば、カメラ建物間距離ＢＣが建物の幅方向の長さと等しい場合に、建物表面に映る画像が等倍になるように、カメラ建物間距離ＢＣと、画像を抽出する範囲（境界）を定義するためのデータとが対応付けられている。そして、カメラ建物間距離ＢＣが仮想カメラＣ側の建物表面に近づくにつれて、建物表面に映り込む画像内から抽出される画像の範囲が小さくなるように、カメラ建物間距離ＢＣと、画像を抽出する範囲（境界）を定義するためのデータとが対応付けられている。一方で、カメラ建物間距離ＢＣが仮想カメラＣ側の建物表面から遠ざかるにつれて、建物表面に映り込む画像内から抽出される画像の範囲が大きくなるように、カメラ建物間距離ＢＣと、画像を抽出する範囲（境界）を定義するためのデータとが対応付けられている。
【０１２８】
なお、ここでは、画像を抽出する範囲（境界）を定義するためのデータ、すなわち建物表面に映り込む画像内の部分画像の範囲を定義するためのデータは、四隅の座標データになっている。すなわち、カメラ建物間距離ＢＣが算出されると、視線角度βに対応する位置ＴＳを示すｘ座標データおよびｙ座標データそれぞれに、カメラ建物間距離ＢＣに対応する４つの所定の値を加算する処理が、ＣＰＵ７により実行される。これにより、視線角度βに対応する位置ＴＳを基準とした、四隅の座標データＴＳ１，ＴＳ２，ＴＳ３，ＴＳ４（図３を参照）が、求められる。建物表面に映り込む画像内の部分画像の範囲を定義するための、これら四隅の座標データＴＳ１，ＴＳ２，ＴＳ３，ＴＳ４（図３を参照）をＣＰＵ７に認識させることにより、建物表面に映り込む画像内の部分画像の範囲を規定することができ、建物表面に映り込む画像内の部分画像を抽出することができる。
【０１２９】
続いて、建物用のテクスチャデータを建物用のポリゴンＰ１に投影する処理が、ＣＰＵ７により実行される（Ｓ１１４）。たとえば、建物用のポリゴンＰ１の３次元座標を２次元座標系に対応づける処理（マッピング）が、ＣＰＵ７により実行される。そして、建物用のテクスチャデータの座標を、建物用のポリゴンＰ１をマッピングした２次元座標系に対応づける処理が、ＣＰＵ７により実行される。これにより、建物用のポリゴンモデルＰＭ１が生成される。ここで生成される建物用のポリゴンモデルＰＭ１は、透明度Ｗの値に応じて、少なくとも一部が透明性を有している。たとえば、この建物用のポリゴンモデルＰＭ１では、壁面の窓は、１００％の透明度Ｗ１に対応する透明性を有し、窓を除いた建物の壁面は、５０％の透明度Ｗ２に対応する透明性を有している。
【０１３０】
続いて、抽出された映り込み画像用のテクスチャデータを映り込み画像用のポリゴンＰ２に投影する処理が、ＣＰＵ７により実行される（Ｓ１１５）。たとえば、映り込み画像用のポリゴンＰ２の３次元座標を２次元座標系に対応づける処理（マッピング）が、ＣＰＵ７により実行される。そして、抽出された映り込み画像用のテクスチャデータの座標を、映り込み画像用のポリゴンＰ２をマッピングした２次元座標に対応づける処理が、ＣＰＵ７により実行される。これにより、映り込み画像用のポリゴンモデルＰＭ２が生成される。
【０１３１】
続いて、建物用のポリゴンモデルＰＭ１の内部の映り込み画像用のポリゴンモデルＰＭ２を、建物用のポリゴンモデルＰＭ１の壁面全体を通して、建物用のポリゴンモデルＰＭ１の外部から仮想カメラＣにより撮影する処理をＣＰＵ７に実行させることにより、図７に示すように、建物と建物表面に映る映像とがテレビジョンモニタ２０に表示される（Ｓ１１６）。
【０１３２】
なお、図７では、建物表面に映る映像を破線にて示している。また、建物表面に映る映像をテレビジョンモニタ２０に表示するためのポリゴンモデルＰＭ２は、図６に示すポリゴンＰ２の位置に形成されている。
【０１３３】
具体的には、仮想カメラＣに対する撮影命令をＣＰＵ７に発行させることにより、仮想カメラＣに写る画像が、テレビジョンモニタ２０に表示される。たとえば、仮想カメラＣの注視点ＰＧ０が、建物用のポリゴンＰ１の内部に配置される場合、撮影命令がＣＰＵ７から発行されると、建物用のポリゴンモデルＰＭ１の内部の映り込み画像用のポリゴンモデルＰＭ２が、建物用のポリゴンモデルＰＭ１の壁面全体を通して、建物用のポリゴンモデルＰＭ１の外部から仮想カメラＣにより撮影される。すると、建物の画像と、建物表面に映る画像（建物表面に映り込む画像）とが、テレビジョンモニタ２０に表示される。
【０１３４】
なお、上述した映像表示システムの説明において、ステップ１０１（Ｓ１０１）の処理およびステップ１０２（Ｓ１０２）の処理は、ステップ１（Ｓ１）において実行される。また、ステップ１０３（Ｓ１０３）からステップ１１６（Ｓ１１６）までの処理は、ステップ４（Ｓ４）において実行される。すなわち、プレイモードが終了したことを示す命令がＣＰＵ７から発行されるまでの間において（Ｓ５でＹｅｓになるまでの間において）、建物がテレビジョンモニタ２０に表示されるときには、このステップ１０３（Ｓ１０３）からステップ１１６（Ｓ１１６）までの処理が実行される。
【０１３５】
上記のように、本実施形態では、建物用のポリゴンモデルＰＭ１の内部に配置された映り込み画像用のポリゴンモデルＰＭ２を、建物用のポリゴンモデルＰＭ１の外部から仮想カメラＣにより撮影することにより、仮想カメラＣが建物を撮影する位置に応じて、建物表面に異なる映像を、描画することができる。また、仮想カメラＣが建物を撮影する位置に応じて異なる視差を、テレビジョンモニタ２０に表示される映像において表現することができる。このように、建物表面に映る画像を、リアリティのある表現で、テレビジョンモニタ２０に表示することができる。
【０１３６】
〔他の実施形態〕
（a ）前記実施形態では、オブジェクト用のポリゴンモデルの内部に配置された映り込み画像用のポリゴンモデルを、オブジェクト用のポリゴンモデルの透明な部分を通して、オブジェクト用のポリゴンモデルの外部から仮想カメラにより撮影することにより、仮想カメラがオブジェクトを撮影する位置に応じて異なる画像（オブジェクト表面に映る画像）を、画像表示部に表示するものである。ここで、映り込み画像用のポリゴンモデルをオブジェクト用のポリゴンモデルの透明な部分から奥行き方向に複数、互いに離間させて配置するようにしてもよい。例えば、透明な部分の内側に車のポリゴンモデルを配置し、さらにその奥に家のポリゴンモデルを配置し、さらにその奥に森を含む背景のポリゴンモデルを配置するようにする。この場合には、仮想カメラの位置や移動によって、家の一部がその前に位置する車によって遮られて見えたり、全く遮られることなく全体像が見えたりすることになる。同時に、背景の森がその前に位置する車や家によって遮られる部分が変化することになる。つまり、複数の互いに離間したポリゴンモデルによって外部の写り込み景色を構成することで、一枚からなるポリゴンモデルで外部の写り込み景色を構成する場合に比べ、奥行き感のあるより立体的な現実に近い画像表現を行うことができる。
【０１３７】
（ｂ）前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【０１３８】
（ｃ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【図面の簡単な説明】
【０１３９】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の一例としての機能ブロック図。
【図３】３次元ゲーム空間における、建物用のポリゴン、映り込み画像用のポリゴン、および仮想カメラ等の配置位置を説明するための図。
【図４】３次元ゲーム空間における、仮想カメラの位置、注視点の位置、および光源の位置を示す図。
【図５】反射角度と反射率との対応関係を示す図。
【図６】視線角度を算出方法を説明するための図。
【図７】モニタに表示される建物と建物表面に映る映像とを示す図（モニタに表示される部分のポリゴンモデルを示す図）。
【図８】野球ゲームの全体概要を示すフロー。
【図９】映像表示システムを説明するためのフローチャート。
【符号の説明】
【０１４０】
１  制御部
３  画像表示部
７  ＣＰＵ
１２  ＲＡＭ
１７  コントローラ
２０  テレビジョンモニタ
５０  第１テクスチャ格納手段
５１  第２テクスチャ格納手段
５２  第１ポリゴン配置手段
５３  第２ポリゴン配置手段
５４  光源配置手段
５５  カメラ配置手段
５６  注視点配置手段
５７  映り込み度設定手段
５８  反射効果付加手段
５９  テクスチャ決定手段
６０  第１ポリゴン生成手段
６１  第２ポリゴン生成手段
６２  画像表示手段
Ｃ  仮想カメラ
ＢＣ  カメラ建物間距離
ＰＧ０  注視点
Ｐ１  建物用のポリゴン
ＰＭ１  建物用のポリゴンモデル
Ｐ２  映り込み画像用のポリゴン
ＰＭ２  映り込み画像用のポリゴンモデル
ＴＧ  映り込み画像用のテクスチャデータ
Ｌ  光源
α  反射角度
β  視線角度
Ｈ  反射率
【図１】
0004714763.tif 000002
【図２】
0004714763.tif 000003
【図３】
0004714763.tif 000004
【図４】
0004714763.tif 000005
【図５】
0004714763.tif 000006
【図６】
0004714763.tif 000007
【図７】
0004714763.tif 000008
【図８】
0004714763.tif 000009
【図９】
0004714763.tif 000010