(57)【要約】【課題】少ない処理負荷で樹木等の表示物をリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトＰＯＢ１、ＰＯＢ２（枝）を有するモデルオブジェクトＭＯＢ（樹木）を、オブジェクト空間に配置し、ＰＯＢ１、ＰＯＢ２をその表示面が仮想カメラＶＣの方に向くようにしながら回転させる。ピクセル単位で表示面に凹凸形状を設定したり、表示面側に仮想的な凸形状を形成するためのＺテクスチャを、パーツオブジェクトＰＯＢ１、ＰＯＢ２にマッピングする。仮想カメラＶＣが、柱状パーツオブジェクトＣＯＢ（幹）の方を向きながらＹ軸、Ｘ軸回りに回転した場合に、パーツオブジェクトＰＯＢ１、ＰＯＢ２を、その表示面がＶＣの方に向くようにしながらＹ軸、Ｘ軸回りに回転させる。【選択図】        図９
2004298375.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
オブジェクトデータを記憶するオブジェクトデータ記憶部と、
記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
仮想カメラを制御する仮想カメラ制御部と、
隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、
前記オブジェクト空間設定部が、
画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させることを特徴とする画像生成システム。
【請求項２】
請求項１において、
各テクセルにＺ値のオフセット値が設定されるＺテクスチャを記憶するテクスチャ記憶部と、
記憶されたＺテクスチャをオブジェクトにマッピングするテクスチャマッピング部とを含み、
前記テクスチャマッピング部が、
ピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するためのＺテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とする画像生成システム。
【請求項３】
画像生成を行う画像生成システムであって、
オブジェクトデータを記憶するオブジェクトデータ記憶部と、
記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
各テクセルにＺ値のオフセット値が設定されるＺテクスチャを記憶するテクスチャ記憶部と、
記憶されたＺテクスチャをオブジェクトにマッピングするテクスチャマッピング部と、
仮想カメラを制御する仮想カメラ制御部と、
隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、
前記オブジェクト空間設定部が、
複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、画像が描かれる表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させ、
前記テクスチャマッピング部が、
複数の前記パーツオブジェクトの表示面側に仮想的な凸形状を形成するためのＺテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
前記オブジェクト空間設定部が、
前記柱状パーツオブジェクトを、鉛直方向であるＹ軸方向に沿って立つように配置設定し、
複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
仮想カメラが前記柱状パーツオブジェクトの方を向きながらＹ軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらＹ軸回りに回転させることを特徴とする画像生成システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
前記オブジェクト空間設定部が、
前記柱状パーツオブジェクトを、鉛直方向であるＹ軸方向に沿って立つように配置設定し、
複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
仮想カメラが前記柱状パーツオブジェクトの方を向きながらＹ軸に直交するＸ軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらＸ軸回りに回転させることを特徴とする画像生成システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記複数のパーツオブジェクトが隣り合う第１、第２のパーツオブジェクトを有し、
前記オブジェクト空間設定部が、
所与の座標軸回りに仮想カメラが３６０度回転した場合にも、前記第１、第２のパーツオブジェクトが互いに交差するか、或いは仮想カメラから見た視界画像において前記第１、第２のパーツオブジェクト間にオーバーラップ部分が生じるような配置間隔で、隣り合う前記第１、第２のパートオブジェクトを配置設定することを特徴とする画像生成システム。
【請求項７】
画像を生成するためのプログラムであって、
オブジェクトデータを記憶するオブジェクトデータ記憶部と、
記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
仮想カメラを制御する仮想カメラ制御部と、
隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させると共に、
前記オブジェクト空間設定部が、
画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させることを特徴とするプログラム。
【請求項８】
請求項７において、
各テクセルにＺ値のオフセット値が設定されるＺテクスチャを記憶するテクスチャ記憶部と、
記憶されたＺテクスチャをオブジェクトにマッピングするテクスチャマッピング部として、
コンピュータを機能させると共に、
前記テクスチャマッピング部が、
ピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するためのＺテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とするプログラム。
【請求項９】
画像を生成するためのプログラムであって、
オブジェクトデータを記憶するオブジェクトデータ記憶部と、
記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
各テクセルにＺ値のオフセット値が設定されるＺテクスチャを記憶するテクスチャ記憶部と、
記憶されたＺテクスチャをオブジェクトにマッピングするテクスチャマッピング部と、
仮想カメラを制御する仮想カメラ制御部と、
隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させると共に、
前記オブジェクト空間設定部が、
複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、画像が描かれる表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させ、
前記テクスチャマッピング部が、
複数の前記パーツオブジェクトの表示面側に仮想的な凸形状を形成するためのＺテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とするプログラム。
【請求項１０】
請求項７乃至９のいずれかにおいて、
前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
前記オブジェクト空間設定部が、
前記柱状パーツオブジェクトを、鉛直方向であるＹ軸方向に沿って立つように配置設定し、
複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
仮想カメラが前記柱状パーツオブジェクトの方を向きながらＹ軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらＹ軸回りに回転させることを特徴とするプログラム。
【請求項１１】
請求項７乃至１０のいずれかにおいて、
前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
前記オブジェクト空間設定部が、
前記柱状パーツオブジェクトを、鉛直方向であるＹ軸方向に沿って立つように配置設定し、
複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
仮想カメラが前記柱状パーツオブジェクトの方を向きながらＹ軸に直交するＸ軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらＸ軸回りに回転させることを特徴とするプログラム。
【請求項１２】
請求項７乃至１１のいずれかにおいて、
前記複数のパーツオブジェクトが隣り合う第１、第２のパーツオブジェクトを有し、
前記オブジェクト空間設定部が、
所与の座標軸回りに仮想カメラが３６０度回転した場合にも、前記第１、第２のパーツオブジェクトが互いに交差するか、或いは仮想カメラから見た視界画像において前記第１、第２のパーツオブジェクト間にオーバーラップ部分が生じるような配置間隔で、隣り合う前記第１、第２のパートオブジェクトを配置設定することを特徴とするプログラム。
【請求項１３】
コンピュータ読み取り可能な情報記憶媒体であって、請求項７乃至１２のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【従来技術】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。そしてこのような画像生成システムでは、樹木などの植物についてもリアルに表現できることが望まれる。
【０００３】
【特許文献１】
特開２００２−２４８５８号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上述のようなＬシステムを用いて樹木（広義には植物）の画像を生成する手法では処理が複雑化するという課題がある。
【０００５】
また幹のパーツオブジェクトの回りに、全方向にわたってドーム形状の枝パーツオブジェクトを固定配置して、樹木を表現する手法も考えられる。しかしながら、この手法では、枝バーツオブジェクトの数が多くなってしまい、メモリの使用記憶容量が圧迫される。
【０００６】
また平板状のポリゴンに樹木の画像のテクスチャをマッピングし、いわゆるビルボード手法により樹木を表現する手法も考えられる。しかしながらこの手法では、Ｚバッファによる隠面消去を行った場合に、平板ポリゴン間の前後関係が入れ替わる瞬間が目立ってしまい、生成される画像の品質が低下してしまう。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷で樹木等の表示物をリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、画像生成を行う画像生成システムであって、オブジェクトデータを記憶するオブジェクトデータ記憶部と、記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、仮想カメラを制御する仮想カメラ制御部と、隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、前記オブジェクト空間設定部が、画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させる画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００９】
本発明によれば、モデルオブジェクトが、表示面側（表の面側）に凸部（頂点、稜線）が形成される凸形状のパーツオブジェクトを有する。そしてパーツオブジェクトは、仮想カメラが回転した場合に、その表示面（凸部）が仮想カメラの方に向くようにしながら回転する。このようにすれば、仮想カメラの方から見える視界画像において、パーツオブジェクトの表示面の画像が最大面積で表示されるようになり、少ないプリミティブ面数でリアルな画像を生成できる。また仮想カメラの回転時に（仮想カメラの向きが変わった時に）、隣り合うパーツオブジェクト間の前後関係（奥行き方向での前後関係）が、徐々に入れ替わるようになるため、より自然な画像を生成できる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、各テクセルにＺ値のオフセット値が設定されるＺテクスチャを記憶するテクスチャ記憶部と、記憶されたＺテクスチャをオブジェクトにマッピングするテクスチャマッピング部とを含み（これらの各部としてコンピュータを機能させる、或いはこれらの各部としてコンピュータを機能させるプログラムを記憶し）、前記テクスチャマッピング部が、ピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するためのＺテクスチャを、複数の前記パーツオブジェクトにマッピングするようにしてもよい。
【００１１】
このようにすれば、パーツオブジェクトが本来有する凸形状よりも細かな凹凸形状（仮想Ｚ値）を、パーツオブジェクトの表示面側に仮想的に設定でき、微妙な起伏のある交差境界線を表現できる。
【００１２】
また本発明は、画像生成を行う画像生成システムであって、オブジェクトデータを記憶するオブジェクトデータ記憶部と、記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、各テクセルにＺ値のオフセット値が設定されるＺテクスチャを記憶するテクスチャ記憶部と、記憶されたＺテクスチャをオブジェクトにマッピングするテクスチャマッピング部と、仮想カメラを制御する仮想カメラ制御部と、隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、前記オブジェクト空間設定部が、複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、画像が描かれる表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させ、前記テクスチャマッピング部が、複数の前記パーツオブジェクトの表示面側に仮想的な凸形状を形成するためのＺテクスチャを、複数の前記パーツオブジェクトにマッピングする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１３】
本発明によれば、その表示面が仮想カメラの方に向くようにしながらパーツオブジェクトが回転すると共に、パーツオブジェクトの表示面側に仮想的な凸形状（仮想Ｚ値）を設定するためのＺテクスチャが、パーツオブジェクトにマッピングされる。このようにすれば、仮想カメラの方から見える視界画像において、パーツオブジェクトの表示面の画像が最大面積で表示されるようになり、少ないプリミティブ面数でリアルな画像を生成できる。また隣り合うパーツオブジェクト間の前後関係（奥行き方向での前後関係）が、Ｚテクスチャにより設定された仮想的なＺ値を用いて、徐々に入れ替わるようになるため、より自然な画像を生成できる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モデルオブジェクトが柱状のパーツオブジェクトを有し、前記オブジェクト空間設定部が、前記柱状パーツオブジェクトを、鉛直方向であるＹ軸方向に沿って立つように配置設定し、複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、仮想カメラが前記柱状パーツオブジェクトの方を向きながらＹ軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらＹ軸回りに回転させるようにしてもよい。
【００１５】
このようにすれば、仮想カメラがモデルオブジェクトの方を向きながら、Ｙ軸回りにパン回転した場合にも、あたかも柱状パーツオブジェクトの全方向にわたって、パーツオブジェクトが存在するかのように見える画像を生成できる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モデルオブジェクトが柱状のパーツオブジェクトを有し、前記オブジェクト空間設定部が、前記柱状パーツオブジェクトを、鉛直方向であるＹ軸方向に沿って立つように配置設定し、複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、仮想カメラが前記柱状パーツオブジェクトの方を向きながらＹ軸に直交するＸ軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらＸ軸回りに回転させるようにしてもよい。
【００１７】
このようにすれば、仮想カメラがモデルオブジェクトの方を向きながら、Ｘ軸回りにパン回転した場合にも、あたかも柱状パーツオブジェクトの全方向にわたって、パーツオブジェクトが存在するかのように見える画像を生成できる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記複数のパーツオブジェクトが隣り合う第１、第２のパーツオブジェクトを有し、前記オブジェクト空間設定部が、所与の座標軸回りに仮想カメラが３６０度回転した場合にも、前記第１、第２のパーツオブジェクトが互いに交差するか、或いは仮想カメラから見た視界画像において前記第１、第２のパーツオブジェクト間にオーバーラップ部分が生じるような配置間隔で、隣り合う前記第１、第２のパートオブジェクトを配置設定するようにしてもよい。
【００１９】
このようにすれば、所与の座標軸（Ｙ軸、Ｘ軸等）回りに仮想カメラが３６０度回転した場合にも、仮想カメラから見た視界画像において、隣り合う第１、第２のパーツオブジェクト間に隙間が生じるのを防止でき、より自然でリアルな画像を生成できる。
【００２０】
【発明の実施の形態】
以下、本実施形態について説明する。
【００２１】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２２】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図１の構成要素（各部）を全て含む必要はなく、その一部（例えば操作部１６０、携帯型情報記憶装置１９４又は通信部１９６等）を省略した構成としてもよい。
【００２３】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、タッチパネル型ディスプレイ、或いは筺体などのハードウェアにより実現できる。
【００２４】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶（記録、格納）される。
【００２６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２７】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００２８】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００２９】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３０】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。ここで処理部１００が行うゲーム処理としては、ゲーム開始条件（コースやマップやキャラクタや参加プレーヤ人数の選択等）が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。また処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００３２】
処理部１００は、オブジェクト空間設定部１１０、仮想カメラ制御部１１２、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略してもよい。
【００３３】
オブジェクト空間設定部１１０は、キャラクタ、樹木、車、柱、壁、建物、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３４】
より具体的にはオブジェクト空間設定部１１０は、オブジェクトの位置、回転角度、又は種類（オブジェクト番号）などを含むオブジェクトデータを、オブジェクトデータ記憶部１７２から読み出す。そして読み出されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置する。この場合に、ローカル座標系で表現されるオブジェクトデータ（位置、回転角度）と、座標変換（ワールド座標変換、カメラ座標変換、又は透視変換等）のための各種マトリクス（回転移動マトリクス、又は並進移動マトリクス等）などに基づいて、オブジェクトの配置処理を実現する。
【００３５】
なおオブジェクトデータは、画像生成システムへの電源投入時等に例えば情報記憶媒体１８０から読み出されてオブジェクトデータ記憶部１７２にロードされる。或いは通信部１９６、インターネット（広義にはネットワーク）を介してホスト装置からオブジェクトデータ記憶部１７２にダウンロードされる。
【００３６】
またオブジェクト空間設定部１１０は、移動オブジェクト（車、飛行機、又はキャラクタ等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、操作部１６０によりプレーヤが入力した操作データ、プログラム（移動・動作アルゴリズム）、各種データ（モーションデータ）などに基づいて、移動オブジェクトをオブジェクト空間内で移動させたり、移動オブジェクトを動作（モーション、アニメーション）させる処理を行う。より具体的には、移動オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、例えば１フレーム（１／６０秒毎）毎に順次求めるシミュレーション処理を行う。
【００３７】
仮想カメラ制御部１１２は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００３８】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、オブジェクト空間設定部１１０（移動・動作演算部）で得られた移動オブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００３９】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。即ちいわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４０】
画像生成部１２０は陰面消去部１２２を含む。隠面消去部１２２は、Ｚ値（奥行き情報）が格納されるＺバッファ１７６（奥行きバッファ）等を用いて、Ｚバッファ法（奥行き比較法）により隠面消去処理を行う。
【００４１】
また画像生成部１２０はテクスチャマッピング部１２４を含む。テクスチャマッピング部１２４は、テクスチャ記憶部１７８に記憶されるテクスチャ（テクスチャデータ）をオブジェクト（プリミティブ面）にマッピングする処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いて、テクスチャ記憶部１７８からテクスチャ（色、輝度、法線、Ｚ値、或いはα値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピング（ｐｒｏｊｅｃｔ）する。この場合に、テクセルとピクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。また、インデックスカラー・テクスチャマッピング用のＬＵＴ（ルックアップテーブル）を用いたテクスチャマッピングを行うようにしてもよい。
【００４２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４３】
そして本実施形態では、オブジェクト空間設定部１１０が、パーツオブジェクト（狭義には枝オブジェクト）により構成されるモデルオブジェクト（狭義には樹木オブジェクト、植物オブジェクト）を、オブジェクト空間に配置する（オブジェクトデータに基づいて設定する）。そしてこれらのパーツオブジェクトを、その表示面（画像が描かれる面。テクスチャがマッピングされる面）が仮想カメラの方に向くようにしながら回転させる。この回転処理は仮想カメラの回転情報（回転角度、向き）に基づき行うことができる。またパーツオブジェクトは、画像が描かれる表示面側に凸部（頂点、稜線）が形成される凸形状のオブジェクト（錐状オブジェクト、傘状オブジェクト）である。
【００４４】
具体的にはオブジェクト空間設定部１１０（回転制御部）は、仮想カメラが所与の座標軸回りに回転した場合に、モデルオブジェクトのパーツオブジェクトを、その座標軸回りに回転させる。更に具体的にはオブジェクト空間設定部１１０は、仮想カメラのＹ軸（ワールド座標系での鉛直方向の座標軸。第１の座標軸）回りの回転角度に基づいて、パーツオブジェクトをＹ軸回りに回転させる。また仮想カメラのＸ軸（Ｙ軸に直交する座標軸。第２の座標軸）回りの回転角度に基づいて、パーツオブジェクトをＸ軸回りに回転させる。
【００４５】
また本実施形態では、各テクセルにＺ値のオフセット値（変化値、補正値）が設定（格納）されるＺテクスチャ（Ｚテクスチャデータ）が、テクスチャ記憶部１７８に記憶される。そしてテクスチャマッピング部１２４が、このＺテクスチャを読み出して、オブジェクトにマッピングする。
【００４６】
具体的には、ピクセル単位（プリミティブ面単位よりも小さな単位）でパーツオブジェクトの表示面に凹凸形状（パーツオブジェクトの全体的な凸形状よりも細かな凹凸形状）を設定するためのＺテクスチャが、テクスチャ記憶部１７８に記憶される。そしてテクスチャマッピング部１２４は、このＺテクスチャを読み出して、モデルオブジェクトを構成する各パーツオブジェクトにマッピングする。或いは、パーツオブジェクト（平板形状のパーツオブジェクト）の表示面側に仮想的な凸形状（パーツオブジェクトの本来のＺ値にＺオフセット値を加算又は減算することで得られる仮想的な凸形状）を形成するためのＺテクスチャが、テクスチャ記憶部１７８に記憶される。そしてテクスチャマッピング部１２４は、このＺテクスチャを読み出して、各パーツオブジェクトにマッピングする。或いは、パーツオブジェクトに仮想的な凸部を形成すると共にピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するＺテクスチャを読み出して、各パーツオブジェクトにマッピングする。このようにすることで、パーツオブジェクト間の交わり部分のチラツキを目立たなくすることができる。
【００４７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００４８】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００４９】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００５０】
２．１  凸形状のパーツオブジェクトによる樹木の表現
樹木（植物）を表現する手法の１つとして、ビルボードと呼ばれる手法を考えることができる。この手法では図２（Ａ）に示すように、平板状のポリゴンＰＬ１、ＰＬ２に樹木画像のテクスチャをマッピングし、ポリゴンＰＬ１、ＰＬ２を仮想カメラＶＣに対して常に正対させる。
【００５１】
しかしながらこの手法では、図２（Ａ）のＡ１からＡ２に示すように仮想カメラＶＣの位置、回転角度（向き）が変化すると、図２（Ｂ）のＡ３、Ａ４に示すように、ポリゴンＰＬ１、ＰＬ２の前後関係が入れ替わる瞬間が目立ってしまう。即ちＺバッファ法ではＺ値（奥行き値）に基づいて隠面消去が行われる。そして図２（Ａ）のＡ１では、ＰＬ１のＺ値の方がＰＬ２のＺ値よりも手前側になるのに対して、Ａ２では、ＰＬ２のＺ値の方がＰＬ１のＺ値よりも手前側になっている。従って、図２（Ｃ）のＡ３、Ａ４に示すような前後関係の瞬間的な入れ替わりが生じる。従って、板状ポリゴンＰＬ１、ＰＬ２により樹木が表現されていることをプレーヤに気づかれてしまい、高品質な画像を生成できないという課題がある。
【００５２】
そこで本実施形態では、このような課題を解決するために、樹木（モデルオブジェクト）の枝を、図３（Ａ）に示すような形状（傘状）のパーツオブジェクトＰＯＢで表現する。即ち画像が描かれる表示面側（テクスチャがマッピングされる面側）に凸部ＰＶ（ｐｒｏｊｅｃｔｉｏｎ  ｐｏｒｔｉｏｎ）が形成される凸形状（ｐｒｏｊｅｃｔｉｏｎ  ｓｈａｐｅ）のパーツオブジェクトＰＯＢで、枝オブジェクトを枝を表現する。より具体的には、中心部（凸部）が盛り上がった錐状（錐体の底面を除いた形状）のパーツオブジェクトＰＯＢで枝を表現する。このＰＯＢは、頂点（凸部ＰＶ）を共有する複数のプリミティブ面（３角形のポリゴン）により構成される。
【００５３】
そして図４（Ａ）のＢ１、Ｂ２、Ｂ３に示すように、画像が描かれる表示面側（凸部ＰＶ１、ＰＶ２側）が仮想カメラＶＣの方に常に向くように（錐体の底面がＶＣに正対するように）、モデルオブジェクトＭＯＢ（樹木）を構成するパーツオブジェクトＰＯＢ１、ＰＯＢ２（枝）を回転させる。
【００５４】
このようにすれば図４（Ｂ）のＢ４に示すように、隣り合うパーツオブジェクトＰＯＢ１、ＰＯＢ２同士が重なりあっても互いにのめり込むため、Ｚバッファ法の隠面消去が有効利用されて、前後関係が滑らかに入れ替わるようになる。
【００５５】
即ち図２（Ｂ）のＡ３、Ａ４では、ＰＬ１、ＰＬ２の前後関係が瞬間的に入れ替わるのに対して、図４（Ｂ）では、Ｂ４に示す交差境界線の形状が徐々に変化しながら、ＰＯＢ１、ＰＯＢ２の前後関係が徐々に入れ替わる。従って、簡易的なパーツオブジェクトＰ０Ｂ１、ＰＯＢ２により樹木の枝が表現されていることを、プレーヤに気づかれなくなり、少ないデータ量で高品質な画像を生成できる。
【００５６】
例えば本実施形態と異なる手法として、図３（Ａ）に示すような形状のパーツオブジェクトＰＯＢを、仮想カメラＶＣの位置に依らずに全方向にわたって固定配置する手法も考えられる。しかしながらこの手法では、図３（Ａ）に示すような形状のパーツオブジェクトＰＯＢを、幹の回りの全方向にわたって配置する必要があるため、樹木を表すモデルオブジェクトのポリゴン数が多くなってしまう。
【００５７】
これに対して本実施形態の手法によれば、図４（Ａ）に示すように表示面が仮想カメラＶＣの方に向くように枝パーツオブジェクトが回転するため、幹の回りの全方向にわたって枝パーツオブジェクトを配置しなくても済む。従ってモデルオブジェクトのポリゴン数（プリミティブ面数）を最小限に抑えながら、図２（Ａ）（Ｂ）の手法では実現できない高品質な画像を生成できる。
【００５８】
なおパーツオブジェクトＰＯＢの形状は図３（Ａ）の形状に限定されない。例えば図３（Ａ）のように角錐形状ではなく、円錐形状にしてもよい。また図３（Ｂ）に示すように凸部となる複数の頂点が形成される形状であってもよい。或いは図３（Ｃ）に示すように、凸部が稜線となるような山折り形状であってもよい。
【００５９】
２．２  回転処理
次にパーツオブジェクトの具体的な回転処理について説明する。本実施形態では図５（Ａ）に示すように、樹木を表すモデルオブジェクトＭＯＢは、枝を表すパーツオブジェクトＰＯＢと、幹を表す柱状パーツオブジェクトＣＯＢ（略柱状の場合を含む）で構成される。
【００６０】
柱状パーツオブジェクトＣＯＢは、鉛直方向であるＹ軸方向に沿って立つように、オブジェクト空間に配置される。またパーツオブジェクトＰＯＢは、柱状パーツオブジェクトＣＯＢの中心軸ＣＡから離れた位置に配置される。より具体的には、中心軸ＣＡから離れた位置であり且つＣＯＢとオーバーラップしない位置にＰＯＢは配置される。
【００６１】
そして図５（Ａ）（Ｂ）に示すように、仮想カメラＶＣが柱状パーツオブジェクトＣＯＢ（ＰＯＢ）の方を向きながら、Ｙ軸回りに回転すると（中心軸ＣＡの回りでパン回転すると）、オブジェクト空間設定部１１０は、その表示面（凸部ＰＶ）が仮想カメラＶＣの方に向くように、パーツオブジェクトＰＯＢをＹ軸回りに回転させる。即ち仮想カメラＶＣの回転に追従するように中心軸ＣＡの回りでＰＯＢを回転させる。例えば仮想カメラＶＣがＹ軸回りに回転角度θＹだけ回転した場合には、パーツオブジェクトＰＯＢもＹ軸回りに回転角度θＹだけ回転させる。一方、幹を表す柱状パーツオブジェクトＣＯＢについては回転させない。
【００６２】
例えばＰＯＢ１、ＰＯＢ２、ＣＯＢで構成されるモデルオブジェクトＭＯＢと仮想カメラＶＣとが図６（Ａ）のような位置関係にある場合には、図６（Ｂ）に示すような画像（視界画像）が生成される。そして図６（Ａ）の状態から、図７（Ａ）に示すように仮想カメラＶＣがＹ軸回りに回転すると（ＭＯＢの方を向きながらパン回転すると）、図７（Ｂ）に示すような画像が生成される。
【００６３】
即ち本実施形態によれば、パーツオブジェクトＰＯＢ１、ＰＯＢ２の表示面（凸部）が常に仮想カメラＶＣの方を向くようになるため、ＰＯＢ１、ＰＯＢ２を、あたかも空間が閉じた立体のように見せることができ、立体感を増すことができる。また仮想カメラＶＣがＭＯＢの方を向きながらＭＯＢの回りを３６０度回転しても（所与の座標軸回りにＶＣが３６０度回転しても）、パーツオブジェクトＰＯＢ１、ＰＯＢ２は、幹である柱状パーツオブジェクトＣＯＢの手前に位置してＣＯＢを隠すようになる。従って、２つのパーツオブジェクトＰＯＢ１、ＰＯＢ２しか用いていないのに、あたかも幹（ＣＯＢ）の全方向にわたって枝（ＰＯＢ１、ＰＯＢ２）が生えているかのように見せることができる。従って少ないプリミティブ面数で、よりリアルで自然な画像を生成できる。
【００６４】
また図８（Ａ）（Ｂ）に示すように、仮想カメラＶＣが柱状パーツオブジェクトＣＯＢ（ＰＯＢ）の方を向きながら、Ｘ軸（Ｙ軸に直交する軸）回りに回転すると、その表示面（凸部ＰＶ）が仮想カメラＶＣの方に向くように、パーツオブジェクトＰＯＢをＸ軸回りに回転させる。即ち仮想カメラＶＣがＸ軸回りに回転角度θＸだけ回転した場合には、パーツオブジェクトＰＯＢもＸ軸回りに回転角度θＸだけ回転させる。
【００６５】
例えば仮想カメラＶＣがＸ軸回りに回転して、ＶＣとモデルオブジェクトＭＯＢとの関係が、図６（Ａ）から図９（Ａ）に示すような位置関係（ＶＣがＭＯＢを所定の仰角で見下ろす関係）に変化すると、図９（Ｂ）に示すような画像が生成される。また仮想カメラＶＣがＸ軸回りで更に回転して、ＶＣとモデルオブジェクトＭＯＢとの関係が、図１０（Ａ）に示すような位置関係（ＶＣがＭＯＢを真上から見下ろす関係）になると、図１０（Ｂ）に示すような画像が生成される。
【００６６】
このように本実施形態によれば、仮想カメラＶＣがＹ軸回りに回転した場合のみならずＸ軸回りに回転した場合（ＶＣがＭＯＢを上方から見下ろした場合）にも、パーツオブジェクトＰＯＢ１、ＰＯＢ２の表示面が常に仮想カメラＶＣの方に向くようになる。そしてＰＯＢ１、ＰＯＢ２は、幹である柱状パーツオブジェクトＣＯＢを隠すようになる。従って、あたかも閉じた立体のように見える枝を表現できると共に、幹の全方向にわたって枝が生えているかのように見えるリアルな画像を生成できる。また例えば飛行機ゲームのように、樹木の上を移動オブジェクト（飛行機等）が飛行しながら地面を見下ろすようなゲームにおいても、より自然で矛盾の無い画像を生成できる。
【００６７】
また本実施形態によれば図９（Ｂ）のＣ１、図１０のＤ１に示すように、パーツオブジェクトＰＯＢ１、ＰＯＢ２間の前後関係（カメラ座標系の奥行き方向での前後関係）が、Ｚバッファ法の隠面消去機能が有効利用されて滑らかに入れ替わるようになる。従ってプレーヤが不自然さの感じない画像を生成できる。
【００６８】
なお枝を表すパーツオブジェクトの数は２個に限定されず、３個以上のパーツオブジェクトを設けてもよい。或いはパーツオブジェクトの個数を１つにすることも可能である。例えば図１１（Ａ）（Ｂ）、図１２（Ａ）（Ｂ）に、多数（例えば１０個）のパーツオブジェクトを含ませたモデルオブジェクトＭＯＢの例を示す。このようにパーツオブジェクトの数を増やすことで、プリミティブ面数は増えるが、より立体的に見える樹木画像を生成できる。
【００６９】
図１３に、パーツオブジェクトに樹木のテクスチャをマッピングすることで得られる最終的な画像の例を示す。この場合にマッピングされるテクスチャは、各テクセルにα値（透明度、半透明度）を設定できるテクスチャであることが望ましい。
【００７０】
２．３  パーツオブジェクトの配置間隔
モデルオブジェクト（樹木）を構成する隣り合うパーツオブジェクト（枝）の配置間隔は以下のように設定することが望ましい。例えば図１４において、モデルオブジェクトＭＯＢが含むパーツオブジェクトＰＯＢ１、ＰＯＢ２（第１、第２のパーツオブジェクト）は隣り合って配置されている。
【００７１】
そして図１４のＥ１〜Ｅ８に示すように、所与の座標軸（Ｙ軸、Ｘ軸等）回りに仮想カメラＶＣが３６０度回転した場合にも、パーツオブジェクトＰＯＢ１、ＰＯＢ２が互いに交差するか、或いは仮想カメラＶＣから見た視界画像においてＰＯＢ１、ＰＯＢ２間にオーバーラップ部分が生じるような配置間隔で、ＰＯＢ１、ＰＯＢ２を配置する。このような配置間隔は例えば、ＰＯＢ１の凸部（頂点）ＰＶ１からＰＯＢ１の周縁部に至る母線の長さをＬ（図１４のＥ１参照）とした場合に、ＰＶ１から半径Ｌ（又は２×Ｌ）の円内にＰＯＢ２の凸部ＰＶ２が位置するように、ＰＯＢ１、ＰＯＢ２を配置することで実現できる。
【００７２】
例えば図１４のＥ２、Ｅ６では、隣り合うパーツオブジェクトＰＯＢ１、ＰＯＢ２が互いに交差している。即ち図９（Ｂ）のＣ１に示すような交差境界線が生じている。一方、図１４のＥ１、Ｅ３、Ｅ４、Ｅ５、Ｅ７、Ｅ８では、仮想カメラＶＣから見た視界画像においてＰＯＢ１、ＰＯＢ２間にオーバーラップ部分が生じている。即ち図１０（Ｂ）のＤ１に示すように、ＰＯＢ１が手前側でＰＯＢ２が奥側になるように、ＰＯＢ１、ＰＯＢ２が奥行き方向において前後に配置される。そして図１０（Ｂ）に示す仮想カメラＶＣの視界画像において、ＰＯＢ１、ＰＯＢ２間にオーバーラップ部分が生じている。
【００７３】
このような配置間隔でＰＯＢ１、ＰＯＢ２を配置すれば、仮想カメラＶＣから見てＰＯＢ１、ＰＯＢ２間に隙間が生じず、幹を表す柱状パーツオブジェクトＣＯＢをＰＯＢ１、ＰＯＢ２により隠すことが可能になる。これにより、自然でリアルな画像を生成できる。
【００７４】
なお図１４では、パーツオブジェクト（枝）が２個の場合の例を示したが、パートオブジェクトが３個以上の場合も同様な配置間隔で配置できる。
【００７５】
２．４  Ｚテクスチャ
本実施形態では、各テクセルにＺオフセット値（Ｚ変化値、Ｚ補正値）が設定されたＺテクスチャをパーツオブジェクトＰＯＢにマッピングすることで、パーツオブジェクトの仮想的な形状を表現してもよい。
【００７６】
図１５（Ａ）にＺテクスチャマッピング手法の原理を示す。図１５（Ａ）ではオブジェクトＯＢ（狭義にはポリゴン。他の説明でも同様）の各頂点に対して、Ｚテクスチャを読み出すためのテクスチャ座標（Ｕ、Ｖ）が設定されている。
【００７７】
通常のテクスチャマッピングでは、オブジェクトＯＢを描画する際に、図１のテクスチャ記憶部１７８に記憶される色の「模様」がＯＢにつけられる。これに対してＺテクスチャマッピングでは、オブジェクトＯＢに対応するＺバッファ１７６上の領域に対して、Ｚ値の「模様」をつけるようにＺオフセット値が加算（或いは減算）される。
【００７８】
例えば図１５（Ａ）のＦ１ではオブジェクトＯＢを描画バッファ１７４に描画することで、そのオブジェクトＯＢに対応するＺ値（図１５（Ａ）では「１」）がＺバッファ１７６に書き込まれる。
【００７９】
一方、図１５（Ａ）のＦ２に示すようにテクスチャ記憶部１７８（Ｚテクスチャの空間）の各テクセルにはＺオフセット値が設定されている。そしてオブジェクトＯＢの各頂点に設定されたテクスチャ座標（Ｕ、Ｖ）に基づいて、テクスチャ記憶部１７８からＺオフセット値が読み出される。
【００８０】
そしてＦ１に示すＺバッファ１７６上のＺ値（ＯＢの元々のＺ値）に対して、Ｆ２で読み出されたＺオフセット値がＦ３に示すように加算（減算）される。これにより、Ｆ４に示すようにオブジェクトＯＢの元々のＺ値に対してＺオフセット値が加算（減算）されたＺ値（Ｚプレーン）が生成される。そしてオブジェクトＯＢ（ポリゴン）についての隠面消去処理（Ｚ値に基づく前後判定処理）は、Ｆ４に示すＺオフセット値加算（減算）後のＺ値に基づいて行われる。
【００８１】
例えばＺテクスチャマッピングを用いない場合には、パーツオブジェクトＰＯＢ１、ＰＯＢ２間の交差境界線はＦ５に示すように直線になる。これに対してＺテクスチャマッピングを用いれば、図１５（Ｃ）のＦ６に示すようにＰ０Ｂ１、ＰＯＢ２間の交差境界線に微少な起伏を持たせることが可能になる。本実施形態ではこのＺテクスチャマッピング手法を用いて、パーツオブジェクトの微少な凹凸形状を表現したり、パーツオブジェクトの凸形状自体を表現する。
【００８２】
例えば図１６（Ａ）では、パーツオブジェクトＰＯＢとして、画像が描かれる表示面側に凸部が形成される凸形状のオブジェクトを採用している。そしてこの凸形状のパーツオブジェクトＰＯＢに対して、ピクセル単位でＰＯＢの表示面に凹凸形状を設定するためのＺテクスチャをマッピングする。このようにすることで、仮想的な凹凸形状ＶＺＳがパーツオブジェクトＰＯＢに対して設定される。即ちパーツオブジェクトＰＯＢに対応するＺバッファ１７６上の領域には、ピクセル単位で視線方向に凹凸をつける仮想的なＺ値が設定される。
【００８３】
そしてパーツオブジェクトＰＯＢについての隠面消去処理（他のパーツオブジェクトとの間の隠面消去処理）は、この仮想的なＺ値（形状ＶＺＳ）に基づいて行われる。従って図９（Ｂ）のＣ１に示すＰＯＢ１、ＰＯＢ２間の交差境界線に更に細かな起伏がつくようになる。この結果、仮想カメラＶＣの位置や回転角度が変化した場合にも、ＰＯＢ１、ＰＯＢ２の前後関係をピクセル単位で細かに入れ替えることが可能になり、より自然でリアルな画像を生成できる。
【００８４】
なお図１６（Ｂ）に示すように、パーツオブジェクトＰＯＢとして平板状のオブジェクト（ポリゴン）を使用し、ＰＯＢの表示面側に仮想的な凸形状ＶＺＳ（図１６（Ａ）のＰＯＢの凸形状と同様の凸形状）を形成するためのＺテクスチャを、ＰＯＢにマッピングしてもよい。このようにすれば、パーツオブジェクトＰＯＢとして単純な形状のものを使用でき、プリミティブ面の数を更に減少できる。
【００８５】
また図１６（Ｃ）に示すように、平板状のパーツオブジェクトＰＯＢに対して、大きな凸形状のみならずピクセル単位の微少な凹凸形状を設定するためのＺテクスチャをマッピングしてもよい。このようにすれば、少ないプリミティブ面数で更にリアルな画像を生成できる。
【００８６】
なお図１６（Ａ）の手法は、図１６（Ｂ）（Ｃ）の手法に比べて、プリミティブ面数が多くなる。しかしながら、光源を用いたシェーディング処理（陰影づけ）については、パーツオブジェクトＰＯＢの凸形状が反映されるようになるため、リアルに陰影づけされた画像を生成できる。但し図１６（Ｂ）（Ｃ）の手法でも、各テクセルに法線情報が設定された法線テクスチャを用いれば、シェーディング処理についてもリアルな表現が可能になる。
【００８７】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１７のフローチャートを用いて説明する。
【００８８】
まず仮想カメラＶＣの位置（ＣＸ、ＣＹ、ＣＺ）、各座標軸回りの回転角度（θＸ、θＹ、θＺ）を設定する（ステップＳ１）。例えば仮想カメラＶＣが飛行機、車などの移動オブジェクトに追従する場合には、移動オブジェクトの位置や回転角度により、仮想カメラＶＣの位置や回転角度を設定できる。また仮想カメラＶＣが所定の軌道上を移動する場合には、仮想カメラデータに基づいて仮想カメラの位置や回転角度を設定できる。
【００８９】
次に変数ｉを１に設定する（ステップＳ２）。そしてｉ番目の枝パーツオブジェクトＰＯＢｉのオブジェクトデータを読み出し、ＰＯＢｉが仮想カメラＶＣの方に向くように、ＶＣの回転角度（θＸ、θＹ、θＺ）に基づいて、ＰＯＢｉの回転角度をワールド座標系に変換する（ステップＳ３）。これにより図５（Ａ）（Ｂ）、図８（Ａ）（Ｂ）に示すようなパーツオブジェクトの回転処理を実現できる。なお図１８にオブジェクトデータの例を示す。このオブジェクトデータは、各枝パーツオブジェクトＰＯＢｉのローカル座標系での位置Ｘｉ、Ｙｉ、Ｚｉ、回転角度θＸｉ、θＹｉ、θＺｉ、オブジェクト番号を有する。
【００９０】
次に枝パーツオブジェクトＰＯＢｉの位置（オブジェクトデータに含まれる位置）をワールド座標系に変換する（ステップＳ４）。そして枝パーツオブジェクトＰＯＢｉに対して、カメラ座標（視点座標）変換、透視変換を行って、ＰＯＢｉを、Ｚバッファを用いた隠面消去処理を行いながら描画バッファに描画する（ステップＳ５）。そして変数ｉを「１」だけインクリメントする（ステップＳ６）。
【００９１】
次に、ｉがＮ（枝パーツオブジェクトの個数）より大きいか否かを判断し（ステップＳ７）、ｉ≦Ｎである場合にはステップＳ３に戻る。一方、ｉ＞Ｎであれば、幹（柱状）パーツオブジェクトＣＯＢに対してワールド座標変換、カメラ座標変換、透視変換を行って、ＣＯＢを、Ｚバッファを用いた隠面消去処理を行いながら描画バッファに描画する（ステップＳ８）。これにより図６（Ｂ）、図７（Ｂ）等に示すような視界画像が生成される。
【００９２】
なお図１７では枝パーツオブジェクトを描画した後に幹パーツオブジェクトを描画しているが、幹パーツオブジェクトを描画した後に枝パーツオブジェクトを描画してもよい。
【００９３】
４．ハードウェア構成
図１９に本実施形態を実現できるハードウェア構成の例を示す。
【００９４】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【００９５】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９６】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９７】
データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード（伸長）処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００９８】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介して入力される。
【０１００】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする処理を行う。
【０１０１】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどがある。
【０１０２】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１０３】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１０４】
図２０（Ａ）に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、操作部１１０２を操作してゲームを楽しむ。内蔵されるシステムボード１１０６にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【０１０５】
図２０（Ｂ）に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９に格納される。
【０１０６】
図２０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２を介して接続される端末１３０４−１〜１３０４−ｎ（ゲーム機、携帯電話）とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置１３００の情報記憶媒体１３０６（ハードディスク、磁気テープ装置等）に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【０１０７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１０８】
例えば、明細書又は図面中の記載において広義や同義な用語（モデルオブジェクト、パーツオブジェクト、柱状パーツオブジェクト、オブジェクト、樹木等）として引用された用語（樹木、枝、幹、ポリゴン・プリミティブ面、植物等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１０９】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１１０】
またパーツオブジェクトの回転処理も本実施形態で説明した処理に限定されず種々の変形実施が可能である。
【０１１１】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）に適用できる。
【０１１２】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】図２（Ａ）（Ｂ）は平板状ポリゴンを用いる手法の説明図である。
【図３】図３（Ａ）（Ｂ）（Ｃ）はパーツオブジェクトの例である。
【図４】図４（Ａ）（Ｂ）は凸形状パーツオブジェクトを用いる本実施形態の手法の説明図である。
【図５】図５（Ａ）（Ｂ）はＹ軸回りの回転処理についての説明図である。
【図６】図６（Ａ）（Ｂ）は仮想カメラがＹ軸回りで回転した場合の画像例である。
【図７】図７（Ａ）（Ｂ）は仮想カメラがＹ軸回りで回転した場合の画像例である。
【図８】図８（Ａ）（Ｂ）はＸ軸回りの回転処理についての説明図である。
【図９】図９（Ａ）（Ｂ）は仮想カメラがＸ軸回りで回転した場合の画像例である。
【図１０】図１０（Ａ）（Ｂ）は仮想カメラがＸ軸回りで回転した場合の画像例である。
【図１１】図１１（Ａ）（Ｂ）はモデルオブジェクトを多数のパーツオブジェクトで構成した場合の画像例である。
【図１２】図１２（Ａ）（Ｂ）はモデルオブジェクトを多数のパーツオブジェクトで構成した場合の画像例である。
【図１３】テクスチャマッピング後の画像の例である。
【図１４】パーツオブジェクトの配置間隔についての説明図である。
【図１５】図１５（Ａ）（Ｂ）はＺテクスチャマッピングの説明図である。
【図１６】図１６（Ａ）（Ｂ）（Ｃ）はＺテクスチャマッピングを利用して全体的な凸形状や微少な凹凸形状を表現する手法の説明図である。
【図１７】本実施形態の処理のフローチャート例である。
【図１８】オブジェクトデータの例である。
【図１９】ハードウェア構成例である。
【図２０】図２０（Ａ）（Ｂ）（Ｃ）は種々の形態のシステム例である。
【符号の説明】
ＭＯＢ  モデルオブジェクト、ＰＯＢ１、ＰＯＢ２  パーツオブジェクト、
ＰＶ、ＰＶ１、ＰＶ２  凸部（頂点）、ＶＣ  仮想カメラ、
ＣＯＢ  柱状パーツオブジェクト、
１００  処理部、１１０  オブジェクト空間設定部、
１１２  仮想カメラ制御部、１２０  画像生成部、１２２  隠面消去部、
１２４  テクスチャマッピング部、１３０  音生成部、１６０  操作部、
１７０  記憶部、１７２  オブジェクトデータ記憶部、１７４  描画バッファ、
１７６  Ｚバッファ、１７８  テクスチャ記憶部、
１８０  情報記憶媒体、１９０  表示部
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2004298375.tif 000003
【図２】
2004298375.tif 000004
【図３】
2004298375.tif 000005
【図４】
2004298375.tif 000006
【図５】
2004298375.tif 000007
【図６】
2004298375.tif 000008
【図７】
2004298375.tif 000009
【図８】
2004298375.tif 000010
【図９】
2004298375.tif 000011
【図１０】
2004298375.tif 000012
【図１１】
2004298375.tif 000013
【図１２】
2004298375.tif 000014
【図１３】
2004298375.tif 000015
【図１４】
2004298375.tif 000016
【図１５】
2004298375.tif 000017
【図１６】
2004298375.tif 000018
【図１７】
2004298375.tif 000019
【図１８】
2004298375.tif 000020
【図１９】
2004298375.tif 000021
【図２０】
2004298375.tif 000022