説明

画像生成プログラム、画像生成装置、画像生成システム及び画像生成方法

【課題】本発明の目的は、一つのオブジェクトが他のオブジェクトに追従したり、他のオブジェクトを運ぶ等のようなオブジェクトが共に移動するときに、二次元インポスターを用いて効果的に三次元のような効果を達成することである。
【解決手段】共通の二次元インポスターや動画スプライトが二次元的に複数のオブジェクトの画像及び動画を生成するために使用される。複数のオブジェクトが空間において離れているときに、各オブジェクトがそれぞれの三次元モデルで表される。しかしながら、複数のオブジェクトが互いに接触しているとき、同じ場所に位置するとき、又は互いに近接しているときには、複数のオブジェクトを表すために複数の三次元モデルの使用から二次元モデルの使用へと切り替えられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータグラフィックスとアニメーション(動画)の技術に関するものであり、より特定的には処理効率が高く視覚的に魅力的にすることで、アニメーションのレンダリング技術を改良するためのものである。更に特定すると、本発明は、複数の動画オブジェクトを効果的(好適)に描画するために、動的にインポスターや二次元スプライト(2Dsprites)を使用する技術に関する。なお、この描画は、動画フィルム、シミュレーション、コンピュータで生成されたプレゼンテーション(上演)、ゲーム(ビデオゲーム)及び他の動画アプリケーションのために行われる。
【背景技術】
【0002】
コンピュータによる動画(コンピュータアニメーション)は、娯楽産業に革命をもたらしている。映画ファンは、現在、従来では心の中だけで存在していたような幻想的な視覚世界を楽しんでいる。そして、ゲーマは、非常に魅力的なゲームをコンピュータ、ビデオゲームコンソール、携帯型装置及び他の電子機器でプレイ(実行)することができる。また、訓練シミュレータは、大変リアルであるため、現実のものとシミュレーションの見分けがつかない程である。この様な変化は、長年に亘るコンピュータ科学者による多大な努力と、グラフィックハードウェアの処理能力の向上によりもたらされたものである。
【0003】
初期のコンピュータグラフィックスシステムは、二次元的なシステムである。このシステムは、二次元でオブジェクトを表して表示する。この様なインタラクティブグラフィックスシステムには、固定された視点から見た固定された背景画像に亘って移動するオブジェクトを描画するために、スプライト(sprites:ディスプレイ上の任意の位置に配置することが可能な小さい二次元画像)を使用するものがある。その様な技術は、当時利用可能であった、比較的低性能のグラフィックハードウェアに合っている。
【0004】
そして、グラフィック処理能力と性能の向上により、開発者は三次元モデルに基づいた動画(動画技術)の開発を開始した。この様な三次元モデルは、一般的に仮想三次元空間に三次元オブジェクトを描画するためにポリゴンを使用する。また、視点が変わったときにこの視点の変更に合わせてオブジェクトのジオメトリ(頂点)を自動的に変換する処理を行うグラフィックハードウェアを用いることで、三次元オブジェクトを所望の視点から描画することができる。この様な三次元グラフィックスは、ハードウェアと処理が二次元グラフィックスより複雑になるが、二次元グラフィックスよりも魅力的である。
【0005】
しかしながら、グラフィック処理能力が向上したとは言え、処理負荷とメモリ資源を節約し、グラフィック処理の複雑さを減らすことに、利がある場合がある。例えば、ヒトや他の複雑な動画キャラクタを三次元モデルに基づいて描画することは、処理負荷がかかり、かつ記憶容量を費やすことがあるため、「インポスター」と言われる技術が開発されて、三次元的な効果の重要性が低い特定の状況において使用されている。この「インポスター」と言われるものは、アニメーションプログラムが三次元モデルに代えて選択的に使用する二次元モデル(二次元オブジェクト)である。この二次元モデルは、特定の限られた目的のために、三次元空間に投影される。テクスチャマッピング(対応させて頂点やポリゴンの数を増加させずに画像の複雑さのレベルを上げるために、二次元画像を使用するもの)に似たように、「インポスター」を使用することで、対応させて(視覚的な複雑さに対応させて)ポリゴンの数を増加させたり、関連処理を複雑にすることなく、視覚的に複雑で面白い効果を得ることができる。その上、二次元「インポスター」モデルをアニメーションすることで、動きや動作を表現することが可能である。例えば、1996年の8月に、EUROGRAPHICSから出版された、Gernot Schauflerと、Wolfgang Sturzlingerの「A Three Dimensional Image Cache for Virtual Reality」を参照されたい。この様な二次元アニメーションは、比較的少ないポリゴン数(例えば一つのオブジェクトについて1つか2つのポリゴン)で高度な画像の複雑さと面白さを提供する。なお、「インポスター」が動くことが可能であるのに対して、テクスチャは(静的な)画像である。そして、テクスチャが三次元画像に関連して使用されるのに対して(例えば三次元的なテーブルの表面に木目をマッピングする等)、「インポスター」は、典型的にはアニメーションの間、対応する三次元オブジェクトに巧妙に置き換えて使用される。そして、テクスチャマッピングと「インポスター」の技術は併用して使用可能である。
【0006】
「インポスター」の興味深い使用の仕方の一つとしては、群衆を示すシーンにおける使用である。ここで、群衆内の個々の人をレンダリングするために三次元レンダリング技術を使用することもできるが、別々に三次元モデリングして、群衆内の数千の人をレンダリングすることは、大変処理負荷がかかるであろうし、全ての三次元モデルについてのデータを記憶することは大変メモリの容量を費やすことであろう。特に、処理能力の低いハードウェアでレンダリングするとき又は/及び記憶容量に制限がある場合には、群衆のレンダリングの実行の際に、三次元モデルに代えて二次元モデルを使用又は代用することに利がある。
【0007】
また、特定の動画オブジェクトについての三次元モデルと、この動画オブジェクトについての二次元「インポスター」との間で、必要に応じて動的に切り替えることもできる。例えば、動画オブジェクトがシーンの前方(目立つところ)に位置しているときや、シーンの他の要素と関連しているときには、三次元モデルを使用してオブジェクト画像を描画することが好ましい。一方で、動画オブジェクトがシーンの後方に移動して(又は、そのように視点が変更されて)、動画オブジェクトの三次元的な奥行き感や他の三次元的要素がもはや識別不可能になったり重要でなくなったならば、三次元構成(モデル)に代えて二次元「インポスター」を代用することで、画像の描画に必要な演算を減らすことができる。
【0008】
よくある例としては、二次元「インポスター」モデルを使用して、スポーツスタジアム内における群衆の沢山の顔それぞれを描画することが可能である。そして、群衆における一人や少数人の顔を仮想カメラでズームインする際には、三次元モデルに動的に切り替えて使用することができ、これによって、見る者は三次元モデルによって与えられる厚み感や奥行き感を見ることができる。なお、この例では、少数人に対してのみズームインすることで、このシステムは群衆における数百人の顔を描画する必要はなくなるため、処理の複雑さは扱いやすい程度であり、過剰なハードウェア負荷にはならない。そして、視野角を広くするために仮想カメラを一度ズームアウトした際には、許容可能なレベルに処理負荷を維持するために、三次元モデルに代えて、二次元「インポスター」モデルが再び使用される。
【0009】
「インポスター」は、一般的に厚みを持たないため、コリジョン判定(衝突判定)が関係するときには三次元グラフィックスの生成において一般的に使用されてこなかった。そして、多くのシステムは、隠面消去によって一方の二次元スプライトを他方の前に配置することができるように、「インポスター」と二次元スプライトに平面的な深度(例えば二次元画像の全体に(均一に)適用される単一の深度値)を割り当てている。この機能は、透明処理とともに用いられて、2.5次元深度効果(2−1/2D depth effect)と称されるものを提供することができる。
【0010】
なお、「インポスター」を用いたグラフィックス方法としては、例えば、特許文献1があげられる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】米国特許出願公開第2005/0110789号明細書
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、三次元グラフィックスシステムにおいて、二つの三次元オブジェクトの間で空間における衝突を確認するためにコリジョン判定が必要とされるときには、一般的に、通常またはしばしば、それぞれのオブジェクトの三次元モデルに基づいて、三次元空間においてコリジョン判定が行われる。
【0013】
ここで、動画キャラクタの様な複数のオブジェクトが、互いに動き、かつ、同じ又はほぼ同じ位置(三次元空間における位置)に居る場合(例えば一方のキャラクタが他方のキャラクタに追従したり他のキャラクタを運んだりするときや、複数のプレイヤがゲームをしている状況等で、一方のキャラクタが偶々他のキャラクタに追従する場合等)を検討する。この様な場合では、特に、インタラクティブなグラフィックス生成環境において、二つのキャラクタが異なったユーザに個別に操作される場合には、従来の三次元コリジョン判定技術を使用すると、複数のオブジェクト間の交点を絶えず検出して適切な隠面を消去するため、比較的処理負荷がかかる。
【0014】
それゆえ、本発明の目的は、複数のオブジェクトの三次元モデルが三次元空間において重なり合っている場合に、これらの複数のオブジェクトの描画のための処理を簡素化することができ、かつ効果的に三次元効果を表すことができる、画像生成プログラム、画像生成装置、画像生成システム及び画像生成方法を提供することである。
【課題を解決するための手段】
【0015】
上述した様な状況下で、「インポスター」を使用する本発明の限定的でない実施例は、複数のオブジェクトに対して共通する二次元の「インポスター」や動画スプライトを使用して、二次元でこれら複数のオブジェクトを描画して動かす。複数のオブジェクトが空間において離れているときには、それぞれのオブジェクトはそれぞれの三次元モデルを使用して表される。しかしながら、複数のオブジェクトが互いに接しているときや、少なくとも一部が同じ位置に位置しているとき、又は互いに近接しているとき(例えば、複数のオブジェクトが縦一列すなわち奥行き方向に一列に並んで(又は実質的に縦一列に並んで)いるときにこの状態は生じる)には、アニメーションシステムは、それぞれの三次元モデルの使用から、上述したような共通の二次元モデルの使用(「インポスター」や動画スプライトの使用)に切り替えて、これらの複数のオブジェクトを描画する。
【0016】
幾つかの実施例においては、その様な二次元モデルの使用は、ユーザの視点(カメラの視線)を二次元モデルの平面に対しておおよそ垂直にしてもよい状況、及び/又は二次元モデルの平面がカメラの方向に対して垂直になるように二次元モデルを向けてもよい状況に限定されてもよい。
【0017】
ここで、本発明の実施技術の一例は、使用時に、プロセッサを含むタイプのコンピュータ動画及び画像生成システムによって実行される方法を提供する。なお、プロセッサには、三次元グラフィックスプロセッサと、メモリが接続されており、三次元グラフィックスプロセッサは表示のための画像情報を生成する。この三次元の空間を移動する複数のオブジェクト(移動三次元オブジェクト)の動画を生成するための方法(複数の移動三次元オブジェクトを描く方法)は、複数の移動三次元オブジェクトが重なり合うかどうかを決定するステップ、複数の移動三次元オブジェクトが重なり合う場合に、重なり合う複数の移動三次元オブジェクトの三次元モデルを使用する代わりに、上記重なり合う複数の移動三次元オブジェクトに共通する二次元「インポスター」モデルを使用するステップ、三次元世界において二次元「インポスター」モデルを処理するステップ、及び前記処理結果に応じて、前記二次元「インポスター」モデルに基づいて複数の移動オブジェクトの画像を少なくとも部分的に表示するために生成するステップと、を含む。なお、装置、プログラム及びシステムもまた、ここで提供される。
【発明の効果】
【0018】
上述したように、複数のオブジェクトについて共通の二次元モデルを使用することによって、複数のプレイヤがゲームを行ったり、前もって表示順を予測し得ない他の状況でさえ、複雑なコリジョン判定とソートを使用しないことが可能となり、オブジェクト(複数のオブジェクト)の異なった部位(部位毎)の深度を区別する詳細な深度情報(例えば、Zテクスチャリングにおいて使用されるような深度情報)を保持する必要がなくなる。その上、幾つかの実施例においては、二次元モデルは二次元モデルの平面的な深度を持つことができ、これによって、グラフィックスシステムは、仮想三次元世界において、他のオブジェクトとの関連でコリジョン判定を実行することができるとともに、隠面消去することができる(例えば、縦一例に並んで動く複数のオブジェクトが他のオブジェクトの後ろにかつ他のオブジェクトの前に居るようにして共に移動することができる)。それゆえ、幾つかの実施例においては、グラフィックスシステムは、三次元的なコリジョン判定をし続け、かつ二次元的な表示(例えば「インポスター」等)と他の三次元オブジェクトとの間での隠面消去を実行し続けることが可能である。しかしながら、グラフィックスシステムは、縦一列に並んで移動する複数のオブジェクトの間でのコリジョン判定を行わなくてはならない負荷と、これに関連する隠面消去及びこれらの複数のオブジェクトに関連する他の三次元処理を行う負荷から解放される。これによって、処理の複雑さを減少させ、かつメモリ負荷を減らして、より複雑な3次元の背景等の表示を可能にするためにリソースを解放することができる。
【図面の簡単な説明】
【0019】
【図1】二つの動画キャラクタ(同じ空間を占拠する三次元モデルで表されたキャラクタであり、これらのキャラクタについてコリジョン判定せずかつ一つに見える状態)のスクリーン画像の一例を示す図
【図2】二つの動画キャラクタ(同じ空間を占拠する三次元モデルで表されたキャラクタであり、これらのキャラクタについてコリジョン判定せずかつ一つに見える状態)のスクリーン画像の一例を示す図
【図3】本発明の実施形態にかかる二つの動画キャラクタ(同じ場所に居り、かつ共通する二次元モデル又はインポスターで表された動画キャラクタ)のスクリーン画像の一例を示す図
【図4】二つの動画キャラクタ(同じ場所に居り、かつ共通する二次元モデル又はインポスターで表された動画キャラクタ)のスクリーン画像の一例を示す図
【図5】本発明の実施形態にかかる二つの動画キャラクタ(近接していない状態のときに、三次元モデルによって表された動画キャラクタ)のスクリーン画像の一例を示す図
【図6A】本発明の実施形態で用いられる、動画(アニメーション)及び画像(グラフィックス)生成システムの一例を示す図
【図6B】本発明の実施形態で用いられる、動画(アニメーション)及び画像(グラフィックス)生成システムの一例を示す図
【図7】本発明の実施形態にかかる二次元インポスターの構成の一例を示す図
【図7A】本発明の実施形態にかかる二次元インポスターの構成の一例を示す図であり、テクスチャマッピングデータの構成の一例を示す図
【図7B】本発明の実施形態にかかる二次元インポスターの構成の一例を示す図
【図7C】本発明の実施形態にかかる二次元インポスターの構成の一例を示す図
【図7D】本発明の実施形態にかかる二次元インポスターの構成の一例を示す図
【図7E】本発明の実施形態にかかる、特有の効果を通したジャンプの一例を示す図
【図8】本発明の実施形態にかかる、プログラムによる制御手順の一例を示すフローチャート
【発明を実施するための形態】
【0020】
以下に、図面を用いて本発明の一実施形態にかかる動画及び画像生成システムを説明する。
【0021】
図1および図2は、動画及び画像システム1(以下、「システム1」と記載し、このシステム1の詳細については図6A及び図6Bを用いて後述する)によって生成された画像(本発明の理解を助けるための参考用画像であって、後述するインポスターを利用せず、かつ従来のコリジョン判定も行わずに生成した場合の画像)の一例である画像40を示す図である。同図では、二つの動画キャラクタが三次元世界(三次元空間54)に亘って移動する。なお、同図の例では、二つの動画キャラクタは、大きいサル(ドンキーコング(登録商標))を表す動画キャラクタ50と、小さいサル(ディディーコング(登録商標))を表す動画キャラクタ52である。本実施形態では、動画キャラクタ50は、一人のゲームプレイヤからの入力によって制御され、動画キャラクタ52は他のゲームプレイヤからの入力によって制御されるが、この構成に限定されない。そして、これらの二つの動画キャラクタ50、52が縦一列に並んで移動を開始する制御がなされたとき、これらの二つの動画キャラクタ50、52は、三次元空間54において実質的に同じ三次元座標を持ち、互いに干渉する可能性がある。しかしながら、仮に動画キャラクタ50、52が現実世界に居たとしたら、動画キャラクタ50、52は三次元において完全に同じ位置を占拠することはできず、むしろ一方が他方に隣接するように歩行する又は立つことは可能である。ここで、単純なマルチプレイヤゲーム環境においては、ゲームプレイヤがそれぞれのキャラクタの深度値(Z値)を制御し、留意することは不可能であり、かついずれにしてもシステム1にフォトリアリズム(写実的表現)の提供を期待することも不可能である。このため、システム1は、表示された画像においても、動画キャラクタ50、52が独立したキャラクタとして視認可能であり、区別し得る状態を維持するように、自動的に動画キャラクタ50、52を生成することができることが好ましい。
【0022】
例えば、二人の独立したゲームプレイヤが、厳密に同じ場所に位置するように又は三次元空間54内で重なる場所に位置するように、自らの動画キャラクタ(動画キャラクタ50、52)を配置する可能性がある。このように動画キャラクタ50、52が配置されると、図1と図2に示すように、動画キャラクタ50、52が単一のオブジェクトとして結合するように表される結果となる。この様な視覚効果は、美しくなく、見る者に不快感を与え、また、現実世界においては、二つの動画キャラクタが実際に合体することは決してなく、むしろ二つの動画キャラクタは区別可能なままであり、かつ全く同時に全く同じ場所に位置することは決してないため、リアルではない(現実感がない)。そして、従来の三次元コリジョン判定と隠面消去技術を用いた三次元ポリゴン表現に基づいて動画キャラクタ50、52を分離することは可能であるが、比較的処理負荷が重い。
【0023】
上述した好ましくない事象を効果的に避けるために、本実施形態では、特定のある状況下においては、動画キャラクタ50、52の三次元オブジェクト表現(以下「三次元表現」と記載する)を、複数の動画キャラクタ(動画キャラクタ50、52を含む)について共通で用いられる一又は二以上の二次元「インポスター」オブジェクトに切り替える。その結果生じる、複数の動画キャラクタについて共通で用いられる二次元表現(二次元「インポスター」オブジェクト、以下、「二次元オブジェクト」と記載する場合もある)は、薄い壁やビルボードの様なものである。そして、本実施形態では、例えば、複数の三次元動画オブジェクト(動画キャラクタを含む)が実質的に同じ三次元座標に存在する場合、又は、三次元空間54において複数の三次元動画オブジェクト間の距離が、三次元動画オブジェクトが重なる程に短い距離の範囲内にある場合には、複数の三次元表現に代えて、上述したような二次元表現を使用する。
【0024】
図3は、二次元インポスターに基づいた結果(二次元表現の結果)表示される画像の一例を示す。この場合には、動画キャラクタ50、52が平面的な二次元オブジェクト(例えばテクスチャマッピングされたオブジェクト)によって表現されており、この平面的な二次元オブジェクトにおいて、二つの動画キャラクタ(動画キャラクタ50、52)が、一方が他方の前でかつ並んで歩いているように描画されている。この例では、二次元的な壁オブジェクト又はインポスターによって、前に動画キャラクタ52が存在し、後ろに動画キャラクタ50が存在する状況が表現されている。そして、三次元表現の場合には動画キャラクタ50、52が重なってしまったり完全に一体化してしまったりするかもしれないが、二次元表現の結果生成される画像では、動画キャラクタ50、52が、互いに区別可能で、かつ互いに結合されることなく表示される。
【0025】
図4は、本発明の理解を助けるための参考用画像であって、図3とは異なった視点からみた二次元壁オブジェクト又はインポスターに基づく画像を示す。このため、図4では、実際にどのような処理が行われているかが示されており、すなわち、動画キャラクタ50、52が薄い壁やビルボードのような共通の二次元表現に基づいて描画されていることが分かる。例えば、二次元オブジェクトは三次元空間54において四角形のような平面であってもよく、複数のキャラクタ(動画キャラクタ50、52)の画像がこの平面上にテクスチャマッピングされていてもよい。そして、二次元オブジェクトにおける動画キャラクタ50、52の画像以外の部分を透明にして、三次元空間54における平面オブジェクト(二次元オブジェクト)の背後に位置するオブジェクトをユーザが視認可能なようにするために、透明処理とアルファブレンディングを使用してもよい。それゆえ、動画キャラクタ50、52は実際には三次元空間において同じ場所(平面的な場所)に居るが、表示画像を生成するために例えば最終的に二次元投影された結果、ユーザによって視認される画像(結果として表示される画像)においては、動画キャラクタ50、52が区別可能にかつ干渉しないように表示される。
【0026】
本実施形態においては、ユーザの視点は、図4で示すような視点から動画キャラクタ50、52をユーザが視認し得ないように制限されている。言い換えれば、本実施形態では、二次元表現が三次元表現に代えて使用されているときには常に、視点はその視線が二次元オブジェクトの平面に略垂直になるように制限されている。例えば、実質的に視点(視線)が二次元インポスターモデル(上述した二次元オブジェクトの平面)に略垂直ではなくなるようにユーザがインタラクティブシステム(システム1)において視点を変更することができ、かつそのようにユーザが視点を変更し始めたときには、システム1は、フォトリアリズム(現実感)を維持するために動画キャラクタ50、52それぞれの三次元表現に違和感なく切り替える。その後、ユーザが視点を再び変更して、二次元インポスターモデル(上述した二次元オブジェクトの平面)に視線が略垂直になったときには、システム1は三次元モデル(三次元表現)に代えて二次元モデル(二次元表現)を違和感の無いように再度使用する。同様に、図5で示すように、動画キャラクタ50、52がもはや同じ場所に位置しないように制御されたときには、システム1は動画キャラクタ(動画キャラクタ50、52)をそれぞれの三次元モデルで表現する処理を開始し、かつそれぞれの動画キャラクタ50、52で共通で用いられる二次元表現(二次元モデル)の使用を中断する。
【0027】
(動画及び画像システムの一例)
図6Aは、本実施形態にかかる動画及び画像システム1の外観図である。図6Aで示すように、システム1はテレビジョン受像機2(以下、単に「テレビ」と記載する。なお、他のディスプレイであってもよい)、処理ユニット装置(システム)3(以下、「処理装置3」と記載する)、光ディスク4、1つ又は複数の入力装置8(例えばマルチプレイヤのそれぞれのプレイヤに対応するように複数の入力装置8を用いてもよい)、及びマーカ部6を備える。このシステム1において、処理装置3は、入力装置8を用いてのユーザの操作に応じて、動画及び画像生成処理を実行する。もっとも、システム1は必ずしもインタラクティブにユーザの入力にリアルタイムで応答する必要はなく、代わりに、例えばムービーやビデオを表示するための予め定められたスケジュールに基づいて動画及び画像(グラフィックス)の生成を行ってもよい。
【0028】
光ディスク4は、処理装置3に使用される情報記録媒体の典型例であり、交換可能なように、処理装置3に対して着脱可能に挿入される。光ディスク4には、処理装置3によって実行されるプログラムが記憶される。また、処理装置3にはその前面に光ディスク4の挿入口が設けられている。そして、処理装置3は、ゲーム処理を行うために、挿入口を介して挿入された光ディスク4に記憶されているゲームプログラムを読み出して実行する。なお、プログラムを、ROM、フラッシュメモリ、及びダウンロード可能なRAM等を含む揮発性の又は不揮発性の記憶装置に記憶させてもよい。
【0029】
また、処理装置3は、表示装置の一例であるテレビ2に接続コードを介して接続されている。そして、処理装置3による所定の処理の実行の結果、画像がテレビ2に表示される。その上、マーカ部6は、テレビ2のスクリーンの周辺(図6Aにおいてはスクリーン上側の位置)に提供(配置)される。ここで、マーカ部6は、その両端に2つのマーカ(マーカ6R、マーカ6L)を有する。具体的には、マーカ6R、6Lは、一又は複数の赤外LEDを有し、テレビ2から前方に向かって赤外光を出力する。マーカ部6は、処理装置3に接続されており、処理装置3はマーカ部6が備える各赤外LEDの点灯を制御することが可能である。
【0030】
入力装置8は、入力装置8自身に対して行われた操作内容を示す操作データを処理装置3に与える。本実施形態では、入力装置8は、コントローラ(制御部)5と、加速度や角速度の検出及び/又は慣性測定機能を有するセンサユニット7(ジャイロセンサ等)とを有する。詳細については後述するが、センサユニット7が着脱可能に制御部5に対して接続できるように、又は代わりにセンサユニット7が入力装置8に内蔵されるように、入力装置8が構成されている。この入力装置8(制御部5)と処理装置3の間において、無線通信が使用される。この無線通信においては、例えばBluetooth(登録商標)の技術が使用される。もっとも、入力装置8(制御部5)と処理装置3の間の通信的な接続を有線としてもよい。
【0031】
次に、図6Bを参照して、処理装置3の内部構成を説明する。図6Bは、処理装置3の構成を示すブロック図である。処理装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14及びAV−IC15等を有する。
【0032】
CPU10は、アニメーションプロセッサとして機能し、光ディスク4に記憶されたプログラムを実行することによって、所定の処理を実行する。そして、CPU10は、システムLSI11に接続される。また、システムLSI11には、CPU10だけではなく外部メインメモリ12、ROM/RTC13、ディスクドライブ14及びAV−IC15が接続される。そして、システムLSI11は、接続されたこれらの構成要素の間のデータ転送を制御するための処理を実行し、また、表示される画像を生成するための処理、外部装置からデータを取得する処理等を実行する。システムLSI11の内部の特徴については後述する。外部メインメモリ12は、揮発性メモリであり、光ディスク4やフラッシュメモリ17から読み出されたプログラム等を記憶するとともに、様々なデータを記憶する。また、外部メインメモリ12はCPU10の作業領域及びバッファ領域として使用される。ROM/RTC13は、処理装置3のブートプログラム(起動用プログラム)が組み込まれているROM(いわゆるブートROM)と、時間をカウントするためのクロック回路(RTC:Real Time Clock)を有する。そして、ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出して、この読み出したデータを後述の内部メインメモリ11e又は外部メインメモリ12に書き込む。
【0033】
システムLSI11は、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、及び内部メインメモリ11eを有する。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
【0034】
GPU11bは、描画手段の一部として機能し、CPU10からのグラフィックスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィックコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。GPU11bによって実行される処理は、当業者に良く知られているように、例えば、テクスチャマッピング、三次元表面の二次元的なスクリーン面への投影、シェーディング、シャドウィング、ライティング及びラスタライズ等を含む。画像生成時には、GPU11bはVRAM11dに記憶されているデータを使用して画像データを生成する。
【0035】
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形データ(音色)を用いて音声データを生成する。
【0036】
上述したように生成された画像データと音声データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データを、AVコネクタを介してテレビ2に出力するとともに、読み出した音声データをテレビ2に内蔵されるスピーカ2aに出力する。これによって、画像がテレビ2に表示されるとともに、音声がスピーカ2aから出力される。
【0037】
入出力プロセッサ11aは、接続される構成要素との間でデータの送受信を行い、かつ外部装置からデータをダウンロードする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20及びメモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
【0038】
入出力プロセッサ11aは、無線通信モジュール18及びアンテナ22を介してネットワークに接続され、これによって、ネットワークに接続される他の処理装置や各種サーバと通信を行うことができる。入出力プロセッサ11aは定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データがあるときには、無線通信モジュール18及びアンテナ22を介してネットワークに送信する。その上、入出力プロセッサ11aは、他の処理装置から送信されたデータを受信し、及び/又は、ネットワークとアンテナ22と無線通信モジュール18とを介して、ダウンロードサーバからダウンロードされたデータを受信する。そして、入出力プロセッサ11aは、受信したデータ及び/又はダウンロードされたデータをフラッシュメモリ17に記憶させる。CPU10は、ゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、処理装置3と他の処理装置や各種サーバとの間で送受信されるデータの他、処理装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データ又は途中データ)が記憶されてもよい。
【0039】
入出力プロセッサ11aは、アンテナ23及び無線コントローラモジュール19を介して、制御部5から送信された操作データを受信し、この受信した操作データを内部メインメモリ11e又は外部メインメモリ12のバッファ領域に記憶させる。
【0040】
更に、入出力プロセッサ11aには、拡張コネクタ20とメモリカード用コネクタ21が接続される。拡張コネクタ20は、USB(Universal Serial Bus)やSCSI(Small Computer System Interface)のようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えて使用することができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0041】
処理装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンにされると、処理装置3の各構成要素に対して、図示しないACアダプタを経て電源が供給される。リセットボタン25が押されると、システムLSI11は、処理装置3のブートプログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
【0042】
(二次元モデル又はインポスターの一例)
図7は、動画キャラクタ50、52それぞれの二次元画像を示す図である。これらの動画キャラクタ50、52の二次元画像又はセル画(cels)は、それぞれのスプライトシートから得られることも可能であるし、それぞれのスプライトシートを生成するために使用することも可能である。なお、スプライトシートとは、例えば動画を供給するために使用することができるものであり、異なった位置に居る個々の動画キャラクタ(動画キャラクタ50、52)のそれぞれについて二次元画像を集めたもの、又は個々の動画キャラクタのそれぞれについての一連の二次元画像である。一例として、図7の二次元画像は、動画キャラクタ50、52の三次元モデルを投影して(アルファ透明度(alpha transparency)によって囲んで)対応する二次元画像を生成し、当該生成した二次元画像をGPU11bによるテクスチャマッピングのためのテクスチャマッピングデータ(Texture map)としてVRAM11dに記憶することで、CPU10又はGPU11bによって、動的に生成される。図7Aは、そのようなスプライトシートテクスチャマッピングデータT1、T2の一例を示す図である。スプライトシートテクスチャマッピングデータT1、T2は、動画キャラクタ50、52の三次元表現を、原則的に、Z(深さ)座標を除去し、より手前側のZ値を有する部分を優先して上書きすることによって、平面に投影することによって得られる。
【0043】
図7で示す2つのセル画(又は二次元画像)を組み合わせることによって、図7Bで示す二次元インポスター構造を生成することができる。ここで示す例では、例えば、奥側に居る動画キャラクタ(動画キャラクタ50)の二次元画像に、手前側に居る動画キャラクタ(動画キャラクタ52)の二次元画像を上書きすることによって、複数の二次元画像を互いに重ね合わせる(スーパーインポーズする)。そして、もし必要であれば、動画キャラクタ50、52における前後関係(どちらが前でどちらが後ろか)は予め定められて固定化することができるため、コリジョン判定を行うことなく、例えばマルチテクスチャリングによって、又はテクスチャマッピング前に2つの二次元画像を重ね合わせることによって、二次元画像の重ね合わせを行うことができる。ここで、上述したことが如何なることかを考察する一つの方法として、次のものがある。すなわち、2つの動画キャラクタ(動画キャラクタ50、52)のうちの一方(例えば小さいキャラクタを示す動画キャラクタ52)が「手前」であるとソフトウェアで宣言しておき、これによって、この動画キャラクタと重なる他方の動画キャラクタ(動画キャラクタ50)のピクセル又はテクセルに、「手前」の動画キャラクタ(動画キャラクタ52)を上書きすることによって適切な隠面消去を行って、同じ三次元平面に動画キャラクタ50、52の三次元モデルを投影する(平面化する(flatten))方法がある。
【0044】
上記の結果生成された二次元画像は、図7Cで示すような、三次元世界(三次元空間54)に配置された四角形や他の形(例えば、長方形又は共通の一辺を有する一対の三角形)の平面にテクスチャマップされることが可能である。そして、視野角錐体55(視点を頂点とし、投影面を上面とする角錐体)は、フォトリアリズム(現実感)を確保するために、上述した四角平面を基準として、図7Dで示すような方向に規制される。そして、動画効果を得るために(動画を表示するために)、画像生成期間において、上述したスプライトシート等から取得した一連の二次元的なセル画像を二次元オブジェクトにテクスチャマッピングすることが可能である。
【0045】
図8は、本発明の実施形態にかかる、コンピュータの制御手順の一例を示すフローチャートであり、この制御手順は本明細書において説明したような動画の生成を行うためのものである。そして、図8で示す各ステップは、揮発性の又は不揮発性の記憶装置(例えば光ディスク4、内部メインメモリ11e、外部メインメモリ12及びフラッシュメモリ17等)に記憶されているコンピュータへの命令(プログラム)で表され、かつ動画をもたらすために、CPU(動画システムプロセッサ)10によって行われる。以下、本実施形態において、図8の処理フローが如何なる働きをするか説明する。
【0046】
まず、各プレイヤPについて、インポスターBin(IMPOSTERBIN:インポスターシステム)にソートレイヤ情報(SORTING LAYER INFO)が記憶される(S302)。例えば、ソートレイヤ情報は、二つの動画キャラクタ(動画キャラクタ50、52)が縦一列に並んで移動するときに、動画キャラクタ52が動画キャラクタ50の前に居るようになるか否かを示す情報である。
【0047】
次に、各一対のオブジェクトA、B(このオブジェクトA、Bは例えば、上記動画キャラクタ50、52である)について、オブジェクトAとオブジェクトBの三次元的な範囲・座標(三次元空間54における範囲・座標)が重なっているかが判断される(S304)。この判断は、例えば、三次元バウンディングボックステスト(3D bounding box test)を使用して行われてもよい。すなわち、それぞれのオブジェクトにつき、オブジェクトを囲む直方体などの衝突判定領域をもたせ、衝突判定領域の重なりによってオブジェクト同士の重なりであると判断する手法である。
【0048】
ステップS304の判断で否定であるときには(S304でNO)、典型的な三次元表現に基づいて通常の三次元オブジェクトとしてオブジェクトA、Bが描画される(S306)。
【0049】
一方、ステップS304の判断で肯定であるときには(S304でYES)、オブジェクトAとオブジェクトBのソートレイヤ情報がインポスターBinに記憶される(S308)。この情報は、三次元世界(三次元空間54)における二次元平面(オブジェクトA及びBのスプライトがテクスチャマッピングされるポリゴン)の深度値を決定するためにも使用可能であり、これによって、描画されたオブジェクトA及びオブジェクトBを、他の三次元オブジェクトの背後に位置させたり、手前に位置させたりすることが可能である。
【0050】
次に、インポスターBinにおける各エントリー(オブジェクトA、B)について、範囲(オブジェクトA、Bの範囲)がスクリーンに投影される(S310)。
【0051】
そして、上記範囲がスクリーン上に位置し、かつスプライトシートの大きさに適合するかが判断される(S312)。
【0052】
そして、ステップS312の判断で否定であるときには(S312でNO)、例えば、カット・プレーン(Cut−plane)処理等の実行に三次元レンダリングツールを使用することが可能であるため、通常の三次元レンダリングに戻される(S314)。
【0053】
一方、ステップS312の判断で肯定であるとき、すなわち、上記範囲がスクリーン上に位置し、かつスプライトシートの大きさに適合するときには(S312でYES)、スクリーンスロット(Screen Slot、すなわち上記範囲)付近の投影画像が生成される(S316)。
【0054】
そして、スプライトシートにスロット(Slot、記憶領域)が確保される(S318)。
【0055】
次に、確保されたスプライトシートのスロット(Sprite Sheet Slot)にエントリー(オブジェクトA,B)が描画される(S320)。
【0056】
上記ステップS316、S318及びS320では、三次元モデル又は他の資源(asset)を動的に二次元に変換し、これによって、幾つかの実施形態においては、3次元で動画が生成されるように動的にスプライトを生成するために三次元モデルを二次元表面に投影することが可能である。この後、グラフィックスシステム(システム1)が、三次元モデルを使用してレンダリングを行うか否か、又はその代わりに二次元インポスターを生成するか否かが決定される。
【0057】
それから、インポスターBinにおける各エントリー(オブジェクトA,B)について、好ましい深度ソート順に従って、スクリーンボックス(Screen Box、例えば図7Eに示すようなボックス)が世界平面(World Plane、仮想空間54内の所定の平面)に逆投影される(S322)。
【0058】
そして、スプライトシートテクスチャセル(Sprite Sheet Texture Cell、スプライトシートテクスチャマッピングデータのテクセル)を用いて、カメラの方向を向いた四角平面(すなわち、この四角平面は、仮想カメラの位置に応じて、異なる向きに配置されてもよい)が、描画される(S324)。
【0059】
図7Eは、二次元表現を三次元世界(仮想空間54)における他のオブジェクトと係わらせることができるという本実施形態に特有の作用効果を示す図である。この例において、Zバイアスハードウェア(Zテクスチャリングという名称の米国特許第6,664,958号を参照、この公報を本明細書において引用する)が使用される。このZバイアスハードウェアを使用するのは、単一の深度値で定義された共通の(複数の動的キャラクタで共通の)二次元表現を使用して表現されていても、ともにジャンプして障害物をくぐり抜けるように動画キャラクタ50、52を見えるようにする、ジャンプスルー効果を与えるためである。
【0060】
ここで記載した技術は、本実施形態との関連で説明したが、本発明は本明細書において開示した内容のみに限定されない。例えば、ここで記載した技術は、リアルタイムの又はリアルタイムではない動画生成、インタラクティブシステム又はノンインタラクティブシステム、ビデオゲーム、コンピュータゲーム、ウェブページのアニメーション表現、携帯電話等の携帯型装置、テレビジョン又はムービー、もしくはコンピュータに生成された動画を使用する他のものに適用可能である。本発明は、クレームによって定義されるものであり、明細書に記載されているか否かに係わらず、クレームに対応する同等の構成も全て含むものである。
【0061】
なお、上述した処理装置3の処理の一部をサーバや、同種の他の処理装置で負担してもよい。
【符号の説明】
【0062】
1…動画及び画像システム
2…テレビ
2a…スピーカ
3…処理装置(ゲーム装置)
4…光ディスク
6…マーカ
8…入力装置
10…CPU
11…システムLSI
11a…入出力プロセッサ
11b…GPU
11c…DSP
11d…VRAM
11e…内部メインメモリ
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…メモリカード用コネクタ
22、23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン

【特許請求の範囲】
【請求項1】
仮想三次元空間を移動する複数の三次元オブジェクトの動画を生成するための画像生成プログラムであって、情報処理装置のコンピュータを、
前記仮想三次元空間において、前記複数の三次元オブジェクトが重なっているか否かを判定する判定手段、
前記複数の三次元オブジェクトが重なっているときに、当該複数の三次元オブジェクトに対応する少なくとも1つの二次元オブジェクトを生成する二次元オブジェクト生成手段、及び
前記重なっている複数の三次元オブジェクトを、前記二次元オブジェクトへと置き換えた画像を生成する画像生成手段、
として機能させるための画像生成プログラム。
【請求項2】
前記二次元オブジェクト生成手段は、前記複数の三次元オブジェクトを前記二次元オブジェクトに動的に変換し、当該二次元オブジェクトを前記仮想三次元空間内の平面上にテクスチャマッピングする、
請求項1に記載の画像生成プログラム。
【請求項3】
前記情報処理装置のコンピュータを、更に、前記仮想三次元空間における前記複数の三次元オブジェクトが存在する範囲をスクリーンに投影する投影手段として機能させ、
前記投影された範囲が表示画面上にあるときに、前記二次元オブジェクト生成手段は、前記二次元オブジェクトを生成する、
請求項1または請求項2に記載の画像生成プログラム。
【請求項4】
前記二次元オブジェクト生成手段は、前記複数の三次元オブジェクトの投影画像を二次元オブジェクトとして生成する、
請求項1〜請求項3のいずれか1項に記載の画像生成プログラム。
【請求項5】
前記画像生成手段は、前記二次元オブジェクトを前記仮想三次元空間内の所定の平面に配置する、
請求項1〜請求項4のいずれか1項に記載の画像生成プログラム。
【請求項6】
前記二次元オブジェクト生成手段は、ユーザの入力にリアルタイムで応答して、前記二次元オブジェクトを生成する、
請求項1〜請求項5のいずれか1項に記載の画像生成プログラム。
【請求項7】
前記画像生成手段は、ユーザの入力にリアルタイムで応答して、前記重なっている複数の三次元オブジェクトを、前記二次元オブジェクトへと置き換えた画像を生成する、
請求項1〜請求項6のいずれか1項に記載の画像生成プログラム。
【請求項8】
前記情報処理装置は、ビデオゲーム装置である、
請求項1〜請求項7のいずれか1項に記載の画像生成プログラム。
【請求項9】
前記判定手段は、前記複数の三次元オブジェクトが同じ場所を占めているかどうかを判定する、
請求項1〜請求項8のいずれか1項に記載の画像生成プログラム。
【請求項10】
前記判定手段は、前記複数の三次元オブジェクトが同じ空間を占めているかどうかを判定する、
請求項1〜請求項8のいずれか1項に記載の画像生成プログラム。
【請求項11】
前記二次元オブジェクト生成手段は、前記複数の三次元オブジェクトから前記二次元オブジェクトを動的に生成する、
請求項1〜請求項10のいずれか1項に記載の画像生成プログラム。
【請求項12】
前記二次元オブジェクトは、前記複数の三次元オブジェクトのうちの或る三次元オブジェクトが他の三次元オブジェクトの前に位置している状態を表したものである、請求項1〜請求項11のいずれか1項に記載の画像生成プログラム。
【請求項13】
前記二次元オブジェクトは、二次元インポスターモデルである、請求項1〜請求項12のいずれか1項に記載の画像生成プログラム。
【請求項14】
仮想三次元空間を移動する複数の三次元オブジェクトの動画を生成するための画像生成装置であって、
前記仮想三次元空間において、前記複数の三次元オブジェクトが重なっているか否かを判定する判定手段、
前記複数の三次元オブジェクトが重なっているときに、当該複数の三次元オブジェクトに対応する少なくとも1つの二次元オブジェクトを生成する二次元オブジェクト生成手段、及び
前記重なっている複数の三次元オブジェクトを、前記二次元オブジェクトへと置き換えた画像を生成する画像生成手段、
を備える、画像生成装置。
【請求項15】
仮想三次元空間を移動する複数の三次元オブジェクトの動画を生成するための画像生成システムであって、
前記仮想三次元空間において、前記複数の三次元オブジェクトが重なっているか否かを判定する判定手段、
前記複数の三次元オブジェクトが重なっているときに、当該複数の三次元オブジェクトに対応する少なくとも1つの二次元オブジェクトを生成する二次元オブジェクト生成手段、及び
前記重なっている複数の三次元オブジェクトを、前記二次元オブジェクトへと置き換えた画像を生成する画像生成手段、
を備える、画像生成システム。
【請求項16】
仮想三次元空間を移動する複数の三次元オブジェクトの動画を生成するための画像生成方法であって、
前記仮想三次元空間において、前記複数の三次元オブジェクトが重なっているか否かを判定する判定ステップ、
前記複数の三次元オブジェクトが重なっているときに、当該複数の三次元オブジェクトに対応する少なくとも1つの二次元オブジェクトを生成する二次元オブジェクト生成ステップ、及び
前記重なっている複数の三次元オブジェクトを、前記二次元オブジェクトへと置き換えた画像を生成する画像生成ステップ、
を備える、画像生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図7D】
image rotate

【図7E】
image rotate

【図8】
image rotate


【公開番号】特開2012−3755(P2012−3755A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2011−128298(P2011−128298)
【出願日】平成23年6月8日(2011.6.8)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】