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

The information processing program uses main and sub-voxel spaces to generate detailed sub-objects representing damaged areas, addressing the challenge of depicting object destruction in virtual spaces with enhanced realism and strategic depth.

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

Patent Information

Application Number
JP2024011586
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-30
Publication Date
2025-08-01
Estimated Expiration
2044-01-30

AI Technical Summary

Technical Problem

Existing systems struggle to generate objects representing destroyed or damaged parts in a virtual space using voxel data, particularly in scenarios involving collisions or impacts.

Method used

An information processing program that utilizes main and sub-voxel spaces to generate meshes for objects, updating voxel data to represent destruction, determining fragment conditions based on property data, and generating sub-objects with specific properties and textures to depict the damaged areas.

Benefits of technology

Realistically represents the destruction of objects by generating detailed sub-objects that accurately reflect the damage, enhancing the strategic nature and realism of virtual environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113065000001_ABST
    Figure 2025113065000001_ABST
Patent Text Reader

Abstract

To realistically represent a fragment when an object is destroyed.SOLUTION: An information processing system is configured to: generate a mesh of a main object in a virtual space on the basis of main voxel data per main voxel; update the main voxel data of a voxel to be deleted so that at least a portion corresponding to the voxel to be deleted where a deletion event has occurred is deleted when the deletion event occurs; when the deletion event occurs, determine whether or not a fragment generation condition is met on the basis of property data related to the voxel to be deleted; and when the fragment generation condition is determined to be met, generate sub-voxel data which is voxel data of a sub-object, and generate a mesh of the sub-object in the virtual space on the basis of the sub-voxel data.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Conventionally, objects have been managed using voxel data, and a mesh of an object has been generated in a virtual space based on the voxel data (see, for example, Non-Patent Document 1).

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Conventionally, when an object based on voxel data is destroyed or the like in a virtual space, there has been a problem regarding how to generate an object corresponding to the destroyed part.

[0005] Therefore, an object of the present invention is to provide an information processing program, an information processing system, an information processing apparatus, and an information processing method capable of generating an object representing a part where an object has been destroyed or the like.

Means for Solving the Problems

[0006] In order to solve the above problems, the present invention adopts the following configurations (1) to (19).

[0007] (1) An example of the present invention is an information processing program executed on a computer of an information processing apparatus. The information processing program causes the computer to function as main object generation means, main voxel update means, fragment determination means, sub-object generation means, and image output means. The main object generation means generates a mesh of a main object in a virtual space based on main voxel data for each main voxel defined in a main voxel space that is a voxel space set in the virtual space. When an erasure event occurs for at least some of the plurality of main voxels in the main voxel space, the main voxel update means updates the main voxel data of the erasure target voxel, which is the main voxel for which the erasure event has occurred, so that at least a portion corresponding to the erasure target voxel among the main objects is erased. When an erasure event occurs, the fragment determination means determines whether a fragment generation condition is satisfied based on property data regarding the erasure target voxel among property data indicating the property of the main object for each main voxel. When it is determined that the fragment generation condition is satisfied, the sub-object generation means generates sub-voxel data, which is voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and is different from the main voxel space, and is the voxel data of the sub-object, and generates a mesh of the sub-object in the virtual space based on the sub-voxel data. The image output means outputs images of the mesh of the main object and the mesh of the sub-object in the virtual space to a display device.

[0008] According to the configuration of (1) above, an object representing a portion where the main object has been destroyed or the like can be generated by sub-voxel data regarding a sub-voxel space different from the main voxel space.

[0009] (2) The information processing program may further cause a computer to function as appearance setting means. The appearance setting means sets the color and / or pattern of the mesh of the main object based on appearance data that defines the color and / or pattern of the main object for each main voxel.

[0010] According to the configuration of (2) above, by using the appearance data, the color and / or pattern of the main object can be set for each main voxel.

[0011] (3) The appearance data may be data indicating a texture. The appearance setting means may apply the texture indicated by the appearance data regarding a certain main voxel to the mesh generated based on the voxel data of the certain main voxel among the meshes of the main object.

[0012] According to the configuration of (3) above, by using the appearance data, the texture to be applied to the main object can be set for each main voxel. (4) The sub-object generation means may determine the appearance data set for the sub-voxels related to the sub-object based on the appearance data set for the portion of the main object that has been deleted.

[0013] According to the configuration of (4) above, a sub-object having an appearance corresponding to the appearance of the deleted portion of the main object can be generated.

[0014] (5) The sub-object generation means may determine the property data set for the sub-voxels related to the sub-object based on the property data set for the portion of the main object that has been deleted.

[0015] According to the configuration of (5) above, a sub-object having properties corresponding to the properties of the deleted portion of the main object can be generated.

[0016] (6) The information processing program may further cause a computer to function as a quantity determination means. The quantity determination means determines the number of sub-objects to be generated based on the type of the generated deletion event. When it is determined that a plurality of sub-objects are to be generated, the sub-object generation means generates sub-voxel data for each of the sub-objects with respect to each of a plurality of mutually independent sub-voxel spaces, and may generate a mesh of the sub-object in the virtual space based on each of the sub-voxel data.

[0017] According to the configuration of (6) above, the number of sub-objects to be generated can be set in detail for each type of deletion event.

[0018] (7) The fragment determination means may execute setting of conditions used as fragment generation conditions and / or determination of whether the fragment generation conditions are satisfied based on the type of the generated deletion event.

[0019] According to the configuration of (7) above, variations corresponding to the type of deletion event can be provided for the conditions under which sub-objects are generated and / or the generation results of sub-objects.

[0020] (8) When a deletion event occurs due to an impact application event that applies an impact to the main object, the fragment generation determination means may determine the type of the deletion event based on the type of the impact application event.

[0021] According to the configuration of (8) above, variations corresponding to the type of impact application event can be provided for the conditions under which sub-objects are generated and / or the generation results of sub-objects.

[0022] (9) The fragment generation determination means may determine that different types of deletion events have occurred when a first impact application event occurs due to an action of causing a collision object held by a player object to collide with a main object, and when a second impact application event occurs due to an action of causing the collision object to collide with the main object by moving the collision object toward the main object by the player object.

[0023] According to the configuration of (9) above, the generation result of the sub-object can be varied by the action of the player object.

[0024] (10) The fragment generation determination means may determine whether a deletion event has occurred when an event in which a sub-object collides with a main object is performed as an impact application event.

[0025] According to the configuration of (10) above, since it is possible to further delete the main object using the sub-object obtained by deleting the main object, the strategic nature of the game regarding the deletion of the main object can be improved.

[0026] (11) The property data may indicate the strength of the main object. The fragment generation determination means may determine whether the fragment generation condition is satisfied based on the strength corresponding to the type of the generated deletion event and the strength indicated by the property data set in the deletion target voxel where the deletion event has occurred.

[0027] According to the configuration of (11) above, the generation result of the sub-object can be varied according to the type of the deletion event and the property of the main object.

[0028] (12) The property data may indicate the strength of the main object. When an impact application event that applies an impact to the main object occurs, the fragment generation determination means may determine whether an elimination event occurs based on the strength of the impact application event set according to the type of the impact application event and the strength indicated by the property data set in the main voxel where the impact application event occurs.

[0029] According to the configuration of (12) above, it is possible to vary whether an elimination event occurs according to the type of the impact application event and the property of the main object.

[0030] (13) The sub-object generation means may generate sub-voxel data so as to be a sub-object having a size corresponding to the type of the generated elimination event.

[0031] According to the configuration of (13) above, the size of the sub-object can be set in detail for each type of the elimination event.

[0032] (14) When it is determined that the fragment generation condition is satisfied, the sub-object generation means may generate an elimination partial object representing the eliminated part of the main object, and generate a sub-object by dividing the elimination partial object into a plurality of parts.

[0033] According to the configuration of (14) above, it is possible to generate a sub-object that conforms to the shape of the eliminated part of the main object.

[0034] (15) The sub-object generation means may generate sub-voxel data so that an object in a range larger than the lower limit value and smaller than the upper limit value among the objects obtained by dividing the elimination partial object into a plurality of parts becomes a sub-object.

[0035] According to the configuration of (15) above, it is possible to reduce the possibility of generating a sub-object that is too large or too small.

[0036] (16) When a sub-object collides with the main object, the main object generation means may update the main voxel data based on the sub-voxel data so that a portion corresponding to the sub-object in the main voxel space is added to the main object.

[0037] According to the configuration of (16) above, two objects with different voxel spaces (i.e., the main object and the sub-object) can be integrated into one object defined by the main voxel data.

[0038] (17) The sub-object generation means may set a sub-voxel space that defines voxels having a side length shorter than that of the main voxel as sub-voxels.

[0039] According to the configuration of (17) above, the shape of the sub-object based on the sub-voxel data can be represented in finer detail than the main object based on the main voxel data.

[0040] (18) The sub-object generation means may set the direction of the coordinate axes in the sub-voxel space independently of the direction of the coordinate axes in the main voxel space.

[0041] According to the configuration of (18) above, it becomes easier to arrange the sub-object in a free orientation in the virtual space.

[0042] (19) The main object may be a terrain object arranged in the virtual space.

[0043] According to the configuration of (19) above, it is possible to generate an object representing a portion where the terrain object has been destroyed or the like.

[0044] Another example of the present invention may be an information processing apparatus (for example, a terminal device or a server) or an information processing system including all or part of each of the means in (1) to (19) above. Another example of the present invention may be an information processing method (specifically, a game processing method) in which the information processing system executes each of the processes in (1) to (19) above.

Advantages of the Invention

[0045] According to the information processing program, the information processing system, the information processing apparatus, and the information processing method, an object representing a part where an object has been destroyed or the like can be generated.

Brief Description of the Drawings

[0046]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

[0047] [1. Configuration of the Game System] Hereinafter, a game system according to an example of this embodiment will be described. FIG. 1 is a diagram showing an example of the game system. An example of the game system 1 in this embodiment includes a main body device (information processing device; which functions as the game device main body in this embodiment) 2, a left controller 3, and a right controller 4. The main body device 2 is a device that executes various processes (for example, game processing) in the game system 1. The left controller 3 and the right controller 4 are devices provided with operation units for the user to input.

[0048] The main body device 2 is configured such that the left controller 3 and the right controller 4 can be respectively attached and detached. That is, the game system 1 can be used as an integrated device with the left controller 3 and the right controller 4 attached to the main body device 2. Also, the game system 1 can be used with the main body device 2, the left controller 3, and the right controller 4 separated from each other. In the following, the left controller 3 and the right controller 4 may be collectively referred to as the "controller".

[0049] FIG. 2 is a block diagram showing an example of the internal configuration of the main body device 2. In addition to the configuration shown in FIG. 1, the main body device 2 includes the components 17, 21, 23, 81 to 85, and 91 shown in FIG. 2. Some of these components 17, 21, 23, 81 to 85, and 91 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.

[0050] The main body device 2 includes a display 12. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device.

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

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

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

[0054] The main body device 2 includes a slot 23. The slot 23 has a shape capable of mounting a storage medium of a predetermined type. The storage medium of the predetermined type is, for example, a storage medium (for example, a dedicated memory card) dedicated to the game system 1 and information processing devices of the same type as it. The storage medium of the predetermined type is used to store, for example, data used in the main body device 2 (for example, save data of an application, etc.) and / or programs executed in the main body device 2 (for example, programs of an application, etc.).

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

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

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

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

[0059] The processor 81 is connected to the above-described left terminal 17 and right terminal 21. When the processor 81 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Further, when the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively.

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

[0061] FIG. 3 is a block diagram showing an example of the internal configuration of the main body device 2, the left controller 3, and the right controller 4. Note that the details of the internal configuration of the main body device 2 are shown in FIG. 2 and thus are omitted in FIG. 3.

[0062] The left controller 3 includes a terminal 42 for the left controller 3 to perform wired communication with the main body device 2. The left controller 3 also includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 3, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main body device 2 by both wired communication via the terminal 42 and wireless communication without using the terminal 42. The communication control unit 101 controls the communication method that the left controller 3 performs with the main body device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. Further, when the left controller 3 is removed from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83).

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

[0064] The left controller 3 includes one or more buttons 103. Further, the left controller 3 includes an analog stick (described as "stick" in FIG. 3) 32. The button 103 and the analog stick 32 output information regarding an operation performed on themselves to the communication control unit 101 repeatedly at an appropriate timing.

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

[0066] By transmitting the above operation data to the main body device 2, the main body device 2 can obtain the input performed on the left controller 3. That is, the main body device 2 can determine an operation for moving the left controller 3 and operations on the button 103 and the analog stick 32 based on the operation data.

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

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

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

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

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

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

[0073] FIG. 4 is a diagram showing an example of a terrain object that is a voxel object. As shown in FIG. 4, in this embodiment, a terrain object representing terrain such as the ground has its shape defined by voxel data (that is, it is a voxel object). Each cube shown in FIG. 4 represents a terrain object. In FIG. 4, the boundaries of the voxels are shown by thin lines, and the portions that form the sides of the terrain object are shown by thick lines. However, these lines are added for the purpose of making the drawing easier to view. Actually, there is no need to display the lines indicating the boundaries of the voxels, nor is there a need to display the sides of the terrain object thickly.

[0074] In addition, the terrain object shown in FIG. 4 is generated, for example, according to the rule that "when the parameter (specifically, the density described later) included in the voxel data set for a voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and when it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". In FIG. 4, for the purpose of clearly exemplifying the relationship between the voxels and the voxel objects, the terrain object generated according to the above rule is shown. However, in the present embodiment, actually, for example, like the terrain object shown in FIG. 11 described later, the voxel object is generated according to a rule that results in a more complex shape compared to the length of one side of the voxel. Note that the rule for determining the shape of the voxel object based on the voxel data is arbitrary. In other embodiments, the game system 1 may generate a voxel object as shown in FIG. 4 or a voxel object as shown in FIG. 11 based on the voxel data.

[0075] Regarding the voxel object, its shape can be changed by changing the voxel data of each voxel. FIGS. 5 and 6 are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 4 is erased. That is, when the hatched part of the terrain object shown in FIG. 5 is erased, the terrain object changes to the shape shown in FIG. 6. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data for the voxels in the hatched part to indicate that no terrain object exists. Note that when the game system 1 adds a terrain object, it can also easily change the shape of the terrain object by changing the voxel data of each voxel, in the same way as when erasing the terrain object.

[0076] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, in the game, the terrain object may be destroyed for some reason (for example, the player object strikes the terrain object, etc.), resulting in a change in the shape of the terrain object. In such a case, instead of directly changing the data indicating the outer shape of the terrain object (that is, the mesh described later), the game system 1 can freely change the shape of the terrain object by changing the voxel data used for generating the terrain object.

[0077] FIG. 7 is a diagram showing an example of the content of voxel data and the content of material information. Here, in the present embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 stores by associating voxel data with each voxel in the game space. The voxel data indicates the presence or absence of a voxel object in the voxel corresponding to the voxel data.

[0078] As shown in FIG. 7, the voxel data includes density data. The density data indicates the density, which is an index used to define the shape of the voxel object in the voxel corresponding to the voxel data (specifically, the shape defined by the mesh described later). Although details will be described later, the position and shape of the surface of the voxel object (that is, the mesh described later) are determined based on the above density. That is, in the present embodiment, the above density is used to create a mesh that defines the surface of the voxel object.

[0079] In this embodiment, the density can take an integer value in the range from a lower limit value (e.g., 0) to an upper limit value (e.g., 255). In this embodiment, in the game system 1, when the value of the density set for a voxel is high, the ratio of the volume occupied by the voxel object in the voxel tends to be large, and when the value of the density is low, the ratio tends to be small. The shape of the voxel object is determined based on the density. Thus, the density is an index that affects the ratio of the volume occupied by the voxel object in the voxel. It can also be said that the density is an index indicating the degree to which an object is included in the region defined by each voxel. For example, when the density is 0, there is no voxel object in the voxel, when the density is 255, all of the voxel is the voxel object, and when the density is a value between 0 and 255, the voxel object can occupy the voxel at a ratio corresponding to the value. Then, based on the above density, the shape of the mesh, that is, the shape of the voxel object, can be determined. However, the voxel object generated based on the above density does not necessarily have a volume that exactly matches the ratio indicated by the density. For example, even when based on the same density, the volume of the voxel object may be different between the method of generating a voxel object as shown in FIG. 8 and the method of generating a voxel object as shown in FIG. 15.

[0080] In other embodiments, the density may indicate either a state in which the voxel object occupies the entire region within the voxel or a state in which the voxel object is not included in the region within the voxel. For example, the density data may be data that can only take 0 or 1.

[0081] As shown in FIG. 7, the voxel data includes material data. The material data indicates the material (in other words, the substance) of the voxel object generated from the voxel data. Here, in the present embodiment, materials such as sand, rock, and soil are set for the voxel object. That is, in the present embodiment, a plurality of types of materials are prepared as materials that can be set for the voxel object, and any one of the plurality of types of materials is set for the voxel object.

[0082] As shown in FIG. 7, in the present embodiment, the material data indicates identification information of the material (referred to as "material ID"). Further, in the present embodiment, the game system 1 stores material information indicating the properties and textures of the materials prepared in the game for each material (see FIG. 7). In the present embodiment, the material information associates the material ID, the properties of the material, and the appearance of the material (specifically, the texture). Specifically, the material information is information that associates the material ID, identification information of the properties of the material (referred to as "property ID"), and identification information of the texture of the material (referred to as "texture ID") (see FIG. 7).

[0083] FIG. 8 is a diagram showing an example of property information indicating the properties of materials. As shown in FIG. 8, the game system 1 stores property information associating the above property ID and information indicating the content of the property indicated by the property ID. The properties of the material are the properties that the voxel object in which the material is set has in the game (which can also be said to be properties that can affect the progress of the game.), for example, information such as the weight and slipperiness shown in FIG. 8. Note that in this specification, the properties of the material do not include information regarding the appearance such as the texture. For example, the following information may be set as the properties of the material. · Temperature · Fragility (for example, the number of times the voxel object breaks until it breaks when an impact is applied to the voxel object) ·Whether or not another object is adhered to the voxel object ·The amount of recovery of the player object's physical strength when the player object destroys the voxel object ·The amount of in-game currency that the player object obtains when the player object destroys the voxel object Note that the specific content of the properties set for the material is arbitrary. In other embodiments, information different from the above may be set as information indicating the properties of the material.

[0084] FIG. 9 is a diagram showing an example of texture information indicating the texture of the material. As shown in FIG. 9, the game system 1 stores texture information associating the above texture ID with the texture indicated by the texture ID.

[0085] Note that, as data defining the appearance of the voxel object, in addition to the texture information, any information regarding color and / or pattern may be set. For example, as information regarding the appearance of the voxel object, a crack pattern may be set. By using such a pattern, the game system 1 can generate an image of a voxel object representing an appearance with cracks.

[0086] As described above, in the present embodiment, the material data defines the properties of the voxel object and the texture used for the voxel object by the material ID. For example, when the material ID indicated by the material data included in the voxel data is "002", the property indicated by the property ID "001" associated with the material ID in the material information is set as the property of the voxel object corresponding to the voxel data (see the arrow shown in FIG. 7). Also, in the above case, the texture indicated by the texture ID "002" associated with the material ID in the material information is applied to the voxel object corresponding to the voxel data (see the arrow shown in FIG. 7).

[0087] As described above, in the present embodiment, the game system 1 manages the properties of materials and textures separately. Therefore, in the present embodiment, by setting a combination of properties and textures in the material information, it is possible to easily set a plurality of types of materials having the same properties but different appearances (i.e., textures), or a plurality of types of materials having different properties but the same appearance.

[0088] Note that the material data may be any data that can identify the properties and / or textures of the material. For example, in other embodiments, the material data may indicate the above property ID and texture ID, or may have a data structure that actually includes data indicating the properties and textures of the material.

[0089] Further, the material data may be information regarding the material and may further indicate other information different from the above properties and textures. For example, the material data may include effect data indicating an effect that occurs when an effect generation condition (for example, a part of the voxel object is destroyed, or a character steps on the voxel object) set for the voxel object is satisfied. Note that the effect data may be data indicating an effect image (for example, an effect image representing that the voxel object has been destroyed), or may be data indicating an effect sound (the sound of footsteps when a character walks on the voxel object).

[0090] As shown in FIG. 7, the voxel data includes state data indicating the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data may be data indicating whether the voxel object is in a wet state, or may be data indicating the amount of damage applied to the voxel object. The content of the state data may be updated during the game.

[0091] [2-2. Mesh] In this embodiment, the surface of the voxel object is represented by a mesh. A mesh is a collection of a plurality of faces (specifically, polygons) arranged in the game space. In this embodiment, the game system 1 generates a mesh of the voxel object based on the voxel data of each voxel set in the game space. Hereinafter, an example of generating a mesh based on voxel data will be described.

[0092] FIG. 10 is a diagram showing an example of a method for generating a mesh. Note that in FIG. 10, for the purpose of making the drawing easy to view and the explanation easy to understand, the voxels and the mesh are represented two-dimensionally, but actually a three-dimensional mesh is generated based on the voxels in the three-dimensional space.

[0093] As described above, in this embodiment, the density set for each voxel is set within the range of 0 to 255. Also, in this embodiment, voxels with a density equal to or higher than the reference value are considered to be within the object, and voxels with a density lower than the reference value are considered to be outside the object. It is not necessary to define only voxels with a density of 0 as being outside the object (i.e., reference value = 1), and the reference value can be, for example, 128. In the example shown in FIG. 10, the density of voxel 201 and other outer voxels is 0, the density of voxel 202 is 100 which is lower than the reference value, and the densities of voxels 203 and 204 are set to 150 and 200 which are equal to or higher than the reference value. In this embodiment, the game system 1 generates vertices between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value. Specifically, for each region spanning eight (four in the drawing) adjacent voxels (the region surrounded by the dotted line in the drawing), it is determined whether to generate a vertex. That is, vertices are generated in regions that span both voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value. Further, when the boundary between adjacent vertices (the boundary of the above-described region including each vertex) passes between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value, a polygon mesh is generated by connecting those vertices. The coordinates of the vertices are determined by comparing the densities of adjacent voxels for each of the X, Y, and Z axes and performing interpolation based on the density difference. At this time, coordinate calculation can be further performed based on the normal information. The normal information may be retained in advance for at least some of the voxels, or if it is not retained, the normal information may also be calculated based on the densities of adjacent voxels. In FIG. 10, since the density of voxel 202 is lower than the reference value, voxel 202 is treated as being outside the object in the determination of the presence or absence of vertices, but the density value of voxel 202 itself is used for the coordinate calculation of the generated vertices. If the reference value is set to a value lower than the density of voxel 202, more vertices will be added to the upper right and upper left sides of voxel 202 in FIG. 10.

[0094] By generating a polygon mesh as described above, a shape having a volume that reflects the density for each voxel to some extent can be generated. However, depending on the relationship with adjacent voxels, there may be cases where a voxel with a density of 0 includes a region within a part of the object, or a voxel with a density of 255 includes a region outside a part of the object. Also, in this embodiment, since voxels with a value less than the reference value are processed as outside the object, the volume becomes smaller by the amount that the number of vertices is reduced compared to the case of processing them as inside the object. That is, it is not necessary to calculate the polygon mesh so as to have a volume that exactly corresponds to the density value.

[0095] FIG. 11 is a diagram showing an example of a game image including a terrain object. In this embodiment, by generating a mesh as described above, a voxel object can be made into a shape with complex irregularities compared to, for example, the length of one side of a voxel.

[0096] Note that the method of generating a mesh based on voxel data is arbitrary. For example, in another embodiment, when the density of voxel data is greater than a predetermined value, the mesh may be generated such that a cube is arranged in the voxel corresponding to the voxel data (see FIG. 4).

[0097] For each face of the mesh generated as described above, the game system 1 determines the appearance (i.e., color and / or pattern) of each face according to the material specified by the voxel data. Specifically, the game system 1 determines the texture to be used for rendering each face of the mesh based on the voxel data, and generates an image of the voxel object by mapping the determined texture to each face. Note that the texture mapped to each face of the mesh is determined based on the voxel data of the voxel (referred to as the generation target voxel) used to generate the face among the voxels where the voxel object exists. Note that the generation target voxel depends on the method of generating the mesh, and is, for example, one or more voxels arranged around the face. That is, the texture mapped to the face of the mesh is determined to be a texture corresponding to the material set for one or more voxels arranged around the face.

[0098] In other embodiments, one voxel data may include multiple types (e.g., two types) of material data. At this time, the voxel data includes ratio data regarding the multiple types of material data. The ratio data is data for determining the texture to be used for the voxel object, and indicates the ratio in which each material (specifically, the texture corresponding to the material) indicated by the multiple types of material data affects the appearance (specifically, color and / or pattern) of the voxel object. Also, when determining the texture mapped to each face of the mesh, the texture is determined based on various data (specifically, density data, multiple types of material data, and ratio data) included in the voxel data of the generation target voxel. For example, when multiple types of materials are set for the generation target voxel corresponding to one face, the texture corresponding to the material (one type) with the greatest degree of influence may be used in consideration of the ratio, or each texture corresponding to the multiple types of materials may be used in consideration of the ratio.

[0099] In another embodiment, there may be both a voxel object in which voxel data including one type of material data is used and a voxel object in which voxel data including two types of material data is used.

[0100] As described above, in this embodiment, the game system 1 sets the color and / or pattern of the mesh of the voxel object based on appearance data (specifically, a texture ID indicating a texture) that defines the color and / or pattern of the voxel object for each voxel. Specifically, the game system 1 applies the texture indicated by the appearance data regarding a certain voxel to the mesh generated based on the voxel data of the certain voxel among the meshes of the voxel object. According to this, the color and / or pattern of the voxel object can be set using the appearance data set for the voxel.

[0101] [2-3. Fragment Object] Next, a case where a fragment object is generated for a terrain object that is a voxel object will be described. FIG. 12 is a diagram showing an example of a state where a player object performs a punch action on a terrain object. FIG. 13 is a diagram showing an example of a terrain object partially destroyed by the punch action of the player object. As shown in FIGS. 12 and 13, in this embodiment, when an impact is applied to the terrain object 212 by a punch action or the like of the player object 211, the terrain object 212 is destroyed, and as a result, a part of the terrain object 212 may be erased. Hereinafter, an event in which a part of the terrain object 212 is erased is referred to as an erasure event. The erasure event is not limited to the punch action by the player object 211, and may occur due to other actions by the player object 211 or a collision event in which another object collides with the terrain object 212.

[0102] In this embodiment, when the terrain object 212 is deleted, a fragment object 213 representing a fragment of the terrain object 212 may be generated (see FIG. 13). For example, as shown in FIG. 13, when the terrain object 212 represents a rocky area, a fragment object 213 imitating rock fragments is generated. In this way, the game system 1 can more realistically represent the state of the terrain object being destroyed by causing the fragment object to appear in the game space when the terrain object is deleted.

[0103] [2-3-1. Main Voxel Space and Sub-Voxel Space] In this embodiment, the above-mentioned fragment object is a voxel object whose shape is defined by voxel data, similar to the terrain object. However, in this embodiment, the shape of the fragment object is defined by voxel data related to voxels different from those of the terrain object. Hereinafter, the voxel space related to the terrain object is called the "main voxel space", the voxels in the main voxel space are called "main voxels", and the voxel data set in the main voxels is called "main voxel data". On the other hand, the voxel space related to the fragment object is called the "sub-voxel space", the voxels in the sub-voxel space are called "sub-voxels", and the voxel data set in the sub-voxels is called "sub-voxel data". In this embodiment, the shape of the terrain object is defined by the main voxel data, and the shape of the fragment object is defined by the sub-voxel data.

[0104] FIG. 14 is a diagram showing an example of a terrain object and a fragment object. In FIG. 14, for the purpose of clearly showing the difference between the main voxel and the sub-voxel, the voxel objects (i.e., the terrain object 221 and the fragment object 222) for which the mesh is generated by the same rule as the case where the mesh of the terrain object shown in FIG. 4 is generated are shown. That is, it is assumed that the mesh of the voxel object shown in FIG. 14 is generated by the rule of "placing a cube at the position of the voxel when the density set for the voxel is greater than a predetermined value, and not placing anything at the position of the voxel when it is less than or equal to the predetermined value". In FIG. 14, for the purpose of making the drawing easier to view, the terrain object 221 is shown by a dotted line, the fragment object 222 is shown by a solid line, and the region 223 of the sub-voxel space is shown by a broken line.

[0105] As described above, for the terrain object 221, the shape is defined by the main voxel data. In this embodiment, it is assumed that the main voxel space is set for the entire game space (therefore, the range of the main voxel space is not shown in FIG. 14).

[0106] On the other hand, for the fragment object 222, the shape is defined by the sub-voxel data. Here, in this embodiment, the sub-voxel space is set in a part of the game space (which can also be said to be a part of the main voxel space). In the example shown in FIG. 14, the region 223 shown by the broken line is the range where the sub-voxel space is set. The fragment object 222 is defined by the sub-voxel data set for each sub-voxel set in the sub-voxel space. The fragment object 222 will be arranged within the range of the sub-voxel space.

[0107] In this embodiment, the length of one side of the sub-voxel is set to be shorter than the length of one side of the main voxel (see FIG. 14). That is, the game system 1 sets a sub-voxel space that defines a voxel with a shorter side length than the main voxel as a sub-voxel. According to this, the shape of the fragment object based on the sub-voxel data can be expressed in finer detail than the terrain object based on the main voxel data. For example, as shown in the fragment object 222 in FIG. 14, it becomes easier to generate a fragment object smaller than one main voxel, and it also becomes easier to generate a fragment object having finer unevenness than one main voxel. In other embodiments, the length of one side of the sub-voxel may be the same as the length of one side of the main voxel, or may be longer than the length of one side of the main voxel.

[0108] Also, in this embodiment, the game system 1 sets the direction of the coordinate axes in the sub-voxel space (that is, the direction of each side of the sub-voxel) independently of the direction of the coordinate axes in the main voxel space (that is, the direction of each side of the main voxel). For example, in the example shown in FIG. 14, the direction of the coordinate axes in the sub-voxel space is different from the direction of the coordinate axes in the main voxel space. According to this, it becomes easier to arrange the fragment object in a free orientation in the game space. For example, it becomes easy to arrange the fragment object so as to extend in a direction different from the coordinate axes in the main voxel space. Also, it becomes easy to move (for example, rotate) the fragment object independently of the terrain object.

[0109] Note that the game system 1 can change the position of the fragment object (more precisely, the position in the game space) by changing the position of the sub-voxel space in the game space. Also, the game system 1 can change the orientation of the fragment object (more precisely, the orientation in the game space) by changing the orientation of the sub-voxel space with respect to the game space.

[0110] In this embodiment, when a plurality of fragment objects are generated, the game system 1 sets a sub-voxel space for each fragment object. As a result, the position and orientation of each sub-voxel space in the game space can be set for each sub-voxel space. In addition, it becomes easier to generate a plurality of fragment objects having different shapes (for example, a plurality of fragment objects having shapes extending in different directions from each other). Note that the sub-voxel spaces may be arranged such that a part of one sub-voxel space overlaps with a part of another sub-voxel space. Further, in other embodiments, a plurality of fragment objects may be set in one sub-voxel space.

[0111] Note that the method for generating the mesh of the fragment object based on the sub-voxel data may be the same as or different from the method for generating the mesh of the terrain object based on the main voxel data.

[0112] [2-3-2. Deletion of Terrain Object] In this embodiment, the terrain object can be erased when an impact - applying event is performed on the terrain object. The impact - applying event is an event in which an impact is applied to the terrain object. For example, it is a destruction - action event in which a destruction action by a player object is performed on the terrain object, or a collision event in which another object (referred to as a collision object) collides with the terrain object. The above - mentioned destruction action is an action for destroying the terrain object by the player object, such as the punch action described above. The collision event is, for example, an event in which a character such as a player object swings around with a collision object or throws the collision object (these actions can also be said to be destruction actions), and then the collision object collides with the terrain object. Note that the above - mentioned collision object may be any object arranged in the game space. For example, it may be a weapon owned by the player object, or a fragment object may function as a collision object (details will be described later).

[0113] Note that the impact - applying event in which the terrain object can be erased is not limited to the above. For example, when the player object can use a bomb as an item, an event in which the bomb explodes near the terrain object may be performed as the impact - applying event, and the terrain object may be erased in response to this event.

[0114] In this embodiment, when the above impact - applying event occurs, the game system 1 determines whether or not an erasure condition is satisfied. Here, in this embodiment, the intensity is set for each voxel of the terrain object, and for the impact - applying event as well, the intensity is set according to the type of the impact - applying event. The type of the impact - applying event is determined to be different, for example, according to the type of the destruction action performed in the impact - applying event, or the type of the collision object that collided with the terrain object in the impact - applying event. The game system 1 determines whether or not the erasure condition is satisfied based on these intensities. Note that in this embodiment, it is assumed that the intensity of the terrain object is set as one of the properties of the material described above. That is to say, the above property ID can be said to be data indicating the intensity of the terrain object. In this embodiment, the intensity can take an integer value from 1 to the upper limit value.

[0115] Also, in this embodiment, the erasure condition is set according to the relationship between the intensity A of the destruction side (i.e., the impact - applying event) and the intensity B of the side to be destroyed (i.e., the terrain object). Specifically, the game system 1 determines the erasure condition as follows in (a) - (c) below. (a) When the intensity A of the destruction side is equal to or greater than the intensity B of the side to be destroyed (i.e., when A ≥ B), it is determined that the erasure condition is satisfied. (b) When the value obtained by adding 1 to the intensity A of the destruction side is equal to the intensity B of the side to be destroyed (i.e., when A + 1 = B), damage corresponding to the type of the destruction action and the collision object is given to the terrain object, and when the damage to the terrain object becomes equal to or greater than the reference value, it is determined that the erasure condition is satisfied. (c) When the value obtained by adding 1 to the intensity A of the destruction side is less than the intensity B of the side to be destroyed (i.e., when A + 1 < B), no damage is given to the terrain object (as a result, the erasure condition is not satisfied). In this embodiment, the damage to the terrain object is managed for each main voxel. That is, the game system 1 stores, for each main voxel, the data indicating the value of the above-mentioned damage as the above-mentioned state data included in the main voxel data.

[0116] From the above, in this embodiment, when the strength A on the destruction side is the same as or greater than the strength B on the side to be destroyed (the above (a)), the erasure condition is satisfied due to the occurrence of the impact application event. Also, when the strength A on the destruction side is slightly smaller than the strength B on the side to be destroyed (the above (b)), the erasure condition is satisfied by the occurrence of the impact application event several times for the same position of the terrain object (that is, the same main voxel). That is, in this case, a part of the terrain object is erased according to the occurrence of the impact application event a certain number of times for a certain part. Also, when the strength A on the destruction side is much smaller than the strength B on the side to be destroyed (the above (c)), the erasure condition is not satisfied even if the impact application event occurs.

[0117] The game system 1 determines the erasure condition for each main voxel. Specifically, when the impact application event is performed, for each main voxel within the range corresponding to the impact application event, a determination of the erasure condition is made based on the strength of the impact application event and the strength set for the main voxel. Note that the range corresponding to the impact application event is, for example, the influence range of the destruction action set according to the destruction action, or the influence range of the collision event set according to the type of the collision event. Specifically, when a punch action is performed as the destruction action, the position where the punch of the player object hits the terrain object and a predetermined range including the position are the above-mentioned "range corresponding to the impact application event".

[0118] As described above, in this embodiment, when an impact application event that applies an impact to the main object (i.e., the terrain object) occurs, the game system 1 determines whether the deletion condition is satisfied (i.e., whether a deletion event occurs) based on the intensity of the impact application event set according to the type of the impact application event and the intensity indicated by the intensity data set for the main voxel where the impact application event occurs. According to this, even when the same impact application event occurs, the presence or absence of the occurrence of the deletion event changes according to the intensity of the main object, or even when an impact application event is performed on the same main object, the presence or absence of the occurrence of the deletion event changes according to the intensity of the impact application event. As a result, the occurrence of the deletion event corresponding to the impact application event can be made more natural.

[0119] When it is determined that the deletion condition is satisfied, the game system 1 executes a deletion event to delete a part of the terrain object. In the deletion event, the game system 1 sets the main voxels within the range corresponding to the impact application event as the voxels to be deleted, and deletes the terrain object within the voxels to be deleted. Specifically, the game system 1 sets the density in the voxels to be deleted to 0. In addition, the game system 1 deletes a part of the terrain voxels for the voxels around the voxels to be deleted (for example, the voxels partially covered by the above range, or the voxels adjacent to the voxels to be deleted). Specifically, the game system 1 subtracts the density in the voxels around the voxels to be deleted based on a predetermined rule. The content of this rule is arbitrary. For example, the game system 1 subtracts the density in the surrounding voxels so that the shape of the terrain object after deletion does not become unnatural at the boundary between the voxels to be deleted and the surrounding voxels.

[0120] Note that the method of erasing the terrain object in the erasing event is arbitrary. For example, in other embodiments, the game system 1 may erase the terrain object only for the voxels to be erased within the range corresponding to the impact - applying event. Also for example, the game system 1 may use, as the voxels to be erased, the voxels at least partially included in the range corresponding to the impact - applying event.

[0121] Also, the size and / or shape of the above - mentioned "range corresponding to the impact - applying event" may be set for each type of the impact - applying event. For example, the range may be set differently when the impact - applying event is an event caused by a punch action by a player object and when the impact - applying event is an event caused by a specific collision object colliding with the terrain object.

[0122] [2 - 3 - 3. Fragment generation conditions] When an erasing event occurs, the game system 1 determines whether the terrain object to be erased satisfies the fragment generation conditions. Here, in this embodiment, the game system 1 stores fragment generation information indicating various information related to the generation of fragment objects, and based on the fragment generation information, executes processes related to the generation of fragment objects (for example, a process of determining the fragment generation conditions and a process of generating fragments).

[0123] FIG. 15 is a diagram showing an example of the fragment generation information. As shown in FIG. 15, the fragment generation information associates the type of the erasing event with various information related to the generation of fragment objects (specifically, the fragment generation conditions, the size of the fragment object, and the upper limit number of the fragment objects).

[0124] In the example shown in FIG. 15, examples of the types of deletion events include "normal punch", "strong punch", "swinging debris", "throwing debris", and "bomb". "Normal punch" refers to a deletion event generated by an impact-imparting event caused by a normal punch action by a player object. "Strong punch" refers to a deletion event generated by an impact-imparting event caused by a punch action with higher power than normal by a player object. Thus, the type of deletion event (which can also be said to be the type of impact-imparting event) differs depending on the type of destruction action. Also, "swinging debris" refers to a deletion event generated by a collision event caused by an action where a player object swings a debris object as a collision object (i.e., the action of swinging debris). "Throwing debris" refers to a deletion event generated by a collision event caused by an action where a player object throws a debris object as a collision object (i.e., the action of throwing debris). Thus, the type of deletion event (which can also be said to be the type of impact-imparting event) also differs depending on the type of collision event. Also, "bomb" refers to a deletion event generated by the explosion of a bomb. As described above, the type of deletion event differs depending on the type of impact-imparting event.

[0125] In the present embodiment, as shown in FIG. 15, the debris generation information indicates the presence or absence of debris generation conditions and the content of the debris generation conditions for each type of deletion event. In the example shown in FIG. 15, when the type of deletion event is "normal punch", the debris generation condition is "the strength of the side to be destroyed is 2 or more". That is, when a deletion event of "normal punch" occurs, the game system 1 generates debris if the strength of the side to be destroyed (i.e., the terrain object) is 2 or more. Also, when the type of deletion event is "swinging debris" or "throwing debris", the debris generation condition is "the strength of the side to be destroyed is 2 or more and the strength of the side to be destroyed is greater than the strength of the destroying side". Thus, in the present embodiment, the debris generation conditions (content) differ depending on the type of deletion event.

[0126] In this embodiment, the strength of the object to be destroyed used for determining the fragment generation conditions is the strength set for the voxels to be erased (i.e., the strength indicated by the property ID shown in the voxel data of the voxels to be erased). When there are multiple types of strength values set for multiple voxels to be erased, the game system 1 may determine the strength of the object to be destroyed based on these multiple types of strength values. For example, the game system 1 may use the average value, minimum value, or maximum value of the multiple types of strength values as the strength of the object to be destroyed.

[0127] Also, in the example shown in FIG. 15, when the type of the erasure event is "strong punch" or "bomb", the fragment generation conditions are not set. That is, when a "strong punch" or "bomb" erasure event occurs, the game system 1 does not generate fragments. Thus, in this embodiment, whether fragments are generated is determined according to the type of the erasure event. In other embodiments, fragment generation information may be set so that fragments are always generated when a specific type of erasure event occurs.

[0128] As described above, in this embodiment, the content of the fragment generation conditions differs according to the type of the erasure event. That is, the game system 1 executes the setting of the conditions used as the fragment generation conditions based on the type of the occurred erasure event. Also, in this embodiment, whether fragments are generated (i.e., the determination result of the fragment generation conditions) differs according to the type of the erasure event. That is, the game system 1 determines whether the fragment generation conditions are satisfied based on the type of the occurred erasure event. In other embodiments, the game system 1 may execute only one of the setting of the conditions used as the fragment generation conditions and the determination of whether the fragment generation conditions are satisfied based on the type of the occurred erasure event. According to the above, variations according to the type of the erasure event can be provided for the conditions under which fragments are generated. Also, the conditions under which fragments are generated can be set in detail for each type of the erasure event.

[0129] In this embodiment, when an erasure event occurs due to an impact application event, the game system 1 determines the type of the erasure event based on the type of the impact application event. That is, it can be said that the fragment generation conditions differ according to the type of the impact application event, and it can also be said that whether fragments are generated or not differs according to the type of the impact application event. Therefore, in this embodiment, the conditions for generating fragments can have variations according to the type of the impact application event, and the conditions for generating fragments can be set in detail for each type of the impact application event.

[0130] Also, in this embodiment, when a first impact application event by an action of causing a collision object held by the player object to collide with the main object (that is, an action of swinging fragments) occurs in the game system 1, and when a second impact application event by an action of causing the collision object to collide with the main object by moving the collision object toward the main object by the player object (an action of throwing fragments) occurs, it is determined that different types of erasure events have occurred. According to this, even when the same collision object collides with the main object, the generation result of the fragment object can be made different by the action of the player object.

[0131] Also, in the present embodiment, the game system 1 determines whether the fragment generation conditions are satisfied based on the intensity corresponding to the type of the generated deletion event (i.e., the intensity of the impact application event) and the intensity indicated by the property data set in the deletion target voxel where the deletion event occurred. Even when the same deletion event is performed, the generation result of the fragment object changes according to the intensity of the main object, or even when the deletion event is performed on the same main object, the generation result of the fragment object changes according to the intensity of the deletion event. In this way, the generation result of the fragment object can be made different according to the properties (specifically, the intensity) of the destruction side and the destructed side. As a result, the generation of the fragment object according to the deletion event can be made more natural.

[0132] [2-3-4. Generation of Fragment Object] When the above fragment generation conditions are satisfied, the game system 1 generates a fragment object. In the present embodiment, when generating a fragment object, the game system 1 first determines the size level of the fragment object and the upper limit number of the fragment objects. In the present embodiment, as shown in FIG. 15, in the fragment generation information, the size level and the upper limit number of the fragment objects are associated for each type of the deletion event. The game system 1 determines the size level and the upper limit number of the fragment objects based on the type of the deletion event and the fragment generation information.

[0133] In this embodiment, the size level of the fragment object is determined to be one of three levels: large, medium, and small. The game system 1 generates a fragment object such that the size of the actually generated fragment object falls within a range corresponding to the determined level. For example, when the size level is "large", it is within the range of 160 to 300; when the size level is "medium", it is within the range of 30 to 120; and when the size level is "small", it is within the range of 5 to 12. In this way, in this embodiment, the ranges corresponding to each level are set so as not to overlap with each other. This makes it easier for the user to understand the size level of the generated fragment object. For example, when different processes are executed according to the size level of the fragment object in the game, it is effective to make the size level of the generated fragment object as easy to understand as described above.

[0134] From the above, in this embodiment, the game system 1 generates a sub-object (i.e., a fragment object) having a size corresponding to the type of the generated deletion event. According to this, the size of the fragment object can be made different according to the type of the deletion event, and the size of the fragment object can be set in detail for each type of the deletion event. Note that the game system 1 may determine the size based on other information instead of (or together with) the type of the deletion event. For example, in other embodiments, the size may be determined based on the nature (e.g., strength) of the object on the destruction side and / or the object on the side to be destroyed.

[0135] Also, in this embodiment, the game system 1 determines the number (specifically, the upper limit number) of sub-objects (i.e., fragment objects) to be generated based on the type of the generated deletion event. According to this, it is possible to provide variations according to the type of the deletion event for the number of fragment objects to be generated. Also, the number of fragment objects to be generated can be set in detail for each type of deletion event. Note that the game system 1 may determine the number based on other information instead of (or together with) the type of the deletion event. For example, in other embodiments, the number may be determined based on the nature (e.g., strength) of the object on the destruction side and / or the object on the side to be destroyed.

[0136] In other embodiments, the game system 1 may determine other information regarding the fragment object instead of (or in addition to) the above-described size level and number based on the type of the deletion event and / or other information. For example, the direction in which the fragment object scatters may be determined based on the type of the deletion event.

[0137] When the size level and the upper limit number of the fragment object are determined as described above, the game system 1 generates the fragment object. In this embodiment, the game system 1 generates the fragment object based on the deletion part of the voxel object (specifically, by dividing the deletion part). Hereinafter, an example of a method for generating a fragment candidate object will be described with reference to FIG. 16.

[0138] FIG. 16 is a diagram showing an example of a method for generating fragment objects. In the present embodiment, the game system 1 first generates an erased portion object 231 corresponding to an erased portion due to an erasure event among terrain objects (see the column (a) in FIG. 16). Next, the game system 1 generates a plurality of divided objects (in FIG. 16, four divided objects 232 to 235) by dividing the erased portion object 231 (see the column (b) in FIG. 16). Note that the specific method of division is arbitrary. For example, the erased portion object 231 may be divided by Voronoi division. Note that the game system 1 may perform the division based on the size level determined above (for example, so that at least some of the divided objects have a size within the range corresponding to the level). Also, the game system 1 may perform the division based on the upper limit number determined above (for example, so that the number of divided objects is equal to the upper limit number or a number obtained by adding a predetermined number to the upper limit number).

[0139] Next, the game system 1 deletes some of the plurality of divided objects 232 to 235 obtained by division as necessary (see the column (c) in FIG. 16). Specifically, the game system 1 may delete a divided object outside the range corresponding to the size level determined above among the plurality of divided objects 232 to 235. Also, the game system 1 may delete some divided objects from the plurality of divided objects 232 to 235 so that the number is equal to or less than the upper limit number determined above. In the example shown in FIG. 16, among the four divided objects 232 to 235, the divided object 235 is deleted. In the present embodiment, among the plurality of divided objects 232 to 235, the non-deleted objects 232 to 234 become fragment objects. By the above, fragment objects can be generated so as to satisfy the determined size level and number. Note that when the plurality of divided objects obtained by division satisfy the determined size level and number, the game system 1 may not execute the process of deleting the plurality of divided objects.

[0140] The process of dividing the above-described erased portion object may be performed using sub-voxel data or using a mesh. That is, the game system 1 may generate a fragment object represented by sub-voxel data by dividing the erased portion object represented by the sub-voxel data, or may generate a fragment object composed of a mesh by dividing the erased portion object composed of a mesh. In the former case, for example, in order to generate a divided object by Voronoi division, a process of determining the parent point closest to the sub-voxel among a plurality of set parent points is executed for each sub-voxel, and one or more sub-voxels belonging to one parent point are regarded as one divided object, whereby the divided object can be generated. At this time, the fragmented object after division is represented by sub-voxel data. On the other hand, in the latter case, since the fragmented object obtained by division is composed of a mesh, the game system 1 generates sub-voxel data of the fragmented object based on the mesh of the fragmented object.

[0141] As described above, in the present embodiment, when it is determined that the fragment generation condition is satisfied, the game system 1 generates an erased portion object representing the erased portion of the main object (that is, the terrain object), and generates a sub-object (that is, a fragment object) by dividing the erased portion object into a plurality. According to this, a fragment object conforming to the shape of the erased portion of the main object can be generated.

[0142] In addition, the game system 1 generates sub-voxel data such that, among the objects (split objects 232 to 235 shown in FIG. 16) obtained by dividing an erased partial object into a plurality of parts, the objects within a range greater than the lower limit value and less than the upper limit value become sub-objects (i.e., fragmented objects). This can reduce the possibility of generating fragmented objects that are too large or too small. Also, by reducing the number of generated fragmented objects, the processing load on the game system 1 can be reduced.

[0143] As described above, in this embodiment, when a plurality of fragmented objects are generated, the game system 1 sets a sub-voxel space for each fragmented object. That is, when it is determined that a plurality of fragmented objects are to be generated, the game system 1 generates sub-voxel data regarding the fragmented objects for each of a plurality of mutually independent sub-voxel spaces. And, although details will be described later, the game system 1 generates a mesh of the sub-object in the virtual space based on each sub-voxel data.

[0144] Note that the game system 1 sets the sub-voxel space regarding the fragmented object, for example, as follows. That is, the position of the sub-voxel space is set based on the position where the erasure event occurred (i.e., the position where the terrain object was erased). The orientation of the sub-voxel space is set based on the orientation of the part to be erased with respect to the part of the terrain object that is not erased. The size of the sub-voxel space may be determined based on the type of the erasure event that caused the generation of the fragmented object, may be determined based on the size of the fragmented object, or may be determined based on the nature (e.g., strength) of the object on the destruction side and / or the object on the side to be destroyed.

[0145] Also, in this embodiment, the length of one side of a sub-voxel in each sub-voxel space for each fragment object is predetermined and is the same in each sub-voxel space. However, in other embodiments, the length of one side of a sub-voxel in each sub-voxel space may be set for each fragment object. For example, in other embodiments, the length of one side of a sub-voxel may be determined based on the type of deletion event, may be determined based on the size of the fragment object, or may be determined based on the nature (e.g., strength) of the object on the destruction side and / or the object on the side to be destroyed.

[0146] Also for example, the length of one side of a sub-voxel may be set to be different for each fragment object by the process described below. Specifically, when the size of the divided object obtained by dividing the above-described deleted partial object is not included in any of the above size ranges, the game system 1 performs correction to enlarge or reduce the divided object so that the value is within any of the size ranges, and the corrected divided object may be used as a fragment object. At this time, the game system 1 may correct the size of the divided object by correcting the size of the sub-voxel space of the divided object. When correcting the size of the sub-voxel space in this way, the length of one side of a sub-voxel will be different for each fragment object.

[0147] When the above-described fragment object is generated, the game system 1 generates a mesh not only for the terrain object which is the main voxel object but also for the fragment object which is the sub-voxel object. Also, when generating the game image in the above case, the game system 1 generates an image representing the game space including the main voxel object and the fragment object.

[0148] Here, in the present embodiment, for the fragment object as well as for the terrain object, a material is set (specifically, properties and texture are set). In the present embodiment, the material of the fragment object is set based on the material of the original terrain object (specifically, the material of the portion that is erased when the fragment object is generated). Specifically, when there is one type of material in the erased portion of the terrain object, the material of the fragment object is set to be the same as the material of the original terrain object. That is, the properties of the fragment object are set to be the same as the properties of the original terrain object, and the texture of the fragment object is set to be the same as the texture of the original terrain object. Also, when there are multiple types of materials in the erased portion of the terrain object, the material of the fragment object may be set to be the same as the material with the highest proportion included in the erased portion, or the material of the fragment object may be set to be the same as the material at the position where the impact - imparting event occurred (for example, the position where it contacted the collision object). Note that in other embodiments, the properties and / or texture of the fragment object may be set to be different from the properties and / or texture of the original terrain object based on the properties and / or texture of the original terrain object.

[0149] As described above, in the present embodiment, the game system 1 determines the appearance data (i.e., texture ID) set for the sub-voxels related to the sub-object (i.e., the fragment object) based on the appearance data set for the portion erased from the main object (i.e., the terrain object). Also, the game system 1 determines the property data (i.e., property ID) set for the sub-voxels related to the sub-object (i.e., the fragment object) based on the appearance data set for the portion erased from the main object (i.e., the terrain object). According to this, it is possible to generate a fragment object having a property and / or appearance corresponding to the erased terrain object.

[0150] In the present embodiment, the state data included in the sub-voxel data related to the fragment object is set to a predetermined initial value. However, in other embodiments, the state data related to the fragment object may be set based on the content indicated by the state data of the original terrain object (for example, so as to be the same as the content).

[0151] When a fragment object is generated, the game system 1 causes the fragment object to appear at the position where the terrain object in the game space has been erased, and then moves the fragment object in the scattering direction from that position. Thereby, it is possible to express the state where fragments scatter according to the tomb of the terrain object. Note that the above scattering direction may be determined based on the type of the erasure event, may be determined based on the properties of the object on the destruction side and / or the object on the destroyed side, or may be determined in a predetermined direction.

[0152] As described above, in this embodiment, when a terrain object is deleted and a fragment object is generated, the fragment object will be placed in the game space. Here, in this embodiment, the player object can destroy the terrain object using the fragment object placed in the game space. That is, the player object can destroy the terrain object by the above-described fragment-swinging action or fragment-throwing action. In this way, in this embodiment, the fragment object is treated as the above-described collision object. Specifically, when an event occurs in which a sub-object (i.e., a fragment object) collides with a main object (i.e., a terrain object) as an impact-giving event, the game system 1 determines whether or not a deletion event has occurred. According to this, since the player object can also destroy the terrain object using the fragment object obtained by destroying the terrain object, the strategic nature of the game regarding the destruction of the terrain object can be improved, and the interestingness of the game can be improved.

[0153] [2-3-5. Additional Terrain Objects by Fragment Objects] Next, referring to FIGS. 17 and 18, a case where a terrain object is added by a fragment object will be described. FIG. 17 is a diagram showing an example of a state in which a player object throws a fragment object toward a terrain object. FIG. 18 is a diagram showing an example of a state in which a terrain object is added as a result of the fragment object contacting the terrain object. In the present embodiment, as shown in FIGS. 17 and 18, for example, as a result of the fragment object 242 being thrown toward the terrain object 243 by the player object 241, the fragment object 242 may contact the terrain object 243. In such a case, the game system 1 changes the shape of the terrain object 243 so as to have a shape in which the fragment object 242 is combined with the terrain object 243 (that is, adds the terrain object 243 by the amount of the fragment object 242) under certain conditions (see FIG. 18). Hereinafter, the process of adding a terrain object by a fragment object will be described.

[0154] When the fragment object contacts the terrain object, the game system 1 first determines whether or not an addition condition is satisfied. Note that, in the examples shown in FIGS. 17 and 18, the case where the fragment object 242 contacts the terrain object 243 due to the player object 241 throwing the fragment object 242 is shown as an example, but the event that causes the fragment object to contact the terrain object is arbitrary.

[0155] The specific content of the additional conditions is arbitrary. For example, it may be a condition regarding the materials of two objects in contact (i.e., the fragment object and the terrain object), or a condition regarding properties. Specifically, the additional condition may be that one or both of the objects have the property of being addable to the other object, or that the materials of the two objects in contact are in a specific combination, or that the strengths of the two objects in contact are in a predetermined relationship. Note that the additional conditions are set so that the additional conditions and the above-described deletion conditions do not overlap and are satisfied simultaneously.

[0156] When the additional conditions are satisfied, the game system 1 changes the shape of the terrain object so that the terrain object contacted by the fragment object is added based on the contacted fragment object. That is, the game system 1 updates the main voxel data to change the shape of the terrain object.

[0157] Specifically, the game system 1 determines a main voxel (referred to as the "target addition voxel") for adding the terrain object among the main voxels in the main voxel space. The target addition voxel is determined based on the position where the fragment object and the terrain object are in contact and the shape of the fragment object. For example, the main voxel corresponding to the contact position and the main voxel that overlaps with the fragment object at the time of contact (i.e., where the fragment object exists) become the target addition voxels.

[0158] The game system 1 may add a terrain object by increasing the density indicated by the voxel data for the determined additional target voxel. At this time, the game system 1 adjusts the value of the increasing density so that the shape of the added part becomes a shape corresponding to the shape of the fragment object. As a result, the game system 1 can change the shape of the terrain object so that the fragment object is combined with the terrain object, and can express the state where the fragment object is combined with the terrain object.

[0159] In addition, when adding a terrain object, the game system 1 deletes the fragment object from the game space. Also, since the fragment object is deleted, the game system 1 also erases the sub-voxel space itself of the fragment object (that is, the sub-voxel space is no longer set).

[0160] As described above, in this embodiment, when a sub-object (that is, a fragment object) collides with a main object (that is, a terrain object), the game system 1 updates the main voxel data based on the sub-voxel data so that the part corresponding to the sub-object in the main voxel space is added to the main object. According to this, two objects with different voxel spaces (that is, a terrain object and a fragment object) can be integrated into one object defined by the main voxel data. In addition, since the player object can add as well as erase the terrain object, the options available to the player object in the game can be increased, and the strategic nature of the game can be improved.

[0161] [3. Specific Examples of Processing in the Game System] Next, with reference to FIGS. 19 to 22, specific examples of information processing in the game system 1 will be described.

[0162] FIG. 19 is a diagram showing an example of various data used for information processing in the game system 1. As shown in FIG. 19, the game system 1 stores a game program, main voxel space data, main voxel object data, main mesh data, sub-voxel space data, sub-voxel object data, and sub-mesh data. The game program and the main voxel space data are data that are stored in the game system 1 in advance before the execution of the game process. The game program and the main voxel space data are stored, for example, in a storage medium mounted in the slot 23 of the main body device 2. Also, the main voxel object data, the main mesh data, the sub-voxel space data, the sub-voxel object data, and the sub-mesh data are data that are generated during the execution of the game process. These data are stored, for example, in the DRAM 85 of the main body device 2.

[0163] The game program is a game program for executing the game process (specifically, the game process shown in FIG. 20) in the present embodiment.

[0164] The main voxel space data is data that defines the main voxel space set in the game space. Specifically, the main voxel space data indicates the length of one side of the main voxel and the direction of each side of the main voxel in the game space. Also, when the main voxel space is set only in a partial region of the game space, the main voxel space data may include data indicating the position and size of the space (i.e., the main voxel space) in which the main voxel is set (i.e., data indicating the range in the game space where the main voxel is set).

[0165] The main voxel object data is data that indicates the main objects (i.e., terrain objects) arranged in the game space. Specifically, the main voxel object data includes main voxel data for each unit region within a part or the entire range in the game space.

[0166] The main mesh data is data indicating a mesh (i.e., the mesh of the terrain object) set for a main object arranged in the game space. The main mesh data includes, for example, data indicating the position of each vertex in the main mesh.

[0167] The sub-voxel space data is data defining a sub-voxel space set in the game space. Specifically, the sub-voxel space data indicates the position and size of the space (i.e., the sub-voxel space) where the sub-voxels are set, the length of one side of the sub-voxel, and the direction of each side of the sub-voxel in the game space.

[0168] The sub-voxel object data is data indicating a sub-object (i.e., a fragment object) arranged in the game space. Specifically, the sub-voxel object data includes sub-voxel data for each unit region within a part or all of the range in the game space.

[0169] The sub-mesh data is data indicating a mesh (i.e., the mesh of the fragment object) set for a sub-object arranged in the game space. The sub-mesh data includes, for example, data indicating the position of each vertex in the sub-mesh.

[0170] In this embodiment, the set of the above sub-voxel space data, sub-voxel object data, and sub-mesh data is set for each sub-object. That is, when a plurality of sub-objects are arranged in the game space, the game system 1 stores the above set for each sub-object.

[0171] In addition to the data shown in FIG. 19, the game system 1 stores, as data previously stored in the game system 1 before the execution of the game process, data of the above property information and texture information, data of the above fragment generation information, and data related to various characters appearing in the game.

[0172] FIG. 20 is a flowchart showing an example of the flow of game processing executed by the game system 1. The game processing shown in FIG. 20 is started, for example, in response to an instruction to start the game being given by the player during the execution of the game program.

[0173] In the present embodiment, the processor 81 of the main body device 2 executes the processing of each step shown in FIGS. 20 to 22 by executing the game program stored in the game system 1. However, in other embodiments, some of the processing of each step may be executed by a processor (for example, a dedicated circuit or the like) different from the processor 81. Further, when the game system 1 is communicable with another information processing device (for example, a server), part of the processing of each step shown in FIGS. 20 to 22 may be executed in the other information processing device. Also, the processing of each step shown in FIGS. 20 to 22 is merely an example, and the processing order of each step may be changed or another processing may be executed in addition to (or instead of) the processing of each step as long as the same result can be obtained.

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

[0175] In step S1 shown in FIG. 20, the processor 81 sets the main voxel space in the game space. Specifically, the processor 81 acquires the main voxel space data and stores (i.e., writes) it in the DRAM 85. In subsequent game processing, the processor 81 may refer to the main voxel space data when executing processing related to terrain objects (e.g., the processing in step S2). In this case, the processor 81 refers to the main voxel space data stored in the DRAM 85. The processing of step S2 is executed after step S1.

[0176] In step S2, the processor 81 sets a terrain object in the initial state in the game space. Specifically, the processor 81 acquires voxel data indicating the arrangement of the terrain object in the initial state, and stores (i.e., writes) part or all of the acquired voxel data in the DRAM 85 as main voxel object data. Note that the voxel data indicating the arrangement of the terrain object in the initial state is stored, for example, in a storage medium mounted in the slot 23 of the main body device 2. The processing of step S3 is executed after step S2.

[0177] Note that the voxel data written in the DRAM 85 as the main voxel object data may be part of the main voxel data in the entire range of the game space that is used for generating the game image. The processor 81 may, for example, generate an object image using only the main voxel data for a part of the game space (e.g., a range within a predetermined distance from the position of the virtual camera). At this time, the main voxel object data may include the voxel data within the range. Also, when the main voxel data for a part of the game space is written, the same processing as in step S2 is executed at an appropriate timing (e.g., the timing when the position of the virtual camera has moved more than a predetermined distance) during the execution of a series of processing in steps S4 to S10 described later.

[0178] In step S3, the processor 81 generates a mesh for the terrain object. The mesh is generated according to the method described in the above "[2-2. Mesh]". Here, the processor 81 generates a mesh based on the main voxel object data stored in the DRAM 85 and stores it in the DRAM 85 as the main mesh data. Through the process of step S3, the terrain object is constructed in the game space. After the above step S3, the game is started, and a series of processes from steps S4 to S10 are repeatedly executed during the game.

[0179] In step S4, the processor 81 controls the operations of various objects (for example, the player object and the enemy object) that appear in the game space. The processor 81 controls the operation of the player object based on, for example, the operation data received from each of the controllers 3 or 4, or controls the operation of the enemy object based on the algorithm defined in the game program. The process of step S5 is executed after step S4.

[0180] In step S5, the processor 81 determines whether or not the above-described impact application event has occurred as a result of the process of step S4. If the determination result of step S5 is affirmative, the process of step S6 is executed. On the other hand, if the determination result of step S5 is negative, the process of step S6 is skipped and the process of step S7 is executed.

[0181] In step S6, the processor 81 executes an erasure process for erasing a part of the terrain object. Hereinafter, with reference to FIG. 21, the detailed flow of the erasure process will be described.

[0182] Figure 21 is a sub - flowchart showing an example of the detailed flow of the deletion process in step S6 shown in Figure 20. In the deletion process, first in step S11, the processor 81 determines whether the above - mentioned deletion condition is satisfied based on the result of step S4. As described above, since the determination of the deletion condition is performed for each main voxel, in the determination of step S4, if the deletion condition is satisfied for at least one main voxel, the determination result is affirmative. If the determination result in step S11 is affirmative, the process of step S12 is executed. On the other hand, if the determination result in step S11 is negative, the processor 81 ends the deletion process shown in Figure 21.

[0183] In step S12, the processor 81 updates the main voxel data stored in the DRAM 85 so as to delete a part of the terrain object. Specifically, the processor 81 deletes a part of the terrain object by the method described in the above "[2 - 3 - 2. Deletion of Terrain Object]". The process of step S13 is executed after step S12.

[0184] In step S13, the processor 81 updates the mesh for the terrain object whose main voxel data has been changed in step S12. That is, the processor 81 generates a mesh for the terrain object based on the main voxel object data after the update in step S12. Thereby, the mesh of the terrain object can be dynamically changed during the game. The processor 81 updates the main mesh data stored in the DRAM 85 with the content indicating the newly generated mesh. The process of step S14 is executed after step S13.

[0185] In step S14, the processor 81 determines whether or not the above-described fragment generation conditions are satisfied as a result of step S4. Specifically, the processor 81 sets fragment generation conditions corresponding to the type of erasure event according to the method described in the above “[2-3-3. Fragment Generation Conditions]”, and determines whether or not the set fragment generation conditions are satisfied. If the determination result in step S14 is affirmative, the process of step S15 is executed. On the other hand, if the determination result in step S14 is negative, the processor 81 ends the erasure process shown in FIG. 21.

[0186] In step S15, the processor 81 divides the above-described erased partial object (see FIG. 16). That is, the processor 81 first determines information on the size level and the upper limit number of the fragment objects, and executes a process of dividing the erased partial object based on the determined information. The division process in step S15 is performed according to the method described in the above “[2-3-4. Generation of Fragment Objects]”. The process of step S16 is executed after step S15.

[0187] In step S16, the processor 81 sets a sub-voxel space for the fragment object to be generated. The setting of the sub-voxel space is performed according to the method described in the above “[2-3-4. Generation of Fragment Objects]”. At this time, the processor 81 stores sub-voxel space data defining the set sub-voxel space in the DRAM 85. The process of step S17 is executed after step S16.

[0188] In step S17, the processor 81 generates sub-voxel data representing the fragment object obtained by the splitting process in step S15. Specifically, the processor 81 generates sub-voxel data of the sub-voxels in the sub-voxel space set in step S16, which represents the fragment object generated in step S15. Further, the processor 81 stores the sub-voxel object data including the generated sub-voxel data in the DRAM 85. Note that the sub-voxel data generated in step S17 only needs to include density data and does not necessarily need to include material data and state data. After step S17, the process of step S18 is executed.

[0189] In step S18, the processor 81 sets the material and state of the generated fragment object. That is, the processor 81 sets the material and state of the fragment object according to the method described in the above “[2-3-4. Generation of fragment object]” and updates the sub-voxel data of the sub-voxel object data stored in the DRAM 85 to indicate the set content. After step S18, the process of step S19 is executed.

[0190] In step S19, the processor 81 generates a mesh for the fragment object. For example, the processor 81 generates a mesh of the fragment object based on the sub-voxel data in the same way as the method for generating a mesh of the terrain object. The processor 81 stores the data indicating the mesh of the generated fragment object in the DRAM 85 as sub-mesh data. After step S19, the processor 81 ends the erasing process shown in FIG. 21.

[0191] Note that when a plurality of fragment objects are generated in step S15 (that is, when there are a plurality of objects after splitting), the series of processes in steps S16 to S19 are executed for the plurality of fragment objects.

[0192] Returning to the description of FIG. 20, after the deletion process in step S6, the process of step S7 is executed. In step S7, the processor 81 determines whether or not the fragment object has come into contact with the terrain object as a result of the above step S4. If the determination result in step S7 is affirmative, the process of step S8 is executed. On the other hand, if the determination result in step S7 is negative, the process of step S8 is skipped and the process of step S9 described later is executed.

[0193] In step S8, the processor 81 executes an addition process for adding a terrain object. Hereinafter, with reference to FIG. 22, the detailed flow of the addition process will be described.

[0194] FIG. 22 is a sub-flowchart showing an example of the detailed flow of the addition process in step S8 shown in FIG. 20. In the addition process, first in step S21, the processor 81 determines whether or not the above-described addition condition is satisfied as a result of the above step S4. If the determination result in step S21 is affirmative, the process of step S22 is executed. On the other hand, if the determination result in step S21 is negative, the processor 81 ends the addition process shown in FIG. 22.

[0195] In step S22, the processor 81 updates the main voxel data so as to add a terrain object based on the fragment object that has come into contact with the terrain object. Specifically, the processor 81 updates the main voxel data according to the method described in the above “[2-3-5. Addition of Terrain Object by Fragment Object]”. The processor 81 updates the main voxel object data stored in the DRAM 85 so as to include the updated main voxel data. The process of step S23 is executed after step S22.

[0196] In step S23, the processor 81 deletes the fragment object that has come into contact with the terrain object and also eliminates the sub-voxel space related to the fragment object from the game space. That is, the processor 81 deletes the sub-voxel space data, sub-voxel object data, and sub-mesh data related to the above fragment object from the DRAM 85. After step S23, the processor 81 ends the additional process shown in FIG. 22.

[0197] Returning to the description of FIG. 20, after the additional process of step S8, the process of step S9 is executed. In step S9, the processor 81 generates a game image representing the game space and causes it to be displayed on the display device. Specifically, the processor 81 generates a game image representing the game space including the voxel object and other objects (for example, the player object and the enemy object). Note that the image of the voxel object is generated according to the method described in the above "[2-2. Mesh]" using the main voxel object data, main mesh data, sub-voxel object data, and sub-mesh data stored in the DRAM 85. The processor 81 causes the generated game image to be displayed on the display device. Note that during the game, the process of step S9 is repeatedly executed at a rate of once per predetermined time (for example, one frame time). After step S9, the process of step S10 is executed.

[0198] In step S10, the processor 81 determines whether to end the game. For example, the processor 81 determines whether an instruction to end the game has been given by the user. If the determination result in step S10 is negative, the process of step S4 is executed again. Thereafter, the series of processes of steps S4 to S10 are repeatedly executed until it is determined in step S10 to end the game. On the other hand, if the determination result in step S10 is positive, the processor 81 ends the game process shown in FIG. 20.

[0199] [4. Operational Effects and Modifications of this Embodiment] As described above, in the above embodiment, the information processing system (specifically, the game system 1) has a configuration including the following means. · Main object generation means (step S3) for generating a mesh of a main object (i.e., a terrain object) in the virtual space based on the main voxel data for each main voxel defined in the main voxel space, which is a voxel space set in the virtual space · When an erasure event occurs for at least some of the plurality of main voxels in the main voxel space, main voxel update means (step S13) for updating the main voxel data of the erasure target voxel, which is the main voxel where the erasure event has occurred, so that at least the part corresponding to the erasure target voxel among the main objects is erased · Fragment determination means (step S14) for determining whether or not fragment generation conditions are satisfied based on the property data regarding the erasure target voxel among the property data indicating the property (specifically, strength) of the main object for each main voxel when an erasure event occurs · When it is determined that the fragment generation conditions are satisfied, sub-voxel data, which is the voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and is different from the main voxel space, and is the voxel data of a sub-object (i.e., a fragment object), is generated, and sub-object generation means (steps S17, S19) for generating a mesh of the sub-object in the virtual space based on the sub-voxel data · Image output means (step S9) for outputting images of the meshes of the main object and the sub-object in the virtual space to a display device

[0200] According to the above configuration, by representing the sub-object representing the fragments of the main voxel by the sub-voxel data regarding the sub-voxel space different from the main voxel space, the fragments when the main object is destroyed can be realistically represented.

[0201] Further, according to the above configuration, since the fragment generation condition is determined based on the property data regarding the voxels to be erased, whether a sub-object indicating a fragment is generated can be made different for each erased main object, and can also be made different for each position of the erased part among the main objects. Thereby, fragments when the main object is destroyed can be expressed more realistically. Note that in other embodiments, the game system 1 may determine the fragment generation condition without relying on the above property data. For example, the game system 1 may determine the fragment generation condition without relying on the above property data based on the type of the above-described erasure event.

[0202] Also, in the above embodiment, the main object was a terrain object arranged in the virtual space. Here, in other embodiments, the main object may be any object in the virtual space. For example, the main object may be a player object or an enemy object, or may be an object movable within the virtual space such as a vehicle object that a player object or the like can board. Also, the game system 1 may use a plurality of types of objects as main objects respectively.

[0203] In the above embodiment, the determination of whether the voxel object and another object are in contact (so-called collision detection) is performed in units of voxels. That is, the game system 1 determines that the voxel object and the other object are in contact when the other object (for example, the collision detection area set for the other object) is included in a voxel in the game space whose density is equal to or higher than a predetermined value. Thereby, the processing load of the collision detection can be reduced. However, in other embodiments, the game system 1 may perform collision detection using the mesh of the voxel object. That is, the game system 1 may determine that the voxel object and the other object are in contact when the mesh of the voxel object and the other object are in contact.

[0204] In addition, in other embodiments, the information processing system (specifically, the game system 1) may not include some of the configurations in the above embodiments, or may not execute some of the processes executed in the above embodiments. For example, in order for the information processing system to achieve some specific effects in the above embodiments, it may include the configurations for achieving the effects and execute the processes for achieving the effects, and may not include other configurations or execute other processes.

Industrial Applicability

[0205] The above embodiments can be used, for example, as a game system or a game program for the purpose of generating an object representing a portion where an object has been destroyed or the like.

Explanation of Signs

[0206] 1 Game system 2 Main body device 3 Left controller 4 Right controller 81 Processor 211 Player object 212, 221 Terrain object 213, 222 Fragment object 231 Erased portion object 232 - 235 Split object

Claims

1. An information processing program executed by a computer of an information processing apparatus, main object generation means for generating a mesh of a main object in the virtual space based on main voxel data for each main voxel defined in a main voxel space which is a voxel space set in the virtual space; main voxel update means for updating the main voxel data of the target voxel to be deleted such that at least a portion corresponding to the target voxel to be deleted, which is the main voxel where the deletion event has occurred, among the main objects is deleted when a deletion event occurs for at least some of the plurality of main voxels in the main voxel space; fragment determination means for determining whether or not a fragment generation condition is satisfied based on property data related to the target voxel to be deleted among property data indicating the property of the main object for each main voxel when the deletion event occurs; sub-object generation means for generating sub-voxel data which is voxel data for each sub-voxel defined in a sub-voxel space which is a voxel space set in the virtual space and different from the main voxel space, and which is voxel data of a sub-object, and generating a mesh of the sub-object in the virtual space based on the sub-voxel data when it is determined that the fragment generation condition is satisfied; An information processing program that causes the computer to function as image output means for outputting images of the mesh of the main object and the mesh of the sub-object in the virtual space to a display device.

2. The information processing program according to claim 1, further causing the computer to function as appearance setting means for setting the color and / or pattern of the mesh of the main object based on appearance data defining the color and / or pattern of the main object for each main voxel.

3. The appearance data is data indicating a texture, The information processing program according to claim 2, wherein the appearance setting means applies the texture indicated by the appearance data related to a certain main voxel to the mesh generated based on the voxel data of the certain main voxel among the meshes of the main object.

4. The sub-object generation means determines the appearance data set in the sub-voxels related to the sub-object based on the appearance data set for the portion erased from the main object, according to the information processing program described in claim 2 or claim 3.

5. The sub-object generation means determines the property data set in the sub-voxels related to the sub-object based on the property data set for the portion erased from the main object, according to the information processing program described in any one of claims 1 to 4.

6. The information processing program further causes the computer to function as a number determination means for determining the number of sub-objects to be generated based on the type of the generated erasure event, when it is determined that the sub-object generation means generates a plurality of sub-objects, for each of a plurality of mutually independent sub-voxel spaces, generates sub-voxel data for each of the sub-objects, and generates a mesh of the sub-object in the virtual space based on each of the sub-voxel data, according to the information processing program described in any one of claims 1 to 5.

7. The fragment determination means executes setting of conditions used as the fragment generation conditions and / or determination of whether the fragment generation conditions are satisfied, based on the type of the generated erasure event, according to the information processing program described in any one of claims 1 to 6.

8. When the erasure event occurs due to an impact application event that applies an impact to the main object, the fragment generation determination means discriminates the type of the erasure event based on the type of the impact application event, according to the information processing program described in claim 7.

9. When a first impact application event occurs due to an action of causing a collision object held by a player object to collide with the main object, and when a second impact application event occurs due to an action of causing the collision object to collide with the main object by moving the collision object toward the main object by the player object, the fragment generation determination means determines that different types of the erasure events have occurred, according to the information processing program described in claim 8.

10. The fragment generation determination means determines whether or not the deletion event has occurred when an event in which the sub-object collides with the main object occurs as the impact application event, according to the information processing program of claim 8 or claim 9.

11. The property data indicates the strength of the main object, The fragment generation determination means determines whether or not the fragment generation condition is satisfied based on the strength corresponding to the type of the generated deletion event and the strength indicated by the property data set in the deletion target voxel in which the deletion event has occurred, according to the information processing program of any one of claims 1 to 10.

12. The property data indicates the strength of the main object, The fragment generation determination means determines whether or not the deletion event occurs based on the strength of the impact application event set according to the type of the impact application event and the strength indicated by the property data set in the main voxel in which the impact application event has occurred when an impact application event that applies an impact to the main object occurs, according to the information processing program of any one of claims 1 to 11.

13. The sub-object generation means generates the sub-voxel data so as to be the sub-object having a size corresponding to the type of the generated deletion event, according to the information processing program of any one of claims 1 to 12.

14. The sub-object generation means generates a deletion part object representing a deleted part of the main object when it is determined that the fragment generation condition is satisfied, and generates the sub-object by dividing the deletion part object into a plurality of parts, according to the information processing program of any one of claims 1 to 13.

15. The sub-object generation means generates the sub-voxel data so that an object in a range larger than the lower limit value and smaller than the upper limit value among the objects obtained by dividing the deletion part object into a plurality of parts becomes the sub-object, according to the information processing program of claim 14.

16. The main object generation means updates the main voxel data based on the sub-voxel data such that when the sub-object collides with the main object, a portion corresponding to the sub-object in the main voxel space is added to the main object. The information processing program according to any one of claims 1 to 15.

17. The sub-object generation means sets a sub-voxel space that defines voxels having a side length shorter than that of the main voxel as the sub-voxels. The information processing program according to any one of claims 1 to 16.

18. The sub-object generation means sets the direction of the coordinate axes in the sub-voxel space independently of the direction of the coordinate axes in the main voxel space. The information processing program according to any one of claims 1 to 17.

19. The main object is a terrain object arranged in the virtual space. The information processing program according to any one of claims 1 to 18.

20. Main object generation means for generating a mesh of a main object in the virtual space based on main voxel data for each main voxel defined in a main voxel space that is a voxel space set in the virtual space; When an erasure event occurs for at least some of the plurality of main voxels in the main voxel space, main voxel update means for updating the main voxel data of the erasure target voxel, which is the main voxel for which the erasure event has occurred, such that at least a portion corresponding to the erasure target voxel of the main object is erased; When the erasure event occurs, fragment determination means for determining whether or not fragment generation conditions are satisfied based on property data regarding the erasure target voxel among property data indicating the property of the main object for each main voxel; When it is determined that the fragment generation conditions are satisfied, sub-object generation means for generating sub-voxel data, which is voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and different from the main voxel space, and which is voxel data of a sub-object, and generating a mesh of the sub-object in the virtual space based on the sub-voxel data; An information processing system comprising image output means for outputting an image of the mesh of the main object and the mesh of the sub-object in the virtual space to a display device.

21. Based on the main voxel data for each main voxel defined in the main voxel space, which is a voxel space set in the virtual space, main object generation means for generating a mesh of the main object in the virtual space; When an erasure event occurs for at least some of the plurality of main voxels in the main voxel space, main voxel update means for updating the main voxel data of the erasure target voxel, which is the main voxel for which the erasure event has occurred, so that at least a portion corresponding to the erasure target voxel of the main object is erased; When the erasure event occurs, fragment determination means for determining whether or not a fragment generation condition is satisfied based on the property data regarding the erasure target voxel among the property data indicating the property of the main object for each main voxel; When it is determined that the fragment generation condition is satisfied, sub-voxel data which is the voxel data for each sub-voxel defined in a sub-voxel space which is a voxel space set in the virtual space and is different from the main voxel space, and which is the voxel data of the sub-object, is generated, and sub-object generation means for generating a mesh of the sub-object in the virtual space based on the sub-voxel data; An information processing apparatus comprising image output means for outputting an image of the mesh of the main object and the mesh of the sub-object in the virtual space to a display device.

22. An information processing method executed by an information processing system, A main object generation step of generating a mesh of the main object in the virtual space based on the main voxel data for each main voxel defined in the main voxel space, which is a voxel space set in the virtual space; When an erasure event occurs for at least some of the plurality of main voxels in the main voxel space, a main voxel update step of updating the main voxel data of the erasure target voxel, which is the main voxel for which the erasure event has occurred, so that at least a portion corresponding to the erasure target voxel of the main object is erased; When the deletion event occurs, based on the property data regarding the deletion target voxel among the property data indicating the property of the main object for each main voxel, a fragment determination step of determining whether or not the fragment generation condition is satisfied; When it is determined that the fragment generation condition is satisfied, sub-voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and different from the main voxel space, which is the voxel data of a sub-object, is generated, and a sub-object generation step of generating a mesh of the sub-object in the virtual space based on the sub-voxel data; An information processing method comprising an image output step of outputting, to a display device, images of the mesh of the main object and the mesh of the sub-object in the virtual space.

Citation Information

Patent Citations

  • Program, recording medium, game character drawing method and game machine

    JP2004062666A

  • Inter-object contact interaction simulating device

    JP2012094128A

  • Dynamic levels of destructive detail in electronic game display

    JP2020110596A

  • Image processing apparatus, image processing method, and program

    JP2022082020A

  • Information processing apparatus, information processing method, and program

    JP2023094692A