U.S. Pat. No. 7,170,508

CHARACTER DISPLAY METHOD IN THREE-DIMENSIONAL VIDEO GAME

AssigneeKabushiki Kaisha Square Enix

Issue DateNovember 14, 2002

Illustrative Figure

Abstract

When a player instructs a movement of a player character from an input device, a control section obtains a position of the player character during a current frame period. The control section obtains a distance between the position of the player character during the current period and a position of a view point of a virtual camera during a previous frame period. If the obtained distance is less than a predetermined critical near distance, the control section moves the position of the view point away from the player character. If the obtained distance exceeds a critical far distance, the control section moves the position of the view point towards the player character. If the obtained distance is in the range between the critical near distance and the critical far distance, the control section does not move the position of the view point.

Description

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS Embodiment of the present invention will be specifically explained with reference to the drawings. When executing a video game that is applied to an embodiment of the present invention by a computer program, an example of a computer1000, which executes the computer program, is illustrated inFIG. 1. The computer1000is constructed to have mainly a computer main body101, which is specially designed for video games. The computer main body101includes a control section103connected to its internal bus119, a RAM (Random Access Memory)105, a hard disk drive (HDD)107, a sound processor109, a graphics processor111, a DVD/CD-ROM drive113, a communications interface115, and an interface section117. The sound processor109of the computer main body101is connected to a sound output device125, which is a speaker, and a graphics processor111is connected to a display device121having a display screen122. Furthermore, a storage medium (DVD-ROM or CD-ROM)131can be loaded to the DVD/CD-ROM drive113. The communications interface115is connected to a network151. An input section (controller)161and a memory card162are connected to the interface section117. The control section103includes a CPU (Central Processing Unit), a ROM (Read Only Memory), etc., and executes a program stored on the HDD107or the storage medium131, and controls the computer1000. The RAM105is a work area for the control section103. The HDD107is a storage area for storing a program and data. In the case where a program executed by the control section103instructs the sound processor109to perform a sound output, the sound processor109interprets the instruction and output a sound signal to the sound output device125. The graphics processor111develops an image onto the frame memory112and outputs a video signal, which displays the image on the display screen122of the display device121according to a drawing command output from the control section103. It is assumed that one frame time of the image included in the outputting video signal is, for ...

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Embodiment of the present invention will be specifically explained with reference to the drawings.

When executing a video game that is applied to an embodiment of the present invention by a computer program, an example of a computer1000, which executes the computer program, is illustrated inFIG. 1. The computer1000is constructed to have mainly a computer main body101, which is specially designed for video games. The computer main body101includes a control section103connected to its internal bus119, a RAM (Random Access Memory)105, a hard disk drive (HDD)107, a sound processor109, a graphics processor111, a DVD/CD-ROM drive113, a communications interface115, and an interface section117.

The sound processor109of the computer main body101is connected to a sound output device125, which is a speaker, and a graphics processor111is connected to a display device121having a display screen122. Furthermore, a storage medium (DVD-ROM or CD-ROM)131can be loaded to the DVD/CD-ROM drive113. The communications interface115is connected to a network151. An input section (controller)161and a memory card162are connected to the interface section117.

The control section103includes a CPU (Central Processing Unit), a ROM (Read Only Memory), etc., and executes a program stored on the HDD107or the storage medium131, and controls the computer1000. The RAM105is a work area for the control section103. The HDD107is a storage area for storing a program and data. In the case where a program executed by the control section103instructs the sound processor109to perform a sound output, the sound processor109interprets the instruction and output a sound signal to the sound output device125.

The graphics processor111develops an image onto the frame memory112and outputs a video signal, which displays the image on the display screen122of the display device121according to a drawing command output from the control section103. It is assumed that one frame time of the image included in the outputting video signal is, for example, 1/30 sec. The DVD/CD-ROM drive113performs writing/reading of the program and data to/from the storage medium131. The communications interface115is connected to the network151to perform communications with other computers such as a server apparatus, which exists on the network151to advance the game in cooperation with other computers.

The interface section117outputs input data from the input section161to the RAM105, and the control section103interprets it to carry out arithmetic processing. The input section161, inclusing a directional key and multiple operation keys, moves a character (to be described later) by the operation of the directional key, and performs predetermined processing by the operation of the operation keys. Moreover, the interface section117forwards data, indicative of the progress of the game stored in the RAM105, to the memory card162based on the instruction from the control section103. The interface section117reads data of the game stored in the memory card162at the time of stopping the game, and transfers read data to the RAM105.

The program and data relating to the present invention are first stored to, for example, the storage medium131. The program and data are read by the DVD/CD-ROM drive113and loaded onto the RAM105at the time of execution. The control section103processes the program and data relating to the present invention loaded onto the RAM105, outputs a drawing command to the graphics processor111, and outputs an instruction of a sound output to the sound processor109. Intermediate data is stored to the RAM105while the control section103performs processing.

In connection with the computer1000, any general-purpose personal computer may be used as the computer main body101if the similar structural components are provided. A cellular phone having the same function as that of the computer1000may be used. A portable video game player, which contains the display device121and the sound output device125in the same cabinet as that of the computer main body101, may also be used.

In the case where the computer main body101is a portable video game player, a semiconductor memory card may be used as the storage medium131in place of a DVD-ROM or CD-ROM. A card slot for inserting the memory card may be formed in place of the DVD/CD-ROM drive113. In the case where the computer main body101is a general-purpose personal computer, the program and data relating to the present invention may be prestored to the HDD107instead of being stored to the storage medium131. Regarding the storage medium for storing the program and data relating to the present invention, any kind of storage medium may be used according to the physical form of hardware and the distribution thereof.

An explanation will be next given of various kinds of data that are necessary for executing the video game according to this embodiment. In this video game, a player controls the input section161to operate a character (player character) to be moved on a field formed in a virtual three-dimensional space, and the game thereby progresses. The virtual three-dimensional space having the field formed is indicated by a world coordinate system (X, Y, Z). The field is composed of multiple surfaces, and shows coordinates of a vertex of each structural surface as a characteristic point.

FIG. 2is a view illustrating an example of the player character. A player character300is formed by polygons, and is indicated by a local coordinate system (x, y, z). A substantially central point of the player character300is set as a reference point301, and its position in the three-dimensional space is indicated by the world coordinate system of the reference point301. A direction of the player character300is indicated by an angle which each axis of the local coordinate system forms with respect to each axis of the world coordinate system. Then, the coordinates of the characteristic point of the player character300(a vertex of each polygon) are transformed to the coordinates of the world coordinate system.

An image, showing a state where the player character300moves on the field in the virtual three-dimensional space, is displayed on the display screen by performing perspective transformation on the virtual three-dimensional space using a virtual camera. The player thereby recognizes the state from the image.FIG. 3schematically shows the state of this perspective transformation. A virtual camera401is placed in the virtual three-dimensional space, and an image projected on a virtual screen402becomes an image to be displayed on the display screen122. The position of the virtual camera401is a view point403, the direction of the virtual camera401is an optical axis404, and an area formed by four straight lines, which connect the view point403to four corners of the virtual screen402, is a field of view405. The size of the virtual screen402is fixed. When a width of the field of view405is decided, the position of the virtual screen402is decided. Namely, when the position of the virtual screen402is decided, the width of the field of view405is decided.

A coordinate system used to project the image on the virtual screen402is a view coordinate system (X′, Y′, Z′), and the direction of the optical axis404is a Z′-axis of the view coordinate system. The coordinates of the world coordinate system (including the coordinates transformed from the coordinates of the local coordinate system) are transformed to the coordinates of the view coordinate system, and processing for perspective transformation including hidden surface removal processing (described below) is carried out.

For generating an image displayed on the virtual screen402by the perspective transformation, the hidden surface removal must be carried out to remove a surface that is hidden by another object existing in front of the hidden object. A Z-buffer method is herein used as a hidden surface removal method. When the coordinates of the world coordinate system are transformed to the coordinates of the view coordinate system, the control section103sends the coordinates of each characteristic point to the graphics processor111and outputs a drawing command thereto. Based on the drawing command, the graphics processor111updates the contents of the Z-buffer such that data (a value of Z′) of a point existing at the front side (a small point of a Z′-coordinate) remain in connection with each characteristic point. Then, every time when the update is carried out, the graphics processor111develops image data on the corresponding characteristic point onto the frame memory112.

The position of the view point403at the time of perspective transformation in each frame is decided based on a distance between the position of the player character300during the corresponding frame period and the position of the view point403during the previous frame period.FIG. 4is a view explaining processing for deciding the position of a new view point403according to the position of the player character300.

InFIG. 4, coordinate points (Xc, Yc, Zc) indicate the position of the player character300during the current frame period. Coordinate points (Xoc, Yoc, Zoc) indicate the position of the player character300during the previous frame period. Coordinate points (Xe, Ye, Ze) indicate the position of the view point403during the previous frame period. Moreover, coordinate points (Xfe, Yfe, Zfe) indicate the position of the view point403when a distance between the position of the player character300and the position of the view point403during the previous frame is less than a first distance. Furthermore, coordinate points (Xne, Yne, Zne) indicate the position of the view point403when the distance between the position of the player character300and the position of the view point403in the previous frame is greater than a second distance.

The first distance is a critical near distance where the distance between the position of the player character300and the position of the view point403is nearest in a state that the position of the view point403is a boundary where no further movement of the view point403is performed. The first distance is set to such a predetermined distance that the size of the player character300does not exceed a fixed size on the display screen122and that a background image can be recognized. The second distance is a critical far distance where the distance between the position of the player character300and the position of the view point403is farthest in a state that the position of the view point403is a boundary where no further movement of the view point403is performed. The second distance is longer than the first distance, and is set to such a predetermined distance that the size of the player character300does not become smaller than a fixed size on the display screen122so that the player can easily recognize the player character300.

When deciding a new position of the view point403, a distance D between the position of the player character300during the current frame period and the position of the view point403during the previous frame period can be obtained by equation (1) described below:
D=√{square root over ((Xc−Xe)2+(YC−Ye)2+(Zc−Ze)2)}{square root over ((Xc−Xe)2+(YC−Ye)2+(Zc−Ze)2)}{square root over ((Xc−Xe)2+(YC−Ye)2+(Zc−Ze)2)}  (1)

It is determined whether the distance D is less than the first distance or whether the distance D exceeds the second distance. If the distance D is less than the first distance, coordinate values of the position of the view point403during the current frame period are obtained by equation (2) described below. If the distance D is greater than the second distance, coordinate values of the position of the view point403during the current frame period are obtained by equation (3) described below. If the distance D is no smaller than the first distance and no greater than the second distance, the position of the view point403during the previous frame period is determined to be the position of the view point403during the current frame period.
(Xne,Yne,Zne)=(Xe,Ye,Ze)+n(Xc−Xe,Yc−Ye,Zc−Ze)  (2)
(Xfe,Yfe,Zfe)=(Xe,Ye,Ze)−m(Xc−Xe,Yc−Ye,Zc−Ze)  (3)

In the above equations, m and n are constants each being larger than 0 and set to predetermined value by which a moving velocity of the view point403is equal to or greater than a moving velocity of the player character300. Namely, a moving distance of the view point403is equal to or greater than a moving distance of the player character300in one frame period (described later).

In order to display the field formed in the virtual three-dimensional space and the player character300existing on the field on the display screen122as a two-dimensional image, processing such as shading, texture mapping, etc., is required. However, since such processing is not particularly related to the present invention, the detailed explanation is omitted.

The following will explain the progress of the game that is executed by the computer1000according to this embodiment. The explanation hereinafter is given of an example of a case when the player character300moves on a map according to an instruction from a player. It is assumed that no obstruction exists between the player character300and the view point403of the virtual camera401.

FIG. 5is a flowchart showing main processing in the video game according to this embodiment. This processing is executed by a timer interruption caused for each frame time (every 1/30 second in this case), and is ended within at least one frame time (within 1/30 second in this case).

The control section103determines whether data, which is input data received by the interface section117from the input section161and which instructs movement of the player character300according to the player's operation of the directional key, is stored in the RAM105(step S101). In the case where data, which instructs movement of the player character300, is not stored therein, the processing flow proceeds to S103directly.

In the case where data, which instructs movement of the player character300, is stored therein, the control section103obtains a position after the player character has moved (coordinates of the reference point301at the world coordinate system and an angle which the local coordinate system of the player character300forms with respect to the world coordinate system) according to data, which instructs movement of the player character300stored in the RAM105, and the position of the player character300obtained prior to the previous frame period. Then, the control section103overwrites the obtained result on the RAM105and stores it therein (step S102). After that, the processing flow proceeds to S103.

In step S103, the control section103obtains the position of the player character300stored in the RAM105. The control section103obtains the position of the view point403obtained in step S107or S109(to be described later) during the previous frame period (step S104). The control section103calculates equation (1) according to the position of the player character300obtained in step S103and the position of the view point403obtained in step S104to obtain a distance D between the position of the player character300during the current frame period and the position of the view point403during the previous frame period (step S105).

The control section103determines whether the obtained distance D is less than the first distance (step S106). In the case where the obtained distance D is less than the first distance, the control section103obtains a position of a new view point403according to equation (2), and moves the position of the view point403during the current frame period to a position farther from the position of the player character300as compared with the position of the view point403during the previous frame period (step S107). After that, the processing flow proceeds to step S110.

In the case where the obtained distance D is greater than or equal to the first distance, the control section103determines whether the distance D exceeds the second distance (step S108). In the case where the distance D exceeds the second distance, the control section103obtains a position of a new view point403according to equation (3), and moves the position of the view point403during the current frame period to a position nearer to the position of the player character300as compared with the position of the view point403during the previous frame period (step S109). After that, the processing flow proceeds to step S110. In the case where the distance D is the second distance or less, the processing flow proceeds to step S110.

After obtaining the position of the new view point403in step S107or S109, or setting the position of the view point403at the same position as that of the previous frame period in a state that the determination result in step S108is NO, the control section103decides the direction of the optical axis404. The direction of the optical axis404can be placed to the direction of the reference point301of the player character300(step S110). The width of the view point405(the distance of the virtual screen402from the view point403) is maintained constant regardless of the position of the view point403and the direction of the optical axis.

When the view point403of the virtual camera401and the optical axis404are decided, the control section103performs perspective transformation on the virtual three-dimensional space including the player character from the view point403onto the virtual screen402fixed by the view point405. Then, the control section103carries out display processing for generating a two-dimensional image to be displayed on the display screen122(step S111). When the display processing is ended, this main processing is finished and main processing is executed again at a start timing for a next frame period.

An explanation is briefly given of the display processing of step S111. The control section103transforms all coordinates at the local coordinate system of each characteristic point of the player character300to coordinates at the world coordinate system based on the coordinates of the reference point301at the world coordinate system and the direction of the player character300. The control section103transforms the coordinates of points, which constitute the respective surfaces that form the player character300and the field included in the range where perspective transformation is performed, to the coordinates of the view coordinate system according to the coordinates of the view point403at the world coordinate system and the direction of the optical axis404. The control section103sends the coordinates of the points constituting the respective surfaces transformed to the view coordinate system, and outputs a drawing command to the graphics processor111.

The graphics processor111, which has received the drawing command, updates the contents of a z buffer such that data (a value of Z′) of a point existing at the front side (a small value of a Z′-coordinate) remains in connection with the respective points that constitute the respective surfaces based on the coordinates of the view coordinate system. In the case where the content of the Z-buffer is updated, the graphics processor111develops image data on the corresponding point onto the frame memory112. The graphics processor111performs processing such as shading, texture mapping and the like when developing the image data.

The graphics processor111reads the image data developed onto the frame memory112, sequentially. Then, the graphics processor111adds a synch signal to generate a video signal, and outputs it to the display device121. The display device121displays an image, which corresponds to the video signal output from the graphics processor111, on the display screen122. The image on the display screen122is changed for each frame time, allowing the player to see the image in which the player character moves on the field and the view point also moves according to the movement of the player character300.

The following will specifically explain the relationship between the position of the player character300and the position of the view point403in the video game according to this embodiment regarding a case when the player character300moves near to the view point403and a case when the player character moves away from the view point403.

FIGS. 6A to 6Eare views each showing the relationship between the position of the player character300and the position of the view point403when the player character advances in the direction of the view point403.FIGS. 7A to 7Eare views each showing an image on the display screen122in each of the cases shown inFIGS. 6A to 6E. It is herein assumed that a building200exists on the field, which is present at the background of the player character300, in order to show the positional relationship to be easily understandable. It is also assumed that the player character300moves on a straight line in only one direction and that there is no change in level. InFIGS. 6A to 6E, the position of the player character300is indicated by Ca to Ce, the position of the view point403is indicated by Ea to Ec, and the position of the building200is indicated by B.

Suppose that the player character300is placed at the position Ca near the position B of the building200in the first frame period as shown inFIG. 6A. Also, suppose that the view point403is placed at the position Ea. An image on the display screen122at this time is shown inFIG. 7A. The distance D between the position Ca of the player character300and the position Ea of the view point403at this time is longer than the first distance.

It is assumed that the player character300moves towards the view point403until a next frame period and the positional relationship between the position B of the building200and the position Cb of the player character300is thereby established as shown inFIG. 6B. Since the distance D between the position Cb of the player character300and the position Ea of the view point403in the previous frame period is longer than the first distance, the view point403in the current frame period is placed at the position Ea, as in the previous frame period. An image on the display screen122at this time is shown inFIG. 7B. Since the player character300slightly moves near to the view point403, the player character300is displayed larger than the case ofFIG. 7A. Since the distance between the position B of the building200and the position Ea of the view point403is unchanged, the building200is displayed with the same size as the case ofFIG. 7A.

It is assumed that the player character300moves in the direction towards the view point403until a next frame period and the positional relationship between the position B of the building200and the position Cc of the player character300is thereby established as shown inFIG. 6C. Suppose that the distance D between the position Cc of the player character300and the position Ea of the view point403in the previous frame period is the first distance. Since the distance D is not less than the first distance here, the view point403in the current frame period stays at the position Ea of the view point403in the previous frame period. An image on the display screen122at this time can be shown as inFIG. 7C. Since the player character300moves nearer to the view point403, the player character300is displayed larger than the case ofFIG. 7B. Since the distance between the position B of the building200and the position Ec of the view point403is unchanged, the building200is displayed with the same size as the case ofFIG. 7B.

It is assumed that the player character300moves in the direction of the view point403until a next frame period and the positional relationship between the position B of the building200and the position Cd of the player character300is thereby established as shown inFIG. 6D. Suppose that the distance D between the position Cd of the player character300and the position Ea of the view point403in the previous frame period is less than the first distance. The view point403moves to the position Eb from the position Ea to be further from the player character300. An image on the display screen122at this time is shown as inFIG. 7D. Since the distance between the player character300and the view point403is substantially unchanged, the player character300is displayed with the same size as the case ofFIG. 7C. The distance between the position B of the building200and the position Ec of the view point403becomes longer and the building200is displayed smaller than the case ofFIG. 7C.

It is assumed that the player character300moves in the direction of the view point403until a next frame period and the positional relationship between the position B of the building200and the position Ce of the player character300is thereby established as shown inFIG. 6E. Suppose that the distance D between the position Ce of the player character300and the position Eb of the view point403in the previous frame period is less than the first distance. The view point403moves to the position Ec from the position Eb to be further from the player character300. An image on the display screen122at this time is shown as inFIG. 7E. Since the distance between the player character300and the view point403is substantially unchanged, the player character300is displayed with the same size as the case ofFIG. 7D. The distance between the position B of the building200and the position Ec of the view point403becomes greater and the building200is displayed smaller than the case ofFIG. 7D.

FIGS. 8A to 8Eare views each showing the relationship between the position of the player character300and the position of the view point403when the player character300advances in the direction opposite to the view point403.FIGS. 9A to 9Eare views each showing an image on the display screen122in each of the cases shown inFIGS. 8A to 8E. It is herein assumed that the building200exists on the field, which is present at the background of the player character300, in order to show the positional relationship to be easily understandable. It is assumed that the player character300moves on a straight line in only one direction and that there is no change in level. InFIGS. 8A to 8E, the position of the player character300is indicated by CCa to CCe, the position of the view point403is indicated by EEa to EEc, and the position of the building200is indicated by BB.

Suppose that the player character300is placed at the position CCa far away from the position BB of the building200in the first frame period as shown inFIG. 8A. Also, suppose that the view point403is placed at the position EEa. An image on the display screen122at this time is shown inFIG. 9A. Since the player character300is placed near to the view point403, the player character300is displayed to appear large. Since the building200is placed far away from the view point403as compared with cases ofFIGS. 9D and 9Eto be described later, the building200is displayed small. Further, the distance D between the position CCa of the player character300and the position EEa of the view point403at this time is shorter than the second distance.

It is assumed that the player character300moves in the direction opposite to the view point403until a next frame period and the positional relationship between the position BB of the building200and the position CCb of the player character300is thereby established as shown inFIG. 8B. Since the distance D between the position CCb of the player character300and the position EEa of the view point403in the previous frame period is shorter than the second distance, the view point403in the current frame period is placed at the same position as that of the previous frame period. An image on the display screen122at this time is shown inFIG. 9B. Since the player character300slightly moves away from the view point403, the player character300is displayed smaller than the case ofFIG. 9A. Since the distance between the position BB of the building200and the position EEa of the view point403is unchanged, the building200is displayed with the same size as the case ofFIG. 9A.

It is assumed that the player character300further moves in the direction opposite to the view point403until a next frame period and the positional relationship between the position BB of the building200and the position CCc of the player character300is thereby established as shown inFIG. 8C. Suppose that the distance D between the position CCc of the player character300and the position EEa of the view point403in the previous frame period is the second distance. Since the distance D does not exceed the second distance here, the view point403in the current frame period stays at the same position EEa as that of the previous frame period. An image on the display screen122at this time is shown inFIG. 9C. Since the player character300moves away from the view point403, the player character300is displayed smaller than the case ofFIG. 9B. Since the distance between the position BB of the building200and the position EEa of the view point403is unchanged, the building200is displayed with the same size as the case ofFIG. 9B.

It is assumed that the player character300further moves in the direction opposite to the view point403until a next frame period and the positional relationship between the position BB of the building200and the position CCd of the player character300is thereby established as shown inFIG. 8D. The distance D between the position CCd of the player character300and the position EEa of the view point403in the previous frame period exceeds the second distance. The view point403moves to the position EEb from the position EEa to be closer to the player character300. An image on the display screen122at this time is shown inFIG. 9D. Since the distance between the player character300and the view point403is substantially unchanged, the player character300is displayed with the same size as the case ofFIG. 9C. The distance between the position BB of the building200and the position EEb of the view point403becomes short and the building200is displayed larger than the case ofFIG. 9C.

It is assumed that the player character300further moves in the direction opposite to the view point403until a next frame period and the positional relationship between the position BB of the building200and the position CCe of the player character300is thereby established as shown inFIG. 8E. The distance D between the position CCe of the player character300and the position EEb of the view point403in the previous frame period exceeds the second distance. The view point403moves to the position EEc from the position EEb to be closer to the player character300. An image on the display screen122at this time is shown inFIG. 9E. Since the distance between the player character300and the view point403is substantially unchanged, the player character300is displayed with the same size as the case ofFIG. 9D. The distance between the position BB of the building200and the position EEc of the view point403becomes shorter, and the building200is displayed larger than the case ofFIG. 9D.

In order to easily understand the state that the player character300moves, in the aforementioned example, the building200is displayed as a two-dimensional image on the display screen112to perform comparison and contrast between the player character300and the building200. However, even if the player character300moves on a field that lacks distinctive features without providing the building200, the following fact can be said:

Namely, the distance D between the position of the player character300and the view point403is no smaller than the first distance and no greater than the second distance, the size of the player character300to be displayed as an image on the display screen122changes whenever the player character300is moved near to the view point403or moved away therefrom. This allows the player to recognize the fact that the player character300moves in the virtual three-dimensional space and the direction thereof from the size of the player character300displayed as an image on the display screen.

As explained above, in the video game according to this embodiment, if the distance D between the position of the player character300during the current frame period and the position of the view point403during the previous frame period is no smaller than the first distance and no greater than the second distance, the position of the view point403during the current frame period does not move. In this case, when the player character300moves in the virtual three-dimensional space, the size of the player character300to be displayed as an image on the display screen122changes according to the changing distance between the player character300and the view point403. The player can easily recognize the state that the player character300moves in the virtual three-dimensional space.

In the case where the distance D is less than the first distance and the player character300moves closer to the view point403, the position of the view point403in the current frame period moves away from the player character300. In the case where the distance D exceeds the second distance and the player character300moves away from the view point, the position of the view point403in the current frame period moves closer to the player character300. The moving velocity of the position of the view point403is set to be greater than or equal to the moving velocity of the player character300.

In display processing of step S111, the distance between the position of the player character300and the position of the view point403at the time of performing perspective transformation is always no smaller than the first distance and no greater than the second distance, and the size of the player character to be displayed as an image on the display screen122is always in a fixed range. This prevents the player character300from being displayed on the display screen122so large that the background image cannot be seen or the player character300from being displayed too small to see. This allows the player to recognize the player character300with an appropriate size at all times.

In the case where the distance D is no smaller than the first distance and no greater than the second distance, the position of the view point403does not move. Accordingly, an amount of processing for deciding the position of the view point403may be small. The width of the field of view405is always constant, and does not have to be determined for each frame period. Namely, the amount of processing, which must be carried out before performing perspective transformation on the player character300existing in the virtual three-dimensional space, may be small, and this makes it possible to reduce the entire amount of processing.

The player character300has one reference point301at its substantially central position, and the distance D between the position of the player character300and the position of the view point403can be obtained using the coordinates of the reference point301and the coordinates of the view point403according to equation (1). There is no need for complicated processing such as searching for polygonal surfaces that constitute the player character300, and the distance D can be obtained with a relatively small amount of processing.

The player character300is an indispensable element to advance the game, and must be most easily recognized by the player. In the video game relating to this embodiment, the position of the view point403is moved in accordance with movement of the player character300and the display of the player character300is optimized, making it possible to carry out smooth progress of the game.

The present invention is not limited to the aforementioned embodiment, and various modifications and applications may be possible. The following will explain modifications of the aforementioned embodiment that are applicable to the present invention.

In the aforementioned embodiment, the moving velocity of the view point403(moving distance of the view point403between the previous frame period and the current frame period), which is obtained when the distance D between the position of the player character300and the position of the view point403is less than the first distance, is constant. Moreover, the moving velocity of the view point403(moving distance of the view point403between the previous frame period and the current frame period), which is obtained when the distance D between the position of the player character300and the position of the view point403exceeds the second distance, is also constant. However, the moving velocity of the view point403to be moved in step S107or S109may be variable.

In the case where the moving velocity of the view point403is varied, a first example can be explained as follows. Namely, in step S107or S109, the control section103may obtain a distance where the player character300has moved between the previous frame period and the current frame period, and may move the position of the view point403by a distance corresponding to the obtained distance. A second example can be explained as follows. Namely, in step S107or S109, the control section103may determine how far the distance D has fallen below the first distance or exceeded the second distance, and may move the position of the view point403by a distance corresponding to the distance fallen below or exceeded.

Thus, the moving velocity of the view point403is made variable, so that not only the movement of the view point403but also the moving velocity thereof follows the movement of the player character300. Accordingly, the player can more easily recognize how the player character300moves in the virtual three-dimensional space in the image displayed on the display screen122as compared with the above-explained embodiment.

The aforementioned embodiment has explained the case in which the position of the view point403is moved within one frame period when the distance D between the position of the player character300and the position of the view point403in the previous frame period is less than the first distance or exceeds the second distance. In contrast to this, the following may be possible. Namely, when the distance D is less than the first distance or exceeds the second distance, a position of a moving destination of the view point403is obtained and the position of the view point403is gradually moved to the obtained moving destination during multiple frame periods. In this case, the moving distance of the view point403during one frame period is suppressed to be within a fixed range. The player may not be confused by an abrupt switching of the background of the image displayed on the display screen122.

In the aforementioned embodiment, the player character300has one reference point301and the control section103obtains the distance between the position of the reference point301and the view point403as a distance between the position of the player character300and the position of the view point403. In contrast to this, the player character300may have multiple reference points.FIG. 10illustrates an example of a player character having multiple reference points. A player character310has reference points312to316at tip ends of hands, tip ends of feet, and a head in addition to a reference point311provided at a substantially central point.

In the case of using the player character310, to obtain a distance between the position of the player character310and the position of the view point303in step S105, the control section103obtains each of distances d1to d6each between the position of the view point403and each position of the respective reference points311to316. In accordance with the distances d1to d6each between the view point403and each of the reference points311to316, the distance D between the position of the player character310and the position of the view point403can be obtained as follows.

In connection with a first example, an average of the distances d1to d6can be used as the distance D. In connection with a second example, the shortest distance of distances d1to d6can be used as the distance D. By using such methods, more appropriate value than the aforementioned embodiment can be used as a value of the distance D between the position of the view point403and the position of the player character300. Such methods become effect particularly in using the player character whose shape and size change abruptly.

In the aforementioned embodiment, the view point403of the virtual camera moves in accordance with the movement of the player character300. In contrast to this, though the position of the view point403is fixed, the width of the field of view405(distance from the view point403to the virtual screen402) may be changed. Even if the width of the field of view is changed, it is possible to obtain substantially the same effect as the case that the view point403is moved as in the above-explained embodiment.

FIG. 11is a flowchart showing a main processing according to this modification. Processing in steps S201to S203is the same as processing in steps S101to S103. When obtaining the position of the player character300in step S202, the control section103obtains the distance D between the position of the predetermined view point403and the position of the player character300obtained in step S203(step S204).

The control section103determines whether the obtained distance D is less than the first distance (step S205). In the case where the distance D is less than the first distance, the control section103increases the width of the field of view405so as to reduce the size of the player character300displayed on the virtual screen402(step S206). Thereafter, the processing flow proceeds to step S209.

In the case where the distance D is the first distance or greater in step S205, the control section103determines whether the distance D exceeds the second distance (step S207). In the case where the distance D exceeds the second distance, the control section103decreases the width of the field of view405so as to increase the size of the player character300displayed on the virtual screen402(step S208). Thereafter, the processing flow proceeds to step S209. If the distance D is the second distance or less, the processing flow proceeds to step S209, directly.

The processing in steps S209and S210is the same as processing in steps S110and S111. The first and second distances in this modification can use the same values as the case of the above-described embodiment. In the case where the width of the field of view405is changed in step S206or S208, the control section103can decide the width of the field of view405based on the distance D obtained in step S204and the size of the player character300.

If the distance D between the position of the player character300and the position of the view point403is out of a predetermined range, the width of the field of view405is changed in accordance with the movement of the player character300. The background displayed as a two-dimensional image on the display screen122is changed by the change of the width of the field of view405. Accordingly, the player can easily recognize that the player character300moves in the virtual three-dimensional space. In the case where the distance D is in the predetermined range and the width of the field of view405is unchanged, the size of the player character300displayed as a two-dimensional image on the display screen122is changed by the variation of the distance between the position of the player character300and the position of the view point403. Accordingly, the player can easily recognize that the player character300moves in the virtual three-dimensional space.

The size of the player character300displayed as a two-dimensional image on the display screen122can be maintained to some extent in the range. Accordingly, the player can see the player character300, which is the most important object for the progress of the game, with the size of the appropriate range. If the distance D is in a predetermined range from the position of the view point403to the position of the player character300, there is no need for changing not only the position of the view point403but also the width of the field of view405, with the result that the amount of processing can be reduced.

In the aforementioned embodiment, the optical axis404of the virtual camera401is always directed to the player character300. In contrast to this, the control section103may not change the direction of the optical axis404during the previous frame period when the distance D is no smaller than the first distance and no greater than the second distance and the view point403of the virtual camera is not moved or the width of the field of view405is not changed. The control section103may change the direction of the optical axis404only when the view point403is moved or the width of the field of view405is changed.

In the aforementioned embodiment, in the case where the distance D between the position of the player character300and the position of the view point403in the previous frame period is no smaller than the first distance and no greater than the second distance, the position of the view point403is unchanged. However, depending on the field formed in the virtual three-dimensional space, there is a case that the player character300is not displayed in the image on the display screen122by the presence of an obstruction between the player character300and the view point403even if the distance D is no smaller than the first distance and no greater than the second distance. Moreover, there is a case when an obstruction is present between the position of the moving destination and the player character300even if the distance D is less than the first distance or exceeds the second distance and the position of the view point403moves.

By adding processing as shown inFIG. 12to the flowchart ofFIG. 5, it is possible to avoid the aforementioned problems. In the case where the control section103determines that the position of the view point403is moved in step S107or S109, or the distance D is the second distance or less, the control section103determines whether there is an obstruction (e.g., surfaces that constitute the field in the virtual three-dimensional space) present between the position of the view point403(position where the view point403has moved) and the player character300(step S121). If there is no obstruction, the processing flow proceeds to step S110, directly.

If there is an obstruction, the control section103searches for a position of a new view point403where no obstruction is present between the position of the player character300and the position of the new view point403. For example, an intersection point of a straight line, which connects the position of the player character300to the position of the view point403, and a surface, which the corresponding obstruction forms, can be used as the position of the new view point403(step S122). The control section103moves the position of the view point403to the position searched for in step S122(step S123), and the processing flow proceeds to step S110.

By adding the aforementioned processing, the player can always recognize where on the field the player character300is present from the image displayed on the display screen122. A trace of movement of the player character300is registered in a table, and the control section103can thereby select the position of the view point403from the previous position of the player character300registered in the table when searching for the position of the view point403where no obstruction is present between the position of the player character300and the position of the new view point403in step S122.

In the aforementioned embodiment, the position of the view point403of the virtual camera401is moved only when the distance D between the position of the player character300and the position of the view point403is less than the first distance or exceeds the second distance. This is because the size of the player character300in the image on the display screen122is optimized and the player can easily recognize the movement of the player character300from the image on the screen display122.

However, if the player character300exceeds a fixed range within a fixed period and does not move in the virtual three-dimensional space, it is not really necessary for the player to recognize the movement of the player character300from the image on the display screen122. By adding processing as shown inFIGS. 13A and 13Bto the flowchart ofFIG. 5, it is possible to optimize the size of the player character300in the image on the display screen122.

After moving the position of the view point403in step S107or S109, the control section103sets a moving distance measurement mode (step S131) and resets a value of a time variable stored in the RAM105to 0 (step S132). The control section103temporarily stores the position of the current player character300to the RAM105(step S133). After that, the processing flow proceeds to step S110. When the distance D between the position of the player character300and the position of the view point403is no smaller than the first distance and no greater than the second distance and the position of the view point403is not moved, processing in step S131to S133is not executed.

In the case where data for instructing movement of the player character300is not stored in step S101or the position of the player character300is moved in step S101, the control section103determines whether the moving distance measurement mode is set (step S134). If the moving distance measurement mode is not set, the processing flow proceeds to step S103.

If the moving distance measurement mode is set, the control section103increases the value of the variable by one (step S135). The control section103calculates a moving distance of the player character300in the moving distance measurement mode according to the position temporarily stored at a previous time (this is not limited to the immediately previous frame period) in step S133and the position at which the player character300is moved in step S102(step S136). The control section103determines whether the moving distance of the calculated player character300exceeds a predetermined distance (distance that is sufficiently shorter than the second distance) (step S137). If the moving distance exceeds the predetermined distance, the control section103releases the moving distance measurement mode (step S138). After that, the processing flow proceeds to step S103.

If the moving distance of the player character300calculated in step S136does not exceed the predetermined distance, the control section103determines whether the value of the time variable exceeds a predetermined value, that is, a predetermined period of time has passed after the moving distance measurement mode (step S139). If the value of the time variable does not exceed the predetermined value, the processing flow proceeds to step S103.

If the value of the time variable exceeds the predetermined value, the control section103moves the position of the view point403to a position, which is on a straight line that connects the position of the current view point403to the position of the player character300and which is an intermediate distance where the distance between the view point403and the player character300is longer than the first distance and shorter than the second distance (step S140). After that, the control section103releases the moving distance measurement mode (step S141), and the processing flow proceeds to step S110.

As mentioned above, when the player character300does not move more than the fixed distance within the fixed period after moving the view point403, it is little necessary for the player to recognize the movement of the player character300. At this time, the position of the view point403is moved to the position where the distance D between the position of the view point403and the position of the player character300is the intermediate distance. Since the intermediate distance is longer than the first distance and shorter than the second distance, the player character300on the display screen122becomes an intermediate size. The player character300is thereby displayed in the image on the display screen122with a more appropriate size.

The above-mentioned intermediate distance is preferably set to such a value that the size of the player character300on the display screen122becomes an appropriate size. Though it is necessary for the intermediate distance D to be greater than the first distance and smaller than the second distance, the intermediate distance D may be just an intermediate distance between the first distance and the second distance. The moving distance of the player character300, which serves as a criterion on whether the moving distance measurement mode should be released, may be 0. If the player character300slightly moves, the moving distance measurement mode may be released in step S138.

There is a case in which the moving distance of the player character300does not exceed a predetermined range even after the position of the view point403is moved in step S107or S109. In this case, the position of the view point403may be moved to the position where the distance D between the player character300and the view point403becomes the intermediate distance.

In the aforementioned embodiment, the position of the view point403moves in accordance with the movement of the player character300. However, there is a video game where another character, which exerts an important influence upon the progress of the game in the same degree as the player character300, exists. For example, in a network game, there is a character that is a party to the player character300or a character on the occurrence of a specific event. The position of the view point403may move in accordance with movement of such other characters other than the player character300.

In the aforementioned embodiment, the program for executing the video game of the present invention is stored in the storage medium131and distributed. In contrast to this, this program may be stored to a fixed disk device that a Web server apparatus existing on the network151has. In accordance with a request from the computer main body101ofFIG. 1, the Web server apparatus may convert program data stored in the fixed disk device to a signal and superimpose the signal on a carrier wave to distribute to the computer main body101via the network151and the communication medium141. The program, which the communications interface115has received from the Web server, is stored in the HDD107and is loaded on the RAM105at an executing time.

Although the invention has been described with reference to several exemplary embodiments, it is understood that the words that have been used are words of description and illustration, rather than words of limitation. Changes may be made within the purview of appended claims, as presently stated and as amended, without departing from the scope and spirit of the invention in its aspects. Although the invention has been described with reference to particular means, materials and embodiments, the invention is not intended to be limited to the particulars disclosed; rather, the invention extends to all functionally equivalent structures, methods, and uses such as are within the scope of the appended claims.

Claims

  1. A video game apparatus, which moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen, comprising: a distance calculator that calculates a distance between a position in the virtual three-dimensional space of the character and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;a far distance determining section that determines whether the distance calculated by said distance calculator is longer than a predetermined critical far distance;a view point mover that moves the position of the view point closer to the character when said far distance determining section determines that the calculated distance is longer than the critical far distance;and a perspective transformation system that performs perspective transformation on the character in the virtual three-dimensional space from the view point of said virtual camera onto the virtual screen.
  1. The video game apparatus according to claim 1 , further comprising: a near distance determining section that determines whether the distance calculated by said distance calculator is shorter than a predetermined critical near distance which is shorter than the critical far distance, wherein said view point mover moves the position of the view point away from the character when said near distance determining section determines that the calculated distance is shorter than the critical near distance.
  2. The video game apparatus according to claim 2 , further comprising: a character movement determining section that determines whether the character has moved beyond a predetermined range during a predetermined period, wherein said view point mover moves the position of the view point such that the distance between the view point and the character reaches a predetermined distance that is longer than the critical near distance and shorter than the critical far distance when said character movement determining section determines that the character has not moved beyond the predetermined range.
  3. The video game apparatus according to claim 1 , wherein said view point mover moves the position of the view point at a velocity that is greater than a moving velocity of the character.
  4. The video game apparatus according to claim 1 , wherein said view point mover changes the moving velocity of the position of the view point in accordance with the moving velocity of the character.
  5. The video game apparatus according to claim 1 , wherein said view point mover moves the position of the view point while maintaining a range of a field of view of the virtual camera constant.
  6. The video game apparatus according to claim 1 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates an average of the obtained distances as a distance between the position of the character and the position of the view point.
  7. The video game apparatus according to claim 1 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates a shortest distance of all the obtained distances as the distance between the position of the character and the position of the view point.
  8. The video game apparatus according to claim 1 , wherein the character is a player character that moves in the virtual three-dimensional space according to an instruction from a player.
  9. A video game apparatus, which moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen, comprising: a distance calculator that calculates a distance between a position in the virtual three-dimensional space of the character and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;a near distance determining section that determines whether the distance calculated by said distance calculator is shorter than a predetermined critical near distance;a view point mover that moves the position of the view point away from the character when said near distance determining section determines that the calculated distance is shorter than the critical near distance;and a perspective transformation system that performs perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto the virtual screen.
  10. The video game apparatus according to claim 10 , wherein said view point mover moves the position of the view point at a velocity that is greater than a moving velocity of the character.
  11. The video game apparatus according to claim 10 , wherein said view point mover changes the moving velocity of the position of the view point in accordance with the moving velocity of the character.
  12. The video game apparatus according to claim 10 , wherein said view point mover moves the position of the view point while maintaining a range of the field of view of the virtual camera constant.
  13. The video game apparatus according to claim 10 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates an average of the obtained distances as the distance between the position of the character and the position of the view point.
  14. The video game apparatus according to claim 10 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates a shortest distance of all the obtained distances as the distance between the position of the character and the position of the view point.
  15. The video game apparatus according to claim 10 , wherein said character is a player character that moves in the virtual three-dimensional space according to an instruction from a player.
  16. A video game apparatus, which moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen, comprising: a distance calculator that calculates a distance between a position in the virtual three-dimensional space of the character and a position of the view point of said virtual camera which is different from a position of any object existing in the virtual three-dimensional space;a far distance determining section that determines whether the distance calculated by said distance calculator is longer than a predetermined critical far distance;a field of view changer that decreases a range of the field of view of the virtual camera when said far distance determining section determines that the calculated distance is longer than the critical far distance;and a perspective transformation system that performs perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto the virtual screen.
  17. The video game apparatus according to claim 17 , further comprising: a near distance determining section that determines whether the distance calculated by said distance calculator is shorter than a predetermined critical near distance which is shorter than the critical far distance, wherein said field of view changer increases the range of the field of view of the virtual camera when said near distance determining section determines that the calculated distance is shorter than the critical near distance.
  18. The video game apparatus according to claim 17 , wherein said field of view changer changes the range of the field of view based on a relationship between the distance calculated by said distance calculator and a size of the character.
  19. The video game apparatus according to claim 17 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates an average of the obtained distances as the distance between the position of the character and the position of the view point.
  20. The video game apparatus according to claim 17 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates a shortest distance of all the obtained distances as the distance between the position of the character and the position of said view point.
  21. The video game apparatus according to claim 17 , wherein the character is a player character that moves in said virtual three-dimensional space according to an instruction from a player.
  22. A video game apparatus, which moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen, comprising: a distance calculator that calculates a distance between a position in the virtual three-dimensional space of the character and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;a near distance determining section that determines whether the distance calculated by said distance calculator is shorter than a predetermined critical near distance;a field of view changer that increases a range of the field of view of the virtual camera when said near distance determining section determines that the calculated distance is shorter than the critical near distance;and a perspective transformation system that performs perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto the virtual screen.
  23. The video game apparatus according to claim 23 , wherein said field of view changer changes the range of the field of view based on a relationship between the distance calculated by said distance calculator and a size of the character.
  24. The video game apparatus according to claim 23 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates an average of the obtained distances as the distance between the position of the character and the position of the view point.
  25. The video game apparatus according to claim 23 , wherein an arbitrary number of reference points are assigned to the character, and said distance calculator obtains a distance between the position of the view point and the position of each reference point and calculates a shortest distance of all the obtained distances as the distance between the position of the character and the position of the view point.
  26. The video game apparatus according to claim 23 , wherein said character is a player character that moves in the virtual three-dimensional space according to an instruction from a player.
  27. A video game apparatus having a memory that stores a three-dimensional video game program and a processor that executes said program and causing a display device to display an image as a result of processing executed by said processor, said program stored in said memory and executed by said processor comprising: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is longer than a predetermined critical far distance;moving the position of the view point closer to the character when it is determined that the calculated distance is longer than the critical far distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  28. A video game apparatus having a memory that stores a three-dimensional video game program and a processor that executes said program and causing a display device to display an image as a result of processing executed by said processor, said program stored in said memory and executed by said processor comprising: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is shorter than a predetermined critical near distance;moving the position of the view point away from the character when it is determined that the calculated distance is shorter than the critical near distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  29. A video game apparatus having a memory that stores a three-dimensional video game program and a processor that executes said program and causing a display device to display an image as a result of processing executed by said processor, said program stored in said memory and executed by said processor comprising: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is longer than a predetermined critical far distance;decreasing a range of the field of view of the virtual camera when it is determined that the distance is longer than the critical far distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  30. A video game apparatus having a memory that stores a three-dimensional video game program and a processor that executes said program and causing a display device to display an image as a result of processing executed by said processor, said program stored in said memory and executed by said processor comprising: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is shorter than a predetermined critical near distance;increasing a range of the field of view of the virtual camera when it is determined that the calculated distance is shorter than the critical near distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  31. A character display method in a three-dimensional video game that moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen to display on a display screen, comprising: calculating a distance between a position of the character in the virtual three-dimensional space and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is longer than a predetermined critical far distance;and moving the position of the view point closer to the character when it is determined that the calculated distance is longer than the critical far distance.
  32. The character display method according to claim 32 , further comprising: determining whether said calculated distance is shorter than a predetermined critical near distance which is shorter than the critical far distance;and moving the position of the view point away from the character when it is determined that the calculated distance is shorter than the critical near distance.
  33. The character display method according to claim 33 , further comprising: determining whether the character has moved beyond a predetermined range during a predetermined period after moving the view point;and moving the position of the view point such that the distance between the position of the view point and the position of the character reaches a predetermined distance that is longer than the critical near distance and shorter than the critical far distance when it is determined that the character does not move beyond the predetermined range.
  34. A character display method in a three-dimensional video game that moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen to display on a display screen, comprising: calculating a distance between a position of the character moved in the virtual three-dimensional space and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is shorter than a predetermined critical near distance;and moving the position of the view point away from the character when it is determined that the calculated distance is shorter than the critical near distance.
  35. A character display method in a three-dimensional video game that moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen to display on a display screen, comprising: calculating a distance between a position of the character in the virtual three-dimensional space and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is longer than a predetermined critical far distance;and decreasing a range of the field of view of the virtual camera when it is determined that the calculated distance is longer than the critical far distance.
  36. A character display method in a three-dimensional video game that moves a character in a virtual three-dimensional space and performs perspective transformation on the character from a view point of a virtual camera onto a virtual screen to display on a display screen, comprising: calculating a distance between a position of the character in the virtual three-dimensional space and a position of the view point of the virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is shorter than a predetermined critical near distance;and increasing a range of the field of view of the virtual camera when it is determined that the calculated distance is shorter than the critical near distance.
  37. A computer-readable storage medium on which a three-dimensional video game program is recorded, the program causing a computer to execute: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is longer than a predetermined critical far distance;moving the position of the view point closer to the character when it is determined that the calculated distance is longer than the critical far distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  38. A computer-readable storage medium on which a three-dimensional video game program is recorded, the program causing a computer to execute: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is shorter than a predetermined critical near distance;moving the position of the view point away from the character when it is determined that the calculated distance is shorter than the critical near distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  39. A computer-readable storage medium on which a three-dimensional video game program is recorded, the program causing a computer to execute: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is longer than a predetermined critical far distance;decreasing a range of the field of view of the virtual camera when it is determined that the distance is longer than the critical far distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.
  40. A computer-readable storage medium on which a three-dimensional video game program is recorded, the program causing a computer to execute: moving a character in a virtual three-dimensional space;calculating a distance between a position of the character in the virtual three-dimensional space and a position of a view point of a virtual camera which is different from a position of any object existing in the virtual three-dimensional space;determining whether the calculated distance is shorter than a predetermined critical near distance;increasing a range of the field of view of the virtual camera when it is determined that the calculated distance is shorter than the critical near distance;and performing perspective transformation on the character in the virtual three-dimensional space from the view point of the virtual camera onto a virtual screen.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.