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

The information processing program addresses the challenge of representing thin outer shell portions in virtual spaces by dynamically changing object appearances in response to events, achieving a more natural and realistic visual representation.

JP2026071357APending Publication Date: 2026-04-28NINTENDO CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NINTENDO CO LTD
Filing Date
2026-02-06
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Conventional methods struggle to accurately represent thin outer shell portions of objects in virtual spaces using voxel data, as they fail to differentiate between surface and interior appearances effectively.

Method used

An information processing program that generates object meshes based on voxel data, utilizing material data acquisition and appearance setting mechanisms to dynamically change the appearance of objects in response to events like erasure or impact, allowing for the representation of thin surfaces without altering the mesh structure.

Benefits of technology

Enables the realistic depiction of thin surfaces being peeled off or erased, providing a more natural appearance by adjusting colors and patterns in response to events, thus enhancing the visual representation of objects in virtual spaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026071357000001_ABST
    Figure 2026071357000001_ABST
Patent Text Reader

Abstract

This represents the thin outer shell of an object. [Solution] The information processing device generates an object mesh in a virtual space based on voxel data. The information processing device acquires first material data and second material data as material data that defines the color and / or pattern of the object for each voxel. Before a change event occurs that changes the appearance of the object, the color and / or pattern of the object mesh is set based on the first material data. After a change event occurs, the information processing device 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 the voxel data related to the voxel to be changed, based on the second material data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

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

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Conventionally, when generating an object in a virtual space using voxel data, even if different appearances (e.g., textures, etc.) are used for voxels corresponding to the surface of the object and voxels corresponding to the inside of the object, it has been difficult to perform an expression such that there is an outer shell portion thinner than the length of one side of the voxel on the surface of the object.

[0005] Therefore, an object of the present invention is to provide an information processing program, an information processing system, an information processing apparatus, and an information processing method capable of expressing a thin outer shell portion of an object.

Means for Solving the Problems

[0006] To solve the above problems, the present invention employs the following configurations (1) to (15).

[0007] (1) An example of the present invention is an information processing program executed in 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 an object mesh in the virtual space based on voxel data for each voxel defined in the voxel space set up in the virtual space. The material data acquisition means acquires first material data and second material data as material data that defines the color and / or pattern of the object for each voxel. The appearance setting means (a) sets the color and / or pattern of the object mesh based on the first material data before a change event occurs that changes the appearance of the object, and (b) after a change event occurs, if the second material data is associated with the first material data set for the change target voxel which is the voxel at the location where the change event occurred, it sets the color and / or pattern of the mesh that corresponds to a part of the surface of the object, based on the second material data, which is a mesh generated based on the voxel data related to the change target voxel. The image output means outputs an image of the object mesh in the virtual space to a display device.

[0008] According to the configuration described in (1) above, it is possible to represent the appearance of the object's thin surface being peeled off by a change event, thus representing the thin surface of the object.

[0009] (2) The object generation means may update the voxel data relating to the target voxel so that, if an erasure event occurs that erases at least a portion of an object, at least a portion of the object is erased in the target voxel where the erasure event occurred. The information processing program may further enable the computer to function as a change event determination means. The change event determination means determines that a change event has occurred in at least one of the voxels surrounding the target voxel.

[0010] According to the configuration described in (2) above, when a part of an object is erased and its interior is exposed, the thin surface of the object can be represented.

[0011] (3) The appearance setting means may set the color and / or pattern based on second material data for at least one mesh that is generated based on voxel data relating to the voxel to be changed and whose position has not changed before and after the erase event.

[0012] According to the configuration described in (3) above, the mesh portion of the object can be made to appear as if the thin surface of the object has been peeled off, without changing the mesh itself.

[0013] (4) The information processing program may further utilize a computer as a change event determination means. When an impact event occurs that applies an impact to an object, the change event determination means determines that a change event has occurred for the voxel at the location based on the location where the impact event occurred.

[0014] According to the configuration described in (4) above, the mesh portion of the object can be made to appear as if the thin surface of the object has been peeled off.

[0015] (5) The information processing program may further utilize a computer as a change event determination means. When an impact event occurs that applies an impact to an object, the change event determination means determines that a change event has occurred for the voxel at the location based on the location where the impact event occurred.

[0016] According to the configuration described in (5) above, the mesh portion of the object can be made to appear as if the thin surface of the object has been peeled off, without changing the mesh itself.

[0017] (6) The change event determination means may determine that a change event has occurred in a range of voxels within the object corresponding to the impact event if a first number of impact events have occurred on the object. The information processing program may further enable the computer to function as a voxel update means. If a second number of impact events occurs on the object, more than the first number of times, the voxel update means updates the voxel data relating to the voxel to be erased so that at least a portion of the object is erased in the voxel to be erased at a position based on the range corresponding to the impact event within the object. If a second number of impact events occur on the object, the change event determination means may determine that a change event has occurred in at least some of the voxels surrounding the voxel to be erased.

[0018] According to the configuration described in (6) above, it is possible to represent events such as the thin surface of an object being peeled off by an impact event, and a portion of the object being erased by a subsequent additional impact event.

[0019] (7) The material data acquisition means may acquire the third inner material data. The appearance setting means may set the color and / or pattern of the mesh of the object generated based on the voxel data regarding the change target voxel based on the second material data set in the change target voxel at the position where the first change event has occurred, in response to the occurrence of the first change event. The appearance setting means may set the color and / or pattern of the mesh of the object generated based on the voxel data regarding the change target voxel based on the third material data, when the third material data is associated with the second material data set in the change target voxel at the position where the second change event has occurred, in response to the occurrence of the second change event for the change target voxel.

[0020] According to the configuration of (7) above, a voxel object composed of three layers with different appearances can be expressed.

[0021] (8) The material data is associated with property data that defines the properties of the object for each voxel, and the property data associated with the first material data and the property data associated with the second material data may be the same. The information processing program may further cause the computer to function as property setting means for setting the properties of the object based on the property data.

[0022] According to the configuration of (8) above, 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 a computer to function as an image generation means. The image generation means generates an image of an object by applying a texture indicated by material data set in a voxel corresponding to the voxel data to a mesh generated based on the voxel data.

[0024] According to the configuration of (9) above, the color and / or pattern of the object can be set for each voxel.

[0025] (10) The image generation means may generate an image of an object by performing drawing so as to be a gradation from the texture indicated by the first material data to the texture indicated by the second material data on a mesh generated based on the voxel data of the change target voxel and the voxel data of a voxel different from the change target voxel.

[0026] According to the configuration of (10) above, the appearance of the object can be made more natural.

[0027] (11) Another example of the present invention is an information processing program executed in a computer of an information processing device. The information processing program causes the computer to function as an object generation means, a drawing means, and an image output means. The object generation means generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space. The drawing means draws a first color and / or pattern on the mesh of the object before an erase event occurs that erases a part of the object. The image output means outputs an image of the object mesh in the virtual space to a display device. After an erase event occurs, the object generation means updates the voxel data so that a part 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 the exposed part of the object that has been exposed by the erase, and on at least a portion of the mesh surrounding the mesh of the exposed part.

[0028] According to the configuration described in (11) above, when the interior of an object is exposed by erasing part of the object, the thin surface of the object can be represented.

[0029] (12) The drawing means may draw a second color and / or pattern on at least one mesh that is part of the mesh surrounding the exposed portion and whose position has not changed before and after the erase event.

[0030] According to the configuration described in (12) above, the mesh portion of the object can be made to appear as if the thin surface of the object has been peeled off, without changing the mesh itself.

[0031] (13) The information processing program may further utilize a computer as a means for acquiring property data and a means for setting properties. The property data acquisition means acquires property data that defines the properties of an object for each voxel. The property setting means sets properties based on the property data for an object on which a first color and / or pattern, or a second color and / or pattern, is drawn on a mesh. The property data corresponding to the mesh of the first color and / or pattern and the property data corresponding to the mesh of the second color and / or pattern may be the same.

[0032] According to the configuration described in (13) above, the properties of an object can be changed without being affected by the object's appearance.

[0033] (14) The drawing means may draw the mesh generated based on voxel data using a texture associated with the voxel corresponding to the voxel data.

[0034] According to the configuration described in (14) above, the color and / or pattern of a voxel object can be set for each voxel.

[0035] (15) The drawing means may draw on at least a portion of the mesh surrounding the exposed portion of the mesh in a gradient 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 is an information processing device (for example, a terminal device or server) or information processing system that includes all or part of the means described in (1) to (15) above. Another example of the present invention is an information processing method (specifically, a game processing method) in which the information processing system performs each of the processes described in (1) to (15) above. [Effects of the Invention]

[0038] According to the above-described information processing program, information processing system, information processing device, and information processing method, it is possible to represent the thin surface of an object when generating an object in a virtual space using voxel data. [Brief explanation of the drawing]

[0039] [Figure 1] A diagram showing an example of a game system. [Figure 2] Block diagram showing an example of the internal configuration of the main unit. [Figure 3] Block diagram showing an example of the internal configuration of the main unit, left controller, and right controller. [Figure 4] This diagram shows an example of a terrain object that is a voxel object. [Figure 5] Figure 4 shows an example of what the terrain object looks like before and after a portion of it is deleted. [Figure 6] Figure 4 shows an example of what the terrain object looks like before and after a portion of it is deleted. [Figure 7] A diagram showing an example of the contents of voxel data and material information. [Figure 8] A diagram showing an example of property information that indicates the properties of a material. [Figure 9] A diagram showing an example of texture information that indicates the texture of a material. [Figure 10] A diagram showing an example of a mesh generation method. [Figure 11] A diagram showing an example of a game image that includes terrain objects. [Figure 12] This diagram shows an example of a player object performing a punch action on a tree object. [Figure 13] This diagram shows an example of how a part of a tree object is destroyed by a punching action performed by a player object. [Figure 14]A diagram showing 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 wooden object. [Figure 16] Figure 15 shows an example of a state where part of the tree object has been deleted. [Figure 17] This diagram shows an example of the surface and interior of a tree object when the surface voxel is not specified as a voxel to be changed. [Figure 18] This figure shows an example of a mesh at the boundary of an area where two different textures are drawn. [Figure 19] This diagram illustrates an example of how a change event occurs due to an impact event. [Figure 20] This diagram shows an example of the surface and interior of a tree object when its texture is changed without the tree object being erased. [Figure 21] This diagram shows an example of various types of data used in information processing within a game system. [Figure 22] A flowchart illustrating an example of the game processing flow executed by the game system. [Modes for carrying out the invention]

[0040] [1. Game System Configuration] The following describes a game system according to an example of this embodiment. Figure 1 is a diagram showing an example of the game system. The example of the game system 1 in this embodiment includes a main unit (information processing device; in this embodiment, it functions as the main unit of the game device) 2, a left controller 3, and a right controller 4. The main unit 2 is a device that performs various processes (for example, game processing) in the game system 1. The left controller 3 and the right controller 4 are devices equipped with operation sections for user input.

[0041] The main unit 2 has detachable left controller 3 and right controller 4. In other words, the game system 1 can be used as an integrated device by attaching the left controller 3 and right controller 4 to the main unit 2. Alternatively, the game system 1 can be used with the main unit 2 and the left controller 3 and right controller 4 as separate units. In the following, the left controller 3 and right controller 4 will sometimes be referred to collectively as "controllers".

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

[0043] The main unit 2 includes a display 12. The display 12 displays images generated by the main unit 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] Furthermore, the main unit 2 is equipped with a left terminal 17, which is a terminal for the main unit 2 to communicate with the left controller 3 via wired connection, and a right terminal 21, which is for the main unit 2 to communicate with the right controller 4 via wired connection.

[0045] The main unit 2 includes a processor 81. The processor 81 is an information processing unit that performs various information processing operations performed in the main unit 2, and may consist of, for example, only a CPU (Central Processing Unit), or it may consist of an SoC (System-on-a-chip) that includes multiple functions such as CPU function and GPU (Graphics Processing Unit) function. The processor 81 performs various information processing operations by executing information processing programs (for example, game programs) stored in a storage unit (specifically, an internal storage medium such as flash memory 84, or an external storage medium installed in slot 23).

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

[0047] The main unit 2 is provided with a slot 23. The slot 23 has a shape that allows a predetermined type of storage medium to be inserted. 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 similar information processing devices. The predetermined type of storage medium is used to store, for example, 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 unit 2 is equipped with a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to slot 23 and reads and writes data to a predetermined type of storage medium (for example, a dedicated memory card) installed in slot 23, according to instructions from the processor 81.

[0049] The processor 81 performs the above-mentioned information processing by appropriately reading and writing data to the flash memory 84 and DRAM 85, as well as to each of the above-mentioned storage media.

[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, wirelessly). In this embodiment, the network communication unit 82 communicates with external devices by connecting to a wireless LAN using a method compliant with the Wi-Fi standard as a first communication mode. The network communication unit 82 also performs wireless communication with other main unit 2 of the same type using a predetermined communication method (for example, communication using a proprietary protocol or infrared communication) as a second communication mode. The wireless communication using the second communication mode is possible with other main unit 2 located within a closed local network area, and realizes a function that enables so-called "local communication" in which data is sent and received by communicating directly between multiple main unit 2.

[0051] The main unit 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 communicates wirelessly with the left controller 3 and / or the right controller 4. The communication method between the main unit 2 and the left controller 3 and the right controller 4 is arbitrary, but in this embodiment, the controller communication unit 83 communicates with the left controller 3 and with the right controller 4 in accordance with the Bluetooth® standard.

[0052] The processor 81 is connected to the left terminal 17 and the right terminal 21 described above. When the processor 81 communicates with the left controller 3 via a wired connection, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Similarly, when the processor 81 communicates with the right controller 4 via a wired connection, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Thus, in this 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 images generated (for example, by performing the above information processing) and / or images acquired from an external source on the display 12.

[0054] Figure 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 the details of the internal configuration of the main unit 2 are shown in Figure 2 and are therefore omitted in Figure 3.

[0055] The left controller 3 is equipped with a terminal 42 for wired communication with the main unit 2. The left controller 3 is also equipped with a communication control unit 101 that communicates with the main unit 2. As shown in Figure 3, the communication control unit 101 is connected to each component, including the terminal 42. In this embodiment, the communication control unit 101 can communicate with the main unit 2 both by wired communication via the terminal 42 and by wireless communication without using the terminal 42. The communication control unit 101 controls the method of communication that the left controller 3 performs with 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 performs wireless communication with the main unit 2 (specifically, the controller communication unit 83).

[0056] The left controller 3 also includes a memory 102, such as flash memory. The communication control unit 101 is composed of, for example, a microcontroller (also called a microprocessor) and performs various processes by executing firmware stored in the memory 102.

[0057] The left controller 3 is equipped with one or more buttons 103. The left controller 3 is also equipped with an analog stick (referred to as "stick" in Figure 3) 32. The buttons 103 and the analog stick 32 repeatedly output information about operations performed on them to the communication control unit 101 at appropriate intervals.

[0058] The communication control unit 101 acquires information related to input (specifically, information related to 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 that has been processed in a predetermined manner), to the main unit 2. The operation data is transmitted repeatedly at a rate of once per predetermined time. The interval at which information related to input is transmitted to the main unit 2 may or may not be the same for each input unit.

[0059] When the above operation data is transmitted to the main unit 2, the main unit 2 can obtain the input made to the left controller 3. In other words, the main unit 2 can determine, based on the operation data, the operation of moving the left controller 3, and the operation of the button 103 and the analog stick 32.

[0060] The left controller 3 includes a power supply unit 108. In this embodiment, the power supply unit 108 includes 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 Figure 3, the right controller 4 includes a communication control unit 111 that communicates with the main unit 2. The right controller 4 also includes a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component, including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main unit 2 both by wired communication via the terminal 64 and by wireless communication without the terminal 64 (specifically, communication according to the Bluetooth® standard), and controls the method of communication that the right controller 4 performs with the main unit 2.

[0062] The right controller 4 is equipped with the same inputs as the left controller 3. Specifically, the right controller 4 is equipped with buttons 113 and an analog stick 52. These inputs have the same functions and operate in the same way as the inputs of the left controller 3.

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

[0064] [2. Overview of processing in the game system] Next, an overview of the processes performed in the game system 1 will be described with reference to Figures 4 to 19. In this embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player objects operated by the player) are placed in a game space, which is a three-dimensional virtual space, and displays it on a display device. In this embodiment, the display device on which the game image is displayed may be the display 12 described above, or it may be a different display device (for example, a stationary monitor connected to the game system 1).

[0065] [2-1. Voxel] In this embodiment, the shape of some objects in the game space is defined by voxel data. Here, a voxel is a rectangular (more specifically, cubic) region arranged in a grid in the game space, and voxel data is the data set for each voxel. Hereafter, objects whose shape is defined by voxel data will be called "voxel objects". In this embodiment, the game system 1 stores voxel data for each of the multiple voxels set in the game space as data for generating voxel objects in the game space.

[0066] Figure 4 shows an example of a terrain object that is a voxel object. As shown in Figure 4, in this embodiment, terrain objects representing terrain such as the ground are defined by voxel data (i.e., they are voxel objects). Each cube shown in Figure 4 represents a terrain object. In Figure 4, the boundaries of voxels are shown with thin lines and the edges of terrain objects are shown with thick lines. These lines are added for the purpose of making the drawing easier to read, and in reality, it is not necessary to display lines indicating the boundaries of voxels or to display the edges of terrain objects with thick lines.

[0067] Furthermore, the terrain object shown in Figure 4 is generated using a rule such as, "If the parameter included in the voxel data set for a voxel (specifically, the density described later) is greater than a predetermined value, a cube is placed at the voxel's location; if it is less than or equal to the predetermined value, nothing is placed at the voxel's location." Figure 4 shows a terrain object generated using the above rule for the purpose of clearly illustrating the relationship between voxels and voxel objects. However, in this embodiment, in practice, voxel objects are generated using rules that result in a shape more complex than the length of one side of a voxel, such as the terrain object shown in Figure 11, which will be 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 voxel objects as shown in Figure 4 or as shown in Figure 11 based on voxel data.

[0068] For voxel objects, the shape can be changed by modifying the voxel data of each voxel. Figures 5 and 6 show examples of what the terrain object shown in Figure 4 looks like before and after a portion of it is deleted. That is, when the shaded portion of the terrain object shown in Figure 5 is deleted, the terrain object changes to the shape shown in Figure 6. At this time, the game system 1 can easily delete the terrain object by rewriting the voxel data of the voxel in the shaded portion to indicate that the terrain object does not exist. Furthermore, when adding a terrain object, the game system 1 can easily change the shape of the terrain object by modifying the voxel data of each voxel, just as when deleting a terrain object.

[0069] In this way, Game System 1 can freely change the shape of voxel objects by rewriting the voxel data. For example, in a game, terrain objects may change shape as a result of being destroyed for some reason (for example, when a player object hits a terrain object). In such cases, Game System 1 can freely change the shape of terrain objects by modifying the voxel data used to generate the terrain objects, rather than directly changing the data that represents the external shape of the terrain object (i.e., the mesh described later).

[0070] Figure 7 shows an example of the contents of voxel data and material information. In this embodiment, the game space can be divided into a grid of multiple voxels. The game system 1 stores voxel data associated with each voxel in the game space. The voxel data indicates the presence or absence of a voxel object in the voxel corresponding to that voxel data.

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

[0072] In this embodiment, density can take the form of an integer value within a range 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 higher density value for a voxel tends to result in a larger proportion of the volume occupied by voxel objects within that voxel, while a lower density value tends to result in a smaller proportion. Thus, density is an indicator that affects the proportion of the volume occupied by voxel objects within a voxel. Density can also be said to be an indicator that shows the degree to which objects are contained within the area in which each voxel is defined. For example, if the density is 0, there are no voxel objects within that voxel; if the density is 255, the entire voxel is filled with voxel objects; and if the density is between 0 and 255, voxel objects can occupy the voxel in proportion to the value. Based on the above density, the shape of the mesh, i.e., the shape of the voxel object, can be determined. However, the volume of the voxel object generated based on the above density does not need to exactly match the ratio indicated by the density. For example, the volume of the voxel object may differ between the method used to generate the voxel object shown in Figure 8 and the method used to generate the voxel object shown in Figure 15, even if they are based on the same density.

[0073] In other embodiments, density may indicate either a state in which voxel objects occupy the entire region within the voxel, or a state in which no voxel objects are contained within the region within the voxel. For example, density data may only take the values ​​of 0 or 1.

[0074] As shown in Figure 7, the voxel data includes material data. The material data indicates the material (in other words, substance) of the voxel object generated by the voxel data. In this embodiment, the voxel object is assigned materials such as sand, rock, and soil. That is, in this embodiment, multiple types of materials are provided as materials that can be assigned to the voxel object, and the voxel object is assigned one of these multiple types of materials.

[0075] As shown in Figure 7, in this embodiment, the material data indicates the material identification information (referred to as the "material ID"). In this embodiment, the game system 1 stores material information indicating the properties and texture of each material provided in the game (see Figure 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 is information that associates the material ID with the identification information of the properties of the material (referred to as the "property ID") and the identification information of the texture of the material (referred to as the "texture ID") (see Figure 7).

[0076] Figure 8 shows an example of property information indicating the properties of a material. As shown in Figure 8, the game system 1 stores property information that associates the above-mentioned property ID with information indicating the content of the property indicated by the property ID. The properties of a material are the properties that the voxel object to which the material is set has in the game (it can also be said that these are properties that can affect the progress of the game), such as weight and slipperiness as shown in Figure 8. In this specification, the properties of a material do not include information related to appearance such as the above-mentioned texture. For example, the following information may be set as the properties of a material. ·temperature • Fragility (for example, the number of times a voxel object will break when subjected to an impact) • Whether or not other objects can be attached to a voxel object. • The amount of health restored to a player object when it destroys a voxel object. • The amount of in-game currency a player object acquires when it destroys a voxel object. The specific properties set for the material are arbitrary. In other embodiments, different information may be set as information indicating the properties of the material.

[0077] Figure 9 shows an example of texture information indicating the texture of a material. As shown in Figure 9, the game system 1 stores texture information that associates the above-mentioned texture ID with the texture indicated by that texture ID.

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

[0079] As described above, in this embodiment, the material data defines the properties of the voxel object and the texture used for the voxel object by the material ID. For example, if the material ID indicated by the material data included in the voxel data is "002", the properties indicated by the property ID "001" associated with that material ID in the material information are set as the properties of the voxel object corresponding to that voxel data (see the arrow in Figure 7). 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 Figure 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 a pair of properties and textures in the material information, it is possible to easily set up 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] The material data may be any data that can identify the properties and / or texture of the material. For example, in other embodiments, the material data may indicate the property ID and texture ID, or it may have a data structure that actually contains data indicating the properties and texture of the material.

[0082] Furthermore, material data may also include information about the material, which may contain other information different from the properties and textures described above. For example, material data may include effect data that indicates an effect that occurs when the effect conditions set for a voxel object (for example, when a part of the voxel object is destroyed, or when a character steps on the voxel object) are met. Note that effect data may be data that indicates an effect image (for example, an effect image that represents the destruction of the voxel object) or data that indicates an effect sound (the sound of a character walking on the voxel object).

[0083] As shown in Figure 7, voxel data includes state data that indicates the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data may indicate whether the voxel object is wet or not, or it may indicate the amount of damage inflicted on the voxel object. The content of the state data may be updated during gameplay.

[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) placed in the game space. In this embodiment, the game system 1 generates a mesh for a voxel object based on the voxel data of each voxel set in the game space. An example of generating a mesh based on voxel data is described below.

[0085] Figure 10 shows an example of a mesh generation method. Note that in Figure 10, voxels and meshes are represented in two dimensions for clarity and ease of explanation; however, in reality, a three-dimensional mesh is generated based on voxels in three-dimensional space.

[0086] As described above, in this embodiment, the density set for a voxel is set within the range of 0 to 255. In this embodiment, voxels with a density equal to or greater than the 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 being outside the object (i.e., reference value = 1), and the reference value can be, for example, 128. In the example shown in Figure 10, the density of voxel 201 and the other outer voxels is set to 0, the density of voxel 202 is set to 100 (less than the reference value), and the densities of voxels 203 and 204 are set to 150 and 200 (greater than or equal to the reference value). In this embodiment, the game system 1 generates vertices between voxels with a density equal to or greater than the reference value and voxels with a density less than the reference value. Specifically, for each region spanning eight adjacent voxels (four in the diagram) (the region enclosed by the dotted line in the diagram), a determination is made as to whether or not to generate a vertex. In other words, vertices are generated in regions that span both voxels with a density above a certain threshold and voxels with a density below that threshold. Furthermore, if the boundary between adjacent vertices (the boundary of the region containing each vertex) passes through a range of voxels with a density above a certain threshold and voxels with a density below that threshold, 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 density difference. At this time, coordinate calculations can also be performed based on normal information, but the normal information may be stored in advance for at least some voxels, or if it is not stored, the normal information may also be calculated based on the densities of adjacent voxels. Note that in Figure 10, the density of voxel 202 is below the threshold, so voxel 202 is treated as outside the object when determining the presence or absence of a vertex, but the density value of voxel 202 itself is used in the calculation of the coordinates of the generated vertices. If the baseline value is set lower than the density of voxel 202, the result will be an increase in the number of vertices on the upper right and upper left sides of voxel 202 in Figure 10.

[0087] As described above, by generating a polygon mesh, it is possible to generate a shape with a volume that reflects the density of each voxel to some extent. However, depending on the relationship with adjacent voxels, it is possible that voxels with a density of 0 may include some areas within the object, or that voxels with a density of 255 may include some areas outside the object. Also, in this embodiment, voxels below a certain threshold are treated as being outside the object, so the volume will be smaller because there will be fewer vertices compared to when they are treated as being inside the object. In other words, it is not necessary to calculate the polygon mesh so that the volume corresponds precisely to the density value.

[0088] Figure 11 shows an example of a game image including terrain objects. In this embodiment, by generating a mesh as described above, the voxel object can be made to have a shape with complex irregularities compared to the length of one side of a voxel.

[0089] The method for generating the mesh based on the voxel data is arbitrary. For example, in another embodiment, if the density of the voxel data is greater than a predetermined value, the mesh may be generated such that cubes are placed in the voxels corresponding to that voxel data (see Figure 4).

[0090] Game System 1 determines the appearance (i.e., color and / or pattern) of each face of the mesh generated as described above, according to the material identified by the voxel data. Specifically, Game System 1 determines the texture to be used for rendering each face of the mesh based on the voxel data, and generates an image of the voxel object by mapping the determined texture to each face. The texture mapped to each face of the mesh is determined based on the voxel data of the voxel used to generate that face (referred to as the target voxel) among the voxels in which the voxel object exists. The target voxel is, depending on the mesh generation method, for example, one or more voxels arranged around that face. In other words, the texture mapped to the face of the mesh is determined to be the texture corresponding to the material set for one or more voxels arranged around that face.

[0091] In other embodiments, a single voxel data set may contain multiple types (e.g., two types) of material data. In this case, the voxel data set includes ratio data relating to the multiple types of material data. The ratio data is used to determine the texture to be used for the voxel object, and indicates the ratio by which each material (specifically, the texture corresponding to the material) represented 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 mentioned above have a different meaning from the main material data and sub-material data described later. Furthermore, when determining the texture to be mapped to each face of the mesh, the texture is determined based on the 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, if multiple types of materials are set for a voxel to be generated corresponding to one face, the texture corresponding to the material with the greatest influence (one type) may be used, taking the above ratio into consideration, or each texture corresponding to the multiple types of materials may be used, taking the above ratio into consideration.

[0092] In other embodiments, there may be both voxel objects that use voxel data containing one type of material data and voxel objects that use voxel data containing two types of material data.

[0093] As described above, in this embodiment, the game system 1 stores texture data as material data that defines the color and / or pattern of each voxel of a voxel object. The game system 1 generates an image of an object by applying the texture indicated by the material data set for the voxel corresponding to the voxel data to the mesh generated based on the voxel data. This allows the color and / or pattern of a voxel object to be drawn using the texture set for the voxel, so that the color and / or pattern of a voxel object can be set for each voxel.

[0094] [2-3. Processes to change the appearance of objects] Next, we will explain the process of changing the appearance of a voxel object, referring to Figures 12 to 20. Figure 12 shows an example of a player object performing a punch action on a tree object. Figure 13 shows an example of a part of the tree object being destroyed by the player object's punch action. Note that the tree object 212 shown in Figures 12 and 13 is a voxel object.

[0095] In the example shown in Figure 12, the surface of the tree object 212 (specifically, the mesh of the tree object 212) is rendered using a texture that represents the appearance of the outer shell of the tree object (i.e., the bark). In this embodiment, when the player object 211 performs a punch action on the tree object 212, under certain conditions, a part of the tree object 212 may be erased, as shown in Figure 13. As a result, the interior of the tree object 212 (i.e., the inner part of the outer shell) is exposed. At this time, the exposed interior surface 212a is rendered 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 Figure 13). Furthermore, in this embodiment, the portion 212b of the surface of the tree object 212 surrounding the part erased by the punch action is also rendered using a texture that represents the inside of the tree, similar to surface 212a (see Figure 13). For the above portion 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 example above, 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 represent the exposed interior of the voxel object. Furthermore, in this embodiment, the outer shell portion of the surface of the voxel object can be made to appear thinner by a method described later. For example, in the case of the tree object 212 shown in Figures 12 and 13, if the outer shell portion (bark) of the surface is represented as thick, it will look unnatural. However, according to this embodiment, the outer shell portion can be represented as thin, making the appearance of the tree object 212 when its interior is exposed more natural.

[0097] [2-3-1. Material information data to which a different material ID is set] When changing the texture of a voxel object, the game system 1 allows the material data included in the voxel data to specify the texture after the change and the texture before the change (by switching between them). Specifically, in this embodiment, the game system 1 associates two types of materials, a main material and a sub-material, in the material information. Figure 14 is a diagram showing an example of material information in which two types of materials are associated. In this embodiment, as shown in Figure 14, the material information includes a material ID (referred to as the "main material ID"), a property ID, and a texture ID for the main material. These three IDs are the same as the three IDs included in the material information shown in Figure 7. Here, the material information includes the three IDs for the main material mentioned above, as well as a material ID (referred to as the "sub-material ID") indicating the sub-material associated with the main material. Here, among the material data included in the voxel data, the material data indicating the main material (i.e., indicating the main material ID) is called "main material data," and the material data indicating the sub-material (i.e., indicating the sub-material ID) is called "sub-material data." The primary material corresponds to the texture before the change, and the secondary material 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. As will be explained in more detail later, the material before the change is mainly used to represent the outer shell of a voxel object. The material after the change is mainly used to represent the interior of a 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 a texture ID of a texture that represents the color and pattern of the tree bark (for example, a dark brown texture that represents a pattern of countless grooves), and the secondary material data set in the material settings data corresponding to the primary material data indicates a material ID associated with a texture ID of a texture that represents the color and pattern of the inside of the tree (for example, a light brown texture that represents a pattern of tree rings), as described in the material information.

[0098] In this embodiment, even when a secondary material is associated with a primary material, only one type of property is set for each voxel data. For example, in the example shown in Figure 14, the material ID indicating "001" as the primary material is associated with the material ID indicating "002" as the secondary material, but the same property ID is associated with the material with material ID "001" and the material with material ID "002". However, in other embodiments, different properties may be set between the primary material and the secondary material. For example, when representing an object that is covered with grass on the outside and rock on the inside, the primary material is set to grass and the secondary material is set to rock. In this case, the property indicating hardness may be set to be soft for the primary material and hard for the secondary material.

[0099] The data structure for associating the two types of material data—before and after the change—is arbitrary. For example, in other embodiments, the material data included in the voxel data may include both a material ID indicating the primary material and a material ID indicating the secondary material.

[0100] Game System 1 does not need to set material data indicating the main material to which a secondary material is associated in the material information, as described above, for all voxels in the virtual space. For example, among the voxels in which a voxel object exists, material data indicating the main material to which a secondary material is associated 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 the main material to which a secondary material is associated in the material information may be set for voxels located inside the voxel object (referred to as "internal voxels"), and material data indicating the main material to which a secondary material is not associated in the material information. In this case, the material data included in the voxel data of internal voxels may indicate a material to which the texture ID of a texture representing the color and pattern that expresses the inside of the voxel object (for example, in the case of a tree object, a light brown texture representing the annual ring pattern) is associated. For example, if there is a voxel with a density above a certain threshold value, and there are adjacent voxels with a density below the threshold value, then that voxel can be determined to be a surface voxel. On the other hand, if a voxel whose density is above a certain threshold also has a density above a certain threshold for all adjacent voxels, then that voxel can be determined to be an internal voxel.

[0101] [2-3-2. Specific 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 the change conditions are met for a voxel object. In this embodiment, when a deletion event occurs for a predetermined voxel object (for example, the tree object mentioned above) because the deletion conditions are met, the game system 1 determines that the change conditions have been met.

[0102] The content of the change conditions is arbitrary and is not limited to the occurrence of an erase event. As will be described in detail later, in this embodiment, in addition to the occurrence of an erase event, the game system 1 also determines that a change event has occurred when an impact event occurs on a predetermined voxel object (see Figure 19). An impact event is an event in which an impact is applied to a voxel object, for example, an event in which a destructive action such as a punch action by a player object is performed on the voxel object, or an event in which another object collides with the voxel object.

[0103] Figure 15 shows an example of the surface and interior of a tree object. In Figure 15 (and similarly in Figures 16, 17, and 20), a voxel object (specifically, tree object 212) is shown, whose mesh is generated by the same rules as when the mesh of the terrain object shown in Figure 4 is generated, in order to clearly illustrate the relationship between voxels and the voxel objects placed in those voxels. In other words, the voxel object shown in Figure 15 is assumed to have its mesh generated by the rule that "if the density set for a voxel is greater than a predetermined value, a cube is placed at the position of that voxel, and if it is less than or equal to the predetermined value, nothing is placed at the position of that voxel." In Figure 15, a cross-section of tree object 212 is shown, and the voxels in the far right column (the voxels enclosed by the dashed line in Figure 15) are the surface voxels, and the voxels to the left of them are the interior voxels.

[0104] Figure 15 shows the state before a portion of the tree object 212 is erased by a punch action by the player object 211. Here, the voxel data for each voxel of the tree object 212 is set to main material data, which has sub-voxel data set in the material information. In the state shown in Figure 15, the game system 1 renders the mesh of the tree object 212 using the texture corresponding to the main material. Therefore, in the state shown in Figure 15, the mesh of the tree object 212 looks like the outer shell of the tree (i.e., the bark) (see Figure 12).

[0105] The dotted area 213 shown in Figure 15 indicates the range (referred to as the "erasure range") in which the tree object 212 is erased by the punch action of the player object 211. In the example shown in Figure 15, it is assumed that the erasure condition is met and an erasure event occurs when the punch action of the player object 211 is performed. The erasure range is determined based on the type of impact event (for example, the type of action performed by the player object). For example, if an impact event occurs due to a punch action, the spherical area centered slightly in front of the point where the punch of the player object 211 hit the tree object 212 is determined as the erasure range 213. Note that the method for determining the erasure range is arbitrary and may be constant regardless of the type of impact event.

[0106] Figure 16 shows an example of a state in which a portion of the tree object has been removed from the state shown in Figure 15. In the example shown in Figure 16, the portion of the tree object 212 corresponding to the voxels included within the removal range 213 shown in Figure 15 (referred to as "voxels to be removed") is removed. Specifically, the game system 1 sets the density of the voxel data of the voxel to be removed to 0. In the state shown in Figure 16, as a result of the removal of the tree object 212 in the voxel to be removed, a portion of the tree object 212 in the internal voxel becomes newly exposed.

[0107] In the example shown in Figure 16, it is explained that the tree object 212 is not deleted for voxels surrounding the voxel to be deleted, provided that a portion of that voxel is included in the deletion range 213. However, in practice, a portion of the tree object 212 may be deleted for such voxels. Specifically, the game system 1 may subtract the density of voxels surrounding the voxel to be deleted based on a predetermined rule. The content of this rule is arbitrary. For example, the game system 1 may adjust the density of voxels surrounding the voxel to be deleted so that a mesh is generated along the outer perimeter of the deletion range 213.

[0108] In this embodiment, when an erase event occurs in the tree object 212, the game system 1 generates a change event for the voxels surrounding the voxel to be erased (the voxels indicated by diagonal lines in Figure 16) among the voxels in which the tree object 212 exists. Hereafter, the voxels that generate a change event will be referred to as "voxels to be changed". In other words, in this embodiment, when the object of the voxel to be erased is erased, the game system 1 changes the texture used for rendering the voxels to be changed around the voxel to be erased among the voxels in which the tree object 212 exists, from the texture corresponding to the main material to the texture corresponding to the sub-material. Specifically, the game system 1 changes the material data set for the face (specifically, the mesh) corresponding to the voxel to be changed from the main material data to the sub-material data. More specifically, the game system 1 updates the material data so that the material data set for the voxel to be changed shows the sub-material associated with the main material in the material information, instead of the main 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 being changed" refers, for example, to a mesh generated based on the voxel data of the voxel being changed, and is affected by the density indicated by the voxel data of the voxel being changed. Specifically, the "surface corresponding to the voxel being changed" may be a mesh in which at least a portion is located within the voxel being changed.

[0110] Furthermore, for voxels that are subject to change but do not have sub-material data set in their material information, the texture used for rendering will not be changed. For example, as mentioned above, for internal voxels, you may set a material corresponding to the texture representing the color and pattern of the inside of the voxel object as the primary material, and not set a sub-material. In this case, when a mesh corresponding to the internal voxel is generated by the erase event, rendering will be performed using the texture representing the color and pattern of the inside of the voxel object. As a result, meshes corresponding to voxels that are subject to change, including both internal and surface voxels, will be rendered using the texture representing the color and pattern of the inside of the voxel object.

[0111] In another embodiment, it is possible to specify only the internal voxels of the tree object 212 as voxels to be changed, and not the surface voxels (i.e., only the mesh corresponding to the internal voxels is drawn using a texture that represents the color and pattern of the inside of the tree object 212). Figure 17 shows an example of the surface and interior of a tree object when the surface voxels are not specified as voxels to be changed. The example shown in Figure 17 shows a case where the voxel data of the surface voxels is not modified in texture (unlike in this embodiment), and is drawn using a texture that represents the color and pattern of the outer shell of the tree object, just as it was before erasure. In this case, the mesh portion of the newly exposed surface that corresponds to the surface voxel surface is drawn using a texture that represents the color and pattern of the outer shell of the tree object, so it looks like tree bark. At this time, the portion of the newly exposed surface that is the thickness of one voxel will look like bark, so the thickness of the bark will be the thickness of one voxel, and it will not be possible to represent the thickness of the bark as being thinner than the thickness of the voxel.

[0112] In contrast, in this embodiment, the game system 1 renders not only the mesh representing the newly exposed surface due to the erase event, but also the mesh that has not changed since before the erase event, using a texture corresponding to the sub-material data (see Figure 16). In other words, the game system 1 sets the texture of the mesh that has not changed before and after the change event, which is generated based on the voxel data related to the voxel to be changed, based on the sub-material data set for the voxel to be changed. As a result, in the area surrounding the erased part of the mesh corresponding to the surface voxel of the tree object 212, the mesh position does not change from before the erase, but the appearance changes to represent the inside of the tree (see Figure 13). As a result, the area surrounding the erased part looks as if a very thin surface has been peeled off, making the tree object appear as if the outer shell of the tree is formed thinly, thus achieving a natural appearance.

[0113] In this embodiment, if the textures set for two adjacent voxels are different, the rendering is performed so that the boundary between the areas where the two types of textures are drawn becomes jagged (see Figure 13). This makes it possible to realistically represent the appearance 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, the method of generating and rendering the mesh is arbitrary, and the boundary between the areas where the two types of textures are drawn can be formed in any way. For example, the game system 1 may render so that the boundary is formed along the outer perimeter of the erase range 213, or it may perform a process to blur the boundary.

[0114] Figure 18 shows an example of a mesh at the boundary of an area where two types of textures are drawn. Note that, as with Figure 10, Figure 18 represents voxels and meshes in two dimensions for clarity and ease of explanation; however, in reality, a three-dimensional mesh 221 is generated based on voxels in three-dimensional space. Mesh 221 is a mesh generated based on the voxel data of surface voxels (it can also be said that it is a mesh whose position does not change before and after a change event).

[0115] In Figure 18, the circles labeled "a" or "b" indicate the center position of the voxels. Specifically, the circle labeled "a" is the center position of the voxel to which the material associated with the primary texture (i.e., a texture representing the color and pattern of the tree's outer shell) is set, and the circle labeled "b" is the center position of the voxel to which the material associated with the secondary texture (i.e., a texture representing the color and pattern of the tree's interior) is set. Furthermore, vertex 222 of mesh 221 is a vertex set between each voxel to which the material corresponding to the secondary texture is set (i.e., set based on the voxel data of each voxel). The vertices 223 to 225 of mesh 211 are vertices set between the voxel to which the material corresponding to the primary texture is set and the voxel to which the material corresponding to the secondary texture is set (i.e., set based on the voxel data of the voxel to which the material corresponding to the primary texture is set and the voxel data of the voxel to which the 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 voxel 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 roughly 50 / 50 (in Figure 18, there are two of each), whereas for vertex 225, the proportion of materials corresponding to the primary texture is higher than the proportion of materials corresponding to the secondary texture (in Figure 18, there are three voxels with materials corresponding to the primary texture and one voxel with a material corresponding to the secondary texture).

[0116] As shown in Figure 18, for meshes where the textures set for each surrounding voxel are positioned at different locations (i.e., meshes generated based on the voxel data of multiple voxels with different textures), interpolation may be used to create a gradient from one texture to the other. In the example shown in Figure 18, the secondary texture is white and the primary texture is black. This allows for smoother transitions in color and / or pattern at the boundary between the two textures, 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 on a mesh (i.e., the boundary mesh) that is generated based on the voxel data of the voxel to be changed and the voxel data of a voxel different from the voxel to be changed, such that it is a gradient from the main texture indicated by the main material data to the sub-texture indicated by the sub-material data. It can also be said that the game system 1 draws on at least a portion of the mesh around the exposed part of the voxel object that has been exposed by the erase event, such that it is a gradient from the color and / or pattern represented by the main texture to the color and / or pattern represented by the sub-texture. This makes the appearance of the object more natural.

[0118] As described above, in this embodiment, when a deletion event occurs in which at least a portion of a voxel object is deleted, the game system 1 updates the voxel data related to the voxel to be deleted so that at least a portion of the voxel object is deleted in the voxel to be deleted where the deletion event occurred. The game system 1 then determines that a change event has occurred in the voxels surrounding the voxel to be deleted (more specifically, the voxels surrounding the voxel to be deleted that contain the voxel object) (specifically, it performs rendering using the subtexture set for the surrounding voxels). This makes it possible to represent the thin outer shell portion of the voxel object when a portion of the voxel object is deleted and its interior is exposed.

[0119] Note that the voxels to be changed do not necessarily have to be all the voxels surrounding the voxel to be deleted. 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 internal voxels, and for surface voxels, material data indicating the main material to which a sub-material is associated in the material information may be set. In this case, even if the texture of the internal voxels among the voxels surrounding the voxel to be deleted is not changed, the texture representing the interior of the voxel object will be applied, so the game system 1 may specify only the surface voxels among the voxels surrounding the voxel to be deleted as the voxels to be deleted. This also produces the same effect as in this embodiment.

[0120] Game System 1 may also perform the deletion of voxel objects due to an erase event and the visual change of those voxels due to a change event together. That is, when an erase event occurs, Game System 1 may perform an erase process (specifically, a process to set the density to 0) on the voxels to be erased within the erase range, and a change process (specifically, a process to change the material data used for rendering to sub-material data) on the voxels to be changed within a range slightly larger than the erase range. This allows for responsive visual changes of voxel objects in response to erase events.

[0121] In the above explanation, we described the case where a change event occurs as a result of an erase event. However, the conditions for a change event to occur are not limited to the occurrence of an erase event. For example, game system 1 may generate a change event even if an erase event does not occur due to an impact event.

[0122] Figure 19 shows an example of how a change event occurs in response to an impact event. In the example shown in Figure 19, the change condition for the tree object 212 is that an impact event occurs on the tree object 212. At this time, the game system 1 generates a change event in the range corresponding to the impact event. In other words, the game system 1 changes the texture used for rendering the portion of the tree object 212's mesh within the above range from the main texture to the sub-texture. As a result, as shown in Figure 19, the portion within the above range will have the appearance of the inside of the tree.

[0123] The "range corresponding to the impact event" mentioned above refers to the area affected by the impact event. For example, if an impact event occurs due to a punch action by player object 211, the "range corresponding to the impact event" will be a predetermined range including the location where player object 211's punch hit the terrain object.

[0124] Figure 20 shows an example of the surface and interior of a tree object when the texture is changed without the tree object being erased. The dotted area 214 shown in Figure 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 the voxels (shown by diagonal lines in Figure 20) among the surface voxels that are included in the range corresponding to the impact event as the voxels to be changed. For the faces (specifically meshes) 212c corresponding to the voxels to be changed, the game system 1 updates the material data set for the voxels to be changed from the main material data to the sub-material data, and performs rendering using the sub-texture specified by the sub-material data. As a result, the portion of 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 (see Figure 19), although the position of the mesh does not change from before the erasure. This makes it appear as if the thin outer layer of the tree (i.e., the bark) has been stripped away by the impact event, giving the tree object 212 a more natural appearance with a thin outer layer.

[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 define the voxels to be changed as the voxels that fall within the range corresponding to the impact event and the voxels adjacent to them.

[0126] As described above, in this embodiment, when an impact event occurs that applies an impact to a voxel object, the game system 1 determines that a change event has occurred for the voxel at a position based on the location where the impact event occurred (specifically, a position included in the range corresponding to the impact event) (specifically, rendering is performed using the subtexture set for that voxel). This makes it possible to make it appear as if the thin outer shell of the voxel object has been peeled off when an impact event is performed on a voxel object (even if a part of the voxel object is not erased).

[0127] In this embodiment, when a texture is changed by a change event in response 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 on which the change event occurs moves slightly inward from the voxel object.

[0128] Furthermore, the game system 1 may execute both a process that generates a change event in response to an erase event and a process that generates a change event in response to an impact event. In other words, the change condition may be that either "an erase event has occurred" or "an impact event has occurred" is met. In this embodiment, the game system 1 generates a change event as follows.

[0129] In this embodiment, when the impact application 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 of the voxel object, and an intensity is also set for the impact application event according to the type of the impact application event. The type of the impact application event is determined to be different, for example, according to the type of action performed in the impact application event or the type of object that has collided with the voxel object in the impact application 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 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 (that is, the impact application event) and the intensity B of the side to be destroyed (that is, the voxel object). Specifically, the game system 1 determines the deletion condition as follows in (a) to (c) below. (a) When the intensity A of the destruction side is equal to or greater than the intensity B of the side to be destroyed (that is, 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 side to be destroyed (that is, when A + 1 = B), damage corresponding to the type of the impact application event is given to the voxel object, and when the damage to the voxel object becomes equal to or greater than the reference value, it is determined that the deletion condition is satisfied. (c) When the value obtained by adding 1 to the intensity A of the destruction side is less than the intensity B of the side to be destroyed (that is, when A + 1 < B), no damage is given to the voxel object (as a result, the deletion condition is not satisfied). In this embodiment, the damage of a voxel object is managed on a per-voxel basis. That is, the game system 1 stores data indicating the damage value as the state data included in the voxel data for each voxel.

[0131] As described above, in this embodiment, when 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, when the strength A of the destroying side is slightly less 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 location (i.e., the same voxel) of the voxel object. In other words, in this case, a part of the voxel object is erased in accordance with the number of impact events that occur to that part. Also, when the strength A of the destroying side is considerably less than the strength B of the destroyed side (c above), the erasure condition is not met even if an impact event occurs.

[0132] Game system 1 determines the elimination condition for each voxel. Specifically, when an impact event occurs, the system determines the elimination condition for each voxel within the range corresponding to the impact event, based on the intensity of the impact event and the intensity set for that voxel.

[0133] In the case of (a) above, the deletion condition is met, so the game system 1 determines that the change condition is also met. In this case, in accordance with the fulfillment of the deletion condition, a portion of the voxel object is deleted, and the texture of that portion of the voxel object is changed (see Figure 13). Also, in the case of (b) above, the game system 1 determines that the change condition is met even if the deletion condition is not met. In this case, the voxel object is not deleted, but the process of changing the texture of a portion of the voxel object is executed (see Figure 19). Also, in the case of (c) above, the game system 1 determines that the change condition is not met.

[0134] As described above, in this embodiment, in case (b) above, when an impact event occurs for the first time, the voxel object is not deleted, and the texture of the voxel object is changed in the area corresponding to the impact event (see Figure 19). Then, when a second or subsequent impact event occurs, the voxel object is deleted, and the texture of the voxel object is changed in the area surrounding the deleted part (see Figure 13). In other embodiments, in case (b) above, the game system 1 may determine that the change condition is met when the damage to the voxel object exceeds a certain threshold value, instead of determining that the change condition is met by the first impact event. The threshold value for determining the change condition is set to a smaller value than the threshold value for determining the deletion condition. In other words, the game system 1 sets the number of impact events required for the change condition to be met to be less than the number of impact events required for the deletion condition to be met.

[0135] As described above, in this embodiment, when a first impact event (e.g., 1 time) occurs on a voxel object, the game system 1 determines that a change event has occurred on voxels within the range corresponding to the impact event within the voxel object. Furthermore, when a second impact event (e.g., 2 or more times) occurs on a voxel object, the game system 1 updates the voxel data related to the voxel to be erased so that at least a portion of the voxel object is erased at the voxel to be erased at the position based on the range corresponding to the impact event within the voxel object. Furthermore, when a second impact event occurs on a voxel object, the game system 1 determines that a change event has occurred on at least some of the voxels surrounding the voxel to be erased. This makes it possible to first make it appear as if the thin outer shell of the voxel object is peeled off by the impact event, and then to represent the process of a portion of the voxel object being erased by subsequent additional impact events (and further, the outer shell being peeled off around the erased portion).

[0136] The content of the erase and change conditions, as well as the scope of the erase and change events, are arbitrary and not limited to those described above. For example, the scope of the erase 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, the texture) of a voxel object through 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 main material data and the property data associated with the sub-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, independently of whether the main texture or the sub-texture is applied to the mesh of the voxel object. This makes it possible to set the properties of the voxel object without being affected by the appearance of the voxel object.

[0138] [2-3-3. Example where more than 3 types of materials are set] When a primary material is associated with a secondary material set for a voxel, that secondary material may have yet another material associated with it. For example, in the example of material information shown in Figure 14, the primary material with material ID "001" is associated with a secondary material with material ID "002", and furthermore, the material with material ID "002" is set as the primary material and associated with a secondary material with material ID "012". In this way, when a change event first occurs for a voxel object that has voxel data containing first material data (for example, material data indicating "001"), the game system 1 renders the mesh corresponding to the voxel being changed using the second material data (for example, material data indicating "002") instead of the first material data. In this case, the voxel data of the voxel being changed 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 voxel being changed using the third material data (for example, material data indicating "012") instead of the second material data. In this case, the voxel data of the voxel being changed is updated to include the third material data instead of the second material data.

[0139] As described above, in this embodiment, when a first change event occurs, the game system 1 sets the color and / or pattern (specifically, texture) of the mesh of the voxel object generated based on the voxel data related to the change target voxel, based on the second material data set on the change target voxel at the location where the first change event occurred. Furthermore, when a second change event occurs for the change target voxel, if a third material data is associated with the second material data set on the change target voxel at the location where the second change event occurred, the game system 1 sets the color and / or pattern of the mesh of the voxel object generated based on the voxel data related to the change target voxel, based on the third material data. In this way, by simply setting one other material associated with a certain material in the material information, it becomes possible to set yet another material associated with that other material. Therefore, for example, by causing another change event in a part of the mesh drawn based on the second material data, it is possible to represent a voxel object composed of three layers with different appearances. It is also possible to represent a voxel object composed of four or more layers with different appearances in the same manner as described above. Furthermore, in this embodiment, such multi-layer representation can be achieved without setting a large amount of material data for each voxel data, thus significantly reducing the increase in required memory even when the number of voxel data increases. This reduction in required memory is also true in the case of two layers.

[0140] [3. Specific examples of processing in game systems] Next, with reference to Figures 21 and 22, a specific example of information processing in game system 1 will be described.

[0141] Figure 21 shows an example of various types of data used for information processing in the game system 1. As shown in Figure 21, the game system 1 stores the 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 in advance before the execution of game processing. The game program and voxel space data are stored, for example, in a storage medium installed in slot 23 of the main unit 2. The voxel object data and mesh data are data that are generated during the execution of 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 Figure 22).

[0143] Voxel space data is data that defines the voxel space set up in the game space. Specifically, 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, if the voxel space is set up in only a part of the game space, the voxel space data may also include data indicating the location and size of the space in which the voxels are set up (i.e., data indicating the range in the game space in which the voxels are set up).

[0144] Voxel object data is data that represents voxel objects (for example, the tree object mentioned above) placed in the game space. Specifically, voxel object data includes voxel data for each unit region within a portion or all of the game space.

[0145] Mesh data is data that describes the mesh assigned to voxel objects placed in game space. Mesh data includes, for example, data indicating the position of each vertex in the mesh.

[0146] In addition to the data shown in Figure 21, Game System 1 also stores the following data before game processing is executed: the aforementioned material information, property information, and texture information data, as well as data related to various characters appearing in the game.

[0147] Figure 22 is a flowchart showing an example of the game processing flow executed by game system 1. The game processing shown in Figure 22 is initiated, for example, when the player issues an instruction to start the game while the game program is running.

[0148] In this embodiment, the processor 81 of the main unit 2 executes the game program stored in the game system 1, thereby executing the processing of each step shown in Figure 22. However, in other embodiments, some of the processing of each step may be executed by a processor other than the processor 81 (for example, a dedicated circuit). Also, if the game system 1 can communicate with other information processing devices (for example, a server), some of the processing of each step shown in Figure 22 may be executed by the other information processing device. Furthermore, the processing of each step shown in Figure 22 is merely an example, and the processing order of each step may be changed, or other processing may be performed in addition to (or instead of) the processing of each step, as long as similar results can be obtained.

[0149] Furthermore, the processor 81 executes the processing of each step shown in Figure 22 using memory (for example, DRAM 85). That is, the processor 81 stores the information (in other words, data) obtained by each processing step in memory, and when it is necessary to use that information in subsequent processing steps, it reads the information from memory and uses it.

[0150] In step S1 shown in Figure 22, the processor 81 sets up the voxel objects in the game space in their initial state. Specifically, the processor 81 acquires voxel data indicating the arrangement of the voxel objects in their initial state, and stores (in other words, writes) part or all of the acquired voxel data to 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 the texture to be applied to the mesh, and data indicating the properties of the voxel object. The voxel data indicating the arrangement of the voxel objects in their initial state is stored, for example, in a storage medium installed in slot 23 of the main unit 2. The processing in step S2 is executed after step S1.

[0151] The voxel data written to the DRAM 85 as voxel object data may be a portion of the voxel data used to generate game images from the voxel data covering the entire range of the game space. The processor 81 may, for example, generate an image of an object using voxel data only for a portion of the game space (for example, a range within a predetermined distance from the virtual camera's position). In this case, the voxel object data may include the voxel data within that range. Furthermore, when voxel data for a portion of the game space is written, the same processing as in step S1 is executed at an appropriate timing during the execution of the series of processes in steps S3 to S12 described later (for example, when the virtual camera's position moves by a predetermined distance or more).

[0152] In step S2, the processor 81 generates a mesh for the voxel object. The mesh is generated according to the method described in "[2-2. Mesh]" above. Here, the processor 81 generates the mesh based on the voxel object data stored in the DRAM 85 and stores it in the DRAM 85 as mesh data. As a result of the process in step S2, a voxel object with a texture to be applied to the mesh and properties set is constructed in the game space. After step S2, the game starts, and the series of processes in steps S3 to S12 are repeatedly executed during the game.

[0153] In step S3, the processor 81 controls the behavior of various objects that appear in the game space (for example, player objects and enemy objects). For example, the processor 81 controls the behavior of player objects based on operation data received from each controller 3 or 4, or controls the behavior of enemy objects based on algorithms defined in the game program. The processing in step S4 is executed after step S3.

[0154] In step S4, the processor 81 determines whether the impact event described above occurred as a result of step S3. If the determination result in step S4 is positive, the process in step S5 is executed. On the other hand, if the determination result in step S4 is negative, the series of processes from steps S5 to S10 are skipped, and the process in step S11, which will be described later, is executed.

[0155] In step S5, the processor 81 determines whether the erasure condition described above has been met as a result of step S3. As described above, the erasure condition is determined for each voxel, so in the determination in step S3, if the erasure condition is met for at least one voxel, the determination result is affirmative. If the determination result in step S5 is affirmative, the process in step S6 is executed. On the other hand, if the determination result in step S5 is negative, the series of processes in steps S6 and S7 are skipped and the process in step S8 is executed.

[0156] In step S6, the processor 81 updates the voxel data in the voxel object data stored in the DRAM 85 to erase a portion of the voxel object. Specifically, the processor 81 erases a portion of the voxel object in the manner described in "[2-3-2. Specific Example of Changing the Texture of a Voxel Object]" above. The process in step S7 is executed after step S6.

[0157] In step S7, the processor 81 updates the mesh for the voxel objects whose voxel data was modified in step S6. That is, the processor 81 generates a mesh for the voxel objects based on the updated voxel object data from step S6. This allows the mesh of the voxel objects to be dynamically changed during gameplay. The processor 81 also updates the mesh data stored in the DRAM 85 to reflect the newly generated mesh. The processing in step S8 is executed after step S7.

[0158] In step S8, the processor 81 determines whether the above-mentioned change condition has been met as a result of step S3. If the determination result in step S8 is positive, the process in step S9 is executed. On the other hand, if the determination result in step S8 is negative, the processes in steps S9 and S10 are skipped and the process in step S11 is executed.

[0159] In step S9, the processor 81 identifies the voxels that will be changed when a change event occurs. Specifically, if the change condition is met due to an erase event, the processor 81 identifies the voxels surrounding the voxel to be erased as the voxels to be changed. Also, if the change condition is met due to an impact event, the processor 81 identifies the voxels within the range corresponding to the impact event as the voxels to be changed. The processing in step S10 is executed after step S9.

[0160] In step S10, the processor 81 changes the texture used to draw the mesh for the voxel to be changed, as identified in step S9, from the primary texture to the secondary texture. Specifically, the processor 81 changes the material data of the voxel data of the voxel to be changed to indicate the secondary material instead of the primary material. That is, from then on, the secondary texture corresponding to the secondary material becomes the texture used to draw the mesh. The processor 81 updates the voxel object data stored in the DRAM 85 to reflect the voxel data that has been changed as described above. The processing in step S11 is executed after step S10.

[0161] In step S11, the processor 81 generates a game image representing the game space and displays it on the display device. Specifically, the processor 81 generates a game image representing the 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 in "[2-2. Mesh]" above. In this case, for voxel data to which two types of material data are set, the processor 81 generates the game image (specifically, draws the mesh) using the texture identified by the material data contained in the voxel data. Therefore, if the applied texture data is changed in the process of step S10, the texture used for drawing will be changed, and the appearance of the voxel object will be changed. The processor 81 displays the game image generated as described above on the display device. During the game, the process of step S11 is repeatedly executed at a rate of once every predetermined time (e.g., 1 frame time). The process of step S12 is executed after step S11.

[0162] In step S12, the processor 81 determines whether or not to terminate the game. For example, the processor 81 determines whether or not the user has given an instruction to terminate the game. If the result of the determination in step S12 is negative, the process in step S3 is executed again. Thereafter, the series of processes from steps S3 to S12 are repeatedly executed until it is determined in step S12 that the game should be terminated. On the other hand, if the result of the determination in step S12 is positive, the processor 81 terminates the game process as shown in Figure 22.

[0163] [4. Effects and Modifications of This Embodiment] As described above, in the above embodiment, the information processing system (specifically, the game system 1) is configured to include the following means. Object generation means (step S2) that generates a mesh of objects (i.e., voxel objects) in the virtual space based on voxel data for each voxel defined in the voxel space set up in the virtual space. Material data acquisition means (step S1) that acquires first material data (e.g., primary material data) and second material data (e.g., secondary material data) as material data that defines the color and / or pattern (e.g., texture) of an object for each voxel. (a) Before a change event occurs that alters the appearance of an object, the appearance setting means (step S10) sets the color and / or pattern of the object's mesh based on the first material data, and (b) after a change event occurs, if the first material data is associated with the second material data, the appearance setting means (step S10) sets the color and / or pattern of the mesh that corresponds to a part of the object's surface, which is generated based on the voxel data relating to the voxel to be changed, based on the second material data. • Image output means for outputting an image of an object mesh in a virtual space to a display device (step S11)

[0164] According to the above configuration, for parts of an object where a change event occurs, the mesh's color and / or pattern changes due to the change event, making it appear as if the thin outer shell of the object has been peeled off. This allows for the representation of the thin outer shell of the object.

[0165] Furthermore, 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. Object generation means (step S2) that generates an object mesh in the virtual space based on voxel data for each voxel defined in the voxel space set up in the virtual space. Before an erase event occurs that erases a portion of the object, a drawing means (step S11) draws a first color and / or pattern (for example, a color and / or pattern representing the outer shell of the object) onto the mesh of the object. • Image output means for outputting an image of an object mesh in a virtual space to a display device (step S11) The voxel generation means updates the voxel data so that a portion of the object is erased after the erase event occurs (step S6). The drawing means draws a second color and / or pattern (for example, a color and / or pattern representing the interior of the object) that is different from the first color and / or pattern on the mesh of the exposed portion of the object that has been exposed by the erase, and on at least a portion of the mesh surrounding the mesh of the exposed portion (see Figure 13).

[0166] According to the above configuration, when a part of an object is erased, the mesh surrounding the exposed portion that was revealed by the erasure can also represent the thin outer shell of the object by drawing the inner colors and / or patterns of the object.

[0167] In the above configuration, the material data only needs to include data that defines the object's color and / or pattern, and does not need to include data that describes the object's properties.

[0168] Furthermore, in the above embodiment, the game system 1 sets the color and / or pattern based on sub-material data for at least one mesh that is generated based on voxel data relating to the voxel to be changed, and whose position has not changed before and after a change event (or erase event if the change event occurs based on an erase event). (That is, it draws the color and / or pattern on the inside of the object.) As a result, the boundary between the area where the outer color and / or pattern is drawn and the area where the inner color and / or pattern is drawn is located on the mesh that has not changed before and after the change event. This makes it possible to represent the thin outer shell of the object. In addition, it is not necessary to change the mesh more than necessary, so the processing load for changing the appearance of the object can be reduced.

[0169] Furthermore, in the above embodiment, a tree object was given as an example of a voxel object whose outer shell and interior appearance differ. However, in other embodiments, the voxel object whose outer shell and interior appearance differ may be any object in the virtual space. For example, the voxel object may be a terrain object, or a movable object in the virtual space such as a player object, an enemy object, or a vehicle that a player object can ride. The game system 1 may also place both voxel objects whose outer shell and interior appearance differ and voxel objects whose outer shell and interior appearance do not differ in the virtual space.

[0170] In other embodiments, the information processing system may not have some of the configurations in the above embodiments, nor may it perform some of the processes executed in the above embodiments. For example, in order to achieve some of the specific effects in the above embodiments, the information processing system may have to have the configurations necessary to achieve those effects and perform the processes necessary to achieve those effects, but it may not have to have other configurations or perform other processes. [Industrial applicability]

[0171] The above embodiment can be used, for example, as a game system or game program, for purposes such as representing 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 Objects 212 Tree Objects

Claims

1. An information processing program executed in a computer of an information processing device, An object generation means that generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space, A material data acquisition means that acquires 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 occurs that changes the appearance of the object, the color and / or pattern of the mesh of the object is set based on the first material data; (b) After the change event occurs, if the second material data is associated with the first material data set for the voxel to be changed, which is the voxel at the location where the change event occurred, the appearance setting means sets the color and / or pattern of the mesh that is generated based on the voxel data relating to the voxel to be changed, which corresponds to a part of the surface of the object, based on the second material data; An information processing program that causes the computer to function as an image output means for outputting an image of the mesh of the object in the virtual space to a display device.

2. When an erasure event occurs that erases at least a portion of the object, the object generation means updates the voxel data relating to the voxel to be erased 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 according to claim 1, further comprising the computer functioning as a change event determination means for determining that the change event has occurred in at least one of the voxels surrounding the voxel to be erased.

3. The information processing program according to claim 2, wherein the appearance setting means sets the color and / or pattern based on the second material data for at least one mesh that is generated based on the voxel data relating to the voxel to be changed and whose position has not changed before and after the erase event.

4. The information processing program according to claim 1, wherein when an impact event occurs that applies an impact to the object, the computer is further configured as a change event determination means that determines that the change event has occurred with respect to a voxel at a position based on the position where the impact event occurred.

5. The information processing program according to claim 4, wherein the appearance setting means sets the 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 voxel to be changed and whose position has not changed before and after the impact event.

6. The change event determination means determines that if the impact event occurs a first time for the object, the change event has occurred for a range of voxels within the object corresponding to the impact event. The aforementioned information processing program is If the impact event occurs on the object a second time more than the first time, the computer is further configured as a voxel update means to update voxel data relating to the voxel to be erased so that at least a portion of the object is erased in the voxel to be erased at a location based on the range corresponding to the impact event on the object. The information processing program according to claim 4 or 5, 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 on the object.

7. The material data acquisition means acquires the third inner material data, The aforementioned appearance setting means is In response to the occurrence of the first change event, the color and / or pattern of the mesh of the object generated based on the voxel data relating to the change target voxel is set based on the second material data set in the change target voxel at the location where the first change event occurred. An information processing program according to any one of claims 1 to 6, wherein, in response to a second change event occurring for the voxel to be changed, if the third material data is associated with the second material data set for the voxel to be changed at the location where the second change event occurred, the program sets the color and / or pattern of the mesh of the object generated based on the voxel data relating to the voxel to be changed, based on the third material data.

8. The material data is associated with property data that defines the properties of the object for each voxel, and the property data associated with the first material data and the property data associated with the second material data are the same. The information processing program according to any one of claims 1 to 7, further comprising the computer functioning as a property setting means for setting the properties of an object based on the aforementioned property data.

9. The aforementioned material data includes data indicating texture, The information processing program according to any one of claims 1 to 8, further comprising the computer functioning as an image generation means for generating an image of the object by applying a texture indicated by the material data set in the voxel corresponding to the voxel data to a mesh generated based on the voxel data.

10. The information processing program according to claim 9, wherein the image generation means generates an image of the object by drawing on a mesh generated based on the voxel data of the voxel to be changed and the voxel data of a voxel different from the voxel to be changed, such that the result is a gradient from the texture indicated by the first material data to the texture indicated by the second material data.

11. An information processing program executed in a computer of an information processing device, An object generation means that generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space, Before an erase event occurs that erases a part of the object, a drawing means is provided to draw a first color and / or pattern onto the mesh of the object, The computer is configured to function as an image output means for outputting an image of the mesh of the object in the virtual space to a display device. The object generation means updates the voxel data so that a portion of the object is deleted after the deletion event occurs. The drawing means is an information processing program that 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 a portion of the mesh surrounding the exposed portion mesh and whose position has not changed before and after the erasure event.

13. Property data acquisition means for acquiring property data that defines the properties of the object for each voxel, The computer is further configured as a property setting means for setting properties of an object on which the first color and / or pattern, or the second color and / or pattern, is drawn on a mesh, based on the property data. The information processing program according to claim 11 or claim 12, wherein the property data corresponding to the first color and / or pattern mesh and the property data corresponding to the second color and / or pattern mesh are the same.

14. The information processing program according to any one of claims 11 to 13, wherein the drawing means draws the mesh generated based on the voxel data using a texture associated with the voxel corresponding to the voxel data.

15. The information processing program according to any one of claims 11 to 14, wherein the drawing means draws on at least a portion of the mesh surrounding the exposed portion of the mesh such that it becomes a gradient from the first color and / or pattern to the second color and / or pattern.

16. An object generation means that generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space, A material data acquisition means that acquires 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 occurs that changes the appearance of the object, the color and / or pattern of the mesh of the object is set based on the first material data; (b) After the change event occurs, if the second material data is associated with the first material data set for the voxel to be changed, which is the voxel at the location where the change event occurred, the appearance setting means sets the color and / or pattern of the mesh that is generated based on the voxel data relating to the voxel to be changed, which corresponds to a part of the surface of the object, based on the second material data; An information processing system comprising: 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 generation means that generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space, Before an erase event occurs that erases a part of the object, a drawing means is provided to draw a first color and / or pattern onto the mesh of the object, The system includes an image output means for outputting an image of the mesh of the object in the virtual space to a display device, The object generation means updates the voxel data so that a portion of the object is deleted after the deletion event occurs. The drawing means is an information processing system that 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 generation means that generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space, A material data acquisition means that acquires 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 occurs that changes the appearance of the object, the color and / or pattern of the mesh of the object is set based on the first material data; (b) After the change event occurs, if the second material data is associated with the first material data set for the voxel to be changed, which is the voxel at the location where the change event occurred, the appearance setting means sets the color and / or pattern of the mesh that is generated based on the voxel data relating to the voxel to be changed, which corresponds to a part of the surface of the object, based on the second material data; An information processing apparatus comprising: an image output means for outputting an image of the mesh of the object in the virtual space to a display device.

19. An object generation means that generates an object mesh in a virtual space based on voxel data for each voxel defined in a voxel space set up in a virtual space, Before an erase event occurs that erases a part of the object, a drawing means is provided to draw a first color and / or pattern onto the mesh of the object, The system includes an image output means for outputting an image of the mesh of the object in the virtual space to a display device, The object generation means updates the voxel data so that a portion of the object is deleted after the deletion event occurs. The drawing means is an information processing device that 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 performed by an information processing system, An object generation step that generates an object mesh in the virtual space based on the voxel data for each voxel defined in the voxel space set up in the virtual space, A material data acquisition step involves acquiring first material data and second material data as material data that defines the color and / or pattern of the object for each voxel, (a) Before a change event occurs that changes the appearance of the object, the color and / or pattern of the mesh of the object is set based on the first material data; (b) After the change event occurs, if the second material data is associated with the first material data set for the voxel to be changed, which is the voxel at the location where the change event occurred, the appearance setting step sets the color and / or pattern of the mesh that is generated based on the voxel data relating to the voxel to be changed, and which corresponds to a part of the surface of the object, based on the second material data; An information processing method comprising: an image output step of outputting an image of the mesh of the object in the virtual space to a display device.

21. An information processing method performed by an information processing system, An object generation step that generates an object mesh in the virtual space based on the voxel data for each voxel defined in the voxel space set up in the virtual space, Before an erase event occurs that erases a portion of the object, a drawing step is performed in which a first color and / or pattern is drawn on the mesh of the object, The system includes an image output step of outputting an image of the mesh of the object in the virtual space to a display device, In the object generation step, after the deletion event occurs, the voxel data is updated so that a portion of the object is deleted. An information processing method comprising the drawing step of drawing 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.