JP2005310020A - 3次元画像生成装置および3次元画像生成プログラム - Google Patents

3次元画像生成装置および3次元画像生成プログラム Download PDF

Info

Publication number
JP2005310020A
JP2005310020A JP2004129252A JP2004129252A JP2005310020A JP 2005310020 A JP2005310020 A JP 2005310020A JP 2004129252 A JP2004129252 A JP 2004129252A JP 2004129252 A JP2004129252 A JP 2004129252A JP 2005310020 A JP2005310020 A JP 2005310020A
Authority
JP
Japan
Prior art keywords
determination
viewpoint
virtual
image generation
specific object
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
JP2004129252A
Other languages
English (en)
Other versions
JP4242318B2 (ja
Inventor
Takayuki Shimamura
隆行 嶋村
Takahiro Doda
卓宏 堂田
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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2004129252A priority Critical patent/JP4242318B2/ja
Priority to US11/106,538 priority patent/US7327361B2/en
Publication of JP2005310020A publication Critical patent/JP2005310020A/ja
Application granted granted Critical
Publication of JP4242318B2 publication Critical patent/JP4242318B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【構成】 ビデオゲーム装置12はCPU36を含み、CPU36はGPU42と連携して、ゲーム画像を生成および表示する。具体的には、オブジェクトは仮想3次元空間に配置される。この仮想3次元空間は視点座標系に変換され、さらに、投影変換される。投影変換後、特定のオブクジェクトに対応して判定点が設定され、特定のオブジェクトのZ値と判定点のZ値とに基づいて、特定のオブジェクトの遮蔽度が算出される。遮蔽度に応じて、視点の移動を制御したり、光源の輝度を変化させたりする。
【効果】 遮蔽度に応じた様々な画像を生成・表示できるので、よりリアルな演出が可能である。
【選択図】 図2

Description

この発明は3次元画像生成装置および3次元画像生成プログラムに関し、特にたとえば、操作者の操作入力に応じて3次元画像を生成する、3次元画像生成装置および3次元画像生成プログラムに関する。
一般的によく知られているいわゆるコンピュータグラフィックス(CG)技術では、仮想3次元空間が設定され、この空間にオブジェクトが描画され、仮想スクリーンが設定され、描画(表示)画像が投影変換され表示される。このCG技術では、仮想空間のどの位置から見た画像を表示するかを決定するために、視点制御を行う必要がある。特にコントローラ入力に応じてリアルタイムで3次元画像を描画するようなゲームなどでは、視点制御は重要である。具体的には、視点の設定によっては、注目したいオブジェクトを他のオブジェクトが隠してしまい、意図した画像が得られないことがある。このようなときには、自動的に他のオブジェクトが注目したいオブジェクトを隠さないような位置に視点を移動させるのが一般的である。
たとえば、従来のこの種の3次元画像生成装置の一例が特許文献1に開示される。この特許文献1によれば、操作オブジェクトと、ゲーム空間中のカメラ位置との間に、他のオブジェクトなどの遮蔽物が入ってしまったときには、遮蔽物が操作オブジェクトを遮らないような位置に、カメラを回転移動させる。このようにして、常に操作オブジェクトを画面内に表示していた。
また、従来の3次元画像装置の他の例が特許文献2に開示される。この特許文献2によれば、プレイヤキャラクタとカメラとの間に、遮蔽物が入ってきたときには、遮蔽物が遮らなくなるまでカメラをプレイヤキャラクタに接近させる。
さらに、従来の3次元画像装置のその他の例が特許文献3に開示される。この特許文献3によれば、プレイヤキャラクタとカメラとの間に遮蔽物が入ってしまったときには、遮蔽物の内部にカメラを移動させ、急激な画像変化が起こらないように配慮している。
特開平9−167260号 特開2002−360920号 特開2003−334380号
しかしながら、いずれの従来技術においても、操作オブジェクト(プレイヤキャラクタ)とカメラとの間に遮蔽物が入ったときには、必ずカメラ位置を変更し、視点を移動させるようにしてある。このため、仮想3次元空間中に描画されるオブジェクトの数が多い場合には、視点移動が頻繁に行われてしまい、操作者(プレイヤ)に不快感を与えていた。また、操作オブジェクトの一部分だけが遮蔽物によって隠れている場合、または、画面表現上、多少の遮蔽物による操作オブジェクトの遮蔽があっても構わない場合であっても、視点移動が行われてしまっていた。このような問題を回避するために、操作オブジェクトが遮蔽されている度合い(遮蔽度)を検出(算出)して、遮蔽度に応じて視点移動を制御することが考えられるが、遮蔽度を検出するためには、いずれの従来技術においても注視点を増やす必要があり、しかも3次元空間における処理であるため、処理負担が増大するという問題があった。
それゆえに、この発明の主たる目的は、新規な、3次元画像生成装置および3次元画像生成プログラムを提供することである。
また、この発明の他の目的は、カメラで追従するオブジェクトのうち、遮蔽されているかどうかを考慮すべきオブジェクトについて、当該オブジェクトが隠れている度合いを考慮した表示画像を簡単に生成できる、3次元画像生成装置および3次元画像生成プログラムを提供することである。
さらに、この発明のその他の目的は、オブジェクトを或る程度隠すような表現の表示画像を生成できる、3次元画像生成装置および3次元画像生成プログラムを提供することである。
請求項1の発明は、操作者の操作入力に応じて3次元画像を生成する3次元画像生成装置であって、操作入力検出手段、オブジェクトデータ記憶手段、表示手段、仮想3次元空間生成手段、視点制御手段、表示画像生成手段、奥行き値記憶手段、オブジェクト配置位置記憶手段、判定点設定手段、判定手段、および遮蔽度算出手段を備える。操作検出手段は、操作者の操作入力を検出する。オブジェクトデータ記憶手段は、3次元画像を構成するオブジェクトを描画するためのオブジェクトデータを記憶する。表示手段は、仮想3次元空間内の投影スクリーンに投影された画像を表示する。仮想3次元空間生成手段は、操作入力検出手段によって検出された操作入力とオブジェクトデータ記憶手段に記憶されたオブジェクトデータとに基づいて仮想3次元空間を生成する。視点制御手段は、仮想3次元空間生成手段によって生成された仮想3次元空間内において視点を制御する。表示画像生成手段は、視点制御手段によって制御された視点から見た仮想3次元空間を投影スクリーンに投影した画像を生成する。奥行き値記憶手段は、表示画像生成手段によって生成された画像の各画素についての奥行き値を記憶する。オブジェクト配置位置記憶手段は、少なくとも仮想3次元空間における特定のオブジェクトの配置位置を記憶する。判定点設定手段は、画像のうち特定のオブジェクトの配置位置を含む所定範囲において、所定数の判定点を設定する。判定手段は、判定点設定手段において設定された所定数の判定点の第1奥行き値が特定のオブジェクトについての第2奥行き値よりも小さいか否かを判定する。そして、遮蔽度算出手段は、判定手段によって第1奥行き値が第2奥行き値よりも小さいと判定された判定点の個数に応じて特定のオブジェクトの遮蔽度を算出する。
請求項1の発明では、3次元画像生成装置は、操作者の操作入力に応じて3次元画像を生成する。操作者の操作入力は操作入力検出手段(36,S1:後述する実施例で相当する参照符号。以下同じ。)によって検出される。オブジェクトデータ記憶手段(40)は、3次元画像を構成するオブジェクトを描画するためのオブジェクトデータを記憶する。表示手段(34,36,38,58)は、仮想3次元空間内の投影スクリーンに投影された画像を表示する。仮想3次元空間生成手段(36,42,S3)は、操作入力検出手段(36,S1)によって検出された操作入力とオブジェクトとデータ記憶手段(40)に記憶されたオブジェクトデータとに基づいて仮想3次元空間を生成する。視点制御手段(36,S5)は、仮想3次元空間生成手段(36,42,S3)によって生成された仮想3次元空間内において視点(仮想カメラ)を制御する。つまり、視点の位置および向きを制御する。表示画像生成手段(36,42,S7,S9,S11)は、視点制御手段(36,S5)によって制御された視点から見た仮想3次元空間を投影スクリーンに投影した画像を生成する。つまり、投影変換処理が実行される。奥行き値記憶手段(50)は、表示画像生成手段(36,42,S7,S9,S11)によって生成された画像の各画素についての奥行き値(Z値)を記憶する。オブジェクト位置記憶手段(36,40)は、少なくとも3次元空間における特定のオブジェクトの配置位置(現在位置)を記憶する。判定点設定手段(36,S15)は、投影変換された画像のうち特定のオブジェクトについての配置位置を含む所定範囲において所定数の判定点を設定する。判定手段(36,S53〜S63)は、判定点設定手段(36,S15)によって設定された所定数の判定点の第1奥行き値が特定のオブジェクトの第2奥行き値よりも小さいか否かを判定する。つまり、視点と特定のオブジェクトとの間に遮蔽物が存在するか否を判断する。遮蔽度算出手段(36,S65)は、判定手段(36,S53〜S63)によって第1奥行き値が第2奥行き値よりも小さいと判定された判定点の個数に応じて特定のオブジェクトの遮蔽度を算出する。
請求項1の発明によれば、投影変換された特定のオブジェクトについて設定した判定点の奥行き値が、当該特定のオブジェクトについての奥行き値よりも小さいか否かを判定するだけなので、遮蔽度の算出が簡単である。したがって、遮蔽度を考慮した表示画像を簡単に生成することができる。
請求項2の発明は請求項1に従属し、判定点設定手段は、投影スクリーンに投影された特定のオブジェクトを近接して内包する範囲において、判定点を設定する。
請求項2の発明では、判定点設定手段(36,S15)は、投影スクリーンに投影された特定のオブジェクトを近接して内包する範囲において、判定点を設定する。たとえば、特定のオブジェクトの近傍に判定点が設定される。
請求項2の発明によれば、判定点は特定のオブジェクトが内包される範囲に設定されるので、他のオブジェクトが特定のオブジェクトを遮蔽する遮蔽度をより正確に知ることができる。
請求項3の発明は請求項1に従属し、判定点設定手段は、仮想3次元空間における特定のオブジェクトを投影スクリーンに投影した場合において、当該投影スクリーンに投影された当該特定のオブジェクトを近接して内包する円の円周上に判定点を設定する。
請求項3の発明では、判定点設定手段(36,S15)は、仮想3次元空間における特定のオブジェクトを投影スクリーンに投影した場合において、当該投影スクリーンに投影された当該特定のオブジェクトを近接して内包する円の円周上に判定点を設定する。
請求項3の発明では、投影変換した特定のオブジェクトを近接して内包する円の円周上に判定点を設定するので、円以外の形状の外周上に判定点を設定する場合よりも判定点を簡単に設定することができる。
請求項4の発明は請求項1ないし3のいずれかに従属し、遮蔽度算出手段は、判定点の総数に対して、判定手段によって第1奥行き値が第2奥行き値よりも小さいと判定された判定点の個数の割合を算出し、視点制御手段は、遮蔽度算出手段によって算出された割合に応じて、視点を別の視点に移動させる。
請求項4の発明では、遮蔽度算出手段(36,S65)は、判定点の総数に対する、判定手段(36,S53〜S63)によって第1奥行き値が第2奥行き値よりも小さいと判定された判定点の個数の割合(遮蔽度)を算出する。視点制御手段(36,S25)は、遮蔽度算出手段(36,S65)によって算出された遮蔽度に応じて(S23で“YES”)、視点を別の視点に移動させる。
請求項4の発明では、算出された遮蔽度に応じて視点を別の視点に移動させるので、たとえば、遮蔽度が大きく特定のオブジェクトが見難い場合に、視点を移動させて、当該特定のオブジェクトを見易い画像を生成することができる。
請求項5の発明は請求項4に従属し、視点制御手段(36,S25)は、遮蔽度算出手段(36,S65)によって算出された割合(遮蔽度)が所定値よりも小さくなるまで(S23で“NO”)、視点の移動を繰り返す。
請求項5の発明によれば、遮蔽度が所定値よりも小さくなるまで視点の移動を繰り返すので、急激な視点移動ではなく、或る程度遮蔽された状態を維持するように、視点を移動することができる。つまり、特定のオブジェクトを或る程度隠すような画像を生成することができる。
請求項6の発明は請求項1ないし3のいずれかに従属し、遮蔽度算出手段は、判定点の総数に対する、判定手段によって第1奥行き値が第2奥行き値よりも小さいと判定された判定点の個数の割合を算出し、遮蔽度算出手段によって算出された割合に応じて、特定のオブジェクトの表示にかかるパラメータを変化させるパラメータ変化手段をさらに備える。
請求項6の発明では、遮蔽度算出手段(36,S65)は、判定点の総数に対する、判定手段(36,S53からS63)によって第1奥行き値が第2奥行き値よりも小さいと判定された判定点の個数の割合(遮蔽度)を算出する。パラメータ変化手段(36,S21)は、遮蔽度算出手段(36,S65)によって算出された割合に応じて、特定のオブジェクトの表示にかかるパラメータを変化させる。
請求項6の発明によれば、遮蔽度に応じて特定のオブジェクトの表示にかかるパラメータを変化させるようにしても、遮蔽度に応じた画像を生成することができる。
請求項7の発明は請求項6に従属し、特定のオブジェクトは光源を含み、パラメータ変化手段は、少なくとも光源の明るさを変化させる。
請求項7の発明では、たとえば、特定のオブジェクトは光源を含み、パラメータ変化手段(36,S21)は、少なくとも光源の明るさを変化させる。したがって、光源からの光が或るオブジェクトの後ろから射すような画面を生成することができる。
請求項7の発明によれば、光源からの光が或るオブジェクトの後ろから射すような画面を生成できるので、よりリアルな演出が可能である。
請求項8の発明においても、請求項1の発明と同様に、遮蔽度を考慮した表示画像を簡単に生成することができる。
この発明によれば、投影変換された特定のオブジェクトに対して設定された判定点の奥行き値が、当該特定のオブジェクトの奥行き値よりも小さいかどうかを判定するだけなので、簡単に遮蔽度を算出することができる。したがって、遮蔽度を考慮した表示画像を簡単に生成することができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この発明の一実施例である3次元画像生成装置および3次元画像生成プログラムを備えるビデオゲーム装置12を備えるビデオゲームシステム10について説明する。ビデオゲーム装置12は、略立方体のハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。
コントローラ22には、その上面,下面,或いは側面などに、操作部(操作スイッチ)26が設けられる。操作部26は、たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤオブジェクト(プレイヤがコントローラ22によって操作可能な動画オブジェクト)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤオブジェクトの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤオブジェクトの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤオブジェクトの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御する。
なお、この実施例ではコントローラ22がそれと一体的に設けられるケーブル24によってビデオゲーム装置12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ビデオゲーム装置12に接続されてもよい。また、コントローラ22の操作部26の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは1つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
ビデオゲーム装置12のハウジング14の前面であり、コネクタ20の下方には、1つまたは複数の(この実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(たとえばゲームの結果)を保存(セーブ)しておいたりするために利用される。
ビデオゲーム装置12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声が出力される。
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずビデオゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をビデオゲーム装置12のディスクドライブ16にローディングする。応じて、ビデオゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはビデオゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作部26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作部26の他のものを動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3次元(3D)のゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12には、中央処理ユニット(以下、「CPU」という。)36が設けられる。このCPU36は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が接続される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して接続されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit:グラフィックス処理装置) 42が接続される。
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(graphics command :作画命令) を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3次元(3D)ゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種オブジェクトやオブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャ(Texture :模様画像)を貼り付けるなどの画像生成処理を施す。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データがフレームバッファ48内に記憶される。
なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。具体的には、フレームバッファ48は、1画素(ピクセル)毎に、画像の色情報を順序立てて記憶している。ここで、色情報は、R,G,B,Aについてのデータであり、たとえば、8ビットのR(赤)データ、8ビットのG(緑)データ、8ビットのB(青)データおよび8ビットのA(アルファ)データである。なお、Aデータは、マスク(マット画像)についてのデータである。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dゲーム画像が表示される。
また、Zバッファ50は、フレームバッファ48に対応する画素数×1画素当たりの奥行きデータのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行きデータ(Z値)を記憶するものである。
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよく、また、これらはGPU42の内部に設けられてもよい。
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、ARAM54に接続される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。
DSP52は、サウンドプロセサとして働き、メインメモリ40に記憶されたサウンドデータ(図示せず)を用いたり、ARAM54に書き込まれている音波形データ(図示せず)を用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に接続される。コントローラI/F56は、コントローラ22のためのインタフェースであり、コントローラ22の操作部26の操作信号またはデータを、メモリコントローラ38を通してCPU36に与える。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBAピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。
外部メモリI/F60は、ビデオゲーム装置12の前面に挿入されるメモリカード30(図1)をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ34aに与える。
そして、ディスクI/F64は、そのディスクドライブ16をメモリコントローラ38に接続し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムデータやテクスチャデータ等が、CPU36の制御の下で、メインメモリ40に書き込まれる。
図3にはメインメモリ40のメモリマップが示される。メインメモリ40は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、3次元画像生成プログラムが記憶される。この3次元画像生成プログラムは、操作情報取得プログラム402a、オブジェクト生成プログラム402b、オブジェクト配置プログラム402c、視点設定プログラム402d、注視点設定プログラム402e、視点座標変換プログラム402f、投影変換プログラム402g、画像表示プログラム402h、判定点設定プログラム402i、遮蔽度算出プログラム402jおよび視点移動プログラム402kによって構成される。
操作情報取得プログラム402aは、プレイヤによる操作情報(操作入力)を取得するためのプログラムであり、コントローラI/F56を介して入力されるコントローラ22からの操作データ(操作信号)を検出して、データ記憶領域404に記憶する。オブジェクト生成プログラム402bは、仮想ゲーム空間のような仮想3次元空間を生成するとともに、当該仮想3次元空間に存在するプレイヤオブジェクト、ノンプレイヤオブジェクト、アイテムオブジェクト或いは背景オブジェクトのようなオブジェクトを生成するためのプログラムである。
ここで、プレイヤオブジェクトとは、プレイヤの操作によって仮想3次元空間内を移動等するオブジェクトをいい、人物や動物を模した動画オブジェクトやアニメキャラクタについての動画オブジェクトなどが該当する。また、ノンプレイヤオブジェクトとは、プレイヤの操作によらないで、プログラムに従って移動等するオブジェクトをいい、プレイヤオブジェクトと同様に、人物や動物を模した動画オブジェクトやアニメキャラクタについての動画オブジェクトなどが該当する。アイテムオブジェクトとは、プレイヤオブジェクトもしくはノンプレイヤオブジェクトによって、取得または所持等されるアイテム(武器、薬、食物、金貨など)についてのオブジェクトをいう。背景オブジェクトとは、壁、床(地面)、柱、樹木などの背景についてのオブジェクトをいう。
オブジェクト配置プログラム402cは、オブジェクト生成プログラム402bに従って生成されたオブジェクトを、プレイヤの操作(操作データ)に従って、または自動で、仮想3次元空間内に配置するためのプログラムである。すなわち、モデリング変換処理を実行するためのプログラムである。視点設定プログラム402dは、仮想3次元空間内の視点(仮想カメラ)の位置(視点位置)および向きを設定(制御)するためのプログラムである。視点座標変換プログラム402fは、視点から見た3次元画像(仮想カメラで撮影された画像)を、視点位置(仮想カメラ位置)が原点となるように、視点座標ないしはカメラ座標に座標変換するためのプログラムである。
投影変換プログラム402gは、視点座標変換プログラム402fによって座標変換された画像を、視点位置を中心として、スクリーン(投影スクリーンまたは仮想スクリーン)上に投影(たとえば、透視投影)するためのプログラムである。画像表示プログラム402fは、投影変換プログラム402gによって投影スクリーン上に投影された画像をモニタ34に表示するためのプログラムである。この実施例では、Zバッファ法に従って、投影スクリーン上の画像(ゲーム画像)がモニタ34に表示される。
判定点設定プログラム402iは、特定(所定)のオブジェクトが他のオブジェクトによって遮られる度合い(遮蔽度)を算出するための判定点を設定するためのプログラムである。たとえば、プレイヤオブジェクトのような特定のオブジェクトを近接して内包する範囲において、所定のルールに従って複数の判定点が設定される。この設定方法については、後で詳細に説明することにする。遮蔽度算出プログラム402jは、プレイヤオブジェクトのような特定のオブジェクトについての遮蔽度を算出するためのプログラムである。すなわち、仮想カメラと特定のオブジェクトとの間を遮るオブジェクト(遮蔽物)が存在する場合に、その遮蔽度を算出する。視点移動プログラム402kは、視点位置を仮想3次元空間内において移動制御するためのプログラムである。
なお、図示は省略するが、プログラム記憶領域402には、ビデオゲーム装置12で実行されるゲーム(仮想ゲーム)のメイン処理プログラム、当該仮想ゲームに必要な音(音楽)を出力するためのゲーム音楽再生プログラムやゲームの途中データや結果データのようなゲームデータを記憶(バックアップ)するためのバックアップ処理プログラムなども記憶される。
また、データ記憶領域404には、操作データ404a、オブジェクトポリゴンデータ404b、オブジェクト配置位置データ404c、視点位置データ404d、注視点データ404e、Z値データ404f、画像データ404g、判定点データ404h、テクスチャデータ404iなどのデータが記憶される。
操作データ404aは、操作情報取得プログラム404aに従って取得された操作データである。オブジェクトポリゴンデータ404bは、上述したようなオブジェクトを生成するためのポリゴンデータである。オブジェクト配置位置データ404cは、仮想3次元空間内に存在するオブジェクトの現在位置ないしは配置位置(3次元座標)についてのデータであり、各々のオブジェクトに対応して記憶される。
視点位置データ404dは、仮想3次元空間における視点(仮想カメラ)の位置(3次元座標)についてのデータである。注視点データ404eは、仮想カメラの注視位置(3次元座標)についてのデータである。Z値データ404fは、特定のオブジェクトについてのZ値を示す数値データである。ただし、この実施例では、特定のオブジェクトについてのZ値のうち、最小値となるZ値が選出され、その数値データが記憶される。これは、特定のオブジェクト内における特定の位置(部位ないしは箇所)についてのZ値を固定的に選出するようにした場合には、当該オブジェクトの向きによっては、正確に遮蔽度を判定できない場合があるからである。
画像データ404gは、モニタ34に表示するための画像についてのデータである。判定点データ404hは、特定のオブジェクトについての遮蔽度を判定するために、投影スクリーン上に設定された点(判定点)についての座標データ(2次元座標データ)である。テクスチャデータ404iは、上述したオブジェクトを生成するためのテクスチャデータであり、上述したオブジェクトポリゴンデータ404bに貼り付けられる。
なお、図示は省略するが、データ記憶領域404には、ゲーム中に演奏される音楽(BGM)や効果音のような音(音楽)についてのサウンドデータや当該ゲームの進行に従って発生するゲームデータやフラグデータなども記憶される。
たとえば、図4に示すような仮想3次元空間についての画像をモニタ34に表示する場合には、モニタ34の表示画面は2次元であるため、仮想3次元空間に存在する(モデリングされた)オブジェクトは投影スクリーンに投影される。具体的には、視点から見える範囲の人物オブジェクトや壁オブジェクト等は、視点を中心とした視点座標(カメラ座標)に変換され、さらに投影変換されるのである。投影変換された画像がモニタ34に表示される。
ここで、一般的なゲーム装置においては、人物オブジェクト(プレイヤオブジェクト)と仮想カメラとの間に遮蔽物が存在する場合には、仮想カメラの位置を移動(回転移動等)させ、当該プレイヤオブジェクトが遮蔽物によって遮蔽されるのを回避するようにしてある。
しかし、プレイヤオブジェクトを遮蔽する遮蔽物が多数存在する場合には、頻繁に仮想カメラの位置が移動されることとなり、したがって、ゲーム画像が頻繁に更新され、プレイヤにとって煩わしい場合がある。また、プレイヤオブジェクトの一部が遮蔽されているような状況では、ゲームの演出上、その状態をゲーム画像として表示したい場合もある。したがって、プレイヤオブジェクトと仮想カメラとの間に遮蔽物が存在する場合に、常に仮想カメラを移動させるのは妥当でないと言える。
そこで、この実施例では、プレイヤオブジェクトのような特定のオブジェクトが遮蔽物によって遮蔽される割合(遮蔽度)を算出し、遮蔽度に応じて仮想カメラを移動するようにしてある。また、たとえば、プレイヤオブジェクトの後ろからスポットライトの光が射すような演出をしたい場合には、特定のオブジェクトをスポットライト(点光源)に設定しておき、プレイヤオブジェクトが当該点光源からの光を遮る場合には、遮蔽度に応じて光の明るさを変化させることが可能である。以下、具体的に説明する。
まず、人物オブジェクト(特定のオブジェクト)と視点(仮想カメラ)との間に遮蔽物が存在しない場合を図示して、判定点の設定について説明する。図5(A)は仮想3次元空間を視点から見た場合の人物オブジェクトを示す図解図である。この図5(A)に示すように、人物オブジェクトすなわち特定のオブジェクト(以下、「被遮蔽オブジェクト」という。)に対応して、遮蔽度を判定するための所定数(この実施例では、8個)の判定点が設定される。ただし、この実施例では、投影変換後の被遮蔽オブジェクトに対して判定点は設定される。つまり、判定点は投影スクリーン上に設定される。なお、図5(A)においては、判定点を点線で示してある。
具体的には、所定数の判定点は、投影変換された被遮蔽オブジェクトの位置座標を中心とし、当該被遮蔽オブジェクトの大きさに基づいて設定される半径を有する円の軌道(円周)上に所定間隔(所定の中心角)毎に配置される。また、判定点を設定する円の大きさは、被遮蔽オブジェクトを近接して内包するように決定される。
ただし、被遮蔽オブジェクトの位置座標は、その中心(人物オブジェクトの場合には、当該人物の腰の位置)に決定される。これは、複数の判定点を円の円周上に配置するとともに、当該円が被遮蔽オブジェクトを近接して囲むようにするためである。したがって、円の半径は、被遮蔽オブジェクトが人物オブジェクトであれば、その身長(高さ)のほぼ半分の長さで決定される。
なお、被遮蔽オブジェクトのような動画オブジェクトについての仮想3次元空間上の位置座標(3次元座標)は常に監視されているため、当該3次元座標をカメラ座標に変換し、投影変換した後の被遮蔽オブジェクトの位置座標は容易に知ることができる。
図5(B)は、図5(A)に示したように、遮蔽物が存在しない状態において、仮想3次元空間における視点、投影スクリーンおよび被遮蔽オブジェクトを上方から見た図解図である。この図5(B)を参照して、上述したように、判定点は投影スクリーン上に設定される。また、視点のZ値は「0」に設定され、このときの被遮蔽オブジェクトのZ値を「Zo」とする。ここでは、視点と被遮蔽オブジェクトとの間に遮蔽物が存在しないため、設定された判定点の位置に対応してZバッファ50に記憶されるZ値は、被遮蔽オブジェクトのZ値(Zo)と同じ値またはそれよりも大きい値になる。
ここで、被遮蔽オブジェクトのZ値(Zo)は、上述したように、被遮蔽オブジェクトの位置座標を、当該被遮蔽オブジェクトの部位(面ないしは点)のうち、最も仮想カメラ(視点)に近い位置に平行移動した位置についてのZ値である。また、これ以降、説明の都合上、被遮蔽オブジェクトのZ値(Zo)を、「基準Z値」と呼ぶことにする。
図6は被遮蔽オブジェクトと視点との間に遮蔽物が存在する場合の一例を示す図解図である。ただし、図5(A)と同様に、図6(A)は仮想3次元空間を視点から見た場合の遮蔽オブジェクトと被遮蔽オブジェクトとを示す図解図である。また、図6(B)は、図6(A)に示すような状態において、仮想3次元空間における視点、投影スクリーンおよび被遮蔽オブジェクトを上方から見た図解図である。図6(A)に示すように、被遮蔽オブジェクトの右斜め前であり、当該被遮蔽オブジェクトを遮蔽するように、遮蔽物(遮蔽オブジェクト)が配置される。なお、判定点の設定は、図5(A)を用いて説明した場合と同じであるため、ここでは、詳細な説明は省略する。かかる場合には、図6(B)からも分かるように、Z値が基準Z値ではなく、遮蔽オブジェクトのZ値(Zs)となる判定点も存在することとなる。
具体的には、図6(A)からよく分かるように、8個の判定点のうち、Z値が「Zs」となる判定点が3個存在する。また、図6(B)から分かるように、Z値が「Zs」となる判定点では、Z値が基準Z値よりも小さいと言える。このように、視点と被遮蔽オブジェクトとの間に遮蔽オブジェクトが存在する場合には、被遮蔽オブジェクトが遮蔽オブジェクトに遮られることがあり、その遮蔽度Hは数1に従って算出される。ただし、全判定点の個数をMとし、基準Z値よりも小さいZ値を有する判定点の個数をNとしてある。
[数1]
H=N/M
したがって、図6に示した例では、遮蔽度Hは3/8(=0.375)となる。なお、図5に示した例では、N=0であるため、遮蔽度Hも「0」となる。
また、図7は被遮蔽オブジェクトと視点との間に遮蔽物が存在する場合の他の例を示す図解図である。ただし、図5(A)と同様に、図7(A)は仮想3次元空間を視点から見た場合の遮蔽オブジェクトと被遮蔽オブジェクトとを示す図解図である。また、図7(B)は、図7(A)に示すような状態において、仮想3次元空間における視点、投影スクリーンおよび被遮蔽オブジェクトを上方から見た図解図である。図7(A)および図7(B)に示すように、遮蔽オブジェクトが被遮蔽オブジェクトの右半分(右半身)を隠すように、視点と遮蔽オブジェクトとの間に存在する。この場合には、Z値が「Zs」となる判定点が5つ存在するため、数1に従って遮蔽度Hを求めると5/8(=0.625)となる。
ここで、図5に示した例では、被遮蔽オブジェクトは何ら遮蔽されておらず、また、図6に示した例では、被遮蔽オブジェクトは右下半身が遮蔽されているだけであり、たとえば、ゲームを進行する場合であってもプレイヤの操作に支障はなく、視点を変更する必要はないと考えられる。しかし、図7に示した例では、被遮蔽オブジェクトは右半身が遮蔽されてしまっており、ゲームを進行する場合にはプレイヤが操作し難いため、視点を移動して被遮蔽オブジェクトの遮蔽度を小さくする必要があると考えられる。
なお、視点を移動させる方法としては、注視点を中心にして視点を回転移動させたり、視点を被遮蔽オブジェクトに近づけたり、視点を遮蔽オブジェクトと被遮蔽オブジェクトとの間に回り込ませたりすることが考えられる。これらの方法は既に周知であるため、その詳細な説明は省略することにする。
図8(A)および図8(B)は、仮想3次元空間において、視点から見た遮蔽オブジェクト(ここでは、人物オブジェクト)および被遮蔽オブジェクト(ここでは、光源オブジェクト)を示す図解図である。なお、図8(A)および図8(B)においては、図面の都合上、判定点を実線で示してあるが、上述したように、判定点は投影変換された被遮蔽オブジェクトに対して設定される。図8(A)に示す場合では、点光源(スポットライト)のような被遮蔽オブジェクトが人物オブジェクトのような遮蔽オブジェクトによって遮られていない。したがって、たとえば、このような場合には、点光源を最大の明るさ(設定値の範囲内での最大の明るさ)で点灯させる。一方、図8(B)に示すように、被遮蔽オブジェクトを遮蔽オブジェクトが遮る場合には、その遮蔽度に応じて点光源の明るさを変化させることが考えられる。このようにすれば、遮蔽オブジェクトの背後から光が射すような画像を表示することができ、単に視点を移動させる場合に比べて、より臨場感のある演出が可能である。
この実施例では、遮蔽度が「0」の場合の明るさを100%とし、その値に数1に従って算出された遮蔽度Nで決まる割合(1−N)を掛け算して得られた明るさに変更するようにしてある。つまり、明るさPは数2に従って算出される。
[数2]
P(%)=(1−N)×100
具体的には、図2に示したCPU36が図9および図10に示すフロー図に従って3次元画像生成処理を実行する。CPU36は3次元画像生成処理を開始すると、ステップS1で、操作データを取得する。具体的には、CPU36は、コントローラI/F56を介してコントローラ22から入力される操作データを検出し、メモリコントローラ38を制御して、メインメモリ40のデータ記憶領域404に記憶する。ただし、操作データを検出しない場合には、操作データは記憶されない。
次のステップS3では、操作データ(プレイヤの操作入力)に応じて、または自動で、オブジェクトを配置する。つまり、プレイヤオブジェクト、ノンプレイヤオブジェクト、アイテムオブジェクトおよび背景オブジェクトなどのオブジェクトを仮想3次元空間にモデリングする。ただし、ゲーム開始時においては、オブジェクトは予め設定された3次元位置にモデリングされる。続くステップS5では、視点および注視点を設定する。つまり、仮想カメラの位置および向きを設定する。なお、仮想カメラの位置および向きは、予め決定されているが、プレイヤの操作によって変更することもできる。そして、ステップS7で、視点座標系に変換する。具体的には、視点(仮想カメラ)を中心(0,0,0)とする視点座標(カメラ座標)に変換する。
続いて、ステップS9で、投影変換する。つまり、モニタ34に表示するための画像を投影スクリーンに投影する。このとき、フレームバッファ48に、表示する画像の画素毎の色情報(R,G,B,A)が記憶され、Zバッファ50に画素毎のZ値が記憶される。次のステップS11では、Zバッファ法に基づいて描画処理を実行する。つまり、画像データ404gが、データ記憶領域404に記憶(生成)される。図示は省略するが、その後、画像データ404gは、CPU36の指示の下、メモリコントローラ38によって読み出され、ビデオI/F58を介してモニタ34に出力される。これにより、ゲーム画像がモニタ34に表示される。
ステップS13では、遮蔽確認オブジェクトすなわち被遮蔽オブジェクトを特定する。この実施例では、被遮蔽オブジェクトは、ゲームの進行に従った場面毎に予め決定されており、投影スクリーンに投影されたオブジェクトの中から被遮蔽オブジェクトが特定される。被遮蔽オブジェクトを特定すると、ステップS15で、後述する判定点設定処理(図11参照)を実行し、ステップS17で、後述する遮蔽度算出処理(図12参照)を実行する。
図10に示すように、次のステップS19では、ステップS13において特定したオブジェクトが人物オブジェクトであるかどうかを判断する。ステップS19で“NO”であれば、つまり特定したオブジェクトが点光源であれば、ステップS21で、ステップS17において算出した遮蔽度に応じて点光源の明るさを変更し、つまり数2に従って算出される明るさに変更して、ステップS27に進む。
一方、ステップS19で“YES”であれば、つまり特定したオブジェクトが人物オブジェクトであれば、ステップS23で、遮蔽度が閾値よりも大きいかどうかを判断する。遮蔽度が閾値よりも大きければ、ステップS23で“YES”となり、ステップS25で、視点を移動して、図9に示したステップS5に戻る。しかし、遮蔽度が閾値以下であれば、ステップS23で“NO”となり、ステップS27に進む。つまり、遮蔽度が閾値以下になるまで、ステップS1〜ステップS19、S23およびS25の処理が繰り返され、視点の移動が継続的に実行されるのである。したがって、視点を移動させる量(距離)を比較的小さく設定しておけば、急激な画像変化ではなく、或る程度遮蔽された状態すなわち特定のオブジェクトを或る程度隠した状態の画像を生成および表示することができる。
ステップS27では、画像生成を終了するかどうかを判断する。つまり、ゲーム終了の指示がプレイヤから与えられたり、ゲームオーバになったりしたかどうかを判断する。ステップS27で“NO”であれば、つまり画像生成を終了しない場合には、図9に示したステップS1に戻る。一方、ステップS27で“YES”であれば、つまり画像生成を終了する場合には、そのまま3次元画像生成処理を終了する。
図11は図9に示したステップS15の判定点設定処理を示すフロー図である。この図11を参照して、CPU36は、判定点設定処理を開始すると、ステップS41で、投影変換後の画像データにおいて、オブジェクトを中心とした円を設定する。上述したように、特定のオブジェクトの位置座標を中心とし、特定のオブジェクトの高さによって決定される半径の円を設定する。
続くステップS43では、当該オブジェクトが円内に内包されているかどうかを判断する。ステップS43で“NO”であれば、つまり当該オブジェクトが円内に内包されていなければ、ステップS45で、円を再設定し、ステップS45に戻る。たとえば、ステップS45では、予め設定された長さだけ、円の半径(直径)を大きくする。
一方、ステップS43で“YES”であれば、つまり当該オブジェクトが円内に内包されていれば、ステップS47で、判定点Ji(i=1〜M)を設定して、つまり判定点データ404Hをデータ記録領域404に記憶して、判定点設定処理をリターンする。
また、図12は図9に示したステップS17の遮蔽度算出処理を示すフロー図である。この図12を参照して、CPU36は遮蔽度算出処理を開始すると、ステップS51で、Z値が基準Z値よりも小さい判定点Jiの個数Nを初期化する(N=0)。次に、ステップS53で、判定点J1の位置に応じたZバッファ50の値(Z値)を抽出する。つまり、設定したM個の判定点のうち、所定の順番に従って選択した、或いは、ランダムに選択した1番目の判定点(判定点データ404hが示す位置)に対応する位置のZ値をZバッファ50から読み出す。
続くステップS55では、判定点JiのZ値が特定のオブジェクトのZ値すなわち基準Z値よりも小さいかどうかを判断する。ステップS55で“NO”であれば、つまり判定点JiのZ値が基準Z値以上の場合には、そのままステップS59に進む。一方、ステップS55で“YES”であれば、つまり判定点JiのZ値が基準Z値よりも小さい場合には、Z値が基準Z値よりも小さい判定点Jiの個数Nをインクリメントして(N=N+1)、ステップS59に進む。
ステップS59では、i≧Mであるかどうかを判断する。つまり、すべての判定点Jiについて、Z値が基準Z値よりも小さいかどうかを判断したかどうかを判断するのである。ここで、i<Mであれば、つまり、すべての判定点Jiについて、Z値が基準Z値よりも小さいかどうかを判断していない場合には、“NO”となり、ステップS61で、変数iをインクリメントして(i=i+1)、ステップS63で、判定点Jiの位置に応じたZバッファの値を抽出して、つまり次の判定点JiについてのZ値を読み出して、ステップS55に戻る。しかし、i≧Mであれば、つまり、すべての判定点Jiについて、Z値が基準Z値よりも小さいかどうかを判断した場合には、“YES”となり、ステップS65で、遮蔽度Hを数1に従って算出し、遮蔽度算出処理をリターンする。
この実施例によれば、投影変換された後の特定のオブジェクトに対して判定点を設定し、特定のオブジェクトの遮蔽度を判定点のZ値と当該特定のオブジェクトのZ値とに基づいて算出するので、簡単に遮蔽度を算出することができる。したがって、遮蔽度に応じて、視点の移動を制御することができる。また、遮蔽度に応じて、視点の明るさを変化させることができ、よりリアルな演出が可能である。ただし、視点の移動制御や光源の明るさ変化は単なる例示であり、遮蔽度に応じた画面生成が可能な点に着目すべきである。たとえば、遮蔽度に応じて注視点を変更することができる。また、光源の種類,色または減衰量のそれぞれ、或いは、それらのいずれか2つ以上の組み合わせを変化させることもできる。
なお、この実施例では、遮蔽度が閾値を超えるかどうかに応じて、視点の移動を制御するようにしたが、遮蔽度に応じた移動速度で常に視点を移動させるようにしてもよい。たとえば、遮蔽度が小さい場合には、比較的遅い移動速度で視点を移動させ、遮蔽度が大きい場合には、比較的大きな移動速度で視点を移動させるようにすれば、プレイヤオブジェクトのような被遮蔽オブジェクトが見え難い状態を迅速に回避することができる。
また、この実施例では、遮蔽度に従う割合を乗じた明るさになるように光源の明るさを変化させるようにしたが、1または2以上の閾値を設けておき、段階的に明るさを変化させるようにすることも可能である。
さらに、この実施例では、判定点の設定を簡単にするために、投影変換した被遮蔽オブジェクトを近接して内包する円の円周上に判定点を設定するようにしたが、被遮蔽オブジェクトを近接して内包する範囲内であれば、判定点は任意に設定することができる。ただし、上述の実施例に示した場合には、人物オブジェクトのように、縦長のオブジェクトについては、そのような判定点の設定は適切でない場合もある。たとえば、図13(A)に示すように、被遮蔽オブジェクトの両脇であり、被遮蔽オブジェクトよりも視点に近い側に、遮蔽オブジェクトが存在する場合には、実際には被遮蔽オブジェクトは遮蔽されていないにも拘わらず、遮蔽度が高くなってしまう。したがって、人物オブジェクトのような縦長の被遮蔽オブジェクトの場合には、図13(B)に示すように、その中心が被遮蔽オブジェクトの位置座標であり、当該被遮蔽オブジェクトを近接して内包する縦長の長方形の外周上に判定点を設定するようにしてもよい。図示は省略するが、横長の被遮蔽オブジェクトについては、横長の長方形の外周上に判定点を設定すればよい。つまり、被遮蔽オブジェクトの形状により近い形状の図形の外周上に判定点を設定すれば、遮蔽度をより正確に判断することができるのである。
さらにまた、この実施例では、円周上に8個の判定点を設定するようにしたが、判定点の個数はこれに限定されるべきではない。ただし、判定点を増加させるに従って、より正確な遮蔽度を算出することができると言える。
また、この実施例では、ビデオゲーム装置とモニタとが個別に設けられたゲームシステムについて説明したが、モニタとゲーム装置とが一体に設けられる携帯型のゲーム装置、ゲーム機能を備える携帯電話機、PDAやラップトップ型のPCのようなコンピュータにも適用できることは言うまでもない。
さらに、ゲーム画像の生成に限らず、CGで映画を作製するような場合にも、この発明を適用できることは言うまでもない。
この発明の一実施例のゲームシステムを示す図解図である。 図1に示すゲームシステムの電気的な構成を示すブロック図である。 図2に示すメインメモリのメモリマップを示す図解図である。 図1に示すビデオゲーム装置で展開される仮想3次元空間の一例を示す図解図である。 視点と被遮蔽オブジェクトとの間に遮蔽物が存在しない場合において判定点の設定方法の一例を示す図解図である。 視点と被遮蔽オブジェクトとの間に遮蔽物が存在する場合の遮蔽度の一例を説明するための図解図である。 視点と被遮蔽オブジェクトとの間に遮蔽物が存在する場合の遮蔽度の他の例を説明するための図解図である。 視点と被遮蔽オブジェクトとの間に遮蔽物が存在しない場合と存在する場合との遮蔽度のその他の例を説明するための図解図である。 図2に示すCPUの3次元画像生成処理の一部を示すフロー図である。 図2に示すCPUの3次元画像生成処理の他の一部であり、図9に後続するフロー図である。 図2に示すCPUの判定点設定処理を示すフロー図である。 図2に示すCPUの遮蔽度算出処理を示すフロー図である。 視点と被遮蔽オブジェクトとの間に遮蔽オブジェクトが存在する他の例および判定点の設定方法の他の例を示す図解図である。
符号の説明
10 …ゲームシステム
12 …ビデオゲーム装置
18 …光ディスク
22 …コントローラ
34 …モニタ
34a …スピーカ
36 …CPU
38 …メモリコントローラ
40 …メインメモリ
42 …GPU
52 …DSP
54 …ARAM
62 …オーディオI/F

Claims (14)

  1. 操作者の操作入力に応じて3次元画像を生成する3次元画像生成装置であって、
    操作者の操作入力を検出する操作入力検出手段、
    3次元画像を構成するオブジェクトを描画するためのオブジェクトデータを記憶するオブジェクトデータ記憶手段、
    仮想3次元空間内の投影スクリーンに投影された画像を表示する表示手段、
    前記操作入力検出手段によって検出された操作入力と前記オブジェクトデータ記憶手段に記憶されたオブジェクトデータとに基づいて前記仮想3次元空間を生成する仮想3次元空間生成手段、
    前記仮想3次元空間生成手段によって生成された仮想3次元空間内において視点を制御する視点制御手段、
    前記視点制御手段によって制御された視点から見た前記仮想3次元空間を前記投影スクリーンに投影した前記画像を生成する表示画像生成手段、
    前記表示画像生成手段によって生成された画像の各画素についての奥行き値を記憶する奥行き値記憶手段、
    少なくとも前記仮想3次元空間における特定のオブジェクトの配置位置を記憶するオブジェクト配置位置記憶手段、
    前記画像のうち前記特定のオブジェクトについての配置位置を含む所定範囲において、所定数の判定点を設定する判定点設定手段、
    前記判定点設定手段において設定された所定数の判定点の第1奥行き値が前記特定のオブジェクトの第2奥行き値よりも小さいか否かを判定する判定手段、および
    前記判定手段によって前記第1奥行き値が前記第2奥行き値よりも小さいと判定された前記判定点の個数に応じて前記特定のオブジェクトの遮蔽度を算出する遮蔽度算出手段を備える、3次元画像生成装置。
  2. 前記判定点設定手段は、前記投影スクリーンに投影された前記特定のオブジェクトを近接して内包する範囲において、前記判定点を設定する、請求項1記載の3次元画像生成装置。
  3. 前記判定点設定手段は、前記仮想3次元空間における前記特定のオブジェクトを前記投影スクリーンに投影した場合において、当該投影スクリーンに投影された当該特定のオブジェクトを近接して内包する円の円周上に前記判定点を設定する、請求項1記載の3次元画像生成装置。
  4. 前記遮蔽度算出手段は、前記判定点の総数に対して、前記判定手段によって前記第1奥行き値が前記第2奥行き値よりも小さいと判定された前記判定点の個数の割合を算出し、
    前記視点制御手段は、前記遮蔽度算出手段によって算出された割合に応じて、前記視点を別の視点に移動させる、請求項1ないし3のいずれかに記載の3次元画像生成装置。
  5. 前記視点制御手段は、前記遮蔽度算出手段によって算出された割合が所定値よりも小さくなるまで前記視点の移動を繰り返す、請求項4記載の3次元画像生成装置。
  6. 前記遮蔽度算出手段は、前記判定点の総数に対して、前記判定手段によって前記第1奥行き値が前記第2奥行き値よりも小さいと判定された前記判定点の個数の割合を算出し、
    前記遮蔽度算出手段によって算出された割合に応じて、前記特定のオブジェクトの表示にかかるパラメータを変化させるパラメータ変化手段をさらに備える、請求項1ないし3のいずれかに記載の3次元画像生成装置。
  7. 前記特定のオブジェクトは光源を含み、
    前記パラメータ変化手段は、少なくとも前記光源の明るさを変化させる、請求項6記載の3次元画像生成装置。
  8. 操作者の操作入力を検出する操作入力検出手段、
    3次元画像を構成するオブジェクトを描画するためのオブジェクトデータを記憶するオブジェクトデータ記憶手段、
    仮想3次元空間内の投影スクリーンに投影された画像を表示する表示手段、および
    前記画像の各画素についての奥行き値を記憶する奥行き値記憶手段を備える3次元画像生成装置の3次元画像生成プログラムであって、
    前記3次元画像生成装置のコンピュータに、
    前記操作入力検出手段によって検出された操作入力と前記オブジェクトデータ記憶手段に記憶されたオブジェクトデータとに基づいて前記仮想3次元空間を生成する仮想3次元空間生成ステップ、
    前記仮想3次元空間生成ステップによって生成された仮想3次元空間内において視点を制御する視点制御ステップ、
    前記視点制御ステップによって制御された視点から見た前記仮想3次元空間を前記投影スクリーンに投影した前記画像を生成する表示画像生成ステップ、
    少なくとも前記仮想3次元空間における特定のオブジェクトの配置位置を記憶するオブジェクト配置位置記憶ステップ、
    前記画像のうち前記特定のオブジェクトについての配置位置を含む所定範囲において、所定数の判定点を設定する判定点設定ステップ、
    前記判定点設定ステップにおいて設定された所定数の判定点の第1奥行き値が前記特定のオブジェクトの第2奥行き値よりも小さいか否かを判定する判定ステップ、および
    前記判定ステップによって前記第1奥行き値が前記第2奥行き値よりも小さいと判定された前記判定点の個数に応じて前記特定のオブジェクトの遮蔽度を算出する遮蔽度算出ステップを、実行させる、3次元画像生成プログラム。
  9. 前記判定点設定ステップは、前記投影スクリーンに投影された前記特定のオブジェクトを近接して内包する範囲において、前記判定点を設定する、請求項8記載の3次元画像生成プログラム。
  10. 前記判定点設定ステップは、前記仮想3次元空間における前記特定のオブジェクトを前記投影スクリーンに投影した場合において、当該投影スクリーンに投影された当該特定のオブジェクトを近接して内包する円の円周上に前記判定点を設定する、請求項8記載の3次元画像生成プログラム。
  11. 前記遮蔽度算出ステップは、前記判定点の総数に対して、前記判定ステップによって前記第1奥行き値が前記第2奥行き値よりも小さいと判定された前記判定点の個数の割合を算出し、
    前記視点制御ステップは、前記遮蔽度算出ステップによって算出された割合に応じて、前記視点を別の視点に移動させる、請求項8ないし11のいずれかに記載の3次元画像生成プログラム。
  12. 前記視点制御ステップは、前記遮蔽度算出ステップによって算出された割合が所定値よりも小さくなるまで前記視点の移動を繰り返す、請求項11記載の3次元画像生成プログラム。
  13. 前記遮蔽度算出ステップは、前記判定点の総数に対して、前記判定ステップによって前記第1奥行き値が前記第2奥行き値よりも小さいと判定された前記判定点の個数の割合を算出し、
    前記遮蔽度算出ステップによって算出された割合に応じて、前記特定のオブジェクトの表示にかかるパラメータを変化させるパラメータ変化ステップをさらに実行させる、請求項8ないし11のいずれかに記載の3次元画像生成プログラム。
  14. 前記特定のオブジェクトは光源を含み、
    前記パラメータ変化ステップは、少なくとも前記光源の明るさを変化させる、請求項13記載の3次元画像生成プログラム。
JP2004129252A 2004-04-26 2004-04-26 3次元画像生成装置および3次元画像生成プログラム Expired - Lifetime JP4242318B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004129252A JP4242318B2 (ja) 2004-04-26 2004-04-26 3次元画像生成装置および3次元画像生成プログラム
US11/106,538 US7327361B2 (en) 2004-04-26 2005-04-15 Three-dimensional image generating apparatus, storage medium storing a three-dimensional image generating program, and three-dimensional image generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004129252A JP4242318B2 (ja) 2004-04-26 2004-04-26 3次元画像生成装置および3次元画像生成プログラム

Publications (2)

Publication Number Publication Date
JP2005310020A true JP2005310020A (ja) 2005-11-04
JP4242318B2 JP4242318B2 (ja) 2009-03-25

Family

ID=35135940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004129252A Expired - Lifetime JP4242318B2 (ja) 2004-04-26 2004-04-26 3次元画像生成装置および3次元画像生成プログラム

Country Status (2)

Country Link
US (1) US7327361B2 (ja)
JP (1) JP4242318B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009148466A (ja) * 2007-12-21 2009-07-09 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2010134826A (ja) * 2008-12-08 2010-06-17 Jtekt Corp 工作機械用制御装置および工作機械用制御方法
JP2012034339A (ja) * 2010-07-08 2012-02-16 Toshiba Corp 立体画像生成装置及び方法
JP2012034336A (ja) * 2010-07-08 2012-02-16 Toshiba Corp 立体画像生成装置及び方法
JP2015170116A (ja) * 2014-03-06 2015-09-28 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
US9342925B2 (en) 2011-07-28 2016-05-17 Sony Corporation Information processing apparatus, information processing method, and program
JP2018147002A (ja) * 2017-03-01 2018-09-20 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
JP2022543440A (ja) * 2019-08-06 2022-10-12 ロブロックス・コーポレーション 電子ゲームにおけるカメラビューの変更
JP7371199B1 (ja) 2022-10-11 2023-10-30 任天堂株式会社 ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法
JP7405085B2 (ja) 2018-09-28 2023-12-26 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070097017A1 (en) * 2005-11-02 2007-05-03 Simon Widdowson Generating single-color sub-frames for projection
US20070132965A1 (en) * 2005-12-12 2007-06-14 Niranjan Damera-Venkata System and method for displaying an image
US8628415B2 (en) * 2006-11-09 2014-01-14 Wms Gaming Inc. Wagering game with 3D gaming environment using dynamic camera
US8106910B2 (en) * 2008-03-28 2012-01-31 Vldimir Pugach Method for correct reproduction of moving spatial images on a flat screen
KR20110004868A (ko) * 2008-04-09 2011-01-14 이얄 아밋저 2차원에서 3차원으로 게임을 전환하는 방법 및 시스템
JP5229801B2 (ja) * 2008-09-25 2013-07-03 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
US8619122B2 (en) * 2010-02-02 2013-12-31 Microsoft Corporation Depth camera compatibility
WO2013006329A2 (en) * 2011-07-01 2013-01-10 3G Studios, Inc. Automated facial detection and eye tracking techniques implemented in commercial and consumer environments
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
JP2013102842A (ja) * 2011-11-11 2013-05-30 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5969200B2 (ja) 2011-11-11 2016-08-17 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
US20130163195A1 (en) * 2011-12-22 2013-06-27 Nvidia Corporation System, method, and computer program product for performing operations on data utilizing a computation module
EP2672452B1 (en) * 2012-02-23 2017-12-27 Square Enix Holdings Co., Ltd. Moving image distribution server, moving image playback device, control method, program, and recording medium
KR101536501B1 (ko) 2012-04-12 2015-07-13 신라 테크놀로지스, 인크. 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
EP2762950B1 (en) * 2013-02-01 2020-10-21 Volvo Car Corporation Vehicle head-up display arrangement
JP2014235596A (ja) * 2013-06-03 2014-12-15 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法
US10216982B2 (en) * 2015-03-12 2019-02-26 Microsoft Technology Licensing, Llc Projecting a virtual copy of a remote object
GB2571306A (en) 2018-02-23 2019-08-28 Sony Interactive Entertainment Europe Ltd Video recording and playback systems and methods
EP4094815A3 (en) * 2021-05-28 2022-12-07 Bidstack Group PLC Viewability testing in a computer-generated environment
US20220410002A1 (en) * 2021-06-29 2022-12-29 Bidstack Group PLC Mesh processing for viewability testing
US20230281918A1 (en) * 2022-03-04 2023-09-07 Bidstack Group PLC Viewability testing in the presence of fine-scale occluders

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3544268B2 (ja) 1995-10-09 2004-07-21 任天堂株式会社 三次元画像処理装置およびそれを用いた画像処理方法
US6018348A (en) * 1997-12-31 2000-01-25 Intel Corporation Method for visibility culling
JP4527853B2 (ja) * 2000-07-28 2010-08-18 株式会社バンダイナムコゲームス ゲームシステム及び情報記憶媒体
JP2002360920A (ja) 2001-06-05 2002-12-17 Atlus Co Ltd ゲーム画像制御装置
JP2003334380A (ja) 2002-05-20 2003-11-25 Konami Computer Entertainment Japan Inc 3次元ゲームにおける仮想カメラ位置制御プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009148466A (ja) * 2007-12-21 2009-07-09 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2010134826A (ja) * 2008-12-08 2010-06-17 Jtekt Corp 工作機械用制御装置および工作機械用制御方法
JP2012034339A (ja) * 2010-07-08 2012-02-16 Toshiba Corp 立体画像生成装置及び方法
JP2012034336A (ja) * 2010-07-08 2012-02-16 Toshiba Corp 立体画像生成装置及び方法
US9342925B2 (en) 2011-07-28 2016-05-17 Sony Corporation Information processing apparatus, information processing method, and program
JP2015170116A (ja) * 2014-03-06 2015-09-28 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2018147002A (ja) * 2017-03-01 2018-09-20 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
JP7405085B2 (ja) 2018-09-28 2023-12-26 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
JP2022543440A (ja) * 2019-08-06 2022-10-12 ロブロックス・コーポレーション 電子ゲームにおけるカメラビューの変更
JP7335421B2 (ja) 2019-08-06 2023-08-29 ロブロックス・コーポレーション 電子ゲームにおけるカメラビューの変更
JP7371199B1 (ja) 2022-10-11 2023-10-30 任天堂株式会社 ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法

Also Published As

Publication number Publication date
US7327361B2 (en) 2008-02-05
US20050237323A1 (en) 2005-10-27
JP4242318B2 (ja) 2009-03-25

Similar Documents

Publication Publication Date Title
JP4242318B2 (ja) 3次元画像生成装置および3次元画像生成プログラム
US7753785B2 (en) Game apparatus, storing medium that stores control program of virtual camera, and control method of virtual camera
JP4791852B2 (ja) ゲーム装置、ゲームプログラムおよびゲーム制御方法
JP3637031B2 (ja) ゲーム装置およびゲームプログラム
US8411092B2 (en) 2D imposters for simplifying processing of plural animation objects in computer graphics generation
US8882593B2 (en) Game processing system, game processing method, game processing apparatus, and computer-readable storage medium having game processing program stored therein
US20040110561A1 (en) Game apparatus storing game sound control program and game sound control thereof
US20140002456A1 (en) Image processing apparatus and storing medium that stores image processing program
EP1213044B1 (en) Video game system, character action control method, and readable storage medium storing character action control program
US8662976B2 (en) Game processing system, game processing method, game processing apparatus, and computer-readable storage medium having game processing program stored therein
EP0992945B1 (en) Video game apparatus, model display and readable recording medium therefor
JP4264308B2 (ja) 画像処理装置および画像処理プログラム
JP2006268511A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3602835B2 (ja) ビデオゲーム装置およびその制御方法ならびにゲームプログラム
JP2955989B2 (ja) ゲーム装置
JP3951246B2 (ja) ゲーム装置
JP5054908B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3839355B2 (ja) ゲーム装置およびゲームプログラム
JP3763220B2 (ja) ゲーム装置
JP2000102675A (ja) オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体
JP4054708B2 (ja) ゲーム装置およびゲームプログラム
JP4219766B2 (ja) 画像生成プログラムおよび画像生成装置
JP4226999B2 (ja) キャラクタ移動制御プログラムおよびゲーム装置
KR20240038728A (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081030

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081110

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

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

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4242318

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140109

Year of fee payment: 5

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