説明

仮想空間表示装置、視点設定方法、および、プログラム

【課題】より臨場感のある自然な画像を適切に生成することのできる仮想空間表示装置等を提供する。
【解決手段】視点設定部240は、仮想空間内に配置される視点(仮想カメラ)の位置と、当該視点から伸びる視線の方向と、を設定する。キャラクタ移動部230は、プレイヤの操作に応じて、仮想空間内において、プレイヤキャラクタを移動させる。画像生成部250は、プレイヤキャラクタが移動する仮想空間を、設定された視点から設定された視線の方向へ見た様子を表す画像を生成する。表示部260は、生成された画像を画面に表示する。また、視点設定部240は、オブジェクトに対する視点の相対的な位置が固定されるように、視点の位置を設定し、オブジェクトに対して相対的に固定された所定の形状の面内に含まれる目標点の位置を、ランダムに設定し、そして、上記の面と視線との交点が、目標点に次第に近付くように、視線の方向を設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、より臨場感のある自然な画像を適切に生成することのできる仮想空間表示装置、視点設定方法、および、プログラムに関する。
【背景技術】
【0002】
従来より、アクションゲーム等を行うことのできるゲーム装置(ビデオゲーム装置等)が、広く普及している。このようなアクションゲームは、一例として、銃や剣等の武器を装備したプレイヤキャラクタ(主人公キャラクタ等)をプレイヤが操作して、仮想空間内(ゲームのフィールド等)を自由に移動させ、敵キャラクタ等と戦うといったタイプのゲームである。つまり、戦いを主眼としたものと言える。
最近では、このような戦いを主眼としたアクションゲームだけでなく、あえて戦闘を避け、敵陣等に潜入させたプレイヤキャラクタを、敵キャラクタに見つからないように身を隠しつつ移動させ所定の目的を果たすといった潜入タイプのアクションゲームも知られている。
【0003】
これらのアクションゲームでは、通常、プレイヤキャラクタがゲームの画面中に表示されるように、視点が適宜設定されている。例えば、プレイヤキャラクタの後方(背後)の斜め上方に仮想カメラの位置(視点位置)が設定され、そこからプレイヤキャラクタを見下ろすように視線が設定される等である。そして、プレイヤキャラクタが仮想空間内を移動しても、それに追従させて仮想カメラの位置を変化させることで、常にプレイヤキャラクタを視界にとらえたゲーム画像を表示するようにしている。
【0004】
このような仮想空間内を移動するキャラクタ(オブジェクト)の画像を表示する技術の一例として、複数の視点位置を設定し、キャラクタの移動状況や他のキャラクタとの関係に応じて、視点位置を選択的に切り換えることにより、不快感を感じさせずに、臨場感のあるゲーム画面を表示できるゲーム装置(ゲームシステム)の発明が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−269482号公報(第6−10頁、第6図)
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、従来のゲーム装置では、移動するプレイヤキャラクタを追従させるように仮想カメラの位置を変化させている。その際、プレイヤキャラクタと仮想カメラの間に障害物等がなければ、常に、プレイヤキャラクタの位置を基準として相対的に固定された位置に配置される仮想カメラから一定のアングルでプレイヤキャラクタを撮影したゲーム画像が表示されることになる。
【0007】
このようなゲーム画像は、プレイヤキャラクタの移動が実感として伝わりにくく、ゲームの臨場感を十分に感じられない場合があった。そのため、プレイヤキャラクタの移動時に、例えば、画像を一定サイクルで揺らすことで、追従する仮想カメラがあたかも手振れを生じさせているようなゲーム画像を表示することも考えられる。
しかしながら、プレイヤキャラクタの移動時にこのように画像を揺らす場合、その画像の揺れに規則性を持たせてしまうと、かえって不自然に感じられ、仮想的な画像であるという印象をプレイヤが受けやすくなっていた。
【0008】
このようなことから、オブジェクトの移動を実感として伝わり易くし、より臨場感のある自然な画像を適切に生成することのできるゲーム装置の開発が求められていた。
【0009】
本発明は、上記実状に鑑みてなされたもので、より臨場感のある自然な画像を適切に生成することのできる仮想空間表示装置、視点設定方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の観点に係る仮想空間表示装置は、設定部、移動部、生成部、及び、表示部を備えて構成される。
【0011】
まず、設定部は、仮想空間内に配置される視点の位置と、当該視点から伸びる視線の方向と、を設定する。移動部は、仮想空間内において、例えば、プレイヤの操作に応じて、オブジェクト(一例として、プレイヤキャラクタ)を移動させる。生成部は、オブジェクトが移動する仮想空間を、設定された視点から設定された視線の方向へ見た様子を表す画像を生成する。表示部は、生成された画像を画面に表示する。
また、設定部は、オブジェクトに対する視点の相対的な位置が固定されるように、視点の位置を設定し、オブジェクトに対して相対的に固定された所定の形状の面内に含まれる目標点の位置を、ランダムに設定し、そして、上記の面と視線との交点が、目標点に次第に近付くように、視線の方向を設定する。
【0012】
これにより、所定範囲内で位置がランダムに変化する目標点に向けて、視線の方向を設定することにより、不規則に揺らされた画像が表示される。つまり、仮想カメラの自然な手振れを感じさせるゲーム画像が生成されることにより、プレイヤが、オブジェクトの移動を実感として感じられることになる。
この結果、より臨場感のある自然な画像を適切に生成することができる。
【0013】
設定部は、
オブジェクトが移動する速度にあらかじめ対応付けられる時間間隔おきに乱数を発生させ、
当該発生された乱数により、当該目標点の位置を設定してもよい。
この場合、オブジェクトの速度に応じた時間間隔おきに、目標点が設定されるため、仮想カメラの手振れをより自然に感じさせるゲーム画像が生成されることになる。
【0014】
設定部は、
オブジェクトが移動する速度にあらかじめ対応付けられる時間を期待値とする1次元乱数を発生させ、
当該発生された1次元乱数の長さの時間が経過すると、面内のあらかじめ定められた代表点の位置を期待値とする2次元乱数を発生させ、
当該発生された2次元乱数の位置に当該目標点の位置を設定してもよい。
この場合、オブジェクトの速度に応じた時間間隔おきに、平面的に位置が変化する目標点が設定されるため、仮想カメラの手振れをより自然に感じさせるゲーム画像が生成されることになる。
【0015】
本発明の第2の観点に係る視点設定方法は、設定部、移動部、生成部、及び、表示部を有する装置における仮想空間表示装置が実行する視点設定方法であって、設定ステップ、移動ステップ、生成ステップ、及び、表示ステップを備えて構成される。
【0016】
まず、設定ステップでは、仮想空間内に配置される視点の位置と、当該視点から伸びる視線の方向と、を設定する。移動ステップでは、仮想空間内において、例えば、プレイヤの操作に応じて、オブジェクトを移動させる。生成ステップでは、オブジェクトが移動する仮想空間を、設定された視点から設定された視線の方向へ見た様子を表す画像を生成する。そして、表示ステップでは、生成された画像を画面に表示する。
また、設定ステップでは、オブジェクトに対する視点の相対的な位置が固定されるように、視点の位置を設定し、オブジェクトに対して相対的に固定された所定の形状の面内に含まれる目標点の位置を、ランダムに設定し、そして、上記の面と視線との交点が、目標点に次第に近付くように、視線の方向を設定する。
【0017】
これにより、所定範囲内で位置がランダムに変化する目標点に向けて、視線の方向を設定することにより、不規則に揺らされた画像が表示される。つまり、仮想カメラの自然な手振れを感じさせるゲーム画像が生成されることにより、プレイヤが、オブジェクトの移動を実感として感じられることになる。
この結果、より臨場感のある自然な画像を適切に生成することができる。
【0018】
本発明の第3の観点に係るプログラムは、コンピュータ(電子機器を含む。)を、上記の仮想空間表示装置として機能させるように構成する。
【0019】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【0020】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0021】
本発明によれば、より臨場感のある自然な画像を適切に生成することができる。
【図面の簡単な説明】
【0022】
【図1】本実施形態に係る仮想空間表示装置が実現される典型的なゲーム装置の概要構成を示すブロック図である。
【図2】本実施形態に係る仮想空間表示装置の概要構成を説明するためのブロック図である。
【図3】(a)〜(d)全て、目標点の設定について説明するための模式図である。
【図4】(a)〜(c)全て、視線の方向が漸近的に設定される様子を説明するための模式図である。
【図5】(a)〜(d)全て、生成されるゲーム画像の一例を説明するための模式図である。
【図6】本実施形態に係る画像生成処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0023】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0024】
図1は、本発明の実施の形態に係る仮想空間表示装置が実現される典型的なゲーム装置の概要構成を示すブロック図である。以下、本図を参照して説明する。
【0025】
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD(Digital Versatile Disc)−ROMドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
【0026】
なお、ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の仮想空間表示装置が実現される。
【0027】
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。なお、CPU 101は、インターバルタイマを備え、設定されるタイマ値の応じた時間を計時することができるようになっている。
【0028】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、ゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0029】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【0030】
インターフェース104を介して接続された、コントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。たとえば、コントローラ105は、操作入力に従って、文字列(メッセージ)等の入力を受け付ける。この他にも、コントローラ105は、たとえば、操作対象のキャラクタに対する移動指示等の入力を受け付ける。
【0031】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲームの進行状態を示すデータ、チャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0032】
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0033】
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号(映像信号)に変換され画像処理部108に接続されるモニタへ出力される。これにより、各種の画像表示が可能となる。
【0034】
なお、画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0035】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0036】
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、外部のスピーカに供給して音声を出力させる。例えば、音声処理部109は、CPU 101による制御の下、ゲームの進行中に発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0037】
NIC 110は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に従うものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0038】
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【0039】
また、本実施形態のゲーム装置100にかえて、一般的なコンピュータ(汎用のパーソナルコンピュータ等)を仮想空間表示装置として利用することもできる。たとえば、一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能となる画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、仮想空間表示装置として機能する。
【0040】
(仮想空間表示装置の概要)
図2は、上述した仮想空間表示装置200の概要構成を示すブロック図である。なお、仮想空間表示装置200は、プレイヤの操作に従って、仮想空間内(ゲームのフィールド等)のプレイヤキャラクタを自由に移動させるアクションゲームを実行するものとする。以下、本図を参照して説明する。
【0041】
仮想空間表示装置200は、オブジェクト情報記憶部210と、操作受付部220と、キャラクタ移動部230と、視点設定部240と、画像生成部250と、表示部260とを備える。
【0042】
まず、オブジェクト情報記憶部210は、仮想空間内に配置されるプレイヤキャラクタ(主人公キャラクタ等)、敵キャラクタ、樹木、岩、及び、建物等の各種オブジェクトについての情報を記憶する。具体的には、各オブジェクトについて、3次元モデルやテクスチャといった情報が記憶されている。
なお、上述したDVD−ROMドライブ107に装着されるDVD−ROM、及び、RAM 103等が、このようなオブジェクト情報記憶部210として機能しうる。
【0043】
操作受付部220は、プレイヤが操るプレイヤキャラクタに対する動作指示等の操作入力を受け付ける。例えば、操作受付部220は、所定方向に移動する、剣武器を使う(銃を撃ったり、剣を振ったりする)、物を拾う、しゃがむ、伏せる等の動作に対応した複数のボタン(一例として、コントローラ105に配置された方向キー,Aボタン,Bボタン,Xボタン,Yボタン等)の何れかがプレイヤにより押下されることによって、プレイヤキャラクタに向けた操作入力を受け付ける。なお、プレイヤキャラクタへの移動指示には、一例として、歩行や走行等の指示が含まれるものとする。
なお、上述したコントローラ105が、このような操作受付部220として機能しうる。
【0044】
キャラクタ移動部230は、仮想空間内のキャラクタを適宜移動させる。例えば、キャラクタ移動部230は、仮想空間内におけるプレイヤキャラクタや敵キャラクタ等の位置情報(現在位置や向き等)を管理しており、キャラクタの現在位置や向き等を変化させることにより、キャラクタを移動させる。
具体的にキャラクタ移動部230は、操作受付部220によって受け付けた移動指示等に従って、仮想空間内のプレイヤキャラクタを移動させる。また、所定のロジック等に従って、仮想空間内の敵キャラクタを移動させる。
なお、上述したRAM 103及びCPU 101が、このようなキャラクタ移動部230として機能しうる。
【0045】
視点設定部240は、仮想空間内を撮影する仮想カメラの位置や視線の方向を設定する。例えば、第三者視点モード(俯瞰する視点)の場合に、視点設定部240は、プレイヤキャラクタの後方(背後)の斜め上方に、仮想カメラの位置(視点位置)を設定し、そこからプレイヤキャラクタを見下ろすように視線の方向を設定する。
一例として、視点設定部240は、図3(a)に示すように、プレイヤキャラクタPCの背後の水平面HOを基準とした角度θの上方に、一定の距離Lを隔てた位置に仮想カメラVCの位置を設定する。なお、視点設定部240は、プレイヤキャラクタPCが仮想空間内を移動した際に、その移動に追従するように、仮想カメラVCの位置を設定する。つまり、プレイヤキャラクタPCとの相対的な位置が固定されるように、視点の位置を設定する。なお、プレイヤキャラクタPCと仮想カメラVCとの間に障害物等が存在する場合は、その障害物等を避けるように仮想カメラVCの位置が適宜設定されるものとする。
また、視点設定部240は、図3(b)に示すように、例えば、プレイヤキャラクタPCの腰部を基準として規定された所定の大きさの平面HM上に目標点MPを設定し、その目標点MPに向けて、仮想カメラVCの視線の方向を設定する。この目標点MPは、例えば、平面HMの中心が基準位置(初期位置)として規定されている。そして、プレイヤキャラクタPCが移動していない場合には、平面HMの基準位置(つまり、中心)に目標点MPが設定される。一方、プレイヤキャラクタPCが移動している場合に、目標点MPは、この平面HM内でランダムに設定される。なお、図3(b)では、平面HMを矩形にて示しているが、このような平面HMの形状や大きさは、一例であり、他に、円形等であってもよい。また、このような平面HMは、分かり易いように平面を用いているが、面の形状は他に、曲面等であってもよい。
【0046】
以下、目標点MPの位置の設定について詳細に説明する。視点設定部240は、プレイヤキャラクタPCが移動する速度に対応する時間間隔おきに乱数を発生させ、この乱数により、目標点MPを平面HM上の中心からずらした位置に設定する。
より詳細には、プレイヤキャラクタが走行している状態で、その走行(速度)に対応付けられる時間を期待値とする1次元乱数を発生させる。具体的には、基準となる時間(速度に対応したベース値)にランダム値を乗じてタイマ値(インターバルタイマの値)Tを求める。具体例として、視点設定部240は、以下の数式1の演算によりタイマ値Tを求める。
【0047】
[数1]
T = Tb×(Ra+Rb)
T:タイマ値
Tb:ベース値(速度に対応したベースとなる時間)
Ra,Rb:ランダム値(1以内の値)
【0048】
なお、この数式1は、タイマ値Tの算出法を具体的に説明するための一例である。そのため、タイマ値Tを算出するのはこの数式に限られず、他の数式にて算出してもよい。
【0049】
そして、視点設定部240は、求めたタイマ値Tの時間が経過した後に、平面HMの中心位置を期待値とする2次元乱数を発生させる。具体的には、図3(c)に示すように、中心Pを基準として、ずらし角度αをランダムに求め、更に、ずらし量(ずらすべき値)Dをランダムで求める。具体的には、基準ずらし量(ベースずらし量)にランダム値等を乗じてずらし量Dを求める。具体例として、視点設定部240は、以下の数式2の演算によりずらし量Dを求める。
【0050】
[数2]
D = Db×(R+0.2)
D:ずらし量
Db:ベースずらし量(ベースとなる量)
R:ランダム値(1以内の値)
0.2:0にしないための値(0.2の値に限られず、適宜変更可能)
【0051】
なお、この数式2は、ずらし量Dの算出法を具体的に説明するための一例である。そのため、ずらし量Dを算出するのはこの数式に限られず、他の数式にて算出してもよい。こうして、視点設定部240は、ずらし角度αの線上において、ずらし量Dだけ中心Pからずらした位置に、目標点MPを設定する。
【0052】
視点設定部240は、設定した目標点MPに向くように、仮想カメラの視線の方向を設定する。その際、いきなり目標点MPに向けて視線の方向を設定すると、画像の揺れが激しくなりすぎるため、視点設定部240は、複数回に分けて、目標点MPに漸近させるように視線の方向を設定する。例えば、図3(d)に示すように、複数回に分けて目標点MPに漸近させるように視線の方向を設定する。なおこの際、視点設定部240は、一例として、目標点MPに一致させるまでの漸近量(漸近させる量)を、プラスマイナス25%の範囲で変化させる。
【0053】
このように、視点設定部240は、プレイヤキャラクタPCが移動する速度に応じた時間(ベース値にランダム値を乗じたもの)間隔で、平面HM上の中心から不規則にずらした位置に目標点MPを設定し、その目標点MPに複数回に分けて漸近させるように視線の方向を設定する。
具体的に、目標点MPが中心点Pの状態で、図4(a)に示すように、時刻t1にて、タイマ値Taが算出され、また、目標点としてA点が算出され、その後、時刻t2にて、タイマ値Tbが算定される場合を一例として説明する。
まず、視点設定部240は、時刻t1にて、図4(b)に示すように、中心点Pに視線e1を設定していたが、算定されたA点に向けて、算定されたタイマ値Taの時間が経過する間に、視線e2,e3,e4,e5と順に設定していく。つまり、中心点PからA点へ漸近的に視線の方向を設定する。
そして、視点設定部240は、図4(c)に示すように、時刻t2にて、A点に視線e5を設定していたが、算定されたB点に向けて、算定されたタイマ値Tbの時間が経過する間に、視線e6,e7,e8と順に設定していく。つまり、A点からB点へ漸近的に視線の方向を設定する。
時刻t3以降も、プレイヤキャラクタPCが移動していれば、同様に繰り返す。
そして、上述したCPU 101が、このような視点設定部240として機能しうる。
【0054】
図2に戻って、画像生成部250は、オブジェクト情報記憶部210に記憶されたオブジェクトの情報、キャラクタ移動部230にて管理されるキャラクタの位置情報、及び、視点設定部240により設定される仮想カメラの位置や視線の方向に従って、視点から視線の方向へ見た仮想空間内の様子を表すゲーム画像を生成する。
例えば、画像生成部250は、図5(a)に示すように、仮想カメラの手振れを感じさせるゲーム画像を生成する。
具体的には、視点設定部240が、上述した図4(a)〜(c)のように視線の方向を設定する場合を一例として説明すると、画像生成部250は、図5(b)の時刻t1−t2(タイマ値Taが経過する間)にて、図5(c)に示すように、矢印方向に揺らすゲーム画像を生成し、また、図5(b)の時刻t2−t3(タイマ値Tbが経過する間)にて、図5(d)に示すように、矢印方向に揺らすゲーム画像を生成する。
このように、画像生成部250は、プレイヤキャラクタの移動に伴って、不規則に画像を揺らすため、仮想カメラの手振れをより自然に感じさせるゲーム画像を生成できる。
なお、上述した画像処理部108が、このような画像生成部250として機能しうる。
【0055】
図2に戻って、表示部260は、ゲーム画像を表示する。つまり、画像生成部260によって生成されたゲーム画像を順次表示する。
例えば、プレイヤキャラクタが移動している状態では、上述した図5(a)に示すような手振れ感が表現されたゲーム画像を表示する。
なお、上述したゲーム装置100に接続されるモニタ等が、このような表示部260として機能しうる。
【0056】
(仮想空間表示装置の動作の概要)
以下、このような構成の仮想空間表示装置200の動作について図面を参照して説明する。一例として、プレイヤに操作されるプレイヤキャラクタが仮想空間内を移動する場合における仮想空間表示装置200の動作を説明する。具体的には、アクションゲームのプレイ中に実行される仮想空間表示装置200の画像生成動作を、図6を参照して説明する。図6は、一例として、描画サイクル(例えば、1/60秒サイクル)ごとに、繰り返し実行される画像生成処理の流れを示すフローチャートである。
【0057】
まず、仮想空間表示装置200は、揺らしが可能な状態か否かを判別する(ステップS301)。
すなわち、ゲームが第三者視点モードでプレイされている等、揺らしが可能な状態であるかどうかを判別する。なお、第三者視点モードでプレイされていても、プレイヤキャラクタの移動量が一定値よりも小さい場合(静止中等)には、揺らしが可能な状態でないと判別する。
【0058】
仮想空間表示装置200は、揺らしが可能な状態でない(ステップS301;No)と判別すると、視線の方向を基準となる目標点に設定する(ステップS302)。
すなわち、視点設定部204は、ずらし量をゼロに初期化し、上述した図3(c)等に示す平面HMの中心Pに目標点MPを設定する。そして、そのまま、画像生成処理を抜ける(終える)。
【0059】
一方、揺らしが可能な状態であると判別すると(ステップS301;Yes)、仮想空間表示装置200は、プレイヤキャラクタが走行中であるか否かを判別する(ステップS303)。
すなわち、キャラクタ移動部230は、移動させているプレイヤキャラクタが走行中であるかどうかを判別する。なお、走行させる操作指示がなされているかどうかにより、プレイヤキャラクタが走行中であるか否かを判別してもよい。
【0060】
仮想空間表示装置200は、プレイヤキャラクタが走行中でない(ステップS303;No)と判別すると、ずらし量を小さい値に設定する(ステップS304)。
すなわち、視点設定部240は、プレイヤキャラクタが歩行中であるため、ずらし量を規定された小さい値に設定する。つまり、歩行中であれば、あまり揺れない(手振れが小さい)ゲーム画像を生成するために、ずらし量を小さく設定する。
【0061】
一方、プレイヤキャラクタが走行中であると判別した場合に(ステップS303;Yes)、仮想空間表示装置200は、インターバルタイマを−1する(ステップS305)。
すなわち、現在されているタイマ値により稼働しているインターバルタイマをカウントダウンする。
【0062】
仮想空間表示装置200は、インターバルタイマが0になったか否かを判別する(ステップS306)。つまり、現在されているタイマ値の時間が経過したかどうかを判別する。
【0063】
仮想空間表示装置200は、インターバルタイマが0でない(ステップS306;No)と判別すると、後述するステップS308に処理を進める。
すなわち、現在されているタイマ値の時間が経過していないため、タイマ値及び目標点の算出を省く。
【0064】
一方、インターバルタイマが0であると判別した場合に(ステップS306;Yes)、仮想空間表示装置200は、次のタイマ値及び、目標点を算出する(ステップS307)。
すなわち、視点設定部240は、上述した数式1の演算によりタイマ値を求める。つまり、基準となる時間(ベース値)にランダム値を乗じてタイマ値を求める。そして、求めたタイマ値を、インターバルタイマに設定する。
また、視点設定部240は、目標点を算出する。つまり、上述した図3(c)に示すように、中心Pを基準として、ずらし角度αをランダムに求め、更に、ずらし量Dをランダムで求める。具体的には、上述した数式2の演算によりずらし量を求める。こうして、視点設定部240は、ずらし角度αの線上において、ずらし量Dだけ中心Pからずらした位置に、目標点MPを設定する。
【0065】
仮想空間表示装置200は、目標点に漸近させるように、仮想カメラの視線の方向を設定する(ステップS308)。
すなわち、視点設定部240は、上述した図3(d)に示すように、数回に分けて目標点MPに漸近させるように視線の方向を設定する。つまり、目標点MPに一致させるまでの漸近量(今回の量)を、プラスマイナス25%の範囲で変化させる。
具体的には、目標点MPまで、上述した図4(b)、(c)のように、漸近的に視線の方向を設定する。
【0066】
仮想空間表示装置200は、現在設定されている視線の方向に注視点をずらし、視点から見たゲーム画像を生成する(ステップS309)。
すなわち、画像生成部250は、オブジェクト情報記憶部210に記憶されたオブジェクトの情報、キャラクタ移動部230にて管理されるキャラクタの位置情報、及び、視点設定部240により設定される仮想カメラの位置や視線の方向に従って、視点から視線の方向へ見た仮想空間内の様子を表すゲーム画像を生成する。そして、画像生成処理を抜ける。
【0067】
このような、画像生成処理が繰り返し実行されることにより、ランダムなタイマ値が経過する度に、平面HM上の中心からランダムにずらした位置に目標点MPが設定され、その目標点MPに近づくように複数回に分けて視点の方向(注視点)がずらされることになる。そのため、プレイヤキャラクタが移動(走行)している状態で、ランダムに揺らされたゲーム画像が生成させる。すなわち、上述した図5(a)に示すような仮想カメラの手振れを感じさせるゲーム画像が生成され、これにより、プレイヤキャラクタの移動を実感として感じられることになる。
【0068】
この結果、より臨場感のある自然な画像を適切に生成することができる。
【0069】
(他の実施形態)
上記の実施形態では、図6の画像生成処理におけるステップS303にて、走行中か歩行中であるか否か(歩行中か)だけを判別し、処理を振り分ける場合について説明した。しかしながら、移動しているプレイヤキャラクタの速度に応じて、ずらし量が変化するようにしてもよい。
例えば、走行中か歩行中かに拘わらず、上記のステップS303の判別処理の代わりに、プレイヤキャラクタの速度を算定するようにする。そして、後続する上記のステップS303にて、算定された速度に応じて、ベースずらし量(数式2のDb)を設定するようにする。
これにより、プレイヤキャラクタPCが移動する速度に応じて、ずらし量Dも同様に変化する傾向が強くなる。そのため、プレイヤキャラクタPCが移動する速度が小さければ、画像の揺れも小さくなり、逆に、速度が大きければ、画像の揺れも大きくなる。
この場合も、より臨場感のある自然な画像を適切に生成することができる。
【0070】
上記の実施形態では、ランダムな目標点を設定するために、上記図3(c)に示すように、ずらし角度αの線上において、ずらし量Dだけ中心Pからずらした位置に、目標点MPを設定する場合について説明したが、このような目標点MPの設定は、角度αとずらし量Dにより求める手法に限られず、他の手法により目標点MPを設定してもよい。
例えば、例えば、揺らす(ずらす)方向を、上下方向に限るようにし、プレイヤキャラクタの移動速度に応じた周期の波形(一例として、正弦波形)をもとめ、時間経過に応じた波形上の点をベースとし、適宜、ランダム値により増減させた値を、上下方向のずらし量として求めてもよい。
【0071】
上記の実施形態では、アクションゲームに本願発明が適用される場合について説明したが、このようなアクションゲームに限られず、オブジェクトの移動に追従して仮想カメラを設定されるものであれば、適宜適用可能である。
【産業上の利用可能性】
【0072】
以上説明したように、本発明によれば、より臨場感のある自然な画像を適切に生成することのできる仮想空間表示装置、視点設定方法、および、プログラムを提供することができる。
【符号の説明】
【0073】
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
200 仮想空間表示装置
210 オブジェクト情報記憶部
220 操作受付部
230 キャラクタ移動部
240 視点設定部
250 画像生成部
260 表示部

【特許請求の範囲】
【請求項1】
仮想空間内に配置される視点の位置と、当該視点から伸びる視線の方向と、を設定する設定部と、
前記仮想空間内において、オブジェクトを移動させる移動部と、
前記オブジェクトが移動する前記仮想空間を、前記設定された視点から前記設定された視線の方向へ見た様子を表す画像を生成する生成部と、
前記生成された画像を画面に表示する表示部と、を備え、
前記設定部は、前記オブジェクトに対する前記視点の相対的な位置が固定されるように、前記視点の位置を設定し、
前記設定部は、前記オブジェクトに対して相対的に固定された所定の形状の面内に含まれる目標点の位置を、ランダムに設定し、
前記設定部は、前記面と前記視線との交点が、前記目標点に次第に近付くように、前記視線の方向を設定する、
ことを特徴とする仮想空間表示装置。
【請求項2】
請求項1に記載の仮想空間表示装置であって、
前記設定部は、
前記オブジェクトが移動する速度にあらかじめ対応付けられる時間間隔おきに乱数を発生させ、
当該発生された乱数により、当該目標点の位置を設定する、
ことを特徴とする仮想空間表示装置。
【請求項3】
請求項1又は2に記載の仮想空間表示装置であって、
前記設定部は、前記オブジェクトが移動する速度にあらかじめ対応付けられる時間を期待値とする1次元乱数を発生させ、
当該発生された1次元乱数の長さの時間が経過すると、前記面内のあらかじめ定められた代表点の位置を期待値とする2次元乱数を発生させ、
当該発生された2次元乱数の位置に当該目標点の位置を設定する、
ことを特徴とする仮想空間表示装置。
【請求項4】
設定部、移動部、生成部、及び、表示部を有する装置における仮想空間表示装置が実行する視点設定方法であって、
前記設定部が、仮想空間内に配置される視点の位置と、当該視点から伸びる視線の方向と、を設定する設定ステップと、
前記移動部が、前記仮想空間内において、オブジェクトを移動させる移動ステップと、
前記生成部が、前記オブジェクトが移動する前記仮想空間を、前記設定された視点から前記設定された視線の方向へ見た様子を表す画像を生成する生成ステップと、
前記表示部が、前記生成された画像を画面に表示する表示ステップと、を備え、
前記設定ステップでは、前記オブジェクトに対する前記視点の相対的な位置が固定されるように、前記視点の位置を設定し、
前記設定ステップでは、前記オブジェクトに対して相対的に固定された所定の形状の面内に含まれる目標点の位置を、ランダムに設定し、
前記設定ステップでは、前記面と前記視線との交点が、前記目標点に次第に近付くように、前記視線の方向を設定する、
ことを特徴とする視点設定方法。
【請求項5】
コンピュータを、
仮想空間内に配置される視点の位置と、当該視点から伸びる視線の方向と、を設定する設定部、
前記仮想空間内において、オブジェクトを移動させる移動部、
前記オブジェクトが移動する前記仮想空間を、前記設定された視点から前記設定された視線の方向へ見た様子を表す画像を生成する生成部、
前記生成された画像を画面に表示する表示部、として機能させ、
前記設定部は、前記オブジェクトに対する前記視点の相対的な位置が固定されるように、前記視点の位置を設定し、
前記設定部は、前記オブジェクトに対して相対的に固定された所定の形状の面内に含まれる目標点の位置を、ランダムに設定し、
前記設定部は、前記面と前記視線との交点が、前記目標点に次第に近付くように、前記視線の方向を設定する、
ように機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−39895(P2011−39895A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−188155(P2009−188155)
【出願日】平成21年8月14日(2009.8.14)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】