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

JP2025023030AActive Publication Date: 2025-02-14GLEE HOLDINGS CO LTD
7 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Benefits of technology

【0007】 1つの側面では、本発明によれば、仮想カメラから視た仮想空間内のフィールドオブジェクトの多様な表現を生成することが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025023030000001_ABST
    Figure 2025023030000001_ABST
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 objects placed on a field object in a three-dimensional virtual space from a bird's-eye view from a virtual camera disposed in the virtual space. [Prior art documents] [Patent documents]

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

[0004] With the conventional techniques described above, 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 as 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 a position of the virtual camera relative to the field object; a transformation process for transforming the field object to change the height of a virtual horizon represented by the field object; A computer is caused to execute a plurality of processes including a background process, A program is provided in which the background processing determines a position of the background object relative to the field object based on the height of the virtual horizon. Effect of the Invention

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

[0008] [Figure 1] 1 is a block diagram of a game system according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram illustrating an example of a field image. [Diagram 3] FIG. 2 is a plan view showing an entire field surface forming a field object and an entire background surface forming a background object. [Figure 4] FIG. 2 is a perspective view showing a part of a field surface and a background surface. [Diagram 5] FIG. 2 is an explanatory diagram showing various positional relationships. [Figure 6] 1 is a schematic diagram showing an example of a field image obtained by rendering an image seen from a virtual camera. [Figure 7] 11 is an explanatory diagram of an example of deformation parameters for realizing bending deformation of a field surface; FIG. [Figure 7A] 11A and 11B are explanatory diagrams of bending deformation of a field surface based on a function. [Figure 8] 1A to 1C are explanatory diagrams illustrating scenes in which bending deformation of a field surface is applied. [Figure 8A] FIG. 1 is an explanatory diagram (part 1) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 8B] FIG. 2 is an explanatory diagram (part 2) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 8C]FIG. 3 is an explanatory diagram (part 3) showing the relationship between the virtual camera and bending deformation of the field surface. [Figure 9] FIG. 13 is an explanatory diagram of the degree of freedom of change of the position of the virtual camera. [Figure 10] FIG. 11 is an explanatory diagram of the rotation of the line of sight of the virtual camera. [Figure 11] FIG. 2 is an explanatory diagram of camera parameters. [Figure 12] FIG. 2 is a functional block diagram of a drawing function of the server device; [Figure 13] FIG. 4 is an explanatory diagram of deformation parameter data. [Figure 14] FIG. 4 is an explanatory diagram of distance parameter data. [Figure 15] FIG. 11 is an explanatory diagram of direction parameter data. [Figure 16] 10 is a schematic flowchart showing a flow of processing realized by a server control unit. [Figure 17] 16 is a schematic flowchart showing an example of a distance parameter calculation process (step S1608). [Figure 18] FIG. 13 is an explanatory diagram of an interpolation processing range. [Figure 19] 16 is a schematic flowchart showing an example of a direction parameter calculation process (step S1610). [Figure 20] 13 is a schematic flowchart showing an example of an attack angle parameter calculation process (step S1612). [Figure 21] 16 is a schematic flowchart showing an example of a transformation process (step S1615) accompanying the movement of a predetermined object. [Figure 22] FIG. [Diagram 23] FIG. 11 is an explanatory diagram of an application scene of the operation example. [Figure 24A] FIG. 13 is a diagram showing an example of a field image. [Figure 24B] FIG. 13 is a diagram showing an example of a field image. [Figure 24C] FIG. 13 is a diagram showing an example of a field image. [Diagram 25]FIG. 13 is a functional block diagram of a drawing function of another server device; [Figure 26] FIG. 11 is an explanatory diagram (part 1) of a method for setting an interpolation processing range. [Figure 27] FIG. 13 is an explanatory diagram (part 2) of a method for setting an interpolation processing range. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0075] In addition, in this embodiment, a variety of field objects are realized by using one material for the field object (field image and field surface 70) and changing the degree of deformation related to the bending deformation of the field surface 70. This makes it possible to improve the efficiency of the storage area for the field objects compared to the case where a variety of field objects are prepared in advance. In other words, it is possible to realize a variety of field objects by efficiently using the storage area.

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

[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 inconvenience (i.e., discomfort that may be caused to the user) that may occur due to a change in the degree of deformation of the field surface 70.

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

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

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

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

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

[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) with respect to the field object changes in a direction (V2, V3) intersecting the line of sight direction V (hereinafter referred to as the "first change manner"), and a manner in which the position (relative position) with respect to the field object changes in a direction (V1) along the line of sight direction V (hereinafter referred to as the "second change manner").

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

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

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

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

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

[0090] In FIG. 10, the line of sight V always passes through the revolution axis Pc and is directed away from the revolution axis Pc while the virtual camera 60 is rotating, as viewed in the z direction, but is not limited thereto. For example, the line of sight V may always pass through the revolution axis Pc and be directed toward the revolution axis Pc while the virtual camera 60 is rotating, as viewed in the z direction. That is, the revolution axis Pc may pass through the line of sight V of the virtual camera 60, as viewed in the z direction, and be offset forward (farther) from the virtual camera 60 in the line of sight V. In this case, the revolution axis Pc may be set to pass through a predetermined object (for example, a predetermined object described later) that is to be shown to the user from all directions. In another embodiment, the line of sight V may rotate on its own axis while the virtual camera 60 is rotating (revolving) as viewed in the z direction. That is, the virtual camera 60 may be rotatable (rotated) around a rotation axis 61 (an axis parallel to the z axis. Alternatively, the line of sight 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 with the rotation of the virtual camera 60, the deformation mode of the bending deformation of the field surface 70 changes accordingly. That is, when the line of sight V changes with the rotation of the virtual camera 60, the deformation mode of the bending deformation of the field surface 70 changes accordingly so that the Xc axis of the local coordinate system is located within the Vz plane based on the changed line of sight V. This makes it possible to realize the horizon HL in the virtual space in a manner that does not give an awkward feeling, even if the line of sight V changes with the rotation of the virtual camera 60.

[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 thereafter 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 in the global coordinate system cannot be translated or rotated. Therefore, the coordinates of each position of the field surface 70 in the field coordinate system can be converted to each coordinate of the global coordinate system by a predetermined conversion formula, and the reverse conversion is also possible. In the following, for the sake of explanation, it is assumed that the origin of the field coordinate system is the same as the origin of the global coordinate system, the u axis of the field coordinate system (= the u axis of the texture coordinate system) coincides with the x axis of the global coordinate system, and the v axis of the field coordinate system (= the v axis of the texture coordinate system) coincides with the y axis of the global coordinate system. In the following, the field surface 70 represents the field surface 70 (field surface 70 of a field object) in a state where a field image is projected, unless otherwise specified.

[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' on the xy plane of the line of sight V. The angle of attack parameter ψ is the angle between the line of sight V and the xy plane. Note that in this embodiment, the angle of attack parameter ψ is used, but the angle of attack parameter ψ may be omitted. In other words, the angle of attack parameter ψ may have a constant value (fixed value).

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

[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 transformation parameter data. In FIG. 13, "-" indicates that it is arbitrary, and "···" indicates the same repetition. FIG. 14 is an explanatory diagram of distance parameter data. Similarly, in FIG. 14 (similarly in FIG. 15), "···" indicates the same repetition. FIG. 15 is an explanatory diagram of orientation parameter data.

[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 of simply reading out a calculated value, a setting value, 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 related to a specific position (described above). The normal value β0 of the deformation parameter A1 is a constant value, but may be a variable value that may differ for each field image when multiple types of field images G60 are prepared. In addition, the position parameter (X, Y) of the virtual camera 60 related to a specific position may further 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 according to the value of the direction parameter θ is associated with each value (XA, YA), (XB, YB), (XC, YC), etc. of the position parameter (X, Y) related to the specific position for each specific position. For example, in FIG. 13, the 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, the specific position C=(XC, YC) is associated with the value β3 of the deformation parameter A1 when the orientation of the virtual camera 60 is the orientation parameter θ=θC1, and is associated with the value β4 of the deformation parameter A1 when the orientation of the virtual camera 60 is the orientation parameter θ=θC2. 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, is also referred to as a "specific position where the degree of deformation changes during the revolution of the virtual camera 60", and an orientation where a value different from the normal value β0, such as the value β3 or value β4, is associated in the deformation parameter data (the orientation where the orientation parameter θ=θC1 or θC2) is 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. In addition, two specific orientations are set for the specific position C, but only one may be set, or three or more may be set.

[0102] The data stored in the drawing information storage unit 130 includes distance parameter data. In the distance parameter data, a value of a distance parameter A2 different from the normal value γ0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to a specific position. The normal value γ0 of the distance parameter A2 is a constant value, but may be a variable value that may differ for each field image when multiple types of field images G60 are prepared. The value of the distance parameter A2 related to 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 with a desired sense of distance. For example, when it is desired to show a specific second object to the user at a close distance, a value of the distance parameter A2 that allows the specific second object to be captured at a close distance by the virtual camera 60 may be associated with the position parameter (X, Y) related to the specific position. 14, for example, 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. Note that 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 significantly smaller than the normal value γ0. Note that 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, the value of the orientation parameter θ is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to the orientation change position. The value of the orientation parameter θ related to a certain virtual camera 60 position may be determined so that a desired area falls within the angle of view of the virtual camera 60 at that position. For example, when a specific second object is to be shown to the user, the value of the orientation parameter θ may be associated with the position parameter (X, Y) related to that position so that the specific second object is located in an area that falls within the angle of view. The orientation change position may be set corresponding to, for example, a position where the first object changes direction while moving (for example, the start and end positions of the curved road 17 shown in FIG. 2, the intersection position of the horizontal passage 14 and the vertical passage 15, etc.). 15, for example, the orientation parameter θ value θ1 is associated with the orientation change position T1 (XP1, YP1), the orientation parameter θ value θ2 is associated with the orientation change position T2 (XP2, YP2), and so on. The orientation change positions T1 and T2 may be positions associated with a transformation parameter A1 value different from the normal value β0, such as specific positions A and B, and / or may be positions associated with a distance parameter A2 value different from the normal value γ0.

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

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

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

[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, a part or all of the drawing processing of the drawing processing unit 140 may be realized on the terminal device 20 side. For example, when the drawing processing unit 140 is realized by the terminal device 20, the drawing data transmission unit 134 may be omitted.

[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 response to operation information, etc., and, when changing each value of the position parameters (X, Y), executes various processes in response to 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 satisfied, the first movement processing unit 1420 updates each value of the position parameters (X, Y) of the virtual camera 60. The predetermined first movement condition is arbitrary, and may be satisfied, for example, by a movement of a predetermined object based on an instruction to move the predetermined object in the operation information, or may be satisfied based on the progress of the game or other factors.

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

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

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

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

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

[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. 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) away from the virtual camera 60. Note that the revolution processing unit 14251 may appropriately set the position of the revolution axis Pc according to the position of the virtual camera 60, the position of a predetermined object, and the like.

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

[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 (that is, a rotation about an axis perpendicular to the Vz plane passing through the virtual camera 60).

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

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

[0124] The transformation processing unit 145 executes a bending transformation process for bending and transforming the field surface 70 (and the field object associated therewith) based on the position and orientation of the virtual camera 60. The bending transformation of the field surface 70 is as described above. In the 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 transforms the field surface 70 (and the field object associated therewith) based on the line of sight V of the virtual camera 60 and the value β1 of the transformation parameter A1, regardless of the orientation of the virtual camera 60. In addition, when the values ​​of the position parameters (X, Y) are (XC, YC), the transformation processing unit 145 bends and transforms the field surface 70 (and the field object associated therewith) based on the value β3 of the transformation parameter A1 and the line of sight V when the orientation of the virtual camera 60 is "θC1", and bends and transforms the field surface 70 (and the field object associated therewith) based on the value β4 of the transformation parameter A1 and the line of sight V when the orientation of the virtual camera 60 is "θC2".

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

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

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

[0128] The rendering data generating unit 148 generates a field image (rendering data) including a representation 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 Fig. 16 onwards. In the process flow diagrams (flowcharts) that follow, the processing order of each step may be changed as long as the relationship between the input and output of each step is not lost.

[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. In the following, the "pre-update" value corresponds to the previous value (the value derived in the previous processing cycle (k)) based on a certain processing cycle (k+1), and the "update" value corresponds to the current value derived in the processing cycle (k+1). In this example, in the first processing cycle, the position (u(0), v(0)) of the predetermined object after the update is set to a predetermined initial position, each value (X(0), Y(0)) of the position parameters (X, Y) of the virtual camera 60 after the update is set to the same as the position (u(0), v(0)) of the predetermined object, and each value (X(0), Y(0), γ(0), θ(0), ψ(0)) of the camera parameters is set to the respective normal values.

[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, the second movement processing unit 144 determines whether or not the operation information obtained in step S1600 includes an instruction to move a predetermined object. If the determination result is "YES", the process proceeds to step S1604, and otherwise the process proceeds to step S1616.

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

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

[0136] In step S1608, the distance change unit 1421 calculates the value γ(k+1) of the distance parameter A2 associated with the updated position parameters (X, Y) obtained in step S1606 based on the values ​​(X(k+1), Y(k+1)) (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 θ corresponding to (X(k+1), Y(k+1)) based on each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 (orientation parameter calculation process). A specific example of this orientation parameter calculation process will be described later with reference to FIG. 19.

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

[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 a transformation process associated with the movement of the predetermined object. A specific example of the transformation process associated with the movement of the predetermined object will be described later with reference to FIG.

[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 as is.

[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 transformation processing unit 145 performs the bending transformation of the field surface 70 (and therefore the field object) described above with reference to Figures 7 and 7A, etc., based on the line of sight direction V of the virtual camera 60 after the rotation processing of step S1618.

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

[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 such a 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 drawing data generating unit 148 generates drawing data (drawing data of a field image) after various updates in 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, based on the operation information received from the terminal device 20, drawing data reflecting the operation information can be generated, and the generated drawing data can be transmitted to the terminal device 20. Therefore, it is possible to realize real-time updating of the field image as the game progresses.

[0150] Fig. 17 is a schematic flow chart 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 a field surface 70.

[0151] In step S1700, the distance change unit 1421 judges whether or not each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 corresponds to any specific position set in the distance parameter data (see FIG. 14). If the judgment 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 parameter (X, Y). For example, in the example shown in Fig. 14, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to the specific position A(XA, YA), the value γ(k+1) of the distance parameter A2 is set to γ1.

[0153] In step S1704, the distance change unit 1421 determines whether each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary specific position set in the distance parameter data (see FIG. 14). The interpolation processing range may be set in association with a texture coordinate system (=field coordinate system) for each specific position. In this embodiment, for simplicity, the interpolation processing range is assumed to be within a circular area of ​​radius r centered on the specific position as shown in FIG. 18. In this case, it may be determined whether each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is within a circular area of ​​radius r centered on the specific position. However, in other embodiments, the interpolation processing range may be defined as an area of ​​another form. For example, the interpolation processing range may be set so that, when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter ψ is the normal value γ0, ψ0, even when the value of the direction parameter θ is any value, the specific position related to the interpolation processing range is located in a region that falls within the angle of view of the virtual camera 60. This is similar to other interpolation processing ranges described later. In FIG. 18, three specific positions Ps(1) to Ps(3) are typically shown on the field surface 70, and the corresponding interpolation processing ranges Rs(1) to Rs(3) are typically shown. In FIG. 18, the interpolation processing range Rs(2) and the interpolation processing range Rs(3) overlap each other, and the overlapping region Rs' is shown by a hatched region. In addition, each specific position Ps(1), Ps(2), and Ps(3) is set in the distance parameter data (see FIG. 14) like specific positions A and B. The interpolation processing range (as well as the interpolation processing ranges relating to other parameters 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, when each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) is located within the interpolation processing range Rs(1), the 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, when the values ​​(X(k+1), Y(k+1)) of the updated position parameters (X, Y) are located within the overlapping region Rs′, the distance d(3) between (X(k+1), Y(k+1)) and specific position Ps(3) related to the interpolation processing range Rs(3) is calculated, as well as the distance (2) between (X(k+1), Y(k+1)) and 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 by the following formula. γ(1)=(γ1-γ0) / r×(rd(1))+γ0 The value γ1 is a value associated with the specific position Ps(1), and is smaller than the normal value γ0 as described above. On the other hand, when the values ​​(X(k+1), Y(k+1)) of the updated position parameters (X, Y) are located within the overlapping region Rs′, the interpolated value γ(Rs′) may be calculated by the following formula based on the interpolated value γ(2) of the distance parameter A2 related to the above-mentioned distance d(2) and the interpolated value γ(3) of the distance parameter A2 related to the above-mentioned distance d(3). γ(Rs')=B0×γ(2)+(1-B0)×γ(3) Here, γ(2) and γ(3) are as follows: γ(2)=(γ2-γ0) / r×(rd(2))+γ0 γ(3)=(γ3-γ0) / r×(rd(3))+γ0 The values ​​γ2 and γ3 are values ​​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 changes within the range of 0 to 1, and approaches 1 as the updated position parameters (X, Y) approach the specific position Ps(2), and is 1 at the boundary position on the specific position Ps(2) side in the overlap region Rs'. The coefficient B0 approaches 0 as the updated position parameters (X, Y) approach the specific position Ps(3), and is 0 at the boundary position on the specific position Ps(3) side in the overlap region Rs'. For example, B0 may be as follows. B0=(rd(2)) / {(rd(2))+(rd(3))} In step S1710, distance change unit 1421 sets the value γ(k+1) of 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 the change in the values ​​of the position parameters (X, Y) for each predetermined processing cycle, so that a gentle change in distance can be achieved compared to, for example, a sudden change from the normal value γ0 to a value γ1, etc., in a processing cycle in which a specific position is reached. As a result, the distance parameter A2 can be changed while reducing the sense of discomfort that may be felt by the user.

[0158] FIG. 19 is a schematic flowchart showing an example of the orientation 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, and 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 θ associated with the orientation change position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y). For example, in the example shown in Fig. 15, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to the orientation change position T1(XP1, YP1), the value of the orientation parameter θ is set to θ(k+1)=θ1.

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

[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 parameter (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. The method of calculating the distance may be the same as that of step S1706 described above.

[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 of calculating the interpolated value may be the same as that 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 changes in the values ​​of the position parameters (X, Y) at each predetermined processing cycle. This makes it possible to achieve a gentler change in orientation that can reduce the discomfort that may be felt by the user, compared to, for example, a sudden change from the normal value θ0 to a value θ1, etc., in a processing cycle that reaches the orientation change position.

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

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

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

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

[0171] In step S2104, the transformation processing unit 145 determines whether or not 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 assumed to be within a circular area of ​​radius r centered on the specific position (see FIG. 18), 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 parameter (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. The method of calculating the distance may be the same as that of step S1706 described above.

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

[0174] 13, where the degree of deformation changes during revolution of the virtual camera 60, the value β(C0) may be calculated as follows based on the value θ(k+1) of the orientation parameter θ. Here, the specific position C will be described. First, the value β(C0) of the deformation parameter A1 associated with the specific position C may be calculated by the following formula (1) when θC1-Δθ1≦θ(k+1)≦θC1+Δθ1, and 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 formula (1), the absolute value of (θ(k+1)-θC1) is multiplied by (β3-β0) / Δθ1, and the result is subtracted from β3 to obtain β(C0). 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 formulas (1) and (2), different Δθ1 may be used. Then, if the distance between a specific position C and (X(k+1), Y(k+1)) is 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) according to the following formula. β(dC)=(β(C0)-β0) / r×(rd(dC))+β0 The same applies to the case where the interpolation processing ranges for each of the specific positions A and B have an overlapping area Rs', for example, as in the case of the distance parameter A2. Specifically, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is located within the overlapping area Rs', if the distance between the specific position A and (X(k+1), Y(k+1)) is the distance d(dA) and the distance between the specific position B and (X(k+1), Y(k+1)) is the distance d(dB), the interpolation value β(Rs') may be calculated by the following formula based on the interpolation value β(dA) of the deformation parameter A1 related to the distance d(dA) and the interpolation 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 changes within the range from 0 to 1, and approaches 1 as each value of the updated position parameter (X, Y) approaches specific position A, and is 1 at the boundary position on the specific position A side in the overlap region Rs'. Moreover, coefficient B1 approaches 0 as each value of the updated position parameter (X, Y) approaches specific position B, and is 0 at the boundary position on the specific position B side in the overlap region Rs'. For example, B1 may be as follows. B1=(rd(dA)) / {(rd(dA))+(rd(dB))} In step S2110, the transformation processing unit 145 sets the value β(k+1) of the updated 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 updated 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 the 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 the movement. In the example shown in FIG. 22, 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 is shown. 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 the 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, and 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 orientation parameter θ. Specifically, the axis that passes through the origin O set in step S2114 and forms the value θ(k+1) of the orientation parameter θ with respect to the x direction is set as the Xc axis.

[0178] In step S2118, the transformation processing unit 145 bends and deforms the field surface 70 based on the value β(k+1) of the updated transformation 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 transformation 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 equal 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 changed 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 operational example described with reference to Figs. 16 to 22 is applied will be described.

[0181] 23 to 24B are explanatory diagrams of application scenes of the operation example described with reference to FIG. 16 to FIG. 22, FIG. 23 is a plan view of the field object 77, FIG. 24A shows an example of a field image G24A related to a specific position A, and FIG. 24B shows an example of a field image G24B related to a specific position B. FIG. 24C shows an example of a field image G24C related to a specific position B related to another operation example. In FIG. 23, the field object 77 is shown in 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, and the specific position B corresponds to the position where the horizontal passage 14 and the vertical passage 15 intersect, and a plurality of roadside tree objects 16, which are second objects, are arranged on both sides of the vertical passage 15. The plurality of roadside tree objects 16 are erected in the field object 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 manner 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, the value β1 is smaller than the value β2, and the value γ1 is larger than the value γ2.

[0183] The values ​​of the position parameters (X, Y) of the virtual camera 60 when the first object 3 is located at the specific position A (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 a normal value θ0, that is, so that the projection vector V' (see FIG. 11) is perpendicular to the moving 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. In this case, the horizon HL has a height according to the value β1 of the transformation parameter A1, and the first object 3 and the like have a display size according to the value γ1 of the distance parameter A2.

[0184] When the first object 3 is moved from the specific position A to 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 when the first object 3 has reached the specific position B (an example of the second position) 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 according to the value β2 of the transformation parameter A1, and the first object 3 and the like have a display size according 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 deformation of the bending deformation of the field object 77 is larger in the field image G24B than in the field image G24A. Therefore, as shown in Figs. 24A and 24B, the position of the horizon HL in the image changes significantly.

[0187] Here, FIG. 24C shows an example of a field image G24C related to a specific position B according to another operation example. In the other operation example, unlike the above-mentioned operation example, the value of the distance parameter A2 associated with the specific position B is the same as the value of the distance parameter A2 associated with the specific position A. In this case, the position of the horizon HL changes between the field image G24A and the field image G24C, but the display size of the first object 3 and the like remains the same. Although such another operation example can realize various expressions in the virtual space viewed from the virtual camera 60 compared to an operation example (not shown) according to a comparative example in which the value of the deformation parameter A1 is always constant, if the amount of change in the degree of deformation (the amount of change in the height H1 of the horizon HL) becomes relatively large, it may give a sense of incongruity to the user.

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

[0189] Moreover, by varying the value of the associated transformation parameter A1 between the specific position A and the 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 increased. In addition, the presence of the vertical passage 15 can be emphasized, and the second object (for example, roadside tree object 16) placed in the vertical passage 15 or its periphery can be made to stand out. This effect is particularly noticeable when the terminal device 20 outputs the field image on a relatively small screen such as a smartphone screen. In addition, since the restriction that other second objects cannot be placed in order to highlight the second object is relaxed, the degree of freedom of the second object placement on the field object increases. For the same reason, the degree of freedom of the area in which the first object can move on the field object can also increase.

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

[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 arranged, the values ​​of the camera parameters that cause the 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 or not the multiple second objects arranged in the area within the angle of view of the virtual camera 60 in the field object overlap along the line of sight. If the multiple second objects overlap, the degree of bending deformation may be made larger than when they do not. Note that such a modified example is also suitable when the values ​​of the camera parameters can be varied in various ways. This is because whether or not the multiple second objects overlap in 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] Also, according to the operation example described with reference to FIG. 16 to FIG. 22, the value of the deformation parameter A1 changes from the value β1 to the value β2 via one or more interpolated values ​​(an example of intermediate values). As a result, a gentle change is realized compared to the case where the deformation parameter A1 changes from the value β1 to the value β2 in the processing cycle in which the first object 3 reaches the specific position B, and the sense of incongruity that may be caused to the user due to the change in the deformation degree can be effectively reduced. The same applies to the change in the distance parameter A2 from the value γ1 to the value γ2. Furthermore, if the above-mentioned interpolation is not used, restrictions such as not placing specific positions close to each other to avoid abrupt changes are likely to occur. In this regard, by using the above-mentioned interpolation, the degree of freedom in arranging the specific positions can be increased. As a result, the field image can be further diversified.

[0193] 16 to 22, for example, appropriate values ​​of the transformation parameter A1 can be associated with each position between specific position A and specific position B by interpolation, so that the storage capacity for the transformation parameter data can be used more efficiently than when each value of the transformation parameter A1 is associated with each of the positions on the transformation parameter data. The same applies to other parameters such as the distance parameter.

[0194] 16 to 22, a variety of field objects are realized by using one material for the field object (field image and field surface 70) and changing the degree of deformation related to bending deformation of the field surface 70. This makes it possible to reduce the storage capacity and the load processing compared to the case where a variety of field objects (field objects with fixed forms that cannot be deformed) are prepared in advance.

[0195] In addition, while FIG. 23 has described the movement of the first object 3 from the specific position A to the specific position B, the reverse may be realized for the movement of the first object 3 from the specific position B to the specific position A. In addition, in FIG. 23, the movement of the first object 3 from the specific position A to the specific position B has been described, but the movement of the first object 3 from a position with another attribute, such as a normal position, to the specific position B may be similarly realized. 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. In addition, the normal position may be realized between the specific position A and the specific position B by making the distance from the specific position A to the 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 rendering function of a server device 10A according to a modified example. The server device 10A according to the modified example differs from the server device 10 according to the above-described embodiment in that the rendering processing unit 140 is replaced with a rendering processing unit 140A.

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

[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 that the zoom amount increases. Similarly, the effect obtained by the distance change unit 1421 increasing the value of the distance parameter A2 may be achieved by the zoom amount change unit 1421A changing the values ​​of the optical parameters so that the zoom amount decreases. In this way, the function of the distance change unit 1421 can be achieved by the zoom amount change unit 1421A.

[0200] In another modified example, the distance changer 1421 and the zoom amount changer 1421A may function simultaneously.

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

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

[0203] In the above embodiment, the position to which the origin O of the local coordinate system in the field object corresponds basically corresponds to the position of the first object, but is not limited to this. When a predetermined condition is satisfied, the position to which the origin O of the local coordinate system in 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 whose position can change with respect to the field object, such as the first object, or an object whose position is fixed with respect to the field object, such as the second object.

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

[0205] In the above embodiment, each specific position such as specific positions A and B is a fixed position on the field object, but may be a movable position on the field object. For example, a part of the specific positions may be set to correspond to the position of a moving second object among the second objects. In this case, one specific position may be a position having a predetermined relationship with the position of one moving second object.

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

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

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

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

[0210] 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 process may be executed in conjunction with the change.

[0211] In addition, the following supplementary notes are disclosed regarding the above 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 perpendicular to each other, as viewed from a virtual camera placed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis; 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 information processing device, wherein the deformation processing unit changes the degree of deformation of the field object between when the position of the virtual camera with respect to the field object is at a first position and when the 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 the line of sight direction of the virtual camera.

[0213] [Appendix 2] The information processing device 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] 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 according to any one of appendix 1 to 3, further comprising a parameter value change unit that changes a value of an optical parameter related to a zoom amount of the virtual camera when a 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; The information processing device according to any one of claims 1 to 4, wherein the transformation processing unit deforms the basic surface so that a shape of the basic surface when cut by a plane including the line of sight direction of the virtual camera and the third axis is 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 toward the upper side with respect to the field object is defined as the positive side of the Y axis, and an axis passing through the origin and perpendicular to the Y axis is defined as an X axis, the transformation processing unit deforms the base 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 base 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; 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 positioned 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 a position of the virtual camera relative to the field object in conjunction with a change in a position of the first object relative to the field object.

[0221] [Appendix 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 with respect to the field object.

[0222] [Appendix 11] An information processing device described in any one of Appendix 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 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] The information processing device according to claim 12, wherein the second objects overlap 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 according to any one of appendices 1 to 13, further comprising a background processing unit that makes a position of the background object relative to the field object along the direction of the third axis different 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 of claim 14, wherein the background processing unit determines a 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] 1. An information processing method for rendering an object placed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera placed in the virtual space, comprising: the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis; 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 with a first deformation degree when the position of the virtual camera with respect to the field object is at a first position; An information processing method executed by a computer, comprising: when a 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 perpendicular to each other, as viewed from a virtual camera placed in the virtual space, the program 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 with a first deformation degree when the position of the virtual camera with respect 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 transformed with a second transformation degree different from the first transformation degree. An information processing program that causes a computer to execute processing. [Explanation of symbols]

[0229] 1. Game System 3. First Object 10. Server device 11 Server Communication Section 12 Server memory section 13 Server control unit 14 Side passage 15 Vertical Passage 16 Roadside Tree Objects 20 Terminal Equipment 21 Terminal communication unit 22 Terminal memory section 23 Display section 24 Input section 25 Terminal control unit 30 Network 60 Virtual Camera 62 Angle of View 70 Field Surface 72 Background surface 77 Field Objects 130 Drawing information storage unit 132 Operation information acquisition unit 134 Drawing data transmission unit 140 Drawing processing unit 142 Change Processing Section 1420 First movement processing section 1421 Distance change unit 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 placed in a virtual space as viewed from a virtual camera placed in the virtual space, comprising: The objects include a field object and a background object; changing a position of the virtual camera relative to the field object; a transformation process for transforming the field object to change the height of a virtual horizon represented by the field object; A computer is caused to execute a plurality of processes including a background process, The background processing determines a 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.

3. The computer-readable medium according to claim 2 , wherein the predetermined condition is related to the virtual camera.

4. the objects include a second object positioned relative to the field object; The program of claim 2 , wherein the predetermined condition is related to the second object.

5. The computer-readable medium according to claim 1 , wherein the background process is not executed when an amount of change in a degree of bending deformation of the field object is equal to or smaller than a threshold value that is greater than zero.

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 perpendicular to each other; 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 a 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 perpendicular to each other; 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, a direction toward the upper side with respect to the field object is defined as the positive side of the Y axis, and an axis passing through the origin and perpendicular to the Y axis is defined as the X axis, the transformation 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 process transforms the base 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; 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 object includes a second object positioned relative to the field object, the value of the deformation parameter includes 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; The program of claim 8, wherein the transformation process 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 an angle of view of the virtual camera than when the second object is not located within an angle of view of the virtual camera.

11. The program according to claim 9 , wherein the second objects overlap 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.

12. 1. An information processing method for rendering an object placed in a virtual space as viewed from a virtual camera placed in the virtual space, comprising: The objects include a field object and a background object; changing a position of the virtual camera relative to the field object; changing a height of a virtual horizon represented by the field object by transforming the field object; A plurality of processes including a background step are performed by a computer; The computer-implemented information processing method, wherein the background step includes determining a position of the background object relative to the field object based on a height of the virtual horizon.

13. An information processing device for rendering an object placed in a virtual space as viewed from a virtual camera placed in the virtual space, comprising: The objects include a field object and a background object; a first processing unit that changes a position of the virtual camera relative to the field object; a second processing unit that changes a height of a virtual horizon represented by the field object by transforming the field object; A background processing unit is configured to perform a plurality of processes on a computer. The information processing device, wherein the background processing unit determines a position of the background object relative to the field object based on a height of the virtual horizon.

Citation Information

Patent Citations

  • Game information, information storage medium, and game apparatus

    JP2002273029A

  • Program, game control method, and information processor

    JP2017131523A

  • Program, information processing device, and control method

    JP2018171136A

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

    JP2019209115A

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

    JP2020080007A