JP2006155442A - Image processing program and image processor - Google Patents

Image processing program and image processor Download PDF

Info

Publication number
JP2006155442A
JP2006155442A JP2004348012A JP2004348012A JP2006155442A JP 2006155442 A JP2006155442 A JP 2006155442A JP 2004348012 A JP2004348012 A JP 2004348012A JP 2004348012 A JP2004348012 A JP 2004348012A JP 2006155442 A JP2006155442 A JP 2006155442A
Authority
JP
Japan
Prior art keywords
virtual camera
data
storage means
virtual
data indicating
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
JP2004348012A
Other languages
Japanese (ja)
Other versions
JP4469709B2 (en
Inventor
Ein Terakawa
愛印 寺川
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
Pokemon Co
Original Assignee
Nintendo Co Ltd
Pokemon Co
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, Pokemon Co filed Critical Nintendo Co Ltd
Priority to JP2004348012A priority Critical patent/JP4469709B2/en
Publication of JP2006155442A publication Critical patent/JP2006155442A/en
Application granted granted Critical
Publication of JP4469709B2 publication Critical patent/JP4469709B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing program and an image processor capable of making an object within a virtual three-dimensional space easy to be displayed on a screen in a way that allows easy viewing. <P>SOLUTION: The image processor comprises a first virtual camera and a second virtual camera positioned in a virtual three-dimensional space, the virtual second camera including in its viewing range an area around the first clipping area of the first virtual camera. A particular object existing in the viewing range of the second virtual camera is drawn on, e.g., the same screen where it is drawn according to the first virtual camera. Specifically, after the coordinates of the particular object are reduced to within the viewing range of the first virtual camera according to the second virtual camera to correct the position of the particular object, the first clipping area of the first virtual camera is drawn according to the first virtual camera. Alternatively, the particular object is expanded and then drawn according to the second virtual camera, and an image of the object drawn using the second virtual camera and an image drawn according to the first virtual camera are synthesized into one image. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は、画像処理プログラムおよび画像処理装置に関し、特にたとえば、仮想3次元空間に配置された仮想的な物体を仮想カメラで撮影した画像を表示手段に表示する、画像処理プログラムおよび画像処理装置に関する。   The present invention relates to an image processing program and an image processing apparatus, and more particularly, to an image processing program and an image processing apparatus that display on a display means an image obtained by photographing a virtual object arranged in a virtual three-dimensional space with a virtual camera. .

従来、仮想3次元空間を示す画像は1つの視点(仮想カメラ)から見た情報に基づいて生成されていた。たとえばプレイヤキャラクタが仮想3次元空間に登場するゲームにおいては、基本的にはプレイヤキャラクタが常に画面に表示されるように仮想カメラが設定される。この場合、仮想3次元空間内の他の物体(たとえばライバルキャラクタないし敵キャラクタ等)は、プレイヤキャラクタをとらえる視野内に存在するときに、画面に表示されることとなる。   Conventionally, an image showing a virtual three-dimensional space has been generated based on information viewed from one viewpoint (virtual camera). For example, in a game in which a player character appears in a virtual three-dimensional space, basically, the virtual camera is set so that the player character is always displayed on the screen. In this case, another object (for example, a rival character or an enemy character) in the virtual three-dimensional space is displayed on the screen when it exists in the field of view that captures the player character.

また、プレイヤキャラクタと敵キャラクタとが仮想3次元空間内に存在するゲームにおいて、プレイヤキャラクタと敵キャラクタとを同時に表示しようとする技術が存在している。たとえば、特許文献1には、シューティングゲームにおいてプレイヤキャラクタの位置から予め定めた距離範囲内に敵キャラクタが存在する場合には、敵キャラクタを追尾し、かつ、プレイヤキャラクタが視界に存在するように仮想カメラを設定し、その仮想カメラから見た視界画像を生成する技術が開示されている。この特許文献1の技術では、プレイヤキャラクタと敵キャラクタとが予め定めた距離内にいる場合には敵キャラクタが常に視界に入るようにして、プレイヤが敵キャラクタを見失うことを防止し、プレイヤがシューティング操作を楽しめるようにしている。
特開2001−149643号公報
In addition, in a game in which a player character and an enemy character exist in a virtual three-dimensional space, there is a technique for simultaneously displaying the player character and the enemy character. For example, in Patent Document 1, when an enemy character exists within a predetermined distance range from the position of the player character in the shooting game, the enemy character is tracked and the player character is present in the field of view. A technique for setting a camera and generating a view field image viewed from the virtual camera is disclosed. In the technique of Patent Document 1, when the player character and the enemy character are within a predetermined distance, the enemy character is always in the field of view to prevent the player from losing sight of the enemy character. You can enjoy the operation.
JP 2001-149643 A

上述のようなプレイヤキャラクタのみに注目した仮想カメラの場合には、たとえば視野の端の方に見えている敵キャラクタ等の物体が仮想カメラの存在する側に移動すると、その物体はすぐに視野外に出てしまって、急速に画面外に移動しているように見えることとなる。逆に、仮想カメラの近くの視野外に存在している物体が仮想カメラの存在する側と反対方向に移動すると、その物体は視野内に入り、画面外から唐突に現れるように見えることとなる。つまり、物体が急激に移動したような現象が生じ、プレイヤにとって見難い画像となってしまう。   In the case of a virtual camera that focuses only on the player character as described above, for example, when an object such as an enemy character that is visible toward the edge of the field of view moves to the side where the virtual camera exists, the object is immediately out of the field of view. Appears to move rapidly off the screen. Conversely, if an object outside the field of view near the virtual camera moves in the opposite direction to the side where the virtual camera is located, the object will appear in the field of view and appear suddenly from outside the screen. . That is, a phenomenon in which the object has moved suddenly occurs, resulting in an image that is difficult for the player to see.

また、物体は仮想カメラから遠い位置に存在する場合には視野内に入り易いが、仮想カメラに近付くと視野に入り難くなってしまう。このように、プレイヤキャラクタのみに注目した場合には、プレイヤキャラクタ以外の物体が目に触れ難くなってしまい、他の物体等を含めた3次元空間内の状況を把握し難いという問題もある。たとえばプレイヤキャラクタとライバルキャラクタとが空間内を移動しながら競走するようなゲームでは、プレイヤキャラクタばかりが表示されると、緊張感やスリルが得難くなり、ゲームの楽しさを減らす要因となってしまう。   In addition, when an object is located at a position far from the virtual camera, the object easily enters the field of view, but when the object approaches the virtual camera, it becomes difficult to enter the field of view. As described above, when attention is paid only to the player character, it is difficult for an object other than the player character to touch the eyes, and it is difficult to grasp the situation in the three-dimensional space including other objects. For example, in a game in which a player character and a rival character race while moving in space, if only the player character is displayed, it becomes difficult to obtain a sense of tension and thrill, which may reduce the fun of the game. .

一方、特許文献1のような技術では、常にプレイヤキャラクタと敵キャラクタの両方を視界にとらえるために、両者が離れている場合や複数の敵キャラクタが登場するような場合等には、仮想カメラがキャラクタから遠く離れた位置に設定されてしまう。したがって、キャラクタを離れた視点から見ることとなるので、プレイヤキャラクタと敵キャラクタの両方を表示することはできても、画面上ではキャラクタが小さくなり過ぎて見難くなってしまうという問題がある。   On the other hand, in the technique such as Patent Document 1, in order to always capture both the player character and the enemy character in the field of view, the virtual camera is used when the two are separated or when a plurality of enemy characters appear. It will be set far away from the character. Therefore, since the character is viewed from a distant viewpoint, there is a problem that even if both the player character and the enemy character can be displayed, the character becomes too small to be seen on the screen.

それゆえに、この発明の主たる目的は、新規な、画像処理プログラムおよび画像処理装置を提供することである。   Therefore, a main object of the present invention is to provide a novel image processing program and image processing apparatus.

この発明の他の目的は、仮想3次元空間内の物体を画面に表示され易くすることができる、画像処理プログラムおよび画像処理装置を提供することである。   Another object of the present invention is to provide an image processing program and an image processing apparatus capable of easily displaying an object in a virtual three-dimensional space on a screen.

この発明のその他の目的は、仮想3次元空間内の物体を画面に表示され易くすることができ、しかも見易く表示することができる、画像処理プログラムおよび画像処理装置を提供することである。   Another object of the present invention is to provide an image processing program and an image processing apparatus capable of easily displaying an object in a virtual three-dimensional space on a screen and displaying it easily.

第1の発明は、少なくとも仮想3次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、仮想3次元空間を描画した画像を表示手段に表示する画像処理装置の画像処理プログラムである。この画像処理プログラムは、画像処理装置のプロセサに、注視点設定ステップ、第1仮想カメラ設定ステップ、第2仮想カメラ設定ステップ、画面生成ステップ、および表示制御ステップを実行させる。注視点設定ステップは、仮想3次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第1仮想カメラ設定ステップは、記憶手段の少なくとも注視点データに基づいて仮想3次元空間に第1仮想カメラを設定して、第1仮想カメラの少なくとも位置を含む第1仮想カメラデータを記憶手段に記憶する。第2仮想カメラ設定ステップは、記憶手段の少なくとも第1仮想カメラデータに基づいて、第1仮想カメラの第1クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第2仮想カメラを設定し、第2仮想カメラの少なくとも位置を含む第2仮想カメラデータを記憶手段に記憶する。画面生成ステップは、記憶手段の少なくとも物体に関するデータと第1仮想カメラデータと第2仮想カメラデータに基づいて、第1仮想カメラで第1クリッピングエリアを描画する画面に合わせて、第2仮想カメラで撮影可能な領域に存在する物体を描画して、当該画面を示す画像データを生成する。表示制御ステップは、生成された画面を示す画像データに基づいて画面を表示手段に表示する。   According to a first aspect of the present invention, there is provided an image processing program for an image processing apparatus, comprising a storage unit that stores at least data relating to a virtual object arranged in a virtual three-dimensional space, and displaying an image drawn in the virtual three-dimensional space on a display unit. It is. The image processing program causes a processor of the image processing apparatus to execute a gaze point setting step, a first virtual camera setting step, a second virtual camera setting step, a screen generation step, and a display control step. The gaze point setting step sets a gaze point in the virtual three-dimensional space, and stores gaze point data indicating the position of the gaze point in the storage unit. The first virtual camera setting step sets the first virtual camera in the virtual three-dimensional space based on at least the gazing point data of the storage means, and stores the first virtual camera data including at least the position of the first virtual camera in the storage means. Remember. The second virtual camera setting step sets a second virtual camera capable of photographing at least a part of the area around the first clipping area of the first virtual camera based on at least the first virtual camera data in the storage means, Second virtual camera data including at least the position of the second virtual camera is stored in the storage means. The screen generation step is performed by the second virtual camera based on at least the object-related data, the first virtual camera data, and the second virtual camera data in the storage unit, in accordance with the screen for drawing the first clipping area by the first virtual camera. An object present in the imageable area is drawn to generate image data indicating the screen. The display control step displays the screen on the display unit based on the image data indicating the generated screen.

第1の発明では、画像処理プログラムは、画像処理装置(10:実施例で相当する参照符号。以下同じ。)のプログラムである。画像処理装置のプロセサ(42)はこの画像処理プログラムに従って処理を実行し、仮想3次元空間を描画した画像を表示手段(12、14)に表示する。画像処理装置の記憶手段(48、28a)は、少なくとも仮想3次元空間に配置される仮想的な物体(92)に関するデータを記憶する。たとえばプレイヤキャラクタ、ライバルキャラクタ、背景オブジェクトのような物体のオブジェクトデータ、テクスチャデータ等が記憶される。注視点設定ステップ(S3)は注視点を仮想3次元空間に設定して、注視点データを記憶手段(84)に記憶する。第1仮想カメラ設定ステップ(S3)は、たとえば、少なくとも注視点データに基づいて、注視点を向く所定の視野角(2θ1)の第1仮想カメラを仮想3次元空間に設定して、第1仮想カメラの少なくとも位置データを含む第1仮想カメラデータを記憶手段(80)に記憶する。第2仮想カメラ設定ステップ(S7)は、少なくとも第1仮想カメラデータに基づいて第2仮想カメラを仮想3次元空間に設定して、第2仮想カメラの少なくとも位置データを含む第2仮想カメラデータを記憶手段(82)に記憶する。この第2仮想カメラは、たとえば注視点を向く所定の視野角(2θ2)を有していて、第1仮想カメラの第1クリッピングエリアの周囲の領域の少なくとも一部を撮影可能に設定される。つまり、第2仮想カメラは第1仮想カメラの視野範囲外の領域を撮影可能なようにして仮想3次元空間に配置されている。画面生成ステップ(S9−S21、S101−S113)は、少なくとも物体に関するデータと第1仮想カメラデータと第2仮想カメラデータに基づいて、第1仮想カメラで第1クリッピングエリアを描画する画面に合わせて、第2仮想カメラで撮影可能な領域に存在する物体を描画し、当該画面を示す画像データを生成して記憶手段(48、56,58)に記憶する。つまり、第1仮想カメラから第1クリッピングエリアを撮影した画面に、第1クリッピングエリアの周囲の領域に存在している物体が描画される。そして、表示制御ステップ(S23)は、生成された画像データに基づいて当該画面を表示手段に表示する。   In the first invention, the image processing program is a program of an image processing apparatus (10: reference numeral corresponding to the embodiment; the same applies hereinafter). The processor (42) of the image processing apparatus executes processing according to this image processing program, and displays an image in which the virtual three-dimensional space is drawn on the display means (12, 14). The storage means (48, 28a) of the image processing apparatus stores at least data relating to the virtual object (92) arranged in the virtual three-dimensional space. For example, object data of objects such as player characters, rival characters, and background objects, texture data, and the like are stored. In the gazing point setting step (S3), the gazing point is set in the virtual three-dimensional space, and the gazing point data is stored in the storage means (84). In the first virtual camera setting step (S3), for example, based on at least the gazing point data, the first virtual camera having a predetermined viewing angle (2θ1) facing the gazing point is set in the virtual three-dimensional space, and the first virtual camera is set. First virtual camera data including at least position data of the camera is stored in the storage means (80). In the second virtual camera setting step (S7), the second virtual camera is set in the virtual three-dimensional space based on at least the first virtual camera data, and the second virtual camera data including at least the position data of the second virtual camera is set. Store in the storage means (82). The second virtual camera has, for example, a predetermined viewing angle (2θ2) facing the gazing point, and is set so as to be capable of photographing at least a part of the area around the first clipping area of the first virtual camera. That is, the second virtual camera is arranged in the virtual three-dimensional space so that an area outside the visual field range of the first virtual camera can be photographed. The screen generation step (S9-S21, S101-S113) is adapted to the screen for drawing the first clipping area by the first virtual camera based on at least the data related to the object, the first virtual camera data, and the second virtual camera data. Then, an object existing in an area that can be photographed by the second virtual camera is drawn, image data indicating the screen is generated, and stored in the storage means (48, 56, 58). That is, an object present in the area around the first clipping area is drawn on the screen where the first clipping area is captured from the first virtual camera. And a display control step (S23) displays the said screen on a display means based on the produced | generated image data.

第1の発明によれば、第1仮想カメラの視野範囲外に存在する物体であっても、第2仮想カメラに基づいて、第1仮想カメラで撮影した画面に合わせて描画することができる。したがって、仮想3次元空間に存在する物体が画面に表示され易い。   According to the first invention, even an object that is outside the visual field range of the first virtual camera can be drawn in accordance with the screen shot by the first virtual camera based on the second virtual camera. Therefore, an object existing in the virtual three-dimensional space is easily displayed on the screen.

第2の発明は、第1の発明に従属し、画面生成ステップは、位置修正ステップ、および画像生成ステップを含む。位置修正ステップは、記憶手段の少なくとも物体に関するデータと第1仮想カメラデータと第2仮想カメラデータに基づいて、第2仮想カメラで撮影可能な領域に存在する物体の座標を第1仮想カメラで撮影可能な領域の座標に縮小する変換を行うことによって、当該物体の位置を修正する。画像生成ステップは、位置修正ステップの後、記憶手段のデータに基づいて、第1仮想カメラから見て第1クリッピングエリアを描画して、画面を示す画像データを生成する。   A second invention is dependent on the first invention, and the screen generation step includes a position correction step and an image generation step. In the position correcting step, the coordinates of the object existing in the area that can be imaged by the second virtual camera are imaged by the first virtual camera based on at least the data relating to the object in the storage means, the first virtual camera data, and the second virtual camera data. The position of the object is corrected by performing a transformation that reduces to the coordinates of the possible region. In the image generation step, after the position correction step, the first clipping area is drawn as viewed from the first virtual camera on the basis of the data in the storage means, and image data indicating the screen is generated.

第2の発明では、位置修正ステップ(S11)は、第2仮想カメラで撮影可能な領域、すなわち、第2仮想カメラの視野範囲内に存在する物体の座標を縮小変換する。たとえば、縮小率は、実施例では、第1仮想カメラの視野角、第2仮想カメラの視野角、物体の第1仮想カメラ座標系でのZ座標、および第1仮想カメラの後方クリッピング平面からの距離に基づいて算出される。この縮小変換によって、第2仮想カメラで撮影可能な領域の物体の座標が第1仮想カメラで撮影可能な領域の座標に縮小される。画像生成ステップ(S15−S21)は、位置修正の後、第1仮想カメラから見て第1クリッピングエリアを画面に描画する。したがって、第1仮想カメラの視野範囲外に存在する物体であっても、位置修正によって第1仮想カメラの視野範囲内に取り込むことが可能になるので、物体を画面に表示し易くすることができる。また、実施例のように第1仮想カメラ座標系での物体のX座標とY座標だけを縮小変換する場合には、第1仮想カメラに基づいて画面を描画することで、物体の見た目の大きさの整合性をとることが可能であり、したがって、物体を見易く表示することができる。   In the second invention, in the position correcting step (S11), the area that can be photographed by the second virtual camera, that is, the coordinates of the object existing in the visual field range of the second virtual camera is reduced and converted. For example, the reduction ratio is determined from the first virtual camera viewing angle, the second virtual camera viewing angle, the Z coordinate of the object in the first virtual camera coordinate system, and the rear clipping plane of the first virtual camera in the embodiment. Calculated based on distance. By this reduction conversion, the coordinates of the object in the area that can be photographed by the second virtual camera are reduced to the coordinates of the area that can be photographed by the first virtual camera. In the image generation step (S15-S21), after the position correction, the first clipping area is drawn on the screen as viewed from the first virtual camera. Therefore, even if the object exists outside the visual field range of the first virtual camera, it becomes possible to capture the object within the visual field range of the first virtual camera by correcting the position, so that the object can be easily displayed on the screen. . Further, when only the X and Y coordinates of the object in the first virtual camera coordinate system are reduced and converted as in the embodiment, the screen size is drawn based on the first virtual camera, so that the size of the object appears. Therefore, the object can be displayed in an easy-to-see manner.

第3の発明は、第2の発明に従属し、位置修正ステップは、物体が第1仮想カメラに近づくにつれて縮小率の値が大きくなるような変換によって、物体の位置を修正する。   The third invention is dependent on the second invention, and the position correction step corrects the position of the object by conversion such that the value of the reduction ratio increases as the object approaches the first virtual camera.

第3の発明では、物体の位置は、物体が第1仮想カメラに近づくにつれて縮小率(f(z))の値が大きくなるような縮小変換によって修正される。これによって、物体が第1仮想カメラに近付くにつれて、物体の座標があまり縮小されないようにしていくことができ、修正後の物体の位置を第1仮想カメラから見た実際の位置に徐々に近づけていくことができる。したがって、物体を見易く表示することができる。たとえば物体が第1仮想カメラの周辺に向けて移動しているような場合には、当該物体が第1仮想カメラの周辺に向かっているにもかかわらず第1仮想カメラにぶつかってくるように見えてしまう現象を抑制することができる。   In the third invention, the position of the object is corrected by reduction conversion such that the value of the reduction ratio (f (z)) increases as the object approaches the first virtual camera. As a result, as the object approaches the first virtual camera, the coordinates of the object can be prevented from being reduced so much that the position of the corrected object is gradually brought closer to the actual position viewed from the first virtual camera. I can go. Therefore, the object can be displayed in an easy-to-see manner. For example, when an object is moving toward the periphery of the first virtual camera, the object appears to hit the first virtual camera even though the object is moving toward the periphery of the first virtual camera. Can be suppressed.

第4の発明は、第1の発明に従属し、画面生成ステップは、第1描画ステップ、第2描画ステップ、および画像生成ステップを含む。第1描画ステップは、記憶手段の少なくとも第1仮想カメラデータに基づいて、第1仮想カメラから見て第1クリッピングエリアを示す画像を描画する。第2描画ステップは、記憶手段の少なくとも第1仮想カメラデータと第2仮想カメラデータに基づいて算出される拡大率に基づいて第2仮想カメラの第2クリッピングエリアに存在する物体の大きさを拡大し、記憶手段の少なくとも第2仮想カメラデータと物体に関するデータに基づいて第2仮想カメラから見て第2クリッピングエリアを示す画像を描画する。画像生成ステップは、第1描画ステップで描画された画像に第2描画ステップで描画された画像を合成して、画面を示す画像データを生成する。   A fourth invention is dependent on the first invention, and the screen generation step includes a first drawing step, a second drawing step, and an image generation step. The first drawing step draws an image showing the first clipping area as viewed from the first virtual camera based on at least the first virtual camera data in the storage means. The second drawing step enlarges the size of the object existing in the second clipping area of the second virtual camera based on the enlargement ratio calculated based on at least the first virtual camera data and the second virtual camera data in the storage means. Then, based on at least the second virtual camera data and the data related to the object in the storage means, an image showing the second clipping area as viewed from the second virtual camera is drawn. In the image generation step, the image drawn in the second drawing step is combined with the image drawn in the first drawing step to generate image data indicating the screen.

第4の発明では、第1描画ステップ(S101、S103、S17、S19)は、第1仮想カメラで撮影して第1クリッピングエリアを示す画像を描画する。第2描画ステップ(S107、S109、S113、S21)は、たとえば後方クリッピング平面からの第1仮想カメラの距離と第2仮想カメラの距離との比によって与えられる拡大率に基づいて、第2仮想カメラの第2クリッピングエリアに存在する物体の大きさを拡大した後、第2仮想カメラで撮影して第2クリッピングエリアを示す画像を描画する。そして、画像生成ステップ(S21)は、第1描画ステップで描画された画像に第2描画ステップで描画された画像を合成することによって画面の画像データを生成する。したがって、第1仮想カメラの視野範囲外に存在する物体であっても、第2仮想カメラに基づいて描画して、第1仮想カメラで描画した画面に合わせて描画することができる。したがって、仮想3次元空間に存在する物体を画面に表示され易くすることができる。しかも、物体の大きさを拡大してから第2仮想カメラに基づいて当該物体を描画するので、物体の見た目の大きさの整合性をとることができる。したがって、物体を見易く表示できる。   In the fourth invention, in the first drawing step (S101, S103, S17, S19), an image showing the first clipping area is drawn by photographing with the first virtual camera. The second drawing step (S107, S109, S113, S21) is performed based on the enlargement ratio given by the ratio of the distance of the first virtual camera from the rear clipping plane and the distance of the second virtual camera, for example. After enlarging the size of the object existing in the second clipping area, the second virtual camera captures an image showing the second clipping area. The image generation step (S21) generates screen image data by combining the image drawn in the second drawing step with the image drawn in the first drawing step. Therefore, even an object that exists outside the visual field range of the first virtual camera can be drawn based on the second virtual camera and drawn according to the screen drawn by the first virtual camera. Therefore, an object existing in the virtual three-dimensional space can be easily displayed on the screen. In addition, since the object is drawn on the basis of the second virtual camera after the size of the object is enlarged, it is possible to match the appearance size of the object. Therefore, the object can be displayed in an easy-to-see manner.

第5の発明は、第1の発明に従属し、記憶手段は、少なくとも物体として第1物体および第2物体に関するデータを記憶している。注視点設定ステップは、記憶手段に記憶される第1物体の位置に関するデータに基づいて、注視点を設定する。画面生成ステップは、記憶手段の第1仮想カメラデータと第2仮想カメラデータと物体に関するデータに基づいて、第1クリッピングエリアに存在する第1物体を第1仮想カメラで描画する画面に合わせて、第2仮想カメラで撮影可能な領域に存在する第2物体を描画して、当該画面を示す画像データを生成する。   A fifth invention is dependent on the first invention, and the storage means stores at least data relating to the first object and the second object as objects. The gazing point setting step sets the gazing point based on data relating to the position of the first object stored in the storage unit. The screen generation step is based on the first virtual camera data, the second virtual camera data, and the data related to the object in the storage unit, in accordance with a screen for drawing the first object existing in the first clipping area with the first virtual camera, A second object existing in an area that can be photographed by the second virtual camera is drawn, and image data indicating the screen is generated.

第5の発明では、記憶手段(74、76)は、少なくとも第1物体(90)および第2物体(92)に関するデータを記憶する。実施例では、第1物体はプレイヤキャラクタであり、第2物体はライバルキャラクタである。注視点設定ステップは、第1物体の位置に関するデータ(78)に基づいて注視点を設定する。画面生成ステップは、第1仮想カメラの第1クリッピングエリアに存在する第1物体を第1仮想カメラで描画する画面に合わせて、第2仮想カメラで撮影可能な領域に存在する第2物体を描画する。したがって、第1物体が表示される画面に、第1仮想カメラの視野範囲外に存在する第2物体を表示され易くすることができる。   In the fifth invention, the storage means (74, 76) stores at least data relating to the first object (90) and the second object (92). In the embodiment, the first object is a player character, and the second object is a rival character. The gazing point setting step sets the gazing point based on the data (78) regarding the position of the first object. The screen generation step draws the second object present in the area that can be photographed by the second virtual camera in accordance with the screen on which the first virtual camera presents the first object present in the first clipping area of the first virtual camera. To do. Therefore, the second object existing outside the visual field range of the first virtual camera can be easily displayed on the screen on which the first object is displayed.

第6の発明は、少なくとも仮想3次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、仮想3次元空間を描画した画像を表示手段に表示する画像処理装置である。この画像処理装置は、注視点設定手段、第1仮想カメラ設定手段、第2仮想カメラ設定手段、画面生成手段、および表示制御手段を備える。注視点設定手段は、仮想3次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第1仮想カメラ設定手段は、記憶手段の少なくとも注視点データに基づいて仮想3次元空間に第1仮想カメラを設定して、第1仮想カメラの少なくとも位置を含む第1仮想カメラデータを記憶手段に記憶する。第2仮想カメラ設定手段は、記憶手段の少なくとも第1仮想カメラデータに基づいて、第1仮想カメラの第1クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第2仮想カメラを設定し、第2仮想カメラの少なくとも位置を含む第2仮想カメラデータを記憶領域に記憶する。画面生成手段は、記憶手段の少なくとも物体に関するデータと第1仮想カメラデータと第2仮想カメラデータに基づいて、第1仮想カメラで第1クリッピングエリアを描画する画面に合わせて、第2仮想カメラで撮影可能な領域に存在する物体を描画して、当該画面を示す画像データを生成する。表示制御手段は、生成された画面を示す画像データに基づいて画面を表示手段に表示する。   A sixth aspect of the invention is an image processing apparatus that includes a storage unit that stores at least data related to a virtual object arranged in the virtual three-dimensional space, and displays an image in which the virtual three-dimensional space is drawn on the display unit. The image processing apparatus includes a gazing point setting unit, a first virtual camera setting unit, a second virtual camera setting unit, a screen generation unit, and a display control unit. The gazing point setting unit sets the gazing point in the virtual three-dimensional space, and stores gazing point data indicating the position of the gazing point in the storage unit. The first virtual camera setting means sets the first virtual camera in the virtual three-dimensional space based on at least the gazing point data of the storage means, and stores the first virtual camera data including at least the position of the first virtual camera in the storage means. Remember. The second virtual camera setting means sets a second virtual camera capable of photographing at least a part of the area around the first clipping area of the first virtual camera based on at least the first virtual camera data in the storage means, Second virtual camera data including at least the position of the second virtual camera is stored in the storage area. The screen generation means uses the second virtual camera based on at least the object data in the storage means, the first virtual camera data, and the second virtual camera data to match the screen on which the first clipping area is drawn by the first virtual camera. An object present in the imageable area is drawn to generate image data indicating the screen. The display control means displays the screen on the display means based on the image data indicating the generated screen.

第6の発明は、第1の発明の画像処理プログラムに対応する画像処理装置である。第6の発明でも、第1の発明と同様にして、物体を画面に表示され易くすることができる。   The sixth invention is an image processing apparatus corresponding to the image processing program of the first invention. In the sixth invention as well, the object can be easily displayed on the screen as in the first invention.

第7の発明は、少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムである。この画像処理プログラムは、画像処理装置のプロセサに、注視点設定ステップ、第1仮想カメラ設定ステップ、第1クリッピングエリア設定ステップ、第2仮想カメラ設定ステップ、第1仮想カメラ座標変換ステップ、位置修正ステップ、画面生成ステップ、および表示制御ステップを実行させる。注視点設定ステップは、仮想3次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第1仮想カメラ設定ステップは、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第1クリッピングエリア設定ステップは、記憶手段に記憶される少なくともクリッピングエリア設定用データと第1仮想カメラの位置を示すデータを参照して、第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第2仮想カメラ設定ステップは、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第1仮想カメラと同じ側で第1仮想カメラよりも離れた位置に存在しかつ注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第1仮想カメラ座標変換ステップは、記憶手段に記憶される少なくとも第1仮想カメラの位置を示すデータと物体に関するデータを参照して、物体を第1仮想カメラ座標系での座標に変換することによって、当該物体の第1仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。位置修正ステップは、記憶手段に記憶される仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第2仮想カメラの位置を示すデータと物体の第1仮想カメラ座標系での座標を示すデータを参照して、第1クリッピングエリア外でありかつ第2仮想カメラで撮影可能な領域に存在する物体の座標を、第1クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して記憶手段に記憶する。画面生成ステップは、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと修正位置データと参照して、第1クリッピングエリアに存在する物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して記憶手段の描画バッファに記憶する。表示制御ステップは、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。   The seventh invention comprises storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data, and the object is a virtual camera. An image processing program of an image processing apparatus that displays a photographed image on a display unit. The image processing program includes a gaze point setting step, a first virtual camera setting step, a first clipping area setting step, a second virtual camera setting step, a first virtual camera coordinate conversion step, and a position correction step. The screen generation step and the display control step are executed. The gaze point setting step sets a gaze point in the virtual three-dimensional space, and stores gaze point data indicating the position of the gaze point in the storage unit. The first virtual camera setting step generates data indicating at least the position of the first virtual camera facing the gazing point with reference to the virtual camera placement data and the gazing point data stored in the storage unit and stores the data in the storage unit To do. The first clipping area setting step refers to at least the clipping area setting data stored in the storage means and data indicating the position of the first virtual camera, and defines a front clipping plane that defines the first clipping area of the first virtual camera. Then, data indicating the rear clipping plane is generated and stored in the storage means. The second virtual camera setting step refers to at least the virtual camera placement data stored in the storage means, and is present at a position farther from the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane. In addition, data indicating at least the position of the second virtual camera facing the gazing point is generated and stored in the storage means. The first virtual camera coordinate conversion step refers to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, and converts the object into coordinates in the first virtual camera coordinate system. Then, data indicating the coordinates of the object in the first virtual camera coordinate system is generated and stored in the storage means. The position correction step indicates the virtual camera placement data stored in the storage means, the data indicating the position of the first virtual camera, the data indicating the position of the second virtual camera, and the coordinates of the object in the first virtual camera coordinate system. By referring to the data, the coordinates of the object outside the first clipping area and in the area that can be photographed by the second virtual camera are reduced and converted to the coordinates in the first clipping area, thereby correcting the object. The corrected position data indicating the coordinates is generated and stored in the storage means. The screen generation step projects an object existing in the first clipping area with reference to at least data relating to the object stored in the storage means, virtual camera placement data, data indicating the position of the first virtual camera, and correction position data. By converting to a coordinate in the plane coordinate system and drawing, screen image data is generated and stored in the drawing buffer of the storage means. The display control step refers to the image data of the screen stored in the drawing buffer of the storage means and displays the screen on the display means.

第7の発明は、第2の発明に対応する画像処理プログラムであり、より具体的に記述される。第7の発明では、記憶手段(48、28a)には、さらに仮想カメラ配置用データ(たとえば視野角データ)、クリッピングエリア設定用データ(後方クリッピング平面を示すデータ、前方クリッピング平面を示すデータ)等が記憶される。第1仮想カメラ設定ステップ(S3)は、仮想カメラ配置用データと注視点データを参照して、たとえば、注視点を向く所定の視野角の第1仮想カメラを設定し、第1仮想カメラの少なくとも位置を示すデータを生成して記憶手段(80)に記憶する。第1クリッピングエリア設定ステップ(S5)は、少なくともクリッピングエリア設定用データと第1仮想カメラの位置を示すデータを参照して、第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第2仮想カメラ設定ステップ(S7)は、少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第1仮想カメラと同じ側で第1仮想カメラよりも離れた位置に存在しかつ所定の視野角で注視点を向くような第2仮想カメラを設定し、第2仮想カメラの少なくとも位置を示すデータを生成して記憶手段(82)に記憶する。第1仮想カメラ座標変換ステップ(S9)は、少なくとも第1仮想カメラの位置を示すデータと物体に関するデータを参照して、座標変換によって、当該物体の第1仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。位置修正ステップ(S11)は、仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第2仮想カメラの位置を示すデータと物体の第1仮想カメラ座標系での座標を示すデータを参照して、第1クリッピングエリア外でありかつ第2仮想カメラで撮影可能な領域に存在する物体の座標を、第1クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して記憶手段に記憶する。画面生成ステップ(S15−S21)は、少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと修正位置データと参照して、第1クリッピングエリアに存在する物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して記憶手段(48、56、58)の描画バッファに記憶する。表示制御ステップ(S23)は、描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。   The seventh invention is an image processing program corresponding to the second invention, and is described more specifically. In the seventh invention, the storage means (48, 28a) further includes virtual camera arrangement data (for example, viewing angle data), clipping area setting data (data indicating the rear clipping plane, data indicating the front clipping plane), etc. Is memorized. The first virtual camera setting step (S3) refers to the virtual camera placement data and the gazing point data, sets, for example, a first virtual camera having a predetermined viewing angle facing the gazing point, and at least the first virtual camera. Data indicating the position is generated and stored in the storage means (80). The first clipping area setting step (S5) refers to at least the clipping area setting data and the data indicating the position of the first virtual camera, and stores data indicating the front clipping plane and the rear clipping plane that define the first clipping area. Generate and store in storage means. The second virtual camera setting step (S7) refers to at least the virtual camera placement data, is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane, and is predetermined. A second virtual camera that faces the gazing point at the viewing angle is set, and data indicating at least the position of the second virtual camera is generated and stored in the storage means (82). The first virtual camera coordinate conversion step (S9) refers to at least data indicating the position of the first virtual camera and data related to the object, and data indicating the coordinates of the object in the first virtual camera coordinate system by coordinate conversion. Is stored in the storage means. The position correction step (S11) refers to the virtual camera placement data, the data indicating the position of the first virtual camera, the data indicating the position of the second virtual camera, and the data indicating the coordinates of the object in the first virtual camera coordinate system. Then, the coordinates of the object outside the first clipping area and in the area that can be photographed by the second virtual camera are reduced and converted into the coordinates in the first clipping area, so that the corrected coordinates of the object are The corrected position data shown is generated and stored in the storage means. In the screen generation step (S15-S21), at least the data relating to the object, the virtual camera placement data, the data indicating the position of the first virtual camera, and the corrected position data are referred to, and the object present in the first clipping area is projected onto the projection plane. By converting to coordinates in the coordinate system and drawing, image data of the screen is generated and stored in the drawing buffer of the storage means (48, 56, 58). The display control step (S23) refers to the image data of the screen stored in the drawing buffer and displays the screen on the display means.

第7の発明によれば、上述の第2の発明と同様に、物体が画面に表示され易い。また、物体を見易く表示することも可能である。   According to the seventh aspect, similarly to the second aspect, the object is easily displayed on the screen. It is also possible to display the object in an easy-to-see manner.

第8の発明は、少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムである。この画像処理プログラムは、画像処理装置のプロセサに、注視点設定ステップ、第1仮想カメラ設定ステップ、第1クリッピングエリア設定ステップ、第2仮想カメラ設定ステップ、第2クリッピングエリア設定ステップ、第1仮想カメラ座標変換ステップ、第1画像生成ステップ、第2仮想カメラ座標変換ステップ、第2画像生成ステップ、および表示制御ステップを実行させる。注視点設定ステップは、仮想3次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第1仮想カメラ設定ステップは、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第1クリッピングエリア設定ステップは、記憶手段に記憶される少なくともクリッピングエリア設定用データと第1仮想カメラの位置を示すデータを参照して、第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第2仮想カメラ設定ステップは、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第1仮想カメラと同じ側で第1仮想カメラよりも離れた位置に存在しかつ注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第2クリッピングエリア設定ステップは、記憶手段に記憶される少なくともクリッピングエリア設定用データと第2仮想カメラの位置を示すデータを参照して、第2仮想カメラの第2クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第1仮想カメラ座標変換ステップは、記憶手段に記憶される少なくとも第1仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第1物体を第1仮想カメラ座標系での座標に変換することによって、当該第1物体の第1仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第1画像生成ステップは、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第1物体の第1仮想カメラ座標系での座標を示すデータを参照して、第1クリッピングエリアに存在する第1物体を投影平面座標系での座標に変換して描画することによって、画面における当該第1物体を示す画像データを生成して記憶手段の描画バッファに記憶する。第2仮想カメラ座標変換ステップは、記憶手段に記憶される少なくとも第2仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第2物体を第2仮想カメラ座標系での座標に変換することによって、当該第2物体の第2仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第2画像生成ステップは、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第2仮想カメラの位置を示すデータと第2物体の第2仮想カメラ座標系での座標を示すデータを参照して、第2クリッピングエリアに存在する第2物体を拡大した後、当該第2物体を投影平面座標系での座標に変換して描画することによって、画面における当該第2物体を示す画像データを生成して記憶手段の描画バッファに記憶する。表示制御ステップは、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。   The eighth invention comprises storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data, and the object is a virtual camera. An image processing program of an image processing apparatus that displays a captured image on a display unit. The image processing program includes a gaze point setting step, a first virtual camera setting step, a first clipping area setting step, a second virtual camera setting step, a second clipping area setting step, and a first virtual camera. A coordinate conversion step, a first image generation step, a second virtual camera coordinate conversion step, a second image generation step, and a display control step are executed. The gaze point setting step sets a gaze point in the virtual three-dimensional space, and stores gaze point data indicating the position of the gaze point in the storage unit. The first virtual camera setting step generates data indicating at least the position of the first virtual camera facing the gazing point with reference to the virtual camera placement data and the gazing point data stored in the storage unit and stores the data in the storage unit To do. The first clipping area setting step refers to at least the clipping area setting data stored in the storage means and data indicating the position of the first virtual camera, and defines a front clipping plane that defines the first clipping area of the first virtual camera. Then, data indicating the rear clipping plane is generated and stored in the storage means. The second virtual camera setting step refers to at least the virtual camera placement data stored in the storage means, and is present at a position farther from the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane. In addition, data indicating at least the position of the second virtual camera facing the gazing point is generated and stored in the storage means. The second clipping area setting step refers to at least the clipping area setting data stored in the storage means and the data indicating the position of the second virtual camera, and defines a front clipping plane that defines the second clipping area of the second virtual camera. Then, data indicating the rear clipping plane is generated and stored in the storage means. The first virtual camera coordinate conversion step refers to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, and coordinates the first object as the object in the first virtual camera coordinate system. By converting to, data indicating the coordinates of the first object in the first virtual camera coordinate system is generated and stored in the storage means. The first image generation step includes at least data relating to the object, data indicating virtual camera arrangement, data indicating the position of the first virtual camera, and data indicating the coordinates of the first object in the first virtual camera coordinate system stored in the storage unit. Referring to FIG. 4, the first object existing in the first clipping area is converted into the coordinates in the projection plane coordinate system and rendered, thereby generating image data indicating the first object on the screen and rendering the storage means. Store in buffer. The second virtual camera coordinate conversion step refers to at least the data indicating the position of the second virtual camera stored in the storage means and the data related to the object, and coordinates the second object as the object in the second virtual camera coordinate system. Is converted into (2), data indicating the coordinates of the second object in the second virtual camera coordinate system is generated and stored in the storage means. The second image generation step includes at least data related to the object stored in the storage means, virtual camera placement data, data indicating the position of the first virtual camera, data indicating the position of the second virtual camera, and second data of the second object. By referring to data indicating coordinates in the virtual camera coordinate system and enlarging the second object existing in the second clipping area, the second object is converted into coordinates in the projection plane coordinate system and drawn. Then, image data indicating the second object on the screen is generated and stored in the drawing buffer of the storage means. The display control step refers to the image data of the screen stored in the drawing buffer of the storage means and displays the screen on the display means.

第8の発明は、第4の発明に対応する画像処理プログラムであり、より具体的に記述される。第8の発明では、記憶手段(48、28a)には、さらに仮想カメラ配置用データ(たとえば視野角データ)と、クリッピングエリア設定用データ(後方クリッピング平面を示すデータ、前方クリッピング平面を示すデータ)等が記憶される。第1仮想カメラ設定ステップ(S3)は、仮想カメラ配置用データと注視点データを参照して、たとえば所定の視野角で注視点を向くような第1仮想カメラを設定して、第1仮想カメラの少なくとも位置を示すデータを生成して記憶手段(80)に記憶する。第1クリッピングエリア設定ステップ(S5)は、少なくともクリッピングエリア設定用データと第1仮想カメラの位置を示すデータを参照して、第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第2仮想カメラ設定ステップ(S7)は、少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第1仮想カメラと同じ側で第1仮想カメラよりも離れた位置に存在しかつ所定の視野角で注視点を向くような第2仮想カメラを設定し、第2仮想カメラの少なくとも位置を示すデータを生成して記憶手段(82)に記憶する。第2クリッピングエリア設定ステップ(S105)は、少なくともクリッピングエリア設定用データと第2仮想カメラの位置を示すデータを参照して、第2仮想カメラの第2クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段(82)に記憶する。第1仮想カメラ座標変換ステップ(S101)は、少なくとも第1仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第1物体(90)を座標変換することによって、当該第1物体の第1仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第1画像生成ステップ(S103、S17、S19)は、少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第1物体の第1仮想カメラ座標系での座標を示すデータを参照して、第1クリッピングエリアに存在する第1物体を投影平面座標系での座標に変換して描画することによって、画面における当該第1物体を示す画像データを生成して記憶手段(56、58、48)の描画バッファに記憶する。第2仮想カメラ座標変換ステップ(S107)は、少なくとも第2仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第2物体(92)を座標変換することによって、当該第2物体の第2仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第2画像生成ステップ(S109、S113、S21)は、少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第2仮想カメラの位置を示すデータと第2物体の第2仮想カメラ座標系での座標を示すデータを参照して、第2クリッピングエリアに存在する第2物体の大きさを拡大した後、当該第2物体を投影平面座標系での座標に変換して描画することによって、画面における当該第2物体を示す画像データを生成して記憶手段の描画バッファに記憶する。表示制御ステップ(S23)は、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。   The eighth invention is an image processing program corresponding to the fourth invention, and is described more specifically. In the eighth invention, the storage means (48, 28a) further includes virtual camera arrangement data (for example, viewing angle data) and clipping area setting data (data indicating the rear clipping plane, data indicating the front clipping plane). Etc. are memorized. The first virtual camera setting step (S3) refers to the virtual camera placement data and the gazing point data, sets a first virtual camera that faces the gazing point at a predetermined viewing angle, for example, and sets the first virtual camera. Is generated and stored in the storage means (80). The first clipping area setting step (S5) refers to at least the clipping area setting data and the data indicating the position of the first virtual camera, and refers to the front clipping plane and the rear clipping that define the first clipping area of the first virtual camera. Data indicating the plane is generated and stored in the storage means. The second virtual camera setting step (S7) refers to at least the virtual camera placement data, is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane, and is predetermined. A second virtual camera that faces the gazing point at the viewing angle is set, and data indicating at least the position of the second virtual camera is generated and stored in the storage means (82). The second clipping area setting step (S105) refers to at least the clipping area setting data and the data indicating the position of the second virtual camera, and refers to the front clipping plane and the rear clipping that define the second clipping area of the second virtual camera. Data indicating the plane is generated and stored in the storage means (82). The first virtual camera coordinate conversion step (S101) refers to at least the data indicating the position of the first virtual camera and the data related to the object, and converts the first object (90) as the object by performing coordinate conversion. Data indicating the coordinates of the object in the first virtual camera coordinate system is generated and stored in the storage means. The first image generation step (S103, S17, S19) indicates at least data relating to the object, virtual camera placement data, data indicating the position of the first virtual camera, and coordinates of the first object in the first virtual camera coordinate system. By referring to the data, the first object existing in the first clipping area is converted into coordinates in the projection plane coordinate system and rendered, thereby generating image data indicating the first object on the screen and storing means ( 56, 58, and 48). The second virtual camera coordinate conversion step (S107) refers to at least the data indicating the position of the second virtual camera and the data related to the object, and converts the second object (92) as the object by performing coordinate conversion. Data indicating the coordinates of the object in the second virtual camera coordinate system is generated and stored in the storage means. The second image generation step (S109, S113, S21) includes at least data relating to the object, virtual camera placement data, data indicating the position of the first virtual camera, data indicating the position of the second virtual camera, and second data of the second object. 2 Referring to the data indicating the coordinates in the virtual camera coordinate system, after enlarging the size of the second object existing in the second clipping area, the second object is converted into coordinates in the projection plane coordinate system. By drawing, image data indicating the second object on the screen is generated and stored in the drawing buffer of the storage means. The display control step (S23) refers to the image data of the screen stored in the drawing buffer of the storage means and displays the screen on the display means.

第8の発明によれば、上述の第4の発明と同様に、仮想3次元空間に存在する物体を画面に表示され易くすることができる。しかも、物体の見た目の大きさの整合性をとることができるので、物体を見易く表示できる。   According to the eighth aspect, similarly to the fourth aspect described above, an object existing in the virtual three-dimensional space can be easily displayed on the screen. In addition, since the consistency of the visual size of the object can be achieved, the object can be displayed in an easy-to-see manner.

第9の発明は、少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置である。この画像処理装置は、注視点設定手段、第1仮想カメラ設定手段、第1クリッピングエリア設定手段、第2仮想カメラ設定手段、第1仮想カメラ座標変換手段、位置修正手段、画面生成手段、および表示制御手段を備える。注視点設定手段は、仮想3次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第1仮想カメラ設定手段は、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第1クリッピングエリア設定手段は、記憶手段に記憶される少なくともクリッピングエリア設定用データと第1仮想カメラの位置を示すデータを参照して、第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第2仮想カメラ設定手段は、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第1仮想カメラと同じ側で第1仮想カメラよりも離れた位置に存在しかつ注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第1仮想カメラ座標変換手段は、記憶手段に記憶される少なくとも第1仮想カメラの位置を示すデータと物体に関するデータを参照して、物体を第1仮想カメラ座標系での座標に変換することによって、当該物体の第1仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。位置修正手段は、記憶手段に記憶される仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第2仮想カメラの位置を示すデータと物体の第1仮想カメラ座標系での座標を示すデータを参照して、第1クリッピングエリア外でありかつ第2仮想カメラで撮影可能な領域に存在する物体の座標を、第1クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して記憶手段に記憶する。画面生成手段は、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと修正位置データと参照して、第1クリッピングエリアに存在する物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して記憶手段の描画バッファに記憶する。表示制御手段は、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。   A ninth invention comprises storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data, and the object is a virtual camera. An image processing apparatus that displays a captured image on a display unit. The image processing apparatus includes a gaze point setting unit, a first virtual camera setting unit, a first clipping area setting unit, a second virtual camera setting unit, a first virtual camera coordinate conversion unit, a position correction unit, a screen generation unit, and a display. Control means are provided. The gazing point setting unit sets the gazing point in the virtual three-dimensional space, and stores gazing point data indicating the position of the gazing point in the storage unit. The first virtual camera setting means refers to the virtual camera placement data and the gazing point data stored in the storage means, generates data indicating at least the position of the first virtual camera facing the gazing point, and stores the data in the storage means. To do. The first clipping area setting means refers to at least clipping area setting data stored in the storage means and data indicating the position of the first virtual camera, and defines a front clipping plane that defines the first clipping area of the first virtual camera. Then, data indicating the rear clipping plane is generated and stored in the storage means. The second virtual camera setting means refers to at least the virtual camera placement data stored in the storage means, and is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane. In addition, data indicating at least the position of the second virtual camera facing the gazing point is generated and stored in the storage means. The first virtual camera coordinate conversion means refers to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, and converts the object into coordinates in the first virtual camera coordinate system. Then, data indicating the coordinates of the object in the first virtual camera coordinate system is generated and stored in the storage means. The position correcting means indicates virtual camera arrangement data stored in the storage means, data indicating the position of the first virtual camera, data indicating the position of the second virtual camera, and coordinates of the object in the first virtual camera coordinate system. By referring to the data, the coordinates of the object outside the first clipping area and in the area that can be photographed by the second virtual camera are reduced and converted to the coordinates in the first clipping area, thereby correcting the object. The corrected position data indicating the coordinates is generated and stored in the storage means. The screen generation means projects the object existing in the first clipping area with reference to at least the data relating to the object stored in the storage means, the virtual camera arrangement data, the data indicating the position of the first virtual camera, and the corrected position data. By converting to a coordinate in the plane coordinate system and drawing, screen image data is generated and stored in the drawing buffer of the storage means. The display control means refers to the image data of the screen stored in the drawing buffer of the storage means and displays the screen on the display means.

第9の発明は、上述の第7の発明の画像処理プログラムに対応する画像処理装置である。第9の発明でも、第7の発明と同様に、物体を画面に表示され易くすることができ、物体を見易く表示することも可能である。   A ninth invention is an image processing apparatus corresponding to the image processing program of the seventh invention described above. In the ninth invention as well, similar to the seventh invention, the object can be easily displayed on the screen, and the object can be displayed in an easily viewable manner.

第10の発明は、少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置である。この画像処理装置は、注視点設定手段、第1仮想カメラ設定手段、第1クリッピングエリア設定手段、第2仮想カメラ設定手段、第2クリッピングエリア設定手段、第1仮想カメラ座標変換手段、第1画像生成手段、第2仮想カメラ座標変換手段、第2画像生成手段、および表示制御手段を備える。注視点設定手段は、仮想3次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第1仮想カメラ設定手段は、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第1クリッピングエリア設定手段は、記憶手段に記憶される少なくともクリッピングエリア設定用データと第1仮想カメラの位置を示すデータを参照して、第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第2仮想カメラ設定手段は、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第1仮想カメラと同じ側で第1仮想カメラよりも離れた位置に存在しかつ注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第2クリッピングエリア設定手段は、記憶手段に記憶される少なくともクリッピングエリア設定用データと第2仮想カメラの位置を示すデータを参照して、第2仮想カメラの第2クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第1仮想カメラ座標変換手段は、記憶手段に記憶される少なくとも第1仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第1物体を第1仮想カメラ座標系での座標に変換することによって、当該第1物体の第1仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第1画像生成手段は、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第1物体の第1仮想カメラ座標系での座標を示すデータを参照して、第1クリッピングエリアに存在する第1物体を投影平面座標系での座標に変換して描画することによって、画面における当該第1物体を示す画像データを生成して記憶手段の描画バッファに記憶する。第2仮想カメラ座標変換手段は、記憶手段に記憶される少なくとも第2仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第2物体を第2仮想カメラ座標系での座標に変換することによって、当該第2物体の第2仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第2画像生成手段は、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第1仮想カメラの位置を示すデータと第2仮想カメラの位置を示すデータと第2物体の第2仮想カメラ座標系での座標を示すデータを参照して、第2クリッピングエリアに存在する第2物体を拡大した後、当該第2物体を投影平面座標系での座標に変換して描画することによって、画面における当該第2物体を示す画像データを生成して記憶手段の描画バッファに記憶する。表示制御手段は、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。   A tenth invention comprises storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data, and the object is a virtual camera. An image processing apparatus that displays a captured image on a display unit. The image processing apparatus includes a gaze point setting unit, a first virtual camera setting unit, a first clipping area setting unit, a second virtual camera setting unit, a second clipping area setting unit, a first virtual camera coordinate conversion unit, and a first image. A generation unit, a second virtual camera coordinate conversion unit, a second image generation unit, and a display control unit are provided. The gazing point setting unit sets the gazing point in the virtual three-dimensional space, and stores gazing point data indicating the position of the gazing point in the storage unit. The first virtual camera setting means refers to the virtual camera placement data and the gazing point data stored in the storage means, generates data indicating at least the position of the first virtual camera facing the gazing point, and stores the data in the storage means. To do. The first clipping area setting means refers to at least clipping area setting data stored in the storage means and data indicating the position of the first virtual camera, and defines a front clipping plane that defines the first clipping area of the first virtual camera. Then, data indicating the rear clipping plane is generated and stored in the storage means. The second virtual camera setting means refers to at least the virtual camera placement data stored in the storage means, and is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane. In addition, data indicating at least the position of the second virtual camera facing the gazing point is generated and stored in the storage means. The second clipping area setting means refers to at least clipping area setting data stored in the storage means and data indicating the position of the second virtual camera, and defines a front clipping plane that defines the second clipping area of the second virtual camera. Then, data indicating the rear clipping plane is generated and stored in the storage means. The first virtual camera coordinate conversion means refers to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, and coordinates the first object as an object in the first virtual camera coordinate system. By converting to, data indicating the coordinates of the first object in the first virtual camera coordinate system is generated and stored in the storage means. The first image generation means stores at least data relating to the object, data for virtual camera arrangement, data indicating the position of the first virtual camera, and data indicating the coordinates of the first object in the first virtual camera coordinate system stored in the storage means. Referring to FIG. 4, the first object existing in the first clipping area is converted into the coordinates in the projection plane coordinate system and rendered, thereby generating image data indicating the first object on the screen and rendering the storage means. Store in buffer. The second virtual camera coordinate conversion means refers to at least data indicating the position of the second virtual camera and data related to the object stored in the storage means, and coordinates the second object as the object in the second virtual camera coordinate system. By converting to, data indicating the coordinates of the second object in the second virtual camera coordinate system is generated and stored in the storage means. The second image generation means stores at least data relating to the object, data for virtual camera arrangement, data indicating the position of the first virtual camera, data indicating the position of the second virtual camera, and second data of the second object stored in the storage means. By referring to data indicating coordinates in the virtual camera coordinate system and enlarging the second object existing in the second clipping area, the second object is converted into coordinates in the projection plane coordinate system and drawn. Then, image data indicating the second object on the screen is generated and stored in the drawing buffer of the storage means. The display control means refers to the image data of the screen stored in the drawing buffer of the storage means and displays the screen on the display means.

第10の発明は、上述の第8の発明の画像処理プログラムに対応する画像処理装置である。第10の発明でも、第8の発明と同様に、物体を画面に表示され易くすることができる。しかも、物体を見易く表示できる。   A tenth invention is an image processing apparatus corresponding to the image processing program of the eighth invention described above. In the tenth invention, similarly to the eighth invention, the object can be easily displayed on the screen. Moreover, the object can be displayed in an easy-to-see manner.

この発明によれば、第1仮想カメラの第1クリッピングエリア外に存在する物体を、第2仮想カメラに基づいて、第1仮想カメラで描画する画面に合わせて描画することができる。したがって、仮想3次元空間に存在する物体を画面に表示され易くすることができる。   According to this invention, an object that exists outside the first clipping area of the first virtual camera can be drawn based on the second virtual camera in accordance with the screen drawn by the first virtual camera. Therefore, an object existing in the virtual three-dimensional space can be easily displayed on the screen.

たとえば、第1クリッピングエリアの周囲に存在する物体を第2仮想カメラに基づいて位置修正することによって第1仮想カメラの視野範囲内に取り込んで、第1クリッピングエリアを第1仮想カメラから見て描画するので、物体が画面に表示され易い。しかも、見た目の大きさの整合性をとることが可能なので、物体を見易く表示できる。   For example, an object existing around the first clipping area is corrected based on the position of the second virtual camera so that the object is captured within the field of view of the first virtual camera, and the first clipping area is viewed from the first virtual camera. Therefore, the object is easily displayed on the screen. In addition, since the visual size can be matched, the object can be displayed in an easy-to-see manner.

また、第1仮想カメラに基づいて描画した第1クリッピングエリアの画像と、第1クリッピングエリア外の物体を第2仮想カメラに基づいて描画した画像とを合成することによって画面を生成するので、物体を画面に表示され易くすることができる。しかも、第2クリッピングエリアの物体を拡大してから描画するので、見た目の大きさの整合性とることができ、画面において物体を見易く表示できる。   In addition, since the screen is generated by combining the image of the first clipping area drawn based on the first virtual camera and the image drawn based on the second virtual camera of the object outside the first clipping area, the object Can be easily displayed on the screen. In addition, since the object in the second clipping area is drawn after being enlarged, it is possible to obtain a consistent visual size and display the object in an easy-to-see manner on the screen.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.

図1を参照して、この発明の一実施例である画像処理装置10はコンピュータであり、一例としてゲーム装置10の形態で実現される。ゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。   Referring to FIG. 1, an image processing apparatus 10 according to an embodiment of the present invention is a computer, and is realized in the form of a game apparatus 10 as an example. The game apparatus 10 includes a first liquid crystal display (LCD) 12 and a second LCD 14. The LCD 12 and the LCD 14 are accommodated in the housing 16 so as to be in a predetermined arrangement position. In this embodiment, the housing 16 includes an upper housing 16a and a lower housing 16b. The LCD 12 is stored in the upper housing 16a, and the LCD 14 is stored in the lower housing 16b. Therefore, the LCD 12 and the LCD 14 are arranged close to each other so as to be arranged vertically (up and down).

なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。   In this embodiment, an LCD is used as the display, but an EL (Electronic Luminescence) display or a plasma display may be used instead of the LCD.

図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bの平面形状も横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。   As can be seen from FIG. 1, the upper housing 16 a has a planar shape larger than the planar shape of the LCD 12, and an opening is formed so as to expose the display surface of the LCD 12 from the main surface. On the other hand, the planar shape of the lower housing 16b is also selected to be horizontally long, and an opening is formed so as to expose the display surface of the LCD 14 at a substantially central portion in the horizontal direction. The lower housing 16b is provided with a sound release hole 18 and an operation switch 20 (20a, 20b, 20c, 20d, 20e, 20L and 20R).

また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。   The upper housing 16a and the lower housing 16b are rotatably connected to the lower side (lower end) of the upper housing 16a and a part of the upper side (upper end) of the lower housing 16b. Therefore, for example, when the game is not played, if the upper housing 16a is rotated and folded so that the display surface of the LCD 12 and the display surface of the LCD 14 face each other, the display surface of the LCD 12 and the display surface of the LCD 14 are displayed. Damage such as scratches can be prevented. However, the upper housing 16a and the lower housing 16b may be formed as a housing 16 in which they are integrally (fixed) provided without being rotatably connected.

操作スイッチ20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり上側ハウジング16aとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。   The operation switch 20 includes a direction switch (cross switch) 20a, a start switch 20b, a select switch 20c, an operation switch (A button) 20d, an operation switch (B button) 20e, an operation switch (L button) 20L, and an operation switch (R Button) 20R. The switches 20a, 20b and 20c are arranged on the left side of the LCD 14 on one main surface of the lower housing 16b. The switches 20d and 20e are arranged on the right side of the LCD 14 on one main surface of the lower housing 16b. Furthermore, each of the switch 20L and the switch 20R is a part of the upper end (top surface) of the lower housing 16b and is disposed on the left and right sides of the connecting portion with respect to the upper housing 16a so as to sandwich the connecting portion.

方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等のために用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止したりする等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。   The direction indicating switch 20a functions as a digital joystick, and operates one of the four pressing portions to instruct the moving direction of the player character (or player object) that can be operated by the player, or to change the moving direction of the cursor. It is used for giving instructions. The start switch 20b is composed of a push button, and is used for starting (restarting) or pausing the game. The select switch 20c includes a push button and is used for selecting a game mode.

動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプする等の任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。   The action switch 20d, that is, the A button is configured by a push button, and can cause an action other than a direction instruction, that is, an arbitrary action such as hitting (punching), throwing, grabbing (obtaining), riding, jumping, etc. it can. For example, in an action game, it is possible to instruct to jump, punch, move a weapon, and the like. In the role playing game (RPG) and the simulation RPG, it is possible to instruct acquisition of items, selection and determination of weapons and commands, and the like. The operation switch 20e, that is, the B button is constituted by a push button, and is used for changing the game mode selected by the select switch 20c, canceling the action determined by the A button 20d, or the like.

動作スイッチ20L(Lボタン)および動作スイッチ20R(Rボタン)は、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。   The operation switch 20L (L button) and the operation switch 20R (R button) are configured by push buttons, and the L button 20L and the R button 20R can be used for the same operation as the A button 20d and the B button 20e. , A button 20d and B button 20e can be used for auxiliary operations.

また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック24等によって操作された(すなわちタッチされた)位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。つまり、このタッチパネル22がこの実施例の入力手段として機能し、LCD14(またはLCD12)の画面上の位置を指示するための入力データをユーザ(プレイヤ)が入力するためのものである。   A touch panel 22 is attached to the upper surface of the LCD 14. As the touch panel 22, for example, any of a resistive film type, an optical type (infrared type), and a capacitive coupling type can be used. The touch panel 22 is operated by pressing, stroking, or touching the upper surface of the touch panel 22 with a stick 24 or a pen (stylus pen) or a finger (hereinafter sometimes referred to as “stick 24 etc.”). Then, the coordinates of the position operated (that is, touched) by the stick 24 or the like are detected, and coordinate data corresponding to the detected coordinates (detected coordinates) is output. That is, the touch panel 22 functions as input means of this embodiment, and is for the user (player) to input input data for indicating the position on the screen of the LCD 14 (or LCD 12).

なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易く示すために、タッチパネル22をLCD14と異なる大きさで示してあるが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じ大きさである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。   In this embodiment, the resolution of the display surface of the LCD 14 (the LCD 12 is the same or substantially the same) is 256 dots × 192 dots, and the detection accuracy (operation surface) of the touch panel 22 is also 256 dots × 192 dots corresponding to the display screen. is there. However, in FIG. 1, the touch panel 22 is shown in a different size from the LCD 14 in order to show the touch panel 22 in an easy-to-understand manner. However, the size of the display screen of the LCD 14 and the size of the operation surface of the touch panel 22 are the same size. . Note that the detection accuracy of the touch panel 22 may be lower or higher than the resolution of the display screen.

また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。   In this embodiment, the stick 24 can be stored in a storage portion (hole or recess) 26 provided near the side surface (right side surface) of the upper housing 16a, for example, and taken out as necessary. However, if the stick 24 is not provided, it is not necessary to provide the storage portion 26.

さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは底面(下端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。   Furthermore, the game apparatus 10 includes a memory card (or game cartridge) 28. The memory card 28 is detachable and is inserted from an insertion port 30 provided on the back surface or bottom surface (lower end) of the lower housing 16b. Although not shown in FIG. 1, a connector 46 (see FIG. 2) for joining with a connector (not shown) provided at the front end of the memory card 28 in the insertion direction is provided at the back of the insertion slot 30. Therefore, when the memory card 28 is inserted into the insertion slot 30, the connectors are joined together, and the CPU core 42 (see FIG. 2) of the game apparatus 10 can access the memory card 28.

なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置でありこの下側ハウジング16bの内部には、スピーカ32(図2参照)が設けられる。   Although not expressed in FIG. 1, a speaker 32 (see FIG. 2) is provided at a position corresponding to the sound release hole 18 of the lower housing 16b and inside the lower housing 16b.

また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。   Although not shown in FIG. 1, for example, a battery housing box is provided on the back surface side of the lower housing 16b, and a power switch, a volume switch, an external expansion connector, and an external extension connector are provided on the bottom surface side of the lower housing 16b. Earphone jacks are also provided.

図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインタフェイス回路(以下、「I/F回路」という。)54およびLCDコントローラ60に接続される。   FIG. 2 is a block diagram showing an electrical configuration of the game apparatus 10. Referring to FIG. 2, game device 10 includes an electronic circuit board 40 on which circuit components such as CPU core 42 are mounted. The CPU core 42 is connected to the connector 46 via the bus 44, and includes a RAM 48, a first graphics processing unit (GPU) 50, a second GPU 52, an input / output interface circuit (hereinafter referred to as “I / F circuit”). 54) and the LCD controller 60.

コネコタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。   As described above, the memory card 28 is detachably connected to the connector 46. The memory card 28 includes a ROM 28a and a RAM 28b. Although not shown, the ROM 28a and the RAM 28b are connected to each other via a bus, and are further connected to a connector (not shown) joined to the connector 46. Therefore, as described above, the CPU core 42 can access the ROM 28a and the RAM 28b.

ROM28aは、ゲーム装置10をこの発明にかかる画像処理装置として機能させるための画像処理プログラムを予め記憶する。ゲーム(仮想ゲーム)が実行される場合、画像処理プログラムはゲームプログラムでもある。また、画像(キャラクタ画像、背景画像、アイテム画像、メッセージ画像など)データおよび必要な音(音楽)のデータ(音データ)等も予め記憶される。RAM(バックアップRAM)28bは、その画像処理やゲームの途中データおよび結果データを記憶(セーブ)する。   The ROM 28a stores in advance an image processing program for causing the game apparatus 10 to function as the image processing apparatus according to the present invention. When a game (virtual game) is executed, the image processing program is also a game program. Also, image (character image, background image, item image, message image, etc.) data, necessary sound (music) data (sound data), and the like are stored in advance. The RAM (backup RAM) 28b stores (saves) the image processing and game midway data and result data.

RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶された画像処理プログラム(ゲームプログラム)、画像データおよび音データ等をRAM48にロードし、ロードした画像処理プログラムを実行する。また、CPUコア42は、画像処理プログラムに従って、ゲームの進行に応じて一時的に発生(生成)するデータ(ゲームデータやフラグデータ等)をRAM48のワークエリアや所定領域に記憶しつつ、画像処理(ゲーム処理)を実行する。   The RAM 48 is used as a buffer memory or a working memory. That is, the CPU core 42 loads an image processing program (game program), image data, sound data, and the like stored in the ROM 28a of the memory card 28 into the RAM 48, and executes the loaded image processing program. Further, the CPU core 42 performs image processing while storing data (game data, flag data, etc.) temporarily generated (generated) according to the progress of the game in the work area or a predetermined area of the RAM 48 according to the image processing program. (Game processing) is executed.

なお、画像処理プログラム(ゲームプログラム)、画像データおよび音データ等のデータは、ROM28aから一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM48に記憶(ロード)される。   Note that data such as an image processing program (game program), image data, and sound data is read from the ROM 28a all at once or partially and sequentially as necessary and stored (loaded) in the RAM 48.

ただし、メモリカード28のROM28aには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶されてよい。また、必要に応じて、音(音楽)データが記憶されてもよい。かかる場合には、ゲーム装置10では、当該アプリケーションが実行される。   However, the ROM 28a of the memory card 28 may store a program for an application other than the game and image data necessary for executing the application. Further, sound (music) data may be stored as necessary. In such a case, the game device 10 executes the application.

GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従って、表示するための画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、表示するための画像データの生成に必要な画像生成プログラム(画像処理プログラム(ゲームプログラム)に含まれる。)をGPU50およびGPU52のそれぞれに与える。   Each of the GPU 50 and the GPU 52 forms part of a drawing unit, and is composed of, for example, a single chip ASIC, receives a graphics command (graphics command) from the CPU core 42, and displays it according to the graphics command. Image data is generated. However, the CPU core 42 gives each of the GPU 50 and the GPU 52 an image generation program (included in the image processing program (game program)) necessary for generating image data to be displayed in addition to the graphics command.

また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:オブジェクトデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして表示するための画像データを作成し、その画像データをVRAM56の描画バッファ(フレームバッファ)に記憶し、GPU52はVRAM58にアクセスして表示するための画像データを作成し、VRAM58の描画バッファに記憶する。描画バッファとしては、ラインバッファを採用してもよい。また、VRAM56および58には、フレームバッファの画像データの各画素の奥行き情報または奥行データ(Z値)を記憶するZバッファが設けられており、GPU50およびGPU52は画像データを作成する際に各画素の奥行き情報をZバッファの各画素に対応する領域に記憶する。なお、Zバッファの各画素に対応する領域には、初期値としてたとえば無限大を示すデータが設定される。   The GPU 50 is connected to a first video RAM (hereinafter referred to as “VRAM”) 56, and the GPU 52 is connected to a second VRAM 58. Data required for the GPU 50 and the GPU 52 to execute the drawing command (image data: data such as object data and texture) is acquired by the GPU 50 and the GPU 52 by accessing the first VRAM 56 and the second VRAM 58, respectively. However, the CPU core 42 reads image data necessary for drawing from the RAM 48 and writes the image data to the first VRAM 56 and the second VRAM 58 via the GPU 50 and the GPU 52. The GPU 50 accesses the VRAM 56 to create image data for display, stores the image data in a drawing buffer (frame buffer) of the VRAM 56, and the GPU 52 accesses the VRAM 58 to create image data for display. Store in the drawing buffer of the VRAM 58. A line buffer may be adopted as the drawing buffer. The VRAMs 56 and 58 are provided with a Z buffer for storing depth information or depth data (Z value) of each pixel of the image data of the frame buffer, and the GPU 50 and the GPU 52 generate each pixel when generating the image data. Is stored in an area corresponding to each pixel of the Z buffer. For example, data indicating infinity is set as an initial value in an area corresponding to each pixel of the Z buffer.

VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたフレームバッファの画像データをLCD12に出力し、GPU52によって作成されたフレームバッファの画像データをLCD14に出力する。一方、レジスタ62のデータ値が「1」である場合には、LCDコントローラ60は、GPU50によって作成された画像データをLCD14に出力し、GPU52によって作成された画像データをLCD12に出力する。   The VRAM 56 and VRAM 58 are connected to the LCD controller 60. The LCD controller 60 includes a register 62. The register 62 is composed of, for example, 1 bit, and stores a value (data value) of “0” or “1” according to an instruction from the CPU core 42. When the data value of the register 62 is “0”, the LCD controller 60 outputs the frame buffer image data created by the GPU 50 to the LCD 12 and the frame buffer image data created by the GPU 52 to the LCD 14. To do. On the other hand, when the data value of the register 62 is “1”, the LCD controller 60 outputs the image data created by the GPU 50 to the LCD 14 and the image data created by the GPU 52 to the LCD 12.

なお、LCDコントローラ60は、VRAM56およびVRAM58から直接画像データを読み出すことができるし、あるいはGPU50およびGPU52を介してVRAM56およびVRAM58から画像データを読み出すこともできる。   Note that the LCD controller 60 can read image data directly from the VRAM 56 and VRAM 58, or can read image data from the VRAM 56 and VRAM 58 via the GPU 50 and GPU 52.

また、VRAM56およびVRAM58はRAM48に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM48に設けられてもよい。   Further, the VRAM 56 and the VRAM 58 may be provided in the RAM 48, or the drawing buffer and the Z buffer may be provided in the RAM 48.

I/F回路54には、操作スイッチ(操作キー)20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22から出力される操作入力データ(座標データ)がI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などの必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32からその音を出力する。   An operation switch (operation key) 20, a touch panel 22 and a speaker 32 are connected to the I / F circuit 54. Here, the operation switch 20 is the above-described switches 20a, 20b, 20c, 20d, 20e, 20L and 20R. When the operation switch 20 is operated, a corresponding operation signal (operation data) is transmitted to the I / F circuit 54. To the CPU core 42. Further, operation input data (coordinate data) output from the touch panel 22 is input to the CPU core 42 via the I / F circuit 54. Furthermore, the CPU core 42 reads out necessary sound data such as game music (BGM), sound effects or game character sound (pseudo-damped sound) from the RAM 48, and outputs the sound from the speaker 32 via the I / F circuit 54. To do.

図3にはこのゲーム装置10のメモリマップの一例が示される。メモリマップはプログラム記憶領域70およびデータ記憶領域72を含む。プログラム記憶領域70およびデータ記憶領域72には画像処理装置10の動作に必要なプログラムおよびデータが記憶されている。なお、図3では、ROM28aおよびRAM48に記憶されるデータの一部が示されている。   FIG. 3 shows an example of a memory map of the game apparatus 10. The memory map includes a program storage area 70 and a data storage area 72. The program storage area 70 and the data storage area 72 store programs and data necessary for the operation of the image processing apparatus 10. In FIG. 3, some of the data stored in the ROM 28a and the RAM 48 are shown.

プログラム記憶領域70にはROM28aの画像処理プログラム(ゲームプログラム)が記憶される。この画像処理プログラムに従って画像処理装置10のCPUコア42は動作して、GPU50または52等を用いてデータ記憶領域72のデータに基づいて3次元仮想空間内に配置されたプレイヤオブジェクト、ライバルオブジェクトまたは背景オブジェクトなど座標変換してレンダリングすることによってこれらを含む画像データを生成し、その画像をLCD12または14に表示する。   The program storage area 70 stores an image processing program (game program) stored in the ROM 28a. The CPU core 42 of the image processing apparatus 10 operates according to the image processing program, and the player object, rival object, or background arranged in the three-dimensional virtual space based on the data in the data storage area 72 using the GPU 50 or 52 or the like. Image data including these is generated by performing coordinate conversion such as an object and rendering, and the image is displayed on the LCD 12 or 14.

データ記憶領域72には、ROM28aのデータおよびCPUコア42によって生成または取得されたデータが記憶される。データ記憶領域72には、オブジェクトデータ領域74、テクスチャデータ領域76、位置データおよび向きデータ領域78、第1仮想カメラデータ領域80、第2仮想カメラデータ領域82、および注視点データ領域84等が設けられる。   The data storage area 72 stores data in the ROM 28a and data generated or acquired by the CPU core 42. The data storage area 72 includes an object data area 74, a texture data area 76, a position data and orientation data area 78, a first virtual camera data area 80, a second virtual camera data area 82, a gazing point data area 84, and the like. It is done.

オブジェクトデータ領域74には、仮想3次元空間内に配置される仮想的な物体を示すオブジェクトデータが記憶される。たとえば、プレイヤキャラクタや複数のライバルキャラクタ等のゲームキャラクタのオブジェクトデータや、地表、地表の物体、空中の雲等のような背景オブジェクトのオブジェクトデータ等が記憶される。プレイヤキャラクタは、ゲーム装置10のプレイヤによって操作されるオブジェクトである。ライバルキャラクタは仮想ゲームにおいてプレイヤキャラクタと競争するオブジェクトであり、CPUコア42によって制御されるノンプレイヤオブジェクトである。なお、各オブジェクトはポリゴンによって形成されている。   In the object data area 74, object data indicating a virtual object arranged in the virtual three-dimensional space is stored. For example, object data of a game character such as a player character or a plurality of rival characters, object data of a background object such as a ground surface, a ground object, a cloud in the air, and the like are stored. The player character is an object that is operated by the player of the game apparatus 10. The rival character is an object that competes with the player character in the virtual game, and is a non-player object controlled by the CPU core 42. Each object is formed by a polygon.

テクスチャデータ領域76には、上述のプレイヤキャラクタ、ライバルキャラクタ、背景オブジェクト等のそれぞれに貼り付け処理されるそれぞれのテクスチャデータが記憶される。   The texture data area 76 stores texture data to be pasted on the above-described player character, rival character, background object, and the like.

位置データおよび向きデータ領域78には、上述のプレイヤキャラクタ、ライバルキャラクタ、背景オブジェクト等のオブジェクトの配置状態を示すデータが記憶され、具体的には、各オブジェクトが仮想3次元空間内において存在している位置の座標を示す位置データおよび向いている方向を示す向きデータが記憶される。位置データおよび向きデータは、少なくともワールド座標系での座標および向きを示すデータを含む。各オブジェクトの初期の位置および向きは所定の値が設定されている。また、プレイヤキャラクタの動作は操作スイッチ20またはタッチパネル22からの操作入力データに基づいて画像処理プログラムに従って制御されて、プレイヤキャラクタの位置データおよび向きデータはたとえば1表示フレームごとに更新される。また、ライバルキャラクタおよび背景オブジェクト等の動作は画像処理プログラムに従って制御され、ライバルキャラクタおよび背景オブジェクト等の位置データおよび向きデータもたとえば1表示フレームごとに更新される。なお、複数のライバルキャラクタおよび複数の背景オブジェクト等が存在する場合、それぞれの位置データおよび向きデータが記憶される。   The position data and orientation data area 78 stores data indicating the arrangement state of the above-described player character, rival character, background object, and other objects. Specifically, each object exists in the virtual three-dimensional space. Position data indicating the coordinates of the current position and orientation data indicating the direction in which the user is facing are stored. The position data and the orientation data include at least data indicating coordinates and orientations in the world coordinate system. Predetermined values are set for the initial position and orientation of each object. The movement of the player character is controlled according to the image processing program based on operation input data from the operation switch 20 or the touch panel 22, and the position data and orientation data of the player character are updated, for example, every display frame. The operations of the rival character and the background object are controlled according to the image processing program, and the position data and orientation data of the rival character and the background object are also updated every display frame, for example. When there are a plurality of rival characters and a plurality of background objects, the respective position data and orientation data are stored.

第1仮想カメラデータ領域80には、仮想3次元空間内のシーンを撮影しその画像を描画するための第1仮想カメラ(図4参照)に関するデータが記憶される。具体的には、第1仮想カメラの配置状態を示す位置データおよび視野角データ、第1仮想カメラで可視化する範囲(クリッピングエリア)を規定する後方(ファー)クリッピング平面を示すデータおよび前方(ニア)クリッピング平面を示すデータ等を含む、第1仮想カメラを配置または設定するために用いられるデータが記憶される。   The first virtual camera data area 80 stores data related to the first virtual camera (see FIG. 4) for photographing a scene in the virtual three-dimensional space and drawing the image. Specifically, position data and viewing angle data indicating the arrangement state of the first virtual camera, data indicating a rear (far) clipping plane defining a range (clipping area) visualized by the first virtual camera, and front (near) Data used for arranging or setting the first virtual camera is stored, including data indicating the clipping plane.

第1仮想カメラの位置データは、第1仮想カメラが仮想3次元空間内において存在している位置の座標(ワールド座標系)を示す。たとえば、第1仮想カメラは注視点またはプレイヤキャラクタ等から所定の距離だけ離れた位置に注視点を向くようにして配置される。また、第1仮想カメラは、所定の位置に固定されていてよいし、あるいは注視点またはプレイヤオブジェクト等の移動に応じて移動されてよい。移動される場合、第1仮想カメラの位置は、注視点またはプレイヤキャラクタ等の位置に応じて算出される。そして、第1仮想カメラの位置データ領域はたとえば1表示フレームごとに更新される。   The position data of the first virtual camera indicates the coordinates (world coordinate system) of the position where the first virtual camera exists in the virtual three-dimensional space. For example, the first virtual camera is arranged to face the gazing point at a position away from the gazing point or the player character by a predetermined distance. Further, the first virtual camera may be fixed at a predetermined position, or may be moved according to the movement of the gazing point or the player object. When moved, the position of the first virtual camera is calculated according to the position of the gazing point or the player character. The position data area of the first virtual camera is updated, for example, every display frame.

第1仮想カメラの視野角データは、第1仮想カメラの視野を規定するためのものであり、第1仮想カメラのピラミッド視野の頂点の角度2θ1を示す。この実施例では、画面は矩形状であるので、視野角θ1は、第1仮想カメラ座標系のX軸に平行な方向とY軸に平行な方向とで異なる2つの所定の値に設定される。この視野角θ1の各所定値はROM28aに予め記憶されている。また、視野角データは、予め定められた値に固定されていてもよいし、あるいは画像処理(ゲーム処理)の進行に応じて更新されてもよい。   The viewing angle data of the first virtual camera is for defining the field of view of the first virtual camera, and indicates the apex angle 2θ1 of the pyramid field of view of the first virtual camera. In this embodiment, since the screen is rectangular, the viewing angle θ1 is set to two predetermined values that are different in a direction parallel to the X axis and a direction parallel to the Y axis of the first virtual camera coordinate system. . Each predetermined value of the viewing angle θ1 is stored in advance in the ROM 28a. The viewing angle data may be fixed to a predetermined value, or may be updated as the image processing (game processing) progresses.

第1仮想カメラの後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、第1仮想カメラのクリッピングエリアを設定するために使用されるデータである。第1仮想カメラの後方クリッピング平面と前方クリッピング平面は、描画する部分を限定するものであり、第1仮想カメラから注視点に向かう方向にそれぞれの所定の距離だけ離れた位置に設定される。この後方クリッピング平面と前方クリッピング平面との間のクリッピングエリア(四角錐台の視野)に存在するオブジェクトのみが描画されることとなる。後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、たとえば仮想カメラからの距離または仮想カメラ座標系でのZ座標によって表されており、これらデータは予めROM28aに記憶されている。また、後方クリッピング平面を示すデータと前方クリッピング平面を示すデータとは、予め定められた値に固定されていてもよいし、画像処理(ゲーム処理)の進行に応じて更新されてもよい。   The data indicating the rear clipping plane of the first virtual camera and the data indicating the front clipping plane are data used for setting the clipping area of the first virtual camera. The rear clipping plane and the front clipping plane of the first virtual camera limit the portion to be drawn, and are set at positions that are separated from each other by a predetermined distance in the direction from the first virtual camera toward the gazing point. Only objects existing in the clipping area (the field of view of the quadrangular pyramid) between the rear clipping plane and the front clipping plane are drawn. Data indicating the rear clipping plane and data indicating the front clipping plane are represented by, for example, a distance from the virtual camera or a Z coordinate in the virtual camera coordinate system, and these data are stored in the ROM 28a in advance. Further, the data indicating the rear clipping plane and the data indicating the front clipping plane may be fixed to predetermined values, or may be updated as the image processing (game processing) progresses.

第2仮想カメラデータ領域82には、仮想3次元空間内に存在する物体を画面に表示し易くするための第2仮想カメラ(図4参照)に関するデータが記憶される。具体的には、第2仮想カメラの配置状態を示す位置データおよび視野角データ、第2仮想カメラで可視化するクリッピングエリアを規定する後方クリッピング平面を示すデータおよび前方クリッピング平面を示すデータ等を含む、第2仮想カメラを配置または設定するために用いられるデータが記憶される。第2仮想カメラは、第1仮想カメラのクリッピングエリア内に含まれないがその周囲の部分に存在する物体を撮影(座標変換)するためのものでもある。また、第2仮想カメラは、特定のオブジェクトを座標変換するために使用されてよく、この実施例ではライバルキャラクタのために使用される。   In the second virtual camera data area 82, data related to the second virtual camera (see FIG. 4) for easily displaying an object existing in the virtual three-dimensional space on the screen is stored. Specifically, including position data and viewing angle data indicating the arrangement state of the second virtual camera, data indicating a rear clipping plane defining a clipping area visualized by the second virtual camera, data indicating a front clipping plane, and the like. Data used for arranging or setting the second virtual camera is stored. The second virtual camera is also for photographing (coordinate conversion) an object that is not included in the clipping area of the first virtual camera but exists in the surrounding area. The second virtual camera may also be used for coordinate transformation of a specific object, and in this embodiment is used for rival characters.

第2仮想カメラの位置データは、第2仮想カメラが仮想3次元空間内において存在している位置の座標(ワールド座標系)を示す。たとえば、第2仮想カメラは、第1仮想カメラのたとえば後方クリッピング平面を基準としてみた場合、第1仮想カメラと同じ側に存在し、かつ、第1仮想カメラよりもその平面から離れている。また、第2仮想カメラは、第1仮想カメラから所定の距離だけ離れた位置に注視点を向くようにして配置される。この第2仮想カメラは、注視点と第1仮想カメラとを結びかつ注視点から第1仮想カメラの方向へ延びる延長線上に配置されてよい。したがって、第2仮想カメラは、第1仮想カメラの移動(すなわち注視点またはプレイヤキャラクタ等の移動)に応じて移動されてよい。移動される場合、第2仮想カメラの位置は、第1仮想カメラの位置(あるいは注視点もしくはプレイヤキャラクタ等の位置)に応じて算出される。そして、第2仮想カメラの位置データ領域はたとえば1表示フレームごとに更新される。   The position data of the second virtual camera indicates the coordinates (world coordinate system) of the position where the second virtual camera exists in the virtual three-dimensional space. For example, the second virtual camera is present on the same side as the first virtual camera when viewed from the rear clipping plane of the first virtual camera, for example, and is further away from the plane than the first virtual camera. In addition, the second virtual camera is arranged so as to face the gazing point at a position away from the first virtual camera by a predetermined distance. The second virtual camera may be disposed on an extension line that connects the gazing point and the first virtual camera and extends from the gazing point toward the first virtual camera. Therefore, the second virtual camera may be moved according to the movement of the first virtual camera (that is, the movement of the gazing point or the player character). When moved, the position of the second virtual camera is calculated according to the position of the first virtual camera (or the position of the gazing point or the player character). The position data area of the second virtual camera is updated, for example, every display frame.

第2仮想カメラの視野角データは、第2仮想カメラの視野を規定するためのものであり、第2仮想カメラのピラミッド視野の頂点の角度2θ2を示す。第2仮想カメラは、第1仮想カメラのクリッピングエリアの周囲の領域(視野範囲内には含まれない。)に存在する物体を撮影するためのものであるので、第2仮想カメラの視野角は、第1仮想カメラの第1クリッピングエリアの周囲の領域の少なくとも一部が第2仮想カメラで撮影可能な視野範囲内に含まれるような所定の値に設定されている。上述のように、この実施例の画面は矩形状であるので、視野角θ2も、第2仮想カメラ座標系のX軸に平行な方向とY軸に平行な方向とで異なる2つの所定の値に設定される。この視野角θ2の各所定値はROM28aに予め記憶されている。また、この視野角データは、予め定められた値に固定されていてもよいし、画像処理(ゲーム処理)の進行に応じて更新されてもよい。   The viewing angle data of the second virtual camera is for defining the field of view of the second virtual camera, and indicates the angle 2θ2 of the apex of the pyramid field of view of the second virtual camera. Since the second virtual camera is for photographing an object existing in a region around the clipping area of the first virtual camera (not included in the visual field range), the viewing angle of the second virtual camera is The predetermined value is set such that at least a part of the area around the first clipping area of the first virtual camera is included in the visual field range that can be photographed by the second virtual camera. As described above, since the screen of this embodiment is rectangular, the viewing angle θ2 is also two predetermined values that are different in the direction parallel to the X axis and the direction parallel to the Y axis in the second virtual camera coordinate system. Set to Each predetermined value of the viewing angle θ2 is stored in advance in the ROM 28a. The viewing angle data may be fixed to a predetermined value or may be updated as the image processing (game processing) progresses.

第2仮想カメラの後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、第2仮想カメラのクリッピングエリアを設定するために使用されるデータである。第2仮想カメラの後方クリッピング平面と前方クリッピング平面は、第2仮想カメラから注視点に向かう方向にそれぞれの所定の距離だけ離れた位置に設定される。これら後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、予めROM28aに記憶されている。また、後方クリッピング平面を示すデータと前方クリッピング平面を示すデータとは、予め定められた値に固定されていてもよいし、画像処理(ゲーム処理)の進行に応じて更新されてもよい。   Data indicating the rear clipping plane of the second virtual camera and data indicating the front clipping plane are data used to set the clipping area of the second virtual camera. The rear clipping plane and the front clipping plane of the second virtual camera are set at positions separated from each other by a predetermined distance in the direction from the second virtual camera toward the gazing point. The data indicating the rear clipping plane and the data indicating the front clipping plane are stored in the ROM 28a in advance. Further, the data indicating the rear clipping plane and the data indicating the front clipping plane may be fixed to predetermined values, or may be updated as the image processing (game processing) progresses.

第2仮想カメラの後方クリッピング平面および前方クリッピング平面は、第1仮想カメラのそれらとは関係なく任意に設定されてよいが、描画する範囲の整合性をとることが望ましい。たとえば、第1仮想カメラおよび第2仮想カメラの後方クリッピング平面は同じ位置に設定するのが望ましい。この場合には、第1仮想カメラと第2仮想カメラとで奥行き方向の同じ位置までの領域に存在する物体を描画することができる。また、同様に、前方クリッピング平面も第1仮想カメラおよび第2仮想カメラで同じ位置に設定するのが望ましい。この場合にも、両仮想カメラで奥行き方向の同じ位置からの領域に存在している物体を描画することができる。さらに、両仮想カメラで前方クリッピング平面および後方クリッピング平面の両方を同じ位置に設定した場合には、両仮想カメラで奥行き方向の同じ範囲に存在する物体を描画することができる。さらにまた、第2仮想カメラの視野角2θ2を第1仮想カメラの視野角2θ1よりも狭い値に適宜に設定することによって、両仮想カメラでその位置およびサイズが同一の後方クリッピング平面を設定する場合には、描画する部分の後方を両仮想カメラで同じにすることができる。   The rear clipping plane and the front clipping plane of the second virtual camera may be arbitrarily set regardless of those of the first virtual camera, but it is desirable to maintain the consistency of the drawing range. For example, it is desirable to set the rear clipping planes of the first virtual camera and the second virtual camera at the same position. In this case, the first virtual camera and the second virtual camera can draw an object existing in an area up to the same position in the depth direction. Similarly, it is desirable to set the front clipping plane at the same position in the first virtual camera and the second virtual camera. Also in this case, an object existing in an area from the same position in the depth direction can be drawn by both virtual cameras. Furthermore, when both the front clipping plane and the rear clipping plane are set to the same position in both virtual cameras, it is possible to draw an object existing in the same range in the depth direction with both virtual cameras. Furthermore, by setting the viewing angle 2θ2 of the second virtual camera appropriately to a value narrower than the viewing angle 2θ1 of the first virtual camera, a rear clipping plane having the same position and size is set in both virtual cameras. In this case, the rear part of the drawing portion can be made the same by both virtual cameras.

注視点データ領域84には、第1仮想カメラおよび第2仮想カメラの注視点の位置の座標(ワールド座標系)を示すデータが記憶される。注視点は、第1仮想カメラと第2仮想カメラとで整合性をとるために同一に設定されるのが望ましい。注視点の位置は、仮想3次元空間の所定の位置に設定されてもよく、この場合には仮想3次元空間の所定位置のシーンが画像として描画される。また、注視点の位置は、物体の位置に基づいて設定されてもよい。たとえばプレイヤキャラクタの登場するゲームの場合には、注視点の位置はプレイヤキャラクタの位置に基づいて算出されてよい。たとえば、注視点の位置は、プレイヤキャラクタの中心もしくは重心位置または近傍の位置などに設定されてよい。このような場合にはプレイヤキャラクタを含むシーンが画像として描画される。注視点位置が、プレイヤキャラクタの移動またはプログラムに従って移動されるような場合には、注視点データ領域84はたとえば1表示フレームごとに更新される。   The gaze point data area 84 stores data indicating the coordinates (world coordinate system) of the positions of the gaze points of the first virtual camera and the second virtual camera. The gazing point is preferably set to be the same in order to achieve consistency between the first virtual camera and the second virtual camera. The position of the gazing point may be set at a predetermined position in the virtual three-dimensional space. In this case, a scene at a predetermined position in the virtual three-dimensional space is drawn as an image. Further, the position of the gazing point may be set based on the position of the object. For example, in the case of a game in which a player character appears, the position of the gazing point may be calculated based on the position of the player character. For example, the position of the gazing point may be set to the center or the center of gravity position of the player character or a nearby position. In such a case, a scene including the player character is drawn as an image. When the gazing point position is moved according to the movement of the player character or the program, the gazing point data area 84 is updated, for example, every display frame.

なお、データ記憶領域72には他の必要なデータも記憶されている。たとえば第1仮想カメラおよび第2仮想カメラの仮想スクリーン(2次元投影平面)を示すデータ等も記憶されている。   The data storage area 72 also stores other necessary data. For example, data indicating virtual screens (two-dimensional projection planes) of the first virtual camera and the second virtual camera are also stored.

この画像処理装置10では、仮想3次元空間に同時に2つの視点が設定され、各視点から見たシーンが組み合わせられることによって1つの画像が生成される。   In this image processing apparatus 10, two viewpoints are set simultaneously in the virtual three-dimensional space, and one image is generated by combining scenes viewed from the respective viewpoints.

具体的には、図4に示すように、第1仮想カメラと第2仮想カメラの2つの視点がワールド座標系に設けられる。この図4では、図示しない注視点は、たとえばプレイヤキャラクタ90を画面にとらえるようにプレイヤキャラクタ90の位置に基づいて設定される。第1仮想カメラと第2仮想カメラはこの注視点を向くようにして、たとえば注視点から所定の距離だけそれぞれ離れた位置に配置される。また、第1仮想カメラはプレイヤキャラクタ90が当該第1仮想カメラの第1クリッピングエリア内に存在するように配置される。また、第1仮想カメラの第1後方クリッピング平面と第2仮想カメラの第2後方クリッピング平面とは同一面に設定されている。なお、第1仮想カメラの第1前方クリッピング平面と第2仮想カメラの第2前方クリッピング平面とは異なる位置に設定されている。   Specifically, as shown in FIG. 4, two viewpoints of a first virtual camera and a second virtual camera are provided in the world coordinate system. In FIG. 4, a gaze point (not shown) is set based on the position of the player character 90 so that the player character 90 is captured on the screen, for example. The first virtual camera and the second virtual camera are arranged at positions spaced apart from the gazing point by a predetermined distance, for example, so as to face the gazing point. Further, the first virtual camera is arranged such that the player character 90 exists in the first clipping area of the first virtual camera. Further, the first rear clipping plane of the first virtual camera and the second rear clipping plane of the second virtual camera are set on the same plane. Note that the first front clipping plane of the first virtual camera and the second front clipping plane of the second virtual camera are set at different positions.

また、図4では、ライバルキャラクタ92は、第1仮想カメラから奥行き方向にプレイヤキャラクタ90と同じ程度の距離だけ離れた位置に存在している。また、図4では省略されるが、仮想3次元空間には背景オブジェクトも配置されている。視野範囲は、図4からわかるように、仮想カメラに近くなるにつれて狭くなるので、仮想カメラに近い位置に存在する物体は視野に入り難い。従来技術のようにそのまま1つの視点から見た画像を描画する(たとえば第1仮想カメラから撮影した画像を生成する)場合、このライバルキャラクタ92は、第1クリッピングエリアの近傍(側面の周囲の領域)、すなわち、視野範囲外に存在しているので、画面には入らない。   In FIG. 4, the rival character 92 exists at a position away from the first virtual camera in the depth direction by the same distance as the player character 90. Although omitted in FIG. 4, a background object is also arranged in the virtual three-dimensional space. As can be seen from FIG. 4, the field-of-view range becomes narrower as it gets closer to the virtual camera, so that an object existing near the virtual camera hardly enters the field of view. When drawing an image viewed from one viewpoint as it is in the prior art (for example, generating an image taken from the first virtual camera), the rival character 92 is in the vicinity of the first clipping area (the area around the side surface). ) That is, since it exists outside the visual field range, it does not enter the screen.

しかし、この画像処理装置10では、図4のライバルキャラクタ92のような第1仮想カメラの第1クリッピングエリアに隣接する周辺領域に存在している物体を、第1仮想カメラの第1クリッピングエリアに存在する他の物体とともに1つの画像に描画する。このために、この画像処理装置10では、第2仮想カメラが、その第2クリッピングエリアに第1仮想カメラの第1クリッピングエリアの周囲の領域の一部が含まれるようにして設けられている。そして、第1仮想カメラの第1クリッピングエリア内に存在する他の物体を描画する画面に合わせて、第2仮想カメラの視野範囲内に存在する物体を描画する。このように、仮想3次元空間内の物体を画面に表示され易くすることができる。   However, in this image processing apparatus 10, an object existing in a peripheral region adjacent to the first clipping area of the first virtual camera, such as the rival character 92 of FIG. 4, is displayed in the first clipping area of the first virtual camera. It draws in one image together with other existing objects. For this reason, in this image processing apparatus 10, the second virtual camera is provided such that the second clipping area includes a part of the area around the first clipping area of the first virtual camera. Then, an object existing in the visual field range of the second virtual camera is drawn in accordance with a screen for drawing another object existing in the first clipping area of the first virtual camera. Thus, an object in the virtual three-dimensional space can be easily displayed on the screen.

第2仮想カメラの視野範囲内に存在する全ての種類の物体を画面内に取り込むようにしてもよいが、この実施例では、特定の種類または属性の物体だけが第2仮想カメラに基づいて画面内に取り込まれるように処理される。つまり、この実施例では、ライバルキャラクタ92のみが第2仮想カメラに基づいて処理され、他の物体(プレイヤキャラクタ、背景オブジェクト)は第1仮想カメラのみに基づいて処理される。言い換えれば、この画像処理装置10では、物体ごとに2種類(第1仮想カメラと第2仮想カメラ)の座標変換が使い分けられていて、各座標変換を基に描画した各物体が同じ1つの画面に合わせられて表示される。なお、物体の種類または属性等で区別せずに、ある物体だけを第2仮想カメラに基づいて画面内に表示するようにしてもよい。   Although all types of objects existing within the field of view of the second virtual camera may be captured in the screen, in this embodiment, only objects of a specific type or attribute are displayed on the screen based on the second virtual camera. It is processed so that it is taken in. That is, in this embodiment, only the rival character 92 is processed based on the second virtual camera, and the other objects (player character, background object) are processed only based on the first virtual camera. In other words, in this image processing apparatus 10, two types of coordinate transformations (first virtual camera and second virtual camera) are used properly for each object, and each object drawn based on each coordinate transformation has the same single screen. Displayed in accordance with. Note that only a certain object may be displayed on the screen based on the second virtual camera without being distinguished by the type or attribute of the object.

具体的には、この実施例では、ライバルキャラクタ92の位置が第2仮想カメラに基づく座標変換によって修正される。これによって、第2仮想カメラの視野範囲内に存在するライバルキャラクタ92の位置が、第1仮想カメラの視野範囲内に変換される。   Specifically, in this embodiment, the position of the rival character 92 is corrected by coordinate conversion based on the second virtual camera. Thereby, the position of the rival character 92 existing in the visual field range of the second virtual camera is converted into the visual field range of the first virtual camera.

図5には、第2仮想カメラに基づくライバルキャラクタ92の位置修正の概要が示される。この位置修正は、ライバルキャラクタ92の座標を第1仮想カメラ座標系のX軸方向およびY軸方向に縮小する座標変換である。なお、Z座標は位置修正前後で同一であり、つまり、修正されない。   FIG. 5 shows an outline of position correction of the rival character 92 based on the second virtual camera. This position correction is coordinate conversion for reducing the coordinates of the rival character 92 in the X-axis direction and the Y-axis direction of the first virtual camera coordinate system. The Z coordinate is the same before and after position correction, that is, it is not corrected.

なお、この図5は、第1仮想カメラ座標系のXZ平面に垂直な方向(Y軸方向)から見た図である。第1仮想カメラと第2仮想カメラは後方クリッピング平面を共有している、つまり、両者の後方クリッピング平面は同一面である。また、第1仮想カメラと第2仮想カメラと図示しない注視点は、後方クリッピング平面に直交する同一垂線上に配置されている。つまり、この垂線は第1仮想カメラおよび第2仮想カメラから注視点への視線に相当し、したがって、各仮想カメラ座標系のZ軸に相当する。また、第1仮想カメラおよび第2仮想カメラの仮想スクリーン(図示せず)は、上記視線に直交するように、つまり、後方クリッピング平面に平行に設定される。   FIG. 5 is a diagram viewed from a direction (Y-axis direction) perpendicular to the XZ plane of the first virtual camera coordinate system. The first virtual camera and the second virtual camera share a rear clipping plane, that is, both rear clipping planes are the same plane. In addition, the first virtual camera, the second virtual camera, and a gaze point (not shown) are arranged on the same perpendicular line orthogonal to the rear clipping plane. That is, this perpendicular corresponds to the line of sight from the first virtual camera and the second virtual camera to the gazing point, and thus corresponds to the Z axis of each virtual camera coordinate system. The virtual screens (not shown) of the first virtual camera and the second virtual camera are set so as to be orthogonal to the line of sight, that is, parallel to the rear clipping plane.

この実施例の位置修正は、第2仮想カメラの視野角を示す線(図5の太い実線)の内側の空間を、第1仮想カメラの視野内に収まるように圧縮するものと見ることができる。この変換によって、ライバルキャラクタ92の第1カメラ座標系でのX座標(およびY座標)が、X軸方向(およびY軸方向)に縮小される。   The position correction of this embodiment can be regarded as compressing the space inside the line indicating the viewing angle of the second virtual camera (the thick solid line in FIG. 5) to be within the field of view of the first virtual camera. . By this conversion, the X coordinate (and Y coordinate) of the rival character 92 in the first camera coordinate system is reduced in the X axis direction (and Y axis direction).

なお、ライバルキャラクタ92の位置は、第1仮想カメラの視野内にもともと存在しているライバルキャラクタ92であっても、この変換によって修正される。   Note that the position of the rival character 92 is corrected by this conversion even if the rival character 92 originally exists in the field of view of the first virtual camera.

ライバルキャラクタ92の第1仮想カメラ座標系での位置修正前の座標を(xa,ya,za)とし、位置修正後の座標を(xa´,ya´,za)とする。また、図5において、θ1は第1仮想カメラの視野角の半角であり、θ2は第2仮想カメラの視野角の半角である。また、hcは第1仮想カメラの第1後方クリッピング平面との距離(高さ)である。ライバルキャラクタ92の第1仮想カメラ座標系での位置修正後のX座標xa´は次の数1に従って算出され、Y座標ya´は次の数2に従って算出される。   The coordinates before the position correction of the rival character 92 in the first virtual camera coordinate system is (xa, ya, za), and the coordinates after the position correction are (xa ′, ya ′, za). In FIG. 5, θ1 is a half angle of the viewing angle of the first virtual camera, and θ2 is a half angle of the viewing angle of the second virtual camera. Hc is the distance (height) from the first rear clipping plane of the first virtual camera. The X coordinate xa ′ after the position correction of the rival character 92 in the first virtual camera coordinate system is calculated according to the following equation 1, and the Y coordinate ya ′ is calculated according to the following equation 2.

[数1]
xa´=f(za)×xa
[数2]
ya´=f(za)×ya
上記数1および数2においてf(z)は座標の縮小率を示し、次の数3に従って算出される。
[Equation 1]
xa ′ = f (za) × xa
[Equation 2]
ya ′ = f (za) × ya
In the above formulas 1 and 2, f (z) represents the reduction rate of coordinates, and is calculated according to the following formula 3.

[数3]
f(z)=z×tanθ1/{hc×tanθ1−(hc−z)×tanθ2}
なお、上述のように、画面が矩形状の場合には視野角θ1およびθ2は、仮想カメラ座標系のX軸方向とY軸方向とで異なるものとなるので、X座標の算出の場合にはX軸方向のθ1およびθ2を用いてf(z)を算出し、Y座標の算出の場合にはY軸方向のθ1およびθ2を用いてf(z)を算出する。
[Equation 3]
f (z) = z × tan θ1 / {hc × tan θ1- (hc−z) × tan θ2}
As described above, when the screen is rectangular, the viewing angles θ1 and θ2 are different in the X-axis direction and the Y-axis direction of the virtual camera coordinate system. F (z) is calculated using θ1 and θ2 in the X-axis direction, and f (z) is calculated using θ1 and θ2 in the Y-axis direction when calculating the Y coordinate.

この縮小率f(z)は、図5および数3からわかるように、第1仮想カメラと第2仮想カメラの配置関係に基づいて定められており、第1仮想カメラの視野角の半角θ1、第2仮想カメラの視野角の半角θ2、第1仮想カメラと第2仮想カメラで共通する後方クリッピング平面から第1仮想カメラまでの距離hc、および修正しようとする位置のz座標によって求められる。この数3のf(z)の値はz座標の値に応じて変化する。具体的には、この縮小変換は、物体の位置が第1仮想カメラに近づくにつれて縮小率の値が小さくなるような変換である。すなわち、数3では、z座標の値が小さいほど縮小率f(z)の値は小さくなる。したがって、z座標が小さくなるにつれて、物体の第1カメラ座標系でのx座標およびy座標はより小さい値に変換されて、より縮小される。   As can be seen from FIG. 5 and Equation 3, this reduction rate f (z) is determined based on the positional relationship between the first virtual camera and the second virtual camera, and the half angle θ1 of the viewing angle of the first virtual camera, The half virtual angle θ2 of the viewing angle of the second virtual camera, the distance hc from the rear clipping plane common to the first virtual camera and the second virtual camera to the first virtual camera, and the z coordinate of the position to be corrected are obtained. The value of f (z) in Equation 3 changes according to the value of the z coordinate. Specifically, this reduction conversion is such conversion that the value of the reduction ratio decreases as the position of the object approaches the first virtual camera. That is, in Equation 3, the smaller the z coordinate value, the smaller the reduction ratio f (z). Therefore, as the z coordinate becomes smaller, the x coordinate and the y coordinate in the first camera coordinate system of the object are converted to smaller values and further reduced.

この位置修正後、第1仮想カメラに基づいて、第1仮想カメラの第1クリッピングエリア(可視化領域)内に存在する物体が、位置修正によって第1クリッピングエリア内に存在することとなったライバルキャラクタ92とともに描画される。たとえば、この実施例では、第1仮想カメラ座標系で第1クリッピングエリアに存在する各物体は2次元投影平面(仮想スクリーン)に透視投影変換される。そして、Zバッファ法等によって隠面消去処理を行うとともに、テクスチャマッピングによって各物体等にテクスチャを貼り付けて、画面の画像データを生成する。   After this position correction, based on the first virtual camera, an object existing in the first clipping area (visualization area) of the first virtual camera is present in the first clipping area by position correction. 92 is drawn. For example, in this embodiment, each object existing in the first clipping area in the first virtual camera coordinate system is perspective-projected into a two-dimensional projection plane (virtual screen). Then, hidden surface removal processing is performed by the Z buffer method or the like, and texture is pasted on each object or the like by texture mapping to generate screen image data.

こうして、第1仮想カメラの第1クリッピングエリア内の物体と第1仮想カメラの第1クリッピングエリアの周囲の領域に存在していたライバルキャラクタ92とが1つの画面で表示される。図4に示したように、第1仮想カメラの第1クリッピングエリア内にプレイヤキャラクタ90が存在し、第1仮想カメラの第1クリッピングエリアの周辺でありかつ第2仮想カメラの視野範囲内にライバルキャラクタ92が存在する場合には、図6に示すような画面が表示される。この図6の画面では、第1仮想カメラの第1クリッピングエリア内に存在しているプレイヤキャラクタ90とともに、第1仮想カメラの視野範囲外に存在しているライバルキャラクタ92が、修正後の位置に描画されている。   Thus, the object in the first clipping area of the first virtual camera and the rival character 92 existing in the area around the first clipping area of the first virtual camera are displayed on one screen. As shown in FIG. 4, the player character 90 exists in the first clipping area of the first virtual camera, and rivals are around the first clipping area of the first virtual camera and within the visual field range of the second virtual camera. When the character 92 exists, a screen as shown in FIG. 6 is displayed. In the screen of FIG. 6, the rival character 92 that exists outside the visual field range of the first virtual camera, together with the player character 90 that exists in the first clipping area of the first virtual camera, is at the corrected position. Has been drawn.

また、ライバルキャラクタ92は、視線と垂直な面(第1仮想カメラ座標系のXY軸に平行な面)の中での位置修正後に第1仮想カメラに基づいて描画されるので、ライバルキャラクタ92の見た目の大きさは、第1仮想カメラからの距離(第1仮想カメラ座標系のz軸方向の距離)によって決まるようになっている。したがって、第2仮想カメラに基づいて位置修正されたライバルキャラクタ92の大きさは、仮想3次元空間における実際の物体間の位置関係と整合するものとなっている。したがって、第1仮想カメラよりも遠くに位置している第2仮想カメラに基づいて位置修正されたライバルキャラクタ92が小さくなり過ぎるようなことがなく、ライバルキャラクタ92を見易く表示することができる。   The rival character 92 is drawn based on the first virtual camera after position correction in a plane perpendicular to the line of sight (a plane parallel to the XY axes of the first virtual camera coordinate system). The apparent size is determined by the distance from the first virtual camera (the distance in the z-axis direction of the first virtual camera coordinate system). Therefore, the size of the rival character 92 whose position has been corrected based on the second virtual camera matches the actual positional relationship between the objects in the virtual three-dimensional space. Therefore, the rival character 92 whose position is corrected based on the second virtual camera located farther than the first virtual camera does not become too small, and the rival character 92 can be displayed easily.

たとえば仮想3次元空間が地面ないし地表とその上の空中領域を含むような場合を想定すると、一例として、図4および図5で示した共通の後方クリッピング平面は地表面に設定され、第1仮想カメラは空中に配置され、第2仮想カメラは第1仮想カメラよりも高い場所に配置されていると考えることができる。そして、プレイヤキャラクタ90は空中のある高さに存在し、第1仮想カメラの第1クリッピングエリア内にある。一方、ライバルキャラクタ92はプレイヤキャラクタ90とほぼ同じ高さに存在する。上述のように、視野範囲は仮想カメラに近いほど狭くなるものであり、ライバルキャラクタ92は第1仮想カメラの第1クリッピングエリアの周辺(視野範囲外)に存在している。しかし、このライバルキャラクタ92は第2仮想カメラの視野範囲内であるため、位置修正処理によって第1仮想カメラの視野範囲内にそのX座標およびY座標が修正される。したがって、プレイヤキャラクタ90と同じような高さで第1仮想カメラの第1クリッピングエリアの周辺に存在するライバルキャラクタ92も、図6に示したように、画面内に表示することができる。しかも、上述のように位置修正処理ではZ座標が同一に維持されて、第1仮想カメラからの高さ関係がそのまま維持される。したがって、ライバルキャラクタ92の画面における見た目の大きさの整合性をとることができ、ライバルキャラクタ92を見易く表示することができる。   For example, assuming that the virtual three-dimensional space includes the ground or the ground surface and the aerial area above it, as an example, the common rear clipping plane shown in FIG. 4 and FIG. It can be considered that the camera is arranged in the air and the second virtual camera is arranged at a higher position than the first virtual camera. The player character 90 exists at a certain height in the air and is in the first clipping area of the first virtual camera. On the other hand, the rival character 92 exists at almost the same height as the player character 90. As described above, the visual field range becomes narrower as it approaches the virtual camera, and the rival character 92 exists around the first clipping area (outside the visual field range) of the first virtual camera. However, since this rival character 92 is within the visual field range of the second virtual camera, its X coordinate and Y coordinate are corrected within the visual field range of the first virtual camera by the position correction process. Therefore, a rival character 92 that exists in the vicinity of the first clipping area of the first virtual camera at the same height as the player character 90 can also be displayed on the screen as shown in FIG. In addition, as described above, in the position correction process, the Z coordinate is maintained the same, and the height relationship from the first virtual camera is maintained as it is. Therefore, the appearance size of the rival character 92 can be matched, and the rival character 92 can be displayed easily.

図7および図8には、この実施例の画像処理装置10の動作の一例が示される。図7の最初のステップS1で、CPUコア42は、RAM48のオブジェクトデータ領域74、ならびに位置データおよび向きデータ領域78からプレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトデータならびに初期の位置データおよび向きデータをRAM48のワークエリアに読み出して、プレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトを仮想3次元空間であるワールド座標系の各座標に配置し、各オブジェクトの配置状態を示すデータをワークエリアに生成する。   7 and 8 show an example of the operation of the image processing apparatus 10 of this embodiment. In the first step S1 of FIG. 7, the CPU core 42 uses the object data area 74 and the position data and orientation data area 78 of the RAM 48 to store each object data such as a player character, rival character and background object, as well as initial position data and orientation. Data is read into the work area of the RAM 48, each object such as a player character, rival character, and background object is placed at each coordinate in the world coordinate system, which is a virtual three-dimensional space, and data indicating the placement state of each object is displayed in the work area. To generate.

次に、ステップS3で、CPUコア42は、注視点と第1仮想カメラとをワールド座標系の座標に配置する。具体的には、CPUコア42は、たとえば、RAM48の位置データおよび向きデータ領域78からプレイヤキャラクタの位置データをワークエリアに読み出して、そのプレイヤキャラクタの位置データに基づいて注視点の座標を決定して、その注視点の座標を注視点データ領域84に記憶する。なお、注視点の位置は、プレイヤキャラクタの以外のオブジェクトの位置に基づいて設定されてもよいし、仮想3次元空間内の予め定められた位置に設定されてもよい。そして、CPUコア42は、その注視点データと第1仮想カメラデータ領域80の視野角データ(2θ1)等に基づいて第1仮想カメラの座標を算出し、算出した第1仮想カメラの座標を第1仮想カメラデータ領域80に位置データとして記憶する。そして、CPUコア42は、注視点データおよび第1仮想カメラの位置データに基づいて、注視点と、当該注視点を向きかつ視野角2θ1の第1仮想カメラとをワールド座標系の各座標に配置する。   Next, in step S3, the CPU core 42 arranges the gazing point and the first virtual camera at the coordinates of the world coordinate system. Specifically, for example, the CPU core 42 reads the player character position data from the position data and orientation data area 78 of the RAM 48 into the work area, and determines the coordinates of the gazing point based on the position data of the player character. Then, the coordinates of the gazing point are stored in the gazing point data area 84. Note that the position of the gazing point may be set based on the position of an object other than the player character, or may be set at a predetermined position in the virtual three-dimensional space. Then, the CPU core 42 calculates the coordinates of the first virtual camera based on the gaze point data and the viewing angle data (2θ1) of the first virtual camera data area 80, and the calculated coordinates of the first virtual camera are the first coordinates. One virtual camera data area 80 is stored as position data. Then, the CPU core 42 arranges the gazing point and the first virtual camera with the viewing angle 2θ1 in the coordinates of the world coordinate system based on the gazing point data and the position data of the first virtual camera. To do.

続いて、ステップS5で、CPUコア42は、第1仮想カメラデータ領域80の後方クリッピング平面を示すデータをワークエリアに読み出して、第1仮想カメラから注視点方向に距離hcだけ離れた位置に第1仮想カメラの(第1)後方クリッピング平面を設定し、当該後方クリッピング平面を示すデータをワークエリアに生成する。また、このステップS5では、同様にして、第1仮想カメラの第1前方クリッピング平面も設定される。   Subsequently, in step S5, the CPU core 42 reads data indicating the rear clipping plane of the first virtual camera data area 80 into the work area, and sets the first virtual camera at a position hc away from the first virtual camera by the distance hc. A (first) rear clipping plane of one virtual camera is set, and data indicating the rear clipping plane is generated in the work area. In step S5, the first front clipping plane of the first virtual camera is also set in the same manner.

ステップS7では、CPUコア42は、第2仮想カメラをワールド座標系の座標に配置する。具体的には、CPUコア42は、注視点データ領域84の注視点データ、第1仮想カメラデータ領域80の位置データ、第2仮想カメラデータ領域82の視野角データ(2θ2)に基づいて、注視点と第1仮想カメラを結びかつ注視点から第1仮想カメラへ延びる延長線上において注視点を向きかつ視野角が2θ2となるような第2仮想カメラの座標を算出し、算出した第2仮想カメラの座標を位置データとして第2仮想カメラデータ領域82に記憶する。そして、CPUコア42は、第2仮想カメラの位置データに基づいて、注視点を向きかつ視野角2θ2の第2仮想カメラをワールド座標系の座標に配置する。なお、この実施例では、第2仮想カメラの視野角2θ2は、第1仮想カメラの後方クリッピング平面と第2仮想カメラの後方クリッピング平面とが同一となるような値に予め設定されている。   In step S7, the CPU core 42 arranges the second virtual camera at the coordinates of the world coordinate system. Specifically, the CPU core 42 is based on the gazing point data in the gazing point data region 84, the position data in the first virtual camera data region 80, and the viewing angle data (2θ2) in the second virtual camera data region 82. The second virtual camera is calculated by calculating the coordinates of the second virtual camera that connects the viewpoint and the first virtual camera and faces the gazing point on the extension line extending from the gazing point to the first virtual camera and the viewing angle is 2θ2. Are stored in the second virtual camera data area 82 as position data. Then, based on the position data of the second virtual camera, the CPU core 42 arranges the second virtual camera that faces the gazing point and has the viewing angle 2θ2 in the coordinates of the world coordinate system. In this embodiment, the viewing angle 2θ2 of the second virtual camera is preset to a value such that the rear clipping plane of the first virtual camera and the rear clipping plane of the second virtual camera are the same.

ステップS9では、CPUコア42は、物体の座標を第1仮想カメラ座標系の座標に変換する。具体的には、CPUコア42は、ワールド座標系に配置したプレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトを、第1仮想カメラデータ領域80のデータに基づいて、第1仮想カメラ座標系の座標に変換して、第1仮想カメラ座標系での各オブジェクトの座標データをRAM48のワークエリアに生成する。第1仮想カメラ座標系は、図5に示すように、第1仮想カメラの位置を原点とし、注視点方向をZ軸正方向としたXYZ座標系である。なお、座標変換処理は、CPUコア42の指令に従ってGPU50または52によって実行されてよい。   In step S9, the CPU core 42 converts the coordinates of the object into the coordinates of the first virtual camera coordinate system. Specifically, the CPU core 42 converts each object such as a player character, rival character, and background object arranged in the world coordinate system in the first virtual camera coordinate system based on the data in the first virtual camera data area 80. By converting to coordinates, coordinate data of each object in the first virtual camera coordinate system is generated in the work area of the RAM 48. As shown in FIG. 5, the first virtual camera coordinate system is an XYZ coordinate system in which the position of the first virtual camera is the origin and the gazing point direction is the Z-axis positive direction. Note that the coordinate conversion process may be executed by the GPU 50 or 52 in accordance with a command from the CPU core 42.

ステップS11では、CPUコア42は、第2仮想カメラに基づくライバルキャラクタの位置修正処理を実行する。具合的には、CPUコア42は、第1仮想カメラ座標系に変換されたライバルキャラクタのX座標およびY座標を、上述の数1および数2に従って修正(縮小変換)して、その修正後の第1仮想カメラ座標系での座標データをワークエリアに生成する。   In step S11, the CPU core 42 executes a rival character position correction process based on the second virtual camera. Specifically, the CPU core 42 corrects (reduces and converts) the X and Y coordinates of the rival character converted into the first virtual camera coordinate system according to the above-described Equations 1 and 2, and after the correction. Coordinate data in the first virtual camera coordinate system is generated in the work area.

そして、ステップS13で、CPUコア42は仮想3次元空間に配置した全ライバルキャラクタの位置修正処理が終了したか否かを判断する。ステップS13で“NO”であれば、つまり、まだ位置修正処理をしていないライバルキャラクタが残っている場合には、処理はステップS11に戻る。   In step S13, the CPU core 42 determines whether or not the position correction process for all the rival characters arranged in the virtual three-dimensional space has been completed. If “NO” in the step S13, that is, if a rival character that has not yet been subjected to the position correction process remains, the process returns to the step S11.

一方、ステップS13で“YES”であれば、CPUコア42は、ステップS15で、物体を仮想スクリーンに投影変換する。具体的には、CPUコア42は、第1仮想カメラ座標系の第1クリッピングエリア内に存在するプレイヤキャラクタ、ライバルキャラクタ、および背景オブジェクト等の各オブジェクトを、第1仮想カメラデータおよび仮想スクリーンを示すデータ等に基づいて、透視投影変換によって2次元投影平面座標系の座標に変換して、2次元投影平面座標系での各オブジェクトの座標等を示すデータをたとえばRAM48のワークエリアに生成する。生成される各オブジェクトの座標データは2次元投影平面座標系のXY座標とともに奥行き情報(Z値)を含む。なお、この座標変換処理も、上述のように、CPUコア42の指令に従ってGPU50または52によって実行されてよい。このステップS15を終了すると、処理は次の図8のステップS17へ進む。   On the other hand, if “YES” in the step S13, the CPU core 42 projects and converts the object on the virtual screen in a step S15. Specifically, the CPU core 42 represents each object such as a player character, a rival character, and a background object existing in the first clipping area of the first virtual camera coordinate system, the first virtual camera data, and the virtual screen. Based on the data and the like, it is converted into coordinates in the two-dimensional projection plane coordinate system by perspective projection conversion, and data indicating the coordinates of each object in the two-dimensional projection plane coordinate system is generated in the work area of the RAM 48, for example. The generated coordinate data of each object includes depth information (Z value) together with XY coordinates of the two-dimensional projection plane coordinate system. Note that this coordinate conversion process may also be executed by the GPU 50 or 52 in accordance with a command from the CPU core 42 as described above. When step S15 is completed, the process proceeds to step S17 in FIG.

図8のステップS17では、CPUコア42は背景オブジェクトの描画処理を実行する。この処理の動作は図9に詳細に示される。図9の最初のステップS41で、CPUコア42は、RAM48のテクスチャデータ領域76から、描画しようとする背景オブジェクトに対応するテクスチャデータを読み出して、そのテクスチャデータをGPU50または52を介してVRAM56または58に書き込む。   In step S17 of FIG. 8, the CPU core 42 executes background object drawing processing. The operation of this process is shown in detail in FIG. In the first step S41 of FIG. 9, the CPU core 42 reads texture data corresponding to the background object to be drawn from the texture data area 76 of the RAM 48, and the texture data is transmitted to the VRAM 56 or 58 via the GPU 50 or 52. Write to.

次に、ステップS43で、CPUコア42は、投影平面座標系に投影された当該背景オブジェクトに相当する位置の描画バッファの各ピクセルのZバッファを参照する。たとえば、CPUコア42は、GPU50または52を用いて、VRAM56または58のZバッファから、当該背景オブジェクトに相当する位置の画素に対応するデータ(Z値)をRAM48のワークエリアに読み出す。   Next, in step S43, the CPU core 42 refers to the Z buffer of each pixel of the drawing buffer at a position corresponding to the background object projected onto the projection plane coordinate system. For example, the CPU core 42 reads data (Z value) corresponding to the pixel at the position corresponding to the background object from the Z buffer of the VRAM 56 or 58 to the work area of the RAM 48 using the GPU 50 or 52.

そして、ステップS45で、CPUコア42は、読み出したZバッファのデータとステップS15で生成された奥行き情報とに基づいて、書込み対象のピクセルのZバッファ値が、書込みしようとする背景オブジェクトの奥行き情報より大きいか否かを判定する。   In step S45, the CPU core 42 determines that the Z buffer value of the pixel to be written is the depth information of the background object to be written based on the read Z buffer data and the depth information generated in step S15. Determine if greater than.

ステップS45で“YES”であれば、つまり、書込みしようとする背景オブジェクトの方が当該ピクセルに既に書き込まれている物体よりも視点に近い場合、あるいは当該ピクセルのZ値が初期値である場合には、ステップS47で、CPUコア42は、GPU50または52を介して、VRAM56または58の書込み対象のピクセルに対応するZバッファに、背景オブジェクトの奥行き情報を格納する。つまり、当該ピクセルのZバッファ値が更新される。   If “YES” in the step S45, that is, if the background object to be written is closer to the viewpoint than the object already written in the pixel, or if the Z value of the pixel is the initial value. In step S47, the CPU core 42 stores the depth information of the background object in the Z buffer corresponding to the pixel to be written in the VRAM 56 or 58 via the GPU 50 or 52. That is, the Z buffer value of the pixel is updated.

続いて、ステップS49で、CPUコア42は、GPU50または52を介して、VRAM56または58の描画バッファ(フレームバッファ)の当該ピクセルに、背景オブジェクトのテクスチャの色情報を書き込む。ステップS49を終了すると処理はステップS51へ進む。   Subsequently, in step S49, the CPU core 42 writes the color information of the texture of the background object to the pixel of the drawing buffer (frame buffer) of the VRAM 56 or 58 via the GPU 50 or 52. When step S49 ends, the process proceeds to step S51.

一方、ステップS45で“NO”であれば、つまり、書込みしようとする背景オブジェクトの方が既に書き込まれている物体よりも視点から遠い場合には、そのままステップS51へ進む。   On the other hand, if “NO” in the step S45, that is, if the background object to be written is farther from the viewpoint than the already written object, the process proceeds to the step S51 as it is.

ステップS51では、CPUコア42は、当該背景オブジェクトに相当する位置の全ピクセルの描画処理が終了したか否かを判定し、“NO”であればステップS43へ戻って、残りのピクセルについてステップS43からの描画処理を実行する。ステップS51で“YES”であれば、CPUコア42はステップS53で、投影平面座標系に投影された全背景オブジェクトの描画処理が終了したか否かを判定し、“NO”であればステップS41へ戻って、残りの背景オブジェクトについての描画処理を実行する。ステップS53で“YES”であれば、この背景オブジェクトの描画処理を終了して、処理は図8のステップS19へ戻る。   In step S51, the CPU core 42 determines whether or not the drawing process for all the pixels at the position corresponding to the background object has been completed. If “NO”, the CPU core 42 returns to step S43 and performs step S43 for the remaining pixels. The drawing process from is executed. If “YES” in the step S51, the CPU core 42 determines whether or not the drawing process of all the background objects projected on the projection plane coordinate system is completed in a step S53. Returning to, the drawing process for the remaining background objects is executed. If “YES” in the step S53, the background object drawing process is ended, and the process returns to the step S19 in FIG.

図8のステップS19では、CPUコア42は、プレイヤキャラクタの描画処理を実行する。この処理の動作は図10に詳細に示される。図10の最初のステップS61で、CPUコア42は、テクスチャデータ領域76からプレイヤキャラクタに対応するテクスチャデータを読み出して、そのテクスチャデータをGPU50または52を介してVRAM56または58に書き込む。   In step S19 of FIG. 8, the CPU core 42 executes a player character drawing process. The operation of this process is shown in detail in FIG. In the first step S61 in FIG. 10, the CPU core 42 reads texture data corresponding to the player character from the texture data area 76 and writes the texture data to the VRAM 56 or 58 via the GPU 50 or 52.

次に、ステップS63で、CPUコア42は、上述のステップS43と同様にして、投影平面座標系に投影されたプレイヤキャラクタに相当する位置の描画バッファの各ピクセルのZバッファを参照する。   Next, in step S63, the CPU core 42 refers to the Z buffer of each pixel of the drawing buffer at the position corresponding to the player character projected on the projection plane coordinate system, as in step S43 described above.

そして、ステップS65で、CPUコア42は、参照したZバッファのデータとステップS15で生成された奥行き情報とに基づいて、書込み対象のピクセルのZバッファ値が、書込みしようとするプレイヤキャラクタの奥行き情報より大きいか否かを判定する。   In step S65, the CPU core 42 determines that the Z buffer value of the pixel to be written is the depth information of the player character to be written based on the referenced Z buffer data and the depth information generated in step S15. Determine if greater than.

ステップS65で“YES”であれば、つまり、書込みしようとするプレイヤキャラクタの方が当該ピクセルに既に書き込まれている物体よりも視点に近い場合、あるいは当該ピクセルのZ値が初期値である場合には、ステップS67で、CPUコア42は、当該ピクセルのZバッファ値を更新する。つまり、上述のステップS47と同様にして、CPUコア42は、書込み対象のピクセルに対応するZバッファにプレイヤキャラクタの奥行き情報を格納する。   If “YES” in the step S65, that is, if the player character to be written is closer to the viewpoint than the object already written in the pixel, or if the Z value of the pixel is the initial value. In step S67, the CPU core 42 updates the Z buffer value of the pixel. That is, similarly to step S47 described above, the CPU core 42 stores the depth information of the player character in the Z buffer corresponding to the pixel to be written.

続いて、ステップS69で、CPUコア42は、上述のステップS49と同様にして、GPU50または52を介して、VRAM56または58の描画バッファ(フレームバッファ)の当該ピクセルに、プレイヤキャラクタのテクスチャの色情報を書き込む。ステップS69を終了すると処理はステップS71へ進む。   Subsequently, in step S69, the CPU core 42 receives the color information of the texture of the player character on the corresponding pixel in the drawing buffer (frame buffer) of the VRAM 56 or 58 via the GPU 50 or 52 in the same manner as in step S49 described above. Write. When step S69 ends, the process proceeds to step S71.

一方、ステップS65で“NO”であれば、つまり、書込みしようとするプレイヤキャラクタの方が既に書き込まれている物体よりも視点から遠い場合には、そのままステップS71へ進む。   On the other hand, if “NO” in the step S65, that is, if the player character to be written is farther from the viewpoint than the already written object, the process proceeds to the step S71 as it is.

ステップS71では、CPUコア42は、プレイヤキャラクタに相当する位置の全ピクセルの描画処理が終了したか否かを判定し、“NO”であればステップS63へ戻って、残りのピクセルについて描画処理を実行する。一方、ステップS71で“YES”であれば、このプレイヤキャラクタの描画処理を終了して、処理は図8のステップS21へ戻る。   In step S71, the CPU core 42 determines whether or not drawing processing for all the pixels at the position corresponding to the player character has been completed. If “NO”, the CPU core 42 returns to step S63 to perform drawing processing for the remaining pixels. Execute. On the other hand, if “YES” in the step S71, the player character drawing process is ended, and the process returns to the step S21 in FIG.

図8のステップS21では、CPUコア42は、ライバルキャラクタの描画処理を実行する。この処理の動作は図11に詳細に示される。図11の最初のステップS81で、CPUコア42は、テクスチャデータ領域76から描画しようとするライバルキャラクタに対応するテクスチャデータを読み出して、そのテクスチャデータをGPU50または52を介してVRAM56または58に書き込む。   In step S21 of FIG. 8, the CPU core 42 executes rival character drawing processing. The operation of this process is shown in detail in FIG. In the first step S81 in FIG. 11, the CPU core 42 reads texture data corresponding to the rival character to be drawn from the texture data area 76, and writes the texture data to the VRAM 56 or 58 via the GPU 50 or 52.

次に、ステップS83で、CPUコア42は、上述のステップS43と同様にして、投影平面座標系に投影された当該ライバルキャラクタに相当する位置の描画バッファの各ピクセルのZバッファを参照する。   Next, in step S83, the CPU core 42 refers to the Z buffer of each pixel of the drawing buffer at the position corresponding to the rival character projected onto the projection plane coordinate system, as in step S43 described above.

そして、ステップS85で、CPUコア42は、参照したZバッファのデータとステップS15で生成された奥行き情報とに基づいて、書込み対象のピクセルのZバッファ値が、書込みしようとするライバルキャラクタの奥行き情報より大きいか否かを判定する。   In step S85, the CPU core 42 determines that the Z buffer value of the pixel to be written is the depth information of the rival character to be written based on the referenced Z buffer data and the depth information generated in step S15. Determine if greater than.

ステップS85で“YES”であれば、つまり、書込みしようとするライバルキャラクタの方が当該ピクセルに既に書き込まれている物体よりも視点に近い場合、あるいは当該ピクセルのZ値が初期値である場合には、ステップS87で、CPUコア42は、上述のステップS47と同様にして、当該ピクセルに対応するZバッファにライバルキャラクタの奥行き情報を上書きして、当該ピクセルのZバッファ値を更新する。   If “YES” in the step S85, that is, if the rival character to be written is closer to the viewpoint than the object already written in the pixel, or if the Z value of the pixel is the initial value. In step S87, the CPU core 42 overwrites the depth information of the rival character in the Z buffer corresponding to the pixel and updates the Z buffer value of the pixel in the same manner as in step S47 described above.

続いて、ステップS89で、CPUコア42は、上述のステップS49と同様にして、描画バッファの当該ピクセルにライバルキャラクタのテクスチャの色情報を上書きする。ステップS89を終了すると処理はステップS51へ進む。   Subsequently, in step S89, the CPU core 42 overwrites the color information of the rival character texture on the pixel in the drawing buffer in the same manner as in step S49 described above. When step S89 ends, the process proceeds to step S51.

一方、ステップS85で“NO”であれば、つまり、書込みしようとするライバルキャラクタの方が既に書き込まれている物体よりも視点から遠い場合には、そのままステップS91へ進む。   On the other hand, if “NO” in the step S85, that is, if the rival character to be written is farther from the viewpoint than the already written object, the process proceeds to the step S91 as it is.

ステップS91では、CPUコア42は、当該ライバルキャラクタに相当する位置の全ピクセルの描画処理が終了したか否かを判定し、“NO”であればステップS83へ戻って、残りのピクセルについてステップS83からの処理を実行する。一方、ステップS91で“YES”であれば、CPUコア42はステップS93で、投影平面座標系に投影された全ライバルキャラクタの描画処理が終了したか否かを判定し、“NO”であればステップS81へ戻って、残りのライバルキャラクタについての描画処理を実行する。ステップS93で“YES”であれば、このライバルキャラクタの描画処理を終了して、処理は図8のステップS23へ戻る。   In step S91, the CPU core 42 determines whether or not drawing processing for all the pixels at the position corresponding to the rival character has been completed. If “NO”, the CPU core 42 returns to step S83 and performs step S83 for the remaining pixels. The process from is executed. On the other hand, if “YES” in the step S91, the CPU core 42 determines whether or not the drawing processing of all the rival characters projected on the projection plane coordinate system has been completed in a step S93, and if “NO”, Returning to step S81, the drawing process for the remaining rival characters is executed. If “YES” in the step S93, the rival character drawing process is ended, and the process returns to the step S23 in FIG.

図8のステップS23では、CPUコア42は、描画された画面をLCD12またはLCD14に表示する。たとえば、CPUコア42は、LCDコントローラ60を用いて、VRAM56または58の描画バッファの画像データをLCD12または14に与えて、その画像をLCD12または14に表示する。   In step S <b> 23 of FIG. 8, the CPU core 42 displays the drawn screen on the LCD 12 or the LCD 14. For example, the CPU core 42 uses the LCD controller 60 to give the image data of the drawing buffer of the VRAM 56 or 58 to the LCD 12 or 14 and displays the image on the LCD 12 or 14.

続いて、ステップS25で、CPUコア42は、プレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトのワールド座標系での位置および向き等を更新する。具体的には、CPUコア42は、操作スイッチ20またはタッチパネル22から取得した操作入力データに基づいてプレイヤキャラクタの位置および向きを算出し、その算出した位置データおよび向きデータを、位置データおよび向きデータ領域78のプレイヤキャラクタに対応する領域に書き込む。また、CPUコア42は、ライバルキャラクタおよび背景オブジェクトの位置および向きを算出し、その位置データおよび向きデータを、位置データおよび向きデータ領域78のライバルキャラクタおよび背景オブジェクトに対応する領域にそれぞれ書き込む。   Subsequently, in step S25, the CPU core 42 updates the position and orientation of each object such as the player character, rival character, and background object in the world coordinate system. Specifically, the CPU core 42 calculates the position and orientation of the player character based on the operation input data acquired from the operation switch 20 or the touch panel 22, and uses the calculated position data and orientation data as the position data and orientation data. The area 78 is written in the area corresponding to the player character. Further, the CPU core 42 calculates the positions and orientations of the rival character and the background object, and writes the position data and orientation data in the areas corresponding to the rival character and the background object in the position data and orientation data area 78, respectively.

そして、ステップS27で、CPUコア42は、画像処理(ゲーム処理)を終了するか否かを判断し、“NO”であれば図7のステップS3に戻って、画像の生成および表示のための処理を繰り返す。一方、ステップS27で“YES”であればこの処理を終了する。   In step S27, the CPU core 42 determines whether or not to end the image processing (game processing). If “NO”, the CPU core 42 returns to step S3 in FIG. 7 to generate and display an image. Repeat the process. On the other hand, if “YES” in the step S27, the process is ended.

この実施例によれば、第1仮想カメラの第1クリッピングエリアの周囲に存在する物体(ライバルキャラクタ)を第2仮想カメラに基づいて位置修正することによって、第1仮想カメラの視野範囲内に取り込むようにした。したがって、仮想3次元空間内の物体を画面に表示され易くすることができる。しかも、位置修正した物体を第1仮想カメラから見て描画するので、画面における見た目の大きさに関して、仮想3次元空間内の位置関係との整合性をとることができる。したがって、物体を適正な大きさで表示できるので、プレイヤにとって見易く表示できる。   According to this embodiment, the position of an object (rival character) existing around the first clipping area of the first virtual camera is corrected based on the second virtual camera to be captured within the visual field range of the first virtual camera. I did it. Therefore, an object in the virtual three-dimensional space can be easily displayed on the screen. In addition, since the object whose position is corrected is viewed and drawn from the first virtual camera, it is possible to achieve consistency with the positional relationship in the virtual three-dimensional space with respect to the size of the appearance on the screen. Therefore, the object can be displayed in an appropriate size, so that it can be displayed easily for the player.

たとえば視野の端の方に存在しているライバルキャラクタが第1仮想カメラ側に移動して第1仮想カメラの視野範囲外に出たとしても、第2仮想カメラの視野範囲内であれば、第2仮想カメラに基づいて、第1仮想カメラの視野範囲内に取り込むことができるので、その物体が急激に画面外へ消えるように見える現象を緩和することができる。また、第1仮想カメラの近くの視野外にそれまで存在していた物体が第1仮想カメラ側と反対方向に移動して第1仮想カメラの視野範囲内に入ってくるような場合にも、それまでの位置が第2仮想カメラの視野範囲内であれば第2仮想カメラに基づいて第1仮想カメラの視野範囲に取り込むことができるので、その物体が画面外から急激に現れるように見える現象も緩和することができる。したがって、たとえば視野の境界を移動するような物体であっても、画面に長い間表示しておくことが可能になり、プレイヤにとって見易い画面を表示することができる。さらに、位置修正では第1仮想カメラ座標系でのZ座標を変更しないので、十分な遠近感や立体感を維持することができる。たとえば、物体が第1仮想カメラに近いほど、その見た目の移動速度が速くなるという現象なども維持できる。   For example, even if a rival character that exists near the edge of the field of view moves to the first virtual camera side and goes out of the field of view of the first virtual camera, if it is within the field of view of the second virtual camera, Since it can be captured within the field of view of the first virtual camera based on the two virtual cameras, it is possible to alleviate the phenomenon that the object appears to disappear rapidly from the screen. Also, when an object that has existed outside the field of view near the first virtual camera moves in the opposite direction to the first virtual camera side and enters the field of view of the first virtual camera, If the previous position is within the field of view of the second virtual camera, the object can be taken into the field of view of the first virtual camera based on the second virtual camera, so that the object appears to appear suddenly from outside the screen. Can also be relaxed. Therefore, for example, even an object that moves on the boundary of the visual field can be displayed on the screen for a long time, and a screen that is easy to see for the player can be displayed. Furthermore, since position correction does not change the Z coordinate in the first virtual camera coordinate system, it is possible to maintain a sufficient perspective and stereoscopic effect. For example, it is possible to maintain the phenomenon that the moving speed of the appearance increases as the object is closer to the first virtual camera.

また、第1仮想カメラの近くに存在する物体であっても画面に表示され易くなるので、たとえば第1仮想カメラがプレイヤキャラクタのみに注目するように配置される場合であっても、プレイヤキャラクタ以外の物体をプレイヤの目に触れ易くすることができる。したがって、プレイヤキャラクタと他の物体等を含めた3次元空間内の状況を把握され易くすることができる。たとえばプレイヤキャラクタとライバルキャラクタとが空間内を移動しながら競走するようなゲームでも、プレイヤキャラクタばかりでなくライバルキャラクタも一緒に表示されることが多くなるので、緊張感を高めたりスリルを大きくしたりすることができ、ゲームの楽しさを向上することができる。   In addition, since an object that is present near the first virtual camera is easily displayed on the screen, for example, even if the first virtual camera is arranged so as to focus only on the player character, other than the player character This makes it easier for the player to touch the object. Therefore, the situation in the three-dimensional space including the player character and other objects can be easily grasped. For example, even in a game in which a player character and a rival character race while moving in space, not only the player character but also the rival character are often displayed together. Can improve the fun of the game.

なお、上述の実施例では、図5に示したように、位置修正処理では、第2仮想カメラの視野角を示す線(太い実線)の内側の部分を第1仮想カメラの視野内に収まるように座標変換をしていた。たとえば第1仮想カメラの周辺に向けて物体が移動してくるような場合には、第1仮想カメラに近くなると、物体が第1仮想カメラにぶつかるような位置には実際には存在していないにもかかわらず、生成されるゲーム画面では、視点にぶつかってくるように見える現象が広い範囲で生じることとなる。そこで、図12に示す位置修正の変形例のように、第2仮想カメラの視野角を示す線の一部(第1カメラ座標系で、0<z≦zbの範囲)を、第1仮想カメラの位置で収束するような曲線とし、この線(図12で太い実線で示される。)の内側の領域が第1仮想カメラの視野内に収まるように座標変換を行うようにしてよい。つまり、第1クリッピングエリア外の位置修正の対象となる領域が、第1仮想カメラに近づくにつれて第1仮想カメラの位置に収束するようにして、その位置修正対象領域を減らしていくようにしてよい。   In the above-described embodiment, as illustrated in FIG. 5, in the position correction process, the portion inside the line (thick solid line) indicating the viewing angle of the second virtual camera is within the field of view of the first virtual camera. Was transformed into a coordinate. For example, when an object moves toward the periphery of the first virtual camera, when the object is close to the first virtual camera, it does not actually exist at a position where the object hits the first virtual camera. Nevertheless, on the generated game screen, a phenomenon that seems to hit the viewpoint occurs in a wide range. Therefore, as in the modification example of the position correction shown in FIG. 12, a part of the line indicating the viewing angle of the second virtual camera (in the first camera coordinate system, a range of 0 <z ≦ zb) is transferred to the first virtual camera. The curve may be converged at the position of, and coordinate conversion may be performed so that the area inside this line (indicated by a thick solid line in FIG. 12) is within the field of view of the first virtual camera. In other words, the position correction target area outside the first clipping area may converge to the position of the first virtual camera as it approaches the first virtual camera, and the position correction target area may be reduced. .

具体的には、この変形例の位置修正処理では、縮小率f(z)は、0<z≦zbの場合には次の数4に従って算出される。なお、zb=hc×定数である。このzbを算出するための定数の値としては、0より大きく1より小さい範囲の所定の値が適宜に設定される。   Specifically, in the position correction process of this modification, the reduction rate f (z) is calculated according to the following equation 4 when 0 <z ≦ zb. Note that zb = hc × constant. As a constant value for calculating zb, a predetermined value in a range larger than 0 and smaller than 1 is appropriately set.

[数4]
f(z)=z×tanθ1/{(zb×tanθ2−xb)×z^2/zb^2−(tanθ2×zb−2×xb)×z/zb)}
ここで、xb=hc×tanθ1−(hc−zb)×tanθ2
また、zb<z≦hcの場合の縮小率f(z)は上記数3と同じである。
[Equation 4]
f (z) = z × tan θ1 / {(zb × tan θ2-xb) × z ^ 2 / zb ^ 2- (tan θ2 × zb-2 × xb) × z / zb)}
Here, xb = hc × tan θ1− (hc−zb) × tan θ2
Further, the reduction ratio f (z) in the case of zb <z ≦ hc is the same as the above formula 3.

この変形例でも、zの値に応じてf(z)の値が変化する。具体的には、数4による縮小変換は、物体の位置が第1仮想カメラに近づくにつれて縮小率f(z)の値が大きくなるような変換である。つまり、第1仮想カメラに近い領域(0<z≦zbの範囲)では、位置修正対象の物体(ライバルキャラクタ)の位置が第1仮想カメラに近いほど、縮小率f(z)の値を大きくすることができる。したがって、数4では、物体が第1仮想カメラに近づくにつれて、つまり、z座標の値が小さくなるにつれて、第1仮想カメラ座標系でのx座標値およびy座標値をあまり縮小されないようにすることができる。これによって、物体が第1仮想カメラに近づくにつれて、その修正後の物体の位置を第1仮想カメラから見た実際の物体の位置に徐々に近づけていくことができる。したがって、変形例の位置修正によれば、たとえば第1仮想カメラの周辺に向けて物体が移動してくるような場合には、その物体が第1仮想カメラにぶつかってくるように見える現象を抑制することができる。   Also in this modification, the value of f (z) changes according to the value of z. Specifically, the reduction conversion according to Equation 4 is a conversion in which the value of the reduction rate f (z) increases as the position of the object approaches the first virtual camera. That is, in the region close to the first virtual camera (range 0 <z ≦ zb), the value of the reduction rate f (z) increases as the position of the position correction target object (rival character) is closer to the first virtual camera. can do. Accordingly, in Equation 4, the x coordinate value and the y coordinate value in the first virtual camera coordinate system are not reduced so much as the object approaches the first virtual camera, that is, as the value of the z coordinate decreases. Can do. Thereby, as the object approaches the first virtual camera, the position of the corrected object can be gradually brought closer to the actual object position viewed from the first virtual camera. Therefore, according to the position correction of the modification, for example, when an object moves toward the periphery of the first virtual camera, the phenomenon that the object appears to hit the first virtual camera is suppressed. can do.

また、上述の実施例では、第2仮想カメラに基づいて特定の物体(ライバルキャラクタ)の位置を修正した後に、第1仮想カメラに基づいて仮想3次元空間のシーンを描画することによって、画面を生成するようにしていた。しかし、図13に示す他の実施例のように、第1仮想カメラに基づいて描画した画像と、第2仮想カメラに基づいて描画した特定の物体の画像とを合成することによって、画面を生成するようにしてもよい。この他の実施例によっても、上述の実施例と同様な効果を奏することができ、物体を画面に表示され易くすることができる。   In the above-described embodiment, the position of a specific object (rival character) is corrected based on the second virtual camera, and then the scene is drawn in the virtual three-dimensional space based on the first virtual camera. I was trying to generate. However, as in the other embodiment shown in FIG. 13, the screen is generated by combining the image drawn based on the first virtual camera and the image of the specific object drawn based on the second virtual camera. You may make it do. Also according to the other embodiments, the same effects as those of the above-described embodiments can be obtained, and the object can be easily displayed on the screen.

具体的には、この他の実施例では、第1仮想カメラおよび第2仮想カメラの2つの視点は上述の実施例と同様にして配置されている。図13に示すように、仮想3次元空間内のプレイヤキャラクタ90および背景オブジェクト(図示せず)は第1仮想カメラに基づいて描画され、ライバルキャラクタ92は第2仮想カメラに基づいて描画される。   Specifically, in this other embodiment, the two viewpoints of the first virtual camera and the second virtual camera are arranged in the same manner as in the above-described embodiment. As shown in FIG. 13, the player character 90 and the background object (not shown) in the virtual three-dimensional space are drawn based on the first virtual camera, and the rival character 92 is drawn based on the second virtual camera.

ただし、第2仮想カメラは、第1仮想カメラの第1クリッピングエリアの周囲の領域をその視野範囲にとらえるために、共通の後方クリッピング平面から第1仮想カメラよりも遠い位置に配置されているので、ライバルキャラクタ92を第2仮想カメラに基づいてそのまま描画すると、画面においてライバルキャラクタ92が小さくなり過ぎてしまう。そこで、この他の実施例では、描画前にライバルキャラクタ92の大きさを拡大する処理を実行する。これによって、仮想3次元空間内でのライバルキャラクタ92と他のオブジェクトとの位置関係に基づく遠近感の整合性をとることができるので、物体を見易く表示することができる。たとえば、第1仮想カメラと後方クリッピング平面との距離をh1cとし、第2仮想カメラと後方クリッピング平面との距離をh2cとすると、両者の比h2c/h1cによって与えられる拡大率に基づいて、ライバルキャラクタ92の大きさを拡大する。その後、拡大されたライバルキャラクタ92を第2仮想カメラに基づいて描画する。   However, since the second virtual camera is arranged at a position farther from the common rear clipping plane than the first virtual camera in order to capture the area around the first clipping area of the first virtual camera in the visual field range. If the rival character 92 is drawn as it is based on the second virtual camera, the rival character 92 becomes too small on the screen. Therefore, in another embodiment, a process for enlarging the size of the rival character 92 is performed before drawing. This makes it possible to achieve perspective consistency based on the positional relationship between the rival character 92 and other objects in the virtual three-dimensional space, so that the object can be displayed easily. For example, if the distance between the first virtual camera and the rear clipping plane is h1c and the distance between the second virtual camera and the rear clipping plane is h2c, the rival character is determined based on the enlargement ratio given by the ratio h2c / h1c between the two. The size of 92 is enlarged. Thereafter, the enlarged rival character 92 is drawn based on the second virtual camera.

そして、第1仮想カメラに基づいて描画した画像に、第2仮想カメラに基づいて描画した画像を合成することによって、画面の画像を生成する。なお、第1仮想カメラの図示しない仮想スクリーンまたは第2仮想カメラの図示しない仮想スクリーンのサイズが表示画面サイズと異なる場合には、描画後にその仮想スクリーン画像のサイズを拡大または縮小処理によって表示画面サイズに一致させてから合成する。   Then, an image drawn on the basis of the first virtual camera is combined with an image drawn on the basis of the second virtual camera to generate a screen image. If the size of the virtual screen (not shown) of the first virtual camera or the size of the virtual screen (not shown) of the second virtual camera is different from the display screen size, the size of the virtual screen image is enlarged or reduced after the drawing process. After synthesizing with

この他の実施例の動作が図14および図15のフロー図に示される。なお、図14および図15において上述の実施例と同様の処理を実行するステップには、同一の参照符号を付して、その詳細な説明を省略する。   The operation of this other embodiment is shown in the flow charts of FIGS. In FIG. 14 and FIG. 15, steps that execute the same processing as in the above-described embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.

CPUコア42は、上述の実施例と同様にして、図14のステップS1で各オブジェクトをワールド座標系に配置し、ステップS3で注視点と第1仮想カメラを配置し、ステップS5で第1仮想カメラから距離h1cだけ離れた位置に第1後方クリッピング平面を設定する。   The CPU core 42 arranges each object in the world coordinate system in step S1 of FIG. 14 in the same manner as in the above-described embodiment, arranges the gazing point and the first virtual camera in step S3, and performs the first virtual operation in step S5. A first rear clipping plane is set at a position away from the camera by a distance h1c.

ステップS101では、CPUコア42は、ライバルキャラクタ以外のオブジェクト(背景オブジェクトおよびプレイヤキャラクタ)を第1仮想カメラ座標系の座標に変換する。そして、ステップS103で、CPUコア42は、第1仮想カメラ座標系の背景オブジェクトおよびプレイヤキャラクタを2次元投影平面座標系の座標に透視投影変換する。なお、第1仮想カメラ座標系への変換処理は図7のステップS9と同様であり、2次元投影平面座標系への変換処理は図7のステップS15と同様である。   In step S101, the CPU core 42 converts an object (background object and player character) other than the rival character into coordinates in the first virtual camera coordinate system. In step S103, the CPU core 42 performs perspective projection conversion of the background object and the player character in the first virtual camera coordinate system to the coordinates in the two-dimensional projection plane coordinate system. The conversion process to the first virtual camera coordinate system is the same as step S9 in FIG. 7, and the conversion process to the two-dimensional projection plane coordinate system is the same as step S15 in FIG.

続いて、CPUコア42は、ステップS17で背景オブジェクトの描画処理を実行し、ステップS19でプレイヤキャラクタの描画処理を実行する。   Subsequently, the CPU core 42 executes a background object drawing process in step S17, and executes a player character drawing process in step S19.

このようにして、第1仮想カメラに基づいて、背景オブジェクトおよびプレイヤキャラクタが描画バッファに描画される。続いて、第2仮想カメラに基づいて、ライバルキャラクタが描画される。   In this manner, the background object and the player character are drawn in the drawing buffer based on the first virtual camera. Subsequently, a rival character is drawn based on the second virtual camera.

ステップS7で、CPUコア42は第2仮想カメラを配置する。そして、ステップS105で、CPUコア42は、第2仮想カメラから距離h2cだけ離れた位置に第2後方クリッピング平面を設定する。ただし、この他の実施例でも、図13に示すように第1後方クリッピング平面と第2後方クリッピング平面とは同じ面である。つまり、この図14のステップS7とステップS105とで、CPUコア42は、後方クリッピング平面から距離h2cの位置に、注視点を向き視野角2θ2の第2仮想カメラを配置する。   In step S7, the CPU core 42 arranges the second virtual camera. In step S105, the CPU core 42 sets a second rear clipping plane at a position separated from the second virtual camera by a distance h2c. However, also in this other embodiment, as shown in FIG. 13, the first rear clipping plane and the second rear clipping plane are the same plane. That is, in step S7 and step S105 in FIG. 14, the CPU core 42 arranges the second virtual camera having the viewing angle 2θ2 with the gazing point at the position h2c from the rear clipping plane.

続いて、図15のステップS107で、CPUコア42は、第2仮想カメラデータ等に基づいて、ライバルキャラクタを第2仮想カメラ座標系の座標に変換する。   Subsequently, in step S107 of FIG. 15, the CPU core 42 converts the rival character into coordinates of the second virtual camera coordinate system based on the second virtual camera data and the like.

そして、ステップS109で、CPUコア42は、後方クリッピング平面からの第2仮想カメラおよび第1仮想カメラの距離比h2c/h1c(拡大率)に基づいて、ライバルキャラクタの大きさを拡大し、拡大したライバルキャラクタのデータをワークエリアに生成する。この拡大処理は、CPUコア42の指示に基づいてGPU50または52によってなされてよい。ステップS111では、CPUコア42は、全ライバルキャラクタの拡大処理が終了したか否かを判断し、“NO”であればステップS109へ戻って、残りのライバルキャラクタについて拡大処理を実行する。   In step S109, the CPU core 42 enlarges the size of the rival character based on the distance ratio h2c / h1c (enlargement ratio) between the second virtual camera and the first virtual camera from the rear clipping plane. Generate rival character data in the work area. This enlargement process may be performed by the GPU 50 or 52 based on an instruction from the CPU core 42. In step S111, the CPU core 42 determines whether or not the enlargement process for all the rival characters has been completed. If “NO”, the CPU core 42 returns to step S109 and executes the enlargement process for the remaining rival characters.

一方、ステップS111で“YES”であれば、CPUコア42は、ステップS113で、第2仮想カメラ座標系の第2クリッピングエリアに存在するライバルキャラクタを、第2仮想カメラデータおよび仮想スクリーンを示すデータ等に基づいて、第1仮想カメラの場合と同じ2次元投影平面座標系の座標に透視投影変換する。具体的には、第2仮想カメラの仮想スクリーンとして第1仮想カメラの仮想スクリーンと同じ平面を設定している場合には、ライバルキャラクタを当該仮想スクリーンの座標系に変換して、この座標系でのライバルキャラクタの座標データをたとえばRAM48のワークエリアに生成する。一方、第2仮想カメラの仮想スクリーンとして第1仮想カメラの仮想スクリーンと異なる平面を設定する場合には、ライバルキャラクタを第2仮想カメラの仮想スクリーンの座標系に変換する。そして、第2仮想カメラの仮想スクリーンが第1仮想カメラの仮想スクリーンと同一になるように、第2仮想カメラの仮想スクリーン座標系でのライバルキャラクタを拡大または縮小変換して、第1仮想カメラの場合と同一の投影平面座標系でのライバルキャラクタの座標データをたとえばRAM48のワークエリアに生成する。   On the other hand, if “YES” in the step S111, the CPU core 42 selects the rival character existing in the second clipping area of the second virtual camera coordinate system as the second virtual camera data and the virtual screen data in a step S113. Based on the above, perspective projection conversion to the coordinates of the same two-dimensional projection plane coordinate system as in the case of the first virtual camera is performed. Specifically, when the same plane as the virtual screen of the first virtual camera is set as the virtual screen of the second virtual camera, the rival character is converted into the coordinate system of the virtual screen, The coordinate data of the rival character is generated in the work area of the RAM 48, for example. On the other hand, when a plane different from the virtual screen of the first virtual camera is set as the virtual screen of the second virtual camera, the rival character is converted into the coordinate system of the virtual screen of the second virtual camera. Then, the rival character in the virtual screen coordinate system of the second virtual camera is enlarged or reduced so that the virtual screen of the second virtual camera becomes the same as the virtual screen of the first virtual camera. The coordinate data of the rival character in the same projection plane coordinate system as the case is generated in the work area of the RAM 48, for example.

そして、CPUコア42は、ステップS21でライバルキャラクタの描画処理を実行して、ステップS23で描画された画面をLCD12または14に表示する。また、ステップS25で、CPUコア42は、プレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクトのワールド座標系での位置および向きを更新する。そして、ステップS27で画像処理を終了するか否かを判定し、“NO”であれば図14のステップS3に戻り、“YES”であればこの画像処理を終了する。   Then, the CPU core 42 executes rival character drawing processing in step S21, and displays the screen drawn in step S23 on the LCD 12 or 14. In step S25, the CPU core 42 updates the position and orientation of the player character, rival character, and background object in the world coordinate system. In step S27, it is determined whether or not to end the image processing. If “NO”, the process returns to step S3 in FIG. 14, and if “YES”, the image processing is ended.

この発明の一実施例の画像処理装置を示す外観図である。1 is an external view showing an image processing apparatus according to an embodiment of the present invention. 図1実施例の電気的な構成を示すブロック図である。FIG. 2 is a block diagram showing an electrical configuration of the embodiment in FIG. 1. 図1実施例のメモリマップの一例を示す図解図である。It is an illustration figure which shows an example of the memory map of FIG. 1 Example. 図1実施例における画像処理の概要を説明するための図解図である。It is an illustration figure for demonstrating the outline | summary of the image process in FIG. 1 Example. 図1実施例における第2仮想カメラに基づく物体の位置修正の概要を説明するための図解図である。It is an illustration figure for demonstrating the outline | summary of the position correction of the object based on the 2nd virtual camera in FIG. 1 Example. 表示される画面の一例を示す図解図である。It is an illustration figure which shows an example of the screen displayed. 図1実施例の動作の一例の一部を示すフロー図である。It is a flowchart which shows a part of example of operation | movement of FIG. 1 Example. 図7の続きを示すフロー図である。FIG. 8 is a flowchart showing a continuation of FIG. 7. 図8の背景オブジェクトの描画処理の動作の一例を示すフロー図である。FIG. 10 is a flowchart showing an example of the operation of the background object drawing process of FIG. 8. 図8のプレイヤキャラクタの描画処理の動作の一例を示すフロー図である。It is a flowchart which shows an example of the operation | movement of the drawing process of the player character of FIG. 図8のライバルキャラクタの描画処理の動作の一例を示すフロー図である。It is a flowchart which shows an example of the operation | movement of the drawing process of the rival character of FIG. 第2仮想カメラに基づく物体の位置修正の変形例の概略を説明するための図解図である。It is an illustration figure for demonstrating the outline of the modification of the position correction of the object based on a 2nd virtual camera. 他の実施例の画像処理装置における画像処理の概略を説明するための図解図である。It is an illustration figure for demonstrating the outline of the image process in the image processing apparatus of another Example. 他の実施例の画像処理装置の動作の一例の一部を示すフロー図である。It is a flowchart which shows a part of example of operation | movement of the image processing apparatus of another Example. 図14の続きを示すフロー図である。FIG. 15 is a flowchart showing a continuation of FIG. 14.

符号の説明Explanation of symbols

10 …画像処理装置
12,14…LCD
28a …ROM
42 …CPUコア
48 …RAM
50,52 …GPU
56,58 …VRAM
60 …LCDコントローラ
10: Image processing device 12, 14: LCD
28a ROM
42 ... CPU core 48 ... RAM
50, 52 ... GPU
56, 58 ... VRAM
60 ... LCD controller

Claims (10)

少なくとも仮想3次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、前記仮想3次元空間を描画した画像を表示手段に表示する画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセサに、
前記仮想3次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定ステップ、
前記記憶手段の少なくとも前記注視点データに基づいて前記仮想3次元空間に第1仮想カメラを設定して、前記第1仮想カメラの少なくとも位置を含む第1仮想カメラデータを前記記憶手段に記憶する第1仮想カメラ設定ステップ、
前記記憶手段の少なくとも前記第1仮想カメラデータに基づいて、前記第1仮想カメラの第1クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第2仮想カメラを設定し、前記第2仮想カメラの少なくとも位置を含む第2仮想カメラデータを前記記憶手段に記憶する第2仮想カメラ設定ステップ、
前記記憶手段の少なくとも前記物体に関するデータと前記第1仮想カメラデータと前記第2仮想カメラデータに基づいて、前記第1仮想カメラで前記第1クリッピングエリアを描画する画面に合わせて、前記第2仮想カメラで撮影可能な領域に存在する前記物体を描画して、当該画面を示す画像データを生成する画面生成ステップ、および
生成された前記画面を示す画像データに基づいて前記画面を前記表示手段に表示する表示制御ステップを実行させる画像処理プログラム。
An image processing program for an image processing apparatus, comprising storage means for storing data relating to at least a virtual object arranged in a virtual three-dimensional space, and displaying an image in which the virtual three-dimensional space is drawn on a display means,
In the processor of the image processing apparatus,
A gazing point setting step of setting a gazing point in the virtual three-dimensional space and storing gazing point data indicating a position of the gazing point in the storage unit;
A first virtual camera is set in the virtual three-dimensional space based on at least the gazing point data of the storage means, and first virtual camera data including at least a position of the first virtual camera is stored in the storage means. 1 virtual camera setting step,
Based on at least the first virtual camera data of the storage means, a second virtual camera capable of photographing at least a part of the area around the first clipping area of the first virtual camera is set, and the second virtual camera A second virtual camera setting step for storing in the storage means second virtual camera data including at least the position of
Based on at least the data related to the object, the first virtual camera data, and the second virtual camera data in the storage unit, the second virtual camera is adapted to a screen for drawing the first clipping area by the first virtual camera. A screen generation step of drawing the object existing in a region that can be photographed by a camera and generating image data indicating the screen, and displaying the screen on the display unit based on the generated image data indicating the screen An image processing program for executing a display control step.
前記画面生成ステップは、
前記記憶手段の少なくとも前記物体に関するデータと前記第1仮想カメラデータと前記第2仮想カメラデータに基づいて、前記第2仮想カメラで撮影可能な領域に存在する前記物体の座標を前記第1仮想カメラで撮影可能な領域の座標に縮小する変換を行うことによって、当該物体の位置を修正する位置修正ステップ、および
前記位置修正ステップの後、前記記憶手段のデータに基づいて、前記第1仮想カメラから見て前記第1クリッピングエリアを描画して、前記画面を示す画像データを生成する画像生成ステップを含む、請求項1記載の画像処理プログラム。
The screen generation step includes
Based on at least the data relating to the object, the first virtual camera data, and the second virtual camera data in the storage means, the coordinates of the object existing in an area that can be photographed by the second virtual camera are represented by the first virtual camera. A position correcting step of correcting the position of the object by performing a conversion to reduce the coordinates of the area that can be photographed in step S, and after the position correcting step, based on the data in the storage means, from the first virtual camera The image processing program according to claim 1, further comprising an image generation step of generating the image data indicating the screen by drawing the first clipping area when viewed.
前記位置修正ステップは、前記物体が前記第1仮想カメラに近づくにつれて縮小率の値が大きくなるような前記変換によって、前記物体の位置を修正する、請求項2記載の画像処理プログラム。   The image processing program according to claim 2, wherein the position correction step corrects the position of the object by the conversion such that a value of a reduction ratio increases as the object approaches the first virtual camera. 前記画面生成ステップは、
前記記憶手段の少なくとも前記第1仮想カメラデータに基づいて、前記第1仮想カメラから見て前記第1クリッピングエリアを示す画像を描画する第1描画ステップ、
前記記憶手段の少なくとも前記第1仮想カメラデータと前記第2仮想カメラデータに基づいて算出される拡大率に基づいて前記第2仮想カメラの第2クリッピングエリアに存在する前記物体の大きさを拡大し、前記記憶手段の少なくとも前記第2仮想カメラデータと前記物体に関するデータに基づいて前記第2仮想カメラから見て前記第2クリッピングエリアを示す画像を描画する第2描画ステップ、および
前記第1描画ステップで描画された画像に前記第2描画ステップで描画された画像を合成して、前記画面を示す画像データを生成する画像生成ステップを含む、請求項1記載の画像処理プログラム。
The screen generation step includes
A first drawing step of drawing an image showing the first clipping area as viewed from the first virtual camera based on at least the first virtual camera data of the storage means;
The size of the object existing in the second clipping area of the second virtual camera is enlarged based on an enlargement ratio calculated based on at least the first virtual camera data and the second virtual camera data in the storage means. A second drawing step of drawing an image showing the second clipping area viewed from the second virtual camera based on at least the second virtual camera data and the data relating to the object in the storage unit; and the first drawing step 2. The image processing program according to claim 1, further comprising an image generation step of generating image data representing the screen by combining the image drawn in the second drawing step with the image drawn in step 1.
前記記憶手段は、少なくとも前記物体として第1物体および第2物体に関するデータを記憶していて、
前記注視点設定ステップは、前記記憶手段に記憶される前記第1物体の位置に関するデータに基づいて、前記注視点を設定し、
前記画面生成ステップは、前記記憶手段の前記第1仮想カメラデータと前記第2仮想カメラデータと前記物体に関するデータに基づいて、前記第1クリッピングエリアに存在する前記第1物体を前記第1仮想カメラで描画する画面に合わせて、前記第2仮想カメラで撮影可能な領域に存在する前記第2物体を描画して、当該画面を示す画像データを生成する、請求項1記載の画像処理プログラム。
The storage means stores at least data relating to the first object and the second object as the object,
The gazing point setting step sets the gazing point based on data relating to the position of the first object stored in the storage unit,
In the screen generation step, the first object existing in the first clipping area is converted to the first virtual camera based on the first virtual camera data, the second virtual camera data, and the data related to the object stored in the storage unit. The image processing program according to claim 1, wherein the second object existing in a region that can be photographed by the second virtual camera is drawn in accordance with a screen to be drawn in step (a) to generate image data indicating the screen.
少なくとも仮想3次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、前記仮想3次元空間を描画した画像を表示手段に表示する画像処理装置であって、
前記仮想3次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定手段、
前記記憶手段の少なくとも前記注視点データに基づいて前記仮想3次元空間に第1仮想カメラを設定して、前記第1仮想カメラの少なくとも位置を含む第1仮想カメラデータを前記記憶手段に記憶する第1仮想カメラ設定手段、
前記記憶手段の少なくとも前記第1仮想カメラデータに基づいて、前記第1仮想カメラの第1クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第2仮想カメラを設定し、前記第2仮想カメラの少なくとも位置を含む第2仮想カメラデータを前記記憶領域に記憶する第2仮想カメラ設定手段、
前記記憶手段の少なくとも前記物体に関するデータと前記第1仮想カメラデータと前記第2仮想カメラデータに基づいて、前記第1仮想カメラで前記第1クリッピングエリアを描画する画面に合わせて、前記第2仮想カメラで撮影可能な領域に存在する前記物体を描画して、当該画面を示す画像データを生成する画面生成手段、および
生成された前記画面を示す画像データに基づいて前記画面を前記表示手段に表示する表示制御手段を備える、画像処理装置。
An image processing apparatus comprising storage means for storing data relating to at least a virtual object arranged in a virtual three-dimensional space, and displaying an image in which the virtual three-dimensional space is drawn on a display means,
Gaze point setting means for setting a gaze point in the virtual three-dimensional space and storing gaze point data indicating the position of the gaze point in the storage means;
A first virtual camera is set in the virtual three-dimensional space based on at least the gazing point data of the storage means, and first virtual camera data including at least a position of the first virtual camera is stored in the storage means. 1 virtual camera setting means,
Based on at least the first virtual camera data of the storage means, a second virtual camera capable of photographing at least a part of the area around the first clipping area of the first virtual camera is set, and the second virtual camera Second virtual camera setting means for storing second virtual camera data including at least the position in the storage area,
Based on at least the data related to the object, the first virtual camera data, and the second virtual camera data in the storage unit, the second virtual camera is adapted to a screen for drawing the first clipping area by the first virtual camera. A screen generation unit that draws the object existing in a region that can be photographed by a camera and generates image data indicating the screen, and the screen is displayed on the display unit based on the generated image data indicating the screen An image processing apparatus comprising display control means for performing
少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセサに、
前記仮想3次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定ステップ、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第1仮想カメラの位置を示すデータを参照して、前記第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第1クリッピングエリア設定ステップ、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第1仮想カメラと同じ側で前記第1仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第2仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記第1仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体を第1仮想カメラ座標系での座標に変換することによって、当該物体の前記第1仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ座標変換ステップ、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記第2仮想カメラの位置を示すデータと前記物体の第1仮想カメラ座標系での座標を示すデータを参照して、前記第1クリッピングエリア外でありかつ前記第2仮想カメラで撮影可能な領域に存在する前記物体の座標を、前記第1クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して前記記憶手段に記憶する位置修正ステップ、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記修正位置データと参照して、前記第1クリッピングエリアに存在する前記物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して前記記憶手段の描画バッファに記憶する画面生成ステップ、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御ステップを実行させるための画像処理プログラム。
Storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data is displayed, and an image obtained by shooting the object with a virtual camera is displayed. An image processing program of an image processing apparatus displayed on a means,
In the processor of the image processing apparatus,
A gazing point setting step of setting a gazing point in the virtual three-dimensional space and storing gazing point data indicating a position of the gazing point in the storage unit;
First referring to the virtual camera placement data and the gazing point data stored in the storage means, generating data indicating at least the position of the first virtual camera facing the gazing point and storing the data in the storage means Virtual camera setting step,
A front clipping plane and a rear clipping plane that define the first clipping area of the first virtual camera with reference to at least the clipping area setting data and data indicating the position of the first virtual camera stored in the storage means A first clipping area setting step for generating data indicating the above and storing the data in the storage means;
With reference to at least the virtual camera placement data stored in the storage means, the second clipping camera is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane, and the A second virtual camera setting step of generating data indicating at least the position of the second virtual camera facing the gazing point and storing the data in the storage means;
By referring to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, the object is converted into coordinates in the first virtual camera coordinate system, thereby A first virtual camera coordinate conversion step of generating data indicating coordinates in the first virtual camera coordinate system and storing the data in the storage means;
The virtual camera placement data stored in the storage means, the data indicating the position of the first virtual camera, the data indicating the position of the second virtual camera, and the coordinates of the object in the first virtual camera coordinate system are shown. By referring to the data, the coordinates of the object existing outside the first clipping area and in the area that can be photographed by the second virtual camera are reduced and converted to the coordinates in the first clipping area. A position correcting step of generating corrected position data indicating the corrected coordinates of the object and storing the corrected position data in the storage means;
The object existing in the first clipping area with reference to at least the data relating to the object, the virtual camera arrangement data, the data indicating the position of the first virtual camera, and the correction position data stored in the storage means A screen generation step of generating image data of the screen and storing it in the drawing buffer of the storage means by converting the coordinates into coordinates in the projection plane coordinate system, and storing them in the drawing buffer of the storage means An image processing program for executing a display control step of displaying the screen on the display means with reference to the image data of the screen.
少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセサに、
前記仮想3次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定ステップ、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第1仮想カメラの位置を示すデータを参照して、前記第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第1クリッピングエリア設定ステップ、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第1仮想カメラと同じ側で前記第1仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第2仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第2仮想カメラの位置を示すデータを参照して、前記第2仮想カメラの第2クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第2クリッピングエリア設定ステップ、
前記記憶手段に記憶される少なくとも前記第1仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第1物体を第1仮想カメラ座標系での座標に変換することによって、当該第1物体の前記第1仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ座標変換ステップ、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記第1物体の第1仮想カメラ座標系での座標を示すデータを参照して、前記第1クリッピングエリアに存在する前記第1物体を投影平面座標系での座標に変換して描画することによって、画面における当該第1物体を示す画像データを生成して前記記憶手段の描画バッファに記憶する、第1画像生成ステップ、
前記記憶手段に記憶される少なくとも前記第2仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第2物体を第2仮想カメラ座標系での座標に変換することによって、当該第2物体の前記第2仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第2仮想カメラ座標変換ステップ、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記第2仮想カメラの位置を示すデータと前記第2物体の第2仮想カメラ座標系での座標を示すデータを参照して、前記第2クリッピングエリアに存在する前記第2物体の大きさを拡大した後、当該第2物体を投影平面座標系での座標に変換して描画することによって、前記画面における当該第2物体を示す画像データを生成して前記記憶手段の前記描画バッファに記憶する、第2画像生成ステップ、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御ステップを実行させるための画像処理プログラム。
Storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data is displayed, and an image obtained by shooting the object with a virtual camera is displayed. An image processing program of an image processing apparatus displayed on a means,
In the processor of the image processing apparatus,
A gazing point setting step of setting a gazing point in the virtual three-dimensional space and storing gazing point data indicating a position of the gazing point in the storage unit;
First referring to the virtual camera placement data and the gazing point data stored in the storage means, generating data indicating at least the position of the first virtual camera facing the gazing point and storing the data in the storage means Virtual camera setting step,
A front clipping plane and a rear clipping plane that define the first clipping area of the first virtual camera with reference to at least the clipping area setting data and data indicating the position of the first virtual camera stored in the storage means A first clipping area setting step for generating data indicating the above and storing the data in the storage means;
With reference to at least the virtual camera placement data stored in the storage means, the second clipping camera is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane, and the A second virtual camera setting step of generating data indicating at least the position of the second virtual camera facing the gazing point and storing the data in the storage means;
A front clipping plane and a rear clipping plane that define a second clipping area of the second virtual camera with reference to at least the clipping area setting data and data indicating the position of the second virtual camera stored in the storage means A second clipping area setting step for generating data indicating and storing the data in the storage means;
By referring to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, the first object as the object is converted into coordinates in the first virtual camera coordinate system. A first virtual camera coordinate conversion step of generating data indicating coordinates of the first object in the first virtual camera coordinate system and storing the data in the storage means;
Reference is made to at least the data relating to the object, the virtual camera placement data, the data indicating the position of the first virtual camera, and the data indicating the coordinates of the first object in the first virtual camera coordinate system stored in the storage means. Then, by converting the first object existing in the first clipping area into a coordinate in the projection plane coordinate system and drawing, image data indicating the first object on the screen is generated, and the storage means A first image generation step stored in a drawing buffer;
By referring to at least data indicating the position of the second virtual camera and data related to the object stored in the storage means, the second object as the object is converted into coordinates in the second virtual camera coordinate system. A second virtual camera coordinate conversion step of generating data indicating coordinates of the second object in the second virtual camera coordinate system and storing the data in the storage means;
Data relating to at least the object stored in the storage means, data for arranging the virtual camera, data indicating the position of the first virtual camera, data indicating the position of the second virtual camera, and the second virtual of the second object After referring to the data indicating the coordinates in the camera coordinate system and enlarging the size of the second object existing in the second clipping area, the second object is converted into coordinates in the projection plane coordinate system. A second image generation step of generating image data indicating the second object on the screen by drawing and storing the image data in the drawing buffer of the storage unit; and the step of storing the drawing data of the storage unit An image processing program for executing a display control step of displaying the screen on the display means with reference to the image data of the screen.
少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置であって、
前記仮想3次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定手段、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第1仮想カメラの位置を示すデータを参照して、前記第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第1クリッピングエリア設定手段、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第1仮想カメラと同じ側で前記第1仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第2仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記第1仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体を第1仮想カメラ座標系での座標に変換することによって、当該物体の前記第1仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ座標変換手段、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記第2仮想カメラの位置を示すデータと前記物体の第1仮想カメラ座標系での座標を示すデータを参照して、前記第1クリッピングエリア外でありかつ前記第2仮想カメラで撮影可能な領域に存在する前記物体の座標を、前記第1クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して前記記憶手段に記憶する位置修正手段、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記修正位置データと参照して、前記第1クリッピングエリアに存在する前記物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して前記記憶手段の描画バッファに記憶する画面生成手段、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御手段を備える、画像処理装置。
Storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data is displayed, and an image obtained by shooting the object with a virtual camera is displayed. An image processing apparatus for displaying on a means,
Gaze point setting means for setting a gaze point in the virtual three-dimensional space and storing gaze point data indicating the position of the gaze point in the storage means;
First referring to the virtual camera placement data and the gazing point data stored in the storage means, generating data indicating at least the position of the first virtual camera facing the gazing point and storing the data in the storage means Virtual camera setting means,
A front clipping plane and a rear clipping plane that define the first clipping area of the first virtual camera with reference to at least the clipping area setting data and data indicating the position of the first virtual camera stored in the storage means First clipping area setting means for generating data indicating the above and storing the data in the storage means,
With reference to at least the virtual camera placement data stored in the storage means, the second clipping camera is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane, and the Second virtual camera setting means for generating data indicating at least the position of the second virtual camera facing the gazing point and storing the data in the storage means;
By referring to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, the object is converted into coordinates in the first virtual camera coordinate system, thereby First virtual camera coordinate conversion means for generating data indicating coordinates in the first virtual camera coordinate system and storing the data in the storage means;
The virtual camera placement data stored in the storage means, the data indicating the position of the first virtual camera, the data indicating the position of the second virtual camera, and the coordinates of the object in the first virtual camera coordinate system are shown. By referring to the data, the coordinates of the object existing outside the first clipping area and in the area that can be photographed by the second virtual camera are reduced and converted to the coordinates in the first clipping area. Position correcting means for generating corrected position data indicating corrected coordinates of the object and storing the corrected position data in the storage means;
The object existing in the first clipping area with reference to at least the data relating to the object, the virtual camera arrangement data, the data indicating the position of the first virtual camera, and the correction position data stored in the storage means Is converted into coordinates in the projection plane coordinate system and drawn, thereby generating screen image data and storing it in the drawing buffer of the storage means, and storing it in the drawing buffer of the storage means An image processing apparatus comprising display control means for referring to image data of the screen and displaying the screen on the display means.
少なくとも仮想3次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置であって、
前記仮想3次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定手段、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第1仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第1仮想カメラの位置を示すデータを参照して、前記第1仮想カメラの第1クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第1クリッピングエリア設定手段、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第1仮想カメラと同じ側で前記第1仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第2仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第2仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第2仮想カメラの位置を示すデータを参照して、前記第2仮想カメラの第2クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第2クリッピングエリア設定手段、
前記記憶手段に記憶される少なくとも前記第1仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第1物体を第1仮想カメラ座標系での座標に変換することによって、当該第1物体の前記第1仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第1仮想カメラ座標変換手段、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記第1物体の第1仮想カメラ座標系での座標を示すデータを参照して、前記第1クリッピングエリアに存在する前記第1物体を投影平面座標系での座標に変換して描画することによって、画面における当該第1物体を示す画像データを生成して前記記憶手段の描画バッファに記憶する、第1画像生成手段、
前記記憶手段に記憶される少なくとも前記第2仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第2物体を第2仮想カメラ座標系での座標に変換することによって、当該第2物体の前記第2仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第2仮想カメラ座標変換手段、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第1仮想カメラの位置を示すデータと前記第2仮想カメラの位置を示すデータと前記第2物体の第2仮想カメラ座標系での座標を示すデータを参照して、前記第2クリッピングエリアに存在する前記第2物体を拡大した後、当該第2物体を投影平面座標系での座標に変換して描画することによって、前記画面における当該第2物体を示す画像データを生成して前記記憶手段の前記描画バッファに記憶する、第2画像生成手段、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御手段を備える画像処理装置。
Storage means for storing at least data relating to a virtual object placed in a virtual three-dimensional space, virtual camera placement data, and clipping area setting data is displayed, and an image obtained by shooting the object with a virtual camera is displayed. An image processing apparatus for displaying on a means,
Gaze point setting means for setting a gaze point in the virtual three-dimensional space and storing gaze point data indicating the position of the gaze point in the storage means;
First referring to the virtual camera placement data and the gazing point data stored in the storage means, generating data indicating at least the position of the first virtual camera facing the gazing point and storing the data in the storage means Virtual camera setting means,
A front clipping plane and a rear clipping plane that define the first clipping area of the first virtual camera with reference to at least the clipping area setting data and data indicating the position of the first virtual camera stored in the storage means First clipping area setting means for generating data indicating the above and storing the data in the storage means,
With reference to at least the virtual camera placement data stored in the storage means, the second clipping camera is present on the same side as the first virtual camera on the same side as the first virtual camera with respect to the rear clipping plane, and the Second virtual camera setting means for generating data indicating at least the position of the second virtual camera facing the gazing point and storing the data in the storage means;
A front clipping plane and a rear clipping plane that define a second clipping area of the second virtual camera with reference to at least the clipping area setting data and data indicating the position of the second virtual camera stored in the storage means Second clipping area setting means for generating data indicating the above and storing the data in the storage means,
By referring to at least data indicating the position of the first virtual camera and data related to the object stored in the storage means, the first object as the object is converted into coordinates in the first virtual camera coordinate system. First virtual camera coordinate conversion means for generating data indicating coordinates of the first object in the first virtual camera coordinate system and storing the data in the storage means;
Reference is made to at least the data relating to the object, the virtual camera placement data, the data indicating the position of the first virtual camera, and the data indicating the coordinates of the first object in the first virtual camera coordinate system stored in the storage means. Then, by converting the first object existing in the first clipping area into coordinates in the projection plane coordinate system and drawing the image data, the image data indicating the first object on the screen is generated, and the storage means First image generation means for storing in a drawing buffer;
By referring to at least data indicating the position of the second virtual camera and data related to the object stored in the storage means, the second object as the object is converted into coordinates in the second virtual camera coordinate system. Second virtual camera coordinate conversion means for generating data indicating the coordinates of the second object in the second virtual camera coordinate system and storing the data in the storage means;
Data relating to at least the object, data indicating the placement of the virtual camera, data indicating the position of the first virtual camera, data indicating the position of the second virtual camera, and the second virtual of the second object stored in the storage means Referencing data indicating coordinates in the camera coordinate system, enlarging the second object existing in the second clipping area, and then converting the second object to coordinates in the projection plane coordinate system and drawing To generate image data indicating the second object on the screen and store it in the drawing buffer of the storage means, and an image of the screen stored in the drawing buffer of the storage means An image processing apparatus comprising display control means for displaying the screen on the display means with reference to data.
JP2004348012A 2004-12-01 2004-12-01 Image processing program and image processing apparatus Active JP4469709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004348012A JP4469709B2 (en) 2004-12-01 2004-12-01 Image processing program and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004348012A JP4469709B2 (en) 2004-12-01 2004-12-01 Image processing program and image processing apparatus

Publications (2)

Publication Number Publication Date
JP2006155442A true JP2006155442A (en) 2006-06-15
JP4469709B2 JP4469709B2 (en) 2010-05-26

Family

ID=36633629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004348012A Active JP4469709B2 (en) 2004-12-01 2004-12-01 Image processing program and image processing apparatus

Country Status (1)

Country Link
JP (1) JP4469709B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011120645A (en) * 2009-12-08 2011-06-23 Nintendo Co Ltd Game program, game apparatus, and game display method
CN112843689A (en) * 2020-12-31 2021-05-28 上海米哈游天命科技有限公司 Shooting method, shooting device, electronic equipment and storage medium
CN113727041A (en) * 2021-10-14 2021-11-30 北京七维视觉科技有限公司 Image matting region determination method and device
CN114827569A (en) * 2022-04-24 2022-07-29 咪咕视讯科技有限公司 Picture display method and device, virtual reality equipment and storage medium
JP2022535502A (en) * 2020-05-12 2022-08-09 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Method for selecting virtual objects and its device, terminal and storage medium
JP2022553558A (en) * 2020-03-18 2022-12-23 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Virtual environment screen display method, device, equipment and program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011120645A (en) * 2009-12-08 2011-06-23 Nintendo Co Ltd Game program, game apparatus, and game display method
JP2022553558A (en) * 2020-03-18 2022-12-23 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Virtual environment screen display method, device, equipment and program
JP7334347B2 (en) 2020-03-18 2023-08-28 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Virtual environment screen display method, device, equipment and program
US11759709B2 (en) 2020-03-18 2023-09-19 Tencent Technology (Shenzhen) Company Limited Display method and apparatus for virtual environment picture, and device and storage medium
JP2022535502A (en) * 2020-05-12 2022-08-09 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Method for selecting virtual objects and its device, terminal and storage medium
CN112843689A (en) * 2020-12-31 2021-05-28 上海米哈游天命科技有限公司 Shooting method, shooting device, electronic equipment and storage medium
CN113727041A (en) * 2021-10-14 2021-11-30 北京七维视觉科技有限公司 Image matting region determination method and device
CN114827569A (en) * 2022-04-24 2022-07-29 咪咕视讯科技有限公司 Picture display method and device, virtual reality equipment and storage medium
CN114827569B (en) * 2022-04-24 2023-11-10 咪咕视讯科技有限公司 Picture display method and device, virtual reality equipment and storage medium

Also Published As

Publication number Publication date
JP4469709B2 (en) 2010-05-26

Similar Documents

Publication Publication Date Title
US9354839B2 (en) Storage medium storing object movement controlling program and information processing apparatus
JP4358181B2 (en) GAME PROGRAM AND GAME DEVICE
US20090244064A1 (en) Program, information storage medium, and image generation system
US7868889B2 (en) Method of causing object to take motion using motion data
JP4863435B2 (en) GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD
JP5675260B2 (en) Image processing program, image processing apparatus, image processing system, and image processing method
EP1772171B1 (en) Method of causing first object to take motion according to positional relationship with second object
JP4312737B2 (en) GAME PROGRAM AND GAME DEVICE
US8684837B2 (en) Information processing program, information processing system, information processing apparatus, and information processing method
JP5939733B2 (en) Image processing program, image processing apparatus, image processing system, and image processing method
JP2005245619A (en) Game device and game program
JP3786670B1 (en) Program, information storage medium, and image generation system
JP4469709B2 (en) Image processing program and image processing apparatus
JP4743721B2 (en) GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND METHOD
JP3639286B2 (en) GAME PROGRAM AND GAME DEVICE
JP4695919B2 (en) GAME PROGRAM AND GAME DEVICE
JP5054908B2 (en) Program, information storage medium, and image generation system
US7173618B2 (en) Image creation program and method of creating image
JP3183636B2 (en) Three-dimensional game device and information storage medium
JP2006223900A (en) Game device and its control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100125

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4469709

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250