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
Application number
JP2001081316A
Other languages
English (en)
Other versions
JP4592042B2 (ja
Inventor
Shigeru Kikko
繁 橘高
Akiko Wakabayashi
明子 若林
Naohiro Saito
直宏 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2001081316A priority Critical patent/JP4592042B2/ja
Publication of JP2002279445A publication Critical patent/JP2002279445A/ja
Application granted granted Critical
Publication of JP4592042B2 publication Critical patent/JP4592042B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 炎などの表示物のリアルな画像を、少ない処
理負荷で生成できる画像生成システム、プログラム及び
情報記憶媒体を提供すること。 【解決手段】 基準線から放射状に配置されたポリゴン
PL1〜4により構成されるオブジェクトOBのポリゴ
ンと、仮想カメラVCの向きとの相対的な方向関係(角
度θ)に応じて、PL1〜4のα値を設定し、PL1〜
4のα合成処理を行う。仮想カメラの向きがポリゴンと
平行になるにつれてそのポリゴンを透明にする。頂点が
属するポリゴンの代表α値に基づいてその頂点のα値を
求める。ポリゴンPL1〜4に対して共通の炎テクスチ
ャを用いる。ポリゴンPL1〜PL4に交差するベース
・ポリゴンを設け、ポリゴンと仮想カメラVCの向きと
の相対的な方向関係に応じてベース・ポリゴンのα値を
設定する。ポリゴンと仮想カメラの向きとの相対的な方
向関係に応じてポリゴンPL1〜4の描画順序を決定す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像生成システ
ム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】従来よ
り、仮想的な3次元空間であるオブジェクト空間内にお
いて仮想カメラ(所与の視点)から見える画像を生成す
る画像生成システム(ゲームシステム)が知られてお
り、いわゆる仮想現実を体験できるものとして人気が高
い。ロールプレイングゲーム(RPG)を楽しむことが
できる画像生成システムを例にとれば、プレーヤは、自
身の分身であるキャラクタ(オブジェクト)を操作して
オブジェクト空間内のマップ上で移動させ、敵キャラク
タと対戦したり、他のキャラクタと対話したり、様々な
町を訪れたりすることでゲームを楽しむ。
【0003】さて、このような画像生成システムでは、
プレーヤの仮想現実感の向上のために、よりリアルな画
像を生成することが重要な課題になっている。従って、
ゲーム中に発生する炎や煙などの不定形な表示物につい
ても、リアルな画像で表現できることが望まれる。
【0004】そして、このような炎などの不定形な表示
物を表現する手法としては、以下に述べるような手法が
考えられる。
【0005】第1の手法では、炎の絵のテクスチャがマ
ッピングされた炎ポリゴンを用いて、炎を表現する。
【0006】しかしながら、この第1の手法では、種々
の方向から炎ポリゴンを見た場合に、炎ポリゴンの形状
が平面的であることがプレーヤに知られてしまい、プレ
ーヤの仮想現実感を減退させてしまう。
【0007】第2の手法では、いわゆるパーティクルシ
ステムを用いる。即ち、位置や色などの属性情報を持ち
所与の規則に従って発生、移動、消滅する炎パーティク
ルの集合により、不定形な形の炎を表現する。
【0008】しかしながら、このようなパーティクルシ
ステムには、画像生成システムの処理負荷が非常に重く
なるという欠点がある。
【0009】本発明は、以上のような課題に鑑みてなさ
れたものであり、その目的とするところは、表示物のリ
アルな画像を少ない処理負荷で生成できる画像生成シス
テム、プログラム及び情報記憶媒体を提供することにあ
る。
【0010】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、画像生成を行う画像生成システムであっ
て、基準線から放射状に配置された第1〜第Nのプリミ
ティブ面を含むオブジェクトを、オブジェクト空間に設
定する手段と、前記オブジェクトが含む前記第1〜第N
のプリミティブ面の中の少なくとも1つのプリミティブ
面と仮想カメラの向きとの相対的な方向関係に応じて、
前記第1〜第Nのプリミティブ面のα値を設定する手段
と、設定されたα値に基づいて、前記第1〜第Nのプリ
ミティブ面を含む前記オブジェクトについてのα合成処
理を行う手段とを含むことを特徴とする。また本発明に
係るプログラムは、コンピュータにより使用可能なプロ
グラム(情報記憶媒体又は搬送波に具現化されるプログ
ラム)であって、上記手段をコンピュータに実現させる
(上記手段としてコンピュータを機能させる)ことを特
徴とする。また本発明に係る情報記憶媒体は、コンピュ
ータにより読み取り可能(使用可能)な情報記憶媒体で
あって、上記手段をコンピュータに実現させる(上記手
段としてコンピュータを機能させる)ためのプログラム
を含むことを特徴とする。
【0011】本発明によれば、基準線から放射状に配置
された第1〜第Nのプリミティブ面を含むオブジェクト
が、オブジェクト空間に設定(配置)され、このオブジ
ェクト空間において仮想カメラから見える画像が生成さ
れる。
【0012】そして本発明によれば、オブジェクトのプ
リミティブ面と仮想カメラの向きとの相対的な方向関係
(角度又は内積値等)に応じて、第1〜第Nのプリミテ
ィブ面のα値が設定され、そのα値によりα合成処理が
行われる。
【0013】このように本発明では、基準線から放射状
に配置された第1〜第Nのプリミティブ面を含むオブジ
ェクトを用いているため、あたかもボリュームを持つ立
体形状であるかのようにオブジェクトを見せることが可
能になる。
【0014】そして本発明では、プリミティブ面と仮想
カメラの向きとの相対的な方向関係に応じてプリミティ
ブ面のα値が変化するため、オブジェクトのプリミティ
ブ面の形状が目立ってしまうなどの不具合を効果的に防
止できる。
【0015】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記オブジェクトが含む第
K(1≦K≦N)のプリミティブ面と仮想カメラの向き
とが平行になるにつれて該第Kのプリミティブ面が透明
になるように、該第Kのプリミティブ面のα値が設定さ
れることを特徴とする。
【0016】このようにすれば、仮想カメラの向きと第
Kのプリミティブ面の向きが平行になった場合に、第K
のプリミティブ面が、より透明に見えるようになる。こ
れにより第Kのプリミティブ面の形状が目立ってしまう
などの不具合を防止できる。
【0017】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記第1〜第Nのプリミテ
ィブ面に設定される前記α値が、前記第1〜第Nのプリ
ミティブ面の代表α値であり、前記代表α値に基づい
て、前記オブジェクトの頂点のα値が求められることを
特徴とする。
【0018】このようにすれば、頂点単位でオブジェク
トのα値を制御できるようになり、より自然なα合成処
理が可能になる。
【0019】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記オブジェクトの頂点が
属するプリミティブ面に設定された前記代表α値に基づ
いて所与の演算処理を行うことで、頂点のα値が求めら
れることを特徴とする。
【0020】このようにすれば、オブジェクトの頂点に
対して、その頂点が属するプリミティブ面の代表α値に
応じたα値を設定できるようになる。これにより、プリ
ミティブ面の境界でα値の違いが目立ってしまうなどの
不具合を防止できる。
【0021】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、求められた頂点のα値に基
づく補間処理により、前記オブジェクトの各ピクセルの
α値が求められることを特徴とする。
【0022】このようにすれば、より自然で滑らかに変
化するα値を用いてα合成処理を実現できるようにな
る。
【0023】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記第1〜第Nのプリミテ
ィブ面に対してマッピングされるテクスチャとして、共
通のテクスチャが使用されることを特徴とする。
【0024】このようにすれば、仮想カメラによりオブ
ジェクトを種々の方向から見た場合にも、同じ絵柄のテ
クスチャの画像が仮想カメラに映し出されるようにな
る。これにより、あたかもボリュームを持つ立体形状で
あるかのようにオブジェクトを見せることが可能にな
る。
【0025】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記オブジェクトが、前記
第1〜第Nのプリミティブ面に交差する第Jのプリミテ
ィブ面を含み、前記第Jのプリミティブ面と前記仮想カ
メラの向きとの相対的な方向関係に応じて、前記第Jの
プリミティブ面のα値が設定されることを特徴とする。
【0026】このようにすれば、仮想カメラの向きが、
第Jのプリミティブ面に直交する向きであった場合に
も、ある程度の面積を占める画像が仮想カメラに映し出
されるようになり、よりリアルな画像を生成できる。
【0027】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記オブジェクトが含む前
記第1〜第Nのプリミティブ面の中の少なくとも1つの
プリミティブ面と仮想カメラの向きとの相対的な方向関
係に応じて、前記第1〜第Nのプリミティブ面の描画順
序が決定され、決定された描画順序で前記第1〜第Nの
プリミティブ面が描画されることを特徴とする。
【0028】このようにすれば、プリミティブ面と仮想
カメラの向きとの相対的な方向関係を判断するという負
荷の少ない処理で、第1〜第Nのプリミティブ面の描画
順序を決定できるようになる。しかも、α値の設定の際
に判断した方向関係に基づいて描画順序を決定できるた
め、処理負荷を更に軽減できる。
【0029】
【発明の実施の形態】以下、本実施形態について図面を
用いて説明する。
【0030】なお、以下に説明する本実施形態は、特許
請求の範囲に記載された本発明の内容を何ら限定するも
のではない。また本実施形態で説明される構成の全てが
本発明の解決手段として必須であるとは限らない。
【0031】1.構成 図1に、本実施形態の画像生成システム(ゲームシステ
ム)の機能ブロック図の一例を示す。なお同図において
本実施形態は、少なくとも処理部100を含めばよく
(或いは処理部100と記憶部170を含めばよく)、
それ以外のブロックについては任意の構成要素とするこ
とができる。
【0032】操作部160は、プレーヤが操作データを
入力するためのものであり、その機能は、レバー、ボタ
ン、マイク、或いは筺体などのハードウェアにより実現
できる。
【0033】記憶部170は、処理部100や通信部1
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
【0034】情報記憶媒体180(コンピュータにより
読み取り可能な媒体)は、プログラムやデータなどを格
納するものであり、その機能は、光ディスク(CD、D
VD)、光磁気ディスク(MO)、磁気ディスク、ハー
ドディスク、磁気テープ、或いはメモリ(ROM)など
のハードウェアにより実現できる。処理部100は、こ
の情報記憶媒体180に格納されるプログラム(デー
タ)に基づいて本発明(本実施形態)の種々の処理を行
う。即ち情報記憶媒体180には、本発明(本実施形
態)の手段(特に処理部100に含まれるブロック)を
コンピュータに実現(実行、機能)させるためのプログ
ラムが格納され、このプログラムは、例えば1又は複数
のモジュール(オブジェクト指向におけるオブジェクト
も含む)を含む。
【0035】なお、情報記憶媒体180に格納される情
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80には、本発明の処理を行うためのプログラム、画像
データ、音データ、表示物の形状データ、本発明の処理
を指示するための情報、或いはその指示に従って処理を
行うための情報などを含ませることができる。
【0036】表示部190は、本実施形態により生成さ
れた画像を出力するものであり、その機能は、CRT、
LCD、或いはHMD(ヘッドマウントディスプレイ)
などのハードウェアにより実現できる。
【0037】音出力部192は、本実施形態により生成
された音を出力するものであり、その機能は、スピーカ
などのハードウェアにより実現できる。
【0038】携帯型情報記憶装置194は、プレーヤの
個人データやゲームのセーブデータなどが記憶されるも
のであり、この携帯型情報記憶装置194としては、メ
モリカードや携帯型ゲーム装置などを考えることができ
る。
【0039】通信部196は、外部(例えばホスト装置
や他の画像生成システム)との間で通信を行うための各
種の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
【0040】なお本発明(本実施形態)の各手段を実現
(実行、機能)するためのプログラム(データ)は、ホ
スト装置(サーバー)が有する情報記憶媒体からネット
ワーク及び通信部196を介して情報記憶媒体180に
配信するようにしてもよい。このようなホスト装置(サ
ーバー)の情報記憶媒体の使用も本発明の範囲内に含ま
れる。
【0041】処理部100(プロセッサ)は、操作部1
60からの操作データやプログラムなどに基づいて、ゲ
ーム処理、画像生成処理、或いは音生成処理などの各種
の処理を行う。この場合、処理部100は、記憶部17
0内の主記憶部172をワーク領域として使用して、各
種の処理を行う。
【0042】ここで、処理部100が行う処理として
は、コイン(代価)の受け付け処理、各種モードの設定
処理、ゲームの進行処理、選択画面の設定処理、オブジ
ェクト(1又は複数のプリミティブ)の位置や回転角度
(X、Y又はZ軸回り回転角度)を求める処理、オブジ
ェクトを動作させる処理(モーション処理)、視点の位
置(仮想カメラの位置)や視線角度(仮想カメラの回転
角度)を求める処理、マップオブジェクトなどのオブジ
ェクトをオブジェクト空間へ配置する処理、ヒットチェ
ック処理、ゲーム結果(成果、成績)を演算する処理、
複数のプレーヤが共通のゲーム空間でプレイするための
処理、或いはゲームオーバー処理などを考えることがで
きる。
【0043】処理部100は、オブジェクト空間設定部
110、α値設定部112、パーティクル処理部11
4、描画順序決定部116(ソート部)、描画部120
を含む。なお、処理部100に、これらの全ての機能ブ
ロック110〜120を含ませる必要はなく、一部の機
能ブロックを省略する構成にしてもよい。
【0044】ここでオブジェクト空間設定部110は、
マップなどの各種オブジェクト(ポリゴン、自由曲面又
はサブディビジョンサーフェスなどのプリミティブ面で
構成されるオブジェクト)をオブジェクト空間内に設定
(配置)するための処理を行う。より具体的には、ワー
ルド座標系でのオブジェクトの位置や回転角度(方向)
を決定し、その位置(X、Y、Z)にその回転角度
(X、Y、Z軸回りでの回転)でオブジェクトを配置す
る。
【0045】そして本実施形態のオブジェクト空間設定
部110は、基準線から放射状に配置された複数のプリ
ミティブ面(ポリゴン、自由曲面又はサブディビジョン
サーフェス等)を含むオブジェクト(交差する複数のプ
リミティブ面で構成されるオブジェクト)をオブジェク
ト空間に設定配置している。本実施形態では、このよう
な形状のオブジェクトを用いて、例えば炎、煙などの不
定形な表示物のリアルな表現に成功している。
【0046】なお、このオブジェクトに、放射状に配置
された複数のプリミティブ面に交差するプリミティブ面
(ベース・プリミティブ面。広義には第Jのプリミティ
ブ面。以下の説明でも同様)を含ませてもよい。このよ
うなプリミティブ面を設けることで、オブジェクトを上
方向から見た場合にも、一定の面積を占める画像が表示
されるようになり、生成される画像のリアル度を増すこ
とができる。
【0047】α値設定部112は、オブジェクトが含む
1又は複数のプリミティブ面と仮想カメラの向き(例え
ば視線方向)との相対的な方向関係(プリミティブ面の
向きと仮想カメラの向きの相対的な関係であり、これら
の向きのなす角度や、これらの向きにより得られる内積
値や、これらの角度、内積値と数学的に均等なパラメー
タ等により判断される関係)に応じて、プリミティブ面
のα値を設定する。
【0048】より具体的には、例えば、仮想カメラの向
きを表すベクトル(向きを表す3次元ベクトルでもよい
し、この3次元ベクトルを所与の平面に投影した2次元
ベクトルでもよい)と、プリミティブ面の向きを表すベ
クトル(プリミティブ面に沿った方向のベクトルでもよ
いし、プリミティブ面に直交するベクトルでもよい。ま
た3次元ベクトルでもよいし、2次元ベクトルでもよ
い)とのなす角度(これらのベクトルの内積値)に基づ
いてα値を求め、このα値を、代表α値としてプリミテ
ィブ面自体に与えたり、或いは頂点α値としてプリミテ
ィブ面の頂点に与える。
【0049】この場合に本実施形態では、オブジェクト
のプリミティブ面(プリミティブ面に平行なベクトル)
と仮想カメラの向き(視線方向)とが平行になるにつれ
て、そのプリミティブ面がより透明になるようなα値
を、そのプリミティブ面に設定する。別の言い方をすれ
ば、オブジェクトのプリミティブ面と仮想カメラの向き
とが直交するにつれて、そのプリミティブ面がより不透
明になるようなα値を、そのプリミティブ面に設定す
る。
【0050】なお、α値(A値)は、各ピクセル(テク
セル、ドット)に関連づけて記憶できる情報であり、例
えば色情報以外のプラスアルファの情報である。α値
は、マスク情報、半透明度(透明度、不透明度と等
価)、バンプ情報などとして使用できる。
【0051】パーティクル処理部114は、その形状が
変形する不定形な表示物(例えば炎、煙、水、爆発)を
表現するためのパーティクル・プリミティブ(例えば炎
パーティクルや煙パーティクルのプリミティブ)を、時
間経過に伴い順次発生させたり、移動させたり、消滅さ
せたりする処理を行う。より具体的には、パーティクル
・プリミティブの発生量、発生位置、移動状態(速度、
加速度等)又は寿命等をランダムに変化させる処理を行
う。これにより、炎などの不定形な表示物もリアルに表
現できる。
【0052】そして本実施形態のパーティクル処理部1
14は、複数のパーティクル・エリア(パーティクル存
在エリア)の各パーティクル・エリアにおいて、所与の
寿命に消滅する複数のパーティクル・プリミティブを発
生させる処理を行う。また、これらのパーティクル・プ
リミティブが、発生したパーティクル・エリアの外に出
ないように、その移動を制限するための処理も行う。
【0053】なお、基準線から放射状に配置された複数
のプリミティブ面でオブジェクトが構成される場合に
は、これらのプリミティブ面を用いて、パーティクル・
エリアを区分けすることができる。
【0054】また、パーティクル・プリミティブは、炎
や煙などの絵のテクスチャがマッピングされたプリミテ
ィブ面(スプライトポリゴン)で表現してもよいし、プ
リミティブ点やプリミティブ線などで表現してもよい。
【0055】描画順序決定部116は、オブジェクトが
含む1又は複数のプリミティブ面と仮想カメラの向きと
の相対的な方向関係に応じて、オブジェクトのプリミテ
ィブ面についての描画順序を決定する。そして、決定さ
れた描画順序でプリミティブ面をソートする。また描画
順序決定部116は、上述のパーティクル・エリアにつ
いての描画順序も決定する。
【0056】この場合に、プリミティブ面と仮想カメラ
の向きとの相対的な方向関係(内積値)がα値設定部1
12により求められていている場合には、この求められ
た相対的な方向関係(内積値)に基づいて、プリミティ
ブ面やパーティクル・エリアについての描画順序を決定
することが望ましい。このようにすることで、処理負荷
を軽減できる。
【0057】また、基準線から放射状に配置された複数
のプリミティブ面を含むオブジェクトが複数ある場合に
は、これらの複数のオブジェクトの描画順序についても
描画順序決定部116が決定する。より具体的には、例
えばZソート法(奥行き値によるソート)により、これ
らのオブジェクトをソートする。
【0058】描画部120は、処理部100で行われる
種々の処理の結果に基づいて画像の描画処理を行う。例
えば、いわゆる3次元画像を生成する場合には、まず、
座標変換、クリッピング処理、透視変換、或いは光源計
算等のジオメトリ処理が行われ、その処理結果に基づい
て、プリミティブ面データ(プリミティブ面の頂点(構
成点)の位置座標、テクスチャ座標、色(輝度)デー
タ、法線ベクトル或いはα値等)が作成される。そし
て、このプリミティブ面データ(ポリゴン、自由曲面又
はサブディビジョンサーフェス等のプリミティブ面のデ
ータ。描画データ)に基づいて、ジオメトリ処理後のオ
ブジェクト(1又は複数のプリミティブ面)の画像が、
描画バッファ174(フレームバッファ、ワークバッフ
ァ等のピクセル単位で画像情報を記憶できるバッファ)
に描画される。これにより、オブジェクト空間内におい
て仮想カメラ(所与の視点)から見える画像が生成され
るようになる。
【0059】そして本実施形態の描画部120は、描画
順序決定部116で決定された描画順序で、オブジェク
トが含むプリミティブ面(プリミティブ面データ)を描
画する。
【0060】なお、描画部120での描画処理の際に
は、奥行き情報(例えばZ値)が格納される奥行きバッ
ファ(例えばZバッファ、ステンシルバッファ)を用い
て、奥行き比較法(例えばZバッファ法)によりピクセ
ル単位での陰面消去を行うことが望ましい。
【0061】描画部120は、テクスチャマッピング部
122、α合成部124を含む。
【0062】テクスチャマッピング部122は、テクス
チャ記憶部176に記憶されるテクスチャをオブジェク
トにマッピングするための処理を行う。
【0063】ここで本実施形態では、テクスチャ記憶部
176が、一連の第1〜第Nの圧縮テクスチャ(第1〜
第Nの圧縮フレーム画像)を含む圧縮ムービーテクスチ
ャ(圧縮ムービー)のデータを記憶する。
【0064】そして、図示しない伸張部が、この圧縮ム
ービーテクスチャのデータに基づいて伸張処理を行い、
テクスチャマッピング部122が、一連の第1〜第Nの
圧縮テクスチャを伸張することで得られる一連の第1〜
第Nの伸張テクスチャ(第1〜第Nの伸張フレーム画
像)をオブジェクトに順次マッピングするための処理を
行う。
【0065】また本実施形態では、基準線から放射状に
配置された複数のプリミティブ面でオブジェクトが構成
される場合に、これらの複数のプリミティブ面に対して
共通のテクスチャを使用するようにしている。例えば、
テクスチャ記憶部176に、一連のムービーテクスチャ
(例えば炎の絵を表すムービーテクスチャ)のデータが
記憶されていた場合には、オブジェクトが含む全てのプ
リミティブ面に対して、この一連のムービーテクスチャ
をマッピングするようにする。
【0066】なお、テクスチャをマッピングする単位
は、1枚のプリミティブ面であってもよいし、複数のプ
リミティブ面であってもよい。或いは、1枚のプリミテ
ィブ面を更に分割したプリミティブ面であってもよい。
【0067】α合成部124は、α値(A値)に基づく
α合成処理(αブレンディング、α加算又はα減算等)
を行う。例えばα合成がαブレンディングである場合に
は下式のような合成処理が行われる。
【0068】 RQ=(1−α)×R1+α×R2 (1) GQ=(1−α)×G1+α×G2 (2) BQ=(1−α)×B1+α×B2 (3) ここで、R1、G1、B1は、描画バッファ174に既に
描画されている画像(背景画像)の色(輝度)のR、
G、B成分であり、R2、G2、B2は、描画バッファに
描画するオブジェクト(プリミティブ)の色のR、G、
B成分である。また、RQ、GQ、BQは、αブレンディ
ングにより得られる画像の色のR、G、B成分である。
【0069】そして本実施形態では、α合成部124
が、α値設定部112によりプリミティブ面に設定され
たα値に基づいてα合成処理を行う。
【0070】より具体的には、α値設定部112が、プ
リミティブ面に対して、そのプリミティブ面の代表α値
を設定する。そして、この代表α値に基づいて、オブジ
ェクト(プリミティブ面)の頂点(構成点)のα値が求
められる。そして、この頂点のα値に基づく補間処理に
より、オブジェクト(透視変換後のオブジェクト)の各
ピクセル(ドット)のα値が求められ、この求められた
各ピクセルのα値に基づいてα合成処理が行われる。
【0071】なお、本実施形態の画像生成システムは、
1人のプレーヤのみがプレイできるシングルプレーヤモ
ード専用のシステムにしてもよいし、このようなシング
ルプレーヤモードのみならず、複数のプレーヤがプレイ
できるマルチプレーヤモードも備えるシステムにしても
よい。
【0072】また複数のプレーヤがプレイする場合に、
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0073】2.本実施形態の特徴 次に本実施形態の特徴について図面を用いて説明する。
【0074】なお、以下では、炎の表現に本実施形態を
適用した場合を主に例にとり説明するが、本実施形態
は、炎以外の他の画像表現にも適用できる。また、本実
施形態では、プリミティブ面がポリゴンである場合につ
いて主に例にとり説明するが、本実施形態のプリミティ
ブ面はポリゴンに限定されない。
【0075】2.1 オブジェクトの構成 本実施形態では、炎などの不定形表示物を表現するため
に、図2に示すような構成のオブジェクトOBを用いて
いる。
【0076】このオブジェクトOBは、基準線RL(中
心線)から放射状に配置されたポリゴンPL1、PL
2、PL3、PL4(広義には第1〜第Nのプリミティ
ブ面。以下の説明でも同様)を含む。また、これらのポ
リゴンPL1〜4の端辺(下端辺)に接するように交差
するポリゴンPL0(PL0-1〜PL0-4。広義には第
Jのポリゴン。以下の説明でも同様)を含む。
【0077】図3(A)〜(C)に、このオブジェクト
OBのテクスチャマッピングに使用されるテクスチャ
(ムービーテクスチャ)の例を示す。これらのテクスチ
ャは炎を表現するテクスチャであり、これらの一連のテ
クスチャを連続してムービー再生することで、炎がゆら
ゆらと揺れながら燃えている様子をリアルに表現でき
る。
【0078】本実施形態ではポリゴンPL0(PL0-1
〜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
のペアに対して、各々、マッピングしている。
【0079】また、図3(A)〜(C)のB1に示す矢
印の方向が、図2のB2〜B9に示す矢印の方向と一致
するような方向で、図3(A)〜(C)のテクスチャを
マッピングしている。
【0080】このようにすれば、図2のC1〜C8に示
すような種々の位置・方向の仮想カメラVCからオブジ
ェクトOBを見た場合にも、図3(A)〜(C)のよう
な炎の画像が常に見えるようになる。
【0081】例えばC1の位置の仮想カメラVCからオ
ブジェクト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)のテクスチャがマッピン
グされた画像が見えるようになる。
【0082】このようにすれば、いわゆる書き割り形状
(十字形状)であるのにもかかわらず、あたかもボリュ
ームを持つ立体形状であるかのようにオブジェクトOB
を見せることが可能になる。従って、少ないポリゴン数
で、炎のような不定形な表示物をリアルに表現できるよ
うになり、少ない処理負荷でリアルな画像を生成でき
る。
【0083】なお、オブジェクトOBの形状は図2に示
す形状に限定されない。
【0084】例えば図4(A)、(B)(オブジェクト
OBを上方から見た図)に示すように基準線RLから放
射状にポリゴンPL1〜8やPL1〜3を配置してもよ
い。即ち、放射状に配置するポリゴンの個数や配置の仕
方は任意である。
【0085】また、放射状に配置するポリゴン以外のポ
リゴンをオブジェクトに設けてもよい。例えば図2で
は、このようなポリゴンとしてPL0が設けられてい
る。そして、この場合に、図2や図4(C)(側面図)
では、ポリゴンPL1〜4の端辺に接するように交差す
るポリゴンPL0を設けているが、図4(D)(側面
図)に示すように、ポリゴンPL1〜4の上端辺と下端
辺の間で交差するポリゴンPL0’を設けてもよい。
【0086】2.2 α値の設定 さて、図2に示すようなオブジェクトOBを用いて炎の
画像を生成した場合に、次のような課題があることが判
明した。
【0087】例えば仮想カメラVCが図5(A)に示す
ような位置にあった場合には、図5(B)に示すような
画像が生成されてしまう。即ち、ポリゴンPL2とPL
4の画像の間に、ポリゴンPL1の色で描かれた線上の
画像が表示されてしまう。
【0088】また仮想カメラVCが図5(C)に示すよ
うな位置にあった場合には、図5(D)に示すような画
像が生成されてしまう。即ち、ポリゴンPL1とPL
2、及びポリゴンPL3とPL4とが同一のα値で半透
明合成された画像が生成されてしまう。従って、ポリゴ
ンPL2の領域と、ポリゴンPL1及びPL2が重なっ
ている領域との間、並びに、ポリゴンPL4の領域と、
ポリゴンPL3及びPL4が重なっている領域との間
で、色の濃さの違いが目立ってしまう。
【0089】この結果、図2に示すような形状のオブジ
ェクトOBを用いて、何も工夫せずに画像を生成する
と、仮想カメラVCがオブジェクトOBの周囲で移動す
るにつれて、ポリゴンの線が見えてしまったり、色の濃
い部分と薄い部分の差が目立ってしまうなどの問題が生
じる。このため、オブジェクトOBが、実際にはボリュ
ームを有する立体形状のオブジェクトではなく、図2に
示すような書き割り形状のオブジェクトであることがプ
レーヤに知られてしまい、プレーヤの仮想現実感を減退
させてしまう。
【0090】そこで本実施形態では、このような課題を
解決するために次のような手法を採用している。
【0091】即ち本実施形態では図6(A)に示すよう
に、オブジェクトOBのポリゴンPL1(PL2〜4)
と仮想カメラVCとのなす角度θ(或いはcosθ。広
義には相対的な方向関係。以下の説明でも同様)に応じ
て、ポリゴンPL1〜4のα値を設定している。
【0092】例えば図6(B)では、仮想カメラVCの
向きはポリゴンPL1(PL3)と平行(PL2、4と
直交)になっており、θは0度になっている。この場合
には、ポリゴンPL1(PL3)のα値はαMIN(最
小値。例えば0.0)に設定され、PL1は、より透明
に見えるようになる。一方、ポリゴンPL2、4のα値
はαMAX(最大値。例えば1.0)に設定され、PL
2、4は、より不透明に見えるようになる。このように
することで、図5(B)では目立っていたポリゴンPL
1の色の線が、目立たなくなり、より自然な画像を生成
できる。
【0093】また図6(C)では、仮想カメラVCの向
きはポリゴンPL1とPL4の間の向きになっており、
θは例えば45度になっている。この場合には、ポリゴ
ンPL1(PL3)のα値及びPL4(PL2)のα値
は共にαMINとαMAXの例えば平均値に設定され
る。従って、図5(D)では目立っていた色の濃い部分
と薄い部分の差が、目立たなくなる。この結果、オブジ
ェクトOBが書き割り形状であることがプレーヤに知ら
れてしまう不具合を防止でき、より自然でリアルな画像
を生成できる。
【0094】また図6(D)では、仮想カメラVCの向
きはポリゴンPL4(PL2)と平行(PL1、3と直
交)になっており、θは90度になっている。この場合
には、ポリゴンPL4(PL2)のα値はαMINに設
定され、PL4は、より透明に見えるようになる。一
方、ポリゴンPL1、3のα値はαMAXに設定され、
PL1、3は、より不透明に見えるようになる。これに
より、ポリゴンPL4の色の線が目立って見えてしまう
不具合を解消できる。
【0095】次に、α値の具体的な設定手法について図
7のフローチャートを用いて更に詳しく説明する。
【0096】まず、ベクトルFL、FX、FY、FZを
求める(ステップS1)。
【0097】ここでベクトルFLは、図8に示すよう
に、オブジェクトOBの中心点CP(代表点。基準線R
LとポリゴンPL0の交点)を始点とし、仮想カメラV
Cの方向を向く単位ベクトルである。
【0098】また、ベクトルFXは、中心点CPを始点
とし、ポリゴンPL2、PL4に直交する単位ベクトル
(PL1、3の面に沿った方向を向く単位ベクトル)で
ある。
【0099】また、ベクトルFYは、中心点CPを始点
とし、ポリゴンPL0に直交する単位ベクトルである。
【0100】また、ベクトルFZは、中心点CPを始点
とし、ポリゴンPL1、PL3に直交する単位ベクトル
(PL2、4の面に沿った方向を向く単位ベクトル)で
ある。
【0101】言い換えれば、これらのベクトルFX、F
Y、FZは、中心点CP(代表点)を原点とするオブジ
ェクトOBのローカル座標系でのX、Y、Z軸方向の単
位ベクトルである。
【0102】次に、これらのベクトルFX、FY、FZ
とFLとの内積値を下式のように求める(ステップS
2)。
【0103】 INR0=FY・FL (4) INR1=FX・FL (5) INR2=FZ・FL (6) これらの内積値INR0〜3は、2つのベクトルが直交
している時には0になり、平行の時には1又は−1にな
る。
【0104】次に、求められた内積値INR0〜2に基
づいて、ポリゴンの代表α値を求める(ステップS
3)。より具体的には、まず、下式のような変換を行
う。
【0105】 INRα0=1−ABS(INR0) (7) INRα1=1−ABS(INR1) (8) INRα2=1−ABS(INR2) (9) ここで、ABS(X)は、引数Xに対してその絶対値を
返値として返す関数である。上式(7)、(8)、
(9)のような変換を行うことで、INRα0、INR
α1、INRα2は、2つのベクトルが直交している時
には1になり、平行の時には0になる値となる。
【0106】ポリゴンP0〜P4の代表α値αP0〜α
P4は、これらのINRα0〜INRα2を用いて下式
のように求められる。
【0107】 αP0=(1−INRα0)×A0+A1 (10) αP1=INRα1×INRα0×A0+A1 (11) αP2=INRα2×INRα0×A0+A1 (12) αP3=INRα1×INRα0×A0+A1 (13) αP4=INRα2×INRα0×A0+A1 (14) ここで、A0=αMAX−αMIN、A1=αMINで
ある。
【0108】例えば、図8のベクトルFLがFYと平行
な場合(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 となる。
【0109】即ち、ポリゴンPL1〜PL4のα値であ
るαP1〜αP4が小さくなるため(αMIN)、上方
の仮想カメラVCから見て、PL1〜PL4がより透明
に見えるようになり、PL1〜PL4の線が目立たなく
なる。一方、ポリゴンPL0のα値であるαP0が大き
くなるため(αMAX)、仮想カメラVCには、PL0
にマッピングされた炎のテクスチャの画像が見えるよう
になる。
【0110】また、ベクトルFLがFXと平行な場合
(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 となる。
【0111】即ち、ポリゴンPL0、1、3のα値であ
るαP0、1、3が小さくなるため、ベクトルFXの方
向にある仮想カメラVCから見て、PL0、1、3がよ
り透明に見えるようになり、PL0、1、3の線が目立
たなくなる。一方、ポリゴンPL2、4のα値であるα
P2、4が大きくなるため、仮想カメラVCには、PL
2、4にマッピングされた炎のテクスチャの画像が見え
るようになる。
【0112】また、ベクトルFLがFZと平行な場合
(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 となる。
【0113】即ち、ポリゴンPL0、2、4のα値であ
るαP0、2、4が小さくなるため、ベクトルFZの方
向にある仮想カメラVCから見て、PL0、2、4がよ
り透明に見えるようになり、PL0、2、4の線が目立
たなくなる。一方、ポリゴンPL1、3のα値であるα
P1、3が大きくなるため、仮想カメラVCには、PL
1、3にマッピングされた炎のテクスチャの画像が見え
るようになる。
【0114】次に図7のステップS4に示すように、求
められたポリゴンPL0〜4の代表α値αP0〜4に基
づいて、オブジェクトOB(ポリゴン)の頂点α値を求
める。より具体的には、オブジェクトOBの頂点が属す
る1又は複数のポリゴンに設定された代表α値に基づい
て所与の演算処理(例えば平均化処理)を行い、オブジ
ェクトOBの頂点のα値が求める。
【0115】例えば図9(A)において、頂点VX1、
2、3、4の頂点α値αV1、αV2、αV3、αV4
については下式のように求めることができる。
【0116】 αV1=αP4 (15) αV2=(αP1+αP2+αP3+αP4)/4 (16) αV3=(αP0+αP1+αP2+αP3+αP4)/5 (17) αV4=(αP0+αP4)/2 (18) 即ち、図9(A)に示すように頂点VX1はポリゴンP
L4にしか属していない。このため、頂点VX1のα値
αV1は、PL4の代表α値であるαP4になる(式
(15))。
【0117】また、頂点VX2はポリゴンPL1、2、
3、4に属している。このため、頂点VX2のα値αV
2は、PL1〜4の代表α値であるαP1〜4の平均値
になる(式(16))。
【0118】また、頂点VX3はポリゴンPL0、1、
2、3、4に属している。このため、頂点VX3のα値
αV3は、PL0〜4の代表α値であるαP0〜4の平
均値になる(式(17))。
【0119】また、頂点VX4はポリゴンPL0、4に
属している。このため、頂点VX4のα値αV4は、P
L0、4の代表α値であるαP0、4の平均値になる
(式(18))。
【0120】以上のようにして頂点α値を求めれば、ポ
リゴンの境界においてα値が滑らかに変化するようにな
る。従って、例えば仮想カメラがオブジェクトOBの周
囲を移動した場合にも、仮想カメラから見てポリゴンの
境界が目立たなくなり、より自然な画像を生成できるよ
うになる。
【0121】なお、図9(B)に示すように、オブジェ
クト(透視変換後のオブジェクト、ポリゴン)の各ピク
セル(ドット)のα値αPIXは、頂点α値αV1〜4
を補間(例えば線形補間)することで求めることができ
る。そして、この求められたα値αPIXに基づいて、
ピクセル単位でのα合成処理を実現できる。この場合、
各ピクセルのα値を求める処理は、描画プロセッサの機
能(グーローシェーディング機能等)により実現でき
る。
【0122】2.3 描画順序の決定 さて、本実施形態では以下に説明するような手法でポリ
ゴンの描画順序を決定し、決定された描画順序にしたが
ってポリゴンを描画バッファに描画している。この場合
に本実施形態では、前述の手法で得られたα値に基づい
てα合成処理(半透明処理)を行いながら、ポリゴンを
描画バッファに描画する。
【0123】例えば図10(A)に示すように、図2の
形状のオブジェクトOB1〜4がオブジェクト空間に配
置されている場合を考える。
【0124】この場合に本実施形態では、まず、仮想カ
メラVCの視点座標系での奥行き値(Z値)に基づい
て、図10(B)のD1に示すように、オブジェクトO
B1〜4についての描画順序を決定する。即ち、オブジ
ェクトOB1〜OB4のZソートを行う。例えば、図1
0(A)の場合の描画順序は、OB4、OB1、OB
3、OB2の順となる。
【0125】また本実施形態では図10(B)のD2〜
D5に示すように、これらの各オブジェクトOB1〜O
B4が含むポリゴンの描画順序を決定し、これらのポリ
ゴンをソートする。
【0126】そして図10(A)の場合には、まず、最
も奥側のオブジェクトOB4が含むポリゴンを、描画優
先順位の高いものから順に描画する。次に、OB1が含
むポリゴンを描画優先順位の高いものから順に描画す
る。次に、OB3が含むポリゴンを描画優先順位の高い
ものから順に描画する。最後に、最も手前側のOB2が
含むポリゴンを描画優先順位の高いものから順に描画す
る。
【0127】以上のような手法によりポリゴンを描画す
ることで、矛盾の無いポリゴンのα合成処理を実現でき
る。また、オブジェクトOB1〜4の全てのポリゴンを
一度にソートする手法に比べて、ソート処理の負荷を格
段に軽減できる。
【0128】そして本実施形態では、オブジェクトが含
むポリゴンの描画順序を次のような手法で決定してい
る。
【0129】即ち本実施形態では図11(A)に示すよ
うに、オブジェクトOBのポリゴンPL1(PL2〜
4)と仮想カメラVCとのなす角度θ(cosθ。広義
には相対的な方向関係。以下の説明でも同様)に応じ
て、ポリゴンPL1〜4の描画順序を決定している。
【0130】例えば図11(A)では、θが0〜90度
の間にあり、仮想カメラVCから見て、ポリゴンPL
1、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL2、PL3
を描画し、最後にポリゴンPL1、4を描画する。
【0131】なお、底面のポリゴンPL0については、
炎のオブジェクトOBを下から見るような状況がない限
り、一番最初に描画しても問題ない。即ち、一番最初に
ポリゴンPL0を描画しても、矛盾の無いα合成処理を
実現できる。従って、ポリゴンPL0の描画優先順位は
常に最も高い順位(最初に描画される順位)に設定され
ている。
【0132】また図11(A)の仮想カメラVCの位置
では、ポリゴンPL1とPL4や、PL2とPL3は互
いに重なることがなく、これらのポリゴン同士のソート
は必要ない。従って、ポリゴンPL1、PL4間の描画
順序や、PL2、PL3間の描画順序は任意となる。
【0133】また図11(B)では、θが90〜180
度の間にあり、仮想カメラVCから見てポリゴンPL
3、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL1、PL2
を描画し、最後にポリゴンPL3、4を描画する。な
お、ポリゴンPL1、PL2間及びPL3、PL4間の
描画順序は任意である。
【0134】また図11(C)では、θが180〜27
0度の間にあり、仮想カメラVCから見てポリゴンPL
2、PL3が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL1、PL4
を描画し、最後にポリゴンPL2、3を描画する。な
お、ポリゴンPL1、PL4間及びPL2、PL3間の
描画順序は任意である。
【0135】また図11(D)では、θが270〜36
0度の間にあり、仮想カメラVCから見てポリゴンPL
1、PL2が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にポリゴンPL3、PL4
を描画し、最後にポリゴンPL1、2を描画する。な
お、ポリゴンPL3、PL4間及びPL1、PL2間の
描画順序は任意である。
【0136】このように本実施形態では、オブジェクト
OBの形状が特定形状(基準線から放射状にポリゴンが
配置される形状)に固定されていることに着目し、ポリ
ゴンの面と仮想カメラの向きとのなす角度θ(内積値。
相対的な方向関係)に応じて、ポリゴンの描画順序を一
意的に決めている。従って、ポリゴンの奥行き値を判定
することなくポリゴンをソートできるようになるため、
ソート処理の負荷を格段に軽減できる。
【0137】また本実施形態では、前述のように、ポリ
ゴンの面と仮想カメラの向きとのなす角度θに応じて、
ポリゴンのα値も設定している。従って、このα値を求
めるために用いた角度θ(より具体的には内積値)を有
効利用して、ポリゴンの描画順序も決定できるようにな
るため、処理負荷を更に軽減できる。
【0138】2.4 パーティクル・エリア さて、オブジェクトOBの画像を更にリアルなものにす
るためには、パーティクル・プリミティブ(点、線又は
面で構成されたパーティクル)を用いたパーティクルシ
ステムを採用することが望ましい。
【0139】そこで本実施形態では図12に示すよう
に、複数のパーティクル・エリアPTA1、PTA2、
PTA3、PTA4(パーティクル存在エリア)を設定
し、これらのPTA1〜4において、所与の寿命で消滅
するパーティクル・プリミティブを発生させるようにし
ている。
【0140】なお図12では、これらのパーティクル・
エリアPTA1〜4は、オブジェクトOBが含むポリゴ
ンPL1〜PL4により区分けされている。
【0141】このように、各パーティクル・エリアPT
A1〜4においてパーティクル・プリミティブを発生さ
せるようにすれば、単にポリゴンPL0〜4だけでオブ
ジェクトOBを構成する場合に比べて、よりボリューム
感があり、立体的に見える炎を表現できるようになる。
これにより、プレーヤの仮想現実感を更に向上できる。
【0142】なお、本実施形態では、パーティクル・プ
リミティブとして、パーティクルを表すテクスチャがマ
ッピングされたスプライト・ポリゴン(ビルボード表示
のポリゴン)を用いている。このようにすることで、プ
リミティブ点で表現される多数のパーティクルを発生し
て炎等を表現する場合に比べて、描画負荷を格段に軽減
できる。即ち、少ない個数のプリミティブ数(ポリゴン
数)で、より広い範囲を占める炎を表現できるようにな
る。
【0143】但し、パーティクル・プリミティブとし
て、スプライト・ポリゴンではなく、プリミティブ点や
プリミティブ線などを用いてもよい。
【0144】なお、よりリアルなパーティクル表現を実
現するためには、パーティクル・プリミティブに色やα
値(半透明度)などの種々の属性を持たせると共に、パ
ーティクル・プリミティブを所与の規則に従って発生、
移動、消滅させて、不定形な炎を表現することが望まし
い。即ち、パーティクル・プリミティブの初期速度(初
期移動方向)をランダムに変化させたり、パーティクル
・プリミティブの寿命をランダムに変化させる。このよ
うにすることで、現実世界の炎のように見えるリアルな
画像表現を実現できる。なお、パーティクル・プリミテ
ィブの消滅は、パーティクル・プリミティブのα値を制
御して、パーティクル・プリミティブを時間経過に伴い
徐々に透明にすることで実現できる。
【0145】さて、このようにパーティクル・エリアを
設け、パーティクル・プリミティブを発生させた場合
に、パーティクル・エリアPTA1〜4(パーティクル
・プリミティブ)についての描画順序をどのように決定
するかが問題となる。
【0146】本実施形態では、このパーティクル・エリ
アについての描画順序も、ポリゴンの面と仮想カメラの
向きとの相対的な方向関係(角度θ。内積値)に応じて
決定している。
【0147】例えば図13(A)では、θが0〜90度
の間にあり、仮想カメラVCから見て、ポリゴンPL
1、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にパーティクル・エリアP
TA3内のパーティクル・プリミティブを描画する。そ
して、ポリゴンPL2、PL3を描画し、次に、パーテ
ィクル・エリアPTA2、4内のパーティクル・プリミ
ティブを描画する。そして、ポリゴンPL1、4を描画
し、最後に、パーティクル・エリアPTA1内のパーテ
ィクル・プリミティブを描画する。
【0148】なおPL2、PL3間、PTA2、PTA
4間及びPL1、PL4間の描画順序は任意である。ま
た、各パーティクル・エリア内においては、パーティク
ル・プリミティブをZソートしながら描画することが望
ましい。
【0149】また図13(B)では、θが90〜180
度の間にあり、仮想カメラVCから見て、ポリゴンPL
3、PL4が前面に位置している。この場合には、まず
ポリゴンPL0を描画し、次にパーティクル・エリアP
TA2内のパーティクル・プリミティブを描画する。そ
して、ポリゴンPL1、PL2を描画し、次に、パーテ
ィクル・エリアPTA1、3内のパーティクル・プリミ
ティブを描画する。そして、ポリゴンPL3、4を描画
し、最後に、パーティクル・エリアPTA4内のパーテ
ィクル・プリミティブを描画する。なおPL1、PL2
間、PTA1、PTA3間及びPL3、PL4間の描画
順序は任意である。
【0150】また図14(A)では、θが180〜27
0度の間にあり、仮想カメラVCから見て、ポリゴンP
L2、PL3が前面に位置している。この場合には、ま
ずポリゴンPL0を描画し、次にパーティクル・エリア
PTA1内のパーティクル・プリミティブを描画する。
そして、ポリゴンPL1、PL4を描画し、次に、パー
ティクル・エリアPTA2、4内のパーティクル・プリ
ミティブを描画する。そして、ポリゴンPL2、3を描
画し、最後に、パーティクル・エリアPTA3内のパー
ティクル・プリミティブを描画する。なおPL1、PL
4間、PTA2、PTA4間及びPL2、PL3間の描
画順序は任意である。
【0151】また図14(B)では、θが270〜36
0度の間にあり、仮想カメラVCから見て、ポリゴンP
L1、PL2が前面に位置している。この場合には、ま
ずポリゴンPL0を描画し、次にパーティクル・エリア
PTA4内のパーティクル・プリミティブを描画する。
そして、ポリゴンPL3、PL4を描画し、次に、パー
ティクル・エリアPTA1、3内のパーティクル・プリ
ミティブを描画する。そして、ポリゴンPL1、2を描
画し、最後に、パーティクル・エリアPTA2内のパー
ティクル・プリミティブを描画する。なおPL3、PL
4間、PTA1、PTA3間及びPL1、PL2間の描
画順序は任意である。
【0152】なお、ポリゴンの面と仮想カメラVCとの
方向関係(角度θ)は、具体的には図15に示す手法に
より判断する。
【0153】例えば図15において、FLはオブジェク
トOBの中心点CPを始点としVCの方向を向く単位ベ
クトルであり、FXは、CPを始点としPL2、PL4
に直交する単位ベクトルであり、FZは、CPを始点と
しPL1、PL3に直交する単位ベクトルである(図8
参照)。
【0154】本実施形態では、これらのベクトルを用い
て下式の内積値INR1、2を求める。
【0155】 INR1=FX・FL (19) INR2=FZ・FL (20) そして、INR1>0、INR2>0の場合には、仮想
カメラVCはPL1、PL4の前面に位置すると判断さ
れ、描画順序は図13(A)に示す順序になる。
【0156】また、INR1≦0、INR2>0の場合
には、仮想カメラVCはPL3、PL4の前面に位置す
ると判断され、描画順序は図13(B)に示す順序にな
る。
【0157】また、INR1≦0、INR2≦0の場合
には、仮想カメラVCはPL2、PL3の前面に位置す
ると判断され、描画順序は図14(A)に示す順序にな
る。
【0158】また、INR1>0、INR2≦0の場合
には、仮想カメラVCはPL1、PL2の前面に位置す
ると判断され、描画順序は図14(B)に示す順序にな
る。
【0159】この場合に本実施形態では、これらの内積
値INR1、INR2(式(19)、(20))とし
て、α値の設定の際に求めた内積値INR1、INR2
(式(5)、(6))をそのまま利用できる。このよう
にすることで、α値の設定の際に求めた内積値INR
1、2を有効利用できるようになり、処理負荷を軽減で
きる。
【0160】2.5 パーティクルの発生 本実施形態では、図16に示すように、各パーティクル
・エリアPTA1〜4に対して、パーティクル・プリミ
ティブのジェネレータG1〜4(発生場所)を設定して
いる。そして、このジェネレータG1〜4から、所与の
寿命が設定されたパーティクル・プリミティブを所与の
初期速度で発生させている。
【0161】例えばパーティクル・エリアPTA1の領
域は、(X0、Z0)、(X0+XSZ、Z0+ZS
Z)と定義できる。この場合に、パーティクル・エリア
PTA1の領域が、PTA1を区分けしているポリゴン
PL1、PL4に重ならないようにPTA1を定義す
る。
【0162】この時、ジェネレータG1〜4の位置GP
1〜4は下式のように表すことができる。
【0163】 GP1 =(X0+XSZ×VLMIN、Z0+ZSZ×VLMIN) (21) GP2 =(X0+XSZ×VLMAX、Z0+ZSZ×VLMIN) (22) GP3 =(X0+XSZ×VLMIN、Z0+ZSZ×VLMAX) (23) GP4 =(X0+XSZ×VLMAX、Z0+ZSZ×VLMAX) (24) ここで、VLMIN、VLMAXはジェネレータの位置
を定義するためのパラメータであり、0<VLMIN<
VLMAXの関係が成り立つ。
【0164】上式(21)〜(24)のようにその位置
を決めることで、ジェネレータG1〜4はパーティクル
・エリアの内側に位置するようになる。
【0165】さて、パーティクル・プリミティブに対す
るパラメータの設定手法としては、種々の手法がある
が、本実施形態では、処理負荷を軽くするために、以下
のようなパラメータだけを各パーティクル・プリミティ
ブの属性情報として持たせている。 (PX、PY、PZ)、(VCX、VCY、VCZ)、
LIFE ここで、(PX、PY、PZ)は、パーティクル・プリ
ミティブの発生位置を表すパラメータである。即ち、上
記のGP1〜4のいずれかを表すパラメータである。
【0166】また、(VCX、VCY、VCZ)はパー
ティクル・プリミティブの初速度を表すパラメータであ
り、LIFEはパーティクル・プリミティブの現在のラ
イフ(年齢)を表すパラメータである。
【0167】更に別のパラメータとして本実施形態では
LIFEMAXを用意している。このLIFEMAXは
パーティクル・プリミティブの寿命を表すパラメータで
ある。
【0168】図17に、本実施形態のパーティクル処理
についてのフローチャートを示す。
【0169】まず、フレーム更新(描画バッファの更
新)か否かを判断する(ステップS21)。これは、画
像生成システムのハードウェアが垂直同期のタイミング
で発生する割り込みに基づいて判断できる。
【0170】フレーム更新であると判断された場合に
は、パーティクル番号NUMを0に設定する(ステップ
S22)。そして、NUM番目のパーティクル・プリミ
ティブのLIFEを1だけインクリメントする(ステッ
プS23)。
【0171】次に、LIFE>LIFEMAXか否かを
判断する(ステップS24)。そして、LIFE>LI
FEMAXの場合には、LIFE=0に戻すと共に発生
位置PX、PY、PZ、初期速度VCX、VCY、VC
Zを再設定する(ステップS25)。即ち、寿命を越え
たパーティクル・プリミティブの発生位置や初期速度を
再設定する。この場合に、パーティクル・プリミティブ
を発生させるジェネレータ及びパーティクル・プリミテ
ィブの初期速度は乱数に基づいて決定する。
【0172】次に、パーティクル・プリミティブの描画
位置(X、Y、Z)を下式のように決定する(ステップ
S26)。
【0173】 X=PX+VCX×LIFE (25) Y=PY+VCY×LIFE (26) Z=PZ+VCZ×LIFE (27) 即ち、各パーティクル・プリミティブの位置は、その発
生位置と初期速度とLIFEとにより特定されることに
なる。
【0174】次に、パーティクル番号NUMを1だけイ
ンクリメントする(ステップS27)。そして、NUM
>NUMMAXか否かを判断し(ステップS28)、N
UM≦NUMMAXの場合には、ステップS23に戻
り、次のパーティクル・プリミティブに対する処理を行
う。
【0175】一方、NUM>NUMMAXの場合には、
NUM個のパーティクル・プリミティブをZソートし
て、描画バッファに描画する(ステップS29)。これ
により、当該フレームにおけるパーティクル・プリミテ
ィブの描画が完了する。
【0176】さて、以上のようにしてパーティクル・プ
リミティブを発生させた場合、次のような問題がある。
即ち、1つのパーティクル・エリアで発生したパーティ
クル・プリミティブが、そのパーティクル・エリアの外
に出てしまい、他のパーティクル・エリアに進入してし
まうと、誤った描画順序でそのパーティクル・プリミテ
ィブが描画されてしまうおそれがある。
【0177】そこで本実施形態では図18(A)に示す
ように、パーティクル・プリミティブが、そのパーティ
クル・プリミティブが発生したパーティクル・エリア内
だけで移動するように、その移動を制限している。これ
により、図18(A)に示すように、例えばパーティク
ル・エリアPTA1で発生したパーティクル・プリミテ
ィブはPTA1内だけで移動して消滅するようになる。
また、パーティクル・エリアPTA3で発生したパーテ
ィクル・プリミティブはPTA3内だけで移動して消滅
するようになる。
【0178】そして本実施形態では、このような移動の
制限を、パーティクル・プリミティブの初速度や寿命の
制御により実現している。
【0179】例えば本実施形態では、パーティクル・プ
リミティブの初期条件の設定や、図17のステップS2
5での初期条件の再設定の際に、次のようにして初期速
度を決定している。
【0180】例えば、パーティクル・プリミティブが図
18(B)に示すようにジェネレータG1から発生する
場合には、VCX>0、VCZ>0となる条件の下で、
パーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
【0181】また、パーティクル・プリミティブが図1
8(C)に示すようにジェネレータG2から発生する場
合には、VCX<0、VCZ>0となる条件の下で、パ
ーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
【0182】また、パーティクル・プリミティブが図1
8(D)に示すようにジェネレータG3から発生する場
合には、VCX>0、VCZ<0となる条件の下で、パ
ーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
【0183】また、パーティクル・プリミティブが図1
8(E)に示すようにジェネレータG4から発生する場
合には、VCX<0、VCZ<0となる条件の下で、パ
ーティクル・プリミティブの初期速度(VCX、VC
Y、VCZ)を乱数で決定する。
【0184】また、初期速度が大きすぎると、パーティ
クル・プリミティブがパーティクル・エリアの外に直ぐ
に出ていってしまうおそれがある。このため、例えばジ
ェネレータ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はジェネレータの位置を定義するためのパラメー
タである。
【0185】このように本実施形態では、パーティクル
・プリミティブの初期条件の設定又は再設定だけで、パ
ーティクル・プリミティブがパーティクル・エリアの外
に出ないことを保証することに成功している。
【0186】3.本実施形態の処理 次に、本実施形態の処理の詳細例について、図19、図
20のフローチャートを用いて説明する。
【0187】まず、炎オブジェクト(図2参照)を視点
(カメラ)座標系でZソートする(ステップS31)。
即ち図10(A)、(B)で説明したように、まず、炎
オブジェクトOB1〜4についてのZソートを行う。
【0188】次に、オブジェクト番号I=0に設定する
(ステップS32)。そして、I番目の炎オブジェクト
の中心点(代表点)の座標と仮想カメラの座標とに基づ
き、ベクトルFL(図8参照)を求める(ステップS3
3)。
【0189】次に、I番目の炎オブジェクトのローカル
座標系上におけるベクトルFX、FY、FZと、求めら
れたFLとの内積値を求める(ステップS34)。そし
て、求められた内積値に基づいて、炎ポリゴン(PL0
〜PL4)及びパーティクル・エリア(PTA1〜4)
についてのα値及び描画順序を決定する(ステップS3
5)。
【0190】次に、炎オブジェクトのベース・ポリゴン
(PL0)を描画する(ステップS36)。そして、1
番目の描画優先順位のパーティクル・エリア内のパーテ
ィクル・プリミティブを描画する(ステップS37)。
【0191】次に、1番目、2番目の描画優先順位の炎
ポリゴンを描画する(ステップS38)。そして、2番
目、3番目の描画優先順位のパーティクル・エリア内の
パーティクル・プリミティブを描画する(ステップS3
9)。
【0192】次に、3番目、4番目の描画優先順位の炎
ポリゴンを描画する(ステップS40)。そして、4番
目の描画優先順位のパーティクル・エリア内のパーティ
クル・プリミティブを描画する(ステップS41)。
【0193】次に、オブジェクト番号Iを1だけインク
リメントする(ステップS42)。そして、I>IMA
Xか否かを判断し、I≦IMAXの場合には図19のス
テップS33に戻る。一方、I>IMAXの場合には処
理を終了する。
【0194】4.ハードウェア構成 次に、本実施形態を実現できるハードウェアの構成の一
例について図21を用いて説明する。
【0195】メインプロセッサ900は、CD982
(情報記憶媒体)に格納されたプログラム、通信インタ
ーフェース990を介して転送されたプログラム、或い
はROM950(情報記憶媒体の1つ)に格納されたプ
ログラムなどに基づき動作し、ゲーム処理、画像処理、
音処理などの種々の処理を実行する。
【0196】コプロセッサ902は、メインプロセッサ
900の処理を補助するものであり、高速並列演算が可
能な積和算器や除算器を有し、マトリクス演算(ベクト
ル演算)を高速に実行する。例えば、オブジェクトを移
動させたり動作(モーション)させるための物理シミュ
レーションに、マトリクス演算などの処理が必要な場合
には、メインプロセッサ900上で動作するプログラム
が、その処理をコプロセッサ902に指示(依頼)す
る。
【0197】ジオメトリプロセッサ904は、座標変
換、透視変換、光源計算、曲面生成などのジオメトリ処
理を行うものであり、高速並列演算が可能な積和算器や
除算器を有し、マトリクス演算(ベクトル演算)を高速
に実行する。例えば、座標変換、透視変換、光源計算な
どの処理を行う場合には、メインプロセッサ900で動
作するプログラムが、その処理をジオメトリプロセッサ
904に指示する。
【0198】データ伸張プロセッサ906は、圧縮され
た画像データや音データを伸張するデコード処理を行っ
たり、メインプロセッサ900のデコード処理をアクセ
レートする処理を行う。これにより、オープニング画
面、インターミッション画面、エンディング画面、或い
はゲーム画面などにおいて、MPEG方式等で圧縮され
た動画像を表示できるようになる。なお、デコード処理
の対象となる画像データや音データは、ROM950、
CD982に格納されたり、或いは通信インターフェー
ス990を介して外部から転送される。
【0199】描画プロセッサ910は、ポリゴンや曲面
などのプリミティブ(プリミティブ面)で構成されるオ
ブジェクトの描画(レンダリング)処理を高速に実行す
るものである。オブジェクトの描画の際には、メインプ
ロセッサ900は、DMAコントローラ970の機能を
利用して、オブジェクトデータを描画プロセッサ910
に渡すと共に、必要であればテクスチャ記憶部924に
テクスチャを転送する。すると、描画プロセッサ910
は、これらのオブジェクトデータやテクスチャに基づい
て、Zバッファなどを利用した陰面消去を行いながら、
オブジェクトをフレームバッファ922に高速に描画す
る。また、描画プロセッサ910は、αブレンディング
(半透明処理)、デプスキューイング、ミップマッピン
グ、フォグ処理、バイリニア・フィルタリング、トライ
リニア・フィルタリング、アンチエリアシング、シェー
ディング処理なども行うことができる。そして、1フレ
ーム分の画像がフレームバッファ922に書き込まれる
と、その画像はディスプレイ912に表示される。
【0200】サウンドプロセッサ930は、多チャンネ
ルのADPCM音源などを内蔵し、BGM、効果音、音
声などの高品位のゲーム音を生成する。生成されたゲー
ム音は、スピーカ932から出力される。
【0201】ゲームコントローラ942(レバー、ボタ
ン、筺体、パッド型コントローラ又はガン型コントロー
ラ等)からの操作データや、メモリカード944からの
セーブデータ、個人データは、シリアルインターフェー
ス940を介してデータ転送される。
【0202】ROM950にはシステムプログラムなど
が格納される。なお、業務用ゲームシステムの場合に
は、ROM950が情報記憶媒体として機能し、ROM
950に各種プログラムが格納されることになる。な
お、ROM950の代わりにハードディスクを利用する
ようにしてもよい。
【0203】RAM960は、各種プロセッサの作業領
域として用いられる。
【0204】DMAコントローラ970は、プロセッ
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
【0205】CDドライブ980は、プログラム、画像
データ、或いは音データなどが格納されるCD982
(情報記憶媒体)を駆動し、これらのプログラム、デー
タへのアクセスを可能にする。
【0206】通信インターフェース990は、ネットワ
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他の画
像生成システムとの間でのデータ転送が可能になる。
【0207】なお、本発明の各手段は、その全てを、ハ
ードウェアのみにより実現(実行)してもよいし、情報
記憶媒体に格納されるプログラムや通信インターフェー
スを介して配信されるプログラムのみにより実現しても
よい。或いは、ハードウェアとプログラムの両方により
実現してもよい。
【0208】そして、本発明の各手段をハードウェアと
プログラムの両方により実現する場合には、情報記憶媒
体には、本発明の各手段をハードウェアを利用して実現
するためのプログラムが格納されることになる。より具
体的には、上記プログラムが、ハードウェアである各プ
ロセッサ902、904、906、910、930等に
処理を指示すると共に、必要であればデータを渡す。そ
して、各プロセッサ902、904、906、910、
930等は、その指示と渡されたデータとに基づいて、
本発明の各手段を実現することになる。
【0209】図22(A)に、本実施形態を業務用ゲー
ムシステム(画像生成システム)に適用した場合の例を
示す。プレーヤは、ディスプレイ1100、1101上
に映し出されたゲーム画像を見ながら、ガン型コントロ
ーラ1102、1103などを操作してゲームを楽し
む。内蔵されるシステムボード(サーキットボード)1
106には、各種プロセッサ、各種メモリなどが実装さ
れる。そして、本発明の各手段を実現するためのプログ
ラム(データ)は、システムボード1106上の情報記
憶媒体であるメモリ1108に格納される。以下、この
プログラムを格納プログラム(格納情報)と呼ぶ。
【0210】図22(B)に、本実施形態を家庭用のゲ
ームシステム(画像生成システム)に適用した場合の例
を示す。プレーヤはディスプレイ1200に映し出され
たゲーム画像を見ながら、ガン型コントローラ120
2、1204などを操作してゲームを楽しむ。この場
合、上記格納プログラム(格納情報)は、本体システム
に着脱自在な情報記憶媒体であるCD1206、或いは
メモリカード1208、1209などに格納されてい
る。
【0211】図22(C)に、ホスト装置1300と、
このホスト装置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に伝送し端末において出力
することになる。
【0212】なお、図22(C)の構成の場合に、本発
明の各手段を、ホスト装置(サーバー)と端末とで分散
して実現するようにしてもよい。また、本発明の各手段
を実現するための上記格納プログラム(格納情報)を、
ホスト装置(サーバー)の情報記憶媒体と端末の情報記
憶媒体に分散して格納するようにしてもよい。
【0213】またネットワークに接続する端末は、家庭
用ゲームシステムであってもよいし業務用ゲームシステ
ムであってもよい。そして、業務用ゲームシステムをネ
ットワークに接続する場合には、業務用ゲームシステム
との間で情報のやり取りが可能であると共に家庭用ゲー
ムシステムとの間でも情報のやり取りが可能なセーブ用
情報記憶装置(メモリカード、携帯型ゲーム装置)を用
いることが望ましい。
【0214】なお本発明は、上記実施形態で説明したも
のに限らず、種々の変形実施が可能である。
【0215】例えば、本発明のオブジェクトの形状は図
2、図4(A)〜(D)で説明したものに限定されず、
種々の形状を採用できる。
【0216】また、α値の設定手法も、図6(A)〜図
9(B)で説明した手法に限定されず、これと均等な種
々の変形実施が可能である。
【0217】また、描画順序の決定手法も、図10
(A)〜図15で説明した手法に限定されるものではな
い。
【0218】更に、パーティクル・プリミティブの処理
手法も、図16〜図18(E)で説明した手法に限定さ
れない。
【0219】また、本発明のうち従属請求項に係る発明
においては、従属先の請求項の構成要件の一部を省略す
る構成とすることもできる。また、本発明の1の独立請
求項に係る発明の要部を、他の独立請求項に従属させる
こともできる。
【0220】また、本発明は種々のゲーム(格闘ゲー
ム、シューティングゲーム、ロボット対戦ゲーム、スポ
ーツゲーム、競争ゲーム、ロールプレイングゲーム、音
楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0221】また本発明は、業務用ゲームシステム、家
庭用ゲームシステム、多数のプレーヤが参加する大型ア
トラクションシステム、シミュレータ、マルチメディア
端末、ゲーム画像を生成するシステムボード等の種々の
画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック
図の例である。
【図2】本実施形態で用いられるオブジェクトの形状の
例を示す図である。
【図3】図3(A)、(B)、(C)は、オブジェクト
にマッピングされるテクスチャ(ムービーテクスチャ)
の例である。
【図4】図4(A)〜(D)は、オブジェクトの形状の
他の例について説明するための図である。
【図5】図5(A)〜(D)は、図2の形状のオブジェ
クトを用いた場合の問題点について説明するための図で
ある。
【図6】図6(A)〜(D)は、α値の設定手法につい
て説明するための図である。
【図7】α値の設定手法の具体例について説明するため
のフローチャートである。
【図8】α値の設定手法の具体例について説明するため
の図である。
【図9】図9(A)、(B)は、頂点のα値やピクセル
のα値を求める手法について説明するための図である。
【図10】図10(A)、(B)は、本実施形態のソー
ト処理について説明するための図である。
【図11】図11(A)〜(D)は、ポリゴンの面と仮
想カメラの向きに応じてポリゴンの描画順序を決定する
手法について説明するための図である。
【図12】パーティクル・エリアの設定とパーティクル
・プリミティブの発生について説明するための図であ
る。
【図13】図13(A)、(B)は、ポリゴンの面と仮
想カメラの向きに応じてポリゴンやパーティクル・エリ
アの描画順序を決定する手法について説明するための図
である。
【図14】図14(A)、(B)も、ポリゴンの面と仮
想カメラの向きに応じてポリゴンやパーティクル・エリ
アの描画順序を決定する手法について説明するための図
である。
【図15】ベクトルの内積値を利用してポリゴンの面と
仮想カメラの向きの方向関係を決定する手法について説
明するための図である。
【図16】パーティクル・プリミティブのジェネレータ
について説明するための図である。
【図17】パーティクル処理について説明するためのフ
ローチャートである。
【図18】図18(A)〜(E)は、パーティクル・プ
リミティブの移動を制限する手法について説明するため
の図である。
【図19】本実施形態の処理の詳細例について示すフロ
ーチャートである。
【図20】本実施形態の処理の詳細例について示すフロ
ーチャートである。
【図21】本実施形態を実現できるハードウェアの構成
の一例を示す図である。
【図22】図22(A)、(B)、(C)は、本実施形
態が適用される種々の形態のシステムの例を示す図であ
る。
【符号の説明】 VC 仮想カメラ OB オブジェクト PL0〜PL4 ポリゴン RL 基準線 FX、FY、FZ ベクトル VX1〜VX4 頂点 PTA1〜PTA4 パーティクル・エリア CP 中心点 100 処理部 110 オブジェクト空間設定部 112 α値設定部 114 パーティクル処理部 116 描画順序決定部 120 描画部 122 テクスチャマッピング部 124 α合成部 160 操作部 170 記憶部 172 主記憶部 174 描画バッファ 176 テクスチャ記憶部 180 情報記憶媒体 190 表示部 192 音出力部 194 携帯型情報記憶装置 196 通信部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 斎藤 直宏 東京都大田区多摩川2丁目8番5号 株式 会社ナムコ内 Fターム(参考) 2C001 AA03 AA06 AA09 BA01 BA03 BA05 BA06 BC01 BC03 BC06 BC08 CB01 CB02 CB03 CC02 CC03 DA04 5B050 AA10 BA08 BA18 CA07 DA10 EA07 EA19 EA28 FA02 5B080 AA13 BA02 DA06 FA08 FA15 FA17 GA22

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 画像生成を行う画像生成システムであっ
    て、 基準線から放射状に配置された第1〜第Nのプリミティ
    ブ面を含むオブジェクトを、オブジェクト空間に設定す
    る手段と、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
    面の中の少なくとも1つのプリミティブ面と仮想カメラ
    の向きとの相対的な方向関係に応じて、前記第1〜第N
    のプリミティブ面のα値を設定する手段と、 設定されたα値に基づいて、前記第1〜第Nのプリミテ
    ィブ面を含む前記オブジェクトについてのα合成処理を
    行う手段と、 を含むことを特徴とする画像生成システム。
  2. 【請求項2】 請求項1において、 前記オブジェクトが含む第K(1≦K≦N)のプリミテ
    ィブ面と仮想カメラの向きとが平行になるにつれて該第
    Kのプリミティブ面が透明になるように、該第Kのプリ
    ミティブ面のα値が設定されることを特徴とする画像生
    成システム。
  3. 【請求項3】 請求項1又は2において、 前記第1〜第Nのプリミティブ面に設定される前記α値
    が、前記第1〜第Nのプリミティブ面の代表α値であ
    り、 前記代表α値に基づいて、前記オブジェクトの頂点のα
    値が求められることを特徴とする画像生成システム。
  4. 【請求項4】 請求項3において、 前記オブジェクトの頂点が属するプリミティブ面に設定
    された前記代表α値に基づいて所与の演算処理を行うこ
    とで、頂点のα値が求められることを特徴とする画像生
    成システム。
  5. 【請求項5】 請求項3又は4において、 求められた頂点のα値に基づく補間処理により、前記オ
    ブジェクトの各ピクセルのα値が求められることを特徴
    とする画像生成システム。
  6. 【請求項6】 請求項1乃至5のいずれかにおいて、 前記第1〜第Nのプリミティブ面に対してマッピングさ
    れるテクスチャとして、共通のテクスチャが使用される
    ことを特徴とする画像生成システム。
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 前記オブジェクトが、前記第1〜第Nのプリミティブ面
    に交差する第Jのプリミティブ面を含み、 前記第Jのプリミティブ面と前記仮想カメラの向きとの
    相対的な方向関係に応じて、前記第Jのプリミティブ面
    のα値が設定されることを特徴とする画像生成システ
    ム。
  8. 【請求項8】 請求項1乃至7のいずれかにおいて、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
    面の中の少なくとも1つのプリミティブ面と仮想カメラ
    の向きとの相対的な方向関係に応じて、前記第1〜第N
    のプリミティブ面の描画順序が決定され、 決定された描画順序で前記第1〜第Nのプリミティブ面
    が描画されることを特徴とする画像生成システム。
  9. 【請求項9】 コンピュータ使用可能なプログラムであ
    って、 基準線から放射状に配置された第1〜第Nのプリミティ
    ブ面を含むオブジェクトを、オブジェクト空間に設定す
    る手段と、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
    面の中の少なくとも1つのプリミティブ面と仮想カメラ
    の向きとの相対的な方向関係に応じて、前記第1〜第N
    のプリミティブ面のα値を設定する手段と、 設定されたα値に基づいて、前記第1〜第Nのプリミテ
    ィブ面を含む前記オブジェクトについてのα合成処理を
    行う手段と、 をコンピュータに実現させることを特徴とするプログラ
    ム。
  10. 【請求項10】 請求項9において、 前記オブジェクトが含む第K(1≦K≦N)のプリミテ
    ィブ面と仮想カメラの向きとが平行になるにつれて該第
    Kのプリミティブ面が透明になるように、該第Kのプリ
    ミティブ面のα値が設定されることを特徴とするプログ
    ラム。
  11. 【請求項11】 請求項9又は10において、 前記第1〜第Nのプリミティブ面に設定される前記α値
    が、前記第1〜第Nのプリミティブ面の代表α値であ
    り、 前記代表α値に基づいて、前記オブジェクトの頂点のα
    値が求められることを特徴とするプログラム。
  12. 【請求項12】 請求項11において、 前記オブジェクトの頂点が属するプリミティブ面に設定
    された前記代表α値に基づいて所与の演算処理を行うこ
    とで、頂点のα値が求められることを特徴とするプログ
    ラム。
  13. 【請求項13】 請求項11又は12において、 求められた頂点のα値に基づく補間処理により、前記オ
    ブジェクトの各ピクセルのα値が求められることを特徴
    とするプログラム。
  14. 【請求項14】 請求項9乃至13のいずれかにおい
    て、 前記第1〜第Nのプリミティブ面に対してマッピングさ
    れるテクスチャとして、共通のテクスチャが使用される
    ことを特徴とするプログラム。
  15. 【請求項15】 請求項9乃至14のいずれかにおい
    て、 前記オブジェクトが、前記第1〜第Nのプリミティブ面
    に交差する第Jのプリミティブ面を含み、 前記第Jのプリミティブ面と前記仮想カメラの向きとの
    相対的な方向関係に応じて、前記第Jのプリミティブ面
    のα値が設定されることを特徴とするプログラム。
  16. 【請求項16】 請求項9乃至15のいずれかにおい
    て、 前記オブジェクトが含む前記第1〜第Nのプリミティブ
    面の中の少なくとも1つのプリミティブ面と仮想カメラ
    の向きとの相対的な方向関係に応じて、前記第1〜第N
    のプリミティブ面の描画順序が決定され、 決定された描画順序で前記第1〜第Nのプリミティブ面
    が描画されることを特徴とするプログラム。
  17. 【請求項17】 コンピュータにより読み取り可能な情
    報記憶媒体であって、請求項9乃至16のいずれかのプ
    ログラムを含むことを特徴とする情報記憶媒体。
JP2001081316A 2001-03-21 2001-03-21 画像生成システム、プログラム及び情報記憶媒体 Expired - Fee Related JP4592042B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 光源表示方法および装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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