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

The program transforms the virtual horizon and background positioning to generate diverse representations of field objects in a virtual space, addressing the limitations of conventional techniques and enhancing user experience.

JP7778325B2Active Publication Date: 2025-12-02GLEE HOLDINGS CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024206267
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-12-02
Estimated Expiration
2040-06-26

AI Technical Summary

Technical Problem

Conventional techniques struggle to generate diverse representations of field objects in a virtual space viewed from a virtual camera.

Method used

A program is provided that renders objects in a virtual space by changing the position of a virtual camera relative to a field object, transforming the height of the virtual horizon through deformation of the field object, and determining the position of background objects based on the horizon height, allowing for diverse representations.

Benefits of technology

Enables the generation of diverse and dynamic field object representations in a virtual space, enhancing user engagement and reducing processing load by efficiently utilizing storage space and improving visibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007778325000001
    Figure 0007778325000001
  • Figure 0007778325000002
    Figure 0007778325000002
  • Figure 0007778325000003
    Figure 0007778325000003
Patent Text Reader

Abstract

To provide an information processing device, an information processing method, and an information processing program that generate various representations of a field object in a virtual space viewed from a virtual camera.SOLUTION: A program for drawing an object placed in virtual space as viewed from a virtual camera placed in the virtual space causes a computer to perform a plurality of processing including processing that changes a position of the virtual camera relative to a field object and deformation processing that deforms the field object on the basis of the position of the virtual camera with respect to the field object. In the deformation processing, a degree of deformation of the field object is different depending on when the second object is located within the field of view of the virtual camera and when the second object is not located within the field of view of the virtual camera.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 on a field object in a three-dimensional virtual space from a bird's-eye view from a virtual camera placed in the virtual space. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2013-208269 Summary of the Invention [Problem to be solved by the invention]

[0004] With the above-described conventional techniques, it is difficult to generate diverse representations of field objects in a virtual space viewed from a virtual camera.

[0005] Therefore, in one aspect, the present invention aims to generate diverse representations of field objects in a virtual space viewed from a virtual camera. [Means for solving the problem]

[0006] According to one aspect, there is provided a program for rendering an object placed in a virtual space as viewed from a virtual camera placed in the virtual space, the program comprising: The objects include a field object and a background object; changing the position of the virtual camera relative to the field object; a transformation process for changing the height of a virtual horizon represented by the field object by transforming the field object; causing a computer to perform a plurality of processes including background processing; A program is provided in which the background processing determines the position of the background object relative to the field object based on the height of the virtual horizon. [Effects of the Invention]

[0007] In one aspect, the present invention enables the generation of diverse representations of field objects in a virtual space as seen from a virtual camera. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a block diagram of a game system according to an embodiment of the present invention. [Figure 2] FIG. 10 is a diagram illustrating an example of a field image. [Figure 3] FIG. 2 is a plan view showing the entire field surface forming a field object and the 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. [Figure 5] FIG. 2 is an explanatory diagram showing various positional relationships. [Figure 6] FIG. 10 is a schematic diagram showing an example of a field image obtained by rendering it as seen from a virtual camera. [Figure 7] 10A and 10B are explanatory diagrams of examples of deformation parameters for realizing bending deformation of a field surface; [Figure 7A] 10A and 10B are explanatory diagrams of bending deformation of a field surface based on a function. [Figure 8] 10A and 10B are explanatory diagrams illustrating situations where 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. 10 is an explanatory diagram (part 3) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 9] FIG. 10 is an explanatory diagram of the degree of freedom of change in the position of the virtual camera. [Figure 10] FIG. 10 is an explanatory diagram of the rotation of the line of sight direction of the virtual camera. [Figure 11] FIG. 2 is an explanatory diagram of camera parameters. [Figure 12] FIG. 2 is a functional block diagram illustrating an example of a drawing function of the server device. [Figure 13] FIG. 4 is an explanatory diagram of deformation parameter data. [Figure 14] FIG. 10 is an explanatory diagram of distance parameter data. [Figure 15] FIG. 10 is an explanatory diagram of direction parameter data. [Figure 16] 10 is a schematic flowchart showing the flow of processing realized by a server control unit. [Figure 17] 16 is a schematic flowchart showing an example of a distance parameter calculation process (step S1608). [Figure 18] FIG. 10 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] 10 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] FIG. 10 is an explanatory diagram of an application scene of the operation example. [Figure 24A] FIG. 10 is a diagram illustrating an example of a field image. [Figure 24B] FIG. 10 is a diagram illustrating an example of a field image. [Figure 24C] FIG. 10 is a diagram illustrating an example of a field image. [Figure 25]FIG. 10 is a functional block diagram illustrating an example of a drawing function of another server device. [Figure 26] FIG. 10 is an explanatory diagram (part 1) of a method for setting an interpolation processing range. [Figure 27] FIG. 10 is an explanatory diagram (part 2) of a method for setting an interpolation processing range. DETAILED DESCRIPTION OF THE INVENTION

[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, smartphone, tablet terminal, PC (Personal Computer), or game device. The terminal device 20 is capable of executing a game application according to this 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 pre-stored 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 this embodiment will be described. The game according to this embodiment is, for example, a role-playing game or a simulation game, and game media is used as the game is executed. For example, the game according to this 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 (such as stamina and attack power), or ability information (such as skills, abilities, spells, and jobs). Game media is electronic data that can be acquired, owned, used, managed, exchanged, synthesized, strengthened, sold, discarded, or given as a gift by a user in a game, but the manner of use of 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's user ID. Furthermore, "granting game media to a user" refers to associating game media with a user ID. Furthermore, "discarding game media owned by a user" refers to dissociating a user ID from a game media. Furthermore, "consuming game media owned by a user" refers to causing some effect or influence in the game in response to dissociating a user ID from a game media. Furthermore, "selling game media owned by a user" refers to dissociating a user ID from the game media and associating the user ID with other game media (e.g., virtual currency or items). Furthermore, "transferring game media owned by a user to another user" refers to dissociating a user ID from a game media and associating the game media with the other user's user ID.

[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 controls a user character to progress through the game while exploring a field in a virtual space. Specifically, the user character moves across the field in response to user operations. The field is provided with various areas, such as towns and dungeons, and various events occur according to the area, such as conversations with town resident characters and battles with enemy characters encountered in dungeons. The execution of events progresses the main story of the game. Furthermore, in the first game part, if the user wins a battle against an enemy character, for example, game content such as an item, virtual currency, or a character may be awarded to the user. The awarded game content can be used, for example, in the third game part described below.

[0018] In the second game part, the user changes the game content he or she owns. The user collects various game content, such as items, virtual currency, and characters. Specifically, by moving the user character to a specific area on the field, such as a mining site or fishing pond, or by selecting a specific character or other game content (e.g., by touching the screen), a sub-event occurs in which the game content can be acquired. Sub-events include, for example, progressing through a sub-story and playing a mini-game, but the content of the sub-events is not limited to these. Depending on the results of the sub-events, various game content may be awarded to the user. The awarded game content 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 content. The user, for example, strengthens the user character. Specifically, as described above, various game parameters of the user character change as the game content granted to the user in the first game part and the second game part is consumed. Game parameters include, but are not limited to, the user character's level, HP, attack power, defense power, attributes, and skills. The user character is strengthened in accordance with changes in the user character's game parameters. Strengthening the user character increases the likelihood that the user character will win 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 send 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 sending 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 that stores various information and programs necessary for game processing. For example, the server storage unit 12 stores game applications.

[0025] The server storage unit 12 also stores various images (texture images) to be projected (texture mapped) 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 will be 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 will also be referred to as a first object. In this embodiment, only one first object is placed in the virtual space, but two or more first objects may be placed. The first object may also be a group of multiple first game media. Furthermore, the first game medium (and the first object based thereon) used in the virtual space may be exchangeable by the user as appropriate.

[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 media (e.g., buildings, walls, trees, or NPCs) different from the first game media that can be placed on a field object (described later) will be referred to as a second game media, and an object onto which the second game media 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) or an object movable to a field object (described later). 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 met.

[0028] The server storage unit 12 also stores a background image (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 will also be 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- and v-axes is set in the field image, as shown in FIG. 2, for example. In this embodiment, a horizontal passage 14, a vertical passage 15, and a curved path 17 are defined in the field image. The horizontal passage 14, the vertical passage 15, and the curved path 17 form paths along which the first object, etc., in the field object can move. Note that although a specific path configuration is shown in FIG. 2, the path configuration is arbitrary. Also, although the field image in FIG. 2 is rectangular, it may have other shapes. Also, multiple types of field images may be prepared and used appropriately.

[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, which executes processing to place the second object on the field object.

[0032] The server control unit 13 is a dedicated microprocessor or a CPU that implements specific functions by loading specific programs. 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. Furthermore, 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 via a wired connection to send and receive information. The terminal communication unit 21 may include a wireless communication module, a wireless LAN communication module, or a wired LAN communication module that is compatible with a mobile communication standard such as LTE (Long Term Evolution) (registered trademark). The terminal communication unit 21 can send and receive information to and from the server device 10 via the network 30.

[0036] The terminal storage unit 22 includes, for example, a primary storage unit and a secondary storage unit. 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 game processing received from the server device 10. The information and programs used in game processing 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, with 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 that is 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 also 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 and controls the overall operation of the 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 launches a game application in response to a user 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 used in the game (for example, various field images described below). For example, a GUI (Graphical User Interface) that detects 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, long tap operation, flick operation, swipe operation, etc. A tap operation is an operation in which the 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] (Drawing function in games) 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 if 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, 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 part of the field image displayed on the terminal device 20 may be a web display that is displayed on the terminal device 20 based on data generated by the server device 10, and at least part of the screen may be a native display that is 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 entire field surface 70 forming the field object and the entire background surface 72 forming the 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 the directional component of the arrow R0 in FIG. 3. FIG. 4 also schematically illustrates the virtual camera 60. Furthermore, 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 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 defined as the upper side of the virtual space, and the negative side is defined as the lower side of the virtual space. In this embodiment, 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 refer to the direction parallel to the x axis, the direction parallel to the y axis, and the direction parallel to the z axis, respectively. For example, unless otherwise specified, the z direction refers to the direction parallel to the z axis that passes through any point in the xy plane.

[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 separated from the x-axis, y-axis, and origin of the global coordinate system, indicating a state before the correspondence is established. The field surface 70 is not allowed to move in a translational manner (linearly) in the x, y, and z directions. However, in other embodiments, the field surface 70 may be allowed to move in a translational manner in the global coordinate system.

[0048] The field surface 70 can be deformed from its normal state when a plane parallel to the xy plane is considered to be its normal state. In this manner, in this embodiment, the field object is shaped based on the deformable field surface 70. That is, the field object is deformed relative to a plane parallel to the xy plane by being shaped based on the field surface 70 that has been deformed from its normal state. Hereinafter, unless otherwise specified, the deformation of the field surface 70 and the field object refers to the deformation when a plane parallel to the xy plane is considered to be its normal shape (state). Note that the deformed field object may be realized by projecting a field image onto the deformed field surface 70, or by projecting a field image onto the normal field surface 70 and then deforming the field surface 70.

[0049] Note that, when a field image is projected onto the field surface 70, the field surface 70 can normally take over the texture coordinates of the projected field image. That is, each position on the field surface 70 onto which the field image is projected can be essentially specified by the texture coordinate system of the field image (see FIG. 2). Hereinafter, 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 below. However, in other embodiments, the background plane 72 may be disposed so as to surround only a portion of the field plane 70. In this case, the background plane 72 may be rotated and moved in accordance with the rotation of the virtual camera 60 as described below. Furthermore, in still other embodiments, the background plane 72 may be deformable, similar to 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 schematically shows a first object 3 located in the area of ​​a field object 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, the angle of view 62 of the virtual camera 60 (the angle of view when viewed in a direction perpendicular to the z direction) is schematically shown between boundaries 6211 and 6212. Note that in this embodiment, the angle of view of the virtual camera 60 is constant, but in other embodiments, the angle of view of the virtual camera 60 may be variable.

[0053] 5, the angle of view 62 is such that the upper boundary line 6211 intersects with the background surface 72 (see point P2) and the lower boundary line 6212 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 the background object therewith) and the field surface 70 (and the field object therewith). 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, and therefore 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 V (i.e., as it moves toward the background surface 72). Note that such deformation may be realized only within 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 lines as 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 for an error of 10% or less. Note that, since the shape of the field object is determined 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 line 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 line 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 further back than 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 line HL (see FIG. 6 ) depends on the angle α between the tangent line 6213 and 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-dotted line in FIG. 5 , the angle α′ between the tangent line 6213′ and the boundary line 6212 is smaller than the angle α, and therefore the height H1 of the horizon line HL is smaller (not shown). In this way, it can be seen that the height of the horizon line HL can be changed by changing the bending manner of the field surface 70. Note that when the height of the horizon line 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 the field surface 70 downward 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, it is possible to freely change the height H1 of the horizon HL (and therefore the visible range of field objects, background objects, etc.). Hereinafter, bending deformation in a mode in which the field surface 70 is deformed downward as it approaches the background surface 72 when viewed in the line of sight V will also be simply referred to as "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. In FIG.

[0060] 7 defines a two-dimensional coordinate system Xc, Yc (hereinafter also referred to as a "local coordinate system") in the Vz plane. 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. FIG. 7 also shows a function F1 that determines the deformation mode of the field surface 70.

[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 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 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] 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 of -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] Here, an example of a situation in which bending deformation of the field surface 70 is applied will be described with reference to FIGS. 8 to 8C.

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

[0069] Here, positions M1 and M3 each correspond to the intersection position 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' of the line of sight V onto the xy plane) when the virtual camera 60 is at position M2. Furthermore, 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 according to the changed line of sight direction V (a bending deformation with the same deformation pattern as seen 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 (the position relative to the field object) changes, the area within the angle of view of the virtual camera 60 in the virtual space (for example, the area of ​​the field object) also changes, thereby diversifying the field image. However, even in this case, if the state of the area within the angle of view of the virtual camera 60 remains monotonous even when the position of the virtual camera 60 (the 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 (the 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, unless otherwise specified, the position of the virtual camera 60 means the position (relative position) relative to the field object.

[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] 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 changes even in the same field object area, so that it is possible to further diversify the field image obtained by drawing it in a representation as seen from the virtual camera 60.

[0075] Furthermore, in this embodiment, a single material for a field object (a field image and a field surface 70) is used, and a variety of field object shapes are realized by varying the degree of deformation related to the bending deformation of the field surface 70. This allows for more efficient use of storage space for field objects than when a variety of field objects are prepared in advance. In other words, a variety of field objects can be realized by efficiently using storage space.

[0076] 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, if the degree of deformation of the field surface 70 is changed while the position of the virtual camera 60 remains fixed, this is likely to cause the user to feel uncomfortable.

[0077] 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 inconveniences that may occur when the degree of deformation of the field surface 70 changes (i.e., discomfort that may be felt by the user).

[0078] For example, when the virtual camera 60 is located within one or more specific positions or specific ranges, the degree of deformation of the field surface 70 may be greater than when the virtual camera 60 is not located within those positions. This allows the field image (i.e., the representation of various objects within the angle of view of the virtual camera 60) when the virtual camera 60 is located within a specific position or specific range to be displayed in a different manner from the field image when the virtual camera 60 is located at other positions. For example, it is possible to make the field image related to the specific position more prominent than the field image related to other positions, or to give the field image related to the specific position a specific meaning. Note that the specific position or specific range may be set corresponding to, for example, a position where the first object turns while moving (e.g., the intersection 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 (e.g., an object related to a game medium with a low appearance probability) is located. 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 set corresponding to a position where an object related to a game medium with a low appearance probability is located only when the object is located.

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

[0080] Furthermore, by diversifying the field image obtained by rendering it as seen from the virtual camera 60, it is possible to highlight parts of the field image, improving the user's visibility of objects. Furthermore, operability is improved by clarifying the objects to be operated and the operation locations. Furthermore, even if multiple objects exist within a limited screen, the situation in the virtual space can be expressed without impairing visibility (without limiting the amount of information). This effect is particularly noticeable on a small screen such as a smartphone.

[0081] Furthermore, the processing load can be reduced because the representation of the horizon and the like can be achieved by a simple process of bending and deforming the field object. Also, since there is no need to draw (hidden) objects outside the field angle of the virtual camera 60 in the field object, the processing load can be reduced in this respect as well.

[0082] FIG. 9 is an explanatory diagram of the degree of freedom for changing the position of the virtual camera 60. As shown in FIG. 9, changes in the position of the virtual camera 60 include 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 within 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 displacing (moving) the virtual camera 60 in the global coordinate system, by displacing (moving) a field object in the global coordinate system, or by a combination of these.

[0083] 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) relative 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) relative to the field object changes in a direction (V1) along the line of sight direction V (hereinafter referred to as the "second change manner").

[0084] 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 may be realized 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.

[0085] Note that when the degree of deformation of the field surface 70 changes, a change that is simultaneously realized (i.e., a change in the area of ​​the field object that fits within the angle of view of the virtual camera 60) is not limited to a change in the position (relative position) with respect to the field object, but may also be realized by rotating the line of sight V of the virtual camera 60 (see FIG. 10 ). Also, it is possible to set the optical parameters of the virtual camera 60 to variable values, and to change the values ​​of the optical parameters of the virtual camera 60, thereby changing the area of ​​the field object that fits within the angle of view 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 or the angle of view.

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

[0087] Hereinafter, unless otherwise specified, the rotation of virtual camera 60 means a rotation in a manner in which 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.

[0088] 10 is an explanatory diagram of the rotation (change) of the viewing direction V of the virtual camera 60, and is a diagram schematically showing the virtual camera 60 viewed in the z direction and its angle of view 62. In FIG. 10, the virtual camera 60 is shown schematically at two positions during rotation.

[0089] In FIG. 10 , the revolution axis Pc associated with 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 rearward from the virtual camera 60 in the line of sight V, as viewed in the z direction. In this case, when the virtual camera 60 rotates 360 degrees, the virtual camera 60 traces a circular trajectory C70 around the revolution axis Pc, as 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 this predetermined relationship may be fixed or may be variable. 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.

[0090] 10, the line of sight direction V, as viewed in the z direction, always passes through the revolution axis Pc and points away from the revolution axis Pc while the virtual camera 60 is rotating. However, this is not limited to this. For example, the line of sight direction V, as viewed in the z direction, may always pass through the revolution axis Pc and point toward the revolution axis Pc while the virtual camera 60 is rotating. That is, the revolution axis Pc, as viewed in the z direction, may pass through the line of sight direction V of the virtual camera 60 and be offset forward (farther) from the virtual camera 60 with respect to the line of sight direction V. In this case, the revolution axis Pc may be set, for example, to pass through a predetermined object (for example, a predetermined object described below) that is desired to be shown to the user from all directions. Furthermore, in another embodiment, the line of sight direction V, as viewed in the z direction, may rotate during the rotation (revolution) of the virtual camera 60. That is, the virtual camera 60 may be rotatable (rotated) about a rotation axis 61 (an axis parallel to the z axis). Alternatively, the line of sight direction V may be rotatable independently of the revolution.

[0091] As described above, the horizon HL is formed by bending the field surface 70. Therefore, when the line of sight V changes as the virtual camera 60 rotates, the bending deformation of the field surface 70 changes accordingly. In other words, when the line of sight V changes as the virtual camera 60 rotates, the bending deformation of the field surface 70 changes accordingly so that the Xc axis of the local coordinate system is positioned 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 create an awkward feeling, even if the line of sight V changes as the virtual camera 60 rotates.

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

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

[0094] 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 cannot be translated or rotated in the global coordinate system. Therefore, the coordinates of each position on the field surface 70 in the field coordinate system can be converted to each coordinate in the global coordinate system using a predetermined conversion formula, and the reverse conversion is also possible. For the sake of explanation, it is assumed below 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. Unless otherwise specified, the field surface 70 below refers to the field surface 70 on which a field image is projected (the field surface 70 of a field object).

[0095] 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.

[0096] 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' of the line of sight V on the xy plane. 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).

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

[0098] 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 deformation parameter data. In FIG. 13, "-" indicates optionality, and "..." indicates similar repetition. FIG. 14 is an explanatory diagram of distance parameter data. Similarly, in FIG. 14 (and also in FIG. 15), "..." indicates similar repetition. FIG. 15 is an explanatory diagram of orientation parameter data.

[0099] 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 that simply reads out calculated values, setting values, etc. stored as data.

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

[0101] The data stored in the drawing information storage unit 130 includes deformation parameter data. In the deformation parameter data, a value of a deformation parameter A1 different from a normal value β0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 relating to a 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 varies for each field image. Furthermore, the position parameter (X, Y) of the virtual camera 60 relating to a specific position may also be associated with a value of a direction parameter θ. For example, in the example shown in FIG. 13, a value of the deformation parameter A1 corresponding to the value of the direction parameter θ is associated with each value of the position parameter (X, Y) relating to the specific position, such as (XA, YA), (XB, YB), (XC, YC), for each specific position. For example, in FIG. 13, a value β1 of the deformation parameter A1 is associated with the specific position A=(XA, YA), regardless of the direction of the virtual camera 60. On the other hand, when the orientation of the virtual camera 60 is the orientation parameter θ=θC1, a value β3 of the deformation parameter A1 is associated with the specific position C=(XC, YC), and when the orientation of the virtual camera 60 is the orientation parameter θ=θC2, a value β4 of the deformation parameter A1 is associated with the specific position C. Hereinafter, a specific position where the value of the deformation parameter A1 changes depending on the orientation of the virtual camera 60, such as the specific position C, will also be referred to as a "specific position where the degree of deformation changes during the revolution of the virtual camera 60," and an orientation associated with a value different from the normal value β0, such as the value β3 or the value β4 in the deformation parameter data (an orientation where the orientation parameter θ=θC1 or θC2) will be referred to as a "specific orientation." Note that in other embodiments, a specific position where the degree of deformation changes during the revolution of the virtual camera 60 may not be set. Furthermore, although two specific orientations are set for the specific position C, only one specific orientation or three or more specific orientations may be set.

[0102] The data stored in the drawing information storage unit 130 also includes distance parameter data. In the distance parameter data, a value of a distance parameter A2 different from a normal value γ0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 associated with a specific position. Note that the normal value γ0 of the distance parameter A2 is a constant value, but if multiple types of field images G60 are prepared, it may be a variable value that varies for each field image. The value of the distance parameter A2 associated with a 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 by the virtual camera 60 at the specific position at a desired distance. For example, if a user wants to view a specific second object at a close distance, a value of the distance parameter A2 that causes the virtual camera 60 to capture the specific second object at a close distance may be associated with the position parameter (X, Y) associated with the specific position. For example, in FIG. 14, a value γ1 of the distance parameter A2 is associated with a specific position A = (XA, YA), a value γ2 of the distance parameter A2 is associated with a specific position B = (XB, YB), and so on. In this embodiment, as an example, the value of the distance parameter A2 defined by the distance parameter data, such as the value γ1 or the value γ2, is assumed to be 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.

[0103] The data stored in the drawing information storage unit 130 also includes orientation parameter data. In the orientation parameter data, a value of an orientation parameter θ is associated with each value of the position parameters (X, Y) of the virtual camera 60 associated with an orientation change position. The value of the orientation parameter θ associated with 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 desired to be shown to the user, the value of the orientation parameter θ may be associated with the position parameters (X, Y) associated with 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 to correspond 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 lateral passage 14 and the longitudinal 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, such as specific positions A and B, associated with a value of the transformation parameter A1 that is different from the normal value β0, and / or may be positions associated with a value of the distance parameter A2 that is different from the normal value γ0.

[0104] The data stored in the drawing information storage unit 130 also includes angle-of-attack parameter data. Although not shown, in the angle-of-attack parameter data, similar 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 relating to the angle-of-attack change position. The value of the angle-of-attack parameter ψ relating 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 desired to be shown to the user, the value of the angle-of-attack parameter ψ may be associated with the position parameter (X, Y) relating to that position so that the specific second object is located in an area that falls within the angle of view.

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

[0106] The operation information acquisition unit 132 acquires user operation information. The user operation information is generated in response to various operations performed 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 an instruction to move a predetermined object and an instruction to rotate the virtual camera 60. The instruction to move the predetermined object is an instruction to change 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 instructions on the direction of movement, the amount of movement, and the like. The instruction to rotate the virtual camera 60 is an instruction to realize the above-mentioned rotation of the virtual camera 60 and may include instructions on the 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 ψ), the direction of rotation, and the like. The predetermined object is arbitrary, but in this embodiment, it is preferably the first object. The operation information may also include an instruction to move the virtual camera 60, and the like.

[0107] 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, 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.

[0108] 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.

[0109] 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 .

[0110] The change processing unit 142 changes each value of the position parameters (X, Y) of the virtual camera 60 in accordance with operation information, etc., and when changing each value of the position parameters (X, Y), executes various processes in accordance with the change.

[0111] 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 .

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

[0113] The distance modification 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 modification unit 1421 refers to the distance parameter data in the drawing information storage unit 130 and calculates the value of the distance parameter A2 corresponding to 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) in the distance parameter data, an interpolated value may be calculated. An example of a method for calculating this interpolated value will be described later. Then, the distance modification unit 1421 associates the calculated value of the distance parameter A2 with each value of the updated position parameters (X, Y). 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) in the distance parameter data, the distance modification unit 1421 may simply associate the normal value γ0.

[0114] The orientation change unit 1422 associates a 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 a value of the orientation parameter θ corresponding to each value of the position parameters (X, Y). At this time, if a value of the orientation parameter θ is not associated with each value of the updated position parameters (X, Y) in the orientation parameter data, the orientation change unit 1422 may calculate an interpolated value. An example of a method for calculating this 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 a value of the orientation parameter θ is not associated with each value of the updated position parameters (X, Y) in 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 movement direction of the predetermined object when viewed in the z direction.

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

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

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

[0118] 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. Note that 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.

[0119] The revolution processing unit 14251 realizes rotation of the line of sight V around the revolution axis Pc (see FIG. 10) that is separated from the virtual camera 60. Note that the revolution processing unit 14251 may set the position of the revolution axis Pc as appropriate according to the position of the virtual camera 60, the position of a predetermined object, etc.

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

[0121] 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 (i.e., a rotation around an axis perpendicular to the Vz plane passing through the virtual camera 60).

[0122] 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 perform processing.

[0123] When a predetermined second movement condition is met, 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 arbitrary, but may be satisfied, for example, by operation information (an instruction to move 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.

[0124] The transformation processing unit 145 executes bending and deformation processing to bend and deform the field surface 70 (and the field objects associated therewith) based on the position and orientation of the virtual camera 60. The bending and deformation of the field surface 70 is as described above. In the example shown in FIG. 13 , for example, when the values ​​of the position parameters (X, Y) are (XA, YA), the transformation processing unit 145 bends and deforms the field surface 70 (and the field objects associated therewith) based on the viewing direction V of the virtual camera 60 and the value β1 of the transformation parameter A1, regardless of the orientation of the virtual camera 60. Furthermore, when the values ​​of the position parameters (X, Y) are (XC, YC), the transformation processing unit 145 bends and deforms the field surface 70 (and the field objects associated therewith) based on the value β3 of the transformation parameter A1 and the viewing direction V when the orientation of the virtual camera 60 is “θC1.” Furthermore, when the orientation of the virtual camera 60 is “θC2,” the transformation processing unit 145 bends and deforms the field surface 70 (and the field objects associated therewith) based on the value β4 of the transformation parameter A1 and the viewing direction V.

[0125] The projection processing unit 146 places various objects (second objects, 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 correspondence information described above. At this time, the projection processing unit 146 places a predetermined object at the 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.

[0126] 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 and deformation of the field surface 70. Specifically, the background processing unit 147 determines the position of the background object in the z direction relative to the field object based on the height H1 (see FIG. 6) of a virtual horizon HL represented by the field object. For example, if the height H1 of the horizon HL decreases due to a change in the degree of bending and 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, if 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 an intersection point P4 of a tangent 6213 (a tangent within the angle of view 62) from the virtual camera 60 to the field surface 70 with the background surface 72 and an 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.

[0127] 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, if the amount of change in the degree of bending deformation by the deformation processing unit 145 is relatively small, the background processing unit 147 may not change the position of the background object relative to the field object along the z direction.

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

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

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

[0131] 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. Note that, hereinafter, a "pre-update" value corresponds to a previous value (a value derived in the previous processing cycle (k)) based on a certain processing cycle (k+1), and a "post-update" value corresponds to a current value derived in the processing cycle (k+1). Note that, as an example, in the first processing cycle, the updated position (u(0), v(0)) of the predetermined object is set to a predetermined initial position, the updated position parameters (X, Y) of the virtual camera 60 (X(0), Y(0)) are set to the same as the position (u(0), v(0)) of the predetermined object, and the camera parameter values ​​(X(0), Y(0), γ(0), θ(0), ψ(0)) are set to their normal values.

[0132] 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.

[0133] In step S1602, 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; otherwise, the process proceeds to step S1616.

[0134] In step S1604, second movement processing unit 144 calculates the position of the predetermined object after it has been moved, based on the instruction to move the predetermined object in the operation information obtained in step S1600. Here, it is assumed that the position of the predetermined object after it has been moved is (u(k+1), v(k+1)) in field coordinates. It is assumed that the position of the predetermined object before it has been 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)). It is to be noted that the instruction to move the predetermined object may be an instruction that indicates such a movement vector (movement direction).

[0135] In step S1606, the first movement processing unit 1420 calculates the values ​​(X(k+1), Y(k+1)) of the updated position parameters (X, Y) of the virtual camera 60 based on the position (u(k+1), v(k+1)) of the predetermined object after movement obtained in step S1604. Note that the values ​​of the position parameters (X, Y) before the update are assumed to be (X(k), Y(k)). In this case, the change vector of the values ​​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)).

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

[0137] In step S1610, the orientation change unit 1422 calculates the value θ(k+1) of the orientation parameter θ to be associated with the updated position parameters (X, Y) (X(k+1), Y(k+1)) based on the updated values ​​(X(k+1), Y(k+1)) of the position parameters (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.

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

[0139] In step S1614, 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.

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

[0141] 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.

[0142] 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.

[0143] 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.

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

[0145] In step S1620, the background processing unit 147 determines whether the current value β(k+1) of the deformation parameter A1 used in the current processing cycle has changed relative to the previous value β(k). If the determination result is "YES," the process proceeds to step S1622; otherwise, the process proceeds to step S1624. In a modified example, in step S1620, the background processing unit 147 may determine whether the amount of change in the current value β(k+1) of the deformation parameter A1 used in the current processing cycle relative 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).

[0146] In step S1622, the background processing unit 147 changes the position of the background object in the z direction based on the difference between the current value β(k+1) and the previous value β(k) of the deformation parameter A1 (i.e., the difference in the bending degree of the bending deformation). Note that this process of changing the position of the background object in the z direction based on the change in the bending degree of the bending deformation may be as described above.

[0147] In step S1624, the rendering data generating unit 148 generates various updated rendering data (field image rendering data) for the current processing cycle.

[0148] In step S1626, the drawing data transmission unit 134 transmits the drawing data generated in step S1624 to the terminal device 20. Upon receiving the drawing data, the terminal device 20 updates the display of the field image on the display unit 23 based on the drawing data.

[0149] 16, it is possible to generate drawing data that reflects operation information received from the terminal device 20, and to transmit the generated drawing data to the terminal device 20. Therefore, it is possible to realize real-time updating of field images as the game progresses.

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

[0151] In step S1700, the distance change unit 1421 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 specific position set in the distance parameter data (see FIG. 14). If the determination result is "YES", the process proceeds to step S1702; otherwise, the process proceeds to step S1704.

[0152] In step S1702, the distance change unit 1421 sets the value γ(k+1) of the distance parameter A2 to 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 parameters (X, Y). For example, in the example shown in Fig. 14, when each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) corresponds to the specific position A(XA, YA), the value of the distance parameter A2 is set to γ(k+1)=γ1.

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

[0154] In step S1706, the distance change unit 1421 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, if 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 distance change unit 1421 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, if 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(3) between (X(k+1), Y(k+1)) and the specific position Ps(3) related to the interpolation processing range Rs(3) is calculated, along with the distance (2) between (X(k+1), Y(k+1)) and the specific position Ps(2) related to the interpolation processing range Rs(2).

[0155] In step S1708, the distance change unit 1421 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 using 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 overlap region Rs′, the interpolated value γ(Rs′) may be calculated using 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 The values ​​γ2 and γ3 are associated with the specific positions Ps(2) and Ps(3), respectively, and are smaller than the normal value γ0 as described above. B0 is a coefficient that varies within the range of 0 to 1, and approaches 1 as the updated position parameter (X, Y) values ​​approach the specific position Ps(2), and becomes 1 at the boundary position on the specific position Ps(2) side in the overlap region Rs'. Furthermore, the coefficient B0 approaches 0 as the updated position parameter (X, Y) values ​​approach the specific position Ps(3), and becomes 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 distance change unit 1421 sets the value γ(k+1) of the distance parameter A2 to the interpolated value calculated in step S1708.

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

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

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

[0159] 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; otherwise, the process proceeds to step S1904.

[0160] 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 θ, which is associated with the orientation change position corresponding to each value (X(k+1), Y(k+1)) of the position parameters (X, Y) after the update. For example, in the example shown in Fig. 15, when each value (X(k+1), Y(k+1)) of the position parameters (X, Y) after the update corresponds to the orientation change position T1(XP1, YP1), the value of the orientation parameter θ is set to θ(k+1)=θ1.

[0161] In step S1904, the orientation change unit 1422 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (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 defined as 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 as an area of ​​another form. Furthermore, in other embodiments, an interpolation processing range may not be set for some or all of the orientation change positions. If the determination result is "YES," the process proceeds to step S1906; otherwise, the process proceeds to step S1912.

[0162] In step S1906, the orientation change unit 1422 calculates the distance between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and the 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.

[0163] 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 for calculating the interpolated value may be the same as in step S1708 described above.

[0164] 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.

[0165] 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.

[0166] 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 change in the values ​​of the position parameters (X, Y) at each predetermined processing cycle. This allows for 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., at the processing cycle when the orientation change position is reached.

[0167] Fig. 20 is a schematic flowchart showing an example of the angle-of-attack 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 for the parameters, so a description thereof will be omitted.

[0168] Fig. 21 is a schematic flowchart 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.

[0169] In step S2100, the transformation processing unit 145 determines whether 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 transformation parameter data (see FIG. 13). If the determination result is "YES", the process proceeds to step S2102; otherwise, the process proceeds to step S2104.

[0170] In step S2102, the transformation processing unit 145 sets the value β(k+1) of the transformation parameter A1 after update to the value of the transformation parameter A1 associated with the specific position corresponding to each value (X(k+1), Y(k+1)) of the position parameter (X, Y) after update. For example, in the example shown in Fig. 13, when each value (X(k+1), Y(k+1)) of the position parameter (X, Y) after update corresponds to the specific position A(XA, YA), the value β(k+1) of the transformation parameter A1 after update is set to β1.

[0171] In step S2104, the transformation processing unit 145 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary specific position set in the transformation 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 defined as 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.

[0172] In step S2106, the transformation processing unit 145 calculates the distance between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and the 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.

[0173] In step S2108, the transformation processing unit 145 calculates an interpolated value of the transformation parameter A1 based on the distance obtained in step S2106. The method for calculating the interpolated value may be the same as in step S1708 described above.

[0174] However, in the case of a specific position where the degree of deformation changes during the revolution of virtual camera 60, such as specific position C in Fig. 13, the value β(C0) may be calculated as follows based on the value θ(k+1) of the orientation parameter θ. Here, specific position C will be described. First, the value β(C0) of the deformation parameter A1 associated with specific position C may be calculated by the following formula (1) when θC1-Δθ1≦θ(k+1)≦θC1+Δθ1, or by the following formula (2) when θC2-Δθ1≦θ(k+1)≦θC2+Δθ1. In other ranges, the value β(C0) may be set to the normal value β0. β(C0)=-(β3-β0) / Δθ1×|(θ(k+1)-θC1)|+β3 Equation (1) β(C0)=-(β4-β0) / Δθ1×|(θ(k+1)-θC2)|+β4 Equation (2) For example, in equation (1), β(C0) is obtained by multiplying the absolute value of (θ(k+1)-θC1) by (β3-β0) / Δθ1 and subtracting the result from β3. Here, Δθ1 is a value that determines the interpolation angle range, and β3 and β4 are larger than the normal value β0. Note that although the same Δθ1 is used in equations (1) and (2), different Δθ1s may also be used. Then, if the distance between the specific position C and (X(k+1), Y(k+1)) is the distance d(dC), the interpolated value β(dC) of the deformation parameter A1 related to the distance d(dC) may be calculated using the above-mentioned β(C0) using the following formula: β(dC)=(β(C0)-β0) / r×(rd(dC))+β0 The same applies to the case where the interpolation processing ranges for specific positions A and B have an overlapping area Rs', for example. Specifically, when each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) is located within the overlapping area Rs', if the distance between specific position A and (X(k+1), Y(k+1)) is distance d(dA) and the distance between specific position B and (X(k+1), Y(k+1)) is distance d(dB), the interpolated value β(Rs') may be calculated by the following formula based on the interpolated value β(dA) of the deformation parameter A1 related to the distance d(dA) and the interpolated value β(dB) of the deformation parameter A1 related to the distance d(dB): β(Rs')=B1×β(dA)+(1-B1)×β(dB) Here, β(dA) and β(dB) are as follows: β(dA)=(β1-β0) / r×(rd(dA))+β0 β(dB)=(β2-β0) / r×(rd(dB))+β0 B1 is a coefficient that varies within the range of 0 to 1, and approaches 1 as each value of the updated position parameters (X, Y) approaches specific position A, and becomes 1 at the boundary position on the specific position A side in the overlap region Rs'. Furthermore, coefficient B1 approaches 0 as each value of the updated position parameters (X, Y) approaches specific position B, and becomes 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(dA)) / {(rd(dA))+(rd(dB))} In step S2110, the transformation processing unit 145 sets the value β(k+1) of the post-update transformation parameter A1 to the interpolated value calculated in step S2108.

[0175] In step S2112, the transformation processing unit 145 sets the value β(k+1) of the post-update transformation parameter A1 to the normal value β0.

[0176] In step S2114, the transformation processing unit 145 associates the origin O of the local coordinate system with the position (u(k+1), v(k+1)) (an example of a predetermined position) of the predetermined object after movement on the field surface 70 (the field surface 70 on which the field image is projected). That is, the origin O of the function F1 used for bending transformation is associated with the position (u(k+1), v(k+1)) of the predetermined object after movement. The example shown in FIG. 22 illustrates a state in which the origin O of the local coordinate system is associated with (u(k+1), v(k+1)) on the field surface 70. Note that in other embodiments, the position (position on the field surface 70) to which the origin O of the local coordinate system is associated may be a position other than the position (u(k+1), v(k+1)) of the predetermined object after movement. Furthermore, the position (position on the field surface 70) to which the origin O of the local coordinate system is associated does not need to exactly match the position (u(k+1), v(k+1)) of the specified object after movement, but may be in the vicinity thereof.

[0177] In step S2116, the transformation processing unit 145 associates a local coordinate system (see FIGS. 7 and 22) with the field coordinate system (texture coordinate system of the field image) of the field surface 70 based on the origin O set in step S2114 and the value θ(k+1) of the direction parameter θ. Specifically, the axis that passes through the origin O set in step S2114 and has the value θ(k+1) of the direction parameter θ with respect to the x direction is set as the Xc axis.

[0178] In step S2118, the deformation processing unit 145 bends and deforms the field surface 70 based on the value β(k+1) of the updated deformation parameter A1 set in step S2102, step S2110, or step S2112, and the local coordinate system associated with the field coordinate system of the field surface 70 in step S2116. In this case, for example, the deformation processing unit 145 can bend and deform the field surface 70 based on the function F1 described above with reference to FIG.

[0179] 21, the entire field surface 70 is bent and deformed with a substantially uniform cross section, regardless of the area of ​​the entire field object that falls within the angle of view of the virtual camera 60. In this case, the processing load can be reduced compared to when the range of bending and deformation is varied depending on the area of ​​the entire field object that falls within the angle of view of the virtual camera 60.

[0180] Next, with reference to FIGS. 23 to 24C, an example of a scene in which the example of operation described with reference to FIGS. 16 to 22 is applied will be described.

[0181] 23 to 24B are explanatory diagrams illustrating application scenes of the operational example described with reference to FIGS. 16 to 22. FIG. 23 is a plan view of a field object 77. FIG. 24A shows an example of a field image G24A relating to specific position A, and FIG. 24B shows an example of a field image G24B relating to specific position B. FIG. 24C shows an example of a field image G24C relating to specific position B relating to another operational example. In FIG. 23, the field object 77 is shown as a representation in which the field image is projected onto the field surface 70 in a normal state. In FIG. 23, specific positions A and B are illustrated. Specific position B corresponds to the position where a horizontal passage 14 and a vertical passage 15 intersect. A plurality of roadside tree objects 16, which are second objects, are placed on both sides of the vertical passage 15. The roadside tree objects 16 are erected in the field object and extend in the z direction. In Figure 23, as an example, multiple street tree objects 16 are arranged in a straight line along the v direction, but they may also be arranged in a staggered pattern with a slight offset in the u direction, or they may be arranged on only one side of the vertical passage 15, or they may be arranged in two or more rows.

[0182] Here, a description will be given of a drawing function when the first object 3 moves from a specific position A to a specific position B 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. As shown in FIGS. 13 and 14, the specific positions A and B are associated with values ​​β1 and β2 of a transformation parameter A1 and values ​​γ1 and γ2 of a distance parameter A2, respectively. Here, it is assumed that value β1 is smaller than value β2, and value γ1 is larger than value γ2.

[0183] When the first object 3 is located at specific position A, the values ​​of the position parameters (X, Y) of the virtual camera 60 (an example of the first position) 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, so that the projection vector V' (see FIG. 11) is perpendicular to the movement direction (in this case, the u direction) of the first object 3. At this time, the first object 3 is located in an area that falls within the angle of view of the virtual camera 60, and a field image G24A shown in FIG. 24A may be drawn. Note that in this case, the horizon HL has a height corresponding to the value β1 of the deformation parameter A1, and the first object 3 and the like have a display size corresponding to the value γ1 of the distance parameter A2.

[0184] When the first object 3 is moved from the specific position A toward the specific position B 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.

[0185] The values ​​of the position parameters (X, Y) of the virtual camera 60 (an example of a second position) when the first object 3 has reached the specific position B correspond to the position of the first object 3 that has reached the specific position B, and the value of the orientation parameter θ is the same as when the first object 3 is located at the specific position A. At this time, the first object 3 and roadside tree objects 16 may be located in an area that falls within the angle of view of the virtual camera 60, and a field image G24B shown in FIG. 24B may be drawn. In this case, the horizon HL has a height corresponding to the value β2 of the transformation parameter A1, and the first object 3 and the like have a display size corresponding to the value γ2 of the distance parameter A2.

[0186] Here, as described above, the value β1 is smaller than the value β2, and the value γ1 is larger than the value γ2. Therefore, the degree of bending deformation of the field object 77 is greater in the field image G24B than in the field image G24A. Therefore, as shown schematically in FIGS. 24A and 24B, the position of the horizon HL in the image changes significantly.

[0187] 24C shows an example of a field image G24C associated with a specific position B according to another operation example. Unlike the operation example described above, the other operation example has the value of the distance parameter A2 associated with the specific position B being the same as the value of the distance parameter A2 associated with the specific position A. In this case, although the position of the horizon HL changes between the field image G24A and the field image G24C, the display size of the first object 3 and the like remains the same. While this other operation example can realize a more diverse representation of the virtual space viewed from the virtual camera 60 than an operation example (not shown) according to a comparative example in which the value of the deformation parameter A1 is always constant, a relatively large change in the degree of deformation (a change in the height H1 of the horizon HL) may cause the user to feel uncomfortable.

[0188] In contrast, according to the operation example described with reference to FIGS. 16 to 22, the position of the horizon HL changes between field image G24A and 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 catch the user's eye and be impressive, thereby eliminating the sense of incongruity that may be felt due to the change in the height H1 of the horizon HL. In this way, by varying the values ​​of the associated deformation parameter A1 between specific position A and specific position B and also varying the value of the associated distance parameter A2, it is possible to realize a variety of expressions in the virtual space viewed from the virtual camera 60 while reducing the sense of incongruity that may be felt due to the change in the degree of deformation (the change in the height H1 of the horizon HL). In relation to this effect, 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 can further eliminate the sense of incongruity. For example, if the change in the value of the distance parameter A2 is relatively steep, the sense of discomfort can be reduced even if the change in the value of the deformation parameter A1 is relatively steep.

[0189] Furthermore, by varying the value of the associated transformation parameter A1 between specific position A and specific position B 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 enhanced. Furthermore, the presence of the vertical passage 15 can be emphasized, and second objects (e.g., roadside tree objects 16) placed in the vertical passage 15 and its surroundings can be made to stand out. This effect is particularly noticeable when the terminal device 20 outputs a field image on a relatively small screen, such as the screen of a smartphone. Furthermore, since restrictions such as not placing other second objects in order to highlight a second object are relaxed, the degree of freedom in placing second objects on the field object increases. For the same reason, the degree of freedom in the area in which a first object can move on the field object can also increase.

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

[0191] Here, since the roadside tree objects 16 are fixed, the range of values ​​of the position parameters (X, Y) of the virtual camera 60 when the roadside tree objects 16 overlap along the line of sight V is known in advance. However, when various second objects (which may include movable second objects) are placed, the values ​​of the camera parameters that cause multiple second objects to overlap along the line of sight V may change depending on the progress of the game and other factors. Therefore, in such a case, it may be determined whether multiple second objects placed in an area within the angle of view of the virtual camera 60 in the field object overlap along the line of sight. If there is an overlap, the degree of bending deformation may be made larger than when there is no overlap. Note that this modification is also suitable when the values ​​of the camera parameters can be varied in various ways. This is because whether multiple second objects overlap along the line of sight V may change depending on the value of the angle of attack parameter ψ and the value of the orientation parameter θ even if the values ​​of the position parameters (X, Y) of the virtual camera 60 are the same.

[0192] Furthermore, according to the operational example described with reference to FIGS. 16 to 22, the value of the deformation parameter A1 changes from value β1 to value β2 via one or more interpolated values ​​(an example of intermediate values). This achieves a more gradual change than when the deformation parameter A1 changes from value β1 to value β2 in the processing cycle in which the first object 3 reaches the specific position B, effectively reducing the sense of discomfort that the user may experience due to the change in the degree of deformation. The same applies to the change in the distance parameter A2 from value γ1 to value γ2. Furthermore, if the above-described interpolation were not used, restrictions would likely arise, such as not placing specific positions close to each other, in order to avoid abrupt changes. In this regard, using the above-described interpolation increases the degree of freedom in arranging the specific positions. As a result, field images can be further diversified.

[0193] 16 to 22, for example, appropriate values ​​of the transformation parameter A1 can be associated by interpolation with each position between specific position A and specific position B, which allows for more efficient use of the storage capacity for the transformation parameter data than when each value of the transformation parameter A1 is associated with each of the positions on the transformation parameter data. This also applies to other parameters such as the distance parameter.

[0194] 16 to 22, a single material for the field object (field image and field surface 70) is used to realize a variety of field objects by varying the degree of deformation related to bending deformation of the field surface 70. This makes it possible to reduce storage capacity and load processing compared to when a variety of field objects (field objects with fixed, undeformable forms) are prepared in advance.

[0195] While FIG. 23 has described the movement of the first object 3 from specific position A to specific position B, the reverse may also be achieved for the movement of the first object 3 from specific position B to specific position A. Also, while FIG. 23 has described the movement of the first object 3 from specific position A to specific position B, the same may also be achieved for the movement of the first object 3 from a position with another attribute, such as a normal position, to specific position B. In this case, the normal position is a position where the normal value β0 of the transformation parameter A1 is set and the normal value γ0 of the distance parameter A2 is set. Also, the normal position may be realized between specific position A and specific position B by making the distance from specific position A to specific position B relatively long.

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

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

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

[0199] 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 as to increase the zoom amount. 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 as to decrease the zoom amount. In this way, the function of the distance change unit 1421 can be achieved by the zoom amount change unit 1421A.

[0200] In another modification, the distance change unit 1421 and the zoom amount change unit 1421A may function simultaneously.

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

[0202] For example, in the above-described embodiment, the bending deformation of the field object is realized by bending the entire field object, but this 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 that region.

[0203] In the above-described embodiment, the position to which the origin O of the local coordinate system of the field object corresponds basically corresponds to the position of the first object, but is not limited to this. When a predetermined condition is met, the position to which the origin O of the local coordinate system of the field object corresponds may be changed to correspond to the position of a specific object. In this case, the specific object may be an object such as the first object whose position can change relative to the field object, or an object such as the second object whose position is fixed relative to the field object.

[0204] Furthermore, in the above-described embodiment, the values ​​of various parameters (e.g., distance parameter A2, orientation parameter θ, angle of attack parameter ψ, etc.) associated with each value of the position parameter (X, Y) of the virtual camera 60 when the predetermined object moves are the same each time when the values ​​of the position parameters (X, Y) are the same. For example, when the predetermined object moves and the predetermined object is located at a certain position, the same values ​​of various parameters (e.g., distance parameter A2, orientation parameter θ, angle of attack parameter ψ, etc.) are realized for that position. However, this is not limited to this. For example, the values ​​of various parameters (e.g., distance parameter A2, orientation parameter θ, angle of attack parameter ψ, etc.) associated with each value of the position parameter (X, Y) of the virtual camera 60 when the predetermined object moves may be changed depending on 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 met based on the progress of the game or other factors, and may be set to a normal value β0 otherwise. Furthermore, such a change may be performed, for example, when a predetermined event occurs, when a moving second object enters an area in the field object that falls within the angle of view of the virtual camera 60 (is placed on the screen), or in response to a manual operation by the user to change the angle of view.

[0205] Furthermore, in the above-described embodiment, specific positions such as specific positions A and B are fixed positions on the field object, but they may be movable positions on the field object. For example, some of the specific positions may be set to correspond to the position of a predetermined moving second object among the second objects. In this case, one specific position may be a position that has a predetermined relationship with the position of one moving predetermined second object.

[0206] As described above, in the above-described embodiment, when the interpolation processing range is fixed and not dynamically changed, the specific position related to the interpolation processing range may be set so as to be located in an area of ​​the field object that falls within the angle of view of the virtual camera 60 when the values ​​of the position parameters (X, Y) of the virtual camera 60 are located within the interpolation processing range and the values ​​of the distance parameter A2 and the angle of attack parameter ψ are normal values ​​γ0, ψ0, even when the direction parameter θ is any value. For example, Fig. 26 shows the interpolation processing range Rs(A) related to the specific position A in a planar view, and Fig. 27 shows a cross-sectional view taken along the line J1-J1 in Fig. 26 superimposed on a cross-sectional view taken along the line J2-J2. 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, and the value of the parameter θ is θ(P260) as shown in FIG. 26, as shown in FIG. 27, 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. 27 is the upper boundary line of the angle of view 62 (the 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 virtual camera 60 correspond to 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. 27, even when the value of parameter θ is θ(P261) as shown in FIG. 26, specific position A is not located in an area of ​​the field object that falls within the angle of view of virtual camera 60. Therefore, in this case, 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 a 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 the updated (or pre-updated) values ​​of the distance parameter A2 and the angle of attack parameter ψ (which may be values ​​different from the normal values ​​γ0 and ψ0) are applied, the specific position is located within the angle of view of the virtual camera 60 even for an arbitrary value of the orientation parameter θ. 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, it may be located within another interpolation processing range, and thus the values ​​of the distance parameter A2, etc. may be interpolated values ​​that are not normal values. Note that, although a specification in which the virtual camera 60 can revolve or rotate at any position is assumed here, in a specification in which the virtual camera 60 can revolve or rotate only at limited positions or in a specification in which the virtual camera 60 cannot revolve or rotate at all, the phrase "even for any value of the orientation parameter θ" in the above description may be read as "for the value of the orientation parameter θ at that time."

[0207] Furthermore, the width of the interpolation processing range may be dynamically changed according to the rate of change (amount of change per time) of each value of the position parameters (X, Y) of the virtual camera 60, such that the interpolation processing range becomes wider as the rate of change (amount of change per time) increases. Alternatively, based on a similar concept, a predetermined margin may be set for the interpolation processing range regardless of the rate of change. This makes it possible to reduce inconvenience (a sense of discomfort that may be felt by 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 (or specific object) while the rate of change (amount of change per time) of the values ​​of the position parameters (X, Y) of the virtual camera 60 remains high.

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

[0209] Furthermore, in the above-described embodiment, whether or not to perform interpolation processing is determined based on whether or not the values ​​of the updated position parameters (X, Y) are located within the interpolation processing range, but this is not limiting. For example, equivalently, a region in the field object where the values ​​of the updated position parameters (X, Y) of the virtual camera 60 are located and that falls within the angle of view of the virtual camera 60 may be derived based on the values ​​of the updated distance parameter A2 and the angle of attack parameter ψ, and it may be determined whether or not the specific position is located in that region. In this case, if the specific position is located in that region but the values ​​of the updated position parameters (X, Y) of the virtual camera 60 do not correspond to the specific position, interpolation processing may be performed.

[0210] Furthermore, in each of the above-described embodiments, the first movement processing unit 1420 may be omitted. In this case, as described above, when the distance parameter A2 or the value of the optical parameter is changed by the distance changing unit 1421 or the zoom amount changing unit 1421A, the bending deformation processing may be executed in conjunction with the change.

[0211] In addition, the following supplementary notes are disclosed regarding the above-described embodiment.

[0212] [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 that are orthogonal to each other, as viewed from a virtual camera placed 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; 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; a transformation processing unit that transforms the field object based on a position of the virtual camera with respect to the field object, The deformation processing unit changes the degree of deformation of the field object depending on whether the position of the virtual camera relative 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 of the virtual camera.

[0213] [Appendix 2] An information processing device as described in Appendix 1, 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 relative to the field object is the first position and when the position is the second position.

[0214] [Appendix 3] 3. The information processing device according to claim 2, wherein the distance change unit decreases the distance when a position of the virtual camera with respect to the field object changes from the first position to the second position.

[0215] [Appendix 4] An information processing device described in any one of Appendixes 1 to 3, further including a parameter value change unit that changes a value of an optical parameter related to the zoom amount of the virtual camera when the position of the virtual camera relative to the field object changes between the first position and the second position.

[0216] [Appendix 5] the field object is shaped based on a deformable base surface; 5. The information processing device according to claim 1, wherein the transformation processing unit transforms the basic surface so that the shape of the basic surface when cut by a plane including the line of sight of the virtual camera and the third axis remains approximately the same along a direction perpendicular to the plane.

[0217] [Appendix 6] the field object is shaped based on a deformable base surface; 5. The information processing device according to any one of appendixes 1 to 4, 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 pointing upward 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.

[0218] [Appendix 7] the transformation processing unit transforms the basic surface based on a value of a transformation parameter that is associated with a position of the virtual camera with respect to the field object and that determines a degree of transformation of the field object; 7. The information processing device according to claim 6, wherein the transformation parameters include a coefficient assigned to a term relating to the value of the X coordinate in the function.

[0219] [Appendix 8] the values ​​of the deformation parameters include a first value associated with the first position and a second value associated with the second position; The information processing device described in Appendix 7, wherein the transformation processing unit changes the value of the transformation parameter to the first value or the second value via one or more intermediate values ​​between the first value and the second value when the position of the virtual camera relative to the field object changes between the first position and the second position.

[0220] [Appendix 9] the objects further include a first object arranged relative to the field object; a second movement processing unit that changes a position of the first object relative to the field object; The information processing device according to any one of appendices 6 to 8, wherein the first movement processing unit changes the position of the virtual camera relative to the field object in conjunction with a change in the position of the first object relative to the field object.

[0221] [Appendix 10] 10. The information processing device according to claim 9, wherein the transformation processing unit determines the predetermined position related to the function based on a position of the first object relative to the field object.

[0222] [Appendix 11] An information processing device described in any one of Appendixes 1 to 10, wherein the degree of deformation of the field object is greater when the position of the virtual camera relative to the field object is at the second position than when the position of the virtual camera relative to the field object is at the first position.

[0223] [Appendix 12] the object further includes a plurality of second objects arranged relative to the field object; 12. The information processing device according to claim 11, wherein the plurality of second objects are located within an angle of view of the virtual camera when the position of the virtual camera with respect to the field object is at the second position.

[0224] [Appendix 13] 13. The information processing device according to claim 12, wherein the plurality of second objects overlap with each other in a line of sight direction of the virtual camera when the position of the virtual camera with respect to the field object is at the second position.

[0225] [Appendix 14] the objects further include a background object; An information processing device described in any one of Appendixes 1 to 13, further including a background processing unit that changes the position of the background object relative to the field object along the direction of the third axis when the position of the virtual camera relative to the field object is at the first position and when the position of the virtual camera relative to the field object is at the second position.

[0226] [Appendix 15] The information processing device described in Appendix 14, wherein the background processing unit determines the position of the background object relative to the field object along the direction of the third axis based on the height of a virtual horizon represented by the field object.

[0227] [Appendix 16] 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; changing a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera; deforming the field object by a first deformation degree when the position of the virtual camera relative to the field object is at a first position; An information processing method executed by a computer, comprising: when the position of the virtual camera relative to the field object is at a second position different from the first position in a direction intersecting the line of sight direction of the virtual camera, deforming the field object with a second deformation degree different from the first deformation degree.

[0228] [Appendix 17] An information processing program 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, the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis; changing a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera; deforming the field object by a first deformation degree when the position of the virtual camera relative to the field object is at a first position; When a position of the virtual camera with respect to the field object is at a second position different from the first position in a direction intersecting a line of sight direction of the virtual camera, the field object is deformed by a second deformation degree different from the first deformation degree. An information processing program that causes a computer to execute a process. [Explanation of symbols]

[0229] 1. Game System 3 First Object 10 Server device 11 Server Communication Unit 12 Server storage unit 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 Unit 1421 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 146 Projection processing unit 147 Background Processing Section 148 Drawing data generation unit

Claims

1. A program for rendering an object that is placed in a virtual space and displayed on a display unit as seen from a virtual camera that is placed in the virtual space, the objects include a field object onto which a field image is projected and a background object onto which a background image is projected; a transformation process for transforming the field object to change the height of a virtual horizon represented by the field object; A program that causes a computer to execute background processing that determines the position of the background object relative to the field object based on the height of the virtual horizon.

2. The program according to claim 1 , wherein the transformation process transforms the field object based on a predetermined condition related to the virtual camera.

3. A program as described in claim 1 or 2, which causes the computer to perform a process of changing the position of the virtual camera relative to the field object.

4. the objects include a second object positioned relative to the field object; 4. The program according to claim 1, wherein the transformation process transforms the field object based on a predetermined condition related to the second object.

5. The program according to claim 1 , wherein the background processing is not executed when a change in the degree of bending deformation of the field object is equal to or less than a threshold value greater than 0.

6. the object is placed in the three-dimensional virtual space defined by a first axis, a second axis, and a third axis that are orthogonal to one another; the field object is associated with a two-dimensional plane defined by the first axis and the second axis, and is shaped based on a deformable basic surface; 6. The program according to claim 1, wherein the transformation process transforms the basic surface so that the shape of the basic surface when cut by a plane including the line of sight of the virtual camera and the third axis is approximately the same along a direction perpendicular to the plane.

7. the object is placed in the three-dimensional virtual space defined by a first axis, a second axis, and a third axis that are orthogonal to one another; the field object is associated with a two-dimensional plane defined by the first axis and the second axis, and is shaped based on a deformable basic surface; 6. The program 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 the origin, an axis passing through the origin and parallel to the third axis is defined as the Y axis, the direction pointing upward 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 process 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.

8. the transformation processing transforms the basic surface based on a value of a transformation parameter that is associated with a position of the virtual camera relative to the field object and that determines a degree of transformation of the field object; The program according to claim 7 , wherein the transformation parameters include a coefficient assigned to a term related to the value of the X coordinate in the function.

9. the objects include a second object positioned relative to the field object; the values ​​of the deformation parameters include a first value associated with a first position where the second object is not located within an angle of view of the virtual camera, and a second value associated with a second position where the second object is located within an angle of view of the virtual camera; 9. The program of claim 8, wherein the transformation processing changes the value of the transformation parameter to the first value or the second value via one or more intermediate values ​​between the first value and the second value when the position of the virtual camera relative to the field object changes between the first position and the second position.

10. 10. The program according to claim 9, wherein a degree of deformation of the field object is greater when the second object is located within the angle of view of the virtual camera than when the second object is not located within the angle of view of the virtual camera.

11. The program according to claim 9 , wherein the second objects overlap with each other in the line of sight of the virtual camera when the virtual camera is positioned with respect to the field object at the second position.

12. 1. An information processing method for rendering an object that is placed in a virtual space and displayed on a display unit as viewed from a virtual camera that is placed in the virtual space, comprising: the objects include a field object onto which a field image is projected and a background object onto which a background image is projected; changing the height of a virtual horizon represented by the field object by deforming the field object; and a background step of determining a position of the background object relative to the field object based on the height of the virtual horizon.

13. An information processing device for rendering an object that is placed in a virtual space and displayed on a display unit as viewed from a virtual camera that is placed in the virtual space, the objects include a field object onto which a field image is projected and a background object onto which a background image is projected; a second processing unit that changes the height of a virtual horizon represented by the field object by deforming the field object; a background processing unit that determines a position of the background object relative to the field object based on the height of the virtual horizon.

Citation Information

Patent Citations

  • Game information, information storage medium, and game apparatus

    JP2002273029A

  • 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