This invention relates to game software and a game machine, for realtimely modeling and rendering a three dimensional object. Especially, the invention relates to game software and a game machine, suitable for representing a three dimensional object having a big surface, such as a sea, a lake, a river, a desert and a jungle.
“Game software” in the specification includes program itself and various kinds of data related to the program if necessary. It is not always necessary to relate “game software” to the data, but “game software” has always program. And, “the related various kinds of data” may be stored in a memory means, such as a ROM disc, together with the program. Furthermore, these data may be stored in an outside memory means so as to be freely read out through a communication medium means, such as the Internet.
In a conventional method of representing an image of a three dimensional object having a big surface, such as a sea, a lake, a river, a desert and a jungle (only “the big surface object” hereinafter) with such kind of game software, the whole model of a three dimensional object to be represented is located at a predetermined position inside a three dimensional virtual space, the whole model located is equally divided into many small meshes, a polygon is located on each mesh, animation processing for changing the shape of each mesh (polygon) with passage of time is executed, and rendering processing, such as texture mapping, shadowing and shading, is executed on the polygon so as to produce the image to be produced.
In such a case, animation processing and rendering processing on each mesh (polygon) are executed on the polygon located on each mesh, so that animation processing and rendering processing are executed on a distant surface of water, similar on a surface of water near a camera although the distant surface of water is actually displayed to be extremely small on a monitor.
With this method, a vain operation by a CPU is inevitable. So, this is a big problem for game software and a game machine with real-time computer graphics (CG) animation for actualizing speedy picturing by improving efficiency of operation of a CPU if circumstances allow.
Then, game software and a game machine for maintaining quality of images which are displayed on a display and actualizing speedy picturing with no vain operation by a CPU when representing the big surface object with real-time CG animation processing are still be desired to be developed.
The invention is game software having function of displaying big surface object, said game software having program for getting a computer to execute a procedure for obtaining an image of a surface of a big surface object having a big surface to be located in a three dimensional virtual space with a virtual camera and displaying on a monitor, comprising:
According to this aspect of the invention, it is not necessary to divide all the surfaces of the big surface object by a mesh, and it is sufficient to set the mesh on only surface portion which is projected on the projecting plane of the virtual camera and to model only the surface, thereby avoiding modeling on the other surface portion of the big surface object which is not displayed on a monitor as an image. Then, the burden on a CPU does not widely increase by the operation for modeling, and speedy picturing is possible, while maintaining quality of image similar to the conventional.
And, the mesh is set on the projecting plane of the virtual camera, and the set mesh is projected onto a position of the surface of the big surface object so as to set the projecting mesh, so that the small partition of the projecting mesh projected can be changed bigger with distance from the virtual camera. Then, the distant mesh which is projected on the big surface object occupies a big surface area on the surface, and the modeling on each small partition of the mesh and the subsequent rendering processing can be made more simple with the area ratio with respect to the object with distance from the virtual camera.
Then, speedy picturing is possible with a quality of image similar to the conventional, while widely simplifying the processing of the portion distant from the virtual camera, which will be small displayed on a monitor in actual fact and does not mostly give an influence on the quality of the image even if displayed.
Besides, the other aspect of the invention is the game software having function of displaying big surface object, wherein said procedure for producing mesh has a procedure for computing position of surface, for computing a coordinate position on said projecting plane, concerning the most distant position of said surface of said big surface object which is projected on said projecting plane from a position of said virtual cameral with respect to said big surface object, and said mesh is computed and produced on a portion near said virtual camera rather than said coordinate position on said projecting plane which was computed by said procedure for computing position of surface.
According to this aspect of the invention, the mesh is computed and produced on the portion near the virtual camera rather than the coordinate position on the projecting plane which was computed by the procedure for computing position of surface, so that the mesh is not set on the portion excluding the surface of the big surface object, thereby avoiding excessive operation by a CPU and actualizing speedy processing.
Beside, the other aspect of the invention is the game software having function of displaying big surface object, wherein said procedure for producing mesh has a procedure for equally dividing, for respectively equally dividing said projecting plane of said virtual camera in horizontal and vertical directions so as to produce said mesh.
According to this aspect of the invention, the mesh is produced by respectively equally dividing the projecting plane of the virtual camera in horizontal and vertical directions, so that production of mesh is made simple, and the operation load on a CPU is small.
And, the other aspect of the invention is the game software having function of displaying big surface object, wherein said procedure for producing mesh has a procedure for dividing mesh, for dividing said projecting plane of said virtual camera so as to produce said mesh such that the farther the distance from said virtual camera is, the bigger said small partition of said projecting mesh which is set by said procedure for setting projecting mesh becomes.
According to this aspect of the invention, the mesh is produced by dividing the projecting plane of the virtual camera such that the small partition of the projecting mesh which is set by the procedure for setting projecting mesh can be changed bigger with distance from the virtual camera. Then, the distant mesh of the big surface object which does not mostly give an influence on the quality of image displayed on the monitor occupies a big surface area on the surface of the object. Then, the modeling on each small partition and the subsequent rendering processing can be made more simple with the area ratio with respect to the object with distance from the virtual camera.
Then, speedy picturing is possible with a quality of image similar to the conventional, while widely simplifying the processing of the portion distant from the virtual camera, which will be small displayed on a monitor in actual fact and does not mostly give an influence on the quality of the image even if displayed.
And, the other aspect of the invention is the game software having function of displaying big surface object, wherein said procedure for partially modeling has a procedure for locating polygon, for locating a plate polygon on each of said small partitions comprising said projecting mesh.
According to this aspect of the invention, a plate polygon is located on each of the small partitions comprising the projecting mesh, thereby easily executing the modeling, corresponding the small partition of the projecting mesh and the plate polygon to each other with 1:1.
Besides, the other aspect of the invention is the game software having function of displaying big surface object, wherein said big surface object is an object for representing a sea, a lake or a river.
According to this aspect of the invention, the big surface object is the object for representing a sea, a lake or a river, and the surface of the big surface object is a surface of water having a relatively simple surface shape. Then, simple rendering procedure on the plate polygon distant from the virtual camera concerning the surface of water having a big area does not invite deterioration of the quality of the image, thereby effectively utilizing the invention.
Besides, the other aspect of the invention is a game machine to be controlled by a computer, for executing game software having the above-mentioned program.
According to this aspect of the invention, speedy picturing is possible if necessary when the game software being stored in a hard disc or the ROM 2 or the RAM 3 inside a game machine.
A game machine 20 is for executing a predetermined game, such as an action game, according to game software which is stored in a ROM disc 15, a storage medium, as shown in
An operating system which is program necessary for controlling the whole operations in the game machine is written in the ROM 2. In the RAM 3, program and data for game read from the ROM disc 15 as a storage medium are stored according to its necessity. And, the image processing unit 4 receives image data from the CPU 1, and draws a game picture on the frame buffer 5, and converts the data of the drawn image into predetermined video regenerative signal, and outputs the signal to a monitor 9 with a predetermined timing. The sound processing unit 6 copies data of voice or sound, and data of the sound source which are read out of the ROM disc 15 and stored in the sound buffer 7, and gets a speaker 10 to output. The ROM disc reader 8 reads program and data which are stored in the ROM disc 15 according to an instruction from the CPU 1, and outputs a signal corresponding to the read contents. Program and data necessary for execution of the game are stored in the ROM disc 15. As the monitor 9 and the speaker 10, a home television receiver and a built-in speaker of the television receiver are generally used.
A communication control device 11 is connected with the CPU 1 through a bus 14, and a controller 12 as an input device and an auxiliary memory 13 are attachably and detachably connected with the device 11 through proper connection ports. The controller 12 functions as an input device, and has operation members, such as an operation key, for receiving the operation by a player. The communication control device 11 scans the state of the operation of the controller 12 at predetermined cycles (at sixty cycles per a second, for instance), and outputs the signal corresponding to the scanned result to the CPU 1. The CPU 1 judges the state of the operation of the controller 12 on the basis of the signal. A plurality of the controllers 12 and the auxiliary memories 13 may be connected with the communication control device 11 in parallel.
The components in the above-mentioned structure excluding the monitor 9, the speaker 10, the controller 12, the ROM disc 15, and the auxiliary memory 13 are stored together in a predetermined housing so as to comprise a machine body 16. This machine body 16 functions as a computer.
Game software GPR through which a game, such as an action game, a role playing game, and an adventure game, proceeds according to a predetermined scenario, is stored in the ROM disc 15.
In the game machine 20, the CPU 1 firstly executes a predetermined initialization process according to the program of the ROM 2 after a predetermined initialization operation (the operation of turning the power on, for instance). When the initialization finishes, the CPU 1 starts to read the game software GPR which is stored in the ROM disc 15, and starts game processing according to the program. When a player executes a predetermined game start operation on the controller 12, the CPU 1 starts various processing necessary for the execution of the game according to the routines of the game software GPR on the basis of the instruction.
Thereafter, the game machine 20 executes predetermined processes according to the read game software GPR, controls to display the image on the monitor 9, and controls so that a predetermined scenario can proceed.
With the game machine 20 having such a structure, various kinds of games can be played on a screen of the display 9 by loading the program stored in the ROM disc 15 into the RAM 3 which is a main memory of a computer and executing the loaded with the CPU 1.
In the above-mentioned explanation, a computer through which the game software according to the invention functions is the game machine 20 as a game machine for home use. But, the game machine 20 may be a so-called portable game machine. Besides, the game machine 20 may not be a machine dedicated for a game, but a machine for replaying storage medium of general sound or general image.
Alternatively, the computer may be anything for working the game software, such as a personal computer and a portable phone.
And, various kinds of programs comprising the game software GPR and various kinds of data may be stored in with any method as long as these can be read out through a function of the program of the game software GPR. As the embodiment of the invention, these may be stored in the ROM disc 15 together with the program of the game software GPR. Alternatively, these may be stored in an external memory means separate from the game machine 1, such as a server, so as to download in a memory, such as the RAM 3, through a communication medium means, such as the Internet, with a reading program provided in the game software GPR.
The game according to the game software GPR is a so-called action game for moving a character (not shown) operable by a player's instruction through the controller 12, fighting against an enemy character in a field FLD set inside a three dimensional virtual space 31, the space being produced inside the RAM 3 by the CPU 1 as shown in
Only elements of the software in conjunction with the invention which comprise the game software GPR are shown in the game software GPR as shown in
The field producing program FPP may locate a big surface object 21, an object, such as a lake, a sea, a desert, a jungle and a river, having a big surface, such as a surface of lake, a surface of sea, a surface of sand, an upper surface of jungle, a surface of river, inside the three dimensional virtual space 31 through the CPU 1 by instruction of a scenario progress control program SAP for controlling a progress of the game scenario, as shown in
And, the scenario progress control program SAP instructs a camera control program CCP of the game software GPR to display an image obtained by rendering the lake 22 on the monitor 9 through the CPU 1 and the image processing unit 4 according to a movement of the character in the game (not shown)
Receiving this instruction, the camera control program CCP reads a big surface object processing program BOP out of the game software GPR through the CPU 1, and processes to display a surface of water 22a which is a surface of lake according to the big surface object processing program BOP.
No lake 22 is located in the three dimensional virtual space 31 as an object before processing to display the lake 22 by the big surface object processing program BOP. Then, the big surface object processing program BOP instructs the field producing program FPP to read object data OBD concerning the lake 22 which was instructed to display by the camera control program CCP out of an object data file ODF in the game software GPR through the CPU 1.
Receiving this instruction, the CPU 1 reads the object data OBD concerning the lake 22 to be located in the three dimensional virtual space 31 out of the object data file ODF, and stores in the buffer memory (not shown) (step S1 of
After reading out the object data OBD of the lake 22 to be displayed, the big surface object processing program BOP obtains a present position of a virtual camera (view point) 23 for projecting the object of the lake 22 from the camera control program CCP, and computes a positional relation between the camera 23 and the lake 22 to be located in the three dimensional virtual space 31 through the CPU 1 (step S2 of
The virtual camera 23 is located through the camera control program CCP, facing a Z-axis of a camera coordinate system 26 to the surface of water 22a of the lake 22, that is, crossing the Z-axis and a plane where the surface of water 22a is located in the three dimensional virtual space 31, as shown in
This view boundary 25 sets the view bounds in the camera coordinate system 26 in horizontal and vertical directions, and a front clipping plane 25a and a rear clipping plane 25b which show the bounds for projecting the object in the three dimensional virtual space 31 are set in the view boundary 25. And, a projecting plane (view screen) 25c is set between the front and rear clipping planes 25a, 25b. And, view volume 25d between the front and rear clipping planes 25a, 25b of the view boundary 25 is bounds where the object 21 in the three dimensional virtual space 31 is projected onto the projecting plane 25c.
The big surface object processing program BOP computes a position of the furthest surface of water 22a (horizontal line HL) in the object of the lake 22 which is projected onto the projecting plane 25c from the position of the virtual camera 23 with respect to the object of the lake 22 as a coordinate position on the projecting plane, as shown in
For instance, a v coordinate position on uv coordinates of the position of the farthest surface of water in
A X-axis of the camera coordinates 26 of the virtual camera 23 is set parallel to a X-axis of the world coordinates 27 of the three dimensional virtual space 31, as shown in
After setting the horizontal line HL on the projecting plane 25c, the big surface object processing program BOP sets and computes a mesh 29 as shown in
The big surface object processing program BOP projects the mesh 29 thus obtained onto the coordinate position where the surface of water 22a of the big surface object 21 is located in the view boundary 25 as shown in
It is not always necessary to cross the Z-axis of the camera coordinate system 26 and the surface of water 22a with each other, but it is necessary to cross a lower surface 25e of the view boundary 25 in the shape of a quadrangular pyramid of the virtual camera 23 and the surface of water 22a (correctly speaking, the plane in the three dimensional virtual space 31 where the surface of water 22a is set) in order to project the surface of water 22a on the projecting plane 25c.
The projecting mesh A is conversely projected at the plane position on the world coordinates 27 where the surface of water 22a is to be located in the three dimensional virtual space 31 on the basis of the mesh 29 produced on the projecting plane 25c of the virtual camera 23 where the surface of water 22a is projected, so that the projecting mesh 29A is properly set in the bounds of the view volume 25d inside the bounds having a horizontal view angle β as shown in
Subsequently, the big surface object processing program BOP locates a plate polygon 30 on each small partition 29b of the projecting mesh 29A projected on the position of the surface of water 22a of the lake 22 of the three dimensional virtual space 31 so as to correspond both sizes of the plate polygon 30 and the small partition 29b to each other, and the portion of the surface of water 22a which is positioned in the view volume 25d of the virtual camera 23 is modeled with the plate polygons. At this time, no plate polygon 30 is located on the portion of the surface of water 22a excluding the view volume 25d. With a conventional method, many polygons are located on all of the surface of water 22a of the big surface object 21, irrespective of the bounds of the view volume 25d. In comparison with the conventional method, the partial modeling of the surface of water 22a can make operating time for processing of location of the plate polygons 30 widely short.
After thus locating the plate polygon 30 on each of the small partitions 29b of the projection mesh 29A, the big surface object processing program BOP implements animation processing and rendering processing on each located plate polygon 30 so as to obtain an image 22b of the surface of water 22a of the lake 22 on the projecting plane 25c of the virtual camera 23.
That is, animation processing suitable for real-time computer graphics (such as a processing for transforming each plate polygon 30 with passage of time) and polygon image processing, such as texture mapping, shadowing, shading, reflection and no clear picture, are implemented on each plate polygon 30, and projecting processing for perspectively transforming each plate polygon 30 of the projecting mesh 29 onto the projecting plane 25c is implemented with the virtual camera 23 through the camera control program CCP and the CPU 1 so as to compute and produce the image 22b of the surface of water 22a of the lake 22 as shown in
At this time, the big surface object processing program BOP implements animation processing and polygon image processing only on the plate polygons located in the bounds of the view volume 25d of the virtual camera 23, thereby widely decreasing the operation load on the CPU 1.
As shown in
In other words, the bigger the Z coordinate value of the plate polygon 30 is, the bigger the reduction rate of each plate polygon 30 to the projecting plane 25c is. Even if the plate polygon 30 the Z coordinate value of which is big (the small partition 29b of the projecting mesh 29A projected) is bigger than the plate polygon 30 the Z coordinate value of which is small (the small partition 29b of the projecting mesh 29A projected) as shown in
The surface of water 22a near the virtual camera 23 is modeled with many small plate polygons 30, and fine animation processing and fine polygon image processing are possible in comparison with the distant surface of water 22a. In other words, high-grade animation processing and high grade polygon image processing, degree of which are high per a unit surface area of the object, are implemented only on the plate polygons 30 near the virtual camera 23 so as to represent the real surface of water 22a, and simple animation processing and simple polygon image processing, degree of which are low per a unit area of the object, are only implemented on the distant plate polygons 30.
Even if similar polygon image processing is thus implemented on both near and distant plate polygons 30 with the unit of each plate polygon 30, the number of the plate polygons 30 to be processed comprising the distant surface of water 22a can be widely decreased in comparison with ones comprising the near surface of water 22a since the polygons comprising the distant surface of water 22a are bigger than ones comprising the near surface of water 22a, thereby implementing the animation processing and the polygon image processing on the plate polygons 30 the distant surface of water 22a with no big burden on the CPU 1.
As mentioned before, no plate polygon 30 is located outside the view volume 25d of the virtual camera 23 and the surface of water 22a is not modeled, so that no animation processing and no polygon image processing is implemented.
When thus obtaining the image 22b of the surface of water 22a of the lake 22 from the virtual camera 23 as shown in
The image 22b is displayed on the monitor 9 so that near surface of water 22a of the lake 22 is detailedly drawn with fine plate polygons 30 and the distant surface of water 22a is simply drawn with the big plate polygons 30 so as not be unnatural.
In the above-mentioned embodiment, the big surface object 21 is the lake 22, and the image 22b of the surface of water 22b thereof is computed and produced. But, the big surface object 21 is not limited to the lake 22, but is any object, such as a sea, a jungle, a river, a desert as long as the object has a relatively simple and big surface, such as a surface of sea, many plants, a surface of river and a surface of sand.
Besides, the X-axis of the camera coordinates 26 of the virtual camera 23 is parallel to the X-Z plane (horizontal plane) of the world coordinates in the above-mentioned embodiment. But, the X-axis of the virtual camera 23 is not always parallel to the X-Z plane of the world coordinates, but may be inclined thereto. That is, it is sufficient that the X-axis of the virtual camera 23 is maintained parallel to the X-Z plane of the world coordinates 27 when setting the mesh 29 as shown in the figure on the projecting plane 25c and projecting the projecting mesh 29A on the coordinate position where the surface of the big surface object 21 is located. When obtaining the image 22b with the virtual camera 23, each polygon 30 located on the small partition 29b of the projecting mesh 29A, on which polygon image processing has already finished, may be perspectively transformed onto the projecting plane 25c in such a state that the X-axis of the virtual camera 23 is inclined to the X-Z plane of the world coordinates 27 so as to obtain and produce the image 22b.
In the above-mentioned embodiment, the CPU 1 comprises a game control unit, and the combination of the CPU 1 and specific software comprises various kinds of means of the game control unit, but at least a part of these means may be replaced by a logical circuit. Besides, the invention may be comprised as variously scaled game systems in addition to as a game system for home use.
The invention can be applied to an electronic game equipment utilizing a computer and recreational software to be executed through a computer.
The present invention has been explained on the basis of the example embodiments discussed. Although some variations have been mentioned, the embodiments which are described in the specification are illustrative and not limiting. The scope of the invention is designated by the accompanying claims and is not restricted by the descriptions of the specific embodiments. Accordingly, all the transformations and changes within the scope of the claims are to be construed as included in the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2004-106044 | Mar 2004 | JP | national |