JP2011156061A - ゲームプログラム、ゲーム装置、ゲーム制御方法 - Google Patents

ゲームプログラム、ゲーム装置、ゲーム制御方法 Download PDF

Info

Publication number
JP2011156061A
JP2011156061A JP2010018911A JP2010018911A JP2011156061A JP 2011156061 A JP2011156061 A JP 2011156061A JP 2010018911 A JP2010018911 A JP 2010018911A JP 2010018911 A JP2010018911 A JP 2010018911A JP 2011156061 A JP2011156061 A JP 2011156061A
Authority
JP
Japan
Prior art keywords
focus
setting
virtual camera
sub
image
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.)
Granted
Application number
JP2010018911A
Other languages
English (en)
Other versions
JP5237312B2 (ja
Inventor
Shigeki Hayashi
茂樹 林
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 JP2010018911A priority Critical patent/JP5237312B2/ja
Publication of JP2011156061A publication Critical patent/JP2011156061A/ja
Application granted granted Critical
Publication of JP5237312B2 publication Critical patent/JP5237312B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】主オブジェクトM1に直接的にピントを合わせるのではなく、副オブジェクトにピントを合わせた後に、主オブジェクトM1にピントを合わせることにより、突発的に発生する事象、たとえばピントブレのような事象を、リアリティのある映像で、提供する。
【解決手段】本プログラムでは、まず、主オブジェクトM1として設定する。次に、主オブジェクトM1を基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する。最後に、最終的にピントを合わせるオブジェクトが、主オブジェクトM1となるように、少なくとも1つの副オブジェクト、主オブジェクトM1の順に、ピント順序が設定される。
【選択図】図2

Description

本発明は、ゲームプログラム、特に、仮想空間内のオブジェクトを仮想カメラによって撮影した状況を、表示可能なゲームプログラムに関する。また、このゲームプログラムを実行可能なゲーム装置、およびこのゲームプログラムに基づいてコンピュータにより制御されるゲーム制御方法に関する。
従来から、仮想空間の内部に配置されたオブジェクトを、仮想カメラによって撮影することによって、仮想空間の内部の状況を表示するゲームプログラムが、提案されている。このようなゲームプログラムは、たとえば、コンピュータやゲーム装置等のようなゲーム装置において、実行される。ゲーム装置は、たとえば、モニタと、モニタとは別体の装置本体と、装置本体とは別体の入力装置(ex. キーボード、マウス、およびコントローラ等)とを、有している。入力装置には、たとえば、複数の入力釦が配置されている。
このようなゲーム装置において上記のゲームプログラムを実行した場合、たとえば、仮想空間の内部に配置されたあるオブジェクト(第1オブジェクト)にピントを合わせた状態において、仮想空間の内部が仮想カメラによって撮影される。すると、この第1オブジェクトにピントが合った状態の画像が生成され、この画像がモニタに表示される。次の瞬間に、他のオブジェクト(第2オブジェクト)にピントが切り換えられた場合、第2オブジェクトにピントが合った状態の画像が生成され、この画像がモニタに表示される。たとえば、このゲームプログラムを野球ゲームに適用した場合、投手オブジェクトから打者オブジェクトへとピントが移動すると、打者オブジェクトにピントが合った画面から、投手オブジェクトにピントが合った画面へと切り換えられる(非特許文献1を参照)。
なお、仮想カメラで仮想空間の情景を映すときに、仮想カメラ自体が振動等の影響を受ける結果、映像にブレが生じることをゲームに反映したものは知られている。
例えば、特許文献1には、移動体(自転車)に追従してその移動体(自転車)の動きを撮影する仮想カメラが開示されており、この仮想カメラは振動を受けた画像を表現することで、移動体(自転車)が凹凸のある道路を走行している臨場感を演出するものである。
また、特許文献2には、コースに沿って走行する自動車を撮影する仮想カメラが開示されており、軸に沿って回転または移動することで自動車を追う画像が表現されるものであるが、仮想カメラに揺らぎが与えられることで、現実のカメラのような臨場感がもたらされることの開示がある。
特開平11−175766 特開2000−331184
プロ野球スピリッツ6、コナミデジタルエンタテインメント、PS3版、2009年7月16日
従来のゲームプログラム、たとえば非特許文献1のゲームプログラムを、ゲーム装置において実行した場合、ピントを合わせる対象であるオブジェクト(第1オブジェクトや第2オブジェクト等)に確実にピントが合った画像が、モニタに表示されていた。
たとえば、野球ゲームにおいて、投手オブジェクトがモニタに表示されている状態で、打者オブジェクトがウェイティングサークルから打席に向かう場合、仮想カメラのピントが、投手オブジェクトから打者オブジェクトへと切り換えられる。すると、打者オブジェクトにピントが合った状態の画像が、モニタに表示される。すると、この後は、打者オブジェクトにピントが合った状態で、打者オブジェクトがウェイティングサークルから打席に向かう状況が、モニタに表示される。
一方で、現実世界の野球では、たとえば、投手を表示した映像から、打者を表示する映像へと切り換えた場合、カメラマンの手ぶれ等によるミスや、オートフォーカスの誤作動・誤認識等によって、映像を切り換えた瞬間に、カメラのピントのブレが生じることがある。そして、このブレが発生した場合、最終的には、カメラマンが手動で対象にピントを合わせることによって、このブレは修正される。そして、対象たとえば打者にピントが合った状態の画像が、モニタに表示される。
このように、野球ゲームのような仮想世界の映像と現実世界の映像とを比較すると、ピントを合わせた対象をモニタに確実に表示することは、従来の技術で再現できていた。しかしながら、対象を切り換えたときに発生する人為的なミスや誤認識等の事象、たとえば突発的に発生するピントブレのような事象をも含めて、仮想世界の映像を、現実世界の映像と同じように再現することは、従来の技術では困難であった。
なお、上記の特許文献1および特許文献2は、仮想空間内の仮想カメラ自体の振動を、単に映像のブレで表現し、カメラ映像に関するリアリティを追及するものではある。しかしながら、これらの文献は、前述のような、仮想カメラの対象を切り換えたときに発生する人為的なミスや誤認識等の事象、たとえば突発的に発生するピントブレのような事象に関するものではない。
本発明は、上記のような議論に鑑みてなされたものであり、本発明の目的は、現実世界において突発的に発生する事象を、仮想世界の映像において再現することによって、リアリティのある映像を提供できるようにすることにある。
請求項1に係るゲームプログラムは、仮想空間内のオブジェクトを仮想カメラによって撮影した状況を、表示可能なコンピュータの制御部に、以下の機能を実現させるためのプログラムである。
(1)オブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する主オブジェクト設定機能。
(2)主オブジェクトに仮想カメラのピントを合わせる際の仮想カメラの視野内において、主オブジェクトを基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する副オブジェクト選択機能。
(3)主オブジェクト、および少なくとも1つの副オブジェクトに対する、仮想カメラのピントを合わせるピント順序を、設定するピント順序設定機能。
このゲームプログラムでは、主オブジェクト設定機能において、オブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトが、主オブジェクトとして設定される。副オブジェクト選択機能においては、主オブジェクトに仮想カメラのピントを合わせる際の仮想カメラの視野内において、主オブジェクトを基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトが、副オブジェクトとして選択される。ピント順序設定機能においては、主オブジェクトおよび副オブジェクトに仮想カメラのピントを合わせるピント順序が、設定される。また、ピント順序設定機能では、最終的にピントを合わせるオブジェクトが、主オブジェクトとなるように、副オブジェクト、主オブジェクトの順に、ピント順序が設定される。
この場合、仮想カメラのピントを最終的に合わせる主オブジェクトが、設定されると、この主オブジェクトを基準として、仮想カメラに近接する側のオブジェクト、および仮想カメラから離反する側のオブジェクトが、副オブジェクトとして設定される。すると、最終的にピントを合わせるオブジェクトが、主オブジェクトとなるように、副オブジェクト、主オブジェクトの順に、ピント順序が設定される。
ここでは、まず、主オブジェクトを基準として、仮想カメラに近接する側の副オブジェクト、および仮想カメラから離反する側の副オブジェクトの少なくともいずれか一方の副オブジェクトにピントが合わせられ、次に、主オブジェクトにピントが合わせられる。このことを具体的に説明すると、主オブジェクトが、ある場面においてピントを合わせる対象である場合、ピント順序に基づいて、まず、仮想カメラ側に近づく側の副オブジェクト(or 仮想カメラ側から離れる側の副オブジェクト)にピントが合わせられる。次に、仮想カメラ側から離れる側の副オブジェクト(or 仮想カメラ側に近づく側の副オブジェクト)にピントが合わせられる。最後に、この場面でピントを合わせる対象である主オブジェクトに、ピントが合わせられる。
このように、主オブジェクトに対して、最初から直接的にピントを合わせるのではなく、まず、副オブジェクトにピントを合わせ、その後に、主オブジェクトにピントを合わせることにより、現実世界において突発的に発生する事象、たとえばカメラのピントブレのような事象を、映像上で再現することができる。これにより、リアリティのある映像を提供することができる。
なお、ここで用いる「オブジェクト」という文言は、仮想空間に配置される、たとえば、空、雲、太陽等のような自然に関するオブジェクト、建物、スタジアム、橋等のような建造物に関するオブジェクト、車、バイク、自転車等のような移動体に関するオブジェクト、および人間、鳥、犬、猫等のような動物に関するオブジェクトを総称する文言である。すなわち、「オブジェクト」という文言は、画像を表示するために用いられる全てのオブジェクトに対応する文言である。また、主オブジェクトおよび副オブジェクトは、この「オブジェクト」に含まれる。
請求項2に係るゲームプログラムは、請求項1に記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(4)副オブジェクトにピントを設定するためのピント設定用のシート画像を、生成する設定画像生成機能。
(5)ピント設定用のシート画像を複数の小画像に分割し、複数の小画像それぞれのコントラスト情報を調査することによって、ピント設定用のシート画像のコントラストを設定する画像情報設定機能。
このゲームプログラムでは、設定画像生成機能において、副オブジェクトにピントを設定するためのピント設定用のシート画像が、生成される。画像情報設定機能においては、ピント設定用のシート画像を複数の小画像に分割し、複数の小画像それぞれのコントラスト情報を調査することによって、ピント設定用のシート画像のコントラストが設定される。副オブジェクト選択機能においては、ピント設定用のシート画像のコントラストに基づいて、副オブジェクトが選択される。
この場合、副オブジェクトにピントを設定するためのピント設定用のシート画像が、複数の小画像に分割され、これら複数の小画像それぞれのコントラスト情報が調査される。これにより、ピント設定用のシート画像のコントラストが設定され、このコントラストに基づいて、副オブジェクトが選択される。このように、ピント設定用のシート画像のコントラストに基づいて副オブジェクトを選択することによって、コントラスト情報に基づいたピント設定を、副オブジェクトに対して行うことができる。このように、コントラスト情報に基づいたピント設定を、副オブジェクトに対して行うことによって、ピントブレが発生したときの画像、すなわち副オブジェクトにピントが合った画像を、よりリアリティのあるものにすることができる。
請求項3に係るゲームプログラムは、請求項2に記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(6)仮想空間にオブジェクトを配置するオブジェクト配置機能。
(7)仮想空間における仮想カメラの視野内の領域を、視錐領域として設定する視錐領域設定機能。
(8)仮想カメラの位置を基準として仮想カメラから離れる方向に、視錐領域を複数の区分領域に分割する視錐領域分割機能。
このゲームプログラムでは、オブジェクト配置機能において、仮想空間にオブジェクトが配置される。視錐領域設定機能においては、仮想空間における仮想カメラの視野内の領域が、視錐領域として設定される。視錐領域分割機能においては、視錐領域が、仮想カメラの位置を基準として仮想カメラから離れる方向に、複数の区分領域に分割される。主オブジェクト設定機能においては、複数の区分領域それぞれの内部に配置されたオブジェクトの中から、主オブジェクトが設定される。設定画像生成機能では、主オブジェクトを含む区分領域を除いた各区分領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に、投影することによって、ピント設定用のシート画像が生成される。
この場合、主オブジェクトを含む区分領域を除いた各区分領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に、投影することによって、ピント設定用のシート画像が生成される。たとえば、視錐領域が、仮想カメラから離れる方向に3つに分割され、各区分領域が、仮想カメラに近い方から、第1区分領域、第2区分領域、および第3区分領域であり、第2区分領域に主オブジェクトが含まれる場合、第1区分領域だけに含まれるオブジェクトが、視錐領域の仮想カメラ側の境界面に、投影される。また、第3区分領域だけに含まれるオブジェクトが、視錐領域の仮想カメラ側の境界面に、投影される。このようにして、第1区分領域に対応するシート画像(ピント設定用のシート画像)、および第3区分領域に対応するシート画像(ピント設定用のシート画像)が、生成される。
このように、各区分領域(ex. 第1区分領域又は第3区分領域)の内部に配置されるオブジェクトだけを用いて、シート画像を生成することによって、1つの区分領域内のオブジェクトだけを対象としたコントラストを、シート画像に反映することができる。そして、シート画像に反映されたコントラストに基づいて、副オブジェクトを選択することによって、ピントブレが発生したときにピントを合わせるオブジェクトすなわち副オブジェクトを、正確に特定することができる。
請求項4に係るゲームプログラムでは、請求項2又は3に記載のゲームプログラムにおいて、複数の小画像それぞれにおいて、隣接する小画像のコントラスト値の差を計算し、コントラスト値の差の最大値が、ピント設定用のシート画像のコントラストとして設定される。この機能は、画像情報設定機能において実現される。
この場合、ピント設定用のシート画像において、隣接する小画像のコントラスト値の差の最大値が、ピント設定用のシート画像のコントラストとして設定される。このコントラストを用いて、副オブジェクトを選択することによって、ピントブレが発生したときに、主オブジェクトとは異なる副オブジェクトにピントを合わせたとしても、この副オブジェクトにピントを合わせた画像を、現実世界の画像と比較して違和感のない画像にすることができる。
請求項5に係るゲームプログラムでは、請求項2又は3に記載のゲームプログラムにおいて、複数の小画像それぞれのコントラスト値を平均し、コントラスト値の平均の最大値が、ピント設定用のシート画像のコントラストとして設定される。この機能は、画像情報設定機能において実現される。
この場合、ピント設定用のシート画像において、小画像のコントラスト値の平均の最大値が、ピント設定用のシート画像のコントラストとして設定される。このコントラストを用いて、副オブジェクトを選択することによって、ピントブレが発生したときに、主オブジェクトとは異なる副オブジェクトにピントを合わせたとしても、この副オブジェクトにピントを合わせた画像を、現実世界の画像と比較して違和感のない画像にすることができる。
請求項6に係るゲームプログラムでは、請求項2から5のいずれかに記載のゲームプログラムにおいて、ピント設定用のシート画像のコントラストが所定の範囲内である場合に、副オブジェクトが選択される。この機能は、副オブジェクト選択機能において実現される。
この場合、ピント設定用のシート画像のコントラストが所定の範囲内である場合に、副オブジェクトが選択される。すなわち、ここでは、コントラストが所定の範囲内である場合には副オブジェクトが選択され、コントラストが所定の範囲外である場合には副オブジェクトは選択されない。これにより、たとえば、コントラストが高い場合にのみ、副オブジェクトを選択し、コントラストが低い場合は、副オブジェクトを選択しないように制御することができる。すなわち、コントラストが高い部分が存在する場合にのみ、ピントブレを発生させるための副オブジェクトを、選択することができる。
請求項7に係るゲームプログラムでは、請求項2から6のいずれかに記載のゲームプログラムにおいて、ピント設定用のシート画像のコントラストに基づいて、ピント設定用のシート画像における複数の小画像の中から、副オブジェクトのピント位置を設定するためのピント用の小画像が、特定される。すると、視錐領域の仮想カメラ側の境界面上におけるピント用の小画像の位置が、特定される。そして、仮想カメラから、視錐領域の仮想カメラ側の境界面上におけるピント用の小画像の位置へと延びる直線が衝突するオブジェクトが、副オブジェクトとして選択される。
この場合、まず、仮想カメラから、視錐領域の仮想カメラ側の境界面上におけるピント用の小画像の位置へと延びる直線が、設定される。そして、各区分領域の内部において、この直線が衝突したオブジェクトが、副オブジェクトとして選択される。たとえば、隣接する小画像のコントラスト値の差の最大値や、小画像のコントラスト値の平均の最大値等が、ピント設定用のシート画像のコントラストとして設定された場合、この値を有する小画像を上記の直線が通過し衝突したオブジェクトが、副オブジェクトとして選択される。このように、コントラスト情報に基づいて、ピントを合わせるオブジェクトすなわち副オブジェクトを、確実に特定することができる。
請求項8に係るゲームプログラムは、請求項1から7のいずれかに記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(8)ピント順序に基づいて、副オブジェクトおよび主オブジェクトのいずれか一方のオブジェクトを、対象オブジェクトとして設定するピント合わせ機能。
(9)対象オブジェクトにピントを合わせた状態で、表示用のシート画像を生成する表示画像生成機能。
(10)ピント順序に基づいて生成された表示用のシート画像を連続的に出力する命令を、発行することによって、仮想カメラによって撮影した状況を、表示する画像表示機能。
このゲームプログラムでは、ピント合わせ機能において、ピント順序に基づいて、副オブジェクトおよび主オブジェクトのいずれか一方のオブジェクトが、対象オブジェクトとして設定される。表示画像生成機能においては、対象オブジェクトにピントを合わせた状態で、表示用のシート画像が生成される。画像表示機能においては、ピント順序に基づいて生成された表示用のシート画像を連続的に出力する命令を、発行することによって、仮想カメラによって撮影した状況が、表示される。
この場合、ピント順序に基づいて、対象オブジェクト(副オブジェクトおよび主オブジェクトのいずれか一方のオブジェクト)にピントを合わせ、この対象オブジェクトに対応する表示用のシート画像を生成することによって、対象を切り換えたときに発生する人為的なミスや誤認識等の事象、たとえば突発的に発生するピントブレのような事象を、リアリティのある映像で表示することができる。
請求項9に係るゲームプログラムは、請求項8に記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(11)仮想空間にオブジェクトを配置するオブジェクト配置機能。
(12)仮想空間における仮想カメラの視野内の領域を、視錐領域として設定する視錐領域設定機能。
(13)仮想カメラの位置を基準として仮想カメラから離れる方向に、視錐領域を複数の区分領域に分割する視錐領域分割機能。
このゲームプログラムでは、オブジェクト配置機能において、仮想空間にオブジェクトが配置される。視錐領域設定機能においては、仮想空間における仮想カメラの視野内の領域が、視錐領域として設定される。視錐領域分割機能においては、視錐領域が、仮想カメラの位置を基準として仮想カメラから離れる方向に、複数の区分領域に分割される。主オブジェクト設定機能においては、複数の区分領域それぞれの内部に配置されたオブジェクトの中から、主オブジェクトが設定される。副オブジェクト選択機能においては、主オブジェクトを含む区分領域を除いた他の区分領域に含まれるオブジェクトが、副オブジェクトとして選択される。表示画像生成機能においては、対象オブジェクトにピントを合わせた状態で、視錐領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に、投影することによって、表示用のシート画像が生成される。
この場合、ある区分領域おいて主オブジェクトが設定され、この区分領域を除いた他の区分領域において副オブジェクトが設定される。そして、副オブジェクトおよび主オブジェクトのいずれか一方のオブジェクト(対象オブジェクト)にピントを合わせた状態で、視錐領域(全ての区分領域)の内部に配置されたオブジェクトが、視錐領域の仮想カメラ側の境界面に、投影される。これにより、副オブジェクトにピントを合わせた状態のシート画像(表示用の副シート画像)、および主オブジェクトにピントを合わせた状態のシート画像(表示用の主シート画像)が生成される。これらシート画像は、ピント位置が互いに異なるので、これらシート画像を、表示用の副シート画像、表示用の主シート画像の順に表示することによって、対象を切り換えたときに発生する人為的なミスや誤認識等の事象、たとえば突発的に発生するピントブレのような事象を、リアリティのある映像で表示することができる。
請求項10に係るゲームプログラムは、請求項2から9のいずれかに記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(14)最も高いコントラストを、基準コントラストとして設定する基準コントラスト設定機能。
このゲームプログラムでは、基準コントラスト設定機能において、最も高いコントラストが、基準コントラストとして設定される。ピント順序設定機能おいては、基準コントラストとピント設定用のシート画像のコントラストとの差が小さい順に、副オブジェクトに対するピント順序が設定され、最終的にピントを合わせるオブジェクトが主オブジェクトとなるように、主オブジェクトに対するピント順序が設定される。
この場合、基準コントラスト(最も高いコントラスト)とピント設定用のシート画像のコントラストとの差が小さい順に、副オブジェクトに対するピント順序が設定される。また、このピント順序では、最終的にピントを合わせるオブジェクトが主オブジェクトとなっている。これにより、副オブジェクトにピントを合わせた画像は、コントラストの高い順に表示され、主オブジェクトにピントを合わせた画像は、最後に表示される。これにより、対象を切り換えたときに発生する人為的なミスや誤認識等の事象、たとえば突発的に発生するピントブレのような事象を、現実世界におけるカメラが撮影した映像と比較して違和感のない映像で、表示することができる。
請求項11に係るゲームプログラムでは、請求項1に記載のゲームプログラムにおいて、仮想カメラと主オブジェクトとを結ぶラインの延長線に対して最も近いオブジェクト、および仮想カメラとオブジェクトとの間においてラインに最も近いオブジェクトの中の少なくともいずれか1つのオブジェクトが、副オブジェクトとして選択される。この機能は、副オブジェクト選択機能において実現される。
この場合、仮想カメラと主オブジェクトとを結ぶラインの延長線に最も近いオブジェクトを第1オブジェクト、仮想カメラとオブジェクトとの間においてラインに最も近いオブジェクトを第2オブジェクトとすると、これら第1オブジェクトおよび第2オブジェクトの中の少なくともいずれか1つのオブジェクトが、副オブジェクトとして選択される。これにより、仮想カメラの視線を基準として、この視線に近いオブジェクトを副オブジェクトとして選択することができるので、対象を切り換えたときに発生する人為的なミスや誤認識等の事象、たとえば突発的に発生するピントブレのような事象を、ピントが左右に大きく移動することのない映像で、表示することができる。
請求項12に係るゲーム装置は、仮想空間内のオブジェクトを仮想カメラによって撮影した状況を表示可能なゲーム装置である。このゲーム装置では、ゲーム装置の制御部が、オブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する主オブジェクト設定手段と、主オブジェクトに仮想カメラのピントを合わせる際の仮想カメラの視野内において、主オブジェクトを基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する副オブジェクト選択手段と、主オブジェクト、および少なくとも1つの副オブジェクトに対する、仮想カメラのピントを合わせるピント順序を、設定するピント順序設定手段と、を備えている。ここでは、ピント順序設定手段において、最終的にピントを合わせるオブジェクトが、主オブジェクトとなるように、少なくとも1つの副オブジェクト、主オブジェクトの順に、ピント順序が設定される。
請求項13に係るゲーム制御方法は、仮想空間内のオブジェクトを仮想カメラによって撮影した状況を表示可能なコンピュータにより、制御可能なゲーム制御方法である。このゲーム制御方法では、コンピュータの制御部が、オブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する主オブジェクト設定ステップと、主オブジェクトに仮想カメラのピントを合わせる際の仮想カメラの視野内において、主オブジェクトを基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する副オブジェクト選択ステップと、主オブジェクト、および少なくとも1つの副オブジェクトに対する、仮想カメラのピントを合わせるピント順序を、設定するピント順序設定ステップと、を実行する。ここでは、ピント順序設定ステップにおいて、最終的にピントを合わせるオブジェクトが、主オブジェクトとなるように、少なくとも1つの副オブジェクト、主オブジェクトの順に、ピント順序が設定される。
本発明では、主オブジェクトに直接的にピントを合わせるのではなく、副オブジェクトにピントを合わせた後に、主オブジェクトにピントを合わせることにより、現実世界において突発的に発生する事象、たとえばカメラのピントブレのような事象を、映像上で再現することができる。これにより、リアリティのある映像を提供することができる。
本発明の一実施形態によるゲーム装置の基本構成図。 前記ゲーム装置の一例としての機能ブロック図。 視錐領域を説明するための図。 区分領域および主オブジェクトを説明するための図。 ピント設定用のシート画像を説明するための図。 コントラストの一設定形態を説明するための図。 副オブジェクトの一設定形態を説明するための図。 ピントブレが発生したときのモニタ画像を示す図。 他の実施形態を説明するための図。 野球ゲームの全体概要を説明するためのフロー 野球ゲームにおけるピントブレ再現システムを示すフロー。
〔ゲーム装置の構成および動作〕
以下では、ゲーム装置をゲーム装置として用いる場合の例を、一例として説明を行う。図1は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ゲーム装置の一例として、家庭用ゲーム装置をとりあげて説明を行うこととする。家庭用ゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体10が装填可能となっており、記録媒体10からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
家庭用ゲーム装置は、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、家庭用ゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部3は家庭用テレビジョンに含まれている。
制御部1は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部1は、たとえば、CPU(Central Processing Unit)7と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Random Access Memory)12とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体10は、たとえば、ROM(Read Only Memory)カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体10にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。RAM12は、記録媒体10から読み出された各種データを一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、テレビジョンモニタ20と、インターフェース回路21と、D/Aコンバータ(Digital-To-Analogコンバータ)22とから構成されている。テレビジョンモニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。そして、インターフェース回路21にバス6が接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ20に画像として出力される。
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ8により、ポリゴンアドレスデータの示す3次元空間上のポリゴンデータ(3次元ポリゴンデータ)が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、2次元空間上のポリゴンデータ(2次元ポリゴンデータ)に置換される。そして、複数の2次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータが書き込まれる。
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカー13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカー13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。そして、インターフェース回路16にバス6が接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカー13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカー13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー13から出力することができる。
操作入力部5は、主に、コントローラ17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。コントローラ17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。そして、インターフェース回路19にバス6が接続されている。
コントローラ17は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU7に送出する。コントローラ17には、第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1、R2ボタン17R2、スタートボタン17e、セレクトボタン17f、左スティック17SL及び右スティック17SRが設けられている。
上方向キー17U、下方向キー17D、左方向キー17L及び右方向キー17Rは、例えば、キャラクタやカーソルをテレビジョンモニタ20の画面上で上下左右に移動させるコマンドをCPU7に与えるために使用される。
スタートボタン17eは、記録媒体10からゲームプログラムをロードするようにCPU7に指示するときや、実行中のゲームプログラムを一時停止するときなどに使用される。
セレクトボタン17fは、記録媒体10からロードされたゲームプログラムに対して、各種選択をCPU7に指示するときなどに使用される。
左スティック17SL及び右スティック17SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む360°方向に亘って、傾倒可能な構成になっている。左スティック17SL及び右スティック17SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするx座標及びy座標の値を、操作信号として操作情報インターフェース回路18とインターフェース回路19とを介してCPU7に送出する。
第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1及びR2ボタン17R2には、記録媒体10からロードされるゲームプログラムに応じて種々の機能が割り振られている。
なお、左スティック17SL及び右スティック17SRを除くコントローラ17の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
通信部23は、通信制御回路24および通信インターフェース25を有している。通信制御回路24および通信インターフェース25は、ゲーム装置をサーバや他のゲーム装置等に接続するために用いられる。通信制御回路24および通信インターフェース25は、バス6を介してCPU7に接続されている。通信制御回路24および通信インターフェース25は、CPU7からの命令に応じて、ゲーム装置をインターネットに接続するための接続信号を制御し発信する。また、通信制御回路24および通信インターフェース25は、インターネットを介してゲーム装置をサーバや他のゲーム装置に接続するための接続信号を制御し発信する。
以上のような構成からなる家庭用ゲーム装置の概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされゲームシステムに電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データにコマンドを発行する。
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路21を介してD/Aコンバータ22に供給される。ここで、画像データがD/Aコンバータ22でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム装置において実行されるゲームは、たとえば、野球ゲームである。本ゲーム装置では、3次元ゲーム空間内のオブジェクトを仮想カメラによって撮影した状況が、表示可能になっている。図2は、以下に示す、本発明で主要な役割を果たす機能を、説明するための機能ブロック図である。なお、以下の各手段は、主に制御部1において制御される。
基準コントラスト設定手段50は、最も高いコントラストを、基準コントラストとして設定する機能を備えている。
この手段では、最も高いコントラストを、基準コントラストとして設定する処理が、制御部1において実行される。たとえば、記憶部2に格納された所定のコントラスト値、すなわち最大コントラストを表現するコントラスト値が、基準コントラスト値として認識する処理が、制御部1において実行される。ここでは、グレースケールのコントラスト値が用いられ、このグレースケールのコントラスト値が、0以上256以下の範囲のコントラスト値で表現される。この場合、最大コントラストを表現するコントラスト値、すなわち基準コントラスト値は、128に設定される。このようなグレースケールのコントラスト値を規定する各種データは、記憶部2に格納されており、これらの各種データは、必要に応じて、記憶部2から読み出され、処理に利用される。
オブジェクト配置手段51は、3次元ゲーム空間にオブジェクトを配置する機能を備えている。
この手段では、3次元ゲーム空間にオブジェクトを配置する処理が、制御部1において実行される。たとえば、野球ゲームでテレビジョンモニタ20にされるオブジェクト、たとえば、スタジアム、選手、審判、観客、空、雲、太陽、月等のようなオブジェクトを、3次元ゲーム空間に配置する処理が、制御部1において実行される。より具体的には、各オブジェクトを、3次元ゲーム空間に配置するための位置座標データが、記憶部2から読み出され、この位置座標データが示す位置に、各オブジェクトを配置する処理が、制御部1において実行される。
なお、ここでは、各ポリゴンにテクスチャが貼り付けられた3次元の物体を、オブジェクト(モデル)と定義している。このオブジェクトを定義するための各種データは、記憶部2に格納されており、これら各種データは、必要に応じて、記憶部2から読み出され、処理に利用される。また、各オブジェクトを3次元ゲーム空間に配置するための位置座標データも、記憶部2に格納されており、これら各種データも、必要に応じて、記憶部2から読み出され、処理に利用される。
視錐領域設定手段52は、3次元ゲーム空間における仮想カメラの視野内の領域を、視錐領域として設定する機能を備えている。
この手段では、3次元ゲーム空間における仮想カメラの視野内の領域を、視錐領域として設定する処理が、制御部1において実行される。
たとえば、まず、仮想カメラを3次元ゲーム空間の所定の位置に配置する処理、すなわち仮想カメラの視点を設定する処理が、制御部1において実行される。次に、この仮想カメラの位置を基準として、仮想カメラの注視点を3次元ゲーム空間の所定の位置に配置する処理が、制御部1において実行される。続いて、仮想カメラの画角を設定する処理が、制御部1において実行される。続いて、カメラ視点側の面(ニアー面)およびカメラ視点から離反する側の面(ファー面)を設定する処理が、制御部1において実行される。これにより、ニアー面とファー面との間の領域が、視錐領域として、3次元ゲーム空間の内部に設定される。
なお、仮想カメラの視点位置を規定するための位置座標データ、画角を規定するための画角データ、第1面および第2面を規定するための位置座標データは、記憶部2に格納されており、これら各種データは、必要に応じて、記憶部2から読み出され、処理に利用される。
視錐領域分割手段53は、仮想カメラの位置を基準として仮想カメラから離れる方向に、視錐領域を複数の区分領域に分割する機能を備えている。
この手段では、仮想カメラの位置を基準として仮想カメラから離れる方向に、視錐領域を複数の区分領域に分割する処理が、制御部1において実行される。たとえば、視錐領域を仮想カメラから離れる方向に3つに分割する場合、まず、ニアー面とファー面との間において仮想カメラの視線方向に沿った距離を、3つに等分割する処理が、制御部1において実行される。次に、ニアー面を基準として、ニアー面からファー面に向かう方向へ所定の距離を隔てた位置に、第1面を設定する処理が、制御部1において実行される。続いて、この第1面を基準として、ニアー面からファー面に向かう方向へ所定の距離を隔てた位置に、第2面を設定する処理が、制御部1において実行される。これにより、視錐領域を仮想カメラから離れる方向に3つに分割することができる。ここでは、ニアー面と第1面との間の領域を、第1区分領域と表記し、第1面と第2面との間の領域を、第2区分領域と表記し、第2面とファー面との間の領域を、第3区分領域と表記する。すなわち、各区分領域を、仮想カメラに近い方から、第1区分領域、第2区分領域、および第3区分領域と表記する。
主オブジェクト設定手段54は、オブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する機能を備えている。また、主オブジェクト設定手段54は、複数の区分領域それぞれの内部に配置されたオブジェクトの中から、主オブジェクトを設定する機能を備えている。
この手段では、3次元ゲーム空間の視錐領域の内部に配置されたオブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する処理が、制御部1において実行される。たとえば、複数の区分領域から構成される視錐領域の内部に配置されたオブジェクトの中から、主オブジェクトを設定する処理が、制御部1において実行される。より具体的には、第1区分領域、第2区分領域、および第3区分領域から構成される視錐領域の内部に配置されたオブジェクトの中から、主オブジェクトを選択し、この主オブジェクトにおいてピントを合わせる位置を設定する処理が、制御部1において実行される。
なお、主オブジェクトに対するピント位置は、ゲームプログラムにおいて予め規定されており、この位置を定義するための位置座標データは、記憶部2に格納されている。以下では、たとえば、第2区分領域の内部に配置された打者オブジェクトが、主オブジェクトとして設定された場合を、一例として、説明を行う。
設定画像生成手段55は、副オブジェクトにピントを設定するためのピント設定用のシート画像を、生成する機能を備えている。詳細には、設定画像生成手段55は、主オブジェクトを含む区分領域を除いた各区分領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に、投影することによって、ピント設定用のシート画像を生成する機能を備えている。
この手段では、主オブジェクトを含む区分領域を除いた各区分領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に投影する処理が、制御部1において実行される。たとえば、第1区分領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に投影する処理が、制御部1において実行される。これにより、副オブジェクトにピントを設定するためのピント設定用のシート画像(ピント設定用の第1シート画像)が、生成される。このピント設定用の第1シート画像は、主オブジェクトを基準として仮想カメラ側に配置された副オブジェクトに対して、ピントを設定するためのものである。また、第3区分領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に投影する処理が、制御部1において実行される。これにより、副オブジェクトにピントを設定するためのピント設定用のシート画像(ピント設定用の第2シート画像)が、生成される。このピント設定用の第2シート画像は、主オブジェクトを基準として仮想カメラから離反する側に配置された副オブジェクトに対してピントを設定するためのものである。
画像情報設定手段56は、ピント設定用のシート画像を複数の小画像に分割し、複数の小画像それぞれのコントラスト情報を調査することによって、ピント設定用のシート画像のコントラストを設定する機能を備えている。詳細には、画像情報設定手段56は、複数の小画像それぞれにおいて、隣接する小画像のコントラスト値の差を計算し、コントラスト値の差の最大値を、ピント設定用のシート画像のコントラストとして設定する機能を備えている。
この手段では、複数の小画像それぞれにおいて、隣接する小画像のコントラスト値の差を計算し、コントラスト値の差の最大値を、ピント設定用のシート画像のコントラストとして設定する処理が、制御部1において実行される。具体的には、隣接する小画像のコントラスト値の差を計算し、この差に基づいて、ピント設定用のシート画像のコントラストを設定する処理が、制御部1において実行される。
副オブジェクト選択手段57は、主オブジェクトに仮想カメラのピントを合わせる際の仮想カメラの視野内において、主オブジェクトを基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する機能を備えている。
この手段では、主オブジェクトに仮想カメラのピントを合わせる際の仮想カメラの視野内において、主オブジェクトを基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトが、副オブジェクトとして選択する処理が、制御部1において実行される。
たとえば、主オブジェクトを含む第2区分領域をより仮想カメラ側に位置する第1区分領域に含まれるオブジェクトを、副オブジェクトとして選択する処理が、制御部1において実行される。また、第2区分領域を基準として、仮想カメラから離反する方向に位置する第3区分領域に含まれるオブジェクトを、副オブジェクトとして選択する処理が、制御部1において実行される。
ここで、副オブジェクトを選択する処理は、ピント設定用のシート画像のコントラストに基づいて、制御部1において実行される。なお、ここで用いるピント設定用のシート画像は、上記の設定画像生成手段55において、既に生成されている。具体的には、ピント設定用のシート画像(ピント設定用の第1シート画像、ピント設定用の第2シート画像)のコントラストに基づいて、ピント設定用のシート画像における複数の小画像の中から、副オブジェクトのピント位置を設定するためのピント用の小画像(ピント設定用の第1小画像、ピント設定用の第2小画像)を、特定する処理が、制御部1において実行される。そして、視錐領域の仮想カメラ側の境界面上におけるピント用の小画像の位置を特定する処理が、制御部1において実行される。すると、仮想カメラから、境界面上におけるピント用の第1小画像の位置へと延びる直線が第1区分領域の内部で衝突するオブジェクトを、副オブジェクトとして選択する処理が、制御部1において実行される。同様に、仮想カメラから、境界面上におけるピント用の第2小画像の位置へと延びる直線が第3区分領域の内部で衝突するオブジェクトを、副オブジェクトとして選択する処理が、制御部1において実行される。
なお、ピント設定用のシート画像のコントラストが所定の範囲内である場合に、副オブジェクトを選択する処理が、制御部1において実行されるようにしても良い。
ピント順序設定手段58は、主オブジェクト、および少なくとも1つの副オブジェクトに対する、仮想カメラのピントを合わせるピント順序を、設定する機能を備えている。詳細には、ピント順序設定手段58は、最終的にピントを合わせるオブジェクトが、主オブジェクトとなるように、少なくとも1つの副オブジェクト、主オブジェクトの順に、ピント順序を設定する機能を備えている。
この手段では、最終的にピントを合わせるオブジェクトが、主オブジェクトとなるように、少なくとも1つの副オブジェクト、主オブジェクトの順に、ピント順序を設定する処理が、制御部1において実行される。ここでは、基準コントラストとピント設定用のシート画像のコントラストとの差が小さい順に、副オブジェクトに対するピント順序を設定する処理が、制御部1において実行される。また、最終的にピントを合わせるオブジェクトが主オブジェクトとなるように、ピント順序を設定する処理が、制御部1において実行される。
ピント合わせ手段59は、ピント順序に基づいて、副オブジェクトおよび主オブジェクトのいずれか一方のオブジェクトを、対象オブジェクトとして設定する機能を備えている。
この手段では、上記のピント順序に基づいて、副オブジェクトおよび主オブジェクトのいずれか一方のオブジェクトを、対象オブジェクトとして設定する処理が、制御部1において実行される。具体的には、上記のピント順序を用いると、副オブジェクト、主オブジェクトの順に、各オブジェクトを対象オブジェクトとして設定する処理が、制御部1において実行される。また、副オブジェクトが複数存在する場合は、コントラストの高い順に副オブジェクトを対象オブジェクトとして設定し、最後に、主オブジェクトを対象オブジェクトとして設定する処理が、制御部1において実行される。なお、ここで対象オブジェクトを設定する処理では、対象オブジェクトに設定されたピント位置を認識する処理も、実行される。
表示画像生成手段60は、対象オブジェクトにピントを合わせた状態で、表示用のシート画像を生成する機能を備えている。詳細には、表示画像生成手段60は、対象オブジェクトにピントを合わせた状態で、視錐領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に、投影することによって、表示用のシート画像を生成する機能を備えている。
この手段では、対象オブジェクトにピントを合わせた状態で、視錐領域の内部に配置されたオブジェクトを、視錐領域の仮想カメラ側の境界面に投影する処理が、制御部1において実行される。具体的には、まず、副オブジェクトにピントを合わせた状態で、視錐領域の内部に配置された全オブジェクトを、視錐領域の仮想カメラ側の境界面に投影する処理が、制御部1において実行される。すると、副オブジェクトにピントを合わせた状態の表示用のシート画像が、生成される。すると、このシート画像は、記憶部2に格納される。次に、主オブジェクトにピントを合わせた状態で、視錐領域の内部に配置された全オブジェクトを、視錐領域の仮想カメラ側の境界面に投影する処理が、制御部1において実行される。すると、主オブジェクトにピントを合わせた状態の表示用のシート画像が、生成される。すると、このシート画像は、記憶部2に格納される。
画像表示手段61は、ピント順序に基づいて生成された表示用のシート画像を連続的に出力する命令を、発行することによって、仮想カメラによって撮影した状況を、表示する機能を備えている。
この手段では、ピント順序に基づいて生成された表示用のシート画像を連続的に出力する命令を、発行することによって、仮想カメラによって撮影した状況を表示する処理が、画像表示部3において実行される。具体的には、副オブジェクトにピントを合わせた状態の表示用のシート画像、主オブジェクトにピントを合わせた状態の表示用のシート画像を、連続的に出力する命令が、制御部1から発行されると、仮想カメラによって撮影した状況を表示する処理が、画像表示部3において実行される。
〔野球ゲームにおけるピントブレ再現システムの概要〕
次に、野球ゲームにおけるピントブレ再現システムの具体的な内容について説明する。また、図10および図11に示すフローについても同時に説明する。なお、図10は野球ゲームの全体概要を説明するためのフローであり、図11は上記システムを説明するためのフローである。
まず、ゲーム装置の電源が投入され、ゲーム装置が起動されると、野球ゲームプログラムが、記録媒体10からRAM12にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体10からRAM12にロードされ格納される(S1)。
たとえば、基本ゲームデータには、3次元ゲーム空間用の各種の画像に関するデータが含まれている。3次元ゲーム空間用の各種の画像に関するデータには、たとえば、各種のオブジェクトのモデルデータ、たとえば、スタジアム用のモデルデータ、選手キャラクタ用のモデルデータ、および観客用のモデルデータ等が、含まれている。また、基本ゲームデータには、3次元ゲーム空間用のモデルデータを3次元ゲーム空間に配置するための位置座標データが、含まれている。また、基本ゲームデータには、3次元ゲーム空間に配置されたモデル(オブジェクト)を、テレビジョンモニタ20に表示するための画像データが、含まれている。画像データは、3次元ゲーム空間に配置されたモデルを、仮想カメラにより撮影することにより、生成される。さらに、基本ゲームデータには、上記システムで用いられる各種のデータも、含まれている。
なお、各モデルは、各モデルに対して固有に設定される識別データを用いて、CPU7により管理される。言い換えると、この識別データをCPU7に認識させることによって、モデル(オブジェクト)を特定したり、モデル用の画像データを、RAM12から読み出したりすることができる。
続いて、RAM12に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、CPU7により実行される(S2)。すると、野球ゲームの起動画面がテレビジョンモニタ20に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ20に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、テレビジョンモニタ20に表示される(図示しない)。このモード選択画面において、プレイヤがコントローラ17を操作することにより、プレイモードが決定される(S3)。プレイモードには、たとえば、12球団の中からチームを選択して1試合の対戦を楽しむ対戦モード、12球団の中からチームを選択してペナントレースを戦うペナントモード、プレイヤが監督の立場でチームの選手キャラクタを育成する育成モード、プレイヤがある1人の選手キャラクタの立場になって野球ゲームを体感する成長体感モード等が、用意されている。
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、CPU7により実行される(S4)。ここで実行される各種のイベントには、たとえば、自動制御プログラム(AIプログラム、Artificial Intelligence Program)に基づいてCPU7により自動制御されるイベントや、コントローラ17からの入力信号に基づいてプレイヤにより手動制御されるイベントがある。また、選手キャラクタの制御には、自動制御プログラムに基づいて選手キャラクタに命令を自動的に指示する自動制御や、コントローラ17からの入力信号に基づいて選手キャラクタに命令を直接的に指示する手動制御等がある。このように、本野球ゲームでは、コントローラ17からの指示や自動制御プログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりするようになっている。
なお、ここに示す自動制御プログラムとは、プレイヤに代わって、イベントに関する命令および選手キャラクタに対する命令を自動的に制御するためのプログラムである。この自動制御プログラムは、ゲームプログラムにおいて予め用意されている。
続いて、選択されたプレイモードが終了したか否かが、CPU7により判断される(S5)。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、CPU7により判断される。そして、プレイモードが終了したことを示す命令が発行されたとCPU7により判断された場合(S5でYes)、ゲーム継続用のデータをRAM12に格納する処理が、CPU7により実行される。そして、ゲーム継続用のデータがRAM12に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、テレビジョンモニタ20に表示される(S6)。そして、この選択画面において、プレイヤがコントローラ17を操作することにより、野球ゲームの終了を示す項目が選択されると(S6でYes)、野球ゲームを終了するための処理がCPU7により実行される(S7)。一方で、この選択画面において、プレイヤがコントローラ17を操作することにより、野球ゲームの継続を示す項目が選択されると(S6でNo)、ステップ3(S3)のモード選択画面が、テレビジョンモニタ20に再表示される。
なお、プレイモードが終了するための命令が発行されたとCPU7に判断されない限り(S5でNo)、モード選択画面で選択されたプレイモードにおいて、各種のイベントがCPU7により実行される(S4)。
次に、野球ゲームにおけるピントブレ再現システムの具体的な内容について説明する。
ここでは、試合中の各種イベントの実行中に、本システムが実行される場合の例が、示される。
モード選択画面で選択されたプレイモードにおいて、試合が開始されると(S401)、まず、基準コントラストが、設定される(S402)。基準コントラストは、基本ゲームデータに含まれている。ここでは、最も高いコントラストが、基準コントラストとして設定される。たとえば、所定のコントラスト値、すなわち最大コントラストを表現するコントラスト値が、RAM12から読み出され、このコントラスト値が、基準コントラスト値として、CPU7に認識される。所定のコントラスト値は、256階調のグレースケール用のコントラスト値であり、128に設定されている。このコントラスト値は、予めRAM12に格納されており、必要に応じて、RAM12から読み出され、CPU7に認識される。
続いて、3次元ゲーム空間GSにオブジェクトを配置する命令が、CPU7から発行される(S403)。すると、野球ゲームでテレビジョンモニタ20に表示されるオブジェクト、たとえば、スタジアム、選手、審判、観客、空、雲、月等のようなオブジェクトが、3次元ゲーム空間GSに配置される。具体的には、各オブジェクト用の画像データ、および各オブジェクトを3次元ゲーム空間GSに配置するための位置座標データを、RAM12から読み出し、この位置座標データをCPU7に認識させることにより、各オブジェクトが、3次元ゲーム空間GSにおける上記の位置座標データが示す位置に配置される。
なお、各オブジェクトの画像データ、および各オブジェクトの初期位置を示す位置座標データは、基本ゲームデータに含まれており、RAM12に格納されている。また、たとえば、オブジェクトが移動した場合は、移動後のオブジェクトの位置を示す位置座標データが計算され、この移動後の位置座標データが、RAM12に格納される。そして、この移動後の位置座標データを用いて、各オブジェクトが、3次元ゲーム空間GSに配置される。
続いて、図3に示すように、3次元ゲーム空間GSにおける仮想カメラの視野内の領域、すなわち視錐領域Vsが、設定される(S404)。ここでは、仮想カメラが、3次元ゲーム空間GSの所定の位置Pcに配置される。すなわち、仮想カメラの視点位置Pcが、設定される。たとえば、仮想カメラの視点位置Pcを示す位置座標データを、RAM12から読み出し、この位置座標データをCPU7に認識させることにより、仮想カメラが、3次元ゲーム空間GSにおける上記の位置座標データが示す位置Pcに配置される。なお、仮想カメラの初期の視点位置Pcを示す位置座標データは、基本ゲームデータに含まれており、RAM12に格納されている。また、仮想カメラを移動する命令がCPU7から発行された場合は、移動後の位置座標データがCPU7に認識され、この位置座標データが示す位置が、仮想カメラの視点位置Pcとして設定される。
なお、ここでは、3次元ゲーム空間GSにおける水平面が、X軸およびY軸によって定義され、3次元ゲーム空間GSにおける垂直上方が、Z軸が向く方向に定義されている。また、原点、X軸が向く方向、およびY軸が向く方向は、ゲームプログラムにおいて予め規定されている。
次に、仮想カメラの視点位置Pcを基準として、仮想カメラの注視点Pfが、3次元ゲーム空間GSの所定の位置に配置される。たとえば、仮想カメラの視点位置Pcから所定の距離を隔てた位置に、仮想カメラの注視点Pfが配置される。言い換えると、仮想カメラの視点位置Pcから所定の距離を隔てた位置を規定するための位置座標データを、RAM12から読み出し、この位置座標データをCPU7に認識させることにより、仮想カメラの注視点Pfが、3次元ゲーム空間GSにおける上記の位置座標データが示す位置に配置される。なお、仮想カメラの初期の注視点Pfを示す位置座標データは、基本ゲームデータに含まれており、RAM12に格納されている。
このようにして、仮想カメラの注視点Pfが設定されると、仮想カメラの視点位置Pcとカメラの注視点Pfとを結ぶ直線(基準線)を基準として、仮想カメラの画角αが、設定される。たとえば、仮想カメラの画角αは、基準線を中心とした水平方向の画角αxyと、基準線を中心とした垂直方向の画角αyzとから構成されている。これらの画角αxy,αyzに対応する角度データを、RAM12から読み出し、この角度データをCPU7に認識させることにより、画角αが設定される。すると、仮想カメラの画角内の領域(画角内領域)が、決定される。なお、仮想カメラの画角に対応する角度データは、基本ゲームデータに含まれており、RAM12に格納されている。
続いて、画角内領域において、カメラ視点側の面(ニアー面)S1およびカメラ視点から離反する側の面(ファー面)S2が、設定される。これにより、ニアー面S1とファー面S2との間の領域が、視錐領域Vsとして、3次元ゲーム空間GSに設定される。たとえば、基準線上において仮想カメラの位置Pcから所定の第1距離を隔てた位置の位置座標データを、CPU7に認識させることにより、ニアー面S1が設定される。また、基準線上において仮想カメラの位置Pcから所定の第2距離を隔てた位置の位置座標データを、CPU7に認識させることにより、ファー面S2が設定される。すると、画角内領域におけるニアー面S1とファー面S2との間の領域が、視錐領域Vsとして定義される。
なお、ここでは、第1距離とこの第1距離より長い第2距離とは、ゲームプログラムにおいて予め規定されている。そして、この第1距離および第2距離に基づいて、第1位置の位置座標データおよび第2位置の位置座標データが、CPU7により算出され、RAM12に格納される。これにより、ニアー面S1およびファー面S2が設定される。
このようにして、視錐領域Vsが設定されると、この視錐空間Vsの8つの隅角部v1,v2,v3,v4,v5,v6,v7,v8の位置を示す位置座標データが、CPU7に認識され、RAM12に格納される。ここでは、これら隅角部v1,v2,v3,v4,v5,v6,v7,v8の位置を示す位置座標データを、CPU7に認識させることによって、3次元ゲーム空間GSにおける視錐空間Vsの位置および範囲が、定義される。
続いて、図4に示すように、仮想カメラの視点位置Pcを基準として仮想カメラから離れる方向に、視錐領域Vsが、複数の区分領域Vk1,Vk2,Vk3に分割される(S405)。ここでは、たとえば、視錐領域Vsが、仮想カメラから離れる方向に3つに分割される。この場合、まず、ニアー面S1とファー面S2との間における基準線の長さを等間隔で3分割する処理が、CPU7により実行される。次に、ニアー面S1を基準として、ニアー面S1からファー面S2に向かう方向へ所定の距離を隔てた位置(3分割された1分割目の位置)に対応する位置座標データを、CPU7に認識させることにより、第1区分領域Vk1を定義するための第1面d1が、設定される。そして、この第1面d1を基準として、ニアー面S1からファー面S2に向かう方向へ所定の距離を隔てた位置(3分割された2分割目の位置)に、第2区分領域Vk2を定義するための第2面d2が、設定される。すると、視錐領域Vsを、仮想カメラから離れる方向に3つに分割した区分領域、すなわち第1区分領域Vk1、第2区分領域Vk2、および第3区分領域Vk3が、形成される。
なお、各区分領域Vk1,Vk2,Vk3は、上述した視錐領域Vsと同様に、各区分領域Vk1,Vk2,Vk3の8つの隅角部の位置を示す位置座標データを、CPU7に認識させることにより、3次元ゲーム空間GSにおける各区分領域Vk1,Vk2,Vk3の位置および範囲が、定義される。
続いて、図4に示すように、仮想カメラのピントを最終的に合わせる主オブジェクトM1が、設定される(S406)。たとえば、3次元ゲーム空間GSの視錐領域Vsの内部に配置されたオブジェクトの中から、仮想カメラのピントを最終的に合わせるオブジェクトが、主オブジェクトM1として設定される。また、ここでは、主オブジェクトM1にピントを合わせるためのピント位置P1が、設定される。たとえば、主オブジェクトM1の所定の位置にピントを合わせるための位置座標データを、RAM12から読み出し、この位置座標データをCPU7に認識させることにより、主オブジェクトM1のピント位置P1が、設定される。なお、主オブジェクトM1、および主オブジェクトM1のピント位置P1は、場面ごとに、ゲームプログラムにおいて予め規定される。
上記のように、視錐領域Vsが設定され、主オブジェクトM1にピントが設定されると、副オブジェクトにピントを設定するためのピント設定用のシート画像SP1,SP2が、生成される(S407)。詳細には、図5に示すように、主オブジェクトM1を含む区分領域(第2区分領域Vk2)を除いた他の区分領域(第1区分領域Vk1、第3区分領域Vk3)の内部に配置されたオブジェクトを、視錐領域Vsの仮想カメラ側の境界面S1(投影面)に、投影することによって、ピント設定用のシート画像SG1,SG2が、生成される。この場合、まず、第1区分領域Vk1の内部(図5(a)の斜線部)に配置された全てのオブジェクトを、投影面S1に投影する処理を、CPU7に実行させることにより、ピント設定用の第1シート画像SG1が、生成される。すると、このピント設定用の第1シート画像SG1が、RAM12に格納される。次に、第3区分領域Vk3の内部(図5(b)の斜線部)に配置された全てのオブジェクトを、投影面S1に投影する処理を、CPU7に実行させることにより、ピント設定用の第2シート画像SG2が、生成される。すると、このピント設定用の第2シート画像SG2が、RAM12に格納される。
ここでRAM12に格納されたピント設定用のシート画像(ピント設定用の第1シート画像SG1、ピント設定用の第2シート画像SG2)は、主オブジェクトM1を基準として、仮想カメラ側および仮想カメラから離反する側に配置された副オブジェクトに対して、ピントを設定するためのものである。
続いて、ピント設定用のシート画像を複数の小画像に分割し(S408)、複数の小画像それぞれのコントラスト情報を調査することによって、ピント設定用のシート画像のコントラストCpが設定される(S409)。この場合、まず、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれのカラーの色情報を、グレースケールの色情報に変換する処理が、CPU7により実行される。これにより、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれが、RGB階調の画像から、256階調のグレースケールの画像へと変換される。
次に、図6(a)に示すように、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれを、所定数の小画像に区分する処理が、CPU7により実行される。たとえば、図6(b)に示すように、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれの各小画像が、「2ピクセル×2ピクセル」から構成されるように、各ピント設定用のシート画像は区分される。ここでは、「1ピクセル×1ピクセル」に対して、0以上256以下の値を有するグレースケールの色情報データが割り当てられている。このため、1つの小画像は、4つのグレースケールの色情報データを有する(図6(b)を参照)。ここでは、1つの小画像に含まれる4つのグレースケールの色情報データを平均する処理が、CPU7により実行される。そして、この平均値が、この小画像のコントラスト値C(i,j)として設定される。
なお、図6は、説明を容易にするために、1つ1つの小画像を拡大して、描いている。図6(a)では、横方向iに9分割、縦方向jに8分割された図を、描いている。
続いて、複数の小画像それぞれにおいて、隣接する小画像のコントラスト値C(i,j)の差を計算する処理が、全ての隣接する1組の小画像に対して実行される。ここでは、たとえば、隣接する小画像のコントラスト値の差が、「dC(j)=C(m+1,j)−C(m,j);mは、1から8までの自然数」と表記される。図6(c)では、j=4におけるコントラスト値C(i,4)が、示されている。この場合、隣接する小画像のコントラスト値の差dC(4)は、「C(m+1,4)−C(m,4);mは、1から8までの自然数」となる。
そして、全てのコントラスト値C(i,j)の差の絶対値|dC(j)|の中から最大値|dC(j)|maxを検出する処理が、CPU7により実行される。そして、この最大値を有する1組の小画像の2つのコントラスト値C(m+1,j),C(m,j)の中で、値が小さい方のコントラスト値が、CPU7に認識される。すると、このコントラスト値が、ピント設定用のシート画像のコントラストCpとして設定される。たとえば、図6(c)では、隣接する2つのコントラスト値の差の絶対値の最大は、「|dC(4)|max=|C(7,4)−C(6,4)|」である。このため、この場合は、コントラストC(7,4)(<C(6,4))が、CPU7に認識され、ピント設定用のシート画像のコントラストCpとして設定される。
なお、説明を容易にするために、図6(c)では、「j=4」の場合だけを用いて、ピント設定用のシート画像のコントラストCpを設定する場合の例を示したが、実際には、「j=1〜8」全てに対して上記の処理を実行し、これらの最大値|dC(j)|maxに基づいて、ピント設定用のシート画像のコントラストCpが設定される。
具体的には、隣接する2つの小画像におけるコントラスト値の落差の値|dC(j)|が、最も大きいものが、ピント設定用のシート画像のコントラストCpとして設定される。この処理は、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれに対して実行され、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれに対して、コントラストが設定される。なお、以下では、コントラスト値の落差|dC(j)|が最も大きい2つの小画像の中で、コントラスト値C(i,j)が小さい方の小画像を、ピント用の小画像と呼ぶ。
ここでは、水平方向に隣接する小画像のコントラスト値C(i,j)の差の絶対値|dC(j)|を計算することによって、ピント設定用のシート画像のコントラストCpが設定される。なお、ここでは、水平方向に隣接する小画像のコントラスト値C(i,j)の差dC(j)を用いる場合の例を示しているが、垂直方向に隣接する小画像のコントラスト値C(i,j)の差dC(i)を用いたり、水平方向に隣接する小画像のコントラスト値の差dC(j)と、垂直方向に隣接する小画像のコントラスト値C(i,j)の差dC(i)との両方を同時に用いたりしても良い。
また、ここでは、隣接する2つの小画像におけるコントラスト値の落差|dC(i)|が、最も大きいものを、ピント設定用のシート画像のコントラストCpとして用いる場合の例が示されるが、ピント設定用のシート画像のコントラストCpの設定形態は、この実施形態に限定されず、どのようにしても良い。たとえば、複数の小画像に対する複数のコントラスト値C(i,j)の中の最大コントラスト値C(i,j)_maxを、ピント設定用のシート画像のコントラストCpに設定するようにしても良い。
続いて、ピント設定用のシート画像のコントラストCp、たとえば上記のコントラスト値の差の最大絶対値|dC(j)|maxが、所定の範囲内であるか否かが、CPU7により判断される(S410)。この判断処理は、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれに対して、実行される。具体的には、ピント設定用の第1シート画像SG1およびピント設定用の第2シート画像SG2それぞれの最大絶対値|dC(j)|maxが、この範囲の下限値以上且つ上限値以下であるか否かが、CPU7により判断される。この判断で用いられる所定の範囲は、ゲームプログラムにおいて予め規定されている。すなわち、範囲の下限値および上限値が、RAM12に格納されており、判断処理時には、RAM12から読み出される。
このような判別処理を行うことによって、コントラストが高い部分が存在する場合にのみ、ピントブレを発生させることができる。また、この判別処理は、ピントブレを発生させるか否かの判別にも用いることができる。たとえば、この判別処理において、ピント設定用の第1シート画像SG1のコントラスト、およびピント設定用の第2シート画像SG2のコントラストが、所定の範囲内である場合は、ピントブレを発生させる。一方で、両者のコントラストが、所定の範囲外である場合は、ピントブレを発生させない。このように処理することによって、ピントブレの発生の有無を、自動制御することができる。
続いて、ピント設定用の第1シート画像SG1のコントラストCp1(第1シート画像SG1のコントラスト値の差の最大絶対値|dC1(j)|max)、およびピント設定用の第2シート画像SG2のコントラストCp2(第2シート画像SG2のコントラスト値の差の最大絶対値|dC2(j)|max)の少なくともいずれか一方が、所定の範囲内であった場合(S410でYes)、ピントズレが発生したときにピントを合わせる対象、すなわち副オブジェクトH1,H2が、設定される(S411)。ここでは、主オブジェクトM1を基準として、仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトが、副オブジェクトH1,H2として選択される。以下では、仮想カメラ側の副オブジェクトを「H1」と表記し、仮想カメラ側から離反する側の副オブジェクトを「H2」と表記する。
なお、ここでは、主オブジェクトM1から、仮想カメラ側に存在するオブジェクトまでの所定の距離は、主オブジェクトM1から第1面d1までの距離であり、主オブジェクトM1から、仮想カメラから離反する側のオブジェクトまでの所定の距離は、主オブジェクトM1から第2面d2までの距離である。
たとえば、ピント設定用の第1シート画像SG1のコントラストCp1が、所定の範囲内であった場合、ピント設定用の第1シート画像SG1のコントラストCp1を規定したときに用いられた小画像が、CPU7に再認識され、この小画像の位置座標データが、CPU7に認識される。これにより、ピント用の第1小画像の位置PS1が設定される。このピント用の第1小画像の位置PS1を規定するための上記の位置座標データは、視錐領域Vsの仮想カメラ側の境界面S1上(投影面上)に定義される。また、ピント用の第1小画像の位置PS1は、小画像の重心に定義される。
同様に、ピント設定用の第2シート画像SG2のコントラストCp2が、所定の範囲内であった場合、ピント設定用の第2シート画像SG2のコントラストCp2を規定したときに用いられた小画像が、CPU7に再認識され、この小画像の位置座標データが、CPU7に認識される。これにより、ピント用の第2小画像の位置PS2が設定される。このピント用の第2小画像の位置PS2を規定するための上記の位置座標データは、視錐領域Vsの仮想カメラ側の境界面S1上(投影面上)に定義される。また、ピント用の第2小画像の位置PS2は、小画像の重心に定義される。
次に、図7に示すように、仮想カメラの位置から、境界面S1上におけるピント用の第1小画像の位置PS1へと延びる直線CL1が、3次元ゲーム空間GSに設定される。この直線CL1は、仮想カメラの位置座標データおよびピント用の小画像の位置座標データに基づいて、定義される。そして、この直線CL1が第1区分領域Vk1の内部で衝突するオブジェクトの位置座標データが、CPU7に認識される。また、この位置座標データは、RAM12に格納され、ピントズレが発生したときのピント位置P2の位置座標データとして用いられる。さらに、この位置座標データに基づいて、直線CL1が衝突したオブジェクトが特定され、このオブジェクトの識別データが、CPU7に認識される。このようにして、ピントズレが発生したときのピント位置P2、および主オブジェクトM1を基準として仮想カメラ側に位置する副オブジェクトH1が、設定される。以下では、このピントズレ用のピント位置P2を、第1区分領域内のピント位置P2と呼び、この副オブジェクトを、第1区分領域内の副オブジェクトH1と呼ぶ。
また、以下では、第3区分領域Vk3におけるピントズレ用のピント位置P3を、第3区分領域内のピント位置P3と呼び、このピントズレ用のピント位置P3が設定されるオブジェクトを、第3区分領域内の副オブジェクトH2と呼ぶ。すると、図7に示すように、第3区分領域内のピント位置P3、および第3区分領域内の副オブジェクトH2も、第1区分領域内の副オブジェクトH1と同様の形態で、設定される。たとえば、仮想カメラの位置Pcから、境界面S1上におけるピント用の第2小画像の位置PS2へと延びる直線CL2が、第3区分領域Vk3の内部で衝突するオブジェクトの位置が、第3区分領域内のピント位置P3として設定される。また、ここで直線CL2が衝突したオブジェクトが、第3区分領域内の副オブジェクトH2として設定される。詳細については、第1区分領域内の副オブジェクトH1の設定と同じであるので、ここでは省略する。なお、第3区分領域内の副オブジェクトH2は、主オブジェクトM1を基準として仮想カメラから離反する側に位置するオブジェクトである。
なお、ピント設定用の第1シート画像SG1のコントラストCp1(第1シート画像SG1のコントラスト値の差の最大絶対値|dC1(j)|max)、およびピント設定用の第2シート画像SG2のコントラストCp2(第2シート画像SG2のコントラスト値の差の最大絶対値|dC2(j)|max)が、所定の範囲外であった場合(S410でNo)、副オブジェクトH1,H2は設定されず、ピントブレは発生しない。この場合は、ピントがブレることのない画像が、テレビジョンモニタ20に表示され、ステップ403(S403)の処理が、CPU7により実行される。
続いて、上記のように副オブジェクトH1,H2が設定された場合、主オブジェクトM1、および少なくとも1つの副オブジェクトH1,H2に対する、仮想カメラのピントを合わせるピント順序PJが、設定される(S412)。詳細には、最終的にピントを合わせるオブジェクトが、主オブジェクトM1となるように、少なくとも1つの副オブジェクトH1,H2、主オブジェクトM1の順に、ピント順序PJが設定される。
たとえば、第1区分領域内の副オブジェクトH1が存在する場合、基準コントラストと、ピント設定用の第1シート画像SG1のコントラストCp1との差の絶対値を計算する処理が、CPU7により実行される。また、第3区分領域内の副オブジェクトH2が存在する場合、基準コントラストと、ピント設定用の第2シート画像SG2のコントラストCp2との差の絶対値を計算する処理が、CPU7により実行される。そして、前者の計算結果と後者の計算結果とを比較することにより、上記の差の絶対値が小さい順に、ピントを合わせる順序が上位になるように、ピント順序PJが設定される。
たとえば、前者の計算結果が後者の計算結果より小さい場合、第1区分領域内の副オブジェクトH1にピントを合わせる順序は、第3区分領域内の副オブジェクトH2にピントを合わせる順序より、上位になる。一方で、前者の計算結果が後者の計算結果より大きい場合、第1区分領域内の副オブジェクトH1にピントを合わせる順序は、第3区分領域内の副オブジェクトH2にピントを合わせる順序より、下位になる。このようにして、各副オブジェクトH1,H2に対するピント順序PJが設定されると、主オブジェクトM1にピントを合わせる順序が最下位になるように、ピント順序PJが設定される。このようにして、最終的にピントを合わせるオブジェクトが主オブジェクトM1となるように、ピント順序PJが設定される。
なお、ここでは、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2が存在する場合の例を示したが、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2のいずれか一方だけが存在する場合は、ピント順序PJは、第1区分領域内の副オブジェクトH1および第3区分領域内の副オブジェクトH2のいずれか一方、主オブジェクトM1の順になる。
続いて、このピント順序PJに基づいて、副オブジェクトH1,H2および主オブジェクトM1のいずれか一方のオブジェクトが、対象オブジェクトTJとして設定される(S413)。そして、この対象オブジェクトTJのピント位置に対して、仮想カメラのピントが設定される。なお、仮想カメラのピントが設定される対象オブジェクトのピント位置は、主オブジェクトのピント位置P1、および副オブジェクトH1,H2のピント位置P2,P3のいずれか1つのピント位置である。
この場合、まず、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2のいずれか一方の副オブジェクトが、対象オブジェクトTJに設定される。そして、この対象オブジェクトTJのピント位置P2(P3)に対して、仮想カメラのピントが設定される。次に、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2のいずれか他方の副オブジェクトが、対象オブジェクトTJに設定される。そして、この対象オブジェクトTJのピント位置P3(P2)に対して、仮想カメラのピントが設定される。最後に、主オブジェクトM1のピント位置P1に対して、仮想カメラのピントが設定される。
このように、ピント順序PJに基づいて仮想カメラのピントを各オブジェクトH1,H2,M1に設定することによって、副オブジェクトH1,H2については、コントラストの高い順に、仮想カメラのピントが合わせられる。そして、最後に、主オブジェクトM1に対して、仮想カメラのピントが設定される。そして、最後に、主オブジェクトM1に対して、仮想カメラのピントが合わせられる。
なお、ここでは、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2が存在する場合の例を示したが、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2のいずれか一方だけが存在する場合は、第1区分領域内の副オブジェクトH1および第3区分領域内の副オブジェクトH2のいずれか一方のピント位置に対してのみ、仮想カメラのピントが設定される。
続いて、対象オブジェクトTJにピントを合わせた状態で、表示用のシート画像が生成される(S414)。詳細には、対象オブジェクトTJにピントを合わせた状態で、視錐領域Vsの内部に配置された全てのオブジェクトを、視錐領域Vsの仮想カメラ側の境界面S1(投影面)に、投影することによって、表示用のシート画像が生成される。
この場合、対象オブジェクトTJにピントを合わせた状態で、視錐領域Vsの内部に配置された全てのオブジェクトを、視錐領域Vsの仮想カメラ側の境界面S1に投影する処理が、CPU7において実行される。
具体的には、まず、第1区分領域内の副オブジェクトH1にピントを合わせた状態で、視錐領域Vsの内部に配置された全オブジェクトを、視錐領域Vsの仮想カメラ側の境界面S1(投影面)に投影する処理が、CPU7により実行される。すると、副オブジェクトH1にピントを合わせた状態の表示用の第1シート画像が、生成される。すると、このシート画像が、RAM12に格納される。同様に、第3区分領域内の副オブジェクトH2にピントを合わせた状態で、視錐領域Vsの内部に配置された全オブジェクトを、投影面S1に投影する処理が、CPU7により実行される。すると、副オブジェクトH2にピントを合わせた状態の表示用の第2シート画像SG2が、生成される。すると、このシート画像が、RAM12に格納される。
なお、ここでは、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2が存在する場合の例を示したが、第1区分領域内の副オブジェクトH1、および第3区分領域内の副オブジェクトH2のいずれか一方だけが存在する場合は、第1区分領域内の副オブジェクトH1および第3区分領域内の副オブジェクトH2のいずれか一方のピントを合わせた表示用のシート画像が、生成される。
次に、主オブジェクトM1にピントを合わせた状態で、視錐領域Vsの内部に配置された全オブジェクトを、視錐領域Vsの仮想カメラ側の境界面S1に投影する処理が、CPU7により実行される。すると、主オブジェクトM1にピントを合わせた状態の表示用の第2シート画像SG2が、生成される。すると、このシート画像が、RAM12に格納される。
続いて、ピント順序PJに基づいて生成された表示用のシート画像を連続的に出力する命令が、CPU7から発行されると、表示用のシート画像が、RAM12から読み出され、テレビジョンモニタ20に供給される。具体的には、副オブジェクトH1,H2にピントを合わせた状態の表示用のシート画像、主オブジェクトM1にピントを合わせた状態の表示用のシート画像が、RAM12から読み出され、テレビジョンモニタ20に供給される。これにより、図8に示すように、ピントブレを再現した画像が、テレビジョンモニタ20に表示される(S415)。
図8では、ピントが合った画像は実線で示し、ピントが合っていない画像は破線で示している。図8では、第1区分領域内の副オブジェクトH1が、ベンチの選手オブジェクトであり、第2区分領域Vk2の主オブジェクトM1が、打者オブジェクトであり、第3区分領域内の副オブジェクトH2が、観客席の観客オブジェクトである場合の例が、示されている。また、図8では、観客席の観客オブジェクトH2については、簡略化して1つだけ表示されている。たとえば、図8では、3次元ゲーム空間GSに配置された、ベンチの選手オブジェクトH1(第1区分領域内の副オブジェクト)、観客席の観客オブジェクトH2(第3区分領域内の副オブジェクト)、打者オブジェクトM1(第2区分領域Vk2の主オブジェクト)の順に、仮想カメラのピントを合わせることにより、ピントブレが再現されている。すなわち、ここでは、ピントが打者オブジェクトを基準として、この打者オブジェクトの前後にブレた後に、ピントを合わせる対象である打者オブジェクトにピントが合う状態が、テレビジョンモニタ20に表示される。
なお、図8では、ベンチの選手オブジェクト(第1区分領域内の副オブジェクト)に対応する画像、観客席の観客オブジェクト(第3区分領域内の副オブジェクト)に対応する画像、および打者オブジェクト(第2区分領域Vk2の主オブジェクト)に対応する画像それぞれに対して、記号「H1」、記号「H2」、記号「M1」を付している。これは、図8の説明を容易に行うためのものである。このため、実際には、これら記号H1,H2,M1が示すオブジェクトは、3次元ゲーム空間GSに定義されている。
上記のように、本実施形態では、副オブジェクトH1,H2にピントを設定するためのピント設定用のシート画像SG1,SG2が、複数の小画像に分割され、これら複数の小画像それぞれのコントラスト情報C(i,j)が調査される。これにより、ピント設定用のシート画像SG1,SG2のコントラストCpが設定され、このコントラストCpに基づいて、副オブジェクトH1,H2が選択される。このように、ピント設定用のシート画像SG1,SG2のコントラストCpに基づいて副オブジェクトH1,H2を選択することによって、コントラスト情報に基づいたピント設定を、副オブジェクトH1,H2に対して行うことができる。
また、主オブジェクトM1が、ある場面においてピントを合わせる対象である場合、ピント順序PJに基づいて、まず、仮想カメラ側の副オブジェクトH1(or 仮想カメラ側から離れる側の副オブジェクトH2)にピントが合わせられる。次に、仮想カメラ側から離れる側の副オブジェクトH2(or 仮想カメラ側の副オブジェクトH1)にピントが合わせられる。最後に、この場面でピントを合わせる対象である主オブジェクトM1に、ピントが合わせられる。
このように、主オブジェクトM1に直接的にピントを合わせるのではなく、まず、コントラスト情報に基づいて選択された副オブジェクトH1,H2にピントを合わせ、その後に、主オブジェクトM1にピントを合わせることにより、突発的に発生する事象、たとえばピントブレのような事象を、映像上で再現することができ、リアリティのある映像を提供することができる。
〔他の実施形態〕
(a)前記実施形態では、ピント設定用のシート画像のコントラストCpに基づいて、副オブジェクトH1,H2が選択される場合の例が示されたが、副オブジェクトH1,H2の選択形態は、前記実施形態に限定されず、どのようにしても良い。たとえば、図9に示すように、仮想カメラと主オブジェクトM1とを結ぶ直線CL3の延長線に対して最も近いオブジェクト、および仮想カメラとオブジェクトとの間において上記の直線CL3に最も近いオブジェクトの中の少なくともいずれか1つのオブジェクトを、副オブジェクトH1,H2として選択するようにしても良い。
この場合、まず、仮想カメラの位置座標データと、主オブジェクトM1のピント位置P1の位置座標データとに基づいて、仮想カメラから主オブジェクトM1のピント位置P1へと延びる直線CL3が、CPU7により算出される。そして、この直線CL3と、第1区分領域内の全てのオブジェクトそれぞれとの距離を計算する処理が、CPU7により実行される。そして、この計算結果に基づいて、この直線に最も近い位置に位置するオブジェクトが、第1区分領域内の副オブジェクトH1’として選択される。同様に、上記の直線と、第3区分領域内の全てのオブジェクトそれぞれとの距離を計算する処理が、CPU7により実行される。そして、この計算結果に基づいて、この直線に最も近い位置のオブジェクトが、第3区分領域内の副オブジェクトH2’として選択される。
なお、各オブジェクトには、オブジェクトの位置を定義するための位置座標データが割り当てられており、この位置座標データを用いて、上記の直線と各オブジェクトとの間の距離たとえば垂直距離が、算出される。
(b)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての開発用のゲーム装置を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(c)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
本発明は、仮想空間内のオブジェクトを仮想カメラによって撮影した状況を表示可能なゲームプログラム、ゲーム装置、およびゲーム制御方法において、利用可能である。
1 制御部
3 画像表示部
5 操作入力部
7 CPU
12 RAM
17 コントローラ
20 テレビジョンモニタ
50 基準コントラスト設定手段
51 オブジェクト配置手段
52 視錐領域設定手段
53 視錐領域分割手段
54 主オブジェクトM1設定手段
55 設定画像生成手段
56 画像情報設定手段
57 副オブジェクト選択手段
58 ピント順序設定手段
59 ピント合わせ手段
60 表示画像生成手段
61 画像表示手段
M1 主オブジェクト
H1,H2 副オブジェクト
Vs 視錐領域
Vk1,Vk2,Vk3 区分領域
Pc 仮想カメラの視点位置
P1,P2,P3 ピント位置
SG1,SG2 ピント設定用のシート画像
Cp コントラスト
C(i,j) コントラスト値
dC(j) コントラスト値の差

Claims (13)

  1. 仮想空間内のオブジェクトを仮想カメラによって撮影した状況を、表示可能なコンピュータの制御部に、
    前記オブジェクトの中から、前記仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する主オブジェクト設定機能と、
    前記主オブジェクトに前記仮想カメラのピントを合わせる際の前記仮想カメラの視野内において、前記主オブジェクトを基準として、前記仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および前記仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する副オブジェクト選択機能と、
    前記主オブジェクト、および前記少なくとも1つの副オブジェクトに対する、前記仮想カメラのピントを合わせるピント順序を、設定するピント順序設定機能と、
    を実現させ、
    前記ピント順序設定機能では、最終的にピントを合わせるオブジェクトが、前記主オブジェクトとなるように、前記少なくとも1つの副オブジェクト、前記主オブジェクトの順に、前記ピント順序が設定される、
    ゲームプログラム。
  2. 前記コンピュータの制御部に、
    前記副オブジェクトにピントを設定するためのピント設定用のシート画像を、生成する設定画像生成機能と、
    前記ピント設定用のシート画像を複数の小画像に分割し、複数の前記小画像それぞれのコントラスト情報を調査することによって、前記ピント設定用のシート画像のコントラストを設定する画像情報設定機能と、
    をさらに実現させ、
    前記副オブジェクト選択機能では、前記ピント設定用のシート画像のコントラストに基づいて、前記副オブジェクトが選択される、
    請求項1に記載のゲームプログラム。
  3. 前記コンピュータの制御部に、
    前記仮想空間に前記オブジェクトを配置するオブジェクト配置機能と、
    前記仮想空間における前記仮想カメラの視野内の領域を、視錐領域として設定する視錐領域設定機能と、
    前記仮想カメラの位置を基準として前記仮想カメラから離れる方向に、前記視錐領域を複数の区分領域に分割する視錐領域分割機能と、
    を実現させ、
    前記主オブジェクト設定機能では、複数の前記区分領域それぞれの内部に配置された前記オブジェクトの中から、前記主オブジェクトが設定され、
    前記設定画像生成機能では、前記主オブジェクトを含む前記区分領域を除いた各区分領域の内部に配置されたオブジェクトを、前記視錐領域の仮想カメラ側の境界面に、投影することによって、前記ピント設定用のシート画像が生成される、
    請求項2に記載のゲームプログラム。
  4. 前記画像情報設定機能では、複数の前記小画像それぞれにおいて、隣接する前記小画像のコントラスト値の差を計算し、前記コントラスト値の差の最大値が、前記ピント設定用のシート画像のコントラストとして設定される、
    請求項2又は3に記載のゲームプログラム。
  5. 前記画像情報設定機能では、複数の前記小画像それぞれのコントラスト値を平均し、前記コントラスト値の平均の最大値が、前記ピント設定用のシート画像のコントラストとして設定される、
    請求項2又は3に記載のゲームプログラム。
  6. 前記副オブジェクト選択機能では、前記ピント設定用のシート画像のコントラストが所定の範囲内である場合に、前記副オブジェクトが選択される、
    請求項2から5のいずれかに記載のゲームプログラム。
  7. 前記副オブジェクト選択機能では、前記ピント設定用のシート画像のコントラストに基づいて、前記ピント設定用のシート画像における複数の前記小画像の中から、前記副オブジェクトのピント位置を設定するためのピント用の小画像が、特定され、前記視錐領域の仮想カメラ側の境界面上における前記ピント用の小画像の位置が、特定され、仮想カメラから、前記境界面上における前記ピント用の小画像の位置へと延びる直線が衝突するオブジェクトが、前記副オブジェクトとして選択される、
    請求項2から6のいずれかに記載のゲームプログラム。
  8. 前記コンピュータの制御部に、
    前記ピント順序に基づいて、前記副オブジェクトおよび前記主オブジェクトのいずれか一方のオブジェクトを、対象オブジェクトとして設定するピント合わせ機能と、
    前記対象オブジェクトにピントを合わせた状態で、表示用のシート画像を生成する表示画像生成機能と、
    前記ピント順序に基づいて生成された前記表示用のシート画像を連続的に出力する命令を、発行することによって、仮想カメラによって撮影した状況を、表示する画像表示機能と、
    をさらに実現させるための請求項1から7のいずれかに記載のゲームプログラム。
  9. 前記コンピュータの制御部に、
    前記仮想空間に前記オブジェクトを配置するオブジェクト配置機能と、
    前記仮想空間における前記仮想カメラの視野内の領域を、視錐領域として設定する視錐領域設定機能と、
    前記仮想カメラの位置を基準として前記仮想カメラから離れる方向に、前記視錐領域を複数の区分領域に分割する視錐領域分割機能と、
    をさらに実現させ、
    前記主オブジェクト設定機能では、複数の前記区分領域それぞれの内部に配置された前記オブジェクトの中から、前記主オブジェクトが設定され、
    前記副オブジェクト選択機能では、前記主オブジェクトを含む前記区分領域を除いた他の前記区分領域に含まれる前記オブジェクトが、前記副オブジェクトとして選択され、
    前記表示画像生成機能では、前記対象オブジェクトにピントを合わせた状態で、前記視錐領域の内部に配置されたオブジェクトを、前記視錐領域の仮想カメラ側の境界面に、投影することによって、前記表示用のシート画像が生成される、
    請求項8に記載のゲームプログラム。
  10. 前記コンピュータの制御部に、
    最も高いコントラストを、基準コントラストとして設定する基準コントラスト設定機能と、
    をさらに実現させ、
    前記ピント順序設定機能では、前記基準コントラストと前記ピント設定用のシート画像のコントラストとの差が小さい順に、前記副オブジェクトに対する前記ピント順序が設定され、最終的にピントを合わせるオブジェクトが前記主オブジェクトとなるように、前記主オブジェクトに対する前記ピント順序が設定される、
    請求項2から9のいずれかに記載のゲームプログラム。
  11. 前記副オブジェクト選択機能では、前記仮想カメラと前記主オブジェクトとを結ぶラインの延長線に対して最も近いオブジェクト、および前記仮想カメラと前記オブジェクトとの間において前記ラインに最も近いオブジェクトの中の少なくともいずれか1つのオブジェクトが、前記副オブジェクトとして選択される、
    請求項1から3のいずれかに記載のゲームプログラム。
  12. 仮想空間内のオブジェクトを仮想カメラによって撮影した状況を表示可能なゲーム装置であって、
    前記ゲーム装置の制御部が、
    前記オブジェクトの中から、前記仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する主オブジェクト設定手段と、
    前記主オブジェクトに前記仮想カメラのピントを合わせる際の前記仮想カメラの視野内において、前記主オブジェクトを基準として、前記仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および前記仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する副オブジェクト選択手段と、
    前記主オブジェクト、および前記少なくとも1つの副オブジェクトに対する、前記仮想カメラのピントを合わせるピント順序を、設定するピント順序設定手段と、
    を備え、
    前記ピント順序設定手段では、最終的にピントを合わせるオブジェクトが、前記主オブジェクトとなるように、前記少なくとも1つの副オブジェクト、前記主オブジェクトの順に、前記ピント順序が設定される、
    ゲーム装置。
  13. 仮想空間内のオブジェクトを仮想カメラによって撮影した状況を表示可能なコンピュータにより、制御可能なゲーム制御方法であって、
    前記コンピュータの制御部が、
    前記オブジェクトの中から、前記仮想カメラのピントを最終的に合わせるオブジェクトを、主オブジェクトとして設定する主オブジェクト設定ステップと、
    前記主オブジェクトに前記仮想カメラのピントを合わせる際の前記仮想カメラの視野内において、前記主オブジェクトを基準として、前記仮想カメラ側に所定の距離以上近接した位置に存在するオブジェクト、および前記仮想カメラから所定の距離以上離反した位置に存在するオブジェクトの中の少なくとも1つのオブジェクトを、副オブジェクトとして選択する副オブジェクト選択ステップと、
    前記主オブジェクト、および前記少なくとも1つの副オブジェクトに対する、前記仮想カメラのピントを合わせるピント順序を、設定するピント順序設定ステップと、
    を実行し、
    前記ピント順序設定ステップでは、最終的にピントを合わせるオブジェクトが、前記主オブジェクトとなるように、前記少なくとも1つの副オブジェクト、前記主オブジェクトの順に、前記ピント順序が設定される、
    ゲーム制御方法。
JP2010018911A 2010-01-29 2010-01-29 ゲームプログラム、ゲーム装置、ゲーム制御方法 Active JP5237312B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010018911A JP5237312B2 (ja) 2010-01-29 2010-01-29 ゲームプログラム、ゲーム装置、ゲーム制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010018911A JP5237312B2 (ja) 2010-01-29 2010-01-29 ゲームプログラム、ゲーム装置、ゲーム制御方法

Publications (2)

Publication Number Publication Date
JP2011156061A true JP2011156061A (ja) 2011-08-18
JP5237312B2 JP5237312B2 (ja) 2013-07-17

Family

ID=44588599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010018911A Active JP5237312B2 (ja) 2010-01-29 2010-01-29 ゲームプログラム、ゲーム装置、ゲーム制御方法

Country Status (1)

Country Link
JP (1) JP5237312B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017051570A1 (ja) * 2015-09-24 2017-03-30 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN113082707A (zh) * 2021-03-31 2021-07-09 网易(杭州)网络有限公司 虚拟对象的提示方法、装置、存储介质及计算机设备
WO2023084783A1 (ja) * 2021-11-15 2023-05-19 涼平 山中 投影プログラム、投影方法、投影システム、およびコンピュータ可読媒体
JP7437734B2 (ja) 2019-12-26 2024-02-26 株式会社サンセイアールアンドディ 遊技機

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143681A (ja) * 1996-11-12 1998-05-29 S N K:Kk 画像処理方法及びその装置
JPH10340332A (ja) * 1997-06-09 1998-12-22 Seiko Epson Corp 画像処理装置、画像処理方法、画像処理制御プログラムを記録した媒体
JPH11161814A (ja) * 1997-11-25 1999-06-18 Namco Ltd 画像生成装置、シミュレーション装置及び情報記憶媒体
JPH11328437A (ja) * 1998-03-16 1999-11-30 Snk:Kk ゲ―ム機及びゲ―ム機における画像処理方法
JP2001283246A (ja) * 2000-03-30 2001-10-12 Konami Co Ltd 3次元画像合成装置及び方法、情報記憶媒体、プログラム配信装置及び方法
JP2008237654A (ja) * 2007-03-28 2008-10-09 Konami Digital Entertainment:Kk ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2009266159A (ja) * 2008-04-30 2009-11-12 Konami Digital Entertainment Co Ltd 画像処理プログラム、画像処理装置及び画像処理制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143681A (ja) * 1996-11-12 1998-05-29 S N K:Kk 画像処理方法及びその装置
JPH10340332A (ja) * 1997-06-09 1998-12-22 Seiko Epson Corp 画像処理装置、画像処理方法、画像処理制御プログラムを記録した媒体
JPH11161814A (ja) * 1997-11-25 1999-06-18 Namco Ltd 画像生成装置、シミュレーション装置及び情報記憶媒体
JPH11328437A (ja) * 1998-03-16 1999-11-30 Snk:Kk ゲ―ム機及びゲ―ム機における画像処理方法
JP2001283246A (ja) * 2000-03-30 2001-10-12 Konami Co Ltd 3次元画像合成装置及び方法、情報記憶媒体、プログラム配信装置及び方法
JP2008237654A (ja) * 2007-03-28 2008-10-09 Konami Digital Entertainment:Kk ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2009266159A (ja) * 2008-04-30 2009-11-12 Konami Digital Entertainment Co Ltd 画像処理プログラム、画像処理装置及び画像処理制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017051570A1 (ja) * 2015-09-24 2017-03-30 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10855925B2 (en) 2015-09-24 2020-12-01 Sony Corporation Information processing device, information processing method, and program
JP7437734B2 (ja) 2019-12-26 2024-02-26 株式会社サンセイアールアンドディ 遊技機
CN113082707A (zh) * 2021-03-31 2021-07-09 网易(杭州)网络有限公司 虚拟对象的提示方法、装置、存储介质及计算机设备
CN113082707B (zh) * 2021-03-31 2024-03-12 网易(杭州)网络有限公司 虚拟对象的提示方法、装置、存储介质及计算机设备
WO2023084783A1 (ja) * 2021-11-15 2023-05-19 涼平 山中 投影プログラム、投影方法、投影システム、およびコンピュータ可読媒体

Also Published As

Publication number Publication date
JP5237312B2 (ja) 2013-07-17

Similar Documents

Publication Publication Date Title
JP3786132B2 (ja) ゲーム画像処理プログラム及び記憶媒体
US20190244416A1 (en) Simulation system, processing method, and information storage medium
JP5148660B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP6714791B2 (ja) シミュレーションシステム及びプログラム
JP3877077B2 (ja) ゲーム装置および画像処理プログラム
US8072458B2 (en) Storage medium having game program stored thereon and game apparatus
US20190247751A1 (en) Simulation system, processing method, and information storage medium
JP2007159725A (ja) ゲームプログラムおよびゲーム装置
JP4343207B2 (ja) ゲーム装置および画像処理プログラム
JP5237312B2 (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
JP4521020B2 (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
JP4463289B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2018085084A (ja) 画像処理方法及びコンピュータ可読媒体
CN112188922B (zh) 虚拟相机放置系统
WO2013038979A1 (ja) ゲームプログラム、ゲーム装置、及び、ゲームプログラムを記録した記録媒体
JP2009273865A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4714763B2 (ja) 画像処理プログラム、画像処理装置、および画像制御方法
JP4572245B2 (ja) 画像処理プログラム、画像処理装置及び画像処理制御方法
JP2006061717A (ja) ゲーム画像の表示制御プログラム及びゲーム装置並びに記憶媒体
JP5007633B2 (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
JP5149956B2 (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
WO2007069373A1 (ja) ゲームプログラム、ゲーム装置及びゲーム方法
JP4659071B2 (ja) 画像処理プログラム、画像処理装置、および画像制御方法
JP4824738B2 (ja) ゲームプログラム、ゲーム装置、及びゲーム制御方法
JP4705145B2 (ja) 描画処理プログラム、描画処理装置、及び描画処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120730

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: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130328

R150 Certificate of patent or registration of utility model

Ref document number: 5237312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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