(57)【特許請求の範囲】
【請求項１】
接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより、仮想空間中の被操作物を操作するゲーム装置であって、
前記実操作物の実空間内における位置（以下、実位置という）を検出する位置検出手段と、
前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出手段と、
前記実操作物の実位置を仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換手段と、
前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出手段と、
前記位置検出手段による前記実操作物の実位置の検出と、前記傾き検出手段による前記実操作物の実傾き角の検出と、前記変換手段による前記仮想接触部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御手段と、を備え、
前記仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応し、
前記動作位置算出手段は、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する、
ゲーム装置。
【請求項２】
前記仮想動作部を表示する表示手段と、
前記仮想動作部の仮想位置に基づいて、前記表示手段における前記仮想動作部の表示位置を決定する位置決定手段と、をさらに備え
前記制御手段は、前記位置検出手段による前記実操作物の実位置の検出と、前記変換手段による前記仮想接触部の仮想位置の算出と、前記動作位置算出手段による前記仮想動作部の仮想位置の算出と、前記位置決定手段による前記仮想動作部の表示位置の決定とを繰り返し行い、前記実操作物の動きに追随して動く前記仮想動作部を前記表示手段に表示させる、
請求項１に記載のゲーム装置。
【請求項３】
前記実操作物及び前記仮想接触部は長物形状であり、
前記実操作物の長手方向の軸を中心とする回転方向に、前記実操作物が基準位置から回転した角度（以下、ひねり角という）を検出するひねり検出手段をさらに備え、
前記制御手段は、前記仮想接触部の長手方向の軸を中心とする回転方向に、前記ひねり角に応じた角度で前記仮想動作部が回転した姿勢での前記仮想動作部を前記表示手段に表示させる、
請求項２に記載のゲーム装置。
【請求項４】
前記ひねり検出手段は、前記実操作物に取り付けられた加速度センサから出力された信号に基づいて、前記実操作物のひねり角を算出する、請求項３に記載のゲーム装置。
【請求項５】
前記ゲーム装置はゴルフゲーム装置であり、
前記表示手段は、前記プレイヤーの足下の景色をさらに表示し、
前記プレイヤーがボールを打つ方向である前方の景色を表示するための前方表示手段をさらに備えている、請求項２に記載のゲーム装置。
【請求項６】
前記仮想接触部の仮想位置から算出される前記仮想プレイヤーの視点から見た足下の景色及び前方の景色を前記仮想空間に基づいて作成し、前記表示手段及び前記前方表示手段に表示させる表示調節手段と、
前記仮想空間に基づいて作成される足下景色よりも密な足下景色を記憶する足下景色記憶手段とをさらに備え、
前記表示調節手段は、前記仮想空間に基づいて作成される足下景色に代え、前記足下景色記憶手段に記憶されている足下景色を、前記表示手段に表示させる、
請求項５に記載のゲーム装置。
【請求項７】
前記仮想接触部の仮想位置から算出される前記仮想プレイヤーの視点（以下、仮想視点という）から見た足下の景色及び前方の景色を前記仮想空間に基づいて作成し、前記表示手段及び前記前方表示手段に表示させる表示調節手段と、
前記前方表示手段に表示する前方景色が遠景の場合と近景の場合とで、前記前方景色を見るための視点の位置を前記仮想視点から変化させる視点調整手段と、
をさらに備える、請求項５に記載のゲーム装置。
【請求項８】
前記位置検出手段は、
前記実操作物に取り付けられた発光手段または光反射手段からの光を検出する少なくとも一対の光検出手段と、
検出した光に基づいて、前記発光手段または光反射手段の位置を測定し、測定結果を前記変換手段に出力する測定手段と、
を含んでいる、請求項１に記載のゲーム装置。
【請求項９】
前記傾き検出手段は、前記実操作物に取り付けられた加速度センサから出力された信号に基づいて、前記実操作物の実傾き角を算出する、請求項１に記載のゲーム装置。
【請求項１０】
所定時間間隔ΔT1の間に算出された前記仮想動作部の仮想位置を記憶する軌跡記憶手段と、
前記軌跡記憶手段に記憶されている前記仮想動作部の最新の仮想位置が、前記仮想空間内の被操作物を含む当たりエリア内であるか否かを判定するエリア判定手段と、
前記仮想動作部の最新の仮想位置が前記当たりエリア内である場合、前記仮想動作部が過去にさかのぼって規定滞在時間Ｔｓ以上連続して前記当たりエリアに滞在しているか否かを、前記軌跡記憶手段に記憶されている仮想位置を参照して判定する滞在判定手段と、
前記仮想動作部が前記規定滞在時間Ｔｓ以上連続して前記当たりエリアに滞在している場合、前記プレイヤーが狙いを付けていると判定する狙い判定手段と、
をさらに備える請求項１に記載のゲーム装置。
【請求項１１】
前記プレイヤーが狙いをつけていると判定した後、前記当たりエリアを前記仮想動作部が通過したか否かを判定する通過判定手段と、
前記仮想動作部が前記当たりエリアを通過した場合、通過時間が規定通過時間Ｔｐ以下か否かを判定する速度判定手段と、
前記通過時間が規定通過時間Ｔｐ以下の場合、前記仮想動作部が前記被操作物を動かしたと判断する操作判定手段と、
をさらに備える、請求項１０に記載のゲーム装置。
【請求項１２】
前記操作判定手段が前記プレイヤーは前記被操作物を動かしたと判断した場合、前記当たりエリア内の前記仮想動作部の軌跡を前記軌跡記憶手段から決定する軌跡判定手段と、
前記仮想動作部の軌跡に基づいて前記被操作物が動いた軌跡を算出する軌跡算出手段と、
をさらに備える、請求項１１に記載のゲーム装置。
【請求項１３】
前記実操作物及び前記仮想接触部は長物形状であり、
前記実操作物の長手方向の軸を中心とする回転方向に、前記実操作物が基準位置から回転したひねり角を検出するひねり検出手段と、
前記操作判定手段が前記プレイヤーは前記被操作物を動かしたと判断した場合、前記当たりエリア内の前記仮想動作部の軌跡を前記軌跡記憶手段から決定する軌跡判定手段と、
前記仮想動作部の軌跡と前記ひねり角とに基づいて、前記被操作物が動いた軌跡を算出する軌跡算出手段と、
をさらに備える、請求項１１に記載のゲーム装置。
【請求項１４】
前記操作判定手段は、前記仮想動作部の軌跡と前記被操作物との距離が規定ずれ範囲内かつ前記通過時間が規定通過時間Ｔｐ以下の場合、前記プレイヤーが前記被操作物を動かしたと判断する、
請求項１１に記載のゲーム装置。
【請求項１５】
接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより仮想空間中の被操作物を操作するゲーム装置が実行するゲーム方法であって、
実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出ステップと、
前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出ステップと、
前記実操作物の実位置を前記仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換ステップと、
前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出ステップと、
前記位置検出ステップによる前記実操作物の実位置の検出と、前記傾き検出ステップによる前記実操作物の実傾き角の検出と、前記変換ステップによる前記仮想接触部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御ステップと、を含み、
前記仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応し、
前記動作位置算出ステップは、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する、
を含むゲーム方法。
【請求項１６】
接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより仮想空間中の被操作物を操作するゲーム装置としてコンピュータを機能させるゲームプログラムであって、
実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出手段、
前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出手段、
前記実操作物の実位置を仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換手段、
前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出手段、及び
前記位置検出手段による前記実操作物の実位置の検出と、前記傾き検出手段による前記実操作物の実傾き角の検出と、前記変換手段による前記仮想接触部の仮想位置の算出と、前記動作位置算出手段による前記仮想動作部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御手段、として前記コンピュータを機能させるゲームプログラムであり、
前記仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応し、
前記動作位置算出手段は、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する、
ゲームプログラム。
【請求項１７】
接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより仮想空間中の被操作物を操作するゲームシステムであって、
前記実操作物と、
前記実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出手段と、
前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出手段と、
前記実操作物の実位置を仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換手段と、
前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出手段と、
前記位置検出手段による前記実操作物の実位置の検出と、前記傾き検出手段による前記実操作物の実傾き角の検出と、前記変換手段による前記仮想接触部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御手段と、を備え、
前記仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応し、
前記動作位置算出手段は、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する、
ゲームシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プレイヤーが操作する実操作物のゲーム空間内での置換物である仮想操作物を操作するゲームシステムに関する。
【０００２】
【従来の技術】
ゴルフゲームを例に取れば、従来から提供されている家庭用ゴルフゲームや業務用ゴルフゲームの多くは、ゲーム空間内のオブジェクトのスイング動作をボタンやバーの操作で行っている。しかし、ボタンやバーによるオブジェクトの操作は、今ひとつリアリティに欠ける嫌いがあり、ゴルフ本来の面白さを完全に体現することができない。そのため、ゲームを好んで行うゲームユーザに客層が偏りがちである。そもそも、ボタンやバーには、予めゲーム空間内のオブジェクトをどの方向にどれだけ動かすかというコマンドが対応付けられている。従って、ボタンやバーによって操作されるオブジェクトの動きは、予めゲーム側で決められた動作パターンの組み合わせに過ぎない。
【０００３】
一方、ゴルフを行うユーザが手軽に練習できることを目的としたゴルフのシュミレーション装置なども提供されている。しかし、業務用ゴルフゲーム装置に用いるにはこれらの装置は設置面積が大きすぎ、また装置単体の単価が高く、採算が合わない。
【０００４】
【発明が解決しようとする課題】
より自然な入力操作を可能とするために、例えば特開平１０−２１４１５５号公報には、ゴルフクラブに模した入力装置の動きを検出することにより、ゴルフのスイング動作を入力可能な入力装置が開示されている。この入力装置は、ゴルフクラブを模した形状を有し、ヘッド内部に加速度センサが取り付けられている。加速度センサにより検知されるヘッドの加速度が一定以上であれば、ボールを打つプレイヤーの意思表示がされたと判断する。
【０００５】
しかし、ゴルフクラブを力一杯スイングするには、前後左右にかなりの空間の余裕が必要となるため、設置面積の増大を招く。その上、ゴルフクラブをスイングすることは、大勢の人が集まる遊技場では危険を伴う。また、違和感のないゴルフゲームをプレイヤーに体感させるためには、単に実際のスイングにより入力操作できるだけでは不十分である。例えば、ボールを打つ方向をねらいながらスイングするというゴルフ本来の面白さをプレイヤーに体感させるためには、目標方向をプレイヤーに与える視覚的要因が必要である。さらに、実際にコースを回る場合、プレイヤーは様々な種類のゴルフクラブの中から好みのクラブを選択して使用する。従って１種類のクラブだけではプレイヤーにとってはもの足りず、ゲーム好きなプレイヤー以外の一般ユーザを引きつけるに至らないと考えられる。
【０００６】
本発明は、プレイヤーがゲームの種類に応じたゲーム本来の面白みを体感でき、設置面積をとらず、危険の少ないゲームのための技術を提供することを目的とする。
【０００７】
【課題を解決するための手段】
前記課題を解決するために、本願第１発明は、接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより、仮想空間中の被操作物を操作するゲーム装置を提供する。このゲーム装置では、仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応している。また、このゲーム装置は、以下の手段を有している。
・前記仮想接触部に模して形成された実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出手段、
・前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出手段、
・前記実操作物の実位置を仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換手段、
・前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出手段、
・前記位置検出手段による前記実操作物の実位置の検出と、前記傾き検出手段による前記実操作物の実傾き角の検出と、前記変換手段による前記仮想接触部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御手段。
【０００８】
このゲーム装置において、前記動作位置算出手段は、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する。
例えばゴルフゲームであれば、仮想操作物はゲーム空間内の仮想ゴルフクラブであり、仮想接触部は仮想グリップに、仮想動作部は仮想ヘッドにそれぞれ相当する。実操作物は、ゴルフクラブのグリップを模してまたはゴルフクラブよりもはるかに短いミニゴルフクラブ状に形成される。また、テニスゲームであれば、仮想操作物はゲーム空間内の仮想テニスラケットであり、仮想接触部は仮想グリップに、仮想動作部は仮想ラケット面に相当する。実操作物は、テニスラケットのグリップを模してまたはテニスラケットよりもはるかに短いミニテニスラケット状に形成される。野球ゲームであれば、仮想操作物は仮想バットであり、仮想接触部は仮想バットの握り部分に、仮想動作部は仮想バットの先端１／３程度の部分に相当する。実操作物は、ゴルフクラブのグリップを模してまたは野球バットよりもはるかに短いミニバット状に形成される。
【０００９】
このゲームは次のように動作する。ゴルフゲームであれば、プレイヤーがグリップ状の実操作物をスイングすると、仮想ゴルフクラブの仮想ヘッドの動きが算出される。テニスゲームであれば、プレイヤーがグリップ状の実操作物をスイングすると、仮想ラケット面の動きが算出される。野球ゲームであれば、プレイヤーがグリップ状の実操作物をスイングすると、ゲーム空間内の仮想バットのボールを打つ部分の動きが算出される。
【００１０】
例えばゴルフゲームであれば、前記仮想傾き角φは、通常のプレイヤーがアドレスする場合のゴルフクラブと地面との角度の平均的値を用いることができる。また、プレイヤーがアドレスしたときのグリップ状実操作物が床面となす角を、仮想傾き角θとしても良い。また例えばテニスゲームであれば、通常のプレイヤーがテニスラケットを持ってテニスボールを打つときのグリップと地面との角度の平均的値を前記仮想傾き角φとすることができる。
【００１１】
傾き検出手段としては、グリップ状実操作物の任意の場所に設けられた３軸加速度センサを挙げることができる。
本願第２発明は、前記第１発明において、
・前記仮想動作部を表示する表示手段と、
・前記仮想動作部の仮想位置に基づいて、前記表示手段における前記仮想動作部の表示位置を決定する位置決定手段と、
をさらに備えるゲーム装置を提供する。この装置において、前記制御手段は、前記位置検出手段による前記実操作物の実位置の検出と、前記変換手段による前記仮想接触部の仮想位置の算出と、前記動作位置算出手段による前記仮想動作部の仮想位置の算出と、前記位置決定手段による前記仮想動作部の表示位置の決定とを繰り返し行い、前記実操作物の動きに追随して動く前記仮想動作部を前記表示手段に表示させる。
【００１２】
例えばゴルフゲームであれば、仮想グリップの仮想位置決定後、仮想位置を通り所定の傾きを有する直線と仮想空間（以下、ゲーム空間という）内の地面との交点を求める。この交点を仮想ヘッドの位置とし、仮想ヘッドの表示を行う。この処理を一定時間間隔で行うことにより例えばグリップ状実操作物の動きを検出し、仮想ヘッドの動きとして表示する。プレイヤーは、あたかもゴルフクラブを握っているかのような感覚で、グリップ状実操作物を用いてスイング動作することができる。なお、実位置及び仮想位置は、例えば三次元座標により特定することができる。ゴルフゲームであれば、前記仮想ゴルフクラブの種類の選択を受け付ける操作物選択手段をさらに設け、前記制御手段により、選択された仮想ゴルフクラブの種類に応じた仮想ヘッドを表示してもよい。例えばゲーム装置に設けられたボタンにより１番ウッドや５番アイアンなど、ゴルフクラブの選択を受け付け、選択された種類のヘッドを表示する。
【００１３】
本願第３発明は、前記第２発明において、前記実操作物及び前記仮想接触部は長物形状であり、前記実操作物の長手方向の軸を中心とする回転方向に、前記実操作物が基準位置から回転した角度（以下、ひねり角という）を検出するひねり検出手段をさらに備えるゲーム装置を提供する。この装置において、前記制御手段は、前記仮想接触部の長手方向の軸を中心とする回転方向に、前記ひねり角に応じた角度で前記仮想動作部が回転した姿勢での前記仮想動作部を前記表示手段に表示させる。
【００１４】
例えばゴルフゲームであれば、プレイヤーがグリップ状実操作物をひねると、仮想ヘッドもプレイヤーの動作に追随して回転する。
本願第４発明は、前記第３発明において、前記ひねり検出手段は、前記実操作物に取り付けられた加速度センサから出力された信号に基づいて、前記実操作物のひねり角を算出するゲーム装置を提供する。
【００１５】
例えば３軸加速度センサを用いて実操作物が床面に垂直な方向となす角度や床面の所定方向となす角度を検出し、ひねり角を算出することができる。
本願第５発明は、前記第２発明において、前記ゲーム装置はゴルフゲーム装置であり、前記表示手段は前記プレイヤーの足下の景色をさらに表示するゲーム装置を提供する。この装置は、前記プレイヤーがボールを打つ方向である前方の景色を表示するための前方表示手段をさらに備えている。この装置において、前記仮想接触部の仮想位置から算出される前記仮想プレイヤーの視点から見た足下の景色及び前方の景色を前記仮想空間に基づいて作成し、前記表示手段及び前記前方表示手段に表示するとよい。足下景色及び前方景色は、ゲーム空間の透視投影変換などにより作成可能である。
【００１６】
本願第６発明は、前記第５発明において、
・前記仮想接触部の仮想位置から算出される前記仮想プレイヤーの視点から見た足下の景色及び前方の景色を前記仮想空間に基づいて作成し、前記表示手段及び前記前方表示手段に表示させる表示調節手段と、
・前記仮想空間に基づいて作成される足下景色よりも密な足下景色を記憶する足下景色記憶手段と、
をさらに備えるゲーム装置を提供する。この装置において、前記表示調節手段は、前記仮想空間に基づいて作成される足下景色に代え、前記足下景色記憶手段に記憶されている足下景色を、前記表示手段に表示させる。
【００１７】
ゲーム空間を構成するデータから透視投影変換などにより作成される足下画面は荒すぎるため、これをこのまま足下景色として表示すると、プレイヤーは違和感を持つ。プレイヤーにとっては、近くの足下が遠くの前方よりも詳細に見えなければ不自然だからである。そこで、あらかじめ足下用画面データを準備しておき、これを表示手段に表示させる。例えばプレイヤーがフェアウェイにいる場合にはフェアウェイの画面を、バンカーにいる場合はバンカーの画面を表示すると好ましい。
【００１８】
本願第７発明は、前記第５発明において、
・前記仮想接触部の仮想位置から算出される前記仮想プレイヤーの視点（以下、仮想視点という）から見た足下の景色及び前方の景色を前記仮想空間に基づいて作成し、前記表示手段及び前記前方表示手段に表示させる表示調節手段と、
・前記前方表示手段に表示する前方景色が遠景の場合と近景の場合とで、前記前方景色を見るための視点の位置を前記仮想視点から変化させる視点調整手段と、
をさらに備えるゲーム装置を提供する。
【００１９】
例えばティーグラウンドからグリーンの方向を見る遠景と、グリーン上でカップの方向を見る近景とで、前方景色を見るための視点の位置を変化させる。足下景色と前方景色とのつなげ方によりプレイヤーに不自然な感じを与えないためである。具体的には、前記視点調整手段は、前方景色が近景の場合、前記仮想視点から見た足元景色と連続する前方景色が見える位置に、前記前方景色を見るための視点を移動するとよい。近景を前方景色として表示する場合、仮想視点から見た足元景色とつながる前方景色が表示される。
【００２０】
本願第８発明は、前記第１発明において、前記位置検出手段は、下記２つの手段を含んでいるゲーム装置を提供する。
・前記実操作物に取り付けられた発光手段または光反射手段からの光を検出する少なくとも一対の光検出手段、
・検出した光に基づいて、前記発光手段または光反射手段の位置を測定し、測定結果を前記変換手段に出力する測定手段。
【００２１】
本願第９発明は、前記第１発明において、前記傾き検出手段は、前記実操作物に取り付けられた加速度センサから出力された信号に基づいて、前記実操作物の実傾き角を算出するゲーム装置を提供する。
加速度センサとして例えば３軸加速度センサを用いることにより、実操作物が床面に垂直な方向となす角度や、床面の所定方向となす角度を検出することができる。
【００２２】
本願第１０発明は、前記第１発明において、以下の手段をさらに備えるゲーム装置を提供する。
・所定時間間隔ΔT1の間に算出された前記仮想動作部の仮想位置を記憶する軌跡記憶手段、
・前記軌跡記憶手段に記憶されている前記仮想動作部の最新の仮想位置が、前記仮想空間内の被操作物を含む当たりエリア内であるか否かを判定するエリア判定手段、
・前記仮想動作部の最新の仮想位置が前記当たりエリア内である場合、前記仮想動作部が過去にさかのぼって規定滞在時間Ｔｓ以上連続して前記当たりエリアに滞在しているか否かを、前記軌跡記憶手段に記憶されている仮想位置を参照して判定する滞在判定手段、
・前記仮想動作部が前記規定滞在時間Ｔｓ以上連続して前記当たりエリアに滞在している場合、前記プレイヤーが狙いを付けていると判定する狙い判定手段。
【００２３】
ゴルフゲームの場合、当たりエリアとは、例えば地面上のゴルフボールを中心とする半径ｒの円である。この当たりエリア内に規定滞在時間Ｔｓ以上仮想ヘッドが連続して滞在した場合、プレイヤーがアドレスしていると判断される。前記当たりエリアの広さは前記仮想ゴルフクラブの種類により変化させてもよい。例えば仮想ゴルフクラブがウッドからアイアン、パターと変化するにつれ、当たりエリアが次第に狭くなるよう設定する。通常、ゴルファーがゴルフクラブの種類に応じてスイングを変えることを想定し、スイングに応じた当たりエリアを設定しておくことにより、自然なスイングをグリップ状実操作物で体感可能とする。同様の方法で、テニスゲームなどにおいてもプレイヤーがボールを打つつもりで構えているか否かを判断することができる。
【００２４】
本願第１１発明は、前記第１０発明において、以下の手段をさらに備えるゲーム装置を提供する。
・前記プレイヤーが狙いをつけていると判定した後、前記当たりエリアを前記仮想動作部が通過したか否かを判定する通過判定手段、
・前記仮想動作部が前記当たりエリアを通過した場合、通過時間が規定通過時間Ｔｐ以下か否かを判定する速度判定手段、
・前記通過時間が規定通過時間Ｔｐ以下の場合、前記仮想動作部が前記被操作物を動かしたと判断する操作判定手段。
【００２５】
ゴルフゲームの場合、アドレス後、仮想ヘッドが規定速度以上で当たりエリアを通過した場合は、プレイヤーがボールを打ったと見なされる。通過速度が遅い場合、プレイヤーが試しスイングをしていたり、単にスイングとは無関係にプレイヤーが動いたと見なし、ボールを動かさない。前記規定通過時間Ｔｐは前記仮想ゴルフクラブの種類により変化してもよい。例えばウッドの場合は規定通過時間Ｔｐを短く設定する。一方、パターの場合は規定通過時間を長く設定する。ゴルフクラブの種類によるスイングの違いを想定して規定通過時間に反映させることにより、より自然なスイングをプレイヤーに体感させることができる。
【００２６】
本願第１２発明は、前記第１１発明において、以下の手段をさらに備えるゲーム装置を提供する。
・前記操作判定手段が前記プレイヤーは前記被操作物を動かしたと判断した場合、前記当たりエリア内の前記仮想動作部の軌跡を前記軌跡記憶手段から決定する軌跡判定手段、
・前記仮想動作部の軌跡に基づいて前記被操作物が動いた軌跡を算出する軌跡算出手段。
【００２７】
軌跡算出手段は、仮に仮想ヘッドの軌跡がゴルフボールに当たっていなくても、前記操作判定手段によりボールを打ったと判断した場合はボールを飛ばす。ボールの軌跡は、スイングの方向、つまり仮想ヘッドの軌跡に基づいて算出される。
本願第１３発明は、前記第１１発明において、前記実操作物及び前記仮想接触部は長物形状であり、以下の手段をさらに備えるゲーム装置を提供する。
・前記実操作物の長手方向の軸を中心とする回転方向に、前記実操作物が基準位置から回転したひねり角を検出するひねり検出手段、
・前記操作判定手段が前記プレイヤーは前記被操作物を動かしたと判断した場合、前記当たりエリア内の前記仮想動作部の軌跡を前記軌跡記憶手段から決定する軌跡判定手段、
・前記仮想動作部の軌跡と前記ひねり角とに基づいて、前記被操作物が動いた軌跡を算出する軌跡算出手段。
【００２８】
例えばゴルフゲームであれば、軌跡算出手段は、スイングの方向に加え、ひねり角、すなわち仮想ヘッドのフェイスの向きを考慮してボールの軌跡を算出する。テニスゲームであれば、軌跡算出手段は、スライス気味かドライブ気味かなどのラケット面の向きを考慮してボールの軌跡を算出する。さらに前記操作判定手段は、前記ひねり角が規定ひねり範囲内かつ前記通過時間が規定通過時間Ｔｐ以下の場合に、前記プレイヤーが前記被操作物を動かしたと判断してもよい。すなわち、操作判定手段は、たとえプレイヤーがアドレス後に規定速度以上でスイングしたとしても、グリップ状実操作物をひねりすぎている場合はボールを打ったと見なさない。テニスゲームであれば、仮想ラケット面がひねられすぎている場合、ボールが打たれたとは見なされない。
【００２９】
本願第１４発明は、前記第１１発明において、前記操作判定手段は、前記仮想動作部の軌跡と前記被操作物との距離が規定ずれ範囲内かつ前記通過時間が規定通過時間Ｔｐ以下の場合、前記プレイヤーが前記被操作物を動かしたと判断するゲーム装置を提供する。
操作判定手段は、たとえ仮想ヘッドが当たりエリア内を通過したとしても、仮想ヘッドの軌跡がボールからはずれすぎている場合、空振りと判断する。プレイヤーに違和感を与えるからである。同様に操作判定手段は、例え仮想ラケット面が当たりエリア内を通過したとしても、仮想ラケット面がボールからずれすぎていれば、空振りと判断する。ゴルフゲームの場合、前記規定ずれ範囲は前記仮想ゴルフクラブの種類に応じて変化してもよい。例えば、スイング速度が速いため打った瞬間の仮想ヘッドの動きがプレイヤーの目にほとんど止まらないウッドの場合、規定ずれ範囲を比較的大きく設定してもプレイヤーに違和感が生じない。一方、スイング速度が遅いため打った瞬間の仮想ヘッドの動きが見えるパターの場合、規定ずれ範囲はほとんどゼロに設定しないとプレイヤーに違和感が生じてしまう。
【００３０】
本願第１５発明は、接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより仮想空間中の被操作物を操作するゲーム装置が実行するゲーム方法を提供する。仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応している。この方法は、以下のステップを含む。
・実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出ステップ、
・前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出ステップ、
・前記実操作物の実位置を前記仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換ステップ、
・前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出ステップ、
・前記位置検出ステップによる前記実操作物の実位置の検出と、前記傾き検出ステップによる前記実操作物の実傾き角の検出と、前記変換ステップによる前記仮想接触部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御ステップ。
【００３１】
この方法において、前記動作位置算出ステップは、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する。
本願第１６発明は、接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより仮想空間中の被操作物を操作するゲーム装置としてコンピュータを機能させるゲームプログラムを提供する。このプログラム上、仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応している。このプログラムは、以下の手段として前記コンピュータを機能させる。
・実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出手段、
・前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出手段、
・前記実操作物の実位置を仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換手段、
・前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出手段、
・前記位置検出手段による前記実操作物の実位置の検出と、前記傾き検出手段による前記実操作物の実傾き角の検出と、前記変換手段による前記仮想接触部の仮想位置の算出と、前記動作位置算出手段による前記仮想動作部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御手段。
【００３２】
このプログラムにおいて、前記動作位置算出手段は、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する。
本願第１７発明は、接触部と動作部とを含む遊戯具の前記接触部の形状を模した実操作物を実空間内のプレイヤーが操作することにより仮想空間中の被操作物を操作するゲームシステムを提供する。このシステム上、仮想プレイヤーが接触する部分である仮想接触部と前記被操作物に作用を与える仮想動作部とは、前記遊戯具の前記接触部と前記動作部とにそれぞれ対応している。このシステムは、以下の構成要素を含んでいる。
・前記実操作物、
・前記実操作物の前記実空間内における位置（以下、実位置という）を検出する位置検出手段、
・前記実操作物と前記実空間における基準面とがなす角（以下、実傾き角という）を検出する傾き検出手段、
・前記実操作物の実位置を仮想空間における位置（以下、仮想位置という）に変換することにより、前記実操作物の置換物である仮想接触部の仮想位置を、前記プレイヤの位置に対する前記実操作物の相対位置と、仮想プレイヤーの位置に対する前記仮想接触部の相対位置と、が一致するように算出する変換手段、
・前記被操作物に作用を与える仮想動作部の仮想位置を、検出された前記実傾き角を仮想傾き角φとして、前記仮想傾き角φ及び前記仮想接触部の仮想位置に基づいて算出する動作位置算出手段、
・前記位置検出手段による前記実操作物の実位置の検出と、前記傾き検出手段による前記実操作物の実傾き角の検出と、前記変換手段による前記仮想接触部の仮想位置の算出とを繰り返し行い、前記実操作物の実位置の変化に従い前記仮想動作部の仮想位置を変化させる制御手段。
【００３３】
このシステムにおいて、前記動作位置算出手段は、前記仮想接触部の仮想位置を通りかつ前記仮想空間における基準面となす角を前記仮想傾き角φとして、前記仮想傾き角φの直線と前記仮想空間における地面との交点を前記仮想動作部の仮想位置とみなし、前記仮想動作部の仮想位置を決定する。
【００３４】
【発明の実施の形態】
（１）本実施形態例に係るゲームシステムの構成
図１は、本発明に係るゲームシステムの一実施形態例であるゴルフゲームシステム１０００を示すブロック図である。このゴルフゲームシステム１０００は、制御部１、画像処理部２、音声処理部３、半導体メモリ４、操作部５、位置検出部６及び傾き検出部７を有している。
【００３５】
制御部１は、ＣＰＵ１０、ＲＯＭ１８及びＲＡＭ１９を有している。ＣＰＵ１０は、ＲＯＭ１８に記録されているＯＳとＲＡＭ１９に記憶されるゲーム用データなどとに基づいて、後述する複数の機能を実現する。ＲＯＭ１８は、ゴルフゲームシステム１０００の各部に基本動作を行わせるためのＯＳを格納している。ＲＡＭ１９は、半導体メモリ４から必要に応じて読み出されたゲーム用各種データを一時的に保存するなどのワークエリアとして使用される。
【００３６】
画像処理部２は、ＧＰＵ（Graphics Processing Unit）２１、フレームバッファ２２及び２つのモニタ２３ａ，２３ｂを有している。ＧＰＵ２１は、ＣＰＵ１０の計算結果に基づいて、ポリゴンの組合せからなるＣＧ画像をフレームバッファ２２に書き込む。ＧＰＵ２１により描画処理されたＣＧ画像は、フレームバッファ２２に一時的に記録される。フレームバッファ２２に記録されたＣＧ画像は、モニタ２３ａ，２３ｂにより読み出されて表示される。ＧＰＵ２１による描画処理及びフレームバッファ２２への記録が連続的に行われることにより、動画要素を含むＣＧ画像、たとえばキャラクタの動きがモニタ２３ａ，２３ｂに表示される。
【００３７】
音声処理部３は、ＳＰＵ(Sound Processing Unit)３１とスピーカ３２とを備えている。ＳＰＵ３１は、半導体メモリ４に記録されている音楽データや各種効果音データなどの音声データに基づいて、音楽や効果音を再生する。
半導体メモリ４は、ゲームプログラムやゲーム用各種データを保持している。
操作部５は、ゴルフクラブのグリップ状に形成された実操作物５１と、コントローラ５２とを有している。グリップ状実操作物５１は、プレイヤーが存在する実空間Ｒ内でプレイヤーがこれをスイングすることにより、ゲーム空間内のボール（被操作物）を打つための入力手段である。グリップ状実操作物５１には、発光ユニット５３及びグリップ状実操作物５１の加速度を検出する加速度センサ５４が設けられている。前記発光ユニット５３に代えてマーカを用いても良い。コントローラ５２は、所定のボタンなどである。コントローラ５２は、プレイヤーがこれらを操作することにより、プレイヤーの人数やコースの難易度、使用するゴルフクラブの種類を選択するための入力手段である。
【００３８】
位置検出部６は、グリップ状実操作物５１の発光ユニット５３の位置を検出する機能を有している。位置検出部６は、次の２つの要素を含んでいる。１）発光ユニット５３からの光を検知する１組の受光センサ６１ａ，ｂ。２）検知した光に基づいて前記実空間Ｒにおけるグリップ状実操作物５１の位置を特定する位置情報を決定し、制御部１０に送出するセンサ制御部６２。制御部１０に送出される位置情報としては、例えば実空間Ｒの３次元座標が挙げられる。発光ユニット５３及び受光センサ６１ａ，ｂに代え、超音波発信手段と、前記超音波発信手段からの音を受信する１対の超音波センサとを用いることも可能である。また、発光ユニット５３及び受光センサ６１ａ、ｂに代え、マーカと撮像素子とを用いることも可能である。
【００３９】
傾き検出部７は、グリップ状実操作物の軸方向を中心とした基準位置からの回転角（以下、グリップのひねり角θという）と、グリップ状実操作物の基準面に対する傾き（以下、グリップの傾き角φという）とを検出する機能を有している。グリップのひねり角θ及び傾き角φを検出することは、必ずしも必要ではないものの、より自然なゴルフをプレイヤーに体感させる上で好ましい。傾き検出部７は、次の２つの要素を含んでいる。１）グリップ状実操作物５１に設けられた３軸加速度センサ５４からのアナログ信号をディジタル信号に変換するアナログ／ディジタルコンバータ（ＡＤＣ）７１。２）ＡＤＣ７１からの信号をＣＰＵ１０に入力ための入力インターフェース７２。
【００４０】
（２）ゲームシステムの一例
（２−１）ゲームシステム全体
図２は、前記ゴルフゲームシステム１０００の一具体例であるゴルフゲームシステム２０００の外観斜視図である。このゴルフゲームシステム２０００は、ゲーム装置１００と、グリップ状実操作物５１の一例であるグリップ２００とを有している。
【００４１】
ゲーム装置１００の筐体１０４には、画像出力用のモニタ１０１ａ，１０１ｂが設けられている。モニタ１０１ａは上方を向いて設置され、モニタ１０１ｂは斜めに設置されている。また、両モニタは、筐体１０４正面に立つプレイヤーから見て左右に連続して配列されている。ここで、筐体１０４の正面とは、筐体１０４の足跡マーク１０９側をいう。足跡マーク１０９は、プレイヤーの基準位置を示している。以下では、足跡マーク１０９に立って筐体１０４正面を向いたプレイヤーから見た各部の位置関係に基づいて、ゴルフゲームシステム２０００を説明する。
【００４２】
モニタ１０１ａの両脇には、位置検出部６に含まれる受光センサの一例である受光センサ１０２ａ，ｂが取り付けられている。受光センサ１０２ａ、ｂは、グリップ２００の所定位置に取り付けられた発光ユニットからの光を検出する。モニタ１０１ａの右側及びモニタ１０１ｂの左側には、ゲームのＢＧＭや効果音を出力するためのスピーカ１０５ａ，ｂが取り付けられている。筐体１０４の正面左側には、モニタ１０１ａ，ｂに表示されるメニューを選択するためのボタン１０６が設けられている。ボタン１０６は、前記コントローラ５２の一例である。スピーカ１０５ｂ及びボタン１０６の下方には、コインを入れるためのコイン投入口１０８が設けられている。
【００４３】
（２−３）グリップ
図３はグリップ２００の詳細な構造を示す構成図である。グリップ２００の本体２１０の先端内部には、発光ユニット２０１が取り付けられている。発光ユニット２０１の位置は、必ずしもグリップ２００の先端でなくても良いが、プレイヤーの手により光が遮られないような位置が好ましい。発光手段２０１からの光が前記受光センサ１０２ａ，ｂによりそれぞれ検出されるように、カバー２０３は透明な部材で形成される。発光手段２０１の具体的な構成は、特に限定されないが、例えば赤外線発光ＬＥＤを用いて構成することができる。発光ＬＥＤの発光方向には指向性があるため、複数の発光ＬＥＤを用いて発光手段を構成することが好ましい。本体２１０の先端内部には、グリップ２００の軸上に３軸加速度センサ２０２が取り付けられている。３軸加速度センサ２０２は、必ずしもグリップ２００の軸上でなくとも良い。３軸加速度センサ２０２は、床面に対するグリップ２００の傾きや、グリップ２００の軸を中心とする回転角度を検出し、アナログ信号を出力する。このアナログ信号は、ゲーム装置１００側に設けられたＡＤＣ７１によりディジタル信号に変換され、入力インターフェース７２によりＣＰＵ１０に取り込まれる。
【００４４】
なお、本ゴルフゲームシステム２０００におけるプログラムの処理方法を選択することにより、加速度センサ２０２を用いて動きの強さを検出したり、グリップ２００の傾き角φを検出したりすることを任意に設定可能である。どのように両検出モードを切り替えるかは、プログラムの目的により設計変更すればよい。例えば、グリップ２００のスイングの速さを検出したい場合には動きの強さを検出し、それ以外の時はグリップ２００の傾き角φを検出することが挙げられる。
【００４５】
（３）ゴルフゲームの概要
次に、図１及び図４〜２４を用い、ゴルフゲームシステム２０００で行われるゴルフゲームの概要について説明する。図４はプレイ中のプレイヤーの状態を示す説明図である。このゲームでは、プレイヤーは、図４に示すように、グリップ２００を用いてスイング動作を行い、ゲーム空間Ｇ内のゴルフボールを仮想ゴルフクラブで打つ。仮想ゴルフクラブ（以下、仮想クラブという）は、前記グリップ２００のゲーム空間Ｇにおける置換物である。仮想クラブは、仮想グリップ（仮想接触部）、仮想ヘッド（仮想動作部）及び仮想シャフトからなる。
【００４６】
モニタ１０１ａ上には、ゲーム空間Ｇ内のプレイヤーキャラクタ（仮想プレイヤー）から見た足下の景色とともに、仮想クラブの仮想ヘッドとゴルフボールとが表示される。仮想ヘッドは、あたかもグリップ２００と目に見えないシャフトでつながっているかのように、グリップ２００の動きに連動する。また、モニタ１０１ｂ上には、ゲーム空間Ｇ内のプレイヤーキャラクタから見た前方の景色が表示される。前方とはボールを打つ方向である。モニタ１０１ｂには、何番目のホールか、ホールのパー数、プレイヤーの得点（以下、ライフという）、ボールの位置からグリーンまでの距離、何人中何番目のプレイヤーか、なども表示される。
【００４７】
プレイヤーは、ゲームの開始に先立ち、何人でコースを回るかの選択や、難易度に応じたコースの選択を行うことができる。プレイヤーキャラクタは、ゲームシステムの制御により、ゲーム空間Ｇ内の各ホールを順次回っていく。各ホールでのプレイヤーの初期のポイント（以下、ライフという）は例えば３点に設定され、各ホールでの成績に応じてライフが増減する。また、本ゲームシステム２０００では円滑なゲーム進行のために１打あたりの制限時間を設ける。１打あたりの制限時間を超えた場合、１回につき１点の時間減点となる。図５は、本ゴルフゲームシステム２０００におけるプレイヤーの成績のつけ方の一例を示す説明図である。図５（Ａ）の換算テーブルは、ボギーはマイナス１点、ダブルボギーはマイナス２点・・・、バーディはプラス１点、イーグルはプラス２点・・・に換算されることを示す。各ホールごとの成績（以下、スコアという）は点数に換算され、プレイヤーのライフに加算される。図５（Ｂ）は、各ホールのライフはスコアと時間減点との和であることを示す。また、図５（Ｂ）は、各ホールのライフの総和をとった総合得点により、１ゲームあたりの各プレイヤーの優劣が決定されることを示している。
【００４８】
（３−１）座標の変換
図６及び図７は、本ゴルフゲームシステムで用いる座標変換の考え方を示す説明図である。本ゴルフゲームシステム２０００では、３つの空間座標系を想定する。１つ目は、受光センサ１０２ａ，ｂを基準として実空間Ｒ内の位置を三次元座標で特定するためのセンサ座標系である。２つ目は、プレイヤーを基準として実空間Ｒ内の位置を三次元座標で特定するためのプレイヤー座標系である。３つ目は、ゲーム空間Ｇ内での位置を三次元座標で特定するためのゲーム空間座標系である。
【００４９】
（３−１−１）実空間Ｒでのセンサ座標系からプレイヤー座標系への変換
図６は、センサ座標系とプレイヤー座標系との関係を示す説明図である。実空間Ｒとして、受光センサ１０２ａ，ｂで検出可能な範囲の直方体を想定している。本例では、足跡マーク１０９の高さ５０ｃｍ分床面から浮いており、かつゲーム装置の筐体１０４の正面側にあり受光センサ１０２ａ、ｂに接する直方体を、実空間Ｒと想定する。直方体の高さは２００ｃｍ、奥行きは２００ｃｍ、幅は１５０ｃｍである。直方体の大きさは、受光センサ１０２ａ，ｂが検知可能な大きさに設定される。
【００５０】
まず、センサ座標系について説明する。センサ座標系は、受光センサ１０２ｂに相当する頂点Ｓ０を原点とし、受光センサ１０２ａ方向にｘ軸を、上方にｙ軸を、ゲーム装置正面側にｚ軸をとった座標系である。さらに、センサ座標系は、実空間Ｒを表す直方体の各辺を２５６分割し、０から２５５までの値で各座標を表す。例えば、受光センサ１０２ａに相当する頂点Ｓ１の座標は、（２５５，０，０）となる。
【００５１】
次いで、プレイヤー座標系について説明する。この例では、プレイヤー座標系の原点を、踏み台に描かれた２つの足跡の中間にとる。この位置が、ゲーム装置１００正面であって、受光センサ１０２ａ、ｂよりも６０ｃｍ手前（ｚ軸方向）、床面から５０ｃｍにあると仮定する。また、座標軸として、ｘ’軸、ｙ’軸及びｚ’軸を前記センサ座標系のｘ軸、ｙ軸及びｚ軸とそれぞれ同じ方向に取る。さらに、各座標軸の目盛りを１ｃｍ刻みでとる。このようなプレイヤー座標系を想定する場合、ｙ’軸が実空間Ｒの底面と交わる交点Ｐ３のプレイヤー座標は、（０，５０，０）となる。また、ｙ’軸が実空間Ｒの上面と交わる交点Ｐ２のプレイヤー座標は（０，２５０，０）となる。
【００５２】
センサ座標がプレイヤー座標に変換される例として、センサ座標系の原点Ｓ０について考える。センサ座標系の原点Ｓ０（０，０，０）は、プレイヤー座標系では（−７５，５０，−６０）と表される。また、受光センサ１０２ａに相当する頂点Ｓ１のセンサ座標Ｓ１（２５５，０，０）は、プレイヤー座標系では（７５，５０，−６０）と表される。
【００５３】
（３−１−２）プレイヤー座標系からゲーム空間座標系への変換
図７は、プレイヤー座標系とゲーム空間座標系との関係を示す説明図である。ゲーム空間Ｇはゲームの提供者により予め所定の大きさに設定されている。たとえば幅２０００ｍ、奥行き２０００ｍ、高さ２００ｍの直方体のゲーム空間Ｇを仮定する。この直方体の１つの底辺の中央に原点Ｇ０（０，０，０）を取り、その底辺に沿った方向にｘ”軸を、底面に沿う方向にｘ’”と垂直なｚ’”軸を、ｘ’”軸及びｚ’”軸に垂直な上向き方向にｙ’”軸を取る。さらに、各軸の目盛りを１ｍ間隔に取る。プレイヤー座標系とゲーム空間座標系との関係は、ｙ’軸とｙ’”軸とが同方向、ｘ’軸及びｚ’軸とｘ’”軸及びｚ’”軸とがそれぞれ反対方向とする。
【００５４】
ゲーム空間座標系の原点Ｇ０とプレイヤー座標系の原点Ｐ０とはゲームの開始当初は一致することとする。その後、プレイヤーキャラクタがボールを打ってコースを回っていくことにより、ゲーム側でプレイヤーキャラクタを前進あるいは回転させ、ゲーム空間座標系とプレイヤー座標系との原点は徐々にずれていく。両者の原点が一致する場合、センサ座標系の原点Ｓ０を示すプレイヤー座標系の座標（−７５，５０，−６０）は、ゲーム空間座標系においては（７５，２５０，６０）となる。なお、前述した座標系の各変換は一例に過ぎず、これらの座標変換は一般的にアフィン変換として知られる方法を用いて行われる。
【００５５】
本ゴルフゲームシステム２０００は、前記グリップ２００の先端の点Ｑをセンサ座標系で特定し、次いでその座標をプレイヤー座標系の点Ｑ’へ、さらにゲーム空間座標系における点Ｑ”へ変換する。また、前記加速度センサ２０２により検出したグリップ２００の傾き角φから、ゲーム空間Ｇにおいて点Ｑ”を通りかつｘ”-ｚ”平面と傾き角φをなす直線と、ゲーム空間Ｇの地面と、の交点の位置が算出される。この交点の座標を透視投影変換することにより、モニタ１０１ａ上での仮想ヘッドの表示位置が決定し、仮想ヘッドが表示される。プレイヤーは、あたかも自分が握るグリップ２００の先から目に見えないシャフトが伸び、その先に仮想ヘッドがついているような感覚でプレイすることができる。
【００５６】
（３−２）ＣＰＵが行う処理
再び図１を参照してＣＰＵ１０が行う処理を説明する。ＣＰＵ１０は、人数選択手段１１、コース選択手段１２、表示調節手段１３（表示調節手段及び視点調整手段に相当）、クラブ選択手段１４、ヘッド表示手段１５（変換手段、動作位置算出手段、位置決定手段、制御手段、ひねり検出手段に相当）、当たり判定手段１６（エリア判定手段、滞在判定手段、狙い判定手段、通過判定手段、速度判定手段、操作判定手段、軌跡判定手段に相当）、音出力制御手段１７及び状況判定手段１８（軌跡算出手段に相当）を有している。
【００５７】
人数選択手段１１は、１〜４人の範囲内でプレー人数の選択を受け付ける。図８は、人数選択手段１１が表示する人数選択画面の一例である。プレイヤーは、ゲーム装置１００に設けられたボタン１０６により、いずれかの人数を選択する。
コース選択手段１２は、難易度別に設定されたコースの選択を受け付ける。図９は、コース選択手段１２が表示するコース選択画面の一例である。コースの選択は、ゲーム装置１００に設けられたボタン１０６を用いて行われる。この図は、「初級コース」が選択された状態を示している。各コースは、図示しないゲーム空間Ｇ内に作成され、ＲＯＭ１８に記憶されている。
【００５８】
表示調節手段１３は、モニタ１０１ａとモニタ１０１ｂとのそれぞれに、プレイヤーキャラクタのゲーム空間座標（仮想位置）に応じた景色を表示する。モニタ１０１ｂには、ゲーム空間Ｇにおけるプレイヤーキャラクタの視点（仮想視点）から見た前方景色が表示される。仮想視点の仮想位置はプレイヤーキャラクタの仮想位置から算出される。前方景色の画面は、ゲーム空間を構成するデータに基づいて作成可能である。図１０は、前方景色の表示画面例である。この画面は、ティーグラウンドから見た前方景色である。図１１は、打ったボールが飛んでいく様子を拡大して表示した前方景色の表示画面例である。図１２は、グリーン上のプレイヤーキャラクタから見たカップ方向の前方景色の表示画面例である。また、図１３は、コース中間地点でのプレイヤーキャラクタのプレイ風景を表示する画面例である。このように、モニタ１０１ｂに、プレイヤー自身の置換物であるプレイヤーキャラクタのプレー風景を表示しても良い。プレイ風景をプレイヤーの位置が変わるときなどに表示すると、プレイヤーは自分自身のコース中での位置を認識しやすく、実際にコースを回っているかのような感覚を持つことができる。
【００５９】
モニタ１０１ａには、プレイヤーキャラクタの仮想視点から見た足下景色が表示される。足下景色の画面は、ゲーム空間を構成するデータに基づいて作成可能である。しかし、現実の空間では足下景色は前方景色よりも細密に見える。ところがゲーム空間を構成するデータから作成される足下景色の画面は、前方景色と同程度の密度であり、プレイヤーが実際に目にする足下景色に比して密度が荒く、結果としてリアリティに欠ける映像となる。そのため、前方景色よりも細密な足下景色を表示するための画面データを予めＲＯＭ１８などに記憶させ、モニタ１０１ａに出力することが好ましい。図１４は「通常」の足下景色、図１５は「ラフ」の足下景色、図１６は「バンカー」の足下景色を示す画面例である。「通常」は、フェアウェイやグリーンにプレイヤーキャラクタが居る場合である。「ラフ」は、グリーンの外の草むらなどにプレイヤーキャラクタが居る場合である。「バンカー」は、バンカーにプレイヤーキャラクタが居る場合である。図１４〜図１６に例示したように、ゲーム空間Ｇ内のプレイヤーキャラクタが位置する地面の状態に応じて複数種類の足下景色を作成し、ＲＯＭ１８などに記憶させておくと良い（足下景色記憶手段に相当）。
【００６０】
さらに表示調節手段１３は、遠景を見るときと近景を見るときとで景色の表示の仕方を変える。具体的には、近景を見るときには足下景色と前方景色との組み合わせに違和感が生じないよう、画面の補正を行う。図１７は、前方景色として仮想視点から見た遠景を表示する場合の、景色の表示方法を示す模式図である。遠景としては、例えばティーグラウンド上のプレイヤーキャラクタの仮想視点から見たグリーン方向の景色が挙げられる。図１７（Ａ）は、仮想視点からの視野に入る前方景色は、仮想視点からの視野に入る足下景色と不連続であることを示す。図１７（Ｂ）は、前方景色をモニタ１０１ｂに、足下景色をモニタ１０１ａに表示することにより、本来不連続な前方景色と足下景色とをつなげて表示することを示している。例えばティーグラウンドでグリーンの方向にねらいをつけながら足下のボールを打つプレイヤーにとっては、本来不連続な２つの風景を２つのモニタ１０１ａ，１０１ｂに表示しても、違和感を生じない。
【００６１】
図１８は、前方景色として仮想視点から見た近景を表示する場合の画面補正の模式図である。近景としては、例えばグリーン上のプレイヤーキャラクタの仮想視点から見たカップの方向の景色が挙げられる。グリーンにおいて実際のプレイヤーは、足下のボールとカップとを結ぶコースを見定めてボールを打つ。従って前方景色と足下景色とが不連続だと、プレイヤーは足下のボールとカップとを結ぶコースを見定めることができず、違和感を感じる。しかも打ったボールが足下景色からいったん外に出て、しばらく経ってから前方画面に出現することになり、不自然である。このような場合、プレイヤーキャラクタの足下景色と連続するカップ方向の景色をモニタ１０１ｂに表示する。図１８（Ａ）は、仮想視点から見た足下景色と連続する前方景色が見える視点２を示す説明図である。仮想視点から後方に移動した視点２からの前方景色は、仮想視点から見た足元景色とつながっている。図１８（Ｂ）は、視点２から見た前方景色をモニタ１０１ｂに、仮想視点から見た足下景色をモニタ１０１ａに表示することを示している。以上のように２つのモニタ１０１ａ、１０１ｂへの景色の表示方法を、前方景色が遠景の場合と近景の場合とで変える。こうすることにより、プレイヤーは２つの画面に表示される景色に違和感を抱くことなく、ボールを打つ方向にねらいをつけながら足下のボールを打つというゴルフの特性を体感することができる。
【００６２】
クラブ選択手段１４は、ゲーム装置１００のボタン１０６が押されたか否かにより、仮想ヘッド、表示されない仮想シャフト及び仮想グリップからなる仮想ゴルフクラブの種類の選択を受け付ける。例えば、上向きボタンや右向きボタンが押されると、１番ウッドから２番ウッド、３番ウッドへと、１つずつ仮想ヘッドを変更する。逆に下向きボタンや左向きボタンが押されると、３番ウッドから２番ウッド、１番ウッドへと、１つずつ順番に仮想ヘッドを変更する。これにより、プレイヤーは好みのクラブを用いてプレーするというゴルフの特性を味わうことができる。プレイヤーが使用しているクラブの種類は、各プレイヤーごとにＲＡＭ１９などに記憶され、画面上に表示される。前記図１４は、１番ウッドが選択されている場合の足下景色の表示例である。
【００６３】
ヘッド表示手段１５は、仮想ヘッドのゲーム空間座標（仮想位置）と、仮想ヘッドのひねり角θとを求める。まず仮想ヘッドのゲーム空間座標の算出について説明する。ヘッド表示手段１５は、グリップ２００に取り付けられた発光ユニット２０１のセンサ座標を、プレイヤー座標に、そしてゲーム空間座標に変換する座標変換処理を行う。発光ユニット２０１のゲーム空間座標Ｑ”（以下、グリップのゲーム空間座標Ｑ”という）は、ＲＡＭ１９などに一時的に保持される。またヘッド表示手段１５は、グリップ２００の加速度センサ２０２からの加速度データに基づいてグリップ２００の傾き角φを求める。ここで、グリップ２００が実空間Ｒ内のｘ-ｚ平面となす角を、グリップ２００の傾き角φという。ゲーム空間Ｇ内で、グリップのゲーム空間座標Ｑ”を通りかつ傾き角φを有する直線と地面との交点が、仮想ヘッドのゲーム空間座標である。仮想ヘッドのゲーム空間座標は、ＲＡＭ１９に保持される。図１９はＲＡＭ１９に保持されるヘッド位置テーブル（軌跡記憶手段に相当）の概念説明図を示す。このテーブルには、時刻と仮想ヘッドのゲーム空間座標とが、最新の所定時間間隔Δｔ分記憶されている。
【００６４】
また、ヘッド表示手段１５は、加速度センサ２０２からの加速度データに基づいて、グリップ２００のひねり角θを取得する。ここでひねり角θとは、グリップ２００の軸を中心とする回転方向の、基準位置からの角度である。基準位置は、グリップ２００のｘ、ｙ、ｚ軸に対する傾きが所定の値を有する位置である。以上のようにして求めた仮想ヘッドのゲーム空間座標及びひねり角θに基づいて透視投影変換が行われ、プレイヤーが選択したクラブの仮想ヘッドが表示される。前記図１４は、プレイヤーがグリップ２００を基準位置（ひねり角θ＝０）で握った場合の、仮想ヘッドの表示例である。ひねり角θ＝０のとき、仮想ヘッドのフェイスはボールを打つ方向に実質的に垂直である。また、図２０は、プレイヤーがグリップの軸を中心とする時計回り方向にグリップ２００をひねった場合の、１番ウッドの表示例である。図２１は、プレイヤーがグリップ２００を少しひねった場合の５番アイアンの表示例である。図２０及び図２１において、画面上の仮想ヘッドはグリップ２００のひねりに追随して回転している。図２２は、グリップ２００をひねらずに構えた場合のパターの表示例である。
【００６５】
ヘッド表示手段１５は、上述した仮想ヘッドのゲーム空間座標Ｑ”の算出及びひねり角θの取得を、所定時間間隔、例えば１／６０ｓｅｃ毎に行う。これにより、プレイヤーが操作するグリップ２００の動きに追随して、モニタ１０１ａ上に仮想ヘッドが表示される。そのため、プレイヤーにとっては、あたかもグリップ２００の先に目に見えないシャフトが伸び、その先に仮想ヘッドがついているかのような感覚でスイングを行うことができる。
【００６６】
一方、仮想ヘッドが常に地面に接しているように表示を行うと、プレイヤーが違和感を感じる場合がある。そこでヘッド表示手段１５は、ゲーム空間Ｇのｘ”−ｚ”平面における仮想ヘッドの位置がゴルフボールを挟んでプレイヤーと反対方向に離れれば離れるほど、仮想ヘッドのｙ”方向の高さを高くする。言い換えれば、ヘッド表示手段１５は、仮想ヘッドをゲーム空間Ｇ上で上方に持ち上げる。この処理のために、ヘッド表示手段１５は、予め仮想クラブの種類毎に決められた仮想クラブの長さを用い、仮想ヘッドのゲーム空間座標を算出する。これにより、例えばプレイヤーがヘッドを持ち上げるようにグリップ２００を傾けた場合、仮想ヘッドが地面から離れたように表示される。
【００６７】
さらに、ヘッド表示手段１５は、仮想ヘッドの軌跡を表示しても良い。図２３は、仮想ヘッドの軌跡及び速度の表示例である。ヘッド表示手段１５は、仮想ヘッドがボール近傍を通過したときの少なくとも２点のゲーム空間座標に基づいて仮想ヘッドの軌跡を算出することができる。さらにヘッド表示手段１５は、仮想ヘッドのゲーム空間座標の変化から仮想ヘッドの速度を算出し、軌跡と共に表示してもよい。
【００６８】
当たり判定手段１６は、プレイヤーがボールを打ったか否かを判定する。この当たり判定を、仮想ヘッドのゲーム空間座標とボールのゲーム空間座標とが一致するか否かにより行うことも考えられる。しかしそれではプレイヤーが空振りすることが多くなり、ゲームの面白みをそぐ恐れがある。なかでもウッドクラブなどを用いて振りかぶってボールを打つような場合には、その恐れが大きい。一方、プレイヤーの些細な挙動を検出してしまい、これがゲーム処理に反映されると、プレイヤーの意図せぬ処理がされる恐れがある。すなわちプレイヤーが本気で打った場合とその他の場合とを見分け、適切な処理をすることが好ましい。本ゴルフゲームシステム２０００では、次のようにして本気で打ったか否かを判断する。
【００６９】
図２４は、当たり判定の説明図である。図２４（Ａ）は、仮想クラブがウッドの場合の当たり判定の説明図である。まず、ゲーム空間Ｇ内でボールを中心とする半径ｒ１内を当たりエリアとする。当たりエリア内に仮想ヘッドが滞在している時間（以下、エリア内滞在時間という）が規定滞在時間Ｔｓ１以上の場合、当たり判定手段はプレイヤーがアドレスしていると判断する。当たり判定手段１６は、基本的には以下の４つの要件が満たされれば、プレイヤーがボールを打ったと判断する。１）アドレス後に仮想ヘッドが当たりエリア内から外に出、２）アドレス後に当たりエリアの外にでた仮想ヘッドが当たりエリアを通過し、３）当たりエリアの通過に要した時間（以下、通過時間と言う）が規定通過時間Ｔｐ１以下であり、４）アドレス時のひねり角θａが規定範囲以内、すなわちθ１≦θａ≦θ２である。図２４（Ｄ）は、アドレス時のひねり角θａの規定範囲を示す概念説明図である。ここで、θ１及びθ２は、実際にフェードやドローをかける時のフェースのひねり角を考慮して設定される。アドレス時のひねり角θａは、当たりエリア内でのひねり角θの平均値とする。
【００７０】
ただし、当たり判定手段１６は、仮想ヘッドの軌跡とボールとの距離（以下、スイングのずれという）が規定距離ｄ１（ｄ１＜ｒ１）以上であれば、空振りと判断する。また、当たり判定手段１６は、スイングのずれが規定距離ｄ１以下であれば、軌跡がボールを通るように軌跡を平行移動する。平行移動は、モニタ１０１ａの縦方向に行う。規定距離ｄ１は、大きく設定しすぎることによりプレイヤーに違和感を与えない程度の値に設定すると良い。
【００７１】
当たりエリアの広さ、規定滞在時間及び規定通過時間は、クラブの種類に応じて変えると、より自然なショット感をプレイヤーに与えることができ好ましい。図２４（Ｂ）は、仮想クラブがアイアンの場合の当たり判定の説明図である。当たりエリアは、ゲーム空間Ｇ内でボールを中心とする半径ｒ２（ｒ２＜ｒ１）内である。また、アイアンの場合の規定通過時間をＴｐ２、規定距離をｄ２とすると、Ｔｐ２＞Ｔｐ１、ｄ２＜ｄ１とすることが好ましい。これは、ウッドよりもアイアンの方がスイング速度は通常遅く、その分ねらいをはずしにくいと考えられるからである。アイアンの場合の規定滞在時間をＴｓ２とすると、Ｔｓ１とＴｓ２との関係は任意である。当たり判定の処理はウッドの場合と同様に行われる。
【００７２】
図２４（Ｃ）は、仮想クラブがパターの場合の当たり判定の説明図である。当たりエリアは、ゲーム空間Ｇ内でボールを中心とする半径ｒ３（ｒ３＜ｒ２＜ｒ１）内である。また、パターの場合の規定通過時間をＴｐ３とすると、Ｔｐ３＞Ｔｐ２＞Ｔｐ１とすることが好ましい。これは、ウッドやアイアンよりもパターの方がスイング速度が遅いからである。また、パターの場合、ねらいをはずすことは考えにくいので、スイングのずれを補正する規定距離ｄ３はゼロとしても良い。パターの場合の規定滞在時間をＴｓ３とすると、Ｔｓ１及びＴｓ２とＴｓ３との関係は任意である。当たり判定の処理はウッドの場合と同様に行われ、空振りの補正は行わなくてもよい。以下では、Ｔｓ１，Ｔｓ２，Ｔｓ３を規定滞在時間Ｔｓと表記する。また、Ｔｐ１，Ｔｐ２，Ｔｐ３を規定通過時間Ｔｐと表記する。また、規定距離ｄ１，ｄ２，ｄ３を、規定距離ｄと表記する。
【００７３】
音出力制御手段１７は、当たり判定の結果に応じ、半導体メモリ４からＲＡＭ１９に読み出されている効果音データを、スピーカ３２に出力させる。効果音としては、例えば、クラブが空気を切る音、ボールがカップに入った音、周囲の拍手や歓声が挙げられる。効果音を前記当たり判定の結果で変えれば、ゲームの臨場感はいっそう増大する。
【００７４】
状況判定手段１８は、当たり判定の結果に応じ、ボールの軌跡の計算を行う。ボールの軌跡の計算は、スイングの軌跡の方向とアドレス時のひねり角θａとに基づいて行われる。状況判定手段１８は、制限時間内にボールを打てたかどうかの判断を行い、各プレイヤーの各ホールごとのライフを更新する。また、状況判定手段１８は、ボールの軌跡の計算の結果ボールがカップに入ったか否かの判断や、各ホールでの各プレイヤーのスコアの算出などを行う。さらに状況判定手段１８は、プレイヤーのライフ及び総合得点の計算を行う。具体的には、状況判定手段１８は、各ホールでのプレイヤーのスコアをライフに換算する。さらに、状況判定手段１８は、全ホールのライフを総合した総合得点からプレイヤーの順位を決定する。
【００７５】
前述の処理に加え、状況判定手段１８は、コース及びボールの位置に従い、プレイヤーキャラクタをゲーム空間Ｇ内で移動させる処理を行う。また状況判定手段１８は、ボタン１０６が押されることによるプレーヤキャラクタの視野の方向の変更や、ボールを打つ方向の変更を行ってもよい。例えば右向きのボタン１０６が押されると、状況判定手段１８は、プレーヤキャラクタの視野を右方向にずらしたり、ボールを打つ方向を右方向にずらしたりする。
【００７６】
（３−３）処理の流れ
図２５〜図２７は、本ゴルフゲームシステム２０００における全体的な処理手順の流れを示すフローチャートである。以下、これらの図に沿って本ゴルフゲームシステム２０００の処理の流れを具体的に説明する。
（３−３−１）メイン処理
図２５は、本ゴルフゲームシステム２０００のメイン処理の流れを示すフローチャートである。プレイヤーがゲーム装置１００のコイン投入口１０８にコインを投入することにより、本処理が開始される。
【００７７】
ステップＳ１：人数選択手段１１は、プレイヤーの人数の選択を受け付ける。
ステップＳ２：コース選択手段１２は、難易度に応じて設定されているコースの選択を受け付ける。ここでは、選択された難易度に応じたインコースが決定される。
ステップＳ３：後述するホールサブルーチンにより、インコースの１〜９ホールにおいて各ホールごとの処理が行われる。
【００７８】
ステップＳ４：コース選択手段１２は、難易度に応じて設定されているコースの選択を受け付ける。ここでは、アウトコースの選択を受け付ける。
ステップＳ５：後述するホールサブルーチンにより、アウトコースの１０〜１８ホールにおいて各ホールごとの処理が行われる。
ステップＳ６：状況判定手段１８は、ホールごとの成績を総合評価し、プレイヤーの順位を決定し、各プレイヤーの成績を表示して処理を終了する。
【００７９】
（３−３−２）ホールサブルーチン
図２６は、ホールサブルーチンで行われる処理の流れを示すフローチャートである。前記メイン処理においてステップＳ３またはステップＳ５に移行すると、以下の処理が開始される。
ステップＳ１１：表示調節手段１３は、ゲーム空間Ｇ内でのプレイヤーキャラクタの仮想視点から見た足元景色及び前方景色をモニタ１０１ａ及び１０１ｂに表示する。前方景色は、遠景の場合と近景の場合とで前述のように補正される。
【００８０】
ステップＳ１２：クラブ選択手段１４は、ボタン１０６によるクラブの選択を受け付ける。
ステップＳ１３：状況判定手段１８は、プレイヤーがボールを打ったか否かを判断する。この判断は、後述の当たり判定処理により行う。状況判断手段１８は、ボールが打たれた場合、仮想ヘッドの軌跡及びアドレス時のひねり各θａに基づいてボールの軌跡を算出する。その後、ステップＳ１４に移行する。ボールを打っていない場合は後述するステップＳ２７に移行する。
【００８１】
ステップＳ１４：表示調節手段１３は、プレイヤーのショットの結果に応じて画面の切り替えを行う。例えばティーグラウンドからドライバーでボールが打たれた場合、モニタ１０１ｂに表示する前方景色をボール落下地点のコース中間の景色に切り替える。同時に、モニタ１０１ａに表示する足下景色をボール落下地点の地面状況に応じた風景に切り替える。また例えば、ボールがグリーンに乗った場合、モニタ１０１ｂに表示する前方景色をグリーンの風景に切り替える。同時に、モニタ１０１ａに表示する足下景色を、グリーンの芝を示す風景に切り替える。
【００８２】
ステップＳ１５、Ｓ１６、Ｓ１７：状況判定手段１８は、ボールがカップに入ったか否かを判断する（Ｓ１５）。まだ入っていない場合、次のプレイヤーへの交代の指示を表示する（Ｓ１６）。入った場合、全員がホールを終了しているか否かを判断し（Ｓ１７）、まだであれば次のプレイヤーに交代する（Ｓ１６）。全員がホールを終了していれば、ステップＳ１８に移行する。なお、実際のゴルフゲームのルールとは異なるが、一人のプレイヤーがホールを終了した後、次のプレイヤーに交代するようにしてもよい。より迅速にゲームを進行させる上で好ましい。
【００８３】
ステップＳ１８〜Ｓ２４：状況判定手段１８は、終了したホールにおける各プレイヤーのライフを順次算出する。各ホールスタート時点でのプレイヤーのライフは例えば３点とする。まず、ライフ未算出のプレイヤーのうちの一人を処理対象に特定する（Ｓ１８）。ついでそのプレイヤーのスコアに基づいてライフを更新する（Ｓ１９）。例えばスコアがバーディでライフが“１”であれば、ライフは“２”に更新される。更新されたライフがゼロになった場合（Ｓ２０）、そのプレイヤーにゲームを続行するか否かの意思の確認を行う（Ｓ２１）。そのプレイヤーがゲームを続行しない場合、すなわちゲームオーバーを選択した場合、プレイヤー全員がゲームオーバーになったか否かを判断する（Ｓ２２）。全員がゲームオーバの場合、ゲームを強制終了し（Ｓ２３）、ゲーム結果を表示する（Ｓ６）。そのプレイヤーのライフがゼロではない場合、ライフがゼロでもプレイヤーがゲーム続行を選択した場合、及びプレイヤー全員がゲームオーバーになってはいない場合、プレイヤー全員の評価が終わっているか否かを判断する（Ｓ２４）。まだであればステップＳ１８に戻り、前記の処理を繰り返す。全員の評価が終了していれば、ステップＳ２５に移行する。
【００８４】
ステップＳ２５、Ｓ２６：状況判定手段１８は次のホールがあるか否かを判断する。最終１８ホール目であれば“Ｎｏ”と判断し、前記ステップＳ６に移行する。その他のホールの場合、全プレイヤーキャラクタのゲーム空間座標を次のホールに移動する（Ｓ２６）。
ステップＳ２７〜Ｓ３３：状況判定手段１８は、制限時間以内にボールが打たれたか否かにより、ライフの更新を行う。まず、状況判定手段１８は、制限時間以内にボールが打たれるか否かを監視し（Ｓ２７）、制限時間を超えるとライフを１点減点する（Ｓ２８）。ついで、減点によりライフがゼロになった否かを判断する（Ｓ２９）。ライフがゼロになった場合、そのプレイヤーにゲームを続行するか否かを確認する（Ｓ３０）。そのプレイヤーがゲーム続行を選択した場合（Ｓ３０）、状況判定手段１８はそのプレイヤーのライフ及び持ち時間をリセットし、再度同じショットを続行させる（Ｓ３１，Ｓ３２）。時間切れによりライフを減点してもゼロにならない場合、そのプレイヤーの持ち時間だけをリセットし、再度同じショットを続行させる（Ｓ３２）。
【００８５】
ライフがゼロになったプレイヤーがゲームオーバーを選択した場合、プレイヤー全員がゲームオーバーになったか否かを判断する（Ｓ３３）。“Ｙｅｓ”と判断するとゲームを強制終了し、ゲーム結果を表示する（Ｓ２３，Ｓ６）。“Ｎｏ”と判断すると、次のプレイヤーへの交代を指示する（Ｓ１６）。これにより、ゲームオーバーを選択したプレイヤー以外の他のプレイヤーはゲームを続行することができる。
【００８６】
（３−３−３）当たり判定処理
図２７は、当たり判定処理の流れを示すフローチャートである。前記ホールサブルーチンにおいてステップＳ１３に移行すると、以下の処理が開始される。
ステップＳ４１、Ｓ４２：当たり判定手段１６は、グリップの最新のゲーム空間座標Ｑ”が検出されると（Ｓ４１）、そこから算出される仮想ヘッドが当たりエリア内に存在しているか否かを判断する（Ｓ４２）。当たりエリア内であればステップＳ４３に移行し、当たりエリア外であればステップＳ４１に戻る。
【００８７】
ステップＳ４３：当たり判定手段１６は、仮想ヘッドが当たりエリアに存在している滞在時間が、規定滞在時間Ｔｓ以上か否かを判断する。この判断は、前記１９に例示するヘッド位置テーブルに基づいて行う。“Ｙｅｓ”と判断すればステップＳ４４に移行し、“Ｎｏ”と判断すればステップＳ４１に戻る。
ステップＳ４４：当たり判定手段１６は、当たりエリア内でのひねり角θの平均値、すなわちアドレス時のひねり角θａが規定範囲（θ１≦θａ≦θ２）か否かを判断する。“Ｙｅｓ”と判断すればステップＳ４５に移行し、“Ｎｏ”と判断すればステップＳ４１に戻る。
【００８８】
ステップＳ４５：当たり判定手段は、プレイヤーがアドレスしたと判定する。
ステップＳ４６、Ｓ４７：当たり判定手段１６は、仮想ヘッドが当たりエリアの外にでるのを待機する。
ステップＳ４８：当たり判定手段１６は、仮想ヘッドが当たりエリアを通過するのを待機する。
【００８９】
ステップＳ４９：当たり判定手段１６は、仮想ヘッドが当たりエリアを通過するのに要した通過時間が、規定通過時間Ｔｐ以下か否かを判断する。“Ｙｅｓ”と判断すればステップＳ５０に移行し、“Ｎｏ”と判断すればステップＳ４１に戻る。
ステップＳ５０：当たり判定手段１６は、スイングのずれが規定距離ｄ以下か否かを判断する。“Ｙｅｓ”と判断すればステップＳ５１に移行し、“Ｎｏ”と判断すればステップＳ４１に戻る。
【００９０】
ステップＳ５１：当たり判定手段１６は、プレイヤーがボールを打ったと判断する。
以上の処理により、本ゴルフゲームシステム２０００では、プレイヤーは、モニタ１０１ａに表示される仮想ヘッドがあたかもグリップ２００から伸びる目に見えないシャフトに取り付けられているかのような感覚でスイング動作することができる。また、プレイヤーは、２つのモニタに映し出される景色を見ることにより、ボールを打つ方向をねらいながらボールを打つというゴルフの特性を自然に体感することができる。
【００９１】
＜その他の実施形態例＞
（Ａ）テニスゲームへの応用
例えば、本発明をテニスゲームシステムに適用することも可能である。テニスゲームにおいて、プレイヤーの実操作物のゲーム空間Ｇ内での置換物は、仮想テニスラケット（以下、仮想ラケットという）である。仮想ラケットは、仮想グリップ（仮想接触部）と仮想ラケット面（仮想動作部）とを有している。テニスゲームシステムは、前記図２に示すゴルフゲームシステムの構成を用いて構成することができる。ただし、２つのモニタ２３ａ、２３ｂに代え、１つのモニタ２３を用いる。
【００９２】
（Ａ−１）第２実施形態例に係るテニスゲームシステムの一例
図２８は、本発明の第２実施形態例に係るテニスゲームシステムの一具体例であるテニスゲームシステム３０００の外観斜視図である。このテニスゲームシステム２０００は、ゲーム装置３００と、グリップ状実操作物５１の一例であるグリップ４００とを有している。グリップ４００は、前記図３と同様の構成を用いることができる。
【００９３】
ゲーム装置３００の筐体２０４正面には、画像出力用のモニタ２０１が設けられている。また、筐体２０４の上方両脇には、位置検出部６に含まれる受光センサの一例である受光センサ２０２ａ，ｂが取り付けられている。受光センサ２０２ａ、ｂは、グリップ４００の所定位置に取り付けられた発光ユニットからの光を検出する。モニタ２０１の左右上方には、ゲームのＢＧＭや効果音を出力するためのスピーカ２０５ａ，ｂが取り付けられている。筐体２０４の正面には、モニタ２０１に表示されるメニューを選択するためのボタン２０６が設けられている。また、筐体２０４正面の床面にはフットペダル２０７が設けられている。フットペダル２０７はなくても構わない。ボタン２０６は、前記コントローラ５２の一例である。筐体２０４の正面下部には、コインを入れるためのコイン投入口２０８が設けられている。
【００９４】
このテニスゲームシステム３０００において、プレイヤーは、グリップ４００を用いてスイングすることにより、モニタ２０１に表示される対戦相手とテニスゲームを行う。グリップ４００の実空間座標をゲーム空間座標に変換する方法は、前記第１実施形態例と同様である。このゲームシステム３０００において、テニスボール（被操作物）を表示すれば、プレイヤーキャラクタが操作する仮想ラケットを表示しなくても良い。以下では、仮想ラケットを表示しないテニスゲームシステム３０００について説明する。
【００９５】
（Ａ−２）処理
テニスゲームシステム３０００において、ＣＰＵ１０が行う処理を簡単に説明する。ＣＰＵ１０は、人数選択手段１１、コース選択手段１２、ヘッド表示手段１５に代わるラケット算出手段（図示せず）、当たり判定手段１６、音出力制御手段１７及び状況判定手段１８を有している。人数選択手段１１は、シングルスかダブルスかの選択を、ボタン２０６を操作するプレイヤーから受け付ける。コース選択手段１２は、難易度の選択を、ボタン２０６を操作するプレイヤーから受け付ける。
【００９６】
ラケット算出手段は、グリップ４００の実空間座標から仮想ラケット面のゲーム空間座標を求める。仮想ラケット面のゲーム空間座標は、仮想グリップのゲーム空間座標を通り、傾き角φでゲーム空間Ｇ内のテニスコートとの交点の座標とすればよい。傾き角φは、第１実施形態例と同様に求められる。また、ラケット算出手段は、求めたゲーム空間座標を、最新の所定時間間隔Δｔ分、ＲＡＭ１９に記憶しておく（前記図１９参照）。言い換えれば、ラケット算出手段は、仮想ラケット面のスイングの軌跡を過去Δｔ分記憶しておく。スイングの軌跡は、具体的には、１／１６秒ごとのゲーム空間座標として時系列に記憶される。
【００９７】
当たり判定手段１６は、プレイヤーがグリップ４００を本気で振ったか否かを判断する。この判定は、仮想ラケット面のスイング速度が一定以上であるか否かにより行うことができる。当たり判定手段１６は、スイングの軌跡に従い、プレイヤーがストロークを打っているのか、ボレーをしたのかを判定しても良い。
【００９８】
また、当たり判定手段１６は、プレイヤーが本気で振った仮想ラケットが、ボールと当たったか否かを判断する。この判断は、ボールの軌跡と前記ラケット算出手段が記憶するスイングの軌跡とに基づいて行われる。なお、この判断において、当たり判定手段１６は、仮想ラケット面の面積を計算に入れることが好ましい。仮想ラケット面の面積は、現実のラケット面積である必要はなく、ゲームの面白みをそがない程度に設定すると良い。当たり判定手段１６は、仮想ラケット面のどこに当たったかを判定することも可能である。
【００９９】
さらに、当たり判定手段１６は、プレイヤーが本気で振った場合の仮想ラケット面のひねり角θを算出する。ここで、仮想ラケット面のひねり角θとは、仮想グリップの長手方向の軸を中心とする基準位置からの回転角である。ひねり角θは、前記第１実施形態例と同様に求められる。ひねり角θが規定範囲外の場合、軌跡上は仮想ラケット面がボールと当たっていても、当たり判定手段１６は空振りと判断する。また、ひねり角θが規定範囲内の場合、当たり判定手段１６は、その角度に応じたドライブやスライスをプレーヤがかけたと判断する。
【０１００】
音出力制御手段１７は、前記当たり判定結果に応じ、効果音をスピーカ１０５ａ、ｂに出力させる。
状況判定手段１８は、当たり判定の結果に応じ、ボールの軌跡の計算を行う。ボールの軌跡の計算は、スイングの方向とひねり角θとに基づいて行う。従ってプレイヤーがドライブやスライスをかけた場合、ボールの軌跡にプレイヤーの操作が反映される。また、状況判定手段１８は、スイングの速度に応じてボールの速度や威力の計算を行う。仮想ラケット面のボールが当たった位置に応じてボールの速度や威力を変化させることも可能である。
【０１０１】
これらの処理に加え、状況判定手段１８は、フットペダル２０７が踏まれた場合、プレイヤーをネットにつけることもできる。これにより、プレイヤーはサーブアンドボレーのような攻撃を行ったり、ベースラインから前に出てボレーを行うことができる。図２９は、プレイヤーがベースライン上でボールを打っている場合の画面例である。図３０は、プレイヤーがフットペダル２０７を踏むことにより前に出てボールを打っている場合の画面例である。いずれの画面例も、ゲーム空間Ｇ内のプレイヤーキャラクタの視点から見た景色を示している。
【０１０２】
（Ｂ）その他のゲームへの応用
前記実施形態例ではゴルフゲーム及びテニスゲームを例に挙げて本発明を説明したが、本発明の適用対象はこれらに限定されない。例えば本発明は、クリケット、ゲートボール、ポロ、野球、卓球、バトミントン、釣りにも適用可能である。
【０１０３】
（Ｃ）プログラム及び記録媒体
前記ゲーム方法をコンピュータに実行させるゲームプログラム及びこのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD-ROM、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
【０１０４】
【発明の効果】
本発明を用いれば、設置面積を取らず危険度の少ないかつゲームの種類に応じたそのゲーム本来の面白みをプレイヤーが体感可能なゲームを提供することができる。
【図面の簡単な説明】
【図１】第１実施形態例に係るゴルフゲームシステムのブロック図。
【図２】図１のゴルフゲームシステムの一具体例であるゴルフゲームシステム。
【図３】図２のゴルフゲームシステムにおけるグリップの概略構成図。
【図４】図２のゴルフゲームシステムにおいてプレイ中のプレイヤーの状態を示す説明図。
【図５】図２のゴルフゲームシステムにおけるプレイヤーの成績のつけ方の一例を示す説明図。
（Ａ）換算テーブル
（Ｂ）成績の付け方を示す説明図。
【図６】図２のゴルフゲームシステムにおけるセンサ座標系とプレイヤー座標系との関係を示す説明図。
【図７】図２のゴルフゲームシステムにおけるプレイヤー座標系とゲーム空間座標系との関係を示す説明図。
【図８】人数選択画面の一例を示す説明図。
【図９】コース選択画面の一例を示す説明図。
【図１０】前方景色の画面例を示す説明図。
【図１１】打ったボールが飛んでいく様子を拡大して表示した前方景色の画面例を示す説明図。
【図１２】グリーン上のプレイヤーから見たカップ方向の前方景色の画面例を示す説明図。
【図１３】コース中間地点でのプレイヤーのプレイ風景を表示する画面例を示す説明図。
【図１４】「通常」の足下景色の一例を示す説明図。
【図１５】「ラフ」の足下景色の一例を示す説明図。
【図１６】「バンカー」の足下景色の一例を示す説明図。
【図１７】前方景色として仮想視点から見た遠景を表示する場合の画面補正の模式図。
（Ａ）仮想視点からの視野に入る前方景色は、仮想視点からの視野に入る足下景色と不連続であることを示す説明図。
（Ｂ）本来不連続な前方景色と足下景色とをつなげて表示する説明図。
【図１８】前方景色として仮想視点から見た近景を表示する場合の画面補正の模式図。
（Ａ）仮想視点から見た足下景色と連続する前方景色が見える視点２を示す説明図。
（Ｂ）仮想視点から見た足下景色と連続する前方景色を表示する説明図。
【図１９】ヘッド位置テーブルの概念説明図。
【図２０】プレイヤーがグリップをひねった場合の１番ウッドの表示例を示す説明図。
【図２１】プレイヤーがグリップを少しひねった場合の５番アイアンの表示例を示す説明図。
【図２２】グリップをひねらずに構えた場合のパターの表示例を示す説明図。
【図２３】仮想ヘッドの軌跡及び速度の表示例を示す説明図。
【図２４】あたり判定の説明図
（Ａ）仮想クラブがウッドの場合のあたり判定の説明図。
（Ｂ）仮想クラブがアイアンの場合の当たり判定の説明図。
（Ｃ）仮想クラブがパターの場合の当たり判定の説明図。
（Ｄ）アドレス時のひねり角θａの規定範囲を示す概念説明図。
【図２５】図２のゴルフゲームシステムにおけるメイン処理の流れを示すフローチャート。
【図２６】図２のゴルフゲームシステムにおけるホールサブルーチンで行われる処理の流れを示すフローチャート。
【図２７】図２のゴルフゲームシステムにおける当たり判定処理の流れを示すフローチャート。
【図２８】テニスゲームシステムの一具体例を示す説明図。
【図２９】プレイヤーがベースラインにいる場合の画面例。
【図３０】プレイヤーが前に出た場合の画面例。
【符号の説明】
１：制御部
２：画像処理部
３：音声処理部
４：半導体メモリ
５：操作部
６：位置検出部
７：傾き検出部
【図１】
0004028708.tif 000002
【図２】
0004028708.tif 000003
【図３】
0004028708.tif 000004
【図４】
0004028708.tif 000005
【図５】
0004028708.tif 000006
【図６】
0004028708.tif 000007
【図７】
0004028708.tif 000008
【図８】
0004028708.tif 000009
【図９】
0004028708.tif 000010
【図１０】
0004028708.tif 000011
【図１１】
0004028708.tif 000012
【図１２】
0004028708.tif 000013
【図１３】
0004028708.tif 000014
【図１４】
0004028708.tif 000015
【図１５】
0004028708.tif 000016
【図１６】
0004028708.tif 000017
【図１７】
0004028708.tif 000018
【図１８】
0004028708.tif 000019
【図１９】
0004028708.tif 000020
【図２０】
0004028708.tif 000021
【図２１】
0004028708.tif 000022
【図２２】
0004028708.tif 000023
【図２３】
0004028708.tif 000024
【図２４】
0004028708.tif 000025
【図２５】
0004028708.tif 000026
【図２６】
0004028708.tif 000027
【図２７】
0004028708.tif 000028
【図２８】
0004028708.tif 000029
【図２９】
0004028708.tif 000030
【図３０】
0004028708.tif 000031