Game program, game system, game processing method, and game device

The game program enhances wide-area display in games by updating voxel data and controlling virtual camera movements to efficiently render large virtual spaces using density and material settings, addressing inefficiencies in conventional mesh generation.

JP2025113249AActive Publication Date: 2025-08-01NINTENDO CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025046660
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-08-01
Estimated Expiration
2045-03-21

AI Technical Summary

Technical Problem

Existing game programs using voxel data struggle with wide-area display in virtual spaces, as conventional mesh generation methods are inefficient for large-scale visualization.

Method used

A game program that updates voxel data by setting density and material for each voxel, generates a display mesh based on these properties, and controls a virtual camera to transition between modes for wide-area display, allowing for efficient rendering and visualization of large game spaces.

Benefits of technology

Enables seamless wide-area display in games by optimizing camera movements and mesh updates, ensuring smooth and detailed rendering of virtual environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113249000001_ABST
    Figure 2025113249000001_ABST
Patent Text Reader

Abstract

To provide a game program, a game system, a game processing method, and a game device capable of performing wide area display in a game using a mesh updated on the basis of voxel data.SOLUTION: Drawing of a display mesh is performed on the basis of a virtual camera on the basis of a texture corresponding to apex coordinates of a display mesh corresponding to voxel data and materials. In a first mode, movement control is performed for the virtual camera on the basis of the position of a player character, and according to a first instruction based on an operation input, the virtual camera is moved to a position including the position of the player character at least in the visual field, and where the distance at least from the player character becomes longer, and the mode is transitioned from the first mode to a second mode. In the second mode, the virtual camera is moved to the position where the distance at least from the player character becomes shorter according to a second instruction based on an operation input, and the mode is transitioned from the second mode to the first mode.SELECTED DRAWING: Figure 25
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a game program, a game system, a game processing method, and a game device for generating an object in a virtual space using voxel data.

Background Art

[0002] Conventionally, mesh generation of an object has been performed in a virtual space based on voxel data (for example, see Non-Patent Document 1).

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In a game using a mesh updated based on voxel data, it is desired to perform wide-area display.

[0005] The present invention provides a game program, a game system, a game processing method, and a game device capable of performing wide-area display in a game using a mesh updated based on voxel data.

Means for Solving the Problems

[0006] The present invention can adopt configurations such as the following (1) to (17), for example.

[0007] (1) One configuration example of the game program of the present invention causes a computer to update voxel data defined in a virtual space, where for each of a plurality of voxels, at least a density indicating the degree to which the space defined by the voxel is virtually occupied by its content and a material indicating the type of the content are set, based on game processing. A display mesh corresponding to the voxel data and drawn based on a virtual camera is generated and updated by determining the vertex coordinates of the display mesh based on at least the density included in the voxel data and determining the material of the display mesh based on at least the material included in the voxel data. The display of the display mesh is performed with the setting of not drawing the back surface of the mesh based on a texture corresponding to the vertex coordinates of the display mesh and the material of the display mesh. In a first mode in the game processing, based on an operation input, the movement of a player character is controlled in the virtual space, and based on the position of the player character, the movement of the virtual camera is controlled. In response to a first instruction based on the operation input, the virtual camera is moved to a position that includes at least the position of the player character in the field of view and is at least farther away from the player character, and the transition from the first mode to the second mode is made. In a second mode in the game processing, based on an operation input, the movement of the virtual camera is controlled. In response to a second instruction based on the operation input, the virtual camera is moved to a position where at least the distance from the player character becomes closer, and the transition from the second mode to the first mode is made.

[0008] According to the configuration of (1) above, by moving the virtual camera with respect to the virtual space based on the display mesh updated in the game processing, a wide-area display of a game image based on the latest display mesh becomes possible.

[0009] (2) In the configuration of (1) above, in the virtual camera movement that occurs along with the transition from the first mode to the second mode and the transition from the second mode to the first mode in the computer, the orientation of the virtual camera after the movement may be set based on the orientation of the virtual camera before the movement, and the position of the virtual camera after the movement may be determined based on the orientation and the fixation point.

[0010] According to the configuration of (2) above, it becomes easier to grasp the orientation of the virtual camera after the mode transition.

[0011] (3) In the configuration of (1) above, in the computer, in the transition from the first mode to the second mode, the virtual camera may be moved to a position where the distance from the player character becomes farther and the distance from the fixation point is at least farther than in the first mode.

[0012] According to the configuration of (3) above, by moving the virtual camera to a position where the distance from the fixation point is farther than in the first mode, it becomes possible to easily display a wide area of the game image in the second mode.

[0013] (4) In the configuration of (2) above, in the computer, in the transition from the first mode to the second mode, the virtual camera may be moved to a position where the distance from the player character becomes farther and the distance from the fixation point is at least farther than in the first mode.

[0014] According to the configuration of (4) above, by moving the virtual camera to a position where the distance from the fixation point is farther than in the first mode, it becomes possible to easily display a wide area of the game image in the second mode.

[0015] (5) In any one of the above configurations (1) to (4), for a part where a voxel having a density equal to or higher than a threshold value and a voxel having a density lower than the threshold value are adjacent to each other in the values that can be set for the density in the computer, the vertices of the display mesh may be generated and updated based on a method of setting vertices at coordinates based on the positions and densities of a plurality of surrounding voxels.

[0016] According to the configuration of the above (5), the display mesh can be generated and updated based on the density in the voxel data.

[0017] (6) In the configuration of the above (5), the vertices of the display mesh may be generated and updated in the computer based on a method in which vertices are not set at the boundary portion of the first voxel space in which the voxel data is defined in the virtual space.

[0018] According to the configuration of the above (6), by not generating the display mesh on the outermost side of the first voxel space, it is possible to visualize the inside of the first voxel space from the outside of the first voxel space.

[0019] (7) In the configuration of the above (6), the density of the voxels at the end portion of the second voxel space in which the voxel data is defined in the virtual space may be set to a predetermined value less than the threshold value. The density of the voxels at the end portion of the first voxel space may be set to a predetermined value equal to or higher than the threshold value. The position where the distance from the player character becomes far may be a position outside the first voxel space.

[0020] According to the configuration of the above (7), while it is possible to generate the display mesh on the outermost side of the second voxel space, by not generating the display mesh on the outermost side of the first voxel space, it is possible to visualize the inside of the first voxel space from the outside of the first voxel space.

[0021] (8) In the configuration of (7) above, voxels at a predetermined position inside the end portion of the first voxel space may be set with a material having the property that its density cannot be decreased.

[0022] According to the configuration of (8) above, by preventing the player character from moving outside the first voxel space, it is possible to prevent a display mesh from being generated in the outer portion.

[0023] (9) In any one of the configurations of (1) to (8) above, in the second mode, the computer may increase the transparency of or perform dithering on the display mesh included in a first range set at a position in the line-of-sight direction of the virtual camera from the virtual camera, and then perform rendering.

[0024] According to the configuration of (9) above, by increasing the transparency of or performing dithering on the display mesh included in the first range and then performing rendering, at least a part of the inside obstructed by the display mesh can be visualized.

[0025] (10) In the configuration of (9) above, in the second mode, for polygons in the display mesh included in the first range, where at least one of the material and the normal direction satisfies a predetermined condition, the computer may increase the transparency of or perform dithering on them and then perform rendering.

[0026] According to the configuration of (10) above, the object to be visualized inside can be specified in detail.

[0027] (11) In any one of the configurations of (1) to (10) above, in the second mode, based on an operation input, the computer may control the movement of the virtual camera based on the movement of the fixation point of the virtual camera or the rotational movement of the virtual camera around the fixation point.

[0028] According to the configuration of (11) above, in the second mode where the game image is widely displayed, the display range can be changed based on the user's operation.

[0029] (12) In any one of the configurations of (1) to (11) above, the computer may be caused to draw the display mesh with a level of detail according to the distance from the virtual camera in the first mode, and to draw the display mesh with a level of detail independent of the distance from the virtual camera in the second mode.

[0030] According to the configuration of (12) above, it is possible to suppress an unnatural appearance in the wide-area display.

[0031] (13) In the configuration of (12) above, the computer may be caused to draw the display mesh with a frame rate lower than that in the first mode according to the processing load of the drawing in the second mode.

[0032] According to the configuration of (13) above, by prioritizing the level of detail and resolution of the display mesh over the frame rate, the game image can be displayed with a priority suitable for wide-area display.

[0033] (14) In any one of the configurations of (1) to (13) above, the computer may further be caused to draw a predetermined UI at a position overlapping the display mesh to be drawn in the second mode.

[0034] According to the configuration of (14) above, the UI can be displayed in the game image to be widely displayed.

[0035] (15) In the configuration of the above (14), when the computer is further instructed to specify the position where the first type of UI is displayed based on an operation input in the second mode, the player character may be moved to the position in the virtual space corresponding to the display position of the UI to transition to the first mode.

[0036] According to the configuration of the above (15), it is possible to move the player character using the UI and give an instruction to transition the mode.

[0037] (16) In any one of the configurations of the above (1) to (15), the computer may further perform the drawing of at least one non-voxel object, which is an object not based on voxel data, in the first mode, and may make at least any one of the non-voxel objects non-displayed in the second mode.

[0038] According to the configuration of the above (16), when widely displaying the game image, the drawing target can be limited.

[0039] (17) In any one of the configurations of the above (1) to (16), the computer may further apply a post-effect with a different display mode to the display meshes included in the regions other than the selected region among the plurality of regions obtained by dividing the virtual space in the second mode.

[0040] According to the configuration of the above (17), it is possible to make a specific part prominent and widely display it.

[0041] Further, the present invention may be implemented in the form of a game system, a game processing method, and a game device.

Advantages of the Invention

[0042] According to the present invention, by moving a virtual camera with respect to a virtual space based on a display mesh updated in game processing, a wide-area display of a game image based on the latest display mesh becomes possible.

Brief Description of the Drawings

[0043]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

Figure 28

Figure 29

Figure 30

Figure 31

Figure 32

Figure 33

Best Mode for Carrying Out the Invention

[0044] [1. Configuration of Game System] Hereinafter, a game system according to an example of the present embodiment will be described. An example of the game system 1 in the present embodiment includes a main body device (information processing device; which functions as a game device main body in the present embodiment) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 are each detachable from the main body device 2. That is, the game system 1 can be used as a device in which the left controller 3 and the right controller 4 are each attached to the main body device 2 and integrated. Also, the game system 1 can be used with the main body device 2, the left controller 3, and the right controller 4 separated (see FIG. 2). Hereinafter, the hardware configuration of the game system 1 of the present embodiment will be described, and then the control of the game system 1 of the present embodiment will be described.

[0045] FIG. 1 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are attached to the main body device 2. As shown in FIG. 1, the left controller 3 and the right controller 4 are each attached to the main body device 2 and integrated. The main body device 2 is a device that executes various processes (for example, game processing) in the game system 1. The main body device 2 includes a display 12. The left controller 3 and the right controller 4 are devices that include an operation unit for the user to input.

[0046] FIG. 2 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are each removed from the main body device 2. As shown in FIGS. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main body device 2. Note that hereinafter, the left controller 3 and the right controller 4 may be collectively referred to as a "controller".

[0047] FIG. 3 is a six-sided view showing an example of the main body device 2. As shown in FIG. 3, the main body device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front surface, that is, the surface on which the display 12 is provided) is generally rectangular in shape.

[0048] Note that the shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Also, the main body device 2 alone or the integrated device in which the left controller 3 and the right controller 4 are attached to the main body device 2 may be a portable device. Further, the main body device 2 or the integrated device may be a hand-held device. Also, the main body device 2 or the integrated device may be a transportable device.

[0049] As shown in FIG. 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device.

[0050] Also, the main body device 2 includes a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is of a type capable of multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, for example, a type capable of single-touch input (for example, a resistive film type).

[0051] The main body device 2 includes a speaker (that is, the speaker 88 shown in FIG. 6) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed in the main surface of the housing 11. Then, the output sound of the speaker 88 is output from these speaker holes 11a and 11b, respectively.

[0052] The main body device 2 also includes a left terminal 17 which is a terminal for the main body device 2 to perform wired communication with the left controller 3, and a right terminal 21 for the main body device 2 to perform wired communication with the right controller 4.

[0053] As shown in FIG. 3, the main body device 2 includes a slot 23. The slot 23 is provided on the upper surface of the housing 11. The slot 23 has a shape capable of mounting a storage medium of a predetermined type. The storage medium of the predetermined type is, for example, a storage medium dedicated to the game system 1 and information processing devices of the same type (e.g., a dedicated memory card). The storage medium of the predetermined type is used to store, for example, data used in the main body device 2 (e.g., save data of an application, etc.) and / or programs executed in the main body device 2 (e.g., application programs, etc.). Further, the main body device 2 includes a power button 28.

[0054] The main body device 2 includes a lower terminal 27. The lower terminal 27 is a terminal for the main body device 2 to communicate with the cradle. In the present embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the integrated device or the main body device 2 alone is placed on the cradle, the game system 1 can display an image generated and output by the main body device 2 on a stationary monitor. Further, in the present embodiment, the cradle has a function of charging the placed integrated device or the main body device 2 alone. Also, the cradle has a function of a hub device (specifically, a USB hub).

[0055] FIG. 4 is an orthographic view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the vertical direction (i.e., the y-axis direction shown in FIGS. 1 and 4). The left controller 3 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 31 has a shape and size that can be gripped with one hand, particularly the left hand, when gripped in a vertically long orientation. Further, the left controller 3 can also be gripped in a horizontally long orientation. When the left controller 3 is gripped in a horizontally long orientation, it may be gripped with both hands.

[0056] The left controller 3 includes an analog stick 32. As shown in FIG. 4, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit capable of inputting a direction. The user can input a direction corresponding to the tilting direction (and an input of a magnitude corresponding to the tilted angle) by tilting the analog stick 32. Note that the left controller 3 may include, as a direction input unit, a cross key or a slide stick capable of slide input instead of the analog stick. Further, in the present embodiment, it is possible to input by pressing the analog stick 32.

[0057] The left controller 3 is provided with various operation buttons. The left controller 3 has four operation buttons 33 to 36 (specifically, a right arrow button 33, a down arrow button 34, an up arrow button 35, and a left arrow button 36) on the main surface of the housing 31. Further, the left controller 3 is provided with a recording button 37 and a -(minus) button 47. The left controller 3 has a first L button 38 and a ZL button 39 at the upper left of the side surface of the housing 31. Also, the left controller 3 has a second L button 43 and a second R button 44 on the side surface of the housing 31 on the side that is attached to the main body device 2 when attached. These operation buttons are used to give instructions according to various programs (for example, an OS program or an application program) executed by the main body device 2.

[0058] Also, the left controller 3 is provided with a terminal 42 for the left controller 3 to perform wired communication with the main body device 2.

[0059] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In the present embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the vertical direction. The right controller 4 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 51 has a shape and size that can be gripped with one hand, particularly the right hand, when gripped in a vertically long orientation. Also, the right controller 4 can be gripped in a horizontally long orientation. When the right controller 4 is gripped in a horizontally long orientation, it may be gripped with both hands.

[0060] Similar to the left controller 3, the right controller 4 is provided with an analog stick 52 as a direction input unit. In this embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Also, instead of the analog stick, the right controller 4 may be provided with a cross key or a slide stick capable of slide input. Further, similar to the left controller 3, the right controller 4 is provided with four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. Furthermore, the right controller 4 is provided with a + (plus) button 57 and a home button 58. Also, the right controller 4 is provided with a first R button 60 and a ZR button 61 at the upper right of the side surface of the housing 51. Additionally, similar to the left controller 3, the right controller 4 is provided with a second L button 65 and a second R button 66.

[0061] Moreover, the right controller 4 is provided with a terminal 64 for the right controller 4 to perform wired communication with the main body device 2.

[0062] FIG. 6 is a block diagram showing an example of the internal configuration of the main body device 2. In addition to the configuration shown in FIG. 3, the main body device 2 includes each of the components 81 to 91, 97, and 98 shown in FIG. 6. Some of these components 81 to 91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.

[0063] The main body device 2 includes a processor 81. The processor 81 is an information processing unit that executes various information processes to be executed in the main body device 2. For example, it may be composed of only a CPU (Central Processing Unit), or it may be composed of a SoC (System-on-a-chip) including a plurality of functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 executes various information processes by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84 or an external storage medium mounted on the slot 23).

[0064] As an example of an internal storage medium built in the main body device 2, the main body device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is mainly a memory used to store various data (which may be a program) stored in the main body device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.

[0065] The main body device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23 and reads and writes data to and from a predetermined type of storage medium (for example, a dedicated memory card) mounted on the slot 23 according to an instruction from the processor 81.

[0066] The processor 81 appropriately reads and writes data between the flash memory 84, the DRAM 85, and each of the above storage media to execute the above information processes.

[0067] The main body device 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates (specifically, wirelessly) with an external device via a network. In the present embodiment, the network communication unit 82 connects to a wireless LAN and communicates with an external device by a method compliant with the Wi-Fi (registered trademark) standard as a first communication mode. Further, the network communication unit 82 performs wireless communication with other main body devices 2 of the same type by a predetermined communication method (for example, communication by a proprietary protocol or infrared communication) as a second communication mode. Note that the wireless communication by the second communication mode enables wireless communication with other main body devices 2 arranged within a closed local network area, and realizes a function enabling so-called "local communication" in which data is transmitted and received by direct communication between a plurality of main body devices 2.

[0068] The main body device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main body device 2 and the left controller 3 and the right controller 4 is arbitrary, but in the present embodiment, the controller communication unit 83 communicates with the left controller 3 and the right controller 4 in accordance with the Bluetooth (registered trademark) standard.

[0069] The processor 81 is connected to the above-described left terminal 17, right terminal 21, and lower terminal 27. When the processor 81 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Further, when the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Also, when the processor 81 communicates with the cradle, it transmits data to the cradle via the lower terminal 27. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively. Further, when the left controller 3 and the right controller 4 are attached to the main body device 2 as an integrated device or when the main body device 2 alone is attached to the cradle, the main body device 2 can output data (e.g., image data and audio data) to a stationary monitor or the like via the cradle.

[0070] Here, the main body device 2 can communicate with a plurality of left controllers 3 simultaneously (in other words, in parallel). Also, the main body device 2 can communicate with a plurality of right controllers 4 simultaneously (in other words, in parallel). Therefore, a plurality of users can simultaneously input to the main body device 2 using a set of the left controller 3 and the right controller 4, respectively. As an example, while a first user inputs to the main body device 2 using a first set of the left controller 3 and the right controller 4, it is possible for a second user to input to the main body device 2 using a second set of the left controller 3 and the right controller 4.

[0071] The display 12 is connected to the processor 81. The processor 81 displays an image generated (e.g., by executing the above-described information processing) and / or an image acquired from the outside on the display 12.

[0072] The main body device 2 includes a codec circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speakers 88 and the audio input / output terminal 25, and is also connected to the processor 81. The codec circuit 87 is a circuit that controls the input / output of audio data to / from the speakers 88 and the audio input / output terminal 25.

[0073] The main body device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the processor 81. Also, although not shown, the power control unit 97 is connected to each part of the main body device 2 (specifically, each part that receives power supply from the battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above parts based on a command from the processor 81.

[0074] Also, the battery 98 is connected to the lower terminal 27. When an external charging device (for example, a cradle) is connected to the lower terminal 27 and power is supplied to the main body device 2 via the lower terminal 27, the supplied power is used to charge the battery 98.

[0075] Figure 7 is a block diagram showing an example of the internal configuration of the main body device 2, the left controller 3, and the right controller 4. Note that the details of the internal configuration of the main body device 2 are shown in Figure 6, so they are omitted in Figure 7.

[0076] The left controller 3 includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 7, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main body device 2 by both wired communication via the terminal 42 and wireless communication without using the terminal 42. The communication control unit 101 controls the communication method that the left controller 3 performs with respect to the main body device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. Also, when the left controller 3 is removed from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83). The wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with, for example, the Bluetooth (registered trademark) standard.

[0077] Further, the left controller 3 includes a memory 102 such as a flash memory. The communication control unit 101 is configured by, for example, a microcomputer (also referred to as a microprocessor), and executes various processes by executing the firmware stored in the memory 102.

[0078] The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, 44, and 47). Also, the left controller 3 includes an analog stick (described as "stick" in FIG. 7) 32. Each button 103 and the analog stick 32 output information regarding the operation performed on themselves to the communication control unit 101 repeatedly at appropriate timings.

[0079] The communication control unit 101 acquires information regarding input (specifically, information regarding operations or detection results by sensors) from each input unit (specifically, each button 103 and the analog stick 32). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main body device 2. Note that the operation data is repeatedly transmitted at a rate of once every predetermined time. Note that the intervals at which information regarding input is transmitted to the main body device 2 may be the same or different for each input unit.

[0080] When the above operation data is transmitted to the main body device 2, the main body device 2 can obtain the input performed on the left controller 3. That is, the main body device 2 can determine operations on each button 103 and the analog stick 32 based on the operation data.

[0081] The left controller 3 includes a power supply unit 108. In the present embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and is also connected to each part of the left controller 3 (specifically, each part that receives power supply from the battery).

[0082] As shown in FIG. 7, the right controller 4 includes a communication control unit 111 that communicates with the main body device 2. The right controller 4 also includes a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and the memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main body device 2 both by wired communication via the terminal 64 and by wireless communication without using the terminal 64 (specifically, communication according to the Bluetooth (registered trademark) standard), and controls the communication method that the right controller 4 performs with the main body device 2.

[0083] The right controller 4 includes the same input units as those of the left controller 3. Specifically, it includes each button 113 and the analog stick 52. These input units have the same functions as those of the input units of the left controller 3 and operate in the same manner.

[0084] The right controller 4 includes a power supply unit 118. The power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates in the same manner.

[0085] [2. Overview of Processing in the Game System] Next, with reference to FIGS. 8 to 24, an overview of the processing executed in the game system 1 will be described. In the present embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player characters operated by a player) are arranged in a game space, which is a three-dimensional virtual space, and causes the display device to display the game image. Note that, in the present embodiment, the display device on which the game image is displayed may be the above-described display 12 or a stationary monitor.

[0086] [2-1. Voxels] In the present embodiment, for some objects in the game space, their shapes are defined by voxel data. Here, a voxel is a rectangular parallelepiped (more specifically, a cube)-shaped region arranged in a grid pattern in the game space, and voxel data is data indicating information about each voxel. Hereinafter, an object whose shape is defined by voxel data will be referred to as a "voxel object". In the present embodiment, the game system 1 stores voxel data as data for generating voxel objects in the game space for a plurality of voxels set in the game space.

[0087] FIG. 8 is a diagram showing an example of a terrain object that is a voxel object. As shown in FIG. 8, in the present embodiment, a terrain object representing a terrain such as the ground is defined in shape by voxel data (that is, it is a voxel object). Each cube shown in FIG. 8 represents a terrain object. In FIG. 8, the portions that are the sides of the terrain object are shown in thick lines, but this thick line is added for the purpose of making the drawing easier to view, and in reality, it is not necessary for the sides of the terrain object to be shown thickly.

[0088] The terrain object shown in FIG. 8 is generated, for example, according to the rule that "if the parameter included in the voxel data set for a voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and if it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". The terrain object shown in FIG. 8 is shown for the purpose of easily exemplifying the relationship between voxels and voxel objects. In the present embodiment, in reality, for example, like the terrain object shown in FIG. 13 described later, a voxel object is generated according to a rule that results in a complex shape (based on voxel data). Note that the rule for determining the shape of the voxel object based on voxel data is arbitrary. In other embodiments, the game system 1 may generate a voxel object as shown in FIG. 8 or a voxel object as shown in FIG. 13 based on object data.

[0089] Regarding the voxel object, the shape can be changed by changing the voxel data of each voxel. FIGS. 9 and 10 are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 8 is deleted. That is, when the hatched portion of the terrain object shown in FIG. 9 is destroyed, the terrain object changes to the shape shown in FIG. 10. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data described later so as to indicate that there is no terrain object for the voxels in the hatched portion. Note that when the game system 1 adds a terrain object, it can easily change the shape of the terrain object by changing the voxel data of each voxel in the same manner as when erasing the terrain object.

[0090] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, when the shape of a terrain object is changed as a result of being destroyed for some reason (e.g., a player character strikes the terrain object) in the game, the game system 1 does not directly change the data indicating the outer shape of the terrain object (i.e., the mesh described later), but can freely change the shape of the terrain object by changing the voxel data used for generating the terrain object.

[0091] In this embodiment, it is assumed that voxels are defined throughout the game space (that is, the voxel space in which voxels are set corresponds to the entire game space). However, the voxel space does not necessarily have to be set throughout the game space and may be set in a partial area of the game space. When the voxel space is set in a partial area of the game space, the shape of the voxel object is defined by the voxel data regarding the voxels in the voxel space, and the position of the voxel object in the game space is defined by the position of the voxel space in the game space. Further, in the game space, a main voxel space set throughout the game space and a sub-voxel space set in a partial area of the game space may be set. At this time, the game system 1 stores voxel data for each voxel space.

[0092] FIG. 11 is a diagram showing an example of voxel data. The voxel data includes density data, a first material ID, a second material ID, material mixing ratio data, and state data for each voxel defined in the game space. In the voxel data in this embodiment, these data are set for each voxel.

[0093] The density data indicates the density which is an index used to define the shape of the voxel object based on the voxel (specifically, the shape defined by a mesh described later). Although details will be described later, the position and shape of the surface of the voxel object (that is, the mesh described later) are determined based on the above density.

[0094] In this embodiment, the density can take an integer value in the range from a lower limit value (e.g., 0) to an upper limit value (e.g., 255). In this embodiment, when the value of the density set for a voxel is high, the ratio of the volume occupied by the region within the voxel object in the voxel tends to be large, and when the value of the density is low, the ratio tends to be small. Based on the density, the surface shape of the voxel object is determined. In this way, the density is an index that affects the ratio of the volume occupied by the region within the voxel object in the voxel. It can also be said that the density is an index indicating the degree to which the space of the voxel is virtually occupied by the content (i.e., the virtual content of the voxel object). For example, when the density is 0, the inside of the voxel is empty, when the density is 255, all of the inside of the voxel is the content of the voxel object, and when the density is a value between 0 and 255, the inside of the voxel can be occupied by the content of the voxel object at a ratio corresponding to the value. Then, based on the above density, the shape of the mesh, that is, the surface shape of the voxel object, can be determined. The mesh can also be said to be the surface of the part where the content exists in the voxel, or the boundary between the part where the content exists and the part where it does not exist in the voxel. Note that the volume occupied by the region within the voxel object generated based on the above density does not necessarily have to be exactly the volume corresponding to the ratio indicated by the density. For example, even when based on the same density, the volume of the voxel object may be different between the method of generating a voxel object as shown in FIG. 8 and the method of generating a voxel object as shown in FIG. 13.

[0095] In other embodiments, the density may indicate either a state where the volume occupied by the region within the voxel object occupies the entire region within the voxel or a state where the volume occupied by the region within the voxel object is not included in the region within the voxel. For example, the density data may be data that can only take values of 0 or 1.

[0096] The first material ID and the second material ID are information indicating the material (in other words, substance) of the voxel. Here, in the present embodiment, materials such as sand, rock, or soil are set for the voxel. Note that in the game system 1, a plurality of types of materials are prepared as materials that can be set for the voxel (refer to the material data shown in FIG. 12). In the present embodiment, up to two materials out of the plurality of types of prepared materials can be set for one voxel. The first material ID is an ID indicating the first material set for the voxel, and the second material ID is an ID indicating the second material set for the voxel. Although details will be described later, the material of the voxel object (that is, the material set for the polygon of the voxel object) is determined based on the material set for the voxel.

[0097] As described above, in the present embodiment, the voxel data includes an ID indicating the material. However, in other embodiments, the voxel data may be a data structure including data directly indicating the content of the material (that is, the name, properties, and drawing setting information described later).

[0098] The material mixing ratio data is an example of data indicating the ratio of each material in the voxel. In the present embodiment, since the number of material IDs set in one voxel is up to two, the material mixing ratio data indicating the ratio of one of the materials indicated by the first material ID and the material indicated by the second material ID can also represent the other ratio. In the present embodiment, the material mixing ratio is a value indicating the ratio of the second material to the whole composed of the first material and the second material by a value of 0 or more and 1 or less. For example, when the material mixing ratio set in a certain voxel is 0.4, it represents that in the voxel, the first material and the second material are composed in a ratio of 0.6:0.4. Although details will be described later, the appearance and properties of the voxel object are determined based on the material. The material mixing ratio is used to determine the appearance and properties of the voxel object. In other embodiments, the material mixing ratio may be a value indicating the ratio of the first material. Also, the ratio of the materials in the voxel may be represented by respective values indicating the ratio of each material. In particular, in other embodiments, when it is possible to set three or more types of materials instead of up to two types, the ratio of the materials in the voxel is represented as a plurality of values respectively indicating the ratio of each material.

[0099] Note that in the present embodiment, it is not necessarily required that two types of materials be set in the voxel, and one type of material may be set. For example, when one type of material is set in a certain voxel, the first material ID indicates the material, and the material mixing ratio is set to 0.

[0100] The state data indicates the state set in the voxel. The specific content and number of types of the state data are arbitrary. In the present embodiment, the state data includes data indicating the amount of damage set in the voxel. Note that in other embodiments, the state data may include, for example, data indicating whether the voxel is in a wet state (and the degree thereof).

[0101] As described above, since the voxel data includes the material ID in this embodiment, the game system 1 stores material data that defines the content of the material indicated by the material ID. FIG. 12 is a diagram showing an example of the material data. As shown in FIG. 12, in the material data in this embodiment, for each material, a material ID, a name, properties, and drawing setting information set for the material are associated with each other.

[0102] The name included in the material data is the name set for the material (for example, soil, sand, grass, etc.). During the game, the name of the material of the voxel object may be displayed. In order to perform such display, the material data includes information on the name of the material.

[0103] The properties included in the material data are the properties set for the material. The properties of the material are the properties that the voxel object to which the material is set has in the game. Note that the specific content and number of types of the properties of the material are arbitrary. For example, at least any one of the following information may be set as the properties of the material. · Hardness · Weight · Slipperiness · Damage setting when the player character comes into contact · Temperature · Whether another object can adhere to the voxel object · Amount of recovery of the player character's physical strength when the player character destroys or acquires the voxel object · Amount of in-game currency acquired by the player character when the player character destroys or acquires the voxel object In other embodiments, information different from the above may be set as the information indicating the properties of the material.

[0104] In this embodiment, as information specifying the properties of a material, the material data includes an ID indicating the property (see FIG. 12). Although not shown, the game system 1 stores property information in which, for each prepared property, the content of the property (for example, values indicating the above-described weight and slipperiness) is associated with the property ID. By referring to the above property information, the game system 1 can specify the specific content of the property set for the material.

[0105] The rendering settings included in the material data are information indicating settings related to rendering, such as the texture used for rendering the voxel object to which the material is set. In this embodiment, as information on the rendering settings, the material data includes the ID of the texture used for rendering the voxel object to which the material is set (see FIG. 12). Although not shown, the game system 1 stores texture information in which, for each prepared texture, the texture ID and the texture indicated by the texture ID are associated. By referring to the above texture information, the game system 1 can specify the specific content of the texture set for the material. In other embodiments, as information on the rendering settings, in addition to the texture information, any information related to the shading settings may be set. For example, the reflectance, information related to the normal, etc. may be set.

[0106] Also, the material data may include other data than the data shown in FIG. 12. For example, the material data may include data related to sound settings. For example, the data related to sound settings may be data that defines the footstep sound output when a player character walks on a voxel object based on the voxel.

[0107] Note that the material data may be data in any format that can identify the properties of the material and / or the drawing settings. For example, in other embodiments, the material data may have a data structure that includes data directly indicating the properties of the material and / or the drawing settings, instead of a data structure that includes a material ID and a texture ID.

[0108] [2-2. Update of Voxel Data] During the game, when the above-described voxel data is updated, the voxel object is deformed. In this embodiment, when a game event (hereinafter referred to as an "update event") for updating the voxel object occurs, the game system 1 updates the voxel data. The specific content of the update event is arbitrary. The update event may be, for example, that a character appearing in the game performs an action to deform the voxel object (for example, the player character punches the voxel object), or an event that deforms the voxel object occurs (for example, an object thrown by the character contacts the voxel object, or a bomb explodes).

[0109] FIG. 13 is a diagram showing an example of the game space when an update event occurs. The situation shown in FIG. 13 is a situation where the player character 201 performs a punch action on the terrain object 202, which is a voxel object. Although details will be described later, in the example shown in FIG. 13, the voxel data is updated so that the terrain object 202 around the position where the punch action by the player character 201 hits is erased. As a result, the state where the terrain object 202 is destroyed by the punch action of the player character 201 is expressed.

[0110] In this embodiment, when an update event occurs, the game system 1 sets an update range (update range 203 shown in FIG. 13) for updating the voxel object in the game space. The position, shape, and size of the update range are arbitrary. The position of the update range may be determined based on, for example, the position where an object related to the occurred update event (e.g., a player character who performed a punch) contacts the voxel object. In the example shown in FIG. 13, the position of the update range 203 may be determined based on the position where the punch by the player character 201 hits, and for example, the hit position or the position a predetermined distance forward from the hit position may be set as the center position of the update range 203. The shape and size of the update range may be determined in advance to be a shape corresponding to the type of the update event. For example, when an update event due to the punch of the player character 201 occurs, the shape and size of the update range may be determined as a sphere with a predetermined size as shown in FIG. 13. Further, the size of the update range may be determined according to a value indicating the degree of influence of the occurred update event (e.g., the strength of the punch or the size of the explosion).

[0111] The game system 1 changes the density of the voxels corresponding to the set update range. Note that the voxels corresponding to the update range are, for example, the voxels within the update range or the voxels overlapping with the update range. As a result of the change in density, the mesh of the voxel object is changed by the process described later, and thus the shape of the voxel object (the visible shape and the shape used for collision determination) is changed. Note that in other embodiments, in addition to changing the density of the voxels included in the update range, the game system 1 may change the material (i.e., the first material, the second material, and the material mixing ratio) in the voxels or change the state of the voxels.

[0112] In this embodiment, the game system 1 determines whether a voxel is included in the update range by using an SDF (Signed Distance Field). The game system 1 sets an SDF indicating the update range set in the game space, and makes the above determination based on the value of the SDF. The SDF represents, for any position, the signed distance from a defined shape. FIG. 14 is a diagram showing an example of the update range. In the example shown in FIG. 14, a spherical update range is set in the game space. For example, in the example shown in FIG. 14, among the positions in the game space, the SDF value becomes negative for the positions inside the shape represented by the SDF, and the SDF value becomes positive for the positions outside the shape represented by the SDF. In this example, it is possible to determine whether it is included in the update range based on whether the value of the SDF is positive or negative. Also, by using the value of the signed distance, not only simple inside / outside determination but also processes such as correction and interpolation can be performed.

[0113] In the above, an example in which a change is added to the voxel object such that the voxel object within the update range is deformed as if it were erased has been described, but the changes added to the voxel object using the update range are not limited to this. For example, a change in which a voxel object is newly added within the update range (that is, the volume occupied by the region within the voxel object increases by the amount of the update range) may be added to the voxel object. Also, a change may be added to the voxel object such that only the material of the voxels within the update range changes without changing the density of the voxels. Further, a combined change of changing the density of the voxels and changing the material may be added.

[0114] [2-3. Calculation of vertices] When the density of the voxels is updated as described above, the game system 1 sets vertices based on the updated voxel data. The above vertices can be the vertices of the mesh of the voxel object. Although details will be described later, in this embodiment, the above vertices are simplified, and the simplified vertices become the vertices of the mesh of the voxel object.

[0115] FIG. 15 is a diagram showing an example of a vertex setting method. In FIGS. 15 to 24 described below, for the purpose of making the drawings easier to view and the explanations easier to understand, voxels, vertices, meshes, etc. are represented two-dimensionally, but actually, vertices and meshes are set in a three-dimensional space based on voxels in the three-dimensional space. In this embodiment, the game system 1 uses a method of setting vertices at coordinates based on the positions and densities of a plurality of surrounding voxels for a portion where a voxel having a density of a setting indicating its existence (that is, a density equal to or higher than a reference value described later) and a voxel having a density of a setting indicating its non-existence (that is, a density less than the reference value described later) are adjacent. The details of this method will be described below.

[0116] As described above, in this embodiment, the density set for a voxel is set in the range of 0 to 255. A voxel with a density of 0 is completely in the air, and a voxel with a density of 255 represents a state where the interior is completely filled. Densities between 0 and 255 are treated interpolatively and used for vertex determination. And in this embodiment, voxels with a density greater than or equal to a reference value are virtually treated as being inside the object, and voxels with a density less than the reference value are treated as being outside the object. It can also be said that voxels with a density greater than or equal to the reference value are virtually treated as voxels indicating existence, and voxels with a density less than the reference value are virtually treated as voxels indicating non-existence. It is not necessary to define only voxels with a density of 0 as being outside the object (i.e., set the reference value = 1), and the reference value can be, for example, 128. In the example shown in FIG. 15, assume that in voxel 211 and other outer voxels, the density is 0, in voxel 212 the density is 100 which is less than the reference value, and in voxels 213 and 214 the densities are 150 and 210 which are greater than or equal to the reference value. In this embodiment, the game system 1 generates vertices between voxels with a density greater than or equal to the reference value and voxels with a density less than the reference value. Specifically, for each region spanning 8 adjacent voxels (4 in the drawing) (the region surrounded by the dotted line in the drawing), a determination is made as to whether to generate a vertex. That is, a vertex is generated in a region spanning both voxels with a density greater than or equal to the reference value and voxels with a density less than the reference value. The coordinates of the vertex are determined by comparing the densities of adjacent voxels for each of the X, Y, and Z axes and performing interpolation based on the density difference. By setting normal information that defines the position and orientation of the straight line connecting the vertices, the coordinates of the vertices can be further calculated based on the normal information. The normal information may be retained in advance for at least some of the voxels, or if it is not retained, the normal information may also be calculated based on the densities of adjacent voxels. In FIG. 15, since the density of voxel 212 is less than the reference value, in the determination of the presence or absence of a vertex, voxel 212 is treated as being outside the object, but the density value of voxel 212 itself is used for the calculation of the coordinates of the generated vertex.If the reference value is set to a value lower than the density of voxel 212, the result is that more vertices will appear on the upper right side and the upper left side of voxel 212 in FIG. 15.

[0117] By setting the vertices as described above, when generating a mesh that connects each of the set vertices (or each vertex after performing the simplification process described later on each of the set vertices), a shape having a volume that reflects the density of each voxel to some extent can be generated. However, depending on the relationship with adjacent voxels, it is possible that a voxel with a density of 0 includes a region within part of the object, or a voxel with a density of 255 includes a region outside part of the object. Also, in this embodiment, since voxels with a value less than the reference value are processed as outside the object, the volume is also smaller because the number of vertices is less compared to the case of processing them as inside the object. Thus, it is not necessary to calculate the polygon mesh so as to have a volume that strictly corresponds to the density value.

[0118] [2-4. Determination of Vertex Material] The game system 1 determines the material for each of the vertices set as described above. The material of a vertex is determined based on the materials of the voxels around the vertex. The voxels around the vertex are, for example, the voxels used for determining whether to generate the vertex (that is, the voxels that overlap with the "region spanning voxels" described above). Note that in other embodiments, the voxels used for determining the material of a vertex do not have to be the same as the voxels used for determining the generation of the vertex and may be different.

[0119] FIG. 16 is a diagram showing an example of a method for determining the material of a vertex. In the example shown in FIG. 16, it is assumed that vertex 219 is set for four voxels 215 to 218, and the four voxels 215 to 218 are the above-mentioned "voxels around the vertex". In the actual three-dimensional space, the number of voxels around the vertex is eight. Also, in the example shown in FIG. 16, for voxel 215, the density is set to 255, the first material is "sand", and the material mixing ratio is 0 (that is, the first material: the second material = 1:0, or the second material may not be set). For voxel 216, the density is set to 0 (the first and second materials may not be set). For voxel 217, the density is set to 204, the first material is "sand", the second material is "grass", and the material mixing ratio is 0.3 (that is, the first material: the second material = 0.7:0.3). For voxel 218, the density is set to 153, the first material is "soil", the second material is "grass", and the material mixing ratio is 0.4 (that is, the first material: the second material = 0.6:0.4). Also, it is assumed that the coordinates indicating the position of vertex 219 are (X, Y) = (0.8, 0.6). Note that the coordinate system of these coordinates has the left-right direction in FIG. 16 as the X coordinate, the up-down direction as the Y coordinate, and the center position of the lower-left voxel 217 among the center positions of voxels 215 to 218 (the position of the white circle shown in FIG. 13) as (0, 0).

[0120] When determining the material of a vertex, the game system 1 calculates an evaluation value based on the density of each material in the surrounding voxels and a weight value based on the distance from the voxel to the vertex. First, the weight value is calculated for each voxel, and is calculated so that it becomes larger as the distance from the center position of the voxel to the vertex is closer. In the present embodiment, when the center position of the voxel is (x1, y1) and the coordinates of the vertex are (x2, y2), the weight value for a certain voxel is calculated according to the following formula (1). (Weight value) = |(1 - x1) - x2| · |(1 - y1) - y2|…(1) In the example shown in FIG. 16, the weight values of each of the voxels 215 to 218 calculated according to the above formula (1) are as follows. (Weight value of voxel 215)=|(1 - 0) - 0.8|·|(1 - 1) - 0.6| = 0.12 (Weight value of voxel 216)=|(1 - 1) - 0.8|·|(1 - 1) - 0.6| = 0.48 (Weight value of voxel 217)=|(1 - 0) - 0.8|·|(1 - 0) - 0.6| = 0.08 (Weight value of voxel 218)=|(1 - 1) - 0.8|·|(1 - 0) - 0.6| = 0.32

[0121] Also, the game system 1 calculates the density of the material for each voxel. Here, the density of the material is a value obtained by multiplying the ratio occupied by the material among the materials set in the voxel by the density of the voxel. In the present embodiment, as the density of the voxel, a value obtained by normalizing the above-described values from 0 to 255 to values from 0 to 1 is used. In the example shown in FIG. 16, for voxel 215, since the only material set is sand, the above ratio regarding the sand material is 1, and since the density of the voxel is 1, the density of the sand material is 1. For voxel 216, since the density is 0 and no material is set, the density of the material is not calculated. Or, if some material is set, the density of the material is 0. For voxel 217, the above ratios of the set sand material and grass material are 0.7 and 0.3, respectively, and since the density of the voxel is 204 / 255 = 0.8, the density of the sand material is 0.7·0.8 = 0.56, and the density of the grass material is 0.3·0.8 = 0.24. For voxel 218, the above ratios of the set soil material and grass material are 0.6 and 0.4, respectively, and since the density of the voxel is 153 / 255 = 0.6, the density of the soil material is 0.6·0.6 = 0.36, and the density of the soil material is 0.4·0.6 = 0.24.

[0122] Then, the game system 1 calculates the above evaluation value for each material based on the above weight value and the density of the material. In the present embodiment, the evaluation value of the material is a value obtained by attaching a weight according to the weight value for each voxel to the density of the material calculated for each voxel and summing it for each surrounding voxel. In the example shown in FIG. 16, for the evaluation value of the sand material, the density of the material for voxel 215 is 1 and the weight value is 0.12, and the density of the material for voxel 217 is 0.56 and the weight value is 0.08. Therefore, 1·0.12 + 0.56·0.08 = 0.1648. Also, for the evaluation value of the grass material, the density of the material for voxel 217 is 0.24 and the weight value is 0.08, and the density of the material for voxel 218 is 0.24 and the weight value is 0.32. Therefore, 0.24·0.08 + 0.24·0.32 = 0.096. Also, for the evaluation value of the soil material, the density of the material for voxel 218 is 0.36 and the weight value is 0.32. Therefore, 0.36·0.32 = 0.1152.

[0123] The game system 1 determines the vertex materials based on the evaluation values for each material. Specifically, a predetermined number of materials are determined as the vertex materials in descending order of the evaluation values. In this embodiment, two materials with large evaluation values are determined as the vertex materials. In the example shown in FIG. 16, since the evaluation values of the materials of sand, grass, and soil are 0.1648, 0.096, and 0.1152 respectively, the vertex materials are determined as the sand material and the soil material. Also, the game system 1 calculates the ratio of the two determined materials based on the above evaluation values. In this embodiment, the ratio of the two materials may be expressed as a second material ratio, which is the ratio of the second material to the whole, similar to the above material mixing ratio. In the example shown in FIG. 16, for example, when the first material is the soil material and the second material is set to the sand material, the above second material ratio is shown as 0.1648 / (0.1648 + 0.1152) ≒ 0.59. Note that in other embodiments, as the value representing the ratio of the two materials, a value indicating the ratio of the first material may be used. Also, respective values indicating the ratio of each material may be used.

[0124] In this embodiment, the game system 1 generates and stores vertex data indicating the position of the vertex, the material IDs of the first and second materials set for the vertex, and the ratio of the materials. However, the method of managing the materials set for the vertex is arbitrary. In other embodiments, the vertex data may be a data structure including data directly indicating the contents of the first and second materials.

[0125] As described above, in this embodiment, for each vertex, for the material IDs included in the voxel data of a plurality of surrounding voxels, a priority parameter (for example, an evaluation value) for each material ID is calculated based on the voxel data. Then, based on the priority parameter, up to a predetermined number (here, two) of material IDs with high priority are selected and determined as the material ID of the vertex. Note that the specific parameter used as the priority parameter is not limited to the above evaluation value. For example, in other embodiments, an evaluation value calculated using the density of the material instead of the above weight value may be used as the priority parameter.

[0126] Note that in this embodiment, the evaluation value, which is an example of the priority parameter, is calculated based on the densities of a plurality of voxels around the vertex so that the priority of the material set in the voxel with a higher density becomes higher (that is, the evaluation value of the material becomes larger and the material is more likely to be selected). According to this, the material of the vertex can be determined by reflecting the magnitude of the density set in the voxel.

[0127] Also, in this embodiment, the evaluation value, which is an example of the priority parameter, is calculated based on the distance from the reference position (specifically, the center position) of a plurality of voxels around the vertex to the vertex so that the priority of the material set in the voxel closer to the vertex becomes higher. According to this, the material of the vertex can be determined by reflecting the distance between the voxel and the vertex.

[0128] Also, in this embodiment, it can be said that the evaluation value, which is an example of the priority parameter, is calculated based on the material mixing ratio of a plurality of voxels around the vertex so that the priority of the material with a higher material mixing ratio becomes higher. According to this, when a plurality of materials are set in one voxel, the material of the vertex can be determined by reflecting the ratio of each material.

[0129] [2-5. Simplification of Vertex] In this embodiment, the game system 1 simplifies each vertex calculated as described above. That is, the game system 1 reduces the number of vertices by grouping some of the vertices calculated as described above and replacing them with a single vertex. Although details will be described later, the coordinates (i.e., positions) and materials of the vertices to be replaced are set based on a plurality of vertices before replacement. By such simplification, the number of vertices and polygons constituting the mesh of the voxel object can be reduced, and the amount of memory used for processing and the processing load can be reduced.

[0130] In this embodiment, the game system 1 simplifies by expressing each vertex using an SVO (Sparse Voxel Octree). FIG. 17 is a diagram showing an example of vertex simplification. In FIG. 17, one square indicated by a solid line shown in (a) shown in FIG. 17 represents one vertex division region. Here, the vertex division region is a square region having the center position of the voxel as a vertex (in the actual three-dimensional space, the vertex division region is a cube or a rectangular parallelepiped), and is a region having the dotted lines in FIGS. 15 and 16 described above as sides. Also, in FIG. 17, the vertex division region in which the letter "v" is shown inside indicates the vertex division region in which vertices are set.

[0131] In this embodiment, the game system 1 determines whether or not it is possible to simplify the vertices within a predetermined number (four in FIG. 17, eight in the actual three-dimensional space) of adjacent vertex division regions. When it is determined that simplification is possible, simplification is performed on the vertices within the predetermined number of vertex division regions.

[0132] As shown in Fig. 17, (a) represents the state before simplification. In the example shown in Fig. 17, it is assumed that the vertex division regions within the range enclosed by the dotted line are determined to be simplifiable. At this time, the game system 1 simplifies such that the vertices within each of the predetermined number of vertex division regions determined to be simplifiable are replaced by one vertex (see (b) shown in Fig. 17). As a result, the vertices within the predetermined number of vertex division regions are simplified to one vertex.

[0133] In this embodiment, the game system 1 performs simplification in multiple stages. The number of stages is arbitrary, but in Fig. 17, the first two stages are illustrated and described. (b) shown in Fig. 17 represents the state after the first stage of simplification, and (c) shown in Fig. 17 represents the state after the second stage of simplification. In the second stage of simplification, it is determined whether simplification is possible for the vertices generated by the first stage of simplification. In the example shown in Fig. 17, as a result of determining that the vertex division regions within the range enclosed by the dotted line in (b) shown in Fig. 17 are simplifiable, the vertices of the vertex division regions are simplified, resulting in the state shown in (c) shown in Fig. 17. Note that the determination conditions for whether the first stage of simplification is possible and the determination conditions for whether the second stage of simplification is possible may be the same or different.

[0134] Regarding the determination of whether simplification is possible, the specific method is arbitrary. In this embodiment, as the conditions for the above determination, conditions related to the shape of the voxel object and conditions related to the material are used. In this embodiment, when both the conditions related to the shape of the voxel object and the conditions related to the material are satisfied, it is determined that simplification is possible, and when at least one of the conditions related to the shape of the voxel object and the conditions related to the material is not satisfied, it is determined that simplification is impossible.

[0135] The condition regarding the shape means, for example, that the shape formed by each vertex before simplification and the shape formed by each vertex after simplification are not significantly changed. For example, whether the shape formed by each vertex is not significantly changed before and after simplification can be determined by calculating an index indicating the error between the mesh before simplification and the mesh after simplification, and checking whether the index is less than or equal to a predetermined allowable value. Also, for example, when the shape formed by each vertex before simplification is a hollow shape, but the shape formed by each vertex after simplification is not a hollow shape (that is, information indicating hollowness is lost due to simplification), it is also determined that the condition regarding the shape is not satisfied. Whether the above situation occurs can be determined, for example, based on the density of each voxel corresponding to the vertex division region to be determined. Also, for example, when the shape formed by each vertex before simplification is a shape that can only be represented by two or more vertices and cannot be represented by a single vertex, it is also determined that the condition regarding the shape is not satisfied. Note that as the condition regarding the shape of the voxel object, the same condition as the conventional method using SVO may be used.

[0136] In addition, as a condition related to materials, in the present embodiment, a condition related to the number of types of materials set for each vertex within the above-mentioned predetermined number of vertex division regions to be simplified is used. FIG. 18 is a diagram showing an example of the condition related to materials. (a) shown in FIG. 18 shows a case where the materials of vertices 221 to 224 are (grass), (grass), (grass and soil), and (grass and soil), respectively, and (b) shown in FIG. 18 shows a case where the materials of vertices 221 to 224 are (grass and sand), (grass), (grass and soil), and (grass and soil), respectively. In the present embodiment, the condition related to materials is that the total number of types of materials set for each of the above vertices to be simplified is equal to or less than a predetermined number. For example, the condition related to materials is that it is equal to or less than the number of materials that can be set for one vertex. In the present embodiment, the above-mentioned predetermined number is 2. For example, in the case of (a) shown in FIG. 18, the total number of types of materials set for each of the vertices 221 to 224 to be simplified is two types, namely grass and soil, so the condition related to materials is satisfied. At this time, on the condition that the above-mentioned condition related to the shape of the object is satisfied, each of the vertices 221 to 224 is determined to be simplifiable. On the other hand, in the case of (b) shown in FIG. 18, the total number of types of materials set for each of the vertices 221 to 224 to be simplified is three types, namely grass, soil, and sand, so the condition related to materials is not satisfied. At this time, regardless of whether the above-mentioned condition related to the shape of the object is satisfied, each of the vertices 221 to 224 is determined to be non-simplifiable.

[0137] In the game system 1, even materials that are strictly classified into different types may have the same set properties, and a plurality of types of materials with different appearances may be prepared. For some of such a plurality of types of materials, in the determination of conditions related to the materials, they may be regarded as the same type and the determination may be made. For example, regarding soil materials, there may be cases where a plurality of types of soil materials with the same properties but similar appearances (e.g., texture color and pattern) are prepared. In such a case, the game system 1 may regard the plurality of types of soil materials as the same type and make a determination on the conditions related to the materials.

[0138] Here, in the present embodiment, regarding vertices, similar to voxels, up to two types of materials can be set. On the other hand, in the present embodiment, when the total number of types of materials set for each vertex to be simplified is three or more, simplification is not performed. That is, when the total number of types of materials exceeds the number of materials that can be set for one vertex, simplification is not performed. Therefore, even if the number of vertices is reduced by simplification, the information on the materials set for the vertices will not be lost due to simplification, and the information on the materials can be maintained.

[0139] In this embodiment, the material of the simplified vertex is determined based on the material of each vertex before simplification. Specifically, the game system 1 sets one or two types of materials set for the vertices before simplification as the first material and the second material for the vertices after simplification. Thereby, the information of the material can be maintained. Note that the ratio of the materials after simplification is determined based on the ratio of the materials of each vertex before simplification. In this embodiment, the ratio of the materials after simplification is calculated in the same manner as the method of calculating the ratio of the materials of each vertex using the above-described evaluation value. That is, the game system 1 calculates a weight value based on the distance between the vertex after simplification and the vertex before simplification, and based on the weight value and the density of the material at the vertex before simplification (note that the evaluation value of the material described in [2-4. Determination of Vertex Material] above can be used as the density of the material here), calculates an evaluation value for each material. Then, the ratio of the materials is calculated based on the calculated evaluation value of each material.

[0140] [2-6. Mesh Generation] In this embodiment, based on each vertex simplified as described above, a mesh of the voxel object is generated. FIG. 19 is a diagram showing an example of a mesh generated based on each vertex. Note that the square shown in FIG. 19 indicates the above-described vertex division region, or a vertex division region in which a plurality of vertex division regions are combined into one by simplification. As shown in FIG. 19, the game system 1 generates a mesh composed of polygons having sides that are straight lines connecting adjacent vertices in the vertex division region. Each polygon constituting the mesh is a triangle or a quadrilateral.

[0141] In this embodiment, the game system 1 generates two types of meshes: a display mesh and a determination mesh. The display mesh is a mesh used for displaying voxel objects. The determination mesh is a mesh used for collision determination of voxel objects. Although details will be described later, by using the above two types of meshes, the game system 1 can perform processing using meshes suitable for displaying and colliding voxel objects, respectively.

[0142] In this embodiment, the game system 1 generates the display mesh and the determination mesh based on the data of the above-mentioned SVO (that is, based on each simplified vertex). According to this, by sharing the vertex data used for generating the two types of meshes, the processing efficiency can be improved. In other embodiments, the game system 1 may not simplify the vertices and may generate the display mesh and / or the determination mesh based on the non-simplified vertices.

[0143] In this embodiment, the game system 1 generates the determination mesh to have a simpler shape than the display mesh. Specifically, the game system 1 reduces the number of vertices of the determination mesh to be less than the number of vertices of the display mesh. Here, in this embodiment, the SVO data is data that holds the data of the vertices before simplification and the data of the simplified vertices in an octree structure, and also includes the data used for determining whether simplification is possible. This data includes, for example, the data of vertices calculated as candidates for the vertices after simplification (referred to as temporary vertices), and the data of the above-mentioned index indicating the error between the vertices before simplification and the temporary vertices. For example, the game system 1 may use, for the generation of the determination mesh, those vertices among the temporary vertices for which the above index is equal to or less than a predetermined threshold (this threshold is set to be larger than the above tolerance value). According to this, the number of vertices of the determination mesh can be made less than the number of vertices of the display mesh. By making the number of vertices of the determination mesh less than the number of vertices of the display mesh, the processing load due to collision determination can be reduced. Also, since the number of vertices of the display mesh is not excessively reduced, the appearance of the voxel object can be expressed in detail.

[0144] Note that, in other embodiments, the display mesh and the determination mesh may be generated based on the same data or different data. Also, the display mesh and the determination mesh may have the same shape (however, even in this case, the materials set for both may be different). Also, the number of vertices of the determination mesh may be the same as the number of vertices of the display mesh, or may be more than the number of vertices of the display mesh.

[0145] [2-6-1. Determination of the Material of the Display Mesh] Next, an example of a method for determining the material and appearance of the display mesh will be described. In the present embodiment, the game system 1 determines the material for each polygon constituting the display mesh. Although details will be described later, in the present embodiment, the polygon corresponding to the above polygon is drawn using up to two textures corresponding to up to two materials. Therefore, the game system 1 ensures that for each polygon constituting the mesh, ultimately, the number of materials set for one polygon is two or less. In other embodiments, three or more materials may be set. For example, in embodiments where there are three or more materials for voxels and vertices respectively, the same number of materials may be set for the polygon.

[0146] In the present embodiment, a quadrilateral may be formed as the polygon constituting the display mesh (see FIG. 19). When determining the material of the display mesh, the game system 1 first divides the quadrilateral constituting the display mesh into two triangles under certain conditions. Hereinafter, with reference to FIG. 20, the process of dividing the quadrilateral into two triangles will be described.

[0147] FIG. 20 is a diagram showing an example in which a quadrilateral constituting a mesh is divided into two triangles. (a) shown in FIG. 20 shows the quadrilateral before division formed by vertices 231 to 234 which are part of the vertices of the mesh, and (b) shown in FIG. 20 shows the two triangles obtained by dividing the quadrilateral. In the example shown in FIG. 20, assume that the materials of each of the vertices 231 to 234 are grass, soil, sand, grass, and grass respectively.

[0148] In this embodiment, when there are three or more types of materials set at each vertex of a quadrilateral in total, the game system 1 determines whether the division condition is satisfied. In this embodiment, the division condition is that by dividing the quadrilateral into two triangles, the total number of types of materials set at each vertex of the triangles can be made two or less. When the division condition is satisfied, the game system 1 divides the quadrilateral into two triangles such that the total number of types of materials set at each vertex is two or less. In the example shown in FIG. 20, the materials set at each vertex 231 to 234 forming the quadrilateral are three types: grass, soil, and sand. Also, when the above quadrilateral is divided into a triangle formed by vertices 231, 232, 234 and a triangle formed by vertices 231, 233, 234, the materials set at each vertex of the former triangle are two types: sand and grass, and the materials set at each vertex of the latter triangle are two types: grass and soil (see (b) shown in FIG. 20). Therefore, for the above quadrilateral, the division condition is satisfied, so the game system 1 divides the quadrilateral into two triangles.

[0149] Note that since there are two ways to divide a quadrilateral into two triangles, when the division condition is satisfied for the triangles divided by at least one of the two ways, the game system 1 performs the above division in the way that satisfies the division condition. On the other hand, when the division condition is not satisfied for the triangles divided by either of the two ways, the division is performed in either way.

[0150] By performing the division as described above, the game system 1 can generate two triangles in which the materials set at each vertex are two or less so as to minimize the omission of information on three or more types of materials set at each vertex of the quadrilateral. Here, as described above, each polygon constituting the mesh is drawn using up to two types of textures. Therefore, by performing the above division, the game system 1 can draw the polygon using two types of textures so as to minimize the omission of information on the materials set at each vertex.

[0151] In this embodiment, the game system 1 sets a polygon corresponding to the polygon after the above division. That is, the vertices of the polygon after the above division become the vertices of the polygon of the display mesh.

[0152] In this embodiment, for each polygon constituting the display mesh, when there are three or more types of materials set for each vertex of one polygon in total, the game system 1 determines the material of the polygon by selecting two types of materials. FIG. 21 is a diagram showing an example of a method for determining the material of a polygon constituting the display mesh. In the example shown in FIG. 21, for vertex 241 of the triangular polygon constituting the display mesh, let the first material be "grass", the second material be "soil", and the material ratio of the first material: the second material = 0.8:0.2. Also, for vertex 242 of the above polygon, let the first material be "grass", the second material be "sand", and the material ratio of the first material: the second material = 0.5:0.5. Also, for vertex 243 of the above polygon, let the first material be "sand", the second material be "soil", and the material ratio of the first material: the second material = 0.7:0.3.

[0153] When there are three or more types of materials set for each vertex of the polygon in total, the game system 1 calculates a determination value for each material. The determination value is calculated as the value obtained by summing the ratios for each vertex where the material is set. Then, the game system 1 selects two materials in order from the ones with larger determination values as the materials of the polygon. In the example shown in FIG. 21, the determination value of the grass material is 0.8 + 0.5 = 1.3, the determination value of the sand material is 0.5 + 0.7 = 1.2, and the determination value of the soil material is 0.2 + 0.3 = 0.5. Therefore, as the materials of the polygon shown in FIG. 21, the grass and sand materials are selected (see (a) shown in FIG. 21).

[0154] Incidentally, the specific method of selecting the material of the polygon of the display mesh is arbitrary. In other embodiments, the material of the polygon of the display mesh may be selected by any method based on the information set at the vertices of the polygon. For example, for the material of the polygon of the display mesh, the material with the largest ratio at one vertex is specified for each vertex, and the material with the largest number of specified materials for each vertex may be selected as the material of the polygon.

[0155] In this embodiment, the material of the polygon selected as described above is indicated by the materials set at each vertex of the polygon. That is, when the material of the polygon is selected, the game system 1 changes the materials set at each vertex of the polygon (that is, the material IDs included in the vertex data) to the selected material. In the example shown in FIG. 21, for vertices 241 and 243, before the selection of the material of the polygon, the materials of grass and soil, and sand and soil are set respectively (see (a) shown in FIG. 21). When the materials of grass and sand are selected as the material of the polygon as described above, the materials set at each of vertices 241 and 243 are changed to grass and sand (see (b) shown in FIG. 21). Incidentally, for vertex 242, since the material set before the selection is the same as the selected material of the polygon, the material is not changed. As described above, when two types of materials are selected as the material of the polygon, the information of the materials of the third type and later set at each vertex of the polygon will be deleted.

[0156] In addition, the game system 1 changes the ratio of the materials set for the vertices according to the change of the materials set for the vertices. For example, for vertex 241, the content changes from the first material being grass and the second material being soil to the first material being grass and the second material being sand. Here, since the proportion of the sand material is 0, the material ratio is the first material: the second material = 1:0. In this way, the above change formally changes the material of each vertex in order to represent the material of the polygon by the materials of the respective vertices of the polygon.

[0157] According to the above, since the materials set for each vertex of one polygon are only the materials corresponding to the texture used for the drawing described later, it is possible to facilitate the execution of the drawing process using the texture.

[0158] Note that due to the above change, it may be the case that all the materials for a certain vertex are changed (that is, none of the materials before the change match the materials after the change). Such a case is, for example, a case where the material set for the vertex before the change is soil, and the materials selected as the material of the polygon are grass and sand. In such a case, the ratio of the materials at the vertex may be set based on the ratio of the materials at the other vertices of the polygon. For example, in the above example, if the first material set for one of the other vertices of the triangular polygon is grass and the material ratio is grass: sand = 1:0, and the material set for another vertex is sand and the material ratio is sand: grass = 1:0, the material ratio at the vertex may be set to grass: sand = 0.5:0.5. In addition, the game system 1 may determine the ratio of the materials at the vertex in consideration of the distance between the vertex and the other vertices (for example, based on a weight value that becomes larger as the distance is closer).

[0159] As described above, in this embodiment, for each polygon, the game system 1 selects up to a predetermined number (here, 2) of the material IDs set for the vertices included in the polygon (that is, the material IDs set for the vertices of the polygon corresponding to the polygon) and determines them as the material ID of the polygon. According to this, the game system 1 can perform the drawing process while reflecting the material set for the vertices in the appearance of the polygon and suppressing the number of textures used.

[0160] In this embodiment, for all the materials of the vertices constituting the polygon, when the number of the materials is less than or equal to the predetermined number, the game system 1 determines the material as the material of the polygon, and when the material exceeds the predetermined number, based on the priority parameter of each vertex (specifically, based on the determination value calculated based on the above-described evaluation value), it selects a predetermined number of materials with high priority and determines them as the material of the polygon. Thus, even when a total of more than the predetermined number of materials are set for each vertex, the material of the polygon can be set to a predetermined number or less of materials considering the priority.

[0161] As described above, in this embodiment, the first and second materials set for each vertex of one polygon are changed to be two types of materials set for the polygon. Here, when such a change is made, there may be a discrepancy in the first and second materials set for the vertices shared by two adjacent polygons.

[0162] FIG. 22 is a diagram showing an example of materials set at each vertex of two adjacent polygons. FIG. 22 shows a state in which two polygons are formed by the respective vertices 231 to 234 shown in FIG. 20 (FIG. 20(b)). In the example shown in FIG. 22, since the material of the first polygon formed by vertices 231, 233, and 234 is determined to be grass and sand, the first and second materials of these vertices should be set to grass and sand, respectively. On the other hand, since the material of the second polygon formed by vertices 231, 232, and 234 is determined to be grass and soil, the first and second materials of these vertices should be set to grass and soil, respectively. Therefore, in the example shown in FIG. 22, there is a conflict in the materials to be set for vertices 231 and 234 shared by the two polygons.

[0163] Therefore, in the present embodiment, when there is a conflict in the materials to be set for a vertex shared by two polygons, the game system 1 adds another vertex at the same position with respect to the said vertex. FIG. 22(b) is a diagram showing an example of a state in which vertex 231' is added for vertex 231 and vertex 234' is added for vertex 234. In the example of FIG. 22, for vertices 231 and 234, the game system 1 sets the first and second materials to grass and sand according to the material of the first polygon. Also, for vertices 231' and 234', the game system 1 sets the first and second materials to grass and soil according to the material of the second polygon. In this way, by formally setting two vertices as the vertices shared by the two polygons (that is, generating two vertex data with the same position but different materials), it is possible to suppress the occurrence of a conflict in the materials set at the vertices.

[0164] The game system 1 generates a display mesh composed of polygons whose vertices and materials are determined as described above. Also, the game system 1 performs the drawing of the voxel object by performing the drawing of the polygon based on the material information (that is, the first material and the second material) set for each vertex.

[0165] FIG. 23 is a diagram showing an example of applying a texture to a polygon. FIG. 23 shows a triangular polygon formed by the respective vertices 241 to 243 shown in FIG. 21. Note that the materials set for the respective vertices 241 to 243 are those shown in (b) shown in FIG. 21.

[0166] Regarding the position of the vertex of the polygon, the drawing is performed by mapping that blends the texture of the first material and the texture of the second material set for the vertex at the ratio of the materials set for the vertex (that is, using the ratio as the blend ratio). Note that the textures of the first and second materials used for the drawing are the textures indicated by the drawing setting information associated with each material ID associated with the vertex data in the above-described material data (see FIG. 12). In the example shown in FIG. 23, regarding the position of vertex 241, since the material ratio is grass:sand = 1:0, the drawing is performed using only the grass texture. Also, regarding the position of vertex 243, since the first material is sand and the material ratio is sand:grass = 1:0, the drawing is performed using only the sand texture. Also, regarding the position of vertex 242, since the first material is grass, the second material is sand, and the material ratio is grass:sand = 0.5:0.5, the drawing is performed by blending the grass texture and the sand texture at a blend ratio of 0.5:0.5.

[0167] Also, for positions other than the vertices of the polygon, the game system 1 determines the blend rate by interpolating the blend rates at each vertex. Then, the textures of the two materials set for each vertex are drawn by a mapping that blends based on the interpolated blend rate. Note that the specific method of interpolation is arbitrary. As an example, the blend rate between vertices is linearly interpolated. In FIG. 23, positions where the ratio of the texture of the grass material applied is high are shown in white, and positions where the ratio of the texture of the sand material applied is high are shown in black. In the example shown in FIG. 23, the grass texture is applied at vertex 241, the blend ratio of the sand texture increases towards vertex 243, the blend rate of grass and sand becomes 1:1 at the position of vertex 242, and only the sand texture is applied at the position of vertex 243. In this way, by blending and drawing the two textures set for the polygon (i.e., set for each vertex of the polygon) at a blend rate according to the ratio of the materials, the appearance at the boundary between different materials in the display mesh can be made natural. As a result, the appearance of the display mesh with multiple types of materials set can be made natural.

[0168] [2-6-2. Determination of the Material of the Judgment Mesh] Next, an example of a method for determining the material of the judgment mesh will be described. Although details will be described later, in this embodiment, collision detection of the voxel object is performed using the judgment mesh, and processing according to the material of the voxel object for which collision is detected may be executed. Therefore, in this embodiment, the material is also determined for the judgment mesh.

[0169] In this embodiment, for each polygon constituting the determination mesh, the game system 1 ensures that only one type of material is set for each polygon. Specifically, the game system 1 determines the material set for the polygon of the determination mesh based on the material information (i.e., the first and second materials and the information on the ratio of the materials) set at the vertices of the polygon.

[0170] FIG. 24 is a diagram showing an example of a method for determining the material of a polygon constituting the determination mesh. FIG. 24 shows an example of determining the material for a triangular polygon formed by the respective vertices 241 to 243 shown in FIG. 21. The materials set at the respective vertices 241 to 243 are those shown in (a) shown in FIG. 21.

[0171] When determining the material of the polygon, the game system 1 calculates a determination value for each material set at each vertex of the polygon. In this embodiment, the method for calculating the above determination value is the same as the method for calculating the determination value used for selecting the material of the polygon of the display mesh. Note that the specific method for calculating the determination value is arbitrary. In other embodiments, the above determination value may be calculated by any method based on the information set at the vertices of the polygon of the determination mesh.

[0172] In the example shown in FIG. 24, the determination value for each material is the same as in the case shown in FIG. 21 described above. The determination value for the grass material is 1.3, the determination value for the sand material is 1.2, and the determination value for the soil material is 0.5. Therefore, the grass material is selected as the material of the polygon shown in FIG. 24.

[0173] As described above, in the present embodiment, for each polygon, the game system 1 selects up to a predetermined number (here, 1) of the material IDs set for the vertices included in the polygon (that is, the material IDs set for the vertices of the polygon corresponding to the polygon), and determines them as the material IDs of the polygon. According to this, the game system 1 can suppress the number of materials set for the determination mesh to a predetermined number or less. Thereby, it is possible to suppress the complexity of the processing according to the type of material, which is performed according to the result of the collision determination using the determination mesh. Note that the method of determining the material of the polygon of the determination mesh is arbitrary and is not limited to the above. In other embodiments, the material of the polygon of the determination mesh may be determined by any method based on the information set for the vertices of the polygon.

[0174] Also, in the present embodiment, for the polygon of the display mesh, up to two types of materials are set, while for the polygon of the determination mesh, one type of material is set. According to this, for the polygon of the display mesh, two types of textures can be used to achieve a natural appearance, and for the determination mesh, it is possible to suppress the complexity of the processing performed according to the result of the collision determination using the determination mesh. Note that in other embodiments, the types of materials that can be set for the polygons of the display mesh and the determination mesh are arbitrary. The number of materials that can be set for the polygon of the display mesh and the number of materials that can be set for the polygon of the determination mesh may both be plural, may be the same, or may be different.

[0175] In the present embodiment, the number of material types set for one voxel is up to two, and the number of material types set for one polygon in the display mesh is up to two. According to this, while suppressing the data amount of the voxel data, the information of the material set in the voxel data can be reflected in the material of the display mesh. Further, in the present embodiment, the number of material types set for the vertices set based on the voxel data is also up to two (see FIG. 16). According to this, since two types of materials can be set for the vertices generated during the process of obtaining the display mesh from the voxel data, the information of the material set in the voxel data can be reflected in the display mesh without loss of material information during the process.

[0176] In another embodiment, the game system 1 may set materials differently for vertices used to generate a display mesh and vertices used to generate a determination mesh with respect to vertices set based on voxel data. For example, the game system 1 may set up to two types of materials for vertices used to generate a display mesh as described above, and may set one type of material for vertices used to generate a determination mesh. For the materials of the polygons of the display mesh, two types of materials may be set in the same manner as above, and as the material of the polygon of the determination mesh, one type of material may be set based on the one type of material set for each vertex of the polygon. When setting one type of material for the vertices used to generate the determination mesh, the material with the largest determination value calculated for each material may be set as the material of the vertex. Also by the above, as in this embodiment, the number of types of materials set for one polygon in the display mesh can be up to two, and the number of types of materials set for one polygon in the determination mesh can be one. Therefore, it is possible to reflect the material information set in the voxel data in the display mesh, and it is possible to suppress the complication of the processing performed according to the result of the collision determination using the determination mesh.

[0177] As described above, in this embodiment, a display mesh and a determination mesh can be set for one voxel object. However, depending on the game situation, it is not necessary to set both the display mesh and the determination mesh for one voxel object at the same time (for example, it is not necessary to set both in the processing within one frame). For example, the determination mesh may be generated in a range where collision determination is performed in the game space, and may not be generated in a range where collision determination is not performed. As an example, the game system 1 may generate a determination mesh for voxel objects within a predetermined range centered on the player character, and may not generate a determination mesh for voxel objects outside the predetermined range, but only generate a display mesh.

[0178] Also, for the display mesh, the game system 1 may store data regarding the generated mesh in the memory, and in a frame after the mesh is generated, use the data without re-executing the process of generating the mesh except for the updated range. According to this, the processing load for generating the display mesh can be reduced. Also, for the determination mesh, the data regarding the generated mesh may not be stored in the memory, and the mesh may be sequentially generated as needed (for example, every time collision determination needs to be performed). According to this, the memory area used for generating the mesh can be saved.

[0179] In the above, the method of generating each mesh (that is, the display mesh and the determination mesh) based on the changed voxel data when the voxel data is changed from the initial state has been described. Note that the above method can also be used when generating each mesh based on the voxel data in the initial state, for example, at the start of the game. However, each mesh based on the voxel data in the initial state does not necessarily need to be generated based on the voxel data in the initial state at the start of the game, and may be prepared in advance before the game starts.

[0180] In other embodiments, only one of the above-described display mesh and determination mesh may be set (i.e., the display and determination are shared using the same mesh). In this case, the above-described display mesh may be shared by also using it as the determination mesh, or the above-described determination mesh may be shared by also using it as the display mesh. When the determination mesh and the display mesh are set separately, an appropriate mesh can be used according to each purpose, whereas when rendering and collision determination are shared using the same mesh, the processing load for setting the mesh can be reduced.

[0181] [2-7. Processing for Wide-Area Display of Game Images] Next, with reference to FIGS. 25 to 29, an example of processing for wide-area display of game images will be described. In the following, it is assumed that terrain objects such as the ground and walls are voxel objects. And in the present embodiment, when the player character performs an action, as a result of collision determination being performed on the voxel object, an in-game effect occurs.

[0182] Note that the above “in-game effect” is any change that occurs in the game, for example, a change caused by “processing that reflects the result of contact between objects”. The “in-game effect” may be based on a collision determination between the determination mesh and a determination shape corresponding to a determination target based on game processing (for example, a determination area set for an object such as a player character). The above effect may occur on an object corresponding to the determination mesh, or may occur on an object corresponding to the above determination target. The content of the “in-game effect” may be associated with the material set for the polygon on which a collision is determined in the collision determination that is the factor for the occurrence of the effect (that is, the content of the effect may be determined by the material).

[0183] In addition, the above "in-game effect" occurs on the voxel object according to the material of the voxel object. For example, the voxel object may be a fragment object generated by being pulled out of the terrain object by the action of the player character. In this case, the in-game effect associated with the material of the fragment object occurs.

[0184] For example, through a collision determination as to whether a determination mesh for a terrain object and a determination area set for the player character (for example, an area with a predetermined shape set based on the position of the player character) are in contact, the player character is controlled so as not to be able to enter the inside of the terrain object. Therefore, the player character can stand on or walk on the terrain object. In the present embodiment, by setting the material for each polygon of the terrain object, the game system 1 can execute different processes according to which material part of the voxel object another object has come into contact with. Also, the content of the process to be executed can be made according to the type of material.

[0185] Also, the content of the process to be executed when a collision between a voxel object and another object is determined is arbitrary. For example, when the other object is a moving object such as a player character or an enemy character, the process may be a process of outputting the footsteps of the object or displaying an effect (for example, an effect representing dust or water splashes) at the contact location. At this time, the game system 1 can vary the footsteps or the effects according to the type of material set for the polygon of the contacted part of the voxel object.

[0186] In this embodiment, the user can cause the player character to perform an action of grasping a part of the terrain object by a predetermined operation input, pulling it out as a fragment object, and holding it (referred to as the "pull-out action"), or an action of destroying a part of the terrain object by punching (referred to as the "punch action"). The game system 1, as an in-game effect caused by the pull-out action or the punch action, erases a part of the terrain object and generates a fragment object.

[0187] For example, when the pull-out action is performed, the game system 1 executes the following processing. For example, when the user performs an operation input that causes the player character to perform the pull-out action or the punch action, the game system 1 causes the player character to perform an action of digging forward and grasping, and performs a collision determination. Then, when a collision between the player character performing the pull-out action or the punch action and the terrain object is determined, an update range is generated based on the position and orientation of the player character 201. Then, the game system 1 decreases the density of the voxels corresponding to the update range, and by updating the mesh according to the decrease in the density of the voxels, the terrain object is deformed so that the part within the update range is erased.

[0188] In addition, the game system 1 generates a fragment object representing a portion of the terrain object that has been erased. The fragment object may be a voxel object and may be generated to have a shape corresponding to the portion of the terrain object that has been erased, or may have a predetermined shape. A unique voxel space different from the voxel space of the voxels corresponding to the terrain object or the like is defined for the fragment object. For example, the game system 1 determines the material of the fragment object based on the material set for the polygon within the determination mesh that contacts the update range among the determination meshes of the terrain object from which it was extracted. As an example, the material of the fragment object is determined to be the same as any one of the materials set for the polygons within the determination mesh that contacts the update range. As another example, the material of the fragment object may be determined based on the material set for the voxel data in the voxels that contact the update range. Also, the fragment object may be pre-arranged within the game space (e.g., on the terrain object).

[0189] Thus, in this embodiment, the shape and material of the terrain object change according to the actions of the player character and other objects. Therefore, since the game field in which the player character operates is updated by the above actions and the like, in order to widely display the game field (e.g., map display), a display based on the game field in the latest state is required. That is, when displaying a 2D map image prepared in advance for the game field updated as described above, there is a problem that the game field is not in the latest state.

[0190] In this embodiment, a virtual camera that is controlled to move based on the position of the player character and generates a game image with the position of the controlled movement as the viewpoint is moved to a position farther away from the player character to widely display the game image. Also, in this embodiment, by increasing the transparency of a part of the above-described display mesh and rendering it, or by dithering a part of the display mesh and rendering it, a wide-area game image with the inside of the display mesh visualized can be displayed. Hereinafter, as an example of a process for widely displaying a game image, an example of such an inside visualization process will be described as the first example.

[0191] (First Example) The upper diagram in FIG. 25 shows an example of a game image representing a state where the player character 201 is placed on the terrain object 251. In the example shown in the upper diagram of FIG. 25, the material for the polygon of the determination mesh of the terrain object 251 which is the ground is set to "rock". And the player character 201 is placed on the hillside of the terrain object 251, and a cliff with a height difference is formed behind the player character 201. Note that the virtual camera for displaying the above game image is controlled to move based on the position of the player character 201. As an example, the virtual camera may be controlled to move following the player character 201 so as to include the player character 201 in the field of view. As another example, the virtual camera may be controlled to move so as to be in the first-person view of the player character 201 (that is, the position of the virtual camera becomes the position of the player character 201). Also, in any example, the virtual camera may be further controllable in position and / or orientation according to a user operation.

[0192] In this embodiment, the display mesh in the game space is drawn with a level of detail corresponding to the distance from the virtual camera. For example, in this embodiment, the display mesh far from the virtual camera is rendered with a relatively rough level of detail by enabling LOD (Level of Detail). As an example, in the upper figure of FIG. 25, since the terrain object 251 under the cliff is arranged at a distance of a predetermined distance or more from the virtual camera, it is displayed by a display mesh with a rough level of detail by rendering with LOD enabled (the portion indicated by the hatched area in the upper figure of FIG. 25). By such a drawing process, in the process of drawing a game image, the drawing process load in the distant view display can be reduced, and the perspective as seen from the virtual camera can be expressed. Note that the display mesh close to the virtual camera may also be drawn with a relatively rough level of detail by enabling LOD for rendering.

[0193] On the terrain object 251, a fragment object 252 and a box object 253 are arranged. For example, the fragment object 252 is a voxel object which is an object based on voxel data. The box object 253 is a non-voxel object which is an object not based on voxel data. The fragment object 252 is generated by the player character 201 by the above-mentioned pulling action or the above-mentioned punching action, or is prepared and arranged on the terrain object 251 in advance. And a unique voxel space independent of the voxel space of the voxels corresponding to the terrain object 251 etc. is defined for the fragment object 252. The above-mentioned unique voxel space can move / rotate within the game space for each defined fragment object 252, and the position, direction (posture), etc. of the unique voxel space within the game space are controlled.

[0194] In this embodiment, the game system 1 moves the virtual camera to a position that at least includes the position of the player character 201 in the field of view and is at least farther away from the player character 201 in response to a mode switching instruction based on a user operation input (for example, an operation instruction to press the - button (operation button 47)). Then, the game system 1 transitions from the normal display mode for displaying the above game image (referred to as the "normal game image") to the wide-area display mode for displaying a game image (referred to as the "wide-area game image") for widely displaying the game space. For example, the orientation of the virtual camera after the movement is set based on the orientation of the virtual camera before the movement, and the position of the virtual camera after the movement is set based on the orientation and the fixation point. As an example, the orientation of the virtual camera after the movement is set to an orientation that does not change the yaw direction, roll direction, and pitch direction in the virtual camera before the movement, but the yaw direction and / or pitch direction may be changed as necessary. When the virtual camera before the movement is set at a position other than the first-person view point (that is, the position of the virtual camera is the position of the player character 201), the position of the virtual camera after the movement may be set to a position that is farther away from the fixation point without changing the fixation point in the virtual camera before the movement. Also, the position of the virtual camera that at least includes the position of the player character 201 in the field of view may be such that the player character 201 itself may not be displayed in the wide-area game image, the position of the player character 201 may be the fixation point of the virtual camera, or may not be the fixation point.

[0195] In the above movement, the virtual camera may move in any moving direction or by any moving distance. For example, the virtual camera may move to a position farther from the fixation point of the virtual camera before the above movement without changing the fixation point. As an example, the virtual camera may move to a position farther from the fixation point along the line-of-sight direction of the virtual camera before the above movement without changing its posture. Also, when the position farther from the fixation point along the line-of-sight direction is within the virtual object or the view of the player character 201 is blocked by other objects, the virtual camera may be moved to a position where these states can be resolved. In this case, the pitch direction and / or yaw direction of the virtual camera may be changed so that the position of the player character 201 is included in the field of view (for example, the position of the player character 201 is included in the center of the field of view). Also, in the above movement, the virtual camera may move to a position at a distance determined for each game stage. For example, the determined distance is at least longer than the distance from the virtual camera to the fixation point or the player character 201 before the above movement, and in the above movement, the virtual camera may move to a position where the distance from the fixation point or the distance from the player character 201 becomes the determined distance.

[0196] The lower diagram of FIG. 25 is a diagram showing an example of a wide-area game image displayed in response to the above movement of the virtual camera from the state of displaying the normal game image illustrated in the upper diagram of FIG. 25. As shown in the lower diagram of FIG. 25, the wide-area game image is displayed in the wide-area display mode, and a game space wider than the normal game image is displayed. For example, the wide-area game image includes at least the entire layer that the user is focusing on in the game space in the field of view and can also be used as a map image in the game space. For example, in the wide-area game image shown in the lower diagram of FIG. 25, a layer notification image 206 indicating the layer in the game space to be displayed is displayed.

[0197] For example, in the wide-area game image illustrated in the lower diagram of FIG. 25, the entire first layer in the game space is displayed. On the upper surface of the first layer, there are formed a hillside surface of a terrain object 251 on which the player character 201 is placed and a cliff having a height difference with the hillside surface. The normal game image illustrated in the upper diagram of FIG. 25 is an image in which a part of the upper surface of the first layer is displayed. Also, the display mesh displayed in the wide-area display mode is drawn with a detail level that does not depend on the distance from the virtual camera. For example, in the present embodiment, since the wide-area game image displayed in the wide-area display mode is rendered with LOD disabled, the entire layer that is the display target is drawn with a relatively fine detail level. As an example, the detail level at which the display mesh is drawn in the wide-area game image is the same as the detail level at which the display mesh near the player character 201 in the normal game image is drawn. In the example shown in the lower diagram of FIG. 25, the terrain object 251 under the cliff, which was displayed with a rough detail level in the normal game image, is displayed by a display mesh with a relatively fine detail level due to rendering with LOD disabled. By such a drawing process, in the game image displayed in wide area, an image that emphasizes the visual beauty of the entire game space is displayed, enabling visual recognition of the entire game space.

[0198] Here, in order to realize the drawing process of the wide-area game image in the wide-area display mode described above, the frame rate for displaying the image may be changed. For example, the frame rate for displaying the wide-area game image may be based on the frame rate for displaying the normal game image (for example, 60 fps (frames per second)), and may be lowered to a predetermined frame rate (for example, 30 fps) with the resolution fixed in response to an increase in the drawing process load. Also, it may be returned to the basic frame rate in response to a decrease in the drawing process load. As an example, the frame rate for displaying the wide-area game image may be changed based on the angle at which the virtual camera views the game space in the wide-area display mode, and may be lowered to an arbitrary frame rate when the angle for looking down on the displayed layer from above is reached.

[0199] Also, in the wide - area display mode, the virtual objects to be drawn may be more limited than in the normal display mode. Here, the virtual objects that are not displayed in the wide - area display mode may be voxel objects based on voxel data or non - voxel objects not based on voxel data. For example, in an example shown in FIG. 25, in the normal game image in the normal display mode, on the slope surface of the terrain object 251, a fragment object 252 which is a voxel object and a box object 253 which is a non - voxel object are drawn. On the other hand, in the wide - area game image in the wide - area display mode, the fragment object 252 and the box object 253 are not displayed. Also, although not illustrated in FIG. 25, enemy characters or non - player characters (NPCs) which are voxel objects based on voxel data may not be displayed in the wide - area display mode. For the objects to be made non - displayed in the wide - area game image in the wide - area display mode, the game designer may select each object based on the importance in the game and the like. In this embodiment, when selecting to make a voxel object non - displayed, it is selected in voxel space units. In this way, in the wide - area display mode, by making at least some of the virtual objects non - displayed, the density at which the drawing target is displayed can be appropriately adjusted because the drawing target is limited during wide - area display, and the drawing processing load can also be reduced.

[0200] Also, at least one of the virtual objects selected as the rendering target in the wide-area display mode may be rendered in the (User Interface). For example, in this embodiment, after the rendering of the game space in the wide-area display mode is completed, a predetermined UI corresponding to the virtual object is rendered at a position overlapping the display mesh. For example, in the wide-area game image illustrated in the lower figure of FIG. 25, UI202 and 203 are rendered. UI202 indicates the current location of the player character 201 at the current time. UI203 indicates the position where another object A is arranged. As an example, the other object A is a building provided in the game space and is a relatively important place that can be the destination of the player character 201. Note that the virtual object selected as the rendering target in the wide-area display mode may be rendered in the wide-area game image as the model that was being displayed in the normal display mode or using a map model obtained by simplifying the model. For example, in the wide-area game image illustrated in the lower figure of FIG. 25, the virtual object 204 is rendered using an image based on the model that was being displayed in the normal display mode.

[0201] In this embodiment, when the position where a predetermined type of UI (for example, UI202) is displayed in the wide-area game image is specified by a user operation, it is possible to move the player character 201 to the position in the game space corresponding to the display position of the UI. For example, when the above UI is specified by a user operation, the player character 201 can move to the location corresponding to the UI (for example, near the building corresponding to the UI) without a moving distance (instantly move from the current location to that location, so-called warp move). Then, when the above UI is specified, the game system 1 moves the player character 201 to the location corresponding to the UI and transitions from the wide-area display mode to the normal display mode. In this way, when using the wide-area game image, since it is possible to set a location far away as the movement target compared to the normal game image, it becomes easier for the user to input an operation instruction to move a long distance by the above warp move. Note that the UI superimposed and displayed on the wide-area game image may indicate the positions of items, enemy characters, NPCs, etc., in addition to the UI having the above-described functions.

[0202] Also, the shading setting in the game space may be different between the normal display mode and the wide-area display mode. For example, the setting of the light source in the game space may be different between the normal display mode and the wide-area display mode, and may be set for each game stage drawn as a wide-area game image. As an example, the light source may be set so that the entire layer to be displayed in the wide-area display mode becomes brighter than the game space displayed in the normal display mode.

[0203] Also, in the wide - area display mode of the present embodiment, for the display meshes included in the areas other than the selected area among the plurality of areas that divide the game space, post - effects with different display modes may be added. For example, in the wide - area game image illustrated in the lower figure of FIG. 25, mask processing is performed as an example of post - effect processing for other layers (for example, the second layer indicated by the broken line in the lower figure of FIG. 25) and the background excluding the layer of the game space that is the display target in the wide - area display mode (for example, the filled area in the lower figure of FIG. 25). In this way, by adding post - effects with different display modes, specific parts in the wide - area game image can be made prominent. Also, in the wide - area display mode, by performing mask processing as a post - effect, the influence on the in - game processing (game processing in the normal display mode) can be minimized. Further, in the process of drawing the normal game image in the normal display mode and the process of drawing the wide - area game image in the wide - area display mode, since the mask processing is performed only in the wide - area display mode with the drawing process being common, by using the mask processing as a post - effect without changing the setting of the drawing process, the entire drawing process in the present embodiment can be simplified.

[0204] The game system 1 performs a masking process on the display meshes included in layers other than the layer that the user is focusing on (for example, the layer that overlaps with the cursor 205 that moves according to the user operation input described later). For example, the game system 1 divides the game space into layers and defines determination boxes that surround the entire layer for each of the divided layers. Then, the game system 1 determines the layer to be masked by comparing the determination box with the depth buffer. As an example, the game system 1 determines the layer that the user is focusing on by comparing the drawing pixels within the cursor 205 and the depth information at the fixation point with the positions of the respective determination boxes, and performs a masking process as a post - effect on the layers other than the determined layer and the background. Also, for the drawing in the layers other than the layer that the user is focusing on, it may be performed in the same manner as the layer that the user is focusing on, or the drawing may be performed with lighting, fog, etc. disabled. Note that when the layer to be the display target is selected according to the user operation input, a masking process may be performed on the layers other than the selected layer and the background. For example, in the wide - area display mode, the layer to be the display target may be changed in response to the user pressing the up - direction button (operation button 35) or the down - direction button (operation button 34).

[0205] In this embodiment, in the wide-area display mode, the virtual camera can be controlled based on user operation input. As an example, the game system 1 performs control to move the viewing point of the virtual camera or control to rotationally move the virtual camera around the viewing point based on the tilting operations of the sticks 32 and 52. By this movement control of the virtual camera, the display range for the display target displayed on the display 12 and the line-of-sight direction for viewing the display target in the wide-area display mode can be changed according to the user operation. Also, as illustrated in the lower figure of FIG. 25, in this embodiment, a cursor 205 is displayed at the center of the display range in the wide-area display mode, and in this case, the viewing point of the virtual camera can be indicated by the cursor 205. That is, in this embodiment, by changing the display range and the line-of-sight direction displayed on the display 12, the position indicated by the cursor 205 displayed at the center of the display range can be changed. The cursor 205 may be used to determine the hierarchy that the user is focusing on as described above, or may be used to select a UI or the like displayed in the wide-area game image. Note that the cursor 205 may be set at an arbitrary position with respect to the above display range based on user operation input. As another example, the game system 1 may perform control of a zoom function such as zooming in / zooming out of the virtual camera based on user operation input.

[0206] In this embodiment, in the wide-area display mode, when a mode switching instruction based on a user operation input (for example, an operation instruction to press the "-" button (operation button 47)) is performed again, the system can transition to the normal display mode. For example, the game system 1 moves the virtual camera to a position where at least the distance from the player character 201 becomes closer in response to the mode switching instruction in the wide-area display mode, and transitions from the wide-area display mode to the normal display mode. For example, the orientation of the virtual camera after the movement is set based on the orientation of the virtual camera in the wide-area display mode before the movement, and the position of the virtual camera after the movement is set based on the orientation and the fixation point. As an example, the orientation of the virtual camera after the movement is set to an orientation that does not change the yaw direction, roll direction, and pitch direction of the virtual camera before the movement, and the yaw direction and / or pitch direction change as necessary. Then, the position of the virtual camera after the movement is set to a position where the distance from the fixation point in the virtual camera before the movement becomes closer.

[0207] Note that in the above movement, the virtual camera may move in any movement direction or may move by any movement distance. As an example, the virtual camera may move to a position closer to the fixation point with the player character 201 or its vicinity as the fixation point. As another example, when a first-person perspective normal game image is displayed in the normal display mode, the virtual camera may move so that the position of the player character 201 becomes the viewpoint.

[0208] Thus, in this embodiment, the wide-area game image can display the game space in a wide area by moving the virtual camera. Here, the display mesh in the game space is drawn corresponding to the voxel data that can be updated during the game. However, since the wide-area game image is generated by moving the virtual camera set in the game space, it is possible to perform a wide-area display based on the latest display mesh. Note that between the normal game image and the wide-area game image, not only the positions of the virtual cameras for generating these images are different, but also various changes as described above are made, and the display mode transitions due to these changes. The timing at which the above various changes are made and the display mode transitions may be during the movement of the virtual camera to change the display mode, may be at the start point of the movement, or may be at the end point of the movement.

[0209] FIG. 26 is a diagram showing an example of a wide-area game image that displays the second layer of the game space when a user operation input for changing the layer to be displayed in the wide-area display mode is performed. As shown in FIG. 26, the second layer is entirely covered by a wall object 254, which is a voxel object based on voxel data. In the wide-area display mode where the virtual camera is arranged outside the second layer, the inside of the second layer is not visible. In the first example, by dithering and drawing a part of the display mesh in the wall object 254, the inside of the display mesh is visualized and displayed.

[0210] As shown in FIG. 26, the second layer has an internal space surrounded by the wall object 254. In the internal space of the second layer, a terrain is formed by a terrain object 251, which is a voxel object based on voxel data and has a material set to "rock". Note that the wall object 254 is described separately from the terrain object 251 as a "wall" object for convenience, but it may be composed of any material and, as an example, may have a material set to "rock" similar to the terrain object 251.

[0211] In the first example, a specific material is set for a display mesh whose interior is to be visualized, that is, for a part of the display mesh that can be a dithering target. For example, in the example shown in FIG. 26, the material of the display mesh of the wall object 254 that may face the virtual camera side in the wide-area display mode is set to the above specific material. Here, the display mesh facing the virtual camera side is the surface of the display mesh of the wall object 254 that faces the front side with respect to the virtual camera. In the rendering of the game space in the present embodiment, while back-face culling processing that does not render the back surface of the display mesh facing the back side with respect to the virtual camera or hidden surface elimination processing that eliminates the back surface of the display mesh that cannot be seen from the virtual camera is performed for the display mesh of the voxel object, the surface of the display mesh facing the front side with respect to the virtual camera is rendered and drawn. In the example shown in FIG. 26, when the virtual camera is arranged outside the second layer in the wide-area display mode, the display mesh that becomes the inner surface of the wall object 254 is not drawn because it becomes the back surface, but the surface of the display mesh that becomes the outer surface is rendered and the above internal space becomes invisible. In the first example, the surface of the display object that becomes the outer surface of such a wall object 254 is set to the above specific material.

[0212] FIG. 27 is a diagram showing an example of a state in which the interior is visualized by dithering the wall object 254. As shown in FIG. 27, in the first example, the display mesh composed of the specific material is targeted for dithering. For example, in the first example, among the display meshes composed of the specific material, a dithering range for performing dithering is set, and dithering is performed (for example, the portion of the display mesh indicated by the dashed line in the figure). For example, the dithering range is a display mesh within a predetermined distance from the virtual camera C and is set within a certain range centered on the line-of-sight direction of the virtual camera C. By setting the dithering range in this way, a wide-area game image in which the interior within a certain range from the center of the display screen is visualized is drawn. For example, in the example shown in FIG. 26, within the wall object 254, a certain range from the center of the display screen of the display 12 is dithered, and a wide-area game image in which the interior space of the second layer within the range is visualized is displayed.

[0213] The above-described dithering is performed when drawing the display mesh. For example, the dithering process is performed when the dithering range is calculated during the drawing of the model targeted for dithering, and the drawing process is performed with the model in a dithered state. By performing such a dithering process, it is possible to visualize from the outside the interior space blocked by the dithered model, and since the interior space with the model as a wall is represented from the inside of the interior space, it is particularly effective in a game stage where it is desired to view the interior space from both the outside and the inside.

[0214] Incidentally, the method of setting the display mesh to be dithered is arbitrary. For example, among the display meshes included in the dithering range, polygons composed of a specific material that satisfy a predetermined condition as described above may be set as the objects to be dithered, or polygons whose normal direction satisfies a predetermined condition may be set as the objects to be dithered, or polygons that satisfy both of these conditions may be set as the objects to be dithered. When setting using the above normal direction, among the polygons constituting the display mesh, standing wall-like polygons whose normal direction is within a predetermined range (for example, within 45°) with respect to the horizontal direction in the game space may be set as the objects to be dithered, and the above dithering range may be subjected to dithering processing. In this case, since the display meshes constituting the ground, floor, etc. in the game space are not the objects to be dithered, it is possible to perform dithering on the display meshes constituting the walls that obstruct visualization. Also, the object to be visualized inside can be specified in detail in units of polygons that make up the display mesh. Incidentally, the display mesh that is the object to be dithered may be set to be unupdatable for the generated voxel object. In this case, even if the player character 201 performs a pulling action, a punching action, etc. on the voxel object set to be unupdatable, the voxel data in the voxel object will not be updated such as the density of the voxel data being changed, and it is possible to prevent a part of the voxel object from being destroyed.

[0215] Also, the above dithering range may be changed when a predetermined condition is satisfied. For example, the above dithering range may be changed according to the zoom ratio of the virtual camera, or may be changed according to the shape or type of material of the display mesh that is the object to be dithered, or may be changed for each game difficulty level or game stage. Also, when the cursor 205 can be set at an arbitrary position on the display screen based on user operation input, a certain range centered on the cursor 205 may be set as the dithering range.

[0216] In the above description, an example of visualizing the interior by dithering removal was used. However, the interior may be visualized by any process that increases the transparency of the display mesh that obstructs the visualization. For example, by performing alpha blending processing or the like, the transparency of the display mesh that obstructs the visualization may be increased and drawn.

[0217] (Second Example) Also, in the present embodiment, by using a method in which vertices of the display mesh are not set at the boundary portion of the voxel space defined within the game space, the display mesh is not generated on the boundary surface of the voxel space, and a wide-area game image visualizing the inside of the voxel space can be displayed. Hereinafter, as an example of processing for wide-area display of a game image, an example of internal visualization by such processing will be described as a second example.

[0218] The upper figure of FIG. 28 shows an example of a normal game image representing a state where the player character 201 is placed inside a cavity in the terrain object 251. In the example shown in the upper figure of FIG. 28, a cavity is formed within the first-layer voxel space filled with the terrain object 251 (that is, inside the terrain object 251), and the player character 201 can move within the cavity. Similar to the first example described above, the material for the polygon of the determination mesh of the terrain object 251 filling the voxel space is set to "rock". The player character 201 can destroy and / or deform a part of the terrain object 251 by a pulling action, a punch action, or the like, and a new cavity can also be formed within the voxel space by the destruction and / or deformation. In addition, the virtual camera for displaying the normal game image in the second example may also be controlled to move based on the position of the player character 201 in the same manner as in the first example described above, and the position and / or orientation may be further controllable according to user operations.

[0219] In the example shown in the upper figure of FIG. 28, outside the cavity where the player character 201 is placed and inside the terrain object 251 that fills the voxel space, a virtual camera is placed so that the player character 201 is included in the field of view. Also, a display mesh of the terrain object 251 is generated on the inner surface where the cavity is formed, and the display mesh that becomes the surface when viewed from the virtual camera is drawn. For example, among the display meshes generated on the inner surface of the cavity, the surface of the display mesh generated on the virtual camera side is not drawn because the back side can be seen when viewed from the virtual camera. On the other hand, among the display meshes generated on the inner surface of the cavity, the surface of the display mesh generated on the side farther from the virtual camera is drawn because the front side can be seen when viewed from the virtual camera. Therefore, by setting not to draw the back side of the display mesh generated in front of the player character 201, a game image is displayed in which the player character 201 and the surface of the display mesh generated on the inner surface of the cavity behind the player character 201 are drawn. Note that the display mesh in the second example is also rendered with LOD enabled so as to have a level of detail corresponding to the distance from the virtual camera, as in the first example.

[0220] Also in the second example, similar to the first example described above, the game system 1 moves the virtual camera to a position that at least includes the position of the player character 201 in the field of view and is at least farther from the player character 201 in response to a mode switching instruction based on a user operation input (for example, an operation instruction to press the - button (operation button 47)). The lower diagram of FIG. 28 is a diagram showing an example of a wide-area game image displayed in response to the above movement of the virtual camera from the state of displaying the normal game image illustrated in the upper diagram of FIG. 28. As shown in the lower diagram of FIG. 28, the wide-area game image in the second example is displayed in the wide-area display mode, and a game space that is wider than the normal game image is displayed in the same manner as in the first example. The wide-area game image illustrated in the lower diagram of FIG. 28 shows that the entire first layer is included in the field of view, and a layer notification image 206 indicating that the first layer is the display target is displayed. Note that in the wide-area game image illustrated in the lower diagram of FIG. 28, the voxel space of the first layer is not visible, but the voxel space of the first layer is illustrated by a dashed line to supplement the following description.

[0221] Between the normal game image and the wide-area game image in the second example, not only is the position of the virtual camera for generating these images different, but also various changes are made to the display mode, frame rate, etc. in the same manner as in the first example, and the transition from the normal display mode to the wide-area display mode is made by making these changes. Then, in the wide-area display mode, in response to a mode switching instruction based on a user operation input being performed again, the transition is made to the normal display mode.

[0222] Here, as shown in the upper figure of FIG. 29, at the outermost periphery of the conventional voxel space filled with the terrain object 251, voxels with the density of the voxel data set to 0 (for example, the outer peripheral voxels illustrated in FIG. 29) are arranged. Further, the density of the outermost voxels is set to be unupdatable. As described in the above [2-3. Calculation of Vertices], since the game system 1 generates vertices between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value, vertices are not generated at the outermost side of the voxel space that is not the boundary between voxels. For example, if the density of all voxels in the voxel space is equal to or higher than the reference value, no mesh will be generated even though it is considered to have content. Here, by setting the density of the outermost voxels arranged in the voxel space to 0 and making it unupdatable, vertices will surely be generated when the density of the inner voxels is equal to or higher than the reference value, and the situation where no mesh is generated even though it is considered to have content as described above can be avoided.

[0223] On the one hand, as illustrated in the upper diagram of FIG. 29, when the virtual camera C moves outside the voxel space when wide-area display is desired, a display mesh is generated at the outer peripheral portion of the voxel space, and a situation where the inside becomes invisible can be considered. The lower diagram of FIG. 29 is a diagram showing an example of a state in which the inside of the voxel space is visualized by not generating a display mesh at the boundary portion of the voxel space in the second example. In the second example, as an example, the voxels arranged on the entire circumference that are the end portions of the voxel space filled with the terrain object 251 have the setting that the above-mentioned density is 0 and cannot be updated released. Also, the initial density of the end portion and its inside is set to, for example, an upper limit value (for example, 255). In this case, since the portion between the voxels with a density equal to or higher than the reference value and the voxels with a density lower than the reference value is not the outer peripheral portion, no outer vertices are generated. In the second example, by using a method in which no vertices are set at the boundary portion of such a voxel space, a drawing process in which no display mesh is generated at the boundary portion can be performed. Note that any method other than the above-described method may be used so that no display mesh is generated at the boundary portion of the voxel space.

[0224] For example, in the example shown in the lower diagram of FIG. 29, since no display mesh is generated in the portion inside one voxel of the voxel space (the portion indicated by the dotted line in the figure) and the boundary portion of the voxel space (the portion indicated by the dashed-dotted line in the figure), when looking into the voxel space from the virtual camera C arranged outside the voxel space, a wide-area game image in which the inside of the voxel space is visualized is drawn. And, a cavity is formed inside the voxel space filled with the terrain object 251, and among the display meshes generated on the inner surface of the cavity, the surface of the display mesh generated on the side farther from the virtual camera C is rendered, and the back surface of the display mesh generated on the side closer to the virtual camera C is not rendered, so that a wide-area game image in which the inside of the cavity in the entire first layer as illustrated in the lower diagram of FIG. 28 is drawn is displayed.

[0225] Note that voxels at a predetermined position inside the end portion in the voxel space (for example, the voxels indicated by the hatched area in the lower figure of FIG. 29) may be set to be non-updatable. For example, a material that cannot be updated to reduce the density of voxel data may be set for the voxels at the predetermined position. Thereby, the player character 201 can be prevented from moving to the outer portion of the voxel space, and a display mesh can be prevented from being generated in the outer portion.

[0226] Also, in the second example described above, an example in which the inside of the voxel space including the entire hierarchy in the game space is visualized is used. However, the inside of the voxel object may be visualized using a similar method in the wide-area display mode. For example, a voxel object corresponding to the outer wall of a building or a room is set as a model for the wide-area display mode, and voxels with the same density as the voxel space described above are arranged for the outermost boundary portion of the model, and the density of the outermost voxels is set to be non-updatable. As a result, in the wide-area display mode, it is possible to arrange a model in which a display mesh is not generated on the outer surface of the outer wall, and a wide-area game image visualizing the inside of the model can be displayed.

[0227] [3. Specific Examples of Processing in the Game System] Next, with reference to FIGS. 30 to 33, a specific example of information processing in the game system 1 will be described.

[0228] FIG. 30 is a diagram showing an example of various data used in information processing in the game system 1. Each data shown in FIG. 30 is stored in a memory accessible by the main body device 2 (for example, flash memory 84, DRAM 85, and / or a memory card mounted on the slot 23, etc.). As shown in FIG. 30, the game system 1 stores a game program. The game program is for executing the game processing in the present embodiment (for example, the game processing shown in FIGS. 31 to 33). Note that the game program includes the above-described material data (see FIG. 12). Further, the above memory stores the above-described voxel data (see FIG. 11), update range data, mesh data, object data, virtual camera data, drawing target data, UI data, and wide area display mode flag data, etc. (see FIG. 30).

[0229] The update range data is data indicating the above-described update range. In the present embodiment, the update range is represented by the above-described SDF.

[0230] The mesh data includes various data related to the mesh of the voxel object. As shown in FIG. 30, in the present embodiment, the mesh data includes SVO data, display mesh data, and determination mesh data. The SVO data is data that holds each vertex calculated from the voxel data in the above-described SVO structure. Note that in the present embodiment, the SVO data includes, in addition to the data indicating the position of each vertex, data indicating the material set for each vertex (for example, data indicating the ID of the material). The display mesh data includes various data related to the display mesh. Specifically, the display mesh data includes data indicating each vertex of the display mesh and data indicating the material set for each vertex (for example, data indicating the ID of the material). The determination mesh data includes various data related to the determination mesh. Specifically, the determination mesh data includes data indicating each vertex of the determination mesh and data indicating the material set for each vertex (for example, data indicating the ID of the material).

[0231] Object data includes various data related to objects other than voxel objects (e.g., player characters, virtual objects, etc.). Object data is stored for each object that appears in the game space. Object data includes, for example, data indicating the position, speed, and state of the object.

[0232] Virtual camera data includes various data related to the virtual camera. Virtual camera data includes data indicating the position, orientation, and fixation point of the virtual camera set in the game space.

[0233] Render target data is data indicating an object selected as a render target in the wide - area display mode. UI data includes various data related to the UI displayed in the wide - area display mode. For example, UI data includes data indicating the render target displayed by the UI among the above - mentioned render targets, the display position, functions, etc.

[0234] Wide - area display mode flag data is data indicating a wide - area display mode flag that is set to on when transitioning from the normal display mode to the wide - area display mode or when already in the wide - area display mode.

[0235] FIG. 31 is a flowchart showing an example of the flow of game processing executed by the game system 1. Further, FIG. 32 is a subroutine showing an example of game image generation processing executed in step S13 in FIG. 31. FIG. 33 is a subroutine showing an example of wide - area game image generation processing executed in step S107 in FIG. 32. The execution of the game processing is started, for example, in response to the start of the game according to a user instruction during the execution of the above - mentioned game program. Note that the processing loop consisting of a series of processes from steps S1 to S14 is executed once per frame in a cycle. In this game processing, when the frame rate is changed by the processing in step S164 described later, the number of times the processing loop consisting of a series of processes from steps S1 to S14 is executed per second is changed according to the frame rate.

[0236] In the present embodiment, the processor 81 of the main body device 2 executes the above-described game program stored in the game system 1, and thus the processing of each step shown in FIGS. 31 to 33 will be described as being executed. However, in other embodiments, a part of the processing of each of the above steps may be executed by a processor (for example, a dedicated circuit or the like) different from the processor 81. Further, when the game system 1 can communicate with another information processing device (for example, a server), a part of the processing of each step shown in FIGS. 31 to 33 may be executed in the other information processing device. Also, the processing of each step shown in FIGS. 31 to 33 is merely an example, and if the same result can be obtained, the processing order of each step may be changed, or another processing may be executed in addition to (or instead of) the processing of each step.

[0237] Also, the processor 81 executes the processing of each step shown in FIGS. 31 to 33 using a memory (for example, DRAM 85). That is, the processor 81 stores the information (in other words, data) obtained by each processing step in the memory, and when using the information in subsequent processing steps, reads out the information from the memory and uses it.

[0238] In FIG. 31, the processor 81 acquires the operation data indicating the operation input by the user (step S1), and proceeds to the next step. For example, the processor 81 acquires operation data output from a controller operated by the user via the controller communication unit 83 and / or each of the terminals 17 and 21, and operation data output from the main body device 2 (for example, the touch panel 13).

[0239] Next, the processor 81 designates, as a processing target, any object among the objects in the game space that requires processing and for which processing has not been completed (including voxel objects defined by the proprietary voxel space), and for the designated object, executes a process of calculating the speed and a process of reflecting the result of contact between objects in the previous frame (step S2), and proceeds to the next step. The speed of the object is used to calculate the position of the object in the current frame in the process of step S12 described later. For example, when the designated object is the player character, the speed of the player character is calculated based on the operation data acquired in step S1. Also, when the designated object is an object not operated by the user (for example, a fragment object), the speed of the object is calculated based on rules predetermined in the game program. For example, the speed of the fragment object is set to 0 when it is placed on the terrain object and not moving, set to the same as the speed of the player character when held by the player character, and set to the speed of moving in the direction thrown with the magnitude determined by the above rules when released by an action of throwing by the player character. Specifically, the speed of the object is calculated based on virtual physical calculations including interactions between objects. For example, interactions such as repulsion due to collision between objects, friction due to contact, falling due to virtual gravity, and deceleration due to virtual air resistance are reflected in speed determination.

[0240] Also, the process of reflecting the result of contact between objects in the previous frame includes a process of applying the influence of contact to the object when it is determined in the collision determination (step S11 described later) in the previous frame that the objects have come into contact. The above process is, for example, the following process. · When it is determined in the previous frame that the player character has come into contact with the terrain object by a pulling action, a punching action, etc., a process of generating a fragment object In the process of step S2 above, if the state regarding the object is changed, the processor 81 updates the object data stored in the memory regarding the object so as to indicate the content after the change.

[0241] Next, the processor 81 determines whether an update event for updating the voxel object has occurred due to the object specified in step S2 above (step S3). For example, the determination in step S3 above is made based on the result of collision determination (step S11 described later) in the previous frame. As an example, if it is determined in the previous frame that the player character has contacted the terrain object by a pulling action, a punching action, or the like, it is determined that an update event for deleting a part of the terrain object has occurred. As another example, if it is determined in the previous frame that the fragment object has collided with the terrain object, the in-game effect is determined based on the materials of both at the collision position, and it is determined that an update event based on the in-game effect has occurred. Then, if an update event has occurred, the processor 81 proceeds to the process in step S4. On the other hand, if no update event has occurred, the processor 81 proceeds to the process in step S6.

[0242] In step S4, the processor 81 sets an update range for updating the voxel object in the game space and proceeds to the next step. For example, the specific content of the update range (for example, position, shape, and size) is associated with each type of update event in the game program. The update range set in step S4 above is set to be associated with the content related to the type of update event determined to have occurred in step S3 above. In step S4 above, the processor 81 stores the data indicating the set update range in the memory as update range data.

[0243] Next, for the voxels corresponding to the update range set in step S4 above, the processor 81 makes changes according to the update event (step S5), and proceeds to step S6. For example, when the processor 81 deletes or deforms the voxel object within the update range as if it were reduced, or deforms it as if a voxel object were added within the update range, the processor 81 updates the voxel data stored in the memory so as to change the density of the voxels corresponding to the update range (see the above [2-2. Update of voxel data]). Further, when the processor 81 changes the material of the voxel object within the update range, the processor 81 updates the voxel data stored in the memory so as to update at least one of the first material ID, the second material ID, and the material mixing ratio of the voxels corresponding to the update range.

[0244] In step S6, the processor 81 determines whether the processing in steps S2 to S5 above has been completed for all objects (including voxel objects defined by the unique voxel space) that require processing. Then, when the processing of all objects is completed, the processor 81 proceeds to step S7. On the other hand, when the processing of any object has not been completed, the processor 81 returns to step S2 above and repeats the processing.

[0245] In step S7, the processor 81 updates the vertices of the voxel object in the game space and proceeds to the next step. For example, when the voxel data is updated in the processing of step S5 above, the processor 81 calculates new vertices based on the updated voxel data. Note that the positions of the new vertices are calculated according to the method described in the above [2-3. Calculation of vertices]. Also, the materials of the new vertices are calculated according to the method described in the above [2-4. Determination of vertex materials]. Further, for a voxel space in which the density of the outer peripheral portion is set to be equal to or higher than a reference value (for example, an upper limit value), no vertices are set for the outer peripheral portion according to the method described in the second example of [2-7. Processing for wide-area display of game images] in step S7 above.

[0246] Next, the processor 81 simplifies the vertices (step S8) and proceeds to the next step. For example, the processor 81 simplifies each vertex updated by the process of step S7 according to the method described in [2-5. Vertex Simplification] above. Then, the processor 81 updates the SVO data stored in the memory so as to indicate each vertex obtained by the processes of step S7 and step S8. Note that the processes of step S7 and step S8 do not necessarily recalculate the vertices for the entire voxel data, and may be executed only for the portion where the content of the voxel was changed in the process of step S5.

[0247] Next, the processor 81 updates the display mesh of the voxel object based on the SVO data stored in the memory (step S9) and proceeds to the next step. Note that the position of each vertex of the display mesh and the material of each polygon of the display mesh (for example, the material set for each vertex of the polygon) are calculated according to the methods described in [2-6. Mesh Generation] and [2-6-1. Determination of the Material of the Display Mesh] above. Also, the material of each polygon of the display mesh to be subjected to dithering or the like is set to a specific material according to the method described in the first example of [2-7. Process for Widely Displaying Game Images]. Also, in step S9 above, the processor 81 updates the display mesh data stored in the memory so as to indicate the position and material of each vertex of the updated display mesh. Note that the processor 81 may start the processes of step S10 and subsequent steps described later without waiting for the completion of step S9 and execute them in parallel. In that case, step S9 needs to be completed before the start of step S13 described later.

[0248] Next, the processor 81 updates the mesh for determining the voxel object based on the SVO data stored in the memory (step S10), and proceeds to the next step. Note that the position of each vertex of the determination mesh and the material of each polygon of the determination mesh (for example, the material set for each vertex of the polygon) are calculated according to the methods described in the above [2-6. Generation of Mesh] and [2-6-2. Determination of the Material of the Determination Mesh]. In step S10 above, the processor 81 updates the determination mesh data stored in the memory so as to indicate the position and material of each vertex of the updated determination mesh.

[0249] Note that in the example shown in FIG. 31, the generation process of the determination mesh in step S10 above is executed every frame. However, the generation process of the determination mesh does not necessarily have to be executed every frame. For example, when the collision determination process in step S11 described later is executed only in a frame that satisfies a predetermined condition, the processor 81 may execute the generation process of the determination mesh in the frame for performing the collision determination. Further, the processor 81 may execute the generation process of the determination mesh for the voxels within the area in the game space where the collision determination in step S11 above is performed. For example, in a situation where there are no objects to be collided with other than the voxel object around the player character in the game space (that is, a situation where only the collision determination between the player character and the surrounding voxel objects needs to be performed), the processor 81 may execute the generation process of the determination mesh for the voxels within a predetermined range based on the player character.

[0250] Next, the processor 81 performs collision detection for each object in the game space based on the determination mesh data and the object data stored in the memory (step S11), and proceeds to the next step. For example, for a voxel object, the processor 81 uses the determination mesh, and for an object that is not a voxel object, the processor 81 uses a determination region of a predetermined shape set for the object to perform collision detection. In this embodiment, the collision detection in step S11 is performed in consideration of the speed calculated in step S2 above. That is, the processor 81 performs collision detection using the position when moving at the above speed as the position of each object.

[0251] In this embodiment, the presence or absence of the following contacts, for example, is determined by the collision detection in step S11 above. · Contact between the player character performing an action such as movement or punch action and the terrain object · Contact between the player character performing an action of lifting a fragment object and the fragment object · Contact between the fragment object released by the throwing action by the fragment player character and the terrain object Note that when it is determined in the collision detection in step S11 above that the objects are in contact with each other, in the process of step S2 in the next frame, a process reflecting the result of the contact between the objects is executed, or in the process of step S3 in the next frame, it is determined that an update event has occurred.

[0252] Next, the processor 81 controls the operation of each object in the game space (step S12), and proceeds to the next step. For example, for the player character, the processor 81 performs control to cause the player character to move and perform various actions based on the operation data acquired in step S1 above. As an example, when the operation data acquired in step S1 above indicates an instruction to cause the player character to perform a warp move, the processor 81 performs control to cause the player character to perform an action of instantaneously moving to the location where the warp move is instructed. Then, when a predetermined action occurs, the processor 81 generates a region for collision determination corresponding to the action within the game space. Note that in one execution of step S12 above, for operations performed over a plurality of frames (for example, actions by the player character), each object is controlled so that the operation for one frame progresses. As a result, by repeatedly executing the process of step S12 over a plurality of frames, each object performs a series of operations related to movement and various actions. Also, the position of the object is basically determined to be the position after moving at the speed calculated in step S2 above. However, when it is determined by the collision determination in step S11 above that the object contacts another object and the movement is obstructed by the contacted other object, the position of the object may be determined so as not to change. Then, in step S12 above, the processor 81 updates the object data stored in the memory to have the content indicating the object after the control in step S12 above.

[0253] Next, the processor 81 generates a game image (step S14), and proceeds to the process in step S14. Hereinafter, with reference to FIG. 32, the process of generating the game image performed in step S14 above will be described.

[0254] In FIG. 32, the processor 81 determines whether a user operation for switching the display mode has been performed (step S101). For example, the processor 81 refers to the operation data acquired in step S1 above, and makes an affirmative determination in step S101 when a user operation input indicating the above-described mode switching instruction or an instruction to cause the player character 201 to perform the above-described warp movement is performed. Then, when a user operation for switching the display mode is performed, the processor 81 proceeds to step S102. On the other hand, when a user operation for switching the display mode has not been performed, the processor 81 proceeds to step S104.

[0255] In step S102, the processor 81 performs a process of switching the wide-area display mode flag and proceeds to the next step. For example, the processor 81 refers to the wide-area display mode flag data stored in the memory, and when the wide-area display mode flag is set to off, sets the wide-area display mode flag to on and updates the wide-area display mode flag data. Further, when the wide-area display mode flag is set to on, the processor 81 sets the wide-area display mode flag to off and updates the wide-area display mode flag data stored in the memory.

[0256] Next, the processor 81 performs a process of switching and moving the virtual camera to transition the display mode (step S103), and proceeds to step S105. For example, when the wide-area display mode flag is updated from off to on (that is, when transitioning from the normal display mode to the wide-area display mode), the processor 81 performs a process of moving the virtual camera to a position where the distance from the player character 201 increases according to the method described in [2-7. Process of Widely Displaying Game Images]. Also, when the wide-area display mode flag is updated from on to off (that is, when transitioning from the wide-area display mode to the normal display mode), the processor 81 performs a process of moving the virtual camera to a position where the distance from the player character 201 decreases according to the method described in [2-7. Process of Widely Displaying Game Images]. In step S103 above, the processor 81 updates the virtual camera data stored in the memory so as to indicate the position and orientation of the updated virtual camera.

[0257] On the other hand, when it is determined in step S101 that the user operation for switching the display mode has not been performed, the processor 81 determines whether the virtual camera is in the above switching movement (step S104). Then, when the virtual camera is in the above switching movement, the processor 81 proceeds to step S103. On the other hand, when the virtual camera is not in the above switching movement, the processor 81 proceeds to step S105.

[0258] In step S105, the processor 81 determines whether it is in the wide - area display mode. For example, if the current time is the timing when switching from the normal display mode to the wide - area display mode or if it has already been switched to the wide - area display mode, the processor 81 makes an affirmative determination in step S105. Also, if the current time is the timing when switching from the wide - area display mode to the normal display mode or if it has already been switched to the normal display mode, the processor 81 makes a negative determination in step S105. Then, if it is not in the wide - area display mode, the processor 81 proceeds to step S106. On the other hand, if it is in the wide - area display mode, the processor 81 proceeds to step S107.

[0259] In step S106, the processor 81 performs normal game image generation processing and ends the processing by this sub - routine. For example, the processor 81 generates a normal game image according to the method described in [2 - 7. Processing for wide - area display of game images]. As an example, the processor 81 generates a normal game image by performing drawing based on a virtual camera for each polygon of the mesh for displaying the voxel object and each polygon of the object other than the voxel object. Each polygon of the display mesh is drawn with LOD enabled using drawing settings such as a texture corresponding to the material set for the polygon according to the method described in [2 - 6 - 1. Determination of the material of the display mesh]. The normal game image generated in step S106 is output to the display device and displayed once per frame cycle.

[0260] Note that the position of the virtual camera set to generate the above - mentioned normal game image may be set to a predetermined position following the player character. Also, the position and line - of - sight direction of the virtual camera may be controlled based on user operation input.

[0261] In step S107, the processor 81 performs a wide-area game image generation process and ends the process by this subroutine. Hereinafter, the wide-area game image generation process performed in step S107 will be described with reference to FIG. 33.

[0262] In FIG. 33, the processor 81 determines whether a user operation for moving the virtual camera has been performed (step S151). For example, the processor 81 refers to the operation data acquired in step S1 above, and if a user operation input for instructing the movement of the virtual camera (for example, the tilting operation of the sticks 32 and 52) described in [2-7. Process for widely displaying game images] is performed, it makes an affirmative determination in step S151. Then, when a user operation for moving the virtual camera is performed, the processor 81 advances the process to step S152. On the other hand, when no user operation for moving the virtual camera is performed, the processor 81 advances the process to step S153.

[0263] In step S152, the processor 81 performs a process of moving the virtual camera in the game space based on the above user operation input for instructing the movement of the virtual camera, and advances the process to step S153. For example, the processor 81 performs control to move the viewing point of the virtual camera or control to rotationally move the virtual camera around the viewing point based on the user operation input, and updates the virtual camera data stored in the memory so as to indicate the updated position and orientation of the virtual camera.

[0264] In step S153, the processor 81 performs a process of selecting a drawing target to be drawn on the wide-area game image and advances the process to the next step. For example, the processor 81 selects a drawing target to be drawn on the wide-area game image according to the method described in [2-7. Process for widely displaying game images], and sets a drawing target to be drawn on the UI. In step S153 above, the processor 81 updates the drawing target data stored in the memory so as to indicate the updated drawing target.

[0265] Next, the processor 81 performs wide-area game image drawing processing (steps S154 to S158). In the wide-area game image drawing processing started in step S154, processing for drawing each model of the drawing target (excluding the drawing target drawn on the UI) selected in step S153 is performed (step S155). When the drawing target is a dithering target (positive determination in step S156), dithering processing is performed (step S157). Then, when the processing for drawing all the drawing targets selected in step S153 is completed, the wide-area game image drawing processing is completed (step S158), and the processing proceeds to the next step. For example, the processor 81 performs the wide-area game image drawing processing in steps S154 to S158 according to the method described in [2-7. Processing for wide-area display of game images]. As an example, similar to the normal display mode, the processor 81 generates a wide-area game image by performing drawing on each polygon of the display mesh for the voxel object of the drawing target and each polygon of the object other than the voxel object of the drawing target based on the virtual camera. Each polygon of the display mesh is drawn with LOD disabled using drawing settings such as a texture corresponding to the material set for the polygon according to the method described in [2-6-1. Determination of material of display mesh].

[0266] Next, the processor 81 performs processing for setting the attention layer (step S159) and proceeds to the next step. For example, the processor 81 sets so that the cursor 205 (see FIGS. 25-26 and 28) is superimposed on the fixation point of the virtual camera (for example, the center of the display range displayed on the display 12) based on the virtual camera data stored in the memory. Then, the processor 81 sets the layer on which the cursor 205 is superimposed as the attention layer according to the method described in [2-7. Processing for wide-area display of game images].

[0267] Next, the processor 81 performs a masking process (step S161) and proceeds to the next step. For example, the processor 81 performs the masking process in step S161 according to the method described in [2-7. Process for widely displaying game images]. For example, the processor 81 performs a masking process as a post effect on the layers other than the target layer set in step S159 and the background.

[0268] Next, the processor 81 performs UI drawing processing (step S162) and proceeds to the next step. For example, among the drawing targets set in step S153, the processor 81 draws the drawing targets to be displayed in the UI on the target layer as the UI at the position where they overlap with the display mesh according to the method described in [2-7. Process for widely displaying game images]. In step S162, the processor 81 updates the UI data stored in the memory so as to show the updated UI. Then, the wide-area game image generated by the processing in steps S151 to S162 is output to the display device and displayed at a cycle of once per frame.

[0269] Next, the processor 81 determines whether to change the frame rate (step S163). For example, the processor 81 makes an affirmative determination in step S163 when the drawing processing load increases from less than a predetermined threshold to equal to or greater than the threshold or when the drawing processing load decreases from equal to or greater than the threshold to less than the threshold. Then, when the processor 81 changes the frame rate, it proceeds to step S164. On the other hand, when the processor 81 does not change the frame rate, it ends the processing by this subroutine.

[0270] In step S164, the processor 81 changes the frame rate based on the drawing processing load and ends the processing by this subroutine. For example, when the drawing processing load increases from less than the above threshold to the above threshold or more, the processor 81 changes from the first frame rate (for example, 60 fps) to the second frame rate (for example, 30 fps). Also, when the drawing processing load decreases from the above threshold or more to less than the above threshold, the processor 81 changes from the second frame rate to the first frame rate.

[0271] Returning to FIG. 31, after the game image generation process in step S13 above, the processor 81 determines whether to end the game (step S14). For example, when a predetermined operation input for ending the game is performed by the user or when the condition for ending the game is satisfied, the processor 81 makes an affirmative determination in step S14. Then, when the processor 81 ends the game, it ends the processing by this flowchart. On the other hand, when the processor 81 does not end the game, it returns to step S1 above and repeats the processing. Thereafter, a series of processes of steps S1 to S14 are repeatedly executed until it is determined in step S14 that the game is ended.

[0272] As described above, in this embodiment, when it is a state indicating that the player character can be inside the determination mesh, in order to reduce the density of the voxels corresponding to the second update range including the position of the player character, the situation where the player character enters inside the determination mesh generated based on the voxel data can be suppressed.

[0273] In the game process described with reference to FIGS. 31 to 33, an example is used in which the game space is updated even in the wide-area display mode (for example, the processes in steps S1 to S12 above), but the processes in the wide-area display mode are not limited to this. For example, when the game space is not updated in the wide-area display mode, the operation data acquisition process in step S1 and the game image generation process in step S13 above may be repeatedly executed until the normal display mode is transitioned to.

[0274] In the above description, an example is used in which a voxel object is defined by generating a three-dimensional mesh based on voxel data set in voxels in a three-dimensional space. However, a voxel object may be defined based on voxel data set in two-dimensional voxels. In this case, a two-dimensional wide-area game image may be displayed in the wide-area display mode.

[0275] Also, the game system 1 may be any device, such as a portable game device, any portable electronic device (such as a PDA (Personal Digital Assistant), mobile phone, smartphone, personal computer, camera, tablet, etc.). In this case, the input device for performing a user operation for operating a player character or the like does not have to be the left controller 3, the right controller 4, or the touch panel 13, etc., and may be another controller, mouse, touch pad, touch panel, trackball, keyboard, cross key, slide pad, etc.

[0276] In the above description, an example in which the information processing is performed by the game system 1 is used. However, at least a part of the above processing steps may be performed by other devices. For example, when the game system 1 is configured to be communicable with other devices (for example, other servers, other information processing devices, other game devices, other mobile terminals, etc.), the above processing steps may be executed by the cooperation of the other devices. In this way, by performing at least a part of the above processing steps by other devices, the same processing as the above-described processing becomes possible. Further, the above-described information processing can be executed by the cooperation between one processor or a plurality of processors included in an information processing system constituted by at least one information processing device. Further, in the above embodiment, the processor 81 of the game system 1 can perform information processing by executing a predetermined program. However, a part or all of the above processing may be performed by a dedicated circuit provided in the game system 1.

[0277] Here, according to the above-described modification example, the present invention can also be realized in a so-called cloud computing system form, a distributed wide area network, and a local network system form. For example, in the system form of a distributed local network, it is also possible to execute the above processing in cooperation between a stationary information processing device (stationary game device) and a portable information processing device (portable game device). Needless to say, in these system forms, there is no particular limitation on which device performs the above-described processing, and the present invention can be realized regardless of any processing sharing.

[0278] Further, the processing order, setting values, conditions used for determination, etc. used in the above-described information processing are merely examples, and needless to say, the present embodiment can be realized even with other orders, values, and conditions.

[0279] In addition, the above program may be supplied to the game system 1 not only through an external storage medium such as an external memory but also through a wired or wireless communication line. Further, the above program may be pre-recorded in a non-volatile storage device inside the apparatus. Note that as the information storage medium for storing the above program, in addition to non-volatile memory, a CD-ROM, a DVD, or an optical disk-shaped storage medium similar thereto, a flexible disk, a hard disk, a magneto-optical disk, a magnetic tape, etc. may also be used. Further, as the information storage medium for storing the above program, a volatile memory for storing the above program may also be used. Such a storage medium can be referred to as a recording medium readable by a computer or the like. For example, by causing a computer or the like to read and execute the program of these recording media, various functions described above can be provided.

[0280] As described above, the present invention has been described in detail. However, the foregoing description is merely illustrative of the present invention in all respects and is not intended to limit its scope. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. Further, those skilled in the art will understand that an equivalent range can be implemented based on the description of the present invention and common general technical knowledge from the description of the specific embodiments of the present invention. Also, it should be understood that the terms used in this specification are used in the meaning commonly used in the art unless otherwise specified. Therefore, unless otherwise defined, all the technical and scientific terms used in this specification have the same meaning as commonly understood by those skilled in the art to which the present invention pertains. In case of contradiction, this specification (including definitions) shall prevail.

Industrial Applicability

[0281] As described above, in a game using a mesh updated based on voxel data, it can be used as a game program, a game system, a game processing method, a game apparatus, etc. capable of performing wide-area display and the like.

Explanation of Signs

[0282] 1…Game system 2…Main unit 3…Left controller 4…Right controller 11…Housing 12…Display 13…Touch panel 32, 52…Analog stick 42, 64…Terminal 81…Processor 82…Network communication unit 83…Controller communication unit 85…DRAM

Claims

1. cause a computer to update voxel data defined in a virtual space, the voxel data having at least density indicating a degree to which a space defined by each of a plurality of voxels is virtually occupied by content and a material indicating a type of the content, based on game processing; generate and update a display mesh corresponding to the voxel data and drawn based on a virtual camera by determining vertex coordinates of the display mesh based at least on the density included in the voxel data and determining a material of the display mesh based at least on the material included in the voxel data; cause the display mesh to be drawn with a setting of not drawing a back surface of the mesh based on a texture corresponding to the vertex coordinates of the display mesh and the material of the display mesh; in a first mode in the game processing, control movement of a player character in the virtual space based on an operation input; control movement of the virtual camera based on a position of the player character; in response to a first instruction based on an operation input, move the virtual camera to a position that includes at least the position of the player character in a field of view and is at least farther from the player character, and transition from the first mode to a second mode; in the second mode in the game processing, control movement of the virtual camera based on an operation input; in response to a second instruction based on an operation input, move the virtual camera to a position that is at least closer to the player character and transition from the second mode to the first mode, a game program.

2. cause the computer to in the transition from the first mode to the second mode and the movement of the virtual camera that is performed together with the transition from the second mode to the first mode, set an orientation of the virtual camera after the movement based on an orientation of the virtual camera before the movement, and determine a position of the virtual camera after the movement based on the orientation and a fixation point, the game program according to claim 1.

3. cause the computer to In the transition from the first mode to the second mode, the game program according to claim 1, wherein the virtual camera is moved to a position where the distance from the player character is farther and the distance from the fixation point is at least farther than in the first mode.

4. In the computer, In the transition from the first mode to the second mode, the game program according to claim 2, wherein the virtual camera is moved to a position where the distance from the player character is farther and the distance from the fixation point is at least farther than in the first mode.

5. In the computer, For a portion where a voxel having a density equal to or higher than a threshold value and a voxel having a density lower than the threshold value are adjacent among the values that can be set for the density, the vertices of the display mesh are generated and updated based on a method of setting vertices at coordinates based on the positions and the density of a plurality of surrounding voxels. The game program according to claim 1.

6. In the computer, The game program according to claim 5, wherein the vertices of the display mesh are generated and updated based on a method in which the vertices are not set at the boundary portion of the first voxel space in which the voxel data is defined in the virtual space.

7. The density of the voxels at the end portion of the second voxel space in which the voxel data is defined in the virtual space is set to a predetermined value less than the threshold value, The density of the voxels at the end portion of the first voxel space is set to a predetermined value equal to or higher than the threshold value, The position where the distance from the player character is farther is a position outside the first voxel space. The game program according to claim 6.

8. For the voxels at a predetermined position inside the end portion of the first voxel space, a material having a property that the density cannot be decreased is set. The game program according to claim 7.

9. In the computer, In the second mode, For the display mesh included in a first range set at a position in the line-of-sight direction of the virtual camera from the virtual camera, the game program according to claim 1, wherein it is drawn with increased transparency or dithered.

10. In the computer, In the second mode, The game program according to claim 9, wherein, for a polygon among the display meshes included in the first range, at least one of the material and the normal direction satisfies a predetermined condition, and the polygon is drawn with increased transparency or drawn with dithering applied thereto.

11. In the computer, in the second mode, based on an operation input, the virtual camera is controlled to move based on the movement of the fixation point of the virtual camera or the rotational movement of the virtual camera around the fixation point, the game program according to any one of claims 1 to 8.

12. In the computer, in the first mode, the display mesh is drawn with a level of detail corresponding to the distance from the virtual camera, in the second mode, the display mesh is drawn with a level of detail independent of the distance from the virtual camera, the game program according to claim 11.

13. In the computer, in the second mode, depending on the processing load of the drawing, the display of the display mesh is performed with a frame rate lower than that in the first mode, the game program according to claim 12.

14. In the computer, further, in the second mode, a predetermined UI is drawn at a position overlapping with the display mesh to be drawn, the game program according to any one of claims 1 to 8.

15. In the computer, further, in the second mode, when the position where the first type of UI is displayed is specified based on an operation input, the player character is moved to the position in the virtual space corresponding to the display position of the UI and the first mode is transitioned to, the game program according to claim 14.

16. In the computer, further, in the first mode, at least one non-voxel object that is an object not based on the voxel data is further drawn, in the second mode, at least one of the non-voxel objects is made non-displayed, the game program according to any one of claims 1 to 8.

17. In the computer, further, in the second mode, The game program according to any one of claims 1 to 8, which adds a post - effect that results in a different display mode to the display meshes included in regions other than the selected region among a plurality of regions that divide the virtual space.

18. A game system comprising a processor, wherein the processor updates, based on game processing, voxel data defined in a virtual space, where, for each of a plurality of voxels, at least a density indicating the degree to which the space defined by the voxel is virtually occupied by its content and a material indicating the type of the content are set; generates and updates a display mesh corresponding to the voxel data and drawn based on a virtual camera, by determining vertex coordinates of the display mesh based at least on the density included in the voxel data and determining a material of the display mesh based at least on the material included in the voxel data; draws the display mesh with a setting of not drawing the back surface of the mesh, based on a texture corresponding to the vertex coordinates of the display mesh and the material of the display mesh; in a first mode in the game processing, controls the movement of a player character in the virtual space based on an operation input, controls the movement of the virtual camera based on the position of the player character, in response to a first instruction based on an operation input, moves the virtual camera to a position that includes at least the position of the player character in the field of view and is at least farther away from the player character, and transitions from the first mode to a second mode; in the second mode in the game processing, controls the movement of the virtual camera based on an operation input, in response to a second instruction based on an operation input, moves the virtual camera to a position where at least the distance from the player character becomes closer, and transitions from the second mode to the first mode.

19. The processor In the transition from the first mode to the second mode and the movement of the virtual camera that occurs along with the transition from the second mode to the first mode, the orientation of the virtual camera after the movement is set based on the orientation of the virtual camera before the movement, and the position of the virtual camera after the movement is determined based on the orientation and the fixation point. The game system according to claim 18.

20. The processor In the transition from the first mode to the second mode, the virtual camera is moved to a position where the distance from the player character becomes farther and the distance from the fixation point is at least farther than in the first mode. The game system according to claim 18.

21. The processor In the transition from the first mode to the second mode, the virtual camera is moved to a position where the distance from the player character becomes farther and the distance from the fixation point is at least farther than in the first mode. The game system according to claim 19.

22. The processor For a portion where a voxel having a density equal to or higher than a threshold value and a voxel having a density lower than the threshold value are adjacent among the values that can be set for the density, based on a method of setting vertices at coordinates based on the positions and the density of a plurality of surrounding voxels, the vertices of the display mesh are generated and updated. The game system according to claim 18.

23. The processor Based on a method in which the vertices are not set at the boundary portion of the first voxel space in which the voxel data is defined in the virtual space, the vertices of the display mesh are generated and updated. The game system according to claim 22.

24. The density of the voxels at the end portion of the second voxel space in which the voxel data is defined in the virtual space is set to a predetermined value less than the threshold value, The density of the voxels at the end portion of the first voxel space is set to a predetermined value equal to or higher than the threshold value, The position where the distance from the player character becomes farther is a position outside the first voxel space. The game system according to claim 23.

25. For the voxels at a predetermined position inside the end portion of the first voxel space, a material having a property that the density cannot be decreased is set. The game system according to claim 24.

26. The processor In the second mode, The game system according to claim 18, wherein, for the display mesh included in the first range set at the position in the line-of-sight direction of the virtual camera from the virtual camera, the drawing is performed with increased transparency or dithered drawing.

27. The processor is, In the second mode, The game system according to claim 26, wherein, for a polygon in which at least one of the material and the normal direction satisfies a predetermined condition among the display meshes included in the first range, the drawing is performed with increased transparency or the dithered drawing is performed.

28. The processor is, In the second mode, The game system according to any one of claims 18 to 25, wherein the virtual camera is controlled to move based on a movement of a fixation point of the virtual camera or a rotational movement of the virtual camera around the fixation point based on an operation input.

29. The processor is, In the first mode, The display mesh is drawn with a level of detail corresponding to the distance from the virtual camera, In the second mode, The game system according to claim 28, wherein the display mesh is drawn with a level of detail independent of the distance from the virtual camera.

30. The processor is, In the second mode, The game system according to claim 29, wherein the display of the display mesh is performed with a frame rate lower than that in the first mode according to the processing load of the drawing.

31. The processor further is, In the second mode, The game system according to any one of claims 18 to 25, wherein a predetermined UI is drawn at a position overlapping the display mesh to be drawn.

32. The processor further is, In the second mode, When a position where a first type of UI is displayed is designated based on an operation input, the player character is moved to a position in the virtual space corresponding to the display position of the UI and the game system transitions to the first mode according to claim 31.

33. The processor further is, In the first mode, At least one non-voxel object that is an object not based on the voxel data is further drawn, In the second mode, The game system according to any one of claims 18 to 25, wherein at least one of the non-voxel objects is made non-displayed.

34. The processor further in the second mode, A game system according to any one of claims 18 to 25, wherein a post effect that provides a different display mode is added to the display mesh included in an area other than the selected area among a plurality of areas obtained by dividing the virtual space.

35. In an information processing system, voxel data defined in a virtual space, for each of a plurality of voxels, voxel data in which at least a density indicating the degree to which the space defined by the voxel is virtually occupied by the content and a material indicating the type of the content are set is updated based on game processing, A display mesh corresponding to the voxel data and drawn based on a virtual camera is generated and updated by determining vertex coordinates of the display mesh based on at least the density included in the voxel data and determining a material of the display mesh based on at least the material included in the voxel data. Based on a texture corresponding to the vertex coordinates of the display mesh and the material of the display mesh, the display mesh is drawn with a setting not to draw the back surface of the mesh. In a first mode in the game processing, Based on an operation input, the movement of a player character is controlled within the virtual space, Based on the position of the player character, the movement of the virtual camera is controlled, In response to a first instruction based on an operation input, the virtual camera is moved to a position that includes at least the position of the player character in the field of view and is at least farther away from the player character, and the mode is changed from the first mode to the second mode. In the second mode in the game processing, Based on an operation input, the movement of the virtual camera is controlled, In response to a second instruction based on an operation input, the virtual camera is moved to a position where at least the distance from the player character is reduced, and the mode is changed from the second mode to the first mode. A game processing method.

36. In the information processing system, In the transition from the first mode to the second mode and the movement of the virtual camera that is performed together with the transition from the second mode to the first mode, the orientation of the virtual camera after the movement is set based on the orientation of the virtual camera before the movement, and the position of the virtual camera after the movement is determined based on the orientation and the fixation point. The game processing method according to claim 35.

37. In the information processing system, In the transition from the first mode to the second mode, the virtual camera is moved to a position where the distance from the player character becomes farther and the distance from the fixation point is at least farther than in the first mode. The game processing method according to claim 35.

38. In the information processing system, In the transition from the first mode to the second mode, the virtual camera is moved to a position where the distance from the player character becomes farther and the distance from the fixation point is at least farther than in the first mode. The game processing method according to claim 36.

39. In the information processing system, For a portion where a voxel having a density equal to or higher than a threshold value and a voxel having a density lower than the threshold value are adjacent among the values that can be set for the density, vertices are set at coordinates based on the positions and the density of a plurality of surrounding voxels. Based on the method, the vertices of the display mesh are generated and updated. The game processing method according to claim 35.

40. In the information processing system, Based on a method in which the vertices are not set at the boundary portion of the first voxel space in which the voxel data is defined in the virtual space, the vertices of the display mesh are generated and updated. The game processing method according to claim 39.

41. The density of the voxels at the end portion of the second voxel space in which the voxel data is defined in the virtual space is set to a predetermined value less than the threshold value, The density of the voxels at the end portion of the first voxel space is set to a predetermined value equal to or higher than the threshold value, The position where the distance from the player character becomes farther is a position outside the first voxel space. The game processing method according to claim 40.

42. For the voxels at a predetermined position inside the end portion of the first voxel space, a material having a property that the density cannot be decreased is set. The game processing method according to claim 41.

43. In the information processing system, In the second mode, The game processing method according to claim 35, wherein, for the display mesh included in the first range set at the position in the line-of-sight direction of the virtual camera from the virtual camera, it is drawn with increased transparency or drawn with dithering.

44. In the information processing system, In the second mode, The game processing method according to claim 43, wherein, for a polygon in which at least one of the material and the normal direction among the display meshes included in the first range satisfies a predetermined condition, it is drawn with increased transparency or drawn with dithering.

45. In the information processing system, In the second mode, The game processing method according to any one of claims 35 to 42, wherein the virtual camera is controlled to move based on the movement of the fixation point of the virtual camera or the rotational movement of the virtual camera around the fixation point based on an operation input.

46. In the information processing system, In the first mode, The display mesh is drawn with a level of detail corresponding to the distance from the virtual camera, In the second mode, The game processing method according to claim 45, wherein the display mesh is drawn with a level of detail independent of the distance from the virtual camera.

47. In the information processing system, In the second mode, The game processing method according to claim 46, wherein the display of the display mesh is performed with a frame rate lower than that in the first mode according to the processing load of the drawing.

48. In the information processing system, further, In the second mode, The game processing method according to any one of claims 35 to 42, wherein a predetermined UI is drawn at a position overlapping the display mesh to be drawn.

49. In the information processing system, further, In the second mode, The game processing method according to claim 48, wherein when the position where the first type of UI is displayed is specified based on an operation input, the player character is moved to the position in the virtual space corresponding to the display position of the UI and the first mode is transitioned.

50. In the information processing system, further, In the first mode, At least one non-voxel object, which is an object not based on the voxel data, is further drawn, In the second mode, The game processing method according to any one of claims 35 to 42, which causes at least one of the non-voxel objects to be hidden.

51. The information processing system further In the second mode, The game processing method according to any one of claims 35 to 42, which causes a post effect that provides a different display mode to be applied to the display mesh included in regions other than the selected region among a plurality of regions into which the virtual space is divided.

52. A game device including a processor, The processor Updates voxel data defined in a virtual space, where at least a density indicating the degree to which the space defined by each of a plurality of voxels is virtually occupied by content and a material indicating the type of the content are set, based on game processing. Generates and updates a display mesh corresponding to the voxel data and drawn based on a virtual camera, by determining vertex coordinates of the display mesh based at least on the density included in the voxel data and determining a material of the display mesh based at least on the material included in the voxel data. Draws the display mesh with a setting not to draw the back surface of the mesh, based on a texture corresponding to the vertex coordinates of the display mesh and the material of the display mesh. In a first mode in the game processing, Controls the movement of a player character in the virtual space based on an operation input. Controls the movement of the virtual camera based on the position of the player character. In response to a first instruction based on an operation input, moves the virtual camera to a position that includes at least the position of the player character in the field of view and is at least farther away from the player character, and transitions from the first mode to a second mode. In the second mode in the game processing, Controls the movement of the virtual camera based on an operation input. A game device that, in response to a second instruction based on an operation input, moves the virtual camera to a position where at least the distance from the player character becomes closer, and transitions from the second mode to the first mode.

Citation Information

Patent Citations

  • Game device, control method of game device, and program

    JP2012183100A

  • Program and image generation system

    JP2017099744A

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

    JP2023067679A

  • Virtual space creation program, and virtual space creation device

    JP2024007703A

  • Game system, server device, program, and game providing method

    JP2024058072A