(57)【特許請求の範囲】
【請求項１】
コンピュータを、所与の視点に基づくゲーム空間の画像を生成する手段として機能させるためのプログラムであって、
前記ゲーム空間内の所与の平面領域の境界を設定する設定手段、
前記境界の一部又は全部を一辺とし、前記平面領域内の内側方向に所与の幅を有するラインオブジェクトを配置する配置手段、
前記一辺を固定辺として前記ラインオブジェクトの幅を可変する幅可変手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
請求項１において、
前記幅可変手段が、前記ラインオブジェクトの一端と他端の幅を各々可変とするように前記コンピュータを機能させるためのプログラム。
【請求項３】
請求項１又は２において、
前記幅可変手段が、前記視点の位置、俯角、視線方向、及び画角の内、少なくとも１つに基づいて、幅を可変とするように前記コンピュータを機能させるためのプログラム。
【請求項４】
請求項１〜３の何れかにおいて、
前記幅可変手段が、前記視点と前記平面領域との間の距離、及び／又は、前記視点と前記ラインオブジェクトとの間の距離に基づいて、幅を可変とするように前記コンピュータを機能させるためのプログラム。
【請求項５】
請求項１〜４の何れかにおいて、
前記幅可変手段が、ゲームの再現画像の生成の際に作用するように前記コンピュータを機能させるためのプログラム。
【請求項６】
請求項１〜５の何れかにおいて、
前記一辺を固定辺として、前記ラインオブジェクトを所与の角度傾斜させる傾斜手段、として前記コンピュータを更に機能させるためのプログラム。
【請求項７】
請求項１〜６の何れかに記載のプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体。
【請求項８】
所与の視点に基づくゲーム空間の画像を生成する手段を備えるゲーム装置であって、
前記ゲーム空間内の所与の平面領域の境界を設定する設定手段と、
前記境界の一部又は全部を一辺とし、前記平面領域の内側方向に所与の幅を有するラインオブジェクトを配置する配置手段と、
前記一辺を固定辺として前記幅を可変する幅可変手段と、
を備えるゲーム装置。
【請求項９】
請求項８において、
前記幅可変手段は、前記ラインオブジェクトの一端と他端の幅を各々可変とするゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム、ゲーム装置、及び情報記憶媒体に関する。
【０００２】
【発明の背景】
従来、例えばテニスゲームなどの球技ゲームにおいて、３次元のゲーム空間に設定されたコート（所定領域）内で、相互にボールのやり取りを行うゲームがある。このようなゲームにおいては、仮想カメラの視線方向によって、コートを形成するライン（白線）が見えにくくなったり、或いは消失してしまうといった問題があった。
これは、主に仮想カメラの視線方向と、ラインを表現するポリゴン（ラインポリゴン）の法線ベクトルとが垂直に近づくほど顕著に起こる現象である。更に、仮想カメラとラインの距離とが離れることでも、上記現象が起こり得る。
そこで、本発明は、上記問題を解決するために為されるものである。
【０００３】
【課題を解決するための手段】
以上の課題を解決するための第１の発明は、コンピュータを、所与の視点（例えば、図１の仮想カメラ２０）に基づくゲーム空間の画像を生成する手段として機能させるためのプログラムであって、前記ゲーム空間内の所与の平面領域の境界（例えば、図１のテニスコート１０）を設定する設定手段（例えば、図１０のゲーム演算部４１０）、前記境界の一部又は全部を一辺とし、前記平面領域内の内側方向に所与の幅を有するラインオブジェクト（例えば、図２のラインオブジェクト１〜９）を配置する配置手段（例えば、図１０のゲーム演算部４１０）、前記一辺を固定辺として前記ラインオブジェクトの幅を可変する幅可変手段（例えば、図１０の頂点座標変更部４１２）、として前記コンピュータを機能させるためのプログラムである。
【０００４】
また、第８の発明は、所与の視点（例えば、図１の仮想カメラ２０）に基づくゲーム空間の画像を生成する手段を備えるゲーム装置（例えば、図１０のゲーム装置１００）であって、前記ゲーム空間内の所与の平面領域の境界（例えば、図１のテニスコート１０）を設定する設定手段（例えば、図１０のゲーム演算部４１０）と、前記境界の一部又は全部を一辺とし、前記平面領域の内側方向に所与の幅を有するラインオブジェクト（例えば、図２のラインオブジェクト１〜９）を配置する配置手段（例えば、図１０のゲーム演算部４１０）と、前記一辺を固定辺として前記幅を可変する幅可変手段（例えば、図１０の頂点座標変更部４１２）と、を備えるものである。
【０００５】
この第１又は第８の発明によれば、ゲーム空間内に設定された、所与の平面領域の境界の一部或いは全部を固定辺としたラインオブジェクトの幅を、変化させることができる。即ち、ラインオブジェクトの幅を大きくすることで、該ラインオブジェクトの法線ベクトルと視線方向（視線ベクトル）とが垂直に近づくに従い、ライン（白線）が見えにくくなったり、或いは消失してしまうといったことが防止可能となる。
また、ラインオブジェクトの幅の変化方向を平面領域の内側とすることで、設定されている平面領域を変化させず、ラインオブジェクトの幅の変更に起因する、ゲームの進行に与える影響をなくすことができる。
【０００６】
第２の発明は、第１の発明のプログラムにおいて、前記幅可変手段が、前記ラインオブジェクトの一端と他端の幅を各々可変とするように前記コンピュータを機能させるためのプログラムである。
【０００７】
また、第９の発明は、第８の発明のゲーム装置において、前記幅可変手段は、前記ラインオブジェクトの一端と他端の幅を各々可変とするものである。
【０００８】
この第２又は第９の発明によれば、ラインオブジェクトの一端と他端の幅を各々可変とすることができる。即ち、より画面奥に位置する端の幅を大きくすることで、ライン（白線）が見えにくくなったり、或いは消失してしまうといったことが防止可能となる。
【０００９】
第３の発明は、第１又は第２の発明のプログラムにおいて、前記幅可変手段が、前記視点の位置、俯角、視線方向、及び画角の内、少なくとも１つに基づいて、幅を可変とするように前記コンピュータを機能させるためのプログラムである。
【００１０】
この第３の発明によれば、視点に係る種々の条件に基づいて、ラインオブジェクトの幅を変化させることができる。即ち、例えば視点の位置に基づき、平面領域からの高さが小さくなるにつれ、変化させる幅を大きくすることで、ライン（白線）が見えにくくなったり、或いは消失してしまうといったことが防止可能となる。
更に、視点の俯角、視線方向、或いは画角が小さくなるにつれ、変化させる幅を大きくすることでも、同様の効果を得ることができる。
【００１１】
第４の発明は、第１〜第３の何れかの発明のプログラムにおいて、前記幅可変手段が、前記視点と前記平面領域との間の距離、及び／又は、前記視点と前記ラインオブジェクトとの間の距離に基づいて、幅を可変とするように前記コンピュータを機能させるためのプログラムである。
【００１２】
この第４の発明によれば、視点と平面領域、或いはラインオブジェクトとの間の距離に基づいて、ラインオブジェクトの幅を変化させることができる。即ち、該距離が大きくなるにつれ変化させる幅を大きくすることで、ライン（白線）が見えにくくなったり、消失してしまうといったことが防止可能となる。
【００１３】
第５の発明は、第１〜第４の何れかの発明のプログラムにおいて、前記幅可変手段が、ゲームの再現画像の生成の際に作用するように前記コンピュータを機能させるためのプログラムである。
【００１４】
この第５の発明によれば、ゲームのリプレイ時に、ラインオブジェクトの幅を変化させることができる。
【００１５】
第６の発明は、第１〜第５の何れか発明のプログラムにおいて、前記一辺を固定辺として、前記ラインオブジェクトを所与の角度傾斜させる傾斜手段、として前記コンピュータを更に機能させるためのプログラムである。
【００１６】
この第６の発明によれば、前記一辺を固定辺として、ラインオブジェクトを所与の角度傾斜させることができる。即ち、ラインオブジェクトの法線ベクトルと、視線方向（視線ベクトル）と、を平行に近づけることで、ライン（白線）が見えにくくなったり、消失してしまうといったことが防止可能となる。
【００１７】
更に、第７の発明の情報記憶媒体のように、第１〜第６の何れかの発明のプログラムを記憶することとしてもよい。
【００１８】
この第７の発明によれば、第１〜第６の何れかの発明の効果を有する情報記憶媒体を実現することが可能となる。
【００１９】
【発明の実施の形態】
以下、図を参照して実施の形態を詳細に説明する。尚、以下では、テニスゲームを例にとって説明するが、本発明が適用されるものはこれに限られるものではない。
【００２０】
先ず、本発明の原理について、説明する。
本発明のテニスゲームにおいては、図１に示すように、ゲーム空間内にテニスコート１０、及び仮想カメラ２０が配置される。
尚、ここでゲーム空間とは、ワールド座標系、即ちＸＹＺ直交座標系で表現される仮想３次元空間のことである。そして、以下の説明においては、特に断らない限り、座標値はワールド座標系で表されているものとする。
【００２１】
図１は、ゲーム空間の一例を示す図である。
同図に示すように、テニスコート１０は、ゲーム空間のＸ−Ｚ平面上に、その長手方向（図中の左右方向）をＸ軸方向に、幅方向（図中の奥行き方向）をＺ軸方向に、そして高さ方向をＹ軸方向に、それぞれ一致するように設定される。
【００２２】
そして、このテニスコート１０上に、図示しない複数の選手オブジェクトやボールオブジェクト等が配置され、プレーヤ、或いはコンピュータによりその動作が指示・制御されることで、該テニスゲームは進行する。
【００２３】
仮想カメラ２０は、テニスコート１０の中心位置を注視点Ｆとして、該テニスコート１０のほぼ全体がその視野に入るような位置に配置されている。この時の仮想カメラ２０の位置を、初期位置Ｃ（ｃｘ、ｃｙ、ｃｚ）とする。
そして、仮想カメラ２０から見たゲーム空間の様子が、ゲーム画像として、ゲーム装置のディスプレイ等に表示されることになる。
【００２４】
また、テニスコート１０は、図２に示すように、複数のラインを組み合わせることによって、構成されている。
【００２５】
図２は、テニスコート１０をＹ軸方向から見た様子を示す平面図である。
図２に示すように、テニスコート１０は、２本のバックラインや２本のサイドライン等を含む、合計９本のラインにより、構成される。
これらの９本のラインは、それぞれに対応する１枚のポリゴン（以下、ラインポリゴン１〜９と表記する。）により表現される。つまり、９つのラインポリゴン１〜９が組み合わされて配置されることで、ゲーム空間には、図１に示すような、線引きされたテニスコート１０が形成されることになる。
【００２６】
また、これらのラインポリゴン１〜９は、何れも長方形の形状をなすポリゴンであり、その長さ及び幅は、図３に示すように与えられている。
【００２７】
図３は、ラインポリゴンの長さと幅の一例を示す図である。
同図によれば、ラインポリゴン１、２の長さはともに等しくＬ１であり、このＬ１は、テニスコート１０の幅方向の長さに相当する。また、ラインポリゴン３、４、７、８の長さはともに等しくＬ２であり、このＬ２は、テニスコート１０の長手方向の長さに相当する。そして、ラインポリゴン５、６の長さはともに等しくＬ３であり、ラインポリゴン９の長さはＬ４である。
一方、ラインポリゴン１〜９の幅は、全て等しくＷである。
【００２８】
図４は、ラインポリゴン１の一例を示す図である。
同図に示すように、ラインポリゴン１には、４つの頂点Ｐ１〜Ｐ４毎に、その座標値とともに、固定フラグ、及び移動方向が与えられている。
【００２９】
固定フラグとは、その頂点が移動可能であるか否かを示すものである。具体的には、移動可能であれば“ＯＦＦ”に、移動不可能であれば“ＯＮ”に、それぞれ設定される。
尚、ここで「頂点を移動させる」とは、その頂点の座標値を変更することを意味しており、以降においても同様である。つまり、座標値を変更することで、頂点を移動させることになる。
【００３０】
移動方向とは、その頂点が移動可能である場合、即ち固定フラグが“ＯＦＦ”となっている場合に、頂点を移動させる方向を示すものである。具体的には、Ｘ軸に沿った方向に移動させるのであれば“＋ｘ”或いは“−ｘ”に、Ｚ軸に沿った方向に移動させるのであれば“＋ｚ”或いは“−ｚ”に、それぞれ設定される。また、符号（＋、−）は、幅Ｗを増加させる場合に、その頂点を移動させる方向を示している。
【００３１】
例えば、移動方向が“＋ｘ”であれば、幅Ｗを増加させる場合には、その頂点を、Ｘ軸に沿って正方向に移動させることになり、反対に、移動方向が“−ｘ”であれば、Ｘ軸に沿って負方向に移動させることになる。
【００３２】
尚、固定フラグが“ＯＮ”である場合、即ちその頂点が移動不可能である場合には、移動方向は特に設定されない（図においては、“＊”と表記されている。）。
【００３３】
図において、頂点Ｐ１についてみれば、座標値は（ｘ１、ｙ１（＝０）、ｚ１）である。そして、固定フラグは“ＯＮ”であり、移動方向は特に設定されていない（“＊”と表記されている。）。また、頂点Ｐ２についてみれば、座標値は（ｘ２、ｙ２（＝０）、ｚ２）である。そして、頂点Ｐ１と同様に、固定フラグは“ＯＮ”であり、移動方向は特に設定されていない。
【００３４】
また、頂点Ｐ３についてみれば、座標値は（ｘ３、ｙ３（＝０）、ｚ３）である。そして、固定フラグは“ＯＦＦ”であり、移動方向は“＋ｘ”に設定されている。また、頂点Ｐ４についてみれば、座標値は（ｘ４、ｙ４（＝０）、ｚ４）である。そして、頂点Ｐ３と同様に、固定フラグは“ＯＦＦ”であり、移動方向は“＋ｘ”に設定されている。
【００３５】
即ち、ラインポリゴン１は、４つの頂点Ｐ１〜Ｐ４の内、頂点Ｐ３、Ｐ４のみが、移動可能である。そして、これらの頂点Ｐ３、Ｐ４を、Ｘ軸に沿って正方向に移動させることで、ラインポリゴン１は、その幅Ｗが増加することになる。また、その際には、幅Ｗのみが変更され、長さＬ１は特に変更されない。
【００３６】
図５は、ラインポリゴン９の一例を示す図である。
同図に示すように、ラインポリゴン９の４つの頂点Ｐ１〜Ｐ４は、何れも、固定フラグが“ＯＦＦ”である。また、その移動方向は、頂点Ｐ１、Ｐ２については“−ｚ”に、頂点Ｐ３、Ｐ４については“＋ｚ”に、それぞれ設定されている。
【００３７】
即ち、ラインポリゴン９は、４つの頂点Ｐ１〜Ｐ４の全てが移動可能である。そして、頂点Ｐ１、Ｐ２を、Ｚ軸に沿って正方向に、一方、頂点Ｐ３、Ｐ４を、Ｚ軸に沿って負方向に、それぞれ移動させることで、ラインポリゴン９は、その幅Ｗが増加することになる。また、その際には、上記ラインポリゴン１と同様に、幅Ｗのみが変更され、長さＬ４は特に変更されない。
【００３８】
また、ラインポリゴン２〜８についても、特に詳述しないが、上記ラインポリゴン１、９と同様の構成であり、４つの頂点Ｐ１〜４毎に、座標値、固定フラグ、そして移動方向が与えられている。
【００３９】
ここで、ラインポリゴン１〜９毎の、固定フラグ及び移動方向の与え方について、説明する。
【００４０】
図６は、ラインポリゴンの幅Ｗを変更する方向を説明する図である。
同図に示すように、ラインポリゴン１〜９は、それぞれに付されている矢印の方向に、その幅Ｗが増加するよう、変更される。これは、テニス・ルールに則り、ラインポリゴンの幅Ｗを変更することで、テニスコート１０のサイズ（大きさ）が不用意に変更されることを防ぐためである。
【００４１】
つまり、テニス・ルールに拠れば、ライン上はテニスコート１０内（ＩＮ）と判定される。そのため、ラインポリゴンの幅Ｗを変更することでテニスコート１０内と判定される領域が変化し、テニスゲームの進行に影響を与えてしまうという不具合を防ぐために、ラインポリゴン１〜９は、テニスコート１０の内側に向かってその幅Ｗが変更されるよう、固定フラグ、及び移動方向が与えられるのである。
更に、ラインポリゴン１〜９の長さＬ１〜Ｌ４が変更されないのも、同様の理由からである。
【００４２】
例えば、ラインポリゴン１についていえば、図中右方向に向かって、その幅Ｗが増加するよう、変更される。即ち、図４に示すように、頂点Ｐ１、Ｐ２を固定し、頂点Ｐ３、Ｐ４をＸ軸に沿って正方向に移動させることになる。
【００４３】
また、ラインポリゴン９についていえば、図中上方向及び下方向に向かって、その幅Ｗが増加するよう、変更される。即ち、図５に示すように、頂点Ｐ１、Ｐ２をＺ軸に沿って正方向に、頂点Ｐ３、Ｐ４をＺ軸に沿って負方向に、それぞれ移動させることになる。Ｐ１〜Ｐ４をＺ軸に沿って移動させることになる。
【００４４】
ところで、このようなラインポリゴン１〜９の頂点の移動、即ち幅Ｗの変更は、仮想カメラ２０の位置に基づくものである。続いて、ラインポリゴンの幅の変更と、仮想カメラ２０の位置との関係について、説明する。
【００４５】
図７は、変更後のラインポリゴンの一例を示す図であり、図４のラインポリゴン１に関する図である。
図７に示すように、変更後のラインポリゴン１は、頂点Ｐ３が頂点Ｐ３´に、また、頂点Ｐ４が頂点Ｐ４´に、それぞれ移動されている。但し、ここでの移動方向は、図において説明したように、何れもＸ軸に沿って正方向（図中右方向）である。
【００４６】
また、頂点Ｐ３´の座標値は（ｘ３＋Δｗ、ｙ３、ｚ３）であり、頂点Ｐ４´の座標値は（ｘ４＋Δｗ、ｙ４、ｚ４）である。
つまり、変更後、ラインポリゴン１の幅はＷ＋ΔＷであり、ΔＷだけ増加していることになる。但し、ΔＷ＞０、である。
尚、長さは変化しておらず、Ｌ１のままである。
【００４７】
ここで、ラインポリゴン１の幅の増加分ΔＷは、仮想カメラ２０の位置、詳細にはＸ−Ｚ平面からの高さｈの変化分Δｙに基づいて、決定される。概略的には、仮想カメラ２０の高さｈが小さくなるにつれ、ラインポリゴン１の幅Ｗが増加する。但し、仮想カメラ２０の位置ｈとは、仮想カメラ２０のＹ座標値に相当する。
【００４８】
図８は、仮想カメラ２０の位置の変化を説明するための図である。
同図に示すように、仮想カメラ２０の位置が、初期位置であるＣ（ｃｘ、ｃｙ、ｃｚ）から、Ｃ１（ｃｘ、ｃｙ−Δｙ、ｃｚ）に変化したとする。即ち、仮想カメラ２０の高さｈが、ｃｙからｃｙ−Δｙに、Δｙだけ小さくなった場合に相当する。但し、Δｙ＞０、である。
尚、この時、注視点Ｆは固定であるので、仮想カメラ２０の位置の変化に合わせて視線方向（視線ベクトル）も変化することになる。
【００４９】
そして、この仮想カメラ２０の高さｈの変化分Δｙに基づいて、ラインポリゴンの幅ＷがΔＷ（＞０）だけ増加するよう、ラインポリゴン１の頂点を移動させることになる。
勿論、ここで移動させる頂点は、図において説明したように、固定フラグが“ＯＦＦ”となっている頂点である。
【００５０】
ラインポリゴンの幅Ｗの増加分ΔＷは、次式により与えられる。
ΔＷ＝ｆ（Δｙ）                  ・・・（１）
式（１）によれば、ラインポリゴン１の幅Ｗの増加分ΔＷは、仮想カメラ２０の高さｈの変化分Δｙをパラメータとした関数ｆで、表現される。
【００５１】
この関数ｆは、どのような関数でも良いが、仮想カメラ２０の高さｈが低くなるにつれてラインポリゴン１の幅Ｗが増加する（即ち、ラインが太くなる）ことを表現するために、Δｙが増加するにつれてΔｗが増加する関数が望ましい。
そこで、この関数ｆとして、図９に示す関数ｆを採用する。
【００５２】
図９は、ΔｙとΔＷとの関係式の一例を示す図である。
同図によれば、式（１）は、次式となる。
【数１】
0003594915.tif 000002
但し、Ａは定数である。
つまり、０＜Δｙ＜ｙａ、の範囲で、ΔＷ＝Ａ×Δｙ、となる。また、Δｙ≦０、の範囲では、ΔＷ＝０、であり、ｙａ≦Δｙ、の範囲では、ΔＷ＝Ｗａ、である。
【００５３】
また、式（２）によれば、幅Ｗの増加分ΔＷには上限値（Ｗａ）がある。これは、ラインポリゴンの幅Ｗを増加させ、テニスコート１０全体に占める割合が大きくなり過ぎ、表示画像に対して不自然さを与えてしまうことを防止するためである。
【００５４】
このように、仮想カメラ２０の高さｈの、初期位置Ｃからの変化分Δｙに応じて、ラインポリゴン１の幅ＷがΔＷだけ増加するよう、各頂点（詳細には、頂点Ｐ３、Ｐ４）を移動させることになる。
【００５５】
また、ラインポリゴン２〜９についても同様に、仮想カメラ２０の高さｈの、初期位置Ｃからの変化分Δｙに応じて、各頂点Ｐ１〜Ｐ４を、それぞれの移動方向に従い、ΔＷだけ移動させる。つまり、仮想カメラ２０の位置の変化に応じて、全てのラインポリゴン１〜９の幅Ｗが、一律にΔＷだけ増加するよう、変更されるのである。
【００５６】
尚、以上の説明においては、主にラインポリゴン１〜９の幅Ｗを増加させる場合について説明したが、減少させる場合についても同様である。
その際には、各頂点Ｐ１〜Ｐ４を移動させる方向は、その頂点に与えられている移動方向と反対の方向、例えば“＋ｘ”と設定されている場合にはＸ軸に沿って負方向となる。
【００５７】
図１０は、本発明を適用したゲーム装置１００の機能ブロックの一例を示す図である。
同図に示すように、機能ブロックは、入力部２００、表示部３００、処理部４００、記憶部５００、及び一時記憶部６００より構成される。
【００５８】
入力部２００は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筐体などのハードウェアにより実現できる。そして、ボタン押下等の操作がされた場合には、その操作信号を処理部４００に出力する。
【００５９】
表示部３００は、画像生成部４２０により生成されたゲーム画像などを表示する。プレーヤは、表示部３００に表示されるゲーム画面を見ながら、入力部２００より、ゲーム進行に応じた操作データを入力する。
【００６０】
処理部４００は、ゲーム装置１００全体の制御、ゲーム装置１００内の各部への命令、ゲーム進行処理、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等）、或いはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアや、所与のプログラムにより実現できる。また、処理部４００には、ゲーム演算部４１０、及び画像生成部４２０が含まれる。
【００６１】
ゲーム演算部４１０は、ゲーム空間の構築処理、各キャラクタの位置や向き、移動の速度、進行方向等を求める処理、ゲーム空間における仮想カメラ２０の位置や、その視線方向を演算する処理、ストーリーの展開といったゲームの進行処理、種々のゲーム処理を、入力部２００からの操作信号や記憶部５００から読み出すゲームプログラム等に基づいて実行する。
【００６２】
そして、例えばゲーム演算部４１０は、一時記憶部６００に記憶されている変更後のラインポリゴンデータ６１０に基づいて、図１に示すように、ゲーム空間にラインポリゴン１〜９を配置し、テニスコート１０を形成する。
また、ゲーム演算部４１０には、仮想カメラ設定部４１１と、頂点座標変更部４１２と、が含まれる。
【００６３】
仮想カメラ設定部４１１は、ゲーム空間内の予め定められた初期位置Ｃに、仮想カメラ２０を配置する。また、位置や視線方向などの変更指示がなされた場合には、その変更指示に従い、仮想カメラ２０の配置位置などを変更する。尚、配置位置の変更とともに、注視点Ｆは変化しないよう、視線方向（視線ベクトル）の修正処理も行う。
【００６４】
頂点座標変更部４１２は、記憶部５００から読み出した頂点座標変更プログラム５３０に従い、頂点座標変更処理（図１２参照）を実行する。即ち、仮想カメラ設定部４１１によって仮想カメラ２０の位置が変更されると、その変更後の位置に基づいて、ラインポリゴン１〜９の各頂点Ｐ１〜Ｐ４の座標値を変更するとともに、変更後のラインポリゴンデータ６１０として、一時記憶部６００に記憶させる。
【００６５】
画像生成部４２０は、ゲーム演算部４１０により設定されたゲーム空間を、仮想カメラ２０に基づく画像として生成し、表示部３００へ出力する処理などを行う。
具体的には、前方／後方クリッピングを実行してビューボリュームを決定する処理、各ポリゴンに対する座標変換等のジオメトリ処理と、視点と光源に基づく輝度計算処理、色補間処理、陰面消去処理等のレンダリング処理を実行することによりゲーム画像を生成する。そして、生成したゲーム画像を画像データとして表示部３００に出力して表示させる。
【００６６】
そして、例えば画像生成部４２０は、一時記憶部６００の変更後のラインポリゴンデータ６１０に基づいて、ゲーム演算部４１０により、ゲーム空間にテニスコート１０が形成されたゲーム画像を生成する。
【００６７】
記憶部５００は、主にテニスゲームに係るテニスゲームプログラム５１０と、ラインポリゴンデータ５２０と、仮想カメラ２０の初期位置Ｃ（不図示）と、頂点座標変更プログラム５３０と、を記憶する。また、その機能は、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、メモリ、ＨＤ等のハードウェアにより実現できる。
【００６８】
図１１は、ラインポリゴンデータ５２０の一例を示す図である。
同図に示すように、ラインポリゴンデータ５２０は、ラインポリゴン１〜９の４つの頂点Ｐ１〜Ｐ４毎に、その座標値と、固定フラグと、移動方向と、を対応付けて記憶する。ここでの座標値や固定フラグ、移動方向とは、図４において説明したとおりである。
【００６９】
一時記憶部６００は、処理部４００の作業領域として用いられる機能部であり、処理部４００による種々の処理結果とともに、例えば頂点座標変更部４１２による変更後のラインポリゴンデータ６１０などを記憶する。
【００７０】
変更後のラインポリゴンデータ６１０の構成は、図１１のラインポリゴンデータ５２０と同様の構成であり、頂点座標変更部４１２により、座標値のみが変更されたものである。
そして、この変更後のラインポリゴンデータ６１０を用いて、ゲーム演算部４１０により、ゲーム空間に、テニスコート１０が形成されることになる。
【００７１】
図１２は、頂点座標変更プログラム５３０に従って、頂点座標変更部４１２により実行される頂点座標変更処理を説明するためのフローチャートである。また、この頂点座標変更処理は、仮想カメラ設定部４１１による仮想カメラの配置位置の変化に応じて、実行される処理である。
【００７２】
図１２において、先ず頂点座標変更部４１２は、仮想カメラ設定部４１１による仮想カメラ２０の変化後の位置Ｃ１と、予め定められている（記憶部５００に記憶されている）初期位置Ｃと、から、仮想カメラ２０の高さの変化分Δｙを求める（ステップＳ１１）。
【００７３】
そして、求めたΔｙに基づき、式（１）に従って、幅Ｗの増加分ΔＷを求める（ステップＳ１２）。
【００７４】
次いで、ポリゴンデータを参照し、全てのラインポリゴン１〜９について、各頂点Ｐ１〜Ｐ４の座標値を変更する。具体的には、固定フラグが“ＯＦＦ”となっている頂点についてのみ、設定されている移動方向に頂点が移動するよう、座標値を変更する。
【００７５】
例えば、ラインポリゴン１についていえば、頂点Ｐ３、Ｐ４をＸ軸に沿って正方向に移動させるよう、その頂点のＹ座標値を、それぞれΔＷだけ加算した値に変更する。即ち、図７に示すように、頂点Ｐ３（ｘ３、ｙ３、ｚ３）を頂点Ｐ３´（ｘ３＋ΔＷ、ｙ３、ｚ３）に、頂点Ｐ４（ｘ４＋ΔＷ、ｙ４、ｚ４）に、それぞれ変更することになる。
【００７６】
ポリゴンライン１〜９の全てについて、移動可能な頂点の座標値を変更すると、頂点座標変更部４１２は、変更後の頂点座標値を、変更後のラインポリゴンデータ６１０として一時記憶部６００に記憶させる（ステップＳ１３）。
【００７７】
すると、画像生成部４２０は、変更後のラインポリゴンデータ６１０に基づいたテニスコート１０を含むゲーム画像を生成し、表示部３００に表示させることになる。
【００７８】
以上の処理を行うと、頂点座標変更部４１２は、本処理を終了する。
【００７９】
次に、ゲーム装置１００を実現できるハードウェアの構成の一例について、図１３を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ入出力可能に接続されている。そして、画像生成ＩＣ１０１０には表示装置１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００８０】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものであり、図１０の記憶部５００に相当するものである。例えば家庭用ゲーム装置では、ゲームプログラム等を格納する情報記憶媒体１００６として、ＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられ、変更後のラインポリゴンデータ６１０を格納する情報記憶媒体１００６として、メモリカードなどが用いられる。また、パーソナルコンピュータでは、ＣＤ−ＲＯＭ、ＤＶＤ、ハードディスクなどが用いられる。また、業務用ゲーム装置では、ＲＯＭ等のハードディスクが用いられ、この場合には、情報記憶媒体１００６はＲＯＭ１００２になる。
【００８１】
コントロール装置１０２２は、ゲームコントローラ、操作パネル等に相当するものであり、ユーザがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。このコントロール装置１０２２は、図１０の入力部２００に相当する。
【００８２】
情報記憶媒体１００６に格納されるプログラムやデータ、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は、装置全体の制御や各種データ処理を行う。
【００８３】
ＲＡＭ１００４は、このＣＰＵ１０００の作業領域として用いられる記憶手段であり、１フレーム分の画像データやプレイデータが一時的に格納されたり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、或いはＣＰＵ１０００の演算結果等が格納される。また、このＲＡＭ１００４は、図１０の一時記憶部６００に相当する。
【００８４】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。
【００８５】
音生成ＩＣ１００８は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。
【００８６】
また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいて表示装置１０１８に出力するための画素情報を生成する集積回路である。また表示装置１０１８は、ＣＲＴやＬＣＤ、ＴＶ、プラズマディスプレイ、プロジェクタ等により実現され、図１０の表示部３００に相当する。
【００８７】
また通信装置１０２４は、ゲーム装置１００内部で利用する各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラム５１０に応じた所与の情報を送受したり、所与の通信回線を介してゲームプログラム５１０等の情報を送受することなどに利用される。
【００８８】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。この場合には、ＣＰＵ１０００が、処理部４００に該当することとなる。
【００８９】
次に、図１４（ａ）に、本実施形態を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明を実行するための情報（プログラム、データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【００９０】
図１４（ｂ）に、本実施形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ（ＤＶＤ）１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【００９１】
更に、本実施形態のゲーム装置１００を実現する具体例として、上記業務用ゲーム装置、或いは家庭用ゲーム装置に限ることなく、例えば、携帯用ゲーム装置、パーソナルコンピュータ、携帯端末（携帯電話機を含む）、キオスク端末などに適用することも勿論可能である。
【００９２】
尚、本発明は、上記実施の形態に限ることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００９３】
例えば、ラインポリゴンの幅Ｗの変更を、仮想カメラ２０の高さｈの変化分Δｙに基づくものとしたが、仮想カメラ２０に係る他のパラメータ、例えば俯角や画角、視線方向（視線ベクトル）の変化分に基づくものとしても良い。
即ち、例えば俯角の変化分に基づく場合には、図１５に示すように、俯角θの変化分Δθに基づき、ラインポリゴンの幅Ｗの増加分ΔＷを決定する。その際には、式（１）として、次式を採用する。
ΔＷ＝ｆ１（Δθ）        ・・・（３）
【００９４】
また、ラインポリゴンの幅Ｗの変更を、仮想カメラ２０とテニスコート１０との間の距離に基づくものとしても良い。即ち、例えばテニスコート１０の代表点をテニスコート１０中央とし、該代表点と、仮想カメラ２０の代表点との距離Ｄに基づき、ラインポリゴンの幅Ｗの増加分ΔＷを決定する。その際には、式（１）として、次式を採用する。
ΔＷ＝ｆ２（Ｄ）        ・・・（４）
【００９５】
更に、ラインポリゴン毎に、仮想カメラ２０との間の距離に基づくものとしても良い。即ち、例えばラインポリゴンの代表点をその中央とし、該代表点と、仮想カメラ２０の代表点との距離Ｄｎに基づいて、ラインポリゴンの幅Ｗの増加分ΔＷを決定する。その際には、式（１）として、次式を採用する。
ΔＷ＝ｆ（Ｄｎ）        ・・・（５）
【００９６】
また、上記実施形態においては、ラインポリゴンの幅Ｗを増加させるため、各頂点を移動させる距離は全て等しいこととしたが、各頂点毎に異なることとしても良い。即ち、頂点Ｐ１〜Ｐ４毎に、移動分ΔＷ１〜ΔＷ４を決定する。その際には、式（１）として、次式を採用する。
ΔＷｎ＝ｆｎ（Δｙ）        ・・・（６）
但し、ｎ＝１〜４、である。
【００９７】
また、テニスコート１０を形成するラインポリゴンの構成は、図２に示す例に限られず、必ずしも、一のラインに対して一のラインポリゴンを対応させなくても構わない。即ち、例えばラインポリゴン９を、図１６に示すように、等しい幅Ｗ´（＝Ｗ／２）を有する２つのラインポリゴン９ａ、９ｂを合わせた構成とする。
【００９８】
この時、ラインポリゴン９ａの頂点Ｐ１ａは頂点Ｐ１に、頂点Ｐ２ａは頂点Ｐ２に、ラインポリゴン９ｂの頂点Ｐ３ｂは頂点Ｐ３に、頂点Ｐ４ｂは頂点Ｐ４に、それぞれ相当する。また、ラインポリゴン９ａの頂点Ｐ３ａ、頂点Ｐ４ａは、それぞれ、ラインポリゴン９ｂの頂点Ｐ２ｂ、頂点Ｐ１ｂに一致する。
そして、頂点Ｐ４ａ、Ｐ３ａ、Ｐ１ｂ、Ｐ３ｂを移動不可能（固定フラグを“ＯＮ”）とし、頂点Ｐ１ａ、Ｐ２ａを図中上方向に、頂点Ｐ３ｂ、Ｐ４ｂを図中した方向に、それぞれ移動させることとする。
【００９９】
また、ラインポリゴンの各頂点を、Ｘ軸或いはＺ軸に沿った方向のみに移動させるのではなく、任意の方向、例えばＹ軸に沿った方向に移動させることとしても良い。
即ち、例えば４つの頂点Ｐ１〜Ｐ４の位置関係（奥／手前）を判定し、仮想カメラ２０の視線方向（視線ベクトル）と、ラインポリゴンの法線ベクトルとが平行に近づくよう、奥に位置する頂点を、Ｙ軸に沿って正方向に移動させればよい。
【０１００】
また、以上のようなラインポリゴンの幅Ｗの変更を、例えばリプレイ時など、仮想カメラの位置や視線方向が任意に変化する場合に、その変化に応じて適用することとしても良い。更に、このような仮想カメラの位置や視線方向の変化は、入力部２００を介するプレーヤの指示に基づくこととしても良い。
【０１０１】
更に、本発明は、上記テニスゲームに限定されることなく、コートやグラウンドに線引きされるサッカーゲームや野球ゲーム等、種々のゲームにも、適用可能なのは勿論である。
【０１０２】
【発明の効果】
本発明によれば、ゲーム空間内に設定された、所与の平面領域の境界の一部或いは全部を固定辺としたラインオブジェクトの幅を大きくすることで、該ラインオブジェクトの法線ベクトルと視線方向（視線ベクトル）とが垂直に近づくに従い、ライン（白線）が見えにくくなったり、或いは消失してしまうといったことが防止可能となる。
また、ラインオブジェクトの幅の変化方向を平面領域の内側とすることで、設定されている平面領域を変化させず、ラインオブジェクトの幅の変更に起因する、ゲームの進行に与える影響をなくすことができる。
更に、ラインオブジェクトの幅の変更を、視点の位置（例えば、平面領域からの高さ）や、該視点と平面領域、或いはラインオブジェクトとの間の距離等の様々な条件に基づいて決定することで、例えばリプレイ時などの状況に応じて、ライン（白線）が見やすいゲーム画面を表示させることが可能となる。
【図面の簡単な説明】
【図１】ゲーム空間の一例を示す図である。
【図２】テニスコートの一例を示す図である。
【図３】ラインポリゴンの幅と長さの一例を示す図である。
【図４】ラインポリゴン１の一例を示す図である。
【図５】ラインポリゴン９の一例を示す図である。
【図６】ラインポリゴンの幅Ｗの変更を説明する図である。
【図７】変更後のラインポリゴン１の一例を示す図である。
【図８】仮想カメラの位置の変化を説明する図である、
【図９】ΔＷとΔｙとの関係式の一例を示す図である。
【図１０】本実施形態における機能ブロックの一例を示す図である。
【図１１】ラインポリゴンデータの一例を示す図である。
【図１２】頂点座標変更処理を説明するフローチャートである。
【図１３】本実施形態におけるゲーム装置を実現できるハードウェア構成の一例を示す図である。
【図１４】本実施形態におけるゲーム装置の適用例を示す図である。
【図１５】仮想カメラの俯角θの変化を説明する図である。
【図１６】ラインポリゴン９の変形例を示す図である。
【符号の説明】
１０  テニスコート
１〜９  ラインポリゴン
Ｐ１、Ｐ２、Ｐ３、Ｐ４  頂点
２０  仮想カメラ
１００  ゲーム装置
２００  入力部
３００  表示部
４００  処理部
４１０  ゲーム演算部
４１１  仮想カメラ設定部
４１２  頂点座標変更部
４２０  画像生成部
５００  記憶部
５１０  テニスゲームプログラム
５２０  ラインポリゴンデータ
５３０  頂点座標変更プログラム
６００  一時記憶部
６１０  変更後のラインポリゴンデータ
【図１】
0003594915.tif 000003
【図２】
0003594915.tif 000004
【図３】
0003594915.tif 000005
【図４】
0003594915.tif 000006
【図５】
0003594915.tif 000007
【図６】
0003594915.tif 000008
【図７】
0003594915.tif 000009
【図８】
0003594915.tif 000010
【図９】
0003594915.tif 000011
【図１０】
0003594915.tif 000012
【図１１】
0003594915.tif 000013
【図１２】
0003594915.tif 000014
【図１３】
0003594915.tif 000015
【図１４】
0003594915.tif 000016
【図１５】
0003594915.tif 000017
【図１６】
0003594915.tif 000018