(57)【要約】【課題】  本発明の解決しようとする課題は、従来にはない新規な信号等の指示オブジェクトの制御を実現することである。【解決手段】  以下の特徴を有するシミュレーション装置を提供する。すなわち、指示オブジェクト制御部１２０は、指示オブジェクトの移動指示状態と停止指示状態を、時間情報に基づいて切り替え、計時制御部１１９は、所定の条件が満たされたと判定された場合、基準時間を通常計時処理とは異なる態様で変化させる特殊計時処理を行う。【選択図】図１３
2011197888.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内をユーザの操作によって移動体が移動するシミュレーションを実行するシミュレーション装置であって、
操作部と、
前記操作部の操作に基づいて前記移動体を移動及び停止させる移動体制御部と、
前記仮想空間内に、前記移動体の移動及び停止を指示するための指示オブジェクトを配置するオブジェクト空間設定部と、
基準時間を一定の速さで経過させる通常計時処理を行うことにより、仮想的に設定された時間情報を更新する計時制御部と、
前記指示オブジェクトの移動指示状態と停止指示状態を、前記時間情報に基づいて切り替える指示オブジェクト制御部と、
前記シミュレーション中に、前記指示オブジェクトの状態の切り替えに影響を与える所定の条件が満たされたことを判定する条件判定部を有し、
前記計時制御部は、前記所定の条件が満たされたと判定された場合、前記基準時間を前記通常計時処理とは異なる態様で変化させる特殊計時処理を行うことにより、前記時間情報を更新することを特徴とするシミュレーション装置。
【請求項２】
請求項１において、
前記仮想空間内に、前記指示オブジェクトと関連付けられた状態変化領域を設定する領域設定部をさらに有し、
前記条件判定部は、前記移動体と前記状態変化領域の位置関係に基づいて、前記所定の条件が満たされたと判定することを特徴とするシミュレーション装置。
【請求項３】
請求項１又は２において、
前記特殊計時処理は、前記所定の条件が満たされたと判定された時から所定時間後に、前記指示オブジェクトが停止指示状態となるように前記時間情報を更新する処理であることを特徴とするシミュレーション装置。
【請求項４】
請求項１〜３において、
前記特殊計時処理は、前記通常計時処理よりも速く前記基準時間を経過させる処理であることを特徴とするシミュレーション装置。
【請求項５】
請求項１〜４において、
前記オブジェクト空間設定部は、前記仮想空間内に、複数の指示オブジェクトを配置し、
前記指示オブジェクト制御部は、前記複数の指示オブジェクトの移動指示状態と停止指示状態の切り替えを、前記計時制御部が更新する単一の時間情報に基づいて行うことを特徴とするシミュレーション装置。
【請求項６】
請求項５において、
前記指示オブジェクト制御部は、前記複数の指示オブジェクトの移動指示状態と停止指示状態を、各指示オブジェクトに予め設定された切替タイミングで切り替えることを特徴とするシミュレーション装置。
【請求項７】
請求項５又は６において、
前記条件判定部は、所定の特殊状態変化イベントが発生したことを判定し、
前記指示オブジェクト制御部は、前記特殊状態変化イベントが発生したと判定された場合、前記時間情報に関わらず、前記複数の指示オブジェクトを同時に移動指示状態又は停止指示状態にすることを特徴とするシミュレーション装置。
【請求項８】
シミュレーション装置に、仮想空間内をユーザの操作によって移動体が移動するシミュレーションを実行させるプログラムであって、
操作部と、
前記操作部の操作に基づいて前記移動体を移動及び停止させる移動体制御部と、
前記仮想空間内に、前記移動体の移動及び停止を指示するための指示オブジェクトを配置するオブジェクト空間設定部と、
基準時間を一定の速さで経過させる通常計時処理を行うことにより、仮想的に設定された時間情報を更新する計時制御部と、
前記指示オブジェクトの移動指示状態と停止指示状態を、前記時間情報に基づいて切り替える指示オブジェクト制御部と、
前記シミュレーション中に、前記指示オブジェクトの状態の切り替えに影響を与える所定の条件が満たされたことを判定する条件判定部としてシミュレーション装置を機能させ、
前記計時制御部は、前記所定の条件が満たされたと判定された場合、前記基準時間を前記通常計時処理とは異なる態様で変化させる特殊計時処理を行うことにより、前記時間情報を更新することを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムが記録された情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーション装置、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、運転者が安全運転や地球環境に優しい運転をしているかどうかを評価する装置が知られている（特許文献１）。この従来技術によれば、運転者は、現実の車の運転についての評価を知ることができ、安全運転や地球環境に優しい運転を学ぶことができる。
【特許文献１】特開２０００−２４７１６２号
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記従来技術では、現実の運転において運転者が運転を学ぶことができるが、運転シミュレーション装置による仮想空間内の運転においても運転を学ぶことができるようにすることが望ましい。そのような、運転シミュレーションを実現しようとする場合、仮想空間内の移動体の移動及び停止を指示するために、信号等の指示オブジェクトを配置する必要がある。
【０００４】
本発明の課題は、従来にはない新規な指示オブジェクトの制御を実現することである。
【課題を解決するための手段】
【０００５】
（１）上記課題を解決するための第１、第８及び第９の発明は、仮想空間内をユーザの操作によって移動体が移動するシミュレーションを実行するシミュレーション装置であって、操作部と、操作部の操作に基づいて移動体を移動及び停止させる移動体制御部と、仮想空間内に、移動体の移動及び停止を指示するための指示オブジェクトを配置するオブジェクト空間設定部と、基準時間を一定の速さで経過させる通常計時処理を行うことにより、仮想的に設定された時間情報を更新する計時制御部と、指示オブジェクトの移動指示状態と停止指示状態を、時間情報に基づいて切り替える指示オブジェクト制御部と、シミュレーション中に、指示オブジェクトの状態の切り替えに影響を与える所定の条件が満たされたことを判定する条件判定部を有し、計時制御部は、所定の条件が満たされたと判定された場合、基準時間を通常計時処理とは異なる態様で変化させる特殊計時処理を行うことにより、時間情報を更新することを特徴とするシミュレーション装置、シミュレーション装置を上記のように機能させるプログラム及び当該プログラムが記録された情報記憶媒体である。
【０００６】
これにより、所定の条件が満たされると、指示オブジェクト制御のための計時処理が通常状態から変更されるという新規な指示オブジェクトの制御が実現できる。
【０００７】
（２）第２の発明は、第１、第８、第９の発明のずれかに従属するものであって、仮想空間内に、指示オブジェクトと関連付けられた状態変化領域を設定する領域設定部をさらに有し、条件判定部は、移動体と状態変化領域の位置関係に基づいて、所定の条件が満たされたと判定することを特徴とする。
【０００８】
このようにすれば、移動体と状態変化領域の位置関係に基づいて指示オブジェクト制御のための計時処理が通常状態から変更されるという新規な指示オブジェクトの制御が実現できる。
【０００９】
（３）第３の発明は、第１、第２、第８、第９の発明のいずれかに従属するものであって、特殊計時処理は、所定の条件が満たされたと判定された時から所定時間後に、指示オブジェクトが停止指示状態となるように時間情報を更新する処理であることを特徴とする。
【００１０】
このようにすれば、ユーザに移動体を停止させる操作を行わせることができ、停止運転を効果的に学ばせることができる。
【００１１】
（４）第４の発明は、第１〜３、第８、第９の発明のいずれかに従属するものであって、特殊計時処理は、通常計時処理よりも速く基準時間を経過させる処理であることを特徴とする。
【００１２】
このようにすれば、所定の条件が満たされると、指示オブジェクト制御のための計時処理が通常状態よりも時間の経過が速い処理に変更されるという新規な指示オブジェクトの制御が実現できる。
【００１３】
（５）第５の発明は、第１〜４、第８、第９の発明のいずれかに従属するものであって、オブジェクト空間設定部は、仮想空間内に、複数の指示オブジェクトを配置し、指示オブジェクト制御部は、複数の指示オブジェクトの移動指示状態と停止指示状態の切り替えを、計時制御部が更新する単一の時間情報に基づいて行うことを特徴とする。
【００１４】
このようにすれば、簡易な処理で複数の指示オブジェクトを制御することができる。
【００１５】
（６）第６の発明は、第５の発明に従属するものであって、指示オブジェクト制御部は、複数の指示オブジェクトの移動指示状態と停止指示状態を、各指示オブジェクトに予め設定された切替タイミングで切り替えることを特徴とする。
【００１６】
このようにすれば、単一の時間情報に基づいて、複数の指示オブジェクトの状態をそれぞれ異なるタイミングで切り替えることができる。
【００１７】
（７）第７の発明は、第５又は第６の発明に従属鶴ものであって、条件判定部は、所定の特殊状態変化イベントが発生したことを判定し、指示オブジェクト制御部は、特殊状態変化イベントが発生したと判定された場合、時間情報に関わらず、複数の指示オブジェクトを同時に移動指示状態又は停止指示状態にすることを特徴とする。
【００１８】
このようにすれば、基準時間による指示オブジェクトの制御において、特定のイベントが発生した場合は基準時間によらず指示オブジェクトの状態を切り替えることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態のシミュレーション装置の機能ブロック図
【図２】本実施形態のシミュレーションを説明するための図
【図３】本実施形態のシミュレーションを説明するための図
【図４】本実施形態のシミュレーションを説明するための図
【図５】本実施形態のシミュレーションを説明するための図
【図６】本実施形態の処理の流れを示すフローチャート
【図７】本実施形態のシミュレーションを説明するための図
【図８】本実施形態のシミュレーションを説明するための図
【図９】本実施形態のシミュレーションを説明するための図
【図１０】本実施形態のシミュレーションを説明するための図
【図１１】本実施形態の処理の流れを示すフローチャート
【図１２】本実施形態のシミュレーションを説明するための図
【図１３】本実施形態のシミュレーションを説明するための図
【図１４】本実施形態のシミュレーションを説明するための図
【図１５】本実施形態の処理の流れを示すフローチャート
【図１６】本実施形態の処理の流れを示すフローチャート
【発明を実施するための最良の形態】
【００２０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２１】
１．構成
図１を用いて本実施形態の運転シミュレーション装置の構成について説明する。なお、図１は、本実施形態の運転シミュレーション装置における機能構成の例である。また、本実施形態の運転シミュレーション装置は、図１に示す構成要素（各部）の一部を省略した構成としてもよい。
【００２２】
操作部１６０（シミュレーションコントローラ）は、ユーザが操作データを入力するためのものであり、その機能は、方向キー、アナログスティック、ボタン、レバー、ステアリング、ペダル、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２３】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどにより実現できる。特に、この記憶部１７０は、処理部１００がワーク領域として利用する主記憶部１７２及び画像を生成する際に用いる描画バッファ１７４を含む。主記憶部１７２には、シミュレーション実行に必要なパラメータ等の各種情報が記憶され、これらの情報はシミュレーションの進行に伴って更新される。
【００２４】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００２５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００２６】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２７】
携帯型情報記憶装置１９４には、ユーザの個人データやシミュレーションのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型シミュレーション装置などがある。
【００２８】
通信部１９６は、外部（例えばホスト装置や他の運転シミュレーション装置）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２９】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、シミュレーション処理、画像生成処理、或いは音生成処理などを行う。この処理部１００は、記憶部１７０の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。そして、この処理部１００は、シミュレーション処理部１１０、画像生成部１４０、音生成部１５０を含む。
【００３１】
シミュレーション処理部１１０は、操作部１６０から入力された又はシミュレーション処理部１１０内部にて設定された操作データやプログラムなどに基づいてシミュレーション処理を行う。
【００３２】
このシミュレーション処理としては、シミュレーション開始条件が満たされた場合にシミュレーションを開始する処理、シミュレーションを進行させる処理、車両やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、シミュレーション結果を演算する処理、或いはシミュレーション終了条件が満たされた場合にシミュレーションを終了する処理などがある。
【００３３】
また、本実施形態のシミュレーション処理部１１０は、例えば、車両、船舶又は飛行機などの移動体オブジェクトの運転シミュレーションを実行するための各種の処理を行う。そして、本実施形態のシミュレーション処理部１１０は、ユーザの操作に基づいて上述の移動体オブジェクトの移動を制御し、単独又は複数のユーザにてオブジェクト空間に形成されるコースに従って運転シミュレーションを実行するための各種の処理を行う。
【００３４】
そしてシミュレーション処理部１１０は、移動体オブジェクトを含むオブジェクト群をオブジェクト空間に配置設定するオブジェクト空間設定部１１１と、操作部１６０からの入力データを受け付けるための処理を行う入力処理部１１２と、移動体オブジェクトのオブジェクト空間内における移動・動作演算を行う移動体制御部１１３と、シミュレーション中における移動体オブジェクトと他のオブジェクト（他の移動体オブジェクトを含む）との接触判定（ヒットチェック）を行う接触判定部１１４と、仮想空間に配置されたアイテムの取得処理を行うアイテム処理部１１５と、シミュレーションの終了位置を設定する終了位置設定部１１６と、シミュレーションの終了を判定する終了判定部１１７と、仮想カメラ制御部１１８と、運転シミュレーションにおける各種の計時を行う計時制御部１１９と、指示オブジェクトの移動指示状態と停止指示状態を切り替える指示オブジェクト制御部１２０と、指示オブジェクトの状態に影響を与える所定の条件が満たされたことを判定する条件判定部１２１と、仮想空間内にシミュレーションに影響を与える所定の領域を設定する領域設定部１２２と、通信部１９６によるデータの送受信を制御する通信制御部１３０を含む。なお、これらの一部を省略する構成としてもよい。
【００３５】
オブジェクト空間設定部１１１は、各キャラクタ、車両、船舶、建物、樹木、柱、壁、マップ（地形）、道路、信号（指示オブジェクトの一例）、アイテムなどの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ち、このオブジェクト空間設定部１１１は、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。また、オブジェクト空間設定部１１１は、配置したオブジェクトの位置を変更する処理を行う。
【００３６】
入力処理部１１２は、操作部１６０と連動し、当該操作部１６０をユーザが操作することで入力される操作入力を受け付ける処理（監視し、検出する処理）を行う。具体的には、入力処理部１１２は、例えば、車両などにおけるハンドル操作、アクセル操作又はブレーキ操作など、移動体オブジェクトの運転中の移動を制御するためのユーザの操作入力を受け付ける。
【００３７】
移動体制御部１１３は、オブジェクト、例えば、車、船舶又は飛行機等の各移動体オブジェトにおける移動・動作演算（移動・動作シミュレーション）を行う。即ち、この移動体制御部１１３は、操作部１６０によりユーザが入力した操作データ、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させたり、停止させたり、動作（モーション、アニメーション）させたりする処理を行う。具体的には、本実施形態の移動体制御部１１３は、移動体オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なお、このフレームは、オブジェクトの移動・動作演算（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３８】
また、本実施形態の移動体制御部１１３は、各移動体オブジェクが他の移動体オブジェクト又はコースの壁やブロックなどの障害物となるオブジェクト（以下、「障害物オブジェクト」という。）と接触した場合には、その接触状況に基づいて、移動体オブジェクトを移動・動作させるためのシミュレーション処理を行う。
【００３９】
接触判定部１１４は、移動体オブジェクト同士や移動体オブジェクトと他のオブジェクトとの接触を検出する接触判定（ヒットチェック）を行う。なお、本実施形態において、接触判定（ヒットチェック）を行う場合には、各移動体オブジェクトの形状を簡略化して擬似的に表したヒットボリューム（ヒットボックス、ヒットエリア、簡易オブジェクト）や、車両のバンパーなどのオブジェクトの部位が描く軌道を簡略化して擬似的に表したヒットボリュームを用いることができる。
【００４０】
アイテム処理部１１５は、アイテムと前記移動体オブジェクトが接触したと判定された場合、アイテムの取得処理を行う。アイテムの取得処理には、記憶部１７０に記憶されたアイテム取得情報（取得したアイテム又は取得されていないアイテムの個数の情報を含む情報）を更新する処理、同じく記憶部１７０に記憶された得点情報を更新する処理、取得されたアイテムを仮想空間内から消去する処理等が含まれる。
【００４１】
終了位置設定部１１６は、アイテム取得情報に含まれるアイテム取得数又は未取得数が所定数に達すると、仮想空間内にシミュレーション終了位置を設定する。シミュレーション位置として、仮想空間内のアイテムのいずれかを選択する場合は、シミュレーション位置設定部は記憶部１７０に記憶されたアイテム配置情報に含まれる終了フラグを更新する。
【００４２】
仮想カメラ制御部１１８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラのオブジェクト空間への設定、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４３】
計時制御部１１９は、ＣＰＵ又は図示しない時計回路（ＲＴＣ）からのクロック信号に基づいて、運転シミュレーションが行われる仮想空間で経過する基準時間を計時する処理を行う。この基準時間は、例えば信号の制御のために用いられる。具体的には、計時制御部１１９は、運転シミュレーションが開始されると基準時間の計時を開始する。即ち、記憶部１７０に記憶される時間情報の更新を開始する。通常のシミュレーション状態では、計時制御部１１９は、基準時間を一定の速さで経過させる。即ち、時間情報は一定の増加量で増加するよう更新される（通常計時処理）。
【００４４】
指示オブジェクト制御部１２０は、仮想空間内に配置された信号等の指示オブジェクトの移動指示状態と停止指示状態を、時間情報に基づいて切り替える。
【００４５】
条件判定部１２１は、信号等の指示オブジェクトの状態に影響を与える所定の条件が満たされたことを判定する。条件判定部１２１が、当該所定の条件が満たされたと判定した場合、計時制御部１１９は、基準時間を通常計時処理とは異なる態様で変化させる特殊計時処理を行うことによって、時間情報を更新する。
【００４６】
領域設定部１２２は、道路上にシミュレーションに影響を与える各種の領域を設定する。各種の領域とは、例えば、信号の手前に設定される停止領域や強制停止指示制御領域等の信号の状態に影響を与える状態変化領域、またＣＰＵ車の制御に影響を与えるＣＰＵ車制御領域、坂道上に設定される重力領域等である。
【００４７】
通信制御部１３０は、運転シミュレーションを、サーバ装置と又はシミュレーション装置やパーソナルコンピュータなどの他の通信端末装置と実行する際に、各シミュレーションを実行するために必要なデータ及び命令（コマンド）を通信部１９６を介して送受信させる制御を行う。
【００４８】
画像生成部１４０は、処理部１００にて行われる種々の処理（シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。
【００４９】
いわゆる３次元シミュレーション画像を生成する場合には、本実施形態の画像生成部１４０は、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理を行い、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を作成する。
【００５０】
そして、この画像生成部１４０は、作成された描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７４（フレームバッファ、ワークバッファ）に描画する。これにより、画像生成部１４０は、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像を生成する。
【００５１】
音生成部１５０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのシミュレーション音を生成し、音出力部１９２に出力する。
【００５２】
なお、本実施形態の運転シミュレーション装置は、１人のユーザのみが操作できるシングルユーザモード専用のシステムにしてもよいし、複数のユーザが操作できるマルチユーザモードも備えるシステムにしてもよい。
【００５３】
また、複数のユーザが操作する場合に、これらの複数のユーザに提供するシミュレーション画像やシミュレーション音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（シミュレーション機、携帯電話）を用いて分散処理により生成してもよい。
【００５４】
２．運転シミュレーション概要
図２、図３を用いて、本実施形態の運転シミュレーション装置で実行される運転シミュレーションの概要を説明する。本実施形態の運転シミュレーションは、ユーザに操作入力によって仮想空間内に設定された道路上で車を走行させ、道路上に配置された二酸化炭素の塊を模したアイテムを取得させるというものである。また、この運転シミュレーションでは、ユーザの操作入力による車の走行が環境に優しいものであるかどうかが評価される。
【００５５】
図２は、運転シミュレーションが行われる仮想空間の俯瞰図である。仮想空間には、道路、信号ＳＧ１〜ＳＧ５、建物ＢＤ１等が配置される。そして、道路上には、ユーザの操作により移動する車ＵＣ、ＣＰＵ制御によって移動する複数のＣＰＵ車ＣＣ１、ＣＣ２等が配置される。ユーザには、道路上で交通規則を遵守して車を移動させることが求められる。例えば赤信号を無視したり、対向車線を走ったり、ＣＰＵ車と衝突したりしない運転操作が求められる。
【００５６】
道路上にはまた、二酸化炭素の塊を模した複数のアイテムＩＴ１〜ＩＴ４等が配置される。ユーザは車を移動させ、車ＵＣとアイテムを接触させることによりアイテムを取得する。本実施形態では、仮想空間内に配置された全てのアイテムを取得することでシミュレーションが終了する。
【００５７】
本実施形態では、仮想カメラは車ＵＣの後方に配置され、車ＵＣの移動に追従するように移動する。そして、車ＵＣの向いている方向を中心とした所定の視野範囲内の仮想空間の画像が生成される。
【００５８】
図３は運転シミュレーション装置の表示部１９０に表示されるシミュレーション画面の一例を示す図である。シミュレーション画面１０には、仮想空間に配置されたオブジェクトを仮想カメラから見た画像が表示されるとともに、所定の領域に各種のパラメータや報知情報が表示される。
【００５９】
得点表示領域１２にはユーザの現在の得点が表示される。得点はアイテムを取得すること等によって加算される。
【００６０】
燃料ゲージ１４は、現在の残り燃料を示している。本実施形態のシミュレーションでは、車を走行させるためには燃料を消費する必要がある。燃料は、ユーザのアクセル操作量及び、車ＵＣの走行距離に基づいて消費される。また、車ＵＣが、後述するような環境に優しくない運転をしていると評価されると、所定の燃料が残り燃料から減算される。これにより、環境に優しくない運転をすると燃費が悪くなるという現実世界の関係をリアルに表現できる。燃料ゲージの近傍にはまた、現在の瞬間燃費、及びシミュレーション開始時から現在までの平均燃費が表示される。
【００６１】
エコメーター１６は、ユーザが、環境に優しい運転をしているかどうかを示す表示であり、例えば図３に示すような植物が表示される。この植物はユーザが環境に優しい操作をすることによって成長する。環境に優しい運転を評価するためには、このような植物以外にも、ユーザの運転を褒めるような台詞が表示されたり、音声出力が行われたりしてもよい。例えば、車ＵＣが一定距離を等速で運転し続けた場合に、図３に示すような「とうそくうんてん」の文字を表示してもよい。また、環境に優しい運転をした場合、図３に示すようなフルーツオブジェクト１８が発生し、これを取得すると得点が加算されるようにしてもよい。
【００６２】
本実施形態のシミュレーション画面には、ユーザが環境に優しい運転を成功させることができるように、アドバイスが表示される。例えば、シミュレーション中にユーザがゆっくりとブレーキを踏まなければならない状況が発生する場合、当該状況が発生する直前にゆっくりとブレーキを踏むようにとの指示が表示される。さらに、ユーザが環境に優しい運転を成功させたか否かが判定された直後に、次回以降より環境に優しい運転ができるように、操作のアドバイスが表示される。
【００６３】
変身パワーゲージ２０は、ユーザが環境に優しい運転操作をすることによって増加する変身パラメータの値を示すものである。変身パラメータが一定量に達すると、車ＵＣを電気自動車に変身させることができる。車ＵＣが電気自動車になっている間は、環境に優しいことを褒める表示、又は音声が出力され続ける。
【００６４】
マップ領域２２には、仮想空間を俯瞰したマップが表示される。マップには、道路、信号、アイテム等の位置が表示される。マップの下には、仮想空間全体に存在する未取得のアイテムの個数（シミュレーション終了までに取得する必要のあるアイテムの個数）が表示される。
【００６５】
違反マーク２４は、車ＵＣが交通規則違反（赤信号無視、対向車線走行、速度違反、ＣＰＵ車との衝突等）を犯した場合に表示される。シミュレーション画面１０にはまた、車ＵＣの現在速度が表示される。
【００６６】
３．アイテム
３．１．アイテムの配置
図４を用いて、アイテムの配置について説明する。本実施形態の運転シミュレーションは、ユーザに、交通規則に従いつつ環境に優しい運転をする技術を学習させることを目的とする。従って、ユーザの操作する車が、交通規則に定められた走行車線（日本の場合は左側車線）を走るように誘導することが望ましい。そのため、本実施形態の運転シミュレーションでは、ユーザが取得すべきアイテムが必ずユーザが走行する道路の左側車線に配置されるようになっている。
【００６７】
具体的には、本実施形態のシミュレーションでは、車ＵＣの向きに基づいて仮想空間に配置されているアイテムの配置位置が変更される。図４（Ａ）〜（Ｇ）は、車ＵＣが回転した場合にアイテムの配置位置が変更される様子を示している。図４に示すように、本実施形態では、複数のアイテムＩＴ１〜ＩＴ３が１つのアイテムグループとして有向線分（例えば図４の有向線分Ｖ１）上に配置される。そして、この有向線分Ｖ１と車ＵＣの向きＶ２とのなす角度に応じて有向線分Ｖ１の位置が変更され、それに伴い同一アイテムグループ内のアイテムＩＴ１〜ＩＴ３の配置位置が同時に変更される。
【００６８】
図４（Ａ）は、有向線分Ｖ１の向きと車ＵＣの向きＶ２が同じ場合、即ち有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が０度の場合を示している。この場合、道路の中央(基準位置)から、有向線分Ｖ１の向いている方向を正面とした場合の左側方向に距離ａだけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。ここで、この距離ａは、道路の片側車線の幅Ｌの半分となるようにしてもよい。このようにすれば、有向線分Ｖ１の向きと車ＵＣの向きＶ２が同じ場合、車ＵＣが走行すべき車線の中央にアイテムＩＴ１〜ＩＴ３が配置されるようになる。
【００６９】
図４（Ｂ）は、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が６０度の場合を示している。本実施形態では、この場合も、アイテムＩＴ１〜ＩＴ３の配置位置は図４（Ａ）の場合と同様の位置に配置される。即ち、本実施形態では、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が０度から６０度の範囲の場合は、道路の中央から、直線Ｖ１の向いている方向を正面とした場合の左側方向に距離ａだけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。従って、車ＵＣがこの範囲内で回転しても、アイテムＩＴ１〜ＩＴ３の配置位置は変更されない。これにより、アイテムＩＴ１〜ＩＴ３が移動している様子が仮想カメラの視界内に入ってしまい、ユーザが違和感を覚える画像が生成されてしまうのを防ぐことができる。
【００７０】
図４（Ｃ）は、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が７５度の場合を示している。この場合、道路の中央から、有向線分Ｖ１の向いている方向を正面とした場合の左側方向に距離ｂ（ａ＞ｂ）だけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。
【００７１】
図４（Ｄ）は、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が９０度の場合を示している。この場合、アイテムＩＴ１〜ＩＴ３は道路の中央に配置される。
【００７２】
図４（Ｅ）は、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が１０５度の場合を示している。この場合、道路の中央から、有向線分Ｖ１の向いている方向を正面とした場合の右側方向に距離ｂ（ａ＞ｂ）だけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。
【００７３】
図４（Ｆ）は、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が１２０度の場合を示している。この場合、道路の中央から、有向線分Ｖ１の向いている方向を正面とした場合の右側方向に距離ａ（ａ＞ｂ）だけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。
【００７４】
図４（Ｇ）は、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が１８０度の場合を示している。この場合、図４（Ｆ）の場合と同様に、道路の中央から、有向線分Ｖ１の向いている方向を正面とした場合の右側方向に距離ａ（ａ＞ｂ）だけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。
【００７５】
このように、本実施形態では、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が０度から６０度の場合、及び１２０度から１８０度の範囲の場合は、道路の中央から距離ａだけ離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。そして、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が６０度から１２０度の場合は、角度に応じた位置にアイテムＩＴ１〜ＩＴ３が配置される。  
【００７６】
また、本実施形態では、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が０度から９０度の場合は、道路の中央から、有向線分Ｖ１の向いている方向を正面とした場合の左側方向に所定距離離れた位置にアイテムＩＴ１〜ＩＴ３が配置され、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が９０度から１８０度の場合は、道路の中央から、有向線分Ｖ１の向いている方向を正面とした場合の右側方向に所定距離離れた位置にアイテムＩＴ１〜ＩＴ３が配置される。即ち、有向線分Ｖ１と車ＵＣの向きＶ２のなす角度が９０度の場合を境に、道路の中央から見たアイテムＩＴ１〜ＩＴ３が配置される方向が切り替わる。
【００７７】
図５を用いて、車の向きＶ２の変化により、仮想空間内に配置された複数のアイテムグループの配置位置が変化する様子を説明する。本実施形態では、仮想空間内に配置された複数のアイテムグループについて、各アイテムグループの有向線分の向きと車の向きの角度に基づいた配置処理が行われる。
【００７８】
図５（Ａ）と図５（Ｂ）では、車ＵＣの向きＶ２が変化しているが、それに応じてアイテムグループＩＧ１、ＩＧ２、ＩＧ３、ＩＧ４等の位置が変化している。一方、アイテムグループＩＧ５の位置は、車ＵＣの向きＶ２が変化したにも関わらず変化していない。これは、アイテムグループＩＧ１〜ＩＧ４等に比べ、アイテムグループＩＧ５の配置位置が車から遠いからである。本実施形態では、車ＵＣから所定距離以内に配置されているアイテムグループの配置位置を車ＵＣの向きＶ２の変化に応じて変化させる。これにより、仮想空間内に配置された全てのアイテムグループの配置位置を車ＵＣの向きＶ２に応じて変化させる場合に比べて処理負荷を軽減することができる。車ＵＣとアイテムグループの距離は、車ＵＣの座標とアイテムグループの代表点の距離とすることができる。アイテムグループの代表点はアイテムグループの中心点や、グループ内の所定のアイテム（例えば最も車ＵＣに近いアイテム）等とすることができる。
【００７９】
また、図５（Ａ）と図５（Ｂ）を比較すると、アイテムグループＩＧ４に比べて車ＵＣの位置に近いアイテムグループＩＧ６等の位置も変化していない。これは、アイテムグループＩＧ６等が、車ＵＣの向きＶ２に応じて配置位置が変化しないアイテムグループとして設定されているからである。例えば一方通行の道路のように、車ＵＣが走行すべき車線と走行すべきでない車線の区別が無い道路等に配置されるアイテムグループは、車ＵＣの向きＶ２に応じて配置位置が変化しないアイテムグループとして設定することができる。
【００８０】
図６は、本実施形態のアイテム配置処理の流れを説明するフローチャートである。
【００８１】
シミュレーション装置は、まず車ＵＣの位置から所定距離以内に配置されたアイテムグループを選択する（ステップＳ１０）。
【００８２】
次に、シミュレーション装置は、選択されたアイテムグループの有向線分Ｖ１と車ＵＣの向きＶ２のなす角度に基づいて、アイテムグループの配置位置を変更する（ステップＳ１２）。
【００８３】
そして、シミュレーション装置は、上記選択された全てのアイテムグループの配置位置を変更したか否かを判定し（ステップＳ１４）、全てのアイテムグループの配置位置を変更した場合はアイテム配置処理を終了する。
【００８４】
３．２．アイテムの取得
図７は、本実施形態における車とアイテムの接触判定について説明するための図である。図７に示すように、本実施形態では車ＵＣの周囲に接触判定領域３０が設定されている。そして、アイテムの配置位置（例えばアイテムが地面と接触する点）がこの接触判定領域３０内に入ると、当該アイテムを取得したと判定される。接触判定領域３０の直径は、道路の片側車線の幅Ｌ未満とすることが望ましい。そのようにすれば、アイテムが車線中央に配置されている場合、車ＵＣが反対車線を走るとアイテムを取得することができなくなるため、ユーザにアイテムが配置された車線を運転するよう促すことができる。
【００８５】
アイテムを取得すると、取得されたアイテムの画像が車ＵＣに向かって移動し、その後表示されなくなる。また、アイテムを取得すると、得点が加算されると共に、既に取得したアイテムの合計数に１が加算される。あるいは、仮想空間内に配置されたアイテムの総数から１が減算される。
【００８６】
３．３．シミュレーションの終了
図８〜図１１を用いて、本実施形態のシミュレーションの終了について説明する。
【００８７】
図８は、本実施形態における、シミュレーション終了位置設定について説明するための図である。上記の通り、本実施形態では、仮想空間内に配置された全てのアイテムを取得するとシミュレーションが終了する。従って、シミュレーション終了位置は、仮想空間内に配置された複数のアイテムの内、最後に取得するアイテム（シミュレーション終了アイテム）の位置となる。本実施形態では、仮想空間内における未取得のアイテム個数が１０個以下になると、最後に取得するアイテムを予測する処理が開始される。
【００８８】
具体的には、仮想空間内における未取得のアイテム個数が１０個以下になると、最後に取得するアイテムの候補として、まず車に追従する仮想カメラＣＡの視界外のアイテムが選択される。図８のＶＡは、仮想カメラＣＡの視界を示す。仮想カメラＣＡの視界ＶＡは、画像生成時のクリッピング範囲と同一としてもよい。図８（Ａ）に示す場合では、アイテムＩＴ１０、ＩＴ１１、ＩＴ１２、ＩＴ１３、ＩＴ１４、ＩＴ１５が仮想カメラＣＡの視界外であるため、これらのアイテムが選択される。  
【００８９】
次に、選択されたアイテムの中から、車ＵＣから最も遠い位置に配置されたアイテムが選択され、当該アイテムの配置位置がシミュレーション終了位置として設定される。図８（Ａ）に示す場合では、選択されたアイテムの中で車ＵＣから最も遠い位置に配置されたアイテムＩＴ１０が選択され、その配置位置がシミュレーション終了位置として設定される。
【００９０】
図８（Ｂ）に示す場合では、アイテムＩＴ１５、ＩＴ１６が仮想カメラＣＡの視界外のアイテムとして選択される。そして、選択されたアイテムの内、車ＵＣから遠い位置に配置されたアイテムＩＴ１５が選択され、その配置位置がシミュレーション終了位置として設定される。
【００９１】
図８（Ｃ）に示す場合では、仮想カメラＣＡの視界外に配置されたアイテムは存在しない。このような場合は、仮想カメラの視界内に配置されたアイテムの中で、車ＵＣから最も遠い位置に配置されたアイテムが選択され、当該アイテムの位置がシミュレーション終了位置として設定される。図８（Ｃ）に示す場合では、アイテムＩＴ１０が選択され、その配置位置がシミュレーション終了位置として設定される。
【００９２】
本実施形態では、上記のように仮想カメラＣＡの視界外のアイテムや車ＵＣから最も遠い位置に配置されたアイテムが優先的にシミュレーション終了アイテムとして選択されるので、最後に取得されるアイテムがシミュレーション終了アイテムとして選択される可能性が高くなる。
【００９３】
本実施形態では、仮想空間内に配置されるアイテムリストが記憶部１７０にアイテム配置情報として記憶されている。アイテムリストには、アイテム毎に、配置座標、所属するアイテムグループ、終了アイテムフラグが設定されている。そして、シミュレーション終了アイテムとして選択されたアイテムの終了アイテムフラグには「１」が、その他のアイテムの終了アイテムフラグには「０」が設定される。
【００９４】
このようにして設定されたシミュレーション終了アイテムを取得すると、シミュレーション終了と判定される。
【００９５】
図９、図１０は、シミュレーション終了位置の近傍に配置されるゴールゲート（終了位置オブジェクトの一例）について説明するための図である。
【００９６】
本実施形態では、上記のシミュレーション終了位置設定処理によってシミュレーション終了位置となるアイテムが選択されると、当該アイテムの近傍にゴールゲート４０が表示される。具体的には、ゴールゲート４０の接地点を結ぶ線分ＡＢの中点がシミュレーション終了アイテムＩＴ２０の配置位置と重なるように、ゴールゲート４０が配置される。また、このゴールゲート４０は、常に車ＵＣに正対するように回転する。即ち、車ＵＣの向きＶ２と、線分ＡＢが常に垂直になるように回転する。
【００９７】
また、ゴールゲート４０は、車ＵＣとシミュレーション終了アイテムの距離が所定以下になった場合に表示される。図１０は、車ＵＣとシミュレーション終了アイテムの距離が所定以下になっていない場合を示している。図１０では、図９と同様に仮想空間内の未取得アイテムの個数は９個である。従って、シミュレーション終了位置設定処理は既に行われており、アイテムＩＴ２０がシミュレーション終了アイテムとして選択されている。しかし、図１０では、車ＵＣとシミュレーション終了アイテムＩＴ２０の距離が所定以下になっていないため、ゴールゲートは表示されていない。車ＵＣが図１０に示す位置から図９に示す位置まで移動すると、車ＵＣとシミュレーション終了アイテムＩＴ２０の距離が所定以下になるため、ゴールゲート４０が表示される。このようにすれば、車ＵＣがシミュレーション終了アイテムの近くに来ると、突然ゴールゲート４０が出現するという演出を行うことができる。
【００９８】
さらに、本実施形態では、シミュレーション終了アイテムが車ＵＣの前方にあるか後方にあるかによってゴールゲート出現の判定に異なる距離を用いている。例えばシミュレーション終了アイテムが車ＵＣの前方にある場合は、車ＵＣと当該シミュレーション終了アイテムの距離が５０ｍ以内になったときにゴールゲートを出現させるのに対し、シミュレーション終了アイテムが車ＵＣの後方にある場合は、車ＵＣと当該シミュレーション終了アイテムの距離が１０ｍ以内になったときにゴールゲートを出現させる。シミュレーション終了アイテムが車ＵＣの前方にあるか後方にあるかは、車ＵＣの向きＶ２と車ＵＣからシミュレーション終了アイテムに向かう向きの角度に基づいて判定される。
【００９９】
図１１は、本実施形態のシミュレーション終了位置設定処理の流れを示すフローチャートである。
【０１００】
シミュレーション装置は、まず仮想空間内に配置された未取得のアイテムの個数が１０個以下になったか否かを判定する（ステップＳ２０）。そして、仮想空間内に配置された未取得のアイテムの個数が１０個以下だと判定すると（ステップＳ２０：Ｙ）、シミュレーション装置は、仮想カメラの視界外のアイテムをシミュレーション終了候補アイテムとして選択する（ステップＳ２２）。さらに、シミュレーション装置は、シミュレーション終了候補アイテムの中で車からの距離が最も遠いアイテムをシミュレーション終了アイテムとして設定する（ステップＳ２４）。
【０１０１】
シミュレーション装置は、次にシミュレーション終了アイテムが車から所定距離以内に配置されているか否かを判定する（ステップＳ２６）。そして、シミュレーション終了アイテムが車から所定距離以内に配置されていると判定すると（ステップＳ２６：Ｙ）、当該シミュレーション終了アイテムの近傍にゴールゲートを配置する（ステップＳ２８）。
【０１０２】
４．環境運転評価
上記の通り、本実施形態のシミュレーションは、ユーザが環境に優しい運転を学習することを目的とする。本実施形態では、仮想空間内を走行する車の走行状態が、各種の環境に優しい走行状態であることを評価することによって、上記目的を解決する。この評価には、車の走行中にリアルタイムで評価が行われるリアルタイム評価と、走行終了後、全走行期間を通した走行状態が評価される総合評価が含まれる。リアルタイム評価によって環境に優しい走行だと評価された場合は、上記のように、走行中の表示画面にユーザの運転を褒める表示がされたり、変身パラメータが加算されたりする。一方、総合評価は、運転シミュレーション終了後、総合評価画面の表示によってユーザに報知される。以下、本実施形態で評価の対象となる各種の走行状態について、具体的な評価方法を説明する。
【０１０３】
４．１．ふんわりアクセル
ふんわりアクセルとは、車が停止状態から移動を開始する際に、アクセルを踏む強さを徐々に強くして行く操作である。このような操作を行うと、エンジンに無理な回転をさせずに加速することができるため、燃費が良くなり環境に優しい。
【０１０４】
本実施形態では、ふんわりアクセルの評価は、車の速度が例えば時速０ｋｍから２５ｋｍに上昇する間に、加速度が予め定められた基準値を超えたか否かを判定することによって行われる。
【０１０５】
リアルタイム評価においては、車の速度が時速０ｋｍから２５ｋｍに上昇する間に、加速度が一度でも基準値を超えた場合は、その時点でふんわりアクセル失敗と判定される。一方、車の速度が時速０ｋｍから２５ｋｍに上昇する間に、加速度が一度も基準値を超えなかった場合は、車の速度が時速２５ｋｍに達した時点でふんわりアクセル成功と判定される。尚、成功判定の場合は、アクセル操作を始めてから所定の時間内に車の速度が時速２５ｋｍに達することを更に条件としてもよい。
【０１０６】
総合評価は、運転シミュレーション開始から終了までの間のふんわりアクセル成功回数あるいは失敗回数に基づいて決定される。
【０１０７】
尚、ふんわりアクセル成功の条件として、上記に加え、アクセル操作が仮想空間内に設定された所定の領域内（例えば信号の手前の停止領域内）で行われたか否かを判定するようにしてもよい。
【０１０８】
４．２．ふんわりブレーキ
ふんわりブレーキとは、車が走行状態から停止する際に、ブレーキを踏む強さを徐々に強くして行く操作である。このような操作を行うと、エンジンに無理な回転をさせずに減速することができるため、燃費が良くなり環境に優しい。
【０１０９】
本実施形態では、ふんわりブレーキの評価は、車の速度が例えば時速３０ｋｍから２ｋｍに下降する間に、減速度（負の加速度）が予め定められた基準値を下回ったか否かを判定することによって行われる。
【０１１０】
リアルタイム評価においては、車の速度が時速３０ｋｍから２ｋｍに下降する間に、減速度が一度でも基準値を下回った場合は、その時点でふんわりブレーキ失敗と判定される。一方、車の速度が時速３０ｋｍから２ｋｍに下降する間に、減速度が一度も基準値を下回らなかった場合は、車の速度が時速２ｋｍに達した時点でふんわりブレーキ成功と判定される。尚、成功判定の場合は、ブレーキ操作を始めてから所定の時間内に車の速度が時速２ｋｍに達することを更に条件としてもよい。
【０１１１】
総合評価は、運転シミュレーション開始から終了までの間のふんわりブレーキ成功回数、あるいは失敗回数に基づいて決定される。
【０１１２】
尚、ふんわりブレーキ成功の条件として、上記に加え、ブレーキ操作が仮想空間内に設定された所定の領域内（例えば信号の手前の停止領域内）で行われたかを判定するようにしてもよい。
【０１１３】
４．３．等速運転
等速運転とは、車を所定の時間又は距離の間、ほぼ等速で走行させることである。このような操作を行うと、エンジンに無理な回転をさせずに走行することができるため、燃費が良くなり環境に優しい。
【０１１４】
本実施形態では、リアルタイム評価においては、車が時速３５ｋｍ以上で、８秒間以上、速度変化の幅が時速３ｋｍ以内で走行した場合、等速運転成功と判定される。
【０１１５】
総合評価は、運転シミュレーション開始から終了までの間に走行した総距離と、加速度が予め設定された上限を上回った回数、あるいは予め設定された下限を下回った回数に基づいて行われる。
【０１１６】
４．４．坂道運転
本実施形態の仮想空間内には坂道が設定される。坂道は、単に高低差のある道路モデルを配置することによって実現されても良いし、さらに坂道上では下り方向に向かって重力が加わるようにされていてもよい。
【０１１７】
坂道においては通常牽引力を上げるため低いギアで走行するが、ギアが低くなると燃費が悪くなる。従って、坂道の直前でアクセル操作を行い、坂道の途中でギアを下げずに走行すると燃費が良くなる。
【０１１８】
本実施形態では、このような運転を推奨するため、ギアを下げずに坂道を走行しきった場合は、坂道運転成功と判定される。
【０１１９】
また、坂道運転を成功させるために坂道の直前でアクセル操作をすると、逆に上記等速運転の評価が下がってしまうことがあり得る。このようなことを防ぐため、本実施形態では、マップ上の坂道直前の領域を坂道アクセル領域として設定し、当該領域でアクセルを強く踏む操作が行われても等速運転の評価には影響しないようにしている。または、当該領域でアクセル操作が行われた場合（所定の加速度が加わった場合）に、坂道運転成功と判定されるようにしてもよい。
【０１２０】
４．５．早めのアクセルオフ
車が停止状態から移動する際には多くの燃料が必要となる。赤信号の直前に達する前に減速を開始し、信号の直前に達した時に青信号に変わっていれば、停止することなく信号を通過できるため、発進の際の燃料を消費しなくてすむ。本実施形態では、信号から所定距離の位置にブレーキ判定領域が設定され、当該領域からブレーキ操作が開始されたことによって停止することなく信号を通過できた場合は、早めのアクセルオフ操作成功と判定される。
【０１２１】
５．信号
図１２〜図１６を用いて、本実施形態の信号制御について説明する。
【０１２２】
５．１．複数の信号の制御
まず、図１２、図１３を用いて、本実施形態の仮想空間内に配置される複数の信号の制御について説明する。図１２は、車ＵＣが交差点の赤信号の前で停止している場面のシミュレーション画面である。図１２に示すように、交差点には信号ＳＧ１０〜ＳＧ１３の４機の信号が配置されている。図１３は、ＳＧ１０〜ＳＧ１３を含む複数の信号の制御について説明するための図である。図１３に示すように、本実施形態では仮想空間内に配置された複数の信号が同一の時間軸上で制御される。
【０１２３】
例えば信号ＳＧ１０とＳＧ１１は、交差点で同一方向を向いている２機の信号である。図１３に示すようにこの２機の信号はｔ０の時点（シミュレーション開始時点）では青表示（移動指示状態）となっており、その後ｔ１の時点で黄、ｔ２の時点で赤（停止指示状態）となり、ｔ３の時点で再び青に戻る。そして、ｔ３以降はｔ０〜ｔ３と同じ周期で表示する色の変化を繰り返す。
【０１２４】
一方、信号ＳＧ１２とＳＧ１３は、交差点で上記信号ＳＧ１０とＳＧ１１と垂直となる方向を向いている２機の信号である。この２機の信号はｔ０の時点では赤表示となっており、その後ｔ４の時点で青、ｔ５の時点で黄となり、ｔ６の時点で再び赤に戻る。
【０１２５】
図１３に示すように、信号ＳＧ１０とＳＧ１１には、信号ＳＧ１２とＳＧ１３が青又は黄のときは必ず赤になるように、切替タイミングｔ１、ｔ２、ｔ３等が予め設定されている。また、信号ＳＧ１２とＳＧ１３には、信号ＳＧ１０とＳＧ１１が青又は黄のときは必ず赤になるように切替タイミングｔ３、ｔ４、ｔ５等が予め設定されている。
【０１２６】
図１３に示す信号ＳＧ１４は、図１２には表示されていない仮想空間内の所定の位置に配置された信号である。本実施形態では信号ＳＧ１４のような、同一交差点に無い信号も信号ＳＧ１０〜ＳＧ１３と同じ時間情報に基づいて制御される。また、信号ＳＧ１５も、図１２には表示されていない信号であり、信号ＳＧ１４と組になった歩行者用信号である。この信号ＳＧ１５も、信号ＳＧ１０〜ＳＧ１４と同じ時間情報に基づいて制御される。
【０１２７】
このように、本実施形態では、仮想空間内に配置される複数の信号について、同一の基準時間軸上で切替タイミングを設定することにより、多くの信号を簡単に制御することが可能となる。  
【０１２８】
５．２．強制停止指示
図１３、図１４を用いて、本実施形態の信号の強制停止指示制御について説明する。
【０１２９】
上述したような環境に優しい運転、特にふんわりアクセルやふんわりブレーキを評価するためには、シミュレーション中で車が停止しなければならない状況を作り出す必要がある。この目的を達成するため、本実施形態では所定の条件を満たした場合に、仮想空間内に配置された信号を赤にすることにより、車が停止しなければならない状況を作り出している。
【０１３０】
具体的には、本実施形態では、特定の信号に対応付けて強制停止指示制御領域（状態変化領域の一例）が設定され、車が当該領域に進入した時点、あるいは当該領域を通過した時点から所定時間後に、当該領域に対応付けられた信号が赤になるように時間情報が更新される（特殊計時処理の一例）。
【０１３１】
図１４は、強制停止指示制御領域について説明する図である。図１４に示すように、本実施形態では仮想空間内の所定の領域が強制停止指示制御領域７０として設定される。この強制停止指示制御領域７０は、信号ＳＧ１４に関連付けられており、車ＵＣがこの領域に進入すると所定時間後に信号ＳＧ１４が赤になるように時間情報が更新される。
【０１３２】
具体的には、図１３に示すように、車ＵＣが停止指示制御領域７０に進入したのがｔ７の時点だったとすると、車ＵＣが進入した瞬間、時間情報が一気にｔ７からｔ８にスキップする。このようにすることで、車ＵＣが図１４に示す信号ＳＧ１４の手前の停止領域７２まで移動した時に信号ＳＧ１４が赤になり、ユーザにブレーキ操作を行わせることができる。時間情報のスキップ先は、直近の赤切替タイミング（車が停止指示制御領域に進入した時間の直後の切替タイミングであり、信号が赤に変化する切替タイミング）の数秒前としてもよい。直近の赤切替タイミングの何秒前にスキップするかは、車の時速に応じて変化させてもよい。
【０１３３】
図１５は、本実施形態の信号の強制停止指示処理の流れを示すフローチャートである。
【０１３４】
シミュレーション装置は、車が強制停止指示領域に侵入したか否かを判定する（ステップＳ３０）。そして、車が強制停止指示領域に侵入したと判定すると（ステップＳ３０：Ｙ）、シミュレーション装置は基準時間が当該強制停止指示領域に対応付けられた信号の赤切替タイミングの所定時間前にスキップするように時間情報を更新する（ステップＳ３２）。
【０１３５】
５．３．停止指示時間短縮
上記の通り、本実施形態では、ユーザは赤信号の前で車を停止させる必要がある。車ＵＣが赤信号中に信号の手前に設定される停止領域７２を越えて走行すると赤信号無視となり、得点が減算される等のペナルティが課される。これにより、本実施形態のシミュレーションは、ユーザに赤信号の前で停止するという交通規則を学習させることができる。
【０１３６】
しかし、ユーザに赤信号の前で停止するという交通規則を学習させるという目的、あるいは上述したふんわりアクセルやふんわりブレーキの操作を行わせるという目的のためには、ユーザに車ＵＣを移動状態から停止させるという操作を行わせれば十分であり、赤信号の前で長時間停止させておく必要は無い。赤信号の前で車ＵＣを停止させていなければならない時間が長すぎると、ユーザのストレスとなるだけである。このため、本実施形態では、車ＵＣが停止領域７２（状態変化領域の一例）で停止していると判定された場合には仮想空間内の基準時間が経過する速さが通常状態に比べて速くなり、ユーザが赤信号の前で停止していなければならない時間が短縮されるようにしている（特殊計時処理の一例）。例えばこのような場合に、基準時間の経過する速さが２倍になる。例えば図１３のｔ９の時点において、車ＵＣが赤信号の手前の停止領域７２で停止したとする。通常状態では、ユーザはｔ１０の時点で信号が青になるまでΔｔの期間車ＵＣを停止させていなければならない。しかし、基準時間の経過する速さが２倍になれば、ユーザが車ＵＣを停止させていなければならない期間はΔｔ／２となり、ユーザの信号待ちによるストレスが軽減される。
【０１３７】
図１６は、本実施形態の信号の停止指示時間短縮処理の流れを示すフローチャートである。
【０１３８】
シミュレーション装置は、車が赤信号の手前の停止領域で停止したか否かを判定する（ステップＳ４０）。車が赤信号の手前の停止領域で停止したと判定した場合、シミュレーション装置は、基準時間の経過する早さが通常時の２倍になるような計時処理を行う（ステップＳ４２）。
【０１３９】
５．４．強制移動指示
上述したように、本実施形態では、変身パラメータの値が所定値以上になると、ユーザが車を一定時間電気自動車に変身させることができる（特殊状態変化イベントの一例）。そして、車が電気自動車に変身している間は、仮想空間上に配置された全ての信号、あるいは電気自動車からの所定距離以内の信号は仮想空間内の時間経過に関わらず青になる。
【０１４０】
６．ＣＰＵ車
以下、本実施形態のＣＰＵ車の制御について説明する。
【０１４１】
上述したように、本実施形態では、強制停止指示制御領域への進入や停止領域での停止等、信号の状態に影響を与える所定の条件が満たされると、基準時間の経過の態様が通常計時処理とは異なる特殊計時処理が行われる。ここで、本実施形態では、図１３に示すように、仮想空間内に配置された複数の信号を単一の時間情報に基づいて制御しているため、基準時間の経過態様が変化するとその影響が複数の信号に及ぶことになる。このため、例えば強制停止指示処理によって時間情報がスキップした場合、ユーザの操作する車と関係ない位置にある信号が、黄色を経ずに突然赤信号になったりすることがあり、このような場合に、信号の変化に基づいて制御されているＣＰＵ車の制御に不具合が生じることがある。本実施形態では、シミュレーションの進行に問題が生じるのを防ぐため、上記のような不具合が生じたＣＰＵ車を強制的に初期位置に配置し直す処理や、ＣＰＵ車が交差点内にいる間に時間情報がスキップしたことによって当該ＣＰＵ車の前方の信号が急に赤になった場合は、赤信号に関わらずＣＰＵ車に交差点を通過させる処理等が行われる。
【０１４２】
また、シミュレーションの難易度を上げるため、本実施形態ではユーザの操作する車が仮想空間内に設定された所定のＣＰＵ車制御領域に侵入した時に、車の近傍にいるＣＰＵ車が当該車に向かって走行して来るように制御される。このようにすることで、ユーザは向かってくるＣＰＵ車を避ける運転を練習することができる。尚、ユーザの操作する車がＣＰＵ車制御領域に侵入した時に、既に仮想カメラの視界内に入っているＣＰＵ車をこのように制御すると、ＣＰＵ車の向きが不自然に変化する画像が表示されてしまうことがある。このようなことを防ぐため、本実施形態では、ユーザの操作する車がＣＰＵ車制御領域に侵入した時に視界外にいるＣＰＵ車に対して、ユーザの操作する車に向かって走行するように移動方向を変化させる制御が行われる。
【０１４３】
７．変形例
７．１．適用対象
上記実施形態では、本発明を運転シミュレーション装置に適用した例を説明したが、本発明は運転シミュレーション装置以外にも適用することができる。例えば、アクションゲームにおいて、プレーヤが操作するキャラクタが集めるアイテムの配置に本発明を適用することができる。
【０１４４】
また、上記実施形態では、３人称視点の３Ｄシミュレーションの例を説明したが、視点は１人称視点でもよい。また、３Ｄではなく２Ｄのシミュレーションに本発明を適用することもできる。
【０１４５】
７．２．アイテム
７．２．１．アイテムの配置
上記実施形態では、既に配置されているアイテムの配置位置を変更する例を説明したが、本発明の実施形態はこれに限られず、アイテムを最初に仮想空間に配置する場合に本発明を適用してもよい。
【０１４６】
また、本実施形態では、所定の条件を満たした場合（車の運転が交通違反や、環境に優しくないものだった場合、ＣＰＵ車と衝突した場合等）に、車からアイテムが排出されるが、この排出されたアイテムも上記実施形態の原理に基づいて道路上に配置されるようにしてもよい。その場合、アイテムが排出された位置の近傍に存在するアイテムグループの有向線分上に、排出されたアイテムを配置するようにしてもよい。また、排出されたアイテムのみで新たなアイテムグループを形成するようにしてもよい。
【０１４７】
また、上記実施形態では、片側一車線ずつの道路上にアイテムを配置する例を説明したが、片側複数車線の道路上にアイテムを配置するようにしてもよい。この場合、複数の車線の内の一番左側の車線にアイテムを配置するようにしてもよい。また、ユーザのレベルに応じて、アイテムを配置する車線を決定してもよい。
【０１４８】
また、上記実施形態では、左側車線にアイテムを配置する例を説明したが、右側車線にアイテムを配置するようにしてもよい。また、シミュレーションの設定で、国の選択ができるようにし、選択された国に応じてどちら側の車線にアイテムを配置するのかを決定するようにしてもよい。
【０１４９】
また、上記実施形態では、１人のユーザがシミュレーションを行う場合、即ち仮想空間内でユーザが操作する車が一台だけの例を説明したが、本発明は複数のユーザがそれぞれの車を仮想空間内で操作する場合にも適用できる。その場合、ユーザのレベルに応じてどのユーザの車の向きに基づいてアイテムを配置するかを決定してもよい。
【０１５０】
また、上記実施形態では、アイテムグループの有向線分と車の向きのなす角度に応じてアイテムの配置を変更する例を説明したが、有向線分を用いない方法も可能である。例えば、道路マップを所定の区間に分け、車がある区間に侵入した際に、どの位置から進入したかを判定し、判定結果に基づいてアイテムの配置を変更してもよい。
【０１５１】
７．２．２．アイテムの取得
上記実施形態では、接触判定領域が固定の例を説明したが、接触判定領域が動的に変化するようにしてもよい。例えば、車が道路の直線部分の上にいる場合と、カーブの上にいる場合で接触判定領域の大きさを変化させてもよい。また、車が走行する道路の幅に応じて接触判定領域の大きさを変化させてもよい。また、特定のイベント（例えば電気自動車に変身したこと等）が発生した場合に、接触判定領域の大きさを変化させてもよい。また、仮想空間内に配置されたアイテムが残り１個となった場合に、接触判定領域の大きさを小さくするようにしてもよい。このようにすれば、シミュレーション終了位置として設定されたアイテムを取得する場合は、当該アイテムにより接近しなければアイテムを取得できなくなり、ゴールゲート表示位置とずれた位置でシミュレーションが終了してしまうのを防ぐことができる。
【０１５２】
また、上記実施形態では、車の周囲に接触判定領域が設定される例を説明したが、アイテムの周囲に接触判定領域が設定されるようにしてもよい。この場合、シミュレーション終了位置として設定されたアイテムの周囲の接触判定領域は、小さくなるようにしてもよい。
【０１５３】
７．４．信号
上記実施形態では、指示オブジェクトとして信号を例に説明したが、指示オブジェクトは信号に限られない。例えば、道路上で故障して止まっているＣＰＵ車や、運転を誤ってユーザの操作する車に向かって進行してくるＣＰＵ車を指示オブジェクトとしてもよい。
【０１５４】
上記実施形態では、車が赤信号の前の停止領域で停止した場合に基準時間の経過が速くなる例を説明したが、車が停止領域に停止していることに加え、上述したふんわりブレーキ操作が成功したと判定されたことを条件として、基準時間の経過が速くなるようにしてもよい。
【０１５５】
また、基準時間の経過の速さの上昇率を、車が停止した時点から青信号に切り替わるまでの時間（赤信号の残り時間）に応じて変化させてもよい。例えば赤信号の残り時間が長い場合ほど、速さの上昇率が大きくなるようにしてもよい。
【０１５６】
また、上記実施形態では、強制停止指示制御の場合は基準時間をスキップする例を説明したが、この場合に基準時間の経過が速くなるようにしてもよい。同様に、停止指示時間短縮制御の場合に基準時間がスキップするようにしてもよい。
【符号の説明】
【０１５７】
１００  処理部、
１１０、シミュレーション処理部、
１１１  オブジェクト空間設定部、１１２  入力処理部、
１１３  移動体制御部、１１４  接触判定部、１１５  アイテム処理部、
１１６  終了位置設定部、１１７  終了判定部、１１８  仮想カメラ制御部、
１１９  計時制御部、１２０  指示オブジェクト制御部、１２１  条件判定部、
１２２  領域設定部、１３０  通信制御部、
１４０  画像生成部、１５０  音生成部、
１６０  操作部、
１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  携帯型情報記憶媒体、１９６  通信部、
【図１】
2011197888.tif 000003
【図２】
2011197888.tif 000004
【図３】
2011197888.tif 000005
【図４】
2011197888.tif 000006
【図５】
2011197888.tif 000007
【図６】
2011197888.tif 000008
【図７】
2011197888.tif 000009
【図８】
2011197888.tif 000010
【図９】
2011197888.tif 000011
【図１０】
2011197888.tif 000012
【図１１】
2011197888.tif 000013
【図１２】
2011197888.tif 000014
【図１３】
2011197888.tif 000015
【図１４】
2011197888.tif 000016
【図１５】
2011197888.tif 000017
【図１６】
2011197888.tif 000018