Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4219766B2 - Image generation program and image generation apparatus - Google Patents
[go: Go Back, main page]

JP4219766B2 - Image generation program and image generation apparatus - Google Patents

Image generation program and image generation apparatus Download PDF

Info

Publication number
JP4219766B2
JP4219766B2 JP2003294378A JP2003294378A JP4219766B2 JP 4219766 B2 JP4219766 B2 JP 4219766B2 JP 2003294378 A JP2003294378 A JP 2003294378A JP 2003294378 A JP2003294378 A JP 2003294378A JP 4219766 B2 JP4219766 B2 JP 4219766B2
Authority
JP
Japan
Prior art keywords
projection
target object
image generation
virtual space
magnification
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.)
Expired - Lifetime
Application number
JP2003294378A
Other languages
Japanese (ja)
Other versions
JP2005063266A (en
Inventor
敬三 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2003294378A priority Critical patent/JP4219766B2/en
Publication of JP2005063266A publication Critical patent/JP2005063266A/en
Application granted granted Critical
Publication of JP4219766B2 publication Critical patent/JP4219766B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

この発明は画像生成プログラムおよび画像生成装置に関し、特にたとえば、プレイヤオブジェクトのようなプレイヤの操作対象である対象オブジェクトと、地形オブジェクトや建物オブジェクトのような操作対象でない非対象オブジェクトとが配置された3次元の仮想空間の様子を、当該仮想空間に配置される仮想カメラに基づく投影平面に投影変換し、かつ描画領域に描画することにより、仮想カメラから見える画像を生成する、画像生成プログラムおよび画像生成装置に関する。   The present invention relates to an image generation program and an image generation apparatus, and in particular, for example, a target object that is an operation target of a player such as a player object and a non-target object that is not an operation target such as a terrain object or a building object are arranged. Image generation program and image generation for generating an image visible from a virtual camera by projecting and transforming a state of a three-dimensional virtual space onto a projection plane based on a virtual camera arranged in the virtual space and drawing in a drawing area Relates to the device.

この種の従来の画像生成装置の一例が特許文献1に開示されている。この特許文献1に開示されるスポーツゲーム装置では、フィールドの真上に置いた視点から見たフィールドの画像を生成するときに、上側にくるサイドラインを、予め通常よりも太くしておく。このフィールドを透視変換してフィールドを横から斜め下に見下ろした画像を得る。このようにして、画面の奥側に表示されるサイドラインがかすれたり途切れたりすることなく、適正に表示されていた。
特開2001−149649号公報[A63F 13/00,13/10,13/12,G06T 17/00]
An example of this type of conventional image generation apparatus is disclosed in Patent Document 1. In the sports game apparatus disclosed in Patent Document 1, when an image of a field viewed from a viewpoint placed directly above the field is generated, the side line on the upper side is previously thicker than usual. This field is perspective-transformed to obtain an image in which the field is looked down from the side. In this way, the side line displayed on the back side of the screen was properly displayed without fading or interruption.
JP 2001-149649 A [A63F 13/00, 13/10, 13/12, G06T 17/00]

このように、通常、カメラは3次元モデルを効果的に見せるために、斜めからのアングルが用いられ、実際には長方形のフィールドが台形に歪んで表示されることになる。また、3次元のゲーム空間におけるゲーム(3Dゲーム)を実現させるための3Dゲームプログラムまたは3Dゲーム装置においては、コントローラに設けられたスティックの傾斜方向が3Dの仮想空間におけるオブジェクトの移動方向に対応しており、たとえば、プレイヤがスティックを45度前方に傾けることによって、3Dの仮想空間内におけるプレイヤオブジェクトが45度の方向(斜め方向)へ移動するようにプログラミングされていることが一般的である。このような3Dゲームプログラム等では、3Dの仮想空間における仮想カメラから見た画像を透視投影法により透視変換して、テレビ画面に表示させているため、2次元の画像でありながら奥行き方向が反映される。このため、3Dゲームでは、テレビ画面で見たそのままの感覚でスティックの操作を行うと、プレイヤの思い通りにオブジェクトを移動させることができないという問題が生じていた。このため、たとえば、本来は長方形であるフィールドのライン際に沿ってオブジェクト(プレイヤオブジェクト)を移動させるには、ある程度の空間把握能力(2次元表示されている画面を見て、その状態を3次元の空間として把握できる能力)を必要とし、したがって、万人にとってその操作は簡単ではなかった。   As described above, in order to effectively show the three-dimensional model, the camera normally uses an angle from an oblique direction, and actually displays a rectangular field distorted in a trapezoidal shape. In a 3D game program or 3D game device for realizing a game (3D game) in a three-dimensional game space, the tilt direction of the stick provided in the controller corresponds to the moving direction of the object in the 3D virtual space. For example, it is common that a player object in a 3D virtual space is programmed to move in a 45-degree direction (oblique direction) by tilting the stick forward by 45 degrees. In such a 3D game program and the like, an image viewed from a virtual camera in a 3D virtual space is perspective-transformed by a perspective projection method and displayed on a television screen, so that the depth direction is reflected even though it is a two-dimensional image. Is done. For this reason, in the 3D game, when the stick is operated as it is seen on the television screen, there is a problem that the object cannot be moved as the player desires. For this reason, for example, in order to move an object (player object) along the line of a field that is originally a rectangle, a certain amount of space grasping ability (seeing a screen displayed in two dimensions, the state is expressed in three dimensions Therefore, the operation was not easy for everyone.

具体的には、3D空間内に配置される立方体の地形オブジェクトの前に、直方体のキャラクタオブジェクト(プレイヤオブジェクト)が存在し、これを斜め(45度)の方向から仮想カメラで撮影している場合には、図15に示すようなゲーム画像がディスプレイ(テレビ画面)に表示される。この図15から分かるように、3D空間において、地形オブジェクトの側面(壁)が45度の方向に延びていても、テレビ画面上におけるその角度は異なり、キャラクタオブジェクトに対面する壁においては、45度よりも小さい角度になっている。たとえば、仮想カメラの角度(仮想カメラと注視点とを結ぶ直線と、3D空間の水平面とがなす角度)が45度である場合には、キャラクタオブジェクトに対面する地形オブジェクトの壁の角度は22度程度で表示されてしまう。プレイヤはこのようなテレビ画面を見ながらキャラクタオブジェクトの移動等を操作するので、たとえば、当該壁に沿うようにキャラクタオブジェクトを移動させる場合には、スティックによって、22度の方向を指示してしまう。その結果、45度方向に延びる壁に沿って移動させるつもりがゲーム空間内においてキャラクタオブジェクトが22度の方向に移動してしまい、テレビ画面上ではより狭い角度(たとえば、10度)で移動するように表示されてしまっていた。   Specifically, there is a rectangular parallelepiped character object (player object) in front of a cubic terrain object placed in the 3D space, and this is taken by a virtual camera from an oblique (45 degrees) direction. The game image as shown in FIG. 15 is displayed on the display (television screen). As can be seen from FIG. 15, even in the 3D space, even if the side surface (wall) of the terrain object extends in the direction of 45 degrees, the angle on the television screen is different, and in the wall facing the character object, 45 degrees. The angle is smaller than that. For example, when the angle of the virtual camera (the angle formed by the straight line connecting the virtual camera and the gazing point and the horizontal plane of the 3D space) is 45 degrees, the angle of the wall of the terrain object facing the character object is 22 degrees. It will be displayed in the degree. Since the player operates the movement of the character object while watching such a television screen, for example, when the character object is moved along the wall, the direction of 22 degrees is instructed by the stick. As a result, the character object moves in the game space in the direction of 22 degrees, but intends to move along the wall extending in the direction of 45 degrees, so that it moves at a narrower angle (for example, 10 degrees) on the television screen. Has been displayed.

それゆえに、この発明の主たる目的は、オブジェクトの簡単な操作を実現できる、画像生成プログラムおよび画像生成装置を提供することである。   SUMMARY OF THE INVENTION Therefore, a main object of the present invention is to provide an image generation program and an image generation apparatus that can realize a simple operation of an object.

また、この発明の他の目的は、斜めのアングルから捕えた3次元空間であっても、真上から見下ろしているように空間を把握できる、画像生成プログラムおよび画像生成装置を提供することできる。   Another object of the present invention is to provide an image generation program and an image generation apparatus capable of grasping a space as if looking down from directly above, even in a three-dimensional space captured from an oblique angle.

上記課題を解決するために、本発明は以下の構成を採用した。なお、括弧内の参照符号や図番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。   In order to solve the above problems, the present invention employs the following configuration. Note that reference numerals and figure numbers in parentheses indicate correspondence with embodiments described later to help understanding of the present invention, and do not limit the scope of the present invention.

請求項1は、操作手段(22;実施例で示す参照符号。以下同じ。)の操作対象である対象オブジェクト(82)と操作対象以外の複数の非対象オブジェクト(84)とが配置された3次元の仮想空間の様子を、仮想空間(80;ワールド座標系)における仮想カメラ(86)に基づく投影平面(88)に投影変換し、かつ描画領域(48)に描画することによって仮想カメラから見える画像を生成する処理をコンピュータ(36,42)に実行させる画像生成プログラムであって、コンピュータを倍率算出手段および投影描画手段として昨日させる。倍率算出手段(S23)は、コンピュータを、仮想カメラの投影平面上の第1方向(投影平面の横方向)または第1方向に直行する第2方向(投影平面の縦方向)のいずれか一方向に対して、投影平面上に投影された非対象オブジェクトを拡大または縮小するための倍率を、仮想空間における水平平面(ワールド座標系におけるXZ平面)に対して仮想カメラが向いている角度に基づいて算出するように機能させる。投影描画手段(S11)は、コンピュータを、非対象オブジェクトを投影平面に並行投影変換(S51)し、かつ投影平面に投影された非対象オブジェクトを倍率に基づいて拡大または縮小して、非対象オブジェクトを描画領域に描画するように機能させる。   Claim 1 includes a target object (82) that is an operation target of the operation means (22; reference numeral shown in the embodiment; the same applies hereinafter) and a plurality of non-target objects (84) other than the operation target. The state of the three-dimensional virtual space is projected and converted to a projection plane (88) based on the virtual camera (86) in the virtual space (80; world coordinate system), and drawn in the drawing area (48) so that it can be seen from the virtual camera. An image generation program that causes a computer (36, 42) to execute processing for generating an image, and causes the computer to operate yesterday as a magnification calculation unit and a projection drawing unit. The magnification calculation means (S23) moves the computer in either one of a first direction (horizontal direction of the projection plane) on the projection plane of the virtual camera or a second direction (vertical direction of the projection plane) perpendicular to the first direction. On the other hand, the magnification for enlarging or reducing the non-target object projected on the projection plane is based on the angle at which the virtual camera is oriented with respect to the horizontal plane in the virtual space (XZ plane in the world coordinate system). Make it work to calculate. The projection drawing means (S11) performs parallel projection conversion (S51) of the non-target object to the projection plane and enlarges or reduces the non-target object projected on the projection plane based on the magnification. Function to draw in the drawing area.

請求項1の発明によれば、仮想空間の水平平面に対して向いている仮想カメラの角度に基づいて算出した倍率によって非対象オブジェクトを拡大または縮小して描画領域に描画しているので、非対象オブジェクトだけを真上から見たような状態でたとえばテレビ画面に表示させることができる。   According to the first aspect of the present invention, the non-target object is enlarged or reduced by the magnification calculated based on the angle of the virtual camera facing the horizontal plane of the virtual space and drawn in the drawing area. For example, it is possible to display only the target object on a television screen, for example, as viewed from directly above.

請求項2は請求項1に従属し、倍率算出手段が、投影平面に投影された非対象オブジェクトの水平断面形状が、仮想空間における非対象オブジェクトの投影変換前の水平断面形状と略同じ形状になるように、投影平面上の第1方向または第2方向に拡大または縮小するための倍率を、仮想カメラが向いている角度に基づいて算出するように、コンピュータを機能させる。   A second aspect is dependent on the first aspect, wherein the magnification calculating means makes the horizontal cross-sectional shape of the non-target object projected on the projection plane substantially the same as the horizontal cross-sectional shape of the non-target object before the projection conversion in the virtual space. As described above, the computer is caused to function so as to calculate the magnification for enlarging or reducing in the first direction or the second direction on the projection plane based on the angle at which the virtual camera is facing.

請求項2の発明によれば、当該非対象オブジェクトを、仮想空間において真上から見たような形状で表示することができる。言い換えれば、斜めアングルから捕えた3次元空間にであっても、真上から見下ろしたように空間を把握することができる。   According to the invention of claim 2, the non-target object can be displayed in a shape as seen from directly above in the virtual space. In other words, even in a three-dimensional space captured from an oblique angle, the space can be grasped as if viewed from directly above.

請求項3は請求項1または2に従属し、投影描画手段に、仮想空間におけるクリッピング領域内のすべてのオブジェクトに対して拡大または縮小の処理を実行させ、拡大または縮小の処理を実行したときに対象オブジェクトの形状が元の形状に戻るように、対象オブジェクトの水平断面形状を縮小または拡大して配置する配置手段として、コンピュータをさらに機能させる。   A third aspect is dependent on the first or second aspect, wherein the projection / drawing means causes the enlargement / reduction process to be executed on all the objects in the clipping region in the virtual space, and the enlargement / reduction process is executed. The computer further functions as an arrangement unit that arranges the horizontal cross-sectional shape of the target object in a reduced or enlarged manner so that the shape of the target object returns to the original shape.

請求項3の発明によれば、たとえば、投影描画手段(S9,S11)が拡大の処理を実行するときには、対象オブジェクトの水平断面形状を縮小しておき、逆に投影描画手段が縮小の処理を実行するときには、対象オブジェクトの水平断面形状を拡大しておく。したがって、対象オブジェクトはそのままの形状で表示されることとなるので、ゲームのリアリティを必要以上に損なうなどの不都合はなく、ゲームへの興味を減退してしまうこともない。   According to the invention of claim 3, for example, when the projection drawing means (S9, S11) executes the enlargement process, the horizontal sectional shape of the target object is reduced, and conversely the projection drawing means performs the reduction process. When executing, the horizontal cross-sectional shape of the target object is enlarged. Therefore, since the target object is displayed as it is, there is no inconvenience that the reality of the game is unnecessarily impaired, and the interest in the game is not diminished.

請求項4は請求項1ないし3のいずれかに従属し、投影描画手段が、並行投影変換し、かつ倍率に基づく拡大または縮小するための行列式を生成し、行列式に基づいて投影変換および拡大または縮小処理を行わせた後、描画領域にオブジェクトを描画するように、コンピュータを機能させる。   A fourth aspect of the present invention is dependent on any one of the first to third aspects, wherein the projection drawing means generates a determinant for performing parallel projection conversion and enlarging or reducing based on the magnification, and performing the projection conversion and the conversion based on the determinant. After enlarging or reducing the image, the computer is caused to function so as to draw the object in the drawing area.

請求項4の発明によれば、行列式に従って、投影変換および拡大または縮小の処理を実行するので、座標変換を簡単に行うことができる。   According to the fourth aspect of the present invention, the projection conversion and the enlargement / reduction process are executed according to the determinant, so that the coordinate conversion can be easily performed.

請求項5は請求項1ないし4のいずれかに従属し、仮想空間の水平平面に対する仮想カメラの向いている角度を検出するカメラ角度検出手段として、コンピュータをさらに機能させる。   A fifth aspect is dependent on any one of the first to fourth aspects, and further causes the computer to function as camera angle detection means for detecting an angle at which the virtual camera faces the horizontal plane of the virtual space.

請求項5の発明によれば、検出された角度に基づく倍率で、投影平面に投影されたオブジェクトが縮小されるので、たとえば、当該倍率の逆数で拡大すれば、対象オブジェクトの形状を元の形状に戻すことができる。   According to the invention of claim 5, since the object projected on the projection plane is reduced at the magnification based on the detected angle, for example, if the object is enlarged by the inverse of the magnification, the shape of the target object is changed to the original shape. Can be returned to.

請求項6は請求項1ないし5のいずれかに従属し、拡大する方向は投影平面に対する縦方向であり、縮小する方向は投影平面に対する横方向である。   A sixth aspect is dependent on any one of the first to fifth aspects, wherein the enlargement direction is a vertical direction relative to the projection plane, and the reduction direction is a horizontal direction relative to the projection plane.

請求項6の発明によれば、仮想カメラによって斜め上方から見た非対象オブジェクトを、真上から見たように表示することができる。   According to the sixth aspect of the present invention, the non-target object viewed obliquely from above with the virtual camera can be displayed as viewed from directly above.

請求項7は請求項1ないし6のいずれかに従属し、非対象オブジェクトは地形オブジェクトまたは建物オブジェクトを含む。   A seventh aspect is dependent on any one of the first to sixth aspects, and the non-target object includes a terrain object or a building object.

請求項7の発明によれば、形状を変化させるのは、地形オブジェクトまたは建物オブジェクトのような背景オブジェクトであり、プレイヤオブジェクトのようなキャラクタオブジェクトはそのままの形状で表示するようにするので、ゲームのリアリティを必要以上に損なうことがない。すなわち、ゲームへの興味減退を防止することができる。   According to the invention of claim 7, the shape is changed by a background object such as a terrain object or a building object, and a character object such as a player object is displayed as it is. Reality is not impaired more than necessary. That is, it is possible to prevent a decrease in interest in the game.

請求項8は、操作手段の操作対象である対象オブジェクトと操作対象以外の複数の非対象オブジェクトとが配置された3次元の仮想空間の様子を、仮想空間における仮想カメラに基づく投影平面に投影変換し、かつ描画領域に描画することによって仮想カメラから見える画像を生成する画像生成装置である。この画像生成装置は、仮想カメラの投影平面上の第1方向または第1方向に直行する第2方向のいずれか一方向に対して、投影平面上に投影された非対象オブジェクトを拡大または縮小するための倍率を、仮想空間における水平平面に対して仮想カメラが向いている角度に基づいて算出する倍率算出手段、および非対象オブジェクトを投影平面に並行投影変換し、かつ投影平面に投影された非対象オブジェクトを倍率に基づいて拡大または縮小して、非対象オブジェクトを描画領域に描画する投影描画手段を備える。   According to another aspect of the present invention, a state of a three-dimensional virtual space in which a target object that is an operation target of the operation means and a plurality of non-target objects other than the operation target are arranged is projected and converted to a projection plane based on a virtual camera in the virtual space. And an image generation device that generates an image that can be seen from a virtual camera by drawing in a drawing area. The image generation apparatus enlarges or reduces the non-target object projected on the projection plane with respect to either the first direction on the projection plane of the virtual camera or the second direction orthogonal to the first direction. A magnification calculating means for calculating a magnification for the image based on an angle at which the virtual camera is facing the horizontal plane in the virtual space, and a non-target object that is parallel projected on the projection plane and projected onto the projection plane Projection drawing means for drawing a non-target object in a drawing area by enlarging or reducing the target object based on a magnification.

請求項8の発明においても請求項1の発明と同様に、仮想空間の水平平面に対して向いている仮想カメラの角度に基づいて算出した倍率によって非対象オブジェクトを拡大または縮小して描画領域に描画しているので、非対象オブジェクトだけを真上から見たような状態でテレビ画面に表示させることができる。   In the invention of claim 8, as in the invention of claim 1, the non-target object is enlarged or reduced by the magnification calculated based on the angle of the virtual camera facing the horizontal plane of the virtual space to the drawing area. Since the drawing is performed, only the non-target object can be displayed on the television screen as if viewed from directly above.

請求項9は請求項8に従属し、倍率算出手段は、投影平面に投影された非対象オブジェクトの水平断面形状が、仮想空間における非対象オブジェクトの投影変換前の水平断面形状と略同じ形状になるように、投影平面上の第1方向または第2方向に拡大または縮小するための倍率を、仮想カメラが向いている角度に基づいて算出する。   A ninth aspect is dependent on the eighth aspect, wherein the magnification calculating means makes the horizontal cross-sectional shape of the non-target object projected onto the projection plane substantially the same as the horizontal cross-sectional shape of the non-target object before the projection conversion in the virtual space. Thus, the magnification for enlarging or reducing in the first direction or the second direction on the projection plane is calculated based on the angle at which the virtual camera is facing.

請求項10は請求項8または9に従属し、投影描画手段は、仮想空間におけるクリッピング領域内のすべてのオブジェクトに対して拡大または縮小の処理を実行し、投影描画手段によって拡大または縮小の処理が実行されたときに、対象オブジェクトの形状が元の形状に戻るように、対象オブジェクトの水平断面形状を縮小または拡大して配置する配置手段をさらに備える。   A tenth aspect is dependent on the eighth or ninth aspect, wherein the projection / drawing means executes enlargement / reduction processing for all objects in the clipping region in the virtual space, and the enlargement / reduction processing is performed by the projection / drawing means. Arrangement means is further provided for reducing or enlarging the horizontal cross-sectional shape of the target object so that the shape of the target object returns to the original shape when executed.

請求項11は請求項8ないし10のいずれかに従属し、投影描画手段は、並行投影変換し、かつ倍率に基づく拡大または縮小するための行列式を生成し、行列式に基づいて投影変換および拡大または縮小の処理を実行した後、描画領域にオブジェクトを描画する。   An eleventh aspect is dependent on any one of the eighth to tenth aspects, wherein the projection drawing means generates a determinant for performing parallel projection conversion and enlarging or reducing based on magnification, and performing projection conversion and After executing the enlargement or reduction process, the object is drawn in the drawing area.

請求項12は請求項8ないし11のいずれかに従属し、仮想空間の水平平面に対する仮想カメラの向いている角度を検出するカメラ角度検出手段をさらに備える。   A twelfth aspect is dependent on any one of the eighth to eleventh aspects, and further includes camera angle detection means for detecting an angle of the virtual camera facing the horizontal plane of the virtual space.

請求項13は請求項8ないし12のいずれかに従属し、拡大する方向は投影平面に対する縦方向であり、縮小する方向は投影平面に対する横方向である。   A thirteenth aspect is dependent on any one of the eighth to twelfth aspects, wherein the enlargement direction is a vertical direction with respect to the projection plane, and the reduction direction is a horizontal direction with respect to the projection plane.

請求項14は請求項8ないし13のいずれかに従属し、非対象オブジェクトは地形オブジェクトまたは建物オブジェクトを含む。   A fourteenth aspect is dependent on any one of the eighth to thirteenth aspects, and the non-target object includes a terrain object or a building object.

この発明によれば、投影平面に投影された建物オブジェクトや壁オブジェクトのような非対象オブジェクトを仮想カメラの角度に基づく倍率で拡大または縮小するので、画面上の当該非対象オブジェクトが真上から見たように表示される。これにより、たとえばテレビ画面などに表示された非対象オブジェクトに沿って対象オブジェクトを移動させる場合、操作手段の操作による対象オブジェクトの移動方向とテレビ画面上の対象オブジェクトの移動方向とが一致するので、対象オブジェクトの操作を簡単に行うことができる。すなわち、操作性を向上できる。   According to the present invention, a non-target object such as a building object or a wall object projected on the projection plane is enlarged or reduced at a magnification based on the angle of the virtual camera, so that the non-target object on the screen is viewed from directly above. Is displayed. Thereby, for example, when moving the target object along the non-target object displayed on the TV screen or the like, the movement direction of the target object by the operation of the operation means matches the movement direction of the target object on the TV screen. The target object can be easily operated. That is, operability can be improved.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   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を参照して、この発明の一実施例である画像生成プログラムまたは画像生成装置を備えるビデオゲーム装置12を含むビデオゲームシステム10について説明する。ビデオゲーム装置12には電源が与えられるが、この電源は、実施例では、一般的なACアダプタ(図示せず)であってよい。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、ビデオゲーム装置12を駆動するのに適した低いDC電圧に変換する。他の実施例としては、電源として、バッテリが用いられてもよい。   With reference to FIG. 1, a video game system 10 including a video game apparatus 12 including an image generation program or an image generation apparatus according to an embodiment of the present invention will be described. The video game apparatus 12 is supplied with power, but in the embodiment, this power may be a general AC adapter (not shown). The AC adapter is plugged into a standard household wall socket and converts the household power supply to a low DC voltage suitable for driving the video game device 12. As another example, a battery may be used as a power source.

ビデオゲーム装置12は、略立方体のハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。   The video game apparatus 12 includes a substantially cubic housing 14, and an optical disk drive 16 is provided on the upper end of the housing 14. An optical disk 18 which is an example of an information storage medium storing a game program or the like is mounted on the optical disk drive 16. A plurality of (four in the embodiment) connectors 20 are provided on the front surface of the housing 14. These connectors 20 are for connecting the controller 22 to the video game apparatus 12 by the cable 24. In this embodiment, a maximum of four controllers 22 can be connected to the video game apparatus 12.

コントローラ22には、その上面,下面,或いは側面などに、操作部(操作スイッチ)26が設けられる。操作部26は、たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤオブジェクト(プレイヤがコントローラ22によって操作可能な動画オブジェクト)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤオブジェクトの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤオブジェクトの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤオブジェクトの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御する。   The controller 22 is provided with an operation unit (operation switch) 26 on its upper surface, lower surface, or side surface. The operation unit 26 includes, for example, two analog joysticks, one cross key, a plurality of button switches, and the like. One analog joystick is used to input the moving direction and / or moving speed or moving amount of a player object (moving image object that can be operated by the player by the controller 22) according to the tilt amount and direction of the stick. Other analog joysticks control the movement of the virtual camera according to the tilt direction. The cross switch is used to instruct the moving direction of the player object instead of the analog joystick. The button switch is used to instruct the movement of the player object, is used to switch the viewpoint of the virtual camera of the three-dimensional image, and is used to adjust the movement speed of the player object. The button switch further controls, for example, menu selection and pointer or cursor movement.

なお、この実施例ではコントローラ22がそれと一体的に設けられるケーブル24によってビデオゲーム装置12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ビデオゲーム装置12に接続されてもよい。また、コントローラ22の操作部26の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは1つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。   In this embodiment, the controller 22 is connected to the video game apparatus 12 by a cable 24 provided integrally therewith. However, the controller 22 may be connected to the video game apparatus 12 by other methods, for example, wirelessly via electromagnetic waves (for example, radio waves or infrared rays). The specific configuration of the operation unit 26 of the controller 22 is not limited to the configuration of the embodiment, and can be arbitrarily modified. For example, only one analog joystick may be used or not used. The cross switch may not be used.

ビデオゲーム装置12のハウジング14の前面であり、コネクタ20の下方には、1つまたは複数の(この実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(たとえばゲームの結果)を保存(セーブ)しておいたりするために利用される。   One or more (two in this embodiment) memory slots 28 are provided on the front surface of the housing 14 of the video game apparatus 12 and below the connector 20. A memory card 30 is inserted into the memory slot 28. The memory card 30 loads and temporarily stores a game program or the like read from the optical disc 18, or saves (saves) game data (for example, game results) of a game played using the game system 10. It is used for storing.

ビデオゲーム装置12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声、または2スピーカであってもサラウンド効果を出すことが可能な場合は、サラウンド音声を含むゲーム音声が出力される。   An AV cable connector (not shown) is provided on the rear surface of the housing 14 of the video game apparatus 12, and the monitor 34 is connected to the video game apparatus 12 through the AV cable 32 using the connector. The monitor 34 is typically a color television receiver, and the AV cable 32 inputs a video signal from the video game apparatus 12 to a video input terminal of the color television and inputs an audio signal to the audio input terminal. Therefore, for example, a game image of a three-dimensional (3D) video game is displayed on the screen of the color television (monitor) 34, and stereo game sounds such as game music and sound effects from the left and right speakers 34a, or two speakers. When a surround effect can be produced, game sound including surround sound is output.

このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずビデオゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をビデオゲーム装置12のディスクドライブ16にローディングする。応じて、ビデオゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはビデオゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作部26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作部26の他のものを動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3次元(3D)のゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。   In this game system 10, in order for a user or game player to play a game (or other application), the user first turns on the video game device 12, and then the user wants to play the video game (or other that he / she wants to play). The appropriate optical disk 18 storing the application) is selected, and the optical disk 18 is loaded into the disk drive 16 of the video game apparatus 12. In response, the video game device 12 starts to execute a video game or other application based on the software stored on the optical disc 18. The user operates the controller 22 to provide input to the video game device 12. For example, a game or other application is started by operating one of the operation units 26. By moving other parts of the operation unit 26, the moving image object (player object) can be moved in different directions, or the user's viewpoint (camera position) in the three-dimensional (3D) game world can be changed.

図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12には、中央処理ユニット(以下、「CPU」という。)36が設けられる。このCPU36は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が結合される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して結合されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit:グラフィックス処理装置) 42が結合される。   FIG. 2 is a block diagram showing an electrical configuration of the video game system 10 of FIG. 1 embodiment. The video game apparatus 12 is provided with a central processing unit (hereinafter referred to as “CPU”) 36. The CPU 36 is also called a computer or a processor, and is responsible for overall control of the video game apparatus 12. The CPU 36 or the computer functions as a game processor, and a memory controller 38 is coupled to the CPU 36 via a bus. The memory controller 38 mainly controls writing and reading of the main memory 40 coupled via the bus under the control of the CPU 36. A GPU (Graphics Processing Unit) 42 is coupled to the memory controller 38.

GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(graphics command :作画命令) を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3次元(3D)ゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種オブジェクトやオブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャ(Texture :模様画像)を貼り付けるなどの画像生成処理を施す。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データがフレームバッファ48内に記憶される。   The GPU 42 forms part of the drawing means, and is constituted by, for example, a single chip ASIC. The GPU 42 receives a graphics command (graphics command) from the CPU 36 via the memory controller 38, and the geometry unit 44 and the rendering according to the command. A unit 46 generates a three-dimensional (3D) game image. That is, the geometry unit 44 is a rotation of various objects and objects (consisting of a plurality of polygons. The polygon is a polygonal plane defined by at least three vertex coordinates), Coordinate calculation processing such as movement and deformation is performed. The rendering unit 46 performs image generation processing such as pasting a texture (texture: pattern image) to each polygon of various objects. Therefore, 3D image data to be displayed on the game screen is created by the GPU 42, and the image data is stored in the frame buffer 48.

なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。   Note that data (primitives, polygons, textures, etc.) necessary for the GPU 42 to execute the drawing command is acquired from the main memory 40 by the GPU 42 via the memory controller 38.

フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。具体的には、フレームバッファ48は、1画素(ピクセル)毎に、画像の色情報を順序立てて記憶している。ここで、色情報は、R,G,B,Aについてのデータであり、たとえば、8ビットのR(赤)データ、8ビットのG(緑)データ、8ビットのB(青)データおよび8ビットのA(アルファ)データである。なお、Aデータは、マスク(マット画像)についてのデータである。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dゲーム画像が表示される。   The frame buffer 48 is a memory for drawing (accumulating) image data for one frame of the raster scan monitor 34, for example, and is rewritten frame by frame by the GPU. Specifically, the frame buffer 48 stores image color information in order for each pixel (pixel). Here, the color information is data about R, G, B, and A. For example, 8-bit R (red) data, 8-bit G (green) data, 8-bit B (blue) data, and 8 Bit A (alpha) data. The A data is data about the mask (mat image). A video I / F 58 described later reads data from the frame buffer 48 via the memory controller 38, whereby a 3D game image is displayed on the screen of the monitor 34.

また、Zバッファ50は、フレームバッファ48に対応する画素数×1画素当たりの奥行きデータのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行きデータ(Z値)を記憶するものである。   The Z buffer 50 has a storage capacity corresponding to the number of pixels corresponding to the frame buffer 48 × the number of bits of depth data per pixel, and the depth information or depth of the dots corresponding to each storage position of the frame buffer 48. Data (Z value) is stored.

なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよい。   Note that both the frame buffer 48 and the Z buffer 50 may be configured using part of the main memory 40.

メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、ARAM54に結合される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。   The memory controller 38 is also coupled to the ARAM 54 via a DSP (Digital Signal Processor) 52. Therefore, the memory controller 38 controls writing and / or reading of not only the main memory 40 but also the ARAM 54 as a sub memory.

DSP52は、サウンドプロセサとして働き、メインメモリ40に記憶されたサウンドデータ404b(図3参照)を用いたり、ARAM54に書き込まれている音波形データ(図示せず)を用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。   The DSP 52 functions as a sound processor and is necessary for the game by using sound data 404b (see FIG. 3) stored in the main memory 40 or using sound waveform data (not shown) written in the ARAM 54. Audio data corresponding to a sound, voice or music is generated.

メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に結合される。コントローラI/F56は、コントローラ22のためのインタフェースであり、コントローラ22の操作部26の操作信号またはデータを、メモリコントローラ38を通してCPU36に与える。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBAピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。   Memory controller 38 is further coupled to each interface (I / F) 56, 58, 60, 62 and 64 by a bus. The controller I / F 56 is an interface for the controller 22 and supplies an operation signal or data of the operation unit 26 of the controller 22 to the CPU 36 through the memory controller 38. The video I / F 58 accesses the frame buffer 48, reads the image data created by the GPU 42, and supplies the image signal or image data (digital RGBA pixel value) to the monitor 34 via the AV cable 32 (FIG. 1).

外部メモリI/F60は、ビデオゲーム装置12の前面に挿入されるメモリカード30(図1)をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ34aに与える。   The external memory I / F 60 links the memory card 30 (FIG. 1) inserted in the front surface of the video game apparatus 12 to the memory controller 38. Thereby, the CPU 36 can write data to the memory card 30 or read data from the memory card 30 via the memory controller 38. The audio I / F 62 receives the audio data supplied from the DSP 52 or the audio stream read from the optical disc 18 through the memory controller 38 and supplies an audio signal (audio signal) corresponding to the audio data to the speaker 34 a of the monitor 34.

なお、ステレオ音声の場合には、スピーカ34aは、少なくとも、左右1つずつ設けられる。また、サラウンド処理することで、左右2つのスピーカのみであっても後方から音が発生しているように音を聞かせることも可能である。   In the case of stereo sound, at least one speaker 34a is provided on each of the left and right speakers. In addition, by performing the surround processing, it is possible to let the sound be heard as if the sound is generated from the rear even with only the two left and right speakers.

そして、ディスクI/F64は、そのディスクドライブ16をメモリコントローラ38に結合し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムデータやテクスチャデータ等が、CPU36の制御の下で、メインメモリ40に書き込まれる。   The disk I / F 64 couples the disk drive 16 to the memory controller 38, so that the CPU 36 controls the disk drive 16. Program data, texture data, and the like read from the optical disk 18 by the disk drive 16 are written into the main memory 40 under the control of the CPU 36.

図3にはメインメモリ40のメモリマップが示される。メインメモリ40は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、ゲームメイン処理プログラム402a,画像生成プログラム402bおよび画像表示プログラム402cなどのプログラムが記憶される。   FIG. 3 shows a memory map of the main memory 40. The main memory 40 includes a program storage area 402 and a data storage area 404. Programs such as a game main processing program 402a, an image generation program 402b, and an image display program 402c are stored in the program storage area 402.

ゲームメイン処理プログラム402aは、ビデオゲーム装置12によって実行されるゲームについてのメインルーチンを処理するプログラムである。画像生成プログラム402bは、当該ゲームに登場するプレイヤオブジェクトや敵(対戦相手)オブジェクトなどの動画オブジェクト、そのような動画オブジェクトによって使用されるアイテムのオブジェクト(アイテムオブジェクト)および当該ゲームの背景オブジェクト(地形オブジェクト、壁オブジェクト、建物オブジェクトおよび床オブジェクトなど)などのゲーム画像を生成するプログラムである。以下、この実施例においては、上述の動画オブジェクトとアイテムオブジェクトとをまとめて「キャラクタオブジェクト」と呼ぶことがある。画像表示プログラム402cは、画像生成プログラム402bによって生成されたゲーム画像をモニタ34に表示するためのプログラムである。   The game main processing program 402 a is a program that processes a main routine for a game executed by the video game apparatus 12. The image generation program 402b includes a moving image object such as a player object and an enemy (opposition opponent) object appearing in the game, an item object (item object) used by the moving image object, and a background object (terrain object) of the game. , A wall object, a building object, a floor object, and the like). Hereinafter, in this embodiment, the above-mentioned moving image object and item object may be collectively referred to as a “character object”. The image display program 402c is a program for displaying the game image generated by the image generation program 402b on the monitor 34.

また、データ記憶領域404には、画像データ404a,サウンドデータ404bおよび行列式データ404cなどのデータが記憶される。画像データ404aは、上述したようなゲーム画像を生成するためのポリゴンデータやテクスチャデータのようなデータである。具体的には、当該ゲームに登場するキャラクタオブジェクトの画像データおよび背景オブジェクトの画像データである。サウンドデータ404bは、ゲーム中に演奏される音楽(BGM)や効果音のような音(音楽)についてのデータである。行列式データ404cは、後述するように、画像生成処理において生成される行列式(モデル行列、カメラ行列および射影行列)についてのデータである。   The data storage area 404 stores data such as image data 404a, sound data 404b, and determinant data 404c. The image data 404a is data such as polygon data and texture data for generating a game image as described above. Specifically, the image data of the character object appearing in the game and the image data of the background object. The sound data 404b is data on music (BGM) played during the game and sound (music) such as sound effects. The determinant data 404c is data about determinants (model matrix, camera matrix, and projection matrix) generated in the image generation process, as will be described later.

なお、図示は省略するが、メインメモリ40には、当該ゲームの進行に従って発生するゲームデータやフラグデータなども記憶される。   Although not shown, the main memory 40 also stores game data, flag data, and the like generated as the game progresses.

たとえば、図4(A)に示すように、3Dの仮想空間80においては、コントローラ22(コントロール手段26)の操作に従って、移動等の任意のアクションを制御されるプレイヤオブジェクトのようなキャラクタオブジェクト82が配置される。また、コントローラ22の操作を伴わないで、仮想空間80の所定位置に、地形オブジェクト、壁オブジェクト、建物オブジェクトおよび床オブジェクト等の背景オブジェクト84が配置される。このような仮想空間80の所定位置には、さらに、仮想カメラ86が配置され、この仮想カメラ86によって撮影された画像(ゲーム画像)がモニタ34に表示される。   For example, as shown in FIG. 4A, in the 3D virtual space 80, there is a character object 82 such as a player object whose arbitrary action such as movement is controlled according to the operation of the controller 22 (control means 26). Be placed. Further, a background object 84 such as a terrain object, a wall object, a building object, and a floor object is arranged at a predetermined position in the virtual space 80 without the operation of the controller 22. A virtual camera 86 is further arranged at a predetermined position in the virtual space 80, and an image (game image) taken by the virtual camera 86 is displayed on the monitor 34.

このような3Dの仮想ゲームでは、3Dの仮想空間80が2次元画像でモニタ34に表示される。このため、3次元物体を2次元平面(スクリーン)に投影して表示する必要がある。また、3次元空間内に配置された物体を眺めた場合には、視点に近い物体ほど大きく、遠い物体ほど小さく見えるため、スクリーンに投影する場合には、透視投影されるのが一般的である。これにより、パースのかかったゲーム画像がモニタ34に表示される。たとえば、図4(A)の仮想カメラ86で撮影されたゲーム画像は、図4(B)に示すように、モニタ34に表示される。この図4(B)から分かるように、仮想空間80に配置される正方形の板状の背景オブジェクト84は、画面表示する場合に、台形形状に変形される。   In such a 3D virtual game, the 3D virtual space 80 is displayed on the monitor 34 as a two-dimensional image. For this reason, it is necessary to project and display a three-dimensional object on a two-dimensional plane (screen). Also, when looking at an object placed in a three-dimensional space, an object closer to the viewpoint looks larger and a far object looks smaller, so when projecting onto a screen, it is generally perspective projected. . Thereby, the parsed game image is displayed on the monitor 34. For example, a game image taken by the virtual camera 86 in FIG. 4A is displayed on the monitor 34 as shown in FIG. 4B. As can be seen from FIG. 4B, the square plate-like background object 84 arranged in the virtual space 80 is transformed into a trapezoidal shape when displayed on the screen.

プレイヤは、このゲーム画像を見ながらコントローラ22を操作するが、通常、コントローラ22に設けられるジョイスティックの傾斜方向は、3Dの仮想空間80(ワールド座標系)の方向に対応しているため、キャラクタオブジェクト82を背景オブジェクト84の側面に沿って、画面の奥に向けて移動させる場合には、ジョイスティックを真上方向に傾ければよい。   The player operates the controller 22 while viewing the game image. Usually, the tilt direction of the joystick provided in the controller 22 corresponds to the direction of the 3D virtual space 80 (world coordinate system). When moving 82 along the side of the background object 84 toward the back of the screen, the joystick may be tilted directly upward.

しかし、ゲーム画像では、背景オブジェクト84が台形形状で表示されるため、プレイヤは、台形形状の背景オブジェクト84の斜辺に沿うように、キャラクタオブジェクト82を移動させるべく、ジョイスティックを斜め上方に傾けてしまうことがある。すると、キャラクタオブジェクト82は、背景オブジェクト84の内部に向けて移動してしまい、プレイヤの操作方向(ジョイスティックの傾斜方向)と画面上のキャラクタオブジェクト82の移動方向とが一致しない。このように、3Dの仮想ゲームでは、キャラクタオブジェクト82を移動させるには、ある程度の空間把握能力(2次元表示されている画面を見て、その状態を3次元空間として把握できる)を要する。   However, since the background object 84 is displayed in a trapezoidal shape in the game image, the player tilts the joystick diagonally upward to move the character object 82 along the oblique side of the trapezoidal background object 84. Sometimes. Then, the character object 82 moves toward the inside of the background object 84, and the operation direction of the player (inclination direction of the joystick) does not match the movement direction of the character object 82 on the screen. Thus, in the 3D virtual game, moving the character object 82 requires a certain amount of space grasping ability (the state can be grasped as a three-dimensional space by looking at the screen displayed two-dimensionally).

そこで、この実施例では、空間把握能力を要しなくても、簡単にキャラクタオブジェクト82を移動させることができるゲーム画像をモニタ34に表示するようにしてある。以下、その内容について説明する。   Therefore, in this embodiment, a game image that can easily move the character object 82 is displayed on the monitor 34 without requiring space grasping ability. The contents will be described below.

まず、図5ないし図7を参照して、この実施例におけるゲーム画像の生成方法の考え方について説明することにする。図5に示すように、この実施例では、仮想カメラ86によって撮影されたゲーム画像すなわち仮想カメラ86から見たゲーム画像は、2次元平面(スクリーン)88に並行投影(直交投影或いは正射影とも呼ばれる。)される。ただし、図5は、図4(A)に示した仮想空間80を視野空間に配置し直した状態を示しており、また、簡単のため、キャラクタオブジェクト82を省略してある。このとき、スクリーン88に投影されたオブジェクト(投影オブジェクト)84´の長さX´は、元の背景オブジェクト84の長さXよりも短くされる。図5に示す例では、投影オブジェクト84´の長さX´は、背景オブジェクト84の長さXのcos(90−θ)倍となる。ただし、θは仮想カメラ86の角度(以下、「カメラ角度」という。)である。   First, the concept of the game image generation method in this embodiment will be described with reference to FIGS. As shown in FIG. 5, in this embodiment, a game image taken by the virtual camera 86, that is, a game image viewed from the virtual camera 86 is parallel projected onto a two-dimensional plane (screen) 88 (also called orthogonal projection or orthographic projection). .) However, FIG. 5 shows a state where the virtual space 80 shown in FIG. 4A is rearranged in the visual field space, and the character object 82 is omitted for simplicity. At this time, the length X ′ of the object (projected object) 84 ′ projected on the screen 88 is made shorter than the length X of the original background object 84. In the example illustrated in FIG. 5, the length X ′ of the projection object 84 ′ is cos (90−θ) times the length X of the background object 84. Is the angle of the virtual camera 86 (hereinafter referred to as “camera angle”).

つまり、図6(A)に示すように、スクリーン88には、長方形に変形された(縦方向につぶされた)背景オブジェクト84の画像が表示される。ここで、この並行投影されたゲーム画像をそのままテレビモニタ34に表示した場合であっても、コントローラ22の操作方向と画面上のキャラクタオブジェクト82の移動方向とは一致する。しかし、並行投影した際に、背景オブジェクト84の縦方向の長さが短くされるため、プレイヤがコントローラ22を操作してキャラクタオブジェクト82を背景オブジェクト84に沿ってその周囲を移動させた場合には、キャラクタオブジェクト82が縦の辺に沿って移動する速度と横の辺に沿って移動する速度とに違いが生じてしまい、プレイヤは違和感を覚えてしまう。これは、3Dの仮想空間80に配置される背景オブジェクト84は正方形であり、その辺の長さはすべて同じだからである。   That is, as shown in FIG. 6A, the screen 88 displays an image of the background object 84 that has been transformed into a rectangle (squeezed in the vertical direction). Here, even when the parallel projected game image is displayed on the television monitor 34 as it is, the operation direction of the controller 22 and the movement direction of the character object 82 on the screen coincide. However, since the vertical length of the background object 84 is shortened during parallel projection, when the player moves the character object 82 around the background object 84 by operating the controller 22, A difference occurs between the speed at which the character object 82 moves along the vertical side and the speed at which the character object 82 moves along the horizontal side, and the player feels uncomfortable. This is because the background object 84 arranged in the 3D virtual space 80 is a square, and all the sides have the same length.

したがって、この実施例では、単に並行投影するだけでなく、さらに、スクリーン88に投影された背景オブジェクト84の形状を変形させて、そのような違和感が生じるのを回避してある。つまり、cos(90−θ)倍された背景オブジェクト84を元の大きさ(形状)と同じ或いは略同じに戻すようにしてある。具体的には、図6(A)に示すように、スクリーン88の長さHからそのスクリーン88の中央を基準に、長さcos(90−θ)Hに相当する部分だけ抜き出し、抜き出した部分が長さHとなるように拡大して、描画バッファ(フレームバッファ48)に描画するようにしてある。すると、背景オブジェクト84は、図7に示すように、3Dの仮想空間80における大きさと同じ或いは略同じ大きさであり、真上から見たように、モニタ34に表示される。   Therefore, in this embodiment, not only parallel projection but also the shape of the background object 84 projected on the screen 88 is deformed to avoid such a sense of incongruity. That is, the background object 84 multiplied by cos (90−θ) is returned to the same or substantially the same size (shape) as the original. Specifically, as shown in FIG. 6A, from the length H of the screen 88, the portion corresponding to the length cos (90-θ) H is extracted with reference to the center of the screen 88, and the extracted portion. Is enlarged so as to have a length H, and is drawn in the drawing buffer (frame buffer 48). Then, the background object 84 has the same or substantially the same size as the size in the 3D virtual space 80 as shown in FIG. 7, and is displayed on the monitor 34 as viewed from directly above.

このように、通常より小さな範囲を描画領域として指定する(抜き出す)ことにより、それが通常と同じビューポート設定で同じ範囲のフレームバッファ48に対応させられると、結果として拡大されたように見えるのである。   In this way, by specifying (extracting) a range smaller than normal as a drawing area, if it is made to correspond to the frame buffer 48 of the same range with the same viewport setting as usual, the result seems to be enlarged. is there.

ただし、プレイヤオブジェクトのように、コントローラ22によってその移動等のアクションを制御されるキャラクタオブジェクト82(操作対象のオブジェクト)については、その形状を変化させると、ゲームのリアリティを損なう恐れがあるため、その形状は変形させずに、図6(B)に示すように、背景オブジェクト84の拡大に伴って、その位置のみを移動させるようにしてある。   However, for a character object 82 (object to be operated) whose action such as movement is controlled by the controller 22 like a player object, changing the shape of the character object 82 may damage the reality of the game. As shown in FIG. 6B, only the position of the background object 84 is moved without changing the shape.

また、敵オブジェクトのようなキャラクタオブジェクト82は、ゲームプログラムに従って移動等の任意のアクションを制御されるため、コントローラ22の操作対象ではないが、これらを変形して表示した場合にも、ゲームのリアリティを損ない、ゲーム自体への興味を減退させる恐れがあるため、非操作対象から除外してある。つまり、敵オブジェクトのようなキャラクタオブジェクト82についても、プレイヤオブジェクトと同様に、その形状を変化させないようにしてある。   The character object 82 such as an enemy object is not an operation target of the controller 22 because an arbitrary action such as movement is controlled in accordance with the game program. However, even if these are transformed and displayed, the reality of the game Are excluded from non-operational targets because there is a risk of reducing interest in the game itself. That is, the shape of the character object 82 such as an enemy object is not changed as in the player object.

詳しく説明すると、レンダリングでは、3Dモデル(キャラクタオブジェクトおよび背景オブジェクト等)のモデルデータについてのローカル座標データがモデル行列に従って仮想空間80に配置され、次にカメラ行列に従って視野空間に配置し直され、そして、射影行列に従って2次元に投影され、最後にビューポート設定により2次元座標系がフレームバッファ48の座標系(アドレス)に変換されて色が塗られる。   Specifically, in rendering, local coordinate data for model data of a 3D model (such as a character object and a background object) is placed in the virtual space 80 according to the model matrix, and then rearranged in the view space according to the camera matrix, and The projection matrix is projected in two dimensions, and finally, the two-dimensional coordinate system is converted into the coordinate system (address) of the frame buffer 48 by the viewport setting, and the color is painted.

この実施例では、このような処理のうち、モデル行列、カメラ行列および射影行列の行列生成時に、通常とは異なる計算方法を採用することにより、上述したような拡大スケーリング(scale倍)が行われるようにする。以下、図面を参照しながら、具体的に説明する。   In this embodiment, among the above processes, when generating a model matrix, a camera matrix, and a projection matrix, enlargement scaling (scale multiplication) as described above is performed by adopting a calculation method different from the normal method. Like that. Hereinafter, it demonstrates concretely, referring drawings.

図8(A)に示すように、3次元の仮想空間80に、立方体形状のキャラクタオブジェクト82と同じく立方体形状の背景オブジェクト84を通常のモデル行列で配置し、それらを撮影するように、カメラ角度θを45度に設定した仮想カメラ86を配置する。ただし、ここでは、簡単に説明するために、キャラクタオブジェクト82および背景オブジェクト84の各辺の長さを「1」としてある。   As shown in FIG. 8 (A), the camera angle is set so that a cube-shaped background object 84 is arranged in a three-dimensional virtual space 80 in the same manner as a cube-shaped character object 82 in a normal model matrix, and these are photographed. A virtual camera 86 with θ set at 45 degrees is arranged. However, for the sake of simplicity, the length of each side of the character object 82 and the background object 84 is “1”.

次に、図8(A)に示す仮想空間80が、通常のカメラ行列に従って計算処理が施されると、図8(B)に示すように、仮想カメラ86を中心とした視野空間に配置し直される。そして、通常の射影行列に従って視野空間が2次元平面(スクリーン88)に並行投影される。このとき、図8(A)における、キャラクタオブジェクト82および背景オブジェクト84の上面(仮想空間80の地面に対して水平な面(辺))および側面(仮想空間80の地面に対して垂直な面(辺))の長さがcosθ倍(ここでは、θ=45°であるため、1/√2倍)される。ただし、簡単のため、√2≒1.4とし、1/√2≒0.7としてある。以下、同様である。   Next, when the virtual space 80 shown in FIG. 8A is subjected to calculation processing according to a normal camera matrix, the virtual space 80 is arranged in a visual field space centered on the virtual camera 86 as shown in FIG. 8B. Will be fixed. Then, the visual field space is projected in parallel on a two-dimensional plane (screen 88) according to a normal projection matrix. At this time, in FIG. 8A, the upper surfaces (surfaces (sides) horizontal to the ground of the virtual space 80) and side surfaces (surfaces perpendicular to the ground of the virtual space 80) ( Side)) is cos θ times (here, θ = 45 °, so 1 / √2 times). However, for simplicity, √2≈1.4 and 1 / √2≈0.7. The same applies hereinafter.

ここで、上述したように、拡大スケーリングだけを行うとすると、上面だけでなく、側面も拡大されてしまう。かかる場合には、全体がテレビモニタ34の縦方向に延びて表示されるだけであり、通常の並行投影を行った画面とほとんど変わらない。そこで、上面のみに拡大スケーリングを施すべく、オブジェクト(キャラクタオブジェクト82および背景オブジェクト84)が垂直方向につぶれて(1/scale倍)見えるようなカメラ行列を生成するようにしてある。これにより、画面表示されるキャラクタオブジェクト82および背景オブジェクト84は、その上面(水平方向)にのみ拡大スケーリングが施され、側面(垂直方向)には拡大スケーリングが施されていないように見えるのである。   Here, as described above, if only enlargement scaling is performed, not only the upper surface but also the side surface is enlarged. In such a case, the entire screen is only displayed in the vertical direction of the television monitor 34, and is almost the same as a screen on which normal parallel projection is performed. Therefore, in order to perform enlargement scaling only on the upper surface, a camera matrix is generated so that the objects (the character object 82 and the background object 84) appear to be crushed in the vertical direction (1 / scale times). As a result, the character object 82 and the background object 84 displayed on the screen appear to be enlarged and scaled only on the upper surface (horizontal direction) and are not enlarged and scaled on the side surface (vertical direction).

ただし、キャラクタオブジェクト82については、形の歪みを完全に無くすために、カメラ行列による打消しだけでは補えない水平方向についての拡大スケーリングを打ち消すようなモデル行列が生成される。つまり、水平方向にだけつぶれて(1/scale倍)見えるようなモデル行列が生成される。   However, for the character object 82, in order to completely eliminate the distortion of the shape, a model matrix that cancels the expansion scaling in the horizontal direction that cannot be compensated only by the cancellation by the camera matrix is generated. That is, a model matrix is generated that appears to be collapsed (1 / scale times) only in the horizontal direction.

具体的には、モデル行列は、背景オブジェクト84についてのモデル行列(数1)と、キャラクタオブジェクト82についてのモデル行列(数2)とが生成される。ローカル空間(仮想空間80のうち仮想カメラ86で撮影可能な範囲についての空間)の原点位置を持ってきたい仮想空間80上の座標を(Px,Py,Pz)とし、ローカル空間のX軸を向けたい仮想空間80上での単位ベクトルを(Xx,Xy,Xz)とし、ローカル空間のY軸を向けたい仮想空間80上の単位ベクトルを(Yx,Yy,Yz)とし、ローカル空間のZ軸を向けたい仮想空間80上の単位ベクトルを(Zx,Zy,Zz)とすると、通常のモデル行列は数1で示される。この数1で示されるモデル行列が背景オブジェクト84を仮想空間80に配置するためのモデル行列である。   Specifically, as the model matrix, a model matrix (Equation 1) for the background object 84 and a model matrix (Equation 2) for the character object 82 are generated. The coordinates on the virtual space 80 where the origin position of the local space (the space in the virtual space 80 that can be photographed by the virtual camera 86) is to be taken are (Px, Py, Pz) and the X axis of the local space is pointed The unit vector on the desired virtual space 80 is (Xx, Xy, Xz), the unit vector on the virtual space 80 where the local space Y axis is to be directed is (Yx, Yy, Yz), and the local space Z axis is When a unit vector on the virtual space 80 to be directed is (Zx, Zy, Zz), a normal model matrix is expressed by Equation 1. The model matrix represented by Equation 1 is a model matrix for arranging the background object 84 in the virtual space 80.

Figure 0004219766
Figure 0004219766

また、上述したように、キャラクタオブジェクト82については、形の歪みを無くすようにするため、水平面と平行であり、テレビモニタ34画面の縦方向となる方向(nx,0,nz)(;長さ1の単位ベクトル)に形をつぶして(1/scale倍)配置するように、数2に示すようなモデル行列が生成される。この数2に示すモデル行列は、数1に示すモデル行列に基づいて生成される。   As described above, the character object 82 has a direction (nx, 0, nz) (; length) which is parallel to the horizontal plane and becomes the vertical direction of the screen of the television monitor 34 in order to eliminate distortion of the shape. A model matrix as shown in Equation 2 is generated so that the shape is collapsed to (unit vector of 1) and arranged (1 / scale times). The model matrix shown in Equation 2 is generated based on the model matrix shown in Equation 1.

Figure 0004219766
Figure 0004219766

このようなモデル行列に従って、キャラクタオブジェクト82および背景オブジェクト84を3次元の仮想空間80に配置すると、図9(A)に示すように、キャラクタオブジェクト82については、水平方向にだけつぶれたように表示される。ここで、キャラクタオブジェクト82を水平方向にだけつぶれたように表示させる割合は、仮想カメラ86のカメラ角度θによって決定される。上述したように、カメラ角度θは45度に設定されるため、キャラクタオブジェクト82は水平方向に1/√2倍される。   When the character object 82 and the background object 84 are arranged in the three-dimensional virtual space 80 in accordance with such a model matrix, as shown in FIG. 9A, the character object 82 is displayed as being crushed only in the horizontal direction. Is done. Here, the rate at which the character object 82 is displayed as if collapsed only in the horizontal direction is determined by the camera angle θ of the virtual camera 86. As described above, since the camera angle θ is set to 45 degrees, the character object 82 is multiplied by 1 / √2 in the horizontal direction.

次に、仮想空間80は、図9(B)に示すように、仮想カメラ86を中心とする、視野空間に配置し直される。仮想カメラ86が配置されている仮想空間80上の座標を(Px,Py,Pz)とし、注視点から仮想カメラ86へ向く仮想空間80上の単位ベクトルを(Zx,Zy,Zz)とし、仮想カメラ86の上方向が向いている仮想空間80上の単位ベクトルを(Yx,Yy,Yz)とし、仮想カメラ86の背後から見て仮想カメラ86の右方向における仮想空間80上の単位ベクトルを(Xx,Xy,Xz)とすると、通常のカメラ行列は数3で示される。   Next, the virtual space 80 is rearranged in the visual field space with the virtual camera 86 as the center, as shown in FIG. The coordinates on the virtual space 80 where the virtual camera 86 is arranged are (Px, Py, Pz), the unit vector on the virtual space 80 facing the virtual camera 86 from the gazing point is (Zx, Zy, Zz), and the virtual The unit vector on the virtual space 80 in which the upper direction of the camera 86 is directed is defined as (Yx, Yy, Yz), and the unit vector on the virtual space 80 in the right direction of the virtual camera 86 when viewed from behind the virtual camera 86 is ( Xx, Xy, Xz), an ordinary camera matrix is expressed by Equation 3.

Figure 0004219766
Figure 0004219766

ただし、上述したように、この実施例では、仮想空間80に配置されたキャラクタオブジェクト82および背景オブジェクト84が垂直方向(0,1,0)に1/scale倍されて、視野空間に配置し直すようにしてあるため、数4に示すようなカメラ行列に変換される。   However, as described above, in this embodiment, the character object 82 and the background object 84 arranged in the virtual space 80 are multiplied by 1 / scale in the vertical direction (0, 1, 0) and rearranged in the visual field space. Therefore, it is converted into a camera matrix as shown in Equation 4.

Figure 0004219766
Figure 0004219766

このようなカメラ行列に従って視野空間に配置し直されると、図9(B)に示すように、キャラクタオブジェクト82および背景オブジェクト84の側面(垂直面)が1/√2倍されて、その辺の長さが「0.7」にされる。   When rearranged in the visual field space according to such a camera matrix, the side surfaces (vertical surfaces) of the character object 82 and the background object 84 are multiplied by 1 / √2 as shown in FIG. The length is set to “0.7”.

そして、図10(A)に示すように、視野空間がスクリーン88に並行投影され、さらに、拡大スケーリングが施される。ここで、スクリーン88に投影する視野空間の左端を「left」、右端を「right」、上端を「top」、下端を「bottom」、手前端を「near」、そして、奥端を「far」とすると、通常の射影行列は数5で示される。   Then, as shown in FIG. 10A, the visual field space is projected in parallel on the screen 88, and further enlarged scaling is performed. Here, the left end of the visual field projected onto the screen 88 is “left”, the right end is “right”, the upper end is “top”, the lower end is “bottom”, the front end is “near”, and the far end is “far”. Then, a normal projection matrix is expressed by Equation 5.

Figure 0004219766
Figure 0004219766

ただし、この実施例では、視野空間の上下幅を1/scale倍に指定するようにしてあるため、数5の射影行列は数6に示すように変換される。   However, in this embodiment, since the vertical width of the visual field space is specified to be 1 / scale times, the projection matrix of Expression 5 is converted as shown in Expression 6.

Figure 0004219766
Figure 0004219766

この数6に従って並行投影を行うことにより、並行投影の処理と同時に、拡大スケーリング処理も実行されるのである。   By performing parallel projection according to Equation 6, enlargement scaling processing is executed simultaneously with the parallel projection processing.

なお、射影行列については、ハードウェアの座標系の違いにより、数6に示した場合とは異なる場合がある。たとえば、OpenGLなどの3次元グラフィックス・ライブラリでは、数6の3行目の要素がそれぞれ、0,0,−2/(far−near),−(far+near)/(far−near)となる。   The projection matrix may be different from that shown in Equation 6 due to the difference in the hardware coordinate system. For example, in a three-dimensional graphics library such as OpenGL, the elements in the third row of Equation 6 are 0, 0, -2 / (far-near), and-(far + near) / (far-near), respectively.

したがって、図10(A)に示すように、並行投影されると、すべてのオブジェクトはその上面および側面が1/√2倍され、その後、拡大スケーリングが施されることにより、その上面および側面が√2倍される。したがって、キャラクタオブジェクト82については、並行投影により、その上面および側面についての辺の長さが約「0.5」にされ、その後、拡大スケーリングにより、各辺の長さが約「0.7」にされる。一方、背景オブジェクト84については、並行投影により、その上面についての辺の長さが約「0.7」にされ、その側面についての辺の長さが約「0.5」にされる。その後、拡大スケーリングにより、背景オブジェクト84の上面についての辺の長さが約「1」にされ、その側面についての辺の長さが約「0.7」にされる。   Therefore, as shown in FIG. 10A, when parallel projection is performed, all objects have their top and side surfaces multiplied by 1 / √2 and then subjected to enlargement scaling. √ Doubled. Therefore, for the character object 82, the side length for the upper surface and the side surface is set to about “0.5” by parallel projection, and then the length of each side is set to about “0.7” by enlargement scaling. To be. On the other hand, for the background object 84, the side length for the upper surface is set to about “0.7” and the side length for the side surface is set to about “0.5” by parallel projection. Thereafter, the length of the side with respect to the upper surface of the background object 84 is set to about “1” and the length of the side with respect to the side surface is set to about “0.7” by enlargement scaling.

このように、並行投影および拡大スケーリングが施されるので、背景オブジェクト84の上面だけが拡大されたようなゲーム画像が生成されるのである。したがって、たとえば、図15に示したゲーム画像の元となる3次元の仮想ゲーム空間を、透視投影によらず、この実施例に従うモデリング、並行投影および拡大スケーリングを施すようにすれば、図10(B)に示すようなゲーム画像がテレビモニタ34に表示されるのである。この図10(B)から分かるように、背景オブジェクト84としての地形オブジェクトについては、その上面を真上から見たように表示される。このため、ゲーム画像に表示される背景オブジェクトの傾き方向とコントローラ22の操作方向とが一致或いはほぼ一致するため、たとえば、キャラクタオブジェクト82をその周囲に沿って移動させる場合であっても、操作し易い。   Thus, since parallel projection and enlargement scaling are performed, a game image in which only the upper surface of the background object 84 is enlarged is generated. Therefore, for example, if modeling, parallel projection, and enlargement scaling according to this embodiment are performed on the three-dimensional virtual game space that is the basis of the game image shown in FIG. A game image as shown in B) is displayed on the television monitor 34. As can be seen from FIG. 10B, the topographic object as the background object 84 is displayed as seen from directly above the top surface. For this reason, since the inclination direction of the background object displayed in the game image and the operation direction of the controller 22 match or substantially match, for example, even if the character object 82 is moved along its periphery, the operation is performed. easy.

また、図8〜図10に示した例では、背景オブジェクト84を立方体形状としてあるため、その上面だけが拡大されるように説明した。しかし、土管のような背景オブジェクト84では、仮想カメラ86から見た(視野空間における)画像は、図11(A)のように示され、土管の上面(端面)だけでなく内面の一部も見えてしまう。このため、上述したように、この視野空間を並行投影し、拡大スケーリングを行うと、図11(B)に示すような画像が生成される。つまり、土管の上面と内面の一部とが縦方向に拡大され、円形形状にされる。すなわち、投影後の背景オブジェクト84の水平方向における断面形状(水平断面形状)が、投影前における3次元空間に配置された背景オブジェクト84の水平断面形状に一致するように、拡大スケーリングを施していると言える。したがって、背景オブジェクト84を真上から見たように表示することができるのである。   Further, in the example shown in FIGS. 8 to 10, since the background object 84 has a cubic shape, only the upper surface thereof is enlarged. However, in the background object 84 such as a clay pipe, the image (in the visual field space) viewed from the virtual camera 86 is shown as in FIG. 11A, and not only the top surface (end face) of the clay pipe but also a part of the inner surface. I can see it. Therefore, as described above, when this visual field space is projected in parallel and enlarged scaling is performed, an image as shown in FIG. 11B is generated. That is, the upper surface and a part of the inner surface of the clay pipe are enlarged in the vertical direction to form a circular shape. That is, enlargement scaling is performed so that the horizontal cross-sectional shape (horizontal cross-sectional shape) of the background object 84 after projection matches the horizontal cross-sectional shape of the background object 84 arranged in the three-dimensional space before projection. It can be said. Therefore, the background object 84 can be displayed as seen from directly above.

図12は、図2に示したCPU36のゲーム処理を示すフロー図である。この図12を参照して、CPU36がゲーム処理を開始すると、ステップS1で、地面、建物等を形成するための背景オブジェクト84を読み出し、仮想空間80である3次元のワールド座標系に配置する。次に、ステップS3では、コントローラ22の操作対象のキャラクタオブジェクト82すなわちプレイヤオブジェクトおよび仮想カメラ86を読み出し、同じくワールド座標系に配置する。   FIG. 12 is a flowchart showing the game process of the CPU 36 shown in FIG. Referring to FIG. 12, when CPU 36 starts the game process, background object 84 for forming a ground, a building, and the like is read out and placed in a three-dimensional world coordinate system which is virtual space 80 in step S1. Next, in step S3, the character object 82 to be operated by the controller 22, that is, the player object and the virtual camera 86 are read out and similarly arranged in the world coordinate system.

続くステップS5〜S11に従ってゲーム画像の生成処理(画像生成処理)を実行する。まず、ステップS5では、キャラクタオブジェクト82に対する移動指示があるかどうかを判断する。つまり、CPU36は、コントローラI/F56に設けられるコントロールバッファ(図示せず)に、ジョイスティックからの操作信号(傾き方向、傾き量)が保持されているかどうかを判断する。ステップS5で“NO”であれば、つまりキャラクタオブジェクト82に対する移動指示がなければ、そのままステップS9に移行する。一方、ステップS5で“YES”であれば、つまりキャラクタオブジェクト82に対する移動指示があれば、ステップS7で、コントローラ22からの入力に応じて、キャラクタオブジェクト82および仮想カメラ86の位置座標を算出する。つまり、ステップS7においては、コントロールバッファに保持されたジョイスティックの傾き方向および傾き量に応じてキャラクタオブジェクト82の移動後の位置を算出する。また、仮想カメラ86の位置は、キャラクタオブジェクト82の足元或いはその近傍に設けられる注視点を向くように、移動後のキャラクタオブジェクト82の位置に基づいて算出される。   A game image generation process (image generation process) is executed in accordance with subsequent steps S5 to S11. First, in step S5, it is determined whether or not there is a movement instruction for the character object 82. That is, the CPU 36 determines whether or not an operation signal (tilt direction, tilt amount) from the joystick is held in a control buffer (not shown) provided in the controller I / F 56. If “NO” in the step S5, that is, if there is no movement instruction to the character object 82, the process directly proceeds to a step S9. On the other hand, if “YES” in the step S5, that is, if there is a movement instruction to the character object 82, the position coordinates of the character object 82 and the virtual camera 86 are calculated in accordance with an input from the controller 22 in a step S7. That is, in step S7, the post-movement position of the character object 82 is calculated according to the tilt direction and tilt amount of the joystick held in the control buffer. Further, the position of the virtual camera 86 is calculated based on the position of the character object 82 after the movement so as to face a gazing point provided at or near the foot of the character object 82.

ステップS9では、後述する行列生成処理(図13参照)を実行し、ステップS11では、後述するジオメトリ・レンダリング処理(図14参照)を実行し、ステップS13で、ゲーム画像を表示する。そして、ステップS15では、ゲーム終了かどうかを判断する。ステップS15で“NO”であれば、つまりゲーム終了でなければ、ステップS5に戻ってゲーム処理を続行する。一方、ステップS15で“YES”であれば、つまりゲーム終了であれば、そのままゲーム処理を終了する。   In step S9, a matrix generation process (see FIG. 13) described later is executed. In step S11, a geometry rendering process (see FIG. 14) described later is executed. In step S13, a game image is displayed. In step S15, it is determined whether or not the game is over. If “NO” in the step S15, that is, if the game is not ended, the process returns to the step S5 to continue the game processing. On the other hand, if “YES” in the step S15, that is, if the game is ended, the game processing is ended as it is.

なお、図12においては、省略してあるが、ゲーム処理においては、ゲーム画像の表示処理だけでなく、ゲームメイン処理を実行したり、敵オブジェクトの移動等を制御したり、ゲームの進行に従って発生するゲームデータを更新したりするなどの処理も実行される。また、ゲームの進行に従って発生されたゲームデータは、所定のイベントやプレイヤの指示に従ってメモリカード30に記憶(セーブ)される。   Although not shown in FIG. 12, in the game process, not only the game image display process but also the game main process, the movement of enemy objects, etc. are controlled, and the game process occurs as the game progresses. Processing such as updating game data to be performed is also executed. Further, game data generated as the game progresses is stored (saved) in the memory card 30 in accordance with a predetermined event or a player instruction.

図13に示すように、CPU36が行列生成処理を開始すると、ステップS21で、仮想カメラ86のカメラ角度θを読み出す(検出する)。なお、カメラ角度θのデフォルト値は45度であるが、プレイヤがコントローラ22によってカメラ角度θを変更することができるため、このステップS21において検出するようにしてある。   As shown in FIG. 13, when the CPU 36 starts the matrix generation process, the camera angle θ of the virtual camera 86 is read (detected) in step S21. The default value of the camera angle θ is 45 degrees. However, since the player can change the camera angle θ by the controller 22, it is detected in this step S21.

続くステップS23では、仮想カメラ86のカメラ角度θに基づいて、投影後の水平断面形状が投影前のオブジェクトの水平断面形状(真上から見た形状)と略同じになるようなスケーリング倍率(scale=1/cos(90−θ))を算出する。次に、ステップS25では、ワールド座標系の水平面に平行であり、かつ奥行き方向、言い換えると、テレビモニタ34画面の縦方向であり、ワールド座標系の水平面に平行な方向に、scale倍されて見えるような並行投影による投影変換行列すなわち数6に示した射影行列を生成する。続いて、ステップS27では、ワールド座標系に配置される全オブジェクトが垂直方向に1/scale倍されて見えるようなカメラ行列、すなわち数4に示したカメラ行列を生成する。   In the subsequent step S23, based on the camera angle θ of the virtual camera 86, a scaling magnification (scale) such that the horizontal cross-sectional shape after projection becomes substantially the same as the horizontal cross-sectional shape (shape seen from directly above) of the object before projection. = 1 / cos (90-θ)). Next, in step S25, the scale is parallel to the horizontal plane of the world coordinate system and in the depth direction, in other words, the vertical direction of the screen of the TV monitor 34, and scaled in a direction parallel to the horizontal plane of the world coordinate system. A projection transformation matrix by parallel projection, that is, a projection matrix shown in Equation 6 is generated. Subsequently, in step S27, a camera matrix in which all the objects arranged in the world coordinate system appear to be multiplied by 1 / scale in the vertical direction, that is, a camera matrix shown in Expression 4 is generated.

そして、ステップS29では、対象オブジェクトがキャラクタオブジェクト82かどうかを判断する。ステップS29で“YES”であれば、つまり対象オブジェクトがキャラクタオブジェクト82であれば、ステップS31で、テレビモニタ34画面の縦方向に相当する方向(仮想空間における水平平面と平行な方向のみ)に、形状だけを1/scale倍にするためのモデル行列、すなわち数2に示したモデル行列を生成して、ステップS35に進む。一方、ステップS29で“NO”であれば、つまり対象オブジェクトが背景オブジェクト84であれば、ステップS33で、位置も形もそのまま配置するためのモデル行列、すなわち数1に示したモデル行列を生成して、ステップS35に進む。   In step S29, it is determined whether or not the target object is the character object 82. If “YES” in the step S29, that is, if the target object is the character object 82, in a step S31, in a direction corresponding to the vertical direction of the TV monitor 34 screen (only in a direction parallel to the horizontal plane in the virtual space), A model matrix for multiplying only the shape by 1 / scale, that is, the model matrix shown in Formula 2, is generated, and the process proceeds to step S35. On the other hand, if “NO” in the step S29, that is, if the target object is the background object 84, a model matrix for arranging the position and the shape as they are, that is, the model matrix shown in the equation 1, is generated in a step S33. Then, the process proceeds to step S35.

なお、図示は省略したが、ステップS31およびS33で生成されたモデル行列のデータ、ステップS25で生成されたカメラ行列のデータおよびステップS23で生成された射影行列のデータは、いずれもデータ記憶領域404に一旦記憶される。   Although not shown, the model matrix data generated in steps S31 and S33, the camera matrix data generated in step S25, and the projection matrix data generated in step S23 are all data storage areas 404. Is temporarily stored.

ステップS35では、すべてのオブジェクトについてモデル行列を生成したかどうかを判断する。ステップS35で“NO”であれば、つまりモデル行列を生成していないオブジェクトが存在すれば、そのままステップS29に戻る。一方、ステップS35で“YES”であれば、つまりすべてのオブジェクトについてモデル行列を生成すれば、ステップS37で、すべての行列およびオブジェクトを構成するポリゴンの座標データ等をGPU42に与えて、行列生成処理をリターンする。   In step S35, it is determined whether model matrices have been generated for all objects. If “NO” in the step S35, that is, if there is an object for which a model matrix is not generated, the process returns to the step S29 as it is. On the other hand, if “YES” in the step S35, that is, if a model matrix is generated for all the objects, the matrix generating process is performed in step S37 by supplying the coordinate data of the polygons constituting the matrix and the objects to the GPU 42. To return.

また、図14に示すように、CPU36の指示の下、GPU42がジオメトリ・レンダリング処理を開始すると、ステップS41で、キャラクタオブジェクト82の形状を縮小する。つまり、数2に示したようなモデル行列に従って、キャラクタオブジェクト(キャラクタオブジェクト82)の形状を縮小する。つまり、1/scale倍する。続くステップS43では、キャラクタオブジェクト82の配置位置を更新する。つまり、ステップS7において算出された、移動後のキャラクタオブジェクト82の位置にキャラクタオブジェクト82を移動させる。ただし、敵オブジェクトのようなゲームプログラムに従って移動を制御されるキャラクタオブジェクトについては、当該ゲームプログラムに従って計算された位置に移動される。   As shown in FIG. 14, when the GPU 42 starts the geometry rendering process under the instruction of the CPU 36, the shape of the character object 82 is reduced in step S41. That is, the shape of the character object (character object 82) is reduced according to the model matrix shown in Equation 2. That is, it is multiplied by 1 / scale. In a succeeding step S43, the arrangement position of the character object 82 is updated. That is, the character object 82 is moved to the position of the character object 82 after the movement calculated in step S7. However, a character object whose movement is controlled according to a game program such as an enemy object is moved to a position calculated according to the game program.

なお、この実施例では、理解を容易にするためにステップS41およびS43が順番に実行されるように記載したが、実際のハードウェアによっては単一の行列式によって同時に実行される。   In this embodiment, the steps S41 and S43 are described in order to facilitate understanding. However, depending on actual hardware, the steps are executed simultaneously by a single determinant.

次のステップS45では、すべてのオブジェクトを仮想カメラ座標系に変換する。つまり、3次元の仮想空間80を、数4に示したようなカメラ行列に従って、視野空間に変換する。そして、ステップS47で、クリッピングおよび隠面処理を施す。詳細な説明は省略するが、クリッピングでは、仮想カメラ86によって撮影可能な範囲からはみ出している部分が切り取られる。また、隠面処理では、仮想カメラ86から見えない部分の線分や面が消去される。   In the next step S45, all objects are converted into a virtual camera coordinate system. That is, the three-dimensional virtual space 80 is converted into the visual field space according to the camera matrix as shown in Equation 4. In step S47, clipping and hidden surface processing are performed. Although detailed description is omitted, in clipping, a portion protruding from a range that can be photographed by the virtual camera 86 is cut off. In the hidden surface processing, the line segments and surfaces that are not visible from the virtual camera 86 are erased.

続くステップS49では、光源を所定位置に配置したり、当該光源の光強度を設定したりするなどの光源処理を実行する。次に、ステップS51で、投影平面(スクリーン88)への並行行列生成処理を実行し、ステップS53で、投影平面における描画領域を指定する。つまり、図6(A)に示したように、scale倍率に応じた描画範囲を指定しているのである。ただし、上述したように、この実施例では、投影行列に変形を加えているため、GPU42は、数6に示したような投影行列を用いて、ステップS51およびステップS53の処理を一度に実行しているのである。これにより、背景オブジェクト84についてのみ、上述したような拡大スケーリングが施される。そして、ステップS55で、指定された描画領域すなわちフレームバッファ48にゲーム画像を描画する描画処理を実行して、ジオメトリ・レンダリング処理をリターンする。   In the subsequent step S49, light source processing such as arranging the light source at a predetermined position and setting the light intensity of the light source is executed. Next, in step S51, parallel matrix generation processing for the projection plane (screen 88) is executed, and in step S53, a drawing area on the projection plane is designated. That is, as shown in FIG. 6A, a drawing range corresponding to the scale magnification is designated. However, as described above, in this embodiment, since the projection matrix is modified, the GPU 42 executes the processing of step S51 and step S53 at a time using the projection matrix as shown in Equation 6. -ing As a result, only the background object 84 is subjected to the enlargement scaling as described above. In step S55, a drawing process for drawing a game image in the designated drawing area, that is, the frame buffer 48 is executed, and the geometry rendering process is returned.

この実施例によれば、並行投影によりゲーム画像を生成するとともに、キャラクタオブジェクト以外の背景オブジェクトについて拡大スケーリングを施して、背景オブジェクトを真上から見たように表示するので、テレビ画面などに表示された非対象オブジェクトに沿って対象オブジェクトを移動させる場合、コントローラの操作によるオブジェクトの移動方向と、ゲーム画面上における当該オブジェクトの移動方向とを一致させることができる。つまり、操作が簡単である。   According to this embodiment, the game image is generated by parallel projection and the background object other than the character object is enlarged and displayed as if viewed from directly above, so that the background object is displayed on a television screen or the like. When the target object is moved along the non-target object, the moving direction of the object by the operation of the controller can be matched with the moving direction of the object on the game screen. That is, the operation is simple.

また、拡大スケーリングすることにより、背景オブジェクトの奥行き方向の長さを正確に表現することができるので、操作上の違和感が生じることもない。   Further, since the length of the background object in the depth direction can be accurately expressed by enlarging and scaling, there is no sense of incongruity in operation.

さらに、背景オブジェクト以外のキャラクタオブジェクトについては、拡大スケーリングによる変形が生じないように手当てしてあるため、ゲーム世界のリアリティが必要以上に損なわれることがない。したがって、ゲームに対する興味の減退を防止することができる。   Furthermore, since the character objects other than the background object are dealt with so as not to be deformed due to enlargement scaling, the reality of the game world is not unnecessarily impaired. Therefore, it is possible to prevent a decrease in interest in the game.

なお、上述の実施例では、背景オブジェクトをモニタ画面の縦方向に拡大スケーリングするようにしたが、モニタ画面の横方向に縮小するようにしてもよい。かかる場合には、横方向に1/scale倍するようにすれば、背景オブジェクトを真上方向から見たように表示することができる。   In the above-described embodiment, the background object is enlarged and scaled in the vertical direction of the monitor screen, but may be reduced in the horizontal direction of the monitor screen. In such a case, the background object can be displayed as seen from directly above by multiplying it by 1 / scale in the horizontal direction.

また、上述の実施例では、すべてのオブジェクトに対して拡大スケーリングを施すので、描画時にキャラクタオブジェクトが間延びした画像になることを防止するために、予めキャラクタオブジェクトの水平方向に縮小するようにした。しかし、キャラクタオブジェクトだけ通常の並行投影変換を行い、他のオブジェクトに対してのみ拡大スケーリングを施すようにしてもよい。   In the above-described embodiment, since all objects are enlarged and scaled, the character object is reduced in advance in the horizontal direction in order to prevent the character object from becoming an extended image during drawing. However, normal parallel projection conversion may be performed only on the character object, and enlargement scaling may be performed only on other objects.

さらに、上述の実施例では、ビデオゲーム装置とモニタとが個別に設けられたゲームシステムについて説明したが、モニタとゲーム装置とが一体に設けられる携帯型のゲーム装置、ゲーム機能を備える携帯電話機、PDAやラップトップ型のPCのようなコンピュータにも適用できることは言うまでもない。   Furthermore, in the above-described embodiment, the game system in which the video game apparatus and the monitor are provided separately has been described. However, the portable game apparatus in which the monitor and the game apparatus are provided integrally, the mobile phone having the game function, Needless to say, the present invention can be applied to a computer such as a PDA or a laptop PC.

この発明の一実施例のゲームシステムを示す図解図である。It is an illustration figure which shows the game system of one Example of this invention. 図1に示すビデオゲーム装置の電気的な構成を示すブロック図である。It is a block diagram which shows the electrical structure of the video game device shown in FIG. 図2に示すメインメモリのメモリマップを示す図解図である。FIG. 3 is an illustrative view showing a memory map of a main memory shown in FIG. 2. キャラクタオブジェクト、背景オブジェクトおよび仮想カメラが配置される仮想空間の一例およびそのゲーム画像を示す図解図である。It is an illustration figure which shows an example of the virtual space where a character object, a background object, and a virtual camera are arrange | positioned, and its game image. 仮想空間を視野空間に配置し直した背景オブジェクトを並行投影した状態を図解図である。It is an illustration figure which shows the state which parallel projected the background object which rearranged virtual space in visual field space. スクリーンに並行投影された背景オブジェクトおよびキャラクタオブジェクトを描画バッファに書き込んだ状態を示す図解図である。FIG. 10 is an illustrative view showing a state in which a background object and a character object projected in parallel on a screen are written in a drawing buffer. 背景オブジェクトの上面のみに拡大スケーリングを施した場合のゲーム画像の一例を示す図解図である。It is an illustration figure which shows an example of the game image at the time of enlarging scaling only to the upper surface of a background object. キャラクタオブジェクト、背景オブジェクトおよび仮想カメラが配置される仮想空間の他の一例およびその仮想空間を通常のカメラ行列に従って配置し直した視野空間を示す図解図である。It is an illustration figure which shows the visual field space which rearranged another example of the virtual space where a character object, a background object, and a virtual camera are arrange | positioned according to the normal camera matrix. キャラクタオブジェクト、背景オブジェクトおよび仮想カメラが配置される仮想空間のその他の一例およびその仮想空間を全オブジェクトの側面が短くされるように計算方法を変えたカメラ行列に従って配置し直した視野空間を示す図解図である。Illustrated diagram showing another example of virtual space where character object, background object and virtual camera are arranged, and visual field space where the virtual space is rearranged according to the camera matrix with the calculation method changed so that the sides of all objects are shortened It is. 図9に示した視野空間を並行投影し、拡大スケーリングを行った状態を示す図解図およびゲーム画像のその他の一例を示す図解図である。FIG. 10 is an illustrative view showing a state in which the visual field space shown in FIG. 9 is projected in parallel and enlarged scaling is performed, and an illustrative view showing another example of the game image. 仮想カメラから見た背景オブジェクトの画像とその画像を並行投影するとともに拡大スケーリングを行った画像を示す図解図である。It is an illustration figure which shows the image of the background object seen from the virtual camera, and the image which performed the scaling scaling while projecting the image in parallel. 図2に示すCPUのゲーム処理を示すフロー図である。It is a flowchart which shows the game process of CPU shown in FIG. 図2に示すCPUの行列生成処理を示すフロー図である。It is a flowchart which shows the matrix production | generation process of CPU shown in FIG. 図2に示すGPUのジオメトリ・レンダリング処理を示すフロー図である。It is a flowchart which shows the geometry rendering process of GPU shown in FIG. 従来のゲーム装置によって表示されるゲーム画像の一例を示す図解図である。It is an illustration figure which shows an example of the game image displayed with the conventional game device.

符号の説明Explanation of symbols

10 …ゲームシステム
12 …ゲーム装置
18 …光ディスク
22 …コントローラ
34 …モニタ
34a …スピーカ
36 …CPU
38 …メモリコントローラ
40 …メインメモリ
42 …GPU
52 …DSP
54 …ARAM
62 …オーディオI/F
DESCRIPTION OF SYMBOLS 10 ... Game system 12 ... Game device 18 ... Optical disk 22 ... Controller 34 ... Monitor 34a ... Speaker 36 ... CPU
38 ... Memory controller 40 ... Main memory 42 ... GPU
52 ... DSP
54 ... ARAM
62 ... Audio I / F

Claims (14)

操作手段の操作対象である対象オブジェクトと操作対象以外の複数の非対象オブジェクトとが配置された3次元の仮想空間の様子を、前記仮想空間における仮想カメラに基づく投影平面に投影変換し、かつ描画領域に描画することによって前記仮想カメラから見える画像を生成する処理をコンピュータに実行させる画像生成プログラムであって、
前記コンピュータを、
前記仮想カメラの投影平面上の第1方向または前記第1方向に直行する第2方向のいずれか一方向に対して、前記投影平面上に投影された前記非対象オブジェクトを拡大または縮小するための倍率を、前記仮想空間における水平平面に対して前記仮想カメラが向いている角度に基づいて算出する倍率算出手段、および
前記非対象オブジェクトを前記投影平面に並行投影変換し、かつ前記投影平面に投影された非対象オブジェクトを前記倍率に基づいて拡大または縮小して、前記非対象オブジェクトを前記描画領域に描画する投影描画手段として機能させる、画像生成プログラム。
Projecting and drawing a state of a three-dimensional virtual space in which a target object that is an operation target of the operation means and a plurality of non-target objects other than the operation target are arranged, onto a projection plane based on a virtual camera in the virtual space and drawing An image generation program for causing a computer to execute a process of generating an image visible from the virtual camera by drawing in an area,
The computer,
For enlarging or reducing the non-target object projected on the projection plane with respect to any one of the first direction on the projection plane of the virtual camera or the second direction orthogonal to the first direction Magnification calculating means for calculating a magnification based on an angle at which the virtual camera is directed with respect to a horizontal plane in the virtual space, and parallel projecting the non-target object to the projection plane and projecting to the projection plane An image generation program for causing a non-target object to be enlarged or reduced based on the magnification and to function as a projection drawing unit that draws the non-target object in the drawing area.
前記倍率算出手段が、前記投影平面に投影された前記非対象オブジェクトの水平断面形状が、前記仮想空間における前記非対象オブジェクトの投影変換前の水平断面形状と略同じ形状になるように、前記投影平面上の第1方向または第2方向に拡大または縮小するための倍率を、前記仮想カメラが向いている角度に基づいて算出するように、前記コンピュータを機能させる、請求項1記載の画像生成プログラム。   The magnification calculating means projects the projection so that a horizontal cross-sectional shape of the non-target object projected onto the projection plane is substantially the same as a horizontal cross-sectional shape of the non-target object before projection conversion in the virtual space. The image generation program according to claim 1, wherein the computer is caused to function so as to calculate a magnification for enlarging or reducing in a first direction or a second direction on a plane based on an angle at which the virtual camera is facing. . 前記投影描画手段に、前記仮想空間におけるクリッピング領域内のすべてのオブジェクトに対して拡大または縮小の処理を実行させ、
拡大または縮小の処理を実行したときに前記対象オブジェクトの形状が元の形状に戻るように、前記対象オブジェクトの水平断面形状を縮小または拡大して配置する配置手段として、前記コンピュータをさらに機能させる、請求項1または2記載の画像生成プログラム。
Causing the projection / drawing means to execute enlargement / reduction processing on all objects in a clipping region in the virtual space;
Causing the computer to further function as an arrangement means for reducing or enlarging the horizontal cross-sectional shape of the target object so that the shape of the target object returns to the original shape when the enlargement or reduction process is executed. The image generation program according to claim 1 or 2.
前記投影描画手段が、前記並行投影変換し、かつ前記倍率に基づく拡大または縮小するための行列式を生成し、前記行列式に基づいて投影変換および拡大または縮小処理を行わせた後、前記描画領域に前記オブジェクトを描画するように、前記コンピュータを機能させる、請求項1ないし3のいずれかに記載の画像生成プログラム。   The projection drawing unit generates a determinant for performing the parallel projection conversion and enlarging or reducing based on the magnification, and performing projection conversion and enlarging or reducing processing based on the determinant, and then performing the drawing The image generation program according to claim 1, wherein the computer is caused to function so as to draw the object in a region. 前記仮想空間の水平平面に対する前記仮想カメラの向いている角度を検出するカメラ角度検出手段として、前記コンピュータをさらに機能させる、請求項1ないし4のいずれかに記載の画像生成プログラム。   The image generation program according to any one of claims 1 to 4, further causing the computer to function as camera angle detection means for detecting an angle of the virtual camera facing a horizontal plane of the virtual space. 前記拡大する方向は前記投影平面に対する縦方向であり、前記縮小する方向は前記投影平面に対する横方向である、請求項1ないし5のいずれかに記載の画像生成プログラム。   6. The image generation program according to claim 1, wherein the enlargement direction is a vertical direction with respect to the projection plane, and the reduction direction is a transverse direction with respect to the projection plane. 前記非対象オブジェクトは地形オブジェクトまたは建物オブジェクトを含む、請求項1ないし6のいずれかに記載の画像生成プログラム。   The image generation program according to claim 1, wherein the non-target object includes a terrain object or a building object. 操作手段の操作対象である対象オブジェクトと操作対象以外の複数の非対象オブジェクトとが配置された3次元の仮想空間の様子を、前記仮想空間における仮想カメラに基づく投影平面に投影変換し、かつ描画領域に描画することによって前記仮想カメラから見える画像を生成する画像生成装置であって、
前記仮想カメラの投影平面上の第1方向または前記第1方向に直行する第2方向のいずれか一方向に対して、前記投影平面上に投影された前記非対象オブジェクトを拡大または縮小するための倍率を、前記仮想空間における水平平面に対して前記仮想カメラが向いている角度に基づいて算出する倍率算出手段、および
前記非対象オブジェクトを前記投影平面に並行投影変換し、かつ前記投影平面に投影された非対象オブジェクトを前記倍率に基づいて拡大または縮小して、前記非対象オブジェクトを前記描画領域に描画する投影描画手段を備える、画像生成装置。
Projecting and drawing a state of a three-dimensional virtual space in which a target object that is an operation target of the operation means and a plurality of non-target objects other than the operation target are arranged, onto a projection plane based on a virtual camera in the virtual space and drawing An image generation device that generates an image visible from the virtual camera by drawing in an area,
For enlarging or reducing the non-target object projected on the projection plane with respect to any one of the first direction on the projection plane of the virtual camera or the second direction orthogonal to the first direction Magnification calculating means for calculating a magnification based on an angle at which the virtual camera is directed with respect to a horizontal plane in the virtual space, and parallel projecting the non-target object to the projection plane and projecting to the projection plane An image generation apparatus comprising: a projection drawing unit that enlarges or reduces the non-target object based on the magnification and draws the non-target object in the drawing area.
前記倍率算出手段は、前記投影平面に投影された前記非対象オブジェクトの水平断面形状が、前記仮想空間における前記非対象オブジェクトの投影変換前の水平断面形状と略同じ形状になるように、前記投影平面上の第1方向または第2方向に拡大または縮小するための倍率を、前記仮想カメラが向いている角度に基づいて算出する、請求項8記載の画像生成装置。   The magnification calculating unit is configured to cause the projection so that a horizontal cross-sectional shape of the non-target object projected onto the projection plane is substantially the same as a horizontal cross-sectional shape before projection conversion of the non-target object in the virtual space. The image generation apparatus according to claim 8, wherein a magnification for enlarging or reducing in a first direction or a second direction on a plane is calculated based on an angle at which the virtual camera is facing. 前記投影描画手段は、前記仮想空間におけるクリッピング領域内のすべてのオブジェクトに対して拡大または縮小の処理を実行し、
前記投影描画手段によって拡大または縮小の処理が実行されたときに、前記対象オブジェクトの形状が元の形状に戻るように、前記対象オブジェクトの水平断面形状を縮小または拡大して配置する配置手段をさらに備える、請求項8または9記載の画像生成装置。
The projection drawing means executes an enlargement or reduction process on all objects in a clipping region in the virtual space,
Arrangement means for reducing or enlarging the horizontal cross-sectional shape of the target object so that the shape of the target object returns to the original shape when enlargement or reduction processing is executed by the projection drawing means The image generation apparatus of Claim 8 or 9 provided.
前記投影描画手段は、前記並行投影変換し、かつ前記倍率に基づく拡大または縮小するための行列式を生成し、前記行列式に基づいて投影変換および拡大または縮小の処理を実行した後、前記描画領域に前記オブジェクトを描画する、請求項8ないし10のいずれかに記載の画像生成装置。   The projection drawing means generates a determinant for performing the parallel projection conversion and enlarging or reducing based on the magnification, and after performing projection conversion and enlarging or reducing processing based on the determinant, the drawing The image generation apparatus according to claim 8, wherein the object is drawn in a region. 前記仮想空間の水平平面に対する前記仮想カメラの向いている角度を検出するカメラ角度検出手段をさらに備える、請求項8ないし11のいずれかに記載の画像生成装置。   The image generation apparatus according to claim 8, further comprising camera angle detection means for detecting an angle of the virtual camera facing a horizontal plane of the virtual space. 前記拡大する方向は前記投影平面に対する縦方向であり、前記縮小する方向は前記投影平面に対する横方向である、請求項8ないし12のいずれかに記載の画像生成装置。   The image generation apparatus according to claim 8, wherein the enlargement direction is a vertical direction with respect to the projection plane, and the reduction direction is a transverse direction with respect to the projection plane. 前記非対象オブジェクトは地形オブジェクトまたは建物オブジェクトを含む、請求項8ないし13のいずれかに記載の画像生成装置。   The image generation apparatus according to claim 8, wherein the non-target object includes a terrain object or a building object.
JP2003294378A 2003-08-18 2003-08-18 Image generation program and image generation apparatus Expired - Lifetime JP4219766B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003294378A JP4219766B2 (en) 2003-08-18 2003-08-18 Image generation program and image generation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003294378A JP4219766B2 (en) 2003-08-18 2003-08-18 Image generation program and image generation apparatus

Publications (2)

Publication Number Publication Date
JP2005063266A JP2005063266A (en) 2005-03-10
JP4219766B2 true JP4219766B2 (en) 2009-02-04

Family

ID=34370968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003294378A Expired - Lifetime JP4219766B2 (en) 2003-08-18 2003-08-18 Image generation program and image generation apparatus

Country Status (1)

Country Link
JP (1) JP4219766B2 (en)

Also Published As

Publication number Publication date
JP2005063266A (en) 2005-03-10

Similar Documents

Publication Publication Date Title
US7327361B2 (en) Three-dimensional image generating apparatus, storage medium storing a three-dimensional image generating program, and three-dimensional image generating method
JP3637031B2 (en) GAME DEVICE AND GAME PROGRAM
US7753785B2 (en) Game apparatus, storing medium that stores control program of virtual camera, and control method of virtual camera
US7338373B2 (en) Method and apparatus for generating sounds in a video game
US7104891B2 (en) Game machine and game program for displaying a first object casting a shadow formed by light from a light source on a second object on a virtual game space
US20140002456A1 (en) Image processing apparatus and storing medium that stores image processing program
US8012018B2 (en) Game apparatus and storage medium storing game program
JP5063990B2 (en) GAME PROGRAM AND GAME DEVICE
US6326967B1 (en) Image creating apparatus, image creating method, and computer-readable recording medium containing image creating program
US7023434B2 (en) Image processing apparatus and image processing program
JP3602835B2 (en) VIDEO GAME DEVICE, ITS CONTROL METHOD, AND GAME PROGRAM
US6390918B1 (en) Video game apparatus, model display method for video games, and readable recording medium for storing model display program for video games
EP0948978B1 (en) Image creating apparatus, image creating method, and computer-readable recording medium containing image creating program
JP4219766B2 (en) Image generation program and image generation apparatus
JP3839355B2 (en) GAME DEVICE AND GAME PROGRAM
JP4054708B2 (en) GAME DEVICE AND GAME PROGRAM
HK1026045A (en) Video game apparatus, model display and readable recording medium therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060628

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

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

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4219766

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term