JP4707078B2 - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents

画像生成システム、プログラム及び情報記憶媒体 Download PDF

Info

Publication number
JP4707078B2
JP4707078B2 JP2001183091A JP2001183091A JP4707078B2 JP 4707078 B2 JP4707078 B2 JP 4707078B2 JP 2001183091 A JP2001183091 A JP 2001183091A JP 2001183091 A JP2001183091 A JP 2001183091A JP 4707078 B2 JP4707078 B2 JP 4707078B2
Authority
JP
Japan
Prior art keywords
light source
value
component
intensity information
image
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.)
Expired - Lifetime
Application number
JP2001183091A
Other languages
English (en)
Other versions
JP2002373348A (ja
Inventor
大英 川上
敬 鈴木
圭介 西村
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
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001183091A priority Critical patent/JP4707078B2/ja
Publication of JP2002373348A publication Critical patent/JP2002373348A/ja
Application granted granted Critical
Publication of JP4707078B2 publication Critical patent/JP4707078B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ(操作者)は、銃などを模して作られたガン型コントローラ(シューティングデバイス)を用いて、画面に映し出される敵キャラクタ(敵オブジェクト)などの標的をシューティングすることで、3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、オブジェクトの陰影づけについても、よりリアルに表現できることが望まれる。
【0004】
この場合、このようなオブジェクトのリアルな陰影づけは、種々の照明モデル(シェーディングモデル)を用いたシェーディング処理(照光処理)を行うことで実現される。
【0005】
しかしながら、これまでのシェーディング処理では、照明モデルにおける光の強度情報の成分として、色成分しか考慮されていなかった。
【0006】
また、自然界には正の輝度(強度)しか存在しないため、照明モデルにおいても、強度情報の色成分が正の値であることが前提となっていた。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、照明モデルを有効利用して効果的な映像表現を実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、光源の強度情報として色成分の他にα値成分を持たせ、該光源の強度情報のα値成分と照明モデルとに基づいて、オブジェクトにα値を設定するための処理を行う手段と、α値が設定されたオブジェクトの画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(情報記憶媒体又は搬送波に具現化されるプログラム)であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能(使用可能)な情報記憶媒体であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ためのプログラムを含むことを特徴とする。
【0009】
本発明によれば、光源の強度情報として、色成分の他にα値成分が用意される。そして、このα値成分と照明モデル(α値用に拡張された照明モデル)に基づいて、オブジェクト(オブジェクトを構成するプリミティブ面、プリミティブ面の各頂点又はプリミティブ面の各点等)にα値が設定される。そして、このα値に基づいて、オブジェクトに関するα合成処理又はマスク処理等が行われ、オブジェクトの画像が生成される。
【0010】
このように本発明では、照明モデル(照明モデル式)がα値用に拡張されてオブジェクトのα値の設定処理が行われるため、少ない処理負荷で効果的な映像表現を実現できる。
【0011】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、プレーヤの視点又は移動オブジェクトがオブジェクト空間で移動する場合に、該視点の移動又は該移動オブジェクトの移動に追従させて、強度情報としてα値成分を有する前記光源を移動させることを特徴とする。
【0012】
このようにすれば、移動する光源を用いて、オブジェクトへのα値設定処理を行えるようになり、多様な画像表現を実現できる。
【0013】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、移動する前記光源を用いて、視点又は移動オブジェクトの近傍に位置するオブジェクトのα値が設定され、該オブジェクトの全部又は一部が透明又は半透明にされることを特徴とする。
【0014】
このようにすれば、透明又は半透明になったオブジェクトを介してその向こう側を見ることができるようになり、プレーヤがゲームプレイし易いゲーム環境を提供できる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、強度情報としてα値成分を有する前記光源によりα値が設定されるオブジェクトのプリミティブ面が、視点から見て裏向きの場合には、該プリミティブ面の描画処理が省略されることを特徴とする。
【0016】
このようにすれば、裏向きのプリミティブ面が障害となって、その向こう側が見なくなってしまうなどの問題を防止できる。
【0017】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記光源として点光源が使用され、前記点光源とオブジェクトとの距離に応じて、オブジェクトに設定されるα値を変化させることを特徴とする。
【0018】
このようにすれば、点光源とオブジェクトとの距離(例えば距離のべき乗の逆数)に応じてオブジェクトのα値が変化するようになり、より効果的な映像表現を実現できる。
【0019】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクトに使用される光源として複数の光源の中から強度情報としてα値成分を有する光源が選択され、選択された光源を用いて、該オブジェクトにα値が設定されることを特徴とする。
【0020】
このようにすれば、複数のオブジェクトのうち例えば第1のオブジェクトについては、強度情報としてα値成分を有する光源を用いたα値設定処理を行わない一方で、第2のオブジェクトについては、この光源を用いたα値設定処理を行うようにすることが可能になる。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、プレーヤが操作する移動オブジェクトについては、強度情報としてα値成分を有する光源が非選択となる一方で、プレーヤが操作する移動オブジェクト以外のオブジェクトについて、強度情報としてα値成分を有する光源が選択され、選択された該光源を用いて該オブジェクトにα値が設定されることを特徴とする。
【0022】
このようにすれば、プレーヤが操作する移動オブジェクトが透明又は半透明になってしまう事態を防止でき、より自然な画像を生成できる。
【0023】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記α値成分が、オブジェクトをより不透明にする負の値に設定され、負の値のα値成分と照明モデルとに基づいて、オブジェクトのα値が設定されることを特徴とする。
【0024】
このようにすれば、例えば、この負の値のα値成分を有する光源により、透明なオブジェクトがその姿を表してくるような画像を生成できるようになる。
【0025】
また本発明は、画像生成を行う画像生成システムであって、光源の強度情報の色成分を負の値に設定し、負の値の色成分と照明モデルとに基づいて、オブジェクトのシェーディング処理を行う手段と、シェーディング処理が施されたオブジェクトの画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(情報記憶媒体又は搬送波に具現化されるプログラム)であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能(使用可能)な情報記憶媒体であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ためのプログラムを含むことを特徴とする。
【0026】
本発明によれば、光源の強度情報として、負の値の色成分が用意される。そして、この負の値の色成分と照明モデルに基づいて、オブジェクトのシェーディング処理が行われ、オブジェクトの画像が生成される。
【0027】
このように本発明では、負の値の色成分を用いてオブジェクトの画像が生成されるため、現実世界の事象には無い映像表現を実現でき、ゲーム演出効果を高めることができる。
【0028】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、プレーヤの視点又は移動オブジェクトがオブジェクト空間で移動する場合に、該視点の移動又は該移動オブジェクトの移動に追従させて、強度情報の色成分が負の値に設定された前記光源を移動させることを特徴とする。
【0029】
このようにすれば、移動する光源を用いて、負の値の色成分と照明モデルを用いたシェーディング処理を行えるようになるため、多様な画像表現を実現できる。
【0030】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、強度情報の色成分が負の値に設定された前記光源を用いて、前記移動オブジェクトの影が生成されることを特徴とする。
【0031】
このようにすれば、負の値の色成分を有する光源を用意するだけで、移動オブジェクトの影を生成することが可能になり、少ない処理負荷でリアルな画像を生成できる。
【0032】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクトに使用する光源として複数の光源の中から強度情報の色成分が負の値に設定された光源が選択され、選択された光源を用いて、該オブジェクトのシェーディング処理が行われることを特徴とする。
【0033】
このようにすれば、複数のオブジェクトのうち例えば第1のオブジェクトについては、強度情報として負の色成分を有する光源を用いたシェーディング処理を行わない一方で、第2のオブジェクトについては、この光源を用いたシェーディング処理を行うようにすることが可能になる。
【0034】
【発明の実施の形態】
以下、本実施形態について図面を用いて説明する。
【0035】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0036】
1.構成
図1に、本実施形態の画像生成システム(画像生成装置、ゲームシステム)の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外のブロックについては任意の構成要素とすることができる。
【0037】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【0038】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0039】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)をコンピュータに実現(実行、機能)させるためのプログラムが格納され、このプログラムは、例えば1又は複数のモジュール(オブジェクト指向におけるオブジェクトも含む)を含む。
【0040】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【0041】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0042】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0043】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0044】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0045】
なお本発明(本実施形態)の各手段を実現(実行、機能)するためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0046】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。
【0047】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【0048】
処理部100は、移動・動作演算部110、仮想カメラ(視点)制御部112、シェーディング処理部114、画像生成部120、音生成部130を含む。なお、処理部100は、これらの全ての機能ブロックを含む必要はない。
【0049】
ここで、移動・動作演算部110は、キャラクタ、車などのオブジェクト(移動オブジェクト)の移動情報(位置、回転角度)や動作情報(オブジェクトの各パーツの位置、回転角度)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作(モーション、アニメーション)させたりする処理を行う。
【0050】
より具体的には、移動・動作演算部110は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒、1/30秒等)毎に変化させる。例えば(k−1)フレームでのオブジェクトの位置、回転角度をPk-1、θk-1とし、オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転速度)を△P、△θとする。するとkフレームでのオブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
【0051】
Pk=Pk-1+△P (1)
θk=θk-1+△θ (2)
仮想カメラ(視点)制御部112は、オブジェクト空間内の所与(任意)の視点での画像を生成するための仮想カメラ(視点)を制御する処理を行う。即ち、仮想カメラの位置(X、Y、Z)又は回転(X、Y、Z軸回りでの回転)を制御する処理(視点位置や視線方向を制御する処理)等を行う。
【0052】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラ(視点)が追従するように、仮想カメラの位置又は回転(仮想カメラの方向)を制御することが望ましい。この場合には、移動・動作演算部110で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置(移動経路)や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御することになる。
【0053】
シェーディング処理部114は、オブジェクトに陰影(影)をつけるための処理を行う。より具体的には、光源の属性情報(光源の強度情報や、光源の位置又は方向情報等)とオブジェクトの属性情報(法線ベクトル又は反射係数等)に基づいてシェーディング処理を行う。
【0054】
ここで、シェーディング処理は、例えばオブジェクトの各点(ピクセル、ドット)での光の色(強度、輝度、RGB、YCbCr、YUV、YIQ)を決定する処理と定義できる。そして、このシェーディング処理は、実世界での照明現象を模擬した数学的なモデルである照明モデルを用いて行われる。この照明モデルとしては、実世界現象のモデル化の態様に応じて、ランバード(Lambert)、フォン(Phong)、ブリン(Blinn)などの種々のモデルがある。また、プリミティブ面(ポリゴン、曲面等)の陰影づけを滑らかにして、プリミティブ面の境界を目立たなくする手法として、グーロー(Gouraud)シェーディング、フォン(Phong)シェーディングなどの種々のスムーズシェーディング手法がある。
【0055】
本実施形態では、光源の強度情報(輝度情報)として色成分(例えばRGB、YCbCr、YUV又はYIQ等)の他に、α値成分を持たせている。より具体的には、照明モデルの式として、強度情報のRGB成分を求める第1〜第3の式以外に、α値成分を求める第4の式を用意する。
【0056】
そしてシェーディング処理部114が含むα値設定部116は、このα値成分と照明モデルに基づいてオブジェクトに対してα値を設定する。より具体的には、照明モデルの第4の式に強度情報のα値成分を代入し、オブジェクトを構成するプリミティブ面のα値、プリミティブ面の頂点のα値、或いはプリミティブ面の各点(ピクセル等)のα値を求める。そして、この求められたα値に基づいて、α合成処理(αブレンディング、α加算又はα減算等)やマスク処理などのα値を用いた種々の処理が行われることになる。
【0057】
αブレンディングを例にとれば以下のような処理が行われる。
【0058】
Q=(1−α)×R1+α×R2 (3)
Q=(1−α)×G1+α×G2 (4)
Q=(1−α)×B1+α×B2 (5)
ここで、R1、G1、B1は、描画バッファ174に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファ174に描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。
【0059】
なお、α値(A値)は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0060】
また本実施形態のシェーディング処理部114では、光源の強度情報の色成分を負の値に設定し、負の値の色成分と照明モデルとに基づいて、オブジェクトのシェーディング処理を行っている。即ち、現実の世界においては色成分は正の値しかとり得ないが、本実施形態では、視覚的な映像効果を狙って、強度情報の色成分を負の値に設定する。このようにすることで、オブジェクトを黒いライトで照らすなどの映像効果を実現できる。
【0061】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部190に出力する。例えば、いわゆる3次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点(構成点)に付与される位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数プリミティブ面)の画像が、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0062】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0063】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0064】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0065】
2.本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。
【0066】
2.1 照明モデル
まず照明モデルについて説明する。
【0067】
現実世界での照光現象をシミュレートするための数学的なモデルとして、この種の画像生成システムでは種々の照明モデルが用いられている。例えば光源が平行光の場合の照明モデルの代表例は下式のようになる。
【0068】
I=KA×IA+KD×IL×cosθ (6)
ここで、Iは得られる光の強度情報であり、IAは環境光の強度情報であり、ILは光源の強度情報である。また、KAは環境光に対するプリミティブ面(ポリゴン等)の反射係数情報であり、KDは光源からの光に対するプリミティブ面の反射係数(拡散反射係数)情報である。また、θは、図2(A)に示すように、光源LSの方向ベクトルLとプリミティブ面の法線ベクトルN(例えば頂点や面に設定された法線ベクトル)とのなす角度である。
【0069】
そして、色つきの光の場合には、上式(6)は、下式のようにRGB成分毎に用意されることになる。
【0070】
R=KRA×IRA+KRD×IRL×cosθ (7)
G=KGA×IGA+KGD×IGL×cosθ (8)
B=KBA×IBA+KBD×IBL×cosθ (9)
ここで、IR、IG、IBは得られる光の強度情報(輝度)のRGB成分(広義には色成分)であり、IRA、IGA、IBAは環境光の強度情報のRGB成分であり、IRL、IGL、IBLは光源の強度情報のRGB成分である。また、KRA、KGA、KBAは環境光に対するプリミティブ面の反射係数情報のRGB成分であり、KRD、KGD、KBDは光源からの光に対するプリミティブ面の反射係数情報のRGB成分である。
【0071】
なお、点光源の場合には図2(B)に示すように、オブジェクト上の点P(例えば頂点)と光源LSとの間の距離rも考慮に入れるようにする。即ち、点光源の場合には上式(7)〜(9)に代えて下式のような照明モデルを採用する。
【0072】
R=KRA×IRA+KRD×IRL×cosθ×(1/rn) (10)
G=KGA×IGA+KGD×IGL×cosθ×(1/rn) (11)
B=KBA×IBA+KBD×IBL×cosθ×(1/rn) (12)
ここで、nは距離rのべき数であり、例えばn=2に設定できる。
【0073】
なお、上式(7)〜(12)は、環境光(アンビエント光)と拡散光(ディフューズ光)だけを考慮したランバードの照明モデルであるが、環境光、拡散光に加えて鏡面反射光(スペキュラー光)も考慮するフォンの照明モデルを採用してもよい。或いはブリンの照明モデルやレイトレーシング手法を採用してもよい。
【0074】
また、例えばθが90度より大きくなり、cosθが負になった場合には、cosθを0にクランプすることが望ましい。
【0075】
本実施形態では上式(7)〜(12)で得られた色成分に基づいてオブジェクトの画像を生成している。
【0076】
例えばフラットシェーディングの場合には、上式(7)〜(12)による色成分(RGB成分)の計算が1つのプリミティブ面(ポリゴン等)につき1回行われる。そして、得られた色成分がプリミティブ面の内部の全ての点(ピクセル、ドット)の色成分に設定され、プリミティブ面にマッピングされるテクスチャの色成分と合成(積算、加算又はブレンド等)される。
【0077】
またグーローシェーディングの場合には、プリミティブ面の頂点に設定された法線ベクトルに基づいて、上式(7)〜(12)による色成分の計算がプリミティブ面の各頂点について行われる。そして、得られた各頂点の色成分を補間することでプリミティブ面の内部の各点(ピクセル、ドット)での色成分が求められ、求められた各点の色成分がテクスチャの色成分と合成される。
【0078】
またフォンシェーディングの場合には、プリミティブ面の頂点に設定された法線ベクトルが補間されて、プリミティブ面の内部の各点での法線ベクトルが求められる。そして、求められた各点での法線ベクトルに基づいて、上式(7)〜(12)による色成分の計算がプリミティブ面の各点について行われ、得られた各点の色成分がテクスチャの色成分と合成される。
【0079】
このようにして本実施形態では、プリミティブ面の各点の色が決定され(シェーディング処理が行われ)、プリミティブ面により構成されるオブジェクトの画像が生成されることになる。
【0080】
2.2 α値成分の拡張
上式(7)〜(12)に示すように、これまでの照明モデルはRGB成分(広義には色成分)の3成分しか有していなかった。
【0081】
本実施形態では、この従来の3成分の照明モデルをRGBαの4成分に拡張している。
【0082】
具体的には、平行光源の場合には上式(7)〜(9)に加えて例えば下式のようなα値成分に関する照明モデル式を導入する。
【0083】
Iα=KαA×IαA+KαD×IαL×cosθ (13)
同様に、点光源の場合には上式(10)〜(12)に加えて例えば下式のようなα値成分に関する照明モデル式を導入する。
【0084】
Iα=KαA×IαA+KαD×IαL×cosθ×(1/rn) (14)
上式において、IαAは環境光の強度情報のα値成分であり、IαLは光源の強度情報のα値成分である。また、KαAは環境光に対するプリミティブ面の反射係数情報のα値成分であり、KαDは光源からの光に対するプリミティブ面の反射係数(拡散反射係数)情報のα値成分である。なお、上式(13)、(14)において、環境光の強度情報についてはRGBαの4成分に拡張しないようにしてもよい。或いは、環境光の項(KαA×IαA)については零に設定して無視するようにしてもよい。
【0085】
このように本実施形態では、光源の強度情報の成分として、色成分IRL、IGL、IBLの他にα値成分IαLを持たせている。そして、このα値成分IαLと上式(13)又は(14)の照明モデル式とに基づいてIα(α値)を求め、このIαをオブジェクト(オブジェクトのプリミティブ面の頂点、プリミティブ面の内部の点等)に設定している。そして、設定されたIαに基づいて、半透明処理やマスク処理などのα値を用いた処理を行う。このようにすることで、例えば図3に示すような映像効果を得ることができる。
【0086】
即ち図3では、光源LSは、強度情報(属性情報)としてα値成分を有する擬似的な点光源になっている。そして図3では、この擬似的な光源LSからのα値の光に照らされて、オブジェクトOBの一部が透明又は半透明になっている。つまり、上式(14)の式にしたがって、光源LSに近づくにつれて徐々に透明になるように、オブジェクトOBの各部分のうち光源LSの周囲の部分が、透明又は半透明に設定される。
【0087】
これにより、オブジェクトOBの近くに光源LSを配置するだけという簡素な処理で、オブジェクトOB(例えば壁)を透明化したり、OBに穴をあける処理が可能になり、従来に無い映像効果を得ることができる。
【0088】
しかも本実施形態では、図3に示すようなオブジェクトOBの透明化処理や穴あけ処理を、シェーディング処理用のプログラム(照明モデルの計算プログラム)やハードウェア(シェーディング・プロセッサ、マトリクス計算プロセッサ)を有効利用して実現できる。従って、プログラムの開発期間をそれほど延ばすことなく、またハードウェアの処理負荷をそれほど増やすことなく、オブジェクトの透明化処理や穴あけ処理を実現できる。
【0089】
例えば、4行4列のマトリクス計算プロセッサを用いる場合には、RGBの3成分を計算する場合とRGBαの4成分を計算する場合とで、処理時間・処理負荷はほとんど変わらない。従って、照明モデルをRGBαに拡張したとしても、マトリクス計算プロセッサの処理負荷は変わらないため、少ない処理負荷でオブジェクトの透明化処理や穴あけ処理を実現できるようになる。
【0090】
2.3 視点又は移動オブジェクトへのα値付き光源の追従
さて、3次元ゲームにおいては、例えば図4(A)に示すように、プレーヤの操作する移動オブジェクトOB1(キャラクタ、車、戦車又はロボット等)とプレーヤの視点VP(仮想カメラ)との間に、障害物となるオブジェクトOB2が入り込む事態が生じる場合がある。このような事態が生じると、図4(B)に示すように、プレーヤの視界がオブジェクトOB2によりふさがれてしまい、移動オブジェクトOB1やその周辺がプレーヤから見えなくなってしまうという問題が生じる。
【0091】
このような問題を解決する従来技術として、例えば特開平9−50541号公報に開示される技術が知られている。この従来技術では、視点VPと移動オブジェクトOB1の間に障害物となるオブジェクトOB2が入り込んだか否かを判定して、入り込んだと判定した場合にはオブジェクトOB2を透明又は半透明にすることで、上記問題を解決している。
【0092】
しかしながら、この従来技術では、視点VPの位置、移動オブジェクトOB1の位置、障害物となるオブジェクトOB2の位置という3つの位置に基づき、オブジェクトOB2が入り込んだか否かの判定を行わなければならない。従って、処理負荷が過大になるという問題点がある。
【0093】
そこで本実施形態では、図4(A)、(B)のオブジェクトOB2を透明又は半透明にする処理を、図3に示すような擬似的な光源LS(強度情報としてα値成分を有する光源。以下、α値付きの光源と呼ぶ)を利用して実現している。
【0094】
より具体的には図5に示すように、α値付きの光源LSをプレーヤの視点VP(或いはプレーヤの操作する移動オブジェクト)に追従させて移動させる。即ち、α値付きの光源LSを視点VPの近傍(例えば前方)に配置し、視点VPが上下左右方向に移動した場合には、その移動に追従させて光源LSも上下左右方向に移動させる。
【0095】
このようにすると図5に示すように、光源LSの近傍に位置するオブジェクトOB2(視点又は移動オブジェクトの近傍に位置するオブジェクト)は、この光源LSからのα値の光により、透明又は半透明に設定されるようになる。
【0096】
例えば図6(A)では、オブジェクトOB2が障害物となって、プレーヤの操作する移動オブジェクトOB1(キャラクタ)がプレーヤの視点から見えなくなっている。このような場合にも、図5に示すようなα値付きの光源LSをプレーヤの視点VPの近傍に配置し、視点VPに追従させて移動させることで、図6(B)に示すように移動オブジェクトOB1がプレーヤの視点から見えるようになる。これにより、図4(A)、(B)で説明した問題が発生するのを防止できる。
【0097】
また、プレーヤの視点にではなく、プレーヤの操作する移動オブジェクトにα値付きの擬似的な光源を追従させてもよい。
【0098】
例えば図7(A)、(B)では、移動オブジェクトOB1(キャラクタ)の近傍にα値付きの光源LSが配置され、OB1が移動すると光源LSもそれに追従して移動するようになっている。
【0099】
そして、図7(A)では、移動オブジェクトOB1はオブジェクトOB2(障害物)の手前側に隠れている。この場合、移動オブジェクトOB1(点光源LS)とオブジェクトOB2との距離が離れているため、オブジェクトOB2は透明又は半透明に設定されていない。
【0100】
これに対して、図7(B)では、移動オブジェクトOB1(点光源LS)とオブジェクトOB2との距離が近づいたため、オブジェクトOB2が透明又は半透明に設定される。これにより、移動オブジェクトOB1を操作するプレーヤは、オブジェクトOB2の向こう側の様子を把握できるようになる。
【0101】
即ち、画像のリアル性を重視するならば、図7(B)のような場合にオブジェクトOB2の向こう側が見えることは、あまり望ましくない。
【0102】
しかしながら、この種の3次元ゲームは、自分の周りの状況を把握することが難しくゲームプレイが難しいため、初心者やゲーム操作に自信のない人に敬遠されてしまうという欠点がある。したがって、画像のリアル性をある程度犠牲にしても、プレーヤがゲームプレイしやすいゲーム環境を提供することが望ましい。
【0103】
本実施形態では、図7(B)のような場合にオブジェクトOB2が透明又は半透明になるため、プレーヤは、オブジェクトOB2の向こう側の状況を把握できるようになる。この結果、プレーヤが更にゲームプレイしやすいゲーム環境を提供できる。
【0104】
なお、以上のように障害物となるオブジェクトを透明又は半透明にする光源としては、オブジェクトに設定されるα値を、光源とオブジェクトとの距離に応じて変化させることができる点光源であることが望ましい。より具体的には図8(A)に示すような点光源LSでは、点光源LSとオブジェクト(オブジェクトの頂点、代表点等)との距離をrとした場合に、オブジェクトに設定されるα値が、例えば(1/rn)に比例するようになる。これにより、視点や移動オブジェクトの近傍に位置するオブジェクトだけを透明又は半透明に設定することが可能になる。
【0105】
また、点光源を用いれば、図8(B)に示すように、オブジェクトの各部分と点光源LSとの距離が近づくにつれて、オブジェクトの各部分が徐々に透明になるような画像を生成でき、より自然な画像を生成できる。
【0106】
なお、光源とオブジェクトとの距離が所与のしきい値より小さくなり、α値が所与のしきい値より大きくなった場合(α値が大きいほどオブジェクトが透明になると仮定した場合)に、そのα値が設定されるオブジェクトの全体を完全に透明に設定するようにしてもよい。
【0107】
2.4 裏向きのプリミティブ面の描画省略
本実施形態では、α値付きの光源によりα値が設定されるオブジェクトのプリミティブ面(ポリゴン、自由曲面等)が、視点から見て裏向き(backfacing)の場合には、その描画処理を省略(カリング処理)するようにしている。
【0108】
例えば図9(A)では、オブジェクトOB2はα値付きの光源LSによりそのα値が設定されている。この場合に、たとえ、表向きになっているプリミティブ面PL1が光源LSからのα値の光で透明又は半透明になっても、裏向きになっているプリミティブ面PL2が描画されてしまうと、裏向きの不透明なPL2がプレーヤの視点VPから見えてしまう。従って、PL2の存在が障害となって、その向こう側が見なくなってしまう不具合(図6(A)、図7(A)参照)が生じる。
【0109】
本実施形態によれば、このような場合にも、カリング処理を行い、裏向きのプリミティブ面PL2の描画処理を省略しているため、上記のような不具合が生じるのを効果的に防止できる。
【0110】
ここで、プリミティブ面が表向きか裏向きかは、プリミティブ面に設定されている法線ベクトルが、視線方向から遠ざかる方向に向いているか否かを調べることで判断できる。より具体的には、プリミティブ面が表向きか裏向きかは、プリミティブ面の頂点に与えられる頂点番号の割り振り順序により判断できる。例えば、頂点番号の割り振り順序が図9(B)のように反時計周りの場合には、そのプリミティブ面は表向きと判断され、図9(C)のように時計回りの場合には、裏向きと判断される(この逆でもかまわない)。そして裏向きと判断されたプリミティブ面の描画データ(パケット)については、描画プロセッサに転送しないようにする。これにより裏向きのプリミティブ面の描画が省略されるようになる。
【0111】
2.5 α値付き光源の選択
本実施形態では、複数の光源の中からα値付きの光源を選択し、選択されたα値付きの光源を用いて、オブジェクトにα値を設定するようにしている。即ち、全てのオブジェクトに対してα値付きの光源を適用するのではなく、α値付きの光源の適用対象となるオブジェクトと、適用対象とならないオブジェクトとを選別するようにしている。
【0112】
例えば図10において、α値付きの光源LSからのα値の光により、プレーヤが操作する移動オブジェクトOB1(自キャラクタ)が透明又は半透明に設定されてしまうと、不自然な画像がプレーヤの視点VPに映し出されてしまう。即ち、自身が操作する移動オブジェクトOB1が透明又は半透明になってしまい、プレーヤが不自然さを感じる。
【0113】
そこで本実施形態では図10に示すように、プレーヤが操作する移動オブジェクトOB1については、α値付きの光源LSによるα値設定処理の対象として選択しないようにする。即ち、移動オブジェクトOB1については光源LSを非選択にする。これにより、プレーヤの視点VPに不自然な画像が映し出されるのを防止できる。
【0114】
一方、移動オブジェクトOB1以外のオブジェクトOB2(OB1又はVPの近傍にあるオブジェクト)については、α値付きの光源LSによるα値設定処理の対象として選択するようにする。即ち、障害物となるオブジェクトOB2については光源LSを選択するようにする。これにより、図6(A)、図7(A)に示すような画像が生成されてしまう事態を防止でき、図6(B)、図7(B)に示すような画像を生成できるようになる。この結果、プレーヤがゲームプレイし易いプレイ環境を提供できる。
【0115】
なお、α値付きの光源LSが選択されず非使用となるオブジェクトは、図10に示すような移動オブジェクトOB1に限定されない。即ち、α値付きの光源LSによりα値が設定されると不自然な画像が生成されてしまうようなオブジェクトについては、α値付きの光源LSを選択せずに、非使用にすることが望ましい。
【0116】
2.6 負の値のα値成分
さて以上では、オブジェクトを、より透明にする正の値に、光源のα値成分が設定される場合について説明したが、α値成分を、オブジェクトを、より不透明にする負の値に設定するようにしてもよい。
【0117】
より具体的には上式(13)、(14)の照明モデルの式において、光源の強度情報のα値成分IαLを負の値に設定する。
【0118】
例えば図11(A)において、OB2は透明(又は半透明)なオブジェクトになっている。この透明なオブジェクトOB2が、強度情報として負のα値成分(オブジェクトを、より透明にするα値成分)を有する光源LSに照らされると、図11(B)に示すようにOB2は不透明になる。即ち、透明であったオブジェクトOB2が、光源LSからの負のα値成分の光に照らされて、徐々に不透明(半透明)になり、その姿を現すようになる。このようにすることで、従来には無い効果的な映像表現を少ない処理負荷で実現できる。
【0119】
例えば図11(A)において、オブジェクトOB2にデフォルトで設定されているα値(モデルデータが含むα値)が、α値の最大値である256であったとする。また、α値が大きいほどオブジェクトが透明になるものとする。
【0120】
この場合に図11(A)では、光源LSからの影響が無い(或いは少ない)ため、オブジェクトOB2のα値(OB2を構成するプリミティブ面のα値)は、最大値である256になり、OB2は完全に透明になる。
【0121】
一方、図11(B)に示すように、負のα値付きの光源LSがオブジェクトOB2に近づくと、光源LSからの負のα値の光に照らされて、OB2のα値が最大値256から減少する。これにより、オブジェクトOB2のα値が256よりも小さくなり、OB2が徐々に不透明になり、その姿を現すようになる。
【0122】
なお、オブジェクトOB2にデフォルト値として設定するα値は、効果的な映像表現の実現のために、より大きな値(OB2を、より透明にする値)であることが望ましいが、必ずしも最大値256(正規化した場合は1.0)である必要はない。
【0123】
2.7 負の値の色成分
さて本実施形態では、光源の強度情報の色成分(RGB成分)についても負の値に設定できるようにしている。そして、この負の値の色成分と照明モデルとに基づき、オブジェクトのシェーディング処理を行う。
【0124】
より具体的には上式(7)〜(12)の照明モデルの式において、光源の強度情報の色成分IRL、IGL、IBLを負の値に設定する。そして、これらのIRL、IGL、IBLを上式(7)〜(12)の照明モデルの式に代入することで得られたIR、IG、IBに基づいて、オブジェクトに陰影づけを施す。なお、環境光(広義には光源の1つ)の強度情報の色成分IRA、IGA、IBAを負の値に設定することも可能である。
【0125】
即ち、自然界には正の輝度(強度)しか存在しないため、上式(7)〜(12)の照明モデルにおいても、強度情報の色成分が正の値であることが前提となっていた。また、描画バッファに書き込まれても破綻しない値を照明モデルにより作り出す必要があるため、強度情報の色成分として負の値は使用しなかった。
【0126】
本実施形態は、このような現実世界の常識を覆し、負の値の色成分を導入したところにその特徴がある。
【0127】
このように負の値の色成分を導入することで、図12(A)、(B)に示すような黒のライト(ハイライト)を実現できる。
【0128】
即ち図12(A)では、強度情報として負の値の色成分を有する光源LS(以下、負の色成分の光源と呼ぶ)により、オブジェクトOB2が照らされている。これにより、オブジェクトOB2は、負の色成分の光源LSからの黒の光に照らされて、黒い陰影SD(影)が生成されるようになる。
【0129】
より具体的には、光源LSが無い場合のオブジェクトOB2のデフォルトの色成分(環境光の色成分やテクスチャの色成分)の値が、光源LSからの負の色成分の光により減じられる。これにより、図12(A)に示すように、光源LSの光に照らされている部分は、この光に照らされていない部分に比べて、より暗くなる。この結果、あたかも黒の光で照らされたように見える陰影SDを得ることができる。
【0130】
なお、光源LSを点光源にすれば(図8(A)参照)、図12(A)、(B)に示すように、光源LSとオブジェクトOB2との距離が近づくほど濃くなり、離れるほど薄くなる陰影SD(影)を生成できるようになる。
【0131】
2.8 視点又は移動オブジェクトへの負の色成分の光源の追従
さて、本実施形態では、移動オブジェクト(或いはプレーヤの視点)に追従させて、負の色成分の光源を移動させている。これにより、例えば、移動オブジェクトの影を生成することなどが可能になる。
【0132】
より具体的には図13に示すように、負の色成分の光源LSをプレーヤが操作する移動オブジェクトOB1に追従させて移動させる。即ち、負の色成分の光源LSを移動オブジェクトOB1の近傍(例えばOB1を通る中心線上の位置)に配置し、OB1が上下左右方向に移動した場合には、その移動に追従させて光源LSも上下左右方向に移動させる。
【0133】
このようにすると図13に示すように、光源LSからの黒の光により、オブジェクトOB2(例えばマップオブジェクト)上に黒い影SW(陰影)を生成できるようになる。そして、移動オブジェクトOB1が移動すると、これに追従して光源LSも移動し、この光源LSからの黒い光により生成された影SWも移動するようになる。従って、あたかも移動オブジェクトOB1の本当の影が生成されたかのような画像を生成でき、プレーヤの仮想現実感を増すことができる。
【0134】
また本実施形態によれば、負の色成分の光源LSを移動オブジェクトOB1に追従させるだけという簡素な処理でOB1の影SWを生成でき、少ない処理負荷でリアルな画像を生成できる。
【0135】
なお、負の色成分の光源LSの配置位置は、移動オブジェクトOB1の形状に応じて変化させることが望ましい。例えば、移動オブジェクトOB1の幅が太い場合には、オブジェクトOB2からより近い位置に光源LS(点光源)を配置する。一方、移動オブジェクトOB1の幅が細い場合には、オブジェクトOB2からより遠い位置に光源LS(点光源)を配置する。このようにすれば、幅の太い移動オブジェクトでは大きな影が生成され、幅の細い移動オブジェクトでは小さな影が生成されるようになり、少ない処理負荷でリアルな画像を生成できる。
【0136】
また、例えば図14(A)に示すように、オブジェクトOB1(キャラクタ)の肘と胸の中間付近に負の色成分の光源LS1、LS2を配置すれば、図14(B)に示すように、OB1の腋の下がほど良く暗くなるような陰影をつけることができ、より好適な画像を生成できる。
【0137】
例えば、現実世界の現象に忠実なシェーディング処理を行い図14(B)に示すような画像を生成しようとすると、処理負荷が過大になるという問題がある。本実施形態によれば、図14(A)に示すように、オブジェクトOB1の各部分のうち陰影づけを施したいと意図する部分付近に、負の色成分の補助的な光源LS1、LS2を配置するだけで、図14(B)に示すような画像を生成できる。これにより、少ない処理負荷で演出効果の高い画像を生成することに成功している。
【0138】
2.9 負の色成分の光源の選択
本実施形態では、複数の光源の中から負の色成分の光源を選択し、選択された負の色成分の光源を用いて、オブジェクトのシェーディング処理を行うようにしている。即ち、全てのオブジェクトに対して負の色成分の光源を適用するのではなく、負の色成分の光源の適用対象となるオブジェクトと、適用対象とならないオブジェクトとを選別するようにしている。
【0139】
例えば図15において、負の色成分の光源LSからの黒の光により、移動オブジェクトOB1(自キャラクタ)に影(陰影)がついてしまうと、不自然な画像が生成されてしまう。即ち、移動オブジェクトOB1に自身の影がついてしまい、プレーヤが不自然さを感じる。
【0140】
そこで本実施形態では図15に示すように、移動オブジェクトOB1については、負の色成分の光源LSによるシェーディング処理の対象として選択しないようにする。即ち、移動オブジェクトOB1については光源LSを非選択にする。これにより、移動オブジェクトOB1に不自然な影がついてしまう事態を防止できる。
【0141】
一方、移動オブジェクトOB1以外のオブジェクトOB2(OB1の近傍にあるオブジェクト)については、負の色成分の光源LSによるシェーディング処理の対象として選択するようにする。即ち、影をつける対象となるオブジェクトOB2については光源LSを選択するようにする。これにより、図15に示すように、移動オブジェクトOB2の影SWを適正に生成できるようになる。
【0142】
なお、負の色成分の光源LSが選択されず非使用となるオブジェクトは、図15に示すような移動オブジェクトOB1に限定されない。即ち、負の色成分の光源LSによりシェーディング処理が行われると不自然な画像が生成されてしまうようなオブジェクト(或いはオブジェクトの部分)については、負の色成分の光源LSを選択せずに、非使用にすることが望ましい。
【0143】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図16、図17、図18のフローチャートを用いて説明する。
【0144】
まず、環境光の強度のRGBαの各成分(IRA、IGA、IBA、IαA)を、RAM又は情報記憶媒体等から読み込む(ステップS1)。次に、ポリゴンの頂点の環境光に対する反射係数のRGBαの各成分(KRA、KGA、KBA、KαA)を読み込む(ステップS2)。そして、環境光についてのシェーディング(照光)処理を行い、頂点の光の強度(輝度)のRGBαの各成分(IR、IG、IB、Iα)を求める(ステップS3)。即ち、例えばIR=KRA×IRA、IG=KGA×IGA、IB=KBA×IBA、Iα=KαA×IαAの計算を行う。
【0145】
次に、複数の光源の中から、当該ポリゴン(広義にはプリミティブ面)に使用すべき光源を選択する(ステップS4。図10、図15参照)。そして、その光源の方向ベクトルを読み込む(ステップS5)。
【0146】
次に、ポリゴンの頂点の法線ベクトルを読み込み(ステップS6)、cosθ(θは方向ベクトルと法線ベクトルのなす角度)を求める(ステップS7)。即ち、光源の方向ベクトルとポリゴンの頂点の法線ベクトルとの内積を求める。
【0147】
次に、求められたcosθが0よりも小さいか否かを判断し(ステップS8)、小さい場合にはその光源に関する処理を終了し、ステップS14に進む。
【0148】
一方、cosθが0以上の場合には、光源の強度のRGBαの各成分(IRL、IGL、IBL、IαL)を読み込む(ステップS9)。そして、選択された光源が点光源か否かを判断し(ステップS10)、点光源の場合には、光源と頂点との距離に応じて光の強度を減衰させる(ステップS11。図8(A)参照)。
【0149】
次に、ポリゴンの頂点の光源に対する反射係数のRGBαの各成分(KRD、KGD、KBD、KαD)を読み込む(ステップS12)。そして、光源についてのシェーディング(照光)処理を行い、頂点の光の強度(輝度)のRGBαの各成分(IR、IG、IB、Iα)を修正する(ステップS13)。即ち、例えば、図16のステップS3で得られた計算結果を修正して、IR=KRA×IRA+KRD×IRL×cosθ、IG=KGA×IGA+KGD×IGL×cosθ、IB=KBA×IBA+KBD×IBL×cosθ、Iα=KαA×IαA+KαD×IαL×cosθの計算を行う。
【0150】
次に、すべての光源について処理が終了したか判断し(ステップS14)、終了していない場合にはステップS4に戻る。
【0151】
一方、終了した場合には、頂点の光の強度のRGBα成分(IR、IG、IB、Iα)が、描画バッファの最小値(例えば0)よりも小さいか否かを判断し(ステップS15)、小さい場合には、描画バッファの最小値にクランプする(ステップS16)。
【0152】
次に、頂点の光の強度のRGBα成分が、描画バッファの最大値(例えば255)よりも大きいか否かを判断し(ステップS17)、大きい場合には、描画バッファの最大値にクランプする(ステップS18)。
【0153】
以上のようにして、ポリゴン(プリミティブ面)の各頂点についての処理が完了する。そして、これらの処理をすべての頂点、すべてのポリゴンに対して行うことで、ポリゴンにより構成されるオブジェクトに対するα値の設定処理が完了する。
【0154】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図19を用いて説明する。
【0155】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0156】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0157】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0158】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0159】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0160】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0161】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0162】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0163】
RAM960は、各種プロセッサの作業領域として用いられる。
【0164】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0165】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0166】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0167】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現(実行)してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0168】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0169】
図20(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100、1101上に映し出されたゲーム画像を見ながら、ガン型コントローラ1102、1103などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0170】
図20(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ガン型コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0171】
図20(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム(格納情報)は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0172】
なお、図20(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0173】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0174】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0175】
例えば本発明の照明モデルとしては、本実施形態で説明したものに限定されず、シェーディング処理で使用される種々の照明モデルを採用できる。
【0176】
また、オブジェクトに設定されたα値は、半透明処理以外の種々の処理(例えばマスク処理)に使用できる。
【0177】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0178】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0179】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】図2(A)、(B)は、照明モデルについて説明するための図である。
【図3】光源の強度情報としてα値成分を持たせる手法について説明するための図である。
【図4】図4(A)、(B)は、障害物オブジェクトによりプレーヤの視界が妨げられる問題について説明するための図である。
【図5】α値付きの光源を視点又は移動オブジェクトに追従させる手法について説明するための図である。
【図6】図6(A)、(B)は、本実施形態により生成されるゲーム画像について説明するための図である。
【図7】図7(A)、(B)も、本実施形態により生成されるゲーム画像について説明するための図である。
【図8】図8(A)、(B)は、α値付きの光源として点光源を用いる手法について説明するための図である。
【図9】図9(A)、(B)は、視点から見て裏向きのポリゴンの描画処理を省略する手法について説明するための図である。
【図10】オブジェクトに適用する光源として複数の光源の中からα値付きの光源を選択する手法について説明するための図である。
【図11】図11(A)、(B)は、光源の強度情報のα値成分を負の値に設定する手法について説明するための図である。
【図12】図12(A)、(B)は、光源の強度情報の色成分を負の値に設定する手法について説明するための図である。
【図13】負の色成分の光源を移動オブジェクトに追従させてその影を生成する手法について説明するための図である。
【図14】図14(A)、(B)は、光源の種々の配置手法について説明するための図である。
【図15】オブジェクトに適用する光源として複数の光源の中から負の色成分の光源を選択する手法について説明するための図である。
【図16】本実施形態の処理の詳細例について示すフローチャートである。
【図17】本実施形態の処理の詳細例について示すフローチャートである。
【図18】本実施形態の処理の詳細例について示すフローチャートである。
【図19】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図20】図20(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
LS 光源
VP 視点
OB1 移動オブジェクト
OB2 オブジェクト
SD 陰影
SW 影
100 処理部
110 移動・動作演算部
112 仮想カメラ(視点)制御部
114 シェーディング処理部
116 α値設定部
120 画像生成部
130 音生成部
160 操作部
170 記憶部
172 主記憶部
174 描画バッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

Claims (15)

  1. 画像生成を行う画像生成システムであって、
    光源の強度情報として色成分の他にα値成分を持たせ、該光源の強度情報のα値成分と該光源の強度情報の関数である照明モデルとに基づいて、オブジェクトにα値を設定するための処理を行うα値設定手段と、
    α値が設定されたオブジェクトの画像を生成する手段とを含み、
    前記光源として点光源が使用され、
    前記α値設定手段が、
    前記点光源とオブジェクトとの距離に応じて、オブジェクトに設定されるα値を変化させることを特徴とする画像生成システム。
  2. 請求項1において、
    プレーヤの視点又は移動オブジェクトがオブジェクト空間で移動する場合に、該視点の移動又は該移動オブジェクトの移動に追従させて、強度情報としてα値成分を有する前記光源を移動させることを特徴とする画像生成システム。
  3. 請求項2において、
    移動する前記光源を用いて、オブジェクトのα値が設定され、該オブジェクトの全部又は一部が透明又は半透明にされることを特徴とする画像生成システム。
  4. 請求項3において、
    強度情報としてα値成分を有する前記光源によりα値が設定されるオブジェクトのプリミティブ面が、視点から見て裏向きの場合には、該プリミティブ面の描画処理が省略されることを特徴とする画像生成システム。
  5. 請求項1乃至のいずれかにおいて、
    オブジェクトに使用される光源として複数の光源の中から強度情報としてα値成分を有する光源が選択され、選択された光源を用いて、該オブジェクトにα値が設定されることを特徴とする画像生成システム。
  6. 請求項において、
    プレーヤが操作する移動オブジェクトについては、強度情報としてα値成分を有する光源が非選択となる一方で、プレーヤが操作する移動オブジェクト以外のオブジェクトについて、強度情報としてα値成分を有する光源が選択され、選択された該光源を用いて該オブジェクトにα値が設定されることを特徴とする画像生成システム。
  7. 請求項1乃至のいずれかにおいて、
    前記α値成分が、オブジェクトをより不透明にする負の値に設定され、負の値のα値成分と前記照明モデルとに基づいて、オブジェクトのα値が設定されることを特徴とする画像生成システム。
  8. 光源の強度情報として色成分の他にα値成分を持たせ、該光源の強度情報のα値成分と該光源の強度情報の関数である照明モデルとに基づいて、オブジェクトにα値を設定するための処理を行うα値設定手段と
    α値が設定されたオブジェクトの画像を生成する手段としてコンピュータを機能させ
    前記光源として点光源が使用され、
    前記α値設定手段が、
    前記点光源とオブジェクトとの距離に応じて、オブジェクトに設定されるα値を変化させることを特徴とするプログラム。
  9. 請求項において、
    プレーヤの視点又は移動オブジェクトがオブジェクト空間で移動する場合に、該視点の移動又は該移動オブジェクトの移動に追従させて、強度情報としてα値成分を有する前記光源を移動させることを特徴とするプログラム。
  10. 請求項において、
    移動する前記光源を用いて、オブジェクトのα値が設定され、該オブジェクトの全部又は一部が透明又は半透明にされることを特徴とするプログラム。
  11. 請求項10において、
    強度情報としてα値成分を有する前記光源によりα値が設定されるオブジェクトのプリミティブ面が、視点から見て裏向きの場合には、該プリミティブ面の描画処理が省略されることを特徴とするプログラム。
  12. 請求項乃至11のいずれかにおいて、
    オブジェクトに使用される光源として複数の光源の中から強度情報としてα値成分を有する光源が選択され、選択された光源を用いて、該オブジェクトにα値が設定されることを特徴とするプログラム。
  13. 請求項12において、
    プレーヤが操作する移動オブジェクトについては、強度情報としてα値成分を有する光源が非選択となる一方で、プレーヤが操作する移動オブジェクト以外のオブジェクトについて、強度情報としてα値成分を有する光源が選択され、選択された該光源を用いて該オブジェクトにα値が設定されることを特徴とするプログラム。
  14. 請求項乃至13のいずれかにおいて、
    前記α値成分が、オブジェクトをより不透明にする負の値に設定され、負の値のα値成分と前記照明モデルとに基づいて、オブジェクトのα値が設定されることを特徴とするプログラム。
  15. コンピュータにより読み取り可能な情報記憶媒体であって、請求項乃至14のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2001183091A 2001-06-18 2001-06-18 画像生成システム、プログラム及び情報記憶媒体 Expired - Lifetime JP4707078B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001183091A JP4707078B2 (ja) 2001-06-18 2001-06-18 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001183091A JP4707078B2 (ja) 2001-06-18 2001-06-18 画像生成システム、プログラム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2002373348A JP2002373348A (ja) 2002-12-26
JP4707078B2 true JP4707078B2 (ja) 2011-06-22

Family

ID=19023084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001183091A Expired - Lifetime JP4707078B2 (ja) 2001-06-18 2001-06-18 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4707078B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007098051A (ja) * 2005-10-07 2007-04-19 Samii Kk 遊技機
JP4201207B2 (ja) * 2005-11-21 2008-12-24 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
JP4566120B2 (ja) * 2005-11-21 2010-10-20 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
JP4878240B2 (ja) * 2006-08-10 2012-02-15 株式会社ソニー・コンピュータエンタテインメント 画像表示制御装置、画像表示方法及びプログラム
JP5062632B2 (ja) * 2008-07-23 2012-10-31 サミー株式会社 画像生成装置、遊技機、及びプログラム
EP2241988B1 (en) 2009-04-14 2018-07-25 Dassault Systèmes Method, program and product edition system for visualizing objects displayed on a computer screen

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06343141A (ja) * 1992-04-24 1994-12-13 Sony United Kingdom Ltd 映像特殊効果装置及び方法
JPH06348859A (ja) * 1993-06-11 1994-12-22 Ricoh Co Ltd 立体画像処理装置
JP2000048225A (ja) * 1998-07-31 2000-02-18 Sega Enterp Ltd 画像処理装置
JP2001076176A (ja) * 1999-09-09 2001-03-23 Namco Ltd テクスチャ画像処理装置および方法
JP2002251625A (ja) * 2001-02-22 2002-09-06 Sega Corp 画像処理装置、画像処理方法、及びコンピュータ上で動作する画像処理プログラムを記録した記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06343141A (ja) * 1992-04-24 1994-12-13 Sony United Kingdom Ltd 映像特殊効果装置及び方法
JPH06348859A (ja) * 1993-06-11 1994-12-22 Ricoh Co Ltd 立体画像処理装置
JP2000048225A (ja) * 1998-07-31 2000-02-18 Sega Enterp Ltd 画像処理装置
JP2001076176A (ja) * 1999-09-09 2001-03-23 Namco Ltd テクスチャ画像処理装置および方法
JP2002251625A (ja) * 2001-02-22 2002-09-06 Sega Corp 画像処理装置、画像処理方法、及びコンピュータ上で動作する画像処理プログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2002373348A (ja) 2002-12-26

Similar Documents

Publication Publication Date Title
US7046242B2 (en) Game system, program and image generating method
JP4610748B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3538393B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
JP4734137B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3280355B2 (ja) 画像生成システム及び情報記憶媒体
JP4223244B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4707078B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3413383B2 (ja) ゲームシステム及び情報記憶媒体
JP4229319B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4159082B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4577968B2 (ja) ゲームシステム及び情報記憶媒体
JP4651204B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4913399B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP4704615B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4229317B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP4056035B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001084390A (ja) 画像生成システム及び情報記憶媒体
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4728510B2 (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

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: 20110309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

R150 Certificate of patent or registration of utility model

Ref document number: 4707078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140325

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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