JP2002279445A - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents
画像生成システム、プログラム及び情報記憶媒体Info
- Publication number
- JP2002279445A JP2002279445A JP2001081316A JP2001081316A JP2002279445A JP 2002279445 A JP2002279445 A JP 2002279445A JP 2001081316 A JP2001081316 A JP 2001081316A JP 2001081316 A JP2001081316 A JP 2001081316A JP 2002279445 A JP2002279445 A JP 2002279445A
- Authority
- JP
- Japan
- Prior art keywords
- primitive
- value
- virtual camera
- nth
- polygons
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
理負荷で生成できる画像生成システム、プログラム及び
情報記憶媒体を提供すること。 【解決手段】 基準線から放射状に配置されたポリゴン
PL1〜4により構成されるオブジェクトOBのポリゴ
ンと、仮想カメラVCの向きとの相対的な方向関係(角
度θ)に応じて、PL1〜4のα値を設定し、PL1〜
4のα合成処理を行う。仮想カメラの向きがポリゴンと
平行になるにつれてそのポリゴンを透明にする。頂点が
属するポリゴンの代表α値に基づいてその頂点のα値を
求める。ポリゴンPL1〜4に対して共通の炎テクスチ
ャを用いる。ポリゴンPL1〜PL4に交差するベース
・ポリゴンを設け、ポリゴンと仮想カメラVCの向きと
の相対的な方向関係に応じてベース・ポリゴンのα値を
設定する。ポリゴンと仮想カメラの向きとの相対的な方
向関係に応じてポリゴンPL1〜4の描画順序を決定す
る。
Description
ム、プログラム及び情報記憶媒体に関する。
り、仮想的な3次元空間であるオブジェクト空間内にお
いて仮想カメラ(所与の視点)から見える画像を生成す
る画像生成システム(ゲームシステム)が知られてお
り、いわゆる仮想現実を体験できるものとして人気が高
い。ロールプレイングゲーム(RPG)を楽しむことが
できる画像生成システムを例にとれば、プレーヤは、自
身の分身であるキャラクタ(オブジェクト)を操作して
オブジェクト空間内のマップ上で移動させ、敵キャラク
タと対戦したり、他のキャラクタと対話したり、様々な
町を訪れたりすることでゲームを楽しむ。
プレーヤの仮想現実感の向上のために、よりリアルな画
像を生成することが重要な課題になっている。従って、
ゲーム中に発生する炎や煙などの不定形な表示物につい
ても、リアルな画像で表現できることが望まれる。
物を表現する手法としては、以下に述べるような手法が
考えられる。
ッピングされた炎ポリゴンを用いて、炎を表現する。
の方向から炎ポリゴンを見た場合に、炎ポリゴンの形状
が平面的であることがプレーヤに知られてしまい、プレ
ーヤの仮想現実感を減退させてしまう。
ステムを用いる。即ち、位置や色などの属性情報を持ち
所与の規則に従って発生、移動、消滅する炎パーティク
ルの集合により、不定形な形の炎を表現する。
ステムには、画像生成システムの処理負荷が非常に重く
なるという欠点がある。
れたものであり、その目的とするところは、表示物のリ
アルな画像を少ない処理負荷で生成できる画像生成シス
テム、プログラム及び情報記憶媒体を提供することにあ
る。
に、本発明は、画像生成を行う画像生成システムであっ
て、基準線から放射状に配置された第1〜第Nのプリミ
ティブ面を含むオブジェクトを、オブジェクト空間に設
定する手段と、前記オブジェクトが含む前記第1〜第N
のプリミティブ面の中の少なくとも1つのプリミティブ
面と仮想カメラの向きとの相対的な方向関係に応じて、
前記第1〜第Nのプリミティブ面のα値を設定する手段
と、設定されたα値に基づいて、前記第1〜第Nのプリ
ミティブ面を含む前記オブジェクトについてのα合成処
理を行う手段とを含むことを特徴とする。また本発明に
係るプログラムは、コンピュータにより使用可能なプロ
グラム(情報記憶媒体又は搬送波に具現化されるプログ
ラム)であって、上記手段をコンピュータに実現させる
(上記手段としてコンピュータを機能させる)ことを特
徴とする。また本発明に係る情報記憶媒体は、コンピュ
ータにより読み取り可能(使用可能)な情報記憶媒体で
あって、上記手段をコンピュータに実現させる(上記手
段としてコンピュータを機能させる)ためのプログラム
を含むことを特徴とする。
された第1〜第Nのプリミティブ面を含むオブジェクト
が、オブジェクト空間に設定(配置)され、このオブジ
ェクト空間において仮想カメラから見える画像が生成さ
れる。
リミティブ面と仮想カメラの向きとの相対的な方向関係
(角度又は内積値等)に応じて、第1〜第Nのプリミテ
ィブ面のα値が設定され、そのα値によりα合成処理が
行われる。
に配置された第1〜第Nのプリミティブ面を含むオブジ
ェクトを用いているため、あたかもボリュームを持つ立
体形状であるかのようにオブジェクトを見せることが可
能になる。
カメラの向きとの相対的な方向関係に応じてプリミティ
ブ面のα値が変化するため、オブジェクトのプリミティ
ブ面の形状が目立ってしまうなどの不具合を効果的に防
止できる。
グラム及び情報記憶媒体は、前記オブジェクトが含む第
K(1≦K≦N)のプリミティブ面と仮想カメラの向き
とが平行になるにつれて該第Kのプリミティブ面が透明
になるように、該第Kのプリミティブ面のα値が設定さ
れることを特徴とする。
Kのプリミティブ面の向きが平行になった場合に、第K
のプリミティブ面が、より透明に見えるようになる。こ
れにより第Kのプリミティブ面の形状が目立ってしまう
などの不具合を防止できる。
グラム及び情報記憶媒体は、前記第1〜第Nのプリミテ
ィブ面に設定される前記α値が、前記第1〜第Nのプリ
ミティブ面の代表α値であり、前記代表α値に基づい
て、前記オブジェクトの頂点のα値が求められることを
特徴とする。
トのα値を制御できるようになり、より自然なα合成処
理が可能になる。
グラム及び情報記憶媒体は、前記オブジェクトの頂点が
属するプリミティブ面に設定された前記代表α値に基づ
いて所与の演算処理を行うことで、頂点のα値が求めら
れることを特徴とする。
対して、その頂点が属するプリミティブ面の代表α値に
応じたα値を設定できるようになる。これにより、プリ
ミティブ面の境界でα値の違いが目立ってしまうなどの
不具合を防止できる。
グラム及び情報記憶媒体は、求められた頂点のα値に基
づく補間処理により、前記オブジェクトの各ピクセルの
α値が求められることを特徴とする。
化するα値を用いてα合成処理を実現できるようにな
る。
グラム及び情報記憶媒体は、前記第1〜第Nのプリミテ
ィブ面に対してマッピングされるテクスチャとして、共
通のテクスチャが使用されることを特徴とする。
ジェクトを種々の方向から見た場合にも、同じ絵柄のテ
クスチャの画像が仮想カメラに映し出されるようにな
る。これにより、あたかもボリュームを持つ立体形状で
あるかのようにオブジェクトを見せることが可能にな
る。
グラム及び情報記憶媒体は、前記オブジェクトが、前記
第1〜第Nのプリミティブ面に交差する第Jのプリミテ
ィブ面を含み、前記第Jのプリミティブ面と前記仮想カ
メラの向きとの相対的な方向関係に応じて、前記第Jの
プリミティブ面のα値が設定されることを特徴とする。
第Jのプリミティブ面に直交する向きであった場合に
も、ある程度の面積を占める画像が仮想カメラに映し出
されるようになり、よりリアルな画像を生成できる。
グラム及び情報記憶媒体は、前記オブジェクトが含む前
記第1〜第Nのプリミティブ面の中の少なくとも1つの
プリミティブ面と仮想カメラの向きとの相対的な方向関
係に応じて、前記第1〜第Nのプリミティブ面の描画順
序が決定され、決定された描画順序で前記第1〜第Nの
プリミティブ面が描画されることを特徴とする。
カメラの向きとの相対的な方向関係を判断するという負
荷の少ない処理で、第1〜第Nのプリミティブ面の描画
順序を決定できるようになる。しかも、α値の設定の際
に判断した方向関係に基づいて描画順序を決定できるた
め、処理負荷を更に軽減できる。
用いて説明する。
請求の範囲に記載された本発明の内容を何ら限定するも
のではない。また本実施形態で説明される構成の全てが
本発明の解決手段として必須であるとは限らない。
ム)の機能ブロック図の一例を示す。なお同図において
本実施形態は、少なくとも処理部100を含めばよく
(或いは処理部100と記憶部170を含めばよく)、
それ以外のブロックについては任意の構成要素とするこ
とができる。
入力するためのものであり、その機能は、レバー、ボタ
ン、マイク、或いは筺体などのハードウェアにより実現
できる。
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
読み取り可能な媒体)は、プログラムやデータなどを格
納するものであり、その機能は、光ディスク(CD、D
VD)、光磁気ディスク(MO)、磁気ディスク、ハー
ドディスク、磁気テープ、或いはメモリ(ROM)など
のハードウェアにより実現できる。処理部100は、こ
の情報記憶媒体180に格納されるプログラム(デー
タ)に基づいて本発明(本実施形態)の種々の処理を行
う。即ち情報記憶媒体180には、本発明(本実施形
態)の手段(特に処理部100に含まれるブロック)を
コンピュータに実現(実行、機能)させるためのプログ
ラムが格納され、このプログラムは、例えば1又は複数
のモジュール(オブジェクト指向におけるオブジェクト
も含む)を含む。
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80には、本発明の処理を行うためのプログラム、画像
データ、音データ、表示物の形状データ、本発明の処理
を指示するための情報、或いはその指示に従って処理を
行うための情報などを含ませることができる。
れた画像を出力するものであり、その機能は、CRT、
LCD、或いはHMD(ヘッドマウントディスプレイ)
などのハードウェアにより実現できる。
された音を出力するものであり、その機能は、スピーカ
などのハードウェアにより実現できる。
個人データやゲームのセーブデータなどが記憶されるも
のであり、この携帯型情報記憶装置194としては、メ
モリカードや携帯型ゲーム装置などを考えることができ
る。
や他の画像生成システム)との間で通信を行うための各
種の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
(実行、機能)するためのプログラム(データ)は、ホ
スト装置(サーバー)が有する情報記憶媒体からネット
ワーク及び通信部196を介して情報記憶媒体180に
配信するようにしてもよい。このようなホスト装置(サ
ーバー)の情報記憶媒体の使用も本発明の範囲内に含ま
れる。
60からの操作データやプログラムなどに基づいて、ゲ
ーム処理、画像生成処理、或いは音生成処理などの各種
の処理を行う。この場合、処理部100は、記憶部17
0内の主記憶部172をワーク領域として使用して、各
種の処理を行う。
は、コイン(代価)の受け付け処理、各種モードの設定
処理、ゲームの進行処理、選択画面の設定処理、オブジ
ェクト(1又は複数のプリミティブ)の位置や回転角度
(X、Y又はZ軸回り回転角度)を求める処理、オブジ
ェクトを動作させる処理(モーション処理)、視点の位
置(仮想カメラの位置)や視線角度(仮想カメラの回転
角度)を求める処理、マップオブジェクトなどのオブジ
ェクトをオブジェクト空間へ配置する処理、ヒットチェ
ック処理、ゲーム結果(成果、成績)を演算する処理、
複数のプレーヤが共通のゲーム空間でプレイするための
処理、或いはゲームオーバー処理などを考えることがで
きる。
110、α値設定部112、パーティクル処理部11
4、描画順序決定部116(ソート部)、描画部120
を含む。なお、処理部100に、これらの全ての機能ブ
ロック110〜120を含ませる必要はなく、一部の機
能ブロックを省略する構成にしてもよい。
マップなどの各種オブジェクト(ポリゴン、自由曲面又
はサブディビジョンサーフェスなどのプリミティブ面で
構成されるオブジェクト)をオブジェクト空間内に設定
(配置)するための処理を行う。より具体的には、ワー
ルド座標系でのオブジェクトの位置や回転角度(方向)
を決定し、その位置(X、Y、Z)にその回転角度
(X、Y、Z軸回りでの回転)でオブジェクトを配置す
る。
部110は、基準線から放射状に配置された複数のプリ
ミティブ面(ポリゴン、自由曲面又はサブディビジョン
サーフェス等)を含むオブジェクト(交差する複数のプ
リミティブ面で構成されるオブジェクト)をオブジェク
ト空間に設定配置している。本実施形態では、このよう
な形状のオブジェクトを用いて、例えば炎、煙などの不
定形な表示物のリアルな表現に成功している。
された複数のプリミティブ面に交差するプリミティブ面
(ベース・プリミティブ面。広義には第Jのプリミティ
ブ面。以下の説明でも同様)を含ませてもよい。このよ
うなプリミティブ面を設けることで、オブジェクトを上
方向から見た場合にも、一定の面積を占める画像が表示
されるようになり、生成される画像のリアル度を増すこ
とができる。
1又は複数のプリミティブ面と仮想カメラの向き(例え
ば視線方向)との相対的な方向関係(プリミティブ面の
向きと仮想カメラの向きの相対的な関係であり、これら
の向きのなす角度や、これらの向きにより得られる内積
値や、これらの角度、内積値と数学的に均等なパラメー
タ等により判断される関係)に応じて、プリミティブ面
のα値を設定する。
きを表すベクトル(向きを表す3次元ベクトルでもよい
し、この3次元ベクトルを所与の平面に投影した2次元
ベクトルでもよい)と、プリミティブ面の向きを表すベ
クトル(プリミティブ面に沿った方向のベクトルでもよ
いし、プリミティブ面に直交するベクトルでもよい。ま
た3次元ベクトルでもよいし、2次元ベクトルでもよ
い)とのなす角度(これらのベクトルの内積値)に基づ
いてα値を求め、このα値を、代表α値としてプリミテ
ィブ面自体に与えたり、或いは頂点α値としてプリミテ
ィブ面の頂点に与える。
のプリミティブ面(プリミティブ面に平行なベクトル)
と仮想カメラの向き(視線方向)とが平行になるにつれ
て、そのプリミティブ面がより透明になるようなα値
を、そのプリミティブ面に設定する。別の言い方をすれ
ば、オブジェクトのプリミティブ面と仮想カメラの向き
とが直交するにつれて、そのプリミティブ面がより不透
明になるようなα値を、そのプリミティブ面に設定す
る。
セル、ドット)に関連づけて記憶できる情報であり、例
えば色情報以外のプラスアルファの情報である。α値
は、マスク情報、半透明度(透明度、不透明度と等
価)、バンプ情報などとして使用できる。
変形する不定形な表示物(例えば炎、煙、水、爆発)を
表現するためのパーティクル・プリミティブ(例えば炎
パーティクルや煙パーティクルのプリミティブ)を、時
間経過に伴い順次発生させたり、移動させたり、消滅さ
せたりする処理を行う。より具体的には、パーティクル
・プリミティブの発生量、発生位置、移動状態(速度、
加速度等)又は寿命等をランダムに変化させる処理を行
う。これにより、炎などの不定形な表示物もリアルに表
現できる。
14は、複数のパーティクル・エリア(パーティクル存
在エリア)の各パーティクル・エリアにおいて、所与の
寿命に消滅する複数のパーティクル・プリミティブを発
生させる処理を行う。また、これらのパーティクル・プ
リミティブが、発生したパーティクル・エリアの外に出
ないように、その移動を制限するための処理も行う。
のプリミティブ面でオブジェクトが構成される場合に
は、これらのプリミティブ面を用いて、パーティクル・
エリアを区分けすることができる。
や煙などの絵のテクスチャがマッピングされたプリミテ
ィブ面(スプライトポリゴン)で表現してもよいし、プ
リミティブ点やプリミティブ線などで表現してもよい。
含む1又は複数のプリミティブ面と仮想カメラの向きと
の相対的な方向関係に応じて、オブジェクトのプリミテ
ィブ面についての描画順序を決定する。そして、決定さ
れた描画順序でプリミティブ面をソートする。また描画
順序決定部116は、上述のパーティクル・エリアにつ
いての描画順序も決定する。
の向きとの相対的な方向関係(内積値)がα値設定部1
12により求められていている場合には、この求められ
た相対的な方向関係(内積値)に基づいて、プリミティ
ブ面やパーティクル・エリアについての描画順序を決定
することが望ましい。このようにすることで、処理負荷
を軽減できる。
のプリミティブ面を含むオブジェクトが複数ある場合に
は、これらの複数のオブジェクトの描画順序についても
描画順序決定部116が決定する。より具体的には、例
えばZソート法(奥行き値によるソート)により、これ
らのオブジェクトをソートする。
種々の処理の結果に基づいて画像の描画処理を行う。例
えば、いわゆる3次元画像を生成する場合には、まず、
座標変換、クリッピング処理、透視変換、或いは光源計
算等のジオメトリ処理が行われ、その処理結果に基づい
て、プリミティブ面データ(プリミティブ面の頂点(構
成点)の位置座標、テクスチャ座標、色(輝度)デー
タ、法線ベクトル或いはα値等)が作成される。そし
て、このプリミティブ面データ(ポリゴン、自由曲面又
はサブディビジョンサーフェス等のプリミティブ面のデ
ータ。描画データ)に基づいて、ジオメトリ処理後のオ
ブジェクト(1又は複数のプリミティブ面)の画像が、
描画バッファ174(フレームバッファ、ワークバッフ
ァ等のピクセル単位で画像情報を記憶できるバッファ)
に描画される。これにより、オブジェクト空間内におい
て仮想カメラ(所与の視点)から見える画像が生成され
るようになる。
順序決定部116で決定された描画順序で、オブジェク
トが含むプリミティブ面(プリミティブ面データ)を描
画する。
は、奥行き情報(例えばZ値)が格納される奥行きバッ
ファ(例えばZバッファ、ステンシルバッファ)を用い
て、奥行き比較法(例えばZバッファ法)によりピクセ
ル単位での陰面消去を行うことが望ましい。
122、α合成部124を含む。
チャ記憶部176に記憶されるテクスチャをオブジェク
トにマッピングするための処理を行う。
176が、一連の第1〜第Nの圧縮テクスチャ(第1〜
第Nの圧縮フレーム画像)を含む圧縮ムービーテクスチ
ャ(圧縮ムービー)のデータを記憶する。
ービーテクスチャのデータに基づいて伸張処理を行い、
テクスチャマッピング部122が、一連の第1〜第Nの
圧縮テクスチャを伸張することで得られる一連の第1〜
第Nの伸張テクスチャ(第1〜第Nの伸張フレーム画
像)をオブジェクトに順次マッピングするための処理を
行う。
配置された複数のプリミティブ面でオブジェクトが構成
される場合に、これらの複数のプリミティブ面に対して
共通のテクスチャを使用するようにしている。例えば、
テクスチャ記憶部176に、一連のムービーテクスチャ
(例えば炎の絵を表すムービーテクスチャ)のデータが
記憶されていた場合には、オブジェクトが含む全てのプ
リミティブ面に対して、この一連のムービーテクスチャ
をマッピングするようにする。
は、1枚のプリミティブ面であってもよいし、複数のプ
リミティブ面であってもよい。或いは、1枚のプリミテ
ィブ面を更に分割したプリミティブ面であってもよい。
α合成処理(αブレンディング、α加算又はα減算等)
を行う。例えばα合成がαブレンディングである場合に
は下式のような合成処理が行われる。
描画されている画像(背景画像)の色(輝度)のR、
G、B成分であり、R2、G2、B2は、描画バッファに
描画するオブジェクト(プリミティブ)の色のR、G、
B成分である。また、RQ、GQ、BQは、αブレンディ
ングにより得られる画像の色のR、G、B成分である。
が、α値設定部112によりプリミティブ面に設定され
たα値に基づいてα合成処理を行う。
リミティブ面に対して、そのプリミティブ面の代表α値
を設定する。そして、この代表α値に基づいて、オブジ
ェクト(プリミティブ面)の頂点(構成点)のα値が求
められる。そして、この頂点のα値に基づく補間処理に
より、オブジェクト(透視変換後のオブジェクト)の各
ピクセル(ドット)のα値が求められ、この求められた
各ピクセルのα値に基づいてα合成処理が行われる。
1人のプレーヤのみがプレイできるシングルプレーヤモ
ード専用のシステムにしてもよいし、このようなシング
ルプレーヤモードのみならず、複数のプレーヤがプレイ
できるマルチプレーヤモードも備えるシステムにしても
よい。
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末(ゲーム機、携帯電話)を用いて生成してもよい。
適用した場合を主に例にとり説明するが、本実施形態
は、炎以外の他の画像表現にも適用できる。また、本実
施形態では、プリミティブ面がポリゴンである場合につ
いて主に例にとり説明するが、本実施形態のプリミティ
ブ面はポリゴンに限定されない。
に、図2に示すような構成のオブジェクトOBを用いて
いる。
心線)から放射状に配置されたポリゴンPL1、PL
2、PL3、PL4(広義には第1〜第Nのプリミティ
ブ面。以下の説明でも同様)を含む。また、これらのポ
リゴンPL1〜4の端辺(下端辺)に接するように交差
するポリゴンPL0(PL0-1〜PL0-4。広義には第
Jのポリゴン。以下の説明でも同様)を含む。
OBのテクスチャマッピングに使用されるテクスチャ
(ムービーテクスチャ)の例を示す。これらのテクスチ
ャは炎を表現するテクスチャであり、これらの一連のテ
クスチャを連続してムービー再生することで、炎がゆら
ゆらと揺れながら燃えている様子をリアルに表現でき
る。
〜PL0-4)、PL1、PL2、PL3、PL4に対す
るテクスチャマッピングの際に、図3(A)〜(C)に
示す共通のテクスチャを使用している。具体的には、図
3(A)〜(C)の一連のテクスチャをポリゴンPL
1、PL3のペアに対してマッピングする。同様に、こ
れらの一連のテクスチャを、ポリゴンPL2、PL4の
ペア、PL0-1、PL0-2のペア、PL0-3、PL0-4
のペアに対して、各々、マッピングしている。
印の方向が、図2のB2〜B9に示す矢印の方向と一致
するような方向で、図3(A)〜(C)のテクスチャを
マッピングしている。
すような種々の位置・方向の仮想カメラVCからオブジ
ェクトOBを見た場合にも、図3(A)〜(C)のよう
な炎の画像が常に見えるようになる。
ブジェクトOBを見た場合には、ポリゴンPL2、PL
4に図3(A)〜(C)のテクスチャがマッピングされ
た画像が見えるようになる。またC3の位置の仮想カメ
ラVCからオブジェクトOBを見た場合には、ポリゴン
PL1、PL3に図3(A)〜(C)のテクスチャがマ
ッピングされた画像が見えるようになる。またC5の位
置(真上)の仮想カメラVCからオブジェクトOBを見
た場合には、ポリゴンPL0-1、PL0-2やPL0-3、
PL0-4に図3(A)〜(C)のテクスチャがマッピン
グされた画像が見えるようになる。
(十字形状)であるのにもかかわらず、あたかもボリュ
ームを持つ立体形状であるかのようにオブジェクトOB
を見せることが可能になる。従って、少ないポリゴン数
で、炎のような不定形な表示物をリアルに表現できるよ
うになり、少ない処理負荷でリアルな画像を生成でき
る。
す形状に限定されない。
OBを上方から見た図)に示すように基準線RLから放
射状にポリゴンPL1〜8やPL1〜3を配置してもよ
い。即ち、放射状に配置するポリゴンの個数や配置の仕
方は任意である。
リゴンをオブジェクトに設けてもよい。例えば図2で
は、このようなポリゴンとしてPL0が設けられてい
る。そして、この場合に、図2や図4(C)(側面図)
では、ポリゴンPL1〜4の端辺に接するように交差す
るポリゴンPL0を設けているが、図4(D)(側面
図)に示すように、ポリゴンPL1〜4の上端辺と下端
辺の間で交差するポリゴンPL0’を設けてもよい。
画像を生成した場合に、次のような課題があることが判
明した。
ような位置にあった場合には、図5(B)に示すような
画像が生成されてしまう。即ち、ポリゴンPL2とPL
4の画像の間に、ポリゴンPL1の色で描かれた線上の
画像が表示されてしまう。
うな位置にあった場合には、図5(D)に示すような画
像が生成されてしまう。即ち、ポリゴンPL1とPL
2、及びポリゴンPL3とPL4とが同一のα値で半透
明合成された画像が生成されてしまう。従って、ポリゴ
ンPL2の領域と、ポリゴンPL1及びPL2が重なっ
ている領域との間、並びに、ポリゴンPL4の領域と、
ポリゴンPL3及びPL4が重なっている領域との間
で、色の濃さの違いが目立ってしまう。
ェクトOBを用いて、何も工夫せずに画像を生成する
と、仮想カメラVCがオブジェクトOBの周囲で移動す
るにつれて、ポリゴンの線が見えてしまったり、色の濃
い部分と薄い部分の差が目立ってしまうなどの問題が生
じる。このため、オブジェクトOBが、実際にはボリュ
ームを有する立体形状のオブジェクトではなく、図2に
示すような書き割り形状のオブジェクトであることがプ
レーヤに知られてしまい、プレーヤの仮想現実感を減退
させてしまう。
解決するために次のような手法を採用している。
に、オブジェクトOBのポリゴンPL1(PL2〜4)
と仮想カメラVCとのなす角度θ(或いはcosθ。広
義には相対的な方向関係。以下の説明でも同様)に応じ
て、ポリゴンPL1〜4のα値を設定している。
向きはポリゴンPL1(PL3)と平行(PL2、4と
直交)になっており、θは0度になっている。この場合
には、ポリゴンPL1(PL3)のα値はαMIN(最
小値。例えば0.0)に設定され、PL1は、より透明
に見えるようになる。一方、ポリゴンPL2、4のα値
はαMAX(最大値。例えば1.0)に設定され、PL
2、4は、より不透明に見えるようになる。このように
することで、図5(B)では目立っていたポリゴンPL
1の色の線が、目立たなくなり、より自然な画像を生成
できる。
きはポリゴンPL1とPL4の間の向きになっており、
θは例えば45度になっている。この場合には、ポリゴ
ンPL1(PL3)のα値及びPL4(PL2)のα値
は共にαMINとαMAXの例えば平均値に設定され
る。従って、図5(D)では目立っていた色の濃い部分
と薄い部分の差が、目立たなくなる。この結果、オブジ
ェクトOBが書き割り形状であることがプレーヤに知ら
れてしまう不具合を防止でき、より自然でリアルな画像
を生成できる。
きはポリゴンPL4(PL2)と平行(PL1、3と直
交)になっており、θは90度になっている。この場合
には、ポリゴンPL4(PL2)のα値はαMINに設
定され、PL4は、より透明に見えるようになる。一
方、ポリゴンPL1、3のα値はαMAXに設定され、
PL1、3は、より不透明に見えるようになる。これに
より、ポリゴンPL4の色の線が目立って見えてしまう
不具合を解消できる。
7のフローチャートを用いて更に詳しく説明する。
求める(ステップS1)。
に、オブジェクトOBの中心点CP(代表点。基準線R
LとポリゴンPL0の交点)を始点とし、仮想カメラV
Cの方向を向く単位ベクトルである。
とし、ポリゴンPL2、PL4に直交する単位ベクトル
(PL1、3の面に沿った方向を向く単位ベクトル)で
ある。
とし、ポリゴンPL0に直交する単位ベクトルである。
とし、ポリゴンPL1、PL3に直交する単位ベクトル
(PL2、4の面に沿った方向を向く単位ベクトル)で
ある。
Y、FZは、中心点CP(代表点)を原点とするオブジ
ェクトOBのローカル座標系でのX、Y、Z軸方向の単
位ベクトルである。
とFLとの内積値を下式のように求める(ステップS
2)。
している時には0になり、平行の時には1又は−1にな
る。
づいて、ポリゴンの代表α値を求める(ステップS
3)。より具体的には、まず、下式のような変換を行
う。
返値として返す関数である。上式(7)、(8)、
(9)のような変換を行うことで、INRα0、INR
α1、INRα2は、2つのベクトルが直交している時
には1になり、平行の時には0になる値となる。
P4は、これらのINRα0〜INRα2を用いて下式
のように求められる。
ある。
な場合(FLがFX、FZと直交する場合)には、上式
(4)〜(6)からINR0=1、INR1=0、IN
R2=0になり、上式(7)〜(9)からINRα0=
0、INRα1=1、INRα2=1になる。従って、
上式(10)〜(14)から、 αP0=A0+A1=αMAX αP1=αP2=αP3=αP4=A1=αMIN となる。
るαP1〜αP4が小さくなるため(αMIN)、上方
の仮想カメラVCから見て、PL1〜PL4がより透明
に見えるようになり、PL1〜PL4の線が目立たなく
なる。一方、ポリゴンPL0のα値であるαP0が大き
くなるため(αMAX)、仮想カメラVCには、PL0
にマッピングされた炎のテクスチャの画像が見えるよう
になる。
(FLがFY、FZと直交する場合)には、上式(4)
〜(6)からINR0=0、INR1=1、INR2=
0になり、上式(7)〜(9)からINRα0=1、I
NRα1=0、INRα2=1になる。従って、上式
(10)〜(14)から、 αP0=αP1=αP3=A1=αMIN αP2=αP4=A0+A1=αMAX となる。
るαP0、1、3が小さくなるため、ベクトルFXの方
向にある仮想カメラVCから見て、PL0、1、3がよ
り透明に見えるようになり、PL0、1、3の線が目立
たなくなる。一方、ポリゴンPL2、4のα値であるα
P2、4が大きくなるため、仮想カメラVCには、PL
2、4にマッピングされた炎のテクスチャの画像が見え
るようになる。
(FLがFX、FYと直交する場合)には、上式(4)
〜(6)からINR0=0、INR1=0、INR2=
1になり、上式(7)〜(9)からINRα0=1、I
NRα1=1、INRα2=0になる。従って、上式
(10)〜(14)から、 αP0=αP2=αP4=A1=αMIN αP1=αP3=A0+A1=αMAX となる。
るαP0、2、4が小さくなるため、ベクトルFZの方
向にある仮想カメラVCから見て、PL0、2、4がよ
り透明に見えるようになり、PL0、2、4の線が目立
たなくなる。一方、ポリゴンPL1、3のα値であるα
P1、3が大きくなるため、仮想カメラVCには、PL
1、3にマッピングされた炎のテクスチャの画像が見え
るようになる。
められたポリゴンPL0〜4の代表α値αP0〜4に基
づいて、オブジェクトOB(ポリゴン)の頂点α値を求
める。より具体的には、オブジェクトOBの頂点が属す
る1又は複数のポリゴンに設定された代表α値に基づい
て所与の演算処理(例えば平均化処理)を行い、オブジ
ェクトOBの頂点のα値が求める。
2、3、4の頂点α値αV1、αV2、αV3、αV4
については下式のように求めることができる。
L4にしか属していない。このため、頂点VX1のα値
αV1は、PL4の代表α値であるαP4になる(式
(15))。
3、4に属している。このため、頂点VX2のα値αV
2は、PL1〜4の代表α値であるαP1〜4の平均値
になる(式(16))。
2、3、4に属している。このため、頂点VX3のα値
αV3は、PL0〜4の代表α値であるαP0〜4の平
均値になる(式(17))。
属している。このため、頂点VX4のα値αV4は、P
L0、4の代表α値であるαP0、4の平均値になる
(式(18))。
リゴンの境界においてα値が滑らかに変化するようにな
る。従って、例えば仮想カメラがオブジェクトOBの周
囲を移動した場合にも、仮想カメラから見てポリゴンの
境界が目立たなくなり、より自然な画像を生成できるよ
うになる。
クト(透視変換後のオブジェクト、ポリゴン)の各ピク
セル(ドット)のα値αPIXは、頂点α値αV1〜4
を補間(例えば線形補間)することで求めることができ
る。そして、この求められたα値αPIXに基づいて、
ピクセル単位でのα合成処理を実現できる。この場合、
各ピクセルのα値を求める処理は、描画プロセッサの機
能(グーローシェーディング機能等)により実現でき
る。
ゴンの描画順序を決定し、決定された描画順序にしたが
ってポリゴンを描画バッファに描画している。この場合
に本実施形態では、前述の手法で得られたα値に基づい
てα合成処理(半透明処理)を行いながら、ポリゴンを
描画バッファに描画する。
形状のオブジェクトOB1〜4がオブジェクト空間に配
置されている場合を考える。
メラVCの視点座標系での奥行き値(Z値)に基づい
て、図10(B)のD1に示すように、オブジェクトO
B1〜4についての描画順序を決定する。即ち、オブジ
ェクトOB1〜OB4のZソートを行う。例えば、図1
0(A)の場合の描画順序は、OB4、OB1、OB
3、OB2の順となる。
D5に示すように、これらの各オブジェクトOB1〜O
B4が含むポリゴンの描画順序を決定し、これらのポリ
ゴンをソートする。
も奥側のオブジェクトOB4が含むポリゴンを、描画優
先順位の高いものから順に描画する。次に、OB1が含
むポリゴンを描画優先順位の高いものから順に描画す
る。次に、OB3が含むポリゴンを描画優先順位の高い
ものから順に描画する。最後に、最も手前側のOB2が
含むポリゴンを描画優先順位の高いものから順に描画す
る。
ることで、矛盾の無いポリゴンのα合成処理を実現でき
る。また、オブジェクトOB1〜4の全てのポリゴンを
一度にソートする手法に比べて、ソート処理の負荷を格
段に軽減できる。
むポリゴンの描画順序を次のような手法で決定してい
る。
うに、オブジェクトOBのポリゴンPL1(PL2〜
4)と仮想カメラVCとのなす角度θ(cosθ。広義
には相対的な方向関係。以下の説明でも同様)に応じ
て、ポリゴンPL1〜4の描画順序を決定している。
の間にあり、仮想カメラVCから見て、ポリゴンPL
1、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL2、PL3
を描画し、最後にポリゴンPL1、4を描画する。
炎のオブジェクトOBを下から見るような状況がない限
り、一番最初に描画しても問題ない。即ち、一番最初に
ポリゴンPL0を描画しても、矛盾の無いα合成処理を
実現できる。従って、ポリゴンPL0の描画優先順位は
常に最も高い順位(最初に描画される順位)に設定され
ている。
では、ポリゴンPL1とPL4や、PL2とPL3は互
いに重なることがなく、これらのポリゴン同士のソート
は必要ない。従って、ポリゴンPL1、PL4間の描画
順序や、PL2、PL3間の描画順序は任意となる。
度の間にあり、仮想カメラVCから見てポリゴンPL
3、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL1、PL2
を描画し、最後にポリゴンPL3、4を描画する。な
お、ポリゴンPL1、PL2間及びPL3、PL4間の
描画順序は任意である。
0度の間にあり、仮想カメラVCから見てポリゴンPL
2、PL3が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL1、PL4
を描画し、最後にポリゴンPL2、3を描画する。な
お、ポリゴンPL1、PL4間及びPL2、PL3間の
描画順序は任意である。
0度の間にあり、仮想カメラVCから見てポリゴンPL
1、PL2が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL3、PL4
を描画し、最後にポリゴンPL1、2を描画する。な
お、ポリゴンPL3、PL4間及びPL1、PL2間の
描画順序は任意である。
OBの形状が特定形状(基準線から放射状にポリゴンが
配置される形状)に固定されていることに着目し、ポリ
ゴンの面と仮想カメラの向きとのなす角度θ(内積値。
相対的な方向関係)に応じて、ポリゴンの描画順序を一
意的に決めている。従って、ポリゴンの奥行き値を判定
することなくポリゴンをソートできるようになるため、
ソート処理の負荷を格段に軽減できる。
ゴンの面と仮想カメラの向きとのなす角度θに応じて、
ポリゴンのα値も設定している。従って、このα値を求
めるために用いた角度θ(より具体的には内積値)を有
効利用して、ポリゴンの描画順序も決定できるようにな
るため、処理負荷を更に軽減できる。
るためには、パーティクル・プリミティブ(点、線又は
面で構成されたパーティクル)を用いたパーティクルシ
ステムを採用することが望ましい。
に、複数のパーティクル・エリアPTA1、PTA2、
PTA3、PTA4(パーティクル存在エリア)を設定
し、これらのPTA1〜4において、所与の寿命で消滅
するパーティクル・プリミティブを発生させるようにし
ている。
エリアPTA1〜4は、オブジェクトOBが含むポリゴ
ンPL1〜PL4により区分けされている。
A1〜4においてパーティクル・プリミティブを発生さ
せるようにすれば、単にポリゴンPL0〜4だけでオブ
ジェクトOBを構成する場合に比べて、よりボリューム
感があり、立体的に見える炎を表現できるようになる。
これにより、プレーヤの仮想現実感を更に向上できる。
リミティブとして、パーティクルを表すテクスチャがマ
ッピングされたスプライト・ポリゴン(ビルボード表示
のポリゴン)を用いている。このようにすることで、プ
リミティブ点で表現される多数のパーティクルを発生し
て炎等を表現する場合に比べて、描画負荷を格段に軽減
できる。即ち、少ない個数のプリミティブ数(ポリゴン
数)で、より広い範囲を占める炎を表現できるようにな
る。
て、スプライト・ポリゴンではなく、プリミティブ点や
プリミティブ線などを用いてもよい。
現するためには、パーティクル・プリミティブに色やα
値(半透明度)などの種々の属性を持たせると共に、パ
ーティクル・プリミティブを所与の規則に従って発生、
移動、消滅させて、不定形な炎を表現することが望まし
い。即ち、パーティクル・プリミティブの初期速度(初
期移動方向)をランダムに変化させたり、パーティクル
・プリミティブの寿命をランダムに変化させる。このよ
うにすることで、現実世界の炎のように見えるリアルな
画像表現を実現できる。なお、パーティクル・プリミテ
ィブの消滅は、パーティクル・プリミティブのα値を制
御して、パーティクル・プリミティブを時間経過に伴い
徐々に透明にすることで実現できる。
設け、パーティクル・プリミティブを発生させた場合
に、パーティクル・エリアPTA1〜4(パーティクル
・プリミティブ)についての描画順序をどのように決定
するかが問題となる。
アについての描画順序も、ポリゴンの面と仮想カメラの
向きとの相対的な方向関係(角度θ。内積値)に応じて
決定している。
の間にあり、仮想カメラVCから見て、ポリゴンPL
1、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にパーティクル・エリアP
TA3内のパーティクル・プリミティブを描画する。そ
して、ポリゴンPL2、PL3を描画し、次に、パーテ
ィクル・エリアPTA2、4内のパーティクル・プリミ
ティブを描画する。そして、ポリゴンPL1、4を描画
し、最後に、パーティクル・エリアPTA1内のパーテ
ィクル・プリミティブを描画する。
4間及びPL1、PL4間の描画順序は任意である。ま
た、各パーティクル・エリア内においては、パーティク
ル・プリミティブをZソートしながら描画することが望
ましい。
度の間にあり、仮想カメラVCから見て、ポリゴンPL
3、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にパーティクル・エリアP
TA2内のパーティクル・プリミティブを描画する。そ
して、ポリゴンPL1、PL2を描画し、次に、パーテ
ィクル・エリアPTA1、3内のパーティクル・プリミ
ティブを描画する。そして、ポリゴンPL3、4を描画
し、最後に、パーティクル・エリアPTA4内のパーテ
ィクル・プリミティブを描画する。なおPL1、PL2
間、PTA1、PTA3間及びPL3、PL4間の描画
順序は任意である。
0度の間にあり、仮想カメラVCから見て、ポリゴンP
L2、PL3が前面に位置している。この場合には、ま
ずポリゴンPL0を描画し、次にパーティクル・エリア
PTA1内のパーティクル・プリミティブを描画する。
そして、ポリゴンPL1、PL4を描画し、次に、パー
ティクル・エリアPTA2、4内のパーティクル・プリ
ミティブを描画する。そして、ポリゴンPL2、3を描
画し、最後に、パーティクル・エリアPTA3内のパー
ティクル・プリミティブを描画する。なおPL1、PL
4間、PTA2、PTA4間及びPL2、PL3間の描
画順序は任意である。
0度の間にあり、仮想カメラVCから見て、ポリゴンP
L1、PL2が前面に位置している。この場合には、ま
ずポリゴンPL0を描画し、次にパーティクル・エリア
PTA4内のパーティクル・プリミティブを描画する。
そして、ポリゴンPL3、PL4を描画し、次に、パー
ティクル・エリアPTA1、3内のパーティクル・プリ
ミティブを描画する。そして、ポリゴンPL1、2を描
画し、最後に、パーティクル・エリアPTA2内のパー
ティクル・プリミティブを描画する。なおPL3、PL
4間、PTA1、PTA3間及びPL1、PL2間の描
画順序は任意である。
方向関係(角度θ)は、具体的には図15に示す手法に
より判断する。
トOBの中心点CPを始点としVCの方向を向く単位ベ
クトルであり、FXは、CPを始点としPL2、PL4
に直交する単位ベクトルであり、FZは、CPを始点と
しPL1、PL3に直交する単位ベクトルである(図8
参照)。
て下式の内積値INR1、2を求める。
カメラVCはPL1、PL4の前面に位置すると判断さ
れ、描画順序は図13(A)に示す順序になる。
には、仮想カメラVCはPL3、PL4の前面に位置す
ると判断され、描画順序は図13(B)に示す順序にな
る。
には、仮想カメラVCはPL2、PL3の前面に位置す
ると判断され、描画順序は図14(A)に示す順序にな
る。
には、仮想カメラVCはPL1、PL2の前面に位置す
ると判断され、描画順序は図14(B)に示す順序にな
る。
値INR1、INR2(式(19)、(20))とし
て、α値の設定の際に求めた内積値INR1、INR2
(式(5)、(6))をそのまま利用できる。このよう
にすることで、α値の設定の際に求めた内積値INR
1、2を有効利用できるようになり、処理負荷を軽減で
きる。
・エリアPTA1〜4に対して、パーティクル・プリミ
ティブのジェネレータG1〜4(発生場所)を設定して
いる。そして、このジェネレータG1〜4から、所与の
寿命が設定されたパーティクル・プリミティブを所与の
初期速度で発生させている。
域は、(X0、Z0)、(X0+XSZ、Z0+ZS
Z)と定義できる。この場合に、パーティクル・エリア
PTA1の領域が、PTA1を区分けしているポリゴン
PL1、PL4に重ならないようにPTA1を定義す
る。
1〜4は下式のように表すことができる。
を定義するためのパラメータであり、0<VLMIN<
VLMAXの関係が成り立つ。
を決めることで、ジェネレータG1〜4はパーティクル
・エリアの内側に位置するようになる。
るパラメータの設定手法としては、種々の手法がある
が、本実施形態では、処理負荷を軽くするために、以下
のようなパラメータだけを各パーティクル・プリミティ
ブの属性情報として持たせている。 (PX、PY、PZ)、(VCX、VCY、VCZ)、
LIFE ここで、(PX、PY、PZ)は、パーティクル・プリ
ミティブの発生位置を表すパラメータである。即ち、上
記のGP1〜4のいずれかを表すパラメータである。
ティクル・プリミティブの初速度を表すパラメータであ
り、LIFEはパーティクル・プリミティブの現在のラ
イフ(年齢)を表すパラメータである。
LIFEMAXを用意している。このLIFEMAXは
パーティクル・プリミティブの寿命を表すパラメータで
ある。
についてのフローチャートを示す。
新)か否かを判断する(ステップS21)。これは、画
像生成システムのハードウェアが垂直同期のタイミング
で発生する割り込みに基づいて判断できる。
は、パーティクル番号NUMを0に設定する(ステップ
S22)。そして、NUM番目のパーティクル・プリミ
ティブのLIFEを1だけインクリメントする(ステッ
プS23)。
判断する(ステップS24)。そして、LIFE>LI
FEMAXの場合には、LIFE=0に戻すと共に発生
位置PX、PY、PZ、初期速度VCX、VCY、VC
Zを再設定する(ステップS25)。即ち、寿命を越え
たパーティクル・プリミティブの発生位置や初期速度を
再設定する。この場合に、パーティクル・プリミティブ
を発生させるジェネレータ及びパーティクル・プリミテ
ィブの初期速度は乱数に基づいて決定する。
位置(X、Y、Z)を下式のように決定する(ステップ
S26)。
生位置と初期速度とLIFEとにより特定されることに
なる。
ンクリメントする(ステップS27)。そして、NUM
>NUMMAXか否かを判断し(ステップS28)、N
UM≦NUMMAXの場合には、ステップS23に戻
り、次のパーティクル・プリミティブに対する処理を行
う。
NUM個のパーティクル・プリミティブをZソートし
て、描画バッファに描画する(ステップS29)。これ
により、当該フレームにおけるパーティクル・プリミテ
ィブの描画が完了する。
リミティブを発生させた場合、次のような問題がある。
即ち、1つのパーティクル・エリアで発生したパーティ
クル・プリミティブが、そのパーティクル・エリアの外
に出てしまい、他のパーティクル・エリアに進入してし
まうと、誤った描画順序でそのパーティクル・プリミテ
ィブが描画されてしまうおそれがある。
ように、パーティクル・プリミティブが、そのパーティ
クル・プリミティブが発生したパーティクル・エリア内
だけで移動するように、その移動を制限している。これ
により、図18(A)に示すように、例えばパーティク
ル・エリアPTA1で発生したパーティクル・プリミテ
ィブはPTA1内だけで移動して消滅するようになる。
また、パーティクル・エリアPTA3で発生したパーテ
ィクル・プリミティブはPTA3内だけで移動して消滅
するようになる。
制限を、パーティクル・プリミティブの初速度や寿命の
制御により実現している。
リミティブの初期条件の設定や、図17のステップS2
5での初期条件の再設定の際に、次のようにして初期速
度を決定している。
18(B)に示すようにジェネレータG1から発生する
場合には、VCX>0、VCZ>0となる条件の下で、
パーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
8(C)に示すようにジェネレータG2から発生する場
合には、VCX<0、VCZ>0となる条件の下で、パ
ーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
8(D)に示すようにジェネレータG3から発生する場
合には、VCX>0、VCZ<0となる条件の下で、パ
ーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
8(E)に示すようにジェネレータG4から発生する場
合には、VCX<0、VCZ<0となる条件の下で、パ
ーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
クル・プリミティブがパーティクル・エリアの外に直ぐ
に出ていってしまうおそれがある。このため、例えばジ
ェネレータG1から発生するパーティクル・プリミティ
ブの初期速度(VCX、VCY、VCZ)に対しては、
下式のような制限を加える。 0<ABS(VCX)×LIFEMAX<XSZ×(1−VLMIN)(28) 0<ABS(VCZ)×LIFEMAX<ZSZ×(1−VLMIN)(29) ここで、ABS(X)は、Xの絶対値を返値として返す
関数である。また前述のように、LIFEMAXは寿命
を表すパラメータであり、XSZ、ZSZは、パーティ
クル・エリアを定義するためのパラメータであり、VL
MINはジェネレータの位置を定義するためのパラメー
タである。
・プリミティブの初期条件の設定又は再設定だけで、パ
ーティクル・プリミティブがパーティクル・エリアの外
に出ないことを保証することに成功している。
20のフローチャートを用いて説明する。
(カメラ)座標系でZソートする(ステップS31)。
即ち図10(A)、(B)で説明したように、まず、炎
オブジェクトOB1〜4についてのZソートを行う。
(ステップS32)。そして、I番目の炎オブジェクト
の中心点(代表点)の座標と仮想カメラの座標とに基づ
き、ベクトルFL(図8参照)を求める(ステップS3
3)。
座標系上におけるベクトルFX、FY、FZと、求めら
れたFLとの内積値を求める(ステップS34)。そし
て、求められた内積値に基づいて、炎ポリゴン(PL0
〜PL4)及びパーティクル・エリア(PTA1〜4)
についてのα値及び描画順序を決定する(ステップS3
5)。
(PL0)を描画する(ステップS36)。そして、1
番目の描画優先順位のパーティクル・エリア内のパーテ
ィクル・プリミティブを描画する(ステップS37)。
ポリゴンを描画する(ステップS38)。そして、2番
目、3番目の描画優先順位のパーティクル・エリア内の
パーティクル・プリミティブを描画する(ステップS3
9)。
ポリゴンを描画する(ステップS40)。そして、4番
目の描画優先順位のパーティクル・エリア内のパーティ
クル・プリミティブを描画する(ステップS41)。
リメントする(ステップS42)。そして、I>IMA
Xか否かを判断し、I≦IMAXの場合には図19のス
テップS33に戻る。一方、I>IMAXの場合には処
理を終了する。
例について図21を用いて説明する。
(情報記憶媒体)に格納されたプログラム、通信インタ
ーフェース990を介して転送されたプログラム、或い
はROM950(情報記憶媒体の1つ)に格納されたプ
ログラムなどに基づき動作し、ゲーム処理、画像処理、
音処理などの種々の処理を実行する。
900の処理を補助するものであり、高速並列演算が可
能な積和算器や除算器を有し、マトリクス演算(ベクト
ル演算)を高速に実行する。例えば、オブジェクトを移
動させたり動作(モーション)させるための物理シミュ
レーションに、マトリクス演算などの処理が必要な場合
には、メインプロセッサ900上で動作するプログラム
が、その処理をコプロセッサ902に指示(依頼)す
る。
換、透視変換、光源計算、曲面生成などのジオメトリ処
理を行うものであり、高速並列演算が可能な積和算器や
除算器を有し、マトリクス演算(ベクトル演算)を高速
に実行する。例えば、座標変換、透視変換、光源計算な
どの処理を行う場合には、メインプロセッサ900で動
作するプログラムが、その処理をジオメトリプロセッサ
904に指示する。
た画像データや音データを伸張するデコード処理を行っ
たり、メインプロセッサ900のデコード処理をアクセ
レートする処理を行う。これにより、オープニング画
面、インターミッション画面、エンディング画面、或い
はゲーム画面などにおいて、MPEG方式等で圧縮され
た動画像を表示できるようになる。なお、デコード処理
の対象となる画像データや音データは、ROM950、
CD982に格納されたり、或いは通信インターフェー
ス990を介して外部から転送される。
などのプリミティブ(プリミティブ面)で構成されるオ
ブジェクトの描画(レンダリング)処理を高速に実行す
るものである。オブジェクトの描画の際には、メインプ
ロセッサ900は、DMAコントローラ970の機能を
利用して、オブジェクトデータを描画プロセッサ910
に渡すと共に、必要であればテクスチャ記憶部924に
テクスチャを転送する。すると、描画プロセッサ910
は、これらのオブジェクトデータやテクスチャに基づい
て、Zバッファなどを利用した陰面消去を行いながら、
オブジェクトをフレームバッファ922に高速に描画す
る。また、描画プロセッサ910は、αブレンディング
(半透明処理)、デプスキューイング、ミップマッピン
グ、フォグ処理、バイリニア・フィルタリング、トライ
リニア・フィルタリング、アンチエリアシング、シェー
ディング処理なども行うことができる。そして、1フレ
ーム分の画像がフレームバッファ922に書き込まれる
と、その画像はディスプレイ912に表示される。
ルのADPCM音源などを内蔵し、BGM、効果音、音
声などの高品位のゲーム音を生成する。生成されたゲー
ム音は、スピーカ932から出力される。
ン、筺体、パッド型コントローラ又はガン型コントロー
ラ等)からの操作データや、メモリカード944からの
セーブデータ、個人データは、シリアルインターフェー
ス940を介してデータ転送される。
が格納される。なお、業務用ゲームシステムの場合に
は、ROM950が情報記憶媒体として機能し、ROM
950に各種プログラムが格納されることになる。な
お、ROM950の代わりにハードディスクを利用する
ようにしてもよい。
域として用いられる。
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
データ、或いは音データなどが格納されるCD982
(情報記憶媒体)を駆動し、これらのプログラム、デー
タへのアクセスを可能にする。
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他の画
像生成システムとの間でのデータ転送が可能になる。
ードウェアのみにより実現(実行)してもよいし、情報
記憶媒体に格納されるプログラムや通信インターフェー
スを介して配信されるプログラムのみにより実現しても
よい。或いは、ハードウェアとプログラムの両方により
実現してもよい。
プログラムの両方により実現する場合には、情報記憶媒
体には、本発明の各手段をハードウェアを利用して実現
するためのプログラムが格納されることになる。より具
体的には、上記プログラムが、ハードウェアである各プ
ロセッサ902、904、906、910、930等に
処理を指示すると共に、必要であればデータを渡す。そ
して、各プロセッサ902、904、906、910、
930等は、その指示と渡されたデータとに基づいて、
本発明の各手段を実現することになる。
ムシステム(画像生成システム)に適用した場合の例を
示す。プレーヤは、ディスプレイ1100、1101上
に映し出されたゲーム画像を見ながら、ガン型コントロ
ーラ1102、1103などを操作してゲームを楽し
む。内蔵されるシステムボード(サーキットボード)1
106には、各種プロセッサ、各種メモリなどが実装さ
れる。そして、本発明の各手段を実現するためのプログ
ラム(データ)は、システムボード1106上の情報記
憶媒体であるメモリ1108に格納される。以下、この
プログラムを格納プログラム(格納情報)と呼ぶ。
ームシステム(画像生成システム)に適用した場合の例
を示す。プレーヤはディスプレイ1200に映し出され
たゲーム画像を見ながら、ガン型コントローラ120
2、1204などを操作してゲームを楽しむ。この場
合、上記格納プログラム(格納情報)は、本体システム
に着脱自在な情報記憶媒体であるCD1206、或いは
メモリカード1208、1209などに格納されてい
る。
このホスト装置1300とネットワーク1302(LA
Nのような小規模ネットワークや、インターネットのよ
うな広域ネットワーク)を介して接続される端末130
4-1〜1304-n(ゲーム機、携帯電話、テレビ)と
を含むシステムに本実施形態を適用した場合の例を示
す。この場合、上記格納プログラム(格納情報)は、例
えばホスト装置1300が制御可能な磁気ディスク装
置、磁気テープ装置、メモリなどの情報記憶媒体130
6に格納されている。端末1304-1〜1304-n
が、スタンドアロンでゲーム画像、ゲーム音を生成でき
るものである場合には、ホスト装置1300からは、ゲ
ーム画像、ゲーム音を生成するためのゲームプログラム
等が端末1304-1〜1304-nに配送される。一
方、スタンドアロンで生成できない場合には、ホスト装
置1300がゲーム画像、ゲーム音を生成し、これを端
末1304-1〜1304-nに伝送し端末において出力
することになる。
明の各手段を、ホスト装置(サーバー)と端末とで分散
して実現するようにしてもよい。また、本発明の各手段
を実現するための上記格納プログラム(格納情報)を、
ホスト装置(サーバー)の情報記憶媒体と端末の情報記
憶媒体に分散して格納するようにしてもよい。
用ゲームシステムであってもよいし業務用ゲームシステ
ムであってもよい。そして、業務用ゲームシステムをネ
ットワークに接続する場合には、業務用ゲームシステム
との間で情報のやり取りが可能であると共に家庭用ゲー
ムシステムとの間でも情報のやり取りが可能なセーブ用
情報記憶装置(メモリカード、携帯型ゲーム装置)を用
いることが望ましい。
のに限らず、種々の変形実施が可能である。
2、図4(A)〜(D)で説明したものに限定されず、
種々の形状を採用できる。
9(B)で説明した手法に限定されず、これと均等な種
々の変形実施が可能である。
(A)〜図15で説明した手法に限定されるものではな
い。
手法も、図16〜図18(E)で説明した手法に限定さ
れない。
においては、従属先の請求項の構成要件の一部を省略す
る構成とすることもできる。また、本発明の1の独立請
求項に係る発明の要部を、他の独立請求項に従属させる
こともできる。
ム、シューティングゲーム、ロボット対戦ゲーム、スポ
ーツゲーム、競争ゲーム、ロールプレイングゲーム、音
楽演奏ゲーム、ダンスゲーム等)に適用できる。
庭用ゲームシステム、多数のプレーヤが参加する大型ア
トラクションシステム、シミュレータ、マルチメディア
端末、ゲーム画像を生成するシステムボード等の種々の
画像生成システム(ゲームシステム)に適用できる。
図の例である。
例を示す図である。
にマッピングされるテクスチャ(ムービーテクスチャ)
の例である。
他の例について説明するための図である。
クトを用いた場合の問題点について説明するための図で
ある。
て説明するための図である。
のフローチャートである。
の図である。
のα値を求める手法について説明するための図である。
ト処理について説明するための図である。
想カメラの向きに応じてポリゴンの描画順序を決定する
手法について説明するための図である。
・プリミティブの発生について説明するための図であ
る。
想カメラの向きに応じてポリゴンやパーティクル・エリ
アの描画順序を決定する手法について説明するための図
である。
想カメラの向きに応じてポリゴンやパーティクル・エリ
アの描画順序を決定する手法について説明するための図
である。
仮想カメラの向きの方向関係を決定する手法について説
明するための図である。
について説明するための図である。
ローチャートである。
リミティブの移動を制限する手法について説明するため
の図である。
ーチャートである。
ーチャートである。
の一例を示す図である。
態が適用される種々の形態のシステムの例を示す図であ
る。
Claims (17)
- 【請求項1】 画像生成を行う画像生成システムであっ
て、 基準線から放射状に配置された第1〜第Nのプリミティ
ブ面を含むオブジェクトを、オブジェクト空間に設定す
る手段と、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
面の中の少なくとも1つのプリミティブ面と仮想カメラ
の向きとの相対的な方向関係に応じて、前記第1〜第N
のプリミティブ面のα値を設定する手段と、 設定されたα値に基づいて、前記第1〜第Nのプリミテ
ィブ面を含む前記オブジェクトについてのα合成処理を
行う手段と、 を含むことを特徴とする画像生成システム。 - 【請求項2】 請求項1において、 前記オブジェクトが含む第K(1≦K≦N)のプリミテ
ィブ面と仮想カメラの向きとが平行になるにつれて該第
Kのプリミティブ面が透明になるように、該第Kのプリ
ミティブ面のα値が設定されることを特徴とする画像生
成システム。 - 【請求項3】 請求項1又は2において、 前記第1〜第Nのプリミティブ面に設定される前記α値
が、前記第1〜第Nのプリミティブ面の代表α値であ
り、 前記代表α値に基づいて、前記オブジェクトの頂点のα
値が求められることを特徴とする画像生成システム。 - 【請求項4】 請求項3において、 前記オブジェクトの頂点が属するプリミティブ面に設定
された前記代表α値に基づいて所与の演算処理を行うこ
とで、頂点のα値が求められることを特徴とする画像生
成システム。 - 【請求項5】 請求項3又は4において、 求められた頂点のα値に基づく補間処理により、前記オ
ブジェクトの各ピクセルのα値が求められることを特徴
とする画像生成システム。 - 【請求項6】 請求項1乃至5のいずれかにおいて、 前記第1〜第Nのプリミティブ面に対してマッピングさ
れるテクスチャとして、共通のテクスチャが使用される
ことを特徴とする画像生成システム。 - 【請求項7】 請求項1乃至6のいずれかにおいて、 前記オブジェクトが、前記第1〜第Nのプリミティブ面
に交差する第Jのプリミティブ面を含み、 前記第Jのプリミティブ面と前記仮想カメラの向きとの
相対的な方向関係に応じて、前記第Jのプリミティブ面
のα値が設定されることを特徴とする画像生成システ
ム。 - 【請求項8】 請求項1乃至7のいずれかにおいて、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
面の中の少なくとも1つのプリミティブ面と仮想カメラ
の向きとの相対的な方向関係に応じて、前記第1〜第N
のプリミティブ面の描画順序が決定され、 決定された描画順序で前記第1〜第Nのプリミティブ面
が描画されることを特徴とする画像生成システム。 - 【請求項9】 コンピュータ使用可能なプログラムであ
って、 基準線から放射状に配置された第1〜第Nのプリミティ
ブ面を含むオブジェクトを、オブジェクト空間に設定す
る手段と、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
面の中の少なくとも1つのプリミティブ面と仮想カメラ
の向きとの相対的な方向関係に応じて、前記第1〜第N
のプリミティブ面のα値を設定する手段と、 設定されたα値に基づいて、前記第1〜第Nのプリミテ
ィブ面を含む前記オブジェクトについてのα合成処理を
行う手段と、 をコンピュータに実現させることを特徴とするプログラ
ム。 - 【請求項10】 請求項9において、 前記オブジェクトが含む第K(1≦K≦N)のプリミテ
ィブ面と仮想カメラの向きとが平行になるにつれて該第
Kのプリミティブ面が透明になるように、該第Kのプリ
ミティブ面のα値が設定されることを特徴とするプログ
ラム。 - 【請求項11】 請求項9又は10において、 前記第1〜第Nのプリミティブ面に設定される前記α値
が、前記第1〜第Nのプリミティブ面の代表α値であ
り、 前記代表α値に基づいて、前記オブジェクトの頂点のα
値が求められることを特徴とするプログラム。 - 【請求項12】 請求項11において、 前記オブジェクトの頂点が属するプリミティブ面に設定
された前記代表α値に基づいて所与の演算処理を行うこ
とで、頂点のα値が求められることを特徴とするプログ
ラム。 - 【請求項13】 請求項11又は12において、 求められた頂点のα値に基づく補間処理により、前記オ
ブジェクトの各ピクセルのα値が求められることを特徴
とするプログラム。 - 【請求項14】 請求項9乃至13のいずれかにおい
て、 前記第1〜第Nのプリミティブ面に対してマッピングさ
れるテクスチャとして、共通のテクスチャが使用される
ことを特徴とするプログラム。 - 【請求項15】 請求項9乃至14のいずれかにおい
て、 前記オブジェクトが、前記第1〜第Nのプリミティブ面
に交差する第Jのプリミティブ面を含み、 前記第Jのプリミティブ面と前記仮想カメラの向きとの
相対的な方向関係に応じて、前記第Jのプリミティブ面
のα値が設定されることを特徴とするプログラム。 - 【請求項16】 請求項9乃至15のいずれかにおい
て、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
面の中の少なくとも1つのプリミティブ面と仮想カメラ
の向きとの相対的な方向関係に応じて、前記第1〜第N
のプリミティブ面の描画順序が決定され、 決定された描画順序で前記第1〜第Nのプリミティブ面
が描画されることを特徴とするプログラム。 - 【請求項17】 コンピュータにより読み取り可能な情
報記憶媒体であって、請求項9乃至16のいずれかのプ
ログラムを含むことを特徴とする情報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001081316A JP4592042B2 (ja) | 2001-03-21 | 2001-03-21 | 画像生成システム、プログラム及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001081316A JP4592042B2 (ja) | 2001-03-21 | 2001-03-21 | 画像生成システム、プログラム及び情報記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002279445A true JP2002279445A (ja) | 2002-09-27 |
JP4592042B2 JP4592042B2 (ja) | 2010-12-01 |
Family
ID=18937447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001081316A Expired - Fee Related JP4592042B2 (ja) | 2001-03-21 | 2001-03-21 | 画像生成システム、プログラム及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4592042B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015219882A (ja) * | 2014-05-21 | 2015-12-07 | 任天堂株式会社 | 情報処理システム、情報処理方法、及び情報処理プログラム |
CN118338140A (zh) * | 2024-06-13 | 2024-07-12 | 安徽大学 | 一种高温智能工业电视系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6069780A (ja) * | 1983-08-30 | 1985-04-20 | ゼネラル・エレクトリツク・カンパニイ | ビデオ対象物発生器 |
JPH05210745A (ja) * | 1991-09-06 | 1993-08-20 | Canon Inc | 3次元グラフィックス処理方法及びその装置 |
JPH11339008A (ja) * | 1998-05-26 | 1999-12-10 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
JP2000197769A (ja) * | 1998-12-29 | 2000-07-18 | Namco Ltd | ゲ―ム装置及び情報記憶媒体 |
JP2001005997A (ja) * | 1999-06-24 | 2001-01-12 | Namco Ltd | 光源表示方法および装置 |
-
2001
- 2001-03-21 JP JP2001081316A patent/JP4592042B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6069780A (ja) * | 1983-08-30 | 1985-04-20 | ゼネラル・エレクトリツク・カンパニイ | ビデオ対象物発生器 |
JPH05210745A (ja) * | 1991-09-06 | 1993-08-20 | Canon Inc | 3次元グラフィックス処理方法及びその装置 |
JPH11339008A (ja) * | 1998-05-26 | 1999-12-10 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
JP2000197769A (ja) * | 1998-12-29 | 2000-07-18 | Namco Ltd | ゲ―ム装置及び情報記憶媒体 |
JP2001005997A (ja) * | 1999-06-24 | 2001-01-12 | Namco Ltd | 光源表示方法および装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015219882A (ja) * | 2014-05-21 | 2015-12-07 | 任天堂株式会社 | 情報処理システム、情報処理方法、及び情報処理プログラム |
US11007428B2 (en) | 2014-05-21 | 2021-05-18 | Nintendo Co., Ltd. | Information processing system, information processing method, and non-transitory computer-readable storage medium |
CN118338140A (zh) * | 2024-06-13 | 2024-07-12 | 安徽大学 | 一种高温智能工业电视系统 |
Also Published As
Publication number | Publication date |
---|---|
JP4592042B2 (ja) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4668655B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4610748B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4305903B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2001319244A (ja) | ゲームシステム及び情報記憶媒体 | |
JP3420985B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4187192B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4229317B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2002216167A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4743733B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3377491B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4577968B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2001229403A (ja) | ゲームシステム及び情報記憶媒体 | |
JP4528008B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4592043B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4412692B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4592042B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4574058B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2003175274A (ja) | ゲームシステム及び情報記憶媒体 | |
JP3431562B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4394211B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4592039B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2002216165A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4688405B2 (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
JP2002216151A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4458607B2 (ja) | ゲームシステム及び情報記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100609 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100809 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100908 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100913 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4592042 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |