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

The information processing program generates objects representing destroyed portions in a virtual space by utilizing different voxel spaces, enabling detailed and strategic representation of destroyed objects.

JP7818023B2Active Publication Date: 2026-02-19NINTENDO CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024011586
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-01-30
Publication Date
2026-02-19
Estimated Expiration
2044-01-30

AI Technical Summary

Technical Problem

Existing methods struggle to generate objects representing destroyed portions in a virtual space using voxel data.

Method used

An information processing program that employs a main object generation means, a main voxel update means, a fragment determination means, and a sub-object generation means to create a mesh of a main object and a sub-object in a virtual space using different voxel spaces, allowing for the generation of objects representing destroyed portions.

Benefits of technology

Enables the generation of objects that accurately represent destroyed portions, providing variations in appearance and properties based on the type of erasure event, enhancing the strategic nature of games by integrating secondary objects with main objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007818023000001
    Figure 0007818023000001
  • Figure 0007818023000002
    Figure 0007818023000002
  • Figure 0007818023000003
    Figure 0007818023000003
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 device, and an information processing method for generating an object in a virtual space using voxel data. [Background technology]

[0002] Conventionally, objects are managed using voxel data, and meshes of the objects are generated in a virtual space based on the voxel data (see, for example, Non-Patent Document 1). [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] “Marchingcubes: A highresolution 3D surface construction algorithm”, Computer Graphics, Volume 21, Number 4, WE Lorensen, HE Cline, 1987 Summary of the Invention [Problem to be solved by the invention]

[0004] In the past, when an object based on voxel data is destroyed in a virtual space, there was a problem as to how to generate an object corresponding to the destroyed portion.

[0005] Therefore, an object of the present invention is to provide an information processing program, an information processing system, an information processing device, and an information processing method that are capable of generating an object that represents a portion of an object that has been destroyed or the like. [Means for solving the problem]

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

[0007] (1) One example of the present invention is an information processing program executed on a computer of an information processing device. The information processing program causes the computer to function as a main object generation means, a main voxel update means, a fragment determination means, a sub-object generation means, and an 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, which is a voxel space set in the virtual space. When an erasure event occurs for at least some of the main voxels in the main voxel space, the main voxel update means updates the main voxel data for the erasure target voxels so that at least the portions of the main object corresponding to the erasure target voxels, which are the main voxels for which the erasure event occurred, are erased. When an erasure event occurs, the fragment determination means determines whether a fragment generation condition is satisfied based on property data for the erasure target voxels among property data indicating the properties of the main object for each main voxel. When it is determined that the fragment generation condition is satisfied, the sub-object generating 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 different from the main voxel space, 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 above configuration (1), an object representing a portion of the main object that has been destroyed or the like can be generated using sub-voxel data relating to a sub-voxel space that is different from the main voxel space.

[0009] (2) The information processing program may further cause the computer to function as appearance setting means, which 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 above configuration (2), the color and / or pattern of the main object can be set for each main voxel by using the appearance data.

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

[0012] According to the above configuration (3), by using the appearance data, it is possible to set the texture to be applied to the main object for each main voxel. (4) The secondary object generating means may determine appearance data to be set in the secondary voxels of the secondary object based on appearance data that was set for the erased portion of the primary object.

[0013] According to the above configuration (4), it is possible to generate a secondary object that has an appearance that corresponds to the appearance of the deleted part of the main object.

[0014] (5) The secondary object generating means may determine property data to be set in the secondary voxels of the secondary object based on property data that was set for the erased portion of the main object.

[0015] According to the above configuration (5), it is possible to generate a secondary object having properties corresponding to the properties of the deleted part of the main object.

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

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

[0018] (7) The fragment determination means may set a condition to be used as the fragment generation condition and / or determine whether the fragment generation condition is satisfied based on the type of the deletion event that has occurred.

[0019] According to the above configuration (7), it is possible to provide variations in the conditions for generating a secondary object and / or the results of generating a secondary object according to the type of erasure event.

[0020] (8) When a deletion event occurs due to an impact imparting event that imparts 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 imparting event.

[0021] According to the above configuration (8), it is possible to provide variations in the conditions for generating secondary objects and / or the results of generating secondary objects according to the type of impact event.

[0022] (9) The fragment generation determination means may determine that different types of erasure events have occurred when a first impact-imparting 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-imparting event occurs due to an action of the player object moving the collision object toward the main object to cause the collision object to collide with the main object.

[0023] According to the above configuration (9), the result of generating the secondary object can be varied depending on the action of the player object.

[0024] (10) The fragment generation determining means may determine whether or not a deletion event has occurred when an event in which the secondary object collides with the main object occurs as the impact event.

[0025] According to the above configuration (10), it is possible to use the secondary object obtained by erasing the main object to further erase the main object, thereby improving the strategic nature of the game regarding the erasure of the main object.

[0026] (11) The property data may indicate a strength of the main object. The fragment generation determination means may determine whether or not the fragment generation condition is satisfied based on the strength according to the type of erasure event that has occurred and the strength indicated by the property data set for the voxel to be erased in which the erasure event has occurred.

[0027] According to the above configuration (11), the result of generating a secondary object can be varied depending on the type of erasure event and the properties of the primary object.

[0028] (12) The property data may indicate a strength of the main object. When an impact event that applies an impact to the main object occurs, the fragment generation determination means may determine whether or not a deletion event will occur based on the strength of the impact event that is set according to the type of the impact event and the strength indicated by the property data that is set for the main voxel in which the impact event occurred.

[0029] According to the above configuration (12), whether or not a deletion event occurs can be determined depending on the type of impact event and the property of the main object.

[0030] (13) The sub-object generating means may generate the sub-voxel data so as to form a sub-object having a size according to the type of the erase event that has occurred.

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

[0032] (14) When it is determined that the fragment generation condition is satisfied, the secondary object generation means may generate a deleted part object representing the deleted part of the main object, and generate secondary objects by dividing the deleted part object into multiple parts.

[0033] According to the above feature (14), a secondary object can be generated that matches the shape of the erased portion of the main object.

[0034] (15) The sub-object generating means may generate the sub-voxel data so that, among the objects obtained by dividing the erased partial object into a plurality of objects, objects in a range greater than the lower limit value and less than the upper limit value become the sub-objects.

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

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

[0037] According to the above configuration (16), two objects (that is, a main object and a secondary object) having different voxel spaces can be integrated into one object defined by the main voxel data.

[0038] (17) The secondary object generating means may set a secondary voxel space that defines a voxel having a side shorter than that of the main voxel as a secondary voxel.

[0039] According to the above configuration (17), the shape of the secondary object based on the secondary voxel data can be expressed in more detail than the shape of the primary object based on the primary voxel data.

[0040] (18) The secondary object generating means may set the direction of the coordinate axes in the secondary voxel space independently of the direction of the coordinate axes in the primary voxel space.

[0041] According to the above configuration (18), it becomes easier to arrange the secondary objects in any orientation in the virtual space.

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

[0043] According to the above configuration (19), an object representing a portion of a terrain object that has been destroyed or the like can be generated.

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

[0045] According to the information processing program, information processing system, information processing device, and information processing method, an object representing a portion of an object that has been destroyed or the like can be generated. [Brief explanation of the drawings]

[0046] [Figure 1] FIG. 1 illustrates an example of a game system. [Figure 2] A block diagram showing an example of the internal configuration of a main unit. [Figure 3] A block diagram showing an example of the internal configuration of the main unit, left controller, and right controller. [Figure 4] FIG. 1 is a diagram showing an example of a terrain object that is a voxel object. [Figure 5] 5A and 5B are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 4 is deleted. [Figure 6] 5A and 5B are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 4 is deleted. [Figure 7] FIG. 1 is a diagram showing an example of the contents of voxel data and the contents of material information. [Figure 8] A diagram showing an example of property information indicating the properties of a material [Figure 9] A diagram showing an example of texture information indicating the texture of a material. [Figure 10] A diagram showing an example of a mesh generation method [Figure 11] FIG. 10 is a diagram showing an example of a game image including a terrain object. [Figure 12]FIG. 10 is a diagram showing an example of a player object performing a punch action on a land object; [Figure 13] FIG. 10 is a diagram showing an example of a terrain object that has been partially destroyed by a punch action of a player object. [Figure 14] FIG. 10 is a diagram showing an example of a terrain object and a debris object. [Figure 15] FIG. 10 is a diagram showing an example of fragment generation information. [Figure 16] A diagram showing an example of how to generate fragment objects. [Figure 17] FIG. 10 is a diagram showing an example of a state in which a player object throws a debris object at a terrain object. [Figure 18] An example of how a terrain object is added as a result of a debris object coming into contact with it. [Figure 19] FIG. 10 is a diagram showing an example of various data used in information processing in a game system. [Figure 20] A flowchart showing an example of the flow of game processing executed by the game system. [Figure 21] 21 is a sub-flowchart showing an example of the detailed flow of the erasure process in step S6 shown in FIG. 20. [Figure 22] 21 is a sub-flowchart showing an example of the detailed flow of the additional processing in step S8 shown in FIG. 20. DETAILED DESCRIPTION OF THE INVENTION

[0047] [1. Game system configuration] A game system according to an example of this embodiment will be described below. FIG. 1 is a diagram showing an example of a game system. An example of a game system 1 according to this embodiment includes a main unit (information processing device; in this embodiment, it functions as a game device main unit) 2, a left controller 3, and a right controller 4. The main unit 2 is a device that executes various processes (e.g., game processes) in the game system 1. The left controller 3 and right controller 4 are devices equipped with operation units that allow the user to perform inputs.

[0048] The left controller 3 and the right controller 4 are each detachable from the main unit 2. In other words, the game system 1 can be used as an integrated device by attaching the left controller 3 and the right controller 4 to the main unit 2. The game system 1 can also be used with the main unit 2, the left controller 3, and the right controller 4 separate 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 main unit 2. In addition to the configuration shown in Fig. 1, main unit 2 includes 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 within housing 11.

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

[0051] The main unit 2 also has a left terminal 17, which is a terminal for the main unit 2 to communicate with the left controller 3 via a wired connection, and a right terminal 21, which is a terminal for the main unit 2 to communicate with the right controller 4 via a wired connection.

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

[0053] The main device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as examples of internal storage media built into the main device 2. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is a memory used primarily to store various types of data (which may be programs) saved in the main device 2. The DRAM 85 is a memory used to temporarily store various types of data used in information processing.

[0054] The main unit 2 includes a slot 23. The slot 23 has a shape that allows a predetermined type of storage medium to be inserted therein. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and the same type of information processing device. The predetermined type of storage medium is used, for example, to store data used by the main unit 2 (e.g., application save data, etc.) and / or programs executed by the main unit 2 (e.g., application programs, etc.).

[0055] The main device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23, and reads and writes data from and to a predetermined type of storage medium (e.g., a dedicated memory card) inserted into the slot 23 in accordance with instructions from the processor 81.

[0056] The processor 81 reads and writes data from and to the flash memory 84, DRAM 85, and the above-mentioned storage media as appropriate, to execute the above-mentioned information processing.

[0057] The main unit 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates with external devices via a network (specifically, wireless communication). In this embodiment, the network communication unit 82 connects to a wireless LAN and communicates with external devices using a method conforming to the Wi-Fi standard as a first communication mode. The network communication unit 82 also performs wireless communication with other main units 2 of the same type using a predetermined communication method (e.g., communication using a proprietary protocol or infrared communication) as a second communication mode. Note that wireless communication using the second communication mode enables wireless communication with other main units 2 located within a closed local network area, and realizes a function that enables so-called "local communication," in which data is transmitted and received by direct communication between multiple main units 2.

[0058] The main unit 2 is equipped 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 right controller 4. Any communication method may be used between the main unit 2 and the left controller 3 and right controller 4, but in this embodiment, the controller communication unit 83 performs communication with the left controller 3 and right controller 4 in accordance with the Bluetooth (registered trademark) standard.

[0059] The processor 81 is connected to the above-mentioned left side terminal 17 and right side 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 side terminal 17 and receives operation data from the left controller 3 via the left side terminal 17. When the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right side terminal 21 and receives operation data from the right controller 4 via the right side terminal 21. In this way, in the present embodiment, the main unit 2 can perform both wired and wireless communication with the left controller 3 and the right controller 4, respectively.

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

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

[0062] The left controller 3 is equipped with a terminal 42 that enables the left controller 3 to communicate with the main unit 2 via a wired connection. The left controller 3 also has a communication control unit 101 that communicates with the main unit 2. As shown in FIG. 3 , the communication control unit 101 is connected to each component, including the terminal 42. In this embodiment, the communication control unit 101 is capable of communicating with the main unit 2 via both wired communication via the terminal 42 and wireless communication without using the terminal 42. The communication control unit 101 controls the method of communication between the left controller 3 and the main unit 2. That is, when the left controller 3 is attached to the main unit 2, the communication control unit 101 communicates with the main unit 2 via the terminal 42. When the left controller 3 is detached from the main unit 2, the communication control unit 101 communicates wirelessly with the main unit 2 (specifically, the controller communication unit 83).

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

[0064] The left controller 3 has one or more buttons 103. The left controller 3 also has an analog stick (referred to as "stick" in FIG. 3) 32. The buttons 103 and analog stick 32 repeatedly output information relating to operations performed on them to the communication control unit 101 at appropriate timing.

[0065] The communication control unit 101 acquires information about the input (specifically, information about the operation) from each input unit (specifically, the buttons 103 and the analog stick 32). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing a predetermined process on the acquired information) to the main unit 2. The operation data is repeatedly transmitted once every predetermined time. The interval at which the information about the input is transmitted to the main unit 2 may or may not be the same for each input unit.

[0066] By transmitting the above operation data to the main unit 2, the main unit 2 can obtain the input performed on the left controller 3. In other words, the main unit 2 can determine the operation of moving the left controller 3 and the operation of the button 103 and analog stick 32 based on the operation data.

[0067] The left controller 3 is equipped with a power supply unit 108. In this 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 to each part of the left controller 3 (specifically, each part that receives power from the battery).

[0068] As shown in FIG. 3, the right controller 4 is equipped with a communication control unit 111 that communicates with the main unit 2. The right controller 4 also has a memory 112 that is 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 memory 112 have the same functions as the communication control unit 101 and memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main unit 2 both via wired communication via the terminal 64 and via wireless communication that does not use the terminal 64 (specifically, communication in accordance with the Bluetooth (registered trademark) standard), and controls the method of communication that the right controller 4 uses with the main unit 2.

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

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

[0071] [2. Overview of processing in the game system] Next, an overview of the processing executed in the game system 1 will be described with reference to Figs. 4 to 18. In this embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player objects controlled by a player) are arranged in a game space, which is a three-dimensional virtual space, and displays the game image on a display device. Note that in this embodiment, the display device on which the game image is displayed may be the above-mentioned display 12, or may be 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, the shapes of some objects in the game space are defined by voxel data. Here, a voxel is a rectangular parallelepiped (more specifically, cubic) region arranged in a grid pattern in the game space, and voxel data is data set for each voxel. Hereinafter, an object whose shape is defined by voxel data will be 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 voxel objects 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, the shape of a terrain object that represents terrain such as the ground is defined by voxel data (i.e., it is a voxel object). Each cube shown in FIG. 4 represents a terrain object. Note that in FIG. 4, voxel boundaries are shown with thin lines and portions that become edges of terrain objects are shown with thick lines, but these lines are added for the purpose of making the drawing easier to read. In reality, it is not necessary to display lines that indicate voxel boundaries, and it is not necessary to display edges of terrain objects thick.

[0074] The terrain object shown in FIG. 4 is generated according to a rule that, for example, "if a parameter (specifically, 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 if the parameter is equal to or less than the predetermined value, nothing is placed at the position of the voxel." FIG. 4 illustrates a terrain object generated according to the above rule in order to clearly illustrate the relationship between voxels and voxel objects. However, in this embodiment, a voxel object is actually generated according to a rule that results in a shape that is more complex than the length of one side of a voxel, such as the terrain object shown in FIG. 11, described later. Note that the rule for determining the shape of a voxel object based on 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 voxel data.

[0075] The shape of a voxel object 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 portion of the terrain object shown in FIG. 4 is erased. That is, when the hatched portion of the terrain object shown in FIG. 5 is erased, the terrain object changes to a shape as shown in FIG. 6. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data of the voxels in the hatched portion so that they indicate that the terrain object does not exist. Note that when adding a terrain object, the game system 1 can easily change the shape of the terrain object by changing the voxel data of each voxel, just as when erasing a terrain object.

[0076] In this way, the game system 1 can freely change the shape of a voxel object by rewriting the voxel data. For example, in a game, a terrain object may be destroyed for some reason (for example, a player object hits the terrain object), resulting in a change in the shape of the terrain object. In such a case, the game system 1 can freely change the shape of the terrain object by changing the voxel data used to generate the terrain object, rather than directly changing the data indicating the outer shape of the terrain object (i.e., a mesh, which will be described later).

[0077] 7 is a diagram showing an example of the contents of voxel data and the contents of material information. In this embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 associates and stores voxel data for each voxel in the game space. The voxel data indicates, for example, whether a voxel object exists in the voxel corresponding to the voxel data.

[0078] As shown in Fig. 7, the voxel data includes density data. The density data indicates density, which is an index used to define the shape of a voxel object in a voxel corresponding to the voxel data (specifically, the shape defined by a mesh, which will be described later). As will be described in detail later, the position and shape of the surface of the voxel object (i.e., the mesh, which will be described later) are determined based on the density. In other words, in this embodiment, the density is used to create a mesh that defines the surface of the voxel object.

[0079] In this embodiment, density can take an integer value ranging from a lower limit (e.g., 0) to an upper limit (e.g., 255). In this embodiment, the game system 1 determines the shape of a voxel object based on density such that a high density value set for a voxel increases the proportion of the volume of the voxel object within that voxel, and a low density value decreases that proportion. In this way, density is an index that affects the proportion of the volume of the voxel object within that voxel. Density can also be considered an index that indicates the degree to which objects are contained within the area defined by each voxel. For example, if the density is 0, no voxel object exists within that voxel; if the density is 255, the entire voxel is a voxel object; and if the density is a value between 0 and 255, the voxel object occupies a proportion of the voxel within that voxel according to the value. Then, the shape of the mesh, i.e., the shape of the voxel object, can be determined based on the density. However, the volume of a voxel object generated based on the above density does not need to be exactly the same as the ratio indicated by the density. For example, the volume of a voxel object generated using a method such as that shown in Figure 8 may differ from the volume of a voxel object generated using a method such as that shown in Figure 15, even if both methods are based on the same density.

[0080] In other embodiments, the density may indicate either a state in which the entire area of ​​the voxel is occupied by voxel objects or a state in which the area of ​​the voxel does not contain any voxel objects. For example, the density data may be data that can only take the values ​​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 a voxel object generated from the voxel data. In this embodiment, materials such as sand, rock, and soil are set for the voxel object. That is, in this embodiment, multiple types of materials are prepared as materials that can be set for the voxel object, and one of the multiple types of materials is set for the voxel object.

[0082] As shown in FIG. 7, in this embodiment, the material data indicates identification information of the material (referred to as "material ID"). Also, in this embodiment, the game system 1 stores material information indicating the properties and texture of the material for each material provided in the game (see FIG. 7). In this embodiment, the material information associates the material ID with the properties of the material and the appearance of the material (specifically, the texture). Specifically, the material information associates the material ID with 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 a material. As shown in FIG. 8, the game system 1 stores property information that associates the above property ID with information indicating the content of the property indicated by the property ID. The property of a material is a property that a voxel object to which the material is set has in the game (it can also be said to be a property that can affect the progress of the game), and is, for example, information such as weight and slipperiness shown in FIG. 8. Note that in this specification, the property of a material does not include information related to the appearance of the above texture, etc. For example, the following information may be set as the property of a material: ·temperature Breakability (for example, the number of times a voxel object can be impacted before it breaks) Whether other objects are glued to the voxel object -The amount of health recovered by the player object when the player object destroys a voxel object The amount of in-game currency that the player object acquires when it destroys a voxel object. 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] 9 is a diagram showing an example of texture information indicating the texture of a material. As shown in Fig. 9, the game system 1 stores texture information that associates the above texture ID with the texture indicated by the texture ID.

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

[0086] As described above, in this embodiment, the material data defines the properties of a voxel object and the texture to be used for the voxel object by the material ID. For example, if 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 that material ID in the material information is set as the property of the voxel object corresponding to that voxel data (see the arrow in FIG. 7). In addition, in the above case, the texture indicated by the texture ID "002" associated with that material ID in the material information is applied to the voxel object corresponding to that voxel data (see the arrow in FIG. 7).

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

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

[0089] Furthermore, the material data may be information about a material that further indicates information other than the properties and textures described above. For example, the material data may include effect data that indicates an effect that is generated when an effect generation condition set for a voxel object (e.g., a part of the voxel object is destroyed, or a character steps on the voxel object) is satisfied. The effect data may be data that indicates an effect image (e.g., an effect image that expresses that a voxel object has been destroyed) or data that indicates an effect sound (footsteps when a character walks on a voxel object).

[0090] As shown in Figure 7, the voxel data includes state data that indicates the state of a voxel object. The specific content of the state data is arbitrary. For example, the state data may be data that indicates whether a voxel object is wet or not, or data that indicates the amount of damage that has been inflicted on 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 a voxel object is represented by a mesh. A mesh is a collection of multiple faces (specifically, polygons) arranged in a game space. In this embodiment, the game system 1 generates a mesh of a voxel object based on voxel data of each voxel set in the game space. An example of generating a mesh based on voxel data will be described below.

[0092] Fig. 10 is a diagram showing an example of a method for generating a mesh. Note that in Fig. 10, voxels and meshes are expressed in two dimensions for the purpose of making the drawing easier to see and the explanation easier to understand, but in reality, a three-dimensional mesh is generated based on voxels in a three-dimensional space.

[0093] As described above, in this embodiment, the density set for a voxel is set in the range of 0 to 255. Furthermore, in this embodiment, voxels with a density equal to or greater than a reference value are considered to be inside the object, and voxels with a density less 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 outside the object (i.e., reference value = 1); the reference value may be, for example, 128. In the example shown in FIG. 10 , the density of voxel 201 and the other voxels outside is set to 0, the density of voxel 202 is set to 100, which is less than the reference value, and the densities of voxels 203 and 204 are set to 150 and 200, which are equal to or greater than the reference value. In this embodiment, the game system 1 generates vertices between voxels with densities equal to or greater than the reference value and voxels with densities less than the reference value. Specifically, a determination is made as to whether to generate a vertex for each area spanning eight adjacent voxels (four in the drawing) (areas surrounded by dotted lines in the drawing). That is, vertices are generated in regions that span both voxels with densities above and below the reference value. Furthermore, if adjacent vertices (the boundaries of the aforementioned regions containing each vertex) pass between voxels with densities above and below the reference value and voxels with densities below 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 along each of the X, Y, and Z axes and interpolating based on the difference in density. In this case, coordinate calculations can also be performed based on normal information. Normal information may be stored in advance for at least some voxels. If normal information is not stored, normal information may also be calculated based on the densities of adjacent voxels. Note that in FIG. 10, the density of voxel 202 is below the reference value, so voxel 202 is treated as outside the object when determining whether a vertex exists. However, the density value of voxel 202 itself is used to calculate the coordinates of the vertices to be generated. If the reference value is set to a value lower than the density of the voxel 202, the result will be that more vertices will be added to the upper right and upper left sides of the voxel 202 in FIG.

[0094] By generating a polygon mesh as described above, it is possible to generate a shape whose volume reflects the density of each voxel to some extent. However, depending on the relationship with adjacent voxels, it is possible that a voxel with a density of 0 may include a portion of an area within the object, or that a voxel with a density of 255 may include a portion of an area outside the object. Furthermore, in this embodiment, voxels with a density less than the reference value are processed as being outside the object, so that the number of vertices is reduced compared to when voxels are processed as being inside the object, resulting in a smaller volume. In other words, it is not necessary to calculate a polygon mesh so that the volume strictly corresponds to the density value.

[0095] 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, it is possible to make a voxel object have a shape with complex irregularities compared to the length of one side of a voxel, for example.

[0096] Note that any method may be used to generate a mesh based on voxel data. For example, in another embodiment, if the density of voxel data is greater than a predetermined value, a mesh may be generated such that cubes are placed in the voxels corresponding to the voxel data (see FIG. 4).

[0097] The game system 1 determines the appearance (i.e., color and / or pattern) of each face of the mesh generated as described above, depending on the material specified by the voxel data. Specifically, the game system 1 determines the texture to be used for drawing 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 to be mapped to each face of the mesh is determined based on voxel data of voxels (referred to as target voxels) used to generate the face among the voxels in which the voxel object exists. Note that the target voxels may be, for example, one or more voxels arranged around the face, although this depends on the mesh generation method. In other words, the texture to be mapped to a 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. In this case, the voxel data includes ratio data relating to the multiple types of material data. The ratio data is data for determining a texture to be used for a voxel object, and indicates the ratio of influence that each material (specifically, the texture corresponding to the material) indicated by the multiple types of material data has on the appearance (specifically, the color and / or pattern) of the voxel object. When determining a texture to be mapped to each face of a 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 voxel to be generated. For example, when multiple types of materials are set for a voxel to be generated corresponding to one face, the texture corresponding to the material (one type) with the greatest 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 other embodiments, there may be both voxel objects that use voxel data including one type of material data and voxel objects that use voxel data including two types of material data.

[0100] As described above, in this embodiment, the game system 1 sets the color and / or pattern of the mesh of a 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 a texture indicated by appearance data for a certain voxel to a mesh of the voxel object that is generated based on the voxel data of the certain voxel. This allows the color and / or pattern of the voxel object to be set using the appearance data set for the voxel.

[0101] [2-3. Debris 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 in which a player object performs a punch action on a terrain object. FIG. 13 is a diagram showing an example of a terrain object that has been partially destroyed by a 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 by the player object 211, the terrain object 212 is destroyed, and as a result, part of the terrain object 212 may be erased. Hereinafter, an event in which part of the terrain object 212 is erased will be referred to as an erasure event. The erasure event is not limited to a punch action by the player object 211, and may also 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 a terrain object 212 is erased, a fragment object 213 representing a fragment of the terrain object 212 may be generated (see FIG. 13). For example, if the terrain object 212 represents a rocky area as shown in FIG. 13, a fragment object 213 resembling a rock fragment is generated. In this way, the game system 1 makes the fragment object appear in the game space when the terrain object is erased, thereby more realistically expressing the appearance of the terrain object being destroyed.

[0103] [2-3-1. Main voxel space and secondary voxel space] In this embodiment, the fragment objects are voxel objects whose shapes are defined by voxel data, similar to terrain objects. However, in this embodiment, the shapes of the fragment objects are defined by voxel data related to voxels different from those of the terrain object. Hereinafter, the voxel space related to the terrain object will be referred to as the "main voxel space," the voxels in the main voxel space will be referred to as the "main voxel," and the voxel data set in the main voxels will be referred to as the "main voxel data." Meanwhile, the voxel space related to the fragment objects will be referred to as the "sub-voxel space," the voxels in the sub-voxel space will be referred to as the "sub-voxel," and the voxel data set in the sub-voxel will be referred to as the "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 objects 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 order to clearly show the difference between main voxels and sub-voxels, FIG. 14 shows voxel objects (i.e., terrain object 221 and fragment object 222) whose mesh is generated according to the same rules as when the mesh of the terrain object shown in FIG. 4 is generated. That is, the mesh of the voxel object shown in FIG. 14 is generated according to the rule that "if the density set for a voxel is greater than a predetermined value, a cube is placed at the position of that voxel, and if the density is equal to or less than the predetermined value, nothing is placed at the position of that voxel." In order to make the drawing easier to understand, FIG. 14 shows the terrain object 221 with a dotted line, the fragment object 222 with a solid line, and the area 223 of the sub-voxel space with a dashed line.

[0105] As described above, the shape of the land object 221 is defined by the main voxel data. In this embodiment, the main voxel space is set to cover the entire game space (for this reason, the range of the main voxel space is not shown in FIG. 14).

[0106] On the other hand, the shape of the fragment objects 222 is defined by the sub-voxel data. In this embodiment, the sub-voxel space is set as part of the game space (which can also be said to be part of the main voxel space). In the example shown in FIG. 14, the area 223 indicated by the dashed line is the range in which the sub-voxel space is set. The shape of the fragment objects 222 is defined by the sub-voxel data set for each sub-voxel set in the sub-voxel space. The fragment objects 222 are placed within the range of the sub-voxel space.

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

[0108] Furthermore, in this embodiment, the game system 1 sets the direction of the coordinate axes in the sub-voxel space (i.e., the direction of each side of the sub-voxel) independently of the direction of the coordinate axes in the main voxel space (i.e., 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. This makes it easier to arrange fragment objects in any direction in the game space. For example, it becomes easy to arrange fragment objects so that they extend in a direction different from the coordinate axes in the main voxel space. It also becomes easy to move (e.g., rotate) fragment objects independently of the terrain object.

[0109] 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 relative to the game space.

[0110] In this embodiment, when multiple fragment objects are generated, the game system 1 sets a sub-voxel space for each fragment object. This allows the position and orientation of each sub-voxel space in the game space to be set for each sub-voxel space. This also makes it easier to generate multiple fragment objects having different shapes (for example, multiple fragment objects having shapes extending in different directions). Note that each sub-voxel space may be arranged so that part of the sub-voxel space overlaps with part of another sub-voxel space. In other embodiments, multiple fragment objects may be set in one sub-voxel space.

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

[0112] [2-3-2. Deleting terrain objects] In this embodiment, a land object may be erased when an impact inflicting event is performed on the land object. An impact inflicting event is an event in which an impact is applied to the land object, such as a destruction action event in which a destruction action is performed on the land object by the player object, or a collision event in which another object (referred to as a collision object) collides with the land object. The destruction action is an action performed by the player object to destroy the land object, such as the punch action described above. A collision event is an event in which, for example, a character such as a player object performs an action of swinging a collision object or an action of throwing a collision object (these actions can also be considered destruction actions), causing the collision object to collide with the land object. Note that the collision object may be any object placed in the game space, such as 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 inflicting event that may cause the terrain object to be erased is not limited to the above. For example, if the player object is able to use a bomb as an item, an impact inflicting event may be an event in which the bomb explodes near the terrain object, and the terrain object may be erased in response to the event.

[0114] In this embodiment, when the above impact application event is performed, the game system 1 determines whether the deletion condition is satisfied. Here, in this embodiment, the intensity is set for each voxel of the terrain object, and the intensity is also set for the impact application event according to the type of the impact application event. The type of the impact application event is determined to be different according to, for example, the type of the destruction action performed in the impact application event or the type of the collision object that collided with the terrain object in the impact application event. The game system 1 determines whether the deletion condition is satisfied based on these intensities. In this embodiment, it is assumed that the intensity of the terrain object is set as one of the above-described material properties. That is, it can be said that the above property ID is 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 deletion condition is set according to the relationship between the intensity A of the destruction side (i.e., the impact application event) and the intensity B of the destructed side (i.e., the terrain object). Specifically, the game system 1 determines the deletion condition as follows in (a) to (c) below. (a) When the intensity A of the destruction side is greater than or equal to the intensity B of the destructed side (i.e., when A ≥ B), it is determined that the deletion 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 destructed side (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 deletion 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 destructed side (i.e., when A + 1 < B), no damage is given to the terrain object (as a result, the deletion condition is not satisfied). In this embodiment, damage to a land object is managed for each main voxel. That is, the game system 1 stores data indicating the value of the damage for each main voxel as the above-mentioned state data included in the main voxel data.

[0116] As described above, in this embodiment, if the strength A of the destroying side is the same as or greater than the strength B of the destroyed side (a) above), the erasure condition is met by the occurrence of an impact event. Also, if the strength A of the destroying side is slightly smaller than the strength B of the destroyed side (b) above), the erasure condition is met by the occurrence of several impact events at the same position (i.e., the same main voxel) of the terrain object. In other words, in this case, a certain part of the terrain object is erased in response to the occurrence of a certain number of impact events for that part. Also, if the strength A of the destroying side is significantly smaller than the strength B of the destroyed side (c) above), the erasure condition is not met even if an impact event occurs.

[0117] The game system 1 determines the elimination condition for each main voxel. Specifically, when an impact event is performed, the game system 1 determines the elimination condition for each main voxel within a range corresponding to the impact event based on the intensity of the impact event and the intensity set for the main voxel. The range corresponding to the impact event is, for example, the range of influence of a destructive action set in accordance with a destructive action, or the range of influence of a collision event set in accordance with the type of collision event. Specifically, when a punch action is performed as a destructive action, the position where the punch of the player object hits the terrain object and a predetermined range including that position constitutes the "range corresponding to the impact event."

[0118] As described above, in this embodiment, when an impact inflicting event that inflicts an impact on a main object (i.e., a terrain object) occurs, the game system 1 determines whether or not the elimination condition is satisfied (i.e., whether or not an elimination event occurs) based on the intensity of the impact inflicting event, which is set according to the type of the impact inflicting event, and the intensity indicated by the intensity data set for the main voxel in which the impact inflicting event occurred. As a result, even when the same impact inflicting event occurs, whether or not an elimination event occurs changes depending on the intensity of the main object, and even when impact inflicting events occur on the same main object, whether or not an elimination event occurs changes depending on the intensity of the impact inflicting event. This makes it possible to make the occurrence of an elimination event in response to an impact inflicting event more natural.

[0119] If it is determined that the erasure condition is satisfied, the game system 1 executes an erasure event to erase a portion of the terrain object. In the erasure event, the game system 1 sets a main voxel within a range corresponding to the impact event as an erasure target voxel, and erases the terrain object within the erasure target voxel. Specifically, the game system 1 sets the density of the erasure target voxel to 0. Furthermore, the game system 1 erases a portion of the terrain voxel for voxels surrounding the erasure target voxel (for example, voxels partially within the above range or voxels adjacent to the erasure target voxel). Specifically, the game system 1 subtracts the density of the voxels surrounding the erasure target voxel based on a predetermined rule. Note that the content of this rule is arbitrary. For example, the game system 1 subtracts the density of the surrounding voxels so that the shape of the erased terrain object does not become unnatural at the boundary between the erasure target voxel and its surrounding voxels.

[0120] Note that the method for erasing the terrain object in the erasure event is arbitrary. For example, in another embodiment, the game system 1 may erase the terrain object only for the voxels to be erased that are within a range corresponding to the impact event. Also, for example, the game system 1 may set the voxels that are at least partially included in the range corresponding to the impact event as the voxels to be erased.

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

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

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

[0124] In the example shown in FIG. 15, examples of types of elimination events include a "normal punch," a "strong punch," a "fragment swing," a "fragment throw," and a "bomb." A "normal punch" refers to an elimination event caused by an impact-imparting event due to a normal punch action by the player object. A "strong punch" refers to an elimination event caused by an impact-imparting event due to a punch action by the player object that is stronger than normal. As such, the type of elimination event (which can also be called the type of impact-imparting event) differs depending on the type of destructive action. Furthermore, a "fragment swing" refers to an elimination event caused by a collision event caused by an action in which the player object holds and swings a fragment object as a collision object (i.e., a fragment swing action). A "fragment throw" refers to an elimination event caused by a collision event caused by an action in which the player object throws a fragment object as a collision object (i.e., a fragment throw action). As such, the type of elimination event (which can also be called the type of impact-imparting event) differs depending on the type of collision event. Furthermore, a "bomb" refers to an elimination event caused by a bomb explosion. As described above, the type of elimination event differs depending on the type of impact-imparting event.

[0125] In this embodiment, as shown in FIG. 15, the fragment generation information indicates, for each type of erasing event, whether or not there is a fragment generation condition, and the details of the fragment generation condition. In the example shown in FIG. 15, when the type of erasing event is "normal punch," the fragment generation condition is "the strength of the destroyed side must be 2 or greater." In other words, when a "normal punch" erasing event occurs, the game system 1 generates fragments if the strength of the destroyed side (i.e., the terrain object) is 2 or greater. Furthermore, when the type of erasing event is "fragment swing" or "fragment throw," the fragment generation condition is "the strength of the destroyed side must be 2 or greater, and the strength of the destroyed side must be greater than the strength of the destroying side." In this way, in this embodiment, the fragment generation condition (or its details) differs depending on the type of erasing event.

[0126] In this embodiment, the intensity of the destroyed side used to determine the fragment generation condition is the intensity set for the voxel to be erased (i.e., the intensity indicated by the property ID indicated by the voxel data of the voxel to be erased). Note that if multiple types of intensity values ​​are set for multiple voxels to be erased, the game system 1 may determine the intensity of the destroyed side based on the multiple types of intensity values. For example, the game system 1 may set the average, minimum, or maximum of the multiple types of intensity values ​​as the intensity of the destroyed side.

[0127] Furthermore, in the example shown in FIG. 15, if the type of erasing event is a "strong punch" or a "bomb," no fragment generation condition is set. In other words, if an erasing event of a "strong punch" or a "bomb" occurs, the game system 1 does not generate fragments. In this manner, in this embodiment, whether or not fragments are generated is determined depending on the type of erasing event. Note that in other embodiments, fragment generation information may be set so that fragments are always generated when a specific type of erasing event occurs.

[0128] As described above, in this embodiment, the content of the fragment generation condition differs depending on the type of erasing event. That is, the game system 1 sets the conditions used as the fragment generation condition based on the type of erasing event that has occurred. Also, in this embodiment, whether or not fragments are generated (i.e., the determination result of the fragment generation condition) differs depending on the type of erasing event. That is, the game system 1 determines whether or not the fragment generation condition is satisfied based on the type of erasing event that has occurred. Note that, in other embodiments, the game system 1 may set only one of the conditions used as the fragment generation condition and the determination of whether or not the fragment generation condition is satisfied based on the type of erasing event that has occurred. As described above, the conditions for generating fragments can be varied depending on the type of erasing event. Also, the conditions for generating fragments can be set in detail for each type of erasing event.

[0129] In this embodiment, when an erasing event occurs due to an impact event, the game system 1 determines the type of the erasing event based on the type of the impact event. In other words, it can be said that the fragment generation conditions differ depending on the type of impact event, and whether or not fragments are generated differs depending on the type of impact event. Therefore, in this embodiment, the conditions for generating fragments can be varied depending on the type of impact event, and the conditions for generating fragments can be set in detail for each type of impact event.

[0130] Furthermore, in this embodiment, the game system 1 determines that different types of erasure events have occurred when a first impact imparting event occurs due to an action of causing a collision object held by a player object to collide with the main object (i.e., a fragment swinging action) and a second impact imparting event occurs due to an action of the player object moving the collision object toward the main object to cause the collision object to collide with the main object (a fragment throwing action). This makes it possible to make the generation of fragment objects different depending on the action taken by the player object, even when the same collision object collides with the main object.

[0131] Furthermore, in this embodiment, the game system 1 determines whether the fragment generation condition is satisfied based on the intensity according to the type of erasing event that occurred (i.e., the intensity of the impact event) and the intensity indicated by the property data set for the voxel to be erased in which the erasing event occurred. Even when the same erasing event occurs, the result of fragment object generation changes depending on the intensity of the main object, and even when an erasing event occurs for the same main object, the result of fragment object generation changes depending on the intensity of the erasing event. In this way, the result of fragment object generation can be made different depending on the properties (specifically, strength) of the destroying side and the destroyed side. This makes it possible to make the generation of fragment objects in response to erasing events more natural.

[0132] [2-3-4. Creating debris objects] When the above fragment generation conditions are satisfied, the game system 1 generates fragment objects. In this embodiment, when generating fragment objects, the game system 1 first determines the size level of the fragment objects and the upper limit number of fragment objects. In this embodiment, as shown in FIG. 15 , the fragment generation information associates the size level and the upper limit number of fragment objects with each type of erasing event. The game system 1 determines the size level and the upper limit number of fragment objects based on the type of erasing event and the fragment generation information.

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

[0134] As described above, in this embodiment, the game system 1 generates secondary objects (i.e., generates secondary voxel data) so that the secondary objects (i.e., fragment objects) have a size that corresponds to the type of erasing event that has occurred. This allows the size of the fragment objects to vary depending on the type of erasing event, and the size of the fragment objects can be set in detail for each type of erasing event. Note that the game system 1 may determine the size based on other information instead of (or in addition to) the type of erasing event. For example, in other embodiments, the size may be determined based on the properties (e.g., strength) of the destroying and / or destroyed objects.

[0135] Furthermore, in this embodiment, the game system 1 determines the number of secondary objects (i.e., fragment objects) to be generated (specifically, the upper limit number) based on the type of erasing event that has occurred. This allows the number of fragment objects to be generated to vary depending on the type of erasing event. Furthermore, the number of fragment objects to be generated can be set in detail for each type of erasing event. Note that the game system 1 may determine the number based on other information instead of (or in addition to) the type of erasing event. For example, in other embodiments, the number may be determined based on the properties (e.g., strength) of the destroying and / or destroyed objects.

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

[0137] Once the size levels and upper limit number of fragment objects have been determined as described above, the game system 1 generates fragment objects. In this embodiment, the game system 1 generates fragment objects based on the erased portion of the voxel object (specifically, by dividing the erased portion). An example of a method for generating fragment candidate objects will be described below with reference to FIG. 16.

[0138] FIG. 16 is a diagram showing an example of a method for generating fragment objects. In this embodiment, the game system 1 first generates a deleted portion object 231 corresponding to a portion of the terrain object that has been deleted by a deletion event (see column (a) in FIG. 16). Next, the game system 1 generates a plurality of divided objects (four divided objects 232 to 235 in FIG. 16) by dividing the deleted portion object 231 (see column (b) in FIG. 16). Note that any specific division method may be used; for example, the deleted portion object 231 may be divided by Voronoi division. Note that the game system 1 may perform division based on the size level determined above (for example, so that at least some of the divided objects are within a size range corresponding to the size level). The game system 1 may also perform 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 multiple divided objects 232 to 235 obtained by the division, as necessary (see column (c) in FIG. 16 ). Specifically, the game system 1 may delete some of the multiple divided objects 232 to 235 that are outside the range corresponding to the size level determined above. The game system 1 may also delete some of the multiple divided objects 232 to 235 so that the number of divided objects is equal to or less than the upper limit determined above. In the example shown in FIG. 16 , the divided object 235 is deleted from the four divided objects 232 to 235. In this embodiment, the objects 232 to 234 that are not deleted from the multiple divided objects 232 to 235 become fragment objects. In this manner, fragment objects can be generated so as to satisfy the determined size level and number. If the multiple divided objects obtained by the division satisfy the determined size level and number, the game system 1 does not need to execute the process of deleting the multiple divided objects.

[0140] The process of dividing the erased partial object may be performed using sub-voxel data or a mesh. That is, the game system 1 may generate fragment objects represented by sub-voxel data by dividing the erased partial object represented by the sub-voxel data, or may generate fragment objects composed of meshes by dividing the erased partial object composed of meshes. In the former case, for example, to generate divided objects using Voronoi division, a process of determining the kernel point closest to the sub-voxel among multiple set kernel points is performed for each sub-voxel, and one or more sub-voxels belonging to one kernel point are considered as one divided object, thereby generating the divided objects. In this case, the divided fragment objects are represented by sub-voxel data. In the latter case, the fragment objects obtained by division are composed of meshes, and the game system 1 generates the sub-voxel data of the fragment objects based on the mesh of the fragment objects.

[0141] As described above, in this embodiment, when it is determined that the fragment generation condition is satisfied, the game system 1 generates a deleted part object representing the deleted part of the main object (i.e., the terrain object), and generates secondary objects (i.e., fragment objects) by dividing the deleted part object into multiple parts. This makes it possible to generate fragment objects that match the shape of the deleted part of the main object.

[0142] Furthermore, the game system 1 generates sub-voxel data so that, among the objects obtained by dividing the erased partial object into a plurality of objects (divided objects 232 to 235 shown in FIG. 16), objects that are larger than the lower limit and smaller than the upper limit become sub-objects (i.e., fragment objects). This reduces the possibility of generating fragment objects that are too large or too small. Furthermore, reducing the number of fragment objects that are generated reduces the processing load on the game system 1.

[0143] As described above, in this embodiment, when multiple fragment objects are generated, the game system 1 sets a sub-voxel space for each fragment object. In other words, when it is determined to generate multiple fragment objects, the game system 1 generates sub-voxel data for the fragment objects for each of multiple mutually independent sub-voxel spaces. Then, as will be described in detail later, the game system 1 generates meshes of the sub-objects in the virtual space based on the respective sub-voxel data.

[0144] The game system 1 sets the sub-voxel space for the fragment object, for example, as follows: 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 erased portion of the terrain object relative to the remaining portion. The size of the sub-voxel space may be determined based on the type of erasure event that caused the generation of the fragment object, the size of the fragment object, or the properties (e.g., strength) of the destroying and / or destroyed objects.

[0145] In addition, 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 erasure event, the size of the fragment object, or the properties (e.g., strength) of the destroying and / or destroyed objects.

[0146] Furthermore, 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, if the size of a divided object obtained by dividing the erased partial object is not included in any of the ranges of the size levels, the game system 1 may correct the divided object by enlarging or reducing it so that the value falls within one of the ranges of the size levels, and may treat the corrected divided object as a fragment object. In this case, 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-mentioned fragment objects are generated, the game system 1 generates meshes for the fragment objects, which are sub-voxel objects, in addition to the terrain object, which is the main voxel object. When generating game images in the above-mentioned cases, the game system 1 generates images that represent the game space including the main voxel object and the fragment objects.

[0148] In this embodiment, the material of the fragment object is set (specifically, the properties and texture are set) in the same way as for the terrain object. In this embodiment, the material of the fragment object is set based on the material of the original terrain object (specifically, the material of the portion erased when the fragment object is generated). Specifically, if the erased portion of the terrain object is made of one type of material, the material of the fragment object is set to be the same as the material of the original terrain object. In other words, 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. Furthermore, if the erased portion of the terrain object is made of multiple types of material, the material of the fragment object may be set to be the same as the material that is most commonly contained 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 event occurred (for example, the position where it came into contact with 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 this embodiment, the game system 1 determines the appearance data (i.e., texture ID) to be set in the sub-voxels related to the secondary object (i.e., fragment object) based on the appearance data that was set for the erased portion of the main object (i.e., terrain object). The game system 1 also determines the property data (i.e., property ID) to be set in the sub-voxels related to the secondary object (i.e., fragment object) based on the appearance data that was set for the erased portion of the main object (i.e., terrain object). This makes it possible to generate fragment objects having properties and / or appearances that correspond to the erased terrain object.

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

[0151] When a fragment object is generated, the game system 1 makes the fragment object appear at the position in the game space where the terrain object was erased, and then moves the fragment object from that position in the scattering direction. This makes it possible to express the fragments scattering according to the terrain object's location. The scattering direction may be determined based on the type of erasure event, the properties of the destroying and / or destroyed objects, or a predetermined direction.

[0152] As described above, in this embodiment, when a terrain object is erased and a fragment object is generated, the fragment object is 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-mentioned fragment swinging action or fragment throwing action. As such, in this embodiment, the fragment object is treated as the above-mentioned collision object. Specifically, the game system 1 determines whether or not an erasure event has occurred when an event in which a secondary object (i.e., a fragment object) collides with a main object (i.e., a terrain object) occurs as an impact-applying event. This allows the player object to further destroy terrain objects using the fragment objects obtained by destroying the terrain object, thereby improving the strategic nature of the game regarding the destruction of terrain objects and increasing the entertainment value of the game.

[0153] [2-3-5. Adding terrain objects using debris objects] Next, with reference to FIGS. 17 and 18, a case where a land object is added by a fragment object will be described. FIG. 17 is a diagram showing an example of a state where a player object throws a fragment object toward a land object. FIG. 18 is a diagram showing an example of a state where a land object is added as a result of a fragment object coming into contact with a land object. In this embodiment, as shown in FIGS. 17 and 18, for example, when a player object 241 throws a fragment object 242 toward a land object 243, the fragment object 242 may come into contact with the land object 243. In such a case, the game system 1 changes the shape of the land object 243 under certain conditions so that the fragment object 242 appears to be combined with the land object 243 (that is, so that a land object 243 is added in an amount corresponding to the fragment object 242) (see FIG. 18). Below, a process of adding a land object by a fragment object will be described.

[0154] When a fragment object comes into contact with a terrain object, the game system 1 first determines whether or not an additional condition is satisfied. Note that, in the example shown in Figures 17 and 18, a case has been shown in which the fragment object 242 comes into contact with the terrain object 243 because the player object 241 has thrown the fragment object 242, but the event that causes the fragment object to come into contact with the terrain object is arbitrary.

[0155] The specific content of the additional condition is arbitrary, but may be, for example, a condition regarding the materials of the two contacting objects (i.e., the debris object and the terrain object), or a condition regarding the properties. Specifically, the additional condition may be that one or both objects have a property that allows them to be added to another object, that the materials of the two contacting objects are a specific combination, or that the strengths of the two contacting objects are in a predetermined relationship. The additional condition is set so that the additional condition and the above-mentioned removal condition are not satisfied at the same time.

[0156] If the addition condition is satisfied, the game system 1 changes the shape of the terrain object based on the contacted fragment object so that the terrain object that the fragment object contacted is added. In other words, the game system 1 updates the main voxel data so as to change the shape of the terrain object.

[0157] Specifically, the game system 1 determines, from among the main voxels in the main voxel space, a main voxel to which a terrain object is to be added (referred to as an "addition target voxel"). The addition target voxel is determined based on the position where the fragment object and the terrain object come into contact and the shape of the fragment object. For example, the addition target voxel is 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).

[0158] The game system 1 may add a terrain object by increasing the density indicated by the voxel data for the determined addition target voxels. At this time, the game system 1 adjusts the value of the increased density so that the shape of the added portion corresponds to the shape of the fragment object. In this way, the game system 1 can change the shape of the terrain object so that the fragment object becomes a shape that is formed by combining the terrain object with the fragment object, thereby expressing the appearance of the terrain object being combined with the fragment object.

[0159] In addition, when the terrain object is added, the game system 1 deletes the fragment object from the game space. Furthermore, since the fragment object is deleted, the game system 1 also erases the sub-voxel space of the fragment object (i.e., the sub-voxel space is no longer set).

[0160] As described above, in this embodiment, when a secondary object (i.e., a fragment object) collides with a main object (i.e., a terrain object), the game system 1 updates the main voxel data based on the secondary voxel data so that a portion corresponding to the secondary object in the main voxel space is added to the main object. This makes it possible to combine two objects (i.e., a terrain object and a fragment object) that have different voxel spaces into a single object defined by the main voxel data. Furthermore, since the player object can add terrain objects in addition to erasing them, the options available to the player object in the game can be increased, improving the strategic nature of the game.

[0161] [3. Specific examples of processing in game systems] Next, a specific example of information processing in the game system 1 will be described with reference to FIGS.

[0162] FIG. 19 is a diagram showing an example of various data used in 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 main voxel space data are data stored in the game system 1 before game processing is executed. The game program and main voxel space data are stored, for example, in a storage medium inserted in the slot 23 of the main unit 2. The main voxel object data, main mesh data, sub-voxel space data, sub-voxel object data, and sub-mesh data are data generated during game processing. These data are stored, for example, in the DRAM 85 of the main unit 2.

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

[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. Furthermore, when the main voxel space is set in only a partial area of ​​the game space, the main voxel space data may include data indicating the position and size of the space in which the main voxel is set (i.e., the main voxel space) (i.e., data indicating the range in the game space in which the main voxel is set).

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

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

[0167] The sub-voxel space data is data that defines the sub-voxel space set in the game space. Specifically, the sub-voxel space data indicates the position and size of the space in which the sub-voxel is set (i.e., the sub-voxel space), 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 that indicates sub-objects (i.e., fragment objects) placed in the game space. Specifically, the sub-voxel object data includes sub-voxel data for each unit area within a part or the entire range of the game space.

[0169] The secondary mesh data is data that indicates a mesh set for a secondary object placed in the game space (i.e., a mesh of a fragment object). The secondary mesh data includes, for example, data that indicates the position of each vertex in the secondary mesh.

[0170] In this embodiment, a set of the sub-voxel space data, sub-voxel object data, and sub-mesh data is set for each sub-object. In other words, when multiple sub-objects are placed in the game space, the game system 1 stores the set for each sub-object.

[0171] In addition to the data shown in Figure 19, the game system 1 stores the above-mentioned property information and texture information data, the above-mentioned fragment generation information data, and data related to various characters appearing in the game, as data that is stored in advance in the game system 1 before the game processing is executed.

[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 a command to start the game being given by a player while the game program is being executed.

[0173] In the present embodiment, the processor 81 of the main unit 2 executes the game program stored in the game system 1 to perform the processing of each step shown in FIGS. 20 to 22. However, in other embodiments, some of the processing of each step may be performed by a processor (e.g., a dedicated circuit) other than the processor 81. Furthermore, if the game system 1 is capable of communicating with another information processing device (e.g., a server), some of the processing of each step shown in FIGS. 20 to 22 may be performed by the other information processing device. Furthermore, the processing of each step shown in FIGS. 20 to 22 is merely an example, and the processing order of each step may be reversed, or another process may be performed in addition to (or instead of) the processing of each step, as long as similar results are obtained.

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

[0175] In step S1 shown in FIG. 20, processor 81 sets a main voxel space in the game space. Specifically, processor 81 acquires the main voxel space data and stores (in other words, writes) it in DRAM 85. In the subsequent game processing, processor 81 may refer to the main voxel space data when executing processing related to a terrain object (for example, the processing of step S2, etc.). In this case, processor 81 refers to the main voxel space data stored in DRAM 85. Following step S1, the processing of step S2 is executed.

[0176] In step S2, processor 81 sets terrain objects in an initial state in the game space. Specifically, processor 81 acquires voxel data indicating the arrangement of terrain objects in the initial state, and stores (in other words, writes) some or all of the acquired voxel data in DRAM 85 as main voxel object data. Note that the voxel data indicating the arrangement of terrain objects in the initial state is stored, for example, in a storage medium attached to slot 23 of main unit 2. Following step S2, the process of step S3 is executed.

[0177] Note that the voxel data written to DRAM 85 as main voxel object data may be main voxel data for a partial range of the main voxel data for the entire range of the game space, which is used to generate a game image. For example, processor 81 may generate an image of an object using main voxel data for only a partial range of the game space (for example, a range within a predetermined distance from the position of the virtual camera). In this case, the main voxel object data may include voxel data within that range. Furthermore, when main voxel data for a partial range of the game space is written, a process similar to step S2 above is executed at an appropriate timing during execution of a series of processes in steps S4 to S10 described below (for example, at a timing when the position of the virtual camera has moved by more than a predetermined distance).

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

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

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

[0181] In step S6, processor 81 executes erasure processing to erase a part of the land object. The detailed flow of the erasure processing will be described below with reference to FIG.

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

[0183] In step S12, the processor 81 updates the main voxel data stored in the DRAM 85 so as to erase a portion of the terrain object. Specifically, the processor 81 erases a portion of the terrain object using the method described above in "[2-3-2. Erasing a terrain object]". Following step S12, the processing of step S13 is executed.

[0184] In step S13, processor 81 updates the mesh of the terrain object whose main voxel data has been changed in step S12. That is, processor 81 generates a mesh of the terrain object based on the main voxel object data updated in step S12. This allows the mesh of the terrain object to be dynamically changed during the game. Processor 81 also updates the main mesh data stored in DRAM 85 to content indicating the newly generated mesh. Following step S13, the process of step S14 is executed.

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

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

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

[0188] In step S17, processor 81 generates sub-voxel data representing the fragment objects obtained by the division process in step S15. Specifically, processor 81 generates sub-voxel data of sub-voxels in the sub-voxel space set in step S16, representing the fragment objects generated in step S15. Processor 81 also stores sub-voxel object data including the generated sub-voxel data in 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. Following step S17, the process of step S18 is executed.

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

[0190] In step S19, processor 81 generates a mesh for the fragment object. For example, processor 81 generates a mesh for the fragment object based on the sub-voxel data in a manner similar to the manner in which a mesh for a terrain object is generated. Processor 81 stores data indicating the mesh of the generated fragment object as sub-mesh data in DRAM 85. After step S19, processor 81 ends the erasure process shown in FIG. 21.

[0191] It should be noted that if a plurality of fragment objects are generated in step S15 (that is, there are a plurality of objects after division), the series of processes in steps S16 to S19 are executed for the plurality of fragment objects.

[0192] Returning to the explanation of FIG. 20, following the erasure process of step S6, the process of step S7 is executed. In step S7, processor 81 determines whether or not the fragment object has come into contact with the land object as a result of step S4 above. If the determination result of step S7 is positive, the process of step S8 is executed. On the other hand, if the determination result of step S7 is negative, the process of step S8 is skipped, and the process of step S9, which will be described later, is executed.

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

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

[0195] In step S22, the processor 81 updates the main voxel data 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 above in "[2-3-5. Adding a terrain object using a fragment object]". The processor 81 updates the main voxel object data stored in the DRAM 85 to include the updated main voxel data. Following step S22, the process of step S23 is executed.

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

[0197] Returning to the explanation of FIG. 20, after the additional processing of step S8, the processing of step S9 is executed. In step S9, processor 81 generates a game image representing a game space and displays it on the display device. Specifically, processor 81 generates a game image representing a game space including voxel objects and other objects (e.g., player objects and enemy objects). Note that the image of the voxel object is generated according to the method described above in "[2-2. Mesh]" using main voxel object data, main mesh data, secondary voxel object data, and secondary mesh data stored in DRAM 85. Processor 81 displays the generated game image on the display device. Note that during the game, the processing of step S9 is repeatedly executed once per predetermined time (e.g., one frame time). After step S9, the processing of step S10 is executed.

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

[0199] [4. Effects and Modifications of the Present Embodiment] As described above, in the above embodiment, the information processing system (specifically, the game system 1) is configured to include the following means. A main object generating means (step S3) for generating a mesh of a main object (i.e., a terrain 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. a main voxel updating means for updating main voxel data of the main voxels to be erased when an erasure event occurs for at least some of the main voxels in the main voxel space, so that at least a portion of the main object corresponding to the main voxels to be erased, which are the main voxels for which the erasure event occurred, is erased (step S13); When an erasure event occurs, a fragment determination means determines whether or not a fragment generation condition is satisfied based on the property data relating to the voxel to be erased, among the property data indicating the property (specifically, strength) of the main object for each main voxel (step S14). When it is determined that the fragment generation condition is satisfied, a sub-object generation means generates 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, the sub-voxel data being voxel data of a sub-object (i.e., a fragment object), and generates a mesh of the sub-object in the virtual space based on the sub-voxel data (steps S17 and S19). 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 (step S9)

[0200] According to the above configuration, by representing a secondary object representing a fragment of a main voxel using secondary voxel data relating to a secondary voxel space different from the main voxel space, it is possible to realistically represent the fragments when the main object is destroyed.

[0201] Furthermore, with the above configuration, the fragment generation conditions are determined based on property data related to the voxels to be erased. Therefore, whether or not a secondary object representing a fragment is generated can be varied for each erased main object, and can also be varied for each position of the erased portion of the main object. This allows for a more realistic depiction of fragments when the main object is destroyed. Note that, in other embodiments, the game system 1 may determine the fragment generation conditions without relying on the property data. For example, the game system 1 may determine the fragment generation conditions based on the type of the erase event described above, without relying on the property data.

[0202] In the above embodiment, the main object is a terrain object located in the virtual space. However, 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 that can move in the virtual space, such as a vehicle object that the player object can ride. Furthermore, the game system 1 may have multiple types of objects as main objects.

[0203] In the above embodiment, the determination of whether or not a voxel object has come into contact with another object (so-called collision determination) is performed in units of voxels. That is, if the other object (for example, a collision determination area set for the other object) is included in a voxel in the game space whose density is equal to or greater than a predetermined value, the game system 1 determines that the voxel object and the other object are in contact with each other. This reduces the processing load of the collision determination. However, in other embodiments, the game system 1 may perform the collision determination 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 with each other when the mesh of the voxel object and the other object come into contact with each other.

[0204] In other embodiments, the information processing system (specifically, game system 1) may not have 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 to achieve some specific effects in the above embodiments, the information processing system may have the configurations for achieving those effects and execute the processes for achieving those effects, but may not have other configurations or may not execute other processes. [Industrial Applicability]

[0205] The above embodiment can be used as, for example, a game system or a game program for the purpose of generating an object that represents a portion of an object that has been destroyed or the like. [Explanation of symbols]

[0206] 1. Game System 2 Main unit 3 Left Controller 4 Right Controller 81 processors 211 Player Object 212,221 terrain objects 213,222 debris objects 231 Delete Partial Object 232-235 Segmented Objects

Claims

1. An information processing program executed on a computer of an information processing device, a main object generating means for generating 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, which is a voxel space set in the virtual space; a main voxel updating means for updating main voxel data of the voxels to be erased when an erasure event occurs for at least some of the main voxels in the main voxel space, so that at least a portion of the main object corresponding to the voxels to be erased, which are the main voxels where the erasure event occurred, is erased; a fragment determination means for determining whether a fragment generation condition is satisfied based on property data relating to the voxel to be erased, among property data indicating the property of the main object for each of the main voxels, when the erasure event occurs; a sub-object generating means for generating sub-voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and that is different from the main voxel space when it is determined that the fragment generation condition is satisfied, the sub-voxel data being voxel data for a sub-object, and generating a mesh of the sub-object in the virtual space based on the sub-voxel data; an information processing program that causes the computer to function as image output means that outputs 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 an appearance setting means for setting 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 of the main voxels.

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

4. 3. The information processing program according to claim 2, wherein the secondary object generating means determines the appearance data to be set in the secondary voxels relating to the secondary object based on the appearance data that was set for the erased portion of the main object.

5. 5. An information processing program according to claim 1, wherein the secondary object generating means determines the property data to be set in the secondary voxels relating to the secondary object based on the property data that was set for the erased portion of the main object.

6. The information processing program causing the computer to further function as a number determination unit that determines the number of secondary objects to be generated based on the type of the deletion event that has occurred; 5. The information processing program according to claim 1, wherein when it is determined to generate a plurality of the sub-objects, the sub-object generation means generates the sub-voxel data for each of the sub-objects for each of a plurality of the sub-voxel spaces that are independent of each other, and generates meshes of the sub-objects in the virtual space based on the respective sub-voxel data.

7. 5. An information processing program according to claim 1, wherein the fragment determination means sets the conditions to be used as the fragment generation conditions and / or determines whether the fragment generation conditions are satisfied based on the type of the deletion event that has occurred.

8. 8. The information processing program according to claim 7, wherein the fragment determination means, when the erasure event is caused by an impact event that applies an impact to the main object, determines the type of the erasure event based on the type of the impact event.

9. 9. The information processing program according to claim 8, wherein the fragment determination means determines that different types of erasure events have occurred when a first impact applying event has occurred 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 applying event has occurred due to an action of the player object moving the collision object toward the main object to cause the collision object to collide with the main object.

10. 9. The information processing program according to claim 8, wherein the fragment determination means determines whether the erasure event has occurred when an event in which the secondary object collides with the main object has occurred as the impact event.

11. the property data indicates the strength of the primary object; 5. The information processing program according to claim 1, wherein the fragment determination means determines whether the fragment generation condition is satisfied based on an intensity according to the type of the erasure event that has occurred and an intensity indicated by property data set for the voxel to be erased in which the erasure event has occurred.

12. the property data indicates the strength of the primary object; 5. The information processing program according to claim 1, wherein the fragment determination means, when an impact event that impacts the main object occurs, determines whether or not the erasure event will occur based on the intensity of the impact event, which is set according to the type of the impact event, and the intensity indicated by property data set in the main voxel in which the impact event occurred.

13. 5. The information processing program according to claim 1, wherein the sub-object generating means generates the sub-voxel data so as to form the sub-object having a size according to the type of the erase event that has occurred.

14. 5. The information processing program according to claim 1, wherein the secondary object generating means, when it is determined that the fragment generation condition is satisfied, generates an erased portion object representing an erased portion of the main object, and generates the secondary object by dividing the erased portion object into multiple parts.

15. The information processing program according to claim 14, wherein the secondary object generating means generates the secondary voxel data so that the secondary object is an object obtained by dividing the erased portion object into a plurality of objects, the object being greater than a lower limit value and smaller than an upper limit value.

16. 5. An information processing program according to claim 1, wherein the main object generation means updates the main voxel data based on the sub-voxel data so that, when the secondary object collides with the main object, a portion corresponding to the secondary object in the main voxel space is added to the main object.

17. 5. The information processing program according to claim 1, wherein the sub-object generating means sets the sub-voxel space in which voxels having a side length shorter than that of the main voxel are defined as the sub-voxels.

18. 5. The information processing program according to claim 1, wherein the sub-object generating means sets directions of coordinate axes in the sub-voxel space independently of directions of coordinate axes in the main voxel space.

19. The information processing program according to claim 1 , wherein the main object is a topographical object arranged in the virtual space.

20. a main object generating means for generating 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, which is a voxel space set in the virtual space; a main voxel updating means for updating main voxel data of the voxels to be erased when an erasure event occurs for at least some of the main voxels in the main voxel space, so that at least a portion of the main object corresponding to the voxels to be erased, which are the main voxels where the erasure event occurred, is erased; a fragment determination means for determining whether a fragment generation condition is satisfied based on property data relating to the voxel to be erased, among property data indicating the property of the main object for each of the main voxels, when the erasure event occurs; a sub-object generating means for generating sub-voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and that is different from the main voxel space when it is determined that the fragment generation condition is satisfied, the sub-voxel data being voxel data for a sub-object, and generating a mesh of the sub-object in the virtual space based on the sub-voxel data; an 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;

21. a main object generating means for generating 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, which is a voxel space set in the virtual space; a main voxel updating means for updating main voxel data of the voxels to be erased when an erasure event occurs for at least some of the main voxels in the main voxel space, so that at least a portion of the main object corresponding to the voxels to be erased, which are the main voxels where the erasure event occurred, is erased; a fragment determination means for determining whether a fragment generation condition is satisfied based on property data relating to the voxel to be erased, among property data indicating the property of the main object for each of the main voxels, when the erasure event occurs; a sub-object generating means for generating sub-voxel data for each sub-voxel defined in a sub-voxel space that is a voxel space set in the virtual space and that is different from the main voxel space when it is determined that the fragment generation condition is satisfied, the sub-voxel data being voxel data for a sub-object, and generating a mesh of the sub-object in the virtual space based on the sub-voxel data; an image output unit that outputs 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, comprising: a main object generating step of generating 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, which is a voxel space set in the virtual space; a main voxel updating step of updating main voxel data of the main voxels to be erased when an erasure event occurs for at least some of the main voxels in the main voxel space, so that at least a portion of the main object corresponding to the main voxels to be erased, which are the main voxels where the erasure event occurred, is erased; a fragment determination step of determining, when the erasure event occurs, whether or not a fragment generation condition is satisfied based on property data relating to the voxel to be erased, among property data indicating the property of the main object for each of the main voxels; a sub-object generating step of generating 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, the sub-voxel data being voxel data for 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 image output step of outputting images of the mesh of the main object and the mesh of the sub-object in the virtual space to a display device.

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