(57)【要約】【課題】仮想環境内のオブジェクトを見るためのシステムおよび方法を提供すること。【解決手段】仮想カメラおよびオブジェクトが仮想環境内に存在する。仮想環境のユーザがカメラの視点からオブジェクトを見えるように、カメラはオブジェクトに合焦する。仮想カメラおよび見られるオブジェクトは、シミュレーション環境の物理学に基づくルールの対象とされる。【選択図】図１
2010073204.tif 000002
【特許請求の範囲】
【請求項１】
仮想環境内でオブジェクトを見る方法であって、
前記仮想環境内の物理オブジェクトに、同じく前記仮想環境内の仮想カメラの焦点を設定する工程と、
前記仮想カメラの前記設定された焦点を維持しながら、イベントに応答して前記仮想カメラを移動させる工程と、を含み、前記仮想カメラおよび前記物理オブジェクトが物理学に基づくルールのセットに従うように構成される方法。
【請求項２】
前記仮想カメラと前記物理オブジェクトの間の距離を変える工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記仮想カメラを前記物理オブジェクトの周りで回転させる工程をさらに含む、請求項１に記載の方法。
【請求項４】
前記仮想環境内のオブジェクトの少なくとも１つの物理的挙動を変えるために、前記物理学に基づくルールのセットのうち少なくとも１つのルールを変更する工程をさらに含む、請求項１に記載の方法。
【請求項５】
物理的環境をシミュレートするためのシステムにおいて、
物理学に基づくルールのセットを含む仮想環境と、
プロセッサと、を含み、前記プロセッサが、
前記仮想環境内の物理オブジェクトに、同じく前記仮想環境内の仮想カメラの焦点を設定し、
前記仮想カメラの前記設定された焦点を維持しながら、イベントに応答して前記仮想カメラを移動させ、前記仮想カメラおよび前記物理オブジェクトは物理学に基づくルールのセットに従うように構成されるシステム。
【請求項６】
前記プロセッサがさらに、前記仮想カメラと前記物理オブジェクトの間の距離を変えるように構成される、請求項５に記載のシステム。
【請求項７】
前記プロセッサがさらに、前記仮想カメラを前記物理オブジェクトの周りで回転させるように構成される、請求項５に記載のシステム。
【請求項８】
前記仮想環境内のオブジェクトの少なくとも１つの物理的挙動に影響を与えるために、前記物理学に基づくルールのセットのうち少なくとも１つのルールが変更される請求項５に記載のシステム。
【請求項９】
物理的環境をシミュレートするためのシステムにおいて、
物理学に基づくルールのセットを含む仮想環境と、
前記物理学に基づくルールに従うように構成された、前記仮想環境内の物理オブジェクトと、
前記物理学に基づくルールに従うように構成された、前記仮想環境内の仮想カメラであって、前記物理オブジェクトに合焦したままになるように構成された仮想カメラと、を含むシステム。
【請求項１０】
前記仮想カメラおよび前記物理オブジェクトのうち少なくとも一方が、前記仮想カメラと前記物理オブジェクトの間の距離を変えるように構成される、請求項９に記載のシステム。
【請求項１１】
前記仮想カメラが、前記物理オブジェクトの周りで回転するように構成される、請求項９に記載のシステム。
【請求項１２】
前記仮想環境内のオブジェクトの少なくとも１つの物理的挙動に影響を与えるために、前記物理学に基づくルールのセットのうち少なくとも１つのルールが変更される請求項９に記載のシステム。
【請求項１３】
物理的環境をシミュレートするためのシステムであって、
仮想環境内の物理オブジェクトに、同じく仮想環境内の仮想カメラの焦点を設定するための手段と、
前記仮想カメラの前記設定された焦点を維持しながら、イベントに応答して前記仮想カメラを移動させるための手段と、を含み、前記仮想カメラと前記物理オブジェクトが、物理学に基づくルールに従うように構成されるシステム。
【請求項１４】
前記仮想カメラと前記物理オブジェクトの間の距離を変えるための手段をさらに含む、請求項１３に記載のシステム。
【請求項１５】
前記仮想カメラを、前記物理オブジェクトの周りで回転させるための手段をさらに含む、請求項１３に記載のシステム。
【請求項１６】
前記仮想環境内のオブジェクトの少なくとも１つの物理的挙動に影響を与えるために、前記物理学に基づくルールのセットのうち少なくとも１つのルールを変更するための手段をさらに含む、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータ処理されたビデオゲームに関する。
【背景技術】
【０００２】
我々の社会におけるコンピューティングデバイスは、過去数年で大幅に普及してきた。そのようなコンピューティングデバイスは、以前は一般的ではなかったが、今や、社会の大部分の人々が、少なくとも１つのコンピューティングデバイスにアクセスしたり、コンピューティングデバイスを所有したりしている。コンピューティングデバイスの成長に伴い、コンピューティングデバイスの娯楽用途も同様に成長してきた。Ｍｉｃｒｏｓｏｆｔ  ＸＢＯＸ、Ｓｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎ、Ｓｏｎｙ  ＰＳＰ、Ｎｉｎｔｅｎｄｏ  Ｗｉｉ、Ｎｉｎｔｅｎｄｏ  ＤＳなどのゲームコンソール、ならびにパーソナルコンピュータシステムが、現在、我々の社会で一般的である。このようなデバイスに現在アクセスするユーザの数は、著しく増大し、その結果、新たなコンピュータおよびコンソールゲームが爆発的に発達した。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
コンピュータ台数およびコンソールゲームの数は成長し続け、グラフィクスおよびゲームプレイは改良され続けているが、ゲーム内でオブジェクト、イベントおよびオカレンスを見たり表示したりするシステムおよび方法は、全般的に同じままであった。したがって、オブジェクトおよびイベントを見たり表示したりするための、改良された方法およびシステムが必要とされる。
【課題を解決するための手段】
【０００４】
仮想環境内でオブジェクトを見る方法は、仮想環境内の物理オブジェクトに、同じく仮想環境内の仮想カメラの焦点を設定するステップと、仮想カメラの設定された焦点を維持しながら、イベントに応答して仮想カメラを移動させるステップとを含み、仮想カメラおよび物理オブジェクトは、物理学に基づくルールのセットに従うように構成される。
【０００５】
物理的環境をシミュレートするためのシステムは、物理学に基づくルールのセットを含む仮想環境とプロセッサとを含み、そのプロセッサは、仮想環境内の物理オブジェクトに、同じく仮想環境内の仮想カメラの焦点を設定し、仮想カメラの設定された焦点を維持しながら、イベントに応答して仮想カメラを移動させるように構成され、仮想カメラおよび物理オブジェクトが物理学に基づくルールのセットに従うように構成される。
【０００６】
物理的環境をシミュレートするためのシステムは、物理学に基づくルールのセットを含む仮想環境と、物理学に基づくルールに従うように構成された、仮想環境内の物理オブジェクトと、物理学に基づくルールに従うように構成された仮想カメラとを含み、仮想環境内の仮想カメラは、物理オブジェクトに合焦したままになるように構成される。
【図面の簡単な説明】
【０００７】
【図１】コンピューティングデバイスのブロック図である。
【図２】コンピューティングデバイスの一例を示す図である。
【図３Ａ】第１の実施形態を示す図である。
【図３Ｂ】第２の実施形態を示す図である。
【図３Ｃ】第３の実施形態を示す図である。
【図４Ａ】第４の実施形態を示す図である。
【図４Ｂ】第５の実施形態を示す図である。
【図５】仮想環境内のオブジェクトを見るためのプロセスの実施形態のフローチャートである。
【発明を実施するための形態】
【０００８】
仮想環境内のイベントおよびオブジェクトを見る典型的な方法は、一人称視点からの視界を表すことである。ユーザから見えるカメラまたは視界は、仮想環境内のオブジェクト中へ埋め込まれる。これは、運転シミュレーション／ゲームまたは一人称シューティング（たとえば戦闘）シミュレーション／ゲームで、よく見られる。イベントが起こると、イベントに反応するオブジェクトの視点からの視界が見える。他の典型的な方法は、オブジェクトのカメラまたは視界を固定された場所に位置付けることである。たとえば、視界またはカメラは、オブジェクトの直後で少し上に位置付けることもできる。クラッシュ、衝突、またはその他の物理的イベントなどのイベントが起こると、カメラまたは視界は変わらないが、物理オブジェクトはそのイベントに反応する。したがって、視界またはカメラは、イベントに反応するオブジェクトを表すが、視界またはカメラは静止したままである。仮想環境内のオブジェクトおよびイベントを見るための新たなシステムおよび方法が必要とされる。
【０００９】
以下の詳細な説明は、具体的な諸実施形態に関する様々な説明を提示するものである。しかしながら、特許請求の範囲によって規定され網羅される多くの異なる方法で、本発明を実施することができる。本明細書においては、図面が参照され、図面全体を通して同様の部分は同様の参照符号で指定される。
【００１０】
本明細書において使用される用語は、いかなる制限的用法または限定的用法を意図されるものではない。その理由は単純に、これらの用語は本発明のある特定の実施形態の詳細な説明とともに利用されるからである。さらに、諸実施形態は、いくつかの新規な特徴を含むことができ、これらの特徴はどれも、１つのみで所望の特性を負うものではなく、本明細書に記載された発明を実施するために必須のものではない。
【００１１】
本発明のシステムは、様々なソフトウェアモジュール、コンポーネント、汎用プロセッサなどのハードウェア、ＡＳＩＣ、ＦＰＧＡ、および以下で論じるようなアプリケーションを含む。当業者には理解されるように、モジュールはそれぞれ、様々なサブルーチン、プロシージャ、定義ステートメントおよびマクロを含む。モジュールはそれぞれ、通常、別々にコンパイルされ、単一の実行可能プログラムにリンクされる。したがって、各モジュールに関する以下の説明を、好ましいシステムの機能を説明するための便宜のために使用する。したがって、各モジュールによって行われるプロセスは、その他のモジュールのうち１つに任意に再分配され、単一モジュールに組み合わされ、または、たとえば共有可能なダイナミックリンクライブラリにおいて利用可能にされる。
【００１２】
ソフトウェアモジュール、コンポーネント、ハードウェアおよびアプリケーションは、たとえばＣ、Ｃ＋＋、ＢＡＳＩＣ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐａｓｃａｌ、Ａｄａ、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬまたはＦＯＲＴＲＡＮなどの任意のプログラミング言語で記述することができ、また、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃｉｎｔｏｓｈ、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ、ＶｘＷｏｒｋｓまたはその他のオペレーティングシステムの変形などのオペレーティングシステムで実行することができる。Ｃ、Ｃ＋＋、ＢＡＳＩＣ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐａｓｃａｌ、Ａｄａ、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬおよびＦＯＲＴＲＡＮは、産業界標準のプログラミング言語であり、市販の多くのコンパイラを使用して、実行可能なコードを作成することができる。さらに、システムは、ソフトウェア、ハードウェア、またはハードウェアとソフトフェアの両方の組合せを含む。
【００１３】
図１は、コンピューティングデバイス１００のブロック図である。コンピューティングデバイス１００は、プロセッサ１０４、メモリ１０８、入力モジュール１１２、ディスプレイモジュール１０６およびスピーカ１１６を備えることができる。プロセッサ１０４は、ＡＲＭ、Ｐｅｎｔｉｕｍ（登録商標）、Ｐｅｎｔｉｕｍ  ＩＩ（登録商標）、Ｐｅｎｔｉｕｍ  ＩＩＩ（登録商標）、Ｐｅｎｔｉｕｍ  ＩＶ（登録商標）、Ｐｅｎｔｉｕｍ  Ｐｒｏ（登録商標）、８０５１、ＭＩＰＳ（登録商標）、Ｐｏｗｅｒ  ＰＣ（登録商標）、ＡＬＰＨＡ（登録商標）、特定用途向け集積回路（ＡＳＩＣ）などの任意の汎用のシングルチップマイクロプロセッサまたはマルチチップマイクロプロセッサ、あるいはデジタルシングルプロセッサ、マイクロコントローラ、またはプログラム可能なゲートアレイなどの任意の専用のマイクロプロセッサを備えることができる。メモリ１０８は、ハードディスク、ＲＡＭ、ＲＯＭ、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、またはデータを保存するためのその他の手段を含むことができる。入力モジュール１１２は、キーボード、マウス、タッチパッド、タッチスクリーン、レバー、ノブ、ダイアル、スライダ、またはユーザ入力を提供するための他の手段を含むことができる。ディスプレイモジュール１０６は、ＬＣＤモニタ、ＣＲＴモニタ、プラズマモニタ、タッチスクリーン、またはメディアを表示するためのその他の手段を含むことができる。スピーカ１１６は、スピーカ、ヘッドホン、または音声出力を再生するためのその他の手段を含むことができる。ネットワークインターフェース１２０は、有線ネットワークカード、無線ネットワークカード、またはネットワークと通信するためのその他の手段を含むことができる。ネットワークインターフェース１２０は、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（たとえばインターネット）、あるいはその他の形態のネットワークと接続することできる。ネットワークインターフェース１２０は、イーサネット（登録商標）、電話（たとえばＰＯＴＳ）およびファイバー光学システムが含まれるがこれらに限定されるものではない有線技術および／または符号分割多元接続（ＣＤＭＡまたはＣＤＭＡ２０００）通信システム、ＧＳＭ／ＧＰＲＳ（汎用パケット無線サービス）／ＥＤＧＥ（ｅｎｈａｎｃｅｄ  ｄａｔａ  ＧＳＭ  ｅｎｖｉｒｏｎｍｅｎｔ）、またはＩＥＥＥ  ８０２．１１ｂシステムが含まれるがこれらに限定されるものではない無線技術にしたがって信号を受信することができる。
【００１４】
図２は、コンピューティングデバイス２００の一例を示す図である。コンピューティングデバイス２００は、図１に示すコンピューティングデバイスと同様である。コンピューティングデバイス２００は、ディスプレイ２０６、入力デバイス２１２、スピーカ２１６およびコンピューティングデバイスボックス２０２を備える。ディスプレイ２０６は、ＬＣＤモニタ、ＣＲＴモニタ、プラズマモニタ、タッチスクリーンモニタ、または投射スクリーンとすることができる。入力デバイス２１２は、ゲームコンソールコントローラとすることができる。キーボード、マウス、運動感知式コントローラ、タッチパッド、タッチスクリーンなど、その他のタイプの入力デバイスを使用することもできる。コンピューティングデバイスボックス２０２は、図１に示すようなプロセッサおよびメモリを備えることができる。コンピューティングデバイス２０２はまた、図１に示すようなネットワークインターフェースを備えてもよい。
【００１５】
なお、図３Ａ〜３Ｃおよび図４Ａ〜４Ｂには、仮想カメラおよび物理オブジェクトの外形図が示されている。図３Ａ〜３Ｃおよび図４Ａ〜４Ｂに示す外形図は、本明細書に記載されるシステムおよび方法によって実際に表示されるものではない。この外形図は、ある特定の実施形態の技術的特徴をよりわかりやすく示すために、図面中で用いられるものである。
【００１６】
図３Ａは、第一の実施形態を示す図である。仮想環境３００の外形図が図３Ａに示される。本実施形態では、仮想環境は、仮想環境３００中での全地形対応車（ＡＴＶ）の運転シミュレーションである。仮想カメラ３０４と物理オブジェクト３０８の両方を示すために、仮想環境の外形図が示される。本明細書に記載されるシステムおよび方法を使用するユーザは、仮想環境と仮想環境内の全てイベントを仮想カメラ３０４の視点から見ることができる。
【００１７】
仮想環境３００を、ビデオゲームまたはコンピュータゲームの一部とすることができる。また、仮想環境３００を、シミュレーションまたはその他のシミュレーション環境の一部としてもよい。仮想環境３００は、様々なタイプの地形を表示することができる。図３Ａに示す実施形態では、空の景色、丘および道路を有する領域が表示されている。通常、あらゆるタイプの地形を、仮想環境３００内に表示することができる。たとえば、仮想環境３００内に、砂丘を表示することができる。代替的には、海面、川面または湖面のように、地形を水に基づくものとすることができる。また地形は、（たとえば、フライトシミュレーションゲームや戦闘シミュレータ用に）宇宙または空などの開放領域としてもよい。
【００１８】
仮想環境３００は、物理学に基づくルールのセットを含むことができる。物理学に基づくルールは、仮想環境内にあるオブジェクトの物理的挙動を指示することができる。たとえば、重力の法則に関するルールを使用して、オブジェクトが仮想環境３００内でどのように落下するかについて決定する。その他のルールを使用して、煙、水または気体が、仮想環境３００内でどのように振舞うかについて決定することができる。仮想環境３００のオブジェクトにある特定の量の推進力がもたらされる時に、どのくらいの速度でオブジェクトが移動するかについて決定するルールが存在し、あるいは、仮想環境３００内でオブジェクトが衝突した時のオブジェクトの挙動を決定するルールが存在しうる。物理学に基づくルールは、物理的運動（たとえば加速、摩擦および減速）から電磁波による挙動（たとえば光）など、物理の全ての分野を包含することができる。通常、仮想環境３００の全てのオブジェクトの物理的挙動を決定するために、物理学に基づくルールが使用されうる。
【００１９】
図３Ａ〜３Ｃおよび図４Ａ〜４Ｂに、ＡＴＶ３０８を示すが、仮想カメラは、仮想環境３００内の任意の物理オブジェクトに合焦する。たとえば、仮想環境３００がフライトシュミレータを含む場合、仮想カメラ３０４は飛行機に合焦することができる。仮想環境３００が運転ゲームを含む場合、仮想カメラ３０４は自動車に合焦することができる。本願は、仮想環境３００の一部とすることができる地形または物理オブジェクトのタイプを限定するものではない。
【００２０】
さらに、物理学に基づくルールは、仮想環境３００のオブジェクトの物理的挙動を指示                          する１つのルールまたはルールのセットを含むことができる。仮想環境３００は、ある特定のタイプのルールを有することを必要としない。たとえば、宇宙フライトシミュレーションでは、仮想環境は重力に関するルールを全く有さなくてもよい。また、仮想環境は、摩擦および物理オブジェクトに対する摩擦の影響に関するルールを全く有さなくてもよい。本願は、仮想環境３００内に存在しうる物理学に基づくルールの数やタイプを決して制限するものではない。
【００２１】
図３Ａでは、ＡＴＶ３０８を、仮想環境３００内の物理オブジェクトとすることができる。ＡＴＶ３０８は、仮想環境３００の物理学に基づくルールの対象とされ、物理学に基づくルールに従ってその他のオブジェクトおよび仮想環境３００と相互作用する。仮想カメラ３０４もまた仮想環境３００内に存在する。また仮想カメラ３０４は、仮想環境３００内の別の物理オブジェクトである。仮想カメラ３０４は、ＡＴＶ３０８に合焦する。つまり、本明細書のシステムおよび方法を使用するユーザは、仮想カメラ３０４の視点からＡＴＶ３０８を見ていることになる。この実施形態において、仮想カメラ３０４は、ＡＴＶ３０８に対して特定の場所に置かれる。ＡＴＶ３０８が仮想環境３００中を移動すると、ＡＴＶ３０８は、物理学に基づくルールの対象となる。ＡＴＶ３０８が仮想環境３００内で崖から落ちた場合、ＡＴＶ３０８は、仮想環境３００について定義された物理学に基づくルールに従って落下し、地面に衝突する。仮想カメラ３０４が仮想環境３００中を移動すると、ＡＴＶ３０８に合焦したままになり、同じく物理学に基づくルールの対象とされる。
【００２２】
一実施形態において、仮想カメラ３０４はＡＴＶ３０８に「拘束」されることができる。たとえば、ＡＴＶ３０８と仮想カメラ３０４を「見えないゴムバンド」で接続されているものとして視覚化することができる。ＡＴＶ３０８が仮想環境３００内を移動すると、仮想カメラ３０４はＡＴＶ３０８とともに移動する。物理学に基づくルールに従ってＡＴＶ３０８が加速するとき、仮想カメラ３０４は初めは加速できないが、次いでＡＴＶ３０８が仮想カメラ３０４に接続された「見えないゴムバンド」を引くと、仮想カメラは同じルールに従って加速し始めることができる。
【００２３】
他の実施形態では、仮想カメラ３０４は、ＡＴＶ３０８により安定した構成で拘束されることができる。たとえば、ＡＴＶ３０８と仮想カメラ３０４が「見えない棒」で接続されているものとして視覚化することができる。ＡＴＶ３０８が仮想環境３００内を移動すると、仮想カメラ３０４はＡＴＶ３０８とともに移動する。ＡＴＶ３０８が物理学に基づくルールに従って加速するとき、仮想カメラ３０４はＡＴＶ３０８と同じ速度で加速することができる。関連する実施形態では、仮想カメラ３０４とＡＴＶ３０８の距離を固定することができ、仮想環境３００でイベントが起こったときでさえ、その距離が変わることはない。仮想カメラ３０４は、イベントおよび／またはＡＴＶ３０８の運動の結果として、ＡＴＶ３０８の周囲の任意の場所まで移動することができるが、仮想カメラ３０４とＡＴＶ３０８の距離は同じままである。
【００２４】
別の例では、遠心力を仮想環境３００における物理学に基づくルールの１つとすることができる。ＡＴＶ３０８が右に曲がると、ＡＴＶ３０８は仮想カメラ３０４に接続された「見えないゴムバンド」を引くことができ、仮想カメラ３０４は遠心力の結果として左に旋回することができる。
【００２５】
関連する例では、ＡＴＶ３０８が右に曲がると、仮想カメラ３０４は左に旋回する。仮想カメラ３０４が左に旋回すると、壁、岩または建物など、仮想環境内のオブジェクトに衝突することがある。仮想カメラ３０４がオブジェクトに衝突したときの挙動は、物理学に基づくルールに支配されている。仮想カメラ３０４はオブジェクトに衝突し、その移動を止めることができる。ＡＴＶ３０８の運動は、仮想カメラ３０４のオブジェクトとの衝突の影響を受けない。ＡＴＶ３０８は仮想環境３００において仮想カメラ３０４とは別のオブジェクトなので、仮想環境３００、仮想環境３００内のオブジェクトおよび地形と、仮想カメラ３０４から独立して相互作用することができ、逆もまた同様である。したがって、仮想カメラ３０４がオブジェクトと衝突し、動きを止めている間、ＡＴＶ３０８は右に曲がり続ける。ＡＴＶ３０８が遠くへ移動し、衝突したオブジェクトから遠ざかるように仮想カメラ３０４を引っ張ると、仮想カメラ３０４は移動を再開する。仮想カメラ３０４は拘束され、ＡＴＶ３０８に合焦したままだが、仮想カメラ３０４は別個の物理オブジェクトであり、したがってＡＴＶ３０８から独立して仮想環境３００内のオブジェクトや地形と相互作用することができる。
【００２６】
一実施形態において、ＡＴＶ３０８の運動は、仮想カメラ３０４の運動に影響を与えることができる。たとえば、ＡＴＶ３０８は崖から落ち、仮想環境３００中を落下しながらゆっくりと前方に反転を始めることができる。ＡＴＶ３０８がゆっくりと前方に傾くにつれて、仮想カメラ３０４もＡＴＶ３０８の傾斜に対応する弧を描いてで前方へ動き始める。仮想カメラ３０４の移動に、仮想環境３００内のその他のオブジェクトや地形との任意の衝突、あるいは他の相互作用は必要でない。ＡＴＶ３０８に緩く拘束され、ＡＴＶ３０８の運動は仮想カメラ３０４の運動に影響を与えるので、仮想カメラ３０４は、ＡＴＶ３０８の運動に対応する弧を描いて移動する。他の実施形態では、仮想環境３００の他のオブジェクトおよび／または地形と衝突あるいは相互作用しない限り、仮想カメラ３０４はその位置から動かずにいることができる。
【００２７】
一実施形態では、ＡＴＶ３０８に起こるイベント（たとえば、衝撃、衝突、回転）は、仮想カメラ３０４の運動をトリガーすることができる。たとえば、ＡＴＶ３０８が仮想環境３００中を移動するとき、図３Ａに示すように、カメラはＡＴＶ３０８の上方後ろ側の固定された場所に位置されうる。ＡＴＶ３０８は仮想環境３００内のオブジェクトにぶつかり、物理学に基づくルールに従って、仮想環境３００内の地形および／またはその他のオブジェクトとクラッシュし相互作用することができる。クラッシュが起こると、仮想カメラ３０４の運動がトリガーされる。たとえば、仮想カメラ３０４はＡＴＶ３０８を追跡することができる。クラッシュが起こると、仮想カメラ３０４は前方に投げ出され、ＡＴＶ３０８を越えることができる。仮想カメラ３０４が仮想環境３００内を移動し始めると、仮想カメラ３０４はオブジェクトおよび地形と、ＡＴＶ３０８から独立して相互作用することができるが、ＡＴＶ３０８に合焦したままとなる。たとえば、仮想カメラ３０４はＡＴＶ３０８の横に投げ出され、また横に投げ出されながら回転を始める。仮想カメラ３０４は次いで、仮想環境内にある岩、樹木、建物またはその他のオブジェクトと衝突することがあり、その運動はＡＴＶ３０８とは独立して影響を受ける。仮想カメラ３０４が仮想環境３００中においてオブジェクトと衝突、回転し、バウンドしている間、ＡＴＶ３０８に合焦したままとなる。
【００２８】
図３Ｂは、第２の実施形態を示す図である。図３Ｂに示す実施形態では、仮想環境３００内の岩３１０と衝突した後のＡＴＶ３０８を示す。衝突と仮想環境３００内の物理学に基づくルールとの結果として、ＡＴＶ３０８はクラッシュし、仮想環境３００中で転倒している。仮想環境３００に関する物理学に基づくルールに起因して、仮想カメラ３０４とＡＴＶ３０８とがお互いにひっくり返っている。矢印３１２ａは、仮想カメラ３０４の運動の方向を示している。矢印３１２ｂは、ＡＴＶ３０８の運動の方向を示している。仮想カメラ３０４およびＡＴＶ３０８は、仮想環境３００内のオブジェクトおよび地形と、それぞれ独立して相互作用する。たとえば、仮想カメラ３０４は、まず仮想環境３００の地形に衝突する。仮想環境３００内の物理学に基づくルールによると、仮想カメラ３０４は、地形を通過することができない。そのため、地形に衝突し、そのルールに従って繰り返しバウンドする。仮想カメラ３０４は地形に衝突するが、ＡＴＶ３０８は矢印３１２ｂで示された弧を描いて、なおも転倒している。ＡＴＶ３０８は、地形に衝突した仮想カメラ３０４の上に弧を描いて移動し続けることができる。仮想カメラ３０４は、矢印３１２ｂで示された弧に沿って移動するＡＴＶ３０８に合焦し続けることになる。仮想カメラ３０４とＡＴＶ３０８の両方が物理学に基づくルールに従って仮想環境内で転倒すると、双方とも仮想環境３００内のオブジェクトおよび地形と、完全に異なる方法で相互作用することができ、仮想カメラ３０４はＡＴＶ３０８に合焦したままとなる。
【００２９】
図３Ｃは、第３の実施形態を示す図である。図３Ｃに示す実施形態では、仮想環境３００内の岩３１０と衝突した後のＡＴＶ３０８を示している。衝突と仮想環境３００内の物理学に基づくルールとの結果として、ＡＴＶ３０８はクラッシュし、仮想環境３００中で転倒している。仮想環境３００に関する物理学に基づくルールとクラッシュ以前の仮想環境３００中でのＡＴＶ３０８の動き方とに起因して、ＡＴＶ３０８は転倒し、矢印３２０ａに示すように車両の前部と後部がひっくり返っている。仮想カメラ３０４は、仮想環境内の他の物理オブジェクトに衝突してもよい。衝突および物理学に基づくルールに起因して、仮想カメラ３０４は、ＡＴＶ３０８の周りを矢印３２０ｂに示すように、円形軌道を描いて移動している。仮想カメラ３０４は仮想環境３００内の物理オブジェクトであり、ＡＴＶ３０８も同様に仮想環境３００内の物理オブジェクトなので、それらの運動の方向３２０ａおよび３２０ｂで示されるように、それぞれから独立して反応することができる。図３Ｃからわかるように、仮想カメラ３０４はＡＴＶ３０８に合焦したままである。
【００３０】
図４Ａは、第４の実施形態を示す図である。図４Ａに示された実施形態では、仮想カメラ４０４とＡＴＶ４０８の距離は、物理学に基づくルール、ならびに仮想カメラ４０４とＡＴＶ４０８の仮想環境４００内のオブジェクトおよび／または地形との相互作用に応じて変化することがある。たとえば、仮想カメラ４０４をＡＴＶ４０８の後ろに位置付けることができ、またＡＴＶ４０８は仮想環境４００内のオブジェクトの前にあってもよい。ＡＴＶ４０８が後退すると、仮想カメラ４０４はまず、オブジェクトと衝突し、ルールに基づいてさらに遠くへは移動しない。ＡＴＶ４０８が後退し続けると、仮想環境４００に関するルールに従って仮想カメラ４０４は衝突したオブジェクトを通り過ぎて移動できないので、仮想カメラ４０４とＡＴＶ４０８の距離は短くなる。
【００３１】
他の実施形態では、仮想環境４００のユーザは、仮想カメラ４０４とＡＴＶ４０８の間の距離を設定することができる。たとえばユーザは、カメラの初期位置をＡＴＶ４０８の後方２０フィートに設定することを決定することできる。ユーザが仮想環境４００内にいる間のいくつかのポイントで、ユーザは、２０フィートではＡＴＶ４０８から離れすぎ、ＡＴＶ４０８の適切な視界を提供できないと決定する場合がある。ユーザは、当該距離を１５フィートに減らすことができる。さらに、ユーザは仮想カメラ４０４に関する最短距離および／または最長距離を設定することができる。たとえば、ユーザは、仮想カメラがＡＴＶ４０８から５フィートより近くならないように、またＡＴＶ４０８から２０フィートより離れないように設定することができる。このような仮想カメラ４０４とＡＴＶ４０８の間の最短距離および最長距離は、仮想環境４００内のオブジェクトおよび地形の両方とどのように相互作用するかにかかわりなく維持される。たとえば、クラッシュが起こった場合であっても、仮想カメラ４０４とＡＴＶ４０８の距離は５フィート未満になることはない。
【００３２】
図４Ｂは、第５の実施形態を示す図である。図４Ｂに示す実施形態では、仮想カメラ４０４をＡＴＶ４０８の周りの様々な場所に位置付けることができる。図３Ａ〜３Ｃに記載されるように、仮想カメラ４０４は、ＡＴＶ４０８から独立して、仮想環境４００内を動き回ることができる。図３Ａ〜３Ｃに示すように、仮想カメラ４０４は、仮想環境４００内のその他の物理オブジェクトまたは地形との相互作用の結果として、ＡＴＶ４０８の周りで移動することができる。仮想カメラ４０４は、半球形４１０内のどこにでも位置付けることができる。図３Ａ〜３Ｃで論じられるように仮想カメラ４０４とＡＴＶ４０８の距離が長くなると、半球形４１０の半径も同じように長くなりうる。したがって、図３Ａ〜３Ｃで論じられるように仮想カメラ４０４とＡＴＶ４０８の距離が短くなると、半球形４１０の半径は短くなりうる。仮想カメラ４０４は、ＡＴＶ４０８の周りのその位置に関係なく、ＡＴＶ４０８に合焦したままでありうる。
【００３３】
図４Ｂには示されていないが、仮想カメラは、オブジェクトの周囲の完全球形内のどこにでも位置付けることができる。たとえば、フライトシミュレーションでは、仮想環境は、空の景色（ｓｋｙｓｃｒａｐｅ）を含むことができる。空の景色において、仮想カメラを、合焦されたオブジェクトの下に位置付け、それにより仮想カメラに関する位置の完全球形を生じさせることができる。図４Ｂに示す例は、シミュレーション環境４００内の地形に起因して位置に関する半球形のみを可能にする。
【００３４】
他の実施形態では、仮想環境４００のユーザは、仮想カメラ４０４およびＡＴＶ４０８の場所を設定することができる。たとえば、ユーザは、仮想カメラ４０４の場所がＡＴＶ４０８の後方でわずかにＡＴＶ４０８より上になるように設定することができる。別の例では、ユーザは、仮想カメラの場所がＡＴＶ４０８の左側でＡＴＶ４０８と同じ高さになるように設定することができる。ユーザは、仮想カメラ４０４がＡＴＶ４０８の周りを移動することができる場所に制限を設定することができる。たとえば、ユーザは仮想カメラ４０４がＡＴＶ４０８の後方の領域でのみ動くように設定することができる。この結果、仮想カメラ４０４は、ＡＴＶ４０８の後方領域の視界のみを提供することになる。仮想カメラ４０４およびＡＴＶ４０８がどのように仮想環境４００内のオブジェクトおよび地形と相互作用するかにかかわりなく、仮想カメラ４０４の場所に関するこれらの制限は維持される。たとえば、クラッシュが起こった場合でも、仮想カメラ４０４は、ＡＴＶ４０８の前に位置付けられるように動くことは決してない。
【００３５】
図５は、仮想環境内のオブジェクトを見るためのプロセス５００の実施形態のフローチャートである。図５Ａにおいて、ユーザは、運転ビデオゲームなどのシミュレーション環境を使用している。ユーザは、ＡＴＶまたは自動車などのオブジェクトをシミュレーション環境内で制御している。ユーザはシミュレーション環境を使用しているので、オブジェクトに関するユーザの視界は、図５に示す方法に従ってもよい。
【００３６】
プロセス５００は開始ブロック５０４から始まり、ブロック５０８に進む。ブロック５０８で、ユーザは、仮想カメラの焦点を特定のオブジェクトに設定する。焦点は、仮想環境内の任意のオブジェクトに設定してもよい。仮想カメラの焦点はユーザが設定してもよく、あるいは仮想環境によって自動的に設定してもよい。さらに、ユーザは、仮想カメラの焦点を仮想環境内の別のオブジェクトに再設定することができる。プロセスは次いでブロック５１２に進み、ユーザは仮想カメラからオブジェクトまでの距離を設定することができる。ユーザが手動で距離を設定しても、初期設定の距離を使用してもよい。プロセスは次いでブロック５１６に進み、ユーザはオブジェクトに対する仮想カメラの位置を設定することができる。たとえば、ユーザは、カメラがオブジェクトの直後でオブジェクトと同じ高さとなるように設定することができる。カメラの位置は、手動でユーザが設定しても、初期設定の位置を使用してもよい。プロセスは次いで、ブロック５２０に進む。ブロック５２０において、プロセス５００はイベントが起こるまで待機する。イベントは、仮想環境内のオブジェクトの移動を含むことができる。たとえば、自動車オブジェクトが左折すること、または自動車オブジェクトが壁にクラッシュすることをイベントとすることができる。イベントが１つも起こらない場合、プロセスは元に戻り、イベントが起こるまで待機する。イベントが起こると、プロセス５００はブロック５２４に進む。ブロック５２４では、クラッシュまたは衝突などのイベントが起こる。カメラオブジェクトは次いで、物理学に基づくルールに従って図３Ａ〜４Ｂに示すように、オブジェクトの周りを移動する。カメラは、物理学に基づくルールに従って、仮想環境内のその他のオブジェクトおよび地形と相互作用することができる。プロセスは次いでブロック５２８に進む。
【００３７】
上述の方法は、たとえば、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、メモリカード、およびディスクなどのコンピュータ可読データを保存するための任意の種類の記録デバイスを含むコンピュータ可読記録媒体に保存されるプログラム形式で実現することができる。また、上述の方法は、搬送波形式（たとえば、インターネット伝送またはＢｌｕｅｔｏｏｔｈ伝送）でも実現することができる。
【００３８】
特定のブロック、セクション、デバイス、機能およびモジュールについて説明してきたが、本願のシステムを分割する多くの方法が存在し、上記で列挙したものに置換しうる多くの部品、コンポーネント、モジュールまたは関数が存在することは、当業者であれば想起するであろう。
【００３９】
上記の詳細な説明は、様々な実施形態に適用される本発明の基本的で新規な特徴を図示し、記載し、指摘したが、本発明の趣旨から逸脱することなく、当業者により、説明した本願のシステムの形態および細部において、様々な省略、置換および変更を行いうることが理解されるであろう。
【図１】
2010073204.tif 000003
【図２】
2010073204.tif 000004
【図３Ａ】
2010073204.tif 000005
【図３Ｂ】
2010073204.tif 000006
【図３Ｃ】
2010073204.tif 000007
【図４Ａ】
2010073204.tif 000008
【図４Ｂ】
2010073204.tif 000009
【図５】
2010073204.tif 000010
【外国語明細書】
2010073204000001.pdf