VIRTUAL IMAGE FORMATION APPARATUS AND METHOD

Abstract: A virtual image generation apparatus (1000) comprising shape data memory means (109) for storing shape data pertaining to obstacles and the like, position data specification means (101) for specifying position data for said subjects, overlap determination means (108, 101) for determining, on the basis of shape data and position data, whether or not physical objects located between a visual point and a subject should overlap and be visible from said visual point, and image generation means (110, 112) for generating virtual images wherein physical objects are processed by prescribed show-through processing (mesh processing, translucent processing, or the like) when it is determined an overlapping state exists. Accurate overlap determinations can be made using a vector which extends from the visual point towards an object and a vector that extends from an obstacle towards the object, and mesh processing or other show-through processing used to produce a suitable display of a subject obscured by a physical object.

Description: TECHNICAL FIELD The present invention relates to an image generation technique for use in game units, simulators, and the like, and particularly to a technique for generating images (hereinafter termed "(virtual) images") obtained when an object present in virtually generated three-dimensional space (hereinafter termed "virtual space") is projected (by perspective projection) onto a two-dimensional plane which corresponds to a prescribed visual point. BACKGROUND ART In recent years, game units and simulators equipped with on-board virtual image generation apparatuses which make it possible for movable objects (objects) that move through three-dimensional space to combat each other have been developed. Such virtual image generation apparatuses are usually equipped with a virtual image generation apparatus main unit that houses a computer unit for executing stored programs, an input device for sending control signals to the computer unit to instruct it to move objects displayed on the screen within the virtual image, a display for displaying the virtual images generated by the computer unit according to the program sequence, and a sound device for generating sounds according to the program sequence. Examples of game devices with the architecture described above include those with a combat theme in which a player-controlled object (robot, human, or the like) engages in combat with enemy objects with which the player fights over a terrain created in virtual space (hereinafter termed "virtual terrain"). The objects controlled by the player in such game units attack enemies by shooting at them while hiding behind the obstacles and the like which are provided as part of the virtual terrain. In order to enable three-dimensional display of motion within the virtual space, an image like that perceived when the virtual space is observed from a prescribed visual point is used. This is accomplished using coordinate conversion for perspective projection, whereby a coordinate system for the virtual space is represented in perspective from a prescribed visual point and projected onto a two-dimensional plane lying in front of the visual point. In many cases, the line of sight which extends from the visual point of the virtual image is oriented towards the player's object so that the object controlled by the player is visible to the player. The object controlled by the player is displayed as a subject located nearlly at the center of the display. However, since the position relationship between the visual point of the virtual image and the player's object is fixed during movement, obstacles sometimes block the line of sight which extends towards the player's object. In such cases, the player's object is obscured by the obstacle, making it impossible for the player to see the movements of the object and making it impossible to control the object. The loss of ability to control the player's object diminishes the excitement of the game, making the game uninteresting. Such a case will be described making reference to Fig. 6. When a subject R' is observed by a virtual camera C', which serves as the visual point for the virtual image in question, position relationships are sometimes such that the line of sight is blocked by an obstacle O, as shown in 6A. When the line of sight is so obscured, the subject R is displayed obscured by the obstacle O in the generated virtual image, as shown in 6B. Thus, the player can no longer determine how best to control the subject R' which is the object of control. In order to avoid such occurrences, it is possible, for example to: (1) not display obstacles; or (2) display the obstacles with wire frames from the beginning. However, adopting methods such as (1) produces a new problem in that, while the player's object is visible, objects are not visible. Adopting methods such as (2) makes it possible to see obstacles, but since obstacles are displayed with wire frames even when the subject R is not hidden by obstacles O, the look of the game suffers. In order to solve such problems, the present invention is intended to provide a virtual image generation apparatus that does not employ the aforementioned methods (1) and (2), and that affords a game that does not suffer from impaired look A second object of the present invention is to provide a virtual image generation apparatus that correctly determines whether a subject can be displayed overlapping a physical object in virtual space, and which performs appropriate transparent processing to make both the subject and physical object visible, and to a method therefor. Determining an overlap between a physical object and a subject is disclosed in EP 0 145 321 for subsequently rendering the subject shaded if it is located in front of the physical object. SUMMARY OF THE INVENTION In order to achieve these objects, the invention which pertains to this application and is defined by the appended claims is an image generation apparatus and method for generating images (game images, simulation images, and the like) of subjects (player-controlled robots, airplanes, or other objects) present in a virtual space (for example, a space described by a world coordinate system) and observed from a prescribed visual point, i.e. viewpoint, (such as diagonally above the subject, as viewed from the vertical relationship in the virtual space), comprising the steps of determining whether certain prescribed conditions are fulfilled on the basis of shape data (polygon data, data specifying shape position, surface data, and the like) pertaining to physical objects (virtual terrain, obstacles, irregular terrain surfaces, and the like) present in the virtual space, and position data (coordinate data and the like) for a subject, for example, determining whether a physical object located between the visual point and the subject, overlaps with the subject and is visible from the visual point, generating images in which a physical object is subjected to prescribed show-through processing (mesh processing, translucent processing, wire frame depiction of the physical object, or the like) in the event that it is determined that the subject and physical object are disposed in a prescribed overlapping state, or performing non-show-through processing (ordinary texture data application processing or the like) in which the physical object is not rendered show-through in the event that it is determined that the subject and physical object are disposed in a state other than a prescribed overlapping state. The invention of Claim 1 is an image generation apparatus comprising shape data memory means for storing shape data pertaining to physical objects present in said virtual space, position data specification means for specifying position data for said subjects, overlap determination means for determining, on the basis of said shape data stored in said shape data memory means and said position data for said subjects specified by said position data specification means, whether or not said physical object located between said visual point and said subject overlaps with said subject and is visible from said visual point, and image generation means for generating images wherein said physical object is processed by prescribed show-through processing in the event that said overlap determination means has determined that said subject and said physical object are disposed in a prescribed overlapping state, and for generating images wherein said physical object is processed by non-show-through processing and is not rendered show-through in the event that said subject and said physical object are disposed in a state other than a prescribed overlapping state. In the invention of Claim 2, said overlap determination means computes a first vector which extends in direction in which said subject is observed from said visual point, and a second vector which extends from said physical object towards said subject, computes the angle formed by this first vector and second vector, and, in the event that this angle falls within a prescribed relationship with regard to a prescribed reference angle, decides that an overlapping state exists, or, in the event that the angle falls outside the prescribed relationship, decides that non-overlapping state exists. Favorably, the angle formed by this first vector and second vector is compared with a prescribed reference angle; when this angle is smaller than said reference angle, it is decided that an overlapping state exists, and when said angle is greater than said reference angle, it is decided that a non-overlapping state exists. Said angle is, for example, the angle formed when the vectors are projected onto a prescribed coordinate plane. Said reference angle is selected, for example, with a size sufficient to permit a determination as to whether the two vectors are facing in essentially the same direction to be made. The invention of Claim 3 is an image generation apparatus as defined in Claim 1, wherein the overlap determination means compares displacement (displacement in the y axis direction, i.e., height, or the like) from a prescribed ground point (the x-z plane in a world coordinate system or the like) for a first reference point (the bottom edge, geometric center of gravity, or other point on the exterior of a subject) previously specified for a subject with displacement (physical object height, or the like) from a ground point for a second reference point (physical object top edge, geometric center, or the like) previously specified for a physical object, and, in the event that the displacement for the first reference point is smaller than the displacement for the second reference point, decides that an overlapping state exists, or, in the event that the displacement for the first reference point is greater than the displacement for the second reference point, decides that a non-overlapping state exists. As in Claim 4, the overlap determination of Claim 2 and the overlap determination of Claim 3 may be used concomitantly, and the decision that an overlapping state exists made contingent upon both decision conditions being fulfilled. The invention of Claim 5 is an image generation apparatus as defined in Claim 1, wherein, for show-through display, the image generation means generates an image by displaying pixels for displaying a subject in accordance with a prescribed pattern (a pattern in which a pixel is replaced every few dots, a striped pattern, or the like), rather than pixels for displaying a physical object. The invention of Claim 6 is an image generation apparatus as defined in Claim 5, wherein the pattern comprises an alternating sequence of pixels for displaying a physical object and pixels for displaying a subject In accordance with the present invention, obstacles and other physical objects which are displayed without show-through processing are, when certain prescribed conditions are fulfilled (for example, when a physical object comes between a visual point and a subject, as observed from the visual point), processed by show-through treatment; when these conditions no longer apply, physical object image generation returns to non-show-through processing. Usually, when a physical object comes in front of a subject observed from the visual point, the subject is obscured by the physical object with the result that the subject image is not sufficiently visible to the viewer of the virtual image. ' Faced with a state wherein a subject can be obscured by a physical object, the present invention makes a determination that an overlapping state exists and processes this physical object with show-through treatment, whereby both the obstacle and the subject images remain sufficiently visible to the viewer. As a result, the player can control the subject while staying aware of the presence of obstacles, and the look of the game does not suffer. Where a plurality of physical objects have been determined to be in an overlapping state, show-through processing is performed for each individual physical object which has been determined to be in an overlapping state. In the event of a position relationship such that a physical object comes between the subject and a visual point, as viewed from this particular visual point, the direction of the vector from the visual point to the subject and the vector from the physical object to the subject essentially coincide. In such a case, the angle defined by the two vectors is relatively small. In accordance with the invention of Claim 2, this angle is compared to a reference angle; thus, if the reference angle setting is made small enough to determine overlap, it may be accurately determined whether the physical object should overlap the subject. On the other hand, taking the example of a case in which the visual point is established in a position such that the subject is observed from above, an overlapping state whereby the physical object obscures the subject when the subject is shorter than the physical object can occur. In accordance with the invention of Claim 3, displacement of a first reference point located on a subject and displacement of a second reference point located on a physical object, that is, parameters corresponding to "height" in the foregoing example, are compared. Thus, it can be determined whether the subject and physical object are disposed in a position relationship which can constitute an overlapping state. As disclosed in Claim 4, concomitant use of the overlapping state decision disclosed in Claim 2 is favorable in terms of ensuring the accuracy of the determination. In accordance with the invention of Claim 5, show-through processing is accomplished by replacing pixels in accordance with a prescribed pattern for display, thereby generating an image in which both the physical object and the subject may be discerned. In particular, displaying a prescribed pattern by alternating physical object display pixels and background display pixels in the manner disclosed in Claim 6 gives an image display which includes the subject without diminishing the quality of the physical object, and in which the background lying behind the physical object is clearly displayed. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a simplified block diagram of a game unit pertaining to an embodiment of the present invention; Fig. 2 is a flow chart depicting operation of a game unit pertaining to an embodiment of the present invention; Fig. 3 is an operating diagram depicting overlap determination; Fig. 4 is an example of virtual image display (in which an overlapping state does not occur) pertaining to an embodiment of the present invention; Fig. 5 is an example of virtual image display (in which an overlapping state occurs) pertaining to an embodiment of the present invention; Fig. 6 is an illustrative diagram of the virtual image produced when overlap occurs in a conventional example; Fig. 7 depicts a vector which extends from an obstacle to a subject (object) applied to the side surfaces, front surface, and back surface of the obstacle; Fig. 8 is a side view depicting a position relationship of an obstacle and a subject; Fig. 9 is a side view similar to Fig. 8, pertaining to another embodiment; Fig. 10 is a side view similar to Fig. 8, pertaining to still another embodiment; Fig. 11 is a side view pertaining to another embodiment, depicting placement relationships among two obstacles, subject, and visual point; Fig. 12 is a chart depicting the internal angles formed by the two vectors in Fig. 11; and Fig. 13 is an oblique view illustrating a right hand coordinate system in virtual space. BEST MODE FOR CARRYING OUT THE INVENTION Favorable embodiments of the present invention will be described below with reference to the drawings. (1) Description of Structure The game device pertaining to this embodiment of the present invention has a storyline in which objects (robots) which serve as the subjects battle each other in three-dimensional space. The player controls his or her own robot, moving it freely through virtual space to attack enemy robots. The visual point (camera) from which the virtual image is viewed follows the movement of the player's robot. A structural diagram of the game unit pertaining to this embodiment of is presented in Fig. 1. As shown in Fig. 1, the game unit 1000 comprises the following basic structural elements: a game unit main body 10, an input device 11, an output device 12, a TV monitor 13, and speakers 14. The input device 11 is provided with control levers which are operated with the player's left and right hands in order to control the movement of the robot. Codes associated with various control attitudes of the control levers are transmitted as control signals to an I/O interface 106. The output device 12 is provided with various types of lamps which notify the player of the operational status of the unit. The TV monitor 13 displays the combat game image; a head mounted display (HMD), projector, or the like may be used in place of a TV monitor. As an image generation means, the game unit main body 10 has a counter 100, a CPU (central processing unit) 101; it is also equipped with ROM 102, RAM 103, a sound device 104, an I/O interface 106, a scroll data processor 107, a coprocessor 108, terrain data ROM 109, a geometalyzer 110, shape data ROM 111, a displaying device 112, texture data ROM 113, texture map RAM 114, a frame buffer 115, an image synthesis device 116, and a D/A converter 117. The game unit main body 10 generates new virtual images at prescribed intervals (for example, each 1/60th of a second, corresponding to the vertical sync cycle of the television format). The CPU, which serves as the position data specification means and overlap determination means, is connected via buslines to the counter 100, which counts up from an initial value, to the ROM 102, which stores the program for the game sequence and image generation, to the RAM 103, which stores temporary data, and to the sound device 104, I/O interface 106, scroll data processor 107, coprocessor 108, and geometalyzer 110. The RAM 103 temporarily stores data required for polygon data coordinate conversion and other functions, and stores various command writes for the geometalyzer (such as object display), the results of matrix operations during conversion process operations, and other data. When control signals are input from the input device 11, the I/O interface 106 issues interrupt requests to the CPU 101; when the CPU 101 sends data for lamp display, this data is sent to the output device 12. The sound device 104 is connected to speakers 14 through a power amplifier 105. Audio signals output by the sound device 104 are amplified by the power amplifier 105 and delivered to the speaker 14. The ROM 111 stores shape data for physical objects required to generate virtual images, such as the player's robot, enemy robots, bomb explosion images, and elements of the virtual terrain such as obstacles, background, and topographical features. The ROM 109 stores shape data for physical objects (buildings, obstacles, topographical features, and the like) required to make overlap determinations as to whether a subject (object) should be obscured by an obstacle or other topographical feature, and collision determinations as to whether a subject should collide with another topographical feature. In contrast to the relatively detailed polygon data groupings for image display stored in the ROM 111, the data groupings stored in the ROM 109 comprise rough units sufficient to perform overlap determinations and the like. For example, where fine surface texture information for the physical objects which make up the terrain, objects, and the like is ignored and only entire solid forms are modeled, the ROM 109 stores data for displaying said solid forms, together with numbers for defining each surface of the solid forms. This data can serve as the basis for making collision and overlap determinations for physical objects and objects, and can also serve as the basis for making determinations concerning various shape features of physical objects, such as physical object height, width, and depth. For example, topographical feature data might include an ID for each surface which defines a topographical feature, and what is termed relationship of this ID and topographical feature surface is put in table form and stored in the ROM 111. What is termed polygon data are data groupings which are sets comprising a plurality of apices, and which indicate the apices of polygons (usually triangles or quadrangles), the elements that make up the shape of a physical object, in terms of relative coordinates or absolute coordinates. In order to generate virtual images, a coordinate system (world coordinate system) that indicates the relative positions of objects, obstacles, and other physical objects in a virtual space must be converted to a two-dimensional coordinate system (visual point coordinate system) that represents the virtual space as viewed from a designated visual point (for example, a camera or the like). The visual point is set at some prescribed position (for example, diagonally above the subject) from which the subject to be controlled is visible. The position relationship between the visual point and the subject may change in the course of the game. The coordinates which represent subject position are sent as control signals from the input device 11 to the CPU 101. When control signals are input from the input device 11, the CPU 101, in response to the control signals, generates visual point coordinates and object coordinates for the next interval in order to move the subject. Once these coordinates have been decided, the CPU 101 performs overlap determination and collision determination for the physical objects. Objects, obstacles, and other physical objects are made up of a plurality of polygon data sets. For each polygon which makes up a physical object, the overall shape is defined by a coordinate system (body coordinate system) in which one apex is selected as the origin and the other apices are represented by coordinates; the data sets for the polygons which make up the physical data are then associated. To perform show-through processing on an obstacle when an object or the like comes behind the obstacle when viewed from the visual point from which the visual image is observed, it is necessary to determine the overlapping state of the physical objects. This overlap determination pertains to the present invention and will be described in detail later. In order to enable display of an explosion image when an object or obstacle is hit by a bullet or light ray, it is necessary to compute the relative positions of the physical objects and make a collision determination to determine whether the physical objects have collided. To obtain relative positions for physical objects represented by body coordinate systems, conversion to the prescribed coordinate system which makes up the virtual space (world coordinate system) must be made. Once the relative position for each physical object has been determined, it becomes possible to determine whether the physical objects collide with each other. Once the relative positions of physical objects in the virtual space coordinate system have been decided, virtual images are generated by a conversion process which involves projection onto a two-dimensional plane which constitutes the field of vision, recreating images of the physical objects present in this virtual space as they would be observed from a given visual point (for example, camera photography). This is termed perspective projection, and the coordinate conversion performed through matrix operations for perspective projection is termed perspective conversion. It is the geometalyzer 110 that executes perspective conversion to produce the virtual image which is actually displayed. The geometalyzer 110 is connected to the shape data ROM 111 and to the displaying device 112. The geometalyzer 110 is provided by the CPU 101 with data indicating the polygon data required for perspective conversion, as well as with the matrix data required for perspective conversion. On the basis of the matrix provided by the CPU 101, the geometalyzer 110 performs perspective conversion on the polygon data stored in the shape data ROM 111 to produce data converted from the three-dimensional coordinate system in virtual space to the visual point coordinate system. At this time, if it is necessary to display an explosion image as a result of a collision determination by the CPU 101, polygon data for the explosion image is used. The displaying device 112 applies texture to the converted field-of-vision coordinate system shape data and outputs the result to the frame buffer 115. If, as a result of the overlap determination by the CPU 101, the object or the like is hidden behind an obstacle, prescribed show-through processing is performed. To apply texture, the displaying device 112 is connected to the texture data ROM 113 and the texture map RAM 114, and is also connected to the frame buffer 115. The scroll data processor 107 computes text and other scroll screen data (stored in ROM 102). The image synthesis device 116 imposes text data output from the processor 107 onto the image data provided by the aforementioned frame buffer 115 and resynthesizes the image. The re-synthesized image data is output to the TV monitor 13 through the D/A converter 117. (II) Description of Operation Next, the overlap determination process in this embodiment will be described referring to the flow chart in Fig. 2. In step S1, the CPU 101 performs the initialization necessary for displaying an obstacle. Specifically, when a new control signal is supplied by the input device 11, the CPU 101 uses the movement assigned to the control signal to compute the coordinates for the destination to which the player-controlled object is to be moved. Once the object destination has been determined, a new location for the visual point from which the object will be observed as subject is determined. Once the new coordinates for the visual point have been computed, the CPU 101 selects the physical object which will require perspective projection when the visual space is observed from this visual point, centered on the subject. In making the selection, the coprocessor 108 refers to the shape data stored in the shape data ROM 109. The selected physical object is stored in RAM 103 together with numbers that define the surfaces which make up the physical object. When an obstacle or other physical object to be displayed is not present in the visual field of virtual space observed from the visual point (step S2: NO), the CPU 101 provides conversion matrix data for perspective projection for the new visual point to the geometalyzer 110 and completes processing. Since a plurality of obstacles or other physical objects are usually contained within a visual field (step S2: YES), the overlap determination process described below is performed in sequence for each obstacle or other physical object contained within the visual field. In the virtual space with a right-handed coordinate system depicted in Fig. 13, the overlap determination depends upon the size of the angle 1 formed by the vector CR, which extends from point C (where the visual point ((virtual camera)) is projected onto the x-z plane) towards point R (where the object which serves as the subject is projected onto the x-z plane), and the vector OR, which extends from the obstacle O towards point R (see Fig. 3). Fig. 3 corresponds to a plan view of the virtual space observed in the y direction, looking towards the x-z plane. The vector OR has been predetermined for each obstacle in the manner depicted in Fig. 7. In Fig. 7, the obstacle O is viewed from the same direction as in Fig. 3. Area 2, which borders the right surface 720 of the obstacle, has a defined vector 72 which extends parallel to the x-y plane. Area 4, which borders the left surface 760 of the obstacle, has a defined vector 76 which extends in the opposite direction from vector 72. Area 3, which borders the front surface 740 of the obstacle, has a defined vector 74 which extends parallel to the x-z plane. Area 1, which borders the back surface 700, is assigned a vector 70 which extends in the opposite direction from vector 74. These vectors 70, 72, 74, and 76 are defined perpendicularly for each surface. Vectors 70 and 72 are assigned to area 5, vectors 72 and 74 to area 6, vectors 72 and 76 to area 7, and vectors 76 and 70 to area 8. The vectors for each area are stored in table form in, for example, ROM 111. In step S3 in Fig. 2, (x, z) is read out from the current coordinate position of the object, and depending on which of the areas 1 through 8 (x, z) belongs to or not, the vector OR which extends from the obstacle to the object is designated as any of vectors 70 through 76. Since the overlap determination is usually based on the size of the angle defined by the aforementioned vector OR and vector CR, vector size is usually unimportant; thus, these vectors are usually given a prescribed size. The vector CR, which extends from the visual point projection point C towards the object projection point R is computed from the coordinates of projection point C in the x-z plane (x1, z1) and the coordinates of projection point R in the x-z plane (x2, z2). Next, in step S4, the angle formed by the vector CR, which corresponds to a line of sight extending from the visual point towards the subject, and the vector OR (of the angles formed by the vector OR, which has the vector CR as its reference, the interior angle with the small value is hereinafter termed "interior angle" for convenience) is computed. In step S5, the CPU 101 compares the reference angle specified by the program with the interior angle computed in step S4. When the angle formed by vector OR and vector CR is within the reference angle (step S5: YES), the height of the reference point for the subject (distance in the y direction) is compared with the height of the reference point for the obstacle (step S6). When the height of the subject is lower than the height of the obstacle (step S6: YES), that is, when the conditions that interior angle formed by the vector OR and vector CR be smaller than the reference angle and that the height of the subject be lower than the height of the obstacle are met, the CPU 101 provides a physical object number designating said obstacle, together with a code that prescribes show-through processing for the obstacle, to the displaying device 112 through the geometalyzer 110 (step S8). When the subject moves behind a plurality of obstacles, overlap determination is performed for each obstacle, so if the overlapping states of all obstacles fulfill the aforementioned conditions, the geometalyzer is provided with numbers and codes for a plurality of physical objects. Where the angle formed by the vector OR and vector CR is greater than the reference angle (step S6: NO), or the height of the subject is greater than the height of the obstacle (step S6: NO), a code that prescribes non-show-through processing (the usual display mode for obstacles) is provided to the geometalyzer 110 (step S7). For example, as depicted in Fig. 3A, since projection point R on the x-z plane of the object belongs to area 1 in Fig. 7, vector 70 is selected as vector OR. The line-of-sight vector CR, which extends from the point of projection C of the virtual camera (which serves as the visual point) onto the x-z plane to projection point R is given as shown in Fig. 3A. The determination is made that the angle.  1 formed by the vector OR and vector CR is smaller than the reference angle, and that object R' and the obstacle O can overlap (see Fig. 6). The system then proceeds to step S6. Next, as shown in Fig. 8, the current object coordinates are used to compute the height (y coordinate) H of the object R' with respect to the virtual ground surface 80. This height H is compared with the height of the obstacle, and where the height (H1) of the first origin of the object (bottom edge of the object) is higher than the height (H0) of the second origin of the obstacle (top edge of the obstacle), it is determined that the entire object is visible from visual point C' and that the object and obstacle can overlap,. whereupon the obstacle O image is generated in the usual manner, without show-through processing. Conversely, where the object height (H2) is lower than the obstacle height (H0), it is determined that the object R' is not visible from visual point C', whereupon the obstacle O image is generated so as to show through. As shown in Fig. 3B, since projection point R on the x-z plane of the object belongs to area 3 in Fig. 7, vector 74 is selected as vector OR. The line-of-sight vector CR, which extends from the point of projection C of the virtual camera (which serves as the visual point) onto the x-z plane to projection point R is given as shown in Fig. 3B. The determination is made that the angle q2 formed by the vector OR and vector CR is greater than the reference angle, and that object R' and the obstacle O do not overlap, whereupon the system returns to step S2. In the case illustrated in Fig. 3B, an overlapping state is not produced even when the height of the subject is lower than the height of the obstacle O, so the process of step S6 is not applied. In this embodiment of the present invention, the angle formed by the vectors is used as the basis for making the overlap determination for an object and an obstacle for the following reason. Where an object is positioned behind an obstacle when viewed from the visual point, as shown in Fig. 3A, both the vector OR and the vector CR lie in essentially the same direction when the object is viewed from the back surface 700 of the obstacle. In such cases, the interior angle formed by the two vectors tends to be small. In contrast, where an object is positioned in front of an obstacle when viewed from the visual point, as shown in Fig. 3B, the vector OR lies in the direction extending from the back surface 700 to the front surface 740 of the obstacle, while the vector CR lies in the direction extending from to the front surface 740 to the back surface 700 of the obstacle. Since these two directions are opposite from each other, the interior angle formed by the two vectors tends to be greater than it is in Fig. 3A. Thus, by defining as the interior angle a reference angle that is suitable for distinguishing between the state depicted in Fig. 3A and the state depicted in Fig. 3B, and comparing the actual interior angle formed by the two vectors with this reference angle, it becomes possible to distinguish between Fig. 3A and B. The reference angle will differ depending on factors such as the angle formed by the visual point and the object and the distance, but favorably ranges from 70 to 90-. In step S6, the height of the physical objects, that is, their y coordinates in the world coordinate system of the virtual space, is used as a reference because the y coordinate for the visual point is always greater (higher) than the y coordinate for obstacles. Thus, in game devices where the "height" of the visual point is set lower then the "height" of obstacles, a comparison of the magnitude of the x coordinate for each physical object may be used in place of the "height" comparison. When show-through processing has been instructed (step S8), the displaying device 112 performs "mesh" processing when applying texture to the obstacle in question on the basis of texture data. Where show-through processing has been instructed for a plurality of physical objects, "mesh" processing is performed for the plurality of physical objects. This mesh processing refers to a process in which pixels are selected from among the pixel array for displaying the obstacle in question, and these pixels for displaying the obstacle are replaced by inserting pixels for displaying the background in accordance with a prescribed pattern. Any type of pattern that renders the background and the object equally recognizable and that does not excessively change the look of the obstacle may be used as the prescribed pattern. For example, a pattern in which obstacle pixels and background pixels are disposed in alternating fashion is favorable. In embodiments like that described above, the determination of an overlapping state is made on the basis of two criteria: the angle formed by the vector which extends from the visual point towards the object and the vector which extends from the obstacle towards the object, and differences in height between the two physical objects. This allows overlapping states to be determined accurately. The invention does not preclude the use of coordinate values for the objects and the obstacle, or other means for making overlap determinations for the two. When it has been determined that an overlapping state exists, show-through processing is performed so that the obstacle is displayed in mesh format Thus, even if an obstacle should come between the visual point and a subject, the player does not lose sight of the subject and can continue to play, while still discerning the presence of the obstacle. Since the vector OR is stored in table format in memory and the position of an object with respect to an obstacle is read out from memory, overlap determinations may be made rapidly and easily. (III) Other Embodiments i) Overlap Determination In the foregoing embodiment, an overlapping state was determined to exist when a condition pertaining to the angle formed by the vector CR and the vector OR and a condition pertaining to the height of the subject and the height of the obstacle were both fulfilled. However, it would be possible to perform the overlap determination using angle determination alone. Since the movements of the subject tend to be quite extreme in video games, in cases where the visual point is set at a considerable distance from the obstacle, or the obstacle is rather low in height, the position relationships are generally such that it is possible for player to control the game without any sense of disorientation, even in the absence of show-through processing. Depending on the physical object size (that is, the distance from the center of gravity to the perimeter) of obstacles, subjects, or other physical objects when viewed from the visual point, the angle formed by the vector OR and the line-of-sight vector CR when overlap occurs will differ. This angle also differs with the distance between the visual point and each physical object. The reference angle used for the comparison in step S5 may be varied in accordance with the size of the exterior of the physical objects and the distance between the visual point and the physical objects. As shown in Fig. 9, it is also possible to compute the OR vector on the basis of subject position and obstacle position. This vector is computed as a vector extending from a prescribed reference point on the obstacle O towards a reference point on the subject R'. The reference point is, for example, the center point of the subject or obstacle. Center point refers to a point corresponding to the center of gravity of the solid form envelope of the physical object, as viewed in geometric terms. In game units, objects and the visual point move in extreme fashion; thus, it is not necessary to compute the center point of the physical objects in an overly precise fashion, but is sufficient merely to store the position as center point coordinates in the ROM 109 or the like. The reference points for determining the height of a physical object can be the same physical object center point used for vector computation; for obstacles, the height of the top surface of the obstacle may be used, and for objects which serve as subjects, the height of the bottommost area of the object may be used for reference. ii) Show-through Processing In the foregoing embodiment, mesh processing, whereby pixels are modified on a per-dot basis, was used for the show-through processing performed by the image generation apparatus; however, the pixels may be replaced in accordance with other patterns. Specifically, it would be possible to perform pixel replacement every two dots, or to display the background and obstacle in striped fashion. It would also be possible to use show-through processing whereby the obstacle display is rendered translucent, rather than "mesh" processing, in which pixels are replaced. To render the obstacle translucent, various operations (addition, multiplication, or the like) can be performed on the color information (RGB) for the image displaying the obstacle and the color information for the image displaying the background, so that portions of the background obscured by the obstacle become recognizable. As shown in Fig. 10, which is depicted from the same direction as in Fig. 8, where the visual field angle from visual point C' is -1, the area of an object R' having extension in the y direction overlapped by the obstacle O falls within the range -2. Thus, the show-through processing may be performed on selected areas in the -2 portion only. In the embodiment illustrated in Fig. 2 earlier, obstacles falling within the visual field of the visual point are subject to overlap determination. It would also be possible to apply the process illustrated in Fig. 2 to obstacles other than those within the visual field, for example, all obstacles within the virtual space. This process will be described with reference to Fig. 11. Fig. 11, which is depicted from the same direction as in Fig. 7, is a diagram showing two obstacles 01 and 02, viewed from the y direction. Fig. 11 indicates that the following relationships hold between the projection points R-1 and R-2 of the two objects onto the x-z plane, the visual point projection point C-1 for R-1, and the visual point projection point C-2 for R-2: (1) R-1: back surface 700-1 side of obstacle O1 front surface 740-2 side of obstacle 02 C-1: front surface 740-1 side of obstacle O1 (2) R-2: back surface 700-1 side of obstacle O1 back surface 700-2 side of obstacle 02 C-2 back surface 700-1 side of obstacle O1 front surface 740-2 side of obstacle 02. The interior angles formed by: the vector CR-1 extending between projection point C-1 and projection point R-1; the vector OR-1 extending between obstacle O1 and projection point R-1; the vector CR-2 extending between projection point C-2 and projection point R-2; and the vector OR-2 extending between obstacle 02 and projection point R-2 are indicated in Fig. 12. As may be seen from Fig. 11 and Fig. 12, when the object projection point is R-1, show-through processing is applied to the obstacle O1, while non-show-through processing is applied to the obstacle 02. On the other hand, when the object projection point is R-2, show-through processing is applied to both the obstacle O1 and the obstacle O2. Since the visual point is at C-2 during this time, obstacle O1 is not included within the visual field and is not displayed as an image on the Tv monitor 13. Where overlap determination is to be applied to all obstacles within a virtual space, it is possible to assign an identifying ID to each obstacle and to apply the processes of step S3 through step S7 to all of the IDs. The ROM may be provided with a status flag register indicating whether overlap determination is necessary for individual obstacles. For example, where the height of an obstacle is lower than that of an object such that almost the entire object is not obscured by the obstacle even when the position of the visual point changes, a "1" is placed in the flag to indicate that overlap determination is unnecessary. EXAMPLE An example employing a game unit which pertains to the aforementioned embodiment will be described. Fig. 4 is a diagram which illustrates position relationships in a case where no overlap between a subject and an obstacle occurs. As shown in 4B, in this example, the virtual camera C' which observes a subject R views the visual space from above the subject R' and centered on the subject R'. As shown in the bird's-eye view in 4A, when the camera C' is positioned at point P1, the obstacle O is located behind the subject R as viewed from the camera C', so the angle formed by the vector extending from the visual point to the subject and the vector extending from the obstacle to the subject is greater than the reference angle, and it is therefore determined that no overlapping state exists. Therefore, show-through processing is not performed on the obstacle O, and the usual virtual image depicted in 4C is displayed on the monitor. However, when the camera circles around to point P2 in Fig. 4A, the obstacle O is now located between the camera C' and the subject R', producing an overlapping state. The position relationship of the camera C' and the subject R' at this time is depicted in bird's-eye view in Fig. 5A; the position relationship is shown in a side view in 5B. At this time, the angle formed by the two vectors is smaller than the reference angle, and the subject R' is also lower in height than the obstacle. Therefore, show-through processing is performed on the obstacle O, and mesh processing is applied to the texture of the obstacle, as shown in 5C, so that the subject R' hidden behind it shows through in the virtual image displayed on the monitor. INDUSTRIAL APPLICABILITY In accordance with the present invention, images are generated in such a way that figures normally generated without show-through processing are rendered as show-through figures when necessary, thereby affording a virtual image generation apparatus in which the look of the game is not impaired, and which does not require omitting obstacle display, displaying obstacles as wire frames from the start, or similar means. Position relationships in which a subject is obscured by a physical object are determined to be overlapping states, whereupon show-through processing is applied to the physical object which obscures the subject. The subject image is therefore adequately visible to allow the player to control and discern the status of the subject without difficulty. In particular, overlap determinations are performed on the basis of the angle formed by a vector extending from the visual point to the subject and a vector extending from the obstacle to the subject, allowing for easy and accurate determination of whether the obstacle obscures the subject Applying show-through processing when a subject is hidden by a physical object affords a non-disorienting image display. Overlap determinations may also be made by comparing the position of a subject and a physical object. By replacing display pixels in accordance with a prescribed pattern to effect show-through processing, the image can be made show-through by means of relatively simple processing without impairing the color, shape, or look of physical objects and subjects. In particular, by displaying physical object display pixels and background display pixels in alternating fashion, sufficiently discernible virtual images of both physical object and subject can be obtained in an overlapping state.

Claims: An image generation apparatus for generating images of subjects present in a virtual space as they would be observed from a prescribed visual point, comprising: shape data memory means (109, 111) for storing shape data pertaining to physical objects present in said virtual space; position data specification means (101) for specifying position data for said subjects; overlap determination means (101) for determining, on the basis of said shape data stored in said shape data memory means and said position data for said subjects specified by said position data specification means, whether or not said physical object located between said visual point and said subject overlaps with said subject and is visible from said visual point; and image generation means (112) for generating images wherein said physical object is processed by prescribed show-through processing in the event that said overlap determination means has determined that said subject and said physical object are disposed in a prescribed overlapping state, and for generating images wherein said physical object is processed by non-show-through processing and is not rendered show-through in the event that said subject and said physical object are disposed in a state other than a prescribed overlapping state. An image generation apparatus as defined in Claim 1, wherein said overlap determination means computes a first vector which extends in direction in which said subject is observed from said visual point, and a second vector which extends from said physical object towards said subject, computes the angle formed by this first vector and second vector, and, in the event that this angle falls within a prescribed relationship with regard to a prescribed reference angle, decides that an overlapping state exists, or, in the event that this angle falls outside the prescribed relationship, decides that a non-overlapping state exists. An image generation apparatus as defined in Claim 1 or 2, wherein said overlap determination means compares displacement from a prescribed ground point for a first reference point previously specified for said subject with displacement from a ground point for a second reference point previously specified for said physical object, and, in the event that the displacement for said first reference point is smaller than the displacement for said second reference point, decides that an overlapping state exists, or, in the event that the displacement for said first reference point is greater than the displacement for said second reference point, decides that a non-overlapping state exists. An image generation apparatus as defined in Claim 3, wherein said overlap determination means makes a determination that said overlapping state exists in the event that the angle defined in Claim 2 has the prescribed relationship to said reference angle, and that displacement for the first reference point as defined in Claim 3 is smaller than the displacement for the second reference point. An image generation apparatus as defined in Claim 1, wherein, for said show-through display, said image generation means generates an image by displaying pixels for displaying said subject in accordance with a prescribed pattern, rather than pixels for displaying said physical object. An image generation apparatus as defined in Claim 5, wherein said pattern comprises an alternating sequence of pixels for displaying said physical object and pixels for displaying said subject. An image generation method which generates images of subjects present in a virtual space as they would be observed from a prescribed visual point, comprising the steps of: determining, on the basis of shape data relating to physical objects present in said virtual space and position data for said subjects, whether said physical object between said visual point and said subject overlaps with said subject when viewed from said visual point and, in the event that it is determined that said subject and said physical object are disposed in a prescribed overlapping state, generating an image in which said physical object is processed by show-through processing or, in the event that said subject and said physical object are disposed in a state other than a prescribed overlapping state, generating an image through non-show-through processing, in which said physical object is not rendered show-through. A recording medium having program data recorded thereon for generating images of subjects present in a virtual space as they would be observed from a prescribed visual point, wherein said program data defines the process of determining, on the basis of shape data relating to physical objects present in said virtual space and position data for said subjects, whether said physical object between said visual point and said subject overlaps with said subject when viewed from said visual point and, in the event that it is determined that said subject and said physical object are disposed in a prescribed overlapping state, generating an image in which said physical object is processed by show-through processing or, in the event that said subject and said physical object are disposed in a state other than a prescribed overlapping state, generating an image through non-show-through processing, in which said physical object is not rendered show-through.

Inventors: YAMAMOTO KENJI, YAMAMOTO, KENJI
Applicants: SEGA ENTERPRISES KK, SEGA ENTERPRISES, LTD.
Application year: 1996
Main classification: A63F13
IPC codes: G03B35, A63F13, G06T15, G09B9, G02B27, G06T17, H04N7