Information processing program, information processing system, information processing device, and information processing method
The information processing program generates a mesh in a virtual space using voxel data to express thin surfaces by updating voxel data and setting material properties, addressing the challenge of depicting thin outer shells in virtual environments.
Patent Information
- Application Number
- JP2024011587
- 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
Existing methods struggle to represent a thin outer shell of an object in a virtual space using voxel data, as the surface of the object appears thicker than the length of one side of the voxel, making it difficult to depict a thin outer shell accurately.
An information processing program that generates a mesh of an object in a virtual space using voxel data, where material data is acquired and set before and after change events, allowing the program to express a thin surface by updating voxel data and setting colors or patterns based on different material data for affected voxels.
The program effectively represents a thin surface of an object by peeling off or erasing portions, creating a natural appearance without altering the mesh structure, enabling accurate depiction of thin surfaces and multiple layer appearances.
Smart Images

Figure 0007818024000001 
Figure 0007818024000002 
Figure 0007818024000003
Abstract
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 generating an object in a virtual space using voxel data, even if different appearances (e.g., textures) were used for the voxels corresponding to the surface of the object and the voxels corresponding to the interior of the object, it was difficult to represent the surface of the object as having an outer shell that was thinner than the length of one side of the voxel.
[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 expressing a thin outer shell portion of an object. [Means for solving the problem]
[0006] In order to solve the above problems, the present invention employs the following configurations (1) to (15).
[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 an object generation means, a material data acquisition means, an appearance setting means, and an image output means. The object generation means generates a mesh of an object in a voxel space set in the virtual space based on voxel data for each voxel defined in the voxel space. The material data acquisition means acquires first material data and second material data as material data defining the color and / or pattern of the object for each voxel. The appearance setting means (a) sets the color and / or pattern of the mesh of the object based on the first material data before a change event that changes the appearance of the object occurs, and (b) after the change event occurs, if second material data is associated with the first material data set for a change target voxel, which is a voxel at the location where the change event occurred, sets the color and / or pattern of the mesh corresponding to a part of the surface of the object based on the second material data. The image output means outputs an image of the mesh of the object in the virtual space to a display device.
[0008] According to the above configuration (1), it is possible to express the thin surface of an object being peeled off by a change event, and therefore it is possible to express the thin surface of an object.
[0009] (2) The object generating means may update voxel data for a voxel to be erased when an erasure event occurs that erases at least a portion of the object, so that at least a portion of the object is erased in the voxel to be erased where the erasure event occurred. The information processing program may further cause the computer to function as change event determining means. The change event determining means determines that a change event has occurred in at least one voxel among voxels surrounding the voxel to be erased.
[0010] According to the above configuration (2), when a part of an object is erased and its interior is exposed, it is possible to express a thin surface of the object.
[0011] (3) The appearance setting means may set a color and / or pattern based on the second material data for at least one mesh that is generated based on voxel data relating to the voxels to be changed and whose position does not change before and after the erasure event.
[0012] According to the above configuration (3), it is possible to make the mesh portion of the object appear as if a thin surface of the object has been peeled off, without changing the mesh.
[0013] (4) The information processing program may further cause the computer to function as a change event determination means, when an impact event that applies an impact to an object occurs, determining that a change event has occurred for a voxel at a position based on the position at which the impact event occurred.
[0014] According to the above configuration (4), the mesh portion of the object can be made to look as if a thin surface of the object has been peeled off.
[0015] (5) The information processing program may further cause the computer to function as a change event determination means, when an impact event that applies an impact to an object occurs, determining that a change event has occurred for a voxel at a position based on the position at which the impact event occurred.
[0016] According to the above feature (5), it is possible to make the mesh portion of the object appear as if a thin surface of the object has been peeled off, without changing the mesh.
[0017] (6) The change event determination means may determine, when a first number of impact events have occurred to the object, that a change event has occurred in voxels in the object within a range corresponding to the impact events. The information processing program may further cause the computer to function as voxel update means. When a second number of impact events, which is greater than the first number, have occurred to the object, the voxel update means updates voxel data for voxels to be erased that are located within the object based on the range corresponding to the impact events, so that at least a portion of the object is erased in the voxels to be erased. When a second number of impact events have occurred to the object, the change event determination means may determine that a change event has occurred in at least some of the voxels surrounding the voxels to be erased.
[0018] According to the above configuration (6), it is possible to express an event in which a thin surface of an object is peeled off by an impact event, and then a part of the object is erased by a subsequent additional impact event.
[0019] (7) The material data acquisition means may acquire third inner material data. The appearance setting means may, in response to the occurrence of a first change event, set a color and / or pattern of a mesh of an object generated based on voxel data related to the change target voxel based on second material data set for the change target voxel at a position where the first change event occurred. In response to the occurrence of a second change event for the change target voxel, if third material data is associated with the second material data set for the change target voxel at a position where the second change event occurred, the appearance setting means may set a color and / or pattern of a mesh of an object generated based on voxel data related to the change target voxel based on the third material data.
[0020] According to the above configuration (7), it is possible to represent a voxel object made up of three layers with different appearances.
[0021] (8) The material data may be associated with property data that defines the property of the object for each voxel, and the property data associated with the first material data may be the same as the property data associated with the second material data. The information processing program may further cause the computer to function as property setting means that sets the property of the object based on the property data.
[0022] According to the above configuration (8), the properties of the object can be set without being affected by the appearance of the object.
[0023] (9) The material data may include data indicating a texture. The information processing program may further cause the computer to function as image generation means. The image generation means generates an image of the object by applying, to a mesh generated based on the voxel data, a texture indicated by the material data set for voxels corresponding to the voxel data.
[0024] According to the above configuration (9), the color and / or pattern of the object can be set for each voxel.
[0025] (10) The image generating means may generate an image of the object by drawing a mesh generated based on voxel data of the voxel to be changed and voxel data of a voxel different from the voxel to be changed in such a way that there is a gradation from the texture indicated by the first material data to the texture indicated by the second material data.
[0026] According to the above configuration (10), the appearance of the object can be made more natural.
[0027] (11) Another 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 object generation means, drawing means, and image output means. The object generation means generates a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space. The drawing means draws a first color and / or pattern on the mesh of the object before an erasure event occurs that erases a portion of the object. The image output means outputs an image of the mesh of the object in the virtual space to a display device. After an erasure event occurs, the object generation means updates the voxel data so that a portion of the object is erased. The drawing means draws a second color and / or pattern, different from the first color and / or pattern, on the mesh of an exposed portion of the object exposed by the erasure and on at least a portion of the mesh surrounding the mesh of the exposed portion.
[0028] According to the above configuration (11), when the inside of an object is exposed by erasing a part of the object, it is possible to express a thin surface of the object.
[0029] (12) The drawing means may draw a second color and / or pattern on at least one mesh that is at least a part of the mesh surrounding the mesh of the exposed portion and whose position has not changed before and after the erasure event.
[0030] According to the above feature (12), it is possible to make the mesh portion of the object appear as if a thin surface of the object has been peeled off without changing the mesh.
[0031] (13) The information processing program may further cause the computer to function as property data acquisition means and property setting means. The property data acquisition means acquires property data that defines the property of the object for each voxel. The property setting means sets properties for the object having a first color and / or pattern or a second color and / or pattern rendered in a mesh based on the property data. The property data corresponding to the mesh of the first color and / or pattern may be the same as the property data corresponding to the mesh of the second color and / or pattern.
[0032] According to the above feature (13), the properties of the object can be changed without being affected by the appearance of the object.
[0033] (14) The rendering means may render a mesh generated based on voxel data using a texture associated with a voxel corresponding to the voxel data.
[0034] According to the above configuration (14), the color and / or pattern of the voxel object can be set for each voxel.
[0035] (15) The drawing means may draw on at least a part of the mesh surrounding the exposed mesh portion in a gradation from a first color and / or pattern to a second color and / or pattern.
[0036] According to the above configuration (15), the appearance of the object can be made more natural.
[0037] 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 (15) 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 (15) above. [Effects of the Invention]
[0038] According to the information processing program, information processing system, information processing device, and information processing method, when an object is generated in a virtual space using voxel data, a thin surface of the object can be represented. [Brief explanation of the drawings]
[0039] [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 state in which a player object performs a punch action on a tree object; [Figure 13] FIG. 10 is a diagram showing an example of a state in which a part of a wooden object is destroyed by a punch action performed by a player object. [Figure 14]An example of material information including two types of material IDs [Figure 15] A diagram showing an example of the surface and interior of a tree object. [Figure 16] FIG. 16 is a diagram showing an example of a state in which a part of the tree object is deleted from the state shown in FIG. 15. [Figure 17] FIG. 10 is a diagram showing an example of the surface and interior of a tree object when surface voxels are not designated as change target voxels. [Figure 18] An example of a mesh at the boundary between two textures [Figure 19] FIG. 10 is a diagram showing an example of how a change event occurs in response to an impact event. [Figure 20] FIG. 10 is a diagram showing an example of the surface and interior of a tree object when the texture of the tree object is changed without being erased. [Figure 21] FIG. 10 is a diagram showing an example of various data used in information processing in a game system. [Figure 22] A flowchart showing an example of the flow of game processing executed by the game system. DETAILED DESCRIPTION OF THE INVENTION
[0040] [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.
[0041] 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."
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.).
[0046] 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.
[0047] 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.).
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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).
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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).
[0061] 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.
[0062] 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.
[0063] 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.
[0064] [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 19. 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).
[0065] [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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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).
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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).
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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).
[0080] 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.
[0081] 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.
[0082] 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).
[0083] 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.
[0084] [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.
[0085] 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.
[0086] 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 were set to a value lower than the density of the voxel 202, the result would be that the number of vertices would increase further to the upper right and upper left of the voxel 202 in FIG.
[0087] 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.
[0088] 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.
[0089] 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).
[0090] 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. 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. 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.
[0091] 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 by which each material (specifically, the texture corresponding to the material) indicated by the multiple types of material data affects the appearance (specifically, the color and / or pattern) of the voxel object. Note that the multiple types of material data have a different meaning from the main material data and secondary material data described below. Furthermore, when determining the 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 taking the ratio into consideration, or each texture corresponding to the multiple materials may be used taking the ratio into consideration.
[0092] 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.
[0093] As described above, in this embodiment, the game system 1 stores data indicating texture as material data that defines the color and / or pattern of a voxel object for each voxel. The game system 1 generates an image of the object by applying, to a mesh generated based on the voxel data, the texture indicated by the material data set for the voxels corresponding to the voxel data. This allows the color and / or pattern of the voxel object to be drawn using the texture set for the voxels, so that the color and / or pattern of the voxel object can be set for each voxel.
[0094] [2-3. Processes to change the appearance of objects] Next, a process for changing the appearance of a voxel object will be described with reference to Fig. 12 to Fig. 20. Fig. 12 is a diagram showing an example of a state in which a player object performs a punch action on a tree object. Fig. 13 is a diagram showing an example of a state in which a part of the tree object is destroyed by a punch action performed by the player object. The tree object 212 shown in Figs. 12 and 13 is a voxel object.
[0095] In the example shown in FIG. 12 , the surface of the tree object 212 (specifically, the mesh of the tree object 212) is drawn using a texture that represents the appearance of the outer shell of the tree object (i.e., the bark). Here, in this embodiment, when the player object 211 performs a punch action on the tree object 212, a part of the tree object 212 may be erased under certain conditions as shown in FIG. 13 . As a result, the inside of the tree object 212 (i.e., the part inside the outer shell) is exposed. At this time, the exposed inner surface 212a is drawn using a texture that represents the appearance of the inside of the tree, unlike the surface of the outer shell of the tree object 212 (see FIG. 13 ). Furthermore, in this embodiment, a part 212b of the surface of the tree object 212 that is surrounding the part erased by the punch action is also drawn using a texture that represents the inside of the tree, similar to the surface 212a (see FIG. 13 ). For the part 212b, the texture used changes before and after the part of the tree object 212 is erased.
[0096] As described above, in this embodiment, when an event occurs to a voxel object (in the above example, when a punch action is performed), the game system 1 changes the appearance (specifically, the texture) of the voxel object under certain conditions. This makes it possible to express the appearance of the interior of the voxel object being exposed. Furthermore, in this embodiment, the outer shell portion of the surface of the voxel object can be made to appear thin using a method described below. For example, in the case of the tree object 212 shown in FIGS. 12 and 13, if the outer shell portion (bark) of the surface were expressed as thick, it would look unnatural. However, according to this embodiment, the outer shell portion can be made to appear thin, making it possible to make the tree object 212 appear more natural when its interior is exposed.
[0097] [2-3-1. Material information data with a different material ID] When changing the texture of a voxel object, the game system 1 allows the material data included in the voxel data to specify (switch between) the texture after the change and the texture before the change. Specifically, in this embodiment, the game system 1 associates two types of materials, a primary material and a secondary material, in the material information. FIG. 14 is a diagram showing an example of material information in which two types of materials are associated. In this embodiment, as shown in FIG. 14, the material information includes a material ID (referred to as a "primary material ID"), a property ID, and a texture ID for the primary material. These three IDs are the same as the three IDs included in the material information shown in FIG. 7. Here, the material information includes, in addition to the three IDs for the primary material, a material ID (referred to as a "secondary material ID") indicating a secondary material associated with the primary material. Here, of the material data included in the voxel data, material data indicating the primary material (i.e., indicating the primary material ID) is referred to as "primary material data," and material data indicating the secondary material (i.e., indicating the secondary material ID) is referred to as "secondary material data." The primary material is the material that corresponds to the texture before the change, and the secondary material is the material that corresponds to the texture after the change. In other words, the primary material ID indicated by the primary material data indicates the material before the change, and the secondary material ID indicated by the secondary material data indicates the material after the change. Note that, as will be explained in more detail later, the material before the change is the material that is mainly used to represent the outer shell of the voxel object. The material after the change is the material that is mainly used to represent the interior of the voxel object.For example, if the voxel object represented by the voxel data is the tree object described above, the primary material data indicates a material ID associated with the texture ID of a texture representing the color and pattern of the tree bark (for example, a dark brown texture representing a pattern of countless grooves) in the material information, and the secondary material data set in the material setting data corresponding to the primary material data indicates a material ID associated with the texture ID of a texture representing the color and pattern of the inside of the tree (for example, a light brown texture representing a pattern of tree rings) in the material information.
[0098] In this embodiment, even when a secondary material is associated with a primary material, one type of property is set for one voxel data. For example, in the example shown in FIG. 14 , a material ID indicating "001" as the primary material is associated with a material ID indicating "002" as the secondary material, but the material with the material ID "001" and the material with the material ID "002" are associated with the same property ID. However, in other embodiments, different properties may be set between the primary material and the secondary material. For example, when expressing an object covered with grass on the outside and rock on the inside, the primary material may be set to grass and the secondary material to rock. In this case, as a property indicating hardness, the primary material may be set to soft, and the secondary material may be set to hard.
[0099] Note that the data structure for associating the two types of material data before and after the change is arbitrary. For example, in another embodiment, the material data included in the voxel data may indicate both a material ID indicating the main material and a material ID indicating the sub-material.
[0100] The game system 1 does not need to set material data indicating a primary material associated with a secondary material in the material information for all voxels in the virtual space as described above. For example, among voxels where a voxel object exists, material data indicating a primary material associated with a secondary material in the material information may be set only for voxels located on the surface of the voxel object (referred to as "surface voxels"), and material data indicating a primary material not associated with a secondary material in the material information may be set for voxels located inside the voxel object (referred to as "internal voxels"). In this case, the material data included in the voxel data of the internal voxels may indicate a material associated with a texture ID of a texture representing the color and pattern representing the interior of the voxel object (e.g., in the case of a tree object, a light brown texture representing the pattern of tree rings). Note that, for example, if a voxel whose density is equal to or greater than a reference value has adjacent voxels whose density is less than the reference value, the voxel can be determined to be a surface voxel. On the other hand, for a voxel whose density is equal to or greater than the reference value, if the densities of all adjacent voxels are also equal to or greater than the reference value, the voxel can be determined to be an interior voxel.
[0101] [2-3-2. Example of changing the texture of a voxel object] Next, a specific example of changing the texture of a voxel object will be described. In this embodiment, when a change event occurs for a voxel object, the texture of the part where the change event occurred is changed. A change event is an event that changes the appearance (specifically, the texture) of a voxel object. In this embodiment, a change event occurs when a change condition is satisfied for a voxel object. In this embodiment, when a deletion event occurs because a deletion condition is satisfied for a specific voxel object (for example, the above-mentioned tree object), the game system 1 determines that the change condition is satisfied.
[0102] The change condition may be any condition and is not limited to the occurrence of a deletion event. In this embodiment, the game system 1 determines that a change event has occurred not only when a deletion event has occurred but also when an impact event has occurred on a predetermined voxel object (see FIG. 19), as will be described in detail later. The impact event is an event in which an impact is applied to a voxel object, such as an event in which a destructive action such as a punch action is performed by a player object on the voxel object, or an event in which another object collides with the voxel object.
[0103] FIG. 15 is a diagram showing an example of the surface and interior of a tree object. Note that FIG. 15 (and similarly for FIGS. 16, 17, and 20) shows a voxel object (specifically, a tree object 212) whose mesh is generated according to the same rules as when the mesh of the terrain object shown in FIG. 4 is generated, in order to clearly show the relationship between voxels and the voxel objects placed in those voxels. That is, the voxel object shown in FIG. 15 has its mesh generated according to the following rule: "If the density set for a voxel is greater than a predetermined value, a cube is placed at the position of that voxel; if the density is equal to or less than the predetermined value, nothing is placed at the position of that voxel." Note that FIG. 15 shows a cross section of the tree object 212, with the voxels in the rightmost column (voxels surrounded by a dashed line in FIG. 15) being the surface voxels, and the voxels to the left of that being the interior voxels.
[0104] 15 is a diagram showing a state before a part of the tree object 212 is erased by a punch action by the player object 211. Here, main material data in which sub-voxel data is set as material information is set in the voxel data of each voxel of the tree object 212. In the state shown in FIG. 15, the game system 1 draws the mesh of the tree object 212 using a texture corresponding to the main material. Therefore, in the state shown in FIG. 15, the mesh of the tree object 212 has an appearance that represents the outer shell part of the tree (i.e., the bark) (see FIG. 12).
[0105] A dotted line area 213 shown in FIG. 15 indicates the area (referred to as the "erasure area") in which the tree object 212 is erased by a punch action by the player object 211. In the example shown in FIG. 15, it is assumed that an erasure condition is satisfied by a punch action by the player object 211, and an erasure event occurs. The erasure area is determined based on the type of impact inflicting event (for example, the type of action by the player object). For example, when an impact inflicting event occurs by a punch action, a spherical area centered slightly forward of the position where the punch of the player object 211 hits the tree object 212 is determined as the erasure area 213. The method of determining the erasure area is arbitrary, and may be constant regardless of the type of impact inflicting event.
[0106] FIG. 16 is a diagram showing an example of a state in which a part of the tree object has been erased from the state shown in FIG. 15. In the example shown in FIG. 16, it is assumed that a part of the tree object 212 corresponding to the voxels (referred to as "voxels to be erased") included in the erasure range 213 shown in FIG. 15 is erased. Specifically, the game system 1 sets the density of the voxel data of the voxels to be erased to 0. In the state shown in FIG. 16, as a result of the tree object 212 in the voxels to be erased being erased, a part of the tree object 212 in the internal voxels is newly exposed.
[0107] 16, it is assumed that the tree object 212 is not erased for voxels surrounding the voxel to be erased, part of which is included in the erasure range 213. However, in reality, part of the tree object 212 may be erased for the voxel. Specifically, the game system 1 may subtract density in the voxels surrounding the voxel to be erased based on a predetermined rule. The content of this rule is arbitrary. For example, the game system 1 may adjust the density in the voxels surrounding the voxel to be erased so that a mesh is generated along the periphery of the erasure range 213.
[0108] In this embodiment, when an erasure event occurs for the tree object 212, the game system 1 generates a change event for voxels (voxels indicated by diagonal lines in FIG. 16 ) surrounding the erasure target voxel among the voxels in which the tree object 212 exists. Note that hereinafter, voxels that generate a change event are referred to as “change target voxels.” That is, in this embodiment, when the object of the erasure target voxel is erased, the game system 1 changes the texture used for rendering for the change target voxels surrounding the erasure target voxel among the voxels in which the tree object 212 exists from a texture corresponding to the primary material to a texture corresponding to the secondary material. Specifically, for a surface (specifically, a mesh) corresponding to the change target voxel, the game system 1 changes the material data set for the change target voxel from primary material data to secondary material data. More specifically, the game system 1 updates the material data set for the change target voxel so that the secondary material associated with the primary material in the material information is indicated instead of the primary material indicated by the material data. Then, rendering is performed using the texture specified by the updated material data (see Figure 16).
[0109] The "surface corresponding to the voxel to be changed" may be, for example, a mesh generated based on the voxel data of the voxel to be changed, and is a mesh that is affected by the density indicated by the voxel data of the voxel to be changed. Specifically, the "surface corresponding to the voxel to be changed" may be a mesh at least a portion of which is located within the voxel to be changed.
[0110] Note that, for voxels to be changed that do not have secondary material data set in their material information, the texture used for rendering is not changed. For example, as described above, for internal voxels, a material corresponding to a texture representing the color and pattern representing the interior of the voxel object may be set as the primary material, and no secondary material may be set. In this case, if a mesh corresponding to the internal voxel is generated by an erase event, rendering is performed using the texture representing the color and pattern representing the interior of the voxel object. As a result, meshes corresponding to voxels to be changed, including both internal voxels and surface voxels, are rendered using the texture representing the color and pattern representing the interior of the voxel object.
[0111] Here, in another embodiment, a method is also conceivable in which only the interior voxels of the tree object 212 are designated as voxels to be changed, and the surface voxels are not designated as voxels to be changed (i.e., only the mesh corresponding to the interior voxels is drawn using a texture representing the color and pattern of the interior of the tree object 212). FIG. 17 is a diagram illustrating an example of the surface and interior of a tree object when the surface voxels are not designated as voxels to be changed. The example illustrated in FIG. 17 illustrates a case in which the texture of the voxel data of the surface voxels is not changed (unlike this embodiment), and the voxel data is drawn using a texture representing the color and pattern of the outer shell of the tree object, similar to the state before erasure. In this case, of the surfaces newly exposed by the erasure, the mesh portions corresponding to the surfaces of the surface voxels are drawn using a texture representing the color and pattern of the outer shell of the tree object, resulting in an appearance of tree bark. In this case, a portion of the surface newly exposed by the erasure that is one voxel thick has an appearance of bark, so the thickness of the bark becomes one voxel thick, and it becomes impossible to represent the bark as thinner than the voxel thickness.
[0112] In contrast, in this embodiment, the game system 1 uses textures corresponding to the secondary material data to draw not only meshes representing surfaces newly exposed by a deletion event, but also meshes that have not changed since before the deletion event (see FIG. 16). That is, the game system 1 sets the texture of meshes that are generated based on voxel data related to the voxels to be changed and that have not changed before and after the deletion event, based on the secondary material data set for the voxels to be changed. As a result, the area surrounding the deleted portion of the meshes corresponding to the surface voxels of the tree object 212 changes to an appearance that represents the interior of the tree, although the position of the mesh remains unchanged from before the deletion (see FIG. 13). As a result, the area surrounding the deleted portion appears as if a very thin layer of the surface has been peeled off, making the tree object appear as if the outer shell of the tree is thinly formed, thereby achieving a natural appearance.
[0113] In this embodiment, when two adjacent voxels are assigned different textures, the boundary between the regions where the two textures are drawn is rendered jagged (see FIG. 13). This allows a realistic representation of a part of the bark being peeled off as a result of a part of the tree object 212 being erased by an impact event. However, any mesh generation method or rendering method may be used, and the boundary between the regions where the two textures are drawn may be formed in any manner. For example, the game system 1 may render the boundary so that it is formed along the periphery of the erasure area 213, or may perform a process to blur the boundary.
[0114] Fig. 18 is a diagram showing an example of a mesh at the boundary of an area where two types of textures are drawn. Note that, as with Fig. 10, in Fig. 18, the voxels and mesh are represented 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 221 is generated based on voxels in three-dimensional space. Mesh 221 is a mesh generated based on voxel data of surface voxels (it can also be said that this is a mesh whose position does not change before and after a change event).
[0115] In FIG. 18, circles marked with "a" or "b" indicate the center positions of voxels. Specifically, the circle marked with "a" is the center position of a voxel to which a material associated with a primary texture (i.e., a texture representing the color and pattern of the outer shell of a tree, for example) is set, and the circle marked with "b" is the center position of a voxel to which a material associated with a secondary texture (i.e., a texture representing the color and pattern of the interior of a tree) is set. Furthermore, among the vertices of mesh 221, vertex 222 is set between voxels to which a material corresponding to the secondary texture is set (i.e., set based on the voxel data of each voxel). Among the vertices of mesh 211, vertices 223 to 225 are set between voxels to which a material corresponding to the primary texture is set and voxels to which a material corresponding to the secondary texture is set (i.e., set based on the voxel data of voxels to which a material corresponding to the primary texture is set and the voxel data of voxels to which a material corresponding to the secondary texture is set). However, for vertex 225, the proportion of materials corresponding to the primary texture among the materials set for the corresponding voxels is higher than for vertices 223 and 224. Specifically, for vertices 223 and 224, the proportion of materials corresponding to the primary texture and materials corresponding to the secondary texture set for each corresponding voxel is half and half (in FIG. 18, there are two of the former and two of the latter), whereas for vertex 225, the proportion of materials corresponding to the primary texture among the materials set for each corresponding voxel is higher than the proportion of materials corresponding to the secondary texture (in FIG. 18, there are three voxels to which a material corresponding to the primary texture is set and one voxel to which a material corresponding to the secondary texture is set).
[0116] As shown in Figure 18, for a mesh in which the textures set for the surrounding voxels are located at different positions (i.e., a mesh generated based on voxel data of multiple voxels to which different textures are set), rendering may be performed so that a gradation occurs from one texture to the other by interpolation. In the example shown in Figure 18, the secondary texture is white and the primary texture is black. This allows for a smooth change in color and / or pattern at the boundary between the two types of texture, making the object look more natural.
[0117] As described above, in this embodiment, the game system 1 generates an image of a voxel object by drawing a mesh (i.e., the boundary mesh) generated based on the voxel data of the voxel to be changed and the voxel data of voxels other than the voxel to be changed, so that there is a gradation from the primary texture indicated by the primary material data to the secondary texture indicated by the secondary material data. It can also be said that the game system 1 draws at least a portion of the mesh surrounding the mesh of the exposed portion of the voxel object exposed by the erasure event, so that there is a gradation from the color and / or pattern indicated by the primary texture to the color and / or pattern indicated by the secondary texture. This allows the object to look more natural.
[0118] As described above, in this embodiment, when an erasure event occurs that erases at least a portion of a voxel object, the game system 1 updates the voxel data for the voxel to be erased so that at least a portion of the voxel object in the voxel to be erased where the erasure event occurred is erased. The game system 1 then determines that a change event has occurred in voxels surrounding the voxel to be erased (more specifically, voxels surrounding the voxel to be erased that contain a voxel object) (specifically, rendering is performed using a secondary texture set for the surrounding voxels). This allows for the representation of a thin outer shell of the voxel object when a portion of the voxel object is erased and its interior is exposed.
[0119] Note that the voxels to be changed do not necessarily have to be all voxels surrounding the voxel to be erased. For example, as described above, only one type of material data (i.e., main material data indicating the main material used to represent the interior of the voxel object) may be set for the interior voxels, and material data indicating the main material associated with a secondary material in the material information may be set for the surface voxels. In this case, the texture representing the interior of the voxel object is applied to the interior voxels of the voxels surrounding the voxel to be erased without changing the texture of the interior voxels. Therefore, the game system 1 may specify only the surface voxels of the voxels surrounding the voxel to be erased as the voxels to be erased. This also achieves the same effect as the present embodiment.
[0120] The game system 1 may simultaneously erase a voxel object due to an erasure event and change the appearance of the voxel due to a change event. That is, when an erasure event occurs, the game system 1 may execute erasure processing (specifically, processing to set the density to 0) on the voxels to be erased within the erasure range, and may also execute change processing (specifically, processing to change the material data used for drawing to secondary material data) on the voxels to be changed within a range slightly larger than the erasure range. This allows the appearance of the voxel object to be changed responsively in response to the erasure event.
[0121] In the above, an example has been described in which a change event occurs due to a deletion event. However, the change condition for the change event to occur is not limited to the occurrence of a deletion event. For example, the game system 1 may be configured to cause a change event to occur due to an impact event even if the deletion event does not occur due to the impact event.
[0122] FIG. 19 is a diagram showing an example of how a change event occurs due to an impact event. In the example shown in FIG. 19, the change condition for the tree object 212 is that an impact event has occurred to the tree object 212. At this time, the game system 1 generates a change event in a range corresponding to the impact event in response to the occurrence of the impact event. That is, the game system 1 changes the texture used to render the portion of the mesh of the tree object 212 within the above range from the primary texture to the secondary texture. As a result, as shown in FIG. 19, the portion within the above range has an appearance that represents the inside of the tree.
[0123] The "range according to the impact inflicting event" refers to the range affected by the impact inflicting event. For example, when an impact inflicting event occurs due to a punch action by the player object 211, a predetermined range including the position where the punch of the player object 211 hits the land object becomes the "range according to the impact inflicting event."
[0124] FIG. 20 is a diagram illustrating an example of the surface and interior of a tree object when the texture is changed without erasing the tree object. The dotted-line area 214 in FIG. 20 is the range corresponding to the impact event described above. In this embodiment, when a change event occurs due to an impact event, the game system 1 designates, among the surface voxels, voxels included in the range corresponding to the impact event (the voxels indicated by diagonal lines in FIG. 20) as change-target voxels. The game system 1 updates the material data set for the change-target voxels (specifically, meshes) 212c corresponding to the change-target voxels from primary material data to secondary material data, and performs rendering using the secondary texture specified by the secondary material data. As a result, the mesh of the tree object 212 within the range corresponding to the impact event changes in appearance to represent the interior of the tree (although the position of the mesh remains unchanged from before erasure) (see FIG. 19). This makes it appear as if the thin outer shell (i.e., bark) of the tree has been peeled off by the impact event, giving the tree object 212 a natural appearance with a thin outer shell.
[0125] In the above case, the voxels to be changed may be determined by any method based on the range corresponding to the impact event. For example, in another embodiment, the game system 1 may determine, among the surface voxels, voxels included in the range corresponding to the impact event and voxels adjacent thereto as the voxels to be changed.
[0126] As described above, in this embodiment, when an impact event that applies an impact to a voxel object occurs, the game system 1 determines that a change event has occurred for a voxel at a position based on the position where the impact event occurred (specifically, a position included in a range corresponding to the impact event) (specifically, rendering is performed using the secondary texture set for the voxel). In this way, when an impact event occurs to a voxel object, it is possible to make it appear as if a thin outer shell of the voxel object has been peeled off (even if part of the voxel object is not erased).
[0127] In this embodiment, when changing the texture due to a change event corresponding to an impact event, the game system 1 does not change the position of the mesh of the voxel object. However, in other embodiments, the game system 1 may change the position of the mesh in the above case. For example, the game system 1 may change the position of the mesh so that the mesh in which the change event occurs moves slightly toward the inside of the voxel object.
[0128] The game system 1 may execute both a process of generating a change event in response to a deletion event and a process of generating a change event in response to an impact event. In other words, the change condition may be satisfied when either "a deletion event has occurred" or "an impact event has occurred." In this embodiment, the game system 1 generates a change event as follows.
[0129] In this embodiment, when the above impact - applying event is performed, the game system 1 determines whether the change condition is satisfied and whether the deletion condition is satisfied. Here, in this embodiment, an intensity is set for each voxel in the voxel object, and an intensity is also set for the impact - applying event according to the type of the impact - applying event. The type of the impact - applying event is determined to be different, for example, according to the type of action performed in the impact - applying event or the type of object that has collided with the voxel object in the impact - applying event. The game system 1 determines whether the change condition is satisfied and whether the deletion condition is satisfied based on these intensities. In this embodiment, it is assumed that the intensity of the voxel object is set as one of the properties of the material described above. That is, it can be said that the above property ID is data indicating the intensity of the voxel object. In this embodiment, the intensity can take an integer value from 1 to the upper limit value.
[0130] 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 - applying event) and the intensity B of the destructed side (i.e., the voxel object). Specifically, the game system 1 determines the deletion condition as follows in (a) - (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 impact - applying event is given to the voxel object, and when the damage to the voxel object becomes greater than or equal to 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 voxel object (as a result, the deletion condition is not satisfied). In this embodiment, damage to a voxel object is managed for each voxel. That is, the game system 1 stores data indicating the value of the damage for each voxel as the above-mentioned state data included in the voxel data.
[0131] 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 voxel) of the voxel object. In other words, in this case, a certain part of the voxel 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.
[0132] The game system 1 determines the removal condition for each voxel. Specifically, when an impact event occurs, the game system 1 determines the removal condition for each voxel within a range corresponding to the impact event based on the intensity of the impact event and the intensity set for the voxel.
[0133] In the case of (a) above, the erasure condition is satisfied, and therefore the game system 1 determines that the change condition is also satisfied. In this case, a portion of the voxel object is erased in response to the satisfaction of the erasure condition, and the texture of the portion of the voxel object is changed (see FIG. 13). In the case of (b) above, the game system 1 determines that the change condition is satisfied even if the erasure condition is not satisfied. In this case, the voxel object is not erased, but a process of changing the texture of the portion of the voxel object is executed (see FIG. 19). In the case of (c) above, the game system 1 determines that the change condition is not satisfied.
[0134] As described above, in this embodiment, in the case of (b) above, in response to the occurrence of the first impact event, the voxel object is not erased, but the texture of the voxel object is changed in a range corresponding to the impact event (see FIG. 19). Then, in response to the occurrence of a second or subsequent impact event, the voxel object is erased, and the texture of the voxel object is changed in a region surrounding the erased portion (see FIG. 13). Note that in another embodiment, in the case of (b) above, instead of determining that the change condition is satisfied by the first impact event, the game system 1 may determine that the change condition is satisfied when the damage to the voxel object reaches or exceeds a reference value. Note that the reference value for determining the change condition is set to a value smaller than the reference value for determining the erasure condition. In other words, the game system 1 sets the number of impact events required to satisfy the change condition to be smaller than the number of impact events required to satisfy the erasure condition.
[0135] As described above, in this embodiment, when a first number of impact imparting events (e.g., one) occur to a voxel object, the game system 1 determines that a change event has occurred in the voxel object within a range corresponding to the impact imparting events. Furthermore, when a second number of impact imparting events (e.g., two or more) occur to the voxel object, the game system 1 updates voxel data for the voxel to be erased, the voxel data being located within the voxel object within a range corresponding to the impact imparting events, so that at least a portion of the voxel object is erased. Furthermore, when a second number of impact imparting events occur to the voxel object, the game system 1 determines that a change event has occurred in at least some of the voxels surrounding the voxel to be erased. This allows the appearance of a thin outer shell of the voxel object being peeled off by an impact imparting event, and then a subsequent additional impact imparting event erases a portion of the voxel object (and further erases the outer shell around the erased portion).
[0136] The deletion conditions and change conditions, as well as the ranges of deletion events and change events, are arbitrary and are not limited to the above. For example, the ranges of deletion events and change events may be set for each type of impact event.
[0137] Furthermore, in this embodiment, the game system 1 changes the appearance (specifically, texture) of a voxel object in response to a change event, but does not change the properties of the voxel object. That is, in this embodiment, material data is associated with property data that defines the properties of the object for each voxel, and the property data associated with the primary material data and the property data associated with the secondary material data are the same. The game system 1 sets the properties of the object based on the property data. More specifically, the game system 1 sets the properties of the voxel object based on the property data set for the voxel object, regardless of whether a primary texture or a secondary texture is applied to the mesh of the voxel object. This allows the properties of the voxel object to be set without being affected by the appearance of the voxel object.
[0138] [2-3-3. Example of setting three or more materials] When a secondary material is associated with a primary material set for a certain voxel, another material may be associated with the secondary material. For example, in the example of material information shown in FIG. 14, a secondary material with a material ID of "002" is associated with a primary material with a material ID of "001." Furthermore, a secondary material with a material ID of "012" is associated with the material with a material ID of "002" as the primary material. In this way, when a change event first occurs for a voxel object in which voxel data including first material data (e.g., material data indicating "001") is set, the game system 1 renders the mesh corresponding to the change target voxel using second material data (e.g., material data indicating "002") instead of the first material data. In this case, the voxel data of the change target voxel is updated to include the second material data instead of the first material data. Then, when the next change event occurs for the voxel object, the game system 1 renders the mesh corresponding to the change target voxel using the third material data (e.g., material data indicating "012") instead of the second material data. In this case, the voxel data of the change target voxel has been updated to include the third material data instead of the second material data.
[0139] As described above, in this embodiment, in response to the occurrence of a first change event, the game system 1 sets the color and / or pattern (specifically, texture) of the mesh of a voxel object generated based on the voxel data related to the change target voxel based on the second material data set for the change target voxel at the position where the first change event occurred. Furthermore, in response to the occurrence of a second change event for the change target voxel, if third material data is associated with the second material data set for the change target voxel at the position where the second change event occurred, the game system 1 sets the color and / or pattern of the mesh of a voxel object generated based on the voxel data related to the change target voxel based on the third material data. In this way, simply by setting one material associated with a given material in the material information, it is possible to set yet another material associated with the other material. Therefore, for example, by causing an additional change event in a part of the mesh drawn based on the second material data, it is possible to express a voxel object consisting of three layers with different appearances. Note that, in a similar manner to the above, it is also possible to express a voxel object consisting of four or more layers with different appearances. In this embodiment, such multi-layer representation can be realized without setting a large amount of material data for each voxel data, so even if the number of voxel data is large, the increase in the required memory amount can be kept to a minimum. Note that the same is true for the case of two layers.
[0140] [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.
[0141] FIG. 21 is a diagram showing an example of various data used in information processing in the game system 1. As shown in FIG. 21, the game system 1 stores a game program, voxel space data, voxel object data, and mesh data. The game program and voxel space data are data that are stored in the game system 1 before the game processing is executed. The game program and voxel space data are stored, for example, in a storage medium inserted in the slot 23 of the main unit 2. The voxel object data and mesh data are data that are generated during the execution of the game processing. These data are stored, for example, in the DRAM 85 of the main unit 2.
[0142] The game program is a game program for executing the game processing in this embodiment (specifically, the game processing shown in FIG. 22).
[0143] Voxel space data is data that defines a voxel space set in the game space. Specifically, the voxel space data indicates the length of one side of a voxel and the direction of each side of the voxel in the game space. Furthermore, when the voxel space is set in only a partial area of the game space, the voxel space data may include data indicating the position and size of the space in which the voxel is set (i.e., voxel space) (i.e., data indicating the range in the game space in which the voxel is set).
[0144] The voxel object data is data that indicates a voxel object (for example, the above-mentioned tree object) that is placed in the game space. Specifically, the voxel object data includes voxel data for each unit area within a part or all of the range in the game space.
[0145] The mesh data is data that indicates a mesh that is set for a voxel object placed in the game space, and includes, for example, data that indicates the position of each vertex in the mesh.
[0146] In addition to the data shown in Figure 21, the game system 1 stores the above-mentioned material information, property information, and texture information data, as well as 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.
[0147] Fig. 22 is a flowchart showing an example of the flow of game processing executed by the game system 1. The game processing shown in Fig. 22 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.
[0148] In the present embodiment, the processor 81 of the main unit 2 executes the game program stored in the game system 1, thereby performing the processing of each step shown in FIG. 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 FIG. 22 may be performed in the other information processing device. Furthermore, the processing of each step shown in FIG. 22 is merely an example, and the order of the processing 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.
[0149] 22 using a memory (for example, 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 a subsequent processing step, reads the information from the memory and uses it.
[0150] In step S1 shown in FIG. 22, the processor 81 sets voxel objects in an initial state in the game space. Specifically, the processor 81 acquires voxel data indicating the arrangement of the voxel objects in the initial state, and stores (in other words, writes) some or all of the acquired voxel data in the DRAM 85 as voxel object data. As a result, the processor 81 acquires data indicating the density for generating a mesh in each voxel, data indicating a texture to be applied to the mesh, data indicating the properties of the voxel object, and the like. Note that the voxel data indicating the arrangement of the voxel objects in the initial state is stored, for example, in a storage medium attached to the slot 23 of the main unit 2. Following step S1, the process of step S2 is executed.
[0151] Note that the voxel data written to DRAM 85 as voxel object data may be voxel data for a partial range of the 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 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 voxel object data may include voxel data for that range. Furthermore, when voxel data for a partial range of the game space is written, a process similar to step S1 above is executed at an appropriate timing during execution of a series of processes in steps S3 to S12 (described later) (for example, when the position of the virtual camera has moved by more than a predetermined distance).
[0152] In step S2, processor 81 generates a mesh for the voxel object. The mesh is generated according to the method described above in "[2-2. Mesh]". Here, processor 81 generates a mesh based on voxel object data stored in DRAM 85 and stores it as mesh data in DRAM 85. By the processing of step S2, a voxel object with a texture to be applied to the mesh and properties set thereto is constructed in the game space. After step S2 above, the game starts, and a series of processing steps S3 to S12 is repeatedly executed during the game.
[0153] In step S3, 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 S3, the process of step S4 is executed.
[0154] In step S4, processor 81 determines whether or not the impact event described above has occurred as a result of step S3. If the determination result of step S4 is positive, the process of step S5 is executed. On the other hand, if the determination result of step S4 is negative, the series of processes from steps S5 to S10 is skipped, and the process of step S11, which will be described later, is executed.
[0155] In step S5, the processor 81 determines whether the above-mentioned erasure condition is satisfied as a result of step S3. As described above, the erasure condition is determined for each voxel, so that in the determination of step S3, if the erasure condition is satisfied for at least one voxel, the determination result is positive. If the determination result of step S5 is positive, the process of step S6 is executed. On the other hand, if the determination result of step S5 is negative, the series of processes of steps S6 and S7 are skipped and the process of step S8 is executed.
[0156] In step S6, processor 81 updates the voxel data in the voxel object data stored in DRAM 85 so as to erase a portion of the voxel object. Specifically, processor 81 erases a portion of the voxel object using the method described above in "[2-3-2. Specific example of changing the texture of a voxel object]". After step S6, the process of step S7 is executed.
[0157] In step S7, processor 81 updates the mesh of the voxel object whose voxel data was changed in step S6. That is, processor 81 generates a mesh of the voxel object based on the voxel object data updated in step S6. This allows the mesh of the voxel object to be dynamically changed during the game. Processor 81 also updates the mesh data stored in DRAM 85 to content indicating the newly generated mesh. Following step S7, the process of step S8 is executed.
[0158] In step S8, processor 81 determines whether the above-mentioned change condition is satisfied as a result of step S3. If the determination result of step S8 is positive, the process proceeds to step S9. On the other hand, if the determination result of step S8 is negative, the processes of steps S9 and S10 are skipped and the process proceeds to step S11.
[0159] In step S9, processor 81 identifies a change target voxel in which a change event occurs. Specifically, if a change condition is satisfied by the occurrence of a deletion event, processor 81 identifies voxels surrounding the deletion target voxel as change target voxels. Also, if a change condition is satisfied by an impact event, processor 81 identifies voxels within a range corresponding to the impact event as change target voxels. Following step S9, the process of step S10 is executed.
[0160] In step S10, processor 81 changes the texture used to render the mesh for the voxel to be changed identified in step S9 from the primary texture to the secondary texture. Specifically, processor 81 changes the material data of the voxel data for the voxel to be changed so that it indicates the secondary material rather than the primary material. That is, the secondary texture corresponding to the secondary material becomes the texture used to render the mesh thereafter. Processor 81 updates the voxel object data stored in DRAM 85 to content indicating the voxel data changed as described above. Following step S10, the process of step S11 is executed.
[0161] In step S11, the processor 81 generates a game image representing a game space and displays it on the display device. Specifically, the processor 81 generates a game image representing a game space including voxel objects and other objects (e.g., player objects and enemy objects). The image of the voxel object is generated using the voxel object data and mesh data stored in the DRAM 85 according to the method described above in "[2-2. Mesh]". At this time, for voxel data to which two types of material data are set, the processor 81 generates the game image (specifically, draws the mesh) using a texture specified by the material data included in the voxel data. Therefore, if the applied texture data is changed in the processing of step S10, the texture used for drawing is changed, and the appearance of the voxel object is changed. The processor 81 displays the game image generated as described above on the display device. Note that during the game, the processing of step S11 is repeatedly executed once per predetermined time (e.g., once per frame time). Following step S11, the processing of step S12 is executed.
[0162] In step S12, 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 S12 is negative, the processing of step S3 is executed again. Thereafter, the series of processing from steps S3 to S12 is repeatedly executed until it is determined in step S12 that the game is to end. On the other hand, if the determination result in step S12 is positive, processor 81 ends the game processing shown in FIG. 22.
[0163] [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. An object generating means for generating a mesh of an object (i.e., a voxel object) in a virtual space based on voxel data for each voxel defined in the voxel space set in the virtual space (step S2). A material data acquisition means (step S1) for acquiring first material data (e.g., primary material data) and second material data (e.g., secondary material data) as material data defining the color and / or pattern (e.g., texture) of an object for each voxel. (a) before a change event that changes the appearance of the object occurs, the appearance setting means sets the color and / or pattern of the mesh of the object based on the first material data, and (b) after the change event occurs, if second material data is associated with the first material data, the appearance setting means sets the color and / or pattern of the mesh that corresponds to a part of the surface of the object, which is generated based on voxel data related to the change target voxel, based on the second material data (step S10). Image output means for outputting an image of a mesh of an object in a virtual space to a display device (step S11)
[0164] With the above configuration, for the part of the object where a change event occurs, the color and / or pattern of the mesh changes due to the change event, making it appear as if the thin outer shell of the object has been peeled off due to the change event, thereby making it possible to express the thin outer shell of the object.
[0165] In addition, in the above embodiment, it can also be said that the information processing system (specifically, the game system 1) is configured to include the following means. An object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space (step S2). Before a deletion event occurs that deletes a part of an object, a drawing means draws a first color and / or pattern (for example, a color and / or pattern representing the outer shell of the object) on the mesh of the object (step S11). Image output means for outputting an image of a mesh of an object in a virtual space to a display device (step S11) After the erasure event occurs, the voxel generating means updates the voxel data so that a part of the object is erased (step S6). The drawing means draws a second color and / or pattern different from the first color and / or pattern (for example, a color and / or pattern representing the inside of the object) on the mesh of the exposed part of the object that is exposed by the erasure and on at least a part of the mesh surrounding the mesh of the exposed part (see FIG. 13).
[0166] According to the above configuration, when a part of an object is erased, the thin outer shell of the object can be represented by drawing the color and / or pattern of the inside of the object on the mesh surrounding the exposed part that is exposed by the erasure.
[0167] In the above configuration, the material data only needs to include data that defines the color and / or pattern of the object, and does not need to include data that indicates the properties of the object.
[0168] Furthermore, in the above embodiment, the game system 1 sets the color and / or pattern based on the secondary material data for at least one mesh that is generated based on voxel data related to the change target voxels and whose position does not change before and after a change event (which can also be considered an erasure event if the change event occurs based on an erasure event) (i.e., it renders the color and / or pattern of the object's interior). This ensures that the boundary between the area where the outer color and / or pattern is rendered and the area where the inner color and / or pattern is rendered is located on a mesh that does not change before and after the change event. This makes it possible to represent the thin outer shell of the object. Furthermore, since it is not necessary to modify the mesh more than necessary, the processing load for changing the appearance of the object can be reduced.
[0169] In the above embodiment, a tree object has been described as an example of a voxel object whose outer shell and interior have different appearances. However, in other embodiments, the voxel object whose outer shell and interior have different appearances may be any object in virtual space. For example, the voxel object may be a terrain object, or may be an object that can move in virtual space, such as a player object, an enemy object, or a vehicle object that a player object can ride. Note that the game system 1 may be configured to place both voxel objects whose outer shell and interior have different appearances and voxel objects whose outer shell and interior do not have different appearances in the virtual space.
[0170] In other embodiments, the information processing system 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]
[0171] The above embodiment can be used, for example, as a game system or game program, for the purpose of expressing the thin outer shell of an object. [Explanation of symbols]
[0172] 1. Game System 2 Main unit 3 Left Controller 4 Right Controller 81 processors 211 Player Object 212 Tree Objects
Claims
1. An information processing program executed on a computer of an information processing device, an object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a material data acquisition means for acquiring first material data and second material data as material data defining the color and / or pattern of the object for each voxel; (a) before a change event that changes the appearance of the object occurs, a color and / or pattern of a mesh of the object is set based on the first material data, and (b) after the change event occurs, if the second material data is associated with the first material data that is set for a change target voxel that is a voxel at the position where the change event occurred, an appearance setting means that sets the color and / or pattern of the mesh that corresponds to a part of the surface of the object, the mesh being generated based on voxel data related to the change target voxel, based on the second material data; an information processing program that causes the computer to function as image output means that outputs an image of a mesh of the object in the virtual space to a display device.
2. when an erasure event occurs that erases at least a part of the object, the object generation means updates voxel data related to the erasure target voxel in which the erasure event occurred so that at least a part of the object is erased in the erasure target voxel; 2. The information processing program according to claim 1, further causing the computer to function as a change event determination means for determining that the change event has occurred in at least one voxel among voxels surrounding the voxel to be erased.
3. 3. The information processing program according to claim 2, wherein the appearance setting means sets a color and / or a pattern based on the second material data for at least one mesh that is generated based on voxel data related to the change target voxel and whose position does not change before and after the erasure event.
4. The information processing program according to claim 1, further causing the computer to function as a change event determination means that, when an impact event that causes an impact to the object occurs, determines that the change event has occurred for a voxel at a position based on the position at which the impact event occurred.
5. 5. The information processing program according to claim 4, wherein the appearance setting means sets a color and / or pattern based on the second material data for at least one mesh that is generated based on voxel data relating to the voxels to be changed and whose position does not change before and after the impact event.
6. the change event determination means, when the impact applying event has occurred a first number of times with respect to the object, determines that the change event has occurred with respect to voxels in the object within a range corresponding to the impact applying event; The information processing program causing the computer to further function as voxel updating means for updating voxel data relating to a voxel to be erased, the voxel data being related to a voxel to be erased, at a position of the object based on a range corresponding to the impact events, when the impact events have occurred a second number of times, which is greater than the first number of times, to the object, so that at least a part of the object is erased in the voxel to be erased; 5. The information processing program according to claim 4, wherein the change event determination means determines that the change event has occurred in at least some of the voxels surrounding the voxel to be erased when the second number of impact events have occurred to the object.
7. the material data acquisition means acquires third material data, The appearance setting means is In response to the occurrence of a first change event, based on the second material data set in the change target voxel at the position where the first change event occurred, set a color and / or a pattern of a mesh of the object generated based on voxel data related to the change target voxel; 7. The information processing program according to claim 1, wherein, in response to a second change event occurring for the change target voxel, if the third material data is associated with the second material data set for the change target voxel at the position where the second change event occurred, the color and / or pattern of the mesh of the object generated based on voxel data for the change target voxel is set based on the third material data.
8. the material data is associated with property data that defines a property of the object for each voxel, the property data associated with the first material data is the same as the property data associated with the second material data, 7. The information processing program according to claim 1, further causing the computer to function as a property setting unit that sets the property of the object based on the property data.
9. the material data includes data indicating a texture; 7. The information processing program according to claim 1, further causing the computer to function as image generation means for generating an image of the object by applying a texture indicated by the material data set in voxels corresponding to the voxel data to a mesh generated based on the voxel data.
10. 10. The information processing program according to claim 9, wherein the image generating means generates an image of the object by drawing a mesh generated based on voxel data of the voxel to be changed and voxel data of a voxel different from the voxel to be changed so that a gradation occurs from a texture indicated by the first material data to a texture indicated by the second material data.
11. An information processing program executed on a computer of an information processing device, an object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a drawing means for drawing a first color and / or pattern on a mesh of the object before a deletion event occurs that deletes a part of the object; causing the computer to function as image output means for outputting an image of a mesh of the object in the virtual space to a display device; the object generating means updates the voxel data after the deletion event occurs so that a part of the object is deleted; The drawing means draws a second color and / or pattern different from the first color and / or pattern on the mesh of the exposed portion of the object that has been exposed by erasure and on at least a portion of the mesh surrounding the mesh of the exposed portion.
12. The information processing program according to claim 11, wherein the drawing means draws the second color and / or pattern on at least one mesh that is at least a part of the meshes surrounding the mesh of the exposed portion and whose position does not change before and after the erasure event.
13. a property data acquisition means for acquiring property data that defines the property of the object for each voxel; causing the computer to further function as property setting means for setting a property based on the property data for the object having the first color and / or pattern or the second color and / or pattern drawn on a mesh; 13. The information processing program according to claim 11, wherein the property data corresponding to the mesh of the first color and / or pattern is the same as the property data corresponding to the mesh of the second color and / or pattern.
14. 13. The information processing program according to claim 11, wherein the drawing means draws a mesh generated based on the voxel data using a texture associated with a voxel corresponding to the voxel data.
15. 13. The information processing program according to claim 11, wherein the drawing means draws at least a portion of the mesh surrounding the mesh of the exposed portion in a gradation from the first color and / or pattern to the second color and / or pattern.
16. an object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a material data acquisition means for acquiring first material data and second material data as material data defining the color and / or pattern of the object for each voxel; (a) before a change event that changes the appearance of the object occurs, a color and / or pattern of a mesh of the object is set based on the first material data, and (b) after the change event occurs, if the second material data is associated with the first material data that is set for a change target voxel that is a voxel at the position where the change event occurred, an appearance setting means that sets the color and / or pattern of the mesh that corresponds to a part of the surface of the object, the mesh being generated based on voxel data related to the change target voxel, based on the second material data; and an image output means for outputting an image of the mesh of the object in the virtual space to a display device.
17. an object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a drawing means for drawing a first color and / or pattern on a mesh of the object before a deletion event occurs that deletes a part of the object; image output means for outputting an image of a mesh of the object in the virtual space to a display device; the object generating means updates the voxel data after the deletion event occurs so that a part of the object is deleted; The drawing means draws a second color and / or pattern different from the first color and / or pattern on the mesh of the exposed portion of the object that has been exposed by erasure and on at least a portion of the mesh surrounding the mesh of the exposed portion.
18. an object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a material data acquisition means for acquiring first material data and second material data as material data defining the color and / or pattern of the object for each voxel; (a) before a change event that changes the appearance of the object occurs, a color and / or pattern of a mesh of the object is set based on the first material data, and (b) after the change event occurs, if the second material data is associated with the first material data that is set for a change target voxel that is a voxel at the position where the change event occurred, an appearance setting means that sets the color and / or pattern of the mesh that corresponds to a part of the surface of the object, the mesh being generated based on voxel data related to the change target voxel, based on the second material data; and an image output unit configured to output an image of a mesh of the object in the virtual space to a display device.
19. an object generating means for generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a drawing means for drawing a first color and / or pattern on a mesh of the object before a deletion event occurs that deletes a part of the object; image output means for outputting an image of a mesh of the object in the virtual space to a display device; the object generating means updates the voxel data after the deletion event occurs so that a part of the object is deleted; The drawing means draws a second color and / or pattern different from the first color and / or pattern on the mesh of the exposed portion of the object that has been exposed by erasure and on at least a portion of the mesh surrounding the mesh of the exposed portion.
20. An information processing method executed by an information processing system, comprising: an object generation step of generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a material data acquisition step of acquiring first material data and second material data as material data defining the color and / or pattern of the object for each voxel; (a) before a change event that changes the appearance of the object occurs, setting a color and / or pattern of a mesh of the object based on the first material data; (b) after the change event occurs, if the second material data is associated with the first material data that is set for a change target voxel that is a voxel at a position where the change event occurred, setting a color and / or pattern of the mesh that corresponds to a part of the surface of the object, the mesh being generated based on voxel data related to the change target voxel, based on the second material data; an image output step of outputting an image of a mesh of the object in the virtual space to a display device.
21. An information processing method executed by an information processing system, comprising: an object generation step of generating a mesh of an object in a virtual space based on voxel data for each voxel defined in a voxel space set in the virtual space; a drawing step of drawing a first color and / or pattern on a mesh of the object before an erasure event occurs that erases a part of the object; an image output step of outputting an image of a mesh of the object in the virtual space to a display device, In the object generating step, after the deletion event occurs, the voxel data is updated so that a part of the object is deleted; In the drawing step, a second color and / or pattern different from the first color and / or pattern is drawn on the mesh of the exposed portion of the object that has been erased and on at least a portion of the mesh surrounding the exposed portion.
Citation Information
Patent Citations
Voxel object generation method and device and computer readable storage medium
CN116485969A
Program, recording medium, game character drawing method and game machine
JP2004062666A
Image generation system, program, and information storage medium
JP2005032140A
Program, information storage medium, and image generation system
JP2010033285A
Program, information storage medium, and image generation system
JP2010033300A