Information processing device, information processing method, and information processing program

The information processing device addresses the challenge of generating diverse expressions by transforming the field object and changing the visible area within the field object based on the virtual camera's and specific object's positions, thereby enhancing the realism of the virtual environment.

JP7672183B2Active Publication Date: 2025-05-07GLEE HOLDINGS CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024166979
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-09-26
Publication Date
2025-05-07
Estimated Expiration
2040-06-26

AI Technical Summary

Technical Problem

Existing information processing devices struggle to generate diverse expressions based on the positional relationships between a virtual camera and specific objects in three-dimensional virtual spaces.

Method used

An information processing device that includes a field object associated with a two-dimensional plane, a specific object within the field object, and processing units to change the area within the field object visible to the virtual camera and transform the field object based on the horizontal position of the specific object.

Benefits of technology

Enables the generation of various expressions and visual effects by dynamically changing the visible area and transforming the field object in response to the virtual camera's position and the specific object's position, enhancing the realism and diversity of the virtual environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007672183000001
    Figure 0007672183000001
  • Figure 0007672183000002
    Figure 0007672183000002
  • Figure 0007672183000003
    Figure 0007672183000003
Patent Text Reader

Abstract

To generate various representations in accordance with a relationship between a virtual camera and a specific object.SOLUTION: An information processing apparatus for drawing objects to be arranged in a three-dimensional virtual space with representations viewed from a virtual camera, the objects including a field object associated with a two-dimensional plane defined by a first axis and a second axis and a specific object arranged in the field object, includes: a change processing unit which changes an area covered by an angle of view of the virtual camera, in the field object; and a deformation processing unit which deforms the field object. The deformation processing unit deforms the field object in different modes when the area is changed by the change processing unit, when a determination is made that the specific object is located in the changed area, and when a determination is made that the specific object is not located in the changed area.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing device, an information processing method, and an information processing program. [Background technology]

[0002] 2. Description of the Related Art There is known an information processing device for rendering an object placed in a three-dimensional virtual space as viewed from a virtual camera disposed in the virtual space. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2013-208269 A Summary of the Invention [Problem to be solved by the invention]

[0004] In the conventional techniques described above, it is difficult to generate a variety of expressions according to the relationship (eg, positional relationship) between the virtual camera and a specific object.

[0005] Therefore, in one aspect, an object of the present invention is to generate a variety of expressions according to the relationship between a virtual camera and a specific object. [Means for solving the problem]

[0006] According to one aspect, there is provided an information processing device for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis that are orthogonal to each other, as viewed from a virtual camera disposed in the virtual space, the information processing device comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; a change processing unit that changes an area of ​​the field object that falls within an angle of view of the virtual camera; a transformation processing unit that transforms the field object, The deformation processing unit varies a deformation mode of the field object based on a lateral position of the specific object within the area. Effect of the Invention

[0007] According to one aspect, the present invention makes it possible to generate a variety of expressions according to the relationship between a virtual camera and a specific object. [Brief description of the drawings]

[0008] [Figure 1] 1 is a block diagram of a game system according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram illustrating an example of a field image. [Diagram 3] FIG. 2 is a plan view showing an entire field surface forming a field object and an entire background surface forming a background object. [Figure 4] FIG. 2 is a perspective view showing a part of a field surface and a background surface. [Diagram 5] FIG. 2 is an explanatory diagram showing various positional relationships. [Figure 6] 1 is a schematic diagram showing an example of a field image obtained by rendering an image seen from a virtual camera. [Figure 7] 11 is an explanatory diagram of an example of deformation parameters for realizing bending deformation of a field surface; FIG. [Figure 7A] 11A and 11B are explanatory diagrams of bending deformation of a field surface based on a function. [Figure 8] 1A to 1C are explanatory diagrams illustrating scenes in which bending deformation of a field surface is applied. [Figure 8A] FIG. 1 is an explanatory diagram (part 1) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 8B] FIG. 2 is an explanatory diagram (part 2) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 8C] FIG. 3 is an explanatory diagram (part 3) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 9] FIG. 13 is an explanatory diagram of the degree of freedom of change of the position of the virtual camera. [Figure 10] FIG. 11 is an explanatory diagram of the rotation of the line of sight of the virtual camera. [Figure 11] FIG. 2 is an explanatory diagram of camera parameters. [Figure 11A] FIG. 4 is an explanatory diagram of a specific object region, etc. [Figure 11B] 3A to 3C are explanatory diagrams of various object regions. [Figure 12] FIG. 2 is a functional block diagram of a drawing function of the server device; [Figure 13] FIG. 4 is an explanatory diagram of deformation parameter data. [Figure 14] FIG. 4 is an explanatory diagram of distance parameter data. [Figure 15] FIG. 11 is an explanatory diagram of direction parameter data. [Figure 16] 10 is a schematic flowchart showing a flow of processing realized by a server control unit. [Figure 17] 16 is a schematic flowchart showing an example of a first distance parameter calculation process (step S1608). [Figure 18] FIG. 13 is an explanatory diagram of an interpolation processing range. [Figure 19] 16 is a schematic flowchart showing an example of a direction parameter calculation process (step S1610). [Figure 20] 13 is a schematic flowchart showing an example of an attack angle parameter calculation process (step S1612). [Figure 21] 16 is a schematic flowchart showing an example of a transformation process (step S1615) accompanying the movement of a predetermined object. [Figure 22] FIG. [Figure 23] 2 is a schematic flowchart showing a first deformation parameter calculation process (step S2102) by a first deformation parameter calculation unit. [Figure 24] 21 is a schematic flowchart showing a second deformation parameter calculation process (step S2104) by a second deformation parameter calculation unit. [Diagram 25] 21 is a schematic flowchart showing a deformation parameter adjustment process (step S2106) performed by the deformation parameter adjustment unit. [Figure 26] 13 is a schematic flowchart showing an example of an origin setting process (step S2108) by an origin setting processor. [Figure 26A] FIG. 2 is an explanatory diagram of an internal division point Pi. [Figure 27] 13 is a schematic flowchart showing an example of a second distance parameter calculation process (step S1623). [Figure 28] FIG. 2 is a plan view of a field object. [Figure 29A] FIG. 13 is a diagram showing an example of a field image relating to a position E1. [Figure 29B] FIG. 13 is a diagram showing an example of a field image relating to a position E2. [Figure 29C] FIG. 13 is a diagram showing an example of a field image relating to a position E3. [Figure 29D] FIG. 13 is a diagram showing an example of a field image related to a position E3 in another operation example. [Figure 29E] FIG. 13 is a diagram showing an example of a field image related to a position E3 in yet another operation example. [Diagram 30] FIG. 13 is an example of a functional block diagram relating to a drawing function of a server device according to a modified example. [Diagram 31] FIG. 11 is an explanatory diagram (part 1) of a method for setting an interpolation processing range. [Diagram 32] FIG. 13 is an explanatory diagram (part 2) of a method for setting an interpolation processing range. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Each embodiment will be described in detail below with reference to the accompanying drawings.

[0010] (Game System Overview) An overview of a game system 1 according to one embodiment of the present invention will be described with reference to Fig. 1. Fig. 1 is a block diagram of the game system 1 according to this embodiment. Fig. 2 is a diagram showing an example of a field image. The game system 1 includes a server device 10 and one or more terminal devices 20. For simplicity, three terminal devices 20 are shown in Fig. 1, but the number of terminal devices 20 may be two or more.

[0011] The server device 10 is an information processing device such as a server managed by a game operator. The terminal device 20 is an information processing device used by a user, such as a mobile phone, a smartphone, a tablet terminal, a PC (Personal Computer), or a game device. The terminal device 20 is capable of executing a game application according to the present embodiment. The game application may be received by the terminal device 20 from the server device 10 or a predetermined application distribution server via the network 30, or may be stored in advance in a storage device provided in the terminal device 20 or a storage medium such as a memory card readable by the terminal device 20. The server device 10 and the terminal device 20 are connected to each other via the network 30 so as to be able to communicate with each other. For example, the server device 10 and the terminal device 20 cooperate to execute various processes related to the game.

[0012] The network 30 may include a wireless communication network, the Internet, a Virtual Private Network (VPN), a Wide Area Network (WAN), a wired network, or any combination of these.

[0013] Here, an overview of the game according to the present embodiment will be described. The game according to the present embodiment is, for example, a role-playing game or a simulation game, and game media is used in association with the execution of the game. For example, the game according to the present embodiment is a game in which game media is moved on a field in a three-dimensional virtual space.

[0014] Game media is electronic data used in a game, and includes any media, such as cards, items, points, in-service currency (or in-game currency), tickets, characters, avatars, parameters, etc. Game media may also be game-related information, such as level information, status information, game parameter information (stamina value and attack power, etc.), or ability information (skills, abilities, spells, jobs, etc.). Game media is electronic data that can be acquired, owned, used, managed, exchanged, synthesized, strengthened, sold, discarded, donated, etc. by a user in a game, but the manner of use of the game media is not limited to those explicitly stated in this specification.

[0015] Hereinafter, unless otherwise specified, "game media owned by a user" refers to game media associated with a user ID of a user. Furthermore, "granting game media to a user" refers to associating the game media with a user ID. Furthermore, "discarding game media owned by a user" refers to dissociating the association between a user ID and the game media. Furthermore, "consuming game media owned by a user" refers to the possibility of causing some effect or influence in the game in response to dissociation of the association between a user ID and the game media. Furthermore, "selling game media owned by a user" refers to dissociating the association between a user ID and the game media, and associating the user ID with other game media (e.g., virtual currency or items, etc.). Furthermore, "transferring game media owned by a user to another user" refers to dissociating the association between a user ID and the game media, and associating the game media with the user ID of the other user.

[0016] The game according to this embodiment generally includes a first game part, a second game part, and a third game part.

[0017] In the first game part, the user operates a user character to progress through the game while exploring a field in a virtual space. Specifically, the user character moves on the field in response to the user's operation. Various areas, such as towns and dungeons, are provided in the field, and various events occur according to the area, such as conversations with town resident characters and battles with enemy characters encountered in dungeons. The main story of the game progresses as the events are executed. In addition, in the first game part, if the user wins a battle against an enemy character, for example, game media such as items, virtual currency, or characters may be granted to the user. The granted game media can be used, for example, in the third game part described later.

[0018] In the second game part, the user changes the game media owned. The user collects various game media, such as items, virtual currency, and characters. Specifically, when the user moves the user character to a specific area, such as a mining site or fishing pond, provided on the field, or selects a specific character or other game media (for example, by touching the screen), a sub-event occurs in which the game media can be acquired. Sub-events include, for example, the progression of a sub-story and the execution of a mini-game, but the contents of the sub-events are not limited to these. Depending on the results of the execution of the sub-event, various game media can be granted to the user. The granted game media can be used, for example, in the third game part described below.

[0019] In the third game part, the user changes parameters related to the game media. The user, for example, strengthens the user character. Specifically, as described above, various game parameters of the user character change as the game media granted to the user in the first game part and the second game part are consumed. The game parameters include, for example, but are not limited to, the user character's level, HP, attack power, defense power, attributes, and skills. The user character is strengthened in response to the change in the game parameters of the user character. Strengthening the user character increases the probability that the user character will win in a battle against an enemy character in the first game part.

[0020] In this way, in the game according to this embodiment, the user repeatedly plays the first game part, the second game part, and the third game part.

[0021] (Server device configuration) A specific description will be given of the configuration of the server device 10. The server device 10 is configured by a server computer. The server device 10 may be realized by a plurality of server computers working together.

[0022] The server device 10 includes a server communication unit 11, a server storage unit 12, and a server control unit 13.

[0023] The server communication unit 11 includes an interface for communicating with an external device wirelessly or via a wired connection to transmit and receive information. The server communication unit 11 may include, for example, a wireless LAN (Local Area Network) communication module or a wired LAN communication module. The server communication unit 11 is capable of transmitting and receiving information to and from the terminal device 20 via the network 30.

[0024] The server storage unit 12 is, for example, a storage device, and stores various information and programs necessary for game processing. For example, the server storage unit 12 stores a game application.

[0025] The server storage unit 12 also stores various images (texture images) to be projected (texture mapping) onto various objects placed in the three-dimensional virtual space.

[0026] For example, the server storage unit 12 stores an image of a user character. Hereinafter, the user character is referred to as a first game medium, and an object drawn (placed) on a field object (described later) based on the image of the first game medium is also referred to as a first object. Note that in this embodiment, only one first object is represented in the virtual space, but two or more first objects may be represented. Note that the first object may be a group of multiple first game media. Also, the first game medium (and the first object based thereon) used in the virtual space may be appropriately interchangeable by the user.

[0027] The server storage unit 12 also stores images related to game media, such as buildings, walls, trees, or NPCs (Non Player Characters). Hereinafter, any game medium (e.g., buildings, walls, trees, or NPCs) different from the first game medium that can be placed on a field object described later will be referred to as a second game medium, and an object onto which the second game medium is projected will also be referred to as a second object. In this embodiment, the second object may include an object fixed to a field object described later, an object movable to a field object described later, or the like. The second object may also include an object that is always placed on a field object described later, or an object that is placed only when a predetermined condition is satisfied, or the like.

[0028] The server storage unit 12 also stores an image of a background (background image), such as the sky or a distant view. Hereinafter, an object onto which a background image is projected is also referred to as a background object. Note that multiple types of background images may be prepared and used separately.

[0029] The server storage unit 12 also stores an image (field image) of a field (for example, the ground). The field image is projected onto a field surface, which will be described later. Hereinafter, an object onto which the field image is projected onto the field surface is also referred to as a field object. The field object is used as a virtual field (ground) in the virtual space.

[0030] Here, a texture coordinate system having mutually orthogonal u-axis and v-axis is set in the field image, for example as shown in FIG. 2. In this embodiment, a horizontal passage 14, a vertical passage 15, and a curved road 17 are defined in the field image. The horizontal passage 14, the vertical passage 15, and the curved road 17 form a passage through which the first object in the field object can move. Note that, although a specific passage configuration is shown in FIG. 2, the passage configuration is arbitrary. Also, although the field image is rectangular in FIG. 2, it may be in another form. Also, multiple types of field images may be prepared and used separately.

[0031] The server storage unit 12 also stores correspondence information that associates the second object with the texture coordinates of the field image. The correspondence information is used by the server control unit 13 that executes a process of placing the second object on the field object.

[0032] The server control unit 13 is a dedicated microprocessor or a CPU that implements a specific function by loading a specific program. For example, the server control unit 13 executes a game application in response to a user operation on the display unit 23. The server control unit 13 also executes various processes related to the game.

[0033] For example, the server control unit 13 causes the display unit 23 to display a field image in which a field object, a first object, etc. are displayed. In addition, the server control unit 13 causes the first object to move on the field object relative to the field object in the virtual space in response to a predetermined user operation. Specific details of the processing by the server control unit 13 will be described later.

[0034] (Terminal Device Configuration) A specific description will be given of the configuration of the terminal device 20. As shown in Fig. 1, the terminal device 20 includes a terminal communication unit 21, a terminal storage unit 22, a display unit 23, an input unit 24, and a terminal control unit 25.

[0035] The terminal communication unit 21 includes an interface for communicating with an external device wirelessly or wiredly and transmitting and receiving information. The terminal communication unit 21 may include a wireless communication module, a wireless LAN communication module, or a wired LAN communication module that supports a mobile communication standard such as LTE (Long Term Evolution) (registered trademark). The terminal communication unit 21 is capable of transmitting and receiving information to and from the server device 10 via the network 30.

[0036] The terminal storage unit 22 includes, for example, a primary storage device and a secondary storage device. For example, the terminal storage unit 22 may include a semiconductor memory, a magnetic memory, an optical memory, or the like. The terminal storage unit 22 stores various information and programs used in processing the game received from the server device 10. The information and programs used in processing the game may be acquired from an external device via the terminal communication unit 21. For example, a game application program may be acquired from a predetermined application distribution server. Hereinafter, the application program may also be simply referred to as an application. Also, for example, some or all of the above-mentioned information about the user and information about the game medium of the opponent may be acquired from the server device 10.

[0037] The display unit 23 includes a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The display unit 23 is capable of displaying a variety of images. The display unit 23 is configured, for example, by a touch panel, and functions as an interface that detects a variety of user operations.

[0038] The input unit 24 includes an input interface including, for example, a touch panel provided integrally with the display unit 23. The input unit 24 is capable of accepting user input to the terminal device 20. The input unit 24 may include physical keys, and may further include any input interface including a pointing device such as a mouse.

[0039] The terminal control unit 25 includes one or more processors. The terminal control unit 25 controls the operation of the entire terminal device 20.

[0040] The terminal control unit 25 transmits and receives information via the terminal communication unit 21. For example, the terminal control unit 25 receives various information and programs used in game processing from at least one of the server device 10 and other external servers. The terminal control unit 25 stores the received information and programs in the terminal storage unit 22.

[0041] The terminal control unit 25 starts a game application in response to a user's operation. The terminal control unit 25 executes the game in cooperation with the server device 10. For example, the terminal control unit 25 causes the display unit 23 to display various images (for example, various field images described later) used in the game. For example, a GUI (Graphic User Interface) for detecting a user operation may be displayed on the screen. The terminal control unit 25 can detect a user operation on the screen via the input unit 24. For example, the terminal control unit 25 can detect a user's tap operation, a long tap operation, a flick operation, a swipe operation, and the like. A tap operation is an operation in which a user touches the display unit 23 with a finger and then releases the finger. The terminal control unit 25 transmits operation information to the server device 10.

[0042] (Game drawing function) The server control unit 13, in cooperation with the terminal device 20, displays a field image on the display unit 23 and updates the field image as the game progresses. In this embodiment, the server control unit 13, in cooperation with the terminal device 20, renders objects placed in a three-dimensional virtual space as viewed from a virtual camera placed in the virtual space.

[0043] The drawing process described below is realized by the server control unit 13, but in other embodiments, a part or all of the drawing process described below may be realized by the server control unit 13. For example, in the following description, at least a part of the field image displayed on the terminal device 20 may be a web display displayed on the terminal device 20 based on data generated by the server device 10, and at least a part of the screen may be a native display displayed by a native application installed on the terminal device 20.

[0044] 3 and 4 are explanatory diagrams of an example of a field object and a background object. FIG. 3 is a plan view showing the whole of a field surface 70 forming a field object and a background surface 72 forming a background object, and FIG. 4 is a perspective view showing a part of the field surface 70 and the background surface 72 when viewed in an oblique direction including a directional component of the arrow R0 in FIG. 3. FIG. 4 also shows a schematic diagram of a virtual camera 60. In addition, in FIG. 4, the background surface 72 is shown in the form of a background object onto which a background image including pictures of clouds and a sun is projected.

[0045] In the following description, the movement of various objects refers to the movement within the virtual space, and the visible range of various objects refers to the range visible from the virtual camera 60 (i.e., the range within the angle of view 62 of the virtual camera 60).

[0046] FIG. 3 shows an x, y, z coordinate system (hereinafter also referred to as a "global coordinate system") as a spatial coordinate system of a virtual space. The origin of the global coordinate system may be fixed at any position. Hereinafter, the positive side of the z direction is the upper side of the virtual space, and the negative side is the lower side of the virtual space. Hereinafter, the x axis is an example of the first axis, the y axis is an example of the second axis, and the z axis is an example of the third axis. Hereinafter, the terms x direction, y direction, and z direction respectively mean a direction parallel to the x axis, a direction parallel to the y axis, and a direction parallel to the z axis. For example, the z direction represents a direction parallel to the z axis passing through any point in the xy plane, unless otherwise specified.

[0047] The field surface 70 is arranged in correspondence with the xy plane of the virtual space. In the present embodiment, as an example, the field surface 70 is arranged in correspondence with the xy plane so that the u-axis, v-axis, and origin of the texture coordinate system of the projected field image coincide with the x-axis, y-axis, and origin of the global coordinate system. Note that in FIG. 3, the u-axis, v-axis, and origin of the texture coordinate system are shown apart from the x-axis, y-axis, and origin of the global coordinate system as a state before the correspondence. The field surface 70 is not allowed to translate (move linearly) in each of the x-direction, y-direction, and z-direction. However, in another embodiment, the field surface 70 may be allowed to translate in the global coordinate system.

[0048] The field surface 70 can be deformed from the normal state when a plane parallel to the xy plane is set as the normal state. Thus, in this embodiment, the field object is shaped based on the deformable field surface 70. That is, the field object is deformed with respect to the plane parallel to the xy plane by being shaped based on the field surface 70 deformed from the normal state. Hereinafter, the deformation related to the field surface 70 and the field object means the deformation when the plane parallel to the xy plane is set as the normal shape (state) unless otherwise specified. Note that the deformed field object may be realized by projecting a field image onto the deformed field surface 70, or may be realized by projecting a field image onto the field surface 70 in the normal state and then deforming the field surface 70.

[0049] When a field image is projected onto the field surface 70, the field surface 70 can take over the texture coordinates of the projected field image in a normal state. That is, each position on the field surface 70 onto which the field image is projected can be substantially specified by the texture coordinate system of the field image (see FIG. 2). In the following, the coordinate system for specifying each position on the field surface 70 coincides with the texture coordinate system of the field image projected onto the field surface 70, and is also referred to as the "field coordinate system."

[0050] The background plane 72 extends in the z direction of the background object. However, in other embodiments, the background plane 72 may be disposed at an angle with respect to the z direction. In FIG. 3, the background plane 72 is disposed so as to surround the field plane 70. In this case, the background plane 72 may be fixed with respect to the global coordinate system, or may be movable only in the z direction as described later. However, in other embodiments, the background plane 72 may be disposed so as to surround only a part of the field plane 70. In this case, the background plane 72 may be rotated and moved in response to the rotation of the virtual camera 60 as described later. Furthermore, in still other embodiments, the background plane 72 may be deformable like the field plane 70.

[0051] Fig. 5 is an explanatory diagram showing various positional relationships when a plane including the line of sight V and the z direction of the virtual camera 60 shown in Fig. 4 (hereinafter also referred to as the "Vz plane") is viewed perpendicularly. Fig. 5 shows a schematic diagram of a first object 3 located in a field object area within the angle of view of the virtual camera 60. Fig. 6 is a schematic diagram showing an example of a field image obtained by drawing an image viewed from the virtual camera 60.

[0052] 5, angle of view 62 of virtual camera 60 (angle of view when viewed in a direction perpendicular to the z direction) is shown typically between boundaries 6211 and 6212. Note that in this embodiment, the angle of view of virtual camera 60 is constant, but in other embodiments, the angle of view of virtual camera 60 may be variable.

[0053] 5, the angle of view 62 has an upper boundary 6211 that intersects with the background surface 72 (see point P2) and a lower boundary 6212 that intersects with the field surface 70 (see point P1). In this case, as shown in Fig. 6, the field image G60 includes the background surface 72 (and therefore the background object) and the field surface 70 (and therefore the field object). Note that in Fig. 5, the first object 3 is located in the area of ​​the field object within the angle of view of the virtual camera 60, so the field image G60 includes a representation of the first object 3.

[0054] In this embodiment, the field surface 70 is bent and deformed as shown in Fig. 5 so that the virtual horizon HL (Fig. 6) is expressed by the field surface 70 (and the field object therewith). Specifically, the field surface 70 is deformed in a downward direction as it moves further away in the line of sight direction V (i.e., toward the background surface 72). Note that such deformation may be realized only within the range of the angle of view of the virtual camera 60, or may be realized over the entire field surface 70.

[0055] When the entire field surface 70 is deformed, the shape of the field surface 70 when cut on the Vz plane (the shape represented by the lines in FIG. 5) may be substantially the same at any cross-sectional position (i.e., the cross-section may be substantially uniform). Note that "substantially the same" is a concept that allows an error of 10% or less. Note that, since the field object is shaped based on the field surface 70 as described above, the shape of the field object when cut on the Vz plane is the same as the shape of the field surface 70 when cut on the Vz plane, but the shape may be slightly different from the shape of the field surface 70 (for example, fine irregularities, etc.).

[0056] 5, the horizon HL in this representation is formed by an intersection point P3 of a tangent 6213 (a tangent within the angle of view 62) from the virtual camera 60 to the field surface 70. In FIG. 6, the first object 3 is located in front of the horizon HL, so part of the representation of the horizon HL is hidden by the first object 3. Conversely, if the first object 3 is located behind the horizon HL (closer to the background surface 72), part or all of the first object 3 will be hidden by the field object.

[0057] Here, the height H1 of the horizon HL (see FIG. 6) depends on the angle α of the tangent 6213 with respect to the boundary line 6212. The angle α can change depending on the bending manner of the field surface 70. For example, in the case of the field surface 70' shown by the dashed line in FIG. 5, the angle α' of the tangent 6213' with respect to the boundary line 6212 is smaller than the angle α, and therefore the height H1 of the horizon HL is smaller (not shown). It can be seen that the height of the horizon HL can be changed by changing the bending manner of the field surface 70 in this way. Note that when the height of the horizon HL changes, the range of the background surface 72 that fits within the angle of view of the virtual camera 60 also changes accordingly.

[0058] In this manner, in this embodiment, the horizon HL can be appropriately represented by bending and deforming the field surface 70 in a downward direction as it approaches the background surface 72 when viewed in the line of sight V. Furthermore, by changing the deformation mode (degree of deformation, etc.) of the bending deformation, the height H1 of the horizon HL (and therefore the visible range of the field object, background object, etc.) can be freely changed. Hereinafter, the bending deformation in which the field surface 70 is deformed in a downward direction as it approaches the background surface 72 when viewed in the line of sight V is also simply referred to as the "bending deformation of the field surface 70."

[0059] FIG. 7 is a diagram illustrating an example of deformation parameters for realizing bending deformation of the field surface 70. As shown in FIG.

[0060] In Fig. 7, a two-dimensional coordinate system Xc, Yc (hereinafter also referred to as "local coordinate system") in the Vz plane is defined. The XcYc plane is a plane parallel to the Vz plane, the Yc axis is an axis parallel to the z axis, and the positive side of the Yc axis corresponds to the upper side of the virtual space. In Fig. 7, a function F1 that determines the deformation mode of the field surface 70 is shown.

[0061] The function F1 is a function in which the value of the Yc coordinate monotonically decreases nonlinearly as the absolute value of the Xc coordinate value increases. The function F1 is also symmetrical with respect to the Yc axis. However, in other embodiments, the function F1 may be a function in which the value of the Yc coordinate monotonically decreases linearly as the absolute value of the Xc coordinate value increases, and / or may be asymmetrical with respect to the Yc axis. In this embodiment, as an example, the function F1 is a quadratic function and is expressed as follows. yc=-A1×(xc) 2 Here, xc is the value of the Xc coordinate, yc is the value of the Yc coordinate, and A1 is a coefficient that determines the degree of deformation (hereinafter, referred to as "deformation parameter A1").

[0062] Note that the above function F1 is merely an example, and a different function such as the following may be used. When xc>a, yc=-A1×(xc-a) 2 When xc≦-a, yc=-A1×(xc+a) 2 - When a≦xc≦a, yc=0 In this case, a is a positive constant, and a flat plane is realized in the range -a≦xc≦a.

[0063] Or, when xc>-a1, yc=-A1×(xc) 2 When xc≦-a1, yc=0 In this case, a1 may be a positive fixed value, and the position of xc=-a1 may be set to coincide with the intersection of the lower boundary line 6212 of the angle of view 62 and the field plane 70 (point P1 in FIG. 5).

[0064] In other embodiments, multiple types of functions may be prepared, and different functions may be selected depending on various conditions.

[0065] FIG. 7A is an explanatory diagram of the bending deformation of the field surface 70 based on the function F1.

[0066] The field surface 70 is deformed according to the function F1. Therefore, the larger the value of the deformation parameter A1, the greater the degree of deformation of the field surface 70. In Fig. 7A, the field surface 70 is bent and deformed with a substantially uniform cross section, as described above.

[0067] Now, with reference to Figs. 8 to 8C, an example of a scenario in which bending deformation of the field surface 70 is applied will be described.

[0068] FIG. 8 is a plan view of the field object 77, FIG. 8A is an explanatory diagram of the state of bending deformation of the field surface related to position M1, FIG. 8B is an explanatory diagram of the state of bending deformation of the field surface related to position M2, and FIG. 8C is an explanatory diagram of the state of bending deformation of the field surface related to position M3. In FIG. 8, the field object 77 is shown as a representation in which the field image is projected onto the field surface 70 in the normal state. In FIG. 8, positions M1 to M3 are illustrated, and positions M2 and M3 are near the start position and near the end position of the curved road 17. Note that in FIG. 8A to FIG. 8C, for convenience of drawing, the curved road 17 and the like have a part away from the field surface 70 (a part outside the angle of view 62 of the virtual camera 60), but the entire part may be projected onto the field surface 70.

[0069] Here, positions M1 and M3 respectively correspond to the intersection positions between the line of sight V of the virtual camera 60 and the xy plane (or the field surface 70 before deformation). FIG. 8 shows the projection vector V' of the virtual camera 60 (the projection vector V' on the xy plane of the line of sight V) when the virtual camera 60 is at position M2. Positions M1 and M3 correspond to the position of the first object 3. That is, the bending deformation of the field surface 70 accompanying the movement of the virtual camera 60 when the first object 3 moves from position M1 to position M3 along the curved road 17 will be described.

[0070] When the intersection position between the line of sight V of the virtual camera 60 and the field plane 70 is located at position M1, the bending deformation of the field plane 70 is realized as shown in Fig. 8A. When the intersection position between the line of sight V of the virtual camera 60 and the field plane 70 is located at position M2, the bending deformation of the field plane 70 is realized as shown in Fig. 8B. When the intersection position between the line of sight V of the virtual camera 60 and the field plane 70 is located at position M3, the bending deformation of the field plane 70 is realized as shown in Fig. 8C.

[0071] In this way, when the line of sight direction V of the virtual camera 60 changes as the first object 3 moves from position M1 to position M3, a bending deformation of the field object 77 in accordance with the changed line of sight direction V (a bending deformation having the same deformation pattern when viewed in the line of sight direction V of the virtual camera 60) is realized.

[0072] Incidentally, when the position of the virtual camera 60 in the virtual space (position relative to the field object) changes, the area (for example, the area of ​​the field object) in the angle of view of the virtual camera 60 in the virtual space changes, so that the field image can be diversified. However, even in this case, if the state of the area in the angle of view of the virtual camera 60 is monotonous even if the position of the virtual camera 60 (position relative to the field object) changes, the field image cannot be diversified. Therefore, by making the position of the virtual camera 60 in the virtual space (position relative to the field object) variable and increasing the number and types of second objects placed on the field object, the field image can be effectively diversified. Hereinafter, the position of the virtual camera 60 means the position (relative position) relative to the field object, unless otherwise specified.

[0073] However, in this embodiment, as described above, the field surface 70 (and therefore the field object) is bent and deformed, but if the degree of deformation during bending and deformation is always constant, the field image obtained by drawing it as seen from the virtual camera 60 is likely to become monotonous.

[0074] Furthermore, if the position of the virtual camera 60 can be changed, the area within the angle of view of the virtual camera 60 on the field object changes as the position of the virtual camera 60 changes. Therefore, if various second objects are arranged in various ways on the field object, the way the first object to be operated by the user is depicted and the degree to which multiple second objects overlap each other will change, making it possible to diversify the field image obtained by drawing it as seen from the virtual camera 60.

[0075] Here, the advantage of diversifying the game field is that it makes it possible to highlight parts of the game field, improving the visibility of the objects for the user, and further improving operability by clarifying the objects to be operated and the operation points. In addition, even if there are multiple objects within a limited screen, the situation in the virtual space can be expressed without compromising visibility (without limiting the amount of information). This effect is particularly noticeable on a small screen such as a smartphone.

[0076] In addition, the expression of the horizon, etc. can be realized by a simple process of bending and deforming the field object, so the processing load can be reduced. Also, since it is not necessary to draw (hidden) objects outside the angle of view of the virtual camera 60 in the field object, the processing load can be reduced in that respect as well.

[0077] In this regard, in this embodiment, not only is the position of the virtual camera 60 variable, but the degree of deformation related to the bending deformation of the field surface 70 (and therefore the field object) is also variable. When the degree of deformation related to the bending deformation of the field surface 70 (and therefore the field object) changes, the appearance when viewed from the virtual camera 60 differs even in the same field object area, so that it is possible to further diversify the field image obtained by drawing with the representation as seen from the virtual camera 60.

[0078] In addition, in this embodiment, a single material (field image and field surface 70) for the field object is used, and the degree of deformation related to the bending deformation of the field surface 70 is changed to realize field objects of various shapes. This makes it possible to improve the efficiency of the storage area for the field objects compared to the case where various field objects (field objects of fixed shapes that cannot be deformed) are prepared in advance. In other words, it is possible to realize field objects of various shapes by efficiently using the storage area.

[0079] As described above, when the degree of deformation of the field surface 70 is changed, the height H1 of the horizon HL changes, which may cause the user to feel uncomfortable. For example, when the degree of deformation of the field surface 70 is changed while the position of the virtual camera 60 is fixed, the user is likely to feel uncomfortable.

[0080] Therefore, in this embodiment, when the area of ​​the field object that falls within the angle of view of the virtual camera 60 changes, the degree of deformation of the field surface 70 is changed in accordance with the change. For example, when the position of the virtual camera 60 changes, the degree of deformation of the field surface 70 is changed in accordance with the change. This makes it possible to reduce inconvenience (i.e., discomfort that may be caused to the user) that may occur due to a change in the degree of deformation of the field surface 70.

[0081] For example, when the position of the virtual camera 60 is within one or more specific positions or within a specific range, the degree of deformation of the field surface 70 may be greater than when the position of the virtual camera 60 is not within the specific position or within a specific range. This allows the field image when the position of the virtual camera 60 is within the specific position or within the specific range (i.e., the representation of various objects within the angle of view of the virtual camera 60) to be represented in a manner different from the field image when the position of the virtual camera 60 is in another position. For example, it is possible to give an effect such as making the field image related to the specific position more prominent than the field image related to the other positions, or giving a specific meaning to the field image related to the specific position. Note that the specific position or specific range may be set corresponding to, for example, a position where the first object turns while moving (for example, the intersection position of the horizontal passage 14 and the vertical passage 15 shown in FIG. 2), or may be set corresponding to a position where an object to be emphasized (for example, an object related to a game medium with a low appearance probability) is placed. In this case, for example, the specific position may be a position having a predetermined relationship with the position of the object. Furthermore, the specific position may be dynamically changed. For example, the one or more specific positions may include a specific position that is set corresponding to a position where an object related to a game medium with a low appearance probability is placed only when the object is placed.

[0082] Here, if the position of the virtual camera 60 is made variable, the area within the angle of view of the virtual camera 60 in the field object changes with the change in the position of the virtual camera 60. In this case, if various second objects are arranged on the field object in various ways, the way in which the first object operated by the user is reflected and the degree of overlapping of the multiple second objects change, so that the field image obtained by drawing it as viewed from the virtual camera 60 can be diversified. Also, even if overlapping (overlapping) occurs between the second object and / or the first object, as described above, the degree of deformation of the field surface 70 is adjusted so that the overlapping objects are arranged at positions shifted from each other vertically. Therefore, the visibility of each object or one or more objects focused on among the overlapping objects can be improved.

[0083] Also, by diversifying the field image obtained by drawing it as seen from the virtual camera 60, it is possible to highlight a part of the field image, improving the user's visibility of the object. Furthermore, the object to be operated and the operation location become clear, improving operability. Even if multiple objects exist within a limited screen, the situation in the virtual space can be expressed without compromising visibility (without limiting the amount of information). Such an effect is particularly noticeable on a narrow screen such as a smartphone.

[0084] In addition, the expression of the horizon, etc. can be realized by a simple process of bending and deforming the field object, so the processing load can be reduced. Also, since it is not necessary to draw (hidden) objects outside the angle of view of the virtual camera 60 in the field object, the processing load can be reduced in that respect as well.

[0085] 9 is an explanatory diagram of the degree of freedom of change in the position of the virtual camera 60. As shown in FIG. 9, the change in the position of the virtual camera 60 includes a change V1 along the line of sight V, changes V2 and V3 in directions intersecting the line of sight V, and a combination of these. The change V2 is a change in the Vz plane, and V3 is a change in a direction perpendicular to the Vz plane. The change in the position of the virtual camera 60 may be realized by a displacement (movement) of the virtual camera 60 in the global coordinate system, a displacement (movement) of a field object in the global coordinate system, or a combination of these.

[0086] Thus, in this embodiment, the manner in which the position (relative position) of the virtual camera 60 changes includes a manner in which the position (relative position) with respect to the field object changes in a direction (V2, V3) intersecting the line of sight direction V (hereinafter referred to as the "first change manner"), and a manner in which the position (relative position) with respect to the field object changes in a direction (V1) along the line of sight direction V (hereinafter referred to as the "second change manner").

[0087] In this regard, the change in the degree of deformation of the field surface 70 may be realized in association with either the first change mode or the second change mode, or in association with both the first change mode and the second change mode. For example, the position of the virtual camera 60 changes along the line of sight V while changing in a direction intersecting the line of sight V.

[0088] In addition, when the degree of deformation of the field surface 70 is changed, a change that is realized at the same time (i.e., a change in the area of ​​the field object that falls within the angle of view of the virtual camera 60) is not limited to a change in position (relative position) with respect to the field object, but may also be realized by rotating the line of sight direction V of the virtual camera 60 (see FIG. 10). In addition, it is also possible to change the area of ​​the field object that falls within the angle of view of the virtual camera 60 by setting the optical parameters of the virtual camera 60 to variable values ​​and changing the values ​​of the optical parameters of the virtual camera 60. Such optical parameters may be optical parameters related to the zoom amount of the virtual camera 60, such as the focal length and the angle of view.

[0089] In the present embodiment, as an example, not only the position (relative position) of the virtual camera 60 with respect to the field object is changeable, but also the line of sight V of the virtual camera 60 is changeable. Specifically, the line of sight V of the virtual camera 60 is rotatable around an axis parallel to the z direction (hereinafter referred to as the "revolution axis Pc"). The line of sight V of the virtual camera 60 may be rotatable only around the revolution axis Pc, or may be rotatable around another axis (rotation, described later). For example, the line of sight V of the virtual camera 60 may be rotatable around an axis perpendicular to the Vz plane. That is, the line of sight V of the virtual camera 60 may be rotated in such a manner that the angle of attack (angle of attack parameter ψ, described later) of the virtual camera 60 changes. In this case, the center of rotation may be a position that has a predetermined relationship with respect to the position of the virtual camera 60, and the predetermined relationship may be fixed or may be changed.

[0090] Hereinafter, unless otherwise specified, the rotation of virtual camera 60 means the rotation in a manner that line of sight V rotates around revolution axis Pc. The orientation of virtual camera 60 means the orientation of line of sight V of virtual camera 60.

[0091] Fig. 10 is an explanatory diagram of the rotation (change) of the line of sight direction V of the virtual camera 60, and is a diagram that typically shows the virtual camera 60 viewed in the z direction and its angle of view 62. Fig. 10 typically shows the virtual camera 60 at two positions during rotation.

[0092] In FIG. 10, the revolution axis Pc related to the line of sight V of the virtual camera 60 passes through the line of sight V of the virtual camera 60 and is offset backward from the virtual camera 60 in the line of sight V when viewed in the z direction. In this case, when the virtual camera 60 rotates 360 degrees, the virtual camera 60 draws a circular trajectory C70 around the revolution axis Pc when viewed in the z direction. However, the position of the revolution axis Pc is arbitrary and may be a position that has a predetermined relationship with the virtual camera 60, and the predetermined relationship may be fixed or may be changed. However, in this specification, the revolution axis Pc is distinguished from the rotation axis when it passes through the virtual camera 60, and therefore is set to be different from the rotation axis.

[0093] In FIG. 10, the line of sight V always passes through the revolution axis Pc and is directed away from the revolution axis Pc while the virtual camera 60 is rotating, as viewed in the z direction, but is not limited thereto. For example, the line of sight V may always pass through the revolution axis Pc and be directed toward the revolution axis Pc while the virtual camera 60 is rotating, as viewed in the z direction. That is, the revolution axis Pc may pass through the line of sight V of the virtual camera 60, as viewed in the z direction, and be offset from the virtual camera 60 to the front side (distant side) of the line of sight V. In this case, the revolution axis Pc may be set to pass through a predetermined object (for example, a predetermined object described later) that is to be shown to the user from all directions. In another embodiment, the line of sight V may rotate on its own axis while the virtual camera 60 is rotating (revolving) as viewed in the z direction. That is, the virtual camera 60 may be rotatable (rotating) around the rotation axis 61. Alternatively, the line of sight V may be rotatable independently of the revolution.

[0094] As described above, the horizon HL is formed by bending the field surface 70. Therefore, when the line of sight V changes with the rotation of the virtual camera 60, the deformation mode of the bending deformation of the field surface 70 changes accordingly. That is, when the line of sight V changes with the rotation of the virtual camera 60, the deformation mode of the bending deformation of the field surface 70 changes accordingly so that the Xc axis of the local coordinate system is located within the Vz plane based on the changed line of sight V. This makes it possible to realize the horizon HL in the virtual space in a manner that does not give an awkward feeling, even if the line of sight V changes with the rotation of the virtual camera 60.

[0095] Next, the drawing function of the server device 10 will be described in further detail with reference to FIG. 11 and subsequent figures.

[0096] First, with reference to FIG. 11, camera parameters used in the description of FIG. 12 and thereafter will be described, and then the server device 10 will be described in detail.

[0097] FIG. 11 is an explanatory diagram of camera parameters. FIG. 11 shows a field surface 70 (normal state) positioned in the global coordinate system. As described above, the field surface 70 can be bent, but the entire field surface 70 in the global coordinate system cannot be translated or rotated. Therefore, the coordinates of each position of the field surface 70 in the field coordinate system can be converted to each coordinate of the global coordinate system by a predetermined conversion formula, and the reverse conversion is also possible. In the following, for the sake of explanation, it is assumed that the origin of the field coordinate system is the same as the origin of the global coordinate system, the u axis of the field coordinate system (= the u axis of the texture coordinate system) coincides with the x axis of the global coordinate system, and the v axis of the field coordinate system (= the v axis of the texture coordinate system) coincides with the y axis of the global coordinate system. In the following, the field surface 70 represents the field surface 70 (field surface 70 of a field object) in a state where a field image is projected, unless otherwise specified.

[0098] In this embodiment, the camera parameters include two position parameters (X, Y), a distance parameter A2, an orientation parameter θ, and an angle of attack parameter ψ. Once the values ​​of all these parameters are determined, the virtual camera 60 can be uniquely positioned with respect to the global coordinate system.

[0099] The position parameter X is the x coordinate of the intersection of the line of sight V on the xy plane, the position parameter Y is the y coordinate of the intersection of the line of sight V on the xy plane, and the distance parameter A2 is the distance from the intersection of the line of sight V on the xy plane to the virtual camera 60 (the distance along the line of sight V). The orientation parameter θ is the angle between the x-axis and the projection vector V' on the xy plane of the line of sight V. The angle of attack parameter ψ is the angle between the line of sight V and the xy plane. Note that in this embodiment, the angle of attack parameter ψ is used, but the angle of attack parameter ψ may be omitted. In other words, the angle of attack parameter ψ may have a constant value (fixed value).

[0100] It should be noted that such camera parameters are used only for the following explanation, and different parameters may be used equivalently in actual processing.

[0101] FIG. 12 is an example of a functional block diagram relating to the drawing function of the server device 10. FIG. 13 is an explanatory diagram of transformation parameter data. In FIG. 13, "-" indicates that it is arbitrary, and "···" indicates the same repetition. FIG. 14 is an explanatory diagram of distance parameter data. Similarly, in FIG. 14 (similarly in FIG. 15), "···" indicates the same repetition. FIG. 15 is an explanatory diagram of orientation parameter data.

[0102] The server device 10 includes a drawing information storage unit 130, an operation information acquisition unit 132, a drawing data transmission unit 134, and a drawing processing unit 140. The drawing information storage unit 130 can be realized by the server storage unit 12 shown in Fig. 1, the operation information acquisition unit 132 and the drawing data transmission unit 134 can be realized by the server communication unit 11 shown in Fig. 1, and the drawing processing unit 140 can be realized by the server control unit 13 shown in Fig. 1. Hereinafter, with regard to the processing of each unit, "calculation" is a concept that includes processing of simply reading out a calculated value, a setting value, etc. stored as data.

[0103] The drawing information storage unit 130 stores various information and data used by the drawing processing unit 140.

[0104] The data stored in the drawing information storage unit 130 includes the transformation parameter data 13A related to the specific position described above. In the following, the specific position is assumed to be a position where a specific object described later can be located. In other words, the specific position is assumed to be a position that can match the position of a specific object described later.

[0105] In the deformation parameter data 13A, a value of a deformation parameter A1 different from the normal value β0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 relating to the specific position described above. Note that the normal value β0 of the deformation parameter A1 is a constant value, but if multiple types of field images G60 are prepared, it may be a variable value that may differ for each field image. Furthermore, the position parameter (X, Y) of the virtual camera 60 relating to the specific position may further be associated with the value of a direction parameter θ. For example, in the example shown in FIG. 13, each value of the position parameter (X, Y) relating to the specific position (X A , Y A ), (X B , Y B ), (X C , Y C For example, in the deformation parameter data 13A of FIG. 13, the value of the deformation parameter A1 corresponding to the value of the orientation parameter θ is associated with the specific position A=(X A , Y A) is associated with the value β1 of the deformation parameter A1 regardless of the orientation of the virtual camera 60. C , Y C ) the orientation of the virtual camera 60 is the orientation parameter θ=θ C1 When the value β3 of the deformation parameter A1 is associated with the virtual camera 60, the orientation of the virtual camera 60 becomes the orientation parameter θ=θ C2 In the following, a specific position where the value of the deformation parameter A1 changes depending on the orientation of the virtual camera 60, such as specific position C, is also referred to as a "specific position where the degree of deformation changes during the revolution of the virtual camera 60", and is associated with an orientation (orientation parameter θ=θ) to which a value different from the normal value β0, such as value β3 or value β4, is associated in the deformation parameter data 13A. C1 Or θ C2 (the orientation at which the degree of deformation changes) is referred to as a "specific orientation." The specific orientation is fixed, but may be changed. Note that in other embodiments, a specific position at which the degree of deformation changes during revolution of virtual camera 60 may not be set. Also, while two specific orientations are set for specific position C, only one may be set, or three or more may be set.

[0106] The data stored in the drawing information storage unit 130 also includes transformation parameter data 13B related to a specific object. In the transformation parameter data 13B, a value of a transformation parameter A1 different from a normal value β0 is associated with the specific object. The specific object is any object different from a predetermined object described below. For example, the specific object is preferably an object among the second objects that the user is desired to focus on. For example, the specific object may be an object related to a moving object (e.g., a character) or an object related to a fixed object. In the transformation parameter data 13B of FIG. 13, a value β of the transformation parameter A1 is associated with the specific object G1. G1 is associated with the specific object G2, and the value β of the transformation parameter A1 is associated with the specific object G3. G2 On the other hand, the specific object G3 is associated with a direction parameter θ of the virtual camera 60=θC3 When , the value of the deformation parameter A1 is β G3 is associated with the virtual camera 60, and the orientation of the virtual camera 60 is determined as an orientation parameter θ=θ C4 When , the value of the deformation parameter A1 is β G4 As in the case of the deformation parameter data 13A, hereinafter, a specific object such as the specific object G3, whose value of the deformation parameter A1 changes depending on the orientation of the virtual camera 60, is also referred to as a "specific object whose degree of deformation changes during the revolution of the virtual camera 60", and is referred to as a "specific object" having a value β G3 or value β G4 The direction in which a value different from the normal value β0 is associated (the direction parameter θ = θ C3 Or θ C4 The specific orientation is called a "specific orientation." The specific orientation is fixed, but may be changed. For example, if the specific object G3 has a forward direction, the specific orientation may be changed in response to a change in the forward direction of the specific object G3.

[0107] The data stored in the drawing information storage unit 130 includes the distance parameter data 14A related to the specific position described above. In the distance parameter data 14A, a value of a distance parameter A2 different from the normal value γ0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to the specific position. The normal value γ0 of the distance parameter A2 is a constant value, but may be a variable value that may differ for each field image when multiple types of field images G60 are prepared. The value of the distance parameter A2 related to the specific position of a certain virtual camera 60 may be determined so that the corresponding area (and an object located within the area) is captured at a desired distance by the virtual camera 60 positioned at the specific position. For example, when it is desired to show a specific second object to the user at a close distance, a value of the distance parameter A2 such that the specific second object is captured at a close distance by the virtual camera 60 may be associated with each value of the position parameter (X, Y) related to the specific position. For example, in FIG. 14, a specific position A=(X A , Y A) is associated with a value γ1 of the distance parameter A2, and a specific position B=(X B , Y B ) is associated with a value γ2 of the distance parameter A2, and so on. In this embodiment, as an example, the value of the distance parameter A2 defined in the distance parameter data 14A, such as the value γ1 or the value γ2, is significantly smaller than the normal value γ0. The smaller the value of the distance parameter A2, the shorter the distance between the virtual camera 60 and the field object.

[0108] The data stored in the drawing information storage unit 130 also includes distance parameter data 14B related to specific objects. In the distance parameter data 14B, a value of a distance parameter A2 smaller than a normal value γ0 is associated with each specific object. In the distance parameter data 14B of FIG. 14, the value of the distance parameter A2 γ G1 is associated with the specific object G2, and the value γ G2 are associated.

[0109] In this embodiment, the distance parameter data 14A relating to the specific position does not define a specific position where the value of the distance parameter A2 changes depending on the value of the orientation parameter θ. However, as in the above-mentioned deformation parameter data 13A, a specific position where the value of the distance parameter A2 changes depending on the value of the orientation parameter θ may be defined. That is, a specific position where the value of the distance parameter A2 changes during the revolution of the virtual camera 60 may be defined. In this case, preferably, for a specific position where the degree of deformation changes during the revolution of the virtual camera 60, the value of the distance parameter A2 is associated with a specific orientation relating to the specific position. For example, a specific position C=(X C , Y C ) the orientation of the virtual camera 60 is the orientation parameter θ=θ C1 When , the value of the distance parameter A2 is γ 31 is associated with the virtual camera 60, and the orientation of the virtual camera 60 is determined as an orientation parameter θ=θ C2 When , the value of the distance parameter A2 is γ 32This allows the value of the distance parameter A2 to be changed when the degree of bending deformation changes during revolution of the virtual camera 60.

[0110] Similarly, in this embodiment, the distance parameter data 14B relating to the specific object does not define a specific object in which the value of the distance parameter A2 changes according to the value of the orientation parameter θ. However, a specific object in which the value of the distance parameter A2 changes according to the value of the orientation parameter θ may be defined as in the above-mentioned deformation parameter data 13B. That is, a specific object in which the value of the distance parameter A2 changes during the revolution of the virtual camera 60 may be defined. In this case as well, preferably, for a specific object whose degree of deformation changes during the revolution of the virtual camera 60, the value of the distance parameter A2 is associated with a specific orientation relating to the specific object. For example, for the specific object G3, the orientation of the virtual camera 60 is determined as the orientation parameter θ=θ C3 When , the value of the distance parameter A2 is γ G31 is associated with the virtual camera 60, and the orientation of the virtual camera 60 is determined as an orientation parameter θ=θ C4 When , the value of the distance parameter A2 is γ G32 This allows the value of the distance parameter A2 to be changed when the degree of bending deformation changes during revolution of the virtual camera 60.

[0111] The data stored in the drawing information storage unit 130 also includes orientation parameter data. In the orientation parameter data, the value of the orientation parameter θ is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to the orientation change position. The value of the orientation parameter θ related to a certain virtual camera 60 position may be determined so that a desired area falls within the angle of view of the virtual camera 60 at that position. For example, when a specific second object is to be shown to the user, the value of the orientation parameter θ may be associated with each value of the position parameter (X, Y) related to that position so that the specific second object is located in an area that falls within the angle of view. The orientation change position may be set corresponding to, for example, a position where the first object changes direction while moving (for example, the start and end positions of the curved road 17 shown in FIG. 2, the intersection position of the horizontal passage 14 and the vertical passage 15, etc.). 15, for example, the orientation parameter θ value θ1 is associated with the orientation change position T1 (XP1, YP1), the orientation parameter θ value θ2 is associated with the orientation change position T2 (XP2, YP2), and so on. The orientation change positions T1 and T2 may be positions associated with a transformation parameter A1 value different from the normal value β0, such as specific positions A and B, and / or may be positions associated with a distance parameter A2 value different from the normal value γ0.

[0112] The data stored in the drawing information storage unit 130 also includes angle-of-attack parameter data. In the angle-of-attack parameter data, although not shown, similarly to the orientation parameter data, the value of the angle-of-attack parameter ψ may be associated with each value of the position parameter (X, Y) of the virtual camera 60 related to the angle-of-attack change position. The value of the angle-of-attack parameter ψ related to a certain position of the virtual camera 60 may be determined so that a desired area falls within the angle of view of the virtual camera 60 at that position. For example, when a specific second object is to be shown to the user, the value of the angle-of-attack parameter ψ may be associated with each value of the position parameter (X, Y) related to that position so that the specific second object is located in an area that falls within the angle of view.

[0113] The data stored in the drawing information storage unit 130 does not need to be managed in a divided manner as shown in FIGS. 13, 14, and 15, and may be appropriately managed in an integrated manner.

[0114] The operation information acquisition unit 132 acquires user operation information. The user operation information is generated in response to various operations by the user on the terminal device 20. The operation information may be generated by gestures, voice input, or the like. In this embodiment, the operation information includes a movement instruction for a predetermined object and a rotation instruction for the virtual camera 60. The movement instruction for the predetermined object is an instruction for changing the position of the predetermined object relative to the field object (hereinafter, also simply referred to as the "position of the predetermined object"), and may include an instruction for a movement direction, a movement amount, or the like. The rotation instruction for the virtual camera 60 is an instruction for realizing the above-mentioned rotation of the virtual camera 60, and may include an instruction for a type of rotation (rotation around the revolution axis Pc, i.e., revolution, or rotation around the rotation axis 61, i.e., rotation, or rotation that changes the value of the angle of attack parameter ψ), a rotation direction, or the like. The predetermined object is arbitrary, but in this embodiment, it is preferably the first object. The operation information may also include a movement instruction for the virtual camera 60, or the like.

[0115] The drawing data transmission unit 134 transmits drawing data for a field image generated by the drawing processing unit 140 to the terminal device 20. As described above, in other embodiments, a part or all of the drawing processing of the drawing processing unit 140 may be realized on the terminal device 20 side. For example, when the drawing processing unit 140 is realized by the terminal device 20, the drawing data transmission unit 134 may be omitted.

[0116] The drawing processing unit 140 generates drawing data for a field image based on various data in the drawing information storage unit 130, operation information from the terminal device 20, and the like.

[0117] The rendering processing unit 140 includes a change processing unit 142 , a second movement processing unit 144 , a transformation processing unit 145 , a projection processing unit 146 , a background processing unit 147 , and a rendering data generation unit 148 .

[0118] The change processing unit 142 changes the area of ​​the field object that falls within the angle of view of the virtual camera 60 in response to the operation information, etc. For example, the change processing unit 142 changes each value of the position parameters (X, Y) of the virtual camera 60, and when changing each value of the position parameters (X, Y), executes various processes according to the change.

[0119] In this embodiment, since a specific object is placed in the field object 77, when the area of ​​the field object that falls within the angle of view of the virtual camera 60 is changed, a specific object may be located within the area. In other words, the number of areas that fall within the angle of view 62 of the virtual camera 60 in the field object is substantially the same as all possible combinations of the values ​​of the camera parameters, and among them, there is an area where the specific object is located (hereinafter also referred to as a "specific object area"), and there is also an area (an example of a predetermined object area) around the specific object area. In addition, in this embodiment, since the values ​​of the camera parameters can be changed with a relatively small resolution, the specific object area includes a first object area in which the specific object is located at the center and a second object area in which the specific object is located at the end. Here, the specific object and the like will be described with reference to FIG. 11A. FIG. 11A shows areas R1, R2, and R3 that fall within the angle of view 62 of the virtual camera 60 in the field object 77 when three different camera parameters (here, camera parameters 1, 2, and 3) are used. The camera parameters 1, 2, and 3 differ in at least one value among the elements (X, Y, A2, θ, and ψ) of the camera parameters described above. Therefore, the three areas shown in FIG. 11A are different areas. Among the three areas R1, R2, and R3 shown in FIG. 11A, the specific objects G5 and G7 are located in the areas R1 and R3. Therefore, in this case, the areas R1 and R3 are examples of specific object areas. On the other hand, the specific object is not located in the area R2. Therefore, in this case, the area R2 is an example of a predetermined object area in which the specific object is not located. Note that, when the specific object is a moving object, an area that was a specific object area at a certain time point may not be a specific object area at another time point. For example, in the case of region R2, when a specific object G6 that was located outside the angle of view 62 at that time moves and is located in region R2, region R2 becomes a specific object region.

[0120] The change processing unit 142 includes a first movement processing unit 1420 , a distance changing unit 1421 , a direction changing unit 1422 , an angle of attack changing unit 1423 , an update reflecting unit 1424 , and a rotation processing unit 1425 .

[0121] When a predetermined first movement condition is satisfied, the first movement processing unit 1420 updates each value of the position parameters (X, Y) of the virtual camera 60. The predetermined first movement condition is arbitrary, and may be satisfied, for example, by a movement of a predetermined object based on an instruction to move the predetermined object in the operation information, or may be satisfied based on the progress of the game or other factors.

[0122] The distance change unit 1421 associates the value of the distance parameter A2 with each value of the updated position parameters (X, Y). In this embodiment, the distance change unit 1421 refers to the distance parameter data in the drawing information storage unit 130 and calculates the value of the distance parameter A2 to be associated with each value of the updated position parameters (X, Y). At this time, if the value of the distance parameter A2 is not associated with each value of the updated position parameters (X, Y) on the distance parameter data 14A, an interpolated value may be associated with each value of the updated position parameters (X, Y). An example of a method for calculating the interpolated value will be described later. Note that, in another embodiment, if the value of the distance parameter A2 is not associated with each value of the updated position parameters (X, Y) on the distance parameter data, the distance change unit 1421 may directly associate the normal value γ0 instead of the interpolated value.

[0123] The distance change unit 1421 includes a first distance change unit 14211 and a second distance change unit 14212. Note that in other embodiments in which a specific position is not set unlike the example shown in Fig. 14, the first distance change unit 14211 may be omitted.

[0124] The first distance modification unit 14211 calculates the value of the distance parameter A2 based on the relationship between the position of the virtual camera 60 and the specific position (first distance parameter calculation process). In this embodiment, the first distance modification unit 14211 calculates the value of the distance parameter A2 based on the position of the virtual camera 60 by referring to the distance parameter data 14A related to the specific position as described above with reference to Fig. 14. An example of the first distance parameter calculation process by the first distance modification unit 14211 will be described later with reference to Fig. 17.

[0125] The second distance modification unit 14212 associates the value of the distance parameter A2 associated with the specific object with each value of the updated position parameters (X, Y) (second distance parameter calculation process). In this embodiment, when the specific object is located in an area of ​​the field object that falls within the angle of view 62 of the virtual camera 60, the second distance modification unit 14212 refers to the distance parameter data 14B related to the specific position as described above with reference to FIG. 14 and calculates the value of the distance parameter A2 based on the specific object located in the area of ​​the field object that falls within the angle of view of the virtual camera 60.

[0126] Furthermore, when a specific object is located in an area of ​​the field object that falls within the angle of view of the virtual camera 60, the second distance change unit 14212 may calculate the value of the distance parameter A2 according to the position of the specific object in the area. In this case, the second distance change unit 14212 may change the value of the distance parameter A2 when the specific object is located in the center of the area of ​​the field object that falls within the angle of view of the virtual camera 60 and when the specific object is located at both ends of the area. Specifically, when the specific object is located in the center of the area of ​​the field object that falls within the angle of view of the virtual camera 60, the second distance change unit 14212 may make the value of the distance parameter A2 smaller than when the specific object is located at both ends of the area. This makes it possible to effectively highlight a specific object when the specific object is located near the center of the angle of view of the virtual camera 60. In addition, the center of the area of ​​the field object that falls within the angle of view of the virtual camera 60 may be, for example, a portion of a range 771 within a distance L0 centered on the center line CT of the specific object area in the upper part of FIG. 11A. In this case, the distance L0 is any value that is significantly smaller than the entire distance L1 of the specific object area, and may be, for example, about L1 / 2. In this case, the portions related to ranges 772 and 773 on both sides of the range 771 correspond to the ends of the area of ​​the center. An example of the second distance parameter calculation process will be described later with reference to FIG. 27.

[0127] The orientation change unit 1422 associates the value of the orientation parameter θ with each value of the updated position parameters (X, Y). In this embodiment, the orientation change unit 1422 refers to the orientation parameter data in the drawing information storage unit 130 and calculates the value of the orientation parameter θ corresponding to each value of the position parameters (X, Y). At this time, if the value of the orientation parameter θ is not associated with each value of the updated position parameters (X, Y) on the orientation parameter data, the orientation change unit 1422 may calculate an interpolated value. An example of a calculation method of the interpolated value will be described later. Then, the orientation change unit 1422 associates the calculated value of the orientation parameter θ with each value of the updated position parameters (X, Y). Note that, in another embodiment, if the value of the orientation parameter θ is not associated with each value of the updated position parameters (X, Y) on the orientation parameter data, the orientation change unit 1422 may directly associate the normal value θ0. The normal value θ0 may be set so that the line of sight direction V is perpendicular to the moving direction of the predetermined object in the z direction.

[0128] The angle-of-attack changer 1423 associates the value of the angle-of-attack parameter ψ with each value of the updated position parameter (X, Y). In this embodiment, the angle-of-attack changer 1423 refers to the angle-of-attack parameter data in the drawing information storage unit 130 to calculate the value of the angle-of-attack parameter ψ corresponding to each value of the position parameter (X, Y). At this time, if the value of the angle-of-attack parameter ψ is not associated with each value of the updated position parameter (X, Y) on the angle-of-attack parameter data, the angle-of-attack changer 1423 may calculate an interpolated value. An example of a method for calculating the interpolated value will be described later. Then, the angle-of-attack changer 1423 associates the calculated value of the angle-of-attack parameter ψ with each value of the changed position parameter (X, Y). Note that in another embodiment, if the value of the angle-of-attack parameter ψ is not associated with each value of the updated position parameter (X, Y) on the angle-of-attack parameter data, the angle-of-attack changer 1423 may directly associate the normal value ψ0.

[0129] The update reflecting unit 1424 positions the virtual camera 60 with respect to the global coordinate system based on each value of the updated position parameters (X, Y) and each value of various parameters (distance parameter A2, direction parameter θ, and angle of attack parameter ψ) associated with each value of the updated position parameters (X, Y). As a result, the virtual camera 60 is positioned with respect to the field surface 70 (and the field object associated therewith).

[0130] When a predetermined rotation condition is satisfied, the rotation processing unit 1425 executes a rotation process of the virtual camera 60. The predetermined rotation condition may be determined based on, for example, operation information (a rotation instruction for the virtual camera 60), or may be satisfied based on the progress of the game or other factors.

[0131] The rotation processing unit 1425 may include a revolution processing unit 14251, a rotation processing unit 14252, and an angle-of-attack processing unit 14253. In other embodiments, some or all of the revolution processing unit 14251, the rotation processing unit 14252, and the angle-of-attack processing unit 14253 may be omitted.

[0132] The revolution processing unit 14251 realizes rotation of the line of sight V around the revolution axis Pc (see FIG. 10) away from the virtual camera 60. Note that the revolution processing unit 14251 may appropriately set the position of the revolution axis Pc according to the position of the virtual camera 60, the position of a predetermined object, and the like.

[0133] The rotation processing unit 14252 realizes the rotation of the line of sight V around a rotation axis 61 (see FIG. 10) which is an axis passing through the virtual camera 60 and parallel to the z direction.

[0134] The angle-of-attack processing unit 14253 realizes a change in the angle-of-attack parameter ψ (see FIG. 5) which is the angle between the line-of-sight direction V of the virtual camera 60 and the xy plane (that is, a rotation about an axis perpendicular to the Vz plane passing through the virtual camera 60).

[0135] In addition, in one processing cycle, two or more processing units among the revolution processing unit 14251, the rotation processing unit 14252, and the angle-of-attack processing unit 14253 may simultaneously realize processing.

[0136] When a predetermined second movement condition is satisfied, the second movement processing unit 144 updates the position of the predetermined object relative to the field object. The predetermined object may be any object whose position relative to the field object can change, but is preferably the first object as described above. The predetermined second movement condition is any object, but may be satisfied, for example, by operation information (a movement instruction for the predetermined object), or may be satisfied based on the progress of the game or other factors. The position of the predetermined object may be defined, for example, in the texture coordinate system of the field image.

[0137] The transformation processing unit 145 executes bending transformation processing to bend and transform the field surface 70 (and the field object therewith) based on the position and orientation of the virtual camera 60. The bending transformation of the field surface 70 is as described above. In the transformation parameter data 13A shown in FIG. 13, for example, each value of the position parameters (X, Y) is a specific position A (X A , Y A ), the transformation processing unit 145 bends and transforms the field surface 70 (and the field object therewith) based on the value β1 of the transformation parameter A1, regardless of the orientation of the virtual camera 60. C , Y C ), the transformation processor 145 determines whether the orientation of the virtual camera 60 corresponds to “θ C1 When the value β3 of the deformation parameter A1 is set to "θ", the field surface 70 (and the field object therewith) is bent and deformed based on the value β3 of the deformation parameter A1. C2 ", the field surface 70 (and the field object therewith) is bent and deformed based on the value β4 of the deformation parameter A1.

[0138] In this embodiment, the transformation processing unit 145 includes a first transformation parameter calculation unit 1451, a second transformation parameter calculation unit 1452, a transformation parameter adjustment unit 1453, an origin setting processing unit 1454, and a transformation function application unit 1455. Note that in other embodiments in which a specific position is not set unlike the example shown in Fig. 13, the first transformation parameter calculation unit 1451 and the transformation parameter adjustment unit 1453 may be omitted.

[0139] The first deformation parameter calculation unit 1451 refers to the deformation parameter data 13A related to the specific position as described above with reference to Fig. 13, and calculates the value of the deformation parameter A1 based on the position and orientation of the virtual camera 60 (first deformation parameter calculation process). An example of the first deformation parameter calculation process by the first deformation parameter calculation unit 1451 will be described later with reference to Fig. 23.

[0140] The second deformation parameter calculation unit 1452 refers to the deformation parameter data 13B related to the specific object as described above with reference to Fig. 13, and calculates the value of the deformation parameter A1 based on the position and orientation of the virtual camera 60 (second deformation parameter calculation process). An example of the second deformation parameter calculation process by the second deformation parameter calculation unit 1452 will be described later with reference to Fig. 24.

[0141] When the value of the deformation parameter A1 calculated by the first deformation parameter calculation unit 1451 and the value of the deformation parameter A1 calculated by the second deformation parameter calculation unit 1452 do not match, the deformation parameter adjustment unit 1453 calculates an interpolated value by an interpolation process. An example of the interpolation process related to the deformation parameters will be described later. Note that, in another embodiment, when the value of the deformation parameter A1 calculated by the first deformation parameter calculation unit 1451 and the value of the deformation parameter A1 calculated by the second deformation parameter calculation unit 1452 do not match, the deformation parameter adjustment unit 1453 may preferentially use one of them (for example, the value of the deformation parameter A1 calculated by the second deformation parameter calculation unit 1452).

[0142] The origin setting processing unit 1454 sets a position (hereinafter also referred to as "origin position") to which the origin O of the local coordinate system in the field object corresponds based on the position and orientation of the virtual camera 60. The origin setting processing unit 1454 sets the origin position in two or more setting modes. In the present embodiment, as an example, the origin setting processing unit 1454 sets the origin position based on the position of a predetermined object as the first setting mode, and sets the origin position based on the position of a specific object different from the predetermined object as the second setting mode. For example, the origin setting processing unit 1454 determines whether or not a specific object is located in an area that fits within the angle of view of the virtual camera 60, and when it is determined that the specific object is located in an area that fits within the angle of view of the virtual camera 60, it sets the origin position based on the position of the specific object. On the other hand, when it is determined that the specific object is not located in an area that fits within the angle of view of the virtual camera 60, the origin setting processing unit 1454 sets the origin position based on the position of the specific object. In other embodiments, the origin setting processing unit 1454 may set the origin position based on the position of a specific object, regardless of whether or not the specific object is located in an area that falls within the angle of view of the virtual camera 60, or may set the origin position based on other factors.

[0143] The transformation function application unit 1455 bends and deforms the field surface 70 based on the origin position set by the origin setting processing unit 1454, the value of the transformation parameter A1 calculated (set) by the transformation parameter adjustment unit 1453, and the orientation of the virtual camera 60, and based on the function F1 described above with reference to Figure 7.

[0144] The projection processing unit 146 places various objects (second object, etc.) other than the background object on the field surface 70 that has been bent and deformed by the transformation processing unit 145. The placement of various objects can be realized based on the above-mentioned correspondence information. At this time, the projection processing unit 146 places a predetermined object at a position after movement calculated by the second movement processing unit 144. Note that the field image may be projected after bending and deforming the field surface 70, as described above.

[0145] The background processing unit 147 places a background object on the field surface 70 that has been bent and deformed by the transformation processing unit 145. The background processing unit 147 determines the position of the background object in the z direction based on the degree of bending deformation of the field surface 70. Specifically, the background processing unit 147 determines the position of the background object along the z direction relative to the field object based on the height H1 (see FIG. 6) of the virtual horizon HL represented by the field object. For example, when the height H1 of the horizon HL becomes smaller due to a change in the degree of bending deformation of the field surface 70, the background processing unit 147 moves the position of the background object in the z direction downward. For example, in the example shown in FIG. 5, when the angle changes from α to α', the background processing unit 147 may move the position of the background object in the z direction downward by a distance Δ1. As shown in FIG. 5, the distance Δ1 is the distance between the intersection point P4 of the tangent 6213 (the tangent within the angle of view 62) from the virtual camera 60 to the field surface 70 with the background surface 72 and the intersection point P5 of the tangent 6213'. In this case, even if the height H1 of the horizon HL changes due to a change in the degree of bending deformation, the background object can be arranged in a manner that is unlikely to cause an awkward feeling due to the change.

[0146] In addition, in a predetermined case, the background processing unit 147 may not change the position of the background object relative to the field object along the z direction. For example, when the change amount of the bending deformation degree of the bending deformation by the deformation processing unit 145 is relatively small, the background object may not change the position of the background object relative to the field object along the z direction.

[0147] The rendering data generating unit 148 generates a field image (rendering data) including a representation of various objects viewed from the virtual camera 60.

[0148] Next, the operation of the server control unit 13 related to the drawing function will be further described with reference to Fig. 16 onwards. In the process flow diagrams (flowcharts) that follow, the processing order of each step may be changed as long as the relationship between the input and output of each step is not lost.

[0149] FIG. 16 is a schematic flowchart showing the flow of processing realized by the server control unit 13.

[0150] The process shown in FIG. 16 may be executed at every predetermined processing cycle. The predetermined processing cycle may be the same as the frame cycle (update cycle) of the field image. In the following, the "pre-update" value corresponds to the previous value (the value derived in the previous processing cycle (k)) based on a certain processing cycle (k+1), and the "update" value corresponds to the current value derived in the processing cycle (k+1). In this example, in the first processing cycle, the position (u(0), v(0)) of the predetermined object after the update is set to a predetermined initial position, each value (X(0), Y(0)) of the position parameters (X, Y) of the virtual camera 60 after the update is set to the same as the position (u(0), v(0)) of the predetermined object, and each value (X(0), Y(0), γ(0), θ(0), ψ(0)) of the camera parameters is set to the respective normal values.

[0151] In step S1600, the operation information acquisition unit 132 acquires operation information. Note that the operation information may be received from the terminal device 20 by interrupt processing and stored in a predetermined storage unit of the server storage unit 12. In this case, the operation information acquisition unit 132 sequentially reads out the operation information from the predetermined storage unit.

[0152] In step S1602, the second movement processing unit 144 determines whether or not the operation information obtained in step S1600 includes an instruction to move a predetermined object. If the determination result is "YES", the process proceeds to step S1604, and otherwise the process proceeds to step S1616.

[0153] In step S1604, second movement processing unit 144 calculates the position of the predetermined object after it is moved, based on the movement instruction of the predetermined object in the operation information obtained in step S1600. Here, the position of the predetermined object after it is moved is (u(k+1), v(k+1)) in field coordinates. Note that the position of the predetermined object before it is moved is (u(k), v(k)) in field coordinates. In this case, the movement vector in the field coordinate system is (u(k+1)-u(k), v(k+1)-v(k)). Note that the movement instruction of the predetermined object may be an instruction representing such a movement vector (movement direction).

[0154] In step S1606, the first movement processing unit 1420 calculates the updated position parameters (X, Y) (X(k+1), Y(k+1)) of the virtual camera 60 based on the position (u(k+1), v(k+1)) of the predetermined object after the movement obtained in step S1604. Note that the values ​​of the position parameters (X, Y) before the update are (X(k), Y(k)). In this case, the change vector of each value of the position parameters (X, Y) is (X(k+1)-X(k), Y(k+1)-Y(k)). In this case, (X(k+1), Y(k+1)) may be calculated so that (X(k+1)-X(k), Y(k+1)-Y(k))=(u(k+1)-u(k), v(k+1)-v(k)).

[0155] In step S1608, the first distance change unit 14211 of the distance change unit 1421 calculates the value γ(k+1) of the updated distance parameter A2 associated with the updated position parameter (X, Y) obtained in step S1606 based on each value (X(k+1), Y(k+1)) (first distance parameter calculation process). A specific example of this first distance parameter calculation process will be described later with reference to Figs. 17 and 18.

[0156] In step S1610, the orientation change unit 1422 calculates the value θ(k+1) of the orientation parameter θ corresponding to (X(k+1), Y(k+1)) based on each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 (orientation parameter calculation process). A specific example of this orientation parameter calculation process will be described later with reference to FIG. 19.

[0157] In step S1612, the angle-of-attack change unit 1423 calculates the value ψ(k+1) of the angle-of-attack parameter ψ corresponding to the updated position parameters (X, Y) (X(k+1), Y(k+1)) obtained in step S1606 based on the updated values ​​(X(k+1), Y(k+1)) (angle-of-attack parameter calculation process). A specific example of the angle-of-attack parameter calculation process will be outlined later with reference to FIG. 20.

[0158] In step S1615, the transformation processing unit 145 executes a transformation process associated with the movement of the predetermined object. A specific example of the transformation process associated with the movement of the predetermined object will be described later with reference to FIG.

[0159] In step S1616, the second movement processing unit 144 sets the updated position (u(k+1), v(k+1)) of the predetermined object to the pre-update position (u(k), v(k)) of the predetermined object. In other words, the current value is set to the same as the previous value.

[0160] In step S1617, rotation processing unit 1425 determines whether or not the operation information obtained in step S1600 includes an instruction to rotate virtual camera 60. If the determination result is "YES", the process proceeds to step S1618; otherwise, the current processing cycle ends as is.

[0161] In step S1618, based on the operation information obtained in step S1600, rotation processing unit 1425 executes the rotation processing of virtual camera 60. The rotation processing is as described above.

[0162] In step S1619, the transformation processing unit 145 performs the bending transformation of the field surface 70 (and therefore the field object) described above with reference to Figures 7 and 7A, etc., based on the line of sight direction V of the virtual camera 60 after the rotation processing of step S1618.

[0163] In step S1620, the background processing unit 147 judges whether or not the current value β(k+1) of the deformation parameter A1 used in the current processing cycle has changed with respect to the previous value β(k). If the judgment result is "YES", the process proceeds to step S1622, and otherwise the process proceeds to step S1623. In a modified example, in step S1620, the background processing unit 147 may judge whether or not the amount of change of the current value β(k+1) of the deformation parameter A1 used in the current processing cycle with respect to the previous value β(k) is equal to or greater than a predetermined amount. This allows step S1622 to be skipped if the amount of change is equal to or less than the predetermined amount, thereby reducing the processing load for calculating the position of the background object in the z direction. In another modified example, in step S1620, the current value β(k+1) of the deformation parameter A1 may not be directly compared with the previous value β(k). For example, in another embodiment in which, unlike this embodiment, a specific position such as the above-mentioned specific position C where the degree of deformation changes during the revolution of the virtual camera 60 is not set, if the processing content up to step S1619 of the current processing cycle is revolution, the judgment result of this step S1620 may be a “negative judgment (NO)” without directly comparing the current value β(k+1) of the deformation parameter A1 with the previous value β(k).

[0164] In step S1623, the second distance change portion 14212 of the distance change portion 1421 executes a second distance parameter calculation process. A specific example of the second distance parameter calculation process will be described later with reference to FIG.

[0165] In step S1624, the update reflection unit 1424 positions the virtual camera 60 in the global coordinate system based on the updated values ​​(X(k+1), Y(k+1), γ(k+1), θ(k+1), ψ(k+1)) of the various parameters obtained in steps S1606 to S1612, or the updated values ​​(X(k+1), Y(k+1), γ(k+1), θ(k+1), ψ(k+1)) of the various parameters obtained in steps S1606, S1610 to S1612, and step S1623.

[0166] In step S1625, the drawing data generating unit 148 generates drawing data (drawing data of a field image) after various updates in the current processing cycle.

[0167] In step S1626, the drawing data transmission unit 134 transmits the drawing data generated in step S1625 to the terminal communication unit 21. Upon receiving the drawing data, the terminal communication unit 21 updates the display of the field image on the display unit 23 based on the drawing data.

[0168] 16, based on the operation information received from the terminal device 20, drawing data reflecting the operation information can be generated, and the generated drawing data can be transmitted to the terminal device 20. Therefore, it is possible to realize real-time updating of the field image as the game progresses.

[0169] Fig. 17 is a schematic flow chart showing an example of the first distance parameter calculation process (step S1608) Fig. 18 is an explanatory diagram of the interpolation process range, and is a perspective view showing a field surface 70.

[0170] In step S1700, the first distance change unit 14211 judges whether or not each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 corresponds to any specific position set in the distance parameter data 14A (see FIG. 14). If the judgment result is "YES", the process proceeds to step S1702, otherwise the process proceeds to step S1704.

[0171] In step S1702, the first distance change unit 14211 associates the value of the distance parameter A2 associated with the specific position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) with the value γ(k+1) of the updated distance parameter A2. For example, in the example shown in FIG. 14, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to the specific position A(X A , Y A ), then the value of the distance parameter A2 is set to γ(k+1)=γ1.

[0172] In step S1704, the first distance change unit 14211 judges whether or not each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary specific position set in the distance parameter data 14A (see FIG. 14). The interpolation processing range may be set in association with a texture coordinate system (=field coordinate system) for each specific position. In this embodiment, for simplicity, the interpolation processing range is assumed to be within a circular area of ​​radius r centered on the specific position as shown in FIG. 18. In this case, it may be judged whether or not each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is within a circular area of ​​radius r centered on the specific position. However, in other embodiments, the interpolation processing range may be defined as an area of ​​another form. For example, the interpolation processing range may be set so that, when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter is the normal value γ0, ψ0, even when the direction parameter θ is any value, the specific position related to the interpolation processing range is located in a region that falls within the angle of view of the virtual camera 60. This is similar to other interpolation processing ranges described later. In FIG. 18, three specific positions Ps(1) to Ps(3) are shown on the field surface 70, and the corresponding interpolation processing ranges Rs(1) to Rs(3) are shown. In FIG. 18, the interpolation processing range Rs(2) and the interpolation processing range Rs(3) overlap each other, and the overlapping region Rs' is shown by a hatched region. In addition, each specific position Ps(1), Ps(2), and Ps(3) is set in the distance parameter data 14A (see FIG. 14) like the specific positions A and B. In addition, The interpolation processing range (as well as the interpolation processing ranges relating to other parameters described later) may also be defined in advance by the distance parameter data 14A or the like.

[0173] In step S1706, the first distance change unit 14211 calculates the distance (interpolation distance) between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. For example, in the example shown in FIG. 18, when each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) is located within the interpolation processing range Rs(1), the first distance change unit 14211 calculates the distance d(1) between (X(k+1), Y(k+1)) and the specific position Ps(1) related to the interpolation processing range Rs(1). On the other hand, in the example shown in FIG. 18, when the values ​​(X(k+1), Y(k+1)) of the updated position parameters (X, Y) are located within the overlapping region Rs′, the distance d(2) between (X(k+1), Y(k+1)) and a specific position Ps(2) related to the interpolation processing range Rs(2) and the distance d(3) between (X(k+1), Y(k+1)) and a specific position Ps(3) related to the interpolation processing range Rs(3) are calculated.

[0174] In step S1708, the first distance change unit 14211 calculates an interpolated value of the distance parameter A2 based on the distance obtained in step S1706. For example, the interpolated value γ(1) of the distance parameter A2 related to the above-mentioned distance d(1) may be calculated by the following formula. γ(1)=(γ1-γ0) / r×(rd(1))+γ0 The value γ1 is a value associated with the specific position Ps(1), and is smaller than the normal value γ0 as described above. On the other hand, when the values ​​(X(k+1), Y(k+1)) of the updated position parameters (X, Y) are located within the overlapping region Rs′, the interpolated value γ(Rs′) may be calculated by the following formula based on the interpolated value γ(2) of the distance parameter A2 related to the above-mentioned distance d(2) and the interpolated value γ(3) of the distance parameter A2 related to the above-mentioned distance d(3). γ(Rs')=B0×γ(2)+(1-B0)×γ(3) Here, γ(2) and γ(3) are as follows: γ(2)=(γ2-γ0) / r×(rd(2))+γ0 γ(3)=(γ3-γ0) / r×(rd(3))+γ0 Value gamma 2、γ3 is a value associated with each of the specific positions Ps(2) and Ps(3), and is smaller than the normal value γ0 as described above. B0 is a coefficient that changes within the range of 0 to 1, and approaches 1 as the updated position parameter (X, Y) values ​​approach specific position Ps(2), and is 1 at the boundary position on the specific position Ps(2) side in the overlap region Rs'. Moreover, the coefficient B0 approaches 0 as the updated position parameter (X, Y) values ​​approach specific position Ps(3), and is 0 at the boundary position on the specific position Ps(3) side in the overlap region Rs'. For example, B0 may be as follows. B0=(rd(2)) / {(rd(2))+(rd(3))} In step S1710, the first distance change unit 14211 sets the interpolated value calculated in step S1708 to the value γ(k+1) of the updated distance parameter A2.

[0175] In step S1712, the first distance change unit 14211 sets the value γ(k+1) of the updated distance parameter A2 to the normal value γ0.

[0176] 17, the value of the distance parameter A2 can be gradually changed in conjunction with the change in the values ​​of the position parameters (X, Y) for each predetermined processing cycle, so that a gentler change in distance can be achieved compared to, for example, a sudden change from the normal value γ0 to a value γ1, etc., in a processing cycle in which a specific position is reached. As a result, the value of the distance parameter A2 can be changed while reducing the sense of discomfort that may be felt by the user.

[0177] FIG. 19 is a schematic flowchart showing an example of the orientation parameter calculation process (step S1610).

[0178] In step S1900, the orientation change unit 1422 determines whether or not each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 corresponds to any orientation change position set in the orientation parameter data (see FIG. 15). If the determination result is "YES", the process proceeds to step S1902, and otherwise the process proceeds to step S1904.

[0179] In step S1902, the orientation change unit 1422 sets the value θ(k+1) of the orientation parameter θ to the value θ(k+1) of the orientation parameter θ associated with the orientation change position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y). For example, in the example shown in Fig. 15, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to the orientation change position T1(XP1, YP1), the value of the orientation parameter θ is set to θ(k+1)=θ1.

[0180] In step S1904, the orientation change unit 1422 determines whether or not each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary orientation change position set in the orientation parameter data (see FIG. 15). The interpolation processing range may be set for each orientation change position. In this embodiment, the interpolation processing range is simply set to be within a circular area (see FIG. 18) with a radius r centered on the orientation change position, similar to the interpolation processing range related to the distance parameter A2. However, in other embodiments, the interpolation processing range may be defined by an area of ​​another form. Also, in other embodiments, the interpolation processing range may not be set for some or all of the orientation change positions. If the determination result is "YES", proceed to step S1906, and otherwise proceed to step S1912.

[0181] In step S1906, the orientation change unit 1422 calculates the distance between each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. The method of calculating the distance may be the same as that of step S1706 described above.

[0182] In step S1908, the orientation change unit 1422 calculates an interpolated value of the orientation parameter θ based on the distance obtained in step S1906. The method of calculating the interpolated value may be the same as that in step S1708 described above.

[0183] In step S1910, the orientation change unit 1422 sets the value θ(k+1) of the orientation parameter θ to the interpolated value calculated in step S1908.

[0184] In step S1912, the orientation change unit 1422 sets the value θ(k+1) of the orientation parameter θ to a normal value θ0. The normal value θ0 may be set so that the projection vector V' is perpendicular to the movement vector (u(k+1)-u(k), v(k+1)-v(k)) of the predetermined object.

[0185] In this way, according to the process shown in FIG. 19, the value of the orientation parameter θ can be gradually changed in conjunction with the changes in the values ​​of the position parameters (X, Y) at each predetermined processing cycle. This makes it possible to achieve a gentler change in orientation that can reduce the discomfort that may be felt by the user, compared to, for example, a sudden change from the normal value θ0 to a value θ1, etc., in a processing cycle that reaches the orientation change position.

[0186] Fig. 20 is a schematic flowchart showing an example of the attack angle parameter calculation process (step S1612). The process shown in Fig. 20 is substantially the same as the direction parameter calculation process shown in Fig. 19 described above except that the parameters are different, so a description thereof will be omitted.

[0187] Fig. 21 is a schematic flow chart showing an example of the deformation process (step S1615) accompanying the movement of a predetermined object. Fig. 22 is an explanatory diagram of the bending deformation process, and is a perspective view showing a local coordinate system associated with the field surface 70 onto which the field image shown in Fig. 2 is projected.

[0188] In step S2102, the first deformation parameter calculation unit 1451 refers to the deformation parameter data 13A (FIG. 13) relating to the specific position to calculate the value β(k+1) of the deformation parameter A1 after update (first deformation parameter calculation process). In the following, for the sake of distinction, the value β(k+1) of the deformation parameter A1 after update obtained in the first deformation parameter calculation process is referred to as the first value β'(k+1) of the deformation parameter A1 after update. A specific example of the first deformation parameter calculation process will be described later with reference to FIG. 23.

[0189] In step S2104, the second deformation parameter calculation unit 1452 calculates the value β(k+1) of the updated deformation parameter A1 with reference to the deformation parameter data 13B (FIG. 13) related to the specific object (second deformation parameter calculation process). Hereinafter, for the sake of distinction, the value β(k+1) of the updated deformation parameter A1 obtained in the second deformation parameter calculation process will be referred to as the second value β″(k+1) of the updated deformation parameter A1. A specific example of the second deformation parameter calculation process will be described later with reference to FIG. 24.

[0190] In step S2106, the deformation parameter adjustment unit 1453 sets a final updated value β(k+1) of the deformation parameter A1 based on the first value β'(k+1) of the updated deformation parameter A1 obtained in step S2102 and the second value β"(k+1) of the updated deformation parameter A1 obtained in step S2104 (deformation parameter adjustment process). A specific example of this deformation parameter adjustment process will be described later with reference to FIG. 25.

[0191] In step S2108, the origin setting processing unit 1454 executes an origin setting process to set an origin position (a position to which the origin O of the local coordinate system in the field object corresponds) (an example of a predetermined position). A specific example of the origin setting process will be outlined later with reference to FIG.

[0192] In step S2110, the transformation function application unit 1455 associates a local coordinate system (see FIG. 7 and FIG. 22) with the field coordinate system (texture coordinate system of the field image) of the field surface 70 based on the origin O associated with the origin position set in step S2108 and the value θ(k+1) of the orientation parameter θ. Specifically, the axis that passes through the origin set in step S2108 and has the value θ(k+1) of the orientation parameter θ with respect to the x direction is set as the Xc axis. Note that the example shown in FIG. 22 shows a state in which the local coordinate system is associated with (u(k+1), v(k+1)) on the field surface 70 as the origin position.

[0193] In step S2112, the transformation function application unit 1455 bends and deforms the field surface 70 based on the value β(k+1) of the updated transformation parameter A1 set in step S2106 and the local coordinate system associated with the field coordinate system of the field surface 70 in step S2110. In this case, for example, the transformation function application unit 1455 can bend and deform the field surface 70 based on the function F1 described above with reference to FIG.

[0194] FIG. 23 is a schematic flowchart showing the first deformation parameter calculation process (step S2102) by the first deformation parameter calculation unit 1451.

[0195] In step S2300, the first deformation parameter calculation unit 1451 judges whether or not each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 corresponds to any specific position set in the deformation parameter data 13A (see FIG. 13). If the judgment result is "YES", the process proceeds to step S2302, otherwise the process proceeds to step S2304.

[0196] In step S2302, the first deformation parameter calculation unit 1451 sets the value of the deformation parameter A1 associated with the specific position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) to the first value β'(k+1) of the updated deformation parameter A1. For example, in the deformation parameter data 13A shown in FIG. 13, each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to the specific position A(X A , Y A ), the value of the updated transformation parameter A1 is set to β(k+1)=β1.

[0197] In step S2304, the first deformation parameter calculation unit 1451 determines whether or not each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary specific position set in the deformation parameter data (see FIG. 13). The interpolation processing range may be set for each specific position. In this embodiment, the interpolation processing range is simply assumed to be within a circular area (see FIG. 18) with a radius r centered on the specific position, similar to the interpolation processing range associated with the specific position related to the distance parameter A2. However, in other embodiments, the interpolation processing range may be defined by an area of ​​another form, as described above.

[0198] In step S2306, the first deformation parameter calculation unit 1451 calculates the distance d(k+1) between each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) and the specific position related to the interpolation processing range to which each value belongs. The method of calculating the distance may be the same as that of step S1706 described above.

[0199] In step S2308, the first deformation parameter calculation unit 1451 calculates an interpolated value of the deformation parameter A1 based on the distance d(k+1) obtained in step S2306. The method of calculating the interpolated value may be the same as that in step S1708 described above.

[0200] However, in the case of a specific position where the degree of deformation changes during revolution of the virtual camera 60, such as the specific position C in the deformation parameter data 13A in FIG. 13, the value β(C0) of the deformation parameter A1 corresponding to the specific position C may be calculated based on the value θ(k+1) of the orientation parameter θ as follows. Here, the specific position C will be described. First, the value β(C0) of the deformation parameter A1 corresponding to the specific position C is calculated based on θ C1 −Δθ1≦θ(k+1)≦θ C1 When +Δθ1, θ is calculated by the following formula (1): C2 −Δθ1≦θ(k+1)≦θ C2 When it is +Δθ1, it may be calculated by the following formula (2), and in other ranges, the value β(C0) may be set to be equal to the normal value β0. β(C0)=-(β3-β0) / Δθ1×|(θ(k+1)-θ C1 )|+β3 formula (1) β(C0)=-(β4-β0) / Δθ1×|(θ(k+1)-θ C2 )|+β4 formula (2) For example, in equation (1), (θ(k+1)-θ C1 The absolute value of (β3-β0) / Δθ1 is multiplied by the absolute value of (β3-β0) / Δθ1, and the resultant value is subtracted from β3 to obtain β(C0). Here, Δθ1 is a value that determines the interpolation angle range, and β3 and β4 are values ​​of the transformation parameter A1 associated with a specific orientation of the specific position C, which are larger than the normal value β0 as described above. Note that although the same Δθ1 is used in equations (1) and (2), different Δθ1s may also be used. Then, the distance between the specific position C and (X(k+1), Y(k+1)) is the distance d (d C ), then the distance d(d C ) Interpolated value β(d C ) may be calculated using the above-mentioned β(C0) according to the following formula: β(d C )=(β(C0)-β0) / r×(rd(d C ))+β0 In addition, for example, when the interpolation processing ranges for the specific positions A and B have an overlapping area Rs', the same applies as in the case of the distance parameter A2. Specifically, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is located within the overlapping area Rs', the distance between the specific position A and (X(k+1), Y(k+1)) is set as the distance d(d A ), and the distance between the specific position B and (X(k+1), Y(k+1)) is distance d (d B ), the interpolated value β(Rs') is the distance d(d A ) Interpolated value β(d A ) and distance d(d B ) Interpolated value β(d B ) may be calculated using the following formula: β(Rs') = B1 × β(d A ) + (1 - B1) × β(d B) Here, β(d A ), β(d B ) is as follows: β(d A )=(β1-β0) / r×(rd(d A ))+β0 β(d B )=(β2-β0) / r×(rd(d B ))+β0 B1 is a coefficient that changes within the range from 0 to 1, and approaches 1 as each value of the updated position parameter (X, Y) approaches specific position A, and is 1 at the boundary position on the specific position A side in the overlap region Rs'. Moreover, coefficient B1 approaches 0 as each value of the updated position parameter (X, Y) approaches specific position B, and is 0 at the boundary position on the specific position B side in the overlap region Rs'. For example, B1 may be as follows. B1=(rd(d A )) / {(rd(d A ))+(rd(d B ))} In step S2310, the first deformation parameter calculation unit 1451 sets the interpolated value calculated in step S2308 to the first value β'(k+1) of the updated deformation parameter A1.

[0201] In step S2312, the first deformation parameter calculation unit 1451 sets the first value β'(k+1) of the updated deformation parameter A1 to the normal value β0.

[0202] FIG. 24 is a schematic flowchart showing the second deformation parameter calculation process (step S2104) by the second deformation parameter calculation unit 1452.

[0203] In step S2400, the second deformation parameter calculation unit 1452 determines whether or not a specific object is located in an area in the field object that is located within the angle of view of the virtual camera 60 positioned in the absolute coordinate system based on the updated values ​​(X(k+1), Y(k+1), γ(k+1), θ(k+1), ψ(k+1)) of the camera parameters obtained in steps S1608 to S1612 (hereinafter simply referred to as the "area within the angle of view of the virtual camera 60 in the field object" or simply the "area within the angle of view"). Note that the area within the angle of view of the virtual camera 60 in the field object is uniquely determined based on the values ​​of the camera parameters.

[0204] The horizontal distance of the area within the angle of view of the virtual camera 60 in the field object in the normal state (for example, the distance in the field coordinate system) is determined according to the value of the distance parameter A2. Therefore, for example, if the horizontal distance of the area within the angle of view of the virtual camera 60 in the field object is L1, the distance d between the projection vector V' of the virtual camera 60 and the specific object in the direction perpendicular to the projection vector V' (hereinafter also simply referred to as the "horizontal direction") is L Based on (k+1), L1 / 2≦d L (k+1). In this case, L1 / 2≦d L If the number is (k+1), it may be determined that the specific object is located within the area within the angle of view of the virtual camera 60 in the field object.

[0205] In this embodiment, when the values ​​(X(k+1), Y(k+1)) of the updated position parameters (X, Y) are located within the interpolation processing range associated with the specific object, it is determined that the specific object is located within the area within the angle of view of the virtual camera 60 in the field object. In this case, the interpolation processing range associated with one specific object may be set, as described above, such that when the values ​​of the position parameters (X, Y) of the virtual camera 60 are located within the interpolation processing range, the one specific object is located within the area that falls within the angle of view of the virtual camera 60.

[0206] In this step S2400, if the determination result is "YES", the process proceeds to step S2402, otherwise the process proceeds to step S2410.

[0207] In step S2402, the second deformation parameter calculation unit 1452 determines whether or not the specific object is located in the center of the area of ​​the field object within the angle of view of the virtual camera 60. For example, the second deformation parameter calculation unit 1452 determines whether or not the specific object is located in the center of the area of ​​the field object within the angle of view of the virtual camera 60. L If (k+1) is 0, it may be determined that the specific object is located in the center of the area within the angle of view of the virtual camera 60 in the field object. L If (k+1) is equal to or less than a predetermined distance (a distance significantly smaller than L1 / 2, for example, L1 / 4), it may be determined that the specific object is located in the center of the area within the angle of view of the virtual camera 60 in the field object. The projection vector V' of the virtual camera 60 can be derived based on the updated values ​​(X(k+1), Y(k+1), θ(k+1)) of the position parameters and orientation parameters obtained in steps S1608 and S1610. If the determination result is "YES", proceed to step S2404, and otherwise proceed to step S2406.

[0208] In step S2404, the second deformation parameter calculation unit 1452 sets the value of the deformation parameter A1 associated with a specific object located at the center of the area within the angle of view of the virtual camera 60 in the field object to the second value β''(k+1) of the deformation parameter A1 after the update. For example, in the case of the deformation parameter data 13B shown in FIG. 13, when a specific object G1 is located at the center of the area within the angle of view of the virtual camera 60 in the field object, the second deformation parameter calculation unit 1452 sets the value β''(k+1) of the deformation parameter A1 associated with the specific object G1 to the second value β''(k+1) of the deformation parameter A1 after the update. G1 can be associated.

[0209] In step S2406, the second deformation parameter calculation unit 1452 calculates the lateral distance d between the projection vector V′ of the virtual camera 60 and the specific object. L For example, the interpolation value of the transformation parameter A1 is calculated based on the horizontal distance d L (k+1), the interpolated value β(d L ) may be calculated using the following formula: β(d L )=(β G* -β0) / L1 / 2×(L1 / 2-d(d L ))+β0 Value β G* is the value of the deformation parameter A1 associated with a specific object located within the field angle of the virtual camera 60 in the field object, and in the case of the specific object G1, the value β G1 L1 / 2 is half the horizontal distance L1 of the area within the angle of view of the virtual camera 60 in the field object.

[0210] In step S2408, the second deformation parameter calculation unit 1452 sets the interpolated value of the deformation parameter A1 obtained in step S2406 to the second value β″(k+1) of the updated deformation parameter A1.

[0211] In step S2410, the second deformation parameter calculation unit 1452 sets the second value β″(k+1) of the updated deformation parameter A1 to the normal value β0.

[0212] FIG. 25 is a schematic flowchart showing the deformation parameter adjustment process (step S2106) by the deformation parameter adjustment unit 1453.

[0213] In step S2500, the deformation parameter adjustment unit 1453 determines whether or not the first value β'(k+1) obtained in step S2102 and the second value β"(k+1) obtained in step S2104 are both the normal value β0. If the determination result is "YES", proceed to step S2502; otherwise, proceed to step S2506.

[0214] In step S2502, the transformation parameter adjustment unit 1453 sets the parameter state to the “normal state.” The normal state corresponds to a state in which the value of the transformation parameter A1 is the normal value β0.

[0215] In step S2504, the deformation parameter adjustment unit 1453 associates the normal value β0 with the value β(k+1) of the updated deformation parameter A1. In this case, the adjustment by the deformation parameter adjustment unit 1453 is not implemented.

[0216] In step S2506, the deformation parameter adjustment unit 1453 determines whether or not the second value β″(k+1) obtained in step S2104 is the normal value β0. If the determination result is “YES”, the process proceeds to step S2508; otherwise, the process proceeds to step S2512.

[0217] In step S2508, the deformation parameter adjustment unit 1453 sets the parameter state to the “first state.” The first state corresponds to a state in which the value of the deformation parameter A1 is a first value β′(k+1).

[0218] In step S2510, the deformation parameter adjustment unit 1453 associates the first value β'(k+1) obtained in step S2102 with the value β(k+1) of the updated deformation parameter A1.

[0219] In step S2512, the deformation parameter adjustment unit 1453 judges whether or not the first value β'(k+1) obtained in step S2102 is the normal value β0. If the judgment result is "YES", the process proceeds to step S2514, and otherwise (i.e., if both are not normal values), the process proceeds to step S2518.

[0220] In step S2514, the deformation parameter adjustment unit 1453 sets the parameter state to the "second state." The second state corresponds to a state in which the value of the deformation parameter A1 is the second value β"(k+1). Hereinafter, in this second state, the specific object related to the second value β"(k+1) is also referred to as the "specific object of the gaze target."

[0221] In step S2516, the deformation parameter adjustment unit 1453 associates the second value β″(k+1) obtained in step S2104 with the value β(k+1) of the updated deformation parameter A1.

[0222] In step S2518, the deformation parameter adjustment unit 1453 calculates the lateral distance d between the projection vector V′ of the virtual camera 60 and the specific object. L (k+1) and the distance d(k+1) for interpolation obtained in step S2306. L It is determined whether (k+1)>d(k+1). If the first value β'(k+1) obtained in step S2102 is the value of the deformation parameter A1 associated with the specific position (see step S2302), the interpolation distance d(k+1)=0. Similarly, if the second value β''(k+1) obtained in step S2104 is the value of the deformation parameter A1 associated with the specific object (see step S2404), the horizontal distance d L It is set as (k+1) = 0. If the determination result is "YES", the process proceeds to step S2508, and otherwise the process proceeds to step S2514.

[0223] In this way, according to the process shown in FIG. 25, when the first value β'(k+1) obtained in step S2102 and the second value β''(k+1) obtained in step S2104 are not the normal value β0 (for example, when the specific position and the position of the specific object belong to the field of view area at the same time), the above-mentioned distance d(k+1) and the horizontal distance d L One of the first value β'(k+1) and the second value β"(k+1) is selected such that the smaller of these values ​​is given priority. Therefore, when a specific object is located in the center of the area within the angle of view of virtual camera 60 in the field object, the value of the deformation parameter A1 associated with the specific object is used with priority.

[0224] However, in a modified example, when the first value β'(k+1) obtained in step S2102 and the second value β"(k+1) obtained in step S2104 are not the normal value β0 (for example, when the specific position and the position of the specific object belong to the same area within the angle of view), an average value or a weighted composite value may be used. In the case of weighting, for example, weighting coefficients w1 and w2 are used to calculate the updated composite value β com (k+1) may be calculated as follows: β com (k+1)={w1×β'(k+1)+w2×β”(k+1)} / (w1+w2) In this case, for example, the weighting coefficients w1, w2 may be as follows: w1=1 / d(k+1), but when d(k+1)=0, β com (k+1)=β'(k+1) w2=1 / d L (k+1), where d L When (k+1)=0, β com (k+1)=β”(k+1) Fig. 26 is a schematic flowchart showing an example of the origin setting process (step S2108) by the origin setting processing unit 1454. Fig. 26A is an explanatory diagram of the internal division point Pi. In step S2600, origin setting processing unit 1454 determines whether or not a specific object is located in the area within the angle of view of virtual camera 60 in the field object. The determination method may be the same as that in step S2400 in FIG. 24 described above. If the determination result is "YES", the process proceeds to step S2602, and otherwise the process proceeds to step S2610. In the following, the specific object refers to the specific object determined in step S2600 to be located in the area within the angle of view of virtual camera 60 in the field object.

[0225] In step S2602, the origin setting processing unit 1454 determines whether or not a specific object is located in the center of the area within the angle of view of the virtual camera 60 in the field object. The determination method may be the same as that in step S2402 in Fig. 24 described above. If the determination result is "YES", the process proceeds to step S2604, and otherwise the process proceeds to step S2606.

[0226] In step S2604, the origin setting processing unit 1454 sets the position of the specific object at the origin position. That is, the origin setting processing unit 1454 associates the origin O of the local coordinate system with the position of the specific object on the field surface 70 (the field surface 70 onto which the field image is projected). Therefore, in this case, the origin O of the function F1 used for bending deformation is associated with the position of the specific object. However, the origin O of the function F1 used for bending deformation does not need to strictly coincide with the position of the specific object, and may be in the vicinity thereof.

[0227] In step S2606, the origin setting processing unit 1454 calculates the lateral distance d between the projection vector V′ of the virtual camera 60 and the specific object. L Based on the updated position parameters (X, Y) (X(k+1), Y(k+1)), the position of the internal division point Pi between the position of the specific object and each value of the updated position parameters (X, Y) (X(k+1), Y(k+1)) is calculated. Pi (k+1), Y Pi The internal division point Pi is a position obtained by internally dividing the distance between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and the position of the specific object at m:(1-m), as shown in FIG. 26A. In this case, m is the horizontal distance d L The larger (k+1) is, the closer it is to 0, and the horizontal distance d L When (k+1)=L1 / 2, m=0. When m=0, the internal division point Pi coincides with each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y). L1 is as described above, and is the horizontal distance d that can be taken when a specific object is located in the area within the angle of view of the virtual camera 60 in the field object. L(k+1). m is the horizontal distance d L The smaller (k+1) is, the closer it is to 1, and the horizontal distance d L When (k+1)=0, m=1. When m=1, the internal division point Pi coincides with the position of the specific object.

[0228] In step S2608, the origin setting processing unit 1454 sets the position of the internal division point Pi obtained in step S2606 to the origin position. That is, the origin setting processing unit 1454 sets the position (X Pi (k+1), Y Pi The origin O of the local coordinate system is associated with the position (X(k+1)) of the internal division point Pi. Pi (k+1), Y Pi However, the origin O of the function F1 used for bending deformation corresponds to the position (X Pi (k+1), Y Pi It does not have to exactly match (k+1) but may be in the vicinity.

[0229] In step S2610, the origin setting processing unit 1454 sets the position (u(k+1), v(k+1)) of the predetermined object after the movement to the origin position. That is, the origin setting processing unit 1454 associates the origin O of the local coordinate system with the position (u(k+1), v(k+1)) of the predetermined object after the movement on the field surface 70 (the field surface 70 on which the field image is projected). Therefore, in this case, the origin O of the function F1 used for bending deformation is associated with the position (u(k+1), v(k+1)) of the predetermined object after the movement. However, the origin O of the function F1 used for bending deformation does not need to strictly match the position (u(k+1), v(k+1)) of the predetermined object after the movement, and may be in the vicinity thereof.

[0230] 26, when it is determined that a specific object is located in the area within the angle of view of the virtual camera 60 in the field object, the origin position is set based on the position of the specific object. This makes it easier to make the entire specific object visible, and the specific object can be effectively emphasized. For this reason, it is preferable that the specific object is an object that the user is desired to focus on.

[0231] Also, according to the process shown in FIG. 26, when it is determined that a specific object is not located in the area within the angle of view of the virtual camera 60 in the field object, the origin position is set based on the position (u(k+1), v(k+1)) of the specific object. This makes it easier to make the entire specific object visible, and the specific object can be effectively emphasized. Also, when a transition is made from a state in which it is determined that a specific object is not located in the area within the angle of view of the virtual camera 60 in the field object to a state in which it is determined that a specific object is located in the area within the angle of view of the virtual camera 60 in the field object, the origin position changes from the position of the specific object toward the position of the specific object, and a change (effect) in the appearance of the field image due to this change can be produced. This makes it possible to effectively emphasize the specific object.

[0232] 26, the origin position is not suddenly changed from the position of the predetermined object to the position of the specific object in a processing cycle in which a transition is made from a state in which it is determined that a specific object is not located in the area within the angle of view of the virtual camera 60 in the field object to a state in which it is determined that a specific object is located in the area within the angle of view of the virtual camera 60 in the field object. That is, when it is determined that a specific object is located in the area within the angle of view of the virtual camera 60 in the field object, the origin position gradually changes from the position of the predetermined object to the position of the specific object as the interpolation distance d(k+1) decreases (see step S2608). This can reduce the sense of discomfort that may be caused to the user due to the change, compared to a case in which the change in the origin position as described above is realized in a relatively small number of processing cycles (for example, one processing cycle).

[0233] FIG. 27 is a schematic flowchart showing an example of the second distance parameter calculation process (step S1623).

[0234] In step S2700, the second distance change unit 14212 determines whether the parameter state is the second state. As described above, the second state corresponds to a state in which the value β(k+1) of the updated deformation parameter A1 is the second value β″(k+1). If the determination result is “YES”, proceed to step S2702; otherwise, end the process. Note that if end is to be performed, the value of the distance parameter A2 is determined to be the value calculated by the first distance change unit 14211 described above (step S1608).

[0235] In step S2702, the second distance change unit 14212 determines whether or not the second value β"(k+1) is an interpolated value calculated using the value of the deformation parameter A1 associated with the specific object being gazed upon (the interpolated value associated in step S2408). If the determination result is "YES", proceed to step S2704, and otherwise (i.e., if the second value β"(k+1) is the value of the deformation parameter A1 associated with the specific object being gazed upon), proceed to step S2703.

[0236] In step S2703, the second distance change unit 14212 sets the value γ(k+1) of the distance parameter A2 after updating to the value γ(k+1) of the distance parameter A2 associated with the specific object to be gazed upon (the normal value) as γ G* In this case, the value γ(k+1) of the distance parameter A2 after updating is changed to the value (normal value) γ G* In this case, the update reflecting unit 1424 positions the virtual camera 60 in the global coordinate system based on the updated values ​​(X(k+1), Y(k+1), γ(k+1), θ(k+1), ψ(k+1)) of the various parameters obtained in step S1606, steps S1610 to S1612, and step S1623 (see step S1624).

[0237] In step S2704, the second distance change unit 14212 calculates the ratio between the second value β″(k+1) and the value of the deformation parameter A1 associated with the specific object being gazed upon. In other words, the value of the deformation parameter A1 associated with the specific object being gazed upon is calculated based on the ratio of β″(k+1) to the value of the deformation parameter A1 associated with the specific object being gazed upon. G* Then, the ratio = β”(k+1) / β G* In the deformation parameter data 13B of FIG. 13, when the specific object to be gazed upon is the specific object G1, the ratio=β″(k+1) / β G1 is calculated.

[0238] Here, ratio = β”(k+1) / βG* represents the proximity of the position of a specific object being gazed at to the center of the area within the field of view. G* When k = 1, it corresponds to a state where the specific object being gazed upon is located in the center of the area within the field of view, and β”(k + 1) / β G* As the angle of view decreases, the specific object being gazed upon approaches the edge (horizontal edge) of the area within the angle of view.

[0239] In step S2706, the second distance change unit 14212 calculates the ratio obtained in step S2704=β″(k+1) / β G* Based on this, the interpolated value γ' G* Specifically, the value (normal value) of the distance parameter A2 associated with the specific object to be gazed upon is calculated as γ G* Then, the interpolated value γ' G* may be as follows: γ' G* =β”(k+1) / β G* ×γ G* In this case, the interpolated value γ' G* is β”(k+1) / β G* As the value γ G* In the distance parameter data 14B of FIG. 14, when the specific object being gazed upon is the specific object G1, the value γ G* =γ G1 It is.

[0240] In step S2708, the second distance change unit 14212 updates the value γ(k+1) of the distance parameter A2 after updating by subtracting the interpolated value γ' obtained in step S2706 from the G*In this case, the value calculated by the second distance change unit 14212 is associated with the value of the distance parameter A2 instead of the value calculated by the first distance change unit 14211 (step S1608). In this case, the update reflection unit 1424 positions the virtual camera 60 in the global coordinate system based on the updated values ​​(X(k+1), Y(k+1), γ(k+1), θ(k+1), ψ(k+1)) of the various parameters obtained in steps S1606, S1610 to S1612, and S1623 (see step S1624).

[0241] In the process shown in FIG. 27, the ratio=β″(k+1) / β G* Depending on the normal value γ Gr to the interpolated value γ' G* However, the present invention is not limited to this. For example, the above-mentioned horizontal distance d L Depending on the ratio of (k+1) to L1 / 2, the normal value γ G* to the interpolated value γ' G* Specifically, the following is performed: γ' G* =d L (k+1) / L1 / 2×γ G* 27, if it is determined in step S2700 that the parameter state is the second state, the process proceeds to step S2702, but is not limited thereto. For example, in step S2700, it may be determined whether or not a specific object of the gaze target is located in the area within the angle of view, and if it is determined that the specific object of the gaze target is located in the area within the angle of view, the process proceeds to step S2702.

[0242] In addition, in the process shown in FIG. 27, for example, when a specific position and a specific object position simultaneously belong to the area within the angle of view, the value of the distance parameter A2 may change relatively greatly when the parameter state transitions from the first state to the second state. Such a relatively large change may be appropriately corrected (filtered so as to reduce the change). This can reduce the sense of discomfort that may be caused to the user due to such a relatively large change (and the accompanying abrupt change in the field image). For example, when the parameter state transitions from the first state to the second state, if the difference between the value γ(k+1) of the distance parameter A2 after the update and the value γ(k) of the distance parameter A2 before the update exceeds a predetermined threshold, the value γ(k+1) of the distance parameter A2 after the update may be further corrected in a direction approaching the value γ(k) of the distance parameter A2 before the update. Furthermore, if the pre-update value γ(k) of the distance parameter A2 is greater than the pre-update value γ(k), the pre-update value γ(k) of the distance parameter A2 may be maintained so that the post-update value γ(k+1) of the distance parameter A2 does not become greater than the pre-update value γ(k) of the distance parameter A2. In this case, it is possible to reduce discomfort or the like that may be felt by the user due to an unstable behavior in which the value of the distance parameter becomes small, then large, and then small again (and the accompanying unstable change in the field image).

[0243] Next, with reference to Figs. 28 to 29C, an example of a scene in which the operational example described with reference to Figs. 16 to 27 is applied will be described.

[0244] 28 to 29C are explanatory diagrams of application scenes of the operation example described with reference to FIG. 16 to FIG. 28, in which FIG. 28 is a plan view of the field object 77, FIG. 29A shows an example of a field image G24A related to the position E1, and FIG. 29B shows an example of a field image G24B related to the position E2. FIG. 29C shows an example of a field image G24C related to the position E3. In FIG. 28, the field object 77 is shown in a representation in which the field image is projected onto the field surface 70 in the normal state. In FIG. 28, positions E1 to E3 are illustrated, and the position E3 corresponds to the position where the horizontal passage 14 and the vertical passage 15 intersect, and a plurality of roadside tree objects 16, which are second objects, are arranged on both sides of the vertical passage 15. The plurality of roadside tree objects 16 are erected in the field object 77 and extend in the z direction. In addition, a floating object object 19 such as a balloon is arranged in the vertical passage 15. Here, it is assumed that the floating object object 19 is a specific object G2. 28, the floating object 19 is disposed on the side farther from the position E3 than the roadside tree object 16 in the v direction. The position E2 corresponds to a position in front of the position E3 from the position E1, and the horizontal distance d between the projection vector V' of the virtual camera 60 and the specific object is L is equal to or less than L1 / 2 as described above but significantly greater than 0. As described above, L1 is the horizontal distance of the area within the angle of view of the virtual camera 60 in the field object 77. Note that, in FIG. 28, as an example, the multiple street tree objects 16 are arranged linearly along the v direction, but they may be arranged in a staggered manner with a slight offset in the u direction, or may be arranged on only one side of the vertical passage 15, or may be arranged in two or more rows.

[0245] Here, a description will be given of the drawing function when the first object 3 moves from position E1 to position E3 on the field object 77. This type of movement may be realized by a user operation, or may be realized as an output of a demonstration image. Positions E1 and E2 are not specific positions, and there is no specific position between position E1 and position E3, and positions E1 and E2 are not located within the interpolation processing range related to other specific positions or specific objects. In addition, for the floating object 19 (specific object G2), as shown in Figures 13 and 14, a value β of a deformation parameter A1 is set. G2 , the value of the distance parameter A2 γ G2 are associated with each other.

[0246] When the first object 3 is located at position E1, the values ​​of the position parameters (X, Y) of the virtual camera 60 correspond to the position of the first object 3, and the value of the orientation parameter θ of the virtual camera 60 is set to the normal value θ0, that is, the projection vector V' (see FIG. 11) is set perpendicular to the moving direction (in this case, the u direction) of the first object 3. At this time, the first object 3 may be located in the area within the angle of view of the virtual camera 60 in the field object 77, and the field image G24A shown in FIG. 29A may be drawn. In this case, the horizon HL has a height according to the normal value β0 of the transformation parameter A1, and the first object 3 and the like have a display size according to the normal value β0 of the distance parameter A2.

[0247] When the first object 3 is moved from position E1 to position E3 along the side passage 14 (u direction) by the movement amount Δu for each processing cycle, each value of the position parameters (X, Y) of the virtual camera 60 is moved along the u direction by the movement amount Δu for each processing cycle. During this time, the value of the orientation parameter θ of the virtual camera 60 is fixed.

[0248] The values ​​of the position parameters (X, Y) of the virtual camera 60 when the first object 3 has reached position E2 correspond to the position of the first object 3 when it has reached position E2, and the value of the orientation parameter θ is the same as when the first object 3 is located at position E1. At this time, a floating object object 19 may be located at the end (right end) of the area within the angle of view of the virtual camera 60 in the field object 77, and a field image G24B shown in FIG. 29B may be drawn. In this case, the horizon HL has a height according to the second value β″ of the deformation parameter A1 (the value β of the deformation parameter A1 after update obtained in the second deformation parameter calculation process (step S2104)), and the first object 3 etc. have a height according to the value γ' of the distance parameter A2 calculated by the second distance change unit 14212. G* (Interpolated value γ' G* ) and the display size is based on the interpolated value γ' G* is smaller than the normal value γ0, so that, as shown in FIG. 29B, the display size of the first object 3 is larger than that of the field image G24A shown in FIG. 29A.

[0249] The values ​​of the position parameters (X, Y) of the virtual camera 60 when the first object 3 has reached position E3 correspond to the position of the first object 3 when it has reached position E3, and the value of the orientation parameter θ is the same as when the first object 3 is located at position E1. At this time, a floating object object 19 is located in the center of the area within the angle of view of the virtual camera 60 in the field object 77, and a field image G24C shown in FIG. 29C may be drawn. In this case, the horizon HL is aligned along the line θ of the horizon HL at a position corresponding to the value β of the transformation parameter A1. G2 (the value of the deformation parameter A1 associated with the floating object 19) and the value γ of the distance parameter A2. G2 The display size depends on (the value of the distance parameter A2 associated with the floating object 19).

[0250] Here, as described above, the value β of the transformation parameter A1 G2is larger than the normal value β0. Therefore, the degree of bending deformation of the field object 77 is larger in the field image G24C than in the field image G24A. Therefore, as shown in FIGS. 29A and 29C, the position of the horizon HL in the image changes significantly. In addition, the value γ of the distance parameter A2 G2 is larger than the normal value γ0. Therefore, in the field image G24C, the display size of the floating object 19 becomes large.

[0251] Here, Fig. 29D shows an example of a field image G24D related to a position E3 according to another operation example. In the other operation example shown in Fig. 29D, unlike the above-mentioned operation example, the value of the distance parameter A2 associated with the position E3 is the normal value γ0, which is the same as the value of the distance parameter A2 associated with the position E1. In this case, although the height H1 of the horizon HL changes between the field image G24A and the field image G24D, the display size of the first object 3 and the like remains the same. Therefore, the display size of the floating object object 19 located behind the roadside tree object 16 is relatively small and is not noticeable.

[0252] 16 to 28, as described above, the display size of the floating object 19 is relatively large in the field image G24C, so that the floating object 19 can be effectively made to stand out. This can attract the user's interest in the floating object 19.

[0253] In addition, other operation examples, such as drawing a field image G24D as shown in FIG. 29D, can realize a more diverse expression of the virtual space viewed from the virtual camera 60 compared to an operation example (not shown) of a comparative example in which the value of the deformation parameter A1 is always constant, but if the amount of change in the degree of deformation (the amount of change in the height H1 of the horizon HL) becomes relatively large, it may give the user a sense of discomfort.

[0254] In contrast, according to the operation example described with reference to FIG. 16 to FIG. 28, the height H1 of the horizon HL changes between the field image G24A and the field image G24B, and the display size of the first object 3 and the like also changes. This reduces the sense of incongruity that may be felt by the user due to the change in the degree of deformation (the change in the height H1 of the horizon HL). That is, the change in the display size of the first object 3 and the like is likely to attract the user's attention and is impressive, thereby erasing the sense of incongruity that may be caused by the change in the height H1 of the horizon HL. In this way, by making the values ​​of the deformation parameter A1 to be associated between the positions E1 and E3 different and also making the values ​​of the distance parameter A2 to be associated different, it is possible to reduce the sense of incongruity that may be caused by the change in the degree of deformation (the change in the height H1 of the horizon HL) while realizing various expressions in the virtual space viewed from the virtual camera 60. In relation to such an effect, it is also possible to further eliminate the sense of incongruity by providing a predetermined relationship between the change in the value of the distance parameter A2 and the change in the value of the deformation parameter A1. For example, if the change in the value of the distance parameter A2 is steep, the sense of discomfort can be reduced even if the change in the value of the transformation parameter A1 is steep.

[0255] Moreover, by varying the value of the associated transformation parameter A1 between the position E1 and the position E3 and also varying the value of the associated distance parameter A2, the transition manner of the field image becomes novel, and the interest of the game can be increased. In addition, the presence of the vertical passage 15 can be emphasized, and the second object (for example, roadside tree object 16) arranged in the vertical passage 15 and its periphery can be made to stand out together with the floating object 19, which is a specific object. This effect is particularly noticeable when the terminal device 20 outputs the field image on a relatively small screen, such as the screen of a smartphone. In addition, since the restriction that other second objects cannot be arranged in order to highlight a specific object is relaxed, the degree of freedom of arrangement of the second object on the field object increases. For the same reason, the degree of freedom of the area in which the first object can move on the field object can also increase.

[0256] 28, when a second object such as an overlapping roadside tree object 16 is arranged along the line of sight V, the sense of depth can be enhanced and an impressive expression can be realized by increasing the degree of bending of the bending deformation of the field object 77. This can motivate the user to want to move the first object 3 along the vertical passage 15, for example.

[0257] Here, Fig. 29E shows an example of a field image G24E related to a position E3 according to yet another operation example. In this operation example, unlike the above-mentioned operation examples (operation examples described with reference to Figs. 16 to 28), the origin position (the position to which the origin O of the local coordinate system in the field object 77 corresponds) is set to the position of the first object 3. In this case, the first object 3 is positioned at the highest position of the field object 77 and is therefore entirely visible, whereas the floating object 19 is partially hidden (its lower part) on the far side of the horizon HL. That is, the floating object 19 is not entirely visible and is relatively hard to notice.

[0258] In contrast, according to the operation example described with reference to Figs. 16 to 28, the origin position is set to the position of the floating object 19, which is a specific object, instead of the position of the first object 3. In this case, the first object 3 is positioned at the highest position of the field object 77, so that the entirety of the first object 3 becomes visible. This makes it possible to effectively highlight the floating object 19, which is a specific object, and to make the entirety of the floating object 19 (for example, in a floating state) visible. Furthermore, when the range of the center part of the area within the angle of view of the virtual camera 60 in the field object 77 is relatively widened, the state in which the origin position is set to the position of the floating object 19 tends to continue for a relatively long time, so that the floating object 19, which is desired to be noticed, can be effectively highlighted.

[0259] Furthermore, even if, for example, an overlap (overlap) may occur between the specific object and the first object and / or second object in the line of sight direction V of the virtual camera 60 when the specific object is located in the center of the area within the angle of view, the origin position is set to the position of the floating object 19 as described above, so that the objects that may overlap tend to be separated vertically from each other. That is, the overlapping first object and / or second object slide downward within the angle of view relative to the specific object, so that it is possible to reduce the number of objects that overlap with the specific object. This makes it possible to effectively make the floating object 19 that is desired to draw attention stand out.

[0260] By emphasizing the specific object, if the specific object is an object related to the user's operation (for example, a moving target), input to the specific object becomes easier, improving operability. Also, since the influence of the presence of second objects before and after the specific object can be reduced to some extent, the degree of freedom in arranging the second object increases, and a variety of field images can be realized.

[0261] 16 to 28, the deformation mode of the field object 77 can be made different by changing the value of the deformation parameter A1 and the setting mode of the origin position between a case where it is determined that a specific object is not located in the area within the angle of view of the virtual camera 60 in the field object 77 and a case where it is determined that a specific object is located in the area within the angle of view of the virtual camera 60 in the field object 77. This makes it possible to realize an expression that can effectively emphasize a specific object, such as making the specific object stand out, while diversifying the field image.

[0262] 16 to 28, the value of the deformation parameter A1 is changed between a case where the floating object 19 is located at an end of the area within the angle of view of the virtual camera 60 in the field object 77 (an example of a second range) and a case where the floating object 19 is located at a center part (an example of a first range) of the area within the angle of view of the virtual camera 60 in the field object 77. As a result, even while the floating object 19 is located in the area within the angle of view of the virtual camera 60 in the field object 77, by changing the degree of deformation of the field object 77, it is possible to produce a display effect such as changing the appearance of the floating object object 19.

[0263] 16 to 28, when the floating object object 19 is located at the center (one example of the first range) of the area within the angle of view of the virtual camera 60 in the field object 77 (for the center, see the range 771 in FIG. 11A), the value of the deformation parameter A1 is made larger than when the floating object object 19 is located at the end (one example of the second range) of the area within the angle of view of the virtual camera 60 in the field object 77 (for the end, see the ranges 772 and 773 in FIG. 11A). As a result, when the floating object 19 reaches a position (center) on the field image that is relatively easy to view, the degree of bending deformation of the field object 77 is increased, making the floating object object 19 stand out more effectively.

[0264] According to the operation example described with reference to FIGS. 16 to 28, as the position of the floating object object 19 in the field object 77 changes from the edge to the center of the area within the angle of view of the virtual camera 60, the value of the deformation parameter A1 changes from an interpolated value (an example of a second set value) that is greater than the normal value β0 (an example of a predetermined set value) to a value β G2 (an example of a first set value) via one or more interpolated values ​​(an example of a second set value). As a result, in a processing cycle in which the floating object object 19 reaches the center of the area within the angle of view of the virtual camera 60 in the field object 77, the deformation parameter A1 is changed (increased) from the normal value β0 to the value β G2This realizes a gentler change than when the distance parameter A2 is changed from the normal value γ0 to the value γ G2 The same applies to changes to the image and changes to the origin position. If the above-mentioned interpolation is not used, restrictions such as not placing specific positions or specific objects close to each other are likely to occur in order to avoid sudden changes. In this regard, by using the above-mentioned interpolation, the degree of freedom in arranging specific positions and specific objects can be increased. As a result, it is possible to further diversify field images.

[0265] 16 to 28, for example, each position between position E2 and position E3 can be assigned an appropriate value of the transformation parameter A1 by interpolation, so that the storage capacity for the transformation parameter data can be used more efficiently than when each value of the transformation parameter A1 is assigned to each of the positions on the transformation parameter data. This also applies to other parameters such as the distance parameter.

[0266] 28, the movement of the first object 3 from position E1 to position E3 has been described, but the reverse may be realized for the movement of the first object 3 from position E3 to position E1. Also, in Fig. 28, the movement of the first object 3 from position E1 to position E3 has been described, but the movement of the first object 3 from a specific position to position E3 may be similarly realized.

[0267] In addition, when the specific position and the position E3 (the position of the virtual camera 60 when the floating object object 19 is located at the center of the area within the angle of view of the virtual camera 60 in the field object 77) are relatively close to each other, according to the operation example described with reference to FIG. 16 to FIG. 28, as described above, the interpolated value of the deformation parameter A1 and the distance parameter A2 calculated based on the value of the deformation parameter A1 and the value of the distance parameter A2 corresponding to the specific object related to the position E3 are calculated based on the value of the deformation parameter A1 and the value of the distance parameter A2 corresponding to the specific object related to the position E3, and the interpolated value of the deformation parameter A1 and the distance parameter A2 corresponding to the specific object related to the position E3 are calculated based on the value of the deformation parameter A1 and the distance parameter A2. L The adjustment is made depending on whether (k+1)>d(k+1) holds (see step S2518).

[0268] In addition, in this embodiment, a case where two or more specific objects are located in the area within the angle of view of the virtual camera 60 in the field object 77 may be processed in the same way as the case where the specific position and the specific object are relatively close to each other. For example, here, it is assumed that the specific objects include a first specific object and a second specific object, and the above-mentioned specific object area includes an object area in which both the first specific object and the second specific object are located. In this case, the object area includes a first object area in which the first specific object is located at the center, a second object area in which neither the first specific object nor the second specific object is located at the center, and a third object area in which the second specific object is located at the center.

[0269] Here, the first to third specific object regions will be described with reference to FIG. 11B. FIG. 11B shows regions R4, R5, and R6 that fall within the angle of view 62 of the virtual camera 60 in the field object 77 when three different camera parameters (here, camera parameters 4, 5, and 6) are used. The camera parameters 4, 5, and 6 differ in at least one value among the elements (X, Y, A2, θ, and ψ) of the above-mentioned camera parameters. Therefore, the three regions shown in FIG. 11B are different regions. Among the three regions R4, R5, and R6 shown in FIG. 11B, the first specific object G11 is disposed in the center (see range 771) of the region R4. Therefore, in this case, the region R4 is an example of the first object region. On the other hand, neither the first specific object nor the second object is disposed in the center (see range 771) of the region R5. That is, the first specified object and the second object are respectively arranged at both ends of the center of the region R5 (see ranges 772 and 773). Therefore, in this case, the region R5 is an example of a second object region. The second specified object G12 is arranged in the center of the region R6 (see range 771). Therefore, in this case, the region R6 is an example of a third object region.

[0270] In this case, the value of the deformation parameter A1 (an example of a first set value) associated with the first specific object (and the first object region associated with the first object) and the interpolated value of the distance parameter A2 calculated based on the value of the deformation parameter A1 (an example of a first set value) associated with the second specific object (and the third object region associated with the second object) are calculated based on the value of the distance parameter A2. L1 (k+1)>d L2 (k+1) or not. In this case, d L1 (k+1) is the horizontal distance related to the first specific object, and d L2 (k+1) is the horizontal distance related to the second specific object. Specifically, d L1 (k+1)>d L2If the value is (k+1), an interpolated value (an example of a second set value) of the transformation parameter A1 and the distance parameter A2 corresponding to the second specific object is adopted, and d L1 (k+1)≦d L2 In the case of (k+1), an interpolated value (an example of a second set value) of the transformation parameter A1 and the distance parameter A2 corresponding to the first specific object may be used, which is calculated based on the value of the transformation parameter A1 and the value of the distance parameter A2. This is the same as the origin setting process shown in FIG. 26 and the second distance parameter calculation process shown in FIG. 27. Specifically, d L1 (k+1)>d L2 If (k+1), the second specific object is treated as the "specific object" described in FIG. 26 and FIG. 27, and d L1 (k+1)≦d L2 In the case of (k+1), the first specific object is treated as the "specific object" described in Fig. 26 and Fig. 27, and the same effect can be achieved while adjusting between the two specific objects. This modification is also suitable for the case where the specific object moves. For example, when the first specific object and / or the second specific object are moving objects, the distance between the first specific object and the second specific object may change, resulting in the above-mentioned second object area. In this case, when the positions of the first and second specific objects are simultaneously within the field of view, an average value or a weighted composite value may be used. In the case of weighting, for example, the weighting coefficients w3 and w4 are used to update the composite value β com '(k+1) is the value β of the deformation parameter A1 calculated based on the first specific object. A1 '(k+1), and the value β of the deformation parameter A1 calculated based on the second specific object is β A2 "(k+1), it may be calculated as follows: β com '(k+1)={w3×β A1 '(k+1)+w4×β A2 "(k+1)} / (w3+w4) In this case, for example, the weighting coefficients w3, w4 may be as follows: w3=1 / d L1 (k+1), where d L1 When (k+1)=0, β com '(k+1)=β A1 '(k+1) w4=1 / d L2 (k+1), where d L2 When (k+1)=0, β com '(k+1)=β A2 "(k+1) 16 to 28, even if it is determined that a specific object is not located in the area within the angle of view of the virtual camera 60 in the field object 77, the value of the deformation parameter A1 and / or the value of the distance parameter A2 are changed based on the relationship between the specific position and each value (X, Y) of the position parameter of the virtual camera 60. That is, the value of the deformation parameter A1 and / or the value of the distance parameter A2 are made different between a case where it is determined that each value (X, Y) of the position parameter is at a position (an example of a first position) of the virtual camera 60 that corresponds to the specific position (for example, "YES" in step S1700 of FIG. 17 and / or "YES" in step S2300 of FIG. 23) and a case where it is determined that each value (X, Y) of the position parameter is at a position (an example of a second position) of the virtual camera 60 that does not correspond to the specific position (for example, "NO" in step S1700 of FIG. 17 and / or "NO" in step S2300 of FIG. 23). This allows further diversification of the field image even when a specific object is not located in the area within the angle of view of the virtual camera 60 in the field object 77. When it is determined that the virtual camera 60 is at a position (an example of a first position) where each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) corresponds to a specific position (for example, "YES" in step S1700 of FIG. 17), the value γ(k+1) of the updated distance parameter A2 is set to a value associated with the specific position (step S1702), whereas when it is determined that the virtual camera 60 is at a position (an example of a second position) where each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) does not correspond to a specific position (for example, "NO" in step S1700 of FIG. 17), the value γ(k+1) of the updated distance parameter A2 is set to the normal value γ0 or an interpolated value (steps S1712 and S1710). Therefore, equivalently, in the case of a specific position to which both the value of the deformation parameter A1 and the value of the distance parameter A2 correspond, such as specific positions A and B shown in Figures 13 and 14, the updated value β(k+1) of the deformation parameter A1 may be set based on the updated value γ(k+1) of the distance parameter A2.For example, when the value γ(k+1) of the updated distance parameter A2 corresponds to a relatively large distance (an example of a first distance), the value β(k+1) of the updated deformation parameter A1 may be set so that the degree of deformation is smaller than when the value γ(k+1) of the updated distance parameter A2 corresponds to a relatively small distance (an example of a second distance). In another embodiment, the value of the deformation parameter A1 may be linked according to the value of the distance parameter A2. For example, the value β(k+1) of the updated deformation parameter A1 according to the value γ(k+1) of the updated distance parameter A2 may be calculated according to the relationship of the value β(k+1) of the updated deformation parameter A1=normal value β0×normal value γ0 / value γ(k+1) of the updated distance parameter A2. In this case, when the value γ(k+1) of the updated distance parameter A2 corresponds to a relatively large distance (an example of a first distance), the value β(k+1) of the updated deformation parameter A1 is linked so that the degree of deformation is smaller than when the value γ(k+1) of the updated distance parameter A2 corresponds to a relatively small distance (an example of a second distance). This can save storage space compared to storing each value of the transformation parameter A1 and each value of the distance parameter A2 individually. Also, by changing the value of the distance parameter A2 between the normal value γ0 and the value of the distance parameter A2 defined in the distance parameter data 14A (for example, the value γ1) via the interpolated value as described above, the value of the transformation parameter A1 can be changed in the same manner, so that it is possible to simultaneously reduce the sense of incongruity caused by abrupt changes in the values ​​of both of these parameters.

[0271] Next, a modification of the above-described embodiment will be described with reference to FIG.

[0272] 30 is an example of a functional block diagram relating to the rendering function of a server device 10A according to a modified example. The server device 10A according to the modified example differs from the server device 10 according to the above-described embodiment in that rendering processing unit 140 is replaced with rendering processing unit 140A.

[0273] The rendering processing unit 140A according to this modification is different from the rendering processing unit 140 according to the above-described embodiment in that the distance changing unit 1421 is replaced with a zoom amount changing unit 1421A (an example of a parameter value changing unit).

[0274] The zoom amount change unit 1421A changes the values ​​of optical parameters related to the zoom amount of the virtual camera 60, such as the focal length and the angle of view. The zoom amount change unit 1421A may change the values ​​of the optical parameters so as to achieve the same effect as that of the distance change unit 1421. For example, the effect obtained by the distance change unit 1421 reducing the value of the distance parameter A2 may be achieved by the zoom amount change unit 1421A changing the values ​​of the optical parameters so that the zoom amount increases. Similarly, the effect obtained by the distance change unit 1421 increasing the value of the distance parameter A2 may be achieved by the zoom amount change unit 1421A changing the values ​​of the optical parameters so that the zoom amount decreases. In this way, the function of the distance change unit 1421 can be achieved by the zoom amount change unit 1421A.

[0275] In another modified example, the distance changer 1421 and the zoom amount changer 1421A may function simultaneously. Also, only one of the first distance changer 14211 and the second distance changer 14212 of the distance changer 1421 according to the above-described embodiment may be realized by the zoom amount changer 1421A.

[0276] Although each embodiment has been described above in detail, the present invention is not limited to the specific embodiment, and various modifications and changes are possible within the scope of the claims. In addition, it is also possible to combine all or a plurality of the components of the above-described embodiments.

[0277] For example, in the above-described embodiment, the process of setting the value of the deformation parameter A1, the value of the distance parameter A2, and the origin position based on the positional relationship between the area within the angle of view of the virtual camera 60 in the field object and the specific object is executed in the deformation process accompanying the movement of the predetermined object (step S1615 in FIG. 16), but instead of or in addition to this, it may be executed in the bending deformation process of the field object after the rotation process (step S1619 in FIG. 16). In this case, the value of the deformation parameter A1, the value of the distance parameter A2, and the origin position may be similarly set based on the positional relationship between the area within the angle of view of the virtual camera 60 in the field object after the rotation process and the specific object.

[0278] Specifically, for example, in a rotation process related to revolution and / or rotation, when the virtual camera 60 rotates by a predetermined angle for each processing cycle, there are areas in the field object that fit within the angle of view of the virtual camera 60 for one revolution (in the case of a rotation process related to the angle of attack, the number corresponds to the variable range), and these areas are hereinafter referred to as predetermined areas. Among the multiple predetermined areas for one revolution, there are areas where a specific object is located (specific object areas) (an example of a second predetermined area) and areas where a specific object is not located (an example of a first predetermined area). Note that there may be a situation where a specific object area does not exist depending on the position of the virtual camera 60. In a situation where a specific object area exists among a plurality of predetermined areas of one revolution, when an area in the field object that falls within the angle of view of the virtual camera 60 changes between areas where a specific object is not located based on a rotation process related to revolution and / or rotation, the value of the deformation parameter A1 is not changed, whereas when an area in the field object that falls within the angle of view of the virtual camera 60 transitions between an area where a specific object is not located and a specific object area, the value of the deformation parameter A1 may be changed. In this case, when an area in the field object that falls within the angle of view of the virtual camera 60 changes between areas where a specific object is not located based on a rotation process related to revolution and / or rotation, a bending deformation of the field object 77 according to the changed line of sight V (bending deformation having the same deformation mode as seen from the line of sight V of the virtual camera 60) is realized, so that the height H1 of the horizon HL does not change. This makes it possible to keep the height H1 of the horizon HL constant while making the virtual camera 60 follow the curved movement of the first object 3. However, in a modified example, the height H1 of the horizon HL may be changed within a level that does not cause a sense of incongruity to the user. For example, a level that does not cause a sense of incongruity to the user may be a level that corresponds to minute irregularities that the field object may have (i.e., a shape that is slightly different from the shape of the field surface 70). If the change is within such a level, the height H1 of the horizon HL will be approximately the same.

[0279] On the other hand, while the value of the deformation parameter A1 is not changed, when the area of ​​the field object that falls within the angle of view of the virtual camera 60 transitions between an area where the specific object is not located and an area of ​​the specific object, the degree of deformation is increased, so that the specific object can be made to stand out effectively as described above. In this case, as in the above-mentioned case, the value of the deformation parameter A1 may be changed when the specific object is located at the end of the area within the angle of view of the virtual camera 60 in the field object 77 (an example of a second range) and when the specific object is located at the center of the area within the angle of view of the virtual camera 60 in the field object 77 (an example of a first range). Furthermore, as the position of the specific object changes from the end to the center of the area within the angle of view of the virtual camera 60 in the field object 77 based on the rotation process related to revolution and / or rotation, the value of the deformation parameter A1 changes from an interpolated value (an example of a second set value) that is larger than the normal value β0 (an example of a predetermined set value) to a value β G* (an example of a first set value) through one or more interpolated values ​​(an example of a second set value).

[0280] In the above embodiment, the process of setting the value of the transformation parameter A1, the value of the distance parameter A2, and the origin position based on the positional relationship between the area within the angle of view of the virtual camera 60 in the field object and the specific object is executed in the transformation process (step S1615 in FIG. 16) accompanying the movement of the specific object, but instead of or in addition to this, it may be executed in a distance change process (for example, a distance change process in response to a distance change instruction that may be included in operation information from a user) (not shown) that does not accompany the movement of the specific object. This is because even if the values ​​(X, Y) of the position parameters of the virtual camera 60 do not change, a change in the value of the distance parameter A2 may cause a transition between a state in which a specific object is located in the area within the angle of view of the virtual camera 60 in the field object 77 and a state in which the specific object is not located. This is also the case with the process by the zoom amount change unit 1421A according to the above modification (a process of changing the value of the optical parameter related to the zoom amount of the virtual camera 60).

[0281] Specifically, for example, in a distance change process in response to a distance change instruction from a user, when the value of the distance parameter A2 of the virtual camera 60 changes by a predetermined distance for each processing cycle, the number of areas that fall within the angle of view of the virtual camera 60 in the field object corresponds to the variable range of the distance for each predetermined distance, and among these multiple areas, there are areas where a specific object is located (specific object areas) and areas where a specific object is not located. Note that there are also situations where a specific object area does not exist depending on the position of the virtual camera 60. In a situation where a specific object area exists among these multiple areas, the value of the deformation parameter A1 is not changed when the area that falls within the angle of view of the virtual camera 60 in the field object changes between areas where a specific object is not located based on the distance change process in response to the distance change instruction, while the value of the deformation parameter A1 may be changed when the area that falls within the angle of view of the virtual camera 60 in the field object transitions between an area where a specific object is not located and a specific object area. In this case, when the area of ​​the field object that falls within the angle of view of the virtual camera 60 changes to the area in which the specific object is located based on the distance change process in response to the distance change instruction, the degree of deformation is increased, so that the specific object can be made to stand out effectively as described above. In this case, as in the above-mentioned case, the value of the deformation parameter A1 may be changed between the case in which the specific object is located at the end of the area in the angle of view of the virtual camera 60 in the field object 77 (an example of a second range) and the case in which the specific object is located at the center of the area in the angle of view of the virtual camera 60 in the field object 77 (an example of a first range). Also, as the position of the specific object changes from the end to the center of the area in the angle of view of the virtual camera 60 in the field object 77 based on the distance change process in response to the distance change instruction, the value of the deformation parameter A1 changes from an interpolated value (an example of a second set value) that is greater than the normal value β0 (an example of a predetermined set value) to a value β G* (an example of a first set value) through one or more interpolated values ​​(an example of a second set value).

[0282] In the above embodiment, the bending deformation of the field object is realized by bending the entire field object, but is not limited to this. For example, the bending deformation of the field object may be performed only on a region of the entire field object that falls within the angle of view of the virtual camera 60 or only on a partial region that includes the region.

[0283] In the above-described embodiment, the values ​​of various parameters (e.g., distance parameter A2, orientation parameter θ, attack angle parameter ψ, etc.) associated with each value of the position parameter (X, Y) of the virtual camera 60 during the movement of the predetermined object are the same every time when the values ​​of the position parameters (X, Y) are the same. For example, when the predetermined object is located at a certain position during the movement of the predetermined object, the same values ​​of various parameters (e.g., distance parameter A2, orientation parameter θ, attack angle parameter ψ, etc.) are realized for the certain position. However, this is not limited to this. For example, the values ​​of various parameters (e.g., distance parameter A2, orientation parameter θ, attack angle parameter ψ, etc.) associated with each value of the position parameter (X, Y) of the virtual camera 60 during the movement of the predetermined object may be changed according to the progress of the game or other factors (e.g., the moving direction of the predetermined object, etc.) even when the values ​​of the position parameters (X, Y) are the same. For example, the value of the transformation parameter A1 associated with the specific position A may be set to a value β1 when a predetermined condition is established based on the progress of the game or other factors, and may be set to a normal value β0 otherwise. In addition, such a change may be performed, for example, in response to the occurrence of a predetermined event, in response to a case where a moving second object enters an area of ​​a field object that falls within the angle of view of the virtual camera 60 (is placed within the screen), or in response to a manual operation by a user to change the angle of view. In the above embodiment, each specific position such as specific positions A and B is a fixed position on the field object, but may be a movable position on the field object. For example, a part of the specific positions may be set to correspond to the position of a moving second object among the second objects. In this case, one specific position may be a position having a predetermined relationship with the position of one moving second object.

[0284] In the above-described embodiment, as a case where the interpolation processing range for a specific position (hereinafter, the same applies to the interpolation processing range for a specific object) is fixed without being dynamically changed, when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter ψ is the normal value γ0, ψ0, the specific position related to the interpolation processing range may be set so as to be located within the area that falls within the angle of view of the virtual camera 60 in the field object even when the value of the orientation parameter θ is any value, as described above. For example, Fig. 31 shows the interpolation processing range Rs(A) for the specific position A in a plan view, and Fig. 32 shows a cross-sectional view along the line J1-J1 of Fig. 31 and a cross-sectional view along the line J2-J2 superimposed thereon. In this case, when the values ​​of the position parameters (X, Y) of the virtual camera 60 correspond to the position P260, and the values ​​of the distance parameter A2 and the angle of attack parameter ψ are normal values ​​γ0, ψ0, as shown in Fig. 32, when the value of the parameter θ is θ(P260) as shown in Fig. 31, the specific position A is located in an area that falls within the angle of view of the virtual camera 60 in the field object. Note that the boundary line 6211 in Fig. 32 is the upper boundary line of the angle of view 62 (angle of view when viewed in a direction perpendicular to the z direction) (see Fig. 5) of the virtual camera 60. Therefore, in this case, the position P260 belongs to the interpolation processing range Rs(A). On the other hand, when the values ​​of the position parameters (X, Y) of the virtual camera 60 correspond to the position P261 and the values ​​of the distance parameter A2 and the angle of attack parameter ψ are normal values ​​γ0, ψ0, as shown in Fig. 32, even when the value of the parameter θ is θ(P261) as shown in Fig. 31, the specific position A is not located in an area that falls within the angle of view of the virtual camera 60 in the field object. Therefore, in this case, the position P260 does not belong to the interpolation processing range Rs(A). However, as another setting mode, the interpolation processing range may be set to change dynamically based on the values ​​of the camera parameters at that time.For example, the interpolation processing range for one specific position may be dynamically set so that when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter ψ after (or before) the update (which may be different from the normal values ​​γ0, ψ0) is applied, the one specific position is located in a region that falls within the angle of view of the virtual camera 60 even when the value of the orientation parameter θ is any value. This is because even if each value of the position parameters (X, Y) of the virtual camera 60 is outside a certain interpolation processing range, the value of the distance parameter A2, etc. may be an interpolated value that is not a normal value because it is located within another interpolation processing range. Note that, although the specification in which the revolution or rotation of the virtual camera 60 is possible at any position is assumed here, in the specification in which the revolution or rotation of the virtual camera 60 is possible only at a limited position or in the specification in which the revolution or rotation itself is impossible, "even when the value of the orientation parameter θ is any value" in the above description may be read as "when the value of the orientation parameter θ at that time point is".

[0285] The width of the interpolation processing range may be dynamically changed according to the change speed (amount of change per time) of each value of the position parameters (X, Y) of the virtual camera 60, in such a manner that the interpolation processing range is wider as the change speed (amount of change per time) of the values ​​of the position parameters (X, Y) of the virtual camera 60 is higher. Alternatively, based on a similar idea, a predetermined margin may be set for the interpolation processing range regardless of the change speed. This can reduce inconvenience (a feeling of discomfort that may be given to the user due to a relatively sudden change in the field image) that may occur when each value of the position parameters (X, Y) of the virtual camera 60 changes to each value corresponding to a specific position (or specific object) while the change speed (amount of change per time) of each value of the position parameters (X, Y) of the virtual camera 60 remains high.

[0286] Furthermore, when the angle of view of the virtual camera 60 is variable, the width of the interpolation processing range may be dynamically changed according to the angle of view of the virtual camera 60, in such a manner that the smaller the angle of view, the wider the interpolation processing range. This makes it possible to reduce inconvenience (uncomfortable feeling that may be given to the user due to a relatively sudden change in the field image) that may occur when the values ​​of the position parameters (X, Y) of the virtual camera 60 change to values ​​corresponding to a specific position (specific object) while the angle of view of the virtual camera 60 remains small, for example.

[0287] In the above embodiment, whether or not to execute the interpolation process is determined based on whether or not each value of the updated position parameters (X, Y) is located within the interpolation process range, but this is not limited to the above. For example, equivalently, an area (i.e., the above-mentioned area within the angle of view) in the field object that is within the angle of view of the virtual camera 60 may be derived based on each value of the updated distance parameter A2 and the angle of attack parameter ψ, and it may be determined whether or not a specific position or a specific object is located within the area within the angle of view. In this case, if a specific position or a specific object is located within the area within the angle of view, but each value of the updated position parameters (X, Y) of the virtual camera 60 does not correspond to the position of the specific position or the specific object, the interpolation process may be executed.

[0288] In each of the above-described embodiments, the first movement processing unit 1420 may be omitted.

[0289] In addition, the following supplementary notes are disclosed regarding the above embodiment.

[0290] [Appendix 1] An information processing device for rendering an object placed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera placed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; a change processing unit that changes an area of ​​the field object that falls within an angle of view of the virtual camera; a transformation processing unit that transforms the field object, The information processing device, when the area is changed by the change processing unit, determines whether or not the specific object is located in the area after the change, and differs the deformation mode of the field object when it is determined that the specific object is located in the area after the change from when it is determined that the specific object is not located in the area after the change.

[0291] [Appendix 2] The information processing device described in Appendix 1, wherein, when the area is changed by the change processing unit, the deformation processing unit further determines whether the specific object is located within a first range in the area after the change or within a second range adjacent to the first range in the area, and differs the degree of deformation of the field object when it is determined that the specific object is located within the first range from when it is determined that the specific object is located within the second range.

[0292] [Appendix 3] the second range is located on both sides of the first range in a lateral direction of the angle of view of the virtual camera, The information processing device described in Appendix 2, wherein the deformation processing unit, when determining that the specific object is located within the first range, increases the degree of deformation of the field object compared to when determining that the specific object is located within the second range.

[0293] [Appendix 4] The information processing device described in Appendix 1, wherein, each time the area is changed by the change processing unit, if the position of the specific object in the area after the change changes from one horizontal end side of the area after the change toward the center, the transformation processing unit increases the degree of deformation of the field object each time the area is changed by the change processing unit.

[0294] [Appendix 5] the field object is shaped based on a deformable base surface; The information processing device according to appendix 1, wherein on a plane including the line of sight of the virtual camera and the third axis, a predetermined position is defined as the origin, an axis passing through the origin and parallel to the third axis is defined as the Y axis, a direction toward the upper side with respect to the field object is defined as the positive side of the Y axis, and an axis passing through the origin and perpendicular to the Y axis is defined as the X axis, the transformation processing unit deforms the basic surface according to a function in which the Y coordinate value monotonically decreases linearly or nonlinearly as the absolute value of the X coordinate value increases.

[0295] [Appendix 6] the transformation processing unit transforms the base surface based on a value of a transformation parameter that can change in accordance with a change in the area and that determines a degree of transformation of the field object; The information processing device according to claim 5, wherein the transformation parameters include a coefficient assigned to a term relating to the value of the X coordinate in the function.

[0296] [Appendix 7] the regions include a predetermined object region in which the specific object is not located, a first object region in which the specific object is located at a center portion, and a second object region in which the specific object is located at an edge portion, the transformation parameter values ​​include a predetermined setting value set in the predetermined object region, a first setting value set in the first object region, and a second setting value set in the second object region; The information processing device described in Appendix 6, wherein the first setting value realizes a degree of deformation of the field object greater than the second setting value, and the second setting value realizes a degree of deformation of the field object greater than the specified setting value.

[0297] [Appendix 8] The information processing device described in Appendix 7, wherein the transformation processing unit changes the value of the transformation parameter to the first setting value or the specified setting value via the second setting value when the change processing unit changes the area between the specified object area and the first object area via the second object area.

[0298] [Appendix 9] the specific object includes a first specific object and a second specific object; the region includes a predetermined object region in which neither the first specific object nor the second specific object is located, and an object region in which both the first specific object and the second specific object are located, the object regions include a first object region in which the first specific object is located at a center, a second object region in which neither the first specific object nor the second specific object is located at a center, and a third object region in which the second specific object is located at a center, the values ​​of the transformation parameters include a predetermined setting value set in the predetermined object region, a first setting value set in the first object region and the third object region, and a second setting value set in the second object region; The first set value realizes a deformation degree of the field object that is greater than the second set value, and the second set value realizes a deformation degree of the field object that is greater than the predetermined set value; The information processing device described in Appendix 6, wherein the transformation processing unit changes the value of the transformation parameter to the first setting value or the specified setting value via the second setting value when the change processing unit changes the area between the specified object area and the first object area or the third object area via the second object area.

[0299] [Appendix 10] The information processing device according to any one of appendices 5 to 9, wherein the transformation processing unit, when it determines that the specific object is located in the area after the change, determines the specified position based on the position of the specific object.

[0300] [Appendix 11] the change processing unit includes a first movement processing unit that changes a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera, 11. The information processing device according to any one of claims 1 to 10, wherein the area changes when the first movement processing unit changes a position of the virtual camera with respect to the field object.

[0301] [Appendix 12] the specific object is fixed relative to the field object; The objects further include a predetermined object arranged relative to the field object; a second movement processing unit that changes a position of the predetermined object relative to the field object within a two-dimensional plane defined by the first axis and the second axis; The information processing device according to any one of appendices 5 to 10, wherein the transformation processing unit, when it is determined that the specific object is not located in the area after the change, determines the specified position based on the position of the specific object.

[0302] [Appendix 13] The information processing device of any one of Appendix 1 to 12, wherein the transformation processing unit, when it is determined that the specific object is not located in the area after the change, further determines whether a position of the virtual camera with respect to the field object is at a first position or a second position different from the first position in a direction intersecting the line of sight direction of the virtual camera, and differs the degree of deformation of the field object when it is determined that the position of the virtual camera with respect to the field object is at the first position from when it is determined that the position of the virtual camera with respect to the field object is at the second position.

[0303] [Appendix 14] The information processing device described in Appendix 13, further including a distance change unit that changes the distance between the virtual camera and the field object in the line of sight direction of the virtual camera when the position of the virtual camera with respect to the field object is the first position and when the position is the second position.

[0304] [Appendix 15] the change processing unit further includes a distance change unit that changes a distance between the virtual camera and the field object in a line of sight direction of the virtual camera, 13. The information processing device according to any one of claims 1 to 12, wherein the area changes when the distance change unit changes a distance of the virtual camera with respect to the field object.

[0305] [Appendix 16] The information processing device described in Appendix 15, wherein the deformation processing unit further determines whether the distance of the virtual camera to the field object is a first distance or a second distance different from the first distance when it determines that the specific object is not located in the area after the change, and differs the degree of deformation of the field object between a case where it is determined that the distance of the virtual camera to the field object is the first distance and a case where it is determined that the distance of the virtual camera to the field object is the second distance.

[0306] [Appendix 17] the change processing unit further includes a rotation processing unit that changes a line of sight direction of the virtual camera with respect to the field object around the third axis, 17. The information processing device according to any one of claims 1 to 16, wherein the area changes when a line of sight direction of the virtual camera with respect to the field object is changed by the rotation processing unit.

[0307] [Appendix 18] the region includes a plurality of predetermined regions each falling within an angle of view of the virtual camera in turn each time the line of sight direction is changed by a predetermined angle around the third axis by the rotation processing unit, the plurality of predetermined areas include a plurality of first predetermined areas in which the specific object is not located and a plurality of second predetermined areas in which the specific object is located; The information processing device described in Appendix 17, wherein the deformation processing unit determines whether the area changes from one of the plurality of first predetermined areas to another when the line of sight direction is changed around the third axis by the rotation processing unit, and if it determines that the area changes from one of the plurality of first predetermined areas to another, bends and deforms the field object so that the deformation appearance is the same when viewed in the line of sight direction before the change and when viewed in the line of sight direction after the change.

[0308] [Appendix 19] The objects further include a background object; 19. The information processing device according to any one of appendices 1 to 18, further comprising a background processing unit that determines whether or not a degree of deformation of the field object deformed by the deformation processing unit changes, and when it is determined that the degree of deformation of the field object changes, changes a position of the background object relative to the field object along the direction of the third axis.

[0309] [Appendix 20] 1. An information processing method for rendering an object placed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis that are orthogonal to each other, as viewed from a virtual camera placed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; determining whether or not the specific object is located in a region of the field object that is within an angle of view of the virtual camera after the region is changed; When it is determined that the specific object is located in the area after the change, the field object is transformed in a first transformation manner; An information processing method executed by a computer, comprising: when it is determined that the specific object is not located in the area after the change, transforming the field object in a second transformation manner different from the first transformation manner.

[0310] [Appendix 21] 1. An information processing method for rendering an object placed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis that are orthogonal to each other, as viewed from a virtual camera placed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; determining whether or not the specific object is located in a region of the field object that is within an angle of view of the virtual camera after the region is changed; When it is determined that the specific object is located in the area after the change, the field object is transformed in a first transformation manner; when it is determined that the specific object is not located in the area after the change, the field object is transformed in a second transformation manner different from the first transformation manner. An information processing program that causes a computer to execute processing. [Explanation of symbols]

[0311] 1. Game System 3. First Object 10. Server equipment 11 Server Communication Section 12 Server memory section 13 Server control unit 14 Side passage 15 Vertical Passage 16 Roadside Tree Objects 20 Terminal Equipment 21 Terminal communication unit 22 Terminal memory section 23 Display section 24 Input section 25 Terminal control unit 30 Network 60 Virtual Camera 62 Angle of View 70 Field Surface 72 Background surface 77 Field Objects 130 Drawing information storage unit 132 Operation information acquisition unit 134 Drawing data transmission unit 140 Drawing processing unit 142 Change Processing Section 1420 First movement processing section 1421 Distance change unit 14211 First distance change unit 14212 2nd Distance Change Unit 1421A Zoom amount change section 1422 Orientation change section 1423 Angle of attack change unit 1424 Update reflection section 1425 Rotation Processing Unit 14251 Revolution processing section 14252 Rotation processing unit 14253 Angle of attack processing unit 144 Second movement processing section 145 Transformation Processing Unit 1451 First transformation parameter calculation unit 1452 Second transformation parameter calculation unit 1453 Transformation Parameter Adjustment Section 1454 Origin setting processing unit 1455 Transformation Function Application Section 146 Projection Processing Unit 147 Background Processing Section 148 Drawing data generation unit

Claims

1. An information processing device for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; a change processing unit that changes an area of ​​the field object that falls within an angle of view of the virtual camera; a transformation processing unit that transforms the field object, The transformation processing unit varies a transformation mode of the field object based on a lateral position of the specific object within the area.

2. the field object is shaped based on a deformable base surface; 2. The information processing device according to claim 1, wherein, on a plane including the line of sight of the virtual camera and the third axis, a predetermined position is defined as an origin, an axis passing through the origin and parallel to the third axis is defined as a Y axis, a direction toward the upper side with respect to the field object is defined as the positive side of the Y axis, and an axis passing through the origin and perpendicular to the Y axis is defined as an X axis, the transformation processing unit deforms the basic surface according to a function in which the Y coordinate value monotonically decreases linearly or nonlinearly as the absolute value of the X coordinate value increases.

3. the transformation processing unit transforms the base surface based on a value of a transformation parameter that can change in accordance with a change in the area and that determines a degree of transformation of the field object; The information processing device according to claim 2 , wherein the transformation parameters include a coefficient assigned to a term relating to the value of the X coordinate in the function.

4. the change processing unit includes a first movement processing unit that changes a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera, The information processing device according to claim 1 , wherein the area is changed by changing a position of the virtual camera with respect to the field object by the first movement processing unit.

5. The information processing device according to claim 1 , further comprising a distance change unit that changes the distance between the virtual camera and the field object in the line of sight direction of the virtual camera when the position of the virtual camera relative to the field object is a first position and when the position is a second position different from the first position.

6. the change processing unit further includes a distance change unit that changes a distance between the virtual camera and the field object in a line of sight direction of the virtual camera, The information processing apparatus according to claim 1 , wherein the area is changed by changing a distance of the virtual camera from the field object by the distance change unit.

7. the change processing unit further includes a rotation processing unit that changes a line of sight direction of the virtual camera with respect to the field object around the third axis, The information processing device according to claim 1 , wherein the area is changed by changing a line-of-sight direction of the virtual camera with respect to the field object by the rotation processing unit.

8. The objects further include a background object; 8. The information processing device according to claim 1, further comprising a background processing unit that determines whether a degree of deformation of the field object deformed by the deformation processing unit changes, and when it is determined that the degree of deformation of the field object changes, changes a position of the background object relative to the field object along the direction of the third axis.

9. The information processing apparatus according to claim 1 , wherein the change processing unit changes the position of the virtual camera based on a parameter different from a position of the specific object in the field object.

10. The information processing apparatus according to claim 1 , wherein the position of the specific object is fixed on the field object, or is changed based on a parameter different from the position of the virtual camera.

11. An information processing device for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; changing an area of ​​the field object that falls within an angle of view of the virtual camera; An information processing method executed by a computer, comprising: deforming the field object in a manner that causes the deformation manner of the field object to differ depending on a lateral position of the specific object within the area.

12. 1. An information processing program for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a specific object arranged in the field object; changing an area of ​​the field object that falls within an angle of view of the virtual camera; deforming the field object in a manner that varies the deformation manner of the field object depending on the lateral position of the specific object within the area; An information processing program that causes a computer to execute processing.

Citation Information

Patent Citations

  • Program, information storage medium, electronic device, and server system

    JP2013208269A

  • Program, game control method, and information processor

    JP2017131523A

  • Program, information processing device, and control method

    JP2018171136A

  • Game program, information processing system, information processor, and information processing method

    JP2019209115A

  • Information processor, information processing program, information processing system, and information processing method

    JP2020080007A