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

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

Info

Publication number
JP2009075739A
JP2009075739A JP2007242478A JP2007242478A JP2009075739A JP 2009075739 A JP2009075739 A JP 2009075739A JP 2007242478 A JP2007242478 A JP 2007242478A JP 2007242478 A JP2007242478 A JP 2007242478A JP 2009075739 A JP2009075739 A JP 2009075739A
Authority
JP
Japan
Prior art keywords
virtual camera
space
object space
image
prohibition area
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
JP2007242478A
Other languages
English (en)
Inventor
Asahi Higashiyama
朝日 東山
Binshu Kin
旻秀 金
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.)
Bandai Namco Entertainment Inc
Original Assignee
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 Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2007242478A priority Critical patent/JP2009075739A/ja
Publication of JP2009075739A publication Critical patent/JP2009075739A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】観者(プレーヤ)が違和感を覚えることのない、好適な画像を生成することができるプログラム、情報記憶媒体、および画像生成システムを提供する。
【解決手段】お供キャラクタAC1をオブジェクト空間内に設定するオブジェクト空間設定部110と、お供キャラクタAC1をオブジェクト空間内で移動させる移動制御部114と、仮想カメラVC1の位置および向きの少なくとも一方を制御する仮想カメラ制御部116と、仮想カメラVC1から見える空間であって、ニアプレーン面NP1とファープレーン面FP1との間の空間に対応する空間である描画空間VV1の画像を描画する描画部120とを含み、オブジェクト空間設定部110が、お供キャラクタAC1がニアプレーン面NP1を通過することを禁止する通過禁止領域PFA1をオブジェクト空間内に設定する。
【選択図】図9

Description

本発明は、プログラム、情報記憶媒体、および画像生成システムに関する。
従来から、仮想カメラ(所与の視点)から見えるオブジェクト空間(仮想的な3次元空間)の画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。そして、このような画像生成システムでは、仮想現実感を向上させるため、観者(プレーヤ)が違和感を覚えることのない画像を生成することが望まれている。
例えば特許文献1では、仮想カメラが壁の内部等の現実的には起こりえない場所に配置された場合であっても、当該壁等を構成するポリゴンの描画を省略することで、壁等の内部に配置された仮想カメラから見た画像を、観者にとって好適な画像とすることが開示されている。
特開平9−70481号公報
しかしながら、仮想カメラが正常な位置に配置されている場合であっても、観者が違和感を覚えるような画像が生成されてしまうケースがある。例えば、描画空間(ビューボリューム)を構成する構成面のうち仮想カメラに近い面(ニアプレーン面、ニアクリップ面)をオブジェクトに通過させてしまうと、当該オブジェクトの断面が見える画像が生成されてしまうため、観者にとって違和感のある画像となってしまう。
本発明は上記事情に鑑みてなされたものであり、その目的は、観者が違和感を覚えることのない、好適な画像を生成することができるプログラム、情報記憶媒体、および画像生成システムを提供することにある。
(1)本発明は、仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、第1のオブジェクトを前記オブジェクト空間内に設定するオブジェクト空間設定部と、前記第1のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、前記仮想カメラから見える空間であって、前記仮想カメラに近い第1の面と前記仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、前記オブジェクト空間設定部が、前記第1のオブジェクトが前記第1の面を通過することを禁止する通過禁止領域を前記オブジェクト空間内に設定する画像生成システムに関するものである。
また本発明は、上記各部としてコンピュータを機能させるプログラム、および上記各部としてコンピュータを機能させるプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第1のオブジェクトが仮想カメラに近い第1の面を通過することを禁止する通過禁止領域をオブジェクト空間内に設定する処理が行われるため、第1のオブジェクトが仮想カメラに近い第1の面を通過することが禁止される。つまり本発明では、仮想カメラから見える空間であって、仮想カメラに近い第1の面と仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する際に、第1のオブジェクトが仮想カメラに近い第1の面を通過する画像、即ち、第1のオブジェクトの断面が見えてしまう画像は描画されない。従って本発明では、観者が違和感を覚えることのない、好適な画像を生成することができる。
(2)また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間設定部が、所与の条件に応じて、異なる形状の前記通過禁止領域を前記オブジェクト空間内に設定するようにしてもよい。
このようにすると、状況に適した形状で通過禁止領域を設定することができるため、観者にとってより好適な画像を生成することができる。
(3)また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記仮想カメラ制御部が、複数の前記仮想カメラの各仮想カメラについて位置および向きの少なくとも一方の制御を行い、前記オブジェクト空間設定部が、前記仮想カメラ毎に前記通過禁止領域を前記オブジェクト空間内に設定するとともに、1の前記通過禁止領域と他の前記通過禁止領域の位置関係に応じて、1の前記通過禁止領域および他の前記通過禁止領域が含まれる拡大通過禁止領域を前記オブジェクト空間内に設定するようにしてもよい。なお、「他の通過禁止領域」は、1つであってもよいし複数であってもよい。
このようにすると、2以上の通過禁止領域を状況に適した形状の拡大通過禁止領域として設定することができるため、観者にとってより好適な画像を生成することができる。
(4)また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間設定部が、第2のオブジェクトをオブジェクト空間内に設定し、前記移動制御部が、操作部からの操作情報に基づいて前記第2のオブジェクトを前記オブジェクト空間内で移動させるとともに、前記第2のオブジェクトの位置に応じて前記第1のオブジェクトを前記オブジェクト空間内で移動させ、前記仮想カメラ制御部が、少なくとも前記第2のオブジェクトが含まれるように、前記仮想カメラの位置および向きの少なくとも一方を制御するようにしてもよい。なお、「第2のオブジェクト」は、1つのオブジェクトであってもよいし複数のオブジェクトであってもよい。また、第2のオブジェクトを複数のオブジェクトとして設定する場合には、第2のオブジェクト毎に、「第1のオブジェクト」および「仮想カメラ」の少なくとも一方を設定するようにしてもよい。
このように、第1のオブジェクトが描画空間外から描画空間内に移動させられるケースが多発する可能性がある条件下であっても、第1のオブジェクトが描画空間外から仮想カメラに近い第1の面を介して描画空間内に移動することは禁止されるため、観者が違和感を覚えることのない、好適な画像を生成することができる。
(5)また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間設定部が、前記第1のオブジェクトの通過が禁止されるポリゴンまたはボリュームを前記通過禁止領域として前記オブジェクト空間内に設定するようにしてもよい。
(6)また本発明の画像生成システム、プログラムおよび情報記憶媒体では、前記第1のオブジェクトは、進行方向に対して所与の長さを有するオブジェクトであってもよい。
このように、第1のオブジェクトが仮想カメラに近い第1の面を通過するのに時間がかかる条件下、即ち第1のオブジェクトが仮想カメラに近い第1の面を通過した際に第1のオブジェクトの断面が目立つ条件化であっても、第1のオブジェクトが仮想カメラに近い第1の面を通過することが禁止されるため、観者が違和感を覚えることのない、好適な画像を生成することができる。
(7)本発明は、仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、複数のオブジェクトをオブジェクト空間内に設定するオブジェクト空間設定部と、所与の移動アルゴリズムに基づいて、前記複数のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、前記仮想カメラから見える空間であって、前記仮想カメラに近い第1の面と前記仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、前記オブジェクト空間設定部が、前記描画空間内であって前記複数のオブジェクトの移動経路上に、前記複数のオブジェクトが通過することを禁止する通過禁止領域を設定し、前記移動制御部が、前記複数のオブジェクトを前記通過禁止領域の形状に応じて移動させる画像生成システムに関するものである。
また本発明は、上記各部としてコンピュータを機能させるプログラム、および上記各部としてコンピュータを機能させるプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体に関するものである。
本発明によれば、仮想カメラから見える空間であって、仮想カメラに近い第1の面と仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間内であり、複数のオブジェクトの移動経路上に、複数のオブジェクトが通過することを禁止する通過禁止領域を設定する処理が行われ、通過禁止領域の形状に応じて複数のオブジェクトを移動させる処理が行われる。従って本発明では、オブジェクト毎に移動を制御するという煩雑な処理ではなく、演出に応じた形状の通過禁止領域を設定するという簡易な処理で、複数のオブジェクトの移動に伴う演出を行うことができる。
以下、本発明の実施の形態(本実施形態)について説明する。なお、以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.画像生成システムの機能ブロック
図1は、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例である。なお本実施形態の画像生成システムでは、図1の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。
操作部160は、プレーヤ(観者)が行った操作を操作情報として入力するためのものであり、その機能は、コントローラ、レバー、ボタン、マウス、マイク、トラックボール、タッチパネルなどのハードウェアにより実現できる。
また操作部160は、例えば、操作部160自体の動き、姿勢、向き等に応じて変化する情報を検出するセンサを内蔵することで、プレーヤの操作に伴う操作部160自体の動き、姿勢、向き等を操作情報として入力するようにしてもよい。センサは、操作部160自体の動き等に応じた加速度、角速度、速度などを検出し、検出した加速度等の値を出力するものであり、その機能は、加速度センサ(圧電型や動電式、歪みケージ式等)や姿勢方位センサやジャイロなどのハードウェアにより実現できる。
また操作部160は、表示部190などの指示面に対する操作部160の指示位置を操作情報として入力するようにしてもよい。この場合には、例えば、操作部160に設けられたCMOSセンサやCCDなどの撮像素子(受光素子)によって、指示面(指示面付近)に設けられたLED等の光源を撮像し、撮像された光源の位置情報と予め設定されている撮像側の基準位置情報とから、指示面に対する操作部160の指示位置を求めるようにすればよい。
また、操作部160は、デジタルカメラなどの撮像手段を内蔵し、当該撮像手段によって撮像された画像(映像)から、プレーヤの操作に伴う操作部160自体の動き、姿勢、向き等を検出したり、プレーヤ自身による入力動作を検出し、操作情報として入力するようにしてもよい。
また操作部160は、例えば、操作部160に対する圧力を検出する加圧センサを内蔵することで、プレーヤの入力動作によって発生する圧力(プレーヤの体重など)を操作情報として入力するようにしてもよい。
なお操作部160は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また操作部160には、操作部160と一体化されている画像生成システム(ゲームシステム、携帯型ゲームシステム)、携帯電話なども含まれる。
記憶部170は、処理部100や通信部194などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。なお、これらの一部を省略する構成としてもよい。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。そして処理部100は、この情報記憶媒体180に格納されるプログラム(データ)や携帯型情報記憶装置182から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。なお携帯型情報記憶装置182は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置182としては、メモリカードや携帯型ゲーム装置などがある。
表示部190は、処理部100により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
音出力部192は、処理部100により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
通信部194は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部194を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲に含まれる。
処理部100(プロセッサ)は、操作部160からの操作情報や情報記憶媒体180から記憶部170に展開されたプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ゲーム処理としては、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタ、移動体、マップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、あるいはゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。なお、処理部100は記憶部170の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に本実施形態の処理部100は、オブジェクト空間設定部110、表示制御部112、移動制御部114、仮想カメラ制御部116、通信制御部118、描画部120、音生成部130を含んで構成される。なお、これらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、キャラクタ、移動体(車、飛行機など)、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間(仮想的な3次元空間)に配置設定する処理を行う。具体的には、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
特に本実施形態のオブジェクト空間設定部110は、第1のオブジェクト(例えば、キャラクタや移動体などのモデル)をオブジェクト空間内に配置設定するとともに、第1のオブジェクトが仮想カメラに近い第1の面を通過することを禁止する通過禁止領域をオブジェクト空間内に配置設定する。なお、第1のオブジェクトの通過が禁止されるポリゴンまたはボリュームを通過禁止領域としてオブジェクト空間内に設定するようにしてもよい。また、第1のオブジェクト以外に第2のオブジェクト(例えば、キャラクタや移動体などのモデル)をオブジェクト空間内に配置設定するようにしてもよいし、第1のオブジェクトは、進行方向に対して所与の長さを有するオブジェクトであってもよい。
また本実施形態のオブジェクト空間設定部110は、所与の条件に応じて、異なる形状の通過禁止領域をオブジェクト空間内に設定するようにしてもよい。例えば、仮想カメラ毎に通過禁止領域をオブジェクト空間内に設定する場合には、1の通過禁止領域と他の通過禁止領域の位置関係に応じて、1の通過禁止領域および他の通過禁止領域が含まれる拡大通過禁止領域をオブジェクト空間内に設定するようにしてもよい。なお、通過禁止領域の形状は、リアルタイム演算によって求めてもよいし、予めオブジェクトデータ記憶部174に種々の形状の過禁止領域を記憶させておいてもよい。
また本実施形態のオブジェクト空間設定部110は、複数のオブジェクトをオブジェクト空間内に設定するとともに、描画空間内であって複数のオブジェクトの移動経路上に、複数のオブジェクトが通過することを禁止する通過禁止領域を設定する。
表示制御部112は、表示部190に表示される画像(オブジェクト画像)の表示制御を行う。具体的には、キャラクタ、移動体(車、飛行機など)、建物、樹木、柱、壁、マップ(地形)などの表示すべきオブジェクトを発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部120等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
また表示制御部112は、プレーヤからの操作情報等により、プレーヤキャラクタ(プレーヤの操作対象となるキャラクタ)やオブジェクトの動作や移動が発生した場合に、発生した動作や移動の様子を示す画像を表示部190に表示するための制御を行う。
移動制御部114は、オブジェクト(例えば、キャラクタ、移動体等のモデル)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、操作部160によりプレーヤが入力した操作情報や、プログラム(移動アルゴリズム・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、動作(モーション、アニメーション)させたりする処理を行う。より具体的に説明すると、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
また本実施形態の移動制御部114は、操作部160からの操作情報に基づいて第2のオブジェクトをオブジェクト空間内で移動させるとともに、第2のオブジェクトの位置に応じて第1のオブジェクトをオブジェクト空間内で移動させるようにしてもよい。
また本実施形態の移動制御部114は、所与の移動アルゴリズムに基づいて、複数のオブジェクトをオブジェクト空間内で移動させるとともに、複数のオブジェクトを通過禁止領域の形状に応じて移動させる。
仮想カメラ制御部116は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)および向き(X、Y、Z軸回りでの回転角度)の少なくとも一方を制御する処理(視点位置や視線方向を制御する処理)を行う。なお仮想カメラ制御部116は、これに加え、画角、仮想カメラに近い第1の面(ニアプレーン、ニアクリップ)の位置、および仮想カメラから遠い第2の面(ファープレーン、ファークリップ)の位置の少なくともいずれかを制御するようにしてもよい。
例えば仮想カメラにより第2のオブジェクトが含まれるように後方から撮影する場合には、第2のオブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動制御部114で得られた第2のオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。また、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
通信制御部118は、他の画像生成システムに送信するパケットを生成する処理、パケット送信先の画像生成システムのネットワークアドレスを指定する処理、受信したパケットを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部194の制御処理等を行う。
なお通信制御部118は、アクションゲームをネットワーク(例えば、インターネット)を利用して実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部194を介してデータパケット及びコマンドパケットを送受信させる制御を行うようにしてよい。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず表示物(オブジェクト、モデル)を定義する各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含む表示物データ(オブジェクトデータ、モデルデータ)が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ176(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。
なお本実施形態では、仮想カメラから見える画像として、オブジェクト空間内の領域のうち、描画空間内の領域が、仮想カメラから見えるオブジェクト空間の画像として生成され、表示部190に出力される。描画空間は、視錐台の領域であって、仮想カメラの位置、向き、画角によって上下左右の構成面が決定され、仮想カメラに近い第1の面と仮想カメラから遠い第2の面によって前後の構成面が決定される。
また、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
特に描画部120は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)の表示物データ(表示物の頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
音生成部130は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システム(ゲームシステム)は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について説明する。以下では、アクションゲームを行うゲームシステムに本実施形態の画像生成システムを適用した場合を例にとり説明するが、上記以外にも、種々のゲームシステムや画像生成システムに本実施形態を適用することができる。
2−1:概要
図2〜図5を参照しながら本実施形態のアクションゲームの概要について説明する。図2は、オブジェクト空間の一例を示す斜視図である。図3は、図2の仮想カメラVC1から見えるオブジェクト空間内の画像の一例を示す図である。図4は、お供キャラクタAC1が、プレーヤキャラクタPC1に敵キャラクタの居場所を報知する画像の一例を示す図である。図5は、プレーヤキャラクタPC1と敵キャラクタECとが対戦する画像の一例を示す図である。
本実施形態では、図2に示すように、プレーヤキャラクタPC1(第2のオブジェクトの一例)とプレーヤキャラクタPC1のお供キャラクタAC1(第1のオブジェクトの一例)とがオブジェクト空間内に配置されている(但し、図2では、建物やマップなどのオブジェクトの配置は省略されている)。プレーヤキャラクタPC1は、コントローラなどの操作部160からの操作情報に基づいてオブジェクト空間内を移動するように制御され、お供キャラクタAC1は、移動したプレーヤキャラクタPC1の後を追って(例えば、プレーヤキャラクタPC1の位置や回転角度に基づいて)オブジェクト空間内を移動するように制御されている。
仮想カメラVC1は、少なくともプレーヤキャラクタPC1を含んで撮影するように制御されている。そして本実施形態では、仮想カメラVC1から見えるオブジェクト空間の画像として、例えば図3に示すような画像が生成(描画)される。
またお供キャラクタAC1は、オブジェクト空間内に隠れている敵キャラクタをプレーヤキャラクタPC1に報知するように制御されている。例えば、オブジェクト空間内に隠れている敵キャラクタの近辺に、お供キャラクタAC1或いはプレーヤキャラクタPC1が移動すると(広義には、第1のオブジェクト或いは第2のオブジェクトが報知領域に移動すると)、図4に示すように、お供キャラクタAC1が敵キャラクタの隠れている場所に移動し、プレーヤキャラクタPC1に敵キャラクタの居場所を報知する。
そして、プレーヤキャラクタPC1が敵キャラクタの隠れている場所に移動すると(広義には、第2のオブジェクトが対戦領域に移動すると)、図5に示すように、プレーヤキャラクタPC1と敵キャラクタECとの対戦が開始する。
このように本実施形態では、プレーヤキャラクタPC1とお供キャラクタAC1とがオブジェクト空間内を移動するとともに、お供キャラクタACが敵キャラクタを発見し、プレーヤキャラクタPCがこの敵キャラクタと対戦することで、オブジェクト空間内に隠れている敵キャラクタを退治するゲームが行われる。
2−2:通過禁止領域の設定手法
まず、図6を参照しながら本実施形態の描画空間について説明する。図6は、描画空間の一例を示す斜視図である。
本実施形態では、オブジェクト空間内の領域のうち、図6に示す視錐台の領域であるビューボリュームVV1(描画空間の一例)内の領域が、仮想カメラVC1から見えるオブジェクト空間の画像として生成(描画)され、表示部190に出力される。ビューボリュームVV1は、仮想カメラVC1の位置、向き、画角によって上下左右の構成面が決定され、ニアプレーン面NP1(仮想カメラに近い第1の面の一例)とファープレーン面FP1(仮想カメラから遠い第2の面の一例)によって前後の構成面が決定される。
また本実施形態では、前述したように、仮想カメラVC1は、少なくともプレーヤキャラクタPC1を含んで撮影するように制御されている。つまり、少なくともプレーヤキャラクタPC1がビューボリュームVV1内に含まれるように仮想カメラVC1が制御されている。より具体的には、プレーヤキャラクタPC1の位置や向き(回転角度)に基づいて仮想カメラVC1の位置や向き(回転角度)を決定することで、少なくともプレーヤキャラクタPC1がビューボリュームVV1内に含まれるように制御されている。なお、これに加え、画角、ニアプレーンの位置、及びファープレーンの位置の少なくともいずれかを制御することで、少なくともプレーヤキャラクタPC1がビューボリュームVV1内に含まれるように制御するようにしてもよい。
次に、図7〜図10を参照しながら本実施形態の通過禁止領域の設定手法について説明する。図7(A)は、描画空間(オブジェクト空間)の一例を示す平面図であり、お供キャラクタAC1がプレーヤキャラクタPC1の後を追って移動を開始する状態の一例を示す図である。図7(B)は、お供キャラクタAC1がニアプレーン面NP1を通過する状態の一例を示す平面図である。図8は、お供キャラクタAC1がニアプレーン面NP1を通過する画像の一例を示す図である。図9(A)は、お供キャラクタAC1が通過禁止領域PFA1を迂回する状態の一例を示す平面図である。図9(B)は、通過禁止領域PFA1の一例を示す斜視図である。図10は、お供キャラクタAC1が通過禁止領域PFA1を迂回してビューボリュームVV1内に移動する画像の一例を示す図である。
本実施形態では、前述したように、お供キャラクタAC1は、移動したプレーヤキャラクタPC1の後を追ってオブジェクト空間内を移動するように制御されている。具体的には、お供キャラクタAC1は、プレーヤキャラクタPC1の移動により、お供キャラクタAC1とプレーヤキャラクタPC1との距離が所定範囲以上離れた場合に移動を開始するように制御されている。なお、プレーヤキャラクタPC1が移動を開始してから所定期間(例えば、1〜2秒程度)経過後に移動を開始するように制御したり、お供キャラクタAC1をプレーヤキャラクタPC1と同時に移動を開始するように制御してもよい。
また本実施形態では、前述したように、少なくともプレーヤキャラクタPC1がビューボリュームVV1内に含まれるように仮想カメラVC1が制御されている。
従って、プレーヤキャラクタPC1が移動した場合には、図7(A)に示すように、プレーヤキャラクタPC1のみがビューボリュームVV1内に含まれるというケースが生じうる。この場合、お供キャラクタAC1は、プレーヤキャラクタPC1の後を追って移動を開始し、プレーヤキャラクタPC1が移動を終えた後に、ビューボリュームVV1内のプレーヤキャラクタPC1に追いつくことになる。
ところで、この際に、図7(B)に示すように、お供キャラクタAC1にニアプレーン面NP1を通過させてしまうと、お供キャラクタAC1の尻尾の部分がビューボリュームVV1内に含まれていないため、図8に示すように、お供キャラクタAC1の断面が見える画像(お供キャラクタAC1の尻尾が切断されたような画像)が生成されてしまうことになり、プレーヤにとって違和感のある画像となってしまう。特に本実施形態では、お供キャラクタAC1は、進行方向に対して長いオブジェクトであるため、他のオブジェクトに比べ、ニアプレーン面NP1の通過に時間がかかってしまう。このため、お供キャラクタAC1の断面が見える画像が生成される時間も長くなってしまい、お供キャラクタAC1の断面が余計に目立ってしまう。
そこで本実施形態では、図9(A)、図9(B)に示すように、ニアプレーン面NP1に通過禁止領域PFA1を設定し、お供キャラクタAC1にニアプレーン面NP1を通過させないように制御している。具体的には、ニアプレーン面NP1と同一形状の四辺形のポリゴンを通過禁止領域PFA1として設定している。なお、通過禁止領域PFA1は、プレーヤから見えないようにする必要があるため、四辺形のポリゴンの描画(画像合成)は省略されるか、或いは透明のポリゴンとして描画される。
このようにすると、お供キャラクタAC1は、例えば、図9(A)の矢印に示すような移動経路で移動するように制御されるため、ニアプレーン面NP1ではなく、ビューボリュームVV1の右側の構成面を通過してビューボリュームVV1内のプレーヤキャラクタPC1の下に移動することになる。
このため、図10に示すように、お供キャラクタAC1の断面が見える画像ではなく、お供キャラクタAC1が横から現れる画像が生成されることになり、観者が違和感を覚えることのない、好適な画像を生成することができる。
なお本実施形態では、お供キャラクタAC1と通過禁止領域PFA1とのヒットチェック処理をフレーム毎に行い、お供キャラクタAC1が通過禁止領域PFA1にヒットした場合には、お供キャラクタAC1の移動経路(移動方向)を修正するように制御されている。
具体的には、プレーヤキャラクタPC1とお供キャラクタAC1とを結ぶ直線上をお供キャラクタAC1に移動させ、お供キャラクタAC1の位置と通過禁止領域PFA1の頂点データに基づいてヒットチェック処理を行う。そして、お供キャラクタAC1が通過禁止領域PFA1にヒットした場合には、通過禁止領域PFA1の回転角度に基づいてお供キャラクタAC1の移動経路(移動方向)を通過禁止領域PFA1に沿った方向に修正して移動させている。なお、上記の処理はフレーム毎に行われている。
またヒットチェック処理は、お供キャラクタAC1の進行方向(プレーヤキャラクタPC1とお供キャラクタAC1とを結ぶ直線上)にレイを設定し、このレイが通過禁止領域PFA1にヒットするか否かで行うようにしてもよい。
また本実施形態では、通過禁止領域PFA1は、お供キャラクタAC1のみの通過を禁止する領域として設定されているが、お供キャラクタAC1のみならず他のオブジェクトの通過を禁止する領域として設定するようにしてもよい。このようにすると、他のオブジェクト(例えば、お供キャラクタAC1に比べて進行方向の長さが短いオブジェクト)によるニアプレーン面NP1の通過も防ぐことができるため、より好適な画像を生成することができる。
次に、図11〜図13を参照しながら本実施形態の通過禁止領域の他の設定手法について説明する。
図11(A)は、ニアプレーン面NP1の前面に通過禁止領域PFA1を設定した状態の一例を示す平面図である。図11(B)は、その斜視図である。
本実施形態では、ニアプレーン面NP1に通過禁止領域PFA1を設定しているが、図11(A)、図11(B)に示すように、ニアプレーン面NP1の前面に通過禁止領域PFA1を設定し、お供キャラクタAC1にニアプレーン面NP1を通過させないように制御してもよい。このようにすると、お供キャラクタAC1が、ビューボリュームVV1外からニアプレーン面NP1を通過してビューボリュームVV1内に移動することを防ぐことができる。
また、図示は省略するが、ニアプレーン面NP1の後面に通過禁止領域PFA1を設定し、お供キャラクタAC1にニアプレーン面NP1を通過させないように制御してもよい。このようにすると、お供キャラクタAC1が、ビューボリュームVV1内からニアプレーン面NP1を通過してビューボリュームVV1外に移動することを防ぐことができる。
なお本実施形態では、ニアプレーン面NP1に通過禁止領域PFA1を設定しているため、お供キャラクタAC1によるビューボリュームVV1外からニアプレーン面NP1を通過することも、ビューボリュームVV1内からニアプレーン面NP1を通過することも防ぐことができる。
図12(A)は、ニアプレーン面NP1を覆うように通過禁止領域PFA1を設定した状態の一例を示す平面図である。図12(B)は、その斜視図である。
本実施形態では、四辺形のポリゴンを通過禁止領域PFA1として設定しているが、図12(A)、図12(B)に示すように、ニアプレーン面NP1を覆うような形状の通過禁止領域PFA1を設定するようにしてもよい。この場合には、複数のポリゴンによって構成されたオブジェクトや、バウンディングボリューム(例えば、直方体であるバウンディングボックスや、球であるバウンディングスフィアなどの簡単な形状をもつ立体)を通過禁止領域PFA1として設定することができる。このようにしても、お供キャラクタAC1によるビューボリュームVV1外からニアプレーン面NP1を通過することも、ビューボリュームVV1内からニアプレーン面NP1を通過することも防ぐことができる。
図13(A)は、お供キャラクタAC1の移動経路を誘導できるように通過禁止領域PFA1を設定した状態の一例を示す平面図である。図13(B)は、その斜視図である。
図13(A)、図13(B)に示すような形状で通過禁止領域PFA1を設定すると、ニアプレーン面NP1に通過禁止領域PFA1を設定した場合に比べて、お供キャラクタAC1が通過禁止領域PFA1を迂回する際に要する時間を短縮することができる。このため、プレーヤキャラクタPC1が移動しても、お供キャラクタAC1を短時間でプレーヤキャラクタPC1に追いつかせることが可能となる。従って、お供キャラクタAC1が表示部190に表示されるまでの時間を短縮することができ、より好適な画像を生成することができる。
なお、図13(A)、図13(B)に示す形状の通過禁止領域PFA1は、プレーヤキャラクタPC1の位置、仮想カメラVC1の位置、ニアプレーン面NP1の頂点位置に基づいて設定することができる。但し、これらの位置情報をそのまま用いる必要はなく、これらの位置情報から算出される位置(例えば、プレーヤキャラクタPC1のやや後方の位置や、仮想カメラVC1のやや前方の位置)を用いるようにしてもよい。
2−3:通過禁止領域の変形手法
2−3−1:画角の変更に伴う通過禁止領域の変形手法
まず、図14を参照しながら画角の変更に伴う通過禁止領域の変形手法について説明する。図14(A)は、画角を小さくした際に設定される通過禁止領域PFA1の一例を示す平面図であり、図14(B)は、画角を大きくした際に設定される通過禁止領域PFA1の一例を示す平面図である。
本実施形態では、図14(A)に示すように、画角をθからθ’に変更すると(θ>θ’)、ニアプレーン面NP1の領域も小さくなり、図14(B)に示すように、画角をθからθ”に変更すると(θ<θ”)、ニアプレーン面NP1の領域も大きくなる。
このように本実施形態では、画角を変更すると(所与の条件の一例)、ニアプレーン面NP1の形状も変化することにため、画角を変更する際には、図14(A)、図14(B)に示すように、変更後の画角に応じたニアプレーン面NP1の形状に、通過禁止領域PFA1の形状も変更するように制御されている。具体的には、画角に応じた種々の形状の通過禁止領域PFA1がオブジェクトデータ記憶部174に記憶されており、変更された画角に応じた形状の通過禁止領域PFA1を設定するように制御されている。なお、リアルタイム演算によって通過禁止領域PFA1の形状を演算するようにしてもよい。
従って本実施形態では、画角が変更されても適切な形状の通過禁止領域PFA1を設定することができるため、プレーヤにとってより好適な画像を生成することができる。
2−3−2:プレーヤキャラクタPC1の位置の変更に伴う通過禁止領域の変形手法
次に、図15を参照しながらプレーヤキャラクタPC1の位置の変更に伴う通過禁止領域の変形手法について説明する。図15(A)、図15(B)は、プレーヤキャラクタPC1の位置に応じて設定される通過禁止領域PFA1の一例を示す平面図である。
図13(A)、図13(B)に示すような形状で通過禁止領域PFA1を設定する場合、プレーヤキャラクタPC1の位置に応じて通過禁止領域PFA1の形状が定まるため、プレーヤキャラクタPC1の位置を変更する際には(所与の条件の一例)、図15(A)、図15(B)に示すように、変更後のプレーヤキャラクタPC1の位置に応じて通過禁止領域PFA1の形状も変更するように制御されている。
具体的には、プレーヤキャラクタPC1の位置に応じた種々の形状の通過禁止領域PFA1がオブジェクトデータ記憶部174に記憶されており、変更されたプレーヤキャラクタPC1の位置に応じた形状の通過禁止領域PFA1を設定するように制御されている。なお、リアルタイム演算によって通過禁止領域PFA1の形状を演算するようにしてもよい。
従って本実施形態では、プレーヤキャラクタPC1の位置が変更されても適切な形状の通過禁止領域PFA1を設定することができるため、プレーヤにとってより好適な画像を生成することができる。
2−3−3:仮想カメラが複数台ある場合の通過禁止領域の変形手法
次に、図16〜図20を参照しながら複数のプレーヤによるプレイを行う場合の通過禁止領域の変形手法について説明する。なお、以下では、既に説明した内容と共通の手法については詳細な説明を省略し、主要な相違点を中心に説明する。
図16は、複数のプレーヤによるプレイを行う場合のオブジェクト空間の一例を示す斜視図である。図17(A)は、図16の仮想カメラVC1から見えるオブジェクト空間内の画像の一例を示す図であり、図17(B)は、図16の仮想カメラVC2から見えるオブジェクト空間内の画像の一例を示す図である。
本実施形態において複数のプレーヤによるプレイを行う場合、図16に示すように、プレーヤキャラクタPC1とプレーヤキャラクタPC1のお供キャラクタAC1に加え、プレーヤキャラクタPC2(第2のオブジェクトの一例)とプレーヤキャラクタPC2のお供キャラクタAC2(第1のオブジェクトの一例)とがオブジェクト空間内に配置される。プレーヤキャラクタPC2は、コントローラなどの操作部160からの操作情報に基づいてオブジェクト空間内を移動するように制御され、お供キャラクタAC2は、移動したプレーヤキャラクタPC2の後を追って(例えば、プレーヤキャラクタPC2の位置や回転角度に基づいて)オブジェクト空間内を移動するように制御されている。なお、第1のプレーヤによる操作によりプレーヤキャラクタPC1が制御され、第2のプレーヤによる操作によりプレーヤキャラクタPC2が制御される。
仮想カメラVC1は、少なくともプレーヤキャラクタPC1を含んで撮影するように制御され、仮想カメラVC2は、少なくともプレーヤキャラクタPC2を含んで撮影するように制御される。そして本実施形態では、仮想カメラVC1から見えるオブジェクト空間の画像として、例えば図17(A)に示すような画像が生成(描画)され、仮想カメラVC2から見えるオブジェクト空間の画像として、例えば図17(B)に示すような画像が生成(描画)される。
なお本実施形態では、表示部190が複数用意されており、図17(A)に示す画像は、第1のプレーヤ用の表示部に表示され、図17(B)に示す画像は、第2のプレーヤ用の表示部に表示されるが、図17(A)、図17(B)に示す画像を分割画像として1の表示部に表示するように画像を生成してもよい。
また本実施形態では、プレーヤキャラクタ毎に仮想カメラを用意しているが、仮想カメラは1台であってもよい。この場合には、プレーヤキャラクタPC1の位置とプレーヤキャラクタPC2の位置とから仮想カメラの注視点が演算され、プレーヤキャラクタPC1およびプレーヤキャラクタPC2の少なくとも一方が含まれるように仮想カメラの位置及び向きの少なくとも一方の制御が行われる。
図18(A)は、ニアプレーン面NP1に通過禁止領域PFA1を設定するとともに、ニアプレーン面NP2に通過禁止領域PFA2を設定した状態の一例を示す平面図である。図18(B)は、通過禁止領域PFA1および通過禁止領域PFA2が含まれる拡大通過禁止領域EPFAを設定した状態の一例を示す平面図である。
図18(A)では、仮想カメラVC1に対応するビューボリュームVV1のニアプレーン面NP1に通過禁止領域PFA1が設定され、仮想カメラVC2に対応するビューボリュームVV2のニアプレーン面NP2に通過禁止領域PFA2が設定されている。そして、通過禁止領域PFA1および通過禁止領域PFA2のいずれの領域もお供キャラクタAC1およびお供キャラクタAC2が通過できないように設定されている。
さて、図18(A)では、プレーヤキャラクタPC2が移動したため、プレーヤキャラクタPC2のみが仮想カメラVC2のビューボリュームVV2内に含まれている。この場合、お供キャラクタAC2は、プレーヤキャラクタPC2の後を追って移動を開始し、ビューボリュームVV2内のプレーヤキャラクタPC2に追いつくことになる。
ところで、この際に、お供キャラクタAC2に通過禁止領域PFA1および通過禁止領域PFA2を迂回させてプレーヤキャラクタPC2の下まで移動させるとなると、例えば、図18(A)の矢印に示すような移動経路でお供キャラクタAC2は移動するように制御されるため、移動に時間がかかってしまう。
そこで本実施形態では、図18(B)に示すように、通過禁止領域PFA1と通過禁止領域PFA2とが交わる場合には、通過禁止領域PFA1および通過禁止領域PFA2が含まれる拡大通過禁止領域EPFAを設定するように制御している。具体的には、通過禁止領域PFA1(ニアプレーン面NP1)の頂点の位置および通過禁止領域PFA2(ニアプレーン面NP2)の頂点の位置に基づいて、通過禁止領域PFA1と通過禁止領域PFA2とが交わるか否かを判定し、これらの頂点の位置に基づいて、拡大通過禁止領域EPFAの形状および配置位置を決定している。
このようにすると、お供キャラクタAC2は、例えば、図18(B)の矢印に示すような移動経路で移動するように制御されるため、図18(A)の矢印に示す移動経路に比べて、移動に要する時間を短縮することができる。このため、プレーヤキャラクタPC2が移動しても、お供キャラクタAC2を短時間でプレーヤキャラクタPC2に追いつかせることが可能となる。従って、お供キャラクタAC2が第2のプレーヤ用の表示部に表示されるまでの時間を短縮することができ、より好適な画像を生成することができる。
なお本実施形態では、2つの通過禁止領域が交わる場合を例にとり説明したが、3つ以上の通過禁止領域が交わる場合にも同様の手法を採用することができる。また、お供キャラクタAC1についても同様の手法を採用することができる。
図19(A)は、お供キャラクタAC1の移動経路を誘導できるように通過禁止領域PFA1を設定するとともに、お供キャラクタAC2の移動経路を誘導できるように通過禁止領域PFA2を設定した状態の一例を示す平面図である。図19(B)は、通過禁止領域PFA1および通過禁止領域PFA2が含まれる拡大通過禁止領域EPFAを設定した状態の一例を示す平面図である。
図18(A)同様に、図19(A)においても、お供キャラクタAC2に通過禁止領域PFA2を迂回させてプレーヤキャラクタPC2の下まで移動させるとなると、例えば、図19(A)の矢印に示すような移動経路で移動するように制御されることになるため、移動に時間がかかってしまう。
そこで、図19(B)に示すように、通過禁止領域PFA1と通過禁止領域PFA2とが交わる場合には、通過禁止領域PFA1および通過禁止領域PFA2が含まれる拡大通過禁止領域EPFAを設定するように制御している。具体的には、通過禁止領域PFA1の頂点の位置および通過禁止領域PFA2の頂点の位置に基づいて、通過禁止領域PFA1と通過禁止領域PFA2とが交わるか否かを判定し、これらの頂点の位置に基づいて、拡大通過禁止領域EPFAの形状および配置位置を決定している。
このようにすると、お供キャラクタAC2は、例えば、図19(B)の矢印に示すような移動経路で移動するように制御されるため、図19(A)の矢印に示す移動経路に比べて、移動に要する時間を短縮することができる。このため、プレーヤキャラクタPC2が移動しても、お供キャラクタAC2を短時間でプレーヤキャラクタPC2に追いつかせることが可能となる。従って、お供キャラクタAC2が第2のプレーヤ用の表示部に表示されるまでの時間を短縮することができ、より好適な画像を生成することができる。
なお本実施形態では、2つの通過禁止領域が交わる場合を例にとり説明したが、3つ以上の通過禁止領域が交わる場合にも同様の手法を採用することができる。また、お供キャラクタAC1についても同様の手法を採用することができる。
次に、図20を参照しながら複数のプレーヤによるプレイをオンラインゲームとして行う場合のゲームシステムの概略構成について説明する。図20は、オンラインゲーム場合のゲームシステムの概略構成図の一例である。
ゲームシステム1は、サーバ装置10と、ゲーム装置20−1、ゲーム装置20−2、・・・ゲーム装置20−Nと、これらを接続するネットワーク30とを含む。各ゲーム装置からの入力データ(例えば、プレーヤキャラクタを操作するための操作情報など)は、ネットワーク30を介してサーバ装置10に送信され、サーバ装置10では、受信した入力データに基づいてゲーム用の演算処理が行われる。そして、演算処理結果をネットワーク30を介して各ゲーム装置に送信し、各ゲーム装置では、受信した演算結果に基づいて画像を生成する。
3.本実施形態の処理
図21を参照しながら本実施形態の処理詳細の一例について説明する。図21は、本実施形態の処理の一例を説明するためのフローチャート図である。
まず、操作情報の入力があるか否かを判定し(ステップS100)、操作情報の入力がある場合には、プレーヤキャラクタPC1を操作情報に応じた位置に移動させる(ステップS100でY、ステップS102)。
次に、プレーヤキャラクタPC1の位置や向き(回転角度)に基づいて、少なくともプレーヤキャラクタPC1がビューボリュームVV1内に含まれるように仮想カメラVC1の位置や向き(回転角度)を決定する(ステップS104)。
次に、ビューボリュームVV1のニアプレーン面NP1に通過禁止領域PFA1を設定する(ステップS106)。
次に、プレーヤキャラクタPC1の位置とお供キャラクタAC1の位置とに基づいて、お供キャラクタAC1とプレーヤキャラクタPC1との距離が所定範囲以上離れているか否かを判定し(ステップS108)、所定範囲以上離れている場合には、プレーヤキャラクタPC1の後を追ってお供キャラクタAC1を移動させる(ステップS108でY、ステップS110)。
次に、お供キャラクタAC1が通過禁止領域PFA1に移動したか否かを判定し(ステップS112)、通過禁止領域PFA1に移動した場合には、お供キャラクタAC1の移動位置を修正する(ステップS112でY、ステップS114)。
最後に、仮想カメラVC1から見える描画空間VV1の画像を描画(生成)する(ステップS116)。
4.変形例
本発明は、上記の実施形態で説明したものに限らず、種々の変形実施が可能である。以下、図22を参照しながら変形実施形態について説明する。なお、以下に示す変形実施形態では、上記の実施形態と共通の事項については詳細な説明を省略し、主要な相違点について説明する。
図22(A)は、オブジェクト空間の一例を示す斜視図であり、プレーヤキャラクタPC1が敵キャラクタECに対して攻撃を行っている状態の一例を示す図である。図22(B)は、敵キャラクタECがプレーヤキャラクタPC1の攻撃を防いでいる状態の一例を示す図である。
変形実施形態では、図22(A)に示すように、プレーヤキャラクタPC1が複数の昆虫PI(複数のオブジェクトの一例)を召還し、これらの召還された昆虫PIを用いて敵キャラクタECに対して攻撃を行う。なお、これらの昆虫PIは、敵キャラクタECに向かって(敵キャラクタECの位置に基づいて)移動するように制御されている(所与の移動アルゴリズムの一例)。
仮想カメラVC1は、少なくともプレーヤキャラクタPC1および敵キャラクタECを含んで撮影するように制御されている。つまり変形実施形態では、少なくともプレーヤキャラクタPC1および敵キャラクタECがビューボリュームVV1内に含まれるように仮想カメラVC1が制御されている。
また敵キャラクタECは、プレーヤキャラクタPC1の攻撃を防御できるように制御されており、例えば、図22(B)に示すように、プレーヤキャラクタPC1と敵キャラクタECとの間の領域であって、複数の昆虫PIの移動経路上に、複数の昆虫PIの通過を禁止する星形の通過禁止領域PFA3を設定することで、プレーヤキャラクタPC1による複数の昆虫PIの攻撃を防御する。
そして変形実施形態では、複数の昆虫PIが通過禁止領域PFA3にヒットすると、通過禁止領域PFA3の形状に応じて複数の昆虫PIを移動させるように制御されている。つまり変形実施形態では、図22(B)に示すように、複数の昆虫PIが通過禁止領域PFA3にヒットすると、通過禁止領域PFA3の形状である星形を描くように複数の昆虫PIの移動が制御される。具体的には、通過禁止領域PFA3に対するヒット位置に応じて各昆虫の移動経路(移動方向)が決定されている。
従って、変形実施形態では、複数の昆虫PIそれぞれの移動を制御するという煩雑な処理ではなく、演出に応じた形状の通過禁止領域PFA3を設定するという簡易な処理で、複数の昆虫PIに伴う演出を行うことができる。
なお、本発明は上記実施形態で説明したものに限られず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また、本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。
また本発明は、業務用画像生成システム、家庭用画像生成システム、携帯型画像生成システム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システム(ゲームシステム)に適用できる。
本実施形態の画像生成システムの機能ブロックの一例を示す図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムで生成される画像の一例を示す図。 本実施形態の画像生成システムで生成される画像の一例を示す図。 本実施形態の画像生成システムで生成される画像の一例を示す図。 本実施形態の画像生成システムの制御手法の説明図。 図7(A)は本実施形態の画像生成システムの制御手法の説明図。図7(B)は本実施形態との比較例を示す図。 本実施形態との比較例を示す図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムで生成される画像の一例を示す図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムで生成される画像の一例を示す図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの制御手法の説明図。 本実施形態の画像生成システムの処理例を示すフローチャート図。 変形実施形態の画像生成システムの制御手法の説明図。
符号の説明
PC1〜PC2 プレーヤキャラクタ、AC1〜AC2 お供キャラクタ、
VC1〜VC2 仮想カメラ、EC 敵キャラクタ、
VV1〜VV2 ビューボリューム、NP1〜NP2 ニアプレーン面、
FP1〜FP2 ファープレーン面、PFA1〜PFA3 通過禁止領域、
EPFA 拡大通過禁止領域、
1 ゲームシステム、10 サーバ装置、
20−1〜20−N ゲーム装置、30 ネットワーク、
100 処理部、110 オブジェクト空間設定部、112 表示制御部、
114 移動制御部、116 仮想カメラ制御部、118 通信制御部、
120 描画部、130 音生成部、160 操作部、170 記憶部、
172 主記憶部、174 オブジェクトデータ記憶部、176 描画バッファ、
180 情報記憶媒体、182 携帯型情報記憶装置、190 表示部、
192 音出力部、194 通信部

Claims (10)

  1. 仮想カメラから見えるオブジェクト空間の画像を生成するためのプログラムであって、
    第1のオブジェクトを前記オブジェクト空間内に設定するオブジェクト空間設定部と、
    前記第1のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
    前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
    前記仮想カメラから見える空間であって、前記仮想カメラに近い第1の面と前記仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する描画部としてコンピュータを機能させ、
    前記オブジェクト空間設定部が、
    前記第1のオブジェクトが前記第1の面を通過することを禁止する通過禁止領域を前記オブジェクト空間内に設定することを特徴とするプログラム。
  2. 請求項1において、
    前記オブジェクト空間設定部が、
    所与の条件に応じて、異なる形状の前記通過禁止領域を前記オブジェクト空間内に設定することを特徴とするプログラム。
  3. 請求項2において、
    前記仮想カメラ制御部が、
    複数の前記仮想カメラの各仮想カメラについて位置および向きの少なくとも一方の制御を行い、
    前記オブジェクト空間設定部が、
    前記仮想カメラ毎に前記通過禁止領域を前記オブジェクト空間内に設定するとともに、1の前記通過禁止領域と他の前記通過禁止領域の位置関係に応じて、1の前記通過禁止領域および他の前記通過禁止領域が含まれる拡大通過禁止領域を前記オブジェクト空間内に設定することを特徴とするプログラム。
  4. 請求項1〜3のいずれかにおいて、
    前記オブジェクト空間設定部が、
    第2のオブジェクトをオブジェクト空間内に設定し、
    前記移動制御部が、
    操作部からの操作情報に基づいて前記第2のオブジェクトを前記オブジェクト空間内で移動させるとともに、前記第2のオブジェクトの位置に応じて前記第1のオブジェクトを前記オブジェクト空間内で移動させ、
    前記仮想カメラ制御部が、
    少なくとも前記第2のオブジェクトが含まれるように、前記仮想カメラの位置および向きの少なくとも一方を制御することを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記オブジェクト空間設定部が、
    前記第1のオブジェクトの通過が禁止されるポリゴンまたはボリュームを前記通過禁止領域として前記オブジェクト空間内に設定することを特徴とするプログラム。
  6. 請求項1〜5のいずれかにおいて、
    前記第1のオブジェクトは、進行方向に対して所与の長さを有するオブジェクトであることを特徴とするプログラム。
  7. 仮想カメラから見えるオブジェクト空間の画像を生成するためのプログラムであって、
    複数のオブジェクトをオブジェクト空間内に設定するオブジェクト空間設定部と、
    所与の移動アルゴリズムに基づいて、前記複数のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
    前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
    前記仮想カメラから見える空間であって、前記仮想カメラに近い第1の面と前記仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する描画部としてコンピュータを機能させ、
    前記オブジェクト空間設定部が、
    前記描画空間内であって前記複数のオブジェクトの移動経路上に、前記複数のオブジェクトが通過することを禁止する通過禁止領域を設定し、
    前記移動制御部が、
    前記複数のオブジェクトを前記通過禁止領域の形状に応じて移動させることを特徴とするプログラム。
  8. コンピュータにより読取可能な情報記憶媒体であって、請求項1〜7のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
  9. 仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、
    第1のオブジェクトを前記オブジェクト空間内に設定するオブジェクト空間設定部と、
    前記第1のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
    前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
    前記仮想カメラから見える空間であって、前記仮想カメラに近い第1の面と前記仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、
    前記オブジェクト空間設定部が、
    前記第1のオブジェクトが前記第1の面を通過することを禁止する通過禁止領域を前記オブジェクト空間内に設定することを特徴とする画像生成システム。
  10. 仮想カメラから見えるオブジェクト空間の画像を生成するための画像生成システムであって、
    複数のオブジェクトをオブジェクト空間内に設定するオブジェクト空間設定部と、
    所与の移動アルゴリズムに基づいて、前記複数のオブジェクトを前記オブジェクト空間内で移動させる移動制御部と、
    前記仮想カメラの位置および向きの少なくとも一方を制御する仮想カメラ制御部と、
    前記仮想カメラから見える空間であって、前記仮想カメラに近い第1の面と前記仮想カメラから遠い第2の面との間の空間に対応する空間である描画空間の画像を描画する描画部とを含み、
    前記オブジェクト空間設定部が、
    前記描画空間内であって前記複数のオブジェクトの移動経路上に、前記複数のオブジェクトが通過することを禁止する通過禁止領域を設定し、
    前記移動制御部が、
    前記複数のオブジェクトを前記通過禁止領域の形状に応じて移動させることを特徴とする画像生成システム。
JP2007242478A 2007-09-19 2007-09-19 プログラム、情報記憶媒体、および画像生成システム Withdrawn JP2009075739A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007242478A JP2009075739A (ja) 2007-09-19 2007-09-19 プログラム、情報記憶媒体、および画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007242478A JP2009075739A (ja) 2007-09-19 2007-09-19 プログラム、情報記憶媒体、および画像生成システム

Publications (1)

Publication Number Publication Date
JP2009075739A true JP2009075739A (ja) 2009-04-09

Family

ID=40610662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007242478A Withdrawn JP2009075739A (ja) 2007-09-19 2007-09-19 プログラム、情報記憶媒体、および画像生成システム

Country Status (1)

Country Link
JP (1) JP2009075739A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196791A1 (zh) * 2014-06-27 2015-12-30 北京大学深圳研究生院 双目三维图形渲染方法及相关系统
JP2019121387A (ja) * 2017-12-28 2019-07-22 ダッソー システムズDassault Systemes 3dオブジェクトの設計のための描画平面を定義するための方法
CN111372661A (zh) * 2017-09-29 2020-07-03 索尼互动娱乐有限责任公司 用好友虚拟形象增强虚拟现实视频游戏
WO2021020465A1 (ja) * 2019-07-31 2021-02-04 株式会社カネカ 太陽電池セルの製造方法、太陽電池セル、太陽電池デバイスおよび太陽電池モジュール

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196791A1 (zh) * 2014-06-27 2015-12-30 北京大学深圳研究生院 双目三维图形渲染方法及相关系统
CN111372661A (zh) * 2017-09-29 2020-07-03 索尼互动娱乐有限责任公司 用好友虚拟形象增强虚拟现实视频游戏
CN111372661B (zh) * 2017-09-29 2024-04-19 索尼互动娱乐有限责任公司 用好友虚拟形象增强虚拟现实视频游戏
JP2019121387A (ja) * 2017-12-28 2019-07-22 ダッソー システムズDassault Systemes 3dオブジェクトの設計のための描画平面を定義するための方法
JP7340927B2 (ja) 2017-12-28 2023-09-08 ダッソー システムズ 3dオブジェクトの設計のための描画平面を定義するための方法
WO2021020465A1 (ja) * 2019-07-31 2021-02-04 株式会社カネカ 太陽電池セルの製造方法、太陽電池セル、太陽電池デバイスおよび太陽電池モジュール

Similar Documents

Publication Publication Date Title
JP4771821B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009240498A (ja) プログラム、情報記憶媒体、ゲームシステム
JP2007300974A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2010033298A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2011053838A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP5995304B2 (ja) プログラム、情報記憶媒体、端末及びサーバ
JP4412715B2 (ja) プログラム、情報記憶媒体および画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JPH09167258A (ja) 画像合成方法、画像合成装置及びゲーム装置
JP2009075739A (ja) プログラム、情報記憶媒体、および画像生成システム
US20140113728A1 (en) Server, terminal, network system, program and information storage medium
JP2008027064A (ja) プログラム、情報記録媒体および画像生成システム
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2008071069A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006252426A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007026111A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2009169471A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009205522A (ja) プログラム、情報記憶媒体、情報変換システム
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4913399B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006263321A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2007164323A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4698701B2 (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: 20101207