JP2009211243A - プログラム、情報記憶媒体、及び画像生成システム - Google Patents
プログラム、情報記憶媒体、及び画像生成システム Download PDFInfo
- Publication number
- JP2009211243A JP2009211243A JP2008051566A JP2008051566A JP2009211243A JP 2009211243 A JP2009211243 A JP 2009211243A JP 2008051566 A JP2008051566 A JP 2008051566A JP 2008051566 A JP2008051566 A JP 2008051566A JP 2009211243 A JP2009211243 A JP 2009211243A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- coordinate system
- screen mode
- determined
- program
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】アスペクト比が異なる2つの画面モードのそれぞれにおいて、縦横のバランスを崩さず表示することが可能な画像を生成することができるプログラム、情報記憶媒体、及び画像生成システムを提供すること。
【解決手段】オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する画面モード決定部と、オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換し、さらに射影座標系に変換して描画処理を行う描画部としてコンピュータを機能させ、前記描画部は、前記各頂点の座標を射影座標系に変換する際に、決定された画面モードに応じて仮想カメラの画角を調整することを特徴とする。
【選択図】図9
【解決手段】オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する画面モード決定部と、オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換し、さらに射影座標系に変換して描画処理を行う描画部としてコンピュータを機能させ、前記描画部は、前記各頂点の座標を射影座標系に変換する際に、決定された画面モードに応じて仮想カメラの画角を調整することを特徴とする。
【選択図】図9
Description
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
従来から、複数のポリゴンが設定されるオブジェクト空間(仮想的な3次元空間)内において、仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
このような画像生成システムでは、ゲーム画面をワイド画面対応により表示した場合にゲーム画面上のキャラクタが横に広がってゲーム画面全体のバランスが崩れることを防止するために、ワイド画面が選択された場合にワイド画面の拡大率の逆数倍に縮小する変換マトリクスによってキャラクタの図形データを表現するポリゴンの各頂点の座標を視点座標系に変換するものが知られている(例えば、特許文献1)。
特許第3965705号公報
しかしながら従来の画像生成システムでは、キャラクタの図形データを処理対象としており画面全体での処理を行うことができなかった。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、アスペクト比が異なる2つの画面モードのそれぞれにおいて、縦横のバランスを崩さず表示することが可能な画像を生成することができるプログラム、情報記憶媒体、及び画像生成システムを提供することにある。
(1)本発明は、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する画面モード決定部と、
オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換し、さらに射影座標系に変換して描画処理を行う描画部としてコンピュータを機能させ、
前記描画部は、
前記各頂点の座標を射影座標系に変換する際に、決定された画面モードに応じて仮想カメラの画角を調整することを特徴とする。
画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する画面モード決定部と、
オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換し、さらに射影座標系に変換して描画処理を行う描画部としてコンピュータを機能させ、
前記描画部は、
前記各頂点の座標を射影座標系に変換する際に、決定された画面モードに応じて仮想カメラの画角を調整することを特徴とする。
また本発明は上記各部を含む画像生成システムに関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
本発明によれば、射影変換(透視投影変換)時に、決定された画面モードに応じて仮想カメラの画角を調整することにより、アスペクト比が異なる2つの画面モードのそれぞれにおいて、縦横のバランスを崩さず表示することが可能な画像を生成することができる。
(2)また本発明に係るプログラム及び情報記憶媒体では、
前記第2の画面は、前記第1の画面を横方向に拡大した画面であって、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記各頂点の座標を射影座標系に変換する際に、仮想カメラの画面横方向の画角を拡大することを特徴とする。
前記第2の画面は、前記第1の画面を横方向に拡大した画面であって、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記各頂点の座標を射影座標系に変換する際に、仮想カメラの画面横方向の画角を拡大することを特徴とする。
本発明によれば、横方向に拡大した画面モードにおいて、縦横のバランスを崩さず表示することが可能な画像を生成することができる。
(3)また本発明に係るプログラム及び情報記憶媒体では、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、画面横方向に前記第1の画面に対する前記第2の画面の拡大率の逆数倍に縮小する射影マトリクスに基づいて、前記各頂点の座標を射影座標系に変換することを特徴とする。
前記描画部は、
画面モードが前記第2の画面に決定された場合には、画面横方向に前記第1の画面に対する前記第2の画面の拡大率の逆数倍に縮小する射影マトリクスに基づいて、前記各頂点の座標を射影座標系に変換することを特徴とする。
本発明によれば、横方向に拡大した画面モードにおいて、縦横のバランスを崩さず表示することが可能な画像を生成することができる。
(4)また本発明に係るプログラム及び情報記憶媒体では、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像に対して平滑化処理を行って表示部に出力することを特徴とする。
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像に対して平滑化処理を行って表示部に出力することを特徴とする。
本発明によれば、横方向に拡大した画面モードにおいて、生成した画像に対して平滑化処理を行うことで、生成した画像が横方向に引き伸ばされて表示部に表示された場合に、見た目に不自然な画像とならないようにすることができる。
(5)また本発明に係るプログラム及び情報記憶媒体では、
前記描画部は、
決定された画面モードに応じて異なるパラメータを用いて前記平滑化処理を行うことを特徴とする。
前記描画部は、
決定された画面モードに応じて異なるパラメータを用いて前記平滑化処理を行うことを特徴とする。
(6)また本発明に係るプログラム及び情報記憶媒体では、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像を、画面横方向に前記第1の画面に対する第2の画面の拡大率より小さい拡大率によって拡大して表示部に出力することを特徴とする。
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像を、画面横方向に前記第1の画面に対する第2の画面の拡大率より小さい拡大率によって拡大して表示部に出力することを特徴とする。
(7)また本発明に係るプログラム及び情報記憶媒体では、
前記描画部は、
決定された画面モードに応じて解像度の異なるテクスチャをオブジェクトにマッピングすることを特徴とする。
前記描画部は、
決定された画面モードに応じて解像度の異なるテクスチャをオブジェクトにマッピングすることを特徴とする。
本発明によれば、横方向に拡大した画面モードにおいて、横方向に引き伸ばされて表示部に表示された場合に、見た目に不自然な画像とならないようにすることができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤがオブジェクト(移動体、プレーヤキャラクタ)の操作データを入力するためのものであり、その機能は、キーボート、マウス、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
特に本実施形態の操作部160は、画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択するための操作データを入力するものである。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。なお、オブジェクトデータ記憶部176は、オブジェクトのオブジェクトデータが記憶される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部196は外部(例えば他のゲームシステム、サーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信してゲームシステムを機能させる場合も本発明の範囲内に含む。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、画面モード決定部108、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
画面モード決定部108は、操作部160からの、画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する。
オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
移動・動作処理部112は、オブジェクト(キャラクタ、移動体オブジェクト等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)等に基づいて、ワールド座標系における仮想カメラの位置(X、Y、Z)又は回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、射影変換(透視変換、投影変換)、ビューポート変換(スクリーン座標変換)、光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。ジオメトリ処理後のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部176に保存される。
特に本実施形態の描画部120は、オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換(視野変換)し、さらに射影座標系に変換(射影変換)して描画処理を行い、前記各頂点の座標を射影座標系に変換する際に、画面モード決定部108によって決定された画面モードに応じて仮想カメラの画角を調整する。
また描画部120は、前記第2の画面が前記第1の画面を横方向に拡大した画面である場合に、画面モード決定部108によって画面モードが前記第2の画面に決定された場合には、前記各頂点の座標を射影座標系に変換する際に、仮想カメラの画面横方向の画角を拡大するようにしてもよい。
また描画部120は、画面モード決定部108によって画面モードが前記第2の画面に決定された場合には、画面横方向に前記第1の画面に対する前記第2の画面の拡大率の逆数倍に縮小する射影マトリクスに基づいて、前記各頂点の座標を射影座標系に変換するようにしてもよい。
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
特に本実施形態体の描画部120は、画面モード決定部108によって画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像に対して平滑化処理(アンチエイリアス)を行って描画バッファ174に出力するようにしてもよい。
また描画部120は、決定された画面モードに応じて異なるパラメータを用いて前記平滑化処理を行うようにしてもよい。
また描画部120は、画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像を、画面横方向に前記第1の画面に対する第2の画面の拡大率より小さい拡大率によって拡大して表示部190に出力するようにしてもよい。
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、オブジェクトを描画する際にテクスチャマッピング、隠面消去処理、αブレンディング等を行う。
テクスチャマッピングは、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部178からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
特に本実施形態体の描画部120は、画面モード決定部108によって決定された画面モードに応じてテクスチャ記憶部178から解像度の異なるテクスチャを読み出してオブジェクトにマッピングするようにしてもよい。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ179(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ179に格納されるZ値を参照する。そして参照されたZバッファ179のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ179のZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
次に本実施形態の手法について図面を用いて説明する。
2−1.仮想カメラの画角の調整
図2(A)、図2(B)は、射影変換について説明するための図である。
図2(A)、図2(B)は、射影変換について説明するための図である。
本実施形態では、画面モードとしてアスペクト比(縦横比)4:3のノーマル画面(第1の画面)と、アスペクト比16:9のワイド画面(第2の画面)とが用意されており、プレーヤによる選択入力によって画面モードを決定する。
そして、オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換(視野変換)し、さらに射影座標系に変換(射影変換)する際に、決定された画面モードに応じて仮想カメラの画角を調整する。
すなわち、決定された画像モードに応じて異なる形状のビューボリュームを視点座標系に設定する。具体的には、画面モードがノーマル画面に決定された場合には、図2(A)に示すように、アスペクト比(w/h)が4/3のビューボリュームVV1を視点座標系に設定し、画面モードがワイド画面に選択された場合には、図2(B)に示すように、アスペクト比(w/h)が16/9のビューボリュームVV2を視点座標系に設定する。図2(B)に示すビューボリュームVV2は、図2(A)に示すビューボリュームVV1に比べて、仮想カメラVCのX軸方向の画角(視野角)θxが4/3倍に拡大している。
ここで視点座標系から射影座標系への射影変換は射影マトリクスR(変換マトリクス)に基づき行われ、射影マトリクスRは、次式により表すことができる。
なお、パラメータnは、ニアプレーン面NP(仮想カメラVCから近いクリップ平面)のZ座標値であり、パラメータfは、ファープレーン面FP(仮想カメラVCから遠いクリップ平面)のZ座標値である。またパラメータl、rは、それぞれニアプレーン面NPの左端、右端のX座標値であり、パラメータt、bは、それぞれニアプレーン面NPの上端、下端のY座標値である。
本実施形態では、画面モードがノーマル画面に決定された場合には、アスペクト比(r−l)/(t−b)が4/3となるように各パラメータを設定して射影マトリクスRを求め、画面モードがワイド画面に決定された場合には、アスペクト比(r−l)/(t−b)が16/9となるように各パラメータを設定して射影マトリクスRを求める。
ビューボリューム内のオブジェクトを構成する各頂点の座標は、射影変換により図3に示す射影座標系CC(クリップ座標系)に変換され、さらにビューポート変換によりスクリーン座標系に変換される。
図4(A)、図4(B)は、スクリーン座標系について説明するための図である。図4(A)は、画面モードがノーマル画面に決定された場合の、スクリーン座標系SCにおけるオブジェクトOBを示し、図4(B)は、画面モードがワイド画面に決定された場合の、スクリーン座標系SCにおけるオブジェクトOBを示す。
本実施形態のスクリーン座標系SCでは、ビューポートVPのアスペクト比は4/3であり、その領域はX軸方向に0〜640、Y軸方向に0〜480であり、描画バッファ174(レンダリングターゲット)の領域(640×480)と対応している。
図4(A)に示すように、画面モードがノーマル画面である場合には、射影変換の際のビューボリュームVV1のアスペクト比とビューポートVPのアスペクト比が一致しているため、スクリーン座標系SCにおけるオブジェクトOBの縦横のバランスに変化はない。
一方、図4(B)に示すように、画面モードがワイド画面である場合には、射影変換の際のビューボリュームVV2のアスペクト比が16/9であるのに対して、ビューポートのアスペクト比が4/3であるために、スクリーン座標系SCにおけるオブジェクトOBがX軸方向(画面横方向)に縮小している。具体的にはノーマル画面に対するワイド画面の拡大率(4/3)の逆数倍(3/4)に縮小している。
図5(A)、図5(B)は、表示部に表示されるゲーム画面の一例である。
図5(A)に示すように、画面モードがノーマル画面に決定された場合には、表示部190にアスペクト比4:3のノーマル画面NSが表示される。また図5(B)に示すように、画面モードがワイド画面に決定された場合には、表示部190にアスペクト比16:9のワイド画面WSが表示される。
なお図5(B)の場合には、描画バッファ174に記憶されたアスペクト比4:3の画像データが画面横方向に約1.11倍(ノーマル画面に対するワイド画面の拡大率(4/3)より小さい拡大率)に拡大されて表示部190に対して出力され、表示部190においてさらに画面横方向に約1.2倍に拡大されてワイド画面WSとして表示される。従ってスクリーン座標系SCにおいて横方向に縮小されたオブジェクトOBは、ワイド画面WSにおいて画面横方向に4/3倍に拡大され、縦横のバランスが本来のものに戻っている。
このように、画面モードがワイド画面に決定された場合には、仮想カメラの画角横方向に拡大して射影変換を行う(スクリーン座標系においてオブジェクトの各頂点が横方向に縮小されるような射影マトリクスに基づき射影変換を行う)ことにより、横方向に拡大したワイド画面においても縦横のバランスを崩さず表示することができる。
なおワイド画面時に、描画バッファ174からアスペクト比4:3の画像データをそのまま表示部190に対して出力し、表示部190において画面横方向に4/3倍に拡大されてワイド画面WSとして表示されるようにしてもよい。
2−2.平滑化処理
図6は、本実施形態における平滑化処理について説明するための図である。
図6は、本実施形態における平滑化処理について説明するための図である。
本実施形態では、画面モードがワイド画面に決定された場合には、描画された画像に対して平滑化処理を行って表示部に出力する画像に対して平滑化処理を行って表示部に出力する。
例えば、図6のA1に示すように、描画バッファ174に描画された元画像OIを拡大処理して描画バッファ174よりサイズの大きいワークバッファに描画し、さらにワークバッファに描画された拡大画像EIを縮小処理して描画バッファ174に描画することで平滑化処理を行う。なお、元画像を縦又は横方向にずらしたワーク画像をワークバッファに描画して、このワーク画像を元画像に合成することにより平滑化処理を行ってもよい。
このように、画面モードがワイド画面に決定された場合には、描画された画像に対して平滑化処理を行って表示部190に出力することで、表示部190において画面横方向に拡大された場合に、見た目に自然な画像とすることができる。
なお、ノーマル画面時にも平滑化処理を行うようにして、画面モードに応じて平滑化処理に用いるパラメータの値を変更するようにしてもよい。例えばワイド画面時には、元画像OIの拡大率をノーマル画面時に比べて大きくして、平滑化の効果がより強く出るようにしてもよい。
2−3.テクスチャマッピング
図7(A)、図7(B)は、本実施形態におけるテクスチャマッピングについて説明するための図である。なお、図7(A)は、ノーマル画面用のテクスチャを示し、図7(B)は、ワイド画面用のテクスチャを示す。
図7(A)、図7(B)は、本実施形態におけるテクスチャマッピングについて説明するための図である。なお、図7(A)は、ノーマル画面用のテクスチャを示し、図7(B)は、ワイド画面用のテクスチャを示す。
本実施形態では、決定された画面モードに応じて解像度の異なるテクスチャをオブジェクトにマッピングする。
例えば、テクスチャ記憶部176に、ノーマル画面用のテクスチャNTと、ノーマル画面用のテクスチャNTを横方向に3/4倍に縮小させた(ノーマル画面用のテクスチャNTの横方向の解像度を低くした)ワイド画面用のテクスチャWTとを記憶しておき、画面モードがノーマル画面に決定された場合には、ノーマル画面用のテクスチャNTをオブジェクトにマッピングし、画面モードがワイド画面に決定された場合には、ワイド画面用のテクスチャWTをオブジェクトにマッピングする。
このように、画面モードがワイド画面に決定された場合には、予め横方向に縮小したテクスチャをスクリーン座標系のオブジェクト(横方向に縮小された)にマッピングすることにより、マッピング時にテクスチャの縦横のバランスを維持させることができる。すなわち、マッピング時にテクスチャが横方向に縮小され、テクスチャに表された文字がつぶれてしまうことを防止することができる。
2−4.詳細度レベル(LOD)
図8(A)、図8(B)は、本実施形態の詳細度レベル(LOD)の制御について説明するための図である。
図8(A)、図8(B)は、本実施形態の詳細度レベル(LOD)の制御について説明するための図である。
本実施形態では、オブジェクト空間における仮想カメラとオブジェクトとの距離に基づいてオブジェクトの詳細度レベルを制御して描画処理を行う。具体的には、仮想カメラとオブジェクトとの距離が所定の閾値内であれば、当該オブジェクトについては詳細度レベル1による高精細なオブジェクトを描画する。また、仮想カメラとオブジェクトとの距離が所定の閾値を超えていれば、当該オブジェクトについては詳細度レベル2による低精細なオブジェクト(ポリゴン数や頂点数を削減されたオブジェクト)を描画する。さらに本実施形態では、決定された画面モードに応じて、この詳細度レベルを制御するための閾値を変更する。
例えば、画面モードがノーマル画面に決定された場合には、図8(A)に示すように、閾値TH1を設定し、画面モードがワイド画面に決定された場合には、図8(B)に示すように、仮想カメラVCにより近い閾値TH2を設定する。すなわちノーマル画面時にはオブジェクトOB1、OB2が高精細に描画され、ワイド画面時には、最も仮想カメラVCに近いオブジェクトOB1のみが高精細に描画される。
ワイド画面時には、スクリーン座標系においてオブジェクトを構成する各頂点が横方向に縮小するため、仮想カメラVCからある程度離れたオブジェクトについてまで高精細なオブジェクトを描画したとしても、その効果はノーマル画面時と比べて減じてしまう。また、ワイド画面時には、画面に見えるオブジェクトがノーマル画面より広がるため、より多くの頂点を処理しなければならなくなる。従って、画面モードがワイド画面に決定された場合には、詳細度レベルの閾値をノーマル画面時より低く設定して高精細に描画する範囲を狭めることにより、無駄な演算処理をすることなく効率的な描画を行うことができる。
3.本実施形態の処理
次に、本実施形態の処理の一例について図9のフローチャートを用いて説明する。
次に、本実施形態の処理の一例について図9のフローチャートを用いて説明する。
まず、オブジェクトを構成する各頂点の座標をワールド座標系に変換するワールド座標変換を行う(ステップS10)。次に、各頂点の座標を視点座標系に変換する視野変換を行う(ステップS12)。
次に、画面モードがワイド画面であるか否かを判断し(ステップS14)、ワイド画面でない(ノーマル画面である)と判断した場合には、アスペクト比が4:3のビューボリュームを視点座標系に設定して、ビューボリューム内の各頂点の座標を射影座標系に変換する射影変換を行う(ステップS16)。
ステップS14において、画面モードがワイド画面であると判断した場合には、アスペクト比が16:9のビューボリュームを視点座標系に設定して、ビューボリューム内の各頂点の座標を射影座標系に変換する射影変換を行う(ステップS18)。すなわち仮想カメラの横方向のみの画角を4/3倍に拡大して射影変換を行う。
次に、各頂点の座標をスクリーン座標系に変換するビューポート変換を行い(ステップS20)、座標変換後のオブジェクトの描画色を描画バッファに出力する描画処理を行う(ステップS22)。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
例えば、1の仮想カメラから見える画像を1画面に表示する場合について説明したが、2つの仮想カメラのそれぞれから見える画像を上下に2分割した画面のそれぞれに表示するようにしてもよい。この場合、画面モードとしてノーマル画面が決定された場合には、アスペクト比が8:3のビューボリュームを視点座標系に設定して射影変換を行い、ワイド画面が決定された場合にはアスペクト比が32:9のビューボリュームを視点座標系に設定して射影変換を行う。すなわち画面を2分割する場合でも、ワイド画面時には、仮想カメラの横方向のみの画角を4/3倍に拡大して射影変換を行う。
100 処理部、108 画面モード決定部、110 オブジェクト空間設定部、112 移動・動作処理部、114 仮想カメラ制御部、120 描画部、130 音生成部、160 操作部、170 記憶部、180 情報記憶媒体、190 表示部、192 音出力部、196 通信部
Claims (9)
- オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する画面モード決定部と、
オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換し、さらに射影座標系に変換して描画処理を行う描画部としてコンピュータを機能させ、
前記描画部は、
前記各頂点の座標を射影座標系に変換する際に、決定された画面モードに応じて仮想カメラの画角を調整することを特徴とするプログラム。 - 請求項1において、
前記第2の画面は、前記第1の画面を横方向に拡大した画面であって、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記各頂点の座標を射影座標系に変換する際に、仮想カメラの画面横方向の画角を拡大することを特徴とするプログラム。 - 請求項2において、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、画面横方向に前記第1の画面に対する前記第2の画面の拡大率の逆数倍に縮小する射影マトリクスに基づいて、前記各頂点の座標を射影座標系に変換することを特徴とするプログラム。 - 請求項2又は3のいずれかにおいて、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像に対して平滑化処理を行って表示部に出力することを特徴とするプログラム。 - 請求項4において、
前記描画部は、
決定された画面モードに応じて異なるパラメータを用いて前記平滑化処理を行うことを特徴とするプログラム。 - 請求項2乃至5のいずれかにおいて、
前記描画部は、
画面モードが前記第2の画面に決定された場合には、前記描画処理によって生成された画像を、画面横方向に前記第1の画面に対する第2の画面の拡大率より小さい拡大率によって拡大して表示部に出力することを特徴とするプログラム。 - 請求項1乃至6のいずれかにおいて、
前記描画部は、
決定された画面モードに応じて解像度の異なるテクスチャをオブジェクトにマッピングすることを特徴とするプログラム。 - コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至7のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
- オブジェクト空間における仮想カメラから見える画像を生成する画像生成システムであって、
画面のアスペクト比が互いに異なる第1の画面及び第2の画面のいずれかの画面モードを選択する選択入力に基づいて、画面モードを決定する画面モード決定部と、
オブジェクト空間に配置されたオブジェクトを構成する各頂点の座標を視点座標系に変換し、さらに射影座標系に変換して描画処理を行う描画部とを含み、
前記描画部は、
前記各頂点の座標を射影座標系に変換する際に、決定された画面モードに応じて仮想カメラの画角を調整することを特徴とする画像生成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008051566A JP2009211243A (ja) | 2008-03-03 | 2008-03-03 | プログラム、情報記憶媒体、及び画像生成システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008051566A JP2009211243A (ja) | 2008-03-03 | 2008-03-03 | プログラム、情報記憶媒体、及び画像生成システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009211243A true JP2009211243A (ja) | 2009-09-17 |
Family
ID=41184336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008051566A Withdrawn JP2009211243A (ja) | 2008-03-03 | 2008-03-03 | プログラム、情報記憶媒体、及び画像生成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009211243A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110251936A (zh) * | 2019-06-24 | 2019-09-20 | 网易(杭州)网络有限公司 | 游戏中虚拟摄像机的控制方法、设备及存储介质 |
-
2008
- 2008-03-03 JP JP2008051566A patent/JP2009211243A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110251936A (zh) * | 2019-06-24 | 2019-09-20 | 网易(杭州)网络有限公司 | 游戏中虚拟摄像机的控制方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010033296A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2004005452A (ja) | 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体 | |
JP4305903B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4749198B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2011053737A (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
JP4868586B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4754384B2 (ja) | プログラム、情報記録媒体および画像生成システム | |
JP4804120B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4651527B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2006195882A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2009169471A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2009211243A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4754385B2 (ja) | プログラム、情報記録媒体および画像生成システム | |
JP2006252426A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2010033253A (ja) | プログラム、情報記憶媒体および画像生成システム | |
JP2010033297A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2010033302A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2010231364A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4476040B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2009140370A (ja) | プログラム、情報記憶媒体、画像生成システム | |
JP4521811B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2008077406A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2006268103A (ja) | プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム | |
JP2009245133A (ja) | プログラム、情報記憶媒体、及び、画像生成システム | |
JP2010033294A (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: 20110510 |