(57)【要約】【課題】  オブジェクト空間内を移動する移動体オブジェクトが静止オブジェクトに衝突した場合に、移動体オブジェクトを容易に静止オブジェクトから離れる方向に移動させることが可能なゲーム装置、プログラム、情報記憶媒体を提供すること。【解決手段】  ハンドル１０の回転角を検出する検出部と、前記検出部の検出結果に基づいて、コースＣＳ上を走行する移動体オブジェクトＭＯの移動方向ＭＶを制御する移動制御部と、移動体オブジェクトＭＯがコースＣＳの両端に設定された静止オブジェクトＷＯに接触したか否かを判断し、接触したと判断した場合に、ハンドル１０を所定角度θだけ回転させるための制御信号を生成する制御信号生成部と、前記制御信号に基づいて、ハンドル１０を回転させるハンドル駆動部とを含むことを特徴とする。【選択図】図４
2009189527.tif 000002
【特許請求の範囲】
【請求項１】
プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するゲーム装置であって、
前記操作部の回転量を検出する検出部と、
前記検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成する制御信号生成部と、
前記制御信号に基づいて前記操作部を回転させる駆動部とを含むことを特徴とするゲーム装置。
【請求項２】
請求項１において、
前記移動制御部は、
前記検出部の検出結果に基づいて、コース上を走行する前記移動体オブジェクトの移動方向を制御し、
前記制御信号生成部は、
前記移動体オブジェクトが前記コースの両端に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項３】
請求項２において、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあるか左側にあるかを判断し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあると判断した場合には、前記操作部を左回転させるための制御信号を生成し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって左側にあると判断した場合には、前記操作部を右回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項４】
請求項２又は３において、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度を求め、求めた角度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項５】
請求項４において、
前記制御信号生成部は、
前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度が大きいほど前記操作部の回転量を大きくして、前記操作部を当該回転量だけ回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動速度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項７】
請求項２乃至６のいずれかにおいて、
前記制御信号生成部は、
前記移動体オブジェクトが前記コース上に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記操作部は、ハンドル又はステアリングホイールで構成されることを特徴とするゲーム装置。
【請求項９】
プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
前記操作部の回転量を検出する検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成し、前記操作部を回転させる駆動部に対して生成した制御信号を出力する制御信号生成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項１０】
コンピュータ読み取り可能な情報記憶媒体であって、請求項９のプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及びゲーム装置に関する。
【背景技術】
【０００２】
従来から、プレーヤがハンドル（ステアリングホイール）を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクト（例えば車両）の移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するゲーム装置が知られている。
【０００３】
このようなゲーム装置では、より実車に近いハンドル操作感を得るために、路面状況、衝突等により発生する振動をシミュレートして、ハンドルに振動を与えるものが知られている（例えば、特許文献１）。
【特許文献１】特開平４−２３２８２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら従来のゲーム装置では、車両がコース両端の壁等に衝突した場合に、ハンドルに振動を与えるのみであり、プレーヤがハンドルをコース中央側に戻す操作を行わない限り、車両をコース中央寄りに復帰させることができなかった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、
オブジェクト空間内を移動する移動体オブジェクトが静止オブジェクトに衝突した場合に、移動体オブジェクトを容易に静止オブジェクトから離れる方向に移動させることが可能なゲーム装置、プログラム、情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するゲーム装置であって、
前記操作部の回転量を検出する検出部と、
前記検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成する制御信号生成部と、
前記制御信号に基づいて前記操作部を回転させる駆動部とを含むことを特徴とする。
【０００７】
また本発明は、プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
前記操作部の回転量を検出する検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成し、前記操作部を回転させる駆動部に対して生成した制御信号を出力する制御信号生成部としてコンピュータを機能させることを特徴とする。
【０００８】
また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
【０００９】
本発明によれば、前記移動体オブジェクトが静止オブジェクトに接触したと判断した場合に、操作部を所定量回転させることにより、移動体オブジェクトを静止オブジェクトから離れる方向に移動させることができる。
【００１０】
（２）また本発明に係るゲーム装置では、
前記移動制御部は、
前記検出部の検出結果に基づいて、コース上を走行する前記移動体オブジェクトの移動方向を制御し、
前記制御信号生成部は、
前記移動体オブジェクトが前記コースの両端に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とする。
【００１１】
本発明において、コースの両端に設定された静止オブジェクトとは、移動体オブジェクトがコースから出られないようにするためのオブジェクトをいい、例えばコース両端に設置された壁、建物、樹木などの表示物を表すオブジェクトでもよい。
【００１２】
本発明によれば、前記移動体オブジェクトが前記コースの両端に設定された静止オブジェクトに接触したと判断した場合に、操作部を所定量回転させることにより、移動体オブジェクトを容易にコース中央寄りに復帰させることができる。
【００１３】
（３）また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあるか左側にあるかを判断し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあると判断した場合には、前記操作部を左回転させるための制御信号を生成し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって左側にあると判断した場合には、前記操作部を右回転させるための制御信号を生成することを特徴とする。
【００１４】
本発明において、操作部を左回転させるとは、操作部をプレーヤから見て左側に（反時計回りに）回転させることをいい、操作部を右回転させるとは、操作部をプレーヤから見て右側に（時計回りに）回転させることをいう。
【００１５】
本発明によれば、前記移動体オブジェクトが移動方向右側又は左側に設定された静止オブジェクトに接触したと判断した場合に、移動体オブジェクトを容易にコース中央寄りに復帰させることができる。
【００１６】
（４）また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度を求め、求めた角度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とする。
【００１７】
本発明によれば、接触時の移動体オブジェクトの姿勢に応じて、操作部の回転量を変化させることができ、移動体オブジェクトをコースに復帰させるための適切な角度だけ操作部を回転させることができる。
【００１８】
（５）また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度が大きいほど前記操作部の回転量を大きくして、前記操作部を当該回転量だけ回転させるための制御信号を生成することを特徴とする。
【００１９】
（６）また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動速度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とする。
【００２０】
本発明によれば、接触時の移動体オブジェクトの速度に応じて、操作部の回転量を変化させることができる。
【００２１】
（７）また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記コース上に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とする。
【００２２】
本発明において、コース上に設定された静止オブジェクトとは、例えばコース上に配置された中央分離帯、障害物などの表示物を表すオブジェクトでもよい。
【００２３】
本発明によれば、前記移動体オブジェクトがコース上に設定された静止オブジェクトに接触したと判断した場合に、移動体オブジェクトを前記静止オブジェクトから離れる方向に移動させることができる。
【００２４】
（８）また本発明に係るゲーム装置では、
前記操作部は、ハンドル又はステアリングホイールで構成されることを特徴とする。
【発明を実施するための最良の形態】
【００２５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２６】
１．システム概略
図１は、本実施形態のゲーム装置の概略外観図である。本実施形態のゲーム装置１は、サーキットコースあるいは市街地コースを走行するレーシングカー（移動体オブジェクト）をプレーヤが運転し、他のプレーヤの運転するレーシングカーやコンピューターカーと順位や時間を競い合うように形成されている。
【００２７】
プレーヤは、シート１８に座ってゲーム画面が表示されるディスプレイ２０を見ながらハンドル１０（ステアリングホイール）を操作し、必要に応じてアクセル１２あるいはブレーキ１４を踏みつけるとともにシフトレバー１６を操作してゲームを行う。
【００２８】
図２に示すように、ハンドル１０にはシャフト３２の一端が固定され、ハンドル１０が回転操作されたときにシャフト３２も回転するように構成されている。そしてハンドル１０の回転状態（回転量、回転角）は可変抵抗器３４によって検出され、検出結果が出力される。
【００２９】
またシャフト３２にはブラシレスモータ３６が設けられている。ブラシレスモータ３６は、ハンドル１０を所定角度回転させるための制御信号に基づいて、シャフト３２に対して一定時間回転力を与え、ハンドル１０を所定量（所定角度）回転させる。またブラシレスモータ３６は、シャフト３２に対して、ハンドル１０を所定位置に戻そうとする復元力や、ハンドル１０を回そうとする力に対抗する抵抗力を与えることができる。
【００３０】
２．構成
図３に本実施形態のゲーム装置の機能ブロック図の例を示す。なお本実施形態のゲーム装置は図３の構成要素（各部）の一部を省略した構成としてもよい。
【００３１】
操作部１６０は、プレーヤがオブジェクト（移動体オブジェクト）の操作データを入力するためのものであり、その機能は、図１に示すハンドル１０（ステアリングホイール）、レバー１６、ペダル（アクセル１２、ブレーキ１４）、ボタン、或いは筺体などにより実現できる。
【００３２】
操作部１６０は、検出部１６２、ハンドル駆動部１６４（駆動部）を含む。
【００３３】
検出部１６２は、ハンドル１０の回転角（操舵角）を検出し、検出結果を出力するものであり、その機能は図２に示す可変抵抗器３４などにより実現できる。
【００３４】
ハンドル駆動部１６４は、制御信号生成部１１３からの制御信号に基づいてハンドル１０を所定角度回転するものであり、その機能は図２に示すブラシレスモータ３６などにより実現できる。
【００３５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７２と、最終的な表示画像等が記憶されるフレームバッファ１７４と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７６と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７８と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７９と、を含む。なお、これらの一部を省略する構成としてもよい。
【００３６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００３７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００３８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３９】
通信部１９６は外部（例えば他のゲーム装置、サーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４０】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信してゲーム装置を機能させる場合も本発明の範囲内に含む。
【００４１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクト、エフェクトモデルを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４２】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２（移動制御部）、制御信号生成部１１３、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４３】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４４】
移動・動作処理部１１２は、オブジェクト（キャラクタ、移動体オブジェクト等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４５】
特に本実施形態の移動・動作処理部１１２（移動制御部）は、検出部１６２の検出結果（ハンドル１０の回転角）に基づいて、移動体オブジェクトの移動方向（速度ベクトルの向き）を制御する。また移動・動作処理部１１２はコース上を走行する移動体オブジェクトの移動方向を制御するようにしてもよい。
【００４６】
制御信号生成部１１３は、移動・動作処理部１１２によって求められたオブジェクトの移動情報に基づいて、前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、ハンドル１０を所定量回転させるための制御信号を生成して、ハンドル駆動部１６４に出力する。
【００４７】
また制御信号生成部１１３は、前記移動体オブジェクトが前記コースの両端に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、ハンドル１０を所定量回転させるための制御信号を生成するようにしてもよい。
【００４８】
また制御信号生成部１１３は、前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあるか左側にあるかを判断し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあると判断した場合には、ハンドル１０を左回転させるための制御信号を生成し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって左側にあると判断した場合には、ハンドル１０を右回転させるための制御信号を生成するようにしてもよい。
【００４９】
また制御信号生成部１１３は、前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度を求め、求めた角度に基づきハンドル１０の回転量を求め、ハンドル１０を求めた回転量だけ回転させるための制御信号を生成するようにしてもよい。
【００５０】
また制御信号生成部１１３は、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度が大きいほどハンドル１０の回転量を大きくして、ハンドル１０を当該回転量だけ回転させるための制御信号を生成するようにしてもよい。
【００５１】
また制御信号生成部１１３は、前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動速度に基づきハンドル１０の回転量を求め、ハンドル１０を求めた回転量だけ回転させるための制御信号を生成するようにしてもよい。
【００５２】
また制御信号生成部１１３は、前記移動体オブジェクトが前記コースの上に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、ハンドル１０を所定量回転させるための制御信号を生成するようにしてもよい。
【００５３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）等に基づいて、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００５４】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００５５】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００５６】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。
【００５７】
ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５９】
なお、本実施形態のゲーム装置は、１人のプレーヤのみがプレイできるシングルプレーヤモード専用の装置にしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備える装置にしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６０】
３．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００６１】
図４（Ａ）、図４（Ｂ）は、本実施形態のハンドル制御の一例について説明するための図である。
【００６２】
本実施形態では、プレーヤはハンドル１０を操作することにより、コースＣＳ上を走行する移動体オブジェクトＭＯ（車両）の移動方向ＭＶを制御する。また、コースＣＳの両端には、壁オブジェクトＷＯ（静止オブジェクト）が設定され、移動体オブジェクトＭＯがコースＣＳの外側に出られないようになっている。
【００６３】
そして図４（Ａ）に示すように、移動体オブジェクトＭＯが移動方向ＭＶに向かって左側の壁オブジェクトＷＯに接触した場合には、ハンドル１０を所定角度θだけ右回り（時計回り）に回転させて、移動体オブジェクトＭＯの移動方向ＭＶをコースＣＳ中央寄りに変化させる制御を行う。
【００６４】
また図４（Ｂ）に示すように、移動体オブジェクトＭＯが移動方向ＭＶに向かって右側の壁オブジェクトＷＯに接触した場合には、ハンドル１０を所定角度θだけ左回り（反時計回り）に回転させて、移動体オブジェクトＭＯの移動方向ＭＶをコースＣＳ中央寄りに変化させる制御を行う。
【００６５】
このように本実施形態によれば、移動体オブジェクトＭＯが壁オブジェクトＷＯに衝突した場合に、衝突した壁オブジェクトＷＯの位置する方向と反対方向にハンドル１０を物理的に回転させる制御を行うことで、プレーヤ自身にハンドル１０を操作させることなく、移動体オブジェクトＭＯをコースＣＳ中央寄りに復帰させることができ、移動体オブジェクトＭＯが壁オブジェクトＷＯに衝突し続ける事態を防止することができる。またプレーヤは、自身の運転する移動体オブジェクトＭＯが壁オブジェクトＷＯと衝突した反動でハンドル１０が回転したような感覚を得ることができる。
【００６６】
なお、移動体オブジェクトＭＯが壁オブジェクトＷＯに接触した場合には、移動体オブジェクトＭＯの移動方向ＭＶを壁オブジェクトＷＯに沿う向きに変化させた上で、上記手法によりハンドル１０を回転させるようにしてもよい。この場合、ハンドル１０を大きく回転させることなく、移動オブジェクトＭＯをコースＣＳ中央寄りに復帰させることができる。
【００６７】
図５（Ａ）、図５（Ｂ）は、移動体オブジェクトＭＯの壁オブジェクトＷＯとの接触時の姿勢によってハンドル１０を回転させる角度を制御する例について説明するための図である。
【００６８】
本実施形態では、図５（Ａ）、図５（Ｂ）に示すように、移動体オブジェクトＭＯが壁オブジェクトＷＯに接触した場合には、壁オブジェクトＷＯの移動体オブジェクトＭＯとの接触点ＣＰにおける接線方向ＴＶと移動体オブジェクトＭＯの移動方向ＭＶとがなす角度（進入角度）φを求め、求めた進入角度φに基づきハンドル１０を回転させる角度θ（ハンドル１０の回転量）を求める。
【００６９】
すなわち、図５（Ａ）、図５（Ｂ）に示すように、進入角度φが大きいほどハンドル１０を回転させる角度θが大きくなるように制御している。例えば、移動体オブジェクトＭＯの移動方向ＭＶを、進入角度φ＋所定の角度αだけコースＣＳ中央寄りに変化させるような角度θを求めて、求めた角度θだけハンドル１０を回転させるようにしてもよい。
【００７０】
このように、本実施形態によれば、壁オブジェクトＷＯに対する移動体オブジェクトＭＯの進入角度φが大きくなるほどハンドル１０を回転させる角度θを大きくするように制御することで、移動体オブジェクトＭＯがコースに復帰するために必要な角度だけハンドル１０を回転させることができる。またプレーヤは、移動体オブジェクトＭＯが壁オブジェクトＷＯに対して深い角度で衝突した場合（進入角度φが大きい場合）に、浅い角度で衝突した場合に比べてより大きな反動がハンドル１０に生じたような感覚を得ることができる。
【００７１】
なお、移動体オブジェクトＭＯが壁オブジェクトＷＯに接触した場合には、接触時の移動体オブジェクトＭＯの移動速度（速度ベクトルの大きさ）に基づきハンドル１０を回転させる角度θを求めるようにしてもよい。この場合、接触時の移動体オブジェクトＭＯの移動速度が大きいほどハンドル１０を回転させる角度θを大きくするように制御することで、プレーヤは、移動体オブジェクトＭＯの衝突時の速度が大きいほど、より大きな反動がハンドル１０に生じたような感覚を得ることができる。
【００７２】
図６は、移動体オブジェクトＭＯがコースＣＳ上の静止オブジェクトに接触した場合のハンドル制御の一例について説明するための図である。
【００７３】
図６に示す例では、コースＣＳ上に中央分離帯を表すオブジェクトＣＯ（静止オブジェクト）が設定されている。そして図６に示すように、移動体オブジェクトＭＯが移動方向ＭＶ右側のオブジェクトＣＯに接触した場合には、ハンドル１０を所定角度θだけ左回り（反時計回り）に回転させて、移動体オブジェクトＭＯの移動方向ＭＶをオブジェクトＣＯから離れる方向に変化させる制御を行う。このようにすることで、プレーヤ自身にハンドル１０を操作させることなく、移動体オブジェクトＭＯをオブジェクトＣＯから離れる方向に移動させることができ、移動体オブジェクトＭＯがオブジェクトＣＯに衝突し続ける事態を防止することができる。
【００７４】
４．本実施形態の処理
次に、本実施形態の処理の一例について図７のフローチャートを用いて説明する。
【００７５】
まず、移動・動作処理部１１２は、検出部１６２の検出結果（ハンドルの回転角）に基づいて、移動体オブジェクトＭＯの移動方向ＭＶを制御する（ステップＳ１０）。
【００７６】
次に、制御信号生成部１１３は、移動体オブジェクトＭＯが静止オブジェクト（壁オブジェクトＷＯ、中央分離帯を表すオブジェクトＣＯ）に接触したか否かを判断し（ステップＳ１２）、接触したと判断した場合には、静止オブジェクトに対する移動体オブジェクトＭＯの進入角度φを求め、求めた進入角度φに基づきハンドル１０を回転させる角度θを求める（ステップＳ１４）。
【００７７】
次に、制御信号生成部１１３は、接触した静止オブジェクトが移動体オブジェクトＭＯの移動方向ＭＶに向かって右側にあるか否かを判断し（ステップＳ１６）、右側にあると判断した場合には、ハンドル１０を角度θだけ左回りに回転させるための制御信号を生成する（ステップＳ１８）。
【００７８】
ステップＳ１６において、接触した静止オブジェクトが移動体オブジェクトＭＯの移動方向ＭＶに向かって右側にない（接触した静止オブジェクトが移動体オブジェクトＭＯの移動方向ＭＶに向かって左側にある）と判断した場合には、制御信号生成部１１３は、ハンドル１０を角度θだけ右回りに回転させるための制御信号を生成する（ステップＳ２０）。ここでハンドルを角度θだけ右回転或いは左回転させるための制御信号とは、ハンドルの回転方向、回転角度、回転時間、回転力（トルク）、ハンドル１０が戻ろうとする位置、抵抗力等を、ハンドル駆動部１６４に指示する制御信号である。
【００７９】
次に、ステップＳ１８又はステップＳ２０の処理において生成した制御信号をハンドル駆動部１６４に出力する（ステップＳ２２）。
【００８０】
次に、処理を続けるか否か判断し（ステップＳ２４）、続けるのであればステップＳ１０に戻り、ステップＳ１０以下の処理を繰り返す。
【００８１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【図面の簡単な説明】
【００８２】
【図１】本実施形態のゲーム装置の概略外観図。
【図２】本実施形態の操作部の構成を示す図。
【図３】本実施形態のゲーム装置の機能ブロック図。
【図４】図４（Ａ）、図４（Ｂ）は、本実施形態のハンドル制御の一例について説明するための図。
【図５】図５（Ａ）、図５（Ｂ）は、移動体オブジェクトの壁オブジェクトとの接触時の姿勢によってハンドルの回転角度を制御する例について説明するための図。
【図６】移動体オブジェクトがコース上の静止オブジェクトに接触した場合のハンドル制御の一例について説明するための図。
【図７】本実施形態の処理の流れを示すフローチャート図。
【符号の説明】
【００８３】
１０  ハンドル、１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１３  制御信号生成部、１１４  仮想カメラ制御部、１２０  描画部、１３０  音生成部、１６０  操作部、１６２  検出部、１６４  ハンドル駆動部、１７０  記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2009189527.tif 000003
【図２】
2009189527.tif 000004
【図３】
2009189527.tif 000005
【図４】
2009189527.tif 000006
【図５】
2009189527.tif 000007
【図６】
2009189527.tif 000008
【図７】
2009189527.tif 000009