Patentable/Patents/US-20260134628-A1
US-20260134628-A1

Storage Medium, Information Processing System, and Game Processing Method

PublishedMay 14, 2026
Assigneenot available in USPTO data we have
InventorsWataru TANAKA
Technical Abstract

An example of an information processing system causes a player character to perform an action in response to a first instruction based on an operation input. The information processing system decreases the densities of voxels in first voxel data and second voxel data corresponding to a first voxel update range set based on a position where the action is performed by a player character. When the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, the information processing system increases the density of an increase target voxel, which is a voxel in the other one of the first voxel data and the second voxel data and has the correspondence relationship with a decrease target voxel which is the voxel whose density is decreased. The information processing system renders the virtual space including the first mesh and the second mesh.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

based on voxel data in which at least a density is set for each of a plurality of voxels, generating and updating a first mesh based on first voxel data and a second mesh based on second voxel data, the density indicating a degree of occupation of a content in a space defined by the voxel, the voxel data including the first voxel data defined in a first voxel space in a virtual space and the second voxel data defined in a second voxel space in the virtual space, wherein a correspondence relationship is set between each of voxels in the first voxel data and each of voxels in the second voxel data, and each mesh has vertex coordinates determined based on at least the density; based on an operation input, controlling a player character in the virtual space, and causing the player character to perform a first action in response to a first instruction based on the operation input; decreasing the densities of voxels in the first voxel data and the second voxel data corresponding to a first voxel update range that is set based on a position where the first action is performed; when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, increasing the density of an increase target voxel, which is a voxel in the other one of the first voxel data and the second voxel data and has the correspondence relationship with a decrease target voxel which is the voxel whose density is decreased; and rendering the virtual space including the first mesh and the second mesh. . One or more non-transitory computer-readable media having stored therein instructions that, when executed, cause one or more processors to execute information processing comprising:

2

claim 1 . The one or more non-transitory computer-readable media according to, wherein the information processing comprises increasing the density of the increase target voxel by the same amount as the amount of decrease in density of the decrease target voxel.

3

claim 2 . The one or more non-transitory computer-readable media according to, wherein based on the voxel data, generating and updating vertices of the first mesh and the second mesh, for a portion where a voxel having the density in a first range which is a larger half of a range of values that can be set to the density, is adjacent to a voxel having the density in a second range which is a smaller half of the range of the values, based on setting vertices at coordinates based on the positions and densities of a plurality of neighboring voxels; and decreasing the density of the decrease target voxel and increasing the density of the increase target voxel such that the sum of the densities of the voxel in the first voxel data and the voxel in the second voxel data, having the correspondence relationship, becomes a maximum value that can be set to the density. the information processing comprises:

4

claim 1 . The one or more non-transitory computer-readable media according to, wherein the voxel data further includes, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh, the intersection information in the first voxel data and the second voxel data is retained even when the density of the voxel is decreased, and the information processing further comprises generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information.

5

claim 1 . The one or more non-transitory computer-readable media according to, wherein the voxel data further includes, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh, and generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information; and when the intersection information is set for the decrease target voxel, deleting the intersection information from the decrease target voxel, and setting the same intersection information as the intersection information to the increase target voxel. the information processing further comprises:

6

claim 1 . The one or more non-transitory computer-readable media according to, wherein the information processing further comprises, when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, generating a first effect that represents movement of a first object from a first position set within a first range in which at least the decrease target voxel is included, to a second position set within a second range in which at least the increase target voxel is included.

7

claim 6 . The one or more non-transitory computer-readable media according to, wherein the information processing comprises increasing the density of the increase target voxel after the first object has arrived at the second position.

8

one or more processors, based on voxel data in which at least a density is set for each of a plurality of voxels, generating and updating a first mesh based on first voxel data and a second mesh based on second voxel data, the density indicating a degree of occupation of a content in a space defined by the voxel, the voxel data including the first voxel data defined in a first voxel space in a virtual space and the second voxel data defined in a second voxel space in the virtual space, wherein a correspondence relationship is set between each of voxels in the first voxel data and each of voxels in the second voxel data, and each mesh has vertex coordinates determined based on at least the density; based on an operation input, controlling a player character in the virtual space, and causing the player character to perform a first action in response to a first instruction based on the operation input; decreasing the densities of voxels in the first voxel data and the second voxel data corresponding to a first voxel update range that is set based on a position where the first action is performed; when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, increasing the density of an increase target voxel, which is a voxel in the other one of the first voxel data and the second voxel data and has the correspondence relationship with a decrease target voxel which is the voxel whose density is decreased; and rendering the virtual space including the first mesh and the second mesh. one or more memories having stored therein computer-executable instructions to execute information processing comprising: . An information processing system comprising:

9

claim 8 . The information processing system according to, wherein the information processing comprises increasing the density of the increase target voxel by the same amount as the amount of decrease in density of the decrease target voxel.

10

claim 9 . The information processing system according to, wherein based on the voxel data, generating and updating vertices of the first mesh and the second mesh, for a portion where a voxel having the density in a first range which is a larger half of a range of values that can be set to the density, is adjacent to a voxel having the density in a second range which is a smaller half of the range of the values, based on setting vertices at coordinates based on the positions and densities of a plurality of neighboring voxels; and decreasing the density of the decrease target voxel and increasing the density of the increase target voxel such that the sum of the densities of the voxel in the first voxel data and the voxel in the second voxel data, having the correspondence relationship, becomes a maximum value that can be set to the density. the information processing comprises:

11

claim 8 . The information processing system according to, wherein the voxel data further includes, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh, the intersection information in the first voxel data and the second voxel data is retained even when the density of the voxel is decreased, and the information processing further comprises generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information.

12

claim 8 . The information processing system according to, wherein the voxel data further includes, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh, and generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information; and when the intersection information is set for the decrease target voxel, deleting the intersection information from the decrease target voxel, and setting the same intersection information as the intersection information to the increase target voxel. the information processing further comprises:

13

claim 8 . The information processing system according to, wherein the information processing further comprises, when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, generating a first effect that represents movement of a first object from a first position set within a first range in which at least the decrease target voxel is included, to a second position set within a second range in which at least the increase target voxel is included.

14

claim 13 . The information processing system according to, wherein the information processing comprises increasing the density of the increase target voxel after the first object has arrived at the second position.

15

based on voxel data in which at least a density is set for each of a plurality of voxels, generating and updating a first mesh based on first voxel data and a second mesh based on second voxel data, the density indicating a degree of occupation of a content in a space defined by the voxel, the voxel data including the first voxel data defined in a first voxel space in a virtual space and the second voxel data defined in a second voxel space in the virtual space, wherein a correspondence relationship is set between each of voxels in the first voxel data and each of voxels in the second voxel data, and each mesh has vertex coordinates determined based on at least the density; based on an operation input, controlling a player character in the virtual space, and causing the player character to perform a first action in response to a first instruction based on the operation input; decreasing the densities of voxels in the first voxel data and the second voxel data corresponding to a first voxel update range that is set based on a position where the first action is performed; when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, increasing the density of an increase target voxel, which is a voxel in the other one of the first voxel data and the second voxel data and has the correspondence relationship with a decrease target voxel which is the voxel whose density is decreased; and rendering the virtual space including the first mesh and the second mesh. . A game processing method performed on an information processing system, the game processing method comprising:

16

claim 15 . The game processing method according to, comprises increasing the density of the increase target voxel by the same amount as the amount of decrease in density of the decrease target voxel.

17

claim 16 based on the voxel data, generating and updating vertices of the first mesh and the second mesh, for a portion where a voxel having the density in a first range which is a larger half of a range of values that can be set to the density, is adjacent to a voxel having the density in a second range which is a smaller half of the range of the values, based on setting vertices at coordinates based on the positions and densities of a plurality of neighboring voxels; and decreasing the density of the decrease target voxel and increasing the density of the increase target voxel such that the sum of the densities of the voxel in the first voxel data and the voxel in the second voxel data, having the correspondence relationship, becomes a maximum value that can be set to the density. . The game processing method according to, comprises:

18

claim 15 . The game processing method according to, wherein the voxel data further includes, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh, the intersection information in the first voxel data and the second voxel data is retained even when the density of the voxel is decreased, and the game processing method further comprises generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information.

19

claim 15 . The game processing method according to, wherein the voxel data further includes, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh, and generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information; and when the intersection information is set for the decrease target voxel, deleting the intersection information from the decrease target voxel, and setting the same intersection information as the intersection information to the increase target voxel. the game processing method further comprises:

20

claim 15 . The game processing method according to, further comprises, when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, generating a first effect that represents movement of a first object from a first position set within a first range in which at least the decrease target voxel is included, to a second position set within a second range in which at least the increase target voxel is included.

21

claim 20 . The game processing method according to, comprises increasing the density of the increase target voxel after the first object has arrived at the second position.

Detailed Description

Complete technical specification and implementation details from the patent document.

This application claims priority to Japanese Patent Application No. 2024-196729, filed on November 11, 2024, the entire contents of which are incorporated herein by reference.

The technique shown here relates to a storage medium, an information processing system, and a game processing method for generating an object in a virtual space by using voxel data.

Conventionally, an object is managed using voxel data, and a mesh of the object is generated in a virtual space, based on the voxel data.

It is desired to deform a plurality of objects by a novel method.

1 ()

An example of one or more non-transitory computer-readable medium having stored therein instructions that, when executed, cause one or more processors to execute information processing comprising: based on voxel data in which at least a density is set for each of a plurality of voxels, generating and updating a first mesh based on first voxel data and a second mesh based on second voxel data, the density indicating a degree of occupation of a content in a space defined by the voxel, the voxel data including the first voxel data defined in a first voxel space in a virtual space and the second voxel data defined in a second voxel space in the virtual space, wherein a correspondence relationship is set between each of voxels in the first voxel data and each of voxels in the second voxel data, and each mesh has vertex coordinates determined based on at least the density; based on an operation input, controlling a player character in the virtual space, and causing the player character to perform a first action in response to a first instruction based on the operation input; decreasing the densities of voxels in the first voxel data and the second voxel data corresponding to a first voxel update range that is set based on a position where the first action is performed; when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, increasing the density of an increase target voxel, which is a voxel in the other one of the first voxel data and the second voxel data and has the correspondence relationship with a decrease target voxel which is the voxel whose density is decreased; and rendering the virtual space including the first mesh and the second mesh.

1 According to the configuration of the above (), in response to deformation of a certain object, an object corresponding to the certain object can be deformed.

2 ()

1 In the configuration of the above (), the information processing may comprise increasing the density of the increase target voxel by the same amount as the amount of decrease in density of the decrease target voxel.

2 According to the configuration of the above (), it is possible to make an expression in which the volume of one voxel object appears to increase in response to a decrease in volume of the other object.

3 ()

2 In the configuration of the above (), the information processing may comprise: based on the voxel data, generating and updating vertices of the first mesh and the second mesh, for a portion where a voxel having the density in a first range which is a larger half of a range of values that can be set to the density, is adjacent to a voxel having the density in a second range which is a smaller half of the range of the values, based on setting vertices at coordinates based on the positions and densities of a plurality of neighboring voxels; and decreasing the density of the decrease target voxel and increasing the density of the increase target voxel such that the sum of the densities of the voxel in the first voxel data and the voxel in the second voxel data, having the correspondence relationship, becomes a maximum value that can be set to the density.

3 According to the configuration of the above (), two corresponding voxel objects can be deformed so as to have mutually complementary shapes.

4 ()

1 3 In the configuration of the any one of above () to (), the voxel data may further include, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh. The intersection information in the first voxel data and the second voxel data may be retained even when the density of the voxel is decreased. The information processing may further comprise generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information.

4 According to the configuration of the above (), even when a voxel object is restored after being deformed as if a part or the entirety thereof is deleted, the mesh of the voxel object can be made to have the shape that represents the intersection information.

5 ()

1 3 In the configuration of the any one of above () to (), the voxel data may further include, for at least some voxels, intersection information regarding an intersection between a line connecting the centers of voxels and a mesh. The information processing may further comprise: generating and updating the first mesh and the second mesh, based on determining vertex coordinates further based on the intersection information; and when the intersection information is set for the decrease target voxel, deleting the intersection information from the decrease target voxel, and setting the same intersection information as the intersection information to the increase target voxel.

5 According to the configuration of the above (), an increase in processing load regarding generation of a mesh of a voxel object in which the voxel density is decreased can be suppressed. In addition, a mesh of a voxel object in which the voxel density is increased can be generated such that the same shape as the corresponding voxel object can be reproduced more accurately.

6 ()

1 5 In the configuration of the any one of above () to (), the information processing may further comprise, when the density of a voxel in at least one of the first voxel data and the second voxel data is decreased, generating a first effect that represents movement of a first object from a first position set within a first range in which at least the decrease target voxel is included, to a second position set within a second range in which at least the increase target voxel is included.

6 According to the configuration of the above (), it is possible to notify a player of two voxel objects having a correspondence relationship.

7 ()

6 In the configuration of the above (), the information processing may comprise increasing the density of the increase target voxel after the first object has arrived at the second position.

7 According to the configuration of the above (), it is possible to make a representation in which the decreased portion of one voxel object appears to move toward the other voxel object.

1 7 1 7 The present specification discloses examples of an information processing apparatus and an information processing system that execute the processes in the above () to (). Furthermore, the present specification discloses an example of a game processing method that allows the information processing system to execute the processes in the above () to ().

According to the storage medium, the information processing system, or the game processing method, a plurality of objects can be deformed by a novel method.

These and other features, aspects, and advantages of the subject matter described herein will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.

1 2 3 4 3 4 2 1 3 4 2 1 2 3 4 1 1 2 FIG. A game system according to an example of an exemplary embodiment is described below. An example of a game systemaccording to the exemplary embodiment includes a main body apparatus (an information processing apparatus; which functions as a game apparatus main body in the exemplary embodiment), a left controller, and a right controller. Each of the left controllerand the right controlleris attachable to and detachable from the main body apparatus. That is, the game systemcan be used as a unified apparatus obtained by attaching each of the left controllerand the right controllerto the main body apparatus. Further, in the game system, the main body apparatus, the left controller, and the right controllercan also be used as separate bodies (see). Hereinafter, first, the hardware configuration of the game systemaccording to the exemplary embodiment is described, and then, the control of the game systemaccording to the exemplary embodiment is described.

1 FIG. 1 FIG. 3 4 2 3 4 2 2 1 2 12 3 4 is a diagram showing an example of the state in which the left controllerand the right controllerare attached to the main body apparatus. As shown in, each of the left controllerand the right controlleris attached to and unified with the main body apparatus. The main body apparatusis an apparatus for performing various processes (e.g., game processing) in the game system. The main body apparatusincludes a display. Each of the left controllerand the right controlleris an apparatus including operation sections with which a user provides inputs.

2 FIG. 1 2 FIGS.and 3 4 2 3 4 2 3 4 is a diagram showing an example of the state in which each of the left controllerand the right controlleris detached from the main body apparatus. As shown in, the left controllerand the right controllerare attachable to and detachable from the main body apparatus. It should be noted that hereinafter, the left controllerand the right controllerwill occasionally be referred to collectively as a "controller".

3 FIG. 3 FIG. 2 2 11 12 11 is six orthogonal views showing an example of the main body apparatus. As shown in, the main body apparatusincludes an approximately plate-shaped housing. In the exemplary embodiment, a main surface (for example, a surface on a front side, such as a surface on which the displayis provided) of the housinghas a generally rectangular shape.

11 11 2 3 4 2 2 It should be noted that the shape and the size of the housingare optional. As an example, the housingmay be of a portable size. Further, the main body apparatusalone or the unified apparatus obtained by attaching the left controllerand the right controllerto the main body apparatusmay function as a mobile apparatus. The main body apparatusor the unified apparatus may function as a handheld apparatus or a portable apparatus.

3 FIG. 2 12 11 12 2 12 12 As shown in, the main body apparatusincludes the display, which is provided on the main surface of the housing. The displaydisplays an image generated by the main body apparatus. In the exemplary embodiment, the displayis a liquid crystal display device (LCD). The display, however, may be a display device of any type.

2 13 12 13 13 13 Further, the main body apparatusincludes a touch panelon a screen of the display. In the exemplary embodiment, the touch panelis of a type that allows a multi-touch input (e.g., a capacitive type). The touch panel, however, may be of any type. For example, the touch panelmay be of a type that allows a single-touch input (e.g., a resistive type).

2 88 11 11 11 11 88 11 11 6 FIG. 3 FIG. a b a b The main body apparatusincludes speakers (e.g., speakersshown in) within the housing. As shown in, speaker holesandare formed on the main surface of the housing. Then, sounds output from the speakersare output through the speaker holesand.

2 17 2 3 21 2 4 Further, the main body apparatusincludes a left terminal, which is a terminal for the main body apparatusto perform wired communication with the left controller, and a right terminal, which is a terminal for the main body apparatusto perform wired communication with the right controller.

3 FIG. 2 23 23 11 23 23 1 1 2 2 2 28 As shown in, the main body apparatusincludes a slot. The slotis provided on an upper side surface of the housing. The slotis so shaped as to allow a predetermined type of storage medium to be attached to the slot. The predetermined type of storage medium is, for example, a dedicated storage medium (e.g., a dedicated memory card) for the game systemand an information processing apparatus of the same type as the game system. The predetermined type of storage medium is used to store, for example, data (e.g., saved data of an application or the like) used by the main body apparatusand/or a program (e.g., a program for an application or the like) executed by the main body apparatus. Further, the main body apparatusincludes a power button.

2 27 27 2 27 2 1 2 2 The main body apparatusincludes a lower terminal. The lower terminalis a terminal for the main body apparatusto communicate with a cradle. In the exemplary embodiment, the lower terminalis a USB connector (more specifically, a female connector). Further, when the unified apparatus or the main body apparatusalone is mounted on the cradle, the game systemcan display on a monitor an image generated by and output from the main body apparatus. The monitor may be stationary or may be movable. Further, in the exemplary embodiment, the cradle has the function of charging the unified apparatus or the main body apparatusalone mounted on the cradle. Further, the cradle has the function of a hub device (specifically, a USB hub).

4 FIG. 4 FIG. 1 4 FIGS.and 3 3 31 31 31 3 2 3 3 31 31 31 3 3 3 3 is six orthogonal views showing an example of the left controller. As shown in, the left controllerincludes a housing. In the exemplary embodiment, the housinghas a vertically long shape. The housingmay be shaped to be long in an up-down direction. For example, along the y-axis direction shown in. In the state where the left controlleris detached from the main body apparatus, the left controllercan also be held in the orientation in which the left controlleris vertically long. The housinghas such a shape and a size that when held in the orientation in which the housingis vertically long, the housingcan be held with one hand, particularly the left hand. Further, the left controllercan also be held in the orientation in which the left controlleris horizontally long. When held in the orientation in which the left controlleris horizontally long, the left controllermay be held with both hands.

3 32 32 31 32 32 3 32 4 FIG. The left controllerincludes an analog stick. As shown in, the analog stickis provided on a main surface of the housing. The analog stickcan be used as a direction input section with which a direction can be input. The user tilts the analog stickand thereby can input a direction corresponding to the direction of the tilt (and input a magnitude corresponding to the angle of the tilt). It should be noted that the left controllermay include a directional pad, a slide stick that allows a slide input, or the like as the direction input section, instead of the analog stick. Further, in the exemplary embodiment, it is possible to provide an input by pressing the analog stick.

3 3 33 36 33 34 35 36 31 3 37 47 3 38 39 31 3 43 44 31 3 2 2 The left controllerincludes various operation buttons. The left controllerincludes four operation buttonsto(specifically, a right direction button, a down direction button, an up direction button, and a left direction button) on the main surface of the housing. Further, the left controllerincludes a record buttonand a "-" (minus) button. The left controllerincludes a first L-buttonand a ZL-buttonin an upper left portion of a side surface of the housing. Further, the left controllerincludes a second L-buttonand a second R-button, on the side surface of the housingon which the left controlleris attached to the main body apparatus. These operation buttons are used to give instructions depending on various programs (e.g., an operating system (OS) program and an application program) executed by the main body apparatus.

3 42 3 2 Further, the left controllerincludes a terminalfor the left controllerto perform wired communication with the main body apparatus.

5 FIG. 5 FIG. 4 4 51 51 4 2 4 4 51 51 51 4 4 4 4 is six orthogonal views showing an example of the right controller. As shown in, the right controllerincludes a housing. In the exemplary embodiment, the housinghas a vertically long shape. For example, it may be shaped to be long in the up-down direction. In the state where the right controlleris detached from the main body apparatus, the right controllercan also be held in the orientation in which the right controlleris vertically long. The housinghas such a shape and a size that when held in the orientation in which the housingis vertically long, the housingcan be held with one hand, particularly the right hand. Further, the right controllercan also be held in the orientation in which the right controlleris horizontally long. When held in the orientation in which the right controlleris horizontally long, the right controllermay be held with both hands.

3 4 52 52 32 3 4 3 4 53 56 53 54 55 56 51 4 57 58 4 60 61 51 3 4 65 66 Similarly to the left controller, the right controllerincludes an analog stickas a direction input section. In the exemplary embodiment, the analog stickhas the same configuration as that of the analog stickof the left controller. Further, the right controllermay include a directional pad, a slide stick that allows a slide input, or the like, instead of the analog stick. Further, similarly to the left controller, the right controllerincludes four operation buttonsto(specifically, an A-button, a B-button, an X-button, and a Y-button) on a main surface of the housing. Further, the right controllerincludes a "+" (plus) buttonand a home button. Further, the right controllerincludes a first R-buttonand a ZR-buttonin an upper right portion of a side surface of the housing. Further, similarly to the left controller, the right controllerincludes a second L-buttonand a second R-button.

4 64 4 2 Further, the right controllerincludes a terminalfor the right controllerto perform wired communication with the main body apparatus.

6 FIG. 6 FIG. 3 FIG. 2 2 81 85 87 88 91 97 98 81 85 87 88 91 97 98 11 is a block diagram showing an example of the internal configuration of the main body apparatus. The main body apparatusincludes componentsto,,,,, andshown inin addition to the components shown in. Some of the componentsto,,,,, andmay be mounted as electronic components on an electronic circuit board and accommodated in the housing.

2 81 81 2 81 81 84 23 The main body apparatusincludes a processor. The processoris an information processing section for executing various types of information processing to be executed by the main body apparatus. For example, the processormay be composed only of a CPU (Central Processing Unit), or may be composed of a SoC (System-on-a-chip) having a plurality of functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processorexecutes an information processing program (e.g., a game program) or other instructions that are stored in storage. For example, in an internal non-transitory storage medium such as a flash memory, an external storage non-transitory medium attached to the slot, or the like), thereby performing the various types of information processing.

2 84 85 2 84 85 81 84 2 85 85 84 The main body apparatusincludes a flash memoryand a DRAM (Dynamic Random Access Memory)as examples of internal storage media built into the main body apparatus. The flash memoryand the DRAMare connected to the processor. The flash memoryis a memory mainly used to store various data (or programs) to be saved in the main body apparatus. The DRAMis a memory used to temporarily store various data used for information processing. The DRAMand flash memoryare illustrative non-limiting examples of non-transitory computer-readable media.

2 91 91 81 91 23 81 23 The main body apparatusincludes a slot interface (hereinafter abbreviated as "I/F"). The slot I/Fis connected to the processor. The slot I/Fis connected to the slot, and in accordance with an instruction from the processor, reads and writes data from and to the predetermined type of storage medium (e.g., a dedicated memory card) attached to the slot.

81 84 85 The processorappropriately reads and writes data from and to the flash memory, the DRAM, and each of the above storage media, thereby performing the above information processing.

2 82 82 81 82 82 82 2 2 2 2 The main body apparatusincludes a network communication section. The network communication sectionis connected to the processor. The network communication sectioncommunicates (specifically, through wireless communication) with an external apparatus via a network. In the exemplary embodiment, as a first communication form, the network communication sectionconnects to a wireless LAN and communicates with an external apparatus, using a method compliant with the Wi-Fi standard. Further, as a second communication form, the network communication sectionwirelessly communicates with another main body apparatusof the same type, using a predetermined communication method (e.g., communication based on a unique protocol or infrared light communication). It should be noted that the wireless communication in the above second communication form achieves the function of enabling so-called "local communication" in which the main body apparatuscan wirelessly communicate with another main body apparatusplaced in a closed local network area, and the plurality of main body apparatusesdirectly communicate with each other to transmit and receive data.

2 83 83 81 83 3 4 2 3 4 83 3 4 The main body apparatusincludes a controller communication section. The controller communication sectionis connected to the processor. The controller communication sectionwirelessly communicates with the left controllerand/or the right controller. The communication method between the main body apparatusand the left controllerand the right controlleris optional. In the exemplary embodiment, the controller communication sectionperforms communication compliant with the Bluetooth (registered trademark) standard with the left controllerand with the right controller.

81 17 21 27 3 81 3 17 3 17 4 81 4 21 4 21 81 27 2 3 4 3 4 2 2 2 The processoris connected to the left terminal, the right terminal, and the lower terminal. When performing wired communication with the left controller, the processortransmits data to the left controllervia the left terminaland also receives operation data from the left controllervia the left terminal. Further, when performing wired communication with the right controller, the processortransmits data to the right controllervia the right terminaland also receives operation data from the right controllervia the right terminal. Further, when communicating with the cradle, the processortransmits data to the cradle via the lower terminal. As described above, in the exemplary embodiment, the main body apparatuscan perform both wired communication and wireless communication with each of the left controllerand the right controller. Further, when the unified apparatus obtained by attaching the left controllerand the right controllerto the main body apparatusor the main body apparatusalone is attached to the cradle, the main body apparatuscan output data (e.g., image data or sound data) to the stationary monitor or the like via the cradle.

2 3 2 4 2 3 4 2 3 4 2 3 4 Here, the main body apparatuscan communicate with a plurality of left controllerssimultaneously (in other words, in parallel). Further, the main body apparatuscan communicate with a plurality of right controllerssimultaneously (in other words, in parallel). Thus, a plurality of users can simultaneously provide inputs to the main body apparatus, each using a set of the left controllerand the right controller. As an example, a first user can provide an input to the main body apparatususing a first set of the left controllerand the right controller, and simultaneously, a second user can provide an input to the main body apparatususing a second set of the left controllerand the right controller.

12 81 81 12 Further, the displayis connected to the processor. The processordisplays a generated image (e.g., an image generated by executing the above information processing) and/or an externally acquired image on the display.

2 87 88 87 88 25 81 87 88 25 The main body apparatusincludes a codec circuitand speakers (specifically, a left speaker and a right speaker). The codec circuitis connected to the speakersand a sound input/output terminaland also connected to the processor. The codec circuitis a circuit for controlling the input and output of sound data to and from the speakersand the sound input/output terminal.

2 97 98 97 98 81 97 2 98 17 21 81 97 98 6 FIG. The main body apparatusincludes a power control sectionand a battery. The power control sectionis connected to the batteryand the processor. Further, although not shown in, the power control sectionis connected to components of the main body apparatus(specifically, components that receive power supplied from the battery, the left terminal, and the right terminal). Based on a command from the processor, the power control sectioncontrols the supply of power from the batteryto the above components.

98 27 27 2 27 98 Further, the batteryis connected to the lower terminal. When an external charging device (e.g., the cradle) is connected to the lower terminal, and power is supplied to the main body apparatusvia the lower terminal, the batteryis charged with the supplied power.

7 FIG. 6 FIG. 7 FIG. 2 3 4 2 is a block diagram showing examples of the internal configurations of the main body apparatus, the left controller, and the right controller. It should be noted that the details of the internal configuration of the main body apparatusare shown inand therefore are omitted in.

3 101 2 101 42 101 2 42 42 101 3 2 3 2 101 2 42 3 2 101 2 83 101 83 7 FIG. The left controllerincludes a communication control section, which communicates with the main body apparatus. As shown in, the communication control sectionis connected to components including the terminal. In the exemplary embodiment, the communication control sectioncan communicate with the main body apparatusthrough both wired communication via the terminaland wireless communication not via the terminal. The communication control sectioncontrols the method for communication performed by the left controllerwith the main body apparatus. That is, when the left controlleris attached to the main body apparatus, the communication control sectioncommunicates with the main body apparatusvia the terminal. Further, when the left controlleris detached from the main body apparatus, the communication control sectionwirelessly communicates with the main body apparatus(specifically, the controller communication section). The wireless communication between the communication control sectionand the controller communication sectionis performed in accordance with the Bluetooth (registered trademark) standard, for example.

3 102 101 102 Further, the left controllerincludes a memorysuch as a flash memory. The communication control sectionincludes, for example, a microcomputer (or a microprocessor) and executes firmware stored in the memory, thereby performing various processes.

3 103 33 39 43 44 47 3 32 103 32 101 7 FIG. The left controllerincludes buttons(specifically, the buttonsto,,, and). Further, the left controllerincludes the analog stick ("stick" in). Each of the buttonsand the analog stickoutputs information regarding an operation performed on itself to the communication control sectionrepeatedly at appropriate timing.

101 103 32 101 2 2 The communication control sectionacquires information regarding an input (specifically, information regarding an operation or the detection result of the sensor) from each of input sections (specifically, the buttonsand the analog stick). The communication control sectiontransmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main body apparatus. It should be noted that the operation data is transmitted repeatedly, once every predetermined time. It should be noted that the interval at which the information regarding an input is transmitted from each of the input sections to the main body apparatusmay or may not be the same.

2 2 3 2 103 32 The above operation data is transmitted to the main body apparatus, whereby the main body apparatuscan obtain inputs provided to the left controller. That is, the main body apparatuscan determine operations on the buttonsand the analog stickbased on the operation data.

3 108 108 3 7 FIG. The left controllerincludes a power supply section. In the exemplary embodiment, the power supply sectionincludes a battery and a power control circuit. Although not shown in, the power control circuit is connected to the battery and also connected to components of the left controller(specifically, components that receive power supplied from the battery).

7 FIG. 4 111 2 4 112 111 111 64 111 112 101 102 3 111 2 64 64 111 4 2 As shown in, the right controllerincludes a communication control section, which communicates with the main body apparatus. Further, the right controllerincludes a memory, which is connected to the communication control section. The communication control sectionis connected to components including the terminal. The communication control sectionand the memoryhave functions similar to those of the communication control sectionand the memory, respectively, of the left controller. Thus, the communication control sectioncan communicate with the main body apparatusthrough both wired communication via the terminaland wireless communication not via the terminal(specifically, communication compliant with the Bluetooth (registered trademark) standard). The communication control sectioncontrols the method for communication performed by the right controllerwith the main body apparatus.

4 3 4 113 52 3 3 The right controllerincludes input sections similar to the input sections of the left controller. Specifically, the right controllerincludes buttonsand the analog stick. These input sections have functions similar to those of the input sections of the left controllerand operate similarly to the input sections of the left controller.

4 118 118 108 3 108 The right controllerincludes a power supply section. The power supply sectionhas a function similar to that of the power supply sectionof the left controllerand operates similarly to the power supply section.

8 FIG. 26 FIG. 1 1 12 Next, referring toto, an outline of the process performed on the game systemwill be described. In the present embodiment, the game systemgenerates a game image in which terrain objects and characters (e.g., the player character controlled by the player) are arranged in a game space, which is a three-dimensional virtual space, and displays the game image on a display device. Note that in the present embodiment, the display device on which the game image is displayed may be the displaydescribed above, or may be a stationary monitor.

1 In the present embodiment, for some objects in the game space, the shape is defined by voxel data. Here, voxels are rectangular parallelepiped (more specifically, cubic) regions arranged in a grid pattern in the game space, and voxel data is data indicating information regarding the voxels. Hereinafter, an object whose shape is defined by voxel data will be referred to as a “voxel object”. In the present embodiment, the game systemstores voxel data for a plurality of voxels that are set in the game space as data for generating voxel objects in the game space.

8 FIG. 8 FIG. 8 FIG. 8 FIG. is a view showing an example of a terrain object, which is a voxel object. As shown in, in the present embodiment, a terrain object representing a terrain such as a ground surface has its shape defined by voxel data . The cubes shown inrepresent a terrain object. Note that in, edges of the terrain object are indicated by thick lines. However, these thick lines are added for the purpose of making the drawings easier to understand, and there is no need for edges of the terrain object to be drawn thick.

8 FIG. 8 FIG. 13 FIG. 8 FIG. 13 FIG. 1 For example, the terrain object shown inis generated by the following rule: "a cube is placed at the position of a voxel if a parameter included in the voxel data set for the voxel is greater than a predetermined value, and nothing is placed at the position of the voxel if the parameter is less than or equal to the predetermined value". A terrain object inis shown for the purpose of illustrating the relationship between voxels and voxel objects in an easy-to-understand manner. Note that in the present embodiment, in practice, a voxel object is generated (e.g., based on voxel data) by such a rule that results in a terrain object having a complicated shape, such as a terrain object shown into be described below, for example. Note that there is no limitation on the rule for determining the shape of the voxel object based on the voxel data. In other embodiments, the game systemmay generate a voxel object as shown inbased on the object data or may generate a voxel object as shown inbased on the object data.

9 FIG. 10 FIG. 8 FIG. 9 FIG. 10 FIG. 1 1 It is possible to change the shape of a voxel object by changing voxel data of voxels.andare views showing before and after the removal of a portion of the terrain object shown in. That is, when the hatched portion of the terrain object shown inis broken, the terrain object changes to a shape as shown in. In such a case, the game systemcan easily delete the terrain object by rewriting the voxel data described below so as to indicate that the terrain object is absent for voxels in the hatched portion. Note that also when making an addition to the terrain object, as when deleting the terrain object, the game systemcan easily change the shape of the terrain object by changing the voxel data of voxels.

1 1 Thus, the game systemcan freely change the shape of a voxel object by rewriting the voxel data. For example, the shape of a terrain object may be changed as a result of the terrain object in a game being broken for some reason (e.g., the player object striking the terrain object). In such a case, the game systemcan freely change the shape of the terrain object by changing the voxel data used to generate the terrain object, rather than directly changing data representing the outer shape of the terrain object (e.g., the mesh to be described below).

1 In the exemplary embodiment, voxels are defined in the entire game space (e.g., a voxel space in which voxels are set corresponds to the entire game space). However, the voxel space may not necessarily be set over the entire game space, and may be set in a certain area in the game space. If the voxel space is set in a certain area in the game space, the shape of the voxel object is defined by voxel data regarding 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. The game space may include a main voxel space that is set over the entire game space, and a sub voxel space that is set in a certain area in the game space. In this case, the game systemstores therein the voxel data for each voxel space.

11 FIG. shows 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 according to the exemplary embodiment, these pieces of data are set for each voxel.

The density data indicates a density that is an index used for defining the shape of a voxel object based on the voxel (specifically, the shape defined by a mesh described below). As will be described in detail below, the position and shape of the surface of the voxel object (e.g., the mesh described below) are determined based on the density.

0 255 1 0 255 0 255 8 FIG. 13 FIG. In the exemplary embodiment, the density can take an integer value in a range from a lower limit value (e.g.,) to an upper limit value (e.g.,). In the exemplary embodiment, the game systemdetermines a surface shape of the voxel object, based on the density such that the proportion of the volume that the area in the voxel object occupies in the voxel tends to be greater when the density value set for the voxel is higher, and the proportion tends to be smaller when the density value is lower. Thus, the density is an index that has an influence on the proportion of the volume that the area in the voxel object occupies in the voxel. The density can also be regarded as an index that indicates the degree of virtual occupation of the content (e.g., the virtual content of the voxel object) in the space of the voxel. For example, when the density is, the voxel is empty. When the density is, the entire space in the voxel is the content of the voxel object. When the density is a value betweenand, the content of the voxel object occupies the space in the voxel based on (e.g., in a proportion according to) the value. The shape of the mesh, e.g., the surface shape of the voxel object, can be determined based on the density. The mesh can be regarded as the surface of a part, of a voxel, in which the content exists, or as a boundary between a part, of a voxel, in which the content exists and a part, of the voxel, in which the content does not exist. The volume that the area in the voxel object generated based on the density occupies may not necessarily be the volume that exactly matches the proportion indicated by the density. For example, the volume of the voxel object may differ between the method for generating a voxel object as shown inand the method for generating a voxel object as shown ineven if these methods are based on the same density.

0 1 In other embodiments, the density may indicate either a state in which the volume of the area in the voxel object occupies the entire area in the voxel or a state in which the volume of the area in the voxel object is not included in the area in the voxel. For example, the density data may be data that can take onlyor. In other embodiments, the density may be an index indicating that the greater the value of the density is, the smaller the degree of occupation of the content in the space defined by the voxel is.

1 12 FIG. The first material ID and the second material ID are information indicating materials of the corresponding voxel. In the exemplary embodiment, a material such as sand, rock, or soil is set for a voxel. In the game system, multiple types of materials are prepared as materials that can be set for voxels (see material data shown in). In the exemplary embodiment, at most two materials out of the prepared multiple types of materials can be set for one voxel. The first material ID is an ID indicating a first material set for the voxel, and the second material ID is an ID indicating a second material set for the voxel. As will be described in detail below, a material of a voxel object (e.g., a material to be set for a polygon of the voxel object) is determined based on the materials set for voxels.

As described above, in the exemplary embodiment, the voxel data includes the ID indicating the material. However, in other embodiments, the voxel data may have a data structure that includes data directly indicating the details of the material (e.g., information on the name, property, and rendering setting described below).

0 1 4 The material mixing ratio data is an example of data indicating a ratio of materials in the voxel. In the exemplary embodiment, since at most two material IDs are set for one voxel, the material mixing ratio data, which indicates the ratio of one of the material indicated by the first material ID and the material indicated by the second material ID, can also indicate the ratio of the other material. In the exemplary embodiment, it is assumed that the material mixing ratio is a value indicating the ratio of the second material to the entire material consisting of the first material and the second material. The value isor more andor less. For example, if the material mixing ratio set for a certain voxel is 0.4, this indicates that the voxel is composed of the first material and the second material in the ratio of 0.6:0.. As will be described in detail below, the appearance and property of the voxel object are determined based on the materials. The material mixing ratio is used to determine the appearance and property of the voxel object. In other embodiments, the material mixing ratio may be a value indicating the proportion of the first material. The ratio of the materials in the voxel may be indicated by the values of the proportions of the materials. In particular, in other embodiments, if the number of settable types of materials is not limited to two at most and three or more types of materials can be set, the ratio of the materials in the voxel is indicated by a plurality of values respectively indicating the proportions of the materials.

0 In the exemplary embodiment, two types of materials may not necessarily be set for a voxel, and one type of material may be set. For example, if one type of material is set for a certain voxel, the first material ID indicates this material, and the material mixing ratio is set at.

The state data indicates a state that is set for the corresponding voxel. The specific content of state data and the number of types thereof are discretionary. In the exemplary embodiment, the state data includes data indicating the amount of damage set on the voxel. In other embodiments, the state data may include data indicating whether or not the voxel is wet (and its extent), for example.

1 12 FIG. 12 FIG. As described above, in the exemplary embodiment, since the voxel data includes the material ID, the game systemstores therein material data that defines the content of the material indicated by the material ID.shows an example of the material data. As shown in, in the material data according to the exemplary embodiment, for each material, a material ID is associated with information on a name, a property, and rendering setting that are set for the material.

28 FIG. The name included in the material data is a name (e.g., soil, sand, grass, etc.) set for the material. As will be described in detail below, during the game, the name of the material of the voxel object may sometimes be displayed (see). In order to perform such a display, the material data includes information on the name of the material.

The property included in the material data is a property set for the material. The property of the material is a property that the voxel object, on which the material is set, possesses in the game. The specific content of the property of the material, and the number of types of properties are discretionary. For example, at least one of the following pieces of information may be set as properties of a material.

· Hardness

· Weight

· Slipperiness

· Damage setting in the case where the player character comes into contact with the voxel object

· Temperature

· Whether another object can be bonded to the voxel object

· Amount of hit points to be regained by the player character when the player character destroys or acquires the voxel object

· Amount of in-game currency to be gained by the player character when the player character destroys or acquires a voxel object

In other embodiments, information different from those listed above may be set as information indicating a property of a material.

12 FIG. 12 FIG. 1 1 In the exemplary embodiment, the material data includes, as information that identifies a property of a material, an ID indicating the property (see). Although not shown in, the game systemstores, for each property to be prepared, property information in which the property ID is associated with the content of the property (e.g., a value indicating the aforementioned weight or slipperiness). By referring to the property information, the game systemcan specify the specific content of the property set for the material.

12 FIG. 12 FIG. 1 1 The rendering setting included in the material data is information that indicates setting regarding rendering, such as a texture used for rendering of the voxel object for which the material is set. In the exemplary embodiment, the material data includes, as information on rendering setting, an ID of a texture to be used for rendering the voxel object for which the material is set (see). Although not shown in, the game systemstores, for each texture prepared, texture information in which the texture ID is associated with the texture indicated by the texture ID. By referring to the texture information, the game systemcan specify the specific content of the texture set for the material. In other embodiments, as information on rendering setting, any information regarding setting of shading may be set in addition to the texture information. For example, information regarding reflectivity, normal, or the like may be set.

13 FIG. The material data may include data other than the data shown in. For example, the material data may include data regarding sound setting. For example, the data regarding the sound setting may be data that defines the sound of footsteps that is outputted when the player character walks on the voxel object based on the voxel.

The material data may be data of any form capable of specifying the property and/or rendering setting of the material. For example, in other embodiments, the material data may have a data structure including data that directly indicates the property and/or rendering setting of the material, instead of the data structure including the material ID and the texture ID.

1 During the game, the voxel object is deformed when the voxel data is updated. In the exemplary embodiment, when a game event for updating the voxel object (hereinafter referred to as “update event”) has occurred, the game systemupdates the voxel data. The update event may have any content. For example, the update event may be that a character that appears in the game has performed an action to deform the voxel object (e.g., the player character has punched the voxel object), or may be that an event that deforms the voxel object has occurred (e.g., contact of an object thrown by a character with the voxel object, or explosion of a bomb).

13 FIG. 13 FIG. 13 FIG. 201 202 202 201 202 201 shows an example of a game space when an update event has occurred. In the situation shown in, a player characterhas performed a punching action to a terrain objectthat is a voxel object. As will be described in detail below, in the example shown in, the voxel data is updated such that the terrain objectat and around a position hit by the punching action of the player characteris deleted. This represents how the terrain objectis destroyed by the punching action of the player character.

1 203 203 201 203 201 13 FIG. 13 FIG. 13 FIG. In the exemplary embodiment, when such an update event has occurred, the game systemsets, in the game space, an update range in which the voxel object is updated (in the example shown in, an update range). The position, shape, and size of the update range are discretionary. The position of the update range may be determined based on, for example, a position at which an object regarding the generated update event (e.g., the player character that has punched) comes into contact with the voxel object. In the example shown in, the position of the update rangemay be determined based on a position that is hit by the punch of the player character. For example, the hit position, or a position a predetermined distance ahead of the hit position may be a center position of the update range. The shape and size of the update range may be determined in advance according to the type of the update event. For example, when an update event due to a punch of the player characterhas occurred, the shape and size of the update range may be determined to be a sphere having a predetermined size as shown in. The size of the update range may be determined based on a value indicating the degree of influence of the generated update event (e.g., the intensity of the punch, or the magnitude of the explosion).

1 1 The game systemchanges the density of a voxel corresponding to the set update range. The voxel corresponding to the update range is, for example, a voxel within the update range or a voxels overlapping the update range. As a result of the change in the density, the mesh of the voxel object is changed by a process described below, thereby changing the shape of the voxel object (the shape by appearance, and the shape used for contact determination). In other embodiments, in addition to changing the density of the voxel included in the update range, the game systemmay change the material in the voxel (e.g., the first material, the second material, and the material mixing ratio), or may change the state in the voxel.

1 1 14 FIG. 14 FIG. 14 FIG. In the exemplary embodiment, the game systemdetermines whether or not a voxel is included in the update range, by using an SDF (Signed Distance Field). The game systemsets an SDF indicating an update range set in the game space, and performs the aforementioned determination based on the value of the SDF. The SDF represents distances, with signs, of any positions from a shape that the SDF defines.shows an example of the update range. In the example shown in, a spherical update range is set in the game space. For example, in the example shown in, an SDF is set such that, among positions in the game space, positions inside the shape represented by the SDF have negative SDF values, and positions outside the shape represented by the SDF have positive SDF values. In this example, whether or not each position is included in the update range can be determined depending on whether or not the SDF value is positive or negative. In addition, using the SDF values allows not only simple inside/outside determination but also a process such as correction or interpolation.

26 FIG. In the example described above, a change in which the voxel object in the update range is deformed as if it is deleted, is applied to the voxel object. However, a change to be applied to the voxel object by using the update range is not limited thereto. For example, a change in which a voxel object is newly added in the update range (e.g., the volume that an area in the voxel object occupies is increased by the update range) may be applied to the voxel object (seedescribed below). A change in which only the voxel material in the update range is changed while the voxel density is not changed, may be applied to the voxel object. A change in the voxel density and a change in the voxel material may be integrally applied.

1 When the voxel density has been updated as described above, the game systemsets vertices based on the updated voxel data. The vertices can be vertices of a mesh of a voxel object. As will be described in detail below, in the exemplary embodiment, the vertices are simplified, and the simplified vertices become the vertices of the mesh of the voxel object.

15 FIG. 15 17 FIGS.to 19 24 1 shows an example of a method for setting vertices. In, andto, voxels, vertices, meshes, etc., are represented in two dimensions for the purpose of making the drawings easily viewable, and the description easily understandable. However, in actuality, vertices and meshes are set in a three-dimensional space, based on voxels in the three-dimensional space. In the exemplary embodiment, the game systemexecutes a method in which, for a portion where a voxel having a density that is set to a value indicating “existence” (e.g., a density equal to or greater than a reference value described below) is adjacent to a voxel having a density that is set to a value indicating “nonexistence” (e.g., a density less than the reference value described below), a vertex is set at coordinates based on the positions and densities of a plurality of neighboring voxels around the portion. Hereinafter, this method will be described in detail.

0 255 0 255 0 1 128 211 0 212 100 128 213 214 150 210 1 212 212 212 212 212 15 FIG. 15 FIG. 15 FIG. As described above, in the exemplary embodiment, the density set for a voxel is in the range of 0 to 255. A voxel having a density ofis completely empty, and a voxel having a density ofis completely filled up. Densities betweenandare complementarily treated, and are used for determining a vertex. In the exemplary embodiment, voxels are virtually treated such that voxels whose densities are equal to or greater than a reference value are inside a voxel object, and voxels whose densities are less than the reference value are outside the voxel object. It is also possible to virtually treat voxels such that voxels whose densities are equal to or greater than the reference value are voxels indicating “existence”, and voxels whose densities are less than the reference value are voxels indicating “nonexistence”. It is not necessary to define only voxels having a density ofas being outside the voxel object (e.g., reference value =), and the reference value may be set to, for example,. In the example shown in, a voxeland the other outer voxels have a density of, a voxelhas a density ofwhich is less than the reference value (e.g.,), and voxels,respectively have densities of,which are greater than the reference value. In the exemplary embodiment, the game systemgenerates vertices between the voxels whose densities are equal to or greater than the reference value and the voxels whose densities are less than the reference value. Specifically, for each region (region delimited by dotted lines) that straddles eight (four in the figure) adjacent voxels, it is determined whether or not to generate a vertex. That is, a vertex is generated in each region that straddles both a voxel whose density is equal to or greater than the reference value and a voxel whose density is less than the reference value. The coordinates of each vertex are determined by comparing the densities of adjacent voxels and performing interpolation based on the difference in density for each of the XYZ axes. Normal information that defines positions and directions of straight lines connecting the vertices may be set in advance, whereby the coordinates of each vertex can be calculated based on the normal information. The normal information may be stored in advance for at least some of the voxels, or if not stored, the normal information may also be calculated based on the densities between adjacent voxels. In, since the density of the voxelis less than the reference value, the voxelis treated as being outside the voxel object in the determination of presence/absence of a vertex, but the density value itself of the voxelis used to calculate the coordinates of the vertices to be generated. If the reference value is set to a value lower than the density of the voxel, it would result in an increase in the vertices on the upper right side and the upper left side in the voxelshown in.

0 255 By setting the vertices as described above, it is possible to generate a shape whose volume is based on (e.g., reflects) the density of each voxel to some extent, in generating a mesh connecting the set vertices (or vertices obtained by subjecting the set vertices to a simplification process described below). However, depending on the relationship with the neighboring voxels, a voxel having a density ofmay partially include a region inside the voxel object, or a voxel having a density ofmay partially include a region outside the voxel object. In the exemplary embodiment, since voxels having densities less than the reference value are treated as being outside the voxel object, there are fewer vertices as compared with a case where those voxels are treated as being inside the voxel object, and the volume will be smaller accordingly. That is, there is no need to calculate the polygon mesh so that the volume strictly corresponds to the density value.

Note that calculation of vertices may use intersection information. The intersection information indicates a three-dimensional position and direction in a space where a voxel is set. As will be described in detail below, when such intersection information is set, vertices are set such that a polygonal plane formed by a plurality of vertices ideally includes the position indicated by the intersection information and is perpendicular to the direction indicated by the intersection information. The “polygonal plane formed by a plurality of vertices” is a plane that becomes a plane of a mesh of a voxel object when simplification described below is not performed for the vertices. By setting the intersection information, the shape of the mesh of the voxel object can be defined in more detail. Hereinafter, for convenience, the coordinates of the position indicated by the intersection information are referred to as “intersection coordinates”, and the direction indicated by the intersection information is referred to as “normal direction”. However, as described below, the plane formed by determined vertices may not include the position of the intersection coordinates, or may not be perpendicular to the normal direction.

16 FIG. 16 FIG. 15 FIG. 16 FIG. 16 FIG. 213 is a view showing an example of a method for determining vertices in the case where intersection information is set.shows an example in which intersection information is set for the voxelshown in. As shown in, intersection coordinates indicated by the intersection information are set on a line connecting voxels, more specifically, for example, on a line connecting the center of a voxel and the center of a voxel adjacent to the voxel. A normal direction indicated by the intersection information is a direction at the position of the intersection coordinates. As shown in, the intersection coordinates and the normal direction indicated by the intersection information can be represented as a vector that starts from the position of the intersection coordinates and extends in the normal direction.

Note that intersection information may not necessarily be set for all voxels, and may be set for some of the voxels in the voxel space. For example, intersection information is set for a voxel around which vertices are set. More specifically, when there exists a voxel with a density equal to or greater than the aforementioned reference value and a voxel, adjacent to this voxel, with a density less than the reference value, intersection information is set for either of these voxels. In this case, intersection coordinates are set on a line connecting the center of the voxel with the density equal to or greater than the reference value and the center of the voxel with the density less than the reference value.

16 FIG. 16 FIG. 215 216 213 219 217 215 218 216 When such intersection information is set, vertices are set such that a polygonal plane formed by a plurality of vertices ideally includes the position of the intersection coordinates and is perpendicular to the normal direction. In the example shown in, two pieces of intersection information represented as a vectorand a vectorare set for the voxel. In this case, a vertexis set at a position on a planedefined by the first intersection information represented as the vectorand on a planedefined by the second intersection information represented as the vector. The “plane defined by intersection information” is a plane that passes through the position of intersection coordinates indicated by the intersection information and is perpendicular to the normal direction indicated by the intersection information. Since the example shown inis two-dimensional, the elements defined by the intersection information are represented as lines. However, since the voxel space is three-dimensional, in actuality, planes are defined by the intersection information.

17 FIG. 16 FIG. 17 FIG. 16 FIG. 17 FIG. 16 FIG. 17 FIG. 16 FIG. 215 216 215 216 213 219 217 215 218 216 219 213 219 219 219 219 is a view showing an example of a method for determining vertices in the case where intersection information different from that shown inis set. In the example shown in, two pieces of intersection information represented as vectors’ and’, different from the vectorsandshown in, are set for the voxel. In this case, a vertex’ is set at a position on a plane’ defined by the first intersection information represented as the vector’ and on a plane’ defined by the second intersection information represented as the vector’. The vertex’ shown inis set at a position farther from the center of the voxelthan the vertexshown in, and the angle of the vertex’ is smaller than the angle of the vertex. In the example shown in, the mesh of the voxel object has a sharper shape than the example shown inat the position of the vertex’.

16 FIG. 17 FIG. As shown inand, by setting intersection information, it is possible to generate meshes of voxel objects so as to have different shapes even if the same density is set for the voxels. In a method for determining vertices based on the densities without using intersection information, it is sometimes difficult to define the detailed shape of a mesh as intended by the developer. In the above method, for example, it is difficult to make a corner of a mesh of a voxel object have a sharp shape, or to make a corner of a mesh of a cuboidal voxel object be a corner where three planes are perpendicular to each other. In contrast, by setting intersection information and determining vertices using the intersection information, it becomes easier to define the shape of a mesh in more detail, making it easier to achieve the intended shape.

1 1 16 FIG. If a plurality of pieces of intersection information are set, it may be impossible to set vertices so as to satisfy all conditions based on the respective pieces of intersection information. In other words, it may be impossible to set vertices such that a polygonal plane formed by a plurality of vertices includes the positions of the intersection coordinates indicated by the intersection information and is perpendicular to the normal directions indicated by the intersection information. Therefore, in the exemplary embodiment, the game systemsets a vertex such that an error between a plane defined by intersection information and the vertex is minimized. Thus, a plane of a mesh generated based on the set vertex is arranged facing the normal direction at the position of intersection coordinates, or is arranged such that an error from the arrangement is minimized. The specific method for determining a vertex is discretionary. For example, the game systemsets a vertex such that the sum of the squared distances between a plane defined by intersection information and the vertex is minimized. The vertex may be set within a predetermined range based on the position of the voxel for which intersection information is set. In this case, a vertex may be set at a position where an error is minimized within the predetermined range. The predetermined range is, for example, the range of a vertex division region described below, including the center of the voxel for which intersection information is set (in the example shown in, a square range shown by broken lines).

1 1 1 1 1 When vertices are determined using intersection information, the game systemmay determine, for a voxel for which intersection information is not set, vertices based on intersection coordinates and normal direction that are set based on the density of the voxel. In other words, the game systemmay set, based on the density, intersection coordinates and normal direction similar to those indicated by intersection information, and may determine vertices using the set intersection coordinates and normal direction in a manner similar to the vertex determination method based on intersection information set for the voxel. The method for setting intersection coordinates and normal direction based on density is discretionary. The intersection coordinates and normal direction may be calculated based on the densities of two voxels, the centers of which are located at both ends of a line on which the intersection coordinates are set. For example, the game systemmay calculate the value of density at each position on the line connecting the centers of the two voxels by interpolating the densities of the voxels, and may determine, as the position of intersection coordinates, the position where the density is an intermediate value (e.g., 127.5) in the range of possible density values. Also, for example, the game systemmay calculate a density slope based on the densities set for the voxel and neighboring voxels, and use the slope as the normal direction. In the exemplary embodiment, both the intersection coordinates and the normal direction are calculated based on the densities set for the voxels. In other embodiments, the game systemmay calculate only the intersection coordinates based on the densities, and determine vertices using the calculated intersection coordinates and intersection information.

1 18 FIG. The game systemstores therein intersection information data indicating intersection information to be set.is a view showing an example of the intersection information data. In the exemplary embodiment, the intersection information data is data indicating intersection information to be set for each voxel. Intersection information is associated with any of voxels in the game space. For example, information (e.g., coordinate information) indicating a position in a grid that is set at the same position and with the same size as a grid of a voxel in the game space is associated with the intersection information, whereby the intersection information may be associated with one voxel in the game space. As described above, intersection information may be set for some voxels, and there may be voxels for which intersection information is not set.

18 FIG. In the exemplary embodiment, for one voxel, pieces of intersection information set in three directions from the voxel are associated with this voxel (see). Specifically, when axes extending in three directions in which voxels are lined up in the game space are xyz axes, the voxel is associated with first intersection information set on a line extending to the x-axis positive side from the center of the voxel, second intersection information set on a line extending to the y-axis positive side from the center of the voxel, and third intersection information set on a line extending to the z-axis positive side from the center of the voxel. One voxel may not necessarily be associated with the three pieces of (first to third) intersection information, and may be associated with one or two pieces of intersection information. One piece of intersection information includes information on intersection coordinates and normal direction. Intersection information may be information in any format. For example, intersection information may include: information indicating three-dimensional coordinates that represent the intersection coordinates; and information indicating three vectors obtained when the normal direction is expressed as components regarding predetermined three axial directions. In order to further reduce the amount of data, information indicating the normal direction may be composed of: information on two vectors regarding two axial directions out of the three axial directions; and information on a value indicating the direction (positive direction or negative direction) regarding the remaining one axial direction.

1 As described above, in the exemplary embodiment, the game systemstores therein intersection information data separately from voxel data. In other embodiments, intersection information data may be stored as part of voxel data. For example, voxel data may include intersection information data indicating three pieces of intersection information associated with the corresponding voxel.

1 1 The game systemdetermines a material for each of the vertices set as described above. The material of the vertex is determined based on materials regarding voxels around this vertex. The voxels around the vertex are, for example, voxels used for determining whether or not to generate the vertex (e.g., voxels overlapping the aforementioned region that straddles voxels). The method for determining a material for a vertex is discretionary. For example, in the exemplary embodiment, the game systemselects a predetermined number (e.g., at most two types) of materials out of the materials set for the neighboring voxels, and determines the selected materials as materials for the vertex.

1 1 In the exemplary embodiment, the game systemsimplifies the vertices calculated as described above. That is, the game systemreplaces some of the vertices calculated as described above with one vertex to decrease the number of vertices. As will be described in detail below, the coordinates (e.g., position) and the material of the replacing vertex are set based on a plurality of vertices before replacement. Such simplification can reduce the numbers of vertices and polygons that form a mesh of a voxel object, thereby reducing the amount of memory used for processing, and reducing the processing load.

1 19 FIG. 19 FIG. 15 17 FIG.to 19 FIG. In the exemplary embodiment, the game systemperforms simplification by representing vertices using SVO (Sparse Voxel Octree).shows an example of vertex simplification. In, one square delimited by solid lines in (a) represents one vertex division region. Here, the vertex division region is a square region with a center position of a voxel being a vertex (in an actual three-dimensional space, the vertex division region is a cube or a rectangular parallelepiped), and corresponds to a region with the dotted lines being sides shown in. In, each vertex division region having a character “v” inside is a vertex division region in which a vertex is set.

1 17 FIG. In the exemplary embodiment, the game systemdetermines whether or not simplification can be performed with respect to the vertices in a predetermined number of (four in, and eight in an actual three-dimensional space) vertex division regions adjacent to each other. If the determination result is that simplification can be performed, simplification is performed for the vertices in the predetermined number of vertex division regions.

19 FIG. 19 FIG. 19 FIG. 1 In, (a) shows the state before simplification is performed. In the example shown in, it is determined that simplification can be performed for vertex division regions within a range surrounded by dotted lines. In this case, the game systemperforms simplification such that the vertices in the predetermined number of vertex division regions determined to be simplified are replaced with one vertex (see (b) of). Thus, the vertices in the predetermined number of vertex division regions are simplified to one vertex.

1 19 FIG. 19 FIG. 19 FIG. 19 FIG. 19 FIG. In the exemplary embodiment, the game systemperforms simplification in a plurality of stages. The number of the stages is discretionary. In, first and second stages are shown and described. In, (b) shows the state in which the first-stage simplification has been performed, and (c) shows the state in which the second-stage simplification has been performed. In the second-stage simplification, whether or not simplification can be performed is determined for vertices that are generated by the first-stage simplification. In the example shown in, when the determination result is that the vertex division regions within a range surrounded by dotted lines in (b) ofcan be subjected to simplification, the vertices in the vertex division regions are simplified, resulting in the state shown in (c) of. The condition for determining whether or not the first-stage simplification can be performed and the condition for determining whether or not the second-stage simplification can be performed may be the same or different from each other.

The specific method for determining whether or not simplification can be performed is discretionary. In the exemplary embodiment, as conditions for the above determination, a condition regarding the shape of the voxel object and a condition regarding the material of the voxel object are used. In the exemplary embodiment, if both the condition regarding the shape of the voxel object and the condition regarding the material of the voxel object are satisfied, it is determined that simplification can be performed. If at least one of the condition regarding the shape of the voxel object and the condition regarding the material of the voxel object is not satisfied, it is determined that simplification cannot be performed.

The condition regarding the shape is, for example, that there is no significant change between the shape due to the vertices before the simplification and the shape due to the vertices after the simplification. For example, determination as to whether or not there is a significant change in the shape due to the vertices before and after the simplification may be performed by calculating an index indicating an error between the mesh before the simplification and the mesh after the simplification, and determining whether or not the index is equal to or smaller than a predetermined allowable value. Furthermore, for example, if the shape due to the vertices after the simplification is not a hollow shape while the shape due to the vertices before the simplification is a hollow shape (e.g., the simplification causes missing of information that the shape is hollow), it is determined that the condition regarding the shape is not satisfied. Whether or not the aforementioned case will occur can be determined based on, for example, the densities of voxels corresponding to the vertex division regions to be subjected to the determination. Moreover, for example, if the shape due to the vertices before the simplification can be represented only by two or more vertices, e.g. it cannot be represented by one vertex, it is determined that the condition regarding the shape is not satisfied. As the condition regarding the shape of the voxel object, the same condition as that used for the conventional method with the SVO may be used.

20 FIG. 20 FIG. 20 FIG. 20 FIG. 221 224 221 224 2 221 224 2 221 224 221 224 3 221 224 In the exemplary embodiment, as the condition regarding the material, a condition regarding the number of types of materials to be set for the vertices in the predetermined number of vertex division regions to be subjected to simplification, is used.shows an example of the condition regarding the material. In, (a) shows a case where the materials of verticestoare “grass”, “grass”, “grass and soil”, and “grass and soil”, respectively, and (b) shows a case where the materials of the verticestoare “grass and sand”, “grass”, “grass and soil”, and “grass and soil”, respectively. In the exemplary embodiment, the condition regarding the material is that the total number of the types of materials set for the vertices to be subjected to simplification is equal to or less than a predetermined number. For example, the condition regarding the material is that the total number is equal to or less than the number of materials that can be set for one vertex. In the exemplary embodiment, the predetermined number is. For example, in the case of (a) of, since the total number of the types of materials set for the verticestoto be subjected to simplification is(e.g., grass and soil), the condition regarding the material is satisfied. In this case, it is determined that the verticestocan be subjected to simplification on the condition that the aforementioned condition regarding the shape of the object is satisfied. On the other hand, in the case of (b) of, since the total number of the types of materials set for the verticestoto be subjected to simplification is(e.g., grass, soil, and sand), the condition regarding the material is not satisfied. In this case, it is determined that the verticestocannot be subjected to simplification regardless of whether or not the condition regarding the shape of the object is satisfied.

1 1 In the game system, multiple types of materials to which the same property is set and which are different in appearance may be prepared even though these materials should strictly be classified into different types. Some of the multiple types of materials may be regarded as being of the same type in determining whether the condition regarding the material is satisfied. For example, multiple types of soil materials having the same property and similar appearances (e.g., texture colors or patterns) may be prepared. In this case, the game systemmay determine whether the condition regarding the material is satisfied while regarding the multiple types of soils as being of the same type.

In the exemplary embodiment, at most two types of materials can be set for a vertex as in the case of a voxel. Meanwhile, in the exemplary embodiment, if the total number of the types of materials set for the vertices to be subjected to simplification is three or more, simplification is not performed. That is, if the total number of the types of materials exceeds the number of materials that can be set for one vertex, simplification is not performed. Therefore, even when the number of vertices is reduced through simplification, the simplification does not cause missing of information on the materials set for the vertices, thereby maintaining the information on the materials.

1 In the exemplary embodiment, a material of the vertex after the simplification is determined based on the materials of the vertices before the simplification. Specifically, the game systemsets the one or two types of materials set on the vertices before the simplification, as the first material and the second material of the vertex after the simplification. This allows the information on the materials to be maintained. The ratio of the materials after the simplification is determined based on the ratio of the materials of the vertices before the simplification.

21 FIG. 21 FIG. 21 FIG. 1 In the exemplary embodiment, a mesh of a voxel object is generated based on vertices having been simplified as described above.shows an example of a mesh generated based on such vertices. Each of squares shown inrepresents a vertex division region as described above, or a vertex division region obtained by integrating a plurality of vertex division regions through simplification. As shown in, the game systemgenerates a mesh that is composed of polygonal shapes each having, as one side, a straight line connecting vertices of adjacent vertex division regions. Each of the polygonal shapes forming the mesh is a triangle or a quadrangle.

1 1 In the exemplary embodiment, the game systemgenerates two types of meshes – e.g., a display mesh and a determination mesh. The display mesh is a mesh used for displaying a voxel object. The determination mesh is a mesh used for collision determination for a voxel object. As will be described in detail below, by using the two types of meshes, the game systemcan perform processing with the meshes suitable for display of the voxel object and collision determination, respectively.

1 1 In the exemplary embodiment, the game systemgenerates the display mesh and the determination mesh, based on data of the SVO described above (e.g., based on the simplified vertices). Thus, sharing vertex data in generating the two types of meshes improves efficiency of processing. In other embodiments, the game systemmay not necessarily perform simplification of vertices, and may generate a display mesh and/or a determination mesh, based on vertices that are not simplified.

1 1 1 In the exemplary embodiment, the game systemgenerates the determination mesh so as to be simpler in shape than the display mesh. Specifically, the game systemmakes the number of vertices of the determination mesh less than the number of vertices of the display mesh. Here, in the exemplary embodiment, the data of the SVO holds, in an octree data structure, data of vertices before simplification and data of simplified vertices, and also includes data used for determining whether or not simplification can be performed. This data includes, for example, data of vertices (referred to as “provisional vertices”) calculated as candidates for a vertex after simplification, and data of the aforementioned index indicating an error between the vertices before simplification and the provisional vertices. For example, the game systemmay use, among the provisional vertices, a vertex the index of which is equal to or less than a predetermined threshold value (this threshold value is greater than the aforementioned allowable value), for generation of the determination mesh. This allows the number of vertices of the determination mesh to be less than the number of vertices of the display mesh. The number of vertices of the determination mesh being less than the number of vertices of the display mesh allows a reduction in processing load for collision determination. Moreover, since the number of vertices of the display mesh is not excessively reduced, the appearance of the voxel object can be represented in detail.

In other embodiments, the display mesh and the determination mesh may be generated based on the same data, or may be generated based on different data. The display mesh and the determination mesh may have the same shape (even in this case, materials set for these meshes may be different from each other). The number of vertices of the determination mesh may be equal to the number of vertices of the display mesh, or may be greater than the number of vertices of the display mesh.

1 1 1 The game systemdetermines a material for each of polygons of a mesh. A material of a polygon is determined based on a material set for each of vertices of the polygon. The specific method for determining a material of a polygon is discretionary. In the exemplary embodiment, as for a polygon of a display mesh, the game systemselects at most two types of materials from among the materials set for the vertices of the polygon, and determines the selected materials as materials of the polygon. As for the polygon of the display mesh, at most two types of materials are set for each of the vertices of the polygon, and the polygon is rendered based on the materials set for each vertex. As for a polygon of a determination mesh, the game systemselects one type of material from among the materials set for the vertices of the polygon, and determines the selected material as a material of the polygon.

1 1 As described above, in the exemplary embodiment, a display mesh and a determination mesh are set for one voxel object. However, depending on the game situation, both the display mesh and the determination mesh may not necessarily be set for one voxel object at the same time (e.g., both the meshes may not necessarily be set in processing one frame). For example, in the game space, the determination mesh may be generated in a range where collision determination is performed, and may not necessarily be generated in a range where collision determination is not performed. As an example, the game systemmay generate the determination mesh for voxel objects within a predetermined range around the player character. For voxel objects outside the predetermined range, the game systemmay generate only the display mesh without generating the determination mesh.

1 1 1 As for the display mesh, the game systemmay store data regarding the generated mesh in a memory. In frames after generation of the mesh, the game systemmay use the stored data without executing the mesh generating process again, except for a range where an update is performed. This can decrease the processing load for generating the display mesh. Meanwhile, as for the determination mesh, the game systemmay not necessarily store data regarding the generated mesh in the memory, and may generate a mesh on an as-needed basis (e.g., each time collision determination is required). This saves memory use for generation of the mesh.

The method for, when voxel data has been changed from its initial state, generating meshes (e.g., a display mesh and a determination mesh) based on the changed voxel data, has been described above. This method can also be used for a case where the meshes are generated based on the voxel data in the initial state when a game is started, for example. However, the meshes based on the voxel data in the initial state may not necessarily be generated based on the voxel data in the initial state when the game is started, and may be prepared in advance of starting the game.

Next, an example of processing using a mesh generated for a voxel object as described above will be described. Hereinafter, a description will be given of a case where a terrain object such as the ground or a wall is a voxel object, a player character performs an action, and an in-game behavior is generated as a result of collision determination.

22 FIG. 22 FIG. 22 FIG. 251 251 1 201 1 201 201 201 shows an example of a game image representing a state in which a player character moves on a terrain object. In the example shown in, a material of polygons in partial regionsin a determination mesh of the terrain object being the ground is set to “lava”. Meanwhile, a material of polygons other than those in the regionsin the determination mesh of the terrain object is set to “rock”. In the example shown in, the game systemperforms collision determination between the terrain object and the player characterby using the determination mesh. That is, the game systemperforms collision determination as to whether or not the determination mesh of the terrain object comes into contact with a determination region set for the player character (e.g., a region having a predetermined shape that is set based on the position of the player character). When a collision between the polygon whose material is lava and the player characterhas been determined, a process of reducing the hit points of the player characteris performed as a process of generating an in-game behavior. Moreover, in the above case, a process of causing the player characterto perform a predetermined reaction is performed.

1 In the exemplary embodiment, regarding the lava material, a property of reducing the hit points of the player character that has come into contact with the material (e.g., a property of having a temperature equal to or higher than a predetermined value) is set as property information included in the aforementioned material data. The game systemgenerates an in-game behavior (in the above example, reduction in the hit points of the player character) based on the property information corresponding to the material set for the polygon in the determination mesh for which a collision has been determined through the collision determination.

201 201 1 When a collision between a polygon whose material is rock and the player characterhas been determined, the process of reducing the hit points of the player character is not performed. Based on the collision, the player characteris controlled so as not to be able to enter the polygon. Therefore, the player character can stand and walk on the polygon. Thus, in the exemplary embodiment, by setting a material for each polygon, the game systemcan perform different processes depending on which part of the voxel object another object has come into contact with. In addition, the content of a process to be performed can be matched to the type of the material. In the exemplary embodiment, the player character can change the terrain object (e.g., deform the terrain object, or change the material of the terrain object), and therefore, for example, can delete the lava part of the terrain object, or change the lava to another material. Therefore, by changing the terrain object, the player can avoid a reduction in the hit points of the player character due to contact with the lava.

1 The content of the process to be performed when a collision between the voxel object and another object has been determined, is discretionary. For example, if the other object is a moving object such as the player character or an enemy character, the process may be a process of outputting the sound of footsteps of the object, or displaying an effect (e.g., effect of representing dust or splash of water) on the contact part. In this case, the game systemcan change the sound of footsteps or the effect according to the type of the material set for the polygon, in the contact part, of the voxel object.

23 FIG. 23 FIG. 201 202 202 252 252 1 202 252 shows an example of a game image representing a state in which the player character pulls out a fragment object from the terrain object. As shown in, in the exemplary embodiment, the player, through a predetermined operation input, can cause the player characterto perform an action of holding the terrain object, pulling out a part of the terrain objectas a fragment object, and grasping the fragment object(hereinafter referred to as “pull-out action”). The game systemdeletes the part of the terrain objectand generates the fragment objectas an in-game behavior caused by the pull-out action.

1 1 1 253 253 1 253 202 253 253 253 23 FIG. In performing the pull-out action, specifically, the game systemexecutes the following process. That is, when an operation input that causes the player character to perform the pull-out action has been performed by the player, the game systemcauses the player character to perform an action of digging forward and holding, and performs collision determination. Then, when a collision between the player character performing the pull-out action and the terrain object has been determined, the game systemgenerates an update rangebased on the position and direction of the player character. For example, the update rangeis generated in a predetermined direction (e.g., forward) with reference to the player character. The shape and size of the update range may be determined in advance according to the type of the action of the player character. Furthermore, the game systemdecreases the densities of voxels corresponding to the update range. Then, update of the mesh according to the decrease in densities of the voxels causes the terrain objectto be deformed such that the part inside the update rangeis deleted (see (b) of). In the exemplary embodiment, the densities of the voxels corresponding to the update rangeare decreased. However, voxels whose densities are to be decreased may be at least part of the voxels corresponding to the update range.

253 253 253 1 253 In the exemplary embodiment, the voxel object corresponding to the update rangeis unconditionally deformed due to the pull-out action. In other embodiments, the voxel object corresponding to the update rangemay be deformed on the condition of the amount of damage set for the voxels. For example, instead of unconditionally deforming the voxel object corresponding to the update range, the game systemmay increase the amount of damage set for the voxels corresponding to the update range, and decrease the densities of the voxels in response to the amount of damage having exceeded a predetermined value. In this case, the amount of increase in the damage may be determined according to the action performed to the voxel object.

1 252 202 1 252 252 202 252 202 252 The game systemgenerates the fragment objectrepresenting the deleted part of the terrain object. That is, based on the pull-out action, the game systemgenerates the fragment objectin the state of being held by the player character. The fragment objectmay be generated so as to have a shape corresponding to the deleted part of the terrain object, or a predetermined shape. The fragment objectmay or may not be a voxel object. When the fragment object is a voxel object, a voxel space different from the voxel space of the voxels corresponding to the terrain objector the like is defined for the fragment object.

1 252 252 253 202 252 253 252 252 252 201 202 The game systemdetermines a material of the fragment object. The material of the fragment objectis determined based on materials set for polygons in a determination mesh that comes into contact with the update rangeamong determination meshes of the terrain object. The material of the fragment objectis determined to be the same as at least one of the materials set for the polygons in the determination mesh that comes into contact with the update range. Thus, the material of the fragment objectcan be made identical to the material of the deleted part of the terrain object. As is apparent from the above description, the fragment objectis actually not a part of the terrain object. However, since the fragment objectis generated simultaneously with deletion of a part of the terrain object and takes over the material of the deleted part of the terrain object, an impression that the player charactertakes out a part of the terrain objectby a pull-out action can be given to the player.

1 252 253 253 252 252 253 252 22 FIG. In the exemplary embodiment, priorities are set for the types of materials prepared, and the game systemdetermines, as a material of the fragment object, a material having the highest priority among the materials set for the polygons of the determination mesh in the update range. Here, for example, a case where the determination mesh in the update rangeincludes a polygon whose material is rock and a polygon whose material is lava, is considered. In this case, if the material of the fragment objectis set to lava, there is a possibility of inconvenience that the hit points of the player character are reduced because the player character holds the fragment objectthrough the pull-out action (as described with reference to, the lava material has the property of reducing the hit points of the player character if the player character comes into contact with it). Furthermore, as described above, if the determination mesh in the update rangeincludes polygons for which different types of materials are set, it is difficult for the player to predict a material of the fragment object, and the above inconvenience may occur against the player’s will. Meanwhile, in the exemplary embodiment, since the priorities are given to the materials to be set as a material of the fragment object, the risk of the above inconvenience can be reduced.

24 FIG. 24 FIG. 24 FIG. 201 1 202 255 1 202 202 255 201 202 shows an example of a game image representing a state in which a fragment object is generated because the player character has destroyed the terrain object. As shown in, in the exemplary embodiment, the player, through a predetermined operation input, can cause the player characterto perform a punching action. As in the case of the aforementioned pull-out action, the game systemdeletes a part of the terrain objectand generates a fragment object, as an in-game behavior caused by the punching action. Specifically, the game systemdeforms the terrain objectsuch that a part of the terrain objectis deleted. In the case of the punching action, unlike the aforementioned pull-out action, the fragment objectis not held by the player characterbut is disposed near the position where the punching action has been performed (see (b) of). Such a fragment according to destruction of the terrain objectmay not necessarily be generated.

1 1 1 254 254 254 253 1 254 202 254 254 1 254 254 24 FIG. In performing the punching action, specifically, the game systemexecutes the following process. That is, when an operation input to cause the player character to perform the punching action has been performed by the player, the game systemcauses the player character to perform an action of punching forward, and performs collision determination. Then, when a collision between the player character performing the punching action and the terrain object has been determined, the game systemgenerates an update rangebased on the position and direction of the player character. For example, the update rangeis generated in a predetermined direction (e.g., forward) with reference to the player character. The position, shape, and size of the update rangedue to the punching action may be the same as or different from those of the update rangedue to the pull-out action. Then, the game systemdecreases the densities of voxels corresponding to the update range. Thus, the terrain objectis deformed such that the part inside the update rangeis deleted by the punching action, similarly to the pull-out action (see (b) of). In the case of the punching action, as in the case of the pull-out action, instead of unconditionally deforming the voxel object corresponding to the update range, the game systemmay increase the amount of damage set for the voxels in the update rangeaccording to the punching action, and decrease the densities of the voxels in response to the amount of damage having exceeded a predetermined value. In addition, the voxels whose densities are to be decreased by the punching action may be at least part of the voxels corresponding to the update range.

1 255 202 1 255 255 202 255 The game systemgenerates a fragment objectcorresponding to the deleted part of the terrain object. That is, based on the punching action, the game systemgenerates the fragment objectin the state of not being held by the player character (e.g., in the state of being disposed near the position where the punching action has been performed). The fragment objectmay be generated so as to have a shape corresponding to the deleted part of the terrain object, or a predetermined shape. The fragment objectmay or may not be a voxel object.

1 255 255 254 202 255 254 255 255 The game systemdetermines a material of the fragment object. The material of the fragment objectis determined based on materials set for polygons in a determination mesh that comes into contact with the update rangeamong the determination meshes in the terrain object. The material of the fragment objectis determined to be the same as at least one of the materials set for the polygons in the determination mesh that comes into contact with the update range. Thus, the material of the fragment objectcan be made identical to the material of the deleted part of the terrain object. Since the fragment objectis generated simultaneously with deletion of a part of the terrain object and takes over the material of the deleted part of the terrain object, an impression that a part of the terrain object destroyed due to a punching action of the player character is generated as a fragment object can be given to the player.

255 254 In the exemplary embodiment, the material of the fragment objectis set to a material having the greatest degree of decrease in voxel density among the materials set for the polygons in the determination mesh that comes into contact with the update range. This allows generation of a fragment object in which the material composition of the part, of the terrain object, deleted due to the punching action is more accurately shown (e.g., reflected).

The method for determining a material of a fragment object to be generated due to the pull-out action or the punching action is discretionary. For example, the method for determining a material of a fragment object may be the same between the pull-out action and the punching action. Moreover, for example, among the materials set for the polygons of the determination mesh in the update range, a material that is set for the largest number of polygons may be determined as a material of the fragment object. Alternatively, for example, a material that is set for a polygon satisfying a predetermined condition (e.g., a polygon in a position that comes into contact with a hand of the player character performing the pull-out action or the punching action) among the polygons of the determination mesh in the update range, may be determined as a material of the fragment object. In other embodiments, a plurality of types of materials may be set for the fragment object.

252 255 1 In the exemplary embodiment, the player can cause the player character to perform an action of throwing the fragment objectorgenerated as described above (hereinafter referred to as “throwing action”). The player, through a predetermined operation input, can cause the player character to perform an action of holding a fragment object that is generated according to the punching action and placed on the ground. The pull-out action or the action of holding the fragment object after the punching action causes the player character to be in the state of holding the fragment object. In this state, the game systemcauses the player character to perform an action of throwing the fragment object in a predetermined direction, as the throwing action according to the operation input performed by the player.

25 FIG. 25 FIG. 25 FIG. 201 261 201 1 262 263 shows an example of a game image of a scene in which a throwing direction is determined while the player character takes a throwing posture, in the state where a throwing action by the player character is possible. As shown in, in the state where the player characteris holding a fragment object, the player charactercan perform a throwing action. In this state, as shown in, the game systemdisplays an aim image(e.g., a reticle) and an object information imageon the image showing the game space, as a process of generating an in-game behavior.

262 1 261 201 262 1 1 262 264 1 264 262 262 The aim imageindicates a direction (or aim direction) in which the fragment object is thrown due to the throwing action. That is, in response to an operation input performed by the player for the throwing action, the game systemmoves the fragment objectfrom the position of the player charactertoward a position, in the game space, indicated by the aim image. The aim direction is controlled based on an operation input performed by the player. For example, the game systemmay change the aim direction in response to an operation input for changing the direction of a virtual camera. Specifically, the game systemmay control the virtual camera according to the operation input such that the virtual camera rotates and moves around the player character while maintaining a state in which the player character is within a field-of-view range, and may control the aim direction to be a direction according to the field-of-view direction of the virtual camera. In this case, the aim imagepointing a position where a terrain objectintersects a straight line extending in the aim direction from the position of the player character, is displayed. Specifically, the game systemperforms collision determination between the aim direction (e.g., the straight line extending in the aim direction) and the determination mesh of the terrain object, and displays the aim imagewhen a collision has been determined. The aim imageis arranged so as to point the position of a polygon, in the determination mesh, which intersects the straight line extending in the aim direction.

262 262 262 262 The aim imageallows the position at which the fragment object comes into contact with the voxel object due to the throwing action of the player character to be presented to the player. This allows the player to easily perform the operation for the throwing action. The specific control method for the aim direction and the aim imageis discretionary, and a conventional method may be used. For example, in other embodiments, in the state where the aim imageis displayed, the aim imagemay be displayed in a game image in a first-person viewpoint in which the player character is not displayed.

In the state where the player character takes a posture to throw the fragment object, an action of throwing the fragment object to the aim direction is performed in response to a predetermined operation input performed by the player.

263 264 262 263 262 263 263 263 262 25 FIG. The object information imageindicates information regarding the terrain objectat the position pointed by the aim image. In the exemplary embodiment, the object information imageindicates the name of the material (“rock” in the example shown in) set for the polygon of the determination mesh at the position pointed by the aim image. Thus, the material of the voxel object with which the fragment object thrown by the throwing action comes into contact can be presented to the player. In addition, the object information imageindicates information regarding the property (here, hardness) of the material. Thus, the property of the voxel object with which the fragment object thrown by the throwing action comes into contact can be presented to the player. The object information imagemay have any content. For example, in other embodiments, the object information imagemay indicate any property regarding the material that is set for the polygon at the position pointed by the aim image, or may indicate the state of the polygon (e.g., the amount of damage described above). In the exemplary embodiment, since one type of material is set for the polygon of the determination mesh, the material corresponding to the aim position is specified to one material. This is suitable for displaying the information regarding the material.

1 264 261 264 264 264 1 264 264 264 265 264 26 FIG. 25 FIG. 26 FIG. 26 FIG. 26 FIG. In the exemplary embodiment, in response to the result of the collision determination indicating that the fragment object thrown by the throwing action has come into contact with the voxel object, the game systemadds a change to the voxel object as an in-game behavior.shows an example of a game image after a change is added to the terrain objectbecause the fragment objecthas come into contact with the terrain objectshown in. In the example shown in, the terrain objectis deformed such that the fragment object is attached to the contact position between the fragment object and the terrain object. Specifically, the game systemgenerates an update range that includes the contact position, and increases the densities of voxels in the update range to deform the terrain objectto the aforementioned shape. For example, the update range may be set to a shape corresponding to the shape of the fragment object, and the terrain objectmay be deformed such that the update range is inside the terrain object. As described above, in the example shown in, an additional partis added to the terrain object before deformation. In the example shown in, the fragment object is deleted in response to that it comes into contact with the terrain object.

265 264 1 265 264 264 A material of a polygon in the additional partis determined based on the material of the fragment object that has come into contact with the terrain object. Specifically, the game systemsets the material of voxels in the update range to be the material of the fragment object. Then, materials of the display mesh and the determination mesh are determined based on the material of the voxels. In this case, since the appearance of the attached additional partcan be made identical to the appearance of the fragment object, an impression that the fragment object is attached to the terrain object(although the terrain objectis deformed in actuality) can be more easily given to the player.

26 FIG. 1 1 In the example shown in, the change added to the voxel object in response to contact of the fragment object with the voxel object is deformation to add the additional part to the voxel object. However, the change to be added to the voxel object is not limited thereto. The change may be a change in voxel density, or a change in material. For example, if the fragment object has a property of explosion, the fragment object may be exploded in response to contact with the voxel object, and in this case, the voxel object may be deformed as if a part of the voxel object is deleted. Specifically, the game systemsets an update range so as to include the contact position, and decreases the voxel density in the update range. In addition, for example, when the material of the voxel object is lava and the material of the fragment object is ice, the material of the voxel object may be changed in response to contact with the fragment object. Specifically, the game systemmay set an update range including the contact position, and change the material being lava, among the materials of voxels in the update range, to obsidian or rock. This allows representation of a state in which the object of lava is cooled by the object of ice and turns into obsidian or rock.

The content of the change may be determined based on the material of the voxel object, the material of the fragment object, or a combination of the material of the voxel object and the material of the fragment object. This allows occurrence of various changes to the voxel object.

1 1 26 FIG. 26 FIG. The game systemmay determine whether or not to perform the above change, based on the material of the voxel object, the material of the fragment object, or a combination of the material of the voxel object and the material of the fragment object. For example, the game systemmay perform the change as shown inin the case where the fragment object whose material is rock comes into contact with the voxel object whose material is rock, and may not necessarily perform the change as shown inwhen the fragment object whose material is rock comes into contact with the voxel object whose material is iron.

In the exemplary embodiment, one type of material is set for each of the polygons of the determination mesh and for the fragment object. If a plurality of types of materials are set for at least either the polygon of the determination mesh or the fragment object, it is difficult to determine the content of a change to be added to the voxel object according to the types of materials of the determination mesh and the fragment object when they come into contact with each other. Meanwhile, in the exemplary embodiment, since one type of material is set for each of the determination mesh and the fragment object that have been determined to be in contact with each other by the collision determination, it is easy to determine the content of a change to be added to the voxel object.

1 27 FIG. 32 FIG. Next, a process of changing the shapes of two voxel objects will be described. In the exemplary embodiment, a correspondence relationship is set between two voxel objects, and one of the voxel objects is deformed in response to deformation of the other voxel object. For example, the game systemgenerates meshes of the voxel objects such that the two voxel objects have mutually complementary shapes. Hereinafter, a process of changing the shapes of two voxel objects for which a correspondence relationship is set will be described with reference toto. In the following description, one of the two voxel objects for which a correspondence relationship is set is referred to as “first correspondence object” and the other voxel object is referred to as “second correspondence object”. The term “correspondence object” refers collectively to both the first correspondence object and the second correspondence object.

27 FIG. 27 FIG. 29 FIG. 27 FIG. 271 273 281 283 271 273 0 is a view showing an example of a game image representing a game space in which first correspondence objects are placed. In the example shown in, three first correspondence objectstoare placed in the game space. Second correspondence objects (objectstoshown in) are set for the first correspondence objectsto, respectively. In the state shown in, the second correspondence objects are not displayed because the density of each voxel isand they do not exist.

27 FIG. 27 FIG. 271 273 271 273 255 In the exemplary embodiment, the respective correspondence objects are voxel objects corresponding to different voxel spaces. That is, a different voxel space is set for each correspondence object. In other embodiments, a plurality of correspondence objects may share a voxel space. In the example shown in, the voxel space for each correspondence object is the aforementioned sub voxel space, which is a rectangular parallelepiped space. In the example shown in, each of the first correspondence objectstohas a shape (hereinafter referred to as “maximum shape”) in which the volume of the internal region is maximum. In other words, the surface and the internal region of the first correspondence object occupy the entire voxel space. In this case, the density of each voxel in the first correspondence objectstois an upper limit value (specifically,).

27 FIG. 28 FIG. 27 FIG. 24 FIG. 28 FIG. 201 272 272 272 272 In the example shown in, the player characterperforms a punching action to the first correspondence object.is a view showing an example of a game image representing a state after a punching action has been performed from the state shown in. When a punching action is performed to the first correspondence object, the voxel density of the first correspondence objectis decreased, whereby the first correspondence objectis deformed as if a part (or the entirety) thereof is deleted, as in the example shown in(see).

272 1 282 272 1 282 272 282 282 282 282 272 28 FIG. 27 FIG. 28 FIG. In the exemplary embodiment, when the first correspondence objectis deformed as described above, the game systemalso deforms the second correspondence objectcorresponding to the first correspondence object. Specifically, the game systemincreases the voxel density of the second correspondence objectwhen the voxel density of the first correspondence objectis decreased. Thus, as shown in, the second correspondence objectis deformed such that the volume of the internal region thereof is increased. In the example shown inand, the state where the second correspondence objectdoes not exist is changed to the state where the second correspondence objectexists. As will be described in detail below, in the exemplary embodiment, the shape of the added part of the second correspondence objectis the same as the shape of the disappeared part of the first correspondence object.

29 FIG. 28 FIG. 29 FIG. 271 273 271 273 201 271 273 281 283 271 273 281 283 201 is a view showing an example of a game image representing a state after a punching action has been further performed to the first correspondence objectstofrom the state shown in. In the example shown in, each of the first correspondence objectstois deformed as if a part thereof disappears, in response to the punching action by the player character. In this case, in response to deformation of the first correspondence objectsto, the second correspondence objectstoare deformed such that the disappeared parts of the first correspondence objectstoare added to the second correspondence objectsto. If a first correspondence object is small and the entire first correspondence object is included in the update range based on the punching action, the entire first correspondence object disappears in response to the punching action by the player character. In this case, the second correspondence object is deformed so as to have the maximum shape described above.

30 FIG. 29 FIG. 30 FIG. 282 282 1 282 282 272 282 272 282 272 is a view showing an example of a game image representing a state after a punching action has been performed to the second correspondence objectin the state shown in. In the exemplary embodiment, even when a punching action is performed to the second correspondence object, the game systemdeforms the second correspondence objectas if a part of the second correspondence objectdisappears, as in the case of the first correspondence object. In this case, the first correspondence objectcorresponding to the second correspondence objectis deformed. Specifically, the first correspondence objectis deformed such that the disappeared part of the second correspondence objectis added to the first correspondence object(see). As described above, in the exemplary embodiment, even when the second correspondence object is deformed, the corresponding correspondence object is deformed as in the case where the first correspondence object is deformed.

27 FIG. 30 FIG. As described above, in the exemplary embodiment, when one correspondence object is deformed, corresponding another object is also deformed. Thus, for example, by making a certain correspondence object smaller, a correspondence object located at another position can be made larger to create footholds or barriers against enemies, whereby the strategy of the game can be enhanced. In the example shown into, the correspondence objects are used as footholds for the player character. However, the correspondence objects may be used for any purpose in the game.

271 281 283 274 276 284 286 27 FIG. 29 FIG. 27 FIG. In the exemplary embodiment, as an example of images indicating the positions where the correspondence objectsto273 andtoare placed, frame imagestoandtoare displayed (seeto), respectively. Therefore, even if no correspondence object exists, such as the second correspondence object shown in, the frame image can notify the user of the position where the correspondence object will be placed. Furthermore, in the exemplary embodiment, the frame image shows the outer shape of a correspondence object when the correspondence object has the maximum shape. Therefore, in the exemplary embodiment, the frame image can notify the user of the range in which the correspondence object is placed, in addition to the position of the correspondence object. In other embodiments, an image showing the position where an object is placed may be in any form. For example, the image may be an image showing the center position of the object. In other embodiments, the image may not necessarily be displayed.

1 1 1 Next, a process of updating densities to deform, in response to deformation of a correspondence object, a correspondence object corresponding to the correspondence object, will be described. First, the game systemstores therein correspondence information indicating a correspondence relationship between the first correspondence object and the second correspondence object. For example, the game systemstores, as correspondence information, information that associates voxel data regarding the first correspondence object with voxel data regarding the second correspondence object. The correspondence information may be in any form. For example, in other embodiments, voxel data may include, as correspondence information, information indicating a voxel object (or voxel data) corresponding to a voxel object having the voxel data. When a correspondence object is deformed by an action that deforms a voxel object, the game systemmay refer to the correspondence information and specify a correspondence object corresponding to the deformed correspondence object.

31 FIG. 31 FIG. 31 FIG. 31 FIG. 31 FIG. 27 FIG. 255 0 is a view showing an example of density values that are set for voxels of the first correspondence object and the second correspondence object. In, for the purpose of making the drawing easier to see and the description easier to understand, voxels are arranged two-dimensionally in a two-dimensional voxel space. However, in actuality, voxels are arranged three-dimensionally in a three-dimensional voxel space. In, one square represents one voxel, and the numerical value in each square indicates the density set for the voxel. In the example shown in, the density of each voxel of the first correspondence object before deformation is set to an upper-limit value (here,), and the density of each voxel of the second correspondence object at this time is set to a lower-limit value (here,). That is, the state before deformation shown inis a state where the first correspondence object has the maximum shape and there is no second correspondence object, like the state shown in.

291 291 291 150 100 100 0 31 FIG. When an action to deform the first correspondence object has been performed by the player character or the like, an update rangeis set based on the action, and the densities of voxels in the update rangeare updated to be decreased. In the example shown in, four voxels in the lower right, among the voxels of the first correspondence object, are within the update range, and the densities of these four voxels are updated to,,, and, respectively. By generating a mesh based on the updated densities, the first correspondence object is deformed.

1 292 292 291 292 292 291 When the first correspondence object has been deformed as described above, the game systemsets an update rangefor the second correspondence object. The update rangeregarding the second correspondence object is set to be the same as the update rangeregarding the first correspondence object. Specifically, the update rangeis set such that the positional relationship between the voxel space regarding the second correspondence object and the update rangeis the same as the positional relationship between the voxel space regarding the first correspondence object and the update range.

1 292 292 291 1 The game systemupdates the density of a voxel in the update range. In the exemplary embodiment, the density of the voxel in the update rangeis increased in response to a decrease in the density of a voxel in the update range. Here, in the exemplary embodiment, the voxels of the first correspondence object are respectively associated with the voxels of the second correspondence object. Specifically, each voxel is given an identification number according to the position of the voxel in the voxel space, and a voxel of the first correspondence object and a corresponding voxel of the second correspondence object are given the same number. The game systemcan specify the voxel of the second correspondence object corresponding to the voxel of the first correspondence object by referring to the identification number. A specific method for associating a voxel of the first correspondence object with a voxel of the second correspondence object is discretionary. For example, in other embodiments, voxel data may include information indicating a voxel corresponding to a voxel concerned among voxels of another voxel object corresponding to a voxel object concerned.

292 1 291 291 255 255 1 31 FIG. In the exemplary embodiment, as for a voxel in the update rangeof the second correspondence object, the game systemincreases the density of this voxel by an amount corresponding to the amount of decrease in density of a voxel (voxel in the update rangeof the first correspondence object) corresponding to this voxel. For example, in the example shown in, since the density of a voxel in the lower right, among the voxels in the update range, is decreased fromto 0, the density of a voxel corresponding to this voxel is increased from 0 to. Thus, in the exemplary embodiment, the game systemincreases the density of a voxel of the second correspondence object by an amount equal to the amount of decrease in density of a voxel of the first correspondence object. This makes it possible to add the second correspondence object by the amount of decrease in the first correspondence object.

255 291 155 100 100 0 292 100 155 155 255 31 FIG. 27 FIG. 30 FIG. 27 FIG. In the exemplary embodiment, the density of a voxel of the second correspondence object is calculated such that the sum of this density and the density of a voxel of the first correspondence object corresponding to the voxel is the upper limit value (here,) of density. For example, in the example shown in, the densities of the voxels in the update rangeare,,, andafter deformation, and the densities of the voxels in the update rangecorresponding to these voxels are,,, and. Thus, the shape of the first correspondence object and the shape of the second correspondence object can be mutually complementary. For example, in the example shown into, the shapes of the first correspondence object and the second correspondence object are set such that the first correspondence object and the second correspondence object, when combined, form a rectangular parallelepiped. Thus, the correspondence relationship between the first correspondence object and the second correspondence object can be easily understood by the player. For example, even when a plurality of first correspondence objects are arranged as shown in, it becomes easier for the player to understand which second correspondence object corresponds to a certain first correspondence object. In other embodiments, the sum of the density of a voxel of the first correspondence object and the density of a voxel of the second correspondence object corresponding to the voxel may not necessarily be the upper limit value of density.

In the exemplary embodiment, the shapes of the first correspondence object and the second correspondence object are mutually complementary. However, this does not mean that the shape formed by combining the first correspondence object and the second correspondence object has to be strictly fixed. For example, when a mesh of a voxel object is generated based on the densities set for voxels as in the exemplary embodiment, the mesh plane of the first correspondence object may not exactly match the mesh plane of the second correspondence object (although they roughly match). Even when the mesh plane of the first correspondence object does not exactly match the mesh plane of the second correspondence object, it can be said that the shapes of the first correspondence object and the second correspondence object are mutually complementary.

1 The process of deforming a first correspondence object in response to deformation of a second correspondence object is similar to the process of deforming a second correspondence object in response to deformation of a first correspondence object. Specifically, the game systemsets, in the voxel space of the first correspondence object, the update range corresponding to the update range that is set based on an action to deform the second correspondence object, and increases the density of each voxel in the update range by an amount equal to the amount of decrease in density of a corresponding voxel (voxel of the second correspondence object). Thus, in the exemplary embodiment, as for two voxel objects between which a correspondence relationship is set, the process in which deformation of one voxel object affects the other voxel object can be performed bidirectionally.

1 31 FIG. In the exemplary embodiment, deformation in which the voxel density of the correspondence object is increased may be performed by an action performed by the player character. When the voxel density of a certain correspondence object is increased, the game systemdecreases the voxel density of a correspondence object corresponding to the certain correspondence object. The density calculation method in this case is the method in which the sum of the voxel density of the first correspondence object and the voxel density of the corresponding second correspondence object is calculated to be the upper limit value of density, like the method shown in. Thus, even when deformation in which the voxel density of the correspondence object is increased by an action is performed, the two correspondence objects can be made to have mutually complementary shapes.

1 1 There is a case where the update range based on the action to deform the correspondence object spans a plurality of correspondence objects. In this case, in the exemplary embodiment, the game systemdeforms the plurality of correspondence objects, and deforms, in response to the deformation, correspondence objects corresponding to the plurality of correspondence objects. For example, when the update range based on the action spans a plurality of first correspondence objects, the plurality of first correspondence objects are deformed, and a plurality of second correspondence objects are deformed in response to the deformation. Also, for example, when the update range based on the action spans a first correspondence object and a second correspondence object, these correspondence objects are deformed, and a second correspondence object and a first correspondence object respectively corresponding to these correspondence objects are deformed in response to the deformation. In the above case, the game systemexecutes, for each correspondence object, the process of updating the voxel density by the aforementioned method.

In the exemplary embodiment, the first correspondence object and the second correspondence object have the same number and size of voxels in the voxel space. Therefore, there is one-to-one correspondence between the voxels of the first correspondence object and the voxels of the second correspondence object. In other embodiments, the number and size of voxels of the first correspondence object may be different from those of the second correspondence object.

Even when the first correspondence object and the second correspondence object have the same number of voxels but different sizes, the second correspondence object can be deformed in response to deformation of the first correspondence object by updating the voxel density of the second correspondence object in response to deformation of the first correspondence object as in the exemplary embodiment. In this case, the size of the first correspondence object and the size of the second correspondence object, when reaching the maximum shape, are different sizes.

1 1 When the number of voxels is different between the first correspondence object and the second correspondence object, a correspondence relationship between the voxels of the first correspondence object and the voxels of the second correspondence object may be set as follows. That is, for example, if the number of voxels of the first correspondence object is less than the number of voxels of the second correspondence object, each of the voxels of the first correspondence object may be associated with some of the voxels of the second correspondence object while some of the voxels of the second correspondence object are associated with none of the voxels of the first correspondence object. In this case, when the first correspondence object is deformed in response to deformation of the second correspondence object, the game systemupdates, for example, the density of a voxel of the first correspondence object, based on the density of the corresponding voxel of the second correspondence object. Also, in the above case, when the second correspondence object is deformed in response to deformation of the first correspondence object, the game systemupdates the density of a voxel, among the voxels of the second correspondence object, which is associated with a voxel of the first correspondence object, based on the density of the corresponding voxel of the first correspondence object, and updates the density of a voxel which is not associated with a voxel of the first correspondence object, based on interpolation using the density of the voxel associated with the voxel of the first correspondence object. As described above, even when the number of voxels is different between the first correspondence object and the second correspondence object, it is possible to deform one correspondence object in response to deformation of the other correspondence object.

1 In other embodiments, if the number of voxels of the first correspondence object is less than the number of voxels of the second correspondence object, each voxel of the second correspondence object may be associated with any of the voxels of the first correspondence object. In this case, a plurality of voxels of the second correspondence object are associated with one voxel of the first correspondence object. In this case, when the densities of the plurality of voxels of the second correspondence object are changed, the game systemmay update the density of the one voxel of the first correspondence object corresponding to the plurality of voxels, based on the densities of the plurality of voxels. For example, the density of the one voxel of the first correspondence object corresponding to the plurality of voxels may be updated so as to be increased by an average value of the amounts of decrease in the densities of the plurality of voxels.

27 FIG. 30 FIG. In the example shown into, the voxel spaces of the first correspondence object and the second correspondence object are both rectangular parallelepipeds, and the voxel spaces are arranged in the same direction in the game space, but the voxel spaces may not necessarily be arranged in the same direction. For example, one voxel space may be arranged in a vertically elongated direction, and the other voxel space may be arranged in a horizontally elongated direction. Also, for example, one voxel space and the other voxel space may be arranged inversely. For example, the relationship between one voxel and the corresponding voxel may be point-symmetric or line-symmetric. In this case, the update range set in the other voxel space corresponding to the update range set in one voxel space is set such that the positional relationship between the other voxel space and the update range is the same as the positional relationship obtained by inverting the positional relationship between the one voxel space and the update range.

32 FIG. 32 FIG. 300 300 In the exemplary embodiment, the aforementioned intersection information is set for some of the voxels of the first correspondence object and the second correspondence object. The meshes of the first correspondence object and the second correspondence object are generated based on the densities and the intersection information set for the voxels.is a view showing an example of intersection information set to a correspondence object. In, the density of each voxel of a correspondence objectis the upper limit value, and therefore the correspondence objecthas the maximum shape.

32 FIG. 32 FIG. 32 FIG. 300 300 301 300 302 300 303 301 303 300 In the example shown in, intersection information is set to a voxel at a position where the mesh of the correspondence objecthaving the maximum shape is generated. Specifically, as for a voxel at the position corresponding to a corner of the correspondence objecthaving the maximum shape, intersection information is set to be represented as three vectorsrespectively perpendicular to the three planes forming the corner. As for a voxel at the position corresponding to an edge of the correspondence objecthaving the maximum shape, intersection information is set to be represented as two vectorsrespectively perpendicular to the two planes forming the edge. As for a voxel at the position corresponding to a plane of the correspondence objecthaving the maximum shape, intersection information is set to be represented as a vectorperpendicular to the plane. In actuality, the vectorstoare not displayed as game images.shows some of the vectors representing the intersection information set for the correspondence object; in actuality, more pieces of intersection information are set. For example, in, only one vector is shown for one edge or plane; in actuality, a plurality of pieces of intersection information may be set for one edge or plane.

300 300 32 FIG. If a mesh is generated based on densities without using intersection information, the corners and edges of the correspondence objectmay not be right-angled, and may instead have a chamfered shape. In contrast, by setting intersection information as described above, the mesh of the correspondence objectcan be made into a more accurate rectangular parallelepiped as shown in.

16 FIG. 17 FIG. 0 0 In the exemplary embodiment, when a correspondence object for which intersection information is set is deformed by an action such as a punching action described above or when it is deformed in response to deformation of a corresponding correspondence object, the intersection information is retained. In the exemplary embodiment, intersection information is used to set vertices when the intersection information is set between a voxel whose density is equal to or greater than the reference value and a voxel whose density is less than the reference value (e.g., when shown inor); whereas intersection information is not used to set vertices when the intersection information is set between voxels whose densities are both equal to or greater than the reference value or voxels whose densities are both less than the reference value. Therefore, when the densities of the voxel at the position where the intersection information is set and the neighboring voxels are updated to, setting of vertices is performed without using the intersection information. Therefore, a vertex of a mesh is not set to a certain voxel even though the densities of this voxel and its neighboring voxels are.

0 When the densities of the voxels of the correspondence object are updated to the upper limit value from the state where the densities of the voxel at the position where the intersection information is set and the neighboring voxels are, a mesh is generated with vertices being set based on the retained intersection information. Therefore, in the exemplary embodiment, even when the correspondence object is temporarily deformed as if a part thereof is deleted and then is further deformed to return to its maximum shape, the correspondence object is restored to a more accurate rectangular parallelepiped.

1 1 In other embodiments, when intersection information is set to a voxel whose density is decreased (more specifically, whose density is decreased to a value less than the reference value) when a correspondence object is deformed, the game systemmay delete the intersection information. In this case, the game systemmay set the same intersection information as the deleted intersection information, for a voxel which is included in a correspondence object corresponding to the correspondence object from which the intersection information is deleted, and which corresponds to the voxel from which the intersection information is deleted. Thus, as for the correspondence object in which the voxel density is decreased, the intersection information having no influence on vertex setting is deleted, whereby an increase in processing load can be suppressed. Also, as for the correspondence object in which the voxel density is increased, vertices are set based on the same intersection information as the intersection information deleted in the corresponding correspondence object, and therefore a mesh can be generated so as to accurately reproduce the shape of the corresponding correspondence object.

1 The above phrase “deleting intersection information” means deleting intersection information in data used for setting vertices (or generating a mesh) and means that the game systemitself may have, stored therein, data of the intersection information as data separate from the data used for vertex setting. For example, when a predetermined condition is satisfied in the game, a voxel object arranged in the game space may be reset to its initial shape. In this case, a mesh in the initial shape may be generated using the stored data of the intersection information.

The above phrase “the same intersection information as the deleted intersection information” means that the positional relationship between the voxel space, and the intersection coordinates and normal direction indicated by the intersection information is the same for the correspondence object from which the intersection information is deleted and the corresponding correspondence object. When one voxel space and the other voxel space are arranged inversely, the positional relationship is determined, considering the inversion. Therefore, when one voxel space and the other voxel space are arranged inversely, the above phrase “the same intersection information as the deleted intersection information” refers to intersection information indicating intersection coordinates and normal direction obtained by inverting the intersection coordinates and normal direction indicated by the deleted intersection information, in the same manner as the voxel space.

1 278 278 272 282 1 288 288 282 272 28 FIG. 30 FIG. In the exemplary embodiment, the game systemgenerates an effect imageas shown in, when the second correspondence object is deformed in response to deformation of the first correspondence object as if a part thereof is deleted. The effect imageis displayed so as to move from the deformed first correspondence objectto the second correspondence object. Also, the game systemgenerates an effect imageas shown in, when the first correspondence object is deformed in response to deformation of the second correspondence object as if a part thereof is deleted. The effect imageis displayed so as to move from the deformed second correspondence objectto the first correspondence object. The effect image can notify the player of the correspondence object corresponding to the deformed correspondence object.

278 288 In the exemplary embodiment, the effect imagesandmove from a start position within a first range including at least voxels whose densities are decreased to a target position within a second range including at least voxels whose densities are increased. Thus, the player can be notified of a part, of the correspondence object, that appears to be deleted and a part, of a correspondence object corresponding to the correspondence object, that appears to be added. The first range may be, for example, a range composed of voxels whose densities are decreased, and the start position in the first range may be, for example, the center position in the range. Also, the second range may be, for example, a range composed of voxels whose densities are increased, and the target position in the second range may be, for example, the center position in the range.

28 FIG. 30 FIG. 278 288 andeach show a game image in which deformation to delete a part of a correspondence object, display of the effect imageor, and deformation to add a part of a correspondence object corresponding to the correspondence object are performed simultaneously. However, in the exemplary embodiment, in actuality, an effect image is displayed at a position within the first range of a correspondence object in response to that the correspondence object is deformed as if a part thereof is deleted, and thereafter, the effect image moves to a position within the second range of a corresponding correspondence object, and then the corresponding correspondence object is deformed as if a part thereof is added. Thus, the two correspondence objects having the correspondence relationship can be made easier to understand. Also, it is possible to make a representation in which the decreased part of one correspondence object moves towards the other correspondence object.

An effect image may also be displayed when, in response to deformation of a part of a correspondence object, a correspondence object corresponding to the correspondence object is deformed as if a part thereof is deleted. For example, when deformation to delete a part of the second correspondence object is performed in response to deformation to add a part of the first correspondence object, the effect image may be displayed so as to move from the first correspondence object to the second correspondence object, or may be displayed so as to move from the second correspondence object to the first correspondence object.

For correspondence objects, materials may be determined by any method. For example, materials different from each other may be set for the voxels of the first correspondence object and the voxels of the second correspondence object so that the first correspondence object and the second correspondence object have different appearances. The same material may be set for the voxels of the first correspondence object and the voxels of the second correspondence object. Materials may not necessarily be set for the correspondence objects.

1 33 FIG. 37 FIG. Next, a specific example of information processing in the game systemwill be described with reference toand.

33 FIG. 33 FIG. 33 FIG. 34 FIG. 12 FIG. 33 FIG. 11 FIG. 18 FIG. 1 84 85 23 2 1 shows an example of various data used for information processing in the game system. The data shown inare stored in a memory (e.g., the flash memory, the DRAM, and/or a memory card attached to the slot) that is accessible by the main body apparatus. As shown in, the game systemstores a game program therein. The game program is a program for executing game processing (specifically, game processing shown in) in the exemplary embodiment. The game program includes the aforementioned material data (see). As shown in, in the memory, the aforementioned voxel data (see), the aforementioned intersection information data (see), update range data, mesh data, correspondence information data, object data, and the like.

The update range data is data indicating the aforementioned update range. In the exemplary embodiment, the update range is represented by the aforementioned SDF.

33 FIG. The mesh data includes various data regarding meshes of a voxel object. As shown in, in the exemplary embodiment, the mesh data includes SVO data, display mesh data, and determination mesh data. The SVO data is data in which vertices calculated from the voxel data are held by the aforementioned SVO structure. In the exemplary embodiment, the SVO data includes data indicating materials set for the vertices (e.g., data indicating IDs of the materials) in addition to data indicating the positions of the vertices. The display mesh data includes various data regarding a display mesh. Specifically, the display mesh data includes data indicating vertices of the display mesh, and data indicating materials set for the vertices (e.g., data indicating IDs of the materials). The determination mesh data includes various data regarding a determination mesh. Specifically, the determination mesh data includes data indicating vertices of the determination mesh, and data indicating materials set for the vertices (data indicating IDs of the materials).

The correspondence information data indicates the aforementioned correspondence information indicating the correspondence relationship between the first correspondence object and the second correspondence object. The correspondence information may indicate, for example, a correspondence between voxel data identification information and voxel data identification information, a correspondence between voxel space identification information and voxel space identification information, or a correspondence between voxel object identification information and voxel object identification information. The correspondence information may be set in advance in the game program. The correspondence relationship may be added, deleted and/or changed under predetermined conditions being satisfied during the game.

The object data includes various data regarding objects (e.g., the player character, the fragment object, etc.) other than the voxel object. The object data is stored for each object that appears in the game space. The object data includes data indicating, for example, the position, speed, state, etc., of the object.

34 FIG. 1 1 15 is a flowchart showing an example of a flow of game processing executed by the game system. Execution of the game processing is started in response to the game having been started according to an instruction of the player, during execution of the game program, for example. A processing loop composed of a series of processes in steps Sto Sis performed in a cycle of once for each frame.

81 2 1 81 1 34 37 FIG.to 34 37 FIG.to 34 37 FIG.to In the exemplary embodiment, the processorof the main body apparatusexecutes the game program stored in the game systemto execute processes in steps shown in. However, in other embodiments, a part of the processes in the steps may be executed by a processor (e.g., a dedicated circuit or the like) other than the processor. Further, if the game systemis communicable with another information processing apparatus (e.g., a server), a part of the processes in the steps shown inmay be executed by the other information processing apparatus. The processes in the steps shown inare merely examples, and the processing order of the steps may be changed, or another process may be executed in addition to (or instead of) the processes in the steps as long as similar results can be obtained.

81 85 81 34 37 FIG.to The processorexecutes the processes in the steps shown inby using a memory (e.g., the DRAM). That is, the processorstores information (in other words, data) obtained in each process step, into the memory, and reads out the information from the memory when using the information for the subsequent process steps.

1 81 81 83 17 21 1 2 34 FIG. In step Sshown in, the processoracquires the operation data indicating an operation input performed by the player. That is, the processoracquires the operation data received from the respective controllers via the controller communication sectionand/or the terminalsand. Next to step S, the process in step Sis executed.

2 81 11 1 0 In step S, the processordesignates, as a processing target, an object for which processing has not yet been completed among objects to be processed in the game space, and executes, for the designated object, a process of calculating a speed, and a process of providing (e.g., reflecting) a result of contact between objects in a previous frame. The speed of the object is used for calculating the position of the object in the current frame, in the process of step Sdescribed below. For example, if the designated object is a player character, the speed of the player character is calculated based on the operation data acquired in step S. If the designated object is an object (e.g., a fragment object) that is not operated by the player, the speed of the object is calculated based on a rule prescribed in the game program. For example, the speed of the fragment object is set toif the fragment object is disposed on the terrain object and does not move, is set to the same speed as the player character if the fragment object is held by the player character, and is set to a speed at which the fragment object moves in the aim direction with a size determined in the rule if the fragment object has been thrown by a throwing action of the player character. Specifically, the speed of the object is calculated based on a virtual physical calculation including interaction between objects. For example, repulsion due to collision between objects, interaction such as friction due to contact, falling due to virtual gravity, deceleration due to virtual air resistance, or the like is provided in determination of the speed.

10 The process of providing the result of contact between objects in the previous frame includes a process of, upon determining in the collision determination (step S) that objects have come into contact with each other, giving an influence due to the contact, to the objects. Examples of this process are as follows.

· A process of reducing the hit points of the player character upon determining that the player character has come into contact with the terrain object of lava in the previous frame.

· A process of generating a fragment object upon determining that the player character has come into contact with the terrain object due to a pull-out action or a punching action in the previous frame.

· A process of causing the fragment object to disappear upon determining that the fragment object has come into contact with the terrain object of rock.

2 81 2 3 When the state regarding an object has been changed in the process in step S, the processorupdates the corresponding object data stored in the memory regarding the object such that the object data indicates the changed content. Next to step S, the process in step Sis executed.

3 81 2 3 10 3 4 3 6 24 FIG. 28 FIG. 26 FIG. In step S, the processordetermines whether or not an update event that updates the voxel object has been caused by the object designated in step S. For example, the determination in step Sis performed based on the result of collision determination (step S) in the previous frame. For example, when the player character has been determined in the previous frame to come into contact with the voxel object such as a terrain object or a correspondence object due to an action to deform the voxel object, it is determined that an update event has occurred. Regarding the aforementioned example, when the player character has been determined to come into contact with the voxel object due to a punching action, it is determined that an update event that deforms the voxel object as if a part thereof is deleted (seeand) has occurred. Such an update event includes an event that deforms a terrain object as if a part thereof is deleted, and that changes the material in a range including the deformed part and a neighboring part. For example, when a fragment object has been determined to come into contact with a terrain object of rock in the previous frame, it is determined that an update event that deforms the terrain object as if the fragment object is attached to the terrain object (see) has occurred. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the process in step Sis executed.

4 81 3 4 35 FIG. In step S, the processorexecutes a voxel update process of updating voxel data regarding the voxel object for which occurrence of an update event has been determined in step S. Hereinafter, the voxel update process in step Swill be described in detail with reference to.

35 FIG. 34 FIG. 21 81 21 3 81 21 22 is a sub flowchart showing an example of a specific flow of the voxel update process in step S4 shown in. In the voxel update process, first, in step S, the processorsets, in the game space, an update range in which voxels of the voxel object are updated. For example, the specific content (e.g., position, shape, and size) of the update range is associated with each of the types of update events in the game program. In step S, the update range is set so as to have the content associated with the type of the update event that has been determined in step Sto occur. The processorstores data indicating the set update range, as update range data in the memory. Next to step S, the process in step Sis executed.

22 81 21 81 2-2 81 22 23 In step S, the processorchanges the voxels corresponding to the update range set in step S, according to the update event. For example, in performing deformation such that a voxel object in the update range is deleted or a voxel object is added in the update range, the processorupdates the voxel data stored in the memory so as to change the densities of the voxels corresponding to the update range (see the above [. Update of voxel data]). For example, in changing the material of the voxel object in the update range, the processorupdates the voxel data stored in the memory so as to update the first and second material IDs and the material mixing ratio of the voxels corresponding to the update range. Next to step S, the process in step Sis executed.

23 81 22 23 24 23 81 23 FIG. 24 FIG. 26 FIG. 27 FIG. 30 FIG. In step S, the processordetermines whether or not the voxel object has been deformed in the process in step S. For example, when the update events shown in,,, andtoare performed, it is determined that the voxel object has been deformed. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the processorends the voxel update process.

24 81 3 24 25 24 81 In step S, the processordetermines whether or not the voxel object, for which occurrence of the update event has been determined in step S, is a correspondence object described above, i.e., whether or not there is a voxel object corresponding to the voxel object. This determination is performed, for example, according to whether or not the correspondence information data stored in the memory includes a voxel object corresponding to the voxel object. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the processorends the voxel update process.

25 81 3 13 14 25 81 28 FIG. 30 FIG. In step S, the processorsets an effect flag to ON for the voxel object for which occurrence of the update event has been determined in step S. The effect flag is a flag that indicates whether or not an effect image to be displayed when the correspondence object is deformed (seeand) is occurring. The effect flag is set for each correspondence object. When the effect flag is ON, setting regarding display of the effect image is performed in an effect control process described below (step S), and a game image including the effect image is generated in the process in step S. After step S, the processorends the voxel update process.

34 FIG. 36 FIG. 5 4 81 2 5 Referring back to, in step Snext to the voxel update process in step S, the processorexecutes a correspondence object update process. The correspondence object update process is a process of updating voxel data under certain conditions when the object designated in step Sis a correspondence object. Hereinafter, the correspondence object update process in step Swill be described in detail with reference to.

36 FIG. 34 FIG. 5 31 81 2 31 46 45 31 2 31 32 31 81 is a sub flowchart showing an example of a specific flow of the correspondence object update process in step Sshown in. In the correspondence object update process, first, in step S, the processordetermines whether or not the voxel object designated in step Sis a correspondence object and whether or not a timing to perform deformation in response to deformation of a voxel object corresponding to the voxel object has arrived. In the exemplary embodiment, the timing is a timing at which an effect image that occurs in response to deformation of a voxel object corresponding to the voxel object has arrived at the position of the voxel object. Therefore, determination in step Scan be performed depending on whether or not a process in step Shas been executed because the determination result in step Sin an effect control process described later is positive. The determination result in step Sis negative if the voxel object designated in step Sis not a correspondence object, a voxel object corresponding to the voxel object is not deformed, or the above timing has not arrived yet although the corresponding voxel object is deformed. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the processorends the correspondence object update process.

32 81 2 21 2 2-7 81 32 33 In step S, the processorsets an update range for updating densities, for the voxel object designated in step S. This update range corresponds to the update range that is set in step Sexecuted for a voxel object corresponding to the voxel object designated in step S. The update range is set based on the corresponding update range, according to the method described in the above [. Process of changing shapes of two voxel objects]. The processorstores data indicating the set update range, as update range data in the memory. Next to step S, the process in step Sis executed.

33 81 32 2-7 81 33 81 In step S, the processorupdates the density of each voxel in the update range set in step S. Specifically, the updated density of the voxel is calculated based on the density of a voxel corresponding to the voxel, according to the method described in the above [. Process of changing shapes of two voxel objects]. The processorupdates the voxel data stored in the memory so that the voxel data indicates the calculated density value. After step S, the processorends the correspondence object update process.

22 81 33 81 In other embodiments, when the density of a voxel of the correspondence object is decreased in the process in step S, the processormay delete intersection information set for this voxel. In this case, in the process in step S, the processormay increase the density of a voxel of a correspondence object corresponding to the above correspondence object, and may set the same intersection information as the deleted intersection information, for a voxel corresponding to the voxel for which the intersection information is deleted.

34 FIG. 6 5 81 2 5 6 7 6 2 Referring back to, in step Snext to the correspondence object update process in step S, the processordetermines whether or not all the objects to be processed have been subjected to the processes in step Sto S. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the process in step Sis again executed.

7 81 4 5 [2-3 7 In step S, the processorupdates the vertices of the voxel object in the game space. That is, when the voxel data has been updated in the process in step Sor S, new vertices are calculated based on the updated voxel data. The positions and materials of the new vertices are calculated according to the method described in the above. Calculation of vertices]. Next to step S, the process in step S8 is executed.

8 81 81 7 2-4 7 8 7 8 7 8 4 5 8 9 In step S, the processorperforms simplification for the vertices. That is, the processorperforms simplification for the vertices updated in the process in step S, according to the method described in the above [. Simplification of vertices]. The SVO data stored in the memory is updated so as to indicate the vertices obtained through the processes in steps Sand S. Therefore, update of the SVO data is performed through the processes in steps Sand S. The processes in steps Sand Smay not necessarily calculate new vertices for the entirety of the voxel data, and may be performed only for the part in which the content of the voxels has been changed in the process in step Sor S. Next to step S, the process in step Sis executed.

9 81 2-5 81 9 S10 81 10 9 9 9 14 In step S, the processorupdates the display mesh of the voxel object, based on the SVO data stored in the memory. The positions of the vertices of the display mesh and the materials of the polygons in the display mesh (e.g., the materials set for the vertices of the polygons) are calculated according to the method described in the above [. Generation of mesh]. The processorupdates the display mesh data stored in the memory so as to indicate the positions and materials of the vertices of the updated display mesh. Next to step S, the process in stepis executed. The processormay start the process in step Sand subsequent steps without waiting for completion of step Sto execute these steps in parallel with step S. In this case, step Sneeds to be completed before start of step S.

10 81 2-5 81 10 11 In step S, the processorupdates the determination mesh of the voxel object, based on the SVO data stored in the memory. The positions of the vertices of the determination mesh and the materials of the polygons in the determination mesh (e.g., the materials set for the vertices of the polygons) are calculated according to the method described in the above [. Generation of mesh]. The processorupdates the determination mesh data stored in the memory so as to indicate the positions and materials of the vertices of the updated determination mesh. Next to step S, the process in step Sis executed.

34 FIG. 10 11 81 11 81 11 81 In the example shown in, the determination mesh generation process (step S) is executed for each frame, but the determination mesh generation process may not necessarily be executed for each frame. For example, in the case where the collision determination process in step Sis executed only for a frame that satisfies a predetermined condition, the processormay execute the determination mesh generation process in the frame in which the collision determination in step Sis performed. In addition, the processormay execute the determination mesh generation process for voxels in a region, in the game space, where the collision determination in step Sis performed. For example, in a situation where, in the game space, an object to be subjected to collision determination does not exist around the player character, except for a voxel object (e.g., a situation where only collision determination between the player character and the neighboring voxel object needs to be performed), the processormay execute the determination mesh generation process for voxels within a predetermined range based on the player character.

11 81 81 11 2 81 In step S, the processorperforms collision determination for each object in the game space, based on the determination mesh data and the object data stored in the memory. That is, the processorperforms collision determination by using a determination mesh for a voxel object, and using, for an object that is not a voxel object, a determination region having a predetermined shape, which is set for the object. In the exemplary embodiment, the collision determination in step Sis performed in consideration of the speed calculated in step S. That is, the processorperforms collision determination by using, as the position of each object, the position to which the object moves at the speed.

11 In the exemplary embodiment, presence/absence of the following contacts is determined by the collision determination in step S.

Contact of the player character that moves or performs a punching action or a pull-out action, with the voxel object such as terrain object.

Contact of a character that perform an action of lifting (a fragment object) with the fragment object.

Contact of a straight line extending in the aim direction from the position of the player character, with the voxel object.

Contact of a fragment object thrown by a throwing action of the player character, with the voxel object.

11 2 3 11, 12 When the result of the collision determination in step Sis that the objects have come into contact with each other, a process of determining (e.g., generating) the result of the contact of the objects is performed in step Sin the next frame, or it is determined in step Sin the next frame that an update event has occurred. Next to step Sthe process in step Sis executed.

12, 81 81 1 12, 81 12 2 11 12 12 13 In step Sthe processorcontrols the motion of each object in the game space. For example, as for the player character, the processorperforms a control that causes the player character to move or perform various actions, based on the operation data acquired in step S. When a predetermined action has occurred, a region for collision determination according to the action is generated in the game space. For example, a fragment object is controlled to move in the aim direction in response to a throwing action of the player character that throws the fragment object. In a single process in step Sas for a motion (e.g., an action of the player character) that is performed over a plurality of frames, the processorcontrols each object so as to progress the motion for one frame. By the process in step Sbeing repeatedly executed over a plurality of frames, each object performs a series of motions regarding movement and various actions. The position of each object is basically determined to be the position after the object has moved with the speed calculated in step S. However, in the case where an object is determined to come into contact with another object by the collision determination in step Sand movement of this object is prevented by the other object, the position of the object is determined not to be changed. The object data stored in the memory is updated so as to have the content indicating the object after the control in step S. Next to step S, the process in step Sis executed.

13 81 13 37 FIG. In step S, the processorexecutes an effect setting process. The effect setting process is a process of performing setting regarding an effect image to be displayed in response to deformation of a correspondence object. Hereinafter, the effect setting process in step Swill be described in detail with reference to.

37 FIG. 34 FIG. 13 41 81 41 42 41 81 is a sub flowchart showing an example of a specific flow of the effect setting process in step Sshown in. In the effect setting process, first, in step S, the processordetermines whether or not there is a correspondence object for which an effect flag is set to ON. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the processorends the effect setting process.

42 81 42 25 1 15 42 43 42 44 In step S, the processordetermines whether or not it is the timing when an effect image is generated. The determination in step Sis made, for example, based on whether or not the effect flag is set to ON by the process in step Sduring the process of the current frame in the process loop of steps Sto S. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the process in step Sis executed.

43 81 25 [2-7. 81 14 43 In step S, the processornewly generates an effect image. Specifically, display setting is performed such that the new effect image is placed at the position of the voxel object for which the effect flag is set to ON through the process in step S. The effect image display method is discretionary. For example, an object representing the effect image may be placed in the virtual space. The specific start position where the effect image is placed is determined based on the method described in the aboveProcess of changing shapes of two voxel objects]. In this case, the processorstores, in the memory, data indicating the position where the effect image is placed. When the display setting has been performed, a game image including the effect image is generated and displayed in the process in step Sdescribed below. The process in step S45 is executed next to step S.

44 81 81 44 81 [2-7. 44 45 In step S, the processormoves the position of the placed effect image. In the exemplary embodiment, the processormoves the effect image at a predetermined speed along a predetermined trajectory from the current position to the target position. In a single execution of step S, the position, to which the effect image is moved from the current position by a distance equivalent to movement during one frame, is calculated, and the calculated position is the position of the effect image after movement. The processorstores, in the memory, data indicating the calculated position after movement. The target position is the position of a voxel object corresponding to the voxel object for which the effect flag is set to ON. The target position is determined based on the method described in the aboveProcess of changing shapes of two voxel objects]. Specifically, the predetermined trajectory may be any trajectory, for example, a parabolic trajectory connecting the start position and the target position. Next to step S, the process in step Sis executed.

45 81 81 44 45 46 45 81 In step S, the processordetermines whether or not the effect image has arrived at the voxel object corresponding to the voxel object for which the effect flag is set to ON. Specifically, the processordetermines whether or not the position after movement, calculated in step S, has arrived at the target position. When the determination result in step Sis positive, the process in step Sis executed. When the determination result in step Sis negative, the processorends the effect setting process.

46 81 14 46 81 In step S, the processorsets the effect flag to OFF. Thus, in the process in step Sdescribed below, the effect image corresponding to the effect flag is no longer displayed. After step S, the processorends the effect setting process.

37 FIG. 81 42 46 In the effect setting process shown in, one effect image is displayed. However, a plurality of effect images may be simultaneously displayed. In this case, the processorexecutes the processes in steps Sto Sfor each effect image that is placed.

34 FIG. 28 FIG. 30 FIG. 25 FIG. 14 13 81 81 13 43 44 81 14 Referring back to, in step Snext to the effect setting process in step S, the processorgenerates a game image. That is, the processorgenerates a game image by performing rendering, based on the virtual camera, for the polygons of the display mesh of the voxel object, and the polygons of objects other than the voxel object. The polygons of the display mesh are rendered by using rendering setting such as textures corresponding to materials set for the polygons. Also, in the exemplary embodiment, if the display setting for generating an effect image has been made through the process in step S, a game image including an effect image to be placed at the position calculated in step Sor Sis generated (see (and). If the player character is capable of performing a throwing action, the processorgenerates a game image so as to include the aforementioned aim image and object information image (see). The game image generated in step Sis outputted to the display device and displayed in a cycle of once for each frame.

15 81 81 15 1 1 15 81 15 15 81 34 FIG. In step S, the processordetermines whether or not to end the game. For example, the processordetermines to end the game when a predetermined operation input to end the game has been performed by the player. When the determination result in step Sis negative, the process in step Sis executed again. Thereafter, a series of processes in steps Sto Sis repeated until the processordetermines to end the game in step S. When the determination result in step Sis positive, the processorends the game processing shown in.

1 In the above exemplary embodiment, the game systemas an example of an information processing system decreases the voxel density in voxel data in response to an action performed by the player character, and furthermore, increases the voxel density in voxel data corresponding to the voxel data. Thus, a plurality of voxel objects can be deformed by a novel method. For example, regarding two corresponding voxel objects, by deforming a part or the entirety of one voxel object as if it disappears, the other voxel object can be deformed as if it is added. For example, two voxel objects can be deformed so as to have mutually complementary shapes.

1 1 In the above exemplary embodiment, when the voxel density of one voxel object is decreased (or increased), the voxel density of the other corresponding voxel object is increased (or decreased). In other embodiments, when the voxel density of one voxel object is decreased, the game systemmay also decrease the voxel density of the other corresponding voxel object. Similarly, for example, when the voxel density of one voxel object is increased, the game systemmay also increase the voxel density of the other corresponding voxel object. In this case, the one voxel object and the other corresponding voxel object may be controlled such that the corresponding voxels have the same density value. This also makes it possible to deform a plurality of voxel objects by a novel method. For example, it is possible to make an expression in which the player character destroys a nearby voxel object, thereby causing another voxel object located in a different place to disappear, or an expression in which the player character increases the volume of a certain voxel object, thereby increasing the volume of another voxel object located in a different place.

In the exemplary embodiment, the density of a voxel is updated in response to an action performed by the player character. However, the voxel density may be updated in response to any condition in the game. For example, the voxel density may be updated in response to passage of a predetermined time from a certain timing in the game.

In the exemplary embodiment, when a process is executed by using data (including a program) in a certain information processing apparatus, a part of the data required for the process may be transmitted from another information processing apparatus different from the certain information processing apparatus. In this case, the certain information processing apparatus may execute the process by using the data received from the other information processing apparatus and the data stored therein.

In other embodiments, the information processing system may not include some of the components in the above embodiment, and may not execute some of the processes executed in the above embodiment. For example, in order to achieve a specific effect of a part of the above embodiment, the information processing system includes a configuration for achieving the effect and executes a process for achieving the effect, and need not include other configurations and need not execute other processes.

The above exemplary embodiment can be used as, for example, a game system or a game program, for the purpose of deforming a plurality of objects by a new method.

While certain example systems, methods, devices and apparatuses have been described herein, it is to be understood that the appended claims are not to be limited to the systems, methods, devices and apparatuses disclosed, but on the contrary, are intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

November 3, 2025

Publication Date

May 14, 2026

Inventors

Wataru TANAKA

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “STORAGE MEDIUM, INFORMATION PROCESSING SYSTEM, AND GAME PROCESSING METHOD” (US-20260134628-A1). https://patentable.app/patents/US-20260134628-A1

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.