JP4637205B2 - 表示装置、表示方法、ならびに、プログラム - Google Patents

表示装置、表示方法、ならびに、プログラム Download PDF

Info

Publication number
JP4637205B2
JP4637205B2 JP2008120539A JP2008120539A JP4637205B2 JP 4637205 B2 JP4637205 B2 JP 4637205B2 JP 2008120539 A JP2008120539 A JP 2008120539A JP 2008120539 A JP2008120539 A JP 2008120539A JP 4637205 B2 JP4637205 B2 JP 4637205B2
Authority
JP
Japan
Prior art keywords
viewpoint
character
virtual space
display device
storage unit
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.)
Active
Application number
JP2008120539A
Other languages
English (en)
Other versions
JP2009271664A (ja
Inventor
祐一 浅見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co 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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2008120539A priority Critical patent/JP4637205B2/ja
Publication of JP2009271664A publication Critical patent/JP2009271664A/ja
Application granted granted Critical
Publication of JP4637205B2 publication Critical patent/JP4637205B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

キャラクタがスポットライトに照らされている様子を表す画像を簡易、且つ少ない計算量で表示するのに好適な表示装置、表示方法、ならびに、プログラムに関する。
従来からキャラクタに照明が当たっている様子を表す画像を表示する技術が提案されている。このような技術は、例えば、以下の文献に開示されている。
特開2008−027050号公報
特許文献1に開示の技術では、仮想空間内の全方位からオブジェクトを見た画像を生成するため、仮想空間内の面オブジェクト、立体オブジェクト、光源、視点、視線方向の情報から、光源からの光によって面オブジェクトに投影される立体オブジェクトの陰影の形状と位置を計算し、視点が面オブジェクトに対して立体オブジェクトと同じ側にあるか異なる側にあるかを判断し、同じ側にある場合、面オブジェクト、立体オブジェクト及びその陰影を含む画像を生成し、異なる側にある場合、立体オブジェクト及びその陰影を含む画像を生成する。
しかし、このような光源の計算をスポットライトに適用すると、光源が複数となり、計算が複雑になる、という問題が生ずることがある。したがって、簡易に且つ少ない計算量でスポットライトに照らされたキャラクタの様子を表示する技術が求められている。
本発明は以上のような課題を解決するためのものであり、キャラクタがスポットライトに照らされている様子を表す画像を簡易、且つ少ない計算量で表示するのに好適な表示装置、表示方法、ならびに、プログラムを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係る表示装置は、記憶部と、視点移動部と、平面体移動部と、生成部と、を備える。
記憶部は、仮想空間内に配置されるキャラクタの位置と、当該仮想空間内に配置される視点の位置と、当該仮想空間内において当該キャラクタと当該視点とを結ぶ線上の所定の位置に配置され、当該キャラクタと当該視点とを結ぶ回転軸の周りを回転する平面体の位置および向きと、を記憶する。
ここで、視点は3次元仮想空間を見ている仮想カメラであり、当該仮想空間の2次元画像は、当該視点から視線方向(視線は視点が向いている方向である)に見た当該仮想空間を、2次元平面(投射面または投影面とも呼ぶ)に投射することで生成される。
また、平面体は、スポットライトを表現するためのものであり、キャラクタと視点とを結ぶ直線上の、キャラクタの位置(例えば重心などの代表点)と視点の位置との間の所定の位置に、当該直線と垂直に交わるように配置される。平面体は、後述するように、中心部から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である。よって、視点から見た仮想空間を投射面に投影すると、キャラクタの手前に中心部が透明な平面体が配置されるため、キャラクタの中心部分から所定の範囲内が描画され、それ以外の部分は、中心部分に比べると不透明に描画されるか、もしくは全く描画されない。
視点移動部は、当該視点の位置を移動させるように、記憶部を更新する。即ち、ユーザがコントローラなどの入力装置を用いて、仮想カメラ(視点)の位置や向き(視線の方向)、を指定するためのパラメータを変更する旨の指示をすると、視点移動部は当該指示入力に基づいて記憶部に記憶された視点の位置や視線の方向等を更新する。このほか、視点の位置や向きなどのパラメータは、制御プログラムなどから与えられてもよい。あるいは、時間の経過に対応付けてパラメータを所定の値に変更したり、ランダムに変更したりしてもよい。
平面体移動部は、当該視点の位置が移動されると、当該平面体を回転させるように記憶部を更新する。即ち、当該平面体によって表現されるスポットライトは、当該視点の位置に応じて、当該平面体の位置と、キャラクタの位置とを結ぶ軸に対して回転する。これにより、効果的にスポットライトの演出を行う。
生成部は、記憶された視点の位置から当該仮想空間を見た様子を表す画像を生成する。即ち、生成部は3次元仮想空間内のキャラクタを含むオブジェクトを2次元平面に描画するために、視点から視線の方向に見た3次元仮想空間内の全オブジェクトの様子を投射面へと投射して描画する。生成部は、描画された画像データを例えばフレームバッファなどに記憶し、垂直同期割り込みが生じると、フレームバッファの内容をモニター等の表示装置に転送する。
また、当該平面体は、当該回転の中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である。即ち、上述のように、視点から仮想空間を投射面に投影すると、キャラクタの手前に中心部が透明な平面体が描画されるため、平面体の中心部に対応するキャラクタの中心部分のみが描画され、それ以外は不透明に表示されるか、全く表示されない。これによりスポットライトのような効果を得ることができる。
このような表示装置によれば、視点の移動した位置に応じて、中心部が透明な平面体が回転し、当該平面体を視点とキャラクタの間に配置することで、スポットライトが回転しているかのような効果を得ることができる。
また、記憶部は、当該仮想空間内に配置される基準軸の位置および向きをさらに記憶する。ここで、基準軸とは、視点の移動した位置を算出する際に基準となる、仮想空間内に配置される軸である。
このとき、表示装置は、当該視点の位置が移動されると、当該基準軸の周りを当該視点が回転した回転量を計算する回転量計算部をさらに備えるようにしてもよい。即ち、回転量計算部は、視点が基準軸の周りをどの程度移動するかに応じて、平面体の回転軸に対する回転角を決定する。
また、平面体移動部は、計算された回転量だけ、当該回転軸の周りで当該平面体を回転させるように記憶部を更新するようにしてもよい。即ち、視点移動部がユーザの指示等により、記憶部に記憶される視点の位置を更新すると、平面体移動部が、視点の移動した位置に応じて、平面体を回転させるように、記憶部に記憶される平面体の位置を更新する。
これにより、平面体を、ある程度規則性を保ちつつ、ただし、単調にならないように、回転させることができる。
また、当該平面体は当該回転軸から離れる程透明度が低くなる、ことを特徴とする。即ち、当該平面体は、当該回転の中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明であるが、ほぼ透明な領域から不透明な領域へは序々に透明度を変えて移行してもよい。
また、当該平面体は当該回転軸に対して、軸対称ではない、ことを特徴とする。即ち、回転軸を当該回転軸が伸びる方向に向かってみた場合、当該回転軸は点で表現される。このとき、回転軸と垂直に配置される平面体の透明な部分は、当該点に対して点対称、即ち円形でない形状が好ましい。これにより、当該平面体の回転動作が明確となる。
また、当該基準軸は当該キャラクタの位置を通過し、当該基準軸の向きは一定である、ことを特徴とする。上述のように、回転量計算部は、平面体が回転軸に対して回転する回転角を、視点がどの程度基準軸の周りを移動するかに応じて決定する。この基準軸は、仮想空間全体を表現するグローバル座標系において、例えば、キャラクタの位置を通過する、常に垂直方向(即ちY軸方向)を向いている軸である。
また、表示装置において、記憶部は、当該仮想空間を照らす光源の位置をさらに記憶するようにしてもよい。ここで、光源とは、スポットライトのように個別のキャラクタを照らすものとは別に、当該仮想空間を照らすものである。
ユーザの指示もしくは時間の経過により、当該光源の位置を移動させるように、記憶部を更新する光源移動部をさらに備えるようにしてもよい。即ち、光源の位置は、ユーザがコントローラなどを操作して指示することができる。または時間に応じて光源を所定の位置に移動させることができる。光源移動部は、光源が移動した位置で記憶部を更新する。
このとき、生成部は、当該光源に当該仮想空間が照らされる様子を表す画像を生成し、当該基準軸は、当該光源の位置と当該キャラクタの位置とを通過し、回転量計算部は、当該視点の位置もしくは光源の位置が移動されると、当該回転量を計算する、ことを特徴としてもよい。即ち、平面体は、視点の位置だけでなく、光源の位置に応じて回転させてもよい。このとき、基準軸の向きは、上述したように一定の方向を向いて配置するのではなく、キャラクタと光源との位置を通過するように配置する。
また、当該平面体の透明度のコントラストは当該キャラクタと当該視点との距離に応じて変化する、ことを特徴としてもよい。即ち、当該平面体の半透明、もしくは不透明な部分について、透明度を固定せずに、視点とキャラクタの距離に応じて、透明度を変化させてもよい。
また、本発明の他の観点に係る表示方法は、記憶部、視点移動部、平面体移動部、生成部、を備える表示装置による表示方法である。
ここで、記憶部は、仮想空間内に配置されるキャラクタの位置と、当該仮想空間内に配置される視点の位置と、当該仮想空間内において当該キャラクタと当該視点とを結ぶ線上の所定の位置に配置され、当該キャラクタと当該視点とを結ぶ回転軸の周りを回転する平面体の位置および向きと、を記憶する。
一方、視点移動工程では、視点移動部が、当該視点の位置を移動させるように、記憶部を更新する。そして、平面体移動工程では、平面体移動部が、当該視点の位置が移動されると、当該平面体を回転させるように記憶部を更新する。
生成工程では、生成部が、記憶された視点の位置から当該仮想空間を見た様子を表す画像を生成する。このとき、当該平面体は、当該回転の中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である。
また、本発明の他の観点に係るプログラムは、コンピュータを、上記の表示装置として機能させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
キャラクタがスポットライトに照らされている様子を表す画像を簡易、且つ少ない計算量で表示するのに好適な表示装置、表示方法、ならびに、プログラムを提供することができる。
以下に本発明の実施の形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施の形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施の形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと等しいものに置換した実施形態を採用することが可能であるが、これらの実施の形態も本発明の範囲に含まれる。
(実施形態)
図1は、本発明の実施形態の1つに係る表示装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD(Digital Versatile Disk)−ROMドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の表示装置が実現される。
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
ROM 102は、電源投入直後に実行されるIPL(Intial Program Loader)を記憶する。このIPLをCPU 101が実行することにより、DVD−ROMに記録されたプログラムがRAM 103に読み出され、CPU 101による実行が開始される。
また、ROM 102にはゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータ等が保持される。
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
インターフェイス104を介して着脱自在に接続された外部メモリ106には、例えばチャット通信のログのデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記憶することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
NIC 109は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものである。NIC 109は、例えばLAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェイス(図示せず)により構成される。
インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を取得することによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103 、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
なお、本実施の形態に係る表示装置は、上述した典型的なゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、メモリカード、DVD−ROM ドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、入力部ではなく、キーボードやマウスなどを入力装置として利用する。そして、プログラムをインストールした後に、そのプログラムを実行させると、表示装置として機能させることができる。
以下では、注記しない限り、表示装置は、図1に示したゲーム装置100により説明を加える。表示装置は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。
(実施形態1)
図2は、本実施の形態に係る表示装置200の機能ブロック図である。表示装置200は、図2に示すように、記憶部201、視点移動部202、回転量計算部204、平面体移動部205、生成部203、等を備える。以下に表示装置200の各構成要素について本図を参照して説明する。
記憶部201は、仮想空間内のキャラクタの形状情報や、配置される位置、および向きの情報等を記憶する。これらの情報は例えばDVD−ROMに予め格納されており、CPU 101がDVD−ROMドライブ108に装着されたDVD−ROMを読み出してRAM 103に一時記憶させる。あるいは、外部メモリ106に記憶させたこれら情報を、CPU 101に読み出させ、RAM 103に一時記憶させるようにしてもよい。なお、CPU 101は、一時記憶された情報を、例えばゲームの進行に応じて、随時更新することができる。このように、CPU 101、RAM 103、DVD−ROMドライブ108等が協働して動作することにより、記憶部201として機能する。
このとき、仮想空間内のキャラクタ(およびその他のオブジェクト)の形状情報や、配置される位置、および向きの情報は、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、キャラクタ毎に固定されたローカル座標系に基づいて定義される。典型的には、キャラクタの代表点(例えば重心)がローカル座標系の原点であり、キャラクタのサーフェス形状(即ち、キャラクタを構成するポリゴンの形状や当該ポリゴンが配置される位置)がローカル座標系に基づいて定義される。一方、個々のキャラクタの位置は、グローバル座標系に基づいて定義される。そして、キャラクタの基準となる向きは、例えば、キャラクタの代表点からキャラクタの正面方向に延びる方向ベクトルによって、グローバル座標で定義する。キャラクタの向きを変更する場合は、この基準となる位置から、変更した角度をローカル座標系に基づいて定義すればよい。
なお、位置情報は直交座標系を用いて定義しても、1個の動径と2個の偏角を用いた極座標系を用いて(r,θ,φ)で表してもよい。
さらに、記憶部201は、視点の位置、および、視線の方向についても、上述のように、グローバル座標系やローカル座標系を用いて記憶する。ここで、視点の位置とは、仮想的なカメラが当該仮想空間においてキャラクタを見ている位置であり、典型的にはグローバル座標系で定義される。
このほか、記憶部201は、スポットライトを表現するための平面体の形状、および、位置もグローバル座標系やローカル座標系を用いて同様に記憶する。ここで、図3(A)に示すように、平面体302は視点301とキャラクタ300とを結ぶベクトルx上の、当該視点301とキャラクタ300との間の所定の位置に配置される。平面体302は当該ベクトルxと垂直に配置され、図3(B)、および(C)に示すように、その中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である。
なお、透明部分と不透明部分は、図3(B)に示すように、はっきりと境界を区分してもよいし、図3(C)に示すように、序々に変化させるようにしてもよい。
また、図3(B)および(C)では、中心の透明部分は、例えば楕円系を有しているが、楕円形でなくとも、ベクトルxに対して軸対称、(即ち、平面体を正面から見た場合は、当該ベクトルxに対して点対称)以外の形状であればよい。これにより、後述のように、平面体が回転する際に、その回転動作が明確となる。
視点移動部202は、ユーザのコントローラなどの操作に応じて、当該視点の位置を移動させるように、記憶部201を更新する。即ち、ユーザの操作に応じて、記憶部201に記憶される視点の位置や向きが、視点移動部202により更新される。このように、CPU 101やRAM 103等が協働して視点移動部202として機能する。
回転量計算部204は、視点移動部202によって視点の位置が移動されると、移動された視点の位置に応じて、平面体を回転させる回転量を算出する。CPU 101やRAM 103等が協働して回転量計算部204として機能する。
平面体移動部205は、キャラクタと視点とを結ぶ線上の所定の位置に平面体が配置されるように、また、回転量計算部204によって算出された回転量だけ、平面体が回転軸に対して回転されるように、記憶部201に記憶される平面体の位置、および向きを更新する。このように、CPU 101やRAM 103などが協働して平面体移動部205として機能する。
生成部203は、視点移動部202によって更新された視点の位置および向き、平面体移動部205によって更新された平面体の位置などに基づいて、当該視点から、当該3次元仮想空間内の各キャラクタを投射面に投射(投影)して、モニター等の表示装置に表示する画像データを生成する。本実施の形態では、例えば1点透視法で透視投影する。CPU 101、RAM 103、画像処理部107が協働して動作することにより、生成部203として機能する。
(表示装置の動作処理)
以上のような構成を有する表示装置200の動作処理を図4を参照して説明する。
表示装置200が電源を投入されて、処理を開始すると、RAM 103に必要な情報(例えば視点の位置や向き、そしてキャラクタの形状、位置、そして向きなど)が読み込まれる。これにより、記憶部201が初期化され、表示装置200は、ユーザ入力の受付待ち状態となる(ステップS110)。
次いで、視点移動部202が、当該ユーザから視点に関するパラメータの変更の指示入力があったか判断する(ステップS111)。本実施の形態においては、ユーザは、コントローラ105を用いて、視点の位置、視点の向き(視線方向)、視点の撮影倍率(ズーム率)、等を変更する旨の指示ができる。 指示入力があった場合(ステップS111;Y)、視点移動部202は入力に基づいて、記憶部201の視点の位置、向き、を更新する(ステップS112)。このとき、視点移動部202は、更新された視点の位置等に応じて、当該仮想空間内に配置される投射面の位置や向きもさらに算出する。
即ち、視点移動部202は視点を起点とする視線ベクトル(視線の向きを表すベクトル)と垂直に交わる向きを算出し、これを投射面の向きとする。そして、ズームインの際には投射面を3次元空間内の撮影対象に近づくように(視点から遠ざかるように)並行移動させ、ズームアウトの際には撮影対象から遠ざかるように(視点に近づくように)平行移動させる。視線ベクトルの向きを変える(即ち視点をパンする)ときには、視線ベクトルの向きにしたがって投射面の向きも変える。このように、視点移動部202は視点の位置および視点の見ている方向(視線ベクトルの向き)、そしてズーム倍率などから投射面の位置や向きを決定し、記憶部201に記憶(更新)する。
なお、ユーザから視点に関するパラメータの変更の指示入力がなかった場合(ステップS111;N)、処理はステップS115に進む。
なお、視点の位置や向きなどのパラメータは、制御プログラムなどから与えられてもよい。あるいは、時間の経過に対応付けてパラメータを所定の値に変更したり、ランダムに変更したりしてもよい。
視点の更新を行うと、次いで、回転量計算部204は、視点の移動に応じて平面体の回転量を算出する。回転量の算出方法を、図5を参照して説明する。
まず、キャラクタ300の位置(重心などの代表点を、キャラクタ(および視点、平面体)の位置とする)を通過する、仮想空間内において向きの一定な軸Aが仮想空間内に配置される。以降この軸Aを基準軸と呼ぶ。典型的には、基準軸Aは、図5に示すように、仮想空間を表すグローバル座標系のY軸方向(直交座標系の垂直方向)に配置される。
回転量計算部204は、視点301が、所定の初期位置X(例えば、グローバル座標の原点)からこの基準軸Aに対してどの程度移動しているかを算出する。即ち、まず、回転量計算部204は、視点301から基準軸Aへと垂直に降ろした垂線ベクトルx1’、および、初期位置Xから基準軸Aへと垂直に降ろした垂線ベクトルxを求める。そして、垂線ベクトルx1’が垂線ベクトルxから基準軸に対して移動した角度を、視点301の移動量として求める。
即ち、図6に示すように、図5に示す仮想空間を上方から見た場合、基準軸AはZ軸方向に(即ち、読み手から図面の方向に)伸び、垂線ベクトルxと垂線x1’は基準軸Aに対して角度αを成す。この角度αが、視点301の移動量となる。
次いで、平面体移動部205は、平面体が、視点とキャラクタとを結ぶ直線上の平面体と視点との間の所定の位置に配置されるように記憶部201を更新する。また、平面体移動部205は、上述のようにして回転量計算部204によって算出された角度αで、視点301からキャラクタ300に伸びる直線を軸とした回転軸(図5におけるベクトルx1)に対して平面体を所定の初期位置から回転させるように記憶部201を更新する(ステップS114)。即ち、視点301が基本軸Aの周りを一周すると、平面体302も回転軸x1に対して1回転して、初期位置に戻る。
なお、基準軸や回転軸はオブジェクトとして仮想空間に配置されるものではなく、平面体の回転量を求めるために使われるものである。ただし、理解を容易にするために、本図では基準軸や回転軸を明記している。
次いで、生成部203は、仮想空間の2次元画像を描画する(ステップS115)。即ち、まず、生成部203はキャラクタの投射先領域を求める。本実施の形態では、上述のように、各キャラクタを投射面に1点透視法で透視投影するため、視点から遠くにあるキャラクタは小さく、近くにあるキャラクタは大きく投影されることになる。ただし、1点透視法の代わりに、平行投影を採用することもできる。
投影先を求めると、投影先の各領域に、対応するテクスチャ(記憶部201に記憶される)の対応する領域を貼り付けて(即ち、マッピングして)描画する。このとき、生成部203は陰面処理を行うために、例えば、Zバッファ法などを用いる。即ち、生成部203は描画する画像データを構成する画素ごとに、視点(投射面)に最も近いポリゴンに対応するテクスチャ情報の色で、当該画素を塗るようにする。
平面体は視点とキャラクタとを結ぶ直線上の、平面体と視点との間の所定の位置に配置される。したがって、図7(A)に示すように、視点301から見て、キャラクタ300は、平面体302よりも奥に配置される。よって、上記のような陰面処理を行って投射面304に仮想空間を投射すると、図7(B)に示すように、平面体の透明部分では、キャラクタが描画され、半透明、または不透明部分では、キャラクタは半透明、または不透明に、描画される。図7(C)には、例えば定位置から角度αだけ平面体が回転軸に対して回転された場合に描画された平面体とキャラクタとの例を示す。
以上の画像生成処理を終了すると、生成部203は垂直同期割込が生じるまで待機する(ステップS116)。待機中には、他の処理(例えば、RAM 103内に記憶される各キャラクタ、および視点の位置や向きを、時間の経過やユーザからの処理に基づいて更新する等の処理)をコルーチン的に実行してもよい。
垂直同期割込が生じたら、生成部203は描画した画像データ(通常フレームバッファに記憶)の内容をモニター(図示せず)に転送して、画像を表示し(ステップS117)、ステップS111に戻る。
視点だけでなく、さらにキャラクタが移動される場合については次のように平面体の回転量を算出すればよい。例えば、キャラクタの移動に応じて基準軸は移動した先のキャラクタの位置を通過するように配置する(ただし向きは一定に保持する)。そして、当該基準軸に対する初期位置からの視点の移動角度を当該平面体の回転量とすればよい。
(実施形態2)
上記実施の形態では、回転量計算部204は、視点の移動量に基づいて平面体の回転量を算出した。本実施の形態では、視点の移動量のほか、仮想空間を照らす光源の移動量にも基づいて、平面体の回転量を算出する方法について述べる。
(概要構成)
本実施の形態は、図2に示す第1の実施の形態と同様の構成を有している。ただし、記憶部201は、光源の位置をさらに記憶し、表示装置200はさらに、光源移動部206を備える。そして、回転量計算部204は、視点移動部202および、光源移動部206のそれぞれによって更新された視点、および光源の位置に基づいて、回転量を算出する。本実施の形態の概要構成を図8に示す。
以下、新たな構成である光源移動部206および、上記の新たな機能を備える記憶部201、回転量計算部204について説明する。
記憶部201は、キャラクタの位置や向きの他、仮想空間を照らす光源の位置を記憶する。なお、光源は、典型的にはグローバル座標系で定義される。
光源移動部206は、ユーザによるコントローラなどの操作や、プログラムによる指示、または時間の経過等に応じて、当該光源の位置を移動させるように、記憶部201を更新する。このように、CPU 101やRAM 103等が協働して光源移動部206として機能する。
回転量計算部204は、視点の位置の他に、更新された光源の位置に基づいて、平面体が回転する角度を算出する。
(動作処理)
以上の構成を有する表示装置200の動作処理を、図9を参照して説明する。
まず、初期化処理(図4に示すステップS110と同様の処理)が終了すると、視点移動部202は、ユーザから視点に関するパラメータの変更の指示入力があったかを判断し、光源移動部206は、さらに、ユーザから光源に関するパラメータの変更の指示入力があったかを判断する(ステップS111’)。光源の移動に関する指示入力があった場合(ステップS111’;Y)、光源移動部206は、指示入力に応じて、記憶部201の光源の位置を更新する(ステップS112’)。
次いで、回転量計算部204は、光源の所定の定位置からの当該光源の移動量を算出し、算出された移動量に基づいて、平面体の回転量を算出する(ステップS113’)。本実施の形態においては、理解を容易にするために、視点の移動は考慮せずに、まず、光源の移動量に応じて、平面体の回転量の算出方法を説明する。ここで、光源の定位置を予め定め、当該定位置からの光源の移動量に基づいて、平面体の回転量を算出する。
図10を参照して、回転量計算部204が、光源の移動量に基づいて平面体の回転量を計算する手順を、光源が所定の定位置Vから、V’の位置まで移動した場合を例に説明する。
まず、光源が位置(点)VからV’まで移動したときに、光源と視点との位置関係が相対的に保たれるように、視点も移動する。そのために、光源の位置から伸びて、キャラクタ300の位置を通過するベクトルv、および、光源の移動した先の位置から伸びて、キャラクタ300の位置を通過するベクトルv’の両ベクトルを含む平面と垂直な軸(即ち、外積、v×v’によって求まる軸)を求める。次いで、軸v×v’に対して、光源が移動した角度θを求め、視点も同様に、定位置Xから、軸v×v’に対して角度θだけ移動させる。これにより、光源と視点との位置関係が相対的に保たれるように、視点が位置XからX’へと移動される。
次に、回転量計算部204は、基準軸に対する視点の移動量を求める。ここで、第1の実施形態においては、基準軸はキャラクタを通過する、向きが一定の軸であったが、本実施の形態においては、基準軸は光源の位置とキャラクタの位置とを通過する直線である(図10(A)におけるv’)。回転量計算部204は、光源が移動する前の視点の位置(X)から、光源が移動した後の視点の位置(X’)、の基準軸(ベクトルv’)に対する移動量を算出する。即ち、点XおよびX’から、基準軸へと伸びる垂線ベクトルxおよびx’をそれぞれ算出し、それら垂線ベクトルをベクトルv’に対して並行に移動させて、同一平面上に配置する。このとき、当該2つの垂線ベクトルの成す角度γを視点の移動量とする。
平面体移動部205は、算出された回転量と同じ角度だけ、平面体を回転軸に対して回転させるように、記憶部201の平面体の位置を更新する。したがって、第1の実施の形態と同様に、基準軸の周りを1周すると、平面体も回転軸に対して1回転する。
以降は第1の実施の形態と同様の手順で仮想空間を投射面へ投射し(ステップS115)、垂直同期待ちを行い(ステップS116)、モニターに表示する(ステップS117)。詳細については第1の実施の形態で既に説明しているため、割愛する。
なお、本実施の形態において、ステップS111’で、光源の他にも視点の位置の更新があったと判断された場合、回転量計算部204は、定位置Xから、ユーザによって指示された位置に視点が配置されるよう更新する。そして、定位置Xに替えて、当該更新された位置を用いて、上述の処理を行う。これにより、平面体の回転量は、光源と視点の両方の移動に基づいて決定される。
また、回転量計算部204は、光源および視点の移動量の他に、キャラクタの移動量に基づいて平面体の回転量を算出してもよい。
例えば、視点が、位置XからX’へ、光源が位置VからV’へ、キャラクタが位置ZからZ’へ移動した場合を例に説明する。まず、光源の移動は考慮せずに、移動する前の光源の位置Vと移動する前のキャラクタの位置Xとを結ぶベクトルを基準軸とする。そして、第1の実施の形態の変形例である、キャラクタの移動に応じて回転量を算出する方法を適用する。即ち、基準軸の向きは保ちつつ、移動後のキャラクタ位置Z’を通過するように移動して、図5および図6の方法で、視点が当該基準軸の周りをどの程度移動したかを求める。
次いで、移動する前の光源の位置Vと移動する前のキャラクタの位置Zとの相対的な位置関係が保たれるように、移動後のキャラクタの位置Z’に対して、光源の位置をV’’へと移動する。V’とZ’とを結ぶ直線を基準軸としたときに、このV’’を光源の定位置として、光源が位置V’’からV’へと移動したときの基準軸の周りの移動量を、第2の実施形態の方法(即ち、図10に示す方法を適用して算出する)。求めた2つの移動量を合計して、平面体の回転量とすればよい。
以上説明したように、上記実施の形態では、仮想空間内において、スポットライトを表現する平面体を、視点と、キャラクタとを結ぶ線上の所定の位置に配置する。これにより、複雑な計算を行なうことなく、キャラクタがスポットライトに照らされているかのような表現を実現することが可能となる。
さらに、上記実施の形態では、視点、光源、およびキャラクタの移動に応じて、平面体の回転量を変化させる。現実世界では、視点、光源、およびキャラクタの移動により、スポットライトの照らす範囲やその形状が変化して見える。したがって、視点、光源、およびキャラクタの移動に基づいて、平面体を回転させることで、よりスポットライトらしい表現を実現することが可能となる。
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
例えば、図11に示すように、視点が、キャラクタ300を通過する基準軸Aを含む平面内で動く場合、基準軸Aの周りを視点が動かないので、平面体は回転しない。このような状況を回避するために、例えば、視点、キャラクタ、光源などの位置を、実際は移動されていなくとも、時間などに応じて変更されているかのように扱って、上記の実施の形態で示す方法で、平面体を回転させるようにしてもよい。
また、当該平面体の半透明、もしくは不透明な部分について、その透明度を視点とキャラクタの距離に応じて、変化させてもよい。例えば、透明な部分の大きさを固定し、視点とキャラクタとの距離が遠い場合は、透明な部分から不透明な部分へ急激に変化するようにする。逆に視点とキャラクタとの距離が近い場合は、透明な部分から不透明な部分へは緩やかに変化するようにする。これにより、視点とキャラクタとの距離が遠い場合は、距離が近い場合に比べ、透明部分と半透明部分とを合わせた部分が小さくなる。
また、上記実施の形態に係る表示装置は、ゲーム装置の他にも、携帯電話機や、その他携帯型のオーディオ機器に実現してもよい。
本実施の形態に係る表示装置が実現される典型的なゲーム装置の概要構成を示す模式図である。 本実施の形態に係る表示装置の機能ブロック図である。 (A)は本実施の形態に係る平面体の配置される位置を示し、(B)および(C)は平面体の透明部分と不透明部分とを示す図である。 本実施の形態の処理を説明するフロー図である。 本実施の形態に係る平面体の回転量の算出方法を説明する図である。 図5を上方から見た様子を示す図であり、本実施の形態に係る平面体の回転量の算出方法を説明する図である。 (A)は、平面体がキャラクタの手前に描画される様子を示す図であり、(B)は本実施の形態に係る表示装置によって描画されたキャラクタを示す図であり、(C)は、平面体を回転させて、(B)に示すキャラクタを描画した例を示す図である。 他の実施の形態に係る表示装置の機能ブロック図である。 他の実施の形態に係る表示装置の処理を説明するフロー図である。 (A)および(B)は、他の実施の形態に係る平面体の回転量の算出方法を説明する図である。 本実施の形態において、平面体が回転しない例を示す図である。
符号の説明
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 表示装置
201 記憶部
202 視点移動部
203 生成部
204 回転量計算部
205 平面体移動部
206 光源移動部

Claims (9)

  1. 仮想空間内に配置されるキャラクタの位置と、当該仮想空間内に配置される視点の位置と、当該仮想空間内において当該キャラクタと当該視点とを結ぶ線上の所定の位置に配置され、当該キャラクタと当該視点とを結ぶ回転軸の周りを回転する平面体の位置および向きと、を記憶する記憶部、
    当該視点の位置を移動させるように、前記記憶部を更新する視点移動部、
    当該視点の位置が移動されると、当該平面体を回転させるように前記記憶部を更新する平面体移動部、
    前記記憶された視点の位置から当該仮想空間を見た様子を表す画像を生成する生成部、
    を備え、
    当該平面体は、当該回転の中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である、
    ことを特徴とする表示装置。
  2. 請求項1に記載の表示装置において、
    前記記憶部は、当該仮想空間内に配置される基準軸の位置および向きをさらに記憶し、
    当該視点の位置が移動されると、当該基準軸の周りを当該視点が回転した回転量を計算する回転量計算部をさらに備え、
    前記平面体移動部は、前記計算された回転量だけ、当該回転軸の周りで当該平面体を回転させるように前記記憶部を更新する、
    ことを特徴とする表示装置。
  3. 請求項1または2に記載の表示装置であって、
    当該平面体は当該回転軸から離れる程透明度が低くなる、
    ことを特徴とする表示装置。
  4. 請求項1から3のいずれか1項に記載の表示装置であって、
    当該平面体は当該回転軸に対して、軸対称ではない、
    ことを特徴とする表示装置。
  5. 請求項2から4のいずれか1項に記載の表示装置であって、
    当該基準軸は当該キャラクタの位置を通過し、当該基準軸の向きは一定である、
    ことを特徴とする表示装置。
  6. 請求項2から4のいずれか1項に記載の表示装置であって、
    前記記憶部は、当該仮想空間を照らす光源の位置をさらに記憶し、
    ユーザの指示もしくは時間の経過により、当該光源の位置を移動させるように前記記憶部を更新する光源移動部
    をさらに備え、
    前記生成部は、当該光源に当該仮想空間が照らされる様子を表す画像を生成し、
    当該基準軸は、当該光源の位置と当該キャラクタの位置とを通過し、
    前記回転量計算部は、当該視点の位置もしくは光源の位置が移動されると、当該回転量を計算する、
    ことを特徴とする表示装置。
  7. 請求項1から6のいずれか1項に記載の表示装置であって、
    当該平面体の透明度のコントラストは当該キャラクタと当該視点との距離に応じて変化する、
    ことを特徴とする表示装置。
  8. 記憶部、視点移動部、平面体移動部、生成部、を備える表示装置による表示方法であって、
    前記記憶部は、仮想空間内に配置されるキャラクタの位置と、当該仮想空間内に配置される視点の位置と、当該仮想空間内において当該キャラクタと当該視点とを結ぶ線上の所定の位置に配置され、当該キャラクタと当該視点とを結ぶ回転軸の周りを回転する平面体の位置および向きと、を記憶し、
    前記表示方法は、
    前記視点移動部が、当該視点の位置を移動させるように、前記記憶部を更新する視点移動工程、
    前記平面体移動部が、当該視点の位置が移動されると、当該平面体を回転させるように前記記憶部を更新する平面体移動工程、
    前記生成部が、前記記憶された視点の位置から当該仮想空間を見た様子を表す画像を生成する生成工程、
    を備え、
    当該平面体は、当該回転の中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である、
    ことを特徴とする表示方法。
  9. コンピュータを、
    仮想空間内に配置されるキャラクタの位置と、当該仮想空間内に配置される視点の位置と、当該仮想空間内において当該キャラクタと当該視点とを結ぶ線上の所定の位置に配置され、当該キャラクタと当該視点とを結ぶ回転軸の周りを回転する平面体の位置および向きと、を記憶する記憶部、
    当該視点の位置を移動させるように、前記記憶部を更新する視点移動部、
    当該視点の位置が移動されると、当該平面体を回転させるように前記記憶部を更新する平面体移動部、
    前記記憶された視点の位置から当該仮想空間を見た様子を表す画像を生成する生成部、
    として機能させ、
    当該平面体は、当該回転の中心から所定の範囲内でほぼ透明であり、それ以外の範囲では半透明もしくは不透明である、
    ことを特徴とするプログラム。
JP2008120539A 2008-05-02 2008-05-02 表示装置、表示方法、ならびに、プログラム Active JP4637205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008120539A JP4637205B2 (ja) 2008-05-02 2008-05-02 表示装置、表示方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008120539A JP4637205B2 (ja) 2008-05-02 2008-05-02 表示装置、表示方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2009271664A JP2009271664A (ja) 2009-11-19
JP4637205B2 true JP4637205B2 (ja) 2011-02-23

Family

ID=41438173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008120539A Active JP4637205B2 (ja) 2008-05-02 2008-05-02 表示装置、表示方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP4637205B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7304701B2 (ja) * 2019-01-28 2023-07-07 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230577A (ja) * 2001-01-30 2002-08-16 Namco Ltd ゲーム装置および情報記憶媒体
JP2002251629A (ja) * 2001-02-21 2002-09-06 Konami Computer Entertainment Japan Inc 画像の表現方法及びそれに用いるプログラム
JP2008027050A (ja) * 2006-07-19 2008-02-07 Konami Digital Entertainment:Kk 画像生成装置、画像生成方法、ならびに、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230577A (ja) * 2001-01-30 2002-08-16 Namco Ltd ゲーム装置および情報記憶媒体
JP2002251629A (ja) * 2001-02-21 2002-09-06 Konami Computer Entertainment Japan Inc 画像の表現方法及びそれに用いるプログラム
JP2008027050A (ja) * 2006-07-19 2008-02-07 Konami Digital Entertainment:Kk 画像生成装置、画像生成方法、ならびに、プログラム

Also Published As

Publication number Publication date
JP2009271664A (ja) 2009-11-19

Similar Documents

Publication Publication Date Title
JP4226639B1 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
CN106575445B (zh) 毛皮虚拟化身动画
US20090244064A1 (en) Program, information storage medium, and image generation system
CN109151540B (zh) 视频图像的交互处理方法及装置
US11430192B2 (en) Placement and manipulation of objects in augmented reality environment
EP1033682A2 (en) Image processing apparatus and image processing method
US20090309872A1 (en) Object Selecting Device, Object Selecting Method, Information Recording Medium, And Program
JP5213500B2 (ja) 画像変換プログラムおよび画像変換装置
KR101146660B1 (ko) 화상처리장치, 화상처리방법 및 정보기록매체
JP6719596B2 (ja) 画像生成装置、及び画像表示制御装置
US20110102449A1 (en) Image Display Device, Image Display Method and Computer-Readable Information Recording Medium
JP2007282861A (ja) ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体
JP4637205B2 (ja) 表示装置、表示方法、ならびに、プログラム
WO2017002483A1 (ja) プログラム、情報処理装置、深度定義方法及び記録媒体
JP4575937B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP4572220B2 (ja) 画像表示装置、画像表示方法、ならびに、プログラム
JP4637161B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
JP5063022B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4750085B2 (ja) 画像表示装置、画像表示方法、ならびに、プログラム
CN110235447B (zh) 图像传送装置
JP2004334662A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2005018538A (ja) 画像処理方法および画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101122

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4637205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250