同一のビデオゲーム世界の異なる一人称体験を提供する効果を持つビデオゲーム及びこのビデオゲームのソフトウェアを記憶する記憶媒体
ビデオゲームにおいて、種々の効果が用いられて、異なった種類のゲームキャラクタ及びゲームオブジェクトのゲーム世界の体験を表す。例えば、ゲームキャラクタが犬である場合、犬の赤と緑に関する色覚異常を表す視覚効果を用いることが出来る。ゲームキャラクタがねずみである場合、ねずみのぼやけた視覚を表す他の視覚効果を用いることが出来る。
【発明の詳細な説明】
【技術分野】
【0001】
本願は一般的にビデオゲームに関し、より特定的には、同一のビデオゲーム世界の異なる一人称体験を提供する効果を持つビデオゲームに関する。本願は、またこのようなビデオゲームのソフトウェアを記憶する記憶媒体についても記述している。
【背景技術】
【0002】
本願は、2004年5月10日に出願された米国仮出願第60/569,237号明細書の利益を請求するものであり、その全内容を本明細書に引用したものとする。
【0003】
私達の多くは、いかにも本物らしい恐竜、エイリアン、アニメーションのおもちゃ、及び他の架空の生物が登場するフィルムを見たことがある。このようなアニメーションはコンピュータグラフィックスにより可能となる。このような技術を用いて、コンピュータグラフィックスのアーチストは、各オブジェクトがどのように見えるべきか及び外観が時間と共にどのように変化するべきかを指定することが出来るとともに、コンピュータはこれらのオブジェクトを形作り、テレビやコンピュータ画面等のディスプレイにこれらを表示する。表示される画像の各部分が、ある場面における各オブジェクトの位置及び配向、各オブジェクトに光が当たって見える方向、各オブジェクトの表面のテクスチャ、及び他の要素に基づいて適切な色と形状を有することを確実にするために必要な多数のタスクを行うための処理をコンピュータは行う。
【特許文献1】米国特許第6,676,520号明細書
【特許文献2】米国特許出願公開第09/814,953号明細書
【特許文献3】米国特許第6,707,458号明細書
【特許文献4】米国特許第6,609,977号明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
コンピュータグラフィックスの生成は複雑であるために、ほんの数年前まではコンピュータで作られた3次元(3D)グラフィックスは主に、非常に高価な専門性の高いフライトシミュレータ、高性能のグラフィックスワークステーション、及びスーパーコンピュータに限られていた。一般の人々は、これらのコンピュータシステムによって生成された画像の一部を映画や費用をかけたテレビ広告で見ることはあっても、ほとんどの人は、グラフィックスの生成を行っているコンピュータと実際に対話は出来なかったであろう。これは、例えばニンテンドー・ゲームキューブ(登録商標)等の比較的低価格の3Dグラフィックスのプラットフォーム及びパーソナルコンピュータで現在使用可能な種々の3Dグラフィックスカードが容易に入手出来るようになったため、大きく変わってきた。現在では家庭やオフィスにおいて、比較的低価格のコンピュータグラフィックスシステムでエキサイティングな3Dアニメーション及びシミュレーションと対話することが可能になっている。
【課題を解決するための手段】
【0005】
本願は、3Dグラフィックスのプラットフォームでプレイすることの出来るビデオゲームの一例を説明する。この例のビデオゲームは、プレイヤがまるで本人自身の目で見ているようかのようにゲームをする一人称ゲームであるが、本願はこれに限定されない。このビデオゲームには幽霊が登場し、その幽霊はゲームキャラクタ及びゲームオブジェクト等の種々のホストに「乗り移る」ことが出来ることでゲームの目的を達成する。幽霊がホストに乗り移ると、ゲームの視界は乗り移られたホストの視界に移る。つまり、プレイヤは乗り移られたホストの目すなわち視点を通してゲーム世界を見ることになる。プレイヤが乗り移られたホストの感覚にさらに近づくように、この例のビデオゲームでは、プレイヤは乗り移られたホストの特性に基づいた世界を体験出来る。例えば、フィルタ等の視覚効果を用いて、幽霊が乗り移ったホストの世界観を伝えてもよい。したがって、幽霊が犬に乗り移った場合は、犬が持つ赤と緑に関する色覚異常を伝える視覚効果を用いてもよい。この場合、一人称ゲームのプレイヤには、犬が光景を見るであろうようにその光景が見える。幽霊がねずみに乗り移った場合は、別の視覚効果を用いて、ねずみが持つぼやけた視覚を表す。この場合、プレイヤには、ねずみが光景を見るであろうようにその光景が見える。
【0006】
例として、3Dグラフィックスプラットフォームでゲーム表示を生成する場合、赤色チャンネルと緑色チャンネルとを合成して、犬が持つ赤と緑に関する色覚異常を実現することが出来る。ねずみが持つぼやけた視覚は、ぼかしを用いてねずみが見る光景をぼかすことで実現出来る。一般的には、ここで説明する視覚効果を実行するには、異なった色のチャンネル、奥行きによるぼかし処理、コントラストを高める又は低くする、画像ワーピングを行う、畳重、テクスチャリング、ライティング、フォグ効果等を組み合わせるなどの、しかしこれらに限定されない、多様な技術を用いる。
【0007】
本明細書で説明する概念は視覚効果に限定されない。例として、特定のホストにはある音声がどのように聞こえるかをプレイヤに伝える特定の聴覚効果を用いてもよい。幽霊が犬に乗り移る場合、ゲームをしている間に展開する音声が犬にはどのように聞こえるかを伝える聴覚効果を用いてもよい。同様に、幽霊がねずみに乗り移る場合、ゲームをしている間に展開する音声がねずみにはどのように聞こえるかを伝える別の聴覚効果を用いてもよい。これらの聴覚効果は上述の視覚効果と組み合わせて又は別個に用いることが出来る。
【0008】
さらなる例として、多数のゲームシステムはプレイヤに触感効果を与えるようになされている。この触感効果は、プレイヤが用いるゲームコントローラに搭載された振動装置によって与えることが出来る。本明細書で説明する概念は、特定のホストが自身に加えられた特定の力をどのように感じるかをプレイヤに伝えることによってこのような触感効果に適用することが出来る。例えば、ねずみと人間は同じ力でも異なったように感じるものであり、ゲームシステムは、力が加えられるキャラクタ又はオブジェクトの特性に少なくとも部分的に基づいた強度を持たせた触感効果を生成することで、この差異を考慮に入れることが出来る。この触感効果は、上述の視覚効果及び聴覚効果と組み合わせて又は別個に用いることが出来る。
【0009】
これら及び他の特徴及び利点は、図面と照合して、例示的実施形態の以下の詳細な説明からより一層、十分に完全に理解されるであろう。
【発明を実施するための最良の形態】
【0010】
図1は、インタラクティブ3Dコンピュータグラフィックスシステム50の一例を示しており、本明細書で説明するビデオゲームはこのシステムで実行することが出来る。システム50を用いて、関心を引くようなステレオサウンドを伴ったインタラクティブ3Dビデオゲームをプレイすることが可能となる。更に、システム50は、他の種々の用途にも用いることが出来る。この例では、システム50は、3D世界のデジタル表現又はモデルをインタラクティブにリアルタイムで処理することが出来る。システム50は、この世界の一部又は全てを任意の視点で表示することが出来る。例えば、システム50は、手持ち型コントローラ52a、52b又は他の入力装置からのリアルタイム入力に対応して、その視点をインタラクティブに変更することが出来る。これによりゲームプレイヤは、世界の内部又は外部の者の目を通して世界を見ることが出来る。システム50は、リアルタイム3D対話型表示を必要としない用途(例えば、2次元(2D)表示生成及び/又は非対話型表示)のために用いることが出来るが、高品質3D画像を素早く表示出来るということを利用して、非常にリアリスティックでエキサイティングなゲームプレイ又は他のグラフィカルインタラクションを生み出すことが可能となる。
【0011】
システム50を用いてビデオゲーム又は他のアプリケーションを実行するために、ユーザすなわちプレイヤはまず、メインユニット54を自分のカラーテレビ56又は他の表示装置に、ケーブル58でそれぞれの間を繋いで接続する。メインユニット54はカラーテレビ56を制御するための映像信号及び音声信号を生成する。映像信号はテレビ画面59に表示される画像を制御し、音声信号はテレビのステレオスピーカ61L、61Rを通して音声として再生される。
【0012】
更にユーザはメインユニット54を電源に接続する必要がある。この電源は、標準の家庭用の電気の壁面コンセントにプラグ接続する従来のACアダプタ(図示せず)でよく、家庭電流をメインユニット54に電力供給するのに適した直流低電圧信号に変換する。他の実施においては電池を用いてもよい。
【0013】
ユーザはメインユニット54に入力を行うために、手持ち型コントローラ52a、52bを用いてもよい。制御器60a、60bを用いて、例えば、テレビ56に表示されるキャラクタが3D世界内で動くべき方向(上又は下、左又は右、近づくか又は遠ざかるか)を指定することが出来る。制御器60a、60bは、他の用途(例えば、メニュー選択、ポインタ/カーソル制御等)の入力を行うために用いることも出来る。コントローラ52は様々な形態を取ることが出来る。この例では、各コントローラ52は、ジョイスティック、押しボタン、及び/又は方向スイッチ等の制御器60を具備する。コントローラ52をケーブルによって、又は電磁(例えば、電波又は赤外線)波による無線によって、メインユニット54と接続することが出来る。
【0014】
各コントローラ52は更に、メインユニット54からの制御信号に応じて選択的に駆動される1つあるいは複数の振動装置(図示せず)を具備してもよい。駆動されると、これらの振動装置は振動を生じ、その振動がコントローラを把持しているプレイヤの手に伝達される。このようにして、ゲームをしている時に振動生成イベントが生じると、プレイヤに触感が伝わるであろう。振動生成イベントの例としては、衝突、荒れた路面上での移動、加速等が挙げられる。振動装置を用いたコントローラの例の更なる詳細は、米国特許第6,676,520号明細書及び米国特許出願公開第09/814,953号明細書に記載されており、各々の全内容を本明細書に引用したものとする。
【0015】
ゲーム等のアプリケーションを実行するには、ユーザは、実行したいビデオゲーム又は他のアプリケーションを記憶している適切な記憶媒体62を選択し、メインユニット54の記憶媒体収容部64にその記憶媒体を挿入する。記憶媒体62は、例えば、専用に符号化及び/又は暗号化された光及び/又は磁気ディスクでありうる。グラフィックスシステムの他の実施においては、半導体メモリ等の他の記憶装置を用いてもよいことは言うまでもない。更なる他の実施において、ユーザは、インターネット等の通信ネットワークを通じて、ゲームソフトウェアを記憶するリモートコンピュータに接続してもよい。図1の実施において、ユーザは、電源スイッチ66を操作してメインユニット54の電源を入れ、記憶媒体62に記憶されているソフトウェアに対応したビデオゲーム又は他のアプリケーションをメインユニットに実行させてもよい。ユーザは、コントローラ52を操作して、メインユニット54に入力を行うことが出来る。例えば、制御器60を操作することによってゲーム又は他のアプリケーションを開始させてもよい。他の制御器60を動かすことによって、アニメーションのキャラクタを別々の方向に動かしたり、又は3D世界におけるユーザの視点を変更したりすることが出来る。記憶媒体62内に記憶されている特定のソフトウェアによって、コントローラ52の種々の制御器60はいろいろなタイミングでいろいろな機能を行うことが可能となる。
【0016】
システム全体の電子機器部品の例
【0017】
図2は、システム50の構成部品を例示したブロック図である。主要な構成部品は、メインプロセッサ(CPU)110、メインメモリ112、グラフィックス・オーディオプロセッサ114などである。この例では、メインプロセッサ110(例えば、IBM PowerPC(登録商標)750の発展系)は、グラフィックス・オーディオプロセッサ114経由で、手持ち型コントローラ52(及び/又は他の入力装置)からの入力を受ける。メインプロセッサ110はインタラクティブにユーザの入力に応答し、例えば、光ディスクドライブ等の大容量記憶アクセス装置106を経由して外部記憶媒体62によって供給されるビデオゲーム又は他のプログラムを実行する。一例として、ビデオゲームプレイのコンテキストの中で、メインプロセッサ110は、種々のインタラクティブ及び制御機能に加え、衝突の検出及びアニメーション処理を行うことが出来る。
【0018】
この例では、メインプロセッサ110は3Dグラフィックス・オーディオコマンドを生成し、それらをグラフィックス・オーディオプロセッサ114へ送信する。グラフィックス・オーディオプロセッサ114は、これらのコマンドを処理して、ディスプレイ59上に関心を引くような画像を生成し、ステレオスピーカ61R、61L又は他の適切な音声生成装置で関心を引くようなステレオサウンドを生成する。
【0019】
例としてシステム50はビデオエンコーダ120を具備し、このビデオエンコーダ120は、グラフィックス・オーディオプロセッサ114から画像信号を受信し、その画像信号を、コンピュータモニタ又は家庭用カラーテレビ56等の標準的な表示装置に表示するのに適したアナログ及び/又はデジタル映像信号に変換する。更にシステム50は、デジタル化された音声信号を圧縮及び展開し、必要に応じてデジタル音声信号方式とアナログ音声信号方式の間で変換を行うことも出来る、オーディオコーデック122を具備する。オーディオコーデック122は、バッファ124経由で音声入力を受信し、それらを、グラフィックス・オーディオプロセッサ114へ供給し、処理(例えば、プロセッサが生成する他の音声信号及び/又は大容量記憶アクセス装置106のストリーミング音声出力端子経由で受信する他の音声信号とミキシングする等)が行われうる。この例では、グラフィックス・オーディオプロセッサ114は、音声に関するタスクに利用可能な音声関連情報を、音声メモリ126に記憶することが出来る。グラフィックス・オーディオプロセッサ114は、結果として生じた音声出力信号を、(例えば、バッファ増幅器128L、128Rを経由して)スピーカ61L、61Rによって再生出来るようにアナログ信号への展開及び変換のために、オーディオコーデック122に供給する。
【0020】
グラフィックス・オーディオプロセッサ114は、システム50内に存在するであろう追加的な種々の装置と通信することが出来る。例えば、パラレルデジタルバス130を用いて、大容量記憶アクセス装置106及び/又は他の構成要素と通信することが出来る。シリアル周辺バス132は、例えばプログラマブルリードオンリーメモリ及び/又はリアルタイムクロック134と、モデム136又は他のネットワークインターフェース(これらにより、システム50は、インターネットまたは他のデジタルネットワークのような電気通信ネットワーク138に接続して、プログラム命令及び/又はデータをダウンロード或いはアップロードすることができる)と、フラッシュメモリ140とを含む種々の周辺装置或いは他の装置と通信することが出来る。
【0021】
さらなる外部シリアルバス142を用いて、追加的な増設メモリ144(例えばメモリカード)又は他の装置と通信してもよい。種々の装置とバス130、132,142を接続するためにコネクタを用いてもよい。
【0022】
グラフィックス・オーディオプロセッサの例
【0023】
図3は、グラフィックス・オーディオプロセッサ114の一例を示すブロック図である。グラフィックス・オーディオプロセッサ114は一例として、シングルチップASIC(特定用途向け集積回路)でありうる。この例では、グラフィックス・オーディオプロセッサ114は、プロセッサインターフェース150、メモリインターフェース/コントローラ152、3Dグラフィックスプロセッサ154、音声デジタル信号プロセッサ(DSP)156、音声メモリインターフェース158、音声インターフェース・ミキサ160、周辺コントローラ162、及び表示コントローラ164を具備する。
【0024】
3Dグラフィックスプロセッサ154は、グラフィックス処理タスクを行う。音声デジタル信号プロセッサ156は、音声処理タスクを行う。表示コントローラ164はメインメモリ112からの画像情報にアクセスし、表示装置56で表示するためにビデオエンコーダ120にそれを供給する。音声インターフェース・ミキサ160は、オーディオコーデック122にインターフェース接続し、別々のソースからの音声(例えば、大容量記憶アクセス装置106からのストリーミング音声、音声DSP156の出力、及びオーディオコーデック122経由で受信される外部音声入力)をミキシングすることも出来る。プロセッサインターフェース150は、メインプロセッサ110とグラフィックス・オーディオプロセッサ114との間のデータ及び制御インターフェースを提供する。
【0025】
メモリインターフェース152は、グラフィックス・オーディオプロセッサ114とメモリ112との間のデータ及び制御インターフェースを提供する。この例において、メインプロセッサ110は、グラフィックス・オーディオプロセッサ114の一部であるプロセッサインターフェース150及びメモリインターフェース152を経由して、メインメモリ112にアクセスする。周辺コントローラ162は、グラフィックス・オーディオプロセッサ114と上述の種々の周辺機器との間のデータ及び制御インターフェースを提供する。音声メモリインターフェース158は音声メモリ126とインターフェースをとる。
【0026】
グラフィックスパイプラインの例
【0027】
図4は、3Dグラフィックスプロセッサ154の一例の更なる詳細を示す図である。3Dグラフィックスプロセッサ154は、他にもいろいろあるが、コマンドプロセッサ200及び3Dグラフィックスパイプライン180を具備する。メインプロセッサ110は、コマンドプロセッサ200にデータのストリーム(例えば、グラフィックスコマンドストリームとディスプレイリスト)を通信する。メインプロセッサ110は、メモリレイテンシを最短にするために2レベルのキャッシュを具備し、さらにグラフィックス・オーディオプロセッサ114用にキャッシュされないデータストリームのためのライトギャザリングバッファを具備する。ライトギャザリングバッファは、部分キャッシュラインを集めて全キャッシュラインにし、バス使用量を最大にするために1回につき1キャッシュラインのデータをグラフィックス・オーディオプロセッサ114へ送出する。
【0028】
コマンドプロセッサ200は、メインプロセッサ110から表示コマンドを受信し、それらを解析し―表示コマンドを処理するために必要な任意の追加的なデータを共有メモリ112から得る。コマンドプロセッサ200は、頂点コマンドのストリームをグラフィックスパイプライン180へ供給して、2D及び/又は3D処理及びレンダリングが行われる。グラフィックスパイプライン180はこれらのコマンドに基づいて画像を生成する。結果として生じる画像情報をメインメモリ112へ転送して、パイプライン180のフレームバッファ出力をディスプレイ56に表示する表示コントローラ/映像インターフェース装置164がこれにアクセスしてもよい。
【0029】
図5は、グラフィックスプロセッサ154の論理流れ図である。メインプロセッサ110は、グラフィックスコマンドストリーム210、ディスプレイリスト212、及び頂点配列214をメインメモリ112に記憶し、バスインターフェース150を経由してコマンドプロセッサ200へポインタを送ることが出来る。メインプロセッサ110は、グラフィックスコマンドを、メインメモリ110内に割り当てた1つ又は複数のグラフィックス先入れ先出し(FIFO)バッファ210に記憶する。コマンドプロセッサ200がフェッチするのは、(1)同期化/フロー制御及び負荷バランシングのためのグラフィックコマンドを受信してバッファリングするオンチップFIFOメモリバッファ216経由のメインメモリ112からのコマンドストリーム、(2)オンチップコールFIFOメモリバッファ218経由のメインメモリ112からのディスプレイリスト212、及び(3)頂点キャッシュ220経由の、メインメモリ112内のコマンドストリームから及び/又は頂点配列214からの頂点属性である。
【0030】
コマンドプロセッサ200はコマンド処理動作200aを行い、この動作では属性の種類を浮動小数点形式に変換し、結果として生じた完全な頂点ポリゴンデータをグラフィックスパイプライン180へ送り、レンダリング/ラスタライズが行われる。プログラマブルメモリ調停回路130(図4参照)は、共有メインメモリ112へのアクセスを、グラフィックスパイプライン180、コマンドプロセッサ200、及び表示コントローラ/映像インターフェース装置164の間で調停する。
【0031】
図4に示すように、グラフィックスパイプライン180は、変換装置300、セットアップ/ラスタライザ400、テクスチャ装置500、テクスチャ環境装置600、及びピクセルエンジン700を具備することが出来る。
【0032】
変換装置300は、種々の2D及び3D変換、及び他の動作300aを行う(図5参照)。変換装置300は、変換処理300aで用いられるマトリクスを記憶するための1つ又は複数のマトリクスメモリ300bを具備してもよい。変換装置300は、モデルビュー(登録商標)マトリクスを用いて、入力されるジオメトリを頂点単位でオブジェクト空間又はモデル空間から同次の視覚空間へと変換し、そして(必要に応じてクリップ空間におけるクリッピング300dを行った後に)遠近法による拡大縮小及び画面座標変換を行い、結果として生じる画面空間の(x、y、z)の3値を供給してラスタラズする。更に、変換装置300は、入力されるテクスチャ座標を変換し、射影テクスチャ座標(300c)を算出する。ある例示的実施形態においては、変換装置300bがさらに行うライティング処理300eでは、最大8つまでの単独の光のライティング算出を頂点単位で行う。更に、変換装置300は、浮き出し型のバンプマッピング効果を出すためのテクスチャ座標生成(300c)を行うことも出来る。
【0033】
セットアップ/ラスタライザ400は、セットアップ装置を具備し、このセットアップ装置は、変換装置300から頂点データを受信し、エッジのラスタライズ、テクスチャ座標のラスタライズ、及び色のラスタライズを行う1つ又は複数のラスタライザ装置(400b)へ3値のセットアップ情報を送信する。
【0034】
テクスチャ装置500(オンチップ埋め込みDRAMテクスチャメモリ(TMEM)502を具備してもよい)はテクスチャリングに関する種々のタスクを行う、例えば、メインメモリ112から色及びzテクスチャ504を検索すること、テクスチャ処理(500a)、バンプマッピング処理、及び間接的なテクスチャ処理(500c)等を行い、テクスチャ処理は、例えばマルチテクスチャ処理、ポストキャッシュテクスチャ解凍、テクスチャフィルタリング(例えば、リサンプリングを行って非均一及び/又は非線形なテクスチャマッピングを行う)、エンボス処理、射影テクスチャを用いた陰影付け及びライティング、及びアルファ透明性及び深度を用いたBLIT等であり、バンプマッピング処理ではバンプマッピング効果、擬似テクスチャ効果、及びテクスチャタイリング効果(500b)を得るのためのテクスチャ座標変位を算出する。一般的には、テクスチャリングはある画像、関数、又は他のデータを用いて表面の各位置の見え方を調整する。一例として、煉瓦壁の各煉瓦のジオメトリを精密に表現するのではなく、煉瓦壁の2次元カラー画像をひとつのポリゴンの表面に貼り付ければよい。ポリゴンが表示されると、ポリゴンが配置されている場所にそのカラー画像が現れる。
【0035】
テクスチャ装置500は、フィルタ処理されたテクスチャ値を、テクスチャ環境処理(600a)を行うためにテクスチャ環境装置600に出力する。テクスチャ環境装置600は、ポリゴン及びテクスチャの色/アルファ/深度をブレンドし、反転領域に基づいたフォグ効果を得るために、テクスチャフォグ処理(600b)を行うことも出来る。テクスチャ環境装置600は、例えば色/アルファ変調、エンボス処理、ディテールテクスチャリング、テクスチャスワッピング、クランピング、及び深度ブレンド処理に基づいた、興味深い種々の他の環境に関連した機能を、複数の工程を踏むことで行うことが出来る。簡潔に述べると、この例示的実施形態において、テクスチャ環境装置600は、頂点単位で光、テクスチャ、及びコンスタントカラーを合成してピクセルの色を作り、続いてフォグ処理と、zテクスチャのためのzブレンド処理等のブレンド処理とを行う。ある例示的実施形態においては、色及びアルファの構成要素は、個別制御の独立したテクスチャ環境装置回路を備えている。ハードウェアに実装された1組のテクスチャ環境色/アルファ結合器は、マルチテクスチャリング又は他のブレンド機能を実行するためのテクスチャ環境工程(各々が個別に制御される)と呼ばれる複数周期にわたって繰り返し使用される。
【0036】
ピクセルエンジン700は、カラーフレームバッファ及び深度バッファを具備する埋め込み(オンチップ)DRAM(1TSRAM)フレームバッファメモリ702に、色及び深度データを記憶する。ピクセルエンジン700は、深度(z)比較(700a)及びピクセルブレンド処理(700b)を行う。z比較700a’は、現在有効であるレンダリングモードに応じて(例えば、アルファ閾値処理が必要でない場合)、グラフィックスパイプライン180の初期の工程において(つまりテクスチャリングよりも前に)行うことも可能である。しかし、zバッファリングはパイプラインの終端に行うことが、必須ではないが望ましい。ピクセルエンジン700は、表示/映像インターフェース装置164のアクセスのためにオンチップフレームバッファ702をメインメモリ112に定期的に書き込むコピー動作700cを含む。このコピー動作700cを利用して、動的色合成又はzテクスチャ合成のためにメインメモリ112のテクスチャに、埋め込みフレームバッファ色情報又はz情報をコピーすることも出来る。アンチエイリアシング及び他のフィルタリングはコピー動作中に行うことが出来る。(最終的にはメインメモリ112に記憶される)グラフィックスパイプライン180のカラーフレームバッファ出力は、表示/映像インターフェース装置164によってフレーム毎に読み出される。表示コントローラ/映像インターフェース164は、デジタルRGBピクセル値を提供してディスプレイ102に表示する。
【0037】
グラフィックスシステム50の例の更なる詳細は、米国特許第6,707,458号明細書及び米国特許第6,609,977号明細書に記載されており、その各々の全内容を本明細書に引用したものとする。
【0038】
ビデオゲームの例
【0039】
グラフィックスシステム50例を用いてプレイすることの出来る一人称幽霊ゲームの一例のコンテキストに沿って以下説明する。例示の実施形態では、このビデオゲームのための命令が、グラフィックスシステム50と動作可能に接続される記憶媒体62に記憶される。言うまでもなく、ここで説明する技術及び方法は、この例の幽霊ゲーム又はこの例のグラフィックスシステムに限定されるものではなく、これらの技術及び方法は、多数の異なる種類のビデオゲーム及びグラフィックスシステムに容易に適用可能であることは容易にわかるであろう。一例として、プログラム可能なテクスチャ結合器を有し、フレーム及び深度バッファをテクスチャに取り込むことが出来る他のグラフィックスシステムを用いて、ここで説明する視覚効果の一部を実施してもよいが、これに限定されない。これらの他のグラフィックスシステムは図1に示すようなコンソールシステムに限定されるものではなく、手持ち型装置、パーソナルコンピュータ、及び手持ち型装置又はパーソナルコンピュータで作動するエミュレータ等であってもよい。例えば、エミュレータはグラフィックスシステム50のハードウェア及び/又はソフトウェア構成(プラットフォーム)とは異なるハードウェア及び/又はソフトウェア構成(プラットフォーム)を提供してもよい。エミュレータシステムは、アプリケーションソフトウェアが書き込まれたシステムのハードウェア及び/又はソフトウェア構成要素の一部又は全てをエミュレート又はシミュレートする、ソフトウェア及び/又はハードウェア構成要素を有してもよい。例えば、エミュレータシステムは、手持ち型装置又はグラフィックスシステム50のハードウェア及び/又はファームウェアをシミュレートするソフトウェアエミュレータプログラムを実行するパーソナルコンピュータ等の汎用デジタルコンピュータを具備することが出来るであろう。
【0040】
この例の幽霊ゲームは、一人称ゲームであり、プレイヤがまるで本人自身の目で見ているかのようにゲームを行う。この幽霊ゲームの例において、プレイヤは、広大な敷地のどこかで不思議にも生きた状態で維持されている肉体を探す。隙間をすり抜け、電子機器を妨害し、物体を動かす等が出来るということを利用して、実際上は見られないように人間世界の中を移動することが出来る幽霊として、プレイヤは敷地を探索することが出来る。幽霊は、複数の異なるキャラクタ又はオブジェクト(「ホスト」)に「乗り移る」ことが可能であり、その後ホストの武器、装備品、スキル、及び記憶さえも利用して目標を達成することが出来る。例えば、幽霊は、他のキャラクタと戦うために戦士のキャラクタに乗り移ることが出来る、又は人間キャラクタでは近づけないであろう領域へ立ち入るために犬やねずみのような動物に乗り移ってもよい。幽霊は、武器や機械の制御器等のオブジェクトにも乗り移ることが出来、これらのオブジェクトを制御してゲームの目的を達成してもよい。これにより、このゲーム例では、プレイヤは幽霊であり、その幽霊はゲームキャラクタ及びゲームオブジェクト等のホストに「乗り移る」ことを行い又はそれらに住み着いて、ゲームの目的を達成する。幽霊があるホストに乗り移ると、ゲームの視界はその乗り移られたホストの視界へと移る。
【0041】
一般的には、ホストが所定の「オーラ」を持っている時に幽霊はそのホストに乗り移ることが出来る。ゲームキャラクタの場合、これらのオーラはキャラクタの感情の状態を示す。このゲーム例では、プレイヤが幽霊の形態でいる時には、その幽霊には候補となる乗り移り可能なキャラクタの感情の状態がオーラの色でわかる。オーラは、乗り移り可能なホストの少なくとも一部を、目に見えるように囲む。図6Aは白色のオーラ604を持つキャラクタ602を示し、図6Bは黄色のオーラ614を持つキャラクタ612を示し、図6Cは赤色のオーラ624を持つキャラクタ622を示す。上述のように、キャラクタのオーラの色は、そのキャラクタの感情の状態を示す。例えば、白色のオーラ604は、キャラクタ602が自信を持っている感情の状態にあることを示す。黄色のオーラ614は、キャラクタ612が警戒した感情の状態にあることを示す。赤色のオーラ624は、キャラクタ622が怯えた感情の状態にあることを示す。
【0042】
これらの色及び感情の状態は、例として挙げたものであり、これらに限定されないことは言うまでもない。また、3つの感情の状態で説明するが、異なった数の感情の状態を用いてもよい。例えば、キャラクタが自信を持った又は怯えた感情の状態のいずれかを持つように限定し、2つの異なった色のオーラを用いてこれら2つの異なった感情の状態を表してもよい。あるいは、2つの異なった感情の状態の場合、キャラクタがその感情の状態の一方あるいは他方にある時にのみ、1つのオーラを与えるようにしてもよい。更なる例では、異なるキャラクタは別々の数及び/又は種類のオーラを持ってもよい。
【0043】
幽霊は、候補となるキャラクタを怯えさせてそのオーラを白又は黄から赤に変化させることによって、ホストに乗り移ることが出来る。一例として、候補となるホストは、図6Bに示すキャラクタ612であり、最初は白の(自信を持った)オーラを持っているであろう。幽霊は、例えば、スチームパイプに乗り移る又は住み着くことで、図6Bに示すように該スチームパイプから蒸気を放出させてもよい。これによって、キャラクタ612のオーラは黄色になり、キャラクタが現在警戒する感情の状態にあることを示すようになる。キャラクタは蒸気の放出を止める又は蒸気が放出されている部屋から逃げることが出来ないので、引き続いてオーラは赤色になり、その時点で幽霊はこのキャラクタに乗り移ることが出来る。更なる例では、候補となるホストは、ラップトップコンピュータでタイプをしているキャラクタであってもよい。幽霊は見られることなく、例えばラップトップに乗り移る又は住み着いてから、キャラクタがタイプをしている最中にラップトップを閉める又はその電源を切って、キャラクタを怯えさせてキャラクタのオーラの色を白から黄に変化させることが出来る。そしてキャラクタは、自分が仕事をしていた部屋から逃げようとするであろう。もし、幽霊がドアの鍵を閉めていたら、キャラクタのオーラは黄色から赤色に変化するであろう。この時点で幽霊はこのキャラクタに乗り移ることが出来る。
【0044】
キャラクタは好ましくは、黄色又は赤色のオーラを所定の期間だけ維持する。例えば、キャラクタ612のオーラが黄色に変化した後に蒸気の放出が止められるとしたら、そのオーラは好ましくは、ある所定の期間(例えば10秒)の後に白色に戻るということになる。同様に赤色のオーラは、所定の期間の後に黄色のオーラに戻ることになる。
【0045】
上述のように、ホストキャラクタを怯えさせるために、武器、コンピュータ、蒸気メータ等のオブジェクトにも乗り移ることが出来る。ある場合には、これらのオブジェクトにはいつでも乗り移ることが可能であり、その場合、これらは常に赤色のオーラを持つか又はオーラをまったく持たないようにするとよい。他の場合には、オブジェクトを乗り移り可能にするためには、ある特定の目的及び/又は目標を達成しなくてはならないこととしてもよい。この場合、その目的又は目標を達成した後に、オブジェクトが乗り移り可能であるということを示すためにオブジェクトのオーラを1つの色(例えば白色)から別の色(例えば赤色)へと変化させてもよい。このように、オブジェクトの場合は、オーラは通常「感情の状態」を示すのではなく、そのオブジェクトが乗り移り可能か否かを示すことになるであろう。
【0046】
ある一実施例においては、コントローラ52の位置決め制御器を用いてカーソル又は他のインジケータをキャラクタの上に置いて、コントローラの「乗り移り」キーを押して乗り移るべきキャラクタを選択することで、乗り移りが達成されてもよい。図6Cに示すように、例えば、ゲームディスプレイの右上部に案内情報を出して、コントローラ52の「A」キーを押すと幽霊がキャラクタ622に乗り移るということを示してもよい。案内情報は、現在プレイヤが利用可能なアクションに関連するようにコンテキストに応じたものであってもよい。このようにして、乗り移られうるホストがいる時に、ホストに乗り移るための案内情報が表示されることになる。ホストが乗り移られている時には、ホストから「離脱する」ための案内情報を表示してもよい。
【0047】
幽霊がホストに乗り移ると、ゲームの視界は乗り移られたホストの視界に移る。つまり、プレイヤは、乗り移られたホストの目すなわち視点を通してゲーム世界を見る。プレイヤが乗り移られたホストの感覚にさらに近づけるように、この例のビデオゲームでは、プレイヤは乗り移られたホストの視覚特性に基づいて世界を見ることが出来る。例えば、犬は網膜の中に円錐体よりも桿状体を多く持つ。したがって、犬は一般的に暗視がきいて、暗い中で動きをよく検出する。円錐体の数が少ないと、色覚は2領域の可視スペクトル、赤−黄−緑及び青−紫に限られる。したがって、犬には、赤、橙及び黄緑色はすべてほとんど同じに見えるが、青又は紫との識別は可能である。緑と青の間の色は灰色として見えるようである。犬の視界は、人間の視界よりずっと大きく、人間の170度から180度に対して犬は250度から270度である。したがって、幽霊が犬に乗り移った場合、用いられる視覚効果は、例えば赤と緑に関する色覚異常と広い視野を持つ者が世界を見るように、プレイヤがその世界を見るというものである。更なる例として、ねずみの視覚は、他にもいろいろあるが、ぼやけている。したがって、幽霊がねずみに乗り移ると、プレイヤはぼやけた視覚を有する者が世界を見るようにその世界を見るという視覚効果が用いられる。犬に乗り移る場合、グラフィックスシステム50は、ビデオゲームで赤のチャンネルと緑のチャンネルを合成して赤と緑に関する色覚異常をシミュレートするというプログラムによって制御されうるであろう。ねずみの場合は、グラフィックスシステム50は、ビデオゲームでぼかしを用いて、世界をぼやかして近視をシミュレートするというプログラムによって制御されうるであろう。ビデオゲームのゲームプログラムはグラフィックスシステム50を制御して、コントラストを高くする又は低くする、画像ワーピングを行う、テクスチャリング、ライティング、フォグ処理等の追加的な効果を用いる。
【0048】
図7A、7B、7C及び7Dは、ゲーム世界の同じ光景を乗り移られた別々のホストが見るように示している。図7Aは、幽霊から見た光景を示す。幽霊の視覚は、実施例においては高いコントラスト、幾分ぼやけており、色は無く、過度に明るいのが特徴である。案内情報702が画面の右上部に示されて、コントローラ52の「Y」キーを押すことで幽霊を浮遊させることが出来ると示している。画面の左下部には3次元の幽霊キャラクタ704が登場し、そのおかげで、プレイヤはそのキャラクタになったように感じることができ、かつそのキャラクタが何をしているのかが分かるようになる。キャラクタ704は完全にアニメーション化されて、その動き及び位置によって、ゲームをしながらプレイヤは自分自身を「見る」ことが出来る。
【0049】
図7Bでは、幽霊は衛兵キャラクタに乗り移っており、図7Bは、この衛兵から見た図7Aの光景を示している。衛兵の視覚は通常の人間の視覚であるため、この視覚には視覚効果は施されていないと考えてよい。必要に応じて、この衛兵に、色覚異常、近視、遠視等のある特定の視覚特性を与えることも可能であることは言うまでも無い。この場合、視覚効果はこれらの特性を実現するように与えられればよい。案内情報722が、画面の右上部に示される。案内情報722は、コントローラ52の「Y」キーを押すことで衛兵キャラクタを全力疾走させることが出来ること及びコントローラ52の「B」キーを押すことで幽霊を衛兵キャラクタから離脱(幽霊キャラクタに戻る)させることが出来ることを示している。図7Bの画面には、更なる案内情報724を右下部に示している。画面の左下部には衛兵キャラクタの完全にアニメーション化された3次元画像726が表示されている。画像726の動きと位置によって、プレイヤはゲームをしながら衛兵キャラクタの動作を見ることが出来る。
【0050】
図7Cにおいては、幽霊は犬キャラクタに乗り移っており、図7Cは、この犬から見た図7Aの光景を示している。図7Cは、犬から見えるであろう犬の鼻を示している。この実施例において、犬の視覚は、例えば、衛兵の視覚よりも視界が広く、赤と緑に関する色覚異常を特徴としている。案内情報732が画面の右上部に示される。この案内情報は、コントローラ52の「Y」キーを押すことで犬を飛び上がらせることが出来ること及びコントローラの「B」キーを押すことで幽霊を犬から離脱させることが出来ることを示している。画面の右下部の案内情報734は、コントローラ52の「R」キーを押すことで犬に吼えさせることが出来ることを示している。画面の左下部は、犬キャラクタの完全にアニメーション化された3次元画像736を表示している。画像736の動き及び位置によって、プレイヤはゲームをしながら犬キャラクタの動作を見ることが出来る。
【0051】
図7Dにおいては、幽霊はねずみに乗り移っており、図7Dは、このネズミキャラクタから見た図7Aの光景を示している。この実施例において、ねずみの視覚効果は、まったくの単色で緑色を帯びて見え、広い視野及びぼやけを特徴としている。案内情報742が画面の右上部に示される。この案内情報は、コントローラ52の「Y」ボタンを押すことでねずみを飛び上がらせることが出来ること及びコントローラ52の「B」キーを押すことで幽霊をねずみから離脱させることが出来ることを示している。画面の左下部には、ねずみキャラクタの完全にアニメーション化された3次元画像744を表示している。画像744の動き及び位置によって、プレイヤはゲームをしながらねずみキャラクタの動作を見ることが出来る。
【0052】
図7Eにおいては、幽霊は砲塔に乗り移っており、図7Eは、この砲塔から見たゲーム世界の光景を示している。この視界には、種々の砲塔制御(ロックする、有効にする、発砲する等)を示すオーバーレイが与えられている。あるいは、この光景は人間の視覚特性で見られてもよい。案内情報752が画面の右上部に出されて、コントローラ52の「B」キーを押すことで幽霊が砲塔から離脱出来ることを示している。案内情報754は、画面の右下部に示され、コントローラ52の「L」キーを押すことによりプレイヤが砲塔の視界をズームさせることができることを示している。画面の左下部は、砲塔オブジェクトの完全にアニメーション化された3次元画像756を表示している。画像756の動き及び位置付けによって、プレイヤはゲームをしながら砲塔の動作を「見る」ことが出来る。
【0053】
図7F及び7Gは、図7Eの視界からコントローラの「L」キーを押すことで実現されるズームを用いた効果を示している。これらの図に示すように、ズームインされた視界はモザイク化され、このモザイク化された視界を実現するために視覚効果が与えられる。
【0054】
ある実施例において、この例のビデオゲームのソフトウェアプログラムは記憶媒体62に記憶される。このプログラムは、幽霊がホストに乗り移るとき実行されるべき視覚効果を決定するデータ及び/又は命令をホスト毎に有している。したがって、犬の場合、プログラムは、例えば、赤色チャンネルと緑色チャンネルを合成し、かつ用いる視界の大きさを特定するためのデータ及び/又は命令を有している。ねずみの場合、プログラムは、他にもいろいろあるが、光景をぼやけさせることを指定してねずみのぼやけた視覚をシミュレートするデータ及び/又は命令を有している。
【0055】
グラフィックスシステム50で実行されるこの例の幽霊ビデオゲームでは、いくつかの視覚効果は、3次元レンダリングが終了した後に施される「ポストエフェクト」である。より詳細には、フレームバッファ及び/又はzバッファ(深度バッファ)がテクスチャに取り込まれる。一般的には、zバッファリングが使用可である場合、色値と同様に深度値がピクセル毎に記憶される。深度は見る人の目からピクセルまでの距離として考えることが出来る。描画ルーチンはピクセルを更新しようとするときは常に、現在のピクセルの「深度」又は「z値」をまず調べ、新しいピクセルが現在のピクセルよりも近い場合のみ現在のピクセルを新しい値に更新する。z値を記憶するメモリの領域はzバッファと呼ばれる。取り込まれたテクスチャは、ゲームシステムのグラフィックスプロセッサに送られ、そこで、テクスチャ環境(TEV)工程による作用を受ける。テクスチャ、深度バッファ及び他のテキススチャをどのようにブレンドして種々の視覚効果を生み出すのかが、TEV工程パラメータによって決まる。グラフィックスシステム50のコンテクストの中でのテクスチャのブレンド処理については、米国特許第6,664,958号明細書に説明されており、参照によりその内容を本明細書に引用したものとする。
【0056】
この例のグラフィックスシステム50のグラフィックスパイプライン180は色テクスチャと深度(「z」)テクスチャを組み合わせることを援け、画像に基づいたレンダリングを容易にし、フレームバッファ702は、深度を持ったスプライトのように小型のカラー画像と深度画像の合成画像となる。図8は、色テクスチャtc及びzテクスチャtzを用いて深度をもったスプライトを形成するzテクスチャリング動作の一例を示す。このコンテキストにおいて、スプライトは、平面上にレンダリングされるアルファ(透明性)を持った或いは持たないテクスチャマップ又は画像とみなされるであろう。対応するzテクスチャtzは、テクスチャマップ又は画像において画像エレメント(テクセル)毎にz変位又は絶対深度を与える、つまり、z変位は種々の画像エレメント毎に異なりうる。図8の簡略図において、変換装置300によって行われるテクスチャ座標生成500(1)で、色テクスチャtcを検索かつマッピングするために用いられるテクスチャ座標を生成する。その結果生じた色テクセル(標準のテクスチャフィルタリング技術を用いてフィルタリングされうる)は、テクスチャ環境装置600によってブレンドされるか、或いはプリミティブの表面に貼られる。結果として生じたピクセルは画像化及び/又は更なる処理のために埋め込みカラーフレームバッファ702cに記憶される。
【0057】
テクスチャ座標生成500(1)はまた、zテクスチャマッピング/リサンプリングにおいて用いられるテクスチャ座標を生成する。テクスチャメモリ502は多種多様なフォーマットでzテクスチャtzを記憶し、テクスチャ装置500は、カラーテクスチャマッピングのために用いられる同一の又は異なったテクスチャ座標を用いて(例えば、非線形又は非均一マッピングを用いて)、zテクスチャtzを検索及びマッピングすることが出来る。テクスチャ装置500から出力される結果として生じるzテクセルはzブレンダ600zに供給される。zブレンダ600zはzテクセル深度値と、zテクスチャがマッピングされる表面の深度とをブレンドするか又は表面の深度をzテクセル深度値で置き換える。zブレンド動作によって得られるピクセル深度値は、埋め込みzバッファ702zに対応して行われるz比較700a(図5参照)を用いた隠面消去動作に用いられる。zバッファに対応した隠面消去動作によって、テクスチャマッピングされた画像の部分が場面中の他のオブジェクトによって遮られるか否かを、zテクスチャtzが制御することが出来る。
【0058】
図9Aは深度を持ったスプライトの色テクスチャtcの一例を示し、図9Bは深度を持ったスプライトの対応するzテクスチャtzの一例を示す。図9Aの色テクスチャtcは潅木の2次元画像を表す。図9Bのzテクスチャtzの例はこの同じ潅木の2次元絶対又は変位マップを表す。図9Bにおいて、例えば、深度(変位)z1に対応する潅木の前方部分z1は、潅木の後方部分に対応する深度(変位)値z2、z3、z4、z5及びz6よりも、選択された視点に近いz値を有するものと定めることが出来る。この補助的なzテクスチャ深度情報を用いると、光景の中にある他のオブジェクトが、図9Aの潅木の色画像の一部を遮ると同時に、この色テクスチャ画像の他の部分によって遮られる、といったことが可能となる。例えば、z2とz3の間の深度位置にあると定められた鳥は、潅木を「通り抜けて飛ぶ」ように見えるであろう。潅木の前方部分であるz1とz2は、鳥が潅木のこれらの部分の「背後」を通るかのように鳥を遮るであろう。これに対して、鳥は、潅木のz3、z4、z5及びz6の部分の「前方」を飛んでいるように、灌木のこれらの部分を遮ることが出来るであろう。従って、色テクスチャリング動作と共有のシステム50のメカニズムを利用することにより、かなり複雑な遮蔽処理を低価格で実現出来るであろう。図9Bの例のzテクスチャは領域単位の深度符号化を示しているが、例示的実施形態において、これはzテクスチャの種々のzテクセル位置の各々において別々の深度(変位)値を記憶することで達成され、これにより任意の複雑な遮蔽の視覚化を提供することができる。
【0059】
テクスチャリングの上述の概念を用いて、上記の乗り移られたホストの視覚効果のいくつかを実行することが出来る。例えば、この概念を用いて、幽霊、犬及びねずみの視覚効果を実行することが出来る。従って、例えば、見ている人からの距離に応じてオブジェクトをぼやかすテクスチャを用いて近視及び遠視を実現出来る。
【0060】
上記の視覚効果を生成する技法を図10を参照して下記に説明する。ST1000で、フレームがフレームバッファ及び/又はzバッファに、通常の光景としてレンダリングされる。この光景は、視界及びおそらく深度、フォグ及び色等のキャラクタに特有の視覚パラメータを有することが出来る。ST1002で、この光景はフレームバッファ及び/又はzバッファを用いてテクスチャになされる。ST1004で、このテクスチャは任意に他のテクスチャと合成されて、ST1006で特定の他の視覚効果(例えば、色チャンネルを合成する)が実行されてもよい。例えば、犬キャラクタの視覚効果の場合は、赤色チャンネルと緑色チャンネルが合成されて、犬の赤と緑に関する色覚異常をシミュレートする。ST1006の結果はST1008で元のフレームバッファとブレンドされる。図10で示すように、この処理は任意に一回行われるか又は複数回繰り返される。それから、視覚効果の施されない表示オブジェクトがST1010でレンダリングされて、その結果がST1012で表示される。
【0061】
ST1010を参照して述べたように、例えばゲームプレイを円滑にするために、特定の表示オブジェクトは視覚効果を施されないでレンダリングされうる。ゲームにストップライトが出てくるものとする。犬キャラクタの視覚効果では、ストップライトは赤色ではなく灰色に見えるであろうため、おそらくプレイヤは混乱するであろう。したがって、残りの光景が赤と緑に関する色覚異常で見えてもストップライトが赤色にみえるように、このストップライトは視覚効果を施さないでレンダリングされてもよい。ホストのオーラも視覚効果を適用しないでレンダリングされてもよい。しかしながら、ゲームプレイをプレイヤにとって複雑にするために、ゲーム開発者はこのようなオブジェクトに効果を適用することを望んでもよいことは言うまでも無い。
【0062】
ビデオゲームは、ゲームをする前又はゲーム中にユーザが特定の効果を変更出来るようになされていてもよい。例えば、望遠鏡オブジェクトの場合、プレイヤに、見えているものをフィルタリングするための種々のフィルタを選択(例えば、赤外線、ヒートマッピング、X線、暗視等)させてもよい。ユーザがこれらのフィルタのひとつを選択すると、ゲームプログラムは、そのフィルタの使用を考慮にいれて光景が見えるようにする。また、ビデオゲームにおいて、ゲームをする前又はゲーム中に1つ又は複数のキャラクタ或いはオブジェクトの視覚の特定の局面をユーザに指定させてもよい。例えば、プレイヤは、1つ又は複数のキャラクタの視界の大きさ、近視、遠視の程度等を設定出来てもよい。
【0063】
視覚効果は時間依存するものであってもよい。このため、視覚効果は、ユーザがホストに乗り移っている間、時間とともに変化してもよい。例えば、眠りからさめようとしているキャラクタが、はじめはぼんやりしているがキャラクタが目覚めていくのに従ってはっきりとなる視覚を持ってもよい。同様に、ゲームキャラクタが疲れるに従って、その視覚がぼんやりしてきてもよい。
【0064】
視覚効果は図11に示すように複数のプレイヤのための分割画面モードで用いることも出来る。この図11において、画面1100の上部1102はプレイヤ1の視界であり、画面1100の下部1104はプレイヤ2の視界である。これらの部分1102及び1104の各々は、異なったプレイヤが乗り移った各キャラクタに応じて異なった視覚効果を同時に利用出来る。
【0065】
上述の概念は視覚効果に限られない。つまり、他の効果を用いて、プレイヤは乗り移つられたホストとしてゲーム世界を体験出来る。例えば、幽霊がホストに乗り移ると、音声効果(例えば、ピッチ、音量、ステレオ、可聴音の周波数範囲等)を利用して、プレイヤは、乗り移ったホストがこれらの音声を体感するであろうように音声を体感出来る。したがって、ホストが犬である場合、犬に聞こえるような感覚を伝える音声効果を用いてもよい。例えば、低周波音については、人間は犬と同じか犬よりよく聞こえる。しかしながら、人間と比べて、犬には高い周波数がずっとよく聞こえる。このため、犬は鳥、ねずみ及びこうもりの超音波を聞くことが出来る。同様に、ホストがねずみである場合、ねずみに聞こえるような感覚を伝える別の音声効果を用いてもよい。これらの音声効果は、上述の視覚効果と組み合わせて又は別個に与えられてもよい。視覚効果と同様に、音声効果は時間依存するものであってもよく、及び/又は少なくとも部分的にユーザによる設定が可能であってもよい。さらに、特定の音声が音声効果の影響を受けないようにしてもよい。
【0066】
さらなる例として、特定のホストがそれら自身に加わった特定の力をどのように感じるのかを、コントローラの振動装置を用いてプレイヤに伝えてもよい。例えば、ねずみと人間は同じ力でも異なったように感じるものであり、ゲームシステムは、触知出来る感覚を生成するときこれらの違いを考慮に入れることが出来る。視覚効果及び音声効果と同様に、触感効果は時間依存するものであってもよく、及び/又は少なくとも部分的にユーザによる設定が可能であってもよい。さらに、特定の力が触感効果の影響を受けないようにしてもよい。
【0067】
本発明を、現在最も実際的で好ましい実施例と考えられているものと結び付けて説明したが、本発明は説明した実施例に限定されるべきではなく、むしろ添付の特許請求の範囲の精神及び範囲を超えることのない種々の修正及び同等の構成を包含することを意図するものと理解されるべきである。
【0068】
本特許に関するファイルには、カラーで作成された少なくとも1つの図面が含まれる。カラーの図面を含む本特許の写しは、請求に応じて及び必要な料金を支払うことによって、特許商標庁より入手することが出来るであろう。
【図面の簡単な説明】
【0069】
【図1】インタラクティブコンピュータグラフィックスシステムの一例を示す全体図
【図2】図1の例のコンピュータグラフィックスシステムのブロック図
【図3】図2に示す例のグラフィックス及びオーディオプロセッサのブロック図
【図4】図3に示す例の3Dグラフィックスプロセッサのブロック図
【図5】図4のグラフィックス及びオーディオプロセッサの論理流れ図の一例
【図6A】オーラを持つゲームキャラクタを示す図
【図6B】オーラを持つゲームキャラクタを示す図
【図6C】オーラを持つゲームキャラクタを示す図
【図7A】異なった視覚効果を用いて見た同一の光景を示す図
【図7B】異なった視覚効果を用いて見た同一の光景を示す図
【図7C】異なった視覚効果を用いて見た同一の光景を示す図
【図7D】異なった視覚効果を用いて見た同一の光景を示す図
【図7E】砲塔ゲームオブジェクトに対する異なった視覚効果を示す図
【図7F】砲塔ゲームオブジェクトに対する異なった視覚効果を示す図
【図7G】砲塔ゲームオブジェクトに対する異なった視覚効果を示す図
【図8】zテクスチャリング技術の一例のブロック図
【図9A】色テクスチャの一例を示す図
【図9B】zテクスチャの一例を示す図
【図10】視覚フィルタを実施するステップを示すフローチャート
【図11】視覚フィルタを用いた分割画面上でのゲーム表示の概略図
【技術分野】
【0001】
本願は一般的にビデオゲームに関し、より特定的には、同一のビデオゲーム世界の異なる一人称体験を提供する効果を持つビデオゲームに関する。本願は、またこのようなビデオゲームのソフトウェアを記憶する記憶媒体についても記述している。
【背景技術】
【0002】
本願は、2004年5月10日に出願された米国仮出願第60/569,237号明細書の利益を請求するものであり、その全内容を本明細書に引用したものとする。
【0003】
私達の多くは、いかにも本物らしい恐竜、エイリアン、アニメーションのおもちゃ、及び他の架空の生物が登場するフィルムを見たことがある。このようなアニメーションはコンピュータグラフィックスにより可能となる。このような技術を用いて、コンピュータグラフィックスのアーチストは、各オブジェクトがどのように見えるべきか及び外観が時間と共にどのように変化するべきかを指定することが出来るとともに、コンピュータはこれらのオブジェクトを形作り、テレビやコンピュータ画面等のディスプレイにこれらを表示する。表示される画像の各部分が、ある場面における各オブジェクトの位置及び配向、各オブジェクトに光が当たって見える方向、各オブジェクトの表面のテクスチャ、及び他の要素に基づいて適切な色と形状を有することを確実にするために必要な多数のタスクを行うための処理をコンピュータは行う。
【特許文献1】米国特許第6,676,520号明細書
【特許文献2】米国特許出願公開第09/814,953号明細書
【特許文献3】米国特許第6,707,458号明細書
【特許文献4】米国特許第6,609,977号明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
コンピュータグラフィックスの生成は複雑であるために、ほんの数年前まではコンピュータで作られた3次元(3D)グラフィックスは主に、非常に高価な専門性の高いフライトシミュレータ、高性能のグラフィックスワークステーション、及びスーパーコンピュータに限られていた。一般の人々は、これらのコンピュータシステムによって生成された画像の一部を映画や費用をかけたテレビ広告で見ることはあっても、ほとんどの人は、グラフィックスの生成を行っているコンピュータと実際に対話は出来なかったであろう。これは、例えばニンテンドー・ゲームキューブ(登録商標)等の比較的低価格の3Dグラフィックスのプラットフォーム及びパーソナルコンピュータで現在使用可能な種々の3Dグラフィックスカードが容易に入手出来るようになったため、大きく変わってきた。現在では家庭やオフィスにおいて、比較的低価格のコンピュータグラフィックスシステムでエキサイティングな3Dアニメーション及びシミュレーションと対話することが可能になっている。
【課題を解決するための手段】
【0005】
本願は、3Dグラフィックスのプラットフォームでプレイすることの出来るビデオゲームの一例を説明する。この例のビデオゲームは、プレイヤがまるで本人自身の目で見ているようかのようにゲームをする一人称ゲームであるが、本願はこれに限定されない。このビデオゲームには幽霊が登場し、その幽霊はゲームキャラクタ及びゲームオブジェクト等の種々のホストに「乗り移る」ことが出来ることでゲームの目的を達成する。幽霊がホストに乗り移ると、ゲームの視界は乗り移られたホストの視界に移る。つまり、プレイヤは乗り移られたホストの目すなわち視点を通してゲーム世界を見ることになる。プレイヤが乗り移られたホストの感覚にさらに近づくように、この例のビデオゲームでは、プレイヤは乗り移られたホストの特性に基づいた世界を体験出来る。例えば、フィルタ等の視覚効果を用いて、幽霊が乗り移ったホストの世界観を伝えてもよい。したがって、幽霊が犬に乗り移った場合は、犬が持つ赤と緑に関する色覚異常を伝える視覚効果を用いてもよい。この場合、一人称ゲームのプレイヤには、犬が光景を見るであろうようにその光景が見える。幽霊がねずみに乗り移った場合は、別の視覚効果を用いて、ねずみが持つぼやけた視覚を表す。この場合、プレイヤには、ねずみが光景を見るであろうようにその光景が見える。
【0006】
例として、3Dグラフィックスプラットフォームでゲーム表示を生成する場合、赤色チャンネルと緑色チャンネルとを合成して、犬が持つ赤と緑に関する色覚異常を実現することが出来る。ねずみが持つぼやけた視覚は、ぼかしを用いてねずみが見る光景をぼかすことで実現出来る。一般的には、ここで説明する視覚効果を実行するには、異なった色のチャンネル、奥行きによるぼかし処理、コントラストを高める又は低くする、画像ワーピングを行う、畳重、テクスチャリング、ライティング、フォグ効果等を組み合わせるなどの、しかしこれらに限定されない、多様な技術を用いる。
【0007】
本明細書で説明する概念は視覚効果に限定されない。例として、特定のホストにはある音声がどのように聞こえるかをプレイヤに伝える特定の聴覚効果を用いてもよい。幽霊が犬に乗り移る場合、ゲームをしている間に展開する音声が犬にはどのように聞こえるかを伝える聴覚効果を用いてもよい。同様に、幽霊がねずみに乗り移る場合、ゲームをしている間に展開する音声がねずみにはどのように聞こえるかを伝える別の聴覚効果を用いてもよい。これらの聴覚効果は上述の視覚効果と組み合わせて又は別個に用いることが出来る。
【0008】
さらなる例として、多数のゲームシステムはプレイヤに触感効果を与えるようになされている。この触感効果は、プレイヤが用いるゲームコントローラに搭載された振動装置によって与えることが出来る。本明細書で説明する概念は、特定のホストが自身に加えられた特定の力をどのように感じるかをプレイヤに伝えることによってこのような触感効果に適用することが出来る。例えば、ねずみと人間は同じ力でも異なったように感じるものであり、ゲームシステムは、力が加えられるキャラクタ又はオブジェクトの特性に少なくとも部分的に基づいた強度を持たせた触感効果を生成することで、この差異を考慮に入れることが出来る。この触感効果は、上述の視覚効果及び聴覚効果と組み合わせて又は別個に用いることが出来る。
【0009】
これら及び他の特徴及び利点は、図面と照合して、例示的実施形態の以下の詳細な説明からより一層、十分に完全に理解されるであろう。
【発明を実施するための最良の形態】
【0010】
図1は、インタラクティブ3Dコンピュータグラフィックスシステム50の一例を示しており、本明細書で説明するビデオゲームはこのシステムで実行することが出来る。システム50を用いて、関心を引くようなステレオサウンドを伴ったインタラクティブ3Dビデオゲームをプレイすることが可能となる。更に、システム50は、他の種々の用途にも用いることが出来る。この例では、システム50は、3D世界のデジタル表現又はモデルをインタラクティブにリアルタイムで処理することが出来る。システム50は、この世界の一部又は全てを任意の視点で表示することが出来る。例えば、システム50は、手持ち型コントローラ52a、52b又は他の入力装置からのリアルタイム入力に対応して、その視点をインタラクティブに変更することが出来る。これによりゲームプレイヤは、世界の内部又は外部の者の目を通して世界を見ることが出来る。システム50は、リアルタイム3D対話型表示を必要としない用途(例えば、2次元(2D)表示生成及び/又は非対話型表示)のために用いることが出来るが、高品質3D画像を素早く表示出来るということを利用して、非常にリアリスティックでエキサイティングなゲームプレイ又は他のグラフィカルインタラクションを生み出すことが可能となる。
【0011】
システム50を用いてビデオゲーム又は他のアプリケーションを実行するために、ユーザすなわちプレイヤはまず、メインユニット54を自分のカラーテレビ56又は他の表示装置に、ケーブル58でそれぞれの間を繋いで接続する。メインユニット54はカラーテレビ56を制御するための映像信号及び音声信号を生成する。映像信号はテレビ画面59に表示される画像を制御し、音声信号はテレビのステレオスピーカ61L、61Rを通して音声として再生される。
【0012】
更にユーザはメインユニット54を電源に接続する必要がある。この電源は、標準の家庭用の電気の壁面コンセントにプラグ接続する従来のACアダプタ(図示せず)でよく、家庭電流をメインユニット54に電力供給するのに適した直流低電圧信号に変換する。他の実施においては電池を用いてもよい。
【0013】
ユーザはメインユニット54に入力を行うために、手持ち型コントローラ52a、52bを用いてもよい。制御器60a、60bを用いて、例えば、テレビ56に表示されるキャラクタが3D世界内で動くべき方向(上又は下、左又は右、近づくか又は遠ざかるか)を指定することが出来る。制御器60a、60bは、他の用途(例えば、メニュー選択、ポインタ/カーソル制御等)の入力を行うために用いることも出来る。コントローラ52は様々な形態を取ることが出来る。この例では、各コントローラ52は、ジョイスティック、押しボタン、及び/又は方向スイッチ等の制御器60を具備する。コントローラ52をケーブルによって、又は電磁(例えば、電波又は赤外線)波による無線によって、メインユニット54と接続することが出来る。
【0014】
各コントローラ52は更に、メインユニット54からの制御信号に応じて選択的に駆動される1つあるいは複数の振動装置(図示せず)を具備してもよい。駆動されると、これらの振動装置は振動を生じ、その振動がコントローラを把持しているプレイヤの手に伝達される。このようにして、ゲームをしている時に振動生成イベントが生じると、プレイヤに触感が伝わるであろう。振動生成イベントの例としては、衝突、荒れた路面上での移動、加速等が挙げられる。振動装置を用いたコントローラの例の更なる詳細は、米国特許第6,676,520号明細書及び米国特許出願公開第09/814,953号明細書に記載されており、各々の全内容を本明細書に引用したものとする。
【0015】
ゲーム等のアプリケーションを実行するには、ユーザは、実行したいビデオゲーム又は他のアプリケーションを記憶している適切な記憶媒体62を選択し、メインユニット54の記憶媒体収容部64にその記憶媒体を挿入する。記憶媒体62は、例えば、専用に符号化及び/又は暗号化された光及び/又は磁気ディスクでありうる。グラフィックスシステムの他の実施においては、半導体メモリ等の他の記憶装置を用いてもよいことは言うまでもない。更なる他の実施において、ユーザは、インターネット等の通信ネットワークを通じて、ゲームソフトウェアを記憶するリモートコンピュータに接続してもよい。図1の実施において、ユーザは、電源スイッチ66を操作してメインユニット54の電源を入れ、記憶媒体62に記憶されているソフトウェアに対応したビデオゲーム又は他のアプリケーションをメインユニットに実行させてもよい。ユーザは、コントローラ52を操作して、メインユニット54に入力を行うことが出来る。例えば、制御器60を操作することによってゲーム又は他のアプリケーションを開始させてもよい。他の制御器60を動かすことによって、アニメーションのキャラクタを別々の方向に動かしたり、又は3D世界におけるユーザの視点を変更したりすることが出来る。記憶媒体62内に記憶されている特定のソフトウェアによって、コントローラ52の種々の制御器60はいろいろなタイミングでいろいろな機能を行うことが可能となる。
【0016】
システム全体の電子機器部品の例
【0017】
図2は、システム50の構成部品を例示したブロック図である。主要な構成部品は、メインプロセッサ(CPU)110、メインメモリ112、グラフィックス・オーディオプロセッサ114などである。この例では、メインプロセッサ110(例えば、IBM PowerPC(登録商標)750の発展系)は、グラフィックス・オーディオプロセッサ114経由で、手持ち型コントローラ52(及び/又は他の入力装置)からの入力を受ける。メインプロセッサ110はインタラクティブにユーザの入力に応答し、例えば、光ディスクドライブ等の大容量記憶アクセス装置106を経由して外部記憶媒体62によって供給されるビデオゲーム又は他のプログラムを実行する。一例として、ビデオゲームプレイのコンテキストの中で、メインプロセッサ110は、種々のインタラクティブ及び制御機能に加え、衝突の検出及びアニメーション処理を行うことが出来る。
【0018】
この例では、メインプロセッサ110は3Dグラフィックス・オーディオコマンドを生成し、それらをグラフィックス・オーディオプロセッサ114へ送信する。グラフィックス・オーディオプロセッサ114は、これらのコマンドを処理して、ディスプレイ59上に関心を引くような画像を生成し、ステレオスピーカ61R、61L又は他の適切な音声生成装置で関心を引くようなステレオサウンドを生成する。
【0019】
例としてシステム50はビデオエンコーダ120を具備し、このビデオエンコーダ120は、グラフィックス・オーディオプロセッサ114から画像信号を受信し、その画像信号を、コンピュータモニタ又は家庭用カラーテレビ56等の標準的な表示装置に表示するのに適したアナログ及び/又はデジタル映像信号に変換する。更にシステム50は、デジタル化された音声信号を圧縮及び展開し、必要に応じてデジタル音声信号方式とアナログ音声信号方式の間で変換を行うことも出来る、オーディオコーデック122を具備する。オーディオコーデック122は、バッファ124経由で音声入力を受信し、それらを、グラフィックス・オーディオプロセッサ114へ供給し、処理(例えば、プロセッサが生成する他の音声信号及び/又は大容量記憶アクセス装置106のストリーミング音声出力端子経由で受信する他の音声信号とミキシングする等)が行われうる。この例では、グラフィックス・オーディオプロセッサ114は、音声に関するタスクに利用可能な音声関連情報を、音声メモリ126に記憶することが出来る。グラフィックス・オーディオプロセッサ114は、結果として生じた音声出力信号を、(例えば、バッファ増幅器128L、128Rを経由して)スピーカ61L、61Rによって再生出来るようにアナログ信号への展開及び変換のために、オーディオコーデック122に供給する。
【0020】
グラフィックス・オーディオプロセッサ114は、システム50内に存在するであろう追加的な種々の装置と通信することが出来る。例えば、パラレルデジタルバス130を用いて、大容量記憶アクセス装置106及び/又は他の構成要素と通信することが出来る。シリアル周辺バス132は、例えばプログラマブルリードオンリーメモリ及び/又はリアルタイムクロック134と、モデム136又は他のネットワークインターフェース(これらにより、システム50は、インターネットまたは他のデジタルネットワークのような電気通信ネットワーク138に接続して、プログラム命令及び/又はデータをダウンロード或いはアップロードすることができる)と、フラッシュメモリ140とを含む種々の周辺装置或いは他の装置と通信することが出来る。
【0021】
さらなる外部シリアルバス142を用いて、追加的な増設メモリ144(例えばメモリカード)又は他の装置と通信してもよい。種々の装置とバス130、132,142を接続するためにコネクタを用いてもよい。
【0022】
グラフィックス・オーディオプロセッサの例
【0023】
図3は、グラフィックス・オーディオプロセッサ114の一例を示すブロック図である。グラフィックス・オーディオプロセッサ114は一例として、シングルチップASIC(特定用途向け集積回路)でありうる。この例では、グラフィックス・オーディオプロセッサ114は、プロセッサインターフェース150、メモリインターフェース/コントローラ152、3Dグラフィックスプロセッサ154、音声デジタル信号プロセッサ(DSP)156、音声メモリインターフェース158、音声インターフェース・ミキサ160、周辺コントローラ162、及び表示コントローラ164を具備する。
【0024】
3Dグラフィックスプロセッサ154は、グラフィックス処理タスクを行う。音声デジタル信号プロセッサ156は、音声処理タスクを行う。表示コントローラ164はメインメモリ112からの画像情報にアクセスし、表示装置56で表示するためにビデオエンコーダ120にそれを供給する。音声インターフェース・ミキサ160は、オーディオコーデック122にインターフェース接続し、別々のソースからの音声(例えば、大容量記憶アクセス装置106からのストリーミング音声、音声DSP156の出力、及びオーディオコーデック122経由で受信される外部音声入力)をミキシングすることも出来る。プロセッサインターフェース150は、メインプロセッサ110とグラフィックス・オーディオプロセッサ114との間のデータ及び制御インターフェースを提供する。
【0025】
メモリインターフェース152は、グラフィックス・オーディオプロセッサ114とメモリ112との間のデータ及び制御インターフェースを提供する。この例において、メインプロセッサ110は、グラフィックス・オーディオプロセッサ114の一部であるプロセッサインターフェース150及びメモリインターフェース152を経由して、メインメモリ112にアクセスする。周辺コントローラ162は、グラフィックス・オーディオプロセッサ114と上述の種々の周辺機器との間のデータ及び制御インターフェースを提供する。音声メモリインターフェース158は音声メモリ126とインターフェースをとる。
【0026】
グラフィックスパイプラインの例
【0027】
図4は、3Dグラフィックスプロセッサ154の一例の更なる詳細を示す図である。3Dグラフィックスプロセッサ154は、他にもいろいろあるが、コマンドプロセッサ200及び3Dグラフィックスパイプライン180を具備する。メインプロセッサ110は、コマンドプロセッサ200にデータのストリーム(例えば、グラフィックスコマンドストリームとディスプレイリスト)を通信する。メインプロセッサ110は、メモリレイテンシを最短にするために2レベルのキャッシュを具備し、さらにグラフィックス・オーディオプロセッサ114用にキャッシュされないデータストリームのためのライトギャザリングバッファを具備する。ライトギャザリングバッファは、部分キャッシュラインを集めて全キャッシュラインにし、バス使用量を最大にするために1回につき1キャッシュラインのデータをグラフィックス・オーディオプロセッサ114へ送出する。
【0028】
コマンドプロセッサ200は、メインプロセッサ110から表示コマンドを受信し、それらを解析し―表示コマンドを処理するために必要な任意の追加的なデータを共有メモリ112から得る。コマンドプロセッサ200は、頂点コマンドのストリームをグラフィックスパイプライン180へ供給して、2D及び/又は3D処理及びレンダリングが行われる。グラフィックスパイプライン180はこれらのコマンドに基づいて画像を生成する。結果として生じる画像情報をメインメモリ112へ転送して、パイプライン180のフレームバッファ出力をディスプレイ56に表示する表示コントローラ/映像インターフェース装置164がこれにアクセスしてもよい。
【0029】
図5は、グラフィックスプロセッサ154の論理流れ図である。メインプロセッサ110は、グラフィックスコマンドストリーム210、ディスプレイリスト212、及び頂点配列214をメインメモリ112に記憶し、バスインターフェース150を経由してコマンドプロセッサ200へポインタを送ることが出来る。メインプロセッサ110は、グラフィックスコマンドを、メインメモリ110内に割り当てた1つ又は複数のグラフィックス先入れ先出し(FIFO)バッファ210に記憶する。コマンドプロセッサ200がフェッチするのは、(1)同期化/フロー制御及び負荷バランシングのためのグラフィックコマンドを受信してバッファリングするオンチップFIFOメモリバッファ216経由のメインメモリ112からのコマンドストリーム、(2)オンチップコールFIFOメモリバッファ218経由のメインメモリ112からのディスプレイリスト212、及び(3)頂点キャッシュ220経由の、メインメモリ112内のコマンドストリームから及び/又は頂点配列214からの頂点属性である。
【0030】
コマンドプロセッサ200はコマンド処理動作200aを行い、この動作では属性の種類を浮動小数点形式に変換し、結果として生じた完全な頂点ポリゴンデータをグラフィックスパイプライン180へ送り、レンダリング/ラスタライズが行われる。プログラマブルメモリ調停回路130(図4参照)は、共有メインメモリ112へのアクセスを、グラフィックスパイプライン180、コマンドプロセッサ200、及び表示コントローラ/映像インターフェース装置164の間で調停する。
【0031】
図4に示すように、グラフィックスパイプライン180は、変換装置300、セットアップ/ラスタライザ400、テクスチャ装置500、テクスチャ環境装置600、及びピクセルエンジン700を具備することが出来る。
【0032】
変換装置300は、種々の2D及び3D変換、及び他の動作300aを行う(図5参照)。変換装置300は、変換処理300aで用いられるマトリクスを記憶するための1つ又は複数のマトリクスメモリ300bを具備してもよい。変換装置300は、モデルビュー(登録商標)マトリクスを用いて、入力されるジオメトリを頂点単位でオブジェクト空間又はモデル空間から同次の視覚空間へと変換し、そして(必要に応じてクリップ空間におけるクリッピング300dを行った後に)遠近法による拡大縮小及び画面座標変換を行い、結果として生じる画面空間の(x、y、z)の3値を供給してラスタラズする。更に、変換装置300は、入力されるテクスチャ座標を変換し、射影テクスチャ座標(300c)を算出する。ある例示的実施形態においては、変換装置300bがさらに行うライティング処理300eでは、最大8つまでの単独の光のライティング算出を頂点単位で行う。更に、変換装置300は、浮き出し型のバンプマッピング効果を出すためのテクスチャ座標生成(300c)を行うことも出来る。
【0033】
セットアップ/ラスタライザ400は、セットアップ装置を具備し、このセットアップ装置は、変換装置300から頂点データを受信し、エッジのラスタライズ、テクスチャ座標のラスタライズ、及び色のラスタライズを行う1つ又は複数のラスタライザ装置(400b)へ3値のセットアップ情報を送信する。
【0034】
テクスチャ装置500(オンチップ埋め込みDRAMテクスチャメモリ(TMEM)502を具備してもよい)はテクスチャリングに関する種々のタスクを行う、例えば、メインメモリ112から色及びzテクスチャ504を検索すること、テクスチャ処理(500a)、バンプマッピング処理、及び間接的なテクスチャ処理(500c)等を行い、テクスチャ処理は、例えばマルチテクスチャ処理、ポストキャッシュテクスチャ解凍、テクスチャフィルタリング(例えば、リサンプリングを行って非均一及び/又は非線形なテクスチャマッピングを行う)、エンボス処理、射影テクスチャを用いた陰影付け及びライティング、及びアルファ透明性及び深度を用いたBLIT等であり、バンプマッピング処理ではバンプマッピング効果、擬似テクスチャ効果、及びテクスチャタイリング効果(500b)を得るのためのテクスチャ座標変位を算出する。一般的には、テクスチャリングはある画像、関数、又は他のデータを用いて表面の各位置の見え方を調整する。一例として、煉瓦壁の各煉瓦のジオメトリを精密に表現するのではなく、煉瓦壁の2次元カラー画像をひとつのポリゴンの表面に貼り付ければよい。ポリゴンが表示されると、ポリゴンが配置されている場所にそのカラー画像が現れる。
【0035】
テクスチャ装置500は、フィルタ処理されたテクスチャ値を、テクスチャ環境処理(600a)を行うためにテクスチャ環境装置600に出力する。テクスチャ環境装置600は、ポリゴン及びテクスチャの色/アルファ/深度をブレンドし、反転領域に基づいたフォグ効果を得るために、テクスチャフォグ処理(600b)を行うことも出来る。テクスチャ環境装置600は、例えば色/アルファ変調、エンボス処理、ディテールテクスチャリング、テクスチャスワッピング、クランピング、及び深度ブレンド処理に基づいた、興味深い種々の他の環境に関連した機能を、複数の工程を踏むことで行うことが出来る。簡潔に述べると、この例示的実施形態において、テクスチャ環境装置600は、頂点単位で光、テクスチャ、及びコンスタントカラーを合成してピクセルの色を作り、続いてフォグ処理と、zテクスチャのためのzブレンド処理等のブレンド処理とを行う。ある例示的実施形態においては、色及びアルファの構成要素は、個別制御の独立したテクスチャ環境装置回路を備えている。ハードウェアに実装された1組のテクスチャ環境色/アルファ結合器は、マルチテクスチャリング又は他のブレンド機能を実行するためのテクスチャ環境工程(各々が個別に制御される)と呼ばれる複数周期にわたって繰り返し使用される。
【0036】
ピクセルエンジン700は、カラーフレームバッファ及び深度バッファを具備する埋め込み(オンチップ)DRAM(1TSRAM)フレームバッファメモリ702に、色及び深度データを記憶する。ピクセルエンジン700は、深度(z)比較(700a)及びピクセルブレンド処理(700b)を行う。z比較700a’は、現在有効であるレンダリングモードに応じて(例えば、アルファ閾値処理が必要でない場合)、グラフィックスパイプライン180の初期の工程において(つまりテクスチャリングよりも前に)行うことも可能である。しかし、zバッファリングはパイプラインの終端に行うことが、必須ではないが望ましい。ピクセルエンジン700は、表示/映像インターフェース装置164のアクセスのためにオンチップフレームバッファ702をメインメモリ112に定期的に書き込むコピー動作700cを含む。このコピー動作700cを利用して、動的色合成又はzテクスチャ合成のためにメインメモリ112のテクスチャに、埋め込みフレームバッファ色情報又はz情報をコピーすることも出来る。アンチエイリアシング及び他のフィルタリングはコピー動作中に行うことが出来る。(最終的にはメインメモリ112に記憶される)グラフィックスパイプライン180のカラーフレームバッファ出力は、表示/映像インターフェース装置164によってフレーム毎に読み出される。表示コントローラ/映像インターフェース164は、デジタルRGBピクセル値を提供してディスプレイ102に表示する。
【0037】
グラフィックスシステム50の例の更なる詳細は、米国特許第6,707,458号明細書及び米国特許第6,609,977号明細書に記載されており、その各々の全内容を本明細書に引用したものとする。
【0038】
ビデオゲームの例
【0039】
グラフィックスシステム50例を用いてプレイすることの出来る一人称幽霊ゲームの一例のコンテキストに沿って以下説明する。例示の実施形態では、このビデオゲームのための命令が、グラフィックスシステム50と動作可能に接続される記憶媒体62に記憶される。言うまでもなく、ここで説明する技術及び方法は、この例の幽霊ゲーム又はこの例のグラフィックスシステムに限定されるものではなく、これらの技術及び方法は、多数の異なる種類のビデオゲーム及びグラフィックスシステムに容易に適用可能であることは容易にわかるであろう。一例として、プログラム可能なテクスチャ結合器を有し、フレーム及び深度バッファをテクスチャに取り込むことが出来る他のグラフィックスシステムを用いて、ここで説明する視覚効果の一部を実施してもよいが、これに限定されない。これらの他のグラフィックスシステムは図1に示すようなコンソールシステムに限定されるものではなく、手持ち型装置、パーソナルコンピュータ、及び手持ち型装置又はパーソナルコンピュータで作動するエミュレータ等であってもよい。例えば、エミュレータはグラフィックスシステム50のハードウェア及び/又はソフトウェア構成(プラットフォーム)とは異なるハードウェア及び/又はソフトウェア構成(プラットフォーム)を提供してもよい。エミュレータシステムは、アプリケーションソフトウェアが書き込まれたシステムのハードウェア及び/又はソフトウェア構成要素の一部又は全てをエミュレート又はシミュレートする、ソフトウェア及び/又はハードウェア構成要素を有してもよい。例えば、エミュレータシステムは、手持ち型装置又はグラフィックスシステム50のハードウェア及び/又はファームウェアをシミュレートするソフトウェアエミュレータプログラムを実行するパーソナルコンピュータ等の汎用デジタルコンピュータを具備することが出来るであろう。
【0040】
この例の幽霊ゲームは、一人称ゲームであり、プレイヤがまるで本人自身の目で見ているかのようにゲームを行う。この幽霊ゲームの例において、プレイヤは、広大な敷地のどこかで不思議にも生きた状態で維持されている肉体を探す。隙間をすり抜け、電子機器を妨害し、物体を動かす等が出来るということを利用して、実際上は見られないように人間世界の中を移動することが出来る幽霊として、プレイヤは敷地を探索することが出来る。幽霊は、複数の異なるキャラクタ又はオブジェクト(「ホスト」)に「乗り移る」ことが可能であり、その後ホストの武器、装備品、スキル、及び記憶さえも利用して目標を達成することが出来る。例えば、幽霊は、他のキャラクタと戦うために戦士のキャラクタに乗り移ることが出来る、又は人間キャラクタでは近づけないであろう領域へ立ち入るために犬やねずみのような動物に乗り移ってもよい。幽霊は、武器や機械の制御器等のオブジェクトにも乗り移ることが出来、これらのオブジェクトを制御してゲームの目的を達成してもよい。これにより、このゲーム例では、プレイヤは幽霊であり、その幽霊はゲームキャラクタ及びゲームオブジェクト等のホストに「乗り移る」ことを行い又はそれらに住み着いて、ゲームの目的を達成する。幽霊があるホストに乗り移ると、ゲームの視界はその乗り移られたホストの視界へと移る。
【0041】
一般的には、ホストが所定の「オーラ」を持っている時に幽霊はそのホストに乗り移ることが出来る。ゲームキャラクタの場合、これらのオーラはキャラクタの感情の状態を示す。このゲーム例では、プレイヤが幽霊の形態でいる時には、その幽霊には候補となる乗り移り可能なキャラクタの感情の状態がオーラの色でわかる。オーラは、乗り移り可能なホストの少なくとも一部を、目に見えるように囲む。図6Aは白色のオーラ604を持つキャラクタ602を示し、図6Bは黄色のオーラ614を持つキャラクタ612を示し、図6Cは赤色のオーラ624を持つキャラクタ622を示す。上述のように、キャラクタのオーラの色は、そのキャラクタの感情の状態を示す。例えば、白色のオーラ604は、キャラクタ602が自信を持っている感情の状態にあることを示す。黄色のオーラ614は、キャラクタ612が警戒した感情の状態にあることを示す。赤色のオーラ624は、キャラクタ622が怯えた感情の状態にあることを示す。
【0042】
これらの色及び感情の状態は、例として挙げたものであり、これらに限定されないことは言うまでもない。また、3つの感情の状態で説明するが、異なった数の感情の状態を用いてもよい。例えば、キャラクタが自信を持った又は怯えた感情の状態のいずれかを持つように限定し、2つの異なった色のオーラを用いてこれら2つの異なった感情の状態を表してもよい。あるいは、2つの異なった感情の状態の場合、キャラクタがその感情の状態の一方あるいは他方にある時にのみ、1つのオーラを与えるようにしてもよい。更なる例では、異なるキャラクタは別々の数及び/又は種類のオーラを持ってもよい。
【0043】
幽霊は、候補となるキャラクタを怯えさせてそのオーラを白又は黄から赤に変化させることによって、ホストに乗り移ることが出来る。一例として、候補となるホストは、図6Bに示すキャラクタ612であり、最初は白の(自信を持った)オーラを持っているであろう。幽霊は、例えば、スチームパイプに乗り移る又は住み着くことで、図6Bに示すように該スチームパイプから蒸気を放出させてもよい。これによって、キャラクタ612のオーラは黄色になり、キャラクタが現在警戒する感情の状態にあることを示すようになる。キャラクタは蒸気の放出を止める又は蒸気が放出されている部屋から逃げることが出来ないので、引き続いてオーラは赤色になり、その時点で幽霊はこのキャラクタに乗り移ることが出来る。更なる例では、候補となるホストは、ラップトップコンピュータでタイプをしているキャラクタであってもよい。幽霊は見られることなく、例えばラップトップに乗り移る又は住み着いてから、キャラクタがタイプをしている最中にラップトップを閉める又はその電源を切って、キャラクタを怯えさせてキャラクタのオーラの色を白から黄に変化させることが出来る。そしてキャラクタは、自分が仕事をしていた部屋から逃げようとするであろう。もし、幽霊がドアの鍵を閉めていたら、キャラクタのオーラは黄色から赤色に変化するであろう。この時点で幽霊はこのキャラクタに乗り移ることが出来る。
【0044】
キャラクタは好ましくは、黄色又は赤色のオーラを所定の期間だけ維持する。例えば、キャラクタ612のオーラが黄色に変化した後に蒸気の放出が止められるとしたら、そのオーラは好ましくは、ある所定の期間(例えば10秒)の後に白色に戻るということになる。同様に赤色のオーラは、所定の期間の後に黄色のオーラに戻ることになる。
【0045】
上述のように、ホストキャラクタを怯えさせるために、武器、コンピュータ、蒸気メータ等のオブジェクトにも乗り移ることが出来る。ある場合には、これらのオブジェクトにはいつでも乗り移ることが可能であり、その場合、これらは常に赤色のオーラを持つか又はオーラをまったく持たないようにするとよい。他の場合には、オブジェクトを乗り移り可能にするためには、ある特定の目的及び/又は目標を達成しなくてはならないこととしてもよい。この場合、その目的又は目標を達成した後に、オブジェクトが乗り移り可能であるということを示すためにオブジェクトのオーラを1つの色(例えば白色)から別の色(例えば赤色)へと変化させてもよい。このように、オブジェクトの場合は、オーラは通常「感情の状態」を示すのではなく、そのオブジェクトが乗り移り可能か否かを示すことになるであろう。
【0046】
ある一実施例においては、コントローラ52の位置決め制御器を用いてカーソル又は他のインジケータをキャラクタの上に置いて、コントローラの「乗り移り」キーを押して乗り移るべきキャラクタを選択することで、乗り移りが達成されてもよい。図6Cに示すように、例えば、ゲームディスプレイの右上部に案内情報を出して、コントローラ52の「A」キーを押すと幽霊がキャラクタ622に乗り移るということを示してもよい。案内情報は、現在プレイヤが利用可能なアクションに関連するようにコンテキストに応じたものであってもよい。このようにして、乗り移られうるホストがいる時に、ホストに乗り移るための案内情報が表示されることになる。ホストが乗り移られている時には、ホストから「離脱する」ための案内情報を表示してもよい。
【0047】
幽霊がホストに乗り移ると、ゲームの視界は乗り移られたホストの視界に移る。つまり、プレイヤは、乗り移られたホストの目すなわち視点を通してゲーム世界を見る。プレイヤが乗り移られたホストの感覚にさらに近づけるように、この例のビデオゲームでは、プレイヤは乗り移られたホストの視覚特性に基づいて世界を見ることが出来る。例えば、犬は網膜の中に円錐体よりも桿状体を多く持つ。したがって、犬は一般的に暗視がきいて、暗い中で動きをよく検出する。円錐体の数が少ないと、色覚は2領域の可視スペクトル、赤−黄−緑及び青−紫に限られる。したがって、犬には、赤、橙及び黄緑色はすべてほとんど同じに見えるが、青又は紫との識別は可能である。緑と青の間の色は灰色として見えるようである。犬の視界は、人間の視界よりずっと大きく、人間の170度から180度に対して犬は250度から270度である。したがって、幽霊が犬に乗り移った場合、用いられる視覚効果は、例えば赤と緑に関する色覚異常と広い視野を持つ者が世界を見るように、プレイヤがその世界を見るというものである。更なる例として、ねずみの視覚は、他にもいろいろあるが、ぼやけている。したがって、幽霊がねずみに乗り移ると、プレイヤはぼやけた視覚を有する者が世界を見るようにその世界を見るという視覚効果が用いられる。犬に乗り移る場合、グラフィックスシステム50は、ビデオゲームで赤のチャンネルと緑のチャンネルを合成して赤と緑に関する色覚異常をシミュレートするというプログラムによって制御されうるであろう。ねずみの場合は、グラフィックスシステム50は、ビデオゲームでぼかしを用いて、世界をぼやかして近視をシミュレートするというプログラムによって制御されうるであろう。ビデオゲームのゲームプログラムはグラフィックスシステム50を制御して、コントラストを高くする又は低くする、画像ワーピングを行う、テクスチャリング、ライティング、フォグ処理等の追加的な効果を用いる。
【0048】
図7A、7B、7C及び7Dは、ゲーム世界の同じ光景を乗り移られた別々のホストが見るように示している。図7Aは、幽霊から見た光景を示す。幽霊の視覚は、実施例においては高いコントラスト、幾分ぼやけており、色は無く、過度に明るいのが特徴である。案内情報702が画面の右上部に示されて、コントローラ52の「Y」キーを押すことで幽霊を浮遊させることが出来ると示している。画面の左下部には3次元の幽霊キャラクタ704が登場し、そのおかげで、プレイヤはそのキャラクタになったように感じることができ、かつそのキャラクタが何をしているのかが分かるようになる。キャラクタ704は完全にアニメーション化されて、その動き及び位置によって、ゲームをしながらプレイヤは自分自身を「見る」ことが出来る。
【0049】
図7Bでは、幽霊は衛兵キャラクタに乗り移っており、図7Bは、この衛兵から見た図7Aの光景を示している。衛兵の視覚は通常の人間の視覚であるため、この視覚には視覚効果は施されていないと考えてよい。必要に応じて、この衛兵に、色覚異常、近視、遠視等のある特定の視覚特性を与えることも可能であることは言うまでも無い。この場合、視覚効果はこれらの特性を実現するように与えられればよい。案内情報722が、画面の右上部に示される。案内情報722は、コントローラ52の「Y」キーを押すことで衛兵キャラクタを全力疾走させることが出来ること及びコントローラ52の「B」キーを押すことで幽霊を衛兵キャラクタから離脱(幽霊キャラクタに戻る)させることが出来ることを示している。図7Bの画面には、更なる案内情報724を右下部に示している。画面の左下部には衛兵キャラクタの完全にアニメーション化された3次元画像726が表示されている。画像726の動きと位置によって、プレイヤはゲームをしながら衛兵キャラクタの動作を見ることが出来る。
【0050】
図7Cにおいては、幽霊は犬キャラクタに乗り移っており、図7Cは、この犬から見た図7Aの光景を示している。図7Cは、犬から見えるであろう犬の鼻を示している。この実施例において、犬の視覚は、例えば、衛兵の視覚よりも視界が広く、赤と緑に関する色覚異常を特徴としている。案内情報732が画面の右上部に示される。この案内情報は、コントローラ52の「Y」キーを押すことで犬を飛び上がらせることが出来ること及びコントローラの「B」キーを押すことで幽霊を犬から離脱させることが出来ることを示している。画面の右下部の案内情報734は、コントローラ52の「R」キーを押すことで犬に吼えさせることが出来ることを示している。画面の左下部は、犬キャラクタの完全にアニメーション化された3次元画像736を表示している。画像736の動き及び位置によって、プレイヤはゲームをしながら犬キャラクタの動作を見ることが出来る。
【0051】
図7Dにおいては、幽霊はねずみに乗り移っており、図7Dは、このネズミキャラクタから見た図7Aの光景を示している。この実施例において、ねずみの視覚効果は、まったくの単色で緑色を帯びて見え、広い視野及びぼやけを特徴としている。案内情報742が画面の右上部に示される。この案内情報は、コントローラ52の「Y」ボタンを押すことでねずみを飛び上がらせることが出来ること及びコントローラ52の「B」キーを押すことで幽霊をねずみから離脱させることが出来ることを示している。画面の左下部には、ねずみキャラクタの完全にアニメーション化された3次元画像744を表示している。画像744の動き及び位置によって、プレイヤはゲームをしながらねずみキャラクタの動作を見ることが出来る。
【0052】
図7Eにおいては、幽霊は砲塔に乗り移っており、図7Eは、この砲塔から見たゲーム世界の光景を示している。この視界には、種々の砲塔制御(ロックする、有効にする、発砲する等)を示すオーバーレイが与えられている。あるいは、この光景は人間の視覚特性で見られてもよい。案内情報752が画面の右上部に出されて、コントローラ52の「B」キーを押すことで幽霊が砲塔から離脱出来ることを示している。案内情報754は、画面の右下部に示され、コントローラ52の「L」キーを押すことによりプレイヤが砲塔の視界をズームさせることができることを示している。画面の左下部は、砲塔オブジェクトの完全にアニメーション化された3次元画像756を表示している。画像756の動き及び位置付けによって、プレイヤはゲームをしながら砲塔の動作を「見る」ことが出来る。
【0053】
図7F及び7Gは、図7Eの視界からコントローラの「L」キーを押すことで実現されるズームを用いた効果を示している。これらの図に示すように、ズームインされた視界はモザイク化され、このモザイク化された視界を実現するために視覚効果が与えられる。
【0054】
ある実施例において、この例のビデオゲームのソフトウェアプログラムは記憶媒体62に記憶される。このプログラムは、幽霊がホストに乗り移るとき実行されるべき視覚効果を決定するデータ及び/又は命令をホスト毎に有している。したがって、犬の場合、プログラムは、例えば、赤色チャンネルと緑色チャンネルを合成し、かつ用いる視界の大きさを特定するためのデータ及び/又は命令を有している。ねずみの場合、プログラムは、他にもいろいろあるが、光景をぼやけさせることを指定してねずみのぼやけた視覚をシミュレートするデータ及び/又は命令を有している。
【0055】
グラフィックスシステム50で実行されるこの例の幽霊ビデオゲームでは、いくつかの視覚効果は、3次元レンダリングが終了した後に施される「ポストエフェクト」である。より詳細には、フレームバッファ及び/又はzバッファ(深度バッファ)がテクスチャに取り込まれる。一般的には、zバッファリングが使用可である場合、色値と同様に深度値がピクセル毎に記憶される。深度は見る人の目からピクセルまでの距離として考えることが出来る。描画ルーチンはピクセルを更新しようとするときは常に、現在のピクセルの「深度」又は「z値」をまず調べ、新しいピクセルが現在のピクセルよりも近い場合のみ現在のピクセルを新しい値に更新する。z値を記憶するメモリの領域はzバッファと呼ばれる。取り込まれたテクスチャは、ゲームシステムのグラフィックスプロセッサに送られ、そこで、テクスチャ環境(TEV)工程による作用を受ける。テクスチャ、深度バッファ及び他のテキススチャをどのようにブレンドして種々の視覚効果を生み出すのかが、TEV工程パラメータによって決まる。グラフィックスシステム50のコンテクストの中でのテクスチャのブレンド処理については、米国特許第6,664,958号明細書に説明されており、参照によりその内容を本明細書に引用したものとする。
【0056】
この例のグラフィックスシステム50のグラフィックスパイプライン180は色テクスチャと深度(「z」)テクスチャを組み合わせることを援け、画像に基づいたレンダリングを容易にし、フレームバッファ702は、深度を持ったスプライトのように小型のカラー画像と深度画像の合成画像となる。図8は、色テクスチャtc及びzテクスチャtzを用いて深度をもったスプライトを形成するzテクスチャリング動作の一例を示す。このコンテキストにおいて、スプライトは、平面上にレンダリングされるアルファ(透明性)を持った或いは持たないテクスチャマップ又は画像とみなされるであろう。対応するzテクスチャtzは、テクスチャマップ又は画像において画像エレメント(テクセル)毎にz変位又は絶対深度を与える、つまり、z変位は種々の画像エレメント毎に異なりうる。図8の簡略図において、変換装置300によって行われるテクスチャ座標生成500(1)で、色テクスチャtcを検索かつマッピングするために用いられるテクスチャ座標を生成する。その結果生じた色テクセル(標準のテクスチャフィルタリング技術を用いてフィルタリングされうる)は、テクスチャ環境装置600によってブレンドされるか、或いはプリミティブの表面に貼られる。結果として生じたピクセルは画像化及び/又は更なる処理のために埋め込みカラーフレームバッファ702cに記憶される。
【0057】
テクスチャ座標生成500(1)はまた、zテクスチャマッピング/リサンプリングにおいて用いられるテクスチャ座標を生成する。テクスチャメモリ502は多種多様なフォーマットでzテクスチャtzを記憶し、テクスチャ装置500は、カラーテクスチャマッピングのために用いられる同一の又は異なったテクスチャ座標を用いて(例えば、非線形又は非均一マッピングを用いて)、zテクスチャtzを検索及びマッピングすることが出来る。テクスチャ装置500から出力される結果として生じるzテクセルはzブレンダ600zに供給される。zブレンダ600zはzテクセル深度値と、zテクスチャがマッピングされる表面の深度とをブレンドするか又は表面の深度をzテクセル深度値で置き換える。zブレンド動作によって得られるピクセル深度値は、埋め込みzバッファ702zに対応して行われるz比較700a(図5参照)を用いた隠面消去動作に用いられる。zバッファに対応した隠面消去動作によって、テクスチャマッピングされた画像の部分が場面中の他のオブジェクトによって遮られるか否かを、zテクスチャtzが制御することが出来る。
【0058】
図9Aは深度を持ったスプライトの色テクスチャtcの一例を示し、図9Bは深度を持ったスプライトの対応するzテクスチャtzの一例を示す。図9Aの色テクスチャtcは潅木の2次元画像を表す。図9Bのzテクスチャtzの例はこの同じ潅木の2次元絶対又は変位マップを表す。図9Bにおいて、例えば、深度(変位)z1に対応する潅木の前方部分z1は、潅木の後方部分に対応する深度(変位)値z2、z3、z4、z5及びz6よりも、選択された視点に近いz値を有するものと定めることが出来る。この補助的なzテクスチャ深度情報を用いると、光景の中にある他のオブジェクトが、図9Aの潅木の色画像の一部を遮ると同時に、この色テクスチャ画像の他の部分によって遮られる、といったことが可能となる。例えば、z2とz3の間の深度位置にあると定められた鳥は、潅木を「通り抜けて飛ぶ」ように見えるであろう。潅木の前方部分であるz1とz2は、鳥が潅木のこれらの部分の「背後」を通るかのように鳥を遮るであろう。これに対して、鳥は、潅木のz3、z4、z5及びz6の部分の「前方」を飛んでいるように、灌木のこれらの部分を遮ることが出来るであろう。従って、色テクスチャリング動作と共有のシステム50のメカニズムを利用することにより、かなり複雑な遮蔽処理を低価格で実現出来るであろう。図9Bの例のzテクスチャは領域単位の深度符号化を示しているが、例示的実施形態において、これはzテクスチャの種々のzテクセル位置の各々において別々の深度(変位)値を記憶することで達成され、これにより任意の複雑な遮蔽の視覚化を提供することができる。
【0059】
テクスチャリングの上述の概念を用いて、上記の乗り移られたホストの視覚効果のいくつかを実行することが出来る。例えば、この概念を用いて、幽霊、犬及びねずみの視覚効果を実行することが出来る。従って、例えば、見ている人からの距離に応じてオブジェクトをぼやかすテクスチャを用いて近視及び遠視を実現出来る。
【0060】
上記の視覚効果を生成する技法を図10を参照して下記に説明する。ST1000で、フレームがフレームバッファ及び/又はzバッファに、通常の光景としてレンダリングされる。この光景は、視界及びおそらく深度、フォグ及び色等のキャラクタに特有の視覚パラメータを有することが出来る。ST1002で、この光景はフレームバッファ及び/又はzバッファを用いてテクスチャになされる。ST1004で、このテクスチャは任意に他のテクスチャと合成されて、ST1006で特定の他の視覚効果(例えば、色チャンネルを合成する)が実行されてもよい。例えば、犬キャラクタの視覚効果の場合は、赤色チャンネルと緑色チャンネルが合成されて、犬の赤と緑に関する色覚異常をシミュレートする。ST1006の結果はST1008で元のフレームバッファとブレンドされる。図10で示すように、この処理は任意に一回行われるか又は複数回繰り返される。それから、視覚効果の施されない表示オブジェクトがST1010でレンダリングされて、その結果がST1012で表示される。
【0061】
ST1010を参照して述べたように、例えばゲームプレイを円滑にするために、特定の表示オブジェクトは視覚効果を施されないでレンダリングされうる。ゲームにストップライトが出てくるものとする。犬キャラクタの視覚効果では、ストップライトは赤色ではなく灰色に見えるであろうため、おそらくプレイヤは混乱するであろう。したがって、残りの光景が赤と緑に関する色覚異常で見えてもストップライトが赤色にみえるように、このストップライトは視覚効果を施さないでレンダリングされてもよい。ホストのオーラも視覚効果を適用しないでレンダリングされてもよい。しかしながら、ゲームプレイをプレイヤにとって複雑にするために、ゲーム開発者はこのようなオブジェクトに効果を適用することを望んでもよいことは言うまでも無い。
【0062】
ビデオゲームは、ゲームをする前又はゲーム中にユーザが特定の効果を変更出来るようになされていてもよい。例えば、望遠鏡オブジェクトの場合、プレイヤに、見えているものをフィルタリングするための種々のフィルタを選択(例えば、赤外線、ヒートマッピング、X線、暗視等)させてもよい。ユーザがこれらのフィルタのひとつを選択すると、ゲームプログラムは、そのフィルタの使用を考慮にいれて光景が見えるようにする。また、ビデオゲームにおいて、ゲームをする前又はゲーム中に1つ又は複数のキャラクタ或いはオブジェクトの視覚の特定の局面をユーザに指定させてもよい。例えば、プレイヤは、1つ又は複数のキャラクタの視界の大きさ、近視、遠視の程度等を設定出来てもよい。
【0063】
視覚効果は時間依存するものであってもよい。このため、視覚効果は、ユーザがホストに乗り移っている間、時間とともに変化してもよい。例えば、眠りからさめようとしているキャラクタが、はじめはぼんやりしているがキャラクタが目覚めていくのに従ってはっきりとなる視覚を持ってもよい。同様に、ゲームキャラクタが疲れるに従って、その視覚がぼんやりしてきてもよい。
【0064】
視覚効果は図11に示すように複数のプレイヤのための分割画面モードで用いることも出来る。この図11において、画面1100の上部1102はプレイヤ1の視界であり、画面1100の下部1104はプレイヤ2の視界である。これらの部分1102及び1104の各々は、異なったプレイヤが乗り移った各キャラクタに応じて異なった視覚効果を同時に利用出来る。
【0065】
上述の概念は視覚効果に限られない。つまり、他の効果を用いて、プレイヤは乗り移つられたホストとしてゲーム世界を体験出来る。例えば、幽霊がホストに乗り移ると、音声効果(例えば、ピッチ、音量、ステレオ、可聴音の周波数範囲等)を利用して、プレイヤは、乗り移ったホストがこれらの音声を体感するであろうように音声を体感出来る。したがって、ホストが犬である場合、犬に聞こえるような感覚を伝える音声効果を用いてもよい。例えば、低周波音については、人間は犬と同じか犬よりよく聞こえる。しかしながら、人間と比べて、犬には高い周波数がずっとよく聞こえる。このため、犬は鳥、ねずみ及びこうもりの超音波を聞くことが出来る。同様に、ホストがねずみである場合、ねずみに聞こえるような感覚を伝える別の音声効果を用いてもよい。これらの音声効果は、上述の視覚効果と組み合わせて又は別個に与えられてもよい。視覚効果と同様に、音声効果は時間依存するものであってもよく、及び/又は少なくとも部分的にユーザによる設定が可能であってもよい。さらに、特定の音声が音声効果の影響を受けないようにしてもよい。
【0066】
さらなる例として、特定のホストがそれら自身に加わった特定の力をどのように感じるのかを、コントローラの振動装置を用いてプレイヤに伝えてもよい。例えば、ねずみと人間は同じ力でも異なったように感じるものであり、ゲームシステムは、触知出来る感覚を生成するときこれらの違いを考慮に入れることが出来る。視覚効果及び音声効果と同様に、触感効果は時間依存するものであってもよく、及び/又は少なくとも部分的にユーザによる設定が可能であってもよい。さらに、特定の力が触感効果の影響を受けないようにしてもよい。
【0067】
本発明を、現在最も実際的で好ましい実施例と考えられているものと結び付けて説明したが、本発明は説明した実施例に限定されるべきではなく、むしろ添付の特許請求の範囲の精神及び範囲を超えることのない種々の修正及び同等の構成を包含することを意図するものと理解されるべきである。
【0068】
本特許に関するファイルには、カラーで作成された少なくとも1つの図面が含まれる。カラーの図面を含む本特許の写しは、請求に応じて及び必要な料金を支払うことによって、特許商標庁より入手することが出来るであろう。
【図面の簡単な説明】
【0069】
【図1】インタラクティブコンピュータグラフィックスシステムの一例を示す全体図
【図2】図1の例のコンピュータグラフィックスシステムのブロック図
【図3】図2に示す例のグラフィックス及びオーディオプロセッサのブロック図
【図4】図3に示す例の3Dグラフィックスプロセッサのブロック図
【図5】図4のグラフィックス及びオーディオプロセッサの論理流れ図の一例
【図6A】オーラを持つゲームキャラクタを示す図
【図6B】オーラを持つゲームキャラクタを示す図
【図6C】オーラを持つゲームキャラクタを示す図
【図7A】異なった視覚効果を用いて見た同一の光景を示す図
【図7B】異なった視覚効果を用いて見た同一の光景を示す図
【図7C】異なった視覚効果を用いて見た同一の光景を示す図
【図7D】異なった視覚効果を用いて見た同一の光景を示す図
【図7E】砲塔ゲームオブジェクトに対する異なった視覚効果を示す図
【図7F】砲塔ゲームオブジェクトに対する異なった視覚効果を示す図
【図7G】砲塔ゲームオブジェクトに対する異なった視覚効果を示す図
【図8】zテクスチャリング技術の一例のブロック図
【図9A】色テクスチャの一例を示す図
【図9B】zテクスチャの一例を示す図
【図10】視覚フィルタを実施するステップを示すフローチャート
【図11】視覚フィルタを用いた分割画面上でのゲーム表示の概略図
【特許請求の範囲】
【請求項1】
ゲームプレイ中に、複数の異なるホストに乗り移ることが出来るゲームキャラクタと、
前記ゲームキャラクタに乗り移られた前記ホストの特性に応じて同一のゲーム世界の異なる一人称体験を提供する効果とを備えた、ビデオゲーム。
【請求項2】
前記効果は視覚効果を含む、請求項1に記載のビデオゲーム。
【請求項3】
前記効果は音声効果を含む、請求項1に記載のビデオゲーム。
【請求項4】
前記効果は触感効果を含む、請求項1に記載のビデオゲーム。
【請求項5】
前記ホストは他のゲームキャラクタを含む、請求項1に記載のビデオゲーム。
【請求項6】
前記ホストは動物のキャラクタを含む、請求項1に記載のビデオゲーム。
【請求項7】
前記ホストは人間のキャラクタを含む、請求項1に記載のビデオゲーム。
【請求項8】
前記ホストはゲームオブジェクトを含む、請求項1に記載のビデオゲーム。
【請求項9】
前記効果は時間依存している、請求項1に記載のビデオゲーム。
【請求項10】
前記効果は少なくとも部分的にユーザ設定が可能である、請求項1に記載のビデオゲーム。
【請求項11】
一つ又は複数のゲーム世界オブジェクトは前記効果によって変化しない、請求項1に記載のビデオゲーム。
【請求項12】
前記ゲームキャラクタが幽霊である、請求項1に記載のビデオゲーム。
【請求項13】
前記効果が前記ホストの色覚異常を表す、請求項1に記載のビデオゲーム。
【請求項14】
前記効果が前記ホストの近視を表す、請求項1に記載のビデオゲーム。
【請求項15】
前記効果が前記ホストの遠視を表す、請求項1に記載のビデオゲーム。
【請求項16】
前記効果が前記ホストの広い視界を表す、請求項1に記載のビデオゲーム。
【請求項17】
前記効果が前記ホストの狭い視界を表す、請求項1に記載のビデオゲーム。
【請求項18】
前記効果が前記ホストの単色の視覚を表す、請求項1に記載のビデオゲーム。
【請求項19】
前記効果が前記ホストの暗視を表す、請求項1に記載のビデオゲーム。
【請求項20】
前記効果が前記ホストのX線視を表す、請求項1に記載のビデオゲーム。
【請求項21】
前記効果がテクスチャを用いて得られた視覚効果を含む、請求項1に記載のビデオゲーム。
【請求項22】
ビデオゲームを行うためのグラフィックスシステムによって実行可能なビデオゲーム命令を記憶する記憶媒体であって、前記ビデオゲームが
ゲームプレイ中に、異なるホストに乗り移ることが出来るゲームキャラクタと、
前記ゲームキャラクタに乗り移られた前記ホストの特性に応じて同一のゲーム世界の異なる一人称体験を提供する効果とを備えた、記憶媒体。
【請求項23】
前記ビデオゲーム命令は手持ち型のグラフィックスシステムによって実行可能である、請求項22に記載の記憶媒体。
【請求項24】
前記ビデオゲーム命令はゲームコンソールによって実行可能である、請求項22に記載の記憶媒体。
【請求項25】
前記ビデオゲーム命令はパーソナルコンピュータによって実行可能である、請求項22に記載の記憶媒体。
【請求項26】
前記ビデオゲーム命令は、エミュレータプログラムを実行するパーソナルコンピュータによって実行可能である、請求項22に記載の記憶媒体。
【請求項27】
ゲームキャラクタを制御して、ゲームプレイ中に複数の異なるホストに乗り移らせることと、
前記ゲームキャラクタに乗り移られた前記ホストの特性に応じて同一のゲーム世界の異なる一人称体験を提供することとを備えた、ビデオゲーム方法。
【請求項28】
前記効果は視覚効果を含む、請求項27に記載のビデオゲーム方法。
【請求項29】
前記効果は音声効果を含む、請求項27に記載のビデオゲーム方法。
【請求項30】
前記効果は触感効果を含む、請求項27に記載のビデオゲーム方法。
【請求項31】
前記ホストは他のゲームキャラクタを含む、請求項27に記載のビデオゲーム方法。
【請求項32】
前記ホストは動物のキャラクタを含む、請求項27に記載のビデオゲーム方法。
【請求項33】
前記ホストは人間のキャラクタを含む、請求項27に記載のビデオゲーム方法。
【請求項34】
前記ホストはゲームオブジェクトを含む、請求項27に記載のビデオゲーム方法。
【請求項35】
前記ゲームキャラクタは幽霊である、請求項27に記載のビデオゲーム方法。
【請求項1】
ゲームプレイ中に、複数の異なるホストに乗り移ることが出来るゲームキャラクタと、
前記ゲームキャラクタに乗り移られた前記ホストの特性に応じて同一のゲーム世界の異なる一人称体験を提供する効果とを備えた、ビデオゲーム。
【請求項2】
前記効果は視覚効果を含む、請求項1に記載のビデオゲーム。
【請求項3】
前記効果は音声効果を含む、請求項1に記載のビデオゲーム。
【請求項4】
前記効果は触感効果を含む、請求項1に記載のビデオゲーム。
【請求項5】
前記ホストは他のゲームキャラクタを含む、請求項1に記載のビデオゲーム。
【請求項6】
前記ホストは動物のキャラクタを含む、請求項1に記載のビデオゲーム。
【請求項7】
前記ホストは人間のキャラクタを含む、請求項1に記載のビデオゲーム。
【請求項8】
前記ホストはゲームオブジェクトを含む、請求項1に記載のビデオゲーム。
【請求項9】
前記効果は時間依存している、請求項1に記載のビデオゲーム。
【請求項10】
前記効果は少なくとも部分的にユーザ設定が可能である、請求項1に記載のビデオゲーム。
【請求項11】
一つ又は複数のゲーム世界オブジェクトは前記効果によって変化しない、請求項1に記載のビデオゲーム。
【請求項12】
前記ゲームキャラクタが幽霊である、請求項1に記載のビデオゲーム。
【請求項13】
前記効果が前記ホストの色覚異常を表す、請求項1に記載のビデオゲーム。
【請求項14】
前記効果が前記ホストの近視を表す、請求項1に記載のビデオゲーム。
【請求項15】
前記効果が前記ホストの遠視を表す、請求項1に記載のビデオゲーム。
【請求項16】
前記効果が前記ホストの広い視界を表す、請求項1に記載のビデオゲーム。
【請求項17】
前記効果が前記ホストの狭い視界を表す、請求項1に記載のビデオゲーム。
【請求項18】
前記効果が前記ホストの単色の視覚を表す、請求項1に記載のビデオゲーム。
【請求項19】
前記効果が前記ホストの暗視を表す、請求項1に記載のビデオゲーム。
【請求項20】
前記効果が前記ホストのX線視を表す、請求項1に記載のビデオゲーム。
【請求項21】
前記効果がテクスチャを用いて得られた視覚効果を含む、請求項1に記載のビデオゲーム。
【請求項22】
ビデオゲームを行うためのグラフィックスシステムによって実行可能なビデオゲーム命令を記憶する記憶媒体であって、前記ビデオゲームが
ゲームプレイ中に、異なるホストに乗り移ることが出来るゲームキャラクタと、
前記ゲームキャラクタに乗り移られた前記ホストの特性に応じて同一のゲーム世界の異なる一人称体験を提供する効果とを備えた、記憶媒体。
【請求項23】
前記ビデオゲーム命令は手持ち型のグラフィックスシステムによって実行可能である、請求項22に記載の記憶媒体。
【請求項24】
前記ビデオゲーム命令はゲームコンソールによって実行可能である、請求項22に記載の記憶媒体。
【請求項25】
前記ビデオゲーム命令はパーソナルコンピュータによって実行可能である、請求項22に記載の記憶媒体。
【請求項26】
前記ビデオゲーム命令は、エミュレータプログラムを実行するパーソナルコンピュータによって実行可能である、請求項22に記載の記憶媒体。
【請求項27】
ゲームキャラクタを制御して、ゲームプレイ中に複数の異なるホストに乗り移らせることと、
前記ゲームキャラクタに乗り移られた前記ホストの特性に応じて同一のゲーム世界の異なる一人称体験を提供することとを備えた、ビデオゲーム方法。
【請求項28】
前記効果は視覚効果を含む、請求項27に記載のビデオゲーム方法。
【請求項29】
前記効果は音声効果を含む、請求項27に記載のビデオゲーム方法。
【請求項30】
前記効果は触感効果を含む、請求項27に記載のビデオゲーム方法。
【請求項31】
前記ホストは他のゲームキャラクタを含む、請求項27に記載のビデオゲーム方法。
【請求項32】
前記ホストは動物のキャラクタを含む、請求項27に記載のビデオゲーム方法。
【請求項33】
前記ホストは人間のキャラクタを含む、請求項27に記載のビデオゲーム方法。
【請求項34】
前記ホストはゲームオブジェクトを含む、請求項27に記載のビデオゲーム方法。
【請求項35】
前記ゲームキャラクタは幽霊である、請求項27に記載のビデオゲーム方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図7C】
【図7D】
【図7E】
【図7F】
【図7G】
【図8】
【図9A】
【図9B】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図7C】
【図7D】
【図7E】
【図7F】
【図7G】
【図8】
【図9A】
【図9B】
【図10】
【図11】
【公表番号】特表2007−536997(P2007−536997A)
【公表日】平成19年12月20日(2007.12.20)
【国際特許分類】
【出願番号】特願2007−513264(P2007−513264)
【出願日】平成17年5月10日(2005.5.10)
【国際出願番号】PCT/US2005/016233
【国際公開番号】WO2005/110567
【国際公開日】平成17年11月24日(2005.11.24)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公表日】平成19年12月20日(2007.12.20)
【国際特許分類】
【出願日】平成17年5月10日(2005.5.10)
【国際出願番号】PCT/US2005/016233
【国際公開番号】WO2005/110567
【国際公開日】平成17年11月24日(2005.11.24)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]