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

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

Info

Publication number
JP2002216167A
JP2002216167A JP2001005777A JP2001005777A JP2002216167A JP 2002216167 A JP2002216167 A JP 2002216167A JP 2001005777 A JP2001005777 A JP 2001005777A JP 2001005777 A JP2001005777 A JP 2001005777A JP 2002216167 A JP2002216167 A JP 2002216167A
Authority
JP
Japan
Prior art keywords
virtual camera
point
constituent
image
distance
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.)
Withdrawn
Application number
JP2001005777A
Other languages
English (en)
Inventor
Shigeru Kikko
繁 橘高
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 JP2001005777A priority Critical patent/JP2002216167A/ja
Publication of JP2002216167A publication Critical patent/JP2002216167A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/663Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera

Landscapes

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

Abstract

(57)【要約】 【課題】 仮想カメラがオブジェクトの裏側に潜り込ん
でしまう不具合を解決できる画像生成システム、プログ
ラム及び情報記憶媒体を提供すること。 【解決手段】 仮想カメラVCと水面オブジェクトWS
の頂点CP1〜CP7との距離が近づくにつれて頂点を
仮想カメラVCから離れる方向に変位させて、VCがW
Sの裏側に潜り込むのを防止する。ZFARより近い頂点
CP2〜7については仮想カメラVCから離れる方向に
変位させる一方でZFARより遠い構成点CP1について
は変位させない。ZNEARより近い頂点CP6や仮想カメ
ラVCの後方の頂点CP7については一定距離AMAX
だけ変位させる。水面オブジェクトWSの形状を関数を
用いて時間経過に伴い波状に変形させる。頂点を変位さ
せる方向は、視点座標系のZ軸に直交する方向(Y軸)
である。座標と時間を引数とする関数の返値に基づき水
面オブジェクトWSの頂点を求める。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像生成システ
ム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】従来よ
り、仮想的な3次元空間であるオブジェクト空間内にお
いて仮想カメラ(所与の視点)から見える画像を生成す
る画像生成システム(ゲームシステム)が知られてお
り、いわゆる仮想現実を体験できるものとして人気が高
い。ロールプレイングゲーム(RPG)を楽しむことが
できる画像生成システムを例にとれば、プレーヤは、自
身の分身であるキャラクタ(オブジェクト)を操作して
オブジェクト空間内のマップ上で移動させ、敵キャラク
タと対戦したり、他のキャラクタと対話したり、様々な
町を訪れたりすることでゲームを楽しむ。
【0003】さて、このような画像生成システムでは、
プレーヤの仮想現実感の向上のために、よりリアルな画
像を生成することが重要な課題になっている。
【0004】従って、ゲーム画面中に表示される水面の
波等についても、よりリアルに表現できることが望まれ
る。
【0005】そして、ゲーム画面中に表示される波の迫
力を強調するためには、仮想カメラ(視点)を水面オブ
ジェクトにできるだけ近づけることが効果的である。
【0006】しかしながら、このように仮想カメラを波
に近づけると、ポリゴンで構成される水面オブジェクト
(波)の裏側に仮想カメラが潜り込んでしまうなどの不
具合が生じることが判明した。
【0007】この場合、例えば木やキャラクタなどの小
さなオブジェクトでは、仮想カメラの視野を妨げるオブ
ジェクトを消去する手法を採用することで、オブジェク
トの裏側に仮想カメラが潜り込んでしまう不具合を解決
できる。
【0008】しかしながら、水面オブジェクトのように
広い範囲を占めるオブジェクトでは、このようにオブジ
ェクトを消去する手法を採用することは難しい。
【0009】本発明は、以上のような課題に鑑みてなさ
れたものであり、その目的とするところは、仮想カメラ
がオブジェクトの裏側に潜り込んでしまう不具合を少な
い処理負荷で解決できる画像生成システム、プログラム
及び情報記憶媒体を提供することにある。
【0010】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、画像生成を行う画像生成システムであっ
て、仮想カメラとオブジェクトの構成点との距離が近づ
くにつれて、構成点を仮想カメラから離れる方向に変位
させる構成点変位手段と、オブジェクト空間内において
仮想カメラから見える画像を生成する画像生成手段とを
含むことを特徴とする。また本発明に係るプログラム
は、コンピュータにより使用可能なプログラム(情報記
憶媒体又は搬送波に具現化されるプログラム)であっ
て、上記手段をコンピュータに実現させる(上記手段と
してコンピュータを機能させる)ことを特徴とする。ま
た本発明に係る情報記憶媒体は、コンピュータにより読
み取り可能(使用可能)な情報記憶媒体であって、上記
手段をコンピュータに実現させる(上記手段としてコン
ピュータを機能させる)ためのプログラムを含むことを
特徴とする。
【0011】本発明によれば、仮想カメラ(視点)との
距離(例えば仮想カメラが向く方向側での距離)が近づ
くと、仮想カメラから離れる方向に構成点が変位する。
従って、例えばこの構成点で形状が特定されるオブジェ
クトの裏側等に仮想カメラが潜り込んでしまう事態を防
止できる。
【0012】なお、仮想カメラと構成点の距離は奥行き
距離でもよいし、直線距離でもよいまた、距離と均等な
パラメータに基づいて構成点を変位させる場合も本発明
の範囲内に含まれる。
【0013】また本発明では、構成点を変位させること
で、仮想カメラから近い部分が仮想カメラから離れるよ
うにオブジェクトを局所的に変形させることが望まし
い。
【0014】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、仮想カメラからの距離が第
2の距離より近い構成点については、仮想カメラから離
れる方向に変位させ、仮想カメラからの距離が第2の距
離より遠い構成点については、仮想カメラから離れる方
向に変位させないことを特徴とする。
【0015】このようにすれば、仮想カメラからの距離
が近い構成点を局所的に変位させることが可能になり、
より自然な画像を生成できるようになる。
【0016】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、仮想カメラからの距離が第
1の距離より近い構成点又は仮想カメラより後方にある
構成点については、仮想カメラから離れる方向に一定距
離だけ変位させることを特徴とする。
【0017】このようにすれば、オブジェクトの構成点
が不必要に大きく変位する事態を防止できる。
【0018】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、オブジェクトの面の形状
が、時間経過に伴い波状に変形することを特徴とする。
【0019】本発明によれば、このように面形状が波状
にリアルタイムに変形するオブジェクトにおいても、仮
想カメラとオブジェクトとを、直ぐ近くまで接近させる
ことが可能になり、水面の波等の表現に好適な迫力のあ
る画像を生成できるようになる。
【0020】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、構成点を変位させる前記方
向が、仮想カメラの視点座標系での奥行き方向の座標軸
に直交する方向であることを特徴とする。
【0021】このようにすれば、仮想カメラがオブジェ
クトの裏側に潜り込む不具合を、より確実に防止できる
ようになる。なお、この場合には、仮想カメラと構成点
との距離を、視点座標系での奥行き方向の座標に基づい
て求めることが望ましい。
【0022】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、オブジェクトの面の上方側
及び下方側の一方側に仮想カメラが設定され、構成点を
変位させる前記方向が、上方側及び下方側の他方側であ
ることを特徴とする。
【0023】このようにすれば、オブジェクトの面の上
方側に仮想カメラが設定されている場合(仮想カメラの
移動経路がある場合)には、下方側に構成点が変位する
ようになる。一方、オブジェクトの面の下方側に仮想カ
メラが設定されている場合には、上方側に構成点が変位
するようになる。
【0024】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、関数の返値に基づいてオブ
ジェクトの構成点の座標を求める構成点演算手段(該手
段を実現するためのプログラム、モジュール)を含み、
前記構成点演算手段により座標が求められた構成点が、
前記構成点変位手段により変位されることを特徴とす
る。
【0025】本発明によれば、オブジェクトの構成点の
座標(第1、第2、第3の座標)が関数(関数の返値)
に基づき求められる。従って、モーションデータに基づ
き構成点を求める手法に比べて、少ないデータ量で多様
な形状のオブジェクトの画像を生成できるようになる。
【0026】そして本発明によれば、このように関数に
基づき構成点の座標がリアルタイムに求められるような
場合にも、求められた構成点を変位させることで、仮想
カメラがオブジェクトの裏側に潜り込む不具合を防止で
きるようになる。
【0027】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記構成点演算手段が、オ
ブジェクトの構成点を求めるために設定されたサンプリ
ング点の座標と時間とを引数とする関数に基づいて、オ
ブジェクトの構成点の座標を求めることを特徴とする。
【0028】このようにすれば、オブジェクトの形状を
時間経過に伴い変形させる処理を、少ない負荷で実現で
きるようになる。また、例えばサンプリング点の設定を
イベント(ゲームステージ変化イベント、ゲーム場面変
化イベント、ヒットイベント、爆発イベント、発射イベ
ント、衝突イベント又は消滅イベント等)の発生や、時
間経過に伴い変化させることで、より多様な形状のオブ
ジェクトの画像を生成できるようになる。
【0029】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記サンプリング点が所与
のベース面に設定され、前記オブジェクトが、前記構成
点により形状が特定される面を有するオブジェクトであ
ることを特徴とする。
【0030】このようにすれば、オブジェクトの面の形
状を波のように変形させる処理を、簡素な処理で実現で
きる。
【0031】また本発明は、画像生成を行う画像生成シ
ステムであって、オブジェクトの面の上方側及び下方側
の一方側に設定される仮想カメラを制御する仮想カメラ
制御手段と、オブジェクトの面の各部分のうち、仮想カ
メラから近い距離の部分が局所的に上方側及び下方側の
他方側に変位するように、オブジェクトを変形させるオ
ブジェクト変形手段と、オブジェクト空間内において仮
想カメラから見える画像を生成する画像生成手段とを含
むことを特徴とする。また本発明に係るプログラムは、
コンピュータにより使用可能なプログラム(情報記憶媒
体又は搬送波に具現化されるプログラム)であって、上
記手段をコンピュータに実現させる(上記手段としてコ
ンピュータを機能させる)ことを特徴とする。また本発
明に係る情報記憶媒体は、コンピュータにより読み取り
可能(使用可能)な情報記憶媒体であって、上記手段を
コンピュータに実現させる(上記手段としてコンピュー
タを機能させる)ためのプログラムを含むことを特徴と
する。
【0032】本発明によれば、オブジェクトの面の上方
側に仮想カメラが設定されている場合には、仮想カメラ
から近い距離の部分が局所的に下方側に変位するよう
に、オブジェクトが変形されるようになる。一方、オブ
ジェクトの面の下方側に仮想カメラが設定されている場
合には、仮想カメラから近い距離の部分が局所的に上方
側に変位するように、オブジェクトが変形されるように
なる。従って、例えば仮想カメラとオブジェクトが近づ
いた場合にもオブジェクトの裏側に仮想カメラが潜り込
んでしまう事態などを防止できる。
【0033】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記オブジェクトの面の形
状が、時間経過に伴い波状に変形することを特徴とす
る。
【0034】本発明によれば、このように面形状が波状
にリアルタイムに変形するオブジェクトに対しても、仮
想カメラとオブジェクトとを、直ぐ近くまで接近させる
ことが可能になり、水面の波等の表現に好適な迫力のあ
る画像を生成できるようになる。
【0035】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて説明する。
【0036】1.構成 図1に、本実施形態の画像生成システム(ゲームシステ
ム)の機能ブロック図の一例を示す。なお同図において
本実施形態は、少なくとも処理部100を含めばよく
(或いは処理部100と記憶部170を含めばよく)、
それ以外のブロックについては任意の構成要素とするこ
とができる。
【0037】操作部160は、プレーヤが操作データを
入力するためのものであり、その機能は、レバー、ボタ
ン、マイク、或いは筺体などのハードウェアにより実現
できる。
【0038】記憶部170は、処理部100や通信部1
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
【0039】情報記憶媒体180(コンピュータにより
読み取り可能な媒体)は、プログラムやデータなどを格
納するものであり、その機能は、光ディスク(CD、D
VD)、光磁気ディスク(MO)、磁気ディスク、ハー
ドディスク、磁気テープ、或いはメモリ(ROM)など
のハードウェアにより実現できる。処理部100は、こ
の情報記憶媒体180に格納されるプログラム(デー
タ)に基づいて本発明(本実施形態)の種々の処理を行
う。即ち情報記憶媒体180には、本発明(本実施形
態)の手段(特に処理部100に含まれるブロック)を
コンピュータに実現(実行、機能)させるためのプログ
ラムが格納され、このプログラムは、例えば1又は複数
のモジュール(オブジェクト指向におけるオブジェクト
も含む)を含む。
【0040】なお、情報記憶媒体180に格納される情
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80には、本発明の処理を行うためのプログラム、画像
データ、音データ、表示物の形状データ、本発明の処理
を指示するための情報、或いはその指示に従って処理を
行うための情報などを含ませることができる。
【0041】表示部190は、本実施形態により生成さ
れた画像を出力するものであり、その機能は、CRT、
LCD、或いはHMD(ヘッドマウントディスプレイ)
などのハードウェアにより実現できる。
【0042】音出力部192は、本実施形態により生成
された音を出力するものであり、その機能は、スピーカ
などのハードウェアにより実現できる。
【0043】携帯型情報記憶装置194は、プレーヤの
個人データやゲームのセーブデータなどが記憶されるも
のであり、この携帯型情報記憶装置194としては、メ
モリカードや携帯型ゲーム装置などを考えることができ
る。
【0044】通信部196は、外部(例えばホスト装置
や他の画像生成システム)との間で通信を行うための各
種の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
【0045】なお本発明(本実施形態)の各手段を実現
(実行、機能)するためのプログラム(データ)は、ホ
スト装置(サーバー)が有する情報記憶媒体からネット
ワーク及び通信部196を介して情報記憶媒体180に
配信するようにしてもよい。このようなホスト装置(サ
ーバー)の情報記憶媒体の使用も本発明の範囲内に含ま
れる。
【0046】処理部100(プロセッサ)は、操作部1
60からの操作データやプログラムなどに基づいて、ゲ
ーム処理、画像生成処理、或いは音生成処理などの各種
の処理を行う。この場合、処理部100は、記憶部17
0内の主記憶部172をワーク領域として使用して、各
種の処理を行う。
【0047】ここで、処理部100が行う処理として
は、コイン(代価)の受け付け処理、各種モードの設定
処理、ゲームの進行処理、選択画面の設定処理、オブジ
ェクト(1又は複数のプリミティブ)の位置や回転角度
(X、Y又はZ軸回り回転角度)を求める処理、オブジ
ェクトを動作させる処理(モーション処理)、視点の位
置(仮想カメラの位置)や視線角度(仮想カメラの回転
角度)を求める処理、マップオブジェクトなどのオブジ
ェクトをオブジェクト空間へ配置する処理、ヒットチェ
ック処理、ゲーム結果(成果、成績)を演算する処理、
複数のプレーヤが共通のゲーム空間でプレイするための
処理、或いはゲームオーバー処理などを考えることがで
きる。
【0048】処理部100は、パラメータ設定部11
0、関数設定部112、構成点演算部114、構成点変
位部116、仮想カメラ制御部118、画像生成部12
0、音生成部130を含む。なお、処理部100に、こ
れらの全ての機能ブロック110〜130を含ませる必
要はなく、一部の機能ブロックを省略する構成にしても
よい。
【0049】ここでパラメータ設定部110は、水面
(波)オブジェクト等のオブジェクトの構成点(狭義に
は頂点又はプリミティブ点等。以下の説明でも同様)を
生成する関数に使用するパラメータである振幅パラメー
タ、波長(波数と等価)パラメータ又は角振動数(振動
数、周期と等価)パラメータ等を設定したり、構成点を
求めるために使用するベース面(複数のサンプリング点
が設定される面。メッシュ)を設定する処理などを行
う。
【0050】関数設定部112は、オブジェクト(面オ
ブジェクト、水面オブジェクト又は波オブジェクト等)
の構成点を生成する関数(ベース面を変形して面オブジ
ェクトを得るための関数)を設定する処理を行う。より
具体的には本実施形態では、オブジェクトの構成点を求
めるために設定されたサンプリング点(メッシュ点)の
座標(第1、第2、第3の座標。X、Z、Y座標)と時
間(仮想空間での経過時間又は現実世界での経過時間
等)とを引数とする関数を用意する。
【0051】構成点演算部114(オブジェクト変形
部)は、オブジェクトの構成点を求めるために設定され
たサンプリング点(自由曲面における制御点を含む)に
基づいてオブジェクトの構成点をリアルタイムに求める
処理を行う。より具体的には、関数設定部112で設定
された関数(関数の返値)に基づいて、オブジェクトの
構成点(頂点)の座標(第1、第2、第3の座標。X、
Z、Y座標)を求める処理を行い、オブジェクト(面オ
ブジェクト)の面の形状を時間経過に応じて変形させ
る。
【0052】そして本実施形態では、以上のようにして
求められた構成点(変位後の構成点)に基づいて、オブ
ジェクトの画像が生成される。より具体的には、構成点
に基づいてプリミティブデータ(ポリゴンデータ)が作
成され、このプリミティブデータを用いてプリミティブ
を描画することで、オブジェクトの画像(波の画像)が
生成される。
【0053】なお本実施形態では、構成点演算部114
が、オブジェクトの構成点の第3の座標(例えばY座
標)を、サンプリング点(メッシュ点)の第1の座標
(例えばX座標)と時間を引数とする第1の周期関数
(三角関数又は楕円関数等。以下の説明でも同様)と、
サンプリング点の第2の座標(例えばZ座標)と時間を
引数とする第2の周期関数との合成関数(第1、第2の
周期関数の加算、減算、乗算又は除算等により得られる
第3の周期関数)を用いて求めることが望ましい。この
ようにすることで、水面の波等の多様な表現を少ない処
理負荷で実現できるようになる。
【0054】また本実施形態では、パラメータ設定部1
10が、これらの第1、第2の周期関数(第3の周期関
数)の波長パラメータや角振動数パラメータや振幅パラ
メータの値を可変に設定(任意の値に設定)することが
望ましい。より具体的には、これらのパラメータの値を
イベント発生や時間経過に応じて変化させることが望ま
しい。このようにすることで、オブジェクトの第1、第
2の座標軸方向での波形状(波の高さに相当する第3の
座標)の波長(波数)や角振動数(振動数、周期)や振
幅が可変に設定されるようになる。
【0055】またオブジェクトがNURBS(Non Unif
orm Rational B-Spline)などの自由曲面(或いはサブ
ディビジョンサーフェス)で表される場合には、構成点
演算部114は、設定された分割数と制御点(サンプリ
ング点)とに基づき、分割数により決められる生成間隔
でオブジェクトの構成点を求める処理を行う。より具体
的には、パラメータを変化させながら自由曲面上の各構
成点を順次求める処理を行う。
【0056】なお、分割数とは、制御点(オブジェクト
の形状を定義するための点)からオブジェクトの構成点
を求める際の、構成点の生成間隔を決めるパラメータで
ある。別の言い方をすれば、制御点の個数とその制御点
により生成される構成点の個数との比に相当するパラメ
ータである。
【0057】この分割数を変化させることで、オブジェ
クトの精密度(構成点数、プリミティブ数、ポリゴン
数)を可変に制御できるようになる。
【0058】構成点変位部116(オブジェクト変形
部)は、構成点演算部114で求められた構成点を、そ
の構成点と仮想カメラ(視点)との距離(奥行き距離又
は直線距離等)が近づくにつれて、仮想カメラから離れ
る方向に変位させる処理を行う。これにより例えば、オ
ブジェクトの上方側に仮想カメラが設定されている場合
には、オブジェクトの各部分のうち仮想カメラから近い
距離(仮想カメラが向く方向側での距離)の部分が局所
的に下方側に変位するようになる。一方、オブジェクト
の下方側に仮想カメラが設定されている場合には、オブ
ジェクトの各部分のうち仮想カメラから遠い距離の部分
が局所的に上方側に変位するようになる。
【0059】具体的には、仮想カメラの視点(カメラ)
座標系において、Z軸(奥行き方向の軸)に直交する方
向(例えば、X軸、Y軸或いはXY平面上の任意の軸の
方向)に構成点を変位させる。これにより、例えばオブ
ジェクトの面の上方側に仮想カメラが設定されている場
合には、構成点は下方側に変位するようになる。一方、
オブジェクトの面の下方側に仮想カメラが設定されてい
る場合には、構成点は上方側に変位するようになる。
【0060】仮想カメラ制御部118は、オブジェクト
空間内の所与(任意)の視点での画像を生成するための
仮想カメラを制御する処理を行う。即ち、仮想カメラの
位置(X、Y、Z)又は回転(X、Y、Z軸回りでの回
転)を制御する処理(視点位置や視線方向を制御する処
理)等を行う。
【0061】この場合に、仮想カメラの位置又は回転
は、オブジェクトの位置、方向又は速度などに応じて制
御することが望ましい。或いは、仮想カメラを、予め決
められた移動経路で移動させながら予め決められた角度
で回転させるようにしてもよい。この場合には、仮想カ
メラの位置(移動経路)や回転角度を特定するための仮
想カメラデータに基づいて仮想カメラを制御することに
なる。
【0062】画像生成部120は、処理部100で行わ
れる種々の処理の結果に基づいて画像処理を行い、ゲー
ム画像を生成し、表示部190に出力する。例えば、い
わゆる3次元のゲーム画像を生成する場合には、まず、
座標変換、クリッピング処理、透視変換、或いは光源計
算等のジオメトリ処理が行われ、その処理結果に基づい
て、プリミティブデータ(プリミティブの構成点(頂
点)の位置座標、テクスチャ座標、色(輝度)データ、
法線ベクトル或いはα値等)が作成される。そして、こ
のプリミティブデータ(ポリゴン、自由曲面又はサブデ
ィビジョンサーフェス等のプリミティブのデータ。描画
データ)に基づいて、ジオメトリ処理後のオブジェクト
(1又は複数のプリミティブ)の画像が、描画バッファ
174(フレームバッファ、ワークバッファ等のピクセ
ル単位で画像情報を記憶できるバッファ)に描画され
る。これにより、オブジェクト空間内において仮想カメ
ラ(所与の視点)から見える画像が生成されるようにな
る。
【0063】画像生成部120はテクスチャマッピング
部122を含み、テクスチャマッピング部122は、テ
クスチャ記憶部176に記憶されるテクスチャをオブジ
ェクトにマッピングするための処理を行う。
【0064】音生成部130は、処理部100で行われ
る種々の処理の結果に基づいて音処理を行い、BGM、
効果音、又は音声などのゲーム音を生成し、音出力部1
92に出力する。
【0065】なお、本実施形態の画像生成システムは、
1人のプレーヤのみがプレイできるシングルプレーヤモ
ード専用のシステムにしてもよいし、このようなシング
ルプレーヤモードのみならず、複数のプレーヤがプレイ
できるマルチプレーヤモードも備えるシステムにしても
よい。
【0066】また複数のプレーヤがプレイする場合に、
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0067】2.本実施形態の特徴 次に本実施形態の特徴について図面を用いて説明する。
なお、以下では、水面表現に本発明を適用した場合を主
に例にとり説明するが、本発明は、水面表現以外の他の
画像表現にも適用可能である。
【0068】2.1 関数を用いた構成点の生成 本実施形態では図2(A)に示すように、サンプリング
点SP1〜16(K×L個のサンプリング点。複数のサ
ンプリング点)がメッシュ状に等間隔で配置されるベー
ス面BS(メッシュ)を用意する。そして、このベース
面BSを変形(変換)して水面オブジェクトWS(広義
には面オブジェクト又はオブジェクト。以下の説明でも
同様)を得る。
【0069】より具体的には下式のように、ベース面B
Sのサンプリング点SP1〜16の座標(X、Y、Z)
と時間tとを引数とする関数Fを用いて、水面オブジェ
クトWS(波オブジェクト)の構成点CP1〜16(K
×L個の構成点。複数の構成点)の座標(XN、YN、
ZN)を求める。
【0070】 (XN、YN、ZN)=F(X、Y、Z、t) (1) なお、時間t(仮想空間での経過時間又は現実世界での
経過時間等)は、フレーム更新のタイミング(表示部に
出力する垂直同期信号VSYNCがアクティブになるタ
イミング)でカウントアップされるカウント値(カウン
ト値の変数)を用いて取得してもよいし、画像生成シス
テムが有するリアルタイムクロックのタイマを用いて取
得してもよい。
【0071】本実施形態では、上式(1)の関数Fとし
てトロコイド曲線の関数(トロコイド関数)を採用して
いる。ここでトロコイド曲線とは、図3に示すように、
半径aの円SPHが直線SL(底線)上を回転して転が
る場合に、回転する円SPHの中心の点Pから距離bだ
け離れた点PN(XN、YN)が描く軌跡である。
【0072】このトロコイド関数は、媒介変数θを用い
て下式のように表すことができる。
【0073】XN=aθ−bsinθ (2) YN=b−bcosθ (3) このトロコイド曲線の軌跡は、a、bの設定値により、
インフェリアトロコイド(a>bの場合)、サイクロイ
ド(a=bの場合)、スーパートロコイド(a<bの場
合)の3つのパターンに分けることができる。
【0074】今、点P(X、Y)=(aθ、b)を図2
(A)のサンプリング点とし、点PN(XN、YN)=
(aθ−bsinθ、b−bcosθ)を図2(A)の
構成点とすると、上式(2)、(3)は下式のように変
形できる。
【0075】XN=X+Rsinβ (4) YN=Y+Rcosβ (5) 但し上式(4)、(5)において、振幅パラメータR=
bであり、媒介変数β=θ−πである。
【0076】また、媒介変数βは、座標Xと時間tを用
いてβ=X×2π/λ+t×ωと表すことができるた
め、上式(4)、(5)は下式のように変形できる。
【0077】 XN=X+Rsin(X×2π/λ+t×ω) (6) YN=Y+Rcos(X×2π/λ+t×ω) (7) ここで、λは波長パラメータ(トロコイド曲線の回転角
サンプリングスケール)であり、ωは角振動数パラメー
タ(時間サンプリングスケール)である。
【0078】更に、座標XをX=MX×MSXと表すと、
上式(6)、(7)は下式のように変形できる。
【0079】 XN=MX×MSX+Rsin(MX×MSX×2π/λ+t×ω) (8) YN=Y+Rcos(MX×MSX×2π/λ+t×ω) (9) ここで、MXはX軸方向でのサンプリングカウンタ(サ
ンプリング点のカウンタ)であり、MSXはX軸方向で
のサンプリングスケール(X軸方向でのサンプリング点
間の距離)である。
【0080】なお、ゲーム中において各フレーム(イン
ター)での水面(波)を描画する際には、tはフレーム
カウンタになり、MXはループカウンタになる。
【0081】上式(8)、(9)を3次元に拡張すると
下式のようになる。但し、ベース面をX−Z平面とす
る。
【0082】 XN=MX×MSX+RXsin(MX×MSX×2π/λX+t×ωX)(10) YN=Y+H×{RXcos(MX×MSX×2π/λX+t×ωX)+ RZcos(MZ×MSZ×2π/λZ+t×ωZ)}(11) ZN=MZ×MSZ+RZsin(MZ×MSZ×2π/λZ+t×ωZ)(12) 但し、 MX:X軸方向でのサンプリングカウンタ MZ:Z軸方向でのサンプリングカウンタ MSX:X軸方向でのサンプリングスケール MSZ:Z軸方向でのサンプリングスケール RX:X軸方向での振幅パラメータ(回転半径) RZ:Z軸方向での振幅パラメータ(回転半径) λX:X軸方向での波長パラメータ λZ:Z軸方向での波長パラメータ ωX:X軸方向での角振動数パラメータ ωZ:Z軸方向での角振動数パラメータ H :波形のY軸方向スケール(振幅パラメータ) である。
【0083】なお、前述のように、 (XN、YN、ZN)=F(X、Y、Z、t) =F(MX×MSX、Y、MZ×MSZ、t) (13) の関係が成り立つ。
【0084】上式(11)は下式のように変形できる。
【0085】 YN=Y+H×{F1(MX×MSX、t)+F2(MZ×MSZ、t)} =Y+H×{F1(X、t)+F2(Z、t)} (14) 但し、 F1(X、t)=F1(MX×MSX、t) =RXcos(MX×MSX×2π/λX+t×ωX) (15) F2(Z、t)=F2(MZ×MSZ、t) =RZcos(MZ×MSZ×2π/λZ+t×ωZ) (16) である。
【0086】即ち本実施形態では図4に示すように、サ
ンプリング点の座標X(第1の座標)と時間tを引数と
する周期関数F1(X、t)(第1の周期関数)と、サ
ンプリング点の座標Z(第2の座標)と時間tを引数と
する周期関数F2(Z、t)(第2の周期関数)との合
成(加算、減算、乗算又は除算等)により得られる関数
(式(14))に基づいて、構成点の座標YN(第3の
座標)が求められる。
【0087】このようにして構成点の座標YN(波の高
さ)を求めることで、水面の波の形状を多様に変化させ
ることが可能になり、周期関数を用いているのにもかか
わらず、生成される波画像が単調になる事態を防止でき
る。
【0088】即ち、波長パラメータλX、λZ、角振動数
パラメータωX、ωZ、振幅パラメータRX、RZを種々の
値に設定することで、水面オブジェクトのX、Z座標軸
方向での波形状の波長や角振動数や振幅を多様に変化さ
せることが可能になり、各ゲーム場面に応じた適切な波
画像を生成できるようになる。
【0089】図5(A)、(B)、(C)に、本実施形
態において水面オブジェクトにマッピングされるムービ
ーテクスチャの画像例を示す。これらのムービーテクス
チャは水面(波の表面)の絵柄を表すテクスチャであ
り、これらのムービーテクスチャを連続して巡回的に再
生することで、水面をリアルに表現できる。
【0090】本実施形態では上式(10)、(11)、
(12)によりその座標が求められた構成点(頂点)に
基づいて、図6(A)のワイヤーフレーム表示に示され
るように、水面オブジェクトを構成する複数のポリゴン
(広義にはプリミティブ)を生成する。
【0091】そして、これらの各ポリゴンに対して図5
(A)、(B)、(C)に示すムービーテクスチャを巡
回的にマッピングすることで、図6(B)に示すような
波画像を生成できる。
【0092】なお、上式(10)に示すように、オブジ
ェクトの構成点(頂点)の座標XN(第1の座標)につ
いては、サンプリング点の座標Xと時間tを引数とする
周期関数F3(X、t)=RXsin(MX×MSX×2
π/λX+t×ωX)(第3の周期関数)に基づき求める
ことが望ましい。
【0093】また、上式(12)に示すように、オブジ
ェクトの構成点の座標ZN(第2の座標)については、
サンプリング点の座標Zと時間tを引数とする周期関数
F4(Z、t)=RZsin(MZ×MSZ×2π/λZ
t×ωZ)(第4の周期関数)に基づき求めることが望
ましい。
【0094】このように構成点の座標XN、ZNを周期
関数に基づいて求めるようにすれば、図7に示すよう
に、等間隔のサンプリング点SP1〜15を用いながら
も、波の波頭部分における構成点の密度を高くすること
が可能になる。
【0095】即ち、極大値又は極小値に近づくほど傾き
(変化量)が小さくなるという周期関数(sin、co
s)の特徴により、波形が急峻な波頭部分(図7のA
1)での構成点数が多くなり(構成点の密度が高くな
り)、その部分でのポリゴン(プリミティブ)の分割数
が多くなる。一方、波形が緩やかな部分(図7のA2)
での構成点数が少なくなり、その部分でのポリゴンの分
割数が少なくなる。
【0096】従って、波の波頭部分(A1)については
形状が時間経過に伴い大きく変化するためポリゴン分割
数をなるべく多くすべきであるという要請と、波形が緩
やかな部分(A2)については処理負荷を軽くするため
にポリゴン分割数をなるべく小さくすべきであるという
要請を両立できるようになる。これにより、少ない処理
負荷でよりリアルな画像をできる。
【0097】なお、構成点の座標XN、ZNを周期関数
に基づいて求めずに、周期関数ではない別の関数に基づ
いて求めたり、構成点の座標XN、ZNをサンプリング
点の座標X、Zに設定したりすることも可能である。
【0098】また、よりリアルな波画像の表現のために
は、求められた構成点の座標をせん断変形マトリックス
(shear matrix)を用いて変換することが望ましい。即
ち、求められた構成点のY座標(第1、第2、第3の座
標のうちの1つの座標)の大きさ(絶対値)に応じた変
位を、構成点のX座標又はZ座標(他の少なくとも1つ
の座標)に与え、波の形状がX座標方向又はY座標方向
に引き延ばされるような変形を実現する。このようにす
ることで、波が巻き込みながら迫って来る様子をリアル
に表現できるようになる。
【0099】2.2 波の高さ補正 さて、以上のような手法により水面オブジェクトWSの
構成点を求めれば、図6(B)に示すようなリアルな波
画像を生成できる。この場合にプレーヤから見える波画
像を、更にリアルにするためには、図8(A)に示すよ
うに仮想カメラVCを水面オブジェクトWSになるべく
近づけることが望ましい。このようにすれば、波10が
プレーヤの視点(VC)に向かって迫って来る様子をリ
アルに表現できる。
【0100】しかしながら、図8(A)のように仮想カ
メラVCを水面オブジェクトWSに近づけると、図8
(B)に示すように仮想カメラVCが水面オブジェクト
WSの裏側に潜り込んでしまう事態が生じる。そして、
このように仮想カメラVCが水面オブジェクトWSの裏
側に潜り込んでしまうと、サーフェスモデルである水面
オブジェクトWSの裏側に何も存在しないことが、プレ
ーヤに知られてしまい、プレーヤの仮想現実感を減退さ
せてしまう。
【0101】例えば図8(C)のように木やキャラクタ
等の小さなオブジェクトTOBが仮想カメラVCの邪魔
になる場合には、図8(D)に示すように、仮想カメラ
VCに近づいたオブジェクトTOBを消去してしまえば
よい(非表示にすればよい)。
【0102】しかしながら、図8(A)、(B)のよう
に広い範囲を占める水面オブジェクトWSでは、図8
(D)のようなオブジェクトを消去する手法を採用する
ことは困難である。
【0103】また、例えばレースゲームの道路オブジェ
クトのように形状が変形しない平坦なオブジェクトで
は、面の形状がリアルタイムに変形しないため、仮想カ
メラVCの位置を適当な高さに設定することで、道路オ
ブジェクトに仮想カメラVCが潜り込む不具合を回避で
きる。
【0104】しかしながら、図8(A)に示すように面
の形状が時間経過に伴いリアルタイムに波状(周期的)
に変形する水面オブジェクトWSでは、仮想カメラVC
の配置設定を工夫しても、仮想カメラVCが水面オブジ
ェクトWSの裏側に潜り込む不具合を解消することは難
しい。
【0105】この場合、水面オブジェクトWSとの位置
関係に応じて仮想カメラVCの位置や回転を制御するこ
とで、上記不具合を防止する手法も考えられる。
【0106】しかしながら、この手法を採用すると、水
面オブジェクトWSの位置や形状等を考慮して仮想カメ
ラを制御しなければならなくなるため、仮想カメラを制
御するプログラムのアルゴリズムが複雑になり、開発期
間の長期化等の問題を招く。
【0107】そこで本実施形態では、仮想カメラVCと
の距離に応じて水面オブジェクトWSの構成点を変位さ
せることで、図8(B)に示す不具合の発生を防止して
いる。
【0108】より具体的には図9(A)に示すように、
仮想カメラVCと水面オブジェクトWSとの距離(例え
ば奥行き距離又は直線距離)が近づくにつれて、水面オ
ブジェクトWSの構成点CP1、CP2、CP3、CP
4等を、仮想カメラVCから離れる方向に変位させる。
【0109】例えば、図9(A)に示すように仮想カメ
ラVCが水面オブジェクトWSの上方側にある場合に
は、構成点CP1〜CP4を下方側(仮想カメラVCの
視線方向に対して垂直な方向での下方側)に変位させ
る。
【0110】一方、仮想カメラVCが水面オブジェクト
WSの下方側にある場合には、構成点CP1〜CP4を
上方側(仮想カメラVCの視線方向に対して垂直な方向
での上方側)に変位させる。
【0111】このような波の高さ補正を行うことで、高
さ補正を行わない場合に生じる図9(B)に示す不具合
の発生を防止できる。
【0112】即ち図9(A)のように面の形状が時間経
過に伴い波状に変形する水面オブジェクトWSに対し
て、すれすれの位置に仮想カメラVCを配置した場合に
も、仮想カメラVCが水面オブジェクトWSの裏側に潜
り込んでしまう不具合が生じなくなる。そして、水面オ
ブジェクトWSの波10、12がプレーヤの視点(V
C)に向かって迫って来るように見える迫力のある波画
像を生成できるようになる。
【0113】2.3 波の局所的変位 本実施形態では、水面オブジェクトWSの各部分のうち
仮想カメラVCの距離が近い部分だけを局所的に変位さ
せるために、以下に説明するような補正手法を採用して
いる。
【0114】例えば図10において、仮想カメラVCの
視点(カメラ)座標系X−Y−Zを考える。この場合に
本実施形態では、水面オブジェクトWSの構成点CP
(図10のCP1〜CP7)の補正後のY座標は下式の
ように求められる。 Z’=(ZFAR−Z)/(ZFAR−ZNEAR) (17) Z”=AMAX×CLAMP(Z’) (18) YNEW=YOLD−Z” =YOLD−AMAX×CLAMP(Z’) =YOLD− AMAX×CLAMP{(ZFAR−Z)/(ZFAR−ZNEAR)} (19) ここで、Zは、構成点CPのZ座標(仮想カメラからの
奥行き距離)であり、YOLDは、補正前の構成点CP
のY座標(高さ)であり、YNEWは、補正後の構成点
CPのY座標である。
【0115】またZNEAR(第1の距離)は、図10に示
すように、仮想カメラVCから近い距離にある基準線L
1のZ座標(仮想カメラからの奥行き距離)であり、Z
FAR(第2の距離)は、仮想カメラVCから遠い距離に
ある基準線L2のZ座標である。これらのZNEAR、Z
FARは任意の値に設定できる。
【0116】また、AMAXは高さ補正の最大値であ
り、Z”=CLAMP(Z’)は、Z’>1.0の時に
Z”を1.0にクランプし、Z’<0.0の時にZ”を
0.0にクランプする関数(値域を0.0〜1.0にク
ランプする関数)である。
【0117】ZとZ’=(ZFAR−Z)/(ZFAR−Z
NEAR)の関係は図11(A)のようになる。即ち、Z=
NEARではZ’=1.0になり、Z=ZFARではZ’=
0.0になる。
【0118】また、ZとZ”=AMAX×CLAMP
(Z’)の関係は図11(B)のようになる。即ち、Z
<ZNEARでは、Z”=AMAXにクランプされ、Z>Z
FARでは、Z”=0.0にクランプされる。そして、Z
NEAR≦Z≦ZFARでは、Zに対してZ”が線形に変化す
る。
【0119】また、ZとYNEW=YOLD−Z”の関
係は図11(C)のようになる。即ち、Z<ZNEAR
は、YNEW=YOLD−AMAXにクランプされ、Z
>ZFA Rでは、YNEW=YOLDにクランプされる。
そして、ZNEAR≦Z≦ZFARでは、Zに対してYNEW
が線形に変化する。
【0120】以上のようにすれば、図10に示すよう
に、仮想カメラVCから見て基準線L2(ZFAR)より
も手前側の構成点CP2、CP3、CP4、CP5、C
P6、CP7(Z≦ZFARとなる構成点。仮想カメラか
らの距離が第2の距離より近い構成点)については、Y
軸方向(視点座標系)の下方向に変位するようになる
(仮想カメラから離れる方向に変位する)。
【0121】一方、仮想カメラVCから見て基準線L2
(ZFAR)よりも向こう側の構成点CP1(Z>ZFAR
なる構成点。仮想カメラからの距離が第2の距離より遠
い構成点)については、Y軸方向に変位しない。
【0122】このようにすることで、水面オブジェクト
WSの構成点のうち、基準線L2よりも手前側にある構
成点だけを、局所的にY軸方向に沿って下方向に変位さ
せることができる。従って、図10に示すように、面の
形状が時間経過に伴い波状に変化する水面オブジェクト
WSのすぐ近くに仮想カメラVCを配置した場合にも、
仮想カメラVCが水面オブジェクトWSの裏側に潜り込
んでしまう不具合が生じなくなり、より自然な画像を生
成できる。
【0123】また本実施形態では図10に示すように、
仮想カメラVCから見て基準線L1(ZNEAR)よりも手
前側の構成点CP6、CP7(Z≦ZNEARとなる構成
点。仮想カメラからの距離が第1の距離より近い構成点
又は仮想カメラより後方にある構成点)については、Y
軸方向に沿って下方向に一定距離AMAXだけ変位する
(仮想カメラから離れる方向に一定距離だけ変位す
る)。
【0124】このようにすれば、水面オブジェクトWS
の構成点が不必要に大きく変位する事態等を防止できる
ようになる。
【0125】なお、図10では、構成点をY軸方向(視
点座標系)に沿って下方向に変位させているが、例えば
仮想カメラVCが水面オブジェクトWSの下方で移動す
るような場合には、構成点をY軸方向に沿って上方向に
変位させてもよい。
【0126】また、構成点をX軸方向に沿って変位させ
たり、X、Y軸を含むXY平面内の所与の軸(Z軸に直
交する方向の軸)に沿って変位させることも可能であ
る。
【0127】図12(A)、(B)、図13(A)、
(B)に本実施形態により生成される波画像の例を示
す。
【0128】図12(A)〜図13(B)では、プレー
ヤの視点(仮想カメラ)の方に向かって波が徐々に迫っ
て来ている。これにより、プレーヤは、あたかも本当の
波が目の前に迫って来るかのような仮想現実を体験でき
る。
【0129】そして、図12(B)、図13(A)で
は、波が視点の方に近づくにつれて、波の波頭部分(構
成点)が下方向に徐々に変位している(図10参照)。
これにより、プレーヤの視点が波の裏側に潜り込んでし
まう不具合を防止でき、より高品質な画像を生成できる
ようになる。
【0130】3.本実施形態の処理 次に、本実施形態の処理の詳細例について、図14のフ
ローチャートを用いて説明する。
【0131】まず、フレーム更新(描画バッファの更
新)か否かを判断する(ステップS1)。これは、画像
生成システムのハードウェアが垂直同期のタイミングで
発生する割り込みに基づいて判断できる。
【0132】そして、フレーム更新と判断された場合に
は、波長パラメータや角振動数パラメータや振幅パラメ
ータなどの各種のパラメータの値を設定したり、図2
(A)、(B)に示すベース面BSの配置等を設定する
(ステップS2)。
【0133】次に、設定されたパラメータ等に基づき、
水面オブジェクト生成関数(式(10)、(11)、
(12)参照)を設定する(ステップS3)。より具体
的には、当該フレームでの水面オブジェクト生成関数の
返値を求めるためのテーブル(三角関数のテーブル)等
を用意する。
【0134】次に、座標変換(ローカル座標系からワー
ルド座標系、ワールド座標系から視点座標系、視点座標
系からスクリーン座標系への座標変換等)のための変換
マトリックスを予め求めておく(ステップS4)。
【0135】次に、ベース面のサンプリング点と、ステ
ップS3で設定された水面オブジェクト生成関数に基づ
き、水面オブジェクトの頂点(構成点)を求める(ステ
ップS5。図2(A)、(B)参照)。
【0136】次に、ステップS4で求められた変換マト
リックスを用いて頂点(頂点座標)を視点(カメラ)座
標系に変換する(ステップS6)。そして、図10で説
明したように、仮想カメラと頂点とのZ軸方向での距離
(視点座標系での頂点のZ座標)を求め、求められた距
離に基づいて、頂点をY軸方向に沿って下方向に変位さ
せる(ステップS7)。
【0137】次に、変位後の頂点(頂点座標)を、ステ
ップS4で求められた変換マトリックスを用いてスクリ
ーン座標系に変換する(ステップS8)。
【0138】次に、水面オブジェクトの全ての頂点につ
いての処理が終了したか否かを判断し(ステップS
9)、終了していない場合にはステップS5に処理を戻
す。一方、終了した場合には、ステップS5〜S8の処
理により作成されたポリゴンデータ(頂点の位置座標、
テクスチャ座標、色データ、法線ベクトル或いはα値等
を含むデータ)を描画プロセッサに転送する(ステップ
S10)。そして、このポリゴンデータに基づいて描画
プロセッサが水面オブジェクトを描画する(ステップS
11)。
【0139】以上のようにして、図12(A)〜図13
(B)に示すような、不具合の無いリアルな波画像を生
成できるようになる。
【0140】4.ハードウェア構成 次に、本実施形態を実現できるハードウェアの構成の一
例について図15を用いて説明する。
【0141】メインプロセッサ900は、CD982
(情報記憶媒体)に格納されたプログラム、通信インタ
ーフェース990を介して転送されたプログラム、或い
はROM950(情報記憶媒体の1つ)に格納されたプ
ログラムなどに基づき動作し、ゲーム処理、画像処理、
音処理などの種々の処理を実行する。
【0142】コプロセッサ902は、メインプロセッサ
900の処理を補助するものであり、高速並列演算が可
能な積和算器や除算器を有し、マトリクス演算(ベクト
ル演算)を高速に実行する。例えば、オブジェクトを移
動させたり動作(モーション)させるための物理シミュ
レーションに、マトリクス演算などの処理が必要な場合
には、メインプロセッサ900上で動作するプログラム
が、その処理をコプロセッサ902に指示(依頼)す
る。
【0143】ジオメトリプロセッサ904は、座標変
換、透視変換、光源計算、曲面生成などのジオメトリ処
理を行うものであり、高速並列演算が可能な積和算器や
除算器を有し、マトリクス演算(ベクトル演算)を高速
に実行する。例えば、座標変換、透視変換、光源計算な
どの処理を行う場合には、メインプロセッサ900で動
作するプログラムが、その処理をジオメトリプロセッサ
904に指示する。
【0144】データ伸張プロセッサ906は、圧縮され
た画像データや音データを伸張するデコード処理を行っ
たり、メインプロセッサ900のデコード処理をアクセ
レートする処理を行う。これにより、オープニング画
面、インターミッション画面、エンディング画面、或い
はゲーム画面などにおいて、MPEG方式等で圧縮され
た動画像を表示できるようになる。なお、デコード処理
の対象となる画像データや音データは、ROM950、
CD982に格納されたり、或いは通信インターフェー
ス990を介して外部から転送される。
【0145】描画プロセッサ910は、ポリゴンや曲面
などのプリミティブ(プリミティブ面)で構成されるオ
ブジェクトの描画(レンダリング)処理を高速に実行す
るものである。オブジェクトの描画の際には、メインプ
ロセッサ900は、DMAコントローラ970の機能を
利用して、オブジェクトデータを描画プロセッサ910
に渡すと共に、必要であればテクスチャ記憶部924に
テクスチャを転送する。すると、描画プロセッサ910
は、これらのオブジェクトデータやテクスチャに基づい
て、Zバッファなどを利用した陰面消去を行いながら、
オブジェクトをフレームバッファ922に高速に描画す
る。また、描画プロセッサ910は、αブレンディング
(半透明処理)、デプスキューイング、ミップマッピン
グ、フォグ処理、バイリニア・フィルタリング、トライ
リニア・フィルタリング、アンチエリアシング、シェー
ディング処理なども行うことができる。そして、1フレ
ーム分の画像がフレームバッファ922に書き込まれる
と、その画像はディスプレイ912に表示される。
【0146】サウンドプロセッサ930は、多チャンネ
ルのADPCM音源などを内蔵し、BGM、効果音、音
声などの高品位のゲーム音を生成する。生成されたゲー
ム音は、スピーカ932から出力される。
【0147】ゲームコントローラ942(レバー、ボタ
ン、筺体、パッド型コントローラ又はガン型コントロー
ラ等)からの操作データや、メモリカード944からの
セーブデータ、個人データは、シリアルインターフェー
ス940を介してデータ転送される。
【0148】ROM950にはシステムプログラムなど
が格納される。なお、業務用ゲームシステムの場合に
は、ROM950が情報記憶媒体として機能し、ROM
950に各種プログラムが格納されることになる。な
お、ROM950の代わりにハードディスクを利用する
ようにしてもよい。
【0149】RAM960は、各種プロセッサの作業領
域として用いられる。
【0150】DMAコントローラ970は、プロセッ
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
【0151】CDドライブ980は、プログラム、画像
データ、或いは音データなどが格納されるCD982
(情報記憶媒体)を駆動し、これらのプログラム、デー
タへのアクセスを可能にする。
【0152】通信インターフェース990は、ネットワ
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他の画
像生成システムとの間でのデータ転送が可能になる。
【0153】なお、本発明の各手段は、その全てを、ハ
ードウェアのみにより実現(実行)してもよいし、情報
記憶媒体に格納されるプログラムや通信インターフェー
スを介して配信されるプログラムのみにより実現しても
よい。或いは、ハードウェアとプログラムの両方により
実現してもよい。
【0154】そして、本発明の各手段をハードウェアと
プログラムの両方により実現する場合には、情報記憶媒
体には、本発明の各手段をハードウェアを利用して実現
するためのプログラムが格納されることになる。より具
体的には、上記プログラムが、ハードウェアである各プ
ロセッサ902、904、906、910、930等に
処理を指示すると共に、必要であればデータを渡す。そ
して、各プロセッサ902、904、906、910、
930等は、その指示と渡されたデータとに基づいて、
本発明の各手段を実現することになる。
【0155】図16(A)に、本実施形態を業務用ゲー
ムシステム(画像生成システム)に適用した場合の例を
示す。プレーヤは、ディスプレイ1100、1101上
に映し出されたゲーム画像を見ながら、ガン型コントロ
ーラ1102、1103などを操作してゲームを楽し
む。内蔵されるシステムボード(サーキットボード)1
106には、各種プロセッサ、各種メモリなどが実装さ
れる。そして、本発明の各手段を実現するためのプログ
ラム(データ)は、システムボード1106上の情報記
憶媒体であるメモリ1108に格納される。以下、この
プログラムを格納プログラム(格納情報)と呼ぶ。
【0156】図16(B)に、本実施形態を家庭用のゲ
ームシステム(画像生成システム)に適用した場合の例
を示す。プレーヤはディスプレイ1200に映し出され
たゲーム画像を見ながら、ガン型コントローラ120
2、1204などを操作してゲームを楽しむ。この場
合、上記格納プログラム(格納情報)は、本体システム
に着脱自在な情報記憶媒体であるCD1206、或いは
メモリカード1208、1209などに格納されてい
る。
【0157】図16(C)に、ホスト装置1300と、
このホスト装置1300とネットワーク1302(LA
Nのような小規模ネットワークや、インターネットのよ
うな広域ネットワーク)を介して接続される端末130
4-1〜1304-n(ゲーム機、携帯電話)とを含むシ
ステムに本実施形態を適用した場合の例を示す。この場
合、上記格納プログラム(格納情報)は、例えばホスト
装置1300が制御可能な磁気ディスク装置、磁気テー
プ装置、メモリなどの情報記憶媒体1306に格納され
ている。端末1304-1〜1304-nが、スタンドア
ロンでゲーム画像、ゲーム音を生成できるものである場
合には、ホスト装置1300からは、ゲーム画像、ゲー
ム音を生成するためのゲームプログラム等が端末130
4-1〜1304-nに配送される。一方、スタンドアロ
ンで生成できない場合には、ホスト装置1300がゲー
ム画像、ゲーム音を生成し、これを端末1304-1〜
1304-nに伝送し端末において出力することになる。
【0158】なお、図16(C)の構成の場合に、本発
明の各手段を、ホスト装置(サーバー)と端末とで分散
して実現するようにしてもよい。また、本発明の各手段
を実現するための上記格納プログラム(格納情報)を、
ホスト装置(サーバー)の情報記憶媒体と端末の情報記
憶媒体に分散して格納するようにしてもよい。
【0159】またネットワークに接続する端末は、家庭
用ゲームシステムであってもよいし業務用ゲームシステ
ムであってもよい。そして、業務用ゲームシステムをネ
ットワークに接続する場合には、業務用ゲームシステム
との間で情報のやり取りが可能であると共に家庭用ゲー
ムシステムとの間でも情報のやり取りが可能なセーブ用
情報記憶装置(メモリカード、携帯型ゲーム装置)を用
いることが望ましい。
【0160】なお本発明は、上記実施形態で説明したも
のに限らず、種々の変形実施が可能である。
【0161】例えばオブジェクトの構成点を求める手法
は、図2(A)〜図4で説明した手法に限定されず、種
々の変形実施が可能である。
【0162】また、仮想カメラと構成点の距離に応じて
構成点を変位させる手法も図10で説明した手法に限定
されない。
【0163】また、構成点以外のプリミティブを変位さ
せて、オブジェクトの各部分を上方側又は下方側に変位
させることも可能である。
【0164】また、本発明の手法は、水面を表現するた
めの水面オブジェクトのみならず、雲を表現するための
雲オブジェクトなど、不定形物を表現するための種々の
オブジェクトに適用できる。
【0165】また、本発明のうち従属請求項に係る発明
においては、従属先の請求項の構成要件の一部を省略す
る構成とすることもできる。また、本発明の1の独立請
求項に係る発明の要部を、他の独立請求項に従属させる
こともできる。
【0166】また、本発明は種々のゲーム(格闘ゲー
ム、シューティングゲーム、ロボット対戦ゲーム、スポ
ーツゲーム、競争ゲーム、ロールプレイングゲーム、音
楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0167】また本発明は、業務用ゲームシステム、家
庭用ゲームシステム、多数のプレーヤが参加する大型ア
トラクションシステム、シミュレータ、マルチメディア
端末、ゲーム画像を生成するシステムボード等の種々の
画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック
図の例である。
【図2】図2(A)、(B)は、関数Fを用いた構成点
の生成手法について説明するための図である。
【図3】トロコイド曲線について説明するための図であ
る。
【図4】X軸方向の周期関数F1(X、t)、Z軸方向
の周期関数F2(Z、t)の合成関数に基づいて構成点
の座標YNを求める手法について説明するための図であ
る。
【図5】図5(A)、(B)、(C)は、水面(波の表
面)の絵柄を表すムービーテクスチャの例を示す図であ
る。
【図6】図6(A)は、水面(波)オブジェクトのワイ
ヤーフレーム表示の例について示す図であり、図6
(B)は、生成された波画像の例について示す図であ
る。
【図7】波頭部分の構成点の密度(ポリゴン分割数)を
高くする手法について説明するための図である。
【図8】図8(A)、(B)、(C)、(D)は、仮想
カメラが水面の裏側に潜り込んでしまう不具合について
説明するための図である。
【図9】図9(A)、(B)は、仮想カメラからの距離
に応じて構成点を変位させる手法について説明するため
の図である。
【図10】仮想カメラからの距離に応じて構成点を変位
させる手法の詳細について説明するための図である。
【図11】図11(A)、(B)、(C)は、Zと
Z’、ZとZ”、ZとYNEWの関係について説明する
ための図である。
【図12】図12(A)、(B)は、本実施形態により
生成される波画像の例である。
【図13】図13(A)、(B)も、本実施形態により
生成される波画像の例である。
【図14】本実施形態の処理の詳細例について示すフロ
ーチャートである。
【図15】本実施形態を実現できるハードウェアの構成
の一例を示す図である。
【図16】図16(A)、(B)、(C)は、本実施形
態が適用される種々の形態のシステムの例を示す図であ
る。
【符号の説明】
BS ベース面 WS 水面オブジェクト SP1〜SP16 サンプリング点 CP1〜CP16 構成点 VC 仮想カメラ L1、L2 基準線 AMAX 高さ補正最大値 F1(X、t) 第1の周期関数 F2(Z、t) 第2の周期関数 λX、λZ 波長パラメータ ωX、ωZ 振動数パラメータ RX、RZ、H 振幅パラメータ 100 処理部 110 パラメータ設定部 112 関数設定部 114 構成点演算部(オブジェクト変形部) 116 構成点変位部(オブジェクト変形部) 118 仮想カメラ制御部 120 画像生成部 122 テクスチャマッピング部 130 音生成部 160 操作部 170 記憶部 172 主記憶部 174 描画バッファ 176 テクスチャ記憶部 180 情報記憶媒体 190 表示部 192 音出力部 194 携帯型情報記憶装置 196 通信部

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 画像生成を行う画像生成システムであっ
    て、 仮想カメラとオブジェクトの構成点との距離が近づくに
    つれて、構成点を仮想カメラから離れる方向に変位させ
    る構成点変位手段と、 オブジェクト空間内において仮想カメラから見える画像
    を生成する画像生成手段とを含むことを特徴とする画像
    生成システム。
  2. 【請求項2】 請求項1において、 仮想カメラからの距離が第2の距離より近い構成点につ
    いては、仮想カメラから離れる方向に変位させ、仮想カ
    メラからの距離が第2の距離より遠い構成点について
    は、仮想カメラから離れる方向に変位させないことを特
    徴とする画像生成システム。
  3. 【請求項3】 請求項1又は2において、 仮想カメラからの距離が第1の距離より近い構成点又は
    仮想カメラより後方にある構成点については、仮想カメ
    ラから離れる方向に一定距離だけ変位させることを特徴
    とする画像生成システム。
  4. 【請求項4】 請求項1乃至3のいずれかにおいて、 オブジェクトの面の形状が、時間経過に伴い波状に変形
    することを特徴とする画像生成システム。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、 構成点を変位させる前記方向が、仮想カメラの視点座標
    系での奥行き方向の座標軸に直交する方向であることを
    特徴とする画像生成システム。
  6. 【請求項6】 請求項1乃至5のいずれかにおいて、 オブジェクトの面の上方側及び下方側の一方側に仮想カ
    メラが設定され、 構成点を変位させる前記方向が、上方側及び下方側の他
    方側であることを特徴とする画像生成システム。
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 関数の返値に基づいてオブジェクトの構成点の座標を求
    める構成点演算手段を含み、 前記構成点演算手段により座標が求められた構成点が、
    前記構成点変位手段により変位されることを特徴とする
    画像生成システム。
  8. 【請求項8】 請求項7において、 前記構成点演算手段が、 オブジェクトの構成点を求めるために設定されたサンプ
    リング点の座標と時間とを引数とする関数に基づいて、
    オブジェクトの構成点の座標を求めることを特徴とする
    画像生成システム。
  9. 【請求項9】 請求項8において、 前記サンプリング点が所与のベース面に設定され、 前記オブジェクトが、前記構成点により形状が特定され
    る面を有するオブジェクトであることを特徴とする画像
    生成システム。
  10. 【請求項10】 画像生成を行う画像生成システムであ
    って、 オブジェクトの面の上方側及び下方側の一方側に設定さ
    れる仮想カメラを制御する仮想カメラ制御手段と、 オブジェクトの面の各部分のうち、仮想カメラから近い
    距離の部分が局所的に上方側及び下方側の他方側に変位
    するように、オブジェクトを変形させるオブジェクト変
    形手段と、 オブジェクト空間内において仮想カメラから見える画像
    を生成する画像生成手段とを含むことを特徴とする画像
    生成システム。
  11. 【請求項11】 請求項10において、 前記オブジェクトの面の形状が、時間経過に伴い波状に
    変形することを特徴とする画像生成システム。
  12. 【請求項12】 コンピュータ使用可能なプログラムで
    あって、 仮想カメラとオブジェクトの構成点との距離が近づくに
    つれて、構成点を仮想カメラから離れる方向に変位させ
    る構成点変位手段と、 オブジェクト空間内において仮想カメラから見える画像
    を生成する画像生成手段とをコンピュータに実現させる
    ことを特徴とするプログラム。
  13. 【請求項13】 請求項12において、 仮想カメラからの距離が第2の距離より近い構成点につ
    いては、仮想カメラから離れる方向に変位させ、仮想カ
    メラからの距離が第2の距離より遠い構成点について
    は、仮想カメラから離れる方向に変位させないことを特
    徴とするプログラム。
  14. 【請求項14】 請求項12又は13において、 仮想カメラからの距離が第1の距離より近い構成点又は
    仮想カメラより後方にある構成点については、仮想カメ
    ラから離れる方向に一定距離だけ変位させることを特徴
    とするプログラム。
  15. 【請求項15】 請求項12乃至14のいずれかにおい
    て、 オブジェクトの面の形状が、時間経過に伴い波状に変形
    することを特徴とするプログラム。
  16. 【請求項16】 請求項12乃至15のいずれかにおい
    て、 構成点を変位させる前記方向が、仮想カメラの視点座標
    系での奥行き方向の座標軸に直交する方向であることを
    特徴とするプログラム。
  17. 【請求項17】 請求項12乃至16のいずれかにおい
    て、 オブジェクトの面の上方側及び下方側の一方側に仮想カ
    メラが設定され、 構成点を変位させる前記方向が、上方側及び下方側の他
    方側であることを特徴とするプログラム。
  18. 【請求項18】 請求項12乃至17のいずれかにおい
    て、 関数の返値に基づいてオブジェクトの構成点の座標が求
    められ、 求められた構成点が、前記構成点変位手段により変位さ
    れることを特徴とするプログラム。
  19. 【請求項19】 請求項18において、 オブジェクトの構成点を求めるために設定されたサンプ
    リング点の座標と時間とを引数とする関数に基づいて、
    オブジェクトの構成点の座標が求められることを特徴と
    するプログラム。
  20. 【請求項20】 請求項19において、 前記サンプリング点が所与のベース面に設定され、 前記オブジェクトが、前記構成点により形状が特定され
    る面を有するオブジェクトであることを特徴とするプロ
    グラム。
  21. 【請求項21】 コンピュータ使用可能なプログラムで
    あって、 オブジェクトの面の上方側及び下方側の一方側に設定さ
    れる仮想カメラを制御する仮想カメラ制御手段と、 オブジェクトの面の各部分のうち、仮想カメラから近い
    距離の部分が局所的に上方側及び下方側の他方側に変位
    するように、オブジェクトを変形させるオブジェクト変
    形手段と、 オブジェクト空間内において仮想カメラから見える画像
    を生成する画像生成手段とをコンピューターに実現させ
    ることを特徴とするプログラム。
  22. 【請求項22】 請求項21において、 前記オブジェクトの面の形状が、時間経過に伴い波状に
    変形することを特徴とするプログラム。
  23. 【請求項23】 コンピュータにより読み取り可能な情
    報記憶媒体であって、請求項12乃至22のいずれかの
    プログラムを含むことを特徴とする情報記憶媒体。
JP2001005777A 2001-01-12 2001-01-12 画像生成システム、プログラム及び情報記憶媒体 Withdrawn JP2002216167A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2002216167A true JP2002216167A (ja) 2002-08-02

Family

ID=18873774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001005777A Withdrawn JP2002216167A (ja) 2001-01-12 2001-01-12 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP2002216167A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011538A (ja) * 2004-06-22 2006-01-12 Namco Ltd プログラム、情報記憶媒体、及び画像生成システム
JP2015039490A (ja) * 2013-08-21 2015-03-02 株式会社三共 遊技機
JP2015039489A (ja) * 2013-08-21 2015-03-02 株式会社三共 遊技機
JP2017188002A (ja) * 2016-04-08 2017-10-12 任天堂株式会社 画像処理装置、画像処理システムおよび画像処理方法
KR20210046822A (ko) * 2018-09-17 2021-04-28 스냅 인코포레이티드 3차원 깊이 비디오들 및 이미지들에서 쇼크웨이브들의 생성
KR20220133267A (ko) * 2020-03-23 2022-10-04 가부시키가이샤 리코 정보 처리 장치 및 정보 처리 방법
US11671572B2 (en) 2019-10-21 2023-06-06 Snap Inc. Input parameter based image waves

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011538A (ja) * 2004-06-22 2006-01-12 Namco Ltd プログラム、情報記憶媒体、及び画像生成システム
JP4528036B2 (ja) * 2004-06-22 2010-08-18 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び画像生成システム
JP2015039490A (ja) * 2013-08-21 2015-03-02 株式会社三共 遊技機
JP2015039489A (ja) * 2013-08-21 2015-03-02 株式会社三共 遊技機
JP2017188002A (ja) * 2016-04-08 2017-10-12 任天堂株式会社 画像処理装置、画像処理システムおよび画像処理方法
US11082682B2 (en) 2016-04-08 2021-08-03 Nintendo Co., Ltd. Image processing apparatus and storage medium for deforming or moving displayed objects
CN112771855A (zh) * 2018-09-17 2021-05-07 美国斯耐普公司 在三维深度视频和图像中创建冲击波
KR20210046822A (ko) * 2018-09-17 2021-04-28 스냅 인코포레이티드 3차원 깊이 비디오들 및 이미지들에서 쇼크웨이브들의 생성
EP3854074A4 (en) * 2018-09-17 2022-06-08 Snap Inc. SHOCK WAVE CREATION IN THREE-DIMENSIONAL DEPTH VIDEOS AND IMAGES
US11763420B2 (en) 2018-09-17 2023-09-19 Snap Inc. Creating shockwaves in three-dimensional depth videos and images
KR102653796B1 (ko) * 2018-09-17 2024-04-01 스냅 인코포레이티드 3차원 깊이 비디오들 및 이미지들에서 쇼크웨이브들의 생성
US11671572B2 (en) 2019-10-21 2023-06-06 Snap Inc. Input parameter based image waves
KR20220133267A (ko) * 2020-03-23 2022-10-04 가부시키가이샤 리코 정보 처리 장치 및 정보 처리 방법
KR102660776B1 (ko) 2020-03-23 2024-04-24 가부시키가이샤 리코 정보 처리 장치 및 정보 처리 방법

Similar Documents

Publication Publication Date Title
JP2001319244A (ja) ゲームシステム及び情報記憶媒体
JP2002216158A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216167A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001224845A (ja) ゲームシステム及び情報記憶媒体
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4577968B2 (ja) ゲームシステム及び情報記憶媒体
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP2005209217A (ja) ゲームシステム及び情報記憶媒体
JP4245356B2 (ja) ゲームシステム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP2002222431A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4698701B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4592039B2 (ja) ゲームシステム及び情報記憶媒体
JP3431562B2 (ja) ゲームシステム及び情報記憶媒体
JP2002216165A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216151A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216159A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4592043B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4728510B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4632521B2 (ja) ゲームシステム及び情報記憶媒体
JP4592042B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216157A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006252291A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2002190032A (ja) ゲームシステム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080401