Computer program product, information processing device, information processing system, and information processing method
By using voxel update and mesh generation units in the information processing device to restore the state of changing objects in the virtual space, the problem of difficult recovery after changing objects in the prior art is solved, and an automated and efficient restoration process is realized, and the game experience is improved.
Patent Information
- Application Number
- CN202510122057.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-30
- Filing Date
- 2025-01-26
- Publication Date
- 2025-08-01
AI Technical Summary
The prior art is difficult to effectively restore the object object that has been changed due to a change event in the virtual space to its state before its change.
Through the information processing program executed in the information processing device, the voxel update unit, the voxel restoration unit, the mesh generation unit and the image generation unit are used to gradually restore the object to the state before its change, and the parameters are restored to the reference value by updating the voxel data, and a grid is generated and an image is output.
It realizes automatic and gradual recovery of changing objects in the virtual space, reduces processing complexity and system burden, and improves the continuity and fun of the game experience.
Smart Images

Figure CN120393414A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a computer program product, an information processing system, an information processing apparatus, and an information processing method for restoring an object to which a change has been applied in a virtual space. Background Art
[0002] Conventionally, for example, a process of generating a mesh of an object using voxel data (e.g., "Marching cubes: A high resolution 3D surface construction algorithm", Computer Graphics, Volume 21, Number 4, WE Lorensen, HE Cline, 1987) has been performed. In addition, a process of applying a change such as deformation to such an object has been performed.
[0003] There is room for improvement in gradually restoring an object to which a change has been applied to its state before the change.
[0004] Therefore, an object of the present invention relates to a computer program product, an information processing apparatus, an information processing system, and an information processing method capable of gradually restoring an object to which a change has been applied. Summary of the Invention
[0005] In order to solve the above problems, the present invention adopts the following configurations (1) to (17). (1)
[0007] An example of the present invention is a computer program product including an information processing program executed by a computer in an information processing apparatus. The information processing apparatus stores voxel data and reference data. The voxel data is data regarding a plurality of voxels related to a restoration object in a virtual space, and the reference data is a reference for the restoration object, representing a reference value of a parameter included in the voxel data. The information processing program causes the computer to function as a voxel update unit, a voxel restoration unit, a mesh generation unit, and an image generation unit. When a change event occurs for the restoration object, the voxel update unit updates the voxel data related to the restoration object. When the restoration condition is satisfied for the restoration object for which the change event has occurred, the voxel restoration unit performs the following restoration process: gradually changing the restoration object by gradually restoring the value of the parameter included in the updated plurality of voxel data to the reference value included in the reference data. The mesh generation unit generates a mesh of the restoration object based on the voxel data. The image generation unit generates an image of the virtual space including an image of the mesh of the restoration object drawn and outputs it to a display device.
[0008] According to the structure in (1) above, it is possible to gradually restore an object that has been changed due to a change event through a restoration process. (2)
[0010] Alternatively, the voxel restoration unit may determine that the restoration condition is satisfied and perform a restoration process at a second timing after the first timing when the change event has occurred.
[0011] According to the structure in (2) above, it is possible to automatically restore the object to be restored after the change event occurs. (3)
[0013] Alternatively, the change event may be that a player object is arranged on the object to be restored in the virtual space. Alternatively, in the case where the change event has occurred, the voxel update unit updates the voxel data in such a way that a part of the object to be restored including the position where the player object is arranged is eliminated.
[0014] According to the structure in (3) above, after the object under the player object's feet is eliminated, the object is restored, so it is possible to prevent the following inconvenience: the object disappears due to the player's continuous movement and there is no longer a place to move forward to. (4)
[0016] Alternatively, the voxel restoration unit may determine that the restoration condition is satisfied and perform a restoration process according to an operation performed by the player.
[0017] According to the structure in (4) above, it is possible to restore the object according to the player's operation. (5)
[0019] Alternatively, the reference data represents a reference value for each voxel among a plurality of voxels related to the object to be restored.
[0020] According to the structure in (5) above, it is possible to easily restore the object to be restored in units of voxels. (6)
[0022] Alternatively, the voxel restoration unit sequentially designates object voxels to be restored from among a plurality of voxels related to the object to be restored based on a specified rule, and performs restoration on the designated voxels.
[0023] According to the structure in (6) above, it is possible to gradually restore the object to be restored according to a certain rule. (7)
[0025] Alternatively, the voxel restoration unit sequentially designates object voxels along a restoration path set in the virtual space.
[0026] According to the structure of (7) above, it is possible to gradually restore the object to be restored in the direction along the set path. (8)
[0028] Alternatively, the change event is that the object to be destroyed and the object to be restored come into contact within the virtual space. Alternatively, in the case where a change event has occurred, the voxel update unit updates the voxel data in such a way that the part of the object to be restored that includes the position where the object to be destroyed has come into contact is eliminated. Alternatively, the voxel restoration unit sets the restoration path to a direction corresponding to the contact direction based on the position where the object to be destroyed and the object to be restored come into contact.
[0029] According to the structure of (8) above, it is possible to perform restoration in the direction corresponding to the contact position along the direction corresponding to the content of the change event (the direction of punching in the above example). (9)
[0031] Alternatively, in the case where the first restoration condition is satisfied for the part of the object to be restored where the first change event as the change event has occurred, the voxel restoration unit sequentially specifies the target voxels based on the first restoration area data, where the first restoration area data is used to define the restoration path in the first restoration process corresponding to the first change event. Alternatively, in the case where the second restoration condition is satisfied for the part of the object to be restored where the second change event, which is different from the first change event, as the change event has occurred, the voxel restoration unit sequentially specifies the target voxels based on the second restoration area data, where the second restoration area data is used to define the restoration path in the second restoration process corresponding to the second change event. Alternatively, during the period when the period of executing the first restoration process overlaps with the period of executing the second restoration process, the voxel restoration unit restores the voxels specified based on at least any one of the first restoration area data and the second restoration area data as the target voxels.
[0032] According to the structure of (9) above, even in the case where multiple restoration processes are executed in parallel due to the consecutive occurrence of multiple change events, it is possible to alleviate the concern about the complication of the restoration process. (10)
[0034] Alternatively, the voxel restoration unit sets a restoration area in the virtual space and specifies the target voxels from the voxels that overlap with the restoration area among the multiple voxels related to the object to be restored, and sequentially specifies the target voxels by moving the restoration area along the restoration path.
[0035] According to the structure of (10) above, it is possible to easily specify the target voxels along the path. (11)
[0037] Alternatively, the voxel restoration unit may sequentially specify target voxels in a direction from the inside to the outside of the object to be restored.
[0038] According to the structure of the above (11), it is possible to represent the situation where the object to be restored is gradually restored from the inside. (12)
[0040] Alternatively, the reference data represents a reference value for a parameter included in the voxel data that represents the density used for generating a mesh. Alternatively, in the case where a change event has occurred to the object to be restored, the voxel update unit updates the voxel data in such a way that the parameter representing the density changes. Alternatively, in the case where the object to be restored that has experienced a change event satisfies the restoration condition, the voxel restoration unit performs the following restoration process: by gradually restoring the value of the parameter representing the density included in the updated voxel data to the reference value included in the reference data, the object to be restored is gradually changed.
[0041] According to the structure of the above (12), it is possible to easily restore the shape of the object to be restored that has been deformed due to the occurrence of a change event to its original state. (13)
[0043] Alternatively, the reference data represents a reference value for the material set for the voxels among the parameters included in the voxel data. Alternatively, in the case where a change event has occurred to the object to be restored, the voxel update unit updates the voxel data in such a way that the parameter representing the material changes. Alternatively, in the case where the object to be restored that has experienced a change event satisfies the restoration condition, the voxel restoration unit performs the following restoration process: by gradually restoring the value of the parameter representing the material included in the updated voxel data to the reference value included in the reference data, the object to be restored is gradually changed.
[0044] According to the structure of the above (13), it is possible to easily restore the material of the object to be restored whose material has changed due to the occurrence of a change event to its original state. (14)
[0046] Alternatively, in the case where a change event has occurred to the object to be restored, the voxel update unit updates the voxel data related to the object to be restored in such a way that the range occupied by the object to be restored in the virtual space is reduced.
[0047] According to the structure of the above (14), it is possible to restore the object to be restored whose volume has decreased due to a change event to its original state through the restoration process. (15)
[0049] Alternatively, when a change event occurs to the restoration object, the range occupied by the restoration object in the virtual space decreases, and a separated object corresponding to the decreased part is generated. Alternatively, when the restoration condition is satisfied for the restoration object, the voxel restoration unit performs a restoration process on the restoration object and does not perform a restoration process on the separated object.
[0050] According to the structure of the above (15), by performing a restoration process on the restoration object, the possibility of game inconvenience can be reduced, and by not performing a restoration process on the separated object, the processing burden on the information processing system can be alleviated. (16)
[0052] Alternatively, when a change event occurs to the restoration object, the voxel update unit updates the voxel data related to the restoration object in such a way that the range occupied by the restoration object in the virtual space increases.
[0053] According to the structure of the above (16), the restoration object whose volume has increased due to a change event can be restored to its original state through the restoration process. (17)
[0055] Alternatively, the information processing program causes the computer to also function as an object control unit. Alternatively, the object control unit moves and / or rotates the voxel space in which the voxels related to the restoration object are set in the virtual space, so as to move and / or rotate the restoration object in the virtual space. Alternatively, when the restoration object has moved and / or rotated after the change event, the voxel restoration unit uses the voxel data related to the moved and / or rotated voxel space to perform a restoration process.
[0056] According to the structure of the above (17), even when the restoration object moves and / or rotates, the processing burden on the information processing system can be alleviated.
[0057] In addition, another example of the present invention may also be an information processing device (for example, a terminal device or a server) or an information processing system including all or part of the units in the above (1) to (17). Another example of the present invention may also be an information processing method (specifically, a game processing method) for causing an information processing system to execute the respective processes in the above (1) to (17).
[0058] According to the computer program product, information processing device, information processing system, and information processing method described above, an object to which a change has been applied can be gradually restored.
[0059] The above and other objects, features, aspects, and effects will become further apparent from the following detailed description when compared with the accompanying drawings. Description of the Drawings
[0060] Figure 1 FIG. is an example showing a state in which a left controller and a right controller are mounted on a main body device.
[0061] Figure 2 FIG. is an example showing a state after the left controller and the right controller are respectively removed from the main body device.
[0062] Figure 3 FIG. is a six-sided view showing an example of the main body device.
[0063] Figure 4 FIG. is a six-sided view showing an example of the left controller.
[0064] Figure 5 FIG. is a six-sided view showing an example of the right controller.
[0065] Figure 6 FIG. is a block diagram showing an example of the internal structure of the main body device.
[0066] Figure 7 FIG. is a block diagram showing an example of the internal structures of the main body device, the left controller, and the right controller.
[0067] Figure 8 FIG. is a diagram showing an example of a terrain object as a voxel object.
[0068] Figure 9 FIG. shows Figure 8 An example of a diagram showing the situation before and after a part of the terrain object shown is deleted.
[0069] Figure 10 FIG. shows Figure 8 An example of a diagram showing the situation before and after a part of the terrain object shown is deleted.
[0070] Figure 11 FIG. is a diagram showing an example of the content of voxel data.
[0071] Figure 12 FIG. is a diagram showing an example of property information representing the properties of a material.
[0072] Figure 13 FIG. is a diagram showing an example of texture information representing the texture of a material.
[0073] Figure 14 FIG. is a diagram showing an example of a method for generating a mesh.
[0074] Figure 15It is a diagram showing an example of a game image including a terrain object.
[0075] Figure 16 It is a diagram showing an example of a game image depicting a situation where a player character punches a terrain object.
[0076] Figure 17 It is a diagram showing an example of a game image depicting a situation where a part of the terrain object is eliminated due to the punch of the player character.
[0077] Figure 18 It is a diagram showing an example of a game image depicting a situation where the eliminated part of the terrain object gradually recovers.
[0078] Figure 19 It is a diagram showing an example of the movement of the recovery area during the recovery process.
[0079] Figure 20 It is a diagram showing an example of a game image including a terrain object that has undergone a change event.
[0080] Figure 21 It is a diagram showing an example of a game image depicting a situation where a player character moves on a pedal object.
[0081] Figure 22 It is a diagram showing an example of a main voxel object and a sub-voxel object.
[0082] Figure 23 It is a diagram showing an example of a situation where a recovery object recovers while moving.
[0083] Figure 24 It is a diagram showing an example of a situation where a part of the recovery object is separated.
[0084] Figure 25 It is a diagram showing an example of various data used in information processing in a game system.
[0085] Figure 26 It is a flowchart showing an example of the flow of game processing executed by a game system.
[0086] Figure 27 It is a diagram showing Figure 26 A sub-flowchart showing an example of the detailed flow of the recovery process in step S9 shown. Detailed implementation
[0087] [[Structure of the game system]]
[0088] Next, a game system according to an example of the present embodiment will be described. An example of the game system 1 in the present embodiment includes a main device (an information processing device that functions as the main body of the game device in the present embodiment) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 can be respectively attached to and detached from the main device 2. That is, the game system 1 can be used as a device in which the left controller 3 and the right controller 4 are respectively attached to the main device 2 to be integrated. In addition, the game system 1 can also use the main device 2, the left controller 3, and the right controller 4 independently (refer to Figure 2 ). Below, the hardware structure of the game system 1 of the present embodiment will be described, and then the control of the game system 1 of the present embodiment will be described.
[0089] Figure 1 FIG. is an example showing a state in which the left controller 3 and the right controller 4 are attached to the main device 2. As Figure 1 shown, the left controller 3 and the right controller 4 are respectively attached to the main device 2 to be integrated. The main device 2 is a device that executes various processes (for example, game processes) in the game system 1. The main device 2 includes a display 12. The left controller 3 and the right controller 4 are devices having an operation unit for user input.
[0090] Figure 2 FIG. is an example showing a state after the left controller 3 and the right controller 4 are respectively detached from the main device 2. As Figure 1 and Figure 2 shown, the left controller 3 and the right controller 4 can be attached to and detached from the main device 2. In addition, below, sometimes as a collective term for the left controller 3 and the right controller 4, it is described as "controller".
[0091] Figure 3 FIG. is a six-sided view of an example of the main device 2. As Figure 3 shown, the main device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front-side surface, that is, the surface provided with the display 12) is substantially rectangular.
[0092] In addition, the shape and size of the housing 11 are arbitrary. As an example, the housing 11 can be a portable size. In addition, it can also be that the main device 2 alone or the integrated device with the left controller 3 and the right controller 4 attached to the main device 2 is a portable device. In addition, the main device 2 or the integrated device can also be a hand-held device. In addition, the main device 2 or the integrated device can also be a movable device.
[0093] As Figure 3As shown, the main device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 is used to display the images generated by the main device 2. In the present embodiment, it is assumed that the display 12 is a liquid crystal display device (LCD). However, the display 12 can be any type of display device.
[0094] In addition, the main device 2 has a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is a multi-touch input capable method (e.g., capacitive method). However, the touch panel 13 can also be of any type, for example, it can also be a single-touch input capable method (e.g., resistive film method).
[0095] The main device 2 has a speaker (i.e., Figure 6 the shown speaker 88) inside the housing 11. As Figure 3 shown, speaker holes 11a and 11b are formed on the main surface of the housing 11. Moreover, the output sound of the speaker 88 is output from these speaker holes 11a and 11b respectively.
[0096] In addition, the main device 2 includes a left terminal 17 as a terminal for the main device 2 to communicate with the left controller 3 in a wired manner, and a right terminal 21 for the main device 2 to communicate with the right controller 4 in a wired manner.
[0097] As Figure 3 shown, the main device 2 has a slot 23. The slot 23 is provided on the upper side surface of the housing 11. The slot 23 has a shape capable of mounting a storage medium of a specified type. The storage medium of the specified type is, for example, a storage medium dedicated to the game system 1 and information processing devices of the same type as it (e.g., a dedicated memory card). The storage medium of the specified type is used, for example, to store data used in the main device 2 (e.g., save data of applications, etc.) and / or programs executed in the main device 2 (e.g., application programs, etc.). In addition, the main device 2 has a power button 28.
[0098] The main device 2 has a lower terminal 27. The lower terminal 27 is a terminal for the main device 2 to communicate with a cradle. In the present embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the above integrated device or the main device 2 alone is placed on the cradle, the game system 1 can display the images generated and output by the main device 2 on a fixed monitor. In addition, in the present embodiment, the cradle has a function of charging the above integrated device or the main device 2 alone placed on it. In addition, the cradle has a function of a hub device (specifically, a USB hub).
[0099] Figure 4 is a six-sided view showing an example of the left controller 3. AsFigure 4 As shown, the left controller 3 has a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the vertical direction (i.e., the Figure 1 and Figure 4 shown y-axis direction). The left controller 3 can also be longitudinally held in a state detached from the main body device 2. The housing 31 is set to a shape and size that can be held with one hand, particularly with the left hand, in the case of longitudinal holding. In addition, the left controller 3 can also be held horizontally. When the left controller 3 is held horizontally, it can also be held with both hands.
[0100] The left controller 3 has an analog stick 32. As Figure 4 shown, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit capable of inputting directions. The user can input a direction corresponding to the tilting direction (and input a magnitude corresponding to the tilting angle) by tilting the analog stick 32. In addition, the left controller 3 may have a cross key or a slide stick capable of performing slide input, etc. instead of the analog stick as the direction input unit. In addition, in the present embodiment, it is possible to input by pressing the analog stick 32.
[0101] The left controller 3 has various operation buttons. The left controller 3 has four operation buttons 33 to 36 (specifically, a right direction button 33, a down direction button 34, an up direction button 35, and a left direction button 36) on the main surface of the housing 31. And, the left controller 3 has a video recording button 37 and a -(negative) button 47. The left controller 3 has a first L button 38 and a ZL button 39 on the upper left part of the side surface of the housing 31. In addition, the left controller 3 has a second L button 43 and a second R button 44 on the surface of the side of the housing 31 that is mounted on the main body device 2 when mounted. These operation buttons are used to give instructions corresponding to various programs (for example, an OS program, an application program) executed by the main body device 2.
[0102] In addition, the left controller 3 has a terminal 42 for the left controller 3 to communicate with the main body device 2 in a wired manner.
[0103] Figure 5 is a six-sided view showing an example of the right controller 4. As Figure 5 shown, the right controller 4 has a housing 51. In the present embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the vertical direction. The right controller 4 can also be longitudinally held in a state detached from the main body device 2. The housing 51 is set to a shape and size that can be held with one hand, particularly with the right hand, in the case of longitudinal holding. In addition, the right controller 4 can also be held horizontally. When the right controller 4 is held horizontally, it can also be held with both hands.
[0104] The right controller 4 is also provided with an analog joystick 52 as a direction input unit, similarly to the left controller 3. In the present embodiment, the analog joystick 52 has the same structure as the analog joystick 32 of the left controller 3. Additionally, the right controller 4 may be provided with a cross key or a slide joystick capable of performing slide input instead of the analog joystick. Also, similarly to the left controller 3, the right controller 4 has four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. Further, the right controller 4 includes a + (plus) button 57 and a Home button 58. Moreover, the right controller 4 has a first R button 60 and a ZR button 61 at the upper right of the side surface of the housing 51. Additionally, similarly to the left controller 3, the right controller 4 has a second L button 65 and a second R button 66.
[0105] In addition, the right controller 4 is provided with a terminal 64 for the right controller 4 to communicate with the main device 2 in a wired manner.
[0106] Figure 6 It is a block diagram showing an example of the internal structure of the main device 2. In addition to the Figure 3 structure shown, the main device 2 also includes Figure 6 each of the components 81 to 91, 97, and 98 shown. Some of these components 81 to 91, 97, and 98 may also be mounted as electronic components on an electronic circuit board and housed in the housing 11.
[0107] The main device 2 includes a processor 81. The processor 81 is an information processing unit that executes various information processes performed in the main device 2. For example, it may be composed of only a CPU (Central Processing Unit), or may be composed of an SoC (System-on-a-chip) including multiple functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 executes various information processes by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84, or an external storage medium installed in the slot 23, etc.).
[0108] As an example of internal storage media, the main device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is a memory primarily used to store various data (which may also be programs) stored in the main device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.
[0109] The main device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23 and reads and writes data from a predetermined type of storage medium (e.g., a dedicated memory card) installed in the slot 23 according to instructions from the processor 81.
[0110] The processor 81 appropriately reads or writes data between the flash memory 84 , the DRAM 85 , and the above-mentioned storage media to execute the above-mentioned information processing.
[0111] The main device 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 an external device via a network (specifically, wireless communication). In the present embodiment, the network communication unit 82 is connected to a wireless LAN and communicates with an external device in a manner that complies with the Wi-Fi standard as a first communication method. In addition, the network communication unit 82 communicates wirelessly with other main devices 2 of the same type through a prescribed communication method as a second communication method (for example, communication based on a custom protocol (Japanese: 独プロトコル) or infrared communication). In addition, the wireless communication based on the above-mentioned second communication method can communicate wirelessly with other main devices 2 configured in a closed local area network, realizing a so-called "local communication" function that can send and receive data by directly communicating with multiple main devices 2.
[0112] The main device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 wirelessly communicates with the left controller 3 and / or the right controller 4. The communication method between the main device 2 and the left controller 3 and the right controller 4 is arbitrary. In this embodiment, the controller communication unit 83 communicates with the left controller 3 and the right controller 4 in accordance with the Bluetooth (registered trademark) standard.
[0113] The processor 81 is connected to the above-mentioned left terminal 17, right terminal 21, and lower terminal 27. When the processor 81 conducts wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Additionally, when the processor 81 conducts wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Moreover, when the processor 81 communicates with the bracket, it transmits data to the bracket via the lower terminal 27. Thus, in this embodiment, the main device 2 can conduct both wired communication and wireless communication with the left controller 3 and the right controller 4 respectively. Additionally, when the left controller 3 and the right controller 4 are installed on the main device 2 to form an integrated device or when the main device 2 alone is installed on the bracket, the main device 2 can output data (such as image data, sound data) to a fixed monitor or the like via the bracket.
[0114] Here, the main device 2 can communicate with multiple left controllers 3 simultaneously (in other words, in parallel). Additionally, the main device 2 can communicate with multiple right controllers 4 simultaneously (in other words, in parallel). Therefore, multiple users can simultaneously input to the main device 2 by using combinations of the left controller 3 and the right controller 4 respectively. As an example, it can be that while a first user inputs to the main device 2 using a first combination of the left controller 3 and the right controller 4, a second user inputs to the main device 2 using a second combination of the left controller 3 and the right controller 4.
[0115] Moreover, the display 12 is connected to the processor 81. The processor 81 displays the image generated (for example, by executing the above-mentioned information processing) and / or the image acquired from the outside on the display 12.
[0116] The main device 2 is provided with an encoding and decoding circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The encoding and decoding circuit 87 is connected to the speakers 88, the sound input / output terminal 25, and the processor 81. The encoding and decoding circuit 87 is a circuit that controls the input / output of sound data for the speakers 88 and the sound input / output terminal 25.
[0117] The main device 2 is provided with a power control unit 97 and a storage battery 98. The power control unit 97 is connected to the storage battery 98 and the processor 81. Additionally, although not shown in the figure, the power control unit 97 is connected to each part of the main device 2 (specifically, each part that receives power supply from the storage battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the storage battery 98 to the above-mentioned each part based on an instruction from the processor 81.
[0118] In addition, the storage battery 98 is connected to the lower terminal 27. When an external charging device (e.g., a cradle) is connected to the lower terminal 27 and power is supplied to the main unit 2 via the lower terminal 27, the supplied power is charged into the storage battery 98.
[0119] Figure 7 FIG. is a block diagram showing an example of the internal structure of the main unit 2, the left controller 3, and the right controller 4. In addition, details of the internal structure related to the main unit 2 are shown in Figure 6 and thus are omitted in Figure 7
[0120] The left controller 3 includes a communication control unit 101 that communicates with the main unit 2. As shown in Figure 7 , the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main unit 2 by both wired communication via the terminal 42 and wireless communication without passing through the terminal 42. The communication control unit 101 controls the communication method of the left controller 3 with respect to 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. In addition, when the left controller 3 is detached from the main unit 2, wireless communication is performed between the communication control unit 101 and the main unit 2 (specifically, the controller communication unit 83). For example, wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with the Bluetooth (registered trademark) standard.
[0121] In addition, the left controller 3 includes a memory 102 such as a flash memory, for example. The communication control unit 101 is constituted by a microcomputer (also referred to as a microprocessor), for example, and executes various processes by executing firmware stored in the memory 102.
[0122] The left controller 3 includes respective buttons 103 (specifically, buttons 33 to 39, 43, 44, and 47). In addition, the left controller 3 includes an analog joystick (described as a “joystick” in Figure 7 ) 32. Each of the buttons 103 and the analog joystick 32 repeatedly outputs information related to an operation performed on itself to the communication control unit 101 at an appropriate timing.
[0123] The communication control unit 101 obtains information related to input (specifically, information related to operations or detection results of sensors) from each input unit (specifically, each button 103 and the analog joystick 32). The communication control unit 101 sends operation data including the obtained information (or information obtained by performing specified processing on the obtained information) to the main body device 2. In addition, the operation data is repeatedly sent at a rate of once every specified time. In addition, the intervals for sending information related to input to the main body device 2 may be the same or different for each input unit.
[0124] By sending the above operation data to the main body device 2, the main body device 2 can learn about the input to the left controller 3. That is, the main body device 2 can determine the operations on each button 103 and the analog joystick 32 based on the operation data.
[0125] The left controller 3 is provided with a power supply unit 108. In the present embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and is also connected to each part of the left controller 3 (specifically, each part that receives power supply from the battery).
[0126] As Figure 7 shown, the right controller 4 is provided with a communication control unit 111 that communicates with the main body device 2. In addition, the right controller 4 is provided with a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and the memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main body device 2 through both wired communication via the terminal 64 and wireless communication without passing through the terminal 64 (specifically, communication conforming to the Bluetooth (registered trademark) standard), and the right controller 4 controls the communication method with the main body device 2.
[0127] The right controller 4 is provided with the same input units as those of the left controller 3. Specifically, it is provided with each button 113 and the analog joystick 52. Regarding these input units, they have the same functions as the input units of the left controller 3 and operate in the same manner.
[0128] The right controller 4 is provided with a power supply unit 118. The power supply unit 118 has the same functions as the power supply unit 108 of the left controller 3 and operates in the same manner.
[0129] [2. Outline of Processing in the Game System]
[0130] Next, referring to Figures 8 to 24To describe the outline of the processing executed in the game system 1. In the present embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player characters operated by players) are arranged in a game space that is a three-dimensional virtual space, and causes the display device to display the game image. In addition, in the present embodiment, the display device for displaying the game image may be the above-described display 12 or a fixed monitor.
[0131] [2-1. Voxel]
[0132] In the present embodiment, for several objects in the game space, their shapes are defined by voxel data. Here, a voxel refers to a rectangular parallelepiped (more specifically, a cubic) region arranged in a grid pattern in the game space, and voxel data refers to data set for each voxel. Hereinafter, an object whose shape is defined by voxel data is referred to as a "voxel object". In the present embodiment, the game system 1 stores voxel data as data for generating voxel objects in the game space for each of the plurality of voxels set in the game space.
[0133] Figure 8 is a diagram showing an example of a terrain object as a voxel object. As Figure 8 shown, in the present embodiment, the shape of a terrain object representing terrain such as the ground is defined by voxel data (that is, it is a voxel object). Figure 8 Each cube shown represents a terrain object. In addition, in Figure 8 , the part that becomes the edge of the terrain object is shown by a thick line, but this thick line is marked for the purpose of making the drawing easier to view, and in fact, it is not necessary to thicken the edge of the terrain object for display.
[0134] In addition, Figure 8 the terrain object shown, for example, is generated according to the following rule: "When the parameter included in the voxel data set for a voxel is greater than a specified value, a cube is arranged at the position of the voxel, and when it is equal to or less than the specified value, nothing is arranged at the position of the voxel". Figure 8 The terrain object shown is shown for the purpose of exemplifying the relationship between voxels and voxel objects in an easy-to-understand manner. In the present embodiment, in fact, for example, as the terrain object shown in Figure 15 described later, according to a rule that forms a more complex shape than the length of one edge of a voxel, (based on voxel data) voxel objects are generated. In addition, 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 8 or voxel objects as shown in Figure 15 based on object data.
[0135] For a voxel object, its shape can be changed by changing the voxel data of each voxel. Figure 9 and Figure 10 is a diagram showing Figure 8 an example of the situation before and after a part of the terrain object shown is deleted. That is, when the slanted part in the terrain object shown in Figure 9 is damaged, the terrain object changes to the shape shown in Figure 10 At this time, the game system 1 rewrites the voxel data of the above-mentioned slanted part to represent the absence of the terrain object, so that the terrain object can be easily eliminated. In addition, in the game system 1, when adding a terrain object, the voxel data of each voxel is also changed in the same way as when eliminating the terrain object, so that the shape of the terrain object can be easily changed.
[0136] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, when the terrain object in the game is damaged for some reason (for example, the player character strikes the terrain object) and as a result the shape of the terrain object changes, the game system 1 can freely change the shape of the terrain object by changing the voxel data used in the generation of the terrain object without directly changing the data representing the external shape of the terrain object (that is, the mesh described later).
[0137] Figure 11 is a diagram showing an example of the content of the voxel data. Here, in the present embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 stores each voxel in the game space in association with voxel data. The voxel data represents the presence or absence of a voxel object in the voxel corresponding to the voxel data, etc.
[0138] As Figure 11 shown, the voxel data includes density data. The density data represents 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). Details will be described later, but the position and shape of the surface of the voxel object (that is, the mesh described later) are determined based on the above density. That is, in the present embodiment, the above density is used to create a mesh for defining the surface of the voxel object.
[0139] In the present embodiment, the density can take an integer value in the range from a lower limit value (e.g., 0) to an upper limit value (e.g., 255). In the present embodiment, the game system 1 determines the shape of the voxel object based on the density in the following manner: when the value of the density set for the voxel is high, the proportion of the volume occupied by the voxel object within the voxel tends to increase, and when the value of the density is low, this proportion tends to decrease. In this way, the density is an index that affects the proportion of the volume occupied by the voxel object within the voxel. The density can also be said to be an index indicating the degree to which an object is contained within the region defined for each voxel. For example, when the density is 0, there is no voxel object within the voxel, when the density is 255, the entire voxel is a voxel object, and when the value is between 0 and 255, the voxel object can occupy a proportion corresponding to the value within the voxel. Moreover, the shape of the grid, that is, the shape of the voxel object, can be determined based on the above density. However, the voxel object generated based on the above density does not need to have a volume that is strictly consistent with the proportion indicated by the density. For example, in the method of generating a voxel object such as Figure 8 and the method of generating a voxel object such as Figure 15 , there are cases where even based on the same density, the volumes of the voxel objects are different.
[0140] In other embodiments, the density can also represent either the state in which the voxel object occupies the entire region within the voxel or the state in which the region within the voxel does not contain the voxel object. For example, the density data can be data that can only take 0 or 1.
[0141] As Figure 11 shown, the voxel data includes material data. The material data represents the material (in other words, substance) of the voxel object generated based on the voxel data. Here, in the present embodiment, materials such as sand, rock, and soil are set in the voxel object. That is, in the present embodiment, multiple types of materials are prepared as the materials that can be set for the voxel object, and any of the multiple types of materials is set for the voxel object.
[0142] As Figure 11 shown, in the present embodiment, the material data represents the identification information of the material (referred to as "material ID"). In addition, in the present embodiment, the game system 1 stores material information representing the properties and textures of the materials for each material prepared in the game. In the present embodiment, the material information associates the material ID, the properties of the material, and the appearance (specifically, the texture) of the material. Specifically, the material information is information that associates the material ID, the identification information of the properties of the material (referred to as "property ID"), and the identification information of the texture of the material (referred to as "texture ID") (refer to Figure 11 ).
[0143] Figure 12 This is a diagram showing an example of property information representing the properties of a material. As Figure 12 shown, the game system 1 stores property information obtained by associating the above property ID with information representing the content of the property indicated by the property ID. The property of a material refers to the property that a voxel object with that material has in the game. For example, it is Figure 12 information such as the weight and slipperiness shown. In addition, the specific content of the property is arbitrary. For example, as the property of a material, the following information can also be set.
[0144] · Temperature
[0145] · Fragility (for example, the number of times until the voxel object is destroyed when an impact is applied to the voxel object)
[0146] · Whether the voxel object adheres to other objects
[0147] · The amount of the player character's physical strength restored when the player character destroys the voxel object
[0148] · The amount of in-game currency obtained by the player character when the player character destroys the voxel object
[0149] In addition, the specific content of the property set for the material is arbitrary. In other embodiments, as information representing the properties of a material, information different from the above can also be set.
[0150] Figure 13 This is a diagram showing an example of texture information representing the texture of a material. As Figure 13 shown, the game system 1 stores texture information obtained by associating the above texture ID with the texture indicated by the texture ID.
[0151] In addition, as data for specifying the appearance of a voxel object, in addition to the texture information, any information related to color and / or pattern can also be set. For example, as information related to the appearance of a voxel object, a crack pattern can also be set. By using such a pattern, the game system 1 can generate an image of a voxel object showing an appearance with cracks.
[0152] As described above, in this embodiment, the material data specifies the properties of the voxel object and the texture for the voxel object through the material ID. For example, when the material ID shown in the material data included in the voxel data is "002", the property indicated by the property ID "001" associated with the material ID in the material information is set as the property of the voxel object corresponding to the voxel data (refer to Figure 11the arrow shown). Additionally, in the above case, the texture indicated by the texture ID of "002" associated with the material ID in the material information is applied to the voxel object corresponding to the voxel data (refer to Figure 11 the arrow shown).
[0153] As described above, in the present embodiment, the game system 1 manages the properties of the material and the texture separately. Therefore, in the present embodiment, it is possible to easily set multiple types of materials with the same properties but different appearances (i.e., textures), and multiple types of materials with different properties but the same appearance.
[0154] Furthermore, the material data can be any data that can be used to determine the properties and / or texture of the material. For example, in other embodiments, the material data can also be data representing the above property ID and texture ID, and can also have a data structure that actually contains data representing the properties and texture of the material.
[0155] In addition, the material data is information related to the material, and can also represent other information different from the above properties and textures. For example, the material data can also include effect data representing the effects that occur when the effect occurrence conditions set for the voxel object are satisfied (for example, a part of the voxel object is damaged, or a character steps on the voxel object). In addition, the effect data can also be data representing an effect image (for example, an effect image showing the voxel object being damaged), or can also be data representing an effect sound (the sound of footsteps when a character walks on the voxel object).2]
[0156] As Figure 11 shown, the voxel data includes state data representing the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data can be data representing whether the voxel object is wet, or can be data representing the amount of damage applied to the voxel object. The content of the state data can sometimes be updated during the game.
[0157] [2-2. Mesh]
[0158] In the present embodiment, the surface of the voxel object is represented by a mesh. A mesh refers to a collection of multiple faces (specifically, polygons) arranged in the game space. In the present embodiment, the game system 1 generates a mesh of the voxel object based on the voxel data set for each voxel in the game space. Below, an example of generating a mesh based on voxel data will be described.
[0159] Figure 14 is a diagram showing an example of a mesh generation method. Additionally, in Figure 14In this case, for the purpose of making the drawings easy to view and the description easy to understand, the voxels and the grid are represented two-dimensionally, but in fact, a three-dimensional grid is generated based on the voxels in a three-dimensional space.
[0160] As described above, in the present embodiment, the density set for the voxels is set within the range of 0 to 255. In addition, in the present embodiment, the voxels having a density equal to or higher than the reference threshold are considered to be inside the object, and the voxels having a density lower than the reference threshold are considered to be outside the object. It is not necessary to define only the voxels having a density of 0 as being outside the object (i.e., the reference threshold = 1), and this reference threshold is set to 128, for example. In Figure 14 In the example shown, the density is set to 0 in the voxel 201 and other voxels on the outside, the density of the voxel 202 is set to 100 which is lower than the reference threshold, and the densities in the voxels 203 and 204 are set to 150 and 200 which are higher than the reference threshold. In the present embodiment, the game system 1 generates vertices between the voxels having a density equal to or higher than the reference threshold and the voxels having a density lower than the reference threshold. Specifically, a determination as to whether to generate vertices is made for each region of eight (four in the drawing) adjacent voxels (the region surrounded by the dotted line in the drawing). That is, vertices are generated in a region of voxels that straddle both the voxels having a density equal to or higher than the reference threshold and the voxels having a density lower than the reference threshold. And when passing between the voxels having a density equal to or higher than the reference threshold and the voxels having a density lower than the reference threshold at the boundary between adjacent vertices (the boundary of each of the above-described regions including vertices), these vertices are connected, thereby generating a polygon mesh. The density of adjacent voxels is compared for each of the X, Y, and Z axes, and the coordinates of the vertices are determined by interpolation based on the density difference. At this time, the coordinate calculation can also be performed based on the normal information, but it may also be that the normal information is pre-held for at least some of the voxels, and in the case where the normal information is not held, the normal information can also be calculated based on the density of adjacent voxels. In addition, in Figure 14 [[ID=⑦]]Since the density of the voxel 202 is lower than the reference threshold, the voxel 202 is regarded as being outside the object in the determination of the presence or absence of vertices, but the density value of the voxel 202 itself is used for the coordinate calculation of the generated vertices. Assuming that the reference threshold is set to a value lower than the density of the voxel 202, as a result, in [[ID=⑧]] Figure 14 [[ID=⑨]]vertices are further increased at the upper right and upper left sides of the voxel 202.
[0161] By generating a polygonal mesh as described above, it is possible to generate a volume shape that reflects to some extent the density of each voxel. However, depending on the relationship with adjacent voxels, there are cases where a voxel with a density of 0 contains a part of the region inside the object, or a voxel with a density of 255 contains a part of the region outside the object. In addition, in the present embodiment, voxels below the reference threshold are treated as outside the object, so compared to the case of treating them as inside the object, the number of vertices decreases, and accordingly the volume also decreases. That is, there is no need to calculate the polygonal mesh in such a way that it becomes a volume strictly corresponding to the density value.
[0162] Figure 15 FIG. is an example of a game image including a terrain object. In the present embodiment, by generating a mesh as described above, it is possible to make the voxel object have a shape with irregularities, for example, more complex than the length of one side of the voxel.
[0163] In addition, the method of generating a mesh based on voxel data is arbitrary. For example, in other embodiments, it is also possible to generate a mesh by arranging a cube for a voxel when the density of the voxel data is greater than a specified value (see Figure 8 ).
[0164] The 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 determined by the above voxel data. Specifically, the game system 1 determines the texture for drawing each face of the mesh based on the above voxel data, and maps the determined texture to each face, thereby generating an image of the voxel object. In addition, the texture mapped to each face of the mesh is determined based on the voxel data of the voxel (referred to as an object voxel) used to generate the face among the voxels where the voxel object exists. In addition, although it also depends on the mesh generation method, the object voxel is, for example, one or more voxels arranged around the face. That is, the texture mapped to the face of the mesh is determined as a texture corresponding to the material set for one or more voxels arranged around the face.
[0165] In addition, in other embodiments, it is also possible to include material data of multiple types (for example, two types) in one voxel data. At this time, the voxel data includes ratio data related to the material data of multiple types. The ratio data is data for determining the texture to be used for the voxel object, and represents the ratio at which each material (specifically, the texture corresponding to the material) shown by the material data of the multiple types affects the appearance (specifically, color and / or pattern) of the voxel object. In addition, when determining the texture to be mapped to each face of the mesh, the texture is determined based on various data (specifically, density data, material data of multiple types, and ratio data) included in the voxel data of the target voxel. For example, when setting multiple types of materials for the target voxel corresponding to one face, it is possible to use the texture corresponding to the material with the greatest influence (one type) considering the above ratio, or to use each texture corresponding to the multiple types of materials considering the above ratio.
[0166] In addition, in other embodiments, there may be both voxel objects that use voxel data containing material data of one type and voxel objects that use voxel data containing material data of two types.
[0167] [2-3. Restoration of Voxel Object]
[0168] Next, the process of restoring the voxel object will be described. In the present embodiment, a specified object among the voxel objects arranged in the game space changes due to the occurrence of a game event (hereinafter referred to as a "change event") that causes the voxel object to change, and then returns to its original state in response to the restoration condition being satisfied. Hereinafter, an object that returns to its original state when it changes will be referred to as a "restorable object". Next, the details of the restoration process for the restorable object will be described.
[0169] Figure 16 is an example of a game image showing a situation where a player character punches a terrain object. In addition, Figure 17 is an example of a game image showing a situation where a part of the terrain object is eliminated due to the punch of the player character. In addition, in the example described here, it is assumed that the terrain object 211 representing a rock wall is a voxel object and is the above-mentioned restorable object. In addition, not all terrain objects in the game space need to be restorable objects that can be restored, and it is also possible that a part of the terrain objects are restorable objects. In addition, it is also possible that an object different from the terrain object is a restorable object.
[0170] In the present embodiment, the player character 212 can perform a punching action according to an operation performed by the player. In addition, the player character 212 can cause the punch to hit the terrain object 211 toFigure 17 As shown, the terrain object 211 is eliminated (it can also be said to be destroyed). In Figure 17 the example shown, the position where the punch of the player character 212 in the terrain object 211 hits and the surrounding parts (that is, Figure 19 the changing part 223 shown) are eliminated.
[0171] As described above, in the present embodiment, the game system 1 responds to the occurrence of a change event for a voxel object (for example, the punch of the player character 212 hits) to change the voxel object (specifically, change the shape of the voxel object). In addition, the change event is not limited to the punch of the player character 212 hitting the voxel object, and can be any game event. For example, the change event can also be that the voxel object is hit by other objects, or an explosion occurs near the voxel object. In addition, the range that changes due to the change event (that is, the part that changes in the voxel object) can be determined in any way. For example, it can also be determined according to the position where the change event occurs and / or the content of the change event.
[0172] Figure 18 is a diagram showing an example of a game image depicting the situation where the eliminated part of the terrain object gradually recovers. As Figure 18 shown, in the present embodiment, when the terrain object 211 is eliminated, the game system 1 gradually restores the terrain object 211 in response to the satisfaction of the restoration condition. Specifically, the game system 1 gradually restores the eliminated part of the terrain object 211 to its original state in a manner of gradually filling the space generated by the elimination of the terrain object 211 (refer to the arrow shown in Figure 18 ). Thereby, the game system 1 can depict the situation where the terrain object 211 gradually recovers to its original shape.
[0173] In addition, in the present embodiment, the above restoration condition is that a predetermined time (for example, 2 seconds) has elapsed since the terrain object 211 was eliminated due to the change event. That is, the game system 1 performs the restoration process at a second timing after the first timing determined based on the first timing when the change event occurs. Accordingly, it is possible to automatically restore the restoration object after the change event occurs (that is, regardless of whether there is an instruction by the player).
[0174] In addition, in the present embodiment, the above second timing is the timing when a predetermined time has elapsed since the occurrence of the change event, but it is not limited thereto. For example, in other embodiments, in the case of a series of multiple change events occurring (for example, in the case of multiple punches performed with a continuous series of actions), the above second timing can also be the timing when a predetermined time has elapsed since the end time of the series of change events.
[0175] In addition, in other embodiments, the restoration conditions are arbitrary and are not limited to the above. For example, the restoration conditions can also be: there is a restoration operation performed by the player. That is to say, the game system 1 can also start the restoration process in response to an operation performed by the player. Accordingly, the player can freely restore the object. Here, "starting the restoration process in response to an operation performed by the player" includes the following two meanings: (a) starting the restoration process in response to the player performing a specified operation on the controller; (b) through the player's operation on the player character, the player character performs an action that satisfies a specific game condition as the restoration condition. As a specific example of the former, for example, it can be cited that the player performs an operation of pressing a specific button on the controller. In addition, as an example of the latter, for example, it can be cited that through the operation performed by the player, the player character stands at a specific place in the game space or the player character uses a specified item.
[0176] Figure 19 It is a diagram showing an example of the movement of the restoration area in the restoration process. Figure 19 Shows for Figure 18 the case where the restoration process is performed on the terrain object 211 shown. Below, refer to Figure 19 to illustrate a specific example of the restoration process in this embodiment.
[0177] As Figure 19 shown, in this embodiment, when the game system 1 performs the restoration process, it sets a restoration area 221 in the game space. The restoration area 221 is an area where the restoration object is restored in the restoration process. That is to say, in the restoration process, the part within the restoration area 221 in the part of the restoration object that has changed is restored to its original state. In addition, in this embodiment, the restoration area 221 is a spherical area. However, the shape of the restoration area is arbitrary, and in other embodiments, it can also be other shapes (for example, a cylinder, a cube).
[0178] Figure 19 (a) of shows the state at the time point when the restoration process starts. When the restoration process starts, the game system 1 sets the size and path 222 of the restoration area 221. In this embodiment, since the restoration area 221 is spherical, the size of the restoration area 221 is defined by the radius of the sphere. In this embodiment, the size of the restoration area 221 is set to be able to include the entire size of the changed part (specifically, the eliminated part) 223 existing in the terrain object 211 that is the restoration object.
[0179] In addition, path 222 is the path along which the restoration area 221 (specifically, the center of the restoration area 221) moves during the restoration process. In the present embodiment, path 222 is defined by a start position Ps and an end position Pe. The start position Ps is the position of the restoration area 221 at the start of the restoration process, and the end position Pe is the position of the restoration area 221 at the end of the restoration process. In addition, in the present embodiment, it is assumed that path 222 is a straight line. Therefore, path 222 is defined only by the start position and the end position. However, in other embodiments, path 222 does not have to be a straight line and can also be a curve or a broken line. For example, in a case where a contact portion in the terrain object 211 is eliminated due to contact between an object moving along an arc track and the terrain object 211, the path can also be set along the arc track. In addition, in a case where the path is a curve or a broken line, the game system 1 sets information for defining the curve or the broken line path in addition to defining the start position and the end position. In addition, the information for defining the path is arbitrary and is not limited to the start position and the end position. For example, in other embodiments, the path can also be defined by the start position and the moving direction and moving distance from the start position, or can be defined by the start position and the direction, moving speed, and moving time from the start position.
[0180] At the start of the restoration process, the game system 1 arranges the restoration area 221 of the set size at the start position Ps (refer to Figure 19 (a)). In addition, in the present embodiment, the position of the restoration area 221 refers to the position of the center of the spherical restoration area 221. In the present embodiment, the start position Ps is set at a position such that the restoration area 221 is arranged near the changing portion (specifically, the eliminated portion) 223 of the terrain object 211 that is the object to be restored, and the restoration area 221 does not overlap with the changing portion 223 (refer to Figure 19 (a)). In addition, details will be described later, but the end position Pe is set at a position such that the restoration area 221 arranged at the end position Pe includes the entire changing portion 223.
[0181] During the restoration process, the game system 1 moves the restoration area 221 from the start position Ps along the path 222 to the end position Pe. Figure 19 (b) shows a state where the restoration area 221 has advanced halfway along the path 222. In this state, the game system 1 restores the object for the portion of the changing portion 223 that overlaps with the restoration area 221 ( Figure 19 (b) the shaded area shown). As a result, a part of the changing portion 223 of the terrain object 211 is restored to the shape before the change.
[0182] In the present embodiment, the determination of the overlap between the changing part 223 and the restoration area 221 is performed based on voxels. That is, the game system 1 restores the object for the voxels in the changing part 223 that overlap with the restoration area 221. In the present embodiment, for the object to be restored, the game system 1 uses the value of the voxel data before the change as the restoration reference value and stores this restoration reference value for each voxel. The game system 1 updates the voxel data of the object voxels that are the objects to be restored so that they are restored to the restoration reference value. In this way, in the present embodiment, the restoration of the object is performed on a voxel-by-voxel basis.
[0183] As described above, in the present embodiment, when a part of the object to be restored (here, the terrain object 211) is eliminated due to a change event, the value of the density in the voxel data of the object to be restored is updated. Therefore, the game system 1 stores the value of the density as the above-mentioned restoration reference value, and in the restoration process, makes the value of the density in the voxel data of the voxels that are the objects to be restored be restored to the restoration reference value.
[0184] In addition, the above-mentioned restoration reference value is, for example, the value when the object to be restored is in the initial state (i.e., the state at the start of the game), but it is not limited to this. For example, when the object to be restored is gradually deformed from the shape at the time of the initial configuration to a specified shape, the restoration reference value can also be the value when it becomes the specified shape.
[0185] In the present embodiment, the game system 1 performs the restoration of the object while moving the restoration area 221 along the path 222 in the restoration process, thereby gradually restoring the object to be restored. In addition, in the present embodiment, since the game system 1 performs the restoration of the object on a voxel-by-voxel basis, as the restoration area 221 moves along the path 222, the object voxels that are the objects to be restored are sequentially specified along this path 222. In the present embodiment, the game system 1 repeatedly executes the movement of the restoration area 221 and the restoration of the object based on the restoration area 221 after the movement at each frame time for generating and displaying the game image.
[0186] As described above, in the present embodiment, the game system 1 sequentially specifies the object voxels that are the objects to be restored along the path set in the game space. Accordingly, the game system 1 can gradually restore the part with changes in the object to be restored in the direction along the set path.
[0187] In addition, in the present embodiment, the game system 1 uses a restoration area to sequentially specify the above object voxels. That is, the game system 1 sets a restoration area in the game space, sets the voxels that overlap with the restoration area among the plurality of voxels related to the restoration object as object voxels, and sequentially specifies the object voxels by moving the restoration area along a path. Accordingly, it is possible to easily specify the object voxels along the path by moving the restoration area.
[0188] In addition, in other embodiments, the game system 1 does not need to set all the voxels that overlap with the restoration area among the plurality of voxels related to the restoration object as object voxels, and may also select object voxels from the voxels that overlap with the restoration area among the plurality of voxels. For example, the game system 1 may also set the voxels in the area of the voxels that overlap with the restoration area by a specified ratio (for example, 50%) or more as object voxels. Thus, similarly to the present embodiment, it is possible to easily specify the object voxels along the path.
[0189] Figure 19 (c) shows a state where the restoration area 221 has reached the end position Pe at the end of the restoration process. In the present embodiment, in a state where the restoration area 221 has reached the end position Pe, the restoration area 221 is configured to cover the entire change portion 223 ( Figure 19 the hatched area shown in (c)). Thus, at the end of the restoration process, it is possible to reliably restore the entire change portion 223.
[0190] In addition, in other embodiments, the game system 1 may be such that the restoration area 221 is not configured to cover the entire change portion 223 at the end of the restoration process. At this time, by setting the path 222 and size of the restoration area 221 so that the area passed by the restoration area 221 during the restoration process covers the entire change portion 223, it is possible to reliably restore the entire change portion 223.
[0191] In the present embodiment, the path 222 is set based on the content of the change event. For example, in a case where the change event is an event based on the punching motion of the player character 212 as described above, the path 222 is set to be in a direction corresponding to the contact direction of the punch at a position corresponding to the contact position of the punch. In addition, the contact position of the punch refers to the position where the punch of the player character 212 contacts the restoration object (that is, the terrain object 211). The contact direction of the punch refers to the moving direction of the punch when the punch contacts the restoration object. For example, in Figures 16 to 19In the example shown, the part within the specified range based on the contact position of the punch in the object to be restored is eliminated, and the end position Pe is set so that the restoration area 221 includes the whole of this part. Therefore, it can be said that the path 222 is set based on this contact position.
[0192] In addition, the start position Ps of the path 222 is set such that the direction of the path 222 (i.e., the direction from the start position Ps to the end position Pe) is a direction corresponding to the contact direction of the punch (for example, a direction consistent with the contact direction). For example, in Figures 16 to 19 the example shown, the contact direction of the punch is the direction from the left front to the right rear as observed from the player character 212. Therefore, the start position Ps is set such that the direction of the path 222 is from the left front to the right rear. Accordingly, the game system 1 can perform restoration in a direction corresponding to the content of the change event (specifically, the direction of the punch). For example, in the above example, by performing restoration in the direction of the punch, even when the entire above-mentioned changed part 223 is actually eliminated by a single punch, it is possible to give the player the impression that the terrain object 211 is being eliminated as if it is in the direction of the punch.
[0193] Furthermore, in Figures 16 to 19 the example shown, it can also be the case that, before the terrain object 211 is restored, the player character 212 repeatedly performs further punching actions while moving forward, whereby the player character 212 digs the terrain object 211 to form a tunnel. At this time, the terrain object 211 is restored in order from the part that was eliminated in the past (it can also be said to be restored along the traveling direction when the player 212 digs the tunnel). Here, the game system 1 performs restoration in a direction corresponding to the direction of the punch, so that the terrain object 211 is restored from a position far from the player character 212 towards a direction closer to the player character 212. Therefore, it is possible to prevent the player character 212 from being buried by the terrain object 211. In addition, when observing the whole of the eliminated part, the terrain object 211 is restored along the traveling direction, and when observing one voxel unit, the terrain object 211 (towards a direction substantially the same as the traveling direction) is restored in a direction corresponding to the direction of the punch. Therefore, it is possible to represent the situation where the terrain object 212 is continuously and gradually restored along the traveling direction of the player character 212.
[0194] As described above, in the present embodiment, the change event is that contact occurs between the object to be destroyed (the player character 212 in the above example) and the object to be restored (the terrain object 211 in the above example) in the virtual space. When a change event occurs, the game system 1 updates the voxel data in such a way that the part of the object to be restored that includes the position where the object to be destroyed makes contact is eliminated. In addition, the game system 1 sets the path 222 of the restoration area 221 to a direction corresponding to the contact direction based on the position where the object to be destroyed and the object to be restored make contact. Accordingly, restoration can be performed in a direction corresponding to the content of the change event (the direction of a punch in the above example) at a position corresponding to the contact position.
[0195] In addition, the game system 1 does not need to accurately detect the contact direction of the punch in order to set the direction of the path 222, and can also set the direction of the path 222 based on the content of the change event so that the direction of the path 222 becomes a direction corresponding to the contact direction of the punch. For example, it may be that when the change event is "a punch of the left hand of the player character 212 hits the terrain object 211", the game system 1 sets the direction from the front left to the back right with the player character 212 as the reference as the direction of the path 222, and when the change event is "a punch of the right hand of the player character 212 hits the terrain object 211", the game system 1 sets the direction from the front right to the back left with the player character 212 as the reference as the direction of the path 222.
[0196] In addition, in other embodiments, the path of the restoration area may be set based on the object to be restored. For example, the game system 1 may preset the path for each object to be restored.
[0197] In addition, in the present embodiment, it is set to move the restoration area 221 along the path 222, but in other embodiments, the game system 1 may also change the size of the restoration area 221 instead of or in addition to moving the restoration area 221 along the path. For example, when the change event is an explosion that occurs near the object to be restored (specifically, the terrain object 211) and a part of the object to be restored within a specified range centered on the explosion position is eliminated, the game system 1 may also configure the restoration area at the explosion position and gradually expand the restoration area. Accordingly, it is possible to represent the situation where the object to be restored is restored in order from a position close to the explosion position to a position far from the explosion position.
[0198] As described above, in the present embodiment, the game system 1 sequentially designates, based on a designated rule, object voxels that are to be restored from among a plurality of voxels related to the restoration object, and performs restoration on the designated voxels. As a result, the restoration object can be gradually restored according to a prescribed rule. Here, in the present embodiment, the above-mentioned designated rule is a rule that "sets the voxels overlapping with the moving restoration area as object voxels". Here, in other embodiments, the content of the designated rule is arbitrary. For example, in other embodiments, the designated rule may also be a rule that "(regardless of the content of the change event) sequentially designates object voxels in the direction from the inside to the outside of the restoration object". Accordingly, it is possible to represent the situation where the restoration object is gradually restored from the inside. Additionally, for example, the designated rule may also be a rule that "randomly selects object voxels from the voxels of the above-mentioned change part".
[0199] In the present embodiment, the game system 1 performs restoration by updating the voxel data of the object voxels in such a way that the density of the voxel data of the object voxels becomes the restoration reference value at once. Here, in other embodiments, the game system 1 may also be such that the current (i.e., after change) density value of the voxel data of the object voxels is restored to the restoration reference value by being updated multiple times. For example, the game system 1 may also be such that, while setting an upper limit on the amount of change in one update, the density value of the voxel data of the object voxels is updated in such a way as to approach the restoration reference value. In addition, at this time, it may also be that, after the voxel of the voxel data leaves the restoration area, the update of the voxel data is repeated until the density becomes the restoration reference value (at this time, it can also be said that the restoration area expands to include the restoration area before movement and the restoration area after movement).
[0200] In addition, in Figures 16 to 19 the example shown, the case where a part of the restoration object is eliminated due to a change event is described. That is, when a change event occurs to the restoration object, the game system 1 updates the voxel data in such a way that the range occupied by the restoration object in the game space decreases (i.e., at least a part of the restoration object is eliminated). Moreover, the restoration process is a process of increasing the range occupied by the restoration object in the game space. Here, the game system 1 may also update the voxel data in such a way that the range occupied by the restoration object in the game space increases (i.e., the volume of the restoration object increases). At this time, the restoration process is a process of decreasing the range occupied by the restoration object in the game space.
[0201] Next, the restoration process in the case where multiple change events occur continuously will be described. In the present embodiment, there may sometimes be a situation where, after a certain change event occurs, another change event occurs before the restoration process corresponding to that change event is completed. In addition, the "restoration process corresponding to a change event" refers to a restoration process for restoring the part of the restoration target object that has changed due to that change event. In order to cope with such a situation, in the present embodiment, the game system 1 uses a plurality of restoration area data to perform a plurality of restoration processes. Below, the details of the restoration process using the restoration area data will be described.
[0202] Figure 20 is a diagram showing an example of a game image including a terrain object in which a change event occurs. In Figure 20 the example shown, it is assumed that due to the first change event, the first changed part 231 in the terrain object 211 is eliminated, and due to the second change event, the second changed part 232 in the terrain object 211 is eliminated.
[0203] In the present embodiment, the game system 1 performs a restoration process for each change event that occurs. Here, in the present embodiment, the game system 1 sets restoration area data for defining the restoration area used in the restoration process for each restoration process. In Figure 20 the example shown, it is assumed that the first restoration area data for the first restoration process corresponding to the first change event and the second restoration area data for the second restoration process corresponding to the second change event are set. In addition, the game system 1 sets a cache for each restoration area data and stores the restoration area data in each cache, thereby managing each restoration area of each restoration process. In Figure 20 the example shown, the first restoration area data related to the first restoration area 233 for the first restoration process and the second restoration area data related to the second restoration area 234 for the second restoration process are set.
[0204] In the present embodiment, the restoration area data includes data on the path for defining the restoration area and the current state of the restoration area (specifically, the current position and size). For example, the restoration area data may also include data representing the position, moving direction, size, and time elapsed since the start of the restoration process of the restoration area. In the present embodiment, the game system 1 determines the path of the restoration area and the current state of the restoration area based on this data.
[0205] In addition, the restoration area data may include any data that can determine the path of the restoration area and the current state of the restoration area. For example, when the size of the restoration area changes during the restoration process, the restoration area data may also include data that can determine the size of the restoration area at each time point during the restoration process.
[0206] In the present embodiment, when multiple restoration processes are executed at a certain point in time, the game system 1 independently executes each restoration process based on the above-described restoration area data set for each restoration process. Accordingly, during the execution of both the first restoration process and the second restoration process, the game system 1 restores voxels that overlap at least one of the restoration areas defined by the first restoration area data and the restoration area defined by the second restoration area data as target voxels.
[0207] For example, when a second change event occurs after a first change event occurs in a part corresponding to a certain voxel in the terrain object 211 (specifically, Figure 20 the overlapping part of the first change part 231 and the second change part 232 in
[0208] (Example 1) The following situation: for this voxel, a second change event occurs within the range including this voxel before restoration by the first restoration process corresponding to the first change event
[0209] (Example 2) The following situation: for this voxel, a second change event occurs within the range including this voxel after restoration by the first restoration process corresponding to the first change event
[0210] In the above Example 1, the game system 1 independently executes the first restoration process regardless of the occurrence of the second change event. Therefore, for this voxel, after the second change event occurs, restoration is performed by the first restoration process without waiting for the second restoration process. That is, for this voxel, regardless of the occurrence of the second change event, restoration is performed at a timing after a predetermined time has elapsed since the occurrence of the first change event.
[0211] On the other hand, in the above Example 2, the game system 1 eliminates again the restored part of this voxel according to the second change event. At this time, for this voxel, restoration is performed again by the second restoration process corresponding to the second change event.
[0212] As described above, in the present embodiment, the game system 1 independently executes the restoration process corresponding to the change event. Thus, in the case of Example 1 above, restoration can be performed without waiting for the second restoration process. In addition, in the case of Example 2 above, it is also possible to cope with the situation where the object being restored is eliminated again. Further, in the game system 1, even when multiple restoration processes are executed in parallel due to the consecutive occurrence of multiple change events, the concern about the complication of the restoration process can be alleviated by independently executing each restoration process.
[0213] As described above, in the present embodiment, when the first restoration condition is satisfied for the part of the object to be restored in which the first change event has occurred, the game system 1 sequentially designates object voxels based on the first restoration area data, which is used to define the path in the first restoration process corresponding to the first change event. In addition, when the second restoration condition is satisfied for the part of the object to be restored in which the second change event different from the first change event has occurred, the game system 1 sequentially designates object voxels based on the second restoration area data, which is used to define the path in the second restoration process corresponding to the second change event. At this time, during the period when the period of executing the first restoration process overlaps with the period of executing the second restoration process, the game system 1 restores the voxels designated based on at least any one of the first restoration area data and the second restoration area data as object voxels. Accordingly, even when multiple restoration processes are executed in parallel due to the consecutive occurrence of multiple change events, the concern about the complication of the restoration process can be alleviated.
[0214] In the above, the case where one restoration area data is set for one change event has been described as an example, but multiple restoration area data may be set for one change event. That is, the game system 1 may also execute multiple restoration processes for one change event using multiple restoration areas. For example, the game system 1 may set multiple restoration areas that move in different directions for one change event, and execute the restoration process for each restoration area based on the restoration area data set for each restoration area. In the case where multiple restoration area data are set in this way, similar to the case where multiple restoration area data are set according to multiple change events, the game system 1 independently executes the restoration process based on each restoration area data. Thus, the same effect as the above-described embodiment can be achieved.
[0215] Next, refer to Figures 21 to 24 to describe another example of restoring the object to be restored. As Figures 21 to 24 shown, the game system 1 is not limited to applying the restoration process to the object to be restored in the scene where a part of the terrain object is eliminated by the punching action performed by the player character, and can apply the restoration process to the object to be restored in various scenes in the game.
[0216] (Example of ground collapse)
[0217] Figure 21 is a diagram showing an example of a game image depicting the situation where the player character moves on the pedal object. In Figure 21 the example shown, the pedal object 241 is a type of terrain object and is assumed to be the object to be restored.
[0218] In Figure 21In the example shown, the change event for eliminating the pedal object 241 is that the player character 212 is configured on the pedal object 241 (i.e., the player character 212 comes into contact with the pedal object 241). When the above change event occurs, the game system 1 eliminates a specified range portion of the pedal object 241 that includes the position where the player character 212 makes contact. In addition, the pedal object 241 has a specified thickness, and when a part of the pedal object 241 is eliminated due to the change event, it is assumed that the elimination extends to the bottom of the pedal object 241. Therefore, when the pedal object 241 is eliminated, the player character 212 cannot stay at the location after the pedal object 241 is eliminated and will fall downward. Thus, in order to prevent the player character 212 from falling off the pedal object 241, the player performs a game operation to continuously move the player character 212 on the pedal object 241. In addition, in the present embodiment, in order to prevent the player character 212 from falling while in contact with the pedal object 241, it is set that the elimination of the pedal object 241 corresponding to the change event starts after a certain period of time has elapsed since the occurrence of the change event.
[0219] In Figure 21 the example shown, the restoration condition of the pedal object 241 is the same as that in the above Figures 16 to 19 example, which is that a specified time (e.g., 2 seconds) has elapsed since the pedal object 241 was eliminated due to the change event. When the restoration condition is satisfied, the game system 1 restores the pedal object through the above restoration process.
[0220] In addition, in Figure 21 the example shown, each time the player character 212 comes into contact with the pedal object 241 due to movement, a change event occurs. Therefore, each time the player character 212 comes into contact with the pedal object 241 due to movement, a restoration area is set, and the restoration process is executed for each restoration area. In addition, in Figure 21 the example shown, the time from when the pedal object 241 is eliminated until the eliminated part is restored is constant regardless of the eliminated part. Therefore, the eliminated parts of the pedal object 241 are restored in order from the past eliminated parts.
[0221] As described above, in Figure 21In the example shown, the change event is that the player object (in the above example, the player character 212) is configured on the restoration object in the game space. When a change event occurs, the game system 1 updates the voxel data in such a way that the portion of the restoration object containing the position where the player object is configured is eliminated. Then, the game system 1 performs the restoration process at a second time after the first time when the change event occurs. Accordingly, it is possible to realize in the game that the player object must move on the restoration object (in the above example, the pedal object 241) in order to avoid falling down, thereby improving the fun of the game. In addition, since the restoration object is restored, the following inconvenience can be prevented: as a result of the player object continuing to move, there is no longer a place to move to.
[0222] (Example of restoring the movement of an object)
[0223] The restoration object is not limited to the terrain object, and may also be an object that moves and / or rotates in the game space. In this case, the voxel object used as the restoration object may also be the sub-voxel object described below.
[0224] In this embodiment, the shapes of voxel objects other than the terrain object are defined by voxel data associated with voxels other than the terrain object. Hereinafter, the voxel space associated with the terrain object will be referred to as the "master voxel space," the voxels within this master voxel space will be referred to as "master voxels," and the voxel data assigned to these master voxels will be referred to as "master voxel data." Meanwhile, the voxel space associated with these other voxel objects will be referred to as the "sub-voxel space," the voxels within this sub-voxel space will be referred to as "sub-voxel voxels," and the voxel data assigned to these sub-voxels will be referred to as "sub-voxel data." In this embodiment, the shape of the terrain object is defined by the master voxel data, while the shapes of the other voxel objects are defined by the sub-voxel data. In this embodiment, a voxel object whose shape is defined by the master voxel data is referred to as the "master voxel object," and a voxel object whose shape is defined by the sub-voxel data is referred to as the "sub-voxel object."
[0225] Figure 22 is a diagram showing an example of a main voxel object and a sub-voxel object. Figure 22 In order to show the difference between the main voxel and the auxiliary voxel in an easy-to-understand manner, the following is shown: Figure 8 The voxel objects (i.e., terrain object 251 and rock object 252) are generated by the same rules as the case of the mesh of the terrain object shown. Figure 22The voxel object shown was meshed according to the following rule: "When the density set for a voxel is greater than a specified value, a cube is placed at the position of that voxel; when it is equal to or less than the specified value, nothing is placed at the position of that voxel." Further, in Figure 22 for the purpose of making the drawings easier to view, the terrain object 251 is shown by a dotted line, the rock object 252 is shown by a solid line, and the area 253 of the sub-voxel space is shown by a dashed line.
[0226] For the terrain object 251, its shape is defined by the main voxel data. Further, in this embodiment, it is assumed that a main voxel space is set for the entire game space (therefore, the range of the main voxel space is not shown in Figure 22 ).
[0227] On the other hand, for the rock object 252, its shape is defined by the sub-voxel data. Here, in this embodiment, the sub-voxel space is set in a part of the game space (which can also be said to be a part of the main voxel space). Further, in Figure 22 the example shown, the area 253 shown by the dashed line is the range where the sub-voxel space is set. The shape of the rock object 252 is defined by the sub-voxel data set for each sub-voxel within the sub-voxel space. The rock object 252 is placed within the range of the sub-voxel space.
[0228] The length of one side of a sub-voxel can be set to be different from the length of one side of a main voxel, or can be set to be the same. Further, for example Figure 22 as shown, by setting a sub-voxel space in which voxels with a side length shorter than that of the main voxel are defined as sub-voxels, the shape of the sub-voxel object based on the sub-voxel data can be represented more finely than the terrain object based on the main voxel data.
[0229] In addition, in this embodiment, the game system 1 independently sets the direction of the coordinate axes in the sub-voxel space (i.e., the direction of each side of the sub-voxel) independent of the direction of the coordinate axes in the main voxel space (i.e., the direction of each side of the main voxel). For example, in Figure 22 the example shown, the direction of the coordinate axes in the sub-voxel space becomes a direction different from the direction of the coordinate axes in the main voxel space. Accordingly, it is easy to place the sub-voxel object in a free direction in the game space. For example, it is easy to place the sub-voxel object to extend in a direction different from the coordinate axes in the main voxel space. In addition, it is easy to move (e.g., rotate) the sub-voxel object independently of the terrain object.
[0230] In addition, the game system 1 can change the position of the sub-voxel object (more precisely, the position in the game space) by changing the position of the sub-voxel space in the game space. Further, the game system 1 can change the inclination of the sub-voxel object (more precisely, the inclination in the game space) by changing the inclination of the sub-voxel space with respect to the game space.
[0231] In the present embodiment, when generating a plurality of sub-voxel objects, the game system 1 sets a sub-voxel space for each sub-voxel object. Thereby, it is possible to set the position and inclination of each sub-voxel space in the game space for each sub-voxel space. Further, it is easy to generate a plurality of sub-voxel objects having different shapes (for example, a plurality of sub-voxel objects having shapes extending in different directions). In addition, the sub-voxel spaces may be arranged such that a part of one sub-voxel space overlaps with a part of another sub-voxel space. Further, in other embodiments, a plurality of sub-voxel objects may be set in one sub-voxel space.
[0232] In addition, the method for generating the mesh of the sub-voxel object based on the sub-voxel data may be the same as or different from the method for generating the mesh of the terrain object based on the main-voxel data.
[0233] When the above-described sub-voxel object is set as the restoration object, the restoration object can move and / or rotate within the game space. For the restoration object that moves and / or rotates within the game space, the restoration process is performed as follows.
[0234] Figure 23 FIG. is an example showing a case where the restoration object is restored while moving. In Figure 23 the example shown, it is assumed that the restoration object 263 moves between the terrain object 261 and the terrain object 262. Figure 23 (a) of shows a state in which a part of the restoration object 263 has been eliminated due to a change event, Figure 23 (b) of shows a state in which the restoration object 263 is being restored.
[0235] In Figure 23 , the game system 1 moves the sub-voxel space 264 related to the restoration object 263 within the game space, thereby moving the restoration object 263 within the game space. At this time, the positional relationship between the sub-voxel space and the restoration object 263 (which may be said to be the position of the restoration object 263 with respect to the sub-voxel space) remains unchanged.
[0236] When the restoration object 263 is as Figure $23When (a) is eliminated in this way, the game system 1 performs a restoration process on the restoration object 263 in response to satisfying a restoration condition (for example, a prescribed time has elapsed since the elimination). In addition, in the example shown in Figure 23 , after the restoration object 263 is eliminated, it continues to move. Therefore, at the time of elimination and restoration, the position of the restoration object 263 is different. Here, as described above, in the present embodiment, the restoration object 263 is moved by moving the sub-voxel space 264. Therefore, the positional relationship between the sub-voxel space and the restoration object 263 remains unchanged. That is to say, by moving the sub-voxel space 264, it can be said that each voxel related to the restoration object 263 moves in a manner corresponding to the position of the moved restoration object 263, and it can be said that the voxel data related to the restoration object 263 corresponds to the position of the moved restoration object 263. Therefore, in the restoration process, the game system 1 can perform restoration by updating the voxel data of the voxels corresponding to the eliminated part in the same way as when the restoration object 263 does not move.
[0237] As described above, in the present embodiment, the game system 1 moves the restoration object in the game space by moving the voxel space (the sub-voxel space 264 in the example of Figure 23 ) in which the voxels related to the restoration object are set in the game space. In addition, the game system 1 may also rotate the voxel space and the restoration object in addition to (or instead of) moving. Moreover, when the restoration object has moved and / or rotated after a change event, the game system 1 uses the voxel data related to the moved and / or rotated voxel space to perform the restoration process. Accordingly, even when the restoration object moves and / or rotates, the restoration object can be restored by the same process as when it does not move and / or rotate, so the processing burden on the game system 1 can be reduced.
[0238] (Example where the restoration object is separated)
[0239] The restoration object may also have a property that a part of it can be separated due to a change event. Here, the separation of an object means the following situation: when a part of one object is eliminated, an object representing the eliminated part is generated. That is to say, when a certain object is separated, these two objects, that is, the object and the separated object (hereinafter referred to as the "separated object"), are arranged in the game space. In addition, the separated object and the original object that has been separated do not need to be regarded as one object, and they can also be regarded as different objects respectively. In the present embodiment, the above-described separation can also be performed on the restoration object. Next, the restoration process when the restoration object is separated will be described.
[0240] Figure 24 This is an example of a diagram showing a situation where a part of the object to be restored is separated. In Figure 24 the example shown, it is assumed that the player character 212 can perform a separation action on the restoration object 271. That is, when the player character 212 performs a separation action on the restoration object 271, a part of the restoration object 271 is eliminated, and a separation object 272 representing the eliminated part is generated (refer to Figure 24 (a)).
[0241] In addition, in the above example, the player character 212 becomes a state where it can hold and move the separation object 272. For example, the restoration object 271 may also have specific properties (for example, the property of exploding, the property of emitting light to illuminate the surroundings). At this time, the separation object 272 is set to have the same properties as the restoration object 271. Therefore, by obtaining the separation object 272 from the restoration object 271, the player character 212 can utilize the properties of the immovable restoration object 271 at a location far from the restoration object 271. For example, the player character 212 can obtain the separation object 272 from the restoration object 271 with the property of exploding and throw it at an enemy character (not shown), or obtain the separation object 272 from the restoration object 271 with the property of illuminating the surroundings to illuminate the inside of the cave. In addition, the separation object 272 may also be eliminated under a certain condition (for example, in response to the elapse of a specified time).
[0242] In Figure 24 the example shown, when a part of the restoration object 271 is eliminated due to the separation of the restoration object 271, the game system 1 performs a restoration process on the restoration object 271 in response to satisfying the restoration condition (for example, the elapse of a specified time from the elimination) (refer to Figure 24 (b)). This restoration process is performed in the same way as the restoration process in the example shown in Figures 16 to 19 . In addition, the restoration object 271 can be either the above-mentioned main voxel object or the sub-voxel object.
[0243] For example, consider the following example: Utilizing the properties of the restoration object 271 is a condition for the progress of the game. As an example of this, consider the following case: The restoration object 271 has the property of exploding, and the game can progress by using the separation object 272 to defeat the enemy character. In the above example, if it is assumed that the restoration object 271 cannot be restored, there is a possibility that when the restoration object 271 finally disappears due to repeatedly obtaining the separation object 272 from the restoration object 271, the player cannot progress the game. Regarding this point, in the present embodiment, by restoring the restoration object 271, the possibility of the above-mentioned inconveniences in the game can be reduced.
[0244] On the other hand, for the separation object 272 generated by separating the restoration object 271, the game system 1 does not perform a restoration process (refer to Figure 24 (b)). Accordingly, it is possible to prevent inconveniences such as the separated object increasing while being held by the player character 212. In addition, by not performing unnecessary restoration processes, the processing burden on the game system 1 can be reduced. Furthermore, as described above, since no restoration process is performed on the separation object, the separation object can be either a voxel object or not a voxel object.
[0245] As described above, in the present embodiment, when a change event occurs for the restoration object, a part of the restoration object is eliminated, and a separation object corresponding to the reduced part is generated. Moreover, when the restoration condition is satisfied for the restoration object, the game system 1 performs a restoration process on the restoration object and does not perform a restoration process on the separation object. Accordingly, the possibility of inconveniences in the game can be reduced, and the processing burden on the game system 1 can be reduced.
[0246] [3. Specific Examples of Processing in the Game System]
[0247] Next, a specific example of the information processing in the game system 1 will be described with reference to Figures 25 to 27 .
[0248] Figure 25 is a diagram showing an example of various data used in the information processing in the game system. As Figure 25 shown, the game system 1 stores a game program, voxel space data, voxel object data, reference data, restoration area data, and grid data.
[0249] The game program, voxel space data, and reference data are data that are pre-stored in the game system 1 before executing the game process. These data are stored, for example, in a storage medium installed in the slot 23 of the main device 2. In addition, in addition to storing Figure 25In addition to the data shown, data such as the above-described property information, texture information, and data related to various characters appearing in the game, which are pre-stored in the game system 1 before executing the game process, are also stored. In addition, the voxel object data, restoration area data, and mesh data are data generated during the execution of the game process. These data are stored, for example, in the DRAM 85 of the main device 2.
[0250] The game program is a game program for executing the game process in the present embodiment (specifically, Figure 26 the game process shown).
[0251] The above voxel space data is stored for each voxel space. In addition, when a voxel space is set for each voxel object (for example, when a sub-voxel space is set for each sub-voxel object), it can also be said that the voxel space data and the restoration area data are stored for each voxel object (that is, the main voxel object or the sub-voxel object). In addition, the voxel object data, reference data, and mesh data are stored for each voxel object.
[0252] The voxel space data is data that defines the voxel space set in the game space. Specifically, the voxel space data represents the length of one side of the voxel and the direction of each side of the voxel in the game space. In addition, when the voxel space is set only in a part of the game space (for example, when the voxel space is a sub-voxel space), the voxel space data may also include data representing the position and size of the voxel space (that is, data representing the range of the set voxels in the game space).
[0253] The voxel object data is data representing the voxel object (here, the restoration object) arranged in the game space. Specifically, the voxel object data includes the voxel data of each voxel in the voxel space related to the voxel object.
[0254] The reference data represents the above-described restoration reference value. In the present embodiment, the reference data represents the restoration reference value of each voxel among a plurality of voxels related to the restoration object. In the present embodiment, since the restoration reference value is set for each voxel, it is possible to easily restore the restoration object in units of voxels. In addition, the reference data may include only the data of the density of each voxel, or may include the same content as the voxel data (that is, may also include data other than the density).
[0255] The restoration area data represents various information related to the above-described restoration area. In the present embodiment, the restoration area data includes data for defining the path of the restoration area and the current state of the restoration area (specifically, the current position and size).
[0256] Mesh data is data representing a mesh (e.g., the mesh of a restoration object) set for voxel objects arranged in the game space. The mesh data contains, for example, data representing the positions of the respective vertices in the mesh.
[0257] Figure 26 FIG. is a flowchart showing an example of the flow of game processing executed by the game system 1. Figure 26 The game processing shown, for example, starts in response to an instruction from the player to start the game during the execution of the above game program.
[0258] In addition, in the present embodiment, it is assumed that the processor 81 of the main device 2 executes Figure 26 the processing of each step shown. However, in other embodiments, a part of the processing of each step shown may be executed by another processor (e.g., a dedicated circuit, etc.) other than the processor 81. In addition, when the game system 1 can communicate with other information processing devices (e.g., a server), a part of the processing of each step shown may also be executed in the other information processing device. Figure 26 In addition, Figure 26 the processing of each step shown is merely a simple example, and as long as the same result can be obtained, the order of the processing of each step may be changed, and other processing may also be executed in addition to (or instead of) the processing of each step.
[0259] In addition, the processor 81 uses a memory (e.g., DRAM 85) to execute Figure 26 the processing of each step shown. That is, the processor 81 stores the information (in other words, data) obtained through each processing step in the memory, and when using this information in subsequent processing steps, reads out this information from the memory and uses this information.
[0260] In Figure 26 step S1 shown, the processor 81 sets a main voxel space in the game space. Specifically, the processor 81 acquires the above voxel space data and stores (in other words, writes) it in the DRAM 85. In addition, in subsequent game processing, when the processor 81 executes processing related to voxel objects (e.g., the processing in step S2, etc.), it sometimes refers to the voxel space data. In this case, the processor 81 refers to the voxel space data stored in the DRAM 85. After step S1, the processing of step S2 is executed.
[0261] In step S2, the processor 81 sets the voxel object in the initial state in the game space. Specifically, the processor 81 acquires voxel data representing the configuration of the voxel object in the initial state, and stores (in other words, writes) part or all of the acquired voxel data as voxel object data into (i.e., writes to) the DRAM 85. In addition, the voxel data representing the configuration of the voxel object in the initial state is stored, for example, in a storage medium in the slot 23 of the main device 2. After step S2, the process of step S3 is executed.
[0262] In addition, the voxel data written into the DRAM 85 as voxel object data can be voxel data of a partial range for generating a game image among the main voxel data in the entire range of the game space. For example, the processor 81 can also generate an image of the voxel object using voxel data only for a partial range (e.g., a range within a specified distance from the position of the virtual camera) in the game space. At this time, the voxel object data can also include the voxel data within this range. Additionally, in the case of writing voxel data related to a partial range in the game space, the same process as step S2 described above is executed at an appropriate timing (e.g., when the position of the virtual camera has moved more than a specified distance) during the execution of a series of processes in steps S3 to S12 described later.
[0263] In step S3, the processor 81 controls the actions of various objects (e.g., the player character and the moving voxel object as shown in Figure 23 ) that appear in the game space. For example, the processor 81 controls the action of the player object based on the operation data received from each of the controllers 3 or 4, or controls the action of the voxel object based on an algorithm determined in the game program. After step S3, the process of step S4 is executed.
[0264] In step S4, the processor 81 determines whether a change event has occurred for the voxel object corresponding to the process of step S3 above. For example, the processor 81 determines whether a change event has occurred as a result of causing the above-mentioned player character and voxel object to perform actions. If the determination result in step S4 is affirmative, the process of step S5 is executed. On the other hand, if the determination result in step S4 is negative, the process of step S5 is skipped and the process of step S6 is executed.
[0265] In step S5, the processor 81 causes the voxel object in which the change event has occurred to change accordingly to the change event. In the present embodiment, the processor 81 changes the density indicated by the voxel data for at least a part of the voxels related to the voxel object in which the change event has occurred. As a result, the voxel object in which the change event has occurred is deformed. In addition, the processor 81 updates the voxel object data stored in the DRAM 85 to represent the changed density. After step S5, the process of step S6 is executed.
[0266] In step S6, the processor 81 determines whether a restoration condition is satisfied for the change event determined to have occurred in step S4. If the determination result in step S6 is affirmative, the process of step S7 is executed. On the other hand, if the determination result in step S6 is negative, the process of step S7 is skipped and the process of step S8 is executed.
[0267] In step S7, the processor 81 sets the restoration flag set for the change event that has satisfied the restoration condition to on. Here, in the present embodiment, the game device 2 stores, in the DRAM 85, the flag data of the restoration flag for the change event that has occurred, and the restoration flag indicates whether to execute the restoration process corresponding to the change event. The restoration flag is set for each change event. At the time when the change event has occurred for the voxel object, the flag data indicates that the flag is off. In step S7, the processor 81 updates the above-mentioned flag data related to the voxel object that has satisfied the restoration condition to represent on. After step S7, the process of step S8 is executed.
[0268] In step S8, the processor 81 determines whether to execute the restoration process for the object to be restored. Specifically, the processor 81 determines whether there is a restoration flag set to on. If the determination result in step S8 is affirmative, the process of step S9 is executed. On the other hand, if the determination result in step S8 is negative, the process of step S9 is skipped and the process of step S10 is executed.
[0269] In step S9, the processor 81 executes a restoration process for restoring the object to be restored for which the restoration flag is set to on (that is, the object to be restored corresponding to the change event for which the restoration flag is set to on). Next, with reference to Figure 27 the detailed process of the restoration process will be described.
[0270] Figure 27 shows Figure 26A sub - flowchart showing an example of the detailed process of the restoration process in step S9. In the restoration process, first, in step S21, the processor 81 determines whether the restoration process in the current step S9 is the first process. Here, in this embodiment, when the restoration condition is met, the process of step S9 is repeatedly executed during multiple frames (that is, during the processing loop of repeatedly executing steps S3 - S12 multiple times) to perform the restoration process corresponding to the restoration condition. The determination process in step S21 is to determine whether the current process of step S9 is the first process among the processes repeatedly executed during multiple frames, and it is a process to determine whether it is the time point to start the restoration process for a certain restoration object. If the determination result in step S21 is affirmative, the process of step S22 is executed. On the other hand, if the determination result in step S21 is negative, the process of step S23 is executed.
[0271] In step S22, the processor 81 sets the restoration area data related to the restoration area used in the restoration process. The content (specifically, the path and size) shown in the restoration area data is set according to the method described in the above "[2 - 3. Restoration of voxel objects]". The processor 81 stores in the DRAM 85 the restoration area data representing the path and size of the restoration area and the current state (that is, the state at the start of the restoration process). After step S22, the process of step S24 described later is executed.
[0272] In step S23, the processor 81 moves the restoration area along the path. That is, the processor 81 moves the restoration area along the set path by a distance corresponding to the time of one frame. At this time, the processor 81 updates the restoration area data stored in the DRAM 85 to represent the moved position. By repeatedly executing the process of step S23 to move the restoration area, the object voxels that are the objects to be restored are sequentially specified along the path. After step S23, the process of step S24 is executed.
[0273] In step S24, the processor 81 performs the restoration of the restoration object for the object voxels that overlap with the restoration area among the voxels related to the restoration object. Specifically, the processor 81 refers to the reference data stored in the DRAM 85 to determine the restoration reference value related to the object voxels. Moreover, the processor 81 updates the voxel object data stored in the DRAM 85 so that the density value in the voxel data of the object voxels becomes the above - mentioned restoration reference value. After step S24, the process of step S25 is executed.
[0274] In step S25, the processor 81 determines whether to end the restoration process. Specifically, the processor 81 determines whether the restoration area has moved to the end position. If the determination result in step S25 is affirmative, the process of step S26 is executed. On the other hand, if the determination result in step S25 is negative, the processor 81 ends the restoration process.
[0275] In step S26, the processor 81 sets the restoration flag related to the determined-ended restoration process to off. That is, the processor 81 updates the flag data related to this restoration flag to the content indicating off. After step S26, the processor 81 ends the restoration process.
[0276] In addition, the above-described restoration process is executed for each restoration condition that has met the conditions. That is, when multiple restoration flags are on, the processor 81 respectively executes the respective restoration conditions corresponding to the multiple restoration flags. At this time, as described above, multiple restoration processes are executed independently.
[0277] Returning to Figure 26 the description, after the restoration process in step S9, the process of step S10 is executed. In step S10, the processor 81 generates a mesh for the voxel object. The mesh related to the voxel object is generated according to the method described in the above "[2-2. Mesh]". In addition, in step S10, for the mesh generated in the previous process of step S10, the processor 81 does not need to generate it again, and can also generate a mesh again for the voxel data updated in step S5. Thereby, the mesh of the voxel object can be dynamically changed in the game. In addition, the processor 81 updates the mesh data stored in the DRAM 85 to the content indicating the newly generated mesh. After step S10, the process of step S11 is executed.
[0278] In step S11, the processor 81 generates a game image representing the game space and causes the display device to display the game image. Specifically, the processor 81 generates a game image representing the game space including the voxel object and other objects. In addition, using the voxel object data and mesh data stored in the DRAM 85, the image of the voxel object is generated according to the method described in the above "[2-2. Mesh]". The processor 81 causes the display device to display the generated game image. In addition, in the game, the process of step S11 is repeatedly executed at a rate of once every predetermined time (for example, the time of 1 frame). After step S11, the process of step S12 is executed.
[0279] In step S12, the processor 81 determines whether to end the game. For example, the processor 81 determines whether an instruction for ending the game has been given by the user. If the determination result in step S12 is negative, the process of step S3 is executed again. Thereafter, a series of processes of steps S3 to S12 are repeatedly executed until it is determined in step S12 that the game is ended. On the other hand, if the determination result in step S12 is positive, the processor 81 ends Figure 26 the game process shown.
[0280] [4. Effects and Modifications of the Present Embodiment]
[0281] As described above, in the above embodiment, the information processing system (the game system 1 in the above embodiment) stores voxel data and reference data. The voxel data corresponds to a plurality of voxels related to a restoration object in a virtual space (the game space in the above embodiment), and the reference data is a reference for the restoration object, representing a reference value (the restoration reference value in the above embodiment) of a parameter (the density in the above embodiment) included in the voxel data. The information processing system has the following units.
[0282] · A voxel update unit that updates voxel data related to the restoration object when a change event occurs for the restoration object (step S5)
[0283] · A voxel restoration unit that, when the restoration condition is satisfied for the restoration object for which a change event has occurred, performs the following restoration process: gradually changing the restoration object by gradually restoring the value of the parameter included in the updated voxel data to the reference value included in the reference data (step S9)
[0284] · A mesh generation unit that generates a mesh of the restoration object based on the voxel data (step S10)
[0285] · An image generation unit that generates an image of the virtual space including an image of the mesh of the restoration object drawn and outputs it to the display device (step S11)
[0286] According to the above, it is possible to gradually restore an object to which a change has been applied due to a change event through the restoration process.
[0287] In addition, the meaning of "gradually restoring the value of the parameter included in the voxel data to the reference value included in the reference data" as described above includes the following cases: (a) As in the above-described embodiment, by sequentially performing the process of restoring the value of the parameter included in a plurality of voxel data to the reference value for each voxel, the value of each parameter in the plurality of voxel data is restored to the reference value; and (b) By repeatedly performing the process of making the value of the parameter included in the voxel data approach the reference value multiple times, the value of the parameter is restored to the reference value.
[0288] In addition, in the above-described embodiment, the case where the object to be restored is a voxel object is used as an example for explanation. However, in other embodiments, the object to be restored may not be a voxel object. In the case where an object that is not a voxel object is set as the object to be restored, the game system 1 may perform the restoration process by restoring the object within the range of the restoration area instead of restoring the voxels that overlap with the restoration area. Additionally, in the above case, the game system 1 may store the shape that serves as the reference for the object to be restored instead of storing the reference value for each voxel.
[0289] In the above-described embodiment, the parameter corresponding to the reference value shown in the above reference data is density. Moreover, when a change event occurs to the object to be restored, the game system 1 updates the voxel data in such a way that the parameter representing density changes. When the restoration condition is satisfied, the game system 1 gradually changes the voxel data by gradually restoring the value of the parameter representing density included in the voxel data to the reference value included in the reference data. Accordingly, the shape of the object to be restored that has been deformed due to the occurrence of the change event can be restored to its original state through the restoration process.
[0290] Here, in other embodiments, the parameter corresponding to the above reference value is not limited to density and can be any parameter representing the state of the object to be restored. For example, the above reference value may also be the reference value related to the material set for the voxel among the parameters included in the voxel data (e.g., the above material ID). In this case, when a change event occurs to the object to be restored, the game system 1 updates the voxel data in such a way that the parameter representing the material (e.g., the above material ID) changes. Moreover, when the restoration condition is satisfied, the game system 1 gradually changes the voxel data by gradually restoring the value of the parameter representing the material included in the voxel data to the reference value included in the reference data. Accordingly, the material of the object to be restored whose material has changed (e.g., the properties and / or appearance of the object to be restored have changed) due to the occurrence of the change event can be restored to its original state through the restoration process. Based on the above, for example, the following situation can be expressed: In response to a change event in which an object to be restored with the material of lava comes into contact with an object of ice, the lava changes to the material of solidified rock and then returns to the material of lava.
[0291] In addition, in other embodiments, the game system 1 can also change both the density and the material of the restoration object according to a change event, and can also restore the parameters of both the density and the material to the reference values during the restoration process.
[0292] In addition, in other embodiments, the parameters corresponding to the above reference values can also represent the state of the restoration object. For example, the above parameters can also be parameters representing the amount of damage applied to the restoration object. And, at this time, the game system 1 can also change the appearance (e.g., texture) of the restoration object according to the above parameters. Accordingly, the game system 1 can change the appearance of the restoration object according to the occurrence of a change event, and restore the appearance of the restoration object to its original state in response to satisfying the restoration conditions.
[0293] In addition, in other embodiments, the information processing system may not have a part of the structure in the above embodiments, and may not execute a part of the processing executed in the above embodiments. For example, in order to achieve a part of the specific effects in the above embodiments, the information processing system only needs to have a structure for achieving the effect and execute the processing for achieving the effect, and may not have other structures and may not execute other processing.
[0294] The above embodiments are for the purpose of gradually restoring the object to which the change has been applied, etc., and can be used as, for example, a game system or a game program.
Claims
1. A computer program product comprising an information processing program executed in a computer of an information processing device, wherein, the information processing device stores voxel data and reference data, the voxel data being data on a plurality of voxels related to a restoration object in a virtual space, and the reference data being a reference for the restoration object, representing a reference value of a parameter included in the voxel data; the information processing program causes the computer to function as the following units: a voxel update unit that updates the voxel data related to the restoration object when a change event occurs for the restoration object; a voxel restoration unit that, when a restoration condition is satisfied for the restoration object for which the change event has occurred, performs the following restoration process: gradually changing the restoration object by gradually restoring the value of the parameter included in the updated plurality of voxel data to the reference value included in the reference data; a mesh generation unit that generates a mesh of the restoration object based on the voxel data; and an image generation unit that generates an image of the virtual space including the mesh of the restoration object drawn therein and outputs the image to a display device.
2. The computer program product according to claim 1, wherein, the voxel restoration unit determines that the restoration condition is satisfied and performs the restoration process at a second timing after the first timing determined based on the first timing when the change event has occurred.
3. The computer program product according to claim 2, wherein, the change event is that a player object is disposed on the restoration object in the virtual space, when the change event occurs, the voxel update unit updates the voxel data in such a manner that a part of the restoration object including the position where the player object is disposed is eliminated.
4. The computer program product according to claim 1, wherein, the voxel restoration unit determines that the restoration condition is satisfied and performs the restoration process based on an operation performed by a player.
5. The computer program product according to any one of claims 1 to 4, wherein, the reference data represents the reference value of each voxel among the plurality of voxels related to the restoration object.
6. The computer program product according to any one of claims 1 to 5, wherein, the voxel restoration unit sequentially designates object voxels to be restored from among the plurality of voxels related to the restoration object based on a designated rule, and performs restoration on the designated voxels.
7. The computer program product according to claim 6, wherein, the voxel restoration unit sequentially designates the object voxels along a restoration path set in the virtual space.
8. The computer program product according to claim 7, wherein, the change event is that a destruction object comes into contact with the restoration object in the virtual space In the case where the change event has occurred, the voxel update unit updates the voxel data in such a way that a part of the restoration object including the position contacted by the destruction object is eliminated. The voxel restoration unit sets the restoration path to a direction corresponding to the contact direction based on the position where the destruction object contacts the restoration object.
9. The computer program product according to claim 7 or 8, wherein In the case where the first restoration condition is satisfied for a part of the restoration object where the first change event, which is the change event, has occurred, the voxel restoration unit sequentially designates the object voxels based on the first restoration area data, where the first restoration area data is used to define the restoration path in the first restoration process, which is the restoration process corresponding to the first change event. In the case where the second restoration condition is satisfied for a part of the restoration object where the second change event, which is different from the first change event and is the change event, has occurred, the voxel restoration unit sequentially designates the object voxels based on the second restoration area data, where the second restoration area data is used to define the restoration path in the second restoration process, which is the restoration process corresponding to the second change event. During the period when the period of executing the first restoration process overlaps with the period of executing the second restoration process, the voxel restoration unit restores the voxels designated based on at least any one of the first restoration area data and the second restoration area data as the object voxels.
10. The computer program product according to any one of claims 7 to 9, wherein The voxel restoration unit sets a restoration area in the virtual space, designates the object voxels from the voxels overlapping with the restoration area among the plurality of voxels related to the restoration object, and sequentially designates the object voxels by moving the restoration area along the restoration path.
11. The computer program product according to claim 6, wherein The voxel restoration unit sequentially designates the object voxels in a direction from the inside to the outside of the restoration object.
12. The computer program product according to any one of claims 1 to 11, wherein The reference data represents a reference value of a parameter among the parameters included in the voxel data, which represents the density used for generating the mesh. In the case where the change event has occurred for the restoration object, the voxel update unit updates the voxel data in such a way that the parameter representing the density changes. In the case where the restoration condition is satisfied for the restoration object where the change event has occurred, the voxel restoration unit performs the following restoration process: gradually changing the restoration object by gradually restoring the value of the parameter representing the density included in the updated voxel data to the reference value included in the reference data.
13. The computer program product according to any one of claims 1 to 12, wherein The reference data represents a reference value for the material set for the voxel with respect to the parameters included in the voxel data. When the change event occurs to the object to be restored, the voxel update unit updates the voxel data in such a way that the parameter representing the material changes. When the object to be restored that has experienced the change event satisfies the restoration condition, the voxel restoration unit performs the following restoration process: By gradually restoring the value of the parameter representing the material included in the updated voxel data to the reference value included in the reference data, the object to be restored is gradually changed.
14. The computer program product according to any one of claims 1 to 13, wherein When the change event occurs to the object to be restored, the voxel update unit updates the voxel data related to the object to be restored in such a way that the range occupied by the object to be restored in the virtual space is reduced.
15. The computer program product according to claim 14, wherein When the change event occurs to the object to be restored, the range occupied by the object to be restored in the virtual space is reduced, and a separated object corresponding to the reduced part is generated. When the restoration condition is satisfied for the object to be restored, the voxel restoration unit performs the restoration process for the object to be restored and does not perform the restoration process for the separated object.
16. The computer program product according to any one of claims 1 to 13, wherein When the change event occurs to the object to be restored, the voxel update unit updates the voxel data related to the object to be restored in such a way that the range occupied by the object to be restored in the virtual space is increased.
17. The computer program product according to any one of claims 1 to 16, wherein The information processing program causes the computer to also function as an object control unit. The object control unit moves and / or rotates the voxel space in which the voxel related to the object to be restored is set in the virtual space, so as to move and / or rotate the object to be restored in the virtual space. When the object to be restored has moved and / or rotated after the change event, the voxel restoration unit uses the voxel data related to the voxel space after the movement and / or rotation to perform the restoration process.
18. An information processing apparatus, comprising: A storage unit that stores voxel data and reference data. The voxel data is data about a plurality of voxels related to an object to be restored in a virtual space, and the reference data is a reference for the object to be restored, representing the reference value of the parameters included in the voxel data. A voxel update unit that, when a change event occurs to the object to be restored, updates the voxel data related to the object to be restored. A voxel restoration unit, when the restoration object that has undergone the change event meets the restoration condition, the voxel restoration unit performs the following restoration process: gradually change the restoration object by gradually restoring the value of the parameter included in the updated multiple voxel data to the reference value included in the reference data; A mesh generation unit that generates a mesh of the restoration object based on the voxel data; and An image generation unit that generates an image of the virtual space including the image of the mesh of the restoration object drawn thereon for output to a display device.
19. An information processing system, comprising: A storage unit that stores voxel data and reference data, where the voxel data is data about a plurality of voxels related to a restoration object in a virtual space, and the reference data is a reference for the restoration object, representing the reference value of the parameter included in the voxel data; A voxel update unit, when a change event occurs for the restoration object, the voxel update unit updates the voxel data related to the restoration object; A voxel restoration unit, when the restoration object that has undergone the change event meets the restoration condition, the voxel restoration unit performs the following restoration process: gradually change the restoration object by gradually restoring the value of the parameter included in the updated multiple voxel data to the reference value included in the reference data; A mesh generation unit that generates a mesh of the restoration object based on the voxel data; and An image generation unit that generates an image of the virtual space including the image of the mesh of the restoration object drawn thereon for output to a display device.
20. An information processing method, executed by an information processing system, wherein, The information processing system stores voxel data and reference data, where the voxel data is data about a plurality of voxels related to a restoration object in a virtual space, and the reference data is a reference for the restoration object, representing the reference value of the parameter included in the voxel data, The information processing method includes: A voxel update step, when a change event occurs for the restoration object, update the voxel data related to the restoration object; A voxel restoration step, when the restoration object that has undergone the change event meets the restoration condition, perform the following restoration process: gradually change the restoration object by gradually restoring the value of the parameter included in the updated multiple voxel data to the reference value included in the reference data; A mesh generation step, generate a mesh of the restoration object based on the voxel data; and An image generation step, generate an image of the virtual space including the image of the mesh of the restoration object drawn thereon for output to a display device.