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

The information processing program addresses the challenge of restoring changed objects in a virtual space by updating voxel data and generating meshes to display gradual restoration, enhancing user experience and reducing system load.

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

Patent Information

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

AI Technical Summary

Technical Problem

Existing technologies lack an efficient method to gradually restore objects in a virtual space after changes have been made to them.

Method used

An information processing program that updates voxel data based on change events, restores objects by returning parameter values to reference values, and generates meshes and images to display the restoration process.

Benefits of technology

Enables gradual restoration of objects in response to change events, reducing processing load and preventing inconvenience by automatically restoring objects after a delay or player interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113073000001_ABST
    Figure 2025113073000001_ABST
Patent Text Reader

Abstract

To gradually restore an altered object.SOLUTION: An information processing system is configured to: store voxel data related to a plurality of voxels related to a restoration object and reference data serving as a standard about the restoration object and indicative of reference values of parameters included in the voxel data; when a change event occurs for the restoration object, update the voxel data related to the restoration object; when restoration conditions are met for a restoration object where the change event has occurred, execute restoration processing for gradually altering the restoration object by returning parameter values included in the plurality of updated voxel data to the reference values included in the reference data; and generate a mesh of the restoration object on the basis of the voxel data.SELECTED DRAWING: Figure 19
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing program, an information processing system, an information processing apparatus, and an information processing method for restoring an object to which a change has been made in a virtual space.

Background Art

[0002] Conventionally, for example, generating a mesh of an object using voxel data has been performed (see, for example, Non-Patent Document 1). Further, changes such as deforming are made to such an object.

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] There has been room for improvement in gradually restoring an object to which a change has been made to its state before the change.

[0005] Therefore, an object of the present invention relates to an information processing program, 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 made.

Means for Solving the Problems

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

[0007] (1) An example of the present invention is an information processing program executed in a computer of an information processing apparatus. The information processing apparatus stores voxel data regarding a plurality of voxels related to a restoration object in a virtual space and reference data serving as a reference for the restoration object, the reference data indicating reference values of parameters included in the voxel data. The information processing program causes the computer to function as a voxel update means, a voxel restoration means, a mesh generation means, and an image generation means. The voxel update means updates the voxel data regarding the restoration object when a change event occurs for the restoration object. The voxel restoration means, when a restoration condition is satisfied for the restoration object in which a change event has occurred, executes a restoration process of gradually changing the restoration object by returning the values of the parameters included in the updated plurality of voxel data to the reference values included in the reference data. The mesh generation means generates a mesh of the restoration object based on the voxel data. The image generation means generates an image of the virtual space including an image depicting the mesh of the restoration object for output to a display device.

[0008] According to the configuration of (1) above, an object changed by a change event can be gradually restored by a restoration process.

[0009] (2) The voxel restoration means may execute the restoration process by determining that the restoration condition is satisfied at a second timing after the first timing determined based on the occurrence timing of the change event and executing the restoration process.

[0010] According to the configuration of (2) above, the restoration object can be automatically restored after the occurrence of the change event.

[0011] (3) The change event may be that a player object is placed on the restoration object in the virtual space. When the change event occurs, the voxel update means may update the voxel data so that the portion including the position where the player object is placed among the restoration objects is erased.

[0012] According to the configuration of (3) above, after the object under the player object is erased, the object is restored, so it is possible to prevent the inconvenience that the object disappears when the player continues to move and there is no place to proceed.

[0013] (4) The voxel restoration means may execute a restoration process by determining that the restoration condition is satisfied in response to an operation by the player.

[0014] According to the configuration of (4) above, the object can be restored in response to the operation of the player.

[0015] (5) The reference data may indicate reference values for each of a plurality of voxels related to the restoration object.

[0016] According to the configuration of (5) above, it is possible to easily perform restoration in units of voxels for the restoration object.

[0017] (6) The voxel restoration means may sequentially specify target voxels to be restored among a plurality of voxels related to the restoration object based on a specified rule, and perform restoration on the specified voxels.

[0018] According to the configuration of (6) above, it is possible to gradually restore the restoration object according to a certain law.

[0019] (7) The voxel restoration means may sequentially specify target voxels along a restoration path set in the virtual space.

[0020] According to the configuration of (7) above, the restoration object can be gradually restored in the direction along the set path.

[0021] (8) The change event may be that the destruction object contacts the restoration object in the virtual space. When the change event occurs, the voxel update means may update the voxel data so that the part including the position where the destruction object contacts among the restoration objects is erased. The voxel restoration means may set a restoration path so as to be in the direction corresponding to the contact direction based on the position where the destruction object contacts the restoration object.

[0022] According to the configuration of (8) above, restoration can be performed in the direction corresponding to the content of the change event (in the above example, the direction of the punch) at the position corresponding to the contact position.

[0023] (9) When the first restoration condition is satisfied for the part of the restoration object where the first change event occurs as the change event, the voxel restoration means may sequentially specify target voxels based on the first restoration area data that defines the restoration path in the first restoration process, which is the restoration process corresponding to the first change event. When the second restoration condition is satisfied for the part of the restoration object where the second change event different from the first change event occurs as the change event, the voxel restoration means may sequentially specify target voxels based on the second restoration area data that defines the restoration path in the second restoration process, which is the restoration process corresponding to the second change event. In the period when the period in which the first restoration process is executed overlaps with the period in which the second restoration process is executed, the voxel restoration means may perform restoration using the voxels specified based on at least one of the first restoration area data and the second restoration area data as the target voxels.

[0024] According to the configuration of (9) above, even when a plurality of restoration processes are executed in parallel due to the continuous occurrence of a plurality of change events, the possibility of the restoration process becoming complicated can be reduced.

[0025] (10) The voxel restoration means may set a restoration area in the virtual space, specify a target voxel from the voxels overlapping the restoration area among the plurality of voxels related to the restoration object, and sequentially specify the target voxels by moving the restoration area along the restoration path.

[0026] According to the configuration of (10) above, it is possible to easily specify the target voxels along the path.

[0027] (11) The voxel restoration means may sequentially specify the target voxels in the direction from the inside to the outside of the restoration object.

[0028] According to the configuration of (11) above, it is possible to express the state in which the restoration object is gradually restored from the inside.

[0029] (12) The reference data may indicate a reference value for a parameter indicating the density used for generating the mesh among the parameters included in the voxel data. When a change event occurs for the restoration object, the voxel update means may update the voxel data so as to change the parameter indicating the density. When the restoration condition is satisfied for the restoration object in which the change event has occurred, the voxel restoration means may execute a restoration process of gradually changing the restoration object by returning the value of the parameter indicating the density included in the updated voxel data to the reference value included in the reference data.

[0030] According to the configuration of (12) above, it is possible to easily restore the shape of the restoration object deformed by the occurrence of the change event to its original state.

[0031] (13) The reference data may indicate a reference value for the material set for the voxel among the parameters included in the voxel data. When a change event occurs for the restoration object, the voxel update means may update the voxel data so as to change the parameter indicating the material. When the restoration condition is satisfied for the restoration object in which the change event has occurred, the voxel restoration means may execute a restoration process of gradually changing the restoration object by returning the value of the parameter indicating the material included in the updated voxel data to the reference value included in the reference data.

[0032] According to the configuration of (13) above, it is possible to easily restore the material of the restoration object whose material has changed due to the occurrence of a change event.

[0033] (14) When a change event occurs for the restoration object, the voxel update means may update the voxel data regarding the restoration object so that the range occupied by the restoration object in the virtual space decreases.

[0034] According to the configuration of (14) above, it is possible to restore the restoration object whose volume has decreased due to a change event to its original state by a restoration process.

[0035] (15) When a change event occurs for the restoration object, the range occupied by the restoration object in the virtual space may be decreased, and a separation object corresponding to the decreased portion may be generated. When the restoration condition is satisfied for the restoration object, the voxel restoration means may execute a restoration process for the restoration object and not execute a restoration process for the separation object.

[0036] According to the configuration of the above (15), for the restoration object, it is possible to reduce the possibility of inconvenience in the game by executing the restoration process, and for the separation object, it is possible to reduce the processing load of the information processing system by not executing the restoration process.

[0037] (16) When a change event occurs for the restoration object, the voxel update means may update the voxel data regarding the restoration object so that the range occupied by the restoration object in the virtual space increases.

[0038] According to the configuration of the above (16), it is possible to restore the restoration object whose volume has increased due to the change event to its original state by the restoration process.

[0039] (17) The information processing program may further cause a computer to function as object control means. The object control means moves and / or rotates the restoration object in the virtual space by moving and / or rotating the voxel space in which the voxels regarding the restoration object are set. When the restoration object moves and / or rotates after the change event, the voxel restoration means may execute the restoration process using the voxel data regarding the voxel space after the movement and / or rotation.

[0040] According to the configuration of the above (17), even when the restoration object moves and / or rotates, it is possible to reduce the processing load of the information processing system.

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

Effect of the Invention

[0042] According to the above information processing program, information processing apparatus, information processing system, and information processing method, an object to which a change has been applied can be gradually restored.

Brief Description of the Drawings

[0043]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

[0044] [1. Configuration of Game System] Hereinafter, 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 body device (information processing device; which functions as the game device main body in the present embodiment) 2, a left controller 3, and a right controller 4. The main body device 2 is detachable from the left controller 3 and the right controller 4 respectively. 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 body device 2 and integrated. Also, the game system 1 can also be used with the main body device 2, the left controller 3, and the right controller 4 as separate entities (see FIG. 2). Hereinafter, the hardware configuration 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.

[0045] FIG. 1 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are attached to the main body device 2. As shown in FIG. 1, the left controller 3 and the right controller 4 are respectively attached to the main body device 2 and integrated. The main body device 2 is a device that executes various processes (for example, game processing) in the game system 1. The main body device 2 includes a display 12. The left controller 3 and the right controller 4 are devices that include an operation unit for the user to input.

[0046] FIG. 2 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are respectively removed from the main body device 2. As shown in FIGS. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main body device 2. In the following, the left controller 3 and the right controller 4 may be collectively referred to as the "controller".

[0047] FIG. 3 is a six-sided view showing an example of the main body device 2. As shown in FIG. 3, the main body 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 surface, that is, the surface on which the display 12 is provided) is roughly rectangular.

[0048] Incidentally, the shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Further, the main body device 2 alone or the integrated device in which the left controller 3 and the right controller 4 are attached to the main body device 2 may be a portable device. Further, the main body device 2 or the integrated device may be a hand-held device. Further, the main body device 2 or the integrated device may be a transportable device.

[0049] As shown in FIG. 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display device (LCD). However, the display 12 may be any type of display device.

[0050] Further, the main body device 2 includes a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is of a type capable of multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, for example, a type capable of single-touch input (for example, a resistive film type).

[0051] The main body device 2 includes a speaker (that is, the speaker 88 shown in FIG. 6) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed in the main surface of the housing 11. Then, the output sound of the speaker 88 is output from these speaker holes 11a and 11b, respectively.

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

[0053] As shown in FIG. 3, the main body device 2 includes a slot 23. The slot 23 is provided on the upper surface of the housing 11. The slot 23 has a shape capable of mounting a storage medium of a predetermined type. The storage medium of the predetermined type is, for example, a storage medium dedicated to the game system 1 and information processing devices of the same type (e.g., a dedicated memory card). The storage medium of the predetermined type is used, for example, to store data (e.g., save data of an application, etc.) used in the main body device 2 and / or a program (e.g., a program of an application, etc.) executed by the main body device 2. Further, the main body device 2 includes a power button 28.

[0054] The main body device 2 includes a lower terminal 27. The lower terminal 27 is a terminal for the main body device 2 to communicate with the cradle. In the present embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the integrated device or the main body device 2 alone is placed on the cradle, the game system 1 can display an image generated and output by the main body device 2 on a stationary monitor. Further, in the present embodiment, the cradle has a function of charging the placed integrated device or the main body device 2 alone. Also, the cradle has a function of a hub device (specifically, a USB hub).

[0055] FIG. 4 is a six-sided view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes 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 y-axis direction shown in FIGS. 1 and 4). The left controller 3 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 31 has a shape and size that can be gripped with one hand, particularly the left hand, when gripped in a vertically long orientation. Also, the left controller 3 can be gripped in a horizontally long orientation. When the left controller 3 is gripped in a horizontally long orientation, it may be gripped with both hands.

[0056] The left controller 3 is provided with an analog stick 32. As shown in FIG. 4, 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 a direction. The user can input a direction corresponding to the tilting direction (and an input of a magnitude corresponding to the tilted angle) by tilting the analog stick 32. Note that the left controller 3 may be provided with a cross key, a slide stick capable of slide input, or the like as a direction input unit instead of the analog stick. Also, in the present embodiment, it is possible to input by pressing the analog stick 32.

[0057] The left controller 3 is provided with various operation buttons. The left controller 3 is provided with 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. Further, the left controller 3 is provided with a recording button 37 and a -(minus) button 47. The left controller 3 is provided with a first L button 38 and a ZL button 39 at the upper left of the side surface of the housing 31. Also, the left controller 3 is provided with a second L button 43 and a second R button 44 on the surface of the side surface of the housing 31 that is attached when the left controller 3 is attached to the main body device 2. These operation buttons are used to give instructions according to various programs (for example, an OS program or an application program) executed by the main body device 2.

[0058] Also, the left controller 3 is provided with a terminal 42 for the left controller 3 to perform wired communication with the main body device 2.

[0059] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes 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 held in a vertically long orientation when removed from the main body device 2. The housing 51 has a shape and size that can be held with one hand, particularly the right hand, when held in a vertically long orientation. Also, the right controller 4 can be held in a horizontally long orientation. When the right controller 4 is held in a horizontally long orientation, it may be held with both hands.

[0060] The right controller 4 includes an analog stick 52 as a direction input unit, similar to the left controller 3. In the present embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Also, instead of the analog stick, the right controller 4 may be provided with a cross key or a slide stick capable of slide input. Also, the right controller 4 includes 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, similar to the left controller 3. Further, the right controller 4 includes a + (plus) button 57 and a home button 58. Also, the right controller 4 includes a first R button 60 and a ZR button 61 at the upper right of the side surface of the housing 51. Also, the right controller 4 includes a second L button 65 and a second R button 66, similar to the left controller 3.

[0061] Also, the right controller 4 includes a terminal 64 for the right controller 4 to perform wired communication with the main body device 2.

[0062] FIG. 6 is a block diagram showing an example of the internal configuration of the main body device 2. The main body device 2 includes each of the components 81 to 91, 97, and 98 shown in FIG. 6 in addition to the configuration shown in FIG. 3. Some of these components 81 to 91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.

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

[0064] As an example of an internal storage medium built in the main body device 2, the main body 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 mainly a memory used to store various data (which may be a program) stored in the main body device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.

[0065] The main body 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 to and from a predetermined type of storage medium (for example, a dedicated memory card) mounted on the slot 23 according to an instruction from the processor 81.

[0066] The processor 81 appropriately reads and writes data between the flash memory 84 and the DRAM 85 and the above-mentioned respective storage media to execute the above-mentioned information processes.

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

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

[0069] The processor 81 is connected to the above-described left terminal 17, right terminal 21, and lower terminal 27. When the processor 81 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Also, when the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Further, when the processor 81 communicates with the cradle, it transmits data to the cradle via the lower terminal 27. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively. Also, when the left controller 3 and the right controller 4 are attached to the main body device 2 as an integrated device or when the main body device 2 alone is attached to the cradle, the main body device 2 can output data (e.g., image data or audio data) to a stationary monitor or the like via the cradle.

[0070] Here, the main body device 2 can communicate with a plurality of left controllers 3 simultaneously (in other words, in parallel). Also, the main body device 2 can communicate with a plurality of right controllers 4 simultaneously (in other words, in parallel). Therefore, a plurality of users can simultaneously input to the main body device 2 using respective sets of the left controller 3 and the right controller 4. As an example, while a first user inputs to the main body device 2 using a first set of the left controller 3 and the right controller 4, it is possible for a second user to input to the main body device 2 using a second set of the left controller 3 and the right controller 4.

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

[0072] The main body device 2 includes a codec circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speakers 88 and the audio input / output terminal 25, and is also connected to the processor 81. The codec circuit 87 is a circuit that controls the input / output of audio data to / from the speakers 88 and the audio input / output terminal 25.

[0073] The main body device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the processor 81. Although not shown, the power control unit 97 is also connected to each part of the main body device 2 (specifically, each part that receives power supply from the battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above parts based on a command from the processor 81.

[0074] Also, the battery 98 is connected to the lower terminal 27. When an external charging device (for example, a cradle) is connected to the lower terminal 27 and power is supplied to the main body device 2 via the lower terminal 27, the supplied power is used to charge the battery 98.

[0075] Figure 7 is a block diagram showing an example of the internal configuration of the main body device 2, the left controller 3, and the right controller 4. Details of the internal configuration of the main body device 2 are shown in Figure 6, so they are omitted in Figure 7.

[0076] The left controller 3 includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 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 body device 2 by both wired communication via the terminal 42 and wireless communication without using the terminal 42. The communication control unit 101 controls the communication method that the left controller 3 performs with respect to the main body device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. Also, when the left controller 3 is removed from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83). The wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with, for example, the Bluetooth (registered trademark) standard.

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

[0078] The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, 44, and 47). The left controller 3 also includes an analog stick (described as "stick" in FIG. 7) 32. Each button 103 and the analog stick 32 output information regarding the operation performed on themselves to the communication control unit 101 repeatedly at an appropriate timing.

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

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

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

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

[0083] The right controller 4 includes each input unit similar to each input unit of the left controller 3. Specifically, it includes each button 113 and the analog stick 52. Each of these input units has the same function as each input unit of the left controller 3 and operates in the same manner.

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

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

[0086] [2-1. Voxel] In the present embodiment, for some objects in the game space, the shape is defined by voxel data. Here, a voxel is a rectangular parallelepiped (more specifically, a cube)-shaped region arranged in a grid pattern in the game space, and voxel data is data set for each voxel. Hereinafter, an object whose shape is defined by voxel data will be 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 a plurality of voxels set in the game space.

[0087] FIG. 8 is a diagram showing an example of a terrain object that is a voxel object. As shown in FIG. 8, in the present embodiment, a terrain object representing a terrain such as the ground is defined in shape by voxel data (that is, it is a voxel object). Each cube shown in FIG. 8 represents a terrain object. In FIG. 8, the portions that are the sides of the terrain object are shown in thick lines, but this thick line is added for the purpose of making the drawing easier to view, and in reality, the sides of the terrain object do not need to be shown thickly.

[0088] Also, the terrain object shown in FIG. 8 is generated, for example, according to the rule that "if the parameter included in the voxel data set for a voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and if it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". The terrain object shown in FIG. 8 is shown for the purpose of easily exemplifying the relationship between a voxel and a voxel object. In the present embodiment, actually, for example, like the terrain object shown in FIG. 15 described later, a voxel object is generated based on voxel data according to a rule that results in a more complex shape compared to the length of one side of a voxel. Note that the rule for determining the shape of a voxel object based on voxel data is arbitrary. In other embodiments, the game system 1 may generate a voxel object like the one shown in FIG. 8 or a voxel object like the one shown in FIG. 15 based on object data.

[0089] Regarding the voxel object, the shape can be changed by changing the voxel data of each voxel. FIGS. 9 and 10 are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 8 is deleted. That is, when the hatched portion in the terrain object shown in FIG. 9 is destroyed, the terrain object changes to the shape shown in FIG. 10. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data described later so as to indicate that there is no terrain object for the voxels in the hatched portion. Note that when the game system 1 adds a terrain object, it can easily change the shape of the terrain object by changing the voxel data of each voxel in the same manner as when erasing the terrain object.

[0090] 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 shape of a terrain object changes as a result of being destroyed for some reason (e.g., a player character strikes the terrain object) in the game, the game system 1 does not directly change the data (i.e., the mesh described later) indicating the outer shape of the terrain object, but can freely change the shape of the terrain object by changing the voxel data used to generate the terrain object.

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

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

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

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

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

[0096] As shown in FIG. 11, in the present embodiment, the material data indicates the identification information of the material (referred to as "material ID"). Also, in the present embodiment, the game system 1 stores material information indicating the properties and textures of the materials prepared in the game for each material. In the present embodiment, the material information associates the material ID, the properties of the material, and the appearance of the material (specifically, the texture). Specifically, the material information is information that associates the material ID, 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") (see FIG. 11).

[0097] FIG. 12 is a diagram showing an example of property information indicating the properties of a material. As shown in FIG. 12, the game system 1 stores property information associating the above property ID with information indicating the content of the property indicated by the property ID. The property of a material is a property that the voxel object to which the material is set has in the game, and is, for example, information such as the weight and slipperiness shown in FIG. 12. Note that the specific content of the property is arbitrary, and for example, the following information may be set as the property of the material. · Temperature · Fragility (for example, the number of times the voxel object breaks until it breaks when an impact is applied to the voxel object) · Whether another object adheres to the voxel object · The amount of recovery of the player character's physical strength when the player character destroys the voxel object · The amount of in-game currency that the player character obtains when the player character destroys the voxel object Note that the specific content of the property set for the material is arbitrary. In other embodiments, information different from the above may be set as the information indicating the property of the material.

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

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

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

[0101] As described above, in this embodiment, the game system 1 manages the properties and textures of the materials separately. Therefore, in this embodiment, it is possible to easily set multiple types of materials with the same property but different appearances (i.e., textures), and multiple types of materials with different properties but the same appearance.

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

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

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

[0105] [2-2. Mesh] In the present embodiment, the surface of the voxel object is represented by a mesh. A mesh is a collection of a plurality of surfaces (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 of each voxel set in the game space. Hereinafter, an example of generating a mesh based on the voxel data will be described.

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

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

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

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

[0110] Note that the method of generating a mesh based on voxel data is arbitrary. For example, in other embodiments, when the density of the voxel data is greater than a predetermined value, the mesh may be generated such that a cube is arranged at the voxel (see FIG. 8).

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

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

[0113] In another embodiment, there may be both a voxel object using voxel data including one type of material data and a voxel object using voxel data including two types of material data.

[0114] [2-3. Restoration of Voxel Object] Next, the process of restoring the voxel object will be described. In the present embodiment, among the voxel objects arranged in the game space, a predetermined object changes when a game event (hereinafter referred to as a "change event") that changes the voxel object occurs, and then is restored to its original state in response to the restoration condition being satisfied. Hereinafter, an object that is restored to its original state when it changes is referred to as a "restorable object". Hereinafter, the details of the restoration process for the restorable object will be described.

[0115] FIG. 16 is a diagram showing an example of a game image representing a state where a player character punches a terrain object. FIG. 17 is a diagram showing an example of a game image representing a state where a part of the terrain object is erased by the punch of the player character. 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. Note that not all terrain objects in the game space need to be restorable objects, and a part of the terrain objects may be restorable objects. Also, an object different from the terrain object may be a restorable object.

[0116] In this embodiment, the player character 212 can perform a punch action in response to an operation by the player. Also, the player character 212 can erase (which can also be said to be destroy) the terrain object 211 as shown in FIG. 17 by hitting the punch against the terrain object 211. In the example shown in FIG. 17, among the terrain object 211, the position where the punch of the player character 212 hits and the surrounding portion (that is, the changed portion 223 shown in FIG. 19) are erased.

[0117] As described above, in this embodiment, the game system 1 changes the voxel object (specifically, changes the shape of the voxel object) in response to the occurrence of a change event for the voxel object (for example, the punch of the player character 212 hitting). Note that 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 may be that another object hits the voxel object, or an explosion occurs near the voxel object. Also, the range changed by the change event (that is, the portion of the voxel object that is changed) may be determined in any way, and may be determined according to the position where the change event occurs and / or the content of the change event, for example.

[0118] FIG. 18 is a diagram showing an example of a game image representing the state where the erased portion of the terrain object is gradually restored. As shown in FIG. 18, in this embodiment, when the terrain object 211 is erased, the game system 1 gradually restores the terrain object 211 in response to the restoration condition being satisfied. Specifically, the game system 1 gradually returns the erased portion of the terrain object 211 so as to gradually fill the space generated by the erasure of the terrain object 211 (see the arrow shown in FIG. 18). Thereby, the game system 1 can express the state where the terrain object 211 is gradually restored to its original shape.

[0119] In this embodiment, the above restoration condition is that a predetermined time (for example, 2 seconds) has elapsed since the terrain object 211 was erased in response to a change event. That is, the game system 1 executes the restoration process at a second timing after the first timing determined based on the first timing when the change event occurred. According to this, it is possible to automatically restore the restoration object after the occurrence of the change event (that is, regardless of whether there is an instruction from the player).

[0120] In this 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 to this. For example, in other embodiments, when a plurality of consecutive change events occur (for example, when a plurality of punches are performed in a series of consecutive operations), the above second timing may be the timing when a predetermined time has elapsed since the end of the series of change events.

[0121] In other embodiments, the restoration condition is arbitrary and is not limited to the above. For example, the restoration condition may be that there has been a restoration operation by the player. That is, the game system 1 may start the restoration process in response to an operation by the player. According to this, the player can freely restore the object. Here, "starting the restoration process in response to an operation by the player" means both (a) starting the restoration process in response to a player performing a predetermined operation on the controller and (b) the player character performing an operation that satisfies a specific game condition that is the restoration condition by an operation on the player character by the player. Specific examples of the former include, for example, a player pressing a specific button on the controller. Examples of the latter include, for example, the player character standing at a specific location in the game space or the player character using a predetermined item as a result of an operation by the player.

[0122] FIG. 19 is a diagram showing an example of the movement of the restoration area during the restoration process. FIG. 19 shows how the restoration area moves when the restoration process is executed for the terrain object 211 shown in FIG. 18. Hereinafter, with reference to FIG. 19, a specific example of the restoration process in the present embodiment will be described.

[0123] As shown in FIG. 19, in the present embodiment, when the game system 1 executes the restoration process, it sets a restoration area 221 in the game space. The restoration area 221 is an area where the restored object is restored in the restoration process. That is, in the restoration process, the part of the changed restored object within the restoration area 221 is restored to its original state. In the present embodiment, the restoration area 221 is a spherical area. However, the shape of the restoration area is arbitrary, and in other embodiments, it may be other shapes (for example, a cylinder or a cube).

[0124] (a) of FIG. 19 shows the state at the time when the restoration process is started. At the start of the restoration process, the game system 1 sets the size of the restoration area 221 and the path 222. Since the restoration area 221 is spherical in the present embodiment, the size of the restoration area 221 is defined by the radius of the sphere. In the present embodiment, the size of the restoration area 221 is set to a size that can include the entire changed part (specifically, the deleted part) 223 of the terrain object 211, which is the restored object, that has changed.

[0125] Further, 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 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 may be a curve or a broken line. For example, when an object moving along an arc orbit contacts the terrain object 211 and the contacted portion of the terrain object 211 is erased, a path may be set along the arc orbit. Further, when the path is a curve or a broken line, the game system 1 sets information for defining the curve or broken line path in addition to the start position and the end position. Note that 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 may be defined by the start position, the moving direction and the moving distance from the start position, or the path may be defined by the start position, the direction from the start position, the moving speed, and the moving time.

[0126] 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 (see (a) of FIG. 19). In the present embodiment, the position of the restoration area 221 is the position of the center of the spherical restoration area 221. In the present embodiment, the start position Ps is set such that the restoration area 221 is arranged in the vicinity of the changed portion (specifically, the erased portion) 223 of the terrain object 211 which is the restoration object and the restoration area 221 does not overlap the changed portion 223 (see (a) of FIG. 19). Although details will be described later, the end position Pe is set such that the restoration area 221 arranged at the end position Pe includes the entire changed portion 223.

[0127] 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. Fig. 19(b) shows a state where the restoration area 221 has advanced partway along the above path 222. In this state, the game system 1 restores the object for the part of the change portion 223 that overlaps with the restoration area 221 (the hatched area shown in Fig. 19(b)). As a result, a part of the change portion 223 of the terrain object 211 returns to its shape before the change.

[0128] In this embodiment, the determination of the overlap between the change portion 223 and the restoration area 221 is performed based on voxels. That is, the game system 1 restores the object for the voxels of the change portion 223 that overlap with the restoration area 221. In this embodiment, the game system 1 stores, for each voxel, the value of the voxel data before the change as the restoration reference value for the restored object. The game system 1 updates the voxel data of the target voxel to be restored so as to return it to the restoration reference value. Thus, in this embodiment, the restoration of the object is performed in units of voxels.

[0129] As described above, in this embodiment, when a part of the restored object (here, the terrain object 211) is deleted in response to a change event, the value of the density in the voxel data of the restored object is updated. Therefore, the game system 1 stores the value of the density as the above restoration reference value, and in the restoration process, returns the value of the density in the voxel data of the voxel to be restored to the restoration reference value.

[0130] Note that the above restoration reference value is, for example, the value when the restored object is in the initial state (i.e., the state at the start of the game), but is not limited to this. For example, when the restored object gradually deforms from the shape at the time of its first placement to a predetermined shape, the restoration reference value may be the value when it reaches the predetermined shape.

[0131] In this embodiment, during the restoration process, the game system 1 gradually restores the restored object by moving the restoration area 221 along the path 222 while restoring the object. Note that in this embodiment, since the game system 1 restores the object in units of voxels, as the restoration area 221 moves along the path 222, the target voxels to be restored are sequentially specified along the path 222. In this embodiment, the game system 1 repeatedly executes the movement of the restoration area 221 and the restoration of the object based on the moved restoration area 221 every frame time for generating and displaying the game image.

[0132] As described above, in this embodiment, the game system 1 sequentially specifies the target voxels to be restored along the path set in the game space. According to this, the game system 1 can gradually restore the changed part of the restored object in the direction along the set path.

[0133] Also, in this embodiment, the game system 1 uses the restoration area to sequentially specify the target voxels. That is, the game system 1 sets the restoration area in the game space, designates the voxels overlapping with the restoration area among the plurality of voxels related to the restored object as the target voxels, and sequentially specifies the target voxels by moving the restoration area along the path. According to this, by moving the restoration area, it is possible to easily specify the target voxels along the path.

[0134] In other embodiments, the game system 1 does not necessarily need to use, as target voxels, all the voxels among the plurality of voxels related to the restoration object that overlap with the restoration area, and the target voxels may be selected from among the voxels that overlap with the restoration area among the plurality of voxels. For example, the game system 1 may use, as target voxels, voxels in which a predetermined ratio (e.g., 50%) or more of the area of the voxels overlaps with the restoration area. Also in this case, similar to the present embodiment, it is possible to easily specify the target voxels along the path.

[0135] (c) of FIG. 19 shows a state in which 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 arranged so as to cover the entire change portion 223 (the hatched area shown in FIG. 19(c)). As a result, at the end of the restoration process, the entire change portion 223 can be surely restored.

[0136] In other embodiments, the game system 1 does not necessarily need to be arranged such that the restoration area 221 covers the entire change portion 223 at the end of the restoration process. At this time, by setting the path 222 and the size of the restoration area 221 such that the area through which the restoration area 221 passes during the restoration process covers the entire change portion 223, the entire change portion 223 can be surely restored.

[0137] In this embodiment, the path 222 is set based on the content of the change event. For example, when the change event is an event caused by the punch operation 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. Note that the contact position of the punch is the position where the punch of the player character 212 contacts the restoration object (i.e., the terrain object 211). The contact direction of the punch is the moving direction of the punch when it contacts the restoration object. For example, in the examples shown in FIGS. 16 to 19, a portion within a predetermined range based on the contact position of the punch in the restoration object is erased, and the end position Pe is set so that the restoration area 221 includes the entire portion. Thus, it can be said that the path 222 is set based on the contact position.

[0138] Also, the start position Ps of the path 222 is set so 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 that coincides with the contact direction). For example, in the examples shown in FIGS. 16 to 19, since the contact direction of the punch is a direction from the front left to the back right as viewed from the player character 212, the start position Ps is set so that the direction of the path 222 is a direction from the front left to the back right. According to this, the game system 1 can perform restoration along 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 along the direction of the punch, even when the entire change portion 223 is actually erased at once by the punch, an impression can be given to the player as if the terrain object 211 is erased along the direction of the punch.

[0139] In the examples shown in FIGS. 16 to 19, before the terrain object 211 is restored, the player character 212 repeats a further punching operation while moving forward, so that the player character 212 can dig through the terrain object 211 to form a tunnel. At this time, the terrain object 211 will be restored in order from the parts that were erased in the past (it can also be said that it is restored along the direction of progress when the player 212 digs through the tunnel). Here, the game system 1 performs restoration along the direction corresponding to the direction of the punch, so that the terrain object 211 is restored from a position away from the player character 212 toward the player character 212. Therefore, it is possible to make it difficult for the player character 212 to be buried in the terrain object 211. In addition, when looking at the entire erased part, the terrain object 211 is restored along the direction of progress, and when looking at it in one voxel unit (facing generally the same direction as the direction of progress), it is restored along the direction corresponding to the direction of the punch. Therefore, it is possible to express the state where the terrain object 212 is continuously restored along the progress direction of the player character 212.

[0140] As described above, in this embodiment, the change event is that a destruction object (in the above example, the player character 212) contacts a restoration object (in the above example, the terrain object 211) in the virtual space. When the change event occurs, the game system 1 updates the voxel data so that the part including the position where the destruction object contacts in the restoration object is erased. In addition, the game system 1 sets the path 222 of the restoration area 221 so as to be in the direction corresponding to the contact direction based on the position where the destruction object contacts the restoration object. According to this, at the position corresponding to the contact position, restoration can be performed in the direction corresponding to the content of the change event (in the above example, the direction of the punch).

[0141] Note that 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 the direction of the path 222 may be set based on the content of the change event so that the direction of the path 222 is a direction corresponding to the contact direction of the punch. For example, when the change event is "the left punch of the player character 212 hits the terrain object 211", the game system 1 may set the direction from the front left to the back right with respect to the player character 212 as the direction of the path 222, and when the change event is "the right punch of the player character 212 hits the terrain object 211", the game system 1 may set the direction from the front right to the back left with respect to the player character 212 as the direction of the path 222.

[0142] Note that in other embodiments, the path of the restoration area may be set based on the restoration object. For example, the game system 1 may preset the path for each restoration object.

[0143] Also, in this embodiment, the restoration area 221 is moved along the path 222. However, in other embodiments, the game system 1 may change the size of the restoration area 221 instead of or in addition to moving it along the path. For example, when the change event is that an explosion occurs near the restoration object (specifically, the terrain object 211) and a predetermined range of the restoration object centered on the explosion position is erased, the game system 1 may arrange the restoration area at the explosion position and gradually increase the size of the restoration area. According to this, it is possible to express the state in which the restoration object is restored in order from a position close to the explosion position to a position far from it.

[0144] As described above, in this embodiment, the game system 1 sequentially designates target voxels to be restored among a plurality of voxels related to the restoration object based on a designation rule, and performs restoration on the designated voxels. As a result, the restoration object can be gradually restored according to the determined law. Here, in this embodiment, the above designation rule is a rule of "setting voxels overlapping the moving restoration area as target voxels". Here, in other embodiments, the content of the designation rule is arbitrary. For example, in other embodiments, the designation rule may be a rule of "sequentially designating target voxels in the direction from the inside to the outside of the restoration object (regardless of the content of the change event)". According to this, it is possible to express the state where the restoration object is gradually restored from the inside. Also, for example, the designation rule may be a rule of "randomly selecting target voxels from among the voxels of the above change part".

[0145] In this embodiment, the game system 1 performs restoration by updating the voxel data of the target voxel so that the density becomes the restoration reference value once. Here, in other embodiments, the game system 1 may update the voxel data of the target voxel so that the current (that is, after the change) density value returns to the restoration reference value a plurality of times. For example, the game system 1 may update the voxel data of the target voxel while setting an upper limit on the amount of change in one time and making the density value approach the restoration reference value. At this time, the update of the voxel data may be repeated until the density becomes the restoration reference value even after the voxel of the voxel data has moved out of the restoration area (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).

[0146] In the examples shown in FIGS. 16 to 19, the case where a part of the restored object is erased due to a change event has been described. That is, when a change event occurs for the restored object, the game system 1 updates the voxel data so that the range occupied by the restored object in the game space decreases (that is, at least a part of the restored object is erased). And the restoration process was a process of increasing the range occupied by the restored object in the game space. Here, the game system 1 may update the voxel data so that the range occupied by the restored object in the game space increases (that is, the volume of the restored object increases). At this time, the restoration process becomes a process of decreasing the range occupied by the restored object in the game space.

[0147] Next, the restoration process when a plurality of change events occur continuously will be described. In the present embodiment, after a certain change event occurs, another change event may occur before the completion of the restoration process corresponding to the change event. Note that the "restoration process corresponding to the change event" refers to the restoration process for restoring the part of the restored object that has changed due to the change event. In order to cope with the situation as described above, in the present embodiment, the game system 1 executes a plurality of restoration processes using a plurality of restoration area data. Hereinafter, the details of the restoration process using the restoration area data will be described.

[0148] FIG. 20 is a diagram showing an example of a game image including a terrain object in which a change event occurs. In the example shown in FIG. 20, it is assumed that the first changed part 231 of the terrain object 211 is erased by the first change event, and the second changed part 232 of the terrain object 211 is erased by the second change event.

[0149] In this embodiment, the game system 1 executes a restoration process for each generated change event. Here, in this embodiment, the game system 1 sets restoration area data for defining a restoration area used for the restoration process for each restoration process. In the example shown in FIG. 20, it is assumed that first restoration area data used for the first restoration process corresponding to the first change event and second restoration area data used for the second restoration process corresponding to the second change event are set. Note that the game system 1 sets a buffer for each restoration area data and stores the restoration area data in each buffer, thereby managing each restoration area for each restoration process. In the example shown in FIG. 20, first restoration area data regarding the first restoration area 233 used for the first restoration process and second restoration area data regarding the second restoration area 234 used for the second restoration process are set.

[0150] In this embodiment, the restoration area data includes data defining the path of the restoration area and the current state of the restoration area (specifically, the current position and size). For example, the restoration area data may include data indicating the position, movement direction, size, and time since the start of the restoration process of the restoration area. In this embodiment, the game system 1 can specify the path of the restoration area and the current state of the restoration area based on these data.

[0151] Note that the restoration area data may include any data that can specify 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 include data that can specify the size of the restoration area at each point in time during the restoration process.

[0152] In this embodiment, when executing a plurality of restoration processes at a certain point in time, the game system 1 independently executes each restoration process based on the above restoration area data set for each restoration process. Therefore, during the period when both the first restoration process and the second restoration process are executed, the game system 1 restores voxels overlapping at least either the restoration area defined by the first restoration area data or the restoration area defined by the second restoration area data as target voxels.

[0153] For example, consider the following two examples in the case where a first change event occurs in a part corresponding to a certain voxel of the terrain object 211 (specifically, the overlapping part of the first change part 231 and the second change part 232 in FIG. 20), and then a second change event occurs. (Example 1) When a second change event occurs in the range including the voxel before the restoration by the first restoration process corresponding to the first change event for the voxel (Example 2) When a second change event occurs in the range including the voxel after the restoration by the first restoration process corresponding to the first change event for the voxel

[0154] In the above Example 1, the game system 1 executes the first restoration process independently of the occurrence of the second change event. Therefore, for the voxel, after the occurrence of the second change event, restoration is performed by the first restoration process without waiting for the second restoration process. That is, for the voxel, restoration is performed at the timing after a predetermined time has elapsed since the occurrence of the first change event regardless of the occurrence of the second change event.

[0155] On the other hand, in the above Example 2, the game system 1 erases the restored part of the voxel again according to the second change event. At this time, for the voxel, it is restored again by the second restoration process corresponding to the second change event.

[0156] As described above, in this embodiment, the game system 1 can perform restoration without waiting for the second restoration process in the case of Example 1 by independently executing the restoration process corresponding to the change event, and can also handle the case where the object being restored is deleted again in the case of Example 2. Further, even when a plurality of restoration processes are executed in parallel due to a plurality of change events occurring continuously, the game system 1 can reduce the possibility of the restoration process becoming complicated by independently executing each restoration process.

[0157] As described above, in this embodiment, when the first restoration condition is satisfied for the part of the restoration object where the first change event has occurred, the game system 1 sequentially designates target voxels based on the first restoration area data that defines the path in the first restoration process corresponding to the first change event. Also, when the second restoration condition is satisfied for the part of the restoration object where a second change event different from the first change event has occurred, the game system 1 sequentially designates target voxels based on the second restoration area data that defines the path in the second restoration process corresponding to the second change event. At this time, in the period when the period in which the first restoration process is executed overlaps with the period in which the second restoration process is executed, the game system 1 performs restoration using, as the target voxels, the voxels designated based on at least one of the first restoration area data and the second restoration area data. According to this, even when a plurality of restoration processes are executed in parallel due to a plurality of change events occurring continuously, the possibility of the restoration process becoming complicated can be reduced.

[0158] In the above description, the case where one restoration area data is set for one change event has been described as an example. However, a plurality of restoration area data may be set for one change event. That is, the game system 1 may execute a plurality of restoration processes using a plurality of restoration areas for one change event. For example, for one change event, the game system 1 may set a plurality of restoration areas that move in different directions from each other, and execute a restoration process for each restoration area based on the restoration area data set for each restoration area. Even when a plurality of restoration area data are set in this way, similar to the case where a plurality of restoration area data are set according to a plurality of change events, the game system 1 independently executes a restoration process based on each restoration area data. Thereby, the same effects as those of the above-described embodiment can be obtained.

[0159] Next, with reference to FIGS. 21 to 24, another example of restoring a restoration object will be described. As shown in FIGS. 21 to 24, the game system 1 can apply a restoration process to a restoration object not only in a scene where a part of a terrain object is erased by a punch operation of a player character, but also in various scenes in the game.

[0160] (Example where the ground collapses) FIG. 21 is a diagram showing an example of a game image representing a state where a player character moves on a scaffold object. In the example shown in FIG. 21, the scaffold object 241 is a type of terrain object and is assumed to be a restoration object.

[0161] In the example shown in FIG. 21, the change event for the scaffold object 241 to be erased is that the player character 212 is placed on the scaffold object 241 (that is, the player character 212 touches the scaffold object 241). When the above change event occurs, the game system 1 erases a portion within a predetermined range including the position where the player character 212 touched on the scaffold object 241. Note that the scaffold object 241 has a predetermined thickness, and when a part of the scaffold object 241 is erased due to a change event, it is assumed that it is erased down to the bottom of the scaffold object 241. Therefore, when the scaffold object 241 is erased, the player character 212 cannot stay at the place where the scaffold object 241 was erased and will fall downward. Therefore, in order to prevent the player character 212 from falling from the scaffold object 241, the player performs a game operation so that the player character 212 continues to move on the scaffold object 241. In this embodiment, the erasure of the scaffold object 241 in response to the occurrence of a change event starts after a certain amount of time has elapsed since the occurrence of the change event so that the player character 212 does not fall simultaneously with the contact with the scaffold object 241.

[0162] In the example shown in FIG. 21, the restoration condition of the scaffold object 241 is that, similar to the examples shown in FIGS. 16 to 19 described above, a predetermined time (for example, 2 seconds) has elapsed since the scaffold object 241 was erased in response to a change event. When the restoration condition is satisfied, the game system 1 restores the scaffold object by the above-described restoration process.

[0163] 21, a change event occurs every time the player character 212 comes into contact with the scaffold object 241 as a result of movement. Therefore, a restoration area is set every time the player character 212 comes into contact with the scaffold object 241 as a result of movement, and restoration processing is executed for each restoration area. Note that in the example shown in FIG. 21, the time from when the scaffold object 241 is erased until the erased portion is restored is constant regardless of the erased portion. Therefore, the portions of the scaffold object 241 that were erased most recently are restored in order.

[0164] As described above, in the example shown in FIG. 21 , the change event is when the player object (in the above example, the player character 212) is placed on the restored object in the game space. When the change event occurs, the game system 1 updates the voxel data so that a portion of the restored object including the position where the player object is placed is erased. Then, the game system 1 executes the restoration process at a second timing that is subsequent to the first timing at which the change event occurs. This makes it possible to realize a situation in the game in which the player object falls downward unless it continues to move on the restored object (in the above example, the platform object 241), thereby improving the entertainment value of the game. Furthermore, because the restored object is restored, it is possible to prevent the player object from running out of space to move forward as a result of continuing to move.

[0165] (Example of moving restored objects) The restored object is not limited to a terrain object, but may be an object that moves and / or rotates in the game space. In this case, the voxel object that is the restored object may be a sub-voxel object, which will be described below.

[0166] In this embodiment, for other voxel objects different from the terrain object, the shape is defined by voxel data related to voxels different from those of the terrain object. Hereinafter, the voxel space related to the terrain object is referred to as the "main voxel space", the voxels in the main voxel space are referred to as "main voxels", and the voxel data set in the main voxels is referred to as "main voxel data". On the other hand, the voxel space related to the above other voxel objects is referred to as the "sub-voxel space", the voxels in the sub-voxel space are referred to as "sub-voxels", and the voxel data set in the sub-voxels is referred to as "sub-voxel data". In this embodiment, the shape of the terrain object is defined by the main voxel data, and the shape of the above other voxel objects is defined by the sub-voxel data. In this embodiment, a voxel object whose shape is defined by the main voxel data is referred to as a "main voxel object", and a voxel object whose shape is defined by the sub-voxel data is referred to as a "sub-voxel object".

[0167] FIG. 22 is a diagram showing an example of a main voxel object and a sub-voxel object. In FIG. 22, for the purpose of clearly showing the difference between the main voxels and the sub-voxels, voxel objects (that is, the terrain object 251 and the rock object 252) for which meshes are generated according to the same rules as when the mesh of the terrain object shown in FIG. 8 is generated are shown. That is, it is assumed that the mesh of the voxel object shown in FIG. 22 is generated according to the rule that "when the density set in the voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and when it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". In FIG. 22, for the purpose of making the drawing easy to view, the terrain object 251 is shown by a dotted line, the rock object 252 is shown by a solid line, and the region 253 of the sub-voxel space is shown by a broken line.

[0168] For the terrain object 251, its shape is defined by the main voxel data. In this embodiment, it is assumed that the main voxel space is set for the entire game space (therefore, the range of the main voxel space is not shown in FIG. 22).

[0169] 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). In the example shown in FIG. 22, the area 253 indicated by the dashed line is the range where the sub-voxel space is set. The rock object 252 is defined by the sub-voxel data set for each sub-voxel set within the sub-voxel space. The rock object 252 will be arranged within the range of the sub-voxel space.

[0170] The length of one side of the sub-voxel may be set to be different from the length of one side of the main voxel, or may be set to be the same. For example, as shown in FIG. 22, by setting a sub-voxel space that defines voxels with a shorter side length than the main voxel as sub-voxels, the shape of the sub-voxel object based on the sub-voxel data can be expressed in finer detail than the terrain object based on the main voxel data.

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

[0172] Note that 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.

[0173] In the present embodiment, when a plurality of sub-voxel objects are generated, the game system 1 sets a sub-voxel space for each sub-voxel object. Thereby, the position and inclination of each sub-voxel space in the game space can be set for each sub-voxel space. Further, it becomes easier 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). Note that each sub-voxel space 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.

[0174] Note that 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.

[0175] When the above sub-voxel object is used as a restoration object, the restoration object can move and / or rotate within the game space. For a restoration object that moves and / or rotates within the game space, the restoration process is executed as follows.

[0176] FIG. 23 is a diagram showing an example of the state where the restoration object is restored while moving. In the example shown in FIG. 23, it is assumed that the restoration object 263 moves between the terrain object 261 and the terrain object 262. (a) of FIG. 23 shows a state where a part of the restoration object 263 has been erased due to a change event, and (b) of FIG. 23 shows a state where the restoration object 263 is being restored.

[0177] In FIG. 23, the game system 1 moves the restoration object 263 within the game space by moving the sub-voxel space 264 related to 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 can also be said to be the position of the restoration object 263 based on the sub-voxel space) does not change.

[0178] When the restoration object 263 is erased as shown in FIG. 23(a), in response to the restoration condition (for example, that a predetermined time has elapsed since the erasure) being satisfied, the game system 1 executes a restoration process for the restoration object 263. In the example shown in FIG. 23, the restoration object 263 continues to move even after being erased, so the position of the restoration object 263 is different at the time of erasure and at the time of restoration. Here, as described above, in the present embodiment, since the movement of the restoration object 263 is performed by moving the sub-voxel space 264, the positional relationship between the sub-voxel space and the restoration object 263 does not change. That is, it can be said that by moving the sub-voxel space 264, each voxel related to the restoration object 263 moves so as to correspond to the position of the restoration object 263 after the movement, and the voxel data related to the restoration object 263 corresponds to the position of the restoration object 263 after the movement. Therefore, in the restoration process, the game system 1 can perform restoration by updating the voxel data of the voxels corresponding to the erased part, in the same manner as when the restoration object 263 does not move.

[0179] As described above, in this embodiment, the game system 1 moves the restoration object in the game space by moving the voxel space in which voxels related to the restoration object are set (in the example of FIG. 23, the sub-voxel space 264). Note that the game system can rotate the voxel space and the restoration object in addition to (or instead of) moving them. When the restoration object moves and / or rotates after a change event, the game system 1 executes a restoration process using the voxel data related to the voxel space after the movement and / or rotation. According to this, even when the restoration object moves and / or rotates, the restoration object can be restored by the same process as when the movement and / or rotation is not performed, so that the processing load on the game system 1 can be reduced.

[0180] (Example where the restoration object is separated) The restoration object may have a property that a part of it can be separated by a change event. Here, the separation of an object means that when a part of one object is erased, an object representing the erased part is generated. That is, when an object is separated, two objects, the object and the separated object (hereinafter referred to as the "separated object"), are arranged in the game space. Note that the separated object and the original object to be separated do not have to be treated as one object, and each may be treated as a separate object. In this embodiment, the above-described separation may be performed on the restoration object. Hereinafter, the restoration process when the restoration object is separated will be described.

[0181] FIG. 24 is a diagram showing an example of a state in which a part of a restored object is separated. In the example shown in FIG. 24, it is assumed that the player character 212 can perform a separation operation on the restored object 271. That is, when the player character 212 performs a separation operation on the restored object 271, a part of the restored object 271 is erased, and a separation object 272 representing the erased part is generated (see (a) of FIG. 24).

[0182] In the above example, the player character 212 is in a state where it can hold and move the separation object 272. For example, the restored object 271 may have a specific property (e.g., an explosive property or a property of emitting light and illuminating the surroundings). At this time, the separation object 272 is set to have the same property as the restored object 271. Therefore, by obtaining the separation object 272 from the restored object 271, the player character 212 can utilize the property of the restored object 271 that cannot be moved at a location away from the restored object 271. For example, the player character 212 can obtain the separation object 272 from the restored object 271 having an explosive property and collide it with an enemy character (not shown), or obtain the separation object 272 from the restored object 271 having a property of illuminating the surroundings and illuminate the inside of a cave. Note that the separation object 272 may be erased under certain conditions (e.g., in response to the elapse of a predetermined time).

[0183] In the example shown in FIG. 24, when a part of the restored object 271 is erased due to the separation being performed on the restored object 271, the game system 1 executes a restoration process on the restored object 271 in response to the restoration condition being satisfied (e.g., the elapse of a predetermined time since the erasure) (see (b) of FIG. 24). This restoration process is executed in the same manner as the restoration process in the examples shown in FIGS. 16 to 19. Note that the restored object 271 may be the main voxel object described above or the sub-voxel object.

[0184] For example, consider a case where using the properties of the restored object 271 is a condition for advancing the game. As an example of this, for instance, the restored object 271 has the property of exploding, and a case can be considered where the game can be advanced by using the separated object 272 to defeat an enemy character. In the above example, if the restored object 271 cannot be restored, and the operation of obtaining the separated object 272 from the restored object 271 is repeated until the restored object 271 finally disappears, the player may not be able to advance the game. In this regard, in the present embodiment, by restoring the restored object 271, it is possible to reduce the possibility of such inconveniences in the game.

[0185] On the other hand, for the separated object 272 generated by separating the restored object 271, the game system 1 does not execute a restoration process (see (b) of FIG. 24). According to this, it is possible to prevent inconveniences such as the separated object growing while being held by the player character 212. Also, by not executing unnecessary restoration processes, the processing load on the game system 1 can be reduced. Note that as described above, since no restoration process is executed for the separated object, the separated object may or may not be a voxel object.

[0186] As described above, in the present embodiment, when a change event occurs for a restored object, a part of the restored object is erased and a separated object corresponding to the reduced part is generated. Then, when the restoration condition for the restored object is satisfied, the game system 1 executes a restoration process for the restored object and does not execute a restoration process for the separated object. According to this, it is possible to reduce the possibility of inconveniences in the game and reduce the processing load on the game system 1.

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

[0188] FIG. 25 is a diagram showing an example of various data used for information processing in the game system 1. As shown in FIG. 25, the game system 1 stores a game program, voxel space data, voxel object data, reference data, restoration area data, and mesh data.

[0189] The game program, voxel space data, and reference data are data that are stored in advance in the game system 1 before the execution of game processing. These data are stored, for example, in a storage medium mounted in the slot 23 of the main body device 2. In addition to the data shown in FIG. 25, the game system 1 stores, as data that are stored in advance in the game system 1 before the execution of game processing, the above-described property information and texture information data, as well as data related to various characters appearing in the game. Further, the voxel object data, restoration area data, and mesh data are data that are generated during the execution of game processing. These data are stored, for example, in the DRAM 85 of the main body device 2.

[0190] The game program is a game program for executing the game processing (specifically, the game processing shown in FIG. 26) in the present embodiment.

[0191] The above voxel space data is stored for each voxel space. 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). Further, the voxel object data, reference data, and mesh data are stored for each voxel object.

[0192] Voxel space data is data that defines the voxel space set in the game space. Specifically, the voxel space data indicates the length of one side of a voxel and the direction of each side of the voxel in the game space. Also, when the voxel space is set only in a partial region of the game space (for example, when the voxel space is a sub-voxel space), the voxel space data may include data indicating the position and size of the voxel space (that is, data indicating the range in the game space where voxels are set).

[0193] Voxel object data is data that indicates a voxel object (here, a restoration object) arranged in the game space. Specifically, the voxel object data includes voxel data for each voxel in the voxel space related to the voxel object.

[0194] Reference data indicates the above-mentioned restoration reference values. In the present embodiment, the reference data indicates the restoration reference values for each of a plurality of voxels related to the restoration object. In the present embodiment, since the restoration reference value is set for each voxel, restoration on a voxel-by-voxel basis for the restoration object can be easily performed. Note that the reference data may include only data on the density for each voxel, or may include the same content as the voxel data (that is, data other than density).

[0195] Restoration area data indicates various information related to the above-mentioned restoration area. In the present embodiment, the restoration area data includes data that defines the path of the restoration area and the current state of the restoration area (specifically, the current position and size).

[0196] Mesh data is data that indicates a mesh (for example, the mesh of a restoration object) set for a voxel object arranged in the game space. The mesh data includes, for example, data indicating the position of each vertex in the mesh.

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

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

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

[0200] In step S1 shown in FIG. 26, the processor 81 sets a voxel space in the game space. Specifically, the processor 81 acquires the above voxel space data and stores it (in other words, writes it) in the DRAM 85. In the subsequent game processing, the processor 81 may refer to the voxel space data when executing processing related to voxel objects (for example, the processing in step S2). In this case, the processor 81 refers to the voxel space data stored in the DRAM 85. The processing of step S2 is executed after step S1.

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

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

[0203] In step S3, the processor 81 controls the operations of various objects (for example, a player character and a moving voxel object as shown in FIG. 23) that appear in the game space. The processor 81 controls the operation of the player object based on, for example, operation data received from each of the controllers 3 or 4, or controls the operation of the voxel object based on an algorithm defined in the game program. The process of step S4 is executed after step S3.

[0204] In step S4, the processor 81 determines whether a change event has occurred for the voxel object in response to the processing in step S3 above. For example, the processor 81 determines whether a change event has occurred as a result of operating the above-described player character and voxel object. If the determination result in step S4 is affirmative, the processing in step S5 is executed. On the other hand, if the determination result in step S4 is negative, the processing in step S5 is skipped and the processing in step S6 is executed.

[0205] In step S5, the processor 81 changes the voxel object for which the change event has occurred according to the change event. In the present embodiment, the processor 81 changes the density indicated by the voxel data for at least some of the voxels related to the voxel object for which the change event has occurred. As a result, the voxel object for which the change event has occurred is deformed. Further, the processor 81 updates the voxel object data stored in the DRAM 85 so as to indicate the changed density. The processing in step S6 is executed after step S5.

[0206] In step S6, the processor 81 determines whether the 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 processing in step S7 is executed. On the other hand, if the determination result in step S6 is negative, the processing in step S7 is skipped and the processing in step S8 is executed.

[0207] In step S7, the processor 81 turns on the restoration flag set for the change event for which the restoration condition is satisfied. Here, in the present embodiment, the game device 2 stores, in the DRAM 85, the flag data of the restoration flag indicating the presence or absence of execution of the restoration process corresponding to the generated change event for each generated change event. The restoration flag is set for each change event. The flag data indicates that the flag is off at the time when the change event occurs for the voxel object. In step S7, the processor 81 updates the flag data for the voxel object for which the restoration condition is satisfied to the content indicating on. The process of step S8 is executed after step S7.

[0208] In step S8, the processor 81 determines whether to execute the restoration process for the restoration object. 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.

[0209] In step S9, the processor 81 executes a restoration process for restoring the restoration object for which the restoration flag is set to on (that is, the restoration object corresponding to the change event for which the restoration flag is set to on). Hereinafter, with reference to FIG. 27, the detailed flow of the restoration process will be described.

[0210] FIG. 27 is a sub - flowchart showing an example of the detailed flow of the restoration process in step S9 shown in FIG. 26. In the restoration process, first, in step S21, the processor 81 determines whether the restoration process in the current step S9 is the first - time process. Here, in the present embodiment, when the restoration condition is satisfied, the process of step S9 is repeatedly executed during a plurality of frames (that is, while the processing loop of steps S3 to S12 is repeated a plurality of times), so that the restoration process corresponding to the restoration condition is executed. The determination process in step S21 is a process of determining whether the process of the current step S9 is the first process among the processes repeatedly executed during a plurality of frames, and is a process of determining whether it is the time when the restoration process is started 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.

[0211] In step S22, the processor 81 sets the restoration - area data regarding the restoration area used for the restoration process. The content indicated by the restoration - area data (specifically, the path and the size) is set according to the method described in the above “[2 - 3. Restoration of voxel objects]”. The processor 81 stores the restoration - area data indicating the path and size of the restoration area and the current state (that is, the state at the start of the restoration process) in the DRAM 85. The process of step S24, which will be described later, is executed after step S22.

[0212] In step S23, the processor 81 moves the restoration area along the path. That is, the processor 81 moves the restoration area by a distance corresponding to one - frame time along the path set for the restoration area. At this time, the processor 81 updates the restoration - area data stored in the DRAM 85 so as to indicate the position after the movement. By repeatedly executing the process of step S23, since the restoration area is moved, the target voxels to be restored are sequentially specified along the path. The process of step S24 is executed after step S23.

[0213] In step S24, the processor 81 restores the restoration object for the target 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 identify the restoration reference value for the target voxels. Then, the processor 81 updates the voxel object data stored in the DRAM 85 so that the density value in the voxel data of the target voxels becomes the above restoration reference value. The process of step S25 is executed after step S24.

[0214] 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 of step S25 is affirmative, the process of step S26 is executed. On the other hand, if the determination result of step S25 is negative, the processor 81 ends the restoration process.

[0215] In step S26, the processor 81 turns off the restoration flag related to the restoration process determined to end. That is, the processor 81 updates the flag data for the restoration flag to the content indicating off. After step S26, the processor 81 ends the restoration process.

[0216] Note that the above-described restoration process is executed for each restoration condition that satisfies the conditions. That is, when a plurality of restoration flags are on, the processor 81 executes each restoration condition corresponding to the plurality of restoration flags respectively. At this time, as described above, a plurality of restoration processes are executed independently.

[0217] Returning to the description of FIG. 26, 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 for the voxel object is generated according to the method described in the above "[2-2. Mesh]". Note that in step S10, the processor 81 does not need to regenerate the mesh generated in the previous execution of step S10, and may regenerate the mesh for the voxel data updated in step S5. Thereby, the mesh of the voxel object can be dynamically changed during the game. Note that the processor 81 updates the mesh data stored in the DRAM 85 with the content indicating the newly generated mesh. After step S10, the process of step S11 is executed.

[0218] In step S11, the processor 81 generates a game image representing the game space and causes the display device to display it. Specifically, the processor 81 generates a game image representing the game space including the voxel object and other objects. Note that the image of the voxel object is generated according to the method described in the above "[2-2. Mesh]" using the voxel object data and the mesh data stored in the DRAM 85. The processor 81 causes the display device to display the generated game image. Note that during the game, the process of step S11 is repeatedly executed at a rate of once per predetermined time (for example, one frame time). After step S11, the process of step S12 is executed.

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

[0220] [4. Operational Effects and Modifications of this Embodiment] As described above, in the above embodiment, the information processing system (in the above embodiment, the game system 1) stores voxel data corresponding to a plurality of voxels regarding the restoration object in the virtual space (in the above embodiment, the game space), and reference data serving as a reference for the restoration object, the reference data indicating a reference value (in the above embodiment, the restoration reference value) of a parameter (in the above embodiment, density) included in the voxel data. The information processing system has a configuration including the following means. · Voxel update means (step S5) for updating the voxel data regarding the restoration object when a change event occurs for the restoration object · Voxel restoration means (step S9) for executing a restoration process of gradually changing the restoration object by returning the value of the parameter included in the updated voxel data to the reference value included in the reference data when the restoration condition is satisfied for the restoration object for which the change event has occurred · Mesh generation means (step S10) for generating a mesh of the restoration object based on the voxel data · Image generation means (step S11) for generating an image of the virtual space including an image of the mesh of the restoration object to output to the display device

[0221] According to the above, an object changed by a change event can be gradually restored by a restoration process.

[0222] Note that "returning the value of the parameter included in the voxel data to the reference value included in the reference data" means: (a) as in the above embodiment, by sequentially executing the process of returning 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 returned to the reference value; and (b) including returning the value of the parameter to the reference value by repeating the process of bringing the value of the parameter included in the voxel data closer to the reference value a plurality of times.

[0223] Note that in the above embodiment, the case where the restoration object is a voxel object has been described as an example. However, in other embodiments, the restoration object may not be a voxel object. When an object that is not a voxel object is used as the restoration object, instead of performing restoration for the voxels overlapping the restoration region, the game system 1 may execute the restoration process by restoring the object for the range within the restoration region. Also, in the above case, instead of storing the reference value for each voxel, the game system 1 may store the reference shape of the restoration object.

[0224] In the above embodiment, the parameter corresponding to the reference value indicated by the reference data was density. And when a change event occurs for the restoration object, the game system 1 updates the voxel data so as to change the parameter indicating density, and when the restoration condition is satisfied, the value of the parameter indicating density included in the voxel data is returned to the reference value included in the reference data, thereby gradually changing the voxel data. According to this, the shape of the restoration object deformed by the occurrence of the change event can be restored to its original state by the restoration process.

[0225] Here, in other embodiments, the parameter corresponding to the reference value is not limited to density, and may be any parameter indicating the state of the restored object. For example, the reference value may be a reference value for the material set for the voxel (e.g., the material ID described above) among the parameters included in the voxel data. At this time, when a change event occurs for the restored object, the game system 1 updates the voxel data so as to change the parameter indicating the material (e.g., the material ID described above). Then, when the restoration condition is satisfied, the game system 1 gradually changes the voxel data by returning the value of the parameter indicating the material included in the voxel data to the reference value included in the reference data. According to this, it is possible to restore the material of the restored object whose material has changed (e.g., the property and / or appearance of the restored object has changed) due to the occurrence of a change event by restoration processing. According to the above, for example, it is possible to express a situation where a restored object with a lava material changes to a material of a solidified rock when it comes into contact with an ice object, and then returns to the lava material.

[0226] Note that in other embodiments, the game system 1 may change both the density and the material of the restored object according to a change event, and may return the parameters of both the density and the material to the reference value in the restoration process.

[0227] Also, in other embodiments, the parameter corresponding to the reference value may indicate the state of the restored object. For example, the parameter may be a parameter indicating the amount of damage applied to the restored object. Further, at this time, the game system 1 may change the appearance (e.g., texture) of the restored object according to the parameter. According to this, the game system 1 can change the appearance of the restored object in response to the occurrence of a change event and return the appearance of the restored object to its original state in response to the fulfillment of the restoration condition.

[0228] In addition, in other embodiments, the information processing system may not include some of the configurations in the above embodiments, or may not execute some of the processes executed in the above embodiments. For example, in order for the information processing system to exhibit some specific effects in the above embodiments, it may be provided with a configuration for achieving the effects and execute a process for achieving the effects, and may not include other configurations or execute other processes.

Industrial Applicability

[0229] The above embodiments can be used, for example, as a game system or a game program for the purpose of gradually restoring an object to which changes have been made.

Description of Reference Numerals

[0230] 1 Game system 2 Main body device 3 Left controller 4 Right controller 81 Processor 211 Terrain object 212 Player character 221 Restoration area 222 Route 223 Changed part 263, 271 Restoration object 264 Sub-voxel space 272 Separation object

Claims

1. An information processing program executed by a computer of an information processing apparatus, wherein the information processing apparatus stores voxel data regarding a plurality of voxels related to a restoration object in a virtual space and reference data serving as a reference for the restoration object, the reference data indicating reference values of parameters included in the voxel data, and the information processing program includes voxel update means for updating the voxel data regarding the restoration object when a change event occurs for the restoration object, voxel restoration means for executing a restoration process of gradually changing the restoration object by returning the values of the parameters included in the updated plurality of voxel data to the reference values included in the reference data when a restoration condition is satisfied for the restoration object in which the change event has occurred, mesh generation means for generating a mesh of the restoration object based on the voxel data, and causes the computer to function as image generation means for generating an image of the virtual space including an image of the mesh of the restoration object and outputting the image to a display device. An information processing program.

2. The voxel restoration means determines that the restoration condition is satisfied at a second timing after the first timing determined based on the timing when the change event occurs, and executes the restoration process. The information processing program according to claim 1.

3. The change event is that a player object is placed on the restoration object in the virtual space, and the voxel update means updates the voxel data so that a portion including the position where the player object is placed in the restoration object is deleted when the change event occurs. The information processing program according to claim 2.

4. The voxel restoration means determines that the restoration condition is satisfied in response to an operation by a player and executes the restoration process. The information processing program according to claim 1.

5. The reference data indicates the reference values for each of the plurality of voxels related to the restoration object. The information processing program according to any one of claims 1 to 4.

6. The voxel restoration means sequentially designates target voxels to be restored among the plurality of voxels related to the restoration object based on a designation rule, and performs restoration on the designated voxels. The information processing program according to any one of claims 1 to 5.

7. The voxel restoration means sequentially designates the target voxels along a restoration path set in the virtual space. The information processing program according to claim 6.

8. The change event is that a destruction object has come into contact with the restoration object within the virtual space, When the change event occurs, the voxel update means updates the voxel data so that a part including the position where the destruction object has come into contact among the restoration objects is erased. The voxel restoration means sets the restoration path so as to be in a direction corresponding to the contact direction based on the position where the destruction object has come into contact with the restoration object. The information processing program according to claim 7.

9. The voxel restoration means, When a first restoration condition is satisfied for a part of the restoration object where a first change event has occurred as the change event, the target voxels are sequentially designated based on first restoration region data that defines the restoration path in the first restoration process, which is the restoration process corresponding to the first change event. When a second restoration condition is satisfied for a part of the restoration object where a second change event different from the first change event has occurred as the change event, the target voxels are sequentially designated based on second restoration region data that defines the restoration path in the second restoration process, which is the restoration process corresponding to the second change event. During a period in which the period in which the first restoration process is executed and the period in which the second restoration process is executed overlap, restoration is performed using as the target voxels the voxels designated based on at least one of the first restoration region data and the second restoration region data. The information processing program according to claim 7 or claim 8.

10. The voxel restoration means sets a restoration area in the virtual space, designates the target voxel from among the plurality of voxels related to the restoration object that overlap with the restoration area, and sequentially designates the target voxels by moving the restoration area along the restoration path. The information processing program according to any one of claims 7 to 9.

11. The voxel restoration means sequentially designates the target voxels in a direction from the inside to the outside of the restoration object. The information processing program according to claim 6.

12. The reference data indicates a reference value for a parameter indicating the density used to generate the mesh among the parameters included in the voxel data. When the change event occurs for the restoration object, the voxel update means updates the voxel data so as to change the parameter indicating the density. When the restoration condition is satisfied for the restoration object in which the change event has occurred, the voxel restoration means returns the value of the parameter indicating the density included in the updated voxel data to the reference value included in the reference data, thereby gradually changing the restoration object. The information processing program according to any one of claims 1 to 11, which executes the restoration process.

13. The reference data indicates a reference value for a material set for the voxel among the parameters included in the voxel data. When the change event occurs for the restoration object, the voxel update means updates the voxel data so as to change the parameter indicating the material. When the restoration condition is satisfied for the restoration object in which the change event has occurred, the voxel restoration means returns the value of the parameter indicating the material included in the updated voxel data to the reference value included in the reference data, thereby gradually changing the restoration object. The information processing program according to any one of claims 1 to 12, which executes the restoration process.

14. When the change event occurs for the restored object, the voxel update means updates the voxel data regarding the restored object so that the range occupied by the restored object in the virtual space decreases. The information processing program according to any one of claims 1 to 13.

15. When the change event occurs for the restored object, the range occupied by the restored object in the virtual space is decreased, and a separated object corresponding to the decreased portion is generated. When the restoration condition is satisfied for the restored object, the voxel restoration means executes the restoration process for the restored object and does not execute the restoration process for the separated object. The information processing program according to claim 14.

16. When the change event occurs for the restored object, the voxel update means updates the voxel data regarding the restored object so that the range occupied by the restored object in the virtual space increases. The information processing program according to any one of claims 1 to 13.

17. The information processing program is configured to further function the computer as object control means for moving and / or rotating the restored object in the virtual space by moving and / or rotating the voxel space in which the voxel regarding the restored object is set in the virtual space. When the restored object moves and / or rotates after the change event, the voxel restoration means executes the restoration process using the voxel data regarding the voxel space after the movement and / or rotation. The information processing program according to any one of claims 1 to 16.

18. Storage means for storing voxel data regarding a plurality of voxels regarding a restored object in a virtual space and reference data serving as a reference for the restored object, the reference data indicating reference values of parameters included in the voxel data. Voxel update means for updating the voxel data regarding the restored object when a change event occurs for the restored object. When the restoration conditions are satisfied for the restored object for which the change event has occurred, a voxel restoration means for executing a restoration process of gradually changing the restored object by returning the values of the parameters included in the updated plurality of voxel data to the reference values included in the reference data; A mesh generation means for generating a mesh of the restored object based on the voxel data; An information processing apparatus comprising: an image generation means for generating an image of the virtual space including an image of the mesh of the restored object for output to a display device.

19. Storage means for storing voxel data related to a plurality of voxels related to a restored object in a virtual space and reference data serving as a reference for the restored object, the reference data indicating reference values of parameters included in the voxel data; Voxel update means for updating the voxel data related to the restored object when a change event occurs for the restored object; When the restoration conditions are satisfied for the restored object for which the change event has occurred, a voxel restoration means for executing a restoration process of gradually changing the restored object by returning the values of the parameters included in the updated plurality of voxel data to the reference values included in the reference data; A mesh generation means for generating a mesh of the restored object based on the voxel data; An information processing system comprising: an image generation means for generating an image of the virtual space including an image of the mesh of the restored object for output to a display device.

20. An information processing method executed by an information processing system, The information processing system stores voxel data related to a plurality of voxels related to a restored object in a virtual space and reference data serving as a reference for the restored object, the reference data indicating reference values of parameters included in the voxel data, When a change event occurs for the restored object, a voxel update step of updating the voxel data related to the restored object; When the restoration condition is satisfied for the restored object in which the change event has occurred, a voxel restoration step is executed to gradually change the restored object by returning the values of the parameters included in the updated plurality of voxel data to the reference values included in the reference data. A mesh generation step of generating a mesh of the restored object based on the voxel data. An information processing method comprising an image generation step of generating an image of the virtual space including an image obtained by rendering the mesh of the restored object for output to a display device.

Citation Information

Patent Citations

  • Picture processor and data processing method therefor

    JP1997231409A

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

    JP2004062666A

  • Game apparatus, and control method and program of game apparatus

    JP2006187381A

  • Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions

    JP2023178274A

  • Game device, game device control method, and information storage medium

    KR1020070086058A