Computer program product, information processing system, information processing device, and information processing method

Through the computer program product executed in the information processing device, the appropriate drawing performance of the virtual camera inside the terrain is realized, and the display inconsistency problem of the virtual camera when it is arranged inside the terrain is solved, and the visibility and understanding of the virtual space are improved.

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

Patent Information

Application Number
CN202510124349.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-30
Filing Date
2025-01-26
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In the prior art, when the virtual camera is arranged inside the terrain, appropriate image drawing performance cannot be performed, resulting in inconsistent display of the virtual space.

Method used

Through the computer program product executed in the information processing device, the functions of terrain drawing, internal determination, display changes and image output units are realized, and whether the virtual camera is inside the terrain is determined, and corresponding display changes are performed, such as post-processing, object configuration, atomization, color changes, etc., to ensure appropriate drawing performance.

Benefits of technology

Even when the virtual camera is arranged inside the terrain object, it can display appropriate drawing performance, improve visibility and understanding, avoid inconsistency, and enhance the gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120393404A_ABST
    Figure CN120393404A_ABST
Patent Text Reader

Abstract

The invention provides a computer program product, an information processing system, an information processing apparatus, and an information processing method. Among the surfaces constituting the object, a surface facing the front side with respect to the virtual camera is drawn, and whether or not the virtual camera is disposed inside the terrain object is determined. Furthermore, when it is determined that the virtual camera is disposed inside the topographic object, a display change process is performed for changing a display image based on an image in which a virtual space including the topographic object is drawn.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a computer program product, an information processing system, an information processing apparatus, and an information processing method for performing processing to display an image of a virtual space seen from a virtual camera. Background Art

[0002] Conventionally, a technique for displaying an image of a virtual space seen from a virtual camera has been disclosed (for example, refer to “Unity User Manual - ShaderLab culling and depth testing”, [online], Unity Technologies, [searched on April 5, 2022], Internet (URL: https: / / docs.unity3d.com / 2018.4 / Documentation / Manual / SL-CullAndDepth.html)). In the technique disclosed in the above Non-Patent Document 1, the processing load is reduced by performing the following back-face culling process: not rendering the faces on the inside of the polygon with respect to the virtual camera among the faces on the front side and the faces on the inside of the polygon.

[0003] However, in the above technique, when the virtual camera is disposed inside the terrain, the terrain is observed from the faces on the inside. Therefore, the terrain with the virtual camera disposed inside it is not drawn, but the drawing performance for using such drawing in a game is not considered.

[0004] Therefore, an object of the present invention is to provide a computer program product, an information processing system, an information processing apparatus, and an information processing method capable of performing appropriate drawing performance even when the virtual camera is disposed inside an object. Summary of the Invention

[0005] To achieve the above object, the present invention can adopt the following configurations (1) to (17), for example. (1)

[0007] One structural example of the computer program product of the present invention is executed in a computer of an information processing device. The computer program product causes the computer to function as a terrain rendering unit, an internal determination unit, a display change unit, and an image output unit. The terrain rendering unit renders the surface of the terrain object that faces the front side with respect to the virtual camera orientation. The internal determination unit determines whether the virtual camera is disposed inside the terrain object. When it is determined that the virtual camera is disposed inside the terrain object, the display change unit performs display change processing for changing the display image, where the display image is based on an image of a virtual space including the terrain object. The image output unit performs processing for outputting the display image to a display device.

[0008] According to the structure of (1) above, when the virtual camera is disposed inside the terrain object, it is also possible to display an image with appropriate rendering performance. (2)

[0010] In the structure of (1) above, as the display change processing, the display change unit may perform post-processing on the image of the virtual space including the terrain object.

[0011] According to the structure of (2) above, by using the post-processing, when the virtual camera is disposed inside the terrain object, it is possible to easily change the display image. (3)

[0013] In the structure of (1) above, as the display change processing, the display change unit may dispose a change object in the virtual space.

[0014] According to the structure of (3) above, by disposing the change object in the virtual space, when the virtual camera is disposed inside the terrain object, it is possible to easily change the display image. (4)

[0016] In any of the structures of (1) to (3) above, as the display change processing, the display change unit may reduce the visibility of an object located at a position far from the virtual camera.

[0017] According to the structure of (4) above, by making the object far from the virtual camera visible through, it is possible to prevent the game from being too simple. (5)

[0019] In the structure of (4) above, as the display change processing, the display change unit may apply fogging in such a way that the visibility of an object located at a position farther from the virtual camera is lower.

[0020] According to the structure in (5) above, an image capable of showing the sense of distance to the object that can be grasped can be displayed. (6)

[0022] In any of the structures in (1) to (5) above, it may also be that, as a display change process, the display change unit changes the display mode of at least a part of the non-front side part, and the non-front side part is the part of the surface constituting the terrain object where the surface facing the front side is not drawn.

[0023] According to the structure in (6) above, an image that can easily show that the virtual camera is arranged inside the terrain object can be displayed. (7)

[0025] In the structure in (6) above, it may also be that, as a display change process, the display change unit changes the display mode of at least a part of the non-front side part by darkening the color of the background of the virtual space.

[0026] According to the structure in (7) above, it is possible to prevent the display of an image with a sense of incongruity where the virtual camera is arranged inside the terrain object but a bright background is displayed. (8)

[0028] In the structure in (6) or (7) above, it may also be that the display change unit changes the display mode of the effect in the virtual space through a display change process so that the effect is not displayed in the non-front side part.

[0029] According to the structure in (8) above, an image that can easily show that the virtual camera is arranged in a state different from the state where the virtual camera is arranged outside the terrain object can be displayed. (9)

[0031] In any of the structures in (1) to (8) above, it may also be that, as a display change process, the display change unit emphasizes and displays the outline of the cavity located inside the terrain object.

[0032] According to the structure in (9) above, an image that can easily show the object arranged in the cavity inside the terrain object can be displayed. In addition, in the case where it is difficult to see the distance because the user does not want to see the object arranged in the cavity, an image that can easily show the existence of the cavity can also be displayed, and it can be made the action target of the player character. (10)

[0034] In any of the structures in (1) to (9) above, it may also be that, as a display change process, the display change unit reduces the visibility of the edge part of the display image.

[0035] According to the structure of the above (10), an image that can easily show a virtual camera configured within a terrain object can be displayed. In addition, by making the edge portion of the display image difficult to see, an image that would show perspective into the distance can be prevented from being displayed. (11)

[0037] In any of the structures of the above (1) to (10), it may also be that the internal determination unit determines whether the virtual camera is configured within the terrain object based on whether the four corners of the near clip plane of the virtual camera are located within the terrain object.

[0038] According to the structure of the above (11), when the area drawn using the virtual camera is within the terrain object, a display image corresponding to the case where the virtual camera is configured within the terrain object is displayed, so an image that matches the drawn area can be displayed. (12)

[0040] In any of the structures of the above (1) to (11), it may also be that the computer program product causes the computer to also function as a determination unit and a virtual camera control unit. The determination unit determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies an allowable condition. When the virtual camera approaches the terrain object in a case where the positional relationship does not satisfy the allowable condition, the virtual camera control unit performs avoidance control to prevent the virtual camera from being located within the terrain object, and when the positional relationship satisfies the allowable condition, the virtual camera control unit controls the virtual camera without performing such avoidance control. When the positional relationship satisfies the allowable condition, the virtual camera control unit automatically moves the virtual camera so that the virtual camera is configured within the terrain object.

[0041] According to the structure of the above (12), it is possible to avoid generating an image that shows a state where the player character is blocked by the surface on the front side with respect to the virtual camera orientation among the surfaces constituting the terrain object. (13)

[0043] In any of the structures of the above (1) to (11), it may also be that the computer program product causes the computer to also function as a see-through display unit. When the player character in the virtual space is blocked by the surface on the front side when viewed from the virtual camera, the see-through display unit displays the player character in a way that it appears to pass through the surface.

[0044] According to the structure of the above (13), an image that allows the position of the player character to be confirmed even when the player character is in a state of being blocked by the surface on the front side with respect to the virtual camera orientation among the surfaces constituting the terrain object can be displayed. (14)

[0046] In any of the structures (1) to (13) above, it may also be that the computer program product causes the computer to also function as a player character action control unit. Based on the user's operation input, the player character action control unit causes the player character in the virtual space to perform an action of destroying at least a part of the terrain object and / or deforming at least a part of the terrain object.

[0047] According to the structure of (14) above, in a game where the player character cannot destroy / deform the terrain object, the developer can preset the position of the virtual camera suitable for displaying the player character. On the other hand, in a game where the player character can destroy / deform the terrain object, in a way where it is difficult to set such a virtual camera, an image with improved visibility can be displayed even when the player object is arranged in a narrow space within the terrain object where the player character can perform the action of destroying / deforming the terrain object. (15)

[0049] In any of the structures (1) to (14) above, it may also be that the computer program product causes the computer to also function as a determination unit and a virtual camera control unit. The determination unit determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies the permission condition. When the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission condition, the virtual camera control unit performs avoidance control to prevent the virtual camera from being inside the terrain object. When the positional relationship satisfies the permission condition, the virtual camera control unit controls the virtual camera without performing such avoidance control. When the ratio of the surroundings of the player character being blocked by the terrain object based on the position of the player character is above the threshold, the determination unit determines that the positional relationship satisfies the permission condition.

[0050] According to the structure of (15) above, when the blocking ratio is high, it is considered that the player character is surrounded by other objects and the user wants to observe the surrounding situation. Therefore, it is possible to appropriately determine the situation where the visibility is improved by arranging the virtual camera inside the terrain object. (16)

[0052] In any of the structures (1) to (15) above, it is also possible that the computer program product causes the computer to also function as a determination unit and a virtual camera control unit. The determination unit determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies the allowable condition. When the virtual camera approaches the terrain object in the case where the positional relationship does not satisfy the allowable condition, the virtual camera control unit performs avoidance control to prevent the virtual camera from being located inside the terrain object. In the case where the positional relationship satisfies the allowable condition, the virtual camera control unit controls the virtual camera without performing such avoidance control. The determination unit determines whether the positional relationship satisfies the allowable condition based on the distance between the player character and the terrain object.

[0053] According to the structure of (16) above, also considering the situation where it is considered similar to the case where the player character is arranged outside the terrain object when being blocked by other objects in the distance of the player character, and the visibility is reduced when the virtual camera is arranged inside the terrain object, it is possible to prevent the virtual camera from being arranged inside the terrain object in such a situation. (17)

[0055] In any of the structures (1) to (16) above, it is also possible that the computer program product causes the computer to also function as a determination unit and a virtual camera control unit. The determination unit determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies the allowable condition. When the virtual camera approaches the terrain object in the case where the positional relationship does not satisfy the allowable condition, the virtual camera control unit performs avoidance control to prevent the virtual camera from being located inside the terrain object. In the case where the positional relationship satisfies the allowable condition, the virtual camera control unit controls the virtual camera without performing such avoidance control. The determination unit prioritizes the positional relationship in the horizontal direction of the virtual space over the positional relationship in the vertical direction of the virtual space to determine whether the positional relationship satisfies the allowable condition.

[0056] According to the structure of (17) above, also considering the situation where the visibility is reduced when the virtual camera is arranged inside the terrain object in a place where the player character is blocked in the vertical direction but not blocked in the front, back, left, and right directions, it is possible to prevent the virtual camera from being arranged inside the terrain object in such a situation.

[0057] In addition, the present invention can also be implemented in the form of an information processing device, an information processing system, and an information processing method.

[0058] According to the present invention, even when the virtual camera is arranged inside the terrain object, it is possible to display an image with appropriate rendering performance.

[0059] The above and other objects, features, aspects, and effects of the present invention will become further apparent from the following detailed description when compared with the accompanying drawings. Description of the Drawings

[0060] Figure 1 FIG. is an example diagram showing a state in which a left controller 3 and a right controller 4 are mounted on a main body device 2.

[0061] Figure 2 FIG. is an example diagram showing a state in which the left controller 3 and the right controller 4 are respectively removed from the main body device 2.

[0062] Figure 3 FIG. is an orthographic projection view showing an example of the main body device 2.

[0063] Figure 4 FIG. is an orthographic projection view showing an example of the left controller 3.

[0064] Figure 5 FIG. is an orthographic projection view showing an example of the right controller 4.

[0065] Figure 6 FIG. is a block diagram showing an example of the internal structure of the main body device 2.

[0066] Figure 7 FIG. is a block diagram showing an example of the internal structures of the main body device 2, the left controller 3, and the right controller 4.

[0067] Figure 8 FIG. is a diagram showing an example of a terrain object as a voxel object.

[0068] Figure 9 FIG. shows Figure 8 an example of a situation before a part of the terrain object shown is deleted.

[0069] Figure 10 FIG. shows Figure 8 an example of a situation after a part of the terrain object shown is deleted.

[0070] Figure 11 FIG. is a diagram showing an example of the content of voxel data.

[0071] Figure 12 FIG. is a diagram showing an example of property information representing the properties of a material.

[0072] Figure 13 FIG. is a diagram showing an example of texture information representing the texture of a material.

[0073] Figure 14 FIG. is a diagram showing an example of a method for generating a mesh.

[0074] Figure 15 This is a diagram showing an example of a game image including terrain objects.

[0075] Figure 16 This is a diagram showing an example in which a virtual camera C is arranged in a first state in a game space where a terrain object TO and a player character PC are set.

[0076] Figure 17 This is a diagram showing an example of a situation where the player character PC has removed a part of the terrain object TO.

[0077] Figure 18 This is a diagram showing an example of the destruction range of the voxels in the terrain object TO that are to be destroyed.

[0078] Figure 19 This is a diagram showing an example in which a virtual camera C is arranged in a second state in a game space where a terrain object TO and a player character PC are set.

[0079] Figure 20 This is a diagram showing an example in which a virtual camera C is arranged in a third state in a game space where a terrain object TO and a player character PC are set.

[0080] Figure 21 This is a diagram for explaining an example of the movable area of the virtual camera C when the in - ground camera permission condition is not satisfied and an example of the movable area of the virtual camera C when the in - ground camera permission condition is satisfied.

[0081] Figure 22 This is a diagram showing an example of a situation where six faces, namely up, down, left, right, front, and back, are photographed based on the position of the player character PC.

[0082] Figure 23 This is a diagram showing an example of the display image displayed on the display 12 based on the image seen from the virtual camera C arranged in the first state.

[0083] Figure 24 This is a diagram showing an example of the display image displayed on the display 12 based on the image seen from the virtual camera C arranged in the second state.

[0084] Figure 25 This is a diagram showing an example of the display image displayed on the display 12 based on the image seen from the virtual camera C arranged in the third state.

[0085] Figure 26 This is a diagram showing an example of the points P1 to P4 at the four corners of the near - clipping plane of the virtual camera C.

[0086] Figure 27This is a diagram showing an example of a display image with a fogging effect assigned based on the distance from the virtual camera C.

[0087] Figure 28 This is a diagram showing an example of a display image that changes the display mode of the background part of the game space.

[0088] Figure 29 This is a diagram showing an example of various data used in the information processing of the game system 1.

[0089] Figure 30 This is a flowchart showing an example of the flow of the game process executed by the game system 1.

[0090] Figure 31 This is a diagram showing Figure 30 a subroutine showing an example of the in-game camera switching process in step S12 in the flowchart shown. Detailed Implementation Manner

[0091] 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 device (information processing device, which functions as the main body of the game device in the present embodiment) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 can be respectively attached to and detached from the main device 2. That is, the game system 1 can be used as a device in which the left controller 3 and the right controller 4 are respectively attached to the main device 2 to be integrated. In addition, the game system 1 can also independently use the main device 2, the left controller 3, and the right controller 4 (refer to Figure 2 ). In the following, the hardware structure of the game system 1 of the present embodiment will be described, and then the control of the game system 1 of the present embodiment will be described.

[0092] Figure 1 This 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 device 2. As Figure 1 shown, the left controller 3 and the right controller 4 are respectively attached to the main device 2 to be integrated. The main device 2 is a device that executes various processes (for example, game processes) in the game system 1. The main device 2 includes a display 12. The left controller 3 and the right controller 4 are devices having an operation unit for the user to input.

[0093] Figure 2 This is a diagram showing an example of a state after the left controller 3 and the right controller 4 are respectively detached from the main device 2. As Figure 1 and Figure 2 shown, the left controller 3 and the right controller 4 can be attached to and detached from the main device 2. In addition, hereinafter, sometimes as a collective term for the left controller 3 and the right controller 4, it is described as "controller".

[0094] Figure 3 This is a six-sided view showing an example of the main device 2. As Figure 3 shown, the main device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front-side surface, i.e., the surface on which the display 12 is provided) is substantially rectangular.

[0095] In addition, the shape and size of the housing 11 are arbitrary. As an example, the housing 11 can be of a size that can be carried. Alternatively, the main device 2 alone or the integrated device with the left controller 3 and the right controller 4 mounted on the main device 2 can be a portable device. Additionally, the main device 2 or the integrated device can also be a hand-held device. Moreover, the main device 2 or the integrated device can further be a movable device.

[0096] As Figure 3 shown, the main device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 is used to display the images generated by the main device 2. In the present embodiment, it is assumed that the display 12 is a liquid crystal display device (LCD). However, the display 12 can be any type of display device.

[0097] In addition, the main device 2 has a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is a type capable of multi-touch input (e.g., the capacitive method). However, the touch panel 13 can also be of any type, for example, it can also be a type capable of single-touch input (e.g., the resistive film method).

[0098] The main device 2 includes a speaker (i.e., Figure 6 the speaker 88 shown) inside the housing 11. As Figure 3 shown, speaker holes 11a and 11b are formed on the main surface of the housing 11. Moreover, the output sound of the speaker 88 is output from these speaker holes 11a and 11b respectively.

[0099] In addition, the main device 2 includes a left terminal 17 as a terminal for the main device 2 to communicate with the left controller 3 by wire, and a right terminal 21 for the main device 2 to communicate with the right controller 4 by wire.

[0100] As Figure 3As shown, the main body device 2 is provided with a slot 23. The slot 23 is provided on the upper side surface of the housing 11. The slot 23 has a shape capable of mounting a storage medium of a specified type. The storage medium of the specified type is, for example, a storage medium dedicated to the game system 1 and information processing devices of the same type as it (e.g., a dedicated memory card). The storage medium of the specified type is used, for example, to store data utilized in the main body device 2 (e.g., save data of applications, etc.) and / or programs executed in the main body device 2 (e.g., programs of applications, etc.). In addition, the main body device 2 is provided with a power button 28.

[0101] The main body device 2 is provided with a lower terminal 27. The lower terminal 27 is a terminal for the main body device 2 to communicate with a cradle. In the present embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the above-mentioned integrated device or the main body device 2 alone is placed on the cradle, the game system 1 can display the image generated and output by the main body device 2 on a fixed monitor. In addition, in the present embodiment, the cradle has a function of charging the above-mentioned integrated device or the main body device 2 alone placed thereon. In addition, the cradle has a function of a hub device (specifically, a USB hub).

[0102] Figure 4 is a six-sided view showing an example of the left controller 3. As Figure 4 shown, the left controller 3 is provided with a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the vertical direction (i.e., the Figure 1 and Figure 4 shown y-axis direction). The left controller 3 can be longitudinally held even in a state separated from the main body device 2. The housing 31 is set to a shape and size that can be held with one hand, particularly with the left hand, when held longitudinally. In addition, the left controller 3 can also be held horizontally. When the left controller 3 is held horizontally, it can also be held with both hands.

[0103] The left controller 3 is provided with an analog stick 32. As Figure 4 shown, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit capable of inputting directions. The user can input a direction corresponding to the tilting direction (and input a magnitude corresponding to the tilting angle) by tilting the analog stick 32. In addition, the left controller 3 may be provided with a cross key or a slide stick capable of performing slide input, etc., instead of the analog stick as the direction input unit. In addition, in the present embodiment, an input of pressing the analog stick 32 can be performed.

[0104] The left controller 3 has various operation buttons. The left controller 3 has four operation buttons 33 to 36 (specifically, a right direction button 33, a down direction button 34, an up direction button 35, and a left direction button 36) on the main surface of the housing 31. In addition, the left controller 3 has a record button 37 and a - (minus) button 47. The left controller 3 has a first L button 38 and a ZL button 39 on the upper left portion of the side surface of the housing 31. In addition, the left controller 3 has a second L button 43 and a second R button 44 on the side surface of the housing 31 on which it is installed when installed on the main device 2. These operation buttons are used to perform instructions corresponding to various programs (for example, OS programs, applications) executed by the main device 2.

[0105] In addition, the left controller 3 has a terminal 42 for wired communication between the left controller 3 and the main device 2.

[0106] Figure 5 1 is a six-sided view showing an example of the right controller 4. Figure 5 As shown, the right controller 4 includes a housing 51. In this embodiment, the housing 51 is longitudinally elongated, that is, long in the vertical direction. The right controller 4 can be held longitudinally even when detached from the main device 2. The housing 51 is shaped and sized so that it can be held with one hand, particularly the right hand, when held longitudinally. In addition, the right controller 4 can also be held horizontally. When holding the right controller 4 horizontally, it can also be held with both hands.

[0107] The right controller 4, like the left controller 3, has an analog stick 52 as a direction input unit. In the present embodiment, the analog stick 52 has the same structure as the analog stick 32 of the left controller 3. In addition, the right controller 4 may also have a cross key or a sliding stick capable of sliding input instead of the analog stick. In addition, like the left controller 3, the right controller 4 has four operation buttons 53 to 56 (specifically, the A button 53, the B button 54, the X button 55, and the Y button 56) on the main surface of the housing 51. In addition, the right controller 4 has a + (positive) button 57 and a Home button 58. In addition, the right controller 4 has a first R button 60 and a ZR button 61 on the upper right side of the side of the housing 51. In addition, like the left controller 3, the right controller 4 has a second L button 65 and a second R button 66.

[0108] In addition, the right controller 4 has a terminal 64 for wired communication between the right controller 4 and the main device 2.

[0109] Figure 6 This is a block diagram showing an example of the internal structure of the main device 2. Figure 3 In addition to the structure shown, it also has Figure 6Each of the constituent elements 81 to 91, 97, and 98 shown. Some of these constituent elements 81 to 91, 97, and 98 can also be mounted as electronic components on an electronic circuit board and housed in the housing 11.

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

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

[0112] The main device 2 includes a slot interface (hereinafter simply referred to 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 of a specified type of storage medium (for example, a dedicated memory card) installed in the slot 23 according to the instruction of the processor 81.

[0113] The processor 81 appropriately reads or writes data among the flash memory 84, the DRAM 85, and the above-mentioned various storage media to execute the above-mentioned information processing.

[0114] The main device 2 is provided with a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates with external devices via a network (specifically, wireless communication). In the present embodiment, the network communication unit 82 connects to a wireless LAN and communicates with external devices by a method conforming to the Wi-Fi standard as the first communication method. In addition, the network communication unit 82 performs wireless communication with other main devices 2 of the same type by a specified communication method (for example, communication based on a custom protocol (Japanese: dokuji purotokoru), infrared communication) as the second communication method. Furthermore, the wireless communication based on the above second communication method can perform wireless communication with other main devices 2 arranged within a closed local area network, and realizes the function of so-called "local communication" capable of transmitting and receiving data by directly communicating between multiple main devices 2.

[0115] The main device 2 is provided with a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main device 2 and the left controller 3 and the right controller 4 is arbitrary. In the present embodiment, the controller communication unit 83 performs communication conforming to the Bluetooth (registered trademark) standard between the left controller 3 and between the right controller 4.

[0116] The processor 81 is connected to the above-mentioned left terminal 17, right terminal 21, and lower terminal 27. When the processor 81 performs wired communication with the left controller 3, it sends 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. In addition, when the processor 81 performs wired communication with the right controller 4, it sends 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. In addition, when the processor 81 communicates with the bracket, it sends data to the bracket via the lower terminal 27. Thus, in the present embodiment, the main device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4 respectively. In addition, when the left controller 3 and the right controller 4 are installed on the main device 2 to form an integrated device or the main device 2 alone is installed on the bracket, the main device 2 can output data (for example, image data, sound data) to a fixed monitor or the like via the bracket.

[0117] Here, the main device 2 can communicate with a plurality of left controllers 3 simultaneously (in other words, in parallel). Additionally, the main device 2 can communicate with a plurality of right controllers 4 simultaneously (in other words, in parallel). Thus, multiple users can simultaneously input to the main device 2 by using combinations of the left controller 3 and the right controller 4 respectively. As an example, it can be that while a first user inputs to the main device 2 using a first combination of the left controller 3 and the right controller 4, a second user inputs to the main device 2 using a second combination of the left controller 3 and the right controller 4.

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

[0119] The main device 2 includes an encoding / decoding circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The encoding / decoding circuit 87 is connected to the speakers 88, the sound input / output terminal 25, and the processor 81. The encoding / decoding circuit 87 is a circuit that controls the input / output of sound data to / from the speakers 88 and the sound input / output terminal 25.

[0120] The main device 2 includes a power control unit 97 and a storage battery 98. The power control unit 97 is connected to the storage battery 98 and the processor 81. Additionally, although not shown, the power control unit 97 is connected to each part of the main device 2 (specifically, each part that receives power supply from the storage battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the storage battery 98 to the above-mentioned each part based on an instruction from the processor 81.

[0121] In addition, the storage battery 98 is connected to the lower terminal 27. When an external charging device (for example, a bracket) is connected to the lower terminal 27 and power is supplied to the main device 2 via the lower terminal 27, the supplied power is charged into the storage battery 98.

[0122] Figure 7 It is a block diagram showing an example of the internal structures of the main device 2, the left controller 3, and the right controller 4. In addition, details of the internal structure related to the main device 2 are shown in Figure 6 and are thus omitted in Figure 7

[0123] The left controller 3 includes a communication control unit 101 that communicates with the main device 2. As Figure 7 ​As shown, 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 passing through the terminal 42. The communication control unit 101 controls the communication method of the left controller 3 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. In addition, when the left controller 3 is detached from the main body device 2, wireless communication is performed between the communication control unit 101 and the main body device 2 (specifically, the controller communication unit 83). For example, wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with the Bluetooth (registered trademark) standard.

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

[0125] The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, 44, and 47). In addition, the left controller 3 includes an analog joystick (described as "joystick" in Figure 7 ). Each button 103 and the analog joystick 32 repeatedly output information related to the operation performed on themselves to the communication control unit 101 at appropriate times.

[0126] The communication control unit 101 acquires information related to input (specifically, information related to an operation or a detection result of a sensor) from each input unit (specifically, each button 103 and the analog joystick 32). The communication control unit 101 transmits operation data including the acquired information (or information obtained by subjecting the acquired information to prescribed processing) to the main body device 2. In addition, the operation data is repeatedly transmitted at a rate of once every prescribed time. In addition, the intervals for transmitting information related to input to the main body device 2 may be the same or different for each input unit.

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

[0128] 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).

[0129] AsFigure 7 As shown in Figure 7 , the right controller 4 includes a communication control unit 111 that communicates with the main device 2. In addition, the right controller 4 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 device 2 through both wired communication via the terminal 64 and wireless communication without passing through the terminal 64 (specifically, communication conforming to the Bluetooth (registered trademark) standard), and the right controller 4 controls the communication method with the main device 2.

[0130] The right controller 4 includes the same input units as those of the left controller 3. Specifically, it includes each button 113 and the analog joystick 52. Regarding these input units, they have the same functions as the input units of the left controller 3 and operate in the same manner.

[0131] 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.

[0132] Next, with reference to Figures 8 - 15 Figures 8 - 15 will be used to explain the outline of the processing executed in the game system 1. In the present embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player characters operated by players) are arranged in a game space that is a three-dimensional virtual space, and causes the display device to display the game image. In addition, in the present embodiment, the display device for displaying the game image may be the above-mentioned display 12 or a fixed monitor.

[0133] In the present embodiment, the shapes of several objects in the game space are defined by voxel data. Here, a voxel refers to a rectangular parallelepiped (more specifically, a cubic) region arranged in a grid pattern in the game space, and voxel data refers to data set for each voxel. Hereinafter, an object whose shape is defined by voxel data will be referred to as a "voxel object". In the present embodiment, the game system 1 stores voxel data for each of the multiple voxels set in the game space as data for generating voxel objects in the game space.

[0134] Figure 8 FIG. is a diagram showing an example of a terrain object as a voxel object. As Figure 8 shown in Figure 8 , in the present embodiment, the shape of the terrain object representing the terrain such as the ground is defined by voxel data (that is, it is a voxel object). Figure 8 Each cube shown in Figure 8 represents a terrain object. In addition, in Figure 8In the figure, the portions that form the edges of the terrain object are shown as thick lines, but these thick lines are marked for the purpose of making the drawings easier to view. In reality, it is not necessary to thicken the edges of the terrain object.

[0135] In addition, Figure 8 the terrain object shown is generated, for example, according to the following rule: "When the parameter included in the voxel data set for a voxel is greater than a specified value, a cube is placed at the position of that voxel; when it is less than or equal to the specified value, nothing is placed at the position of that voxel." Figure 8 The terrain object shown is presented for the purpose of exemplifying the relationship between voxels and voxel objects in an easy-to-understand manner. In this embodiment, in reality, for example, as the terrain object shown later Figure 15 a voxel object is generated (based on voxel data) according to a rule that forms a shape more complex than the length of one side of a voxel. In addition, the rule for determining the shape of the voxel object based on voxel data is arbitrary. In other embodiments, the game system 1 can generate a voxel object as shown in Figure or a voxel object as shown in ​ based on object data.

[0136] For a voxel object, its shape can be changed by changing the voxel data of each voxel. ​ And ​ are diagrams showing an example of the situation before and after a part of the terrain object shown in ​ is deleted. That is, when the slanted part in the terrain object shown in ​ is damaged, the terrain object changes to the shape shown in ​ At this time, the game system 1 can easily eliminate the terrain object by rewriting the voxel data of the voxels in the above-mentioned slanted part to indicate the absence of a terrain object. In addition, in the game system 1, when adding a terrain object, the voxel data of each voxel is also changed in the same way as when eliminating a terrain object, so that the shape of the terrain object can be easily changed.

[0137] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, when the terrain object in the game is damaged for some reason (e.g., the player character strikes the terrain object) and as a result the shape of the terrain object changes, the game system 1 can freely change the shape of the terrain object by changing the voxel data used in the generation of the terrain object without directly changing the data representing the external shape of the terrain object (i.e., the mesh described later).

[0138] ​This is a diagram showing an example of the content of voxel data. Here, in the present embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 stores each voxel in the game space in association with voxel data. The voxel data represents the presence or absence of voxel objects in the voxel corresponding to the voxel data, etc.

[0139] As ​ shown, the voxel data includes density data. The density data is data of density, and this density represents the degree to which an object is included in the region defined for each voxel. Details will be described later, but the position and shape of the surface of the voxel object (i.e., the mesh described later) are determined based on the above density. That is, in the present embodiment, the above density is also data used to create a mesh for defining the surface of the voxel object.

[0140] 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, it is assumed that in the game system 1, when the value of the density set for a voxel is high, the proportion of the volume occupied by the voxel object in the voxel tends to be large, and when the value of the density is low, this proportion in the voxel is small. For example, when the density is 0, there is no object in the voxel, when the density is 255, the entire voxel is an object, and when the density is a value in between, the object can occupy a proportion corresponding to the value in the voxel. Moreover, the shape of the voxel mesh, that is, the shape of the voxel object, is determined based on the density. However, the shape of the voxel object generated based on the above density does not need to be a volume that is strictly consistent with the proportion indicated by the density. For example, in the method of generating a voxel object such as ​ and the method of generating a voxel object such as ​ even based on the same density, the volume may sometimes be different.

[0141] In addition, in other embodiments, the density may also represent either the state in which the voxel object occupies the entire region in the voxel or the state in which the region in the voxel does not contain the voxel object. For example, the density data may be data that can only take either 0 or 1.

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

[0143] As ​As shown, in the present embodiment, the material data represents identification information of the material (referred to as "material ID"). In addition, in the present embodiment, the game system 1 stores material information representing the properties and textures of the materials for each material prepared in the game. In the present embodiment, the material information associates the material ID, the properties of the material, and the appearance 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") (refer to ​ ).

[0144] ​ FIG. is an example of property information representing the properties of the material. As ​ shown, the game system 1 stores property information obtained by associating the above property ID with information representing the content of the property indicated by the property ID. The properties of the material refer to the properties that the voxel object with the material set has in the game, for example, ​ the information such as weight and slipperiness shown. In addition, the specific content of the property is arbitrary. For example, as the property of the material, the following information may also be set.

[0145] · Temperature

[0146] · Fragility (for example, the number of times until the voxel object is destroyed when an impact is applied to the voxel object)

[0147] · Whether the voxel object adheres to other objects

[0148] · The amount of the player character's physical strength restored when the player character destroys the voxel object

[0149] · The amount of in-game currency obtained by the player character when the player character destroys the voxel object

[0150] In addition, the specific content of the property set for the material is arbitrary. In other embodiments, different information from the above may also be set as the information representing the properties of the material.

[0151] ​ FIG. is an example of texture information representing the texture of the material. As ​ shown, the game system 1 stores texture information obtained by associating the above texture ID with the texture indicated by the texture ID.

[0152] In addition, as data for defining the appearance of a voxel object, in addition to texture information, any information related to color and / or pattern can also be set. For example, as information related to the appearance of a voxel object, a crack pattern can also be set. By using such a pattern, the game system 1 can generate an image of a voxel object that represents an appearance with cracks added.

[0153] As described above, in the present embodiment, the material data defines the properties of the voxel object and the texture for the voxel object through the material ID. For example, when the material ID shown in the material data included in the voxel data is "002", the property indicated by the property ID "001" associated with this material ID in the material information is set as the property of the voxel object corresponding to this voxel data (refer to the arrow shown in ​ . In addition, in the above case, the texture indicated by the texture ID "002" associated with this material ID in the material information is applied to the voxel object corresponding to this voxel data (refer to the arrow shown in ​ .

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

[0155] In addition, the material data can be any data that can be used to determine the properties and / or textures of the material. For example, in other embodiments, the material data can also be data representing the above property ID and texture ID, and can also have a data structure that actually includes data representing the properties and textures of the material.

[0156] In addition, since the material data is information related to the material, it can also represent other information different from the above properties and textures. For example, the material data can also include effect data representing the effects that occur when the effect occurrence conditions set for the voxel object are satisfied (for example, a part of the voxel object is damaged, or a character steps on the voxel object). In addition, the effect data can also be data representing an effect image (for example, an effect image showing the voxel object being damaged), or can also be data representing an effect sound (the sound of footsteps when a character walks on the voxel object).

[0157] As shown in ​ , the voxel data includes state data representing the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data can be data representing whether the voxel object is wet, or can be data representing the amount of damage applied to the voxel object. The content of the state data can sometimes be updated during the game.

[0158] In this embodiment, the surface of the voxel object is represented by a mesh. A mesh refers to a collection of a plurality of faces (specifically, polygons) arranged in the game space. In this 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.

[0159] ​ It is a diagram showing an example of a method for generating a mesh. In addition, in ​ , for the purpose of making the drawings easy to view and the description easy to understand, the voxels and the mesh are two-dimensionally represented, but actually a three-dimensional mesh is generated based on the voxels in the three-dimensional space.

[0160] As described above, in this embodiment, the density set for the voxels is in the range of 0 to 255. In addition, in this embodiment, the voxels with a density equal to or higher than the reference value are considered to be inside the object, and the voxels with a density lower than the reference value are considered to be outside the object. It is not necessary to define only the voxels with a density of 0 as outside the object (i.e., the reference value = 1), and this reference value is set to 128, for example. In ​ In the example shown, the density is set to 0 in the voxel 201 and other voxels on the outside, the density of the voxel 202 is set to 100 which is lower than the reference value, and the densities in the voxels 203 and 204 are set to 150 and 200 which are higher than the reference value. In this embodiment, the game system 1 generates vertices between the voxels with a density equal to or higher than the reference value and the voxels with a density less than the reference value. Specifically, for each region spanning 8 adjacent (4 in the drawing) voxels (the region surrounded by the dotted line in the drawing), a determination is made as to whether to generate vertices. That is, vertices are generated in a region that spans both voxels with a density equal to or higher than the reference value and voxels with a density less than the reference value. And when passing between the voxels with a density equal to or higher than the reference value and the voxels with a density less than the reference value between adjacent vertices (the boundaries of the above-mentioned regions each containing a vertex), these vertices are connected, thereby generating a polygon mesh.

[0161] The densities of adjacent voxels are compared for each of the XYZ axes, and the coordinates of the vertices are determined by interpolation based on the density difference. At this time, it is also possible to perform coordinate calculation based on the normal information, but it can also be that the normal information is pre-held for at least some of the voxels, and in the case where the normal information is not held, it can also be that the normal information is calculated based on the densities of adjacent voxels to each other. In addition, in ​Among them, the density of voxel 202 is lower than the reference value. Therefore, in the determination of the presence or absence of vertices, voxel 202 is regarded as outside the object. However, the density value of voxel 202 itself is used for the coordinate calculation of the generated vertices. Assume that in the case where the reference value is set to a value lower than the density of voxel 202, the result is that ​ Vertices are further increased at the upper right and upper left sides of voxel 202.

[0162] By generating a polygon mesh as described above, a shape of a volume that to some extent reflects the density of each voxel can be generated. However, depending on the relationship with adjacent voxels, there are sometimes cases where a voxel with a density of 0 contains a part of the region inside the object, or a voxel with a density of 255 contains a part of the region outside the object. In addition, in the present embodiment, voxels with a density lower than the reference value are treated as outside the object. Therefore, compared with the case of treating them as inside the object, the number of vertices decreases, and accordingly the volume also decreases. That is, there is no need to calculate the polygon mesh in such a way that the volume strictly corresponds to the density value.

[0163] ​ FIG. is an example of a game image including a terrain object. In the present embodiment, by generating a mesh as described above, the voxel object can be set to have a shape with unevenness that is more complex than the length of one side of the voxel.

[0164] In addition, the method of generating a mesh based on voxel data is arbitrary. For example, in other embodiments, a mesh may also be generated in such a way that a cube is arranged for a voxel when the density of the voxel data is greater than a specified value (refer to ​ ).

[0165] 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 determined by the above voxel data. Specifically, the game system 1 determines the texture for drawing each face of the mesh based on the above voxel data, and maps the determined texture to each face, thereby generating an image of the voxel object. In addition, the texture mapped to each face of the mesh is determined based on the voxel data of the voxel (referred to as an object voxel) used to generate the face among the voxels where the voxel object exists. In addition, although it also depends on the mesh generation method, the object voxel is, for example, one or more voxels arranged around the face. That is, the texture mapped to the face of the mesh is determined to be a texture corresponding to the material set for one or more voxels arranged around the face.

[0166] In addition, in other embodiments, it is also possible to include material data of multiple types (for example, two types) in one voxel data. At this time, the voxel data includes ratio data related to the material data of multiple types. The ratio data is data for determining the texture to be used for the voxel object, and represents the ratio of the influence of each material (specifically, the texture corresponding to the material) shown by the material data of the above-mentioned multiple types on the appearance (specifically, color and / or pattern) of the voxel object. In addition, when determining the texture to be mapped to each face of the mesh, the texture is determined based on various data (specifically, density data, material data of multiple types, and ratio data) included in the voxel data of the target voxel. For example, when setting multiple types of materials for the target voxel corresponding to one face, it is possible to use the texture corresponding to the material with the greatest influence degree (one type) considering the above ratio, or to use each texture corresponding to multiple types of materials considering the above ratio.

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

[0168] Next, with reference to ​ , an example of playing a game in which a player character in the game space moves according to a user operation on the game system 1 will be described. For example, in this embodiment, according to operations on each operation button and joystick of the left controller 3 and / or the right controller 4 in the integrated game system 1, or a touch operation on the touch panel 13 of the main device 2, an operation to move the entire game system 1, an operation to change the posture, etc., the player character PC appearing in the game space displayed on the display 12 is moved.

[0169] ​ is a diagram showing an example in which a virtual camera C is arranged in a first state in a game space where a terrain object TO and a player character PC are set. The terrain object TO is not limited to natural objects and natural areas composed of the ground, cliffs, rocks, etc. in the game space, and also includes artificial objects such as buildings and paved surfaces. The terrain object TO is composed of voxel objects generated based on the above-mentioned voxel data and whose surfaces are represented by meshes. For example, a voxel space of one specified voxel is set in the game space, and the terrain object TO is generated in the game space by specifying multiple voxels in this voxel space. Here, in order to specify multiple voxels, at least one voxel space is set in at least a part of the game space, and the length (resolution) of one side of the voxel, the vector (direction) of the xyz axes in the vector space in the global coordinates, the lengths of the voxel space in the x, y, and z directions, the position of the voxel space in the game space, etc. are specified for each voxel space. In addition, in​ In this case, an example of drawing is illustrated by using a grid having the appearance as ​ described to generate a grid with such an appearance. However, it is also possible to perform drawing by using a ​ block-shaped grid as ​ , ​ described.

[0170] In the present embodiment, a display image based on an image (virtual space image) seen from a virtual camera C disposed in the game space is displayed on a display device (e.g., the display 12). For example, the virtual camera C is disposed within a movable area based on the position of a player character PC disposed in the game space. The player character PC can move within the game space according to a user operation, and the above-mentioned movable area also moves within the game space corresponding to the movement of the player character PC. In addition, the virtual camera C can move within the above-mentioned movable area corresponding to a user operation. Therefore, the configuration position of the virtual camera C can move within the game space corresponding to the user operation for moving the player character PC and the user operation for moving the position of the virtual camera C, respectively.

[0171] In the present embodiment, for example, it is possible to move the player character PC in a cave B as ​ shown, such as a cave or a cavity pre-formed in a terrain object TO, or in a cave formed by the player character PC destroying a part of the terrain object TO and / or deforming a part of the terrain object TO. For example, the player character PC can destroy the terrain object TO and eliminate (remove) at least a part of it by performing an action of destroying the terrain object TO. As an example, the player character PC can destroy the terrain object TO and remove a part of the terrain object TO by performing an action of hitting a part of the terrain object TO.

[0172] ​ is a diagram showing an example of a situation where the player character PC has removed a part of the terrain object TO. As an example, ​ the example shown shows the inside of the terrain object TO, where inside the terrain object TO, the player character PC digs forward while removing a part of the terrain object TO, and a longitudinal sectional view of the terrain object TO is used to show the situation of this digging forward. In addition, ​ the longitudinal sectional view shown is not the virtual space image used in the present embodiment or the display image displayed based on the virtual space image, but a diagram for explaining the situation where the player character PC digs the terrain object TO and moves forward.

[0173] When the player character PC performs an action of hitting a part of the terrain object TO, the terrain object TO within a specified range centered on the hit position is eliminated. For example, as ​ shown in the upper figure above, when the player character PC performs an action of hitting the wall of the end of a cave formed within the terrain object TO, the terrain object TO deeper than the wall is damaged and eliminated, so the cave is dug in the depth direction. Specifically, as ​ shown in the lower figure below, in the terrain object TO, a bell-shaped destruction range is formed by the destruction action of the player character PC. In this bell-shaped destruction range, the deepest part missing due to the destruction is in the shape of a semi-ellipsoid. Through this action, a space without the terrain object TO is expanded at the deepest part of the above cave. ​ An example is shown where the space CV of a cave formed in the terrain object TO is expanded due to the above action.

[0174] In this embodiment, the situation where the terrain object TO is damaged and eliminated is represented by changing the voxel data of each voxel constituting the terrain object TO. ​ It is a figure showing an example of the destruction range of the voxels to be destroyed in the terrain object TO. In addition, ​ the left figure in shows the front (the damaged surface) of the terrain object TO observed from the side of the player character PC that destroys the terrain object TO. In addition, ​ the right figure in shows the right side of the terrain object TO shown in the left figure.

[0175] The destruction range of the terrain object TO damaged by the destruction action of the player character PC is set based on the position, strength, ability of the player character PC to damage the terrain object TO, and the strength (material) possessed by the terrain object TO. For example, the destruction range is set to the following range: within a specified distance from a reference position set in the game space based on the position where the destruction action performed by the player character PC occurs. In ​ the example, in the terrain object TO, a bell-shaped destruction range is formed with the position where the player character PC performs the destruction action as the center, and the deepest part missing due to the destruction is in the shape of a hemisphere. In addition, the shape of the destruction range can also be other shapes. Besides being spherical, ellipsoidal, cubic, cylindrical, wedge-shaped, or a shape generated by 3D software, it can also be a shape with a part of these shapes missing, etc. In addition, the position of the destruction range can be set with the position where the destruction action performed by the player character PC occurs in the game space (for example, the position reached by the hitting fist of the player character PC) as the center, or it can be set with the front at a specified distance from this position observed from the player character PC as the center.

[0176] Based on the above-mentioned damage range, a signed distance field (SDF) is used to determine the voxels to be eliminated (including partial elimination). The SDF represents the distance from each voxel to the surface of the nearest damage range, with the surface of the damage range set to 0, the outside of the damage range regarded as a positive distance, and the inside of the damage range regarded as a negative distance. Moreover, the elimination process for each voxel is set according to the SDF in each voxel. For example, for the voxels to be eliminated, by rewriting the voxel data of the voxel to represent the absence of a terrain object, a part of the voxel is eliminated from the terrain object TO.

[0177] For example, in this embodiment, the elimination of at least a part of each voxel is controlled by changing the density included in the voxel data. For example, density is an index indicating the degree of the volume occupied by the voxel object in the region defined by the voxel. The value of density can take an integer value in the range from a lower limit value (e.g., 0) to an upper limit value (e.g., 255). Moreover, it is set that when the value of the density set for the voxel is high, the above-mentioned degree in the voxel is large, and when the value of the density is low, the above-mentioned degree in the voxel is smaller. In addition, for the voxel with the density set to the lower limit value (i.e., 0), it is regarded that the voxel does not contain a voxel object, and for the voxel with the density set to the upper limit value (i.e., 255), it is regarded that the whole voxel contains a voxel object. That is to say, density becomes voxel data representing the existence of a terrain object by being set to a value larger than the lower limit value, and functions as voxel data representing the absence of a terrain object by being set to the lower limit value. However, the shape of the voxel grid generated based on density does not need to have a volume strictly corresponding to the value of density.

[0178] In this embodiment, the density of each voxel is rewritten based on the SDF of each voxel, thereby controlling the elimination of each voxel. Specifically, by at least rewriting the density of the voxel at a negative SDF distance to be low, at least a part of the voxels included in the destruction range is made into a state where there is no terrain object. As a first example, the density of the voxel at a negative SDF distance is rewritten to the lower limit value, thereby making the voxels included in the destruction range into a state where there is no terrain object; the density of the voxel at a positive SDF distance is maintained at its original value, thereby making the voxels outside the destruction range into a state where there is a terrain object. As a second example, for the density of the voxel at a negative SDF distance, the larger the magnitude of the absolute value of this distance, the lower the value it is rewritten to, and the density of the voxel whose absolute value magnitude is greater than a specified value is rewritten to the lower limit value, thereby making a part of the voxels included in the destruction range into a state where there is no terrain object; the density of the voxel at a positive SDF distance is maintained at its original value, thereby making the voxels outside the destruction range into a state where there is a terrain object. As a third example, the density of the voxel at a negative SDF distance is rewritten to the lower limit value, thereby making the voxels included in the destruction range into a state where there is no terrain object; for the density of the voxel at a positive SDF distance, the smaller the magnitude of the absolute value of this distance, the lower the value it is rewritten to, thereby making a part of the voxels outside the destruction range also into a state where there is not a whole voxel object existing within the voxel.

[0179] In addition, in the rewriting of the density in the above voxel data, the change amount of the density can also be adjusted according to the type and state of the material indicated by the material data included in the voxel data. For example, the change amount of the density can also be adjusted according to the properties of the material indicated by the above material data (e.g., fragility, temperature) (for example, the more easily the material is damaged, the larger the change amount of the density rewritten to be low).

[0180] In addition, in the rewriting of the density in the above voxel data, the amount of change in the density can also be adjusted according to the state data included in the voxel data. For example, the above state data is data representing the amount of damage inflicted on the terrain object TO by the player character PC. As an example, regarding whether to decrease the density in the voxel data or increase the amount of damage, it can also be determined according to the relationship between the attack power of the player character PC and the defense power of the terrain object TO. Specifically, in the relationship between the hardness of the attacking side (for example, the hardness of the fist with which the player character PC punches the terrain object TO) and the hardness of the attacked side (the hardness of the material of the terrain object TO), when the hardness of the attacking side is stronger, the density in the above-mentioned destruction range is rewritten; when the hardness of the attacked side is stronger, neither the density nor the amount of damage in the above-mentioned destruction range is rewritten. Moreover, when the hardness of the attacking side is equal to the hardness of the attacked side, the amount of damage to the voxels within the above-mentioned destruction range is increased, and when this amount of damage exceeds the allowable amount (the damage tolerance value of the material) of the voxels, the density of the voxels is rewritten. In addition, when the amount of damage to the voxels exceeds the allowable amount of the voxels, the density of the voxels can also be set to 0 to eliminate the voxels, and the amount of damage to the voxels can also function as voxel data indicating the absence of terrain.

[0181] Then, by newly generating a mesh on the surface of the terrain object TO (specifically, the surface newly exposed to the outside due to the destruction) after rewriting the density as described above, the update for display is performed. For example, based on the occurrence of the event that the terrain object TO is damaged, the vertices of the mesh including the range of voxels whose voxel data has been rewritten at least due to this destruction are recalculated, thereby generating a new mesh. As an example, as ​Generate each vertex of the mesh as shown. In this way, after voxel elimination, a new mesh is generated by an algorithm that recalculates the vertices of the mesh based on the density of each voxel between the voxels where there is no terrain and the voxels where there is terrain. As a result, the terrain object TO may be eliminated. Then, based on the voxel data, determine the texture for each face used to draw the mesh, and map the determined texture to each face, thereby generating an image of the damaged terrain object TO. In addition, the range for performing the above-mentioned recalculation of the mesh may also be set to include a chunk (a group of voxels that is a processing unit composed of a specified number of voxels) of voxels whose voxel data has been rewritten. For example, if 16×16×16 voxels are set as one chunk, and recalculation is performed on the chunk containing the voxels whose voxel data has been rewritten, the processing can be reduced compared to recalculating the mesh of the entire game space. This range may also be set to the voxel space where the voxels whose voxel data has been rewritten are arranged, or may be set to the entire terrain object TO containing the voxels whose voxel data has been rewritten. Additionally, if there is no problem with the processing load, the mesh may also be recalculated in the entire game space.

[0182] In ​ In an example shown, the player character PC is arranged outside the cave B formed in the terrain object TO. Moreover, it is in the following state: The virtual camera C is also arranged outside the terrain object TO based on the position of the player character PC, and there is no other object (for example, the terrain object TO) between the virtual camera C and the player character PC.

[0183] ​ It is a diagram showing an example in which the virtual camera C is arranged in a second state in the game space where the terrain object TO and the player character PC are set. In ​ In an example shown, the player character PC moves inside the cave B formed in the terrain object TO and is arranged inside the cave B. Moreover, the virtual camera C also moves in the game space based on the position of the player character PC, but in ​ In the example shown, the virtual camera C is in a state of being arranged outside the terrain object TO. Therefore, it is in a state where there is the terrain object TO between the virtual camera C and the player character PC, and in a state where the player character PC is blocked by the face facing the front side among the faces constituting the terrain object TO when viewed from the virtual camera C. That is, in ​ In the example shown, the player character PC is in a state of being blocked by the face facing the virtual camera C side in the mesh constituting the terrain object TO.

[0184] ​ It is a diagram showing an example in which the virtual camera C is arranged in a third state in the game space where the terrain object TO and the player character PC are set. In ​In one example shown, the player character PC further moves to the deeper side of the cave B formed in the terrain object TO and is disposed on the deeper side of the cave B. Also, the virtual camera C moves within the game space based on the position of the player character PC. In ​ the example shown, the virtual camera C is in a state of being disposed inside the terrain object TO. Thus, there is no such surface facing the front side between the virtual camera C and the player character PC. In addition, in ​ the player character PC and the virtual camera C shown by the dashed line indicate being disposed inside the terrain object TO.

[0185] In the present embodiment, when the virtual camera C approaches the terrain object TO in a case where the positional relationship between the player character PC and the surrounding terrain object TO in the game space does not satisfy the in-ground camera permission condition, avoidance control is performed to prevent the virtual camera C from being disposed inside the terrain object TO. On the other hand, when the above positional relationship satisfies the above in-ground camera permission condition, the virtual camera C is controlled without performing the above avoidance control. That is, when the above positional relationship satisfies the above in-ground camera permission condition, the virtual camera C can be disposed inside the terrain object TO. In addition, the terrain object TO that is the object for determining the above in-ground camera permission condition and the terrain object TO that is the object of the above avoidance control or allows the virtual camera C to be disposed inside it can be the same object or different objects.

[0186] ​ It is a diagram for explaining an example of the movable area of the virtual camera C in a case where the above in-ground camera permission condition is not satisfied and an example of the movable area of the virtual camera C in a case where the above in-ground camera permission condition is satisfied. As ​ shown in the upper and lower diagrams above, the movable area of the virtual camera C is a range within the game space based on the position of the player character PC (for example, an internal position such as the center-of-gravity position of the player character PC, a position around the player character PC). For example, a three-dimensional shape surface such as an oblate spheroid surface, a prolate spheroid surface, or a spherical surface centered on the above position of the player character PC is used to form the above movable area. As an example, an oblate spheroid surface, a prolate spheroid surface, or a spherical surface formed by rotating in the up-and-down direction of the game space passing through the above position of the player character PC, or an oblate spheroid surface or a prolate spheroid surface formed by rotating in the front-back direction of the player character PC in the game space passing through the above position of the player character PC is used to form the above movable area. Moreover, the virtual camera C can move within the game space within the range of the movable area in response to user operations.

[0187] As ​As shown in the upper figure above, a movable area is formed outside the terrain object TO when the above-mentioned in-ground camera permission conditions are not met. Moreover, when a part of the three-dimensional shape surface forming the movable area overlaps with the terrain object TO, the surface of the three-dimensional object obtained by removing the overlapping part from the three-dimensional shape surface becomes the movable area of the virtual camera C.

[0188] In addition, as ​ shown in the lower figure below, regarding the movable area when the above-mentioned in-ground camera permission conditions are met, even when a part of the three-dimensional shape surface forming the movable area overlaps with the terrain object TO, the movable area is formed in a shape that overlaps with the inside of the terrain object TO. As described above, since the virtual camera C can move along the movable area within the game space and be configured within the game space, by moving the virtual camera C within the movable area formed inside the terrain object TO, the virtual camera C can function as an in-ground camera configured inside the terrain object TO.

[0189] Furthermore, it can also be that, compared with the movable area when the above-mentioned in-ground camera permission conditions are met, the size, direction, shape type, etc. of the three-dimensional shape surface forming the movable area also change when the above-mentioned in-ground camera permission conditions are not met. In addition, the virtual camera C can not only move on the surface of the three-dimensional object forming the movable area, but also move inside it. In addition, the three-dimensional shape surface forming the movable area can also be other three-dimensional shapes. For example, the three-dimensional shape surface forming the movable area can be not only the surface constituting a polyhedron, a cylinder, an elliptical cylinder, a regular prism, a cone, a regular pyramid, but also the surface of a three-dimensional object obtained by removing a part of the above-mentioned three-dimensional object, the surface of a three-dimensional object obtained by deforming the above-mentioned three-dimensional object, etc.

[0190] In addition, the movable area of the above-mentioned virtual camera C is used to conceptually explain the behavior that the virtual camera C can take, and the above-mentioned three-dimensional area may not be pre-calculated and set in actual control. For example, the position and direction of the virtual camera C can be calculated each time based on the position of the player character PC. In this case, the configuration distance from the player character PC is calculated each time according to the direction in which the virtual camera C is configured for the player character PC, and the position and direction of the virtual camera C are set according to the configuration direction and the configuration distance. Moreover, when the position of the virtual camera C overlaps with the terrain object TO in a state where the above-mentioned in-ground camera permission conditions are not met, the position is changed to the outside of the terrain object TO. As an example, the position of the virtual camera C is changed to the position closest to the terrain object on the outside of the terrain object C in the configuration direction of the virtual camera C.

[0191] The in-ground camera permission condition in this embodiment is set using the ratio of the surrounding area of the player character PC being blocked by other objects including the terrain object TO. For example, the in-ground camera permission condition can also be set based on the occlusion rate of the field of view in the up, down, left, right, front, and back directions seen from the position of the player character PC being blocked by other objects. As an example, it can be determined that the above in-ground camera permission condition is satisfied when the occlusion rate is 50% or more.

[0192] ​ This is an example of a diagram showing the situation where six faces of up, down, left, right, front, and back are photographed from the position of the player character PC. For example, the position of the player character PC for photographing the above six faces is set at a position a specified distance above the player character PC in the game space (for example, a position about 8 m above). In ​ In one example, since the player character PC is arranged near the entrance of Cave B, the photographed upper surface is divided into two by the terrain object TO and the sky in the game space, and is in a state where more than 50% is blocked by other objects.

[0193] For example, in this embodiment, the six faces are photographed at regular intervals, and the ratio of the pixels excluding the pixels without depth values (z values) to all the pixels is calculated as the occlusion rate. Moreover, when the calculated occlusion rate is above the threshold value, it is determined that the positional relationship between the player character PC and the terrain object TO around the player character PC satisfies the in-ground camera permission condition. By using such an occlusion rate, when the occlusion rate is high, it is considered that the player character PC is arranged inside other objects (for example, the terrain object TO) and thus wants to observe the situation of other surrounding objects. Therefore, it is possible to appropriately determine whether the visibility is improved by allowing the virtual camera C to be arranged inside the other object in this situation.

[0194] In addition, the above-mentioned occlusion rate is a parameter indicating the degree to which the surroundings of the player character PC are occluded by terrain objects TO, etc., and is set to be occluded regardless of the length of the distance from the player character PC to the occluder. However, the above-mentioned occlusion rate can also be calculated based on the distance between the player character PC and the occluder that becomes the subject. For example, pixels where the distance between the player character PC and other objects that become the subject is greater than a specified distance (for example, pixels with a depth value (z value) greater than a specified value) can be used as unoccluded pixels to calculate the above-mentioned occlusion rate. In this case, the ratio of the pixels other than the pixels where the distance between the player character PC and other objects is greater than the specified distance and the pixels without a depth value (z value) to all pixels is calculated as the occlusion rate. The following situation is envisioned: when the player character PC is occluded by other objects in the distance (for example, when configured in a vast space), it is considered to be in a state similar to when configured on the ground. When it is allowed to configure the virtual camera C inside other objects, the visibility decreases. Therefore, by using such an occlusion rate, such a situation can be avoided.

[0195] In addition, the above-mentioned occlusion rate can also be calculated in a way that prioritizes some of the above six faces. As a first example, the occlusion rate can be calculated in a way that prioritizes the horizontal faces (front, back, left, right) of the game space over the vertical faces (top, bottom). As an example, the occlusion rate can be calculated by taking the four horizontal faces of the game space after removing the two vertical faces of the game space as the calculation target faces. As another example, the contribution rate (weight) of the two vertical faces of the game space can be made lower than that of the other four faces to calculate the occlusion rate. The following situation is envisioned: when the player character PC is configured in a space with a ceiling but not very enclosed in the horizontal direction, when it is allowed to configure the virtual camera C above the ceiling or underground, the visibility decreases. Therefore, by using such an occlusion rate, such a situation can be avoided. As a second example, the occlusion rate can be calculated by taking the four horizontal faces of the game space after removing one face in the downward direction of the game space and the top face of the game space as the calculation target faces. The downward direction, which is the ground direction of the game space, is basically all occluded. Therefore, by removing the bottom face in the calculation of the occlusion rate, the calculation process can be alleviated. In addition, the method of calculating the occlusion rate in a way that prioritizes some of the above six faces can also be implemented in combination with the above method of calculating the occlusion rate based on the distance to the subject.

[0196] In addition, regarding other objects that obscure the player character PC, the terrain object TO may be used as the only object to calculate the above-mentioned occlusion rate. Further, the shooting positions of the six surfaces may be moved according to the environment in which the player character PC is arranged. For example, when the player character PC is arranged at a position where there are other objects near the top, in order to avoid the overlap between the shooting position and the other object, the shooting positions of the six surfaces may be moved from the shooting position to a position closer to the player character PC or to a position inside the player character PC (i.e., a position after moving downward from a position at a predetermined distance above the player character PC).

[0197] Next, a display image displayed on the display 12 based on an image of the game space (virtual space image) seen from each virtual camera C will be described. ​ FIG. is an example of a display image displayed on the display 12 based on an image seen from the virtual camera C arranged in the first state. ​ FIG. is an example of a display image displayed on the display 12 based on an image seen from the virtual camera C arranged in the second state. ​ FIG. is an example of a display image displayed on the display 12 based on an image seen from the virtual camera C arranged in the third state.

[0198] In ​ , the player character PC is arranged outside the cave B formed near the entrance of the cave B that is the terrain object TO. Moreover, the virtual camera C for generating the virtual space image is arranged outside the terrain object TO in the first state described using ​ . Thus, in the first state, there is no terrain object TO between the virtual camera C and the player character PC, and it is in a state where the surface of the terrain object TO that faces the front side when viewed from the virtual camera C can be seen on the side farther than the player character PC when viewed from the virtual camera C. Here, in the generation of the image (virtual space image) of the game space in the present embodiment, a back face culling process and a hidden surface removal process are performed. The back face culling process is a process of not rendering the surface facing the inside with respect to the virtual camera C (for example, the surface facing the rear when viewed from the virtual camera C in the mesh constituting the terrain object TO), and the hidden surface removal process is a process of removing the surface that cannot be seen from the virtual camera C. Thus, as ​As shown, the image of the game space seen from the virtual camera C in the above-described first state is an image in which the entire player character PC is captured and the surface of the terrain object TO facing the front side is captured on the side farther from the player character PC when viewed from the virtual camera C, and a display image based on this image is displayed on the display 12.

[0199] In ​ , the player character PC moves from the entrance of the cave B formed in the terrain object TO to the inside. Moreover, the virtual camera C for generating the virtual space image is arranged outside the terrain object TO in the second state described using ​ . Thus, in the second state, there is a state where the terrain object TO exists between the virtual camera C and the player character PC, and a state where the surface of the terrain object TO facing the front side can be seen on the virtual camera C side of the player character PC. In addition, when viewed from the virtual camera C, the player character PC is blocked by the surface of the terrain object TO facing the front side, and a state where the player character PC cannot be directly seen from the virtual camera C is formed. In the present embodiment, in order to confirm the position of the player character PC even in such a state, a silhouette image (shown as a shaded area in ​ ) is displayed, and this silhouette image depicts the shadow of the player character PC in such a manner that the shadow of the player character PC passes through and is projected onto the surface of the terrain object TO. Thus, as ​ shows, the image of the game space seen from the virtual camera C in the above-described second state is an image in which the surface of the terrain object TO facing the front side is captured on the side closer to the virtual camera C than the player character PC and the entire player character PC is projected as a silhouette image passing through this surface, and a display image based on this image is displayed on the display 12. In addition, the above-described silhouette image may also be an image in which the player character PC is directly projected through the surface of the terrain object TO. Further, when there is a thin terrain object TO having a thickness less than a specified value between the player character PC and the virtual camera C, the virtual space passing through the terrain object TO may also be displayed.

[0200] Here, when the positional relationship between the player character PC and the terrain object TO (other object) satisfies the above-described in-land camera permission condition, the virtual camera C may also be automatically moved so that the virtual camera C is arranged inside the terrain object TO. For example, when using ​In the second state described above, when the positional relationship between the player character PC and the terrain object TO satisfies the above-described in-ground camera permission conditions, the virtual camera C disposed outside the terrain object TO can also be forcibly disposed inside the terrain object TO to approach the player character PC. In this case, the virtual camera C can be automatically moved either by reducing the movable area of the virtual camera C set in the above-described second state or by temporarily moving the virtual camera C inside the movable area of the virtual camera C set in the above-described second state.

[0201] In addition, the above-described process of automatically moving the virtual camera C inside the terrain object TO can also be executed according to the satisfaction of a specified condition on the basis of the satisfaction of the above-described in-ground camera permission conditions. As a first example of a condition, it can also be that, in a state where the above-described in-ground camera permission conditions are satisfied, when there is a terrain object TO with a specified thickness or more between the player character PC and the virtual camera C, the virtual camera C is automatically moved inside the terrain object TO. As a second example of a condition, it can also be that, when the state where the above-described in-ground camera permission conditions are satisfied and the virtual camera C is disposed outside the terrain object TO continues for a specified time or more, the virtual camera C is automatically moved inside the terrain object TO. As a third example of a condition, it can also be that, in a state where the above-described in-ground camera permission conditions are satisfied and the virtual camera C is disposed outside the terrain object TO, when the player character PC moves a distance of a specified distance or more, the virtual camera C is automatically moved inside the terrain object TO.

[0202] In ​ it, the player character PC further moves deeper into the cave B formed in the terrain object TO and is disposed deeper in the cave B. Moreover, the virtual camera C for generating the virtual space image is based on the position of the player character PC and is in a state of using ​The third state described is the state where it is disposed inside the terrain object TO. Moreover, in the third state, although there is a terrain object TO between the virtual camera C and the player character PC, it is a state where there is no surface facing the front side among the surfaces constituting the terrain object TO (for example, the surface of the terrain object TO, the surface of the cave B, the surface of the mesh facing the virtual camera C side). Here, in the processing of this embodiment, when there is a terrain object TO inside between the virtual camera C and the player character PC, only the mesh on the surface of the terrain object TO is set as the display object, so the existing terrain object TO does not become the display object of the virtual camera C. In addition, although the mesh in the cave B that is close to the virtual camera C exists between the virtual camera C and the player character PC, it basically faces the inside with respect to the virtual camera C and thus does not become a display object. Therefore, the player character PC that has moved to the deep side of the cave B is captured in a way that can be seen from the virtual camera C. Thus, as ​ shown, the image of the game space seen from the virtual camera C in the above-mentioned third state is an image that captures the entire player character PC and captures the surface of the cave B facing the front side on the side farther than the player character PC when viewed from the virtual camera C, and a display image based on this image is displayed on the display 12.

[0203] In addition, in this embodiment, when the virtual camera C is disposed inside the terrain object TO, a display change process for changing the display image displayed on the display 12 is performed. As described above, when the positional relationship between the player character PC and the terrain object TO satisfies the allowable condition, the virtual camera C can be disposed inside the terrain object TO without performing an avoidance control for avoiding the virtual camera C being disposed inside the terrain object TO. Moreover, when it is determined that the virtual camera C has been disposed inside the terrain object TO due to the movement of the virtual camera C in the game space, the above-mentioned display change process is performed. It is also possible to make this determination based on whether the position of the virtual camera C itself is inside the terrain object TO. However, as an example, as ​ shown, when all of the points P1 to P4 at the four corners of the near clipping plane of the virtual camera C are disposed inside the terrain object TO, it is determined that the virtual camera C is disposed inside the terrain object TO. As another example, it may also be that when at least two of the points P1 to P4 at the four corners of the near clipping plane of the virtual camera C are disposed inside the terrain object TO, it is determined that the virtual camera C is disposed inside the terrain object TO.

[0204] For example, as the above-described display change process, post-processing is performed on the image (virtual space image) of the game space seen from the virtual camera C to generate the display image to be displayed on the display 12. For example, post-processing is performed by applying an effect (filter) to the frame buffer for rendering the virtual space image seen from the virtual camera C.

[0205] As a first example of the above-described display change process, post-processing is performed to reduce the visibility of the edge portion of the above-described display image. For example, ​ In the example of the display image shown, the peripheral portion outside the rounded quadrilateral region formed in the center of the display image is dimmed to make it darker, thereby forming a dimming region F. In addition, the shape of the region formed in the center of the above-described display image may not be a rounded quadrilateral, and may be other shapes such as an ellipse, a circle, a chamfered quadrilateral, a rhombus, a koban shape, or a polygon.

[0206] As a second example of the above-described display change process, post-processing is performed to apply fogging or blurring in such a way that the visibility of an object located farther from the virtual camera C is lower. For example, ​ The hachuring region showing the terrain object TO shown is a region where the display mode is changed by applying stronger fogging as the distance from the virtual camera C is farther.

[0207] ​ is a diagram showing an example of a display image to which a fogging effect is given based on the distance from the virtual camera C. In ​ an image of the game space in which the virtual camera C disposed inside the terrain object TO sees the player character PC disposed inside the cave B from the horizontal direction is generated. In addition, in ​ an example of the display image shown, the illustration of the dimming region F is omitted for easy understanding of the example of the image.

[0208] In addition to the cave B, a plurality of cavities C1 to C4 are formed in the terrain object TO. Specifically, the cavities C1 → cavity C2 → cavity C3 → cavity C4 are formed in the terrain object TO in the order from the closest to the virtual camera C to the farthest. Moreover, the player character PC is arranged in the cave B, and virtual objects OBJ are respectively arranged in the cavities C1 and C2. As described above, in the processing of this embodiment, the mesh of the terrain object TO whose surface can be seen from the virtual camera C is set as the display object. Therefore, a rendering process is performed with the meshes that can be seen from the virtual camera C among the meshes that respectively constitute the cave and the cavities in the terrain object TO as the display objects. That is to say, there is no need to perform special processing such as detecting the cave and the cavities within the field of view of the virtual camera C or forming a cross-section that enables direct viewing of the cave and the cavities from the virtual camera C. By performing the above-mentioned rendering process, a display image as exemplified in ​ can be generated, in which not only the inside of the cave B but also the surrounding cavities can be seen. In addition, in the terrain object TO, in addition to the above-mentioned cave B, cavities C1 to C4, player character PC, and virtual object OBJ, there may be cavities, other objects, etc. at positions far from the virtual camera C, but they are in a state invisible in the display image due to the fogging effect described later. In addition, when the virtual object OBJ has a function of being the action target of the player character PC, it can also be arranged in the virtual space with a conspicuous color, lightness, or brightness in the terrain object TO.

[0209] The cavity C1 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six faces and is formed at the position closest to the virtual camera C in the terrain object TO. Moreover, a virtual object OBJ is arranged inside the cavity C1. In addition, in the display image, four faces of the meshes of the inner walls (surfaces) of the six faces that constitute the cavity C1, whose front sides face the virtual camera C side, are displayed. Since the cavity C1 is formed at the position closest to the virtual camera C, which is the same as the cave B where the player character PC is arranged, no fogging effect is given, and the above-mentioned four faces of the cavity C1 facing the virtual camera C side and the image of the virtual object OBJ are directly displayed as the display image.

[0210] The cavity C2 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six faces, and is formed at a position within the terrain object TO that is farther from the virtual camera C when viewed from the virtual camera C. Moreover, a virtual object OBJ is disposed inside the cavity C2. In addition, in the display image, four faces of the grid that constitutes the inner walls (surfaces) of the six faces of the cavity C2 and whose front sides face the virtual camera C side are displayed. The cavity C2 is given a weak fogging effect based on the distance from the virtual camera C. For example, in the fogging process of this embodiment, colors (for example, increasing the RGB values in such a way that the farther the distance, the closer to brown) are mixed into the images of the above four faces of the cavity C2 and the virtual object OBJ according to the distance (for example, the depth value (z value)), thereby giving a fogging effect to the image. In addition, in the fogging process of this embodiment, the color of the edges (for example, the outer periphery of the displayed cavity C2) can also be changed to a specified color (for example, orange) for highlighting display. Thus, a display change process is performed in which a weak fogging effect is given to the images of the above four faces of the cavity C2 facing the virtual camera C side and the edges of each of the four faces are highlighted, and the display image that has undergone this display change process is displayed.

[0211] The cavity C3 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six faces, and is formed at a position within the terrain object TO that is farther from the virtual camera C than the cavities C1 and C2 when viewed from the virtual camera C. Moreover, in the display image, four faces of the grid that constitutes the inner walls (surfaces) of the six faces of the cavity C3 and whose front sides face the virtual camera C side are displayed. The cavity C3 is given a fogging effect stronger than that of the cavity C2 based on the distance from the virtual camera C. In addition, a virtual object OBJ may be disposed inside the cavity C3, but is in a non-visible state in the display image due to the above strong fogging effect. For the cavity C3, the above fogging process is performed in such a way as to give a stronger fogging effect than that of the cavity C2, thereby performing a display change process in which a strong fogging effect is given to the images of the above four faces of the cavity C3 whose front sides face the virtual camera C side and the outer periphery edges of the cavity C3 are highlighted, and the display image that has undergone this display change process is displayed.

[0212] The hollow C4 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six faces, and is formed at a position within the terrain object TO that is farther from the virtual camera C when viewed from the virtual camera C than the hollows C1, C2, and C3. Moreover, in the display image, four faces are displayed in which the front sides of the meshes in the mesh of the inner walls (surfaces) of the six faces constituting the hollow C4 face the virtual camera C side. The hollow C4 is given an extremely strong fogging effect compared to the hollows C2 and C3 based on the distance from the virtual camera C. In addition, a virtual object OBJ may be arranged inside the hollow C4, but it is in a state where it is not visible in the display image due to the above-mentioned extremely strong fogging effect. For the hollow C4, the above-mentioned fogging process is performed in such a way as to give a stronger fogging effect than the hollow C3, thereby performing a display change process of giving an extremely strong fogging effect to the above-mentioned four faces of the hollow C3 whose front sides of the meshes face the virtual camera C side and emphasizing the display of the outer peripheral edges of the hollow C3. Therefore, in ​ the example of ​ , a display image is shown in which only the edges are visible.

[0213] By giving the fogging effect based on the distance from the virtual camera C in this way, the sense of distance to the object can be grasped. In addition, by emphasizing the display of the edges in the fogging process, even if the surface of the object itself is in an invisible state, it can be displayed in a state where only the outline is visible, making it easier to understand the existence of the hollow. Moreover, even when a virtual object that is not desired to be arranged inside the hollow is placed in the distance, the existence of the hollow can be presented as an action target for the player character PC by making only the existence of the hollow visible.

[0214] In addition, in the second example of the above-mentioned display change process, a process of adding a specified pattern may also be performed on the basis of the above-mentioned fogging process. For example, when performing the above-mentioned display change process, a square pattern, a geometric pattern, etc. of the same or different color as the color mixed in the fogging process may be added.

[0215] As a third example of the above-mentioned display change process, a post-process is performed to change the display mode of at least a part of the non-front side part (for example, the background part of the game space), where the non-front side part is the part of the face constituting the terrain object TO that is not drawn when viewed from the virtual camera C towards the front side.

[0216] ​ is a diagram showing an example of a display image in which the display mode of the background part of the game space is changed. In ​In the upper figure above, the player character PC and the virtual camera C are arranged outside the terrain object TO. Moreover, the following display images are shown: the area outside the terrain object TO in the game space outside the terrain object TO, the ground object OBJg and the smoke effect E located in the distance when viewed from the virtual camera C, and a background image (for example, a blue sky) is drawn behind the ground object OBJg and the effect E.

[0217] In ​ the lower figure below, the player character PC and the virtual camera C move from ​ the positions in the game space shown in the upper figure above and are respectively arranged inside the terrain object TO. Moreover, a part of the surface of the cave B is shown as the surface of the terrain object TO and the surface of the grid in the grid of the surface of the cave B facing the virtual camera C side. In addition, the surfaces facing the front side of the area outside the terrain object TO and the ground object OBJg that make up the terrain object TO are also shown (for example, the surface of the area, the surface of the ground object OBJg facing the virtual camera C side). Moreover, a background image is shown in the part corresponding to the non-front side part that is not drawn as the surface facing the front side among the surfaces of the area outside the terrain object TO, the ground object OBJg, and the terrain object TO that respectively make up the terrain object TO. In addition, ​ in an example of the display image shown in the lower figure below, the illustration of the dimming area F is omitted to make the illustration of the image easier to understand.

[0218] When the virtual camera C is arranged inside the terrain object TO, by performing the fog processing described in the second example of the above display change processing, a fog effect corresponding to the distance from the virtual camera C is given to images such as the terrain object TO, the area outside the terrain object TO, and the ground object OBJg.

[0219] On the other hand, the distance between the background image that becomes the above non-front side part and the virtual camera C is infinite (for example, there is no depth value), and a display change processing for changing the specified display method is performed on such an image. In the present embodiment, as the third example of the display change processing, a display image after processing such an image without a depth value, such as a background image, with dark gray to black is shown. In addition, ​ the effect E shown in the upper figure above is also an image without a depth value. In the present embodiment, for such an image of the effect E, the same processing of painting with dark gray to black as the background image is also performed. Therefore, in ​ the lower figure below, a display image in which the appearance change is such that the effect E is not displayed is shown.

[0220] In this way, in the third example of the display change process, the display mode of at least a part of the above non-front side part (for example, the background part showing the game space, the part of the effect E) is changed, so that it is possible to represent in an easy-to-understand manner that the virtual camera C is arranged inside the terrain object TO. In addition, as long as the color applied to the above non-front side part is darker than the color of the background image displayed when the virtual camera C is arranged outside the terrain object TO (for example, the color of the bright sky), other colors can also be applied. By applying a dark color in this way, it is possible to prevent the display of an incongruous image where, although the virtual camera C is arranged inside the terrain object TO, a bright sky is displayed as the background image.

[0221] In addition, in the third example of the above display change process, an image without a depth value such as the effect E is painted dark gray to black through this display change process, and thus is set not to be displayed in the above display image. Therefore, by first drawing an image such as the effect E before the above painting process, the image is set not to be displayed only in the area where the painting is performed, and the image is displayed in the area where the painting is not performed. On the other hand, it may also be that, when an image that becomes at least partially not displayed through the above display change process needs to be displayed in the above display image, the part that is temporarily set not to be displayed through this display change process is redrawn after this display change process, so that the image is redisplayed in the display image.

[0222] In addition, in the above description, an example of performing display change processing by performing post-processing on the virtual space image seen from the virtual camera C has been used. However, display change processing may also be performed by changing the virtual space seen from the virtual camera C. For example, in the first example of the above display change processing, it may also be that the visibility of the edge portion of the display image is reduced by arranging a change object corresponding to the dimming area F at the edge of the field of view of the virtual camera C. In the second example of the above display change processing, it may also be that the visibility of the object is reduced according to the distance from the virtual camera C by arranging change objects of smoke, fog, and haze in the virtual space at a distance of a specified distance or more from the virtual camera C. In addition, it may also be that the color, lightness, brightness, size, shape, and presence or absence of each object are changed based on the distance from the virtual camera C, or the distance from the virtual camera C when such a change is made is changed (for example, the distance from the virtual camera C when the above change is made is shorter than in the case where no display change processing is performed), so that the visibility of the object is reduced according to the distance from the virtual camera C. In the third example of the above display change processing, it may also be that the display mode of at least a part of the non-front side portion is changed by changing the color, lightness, brightness of the background image and the effect E in the virtual space, or deleting the effect E from the virtual space.

[0223] In addition, in the case where the above display change processing is started on the occasion of the virtual camera C moving from outside the terrain object TO to the inside of the terrain object TO, a fade-in process of the in-ground camera performance may be performed in order to gradually transition from the state where no display change processing is performed to the state after the display change processing is performed. In addition, in the case where the above display change processing is ended on the occasion of the virtual camera C moving from the inside of the terrain object TO to the outside of the terrain object TO, a fade-out process of the in-ground camera performance may be performed in order to gradually transition from the state where the display change processing is performed to the state where no display change processing is performed.

[0224] Next, with reference to ​ a specific example of game processing, which is an example of information processing in the game system 1, will be described.

[0225] ​ FIG. is a diagram showing an example of various data used in the information processing of the game system 1. As ​As shown, the game system 1 stores the game program Pa, voxel space data Da, voxel object data Db, mesh data Dc, operation data Dd, player character data De, virtual camera data Df, destruction range data Dg, occlusion rate data Dh, virtual space image data Di, display image data Dj, and image data Dk, etc. The game program Pa, voxel space data Da, and image data Dk are data that are pre-stored in the game system 1 before executing the game process. The game program Pa and voxel space data Da are stored, for example, in a storage medium in the slot 23 of the main device 2. In addition, the voxel object data Db, mesh data Dc, operation data Dd, player character data De, virtual camera data Df, destruction range data Dg, occlusion rate data Dh, virtual space image data Di, and display image data Dj are data generated during the execution of the game process. The voxel object data Db, mesh data Dc, operation data Dd, player character data De, virtual camera data Df, destruction range data Dg, occlusion rate data Dh, virtual space image data Di, and display image data Dj are stored, for example, in the DRAM 85 of the main device 2.

[0226] The game program Pa is a game program for executing the game process in this embodiment (specifically, ​ and ​ the game process shown).

[0227] The voxel space data Da is data that defines the voxels set in the game space. Specifically, the voxel space data Da represents the length of one side of a voxel and the direction of each side of the voxel in the game space. In addition, in the case where voxels are set only in a part of the game space, the voxel space data Da may also include data representing the position and size of the space where the voxels are set (i.e., the voxel space) (i.e., data representing the range where voxels are set in the game space).

[0228] The voxel object data Db is data that represents voxel objects arranged in the game space. Specifically, the voxel object data Db includes voxel data Db1 for each unit area within a part or all of the game space.

[0229] The mesh data Dc is data that represents the mesh set for the voxel objects arranged in the game space. The mesh data Dc includes, for example, data representing the positions of the respective vertices in the mesh.

[0230] The operation data Dd is data appropriately acquired from the left controller 3 and / or the right controller 4 and the main body device 2. As described above, the data acquired from the left controller 3 and / or the right controller 4 and the main body device 2 includes input-related information (specifically, operation-related information) from each input unit (specifically, each button, analog stick, touch panel). In the present embodiment, data is acquired from the left controller 3 and / or the right controller 4 and the main body device 2, and the acquired data is used to appropriately update the operation data Dh. In addition, regarding the update cycle of the operation data Dh, it can be updated every frame, which is the cycle of the processing executed in the game system 1 described later, or it can be updated every cycle of acquiring the above data.

[0231] The player character data De is data representing the arrangement position and arrangement posture of the player character PC arranged in the game space, actions, states, etc. in the game space.

[0232] The virtual camera data Df is data representing the arrangement position, arrangement posture, and state, etc. of the virtual camera C arranged in the game space.

[0233] The destruction range data Dg is data representing the destruction range set when the terrain object TO is destroyed by the player character PC.

[0234] The occlusion rate data Dh is data representing the ratio of the surroundings based on the position of the player character PC being occluded by other objects including the terrain object TO.

[0235] The virtual space image data Di is data representing the image of the game space seen from the virtual camera C, and functions as a frame buffer for rendering the image of the game space. The display image data Dj is data representing the image displayed on the display device (for example, the display 12).

[0236] The image data Dk is data representing the images of the player character PC, other objects, various effects, the field, and the background image, etc. arranged in the game space.

[0237] In addition, in addition to ​ the data shown, as data stored in the game system 1 in advance before executing the game processing, the game system 1 also stores data such as the above property information and texture information.

[0238] ​ is a flowchart showing an example of the flow of the game processing executed by the game system 1. In addition, ​ is showing ​ a subroutine of an example of the in-ground camera switching process in step S12 in the flowchart shown. In the present embodiment, ​ and​ The series of processes shown are performed by executing a game program by the processor 81. Additionally, ​ and ​ the timing at which the game process shown starts is arbitrary. However, as an example, it starts in response to an instruction for starting the game being given by the user during the execution of the above game program.

[0239] Furthermore, in the present embodiment, it is assumed that the processor 81 of the main body device 2 performs the ​ and ​ processing of each step shown by executing the above game program stored in the game system 1. However, in other embodiments, part of the processing of each step shown may be performed by a processor other than the processor 81 (for example, a dedicated circuit, etc.). Additionally, when the game system 1 can communicate with other information processing devices (for example, a server), part of the processing of each step shown may also be performed in the other information processing device. That is, ​ and ​ the processing of each step shown may also be performed through the cooperation of a plurality of information processing devices including the main body device 2. Additionally, ​ and ​ the processing of each step shown is merely a simple example, and as long as the same result can be obtained, the processing order of each step may be swapped, and other processing may also be performed in addition to (or instead of) the processing of each step. ​ and ​ Furthermore, the processor 81 uses a memory (for example, DRAM 85) to perform the

[0240] processing of each step shown. That is, the processor 81 stores the information (in other words, data) obtained through each processing step in the memory, and when using this information in subsequent processing steps, reads out this information from the memory and utilizes this information. ​ and ​ In

[0241] the processor 81 sets a voxel object in the initial state in the game space (step S1) and advances the process to the next step. Specifically, the processor 81 acquires voxel data representing the configuration of the voxel object in the initial state, and stores (in other words, writes) part or all of the acquired voxel data as voxel object data Db in the DRAM 85. Additionally, the voxel data representing the configuration of the voxel object in the initial state is stored, for example, in a storage medium in the slot 23 of the main body device 2. ​

[0242] In addition, the voxel data written into the DRAM 85 as voxel object data can be a part of the voxel data in the entire range of the game space, which is used in the generation of the game image. For example, the processor 81 can also use voxel data related only to a part of the range in the game space (for example, the range within a specified distance from the position of the virtual camera) to generate the image of the object. At this time, the voxel object data Db can also include the voxel data within this range. In addition, when writing voxel data related to a part of the range in the game space, the same processing as in the above step S1 is performed at an appropriate timing during the execution of the series of processes in steps S3 to S13 described later (for example, when the position of the virtual camera has moved more than a specified distance).

[0243] Next, the processor 81 generates a mesh for the voxel object (step S2), advances the process to the next step, and starts the game. The processes in steps S3 to S12 are repeatedly executed during the game. The mesh is generated according to the above method. Here, the processor 81 generates the mesh based on the voxel object data stored in the DRAM 85. Through the processing in the above step S2, voxel objects such as the terrain object TO are constructed in the game space.

[0244] Next, the processor 81 obtains data corresponding to the user operation from the left controller 3, the right controller 4, and / or the main device 2 and updates the operation data Dh (step S3), and advances the process to the next step.

[0245] Next, the processor 81 controls the actions of the player character PC that appears in the game space (step S4), and advances the process to the next step. For example, the processor 81 controls the actions of the player character PC based on the operation data obtained in the above step S3 and updates the player character data De. In addition, when configuring a character other than the player character PC, the processor 81 controls the actions of the character based on the algorithm specified in the game program.

[0246] Next, the processor 81 determines whether an elimination condition for eliminating at least a part of the voxel object is satisfied (step S5). For example, when the player character PC strikes the terrain object TO, the processor 81 sets the position where the strike occurred and the surrounding range as the destruction range to update the destruction range data Dg, destroys the terrain object TO (voxel object) existing in this destruction range, and eliminates the destroyed part. As an example, in order to represent that the destruction range is destroyed, by setting the density value shown in the voxel data of at least a part of the voxels within this destruction range to 0, the terrain object TO within this destruction range is eliminated. Therefore, when the voxels of the voxel object are included within the destruction range of the strike by the player character PC, the processor 81 makes an affirmative determination in step S5 above. Moreover, when the above elimination condition is satisfied, the processor 81 advances the process to step S6. On the other hand, when the above elimination condition is not satisfied, the processor 81 advances the process to step S8.

[0247] In step S6, the processor 81 updates the voxel data related to the voxel object for which the elimination condition is satisfied, and advances the process to the next step. For example, the processor 81 changes the density of the voxels of the part struck by the player character PC and the voxels of the surrounding part, and updates the voxel data Db1 corresponding to each voxel to eliminate at least a part of the voxel object for which the elimination condition is satisfied. In addition, the processor 81 eliminates the terrain object TO in the voxels around the eliminated destruction range (for example, the range affected by the strike) by reducing the density of the voxels around it (however, set to 0 or more). Specifically, the processor 81 updates the voxel object data Db stored in the DRAM 85 for the voxel data of the above eliminated range and the voxels around it to change the density data. In addition, the processor 81 may update the density data to make the density represent a value lower than the above reference value. For example, the processor 81 may set the density to 0 for the voxels of the part (destruction range) struck by the player character PC, and reduce the density by a specified value for the voxels of the surrounding part.

[0248] Next, the processor 81 updates the mesh for the voxel object whose voxel data has been changed in the above step S6 (step S7), and advances the process to step S8. That is, the processor 81 generates a mesh of the voxel object for which the elimination condition is satisfied based on the voxel object data Db updated in step S6. Thereby, the mesh of the terrain object TO can be dynamically changed in the game. In addition, the processor 81 updates the mesh data Dc stored in the DRAM 85 to represent the content of the newly generated mesh.

[0249] In step S8, the processor 81 performs occlusion rate calculation processing and advances the processing to the next step. For example, the processor 81 acquires images of six faces of the game world, i.e., the top, bottom, left, right, front, and back, taken from the shooting position based on the configured position of the player character PC, calculates the occlusion rate of the player character PC based on the images, and updates the occlusion rate data Dh. Additionally, in the processing of step S8 above, it is also possible to process one of the six faces per frame and perform processing using the integrated occlusion rate in subsequent frames. Regarding the method of calculating the occlusion rate, it is the same as the calculation method described using ​ and thus detailed description is omitted here.

[0250] Next, the processor 81 determines whether the occlusion rate calculated in step S8 above satisfies the in-ground camera permission condition (step S9). For example, when the occlusion rate calculated in step S8 above is equal to or higher than the threshold value, the processor 81 determines that the positional relationship between the player character PC and the terrain object TO around the player character PC satisfies the in-ground camera permission condition. Moreover, when the occlusion rate does not satisfy the in-ground camera permission condition, the processor 81 advances the processing to step S10. On the other hand, when the occlusion rate satisfies the in-ground camera permission condition, the processor 81 advances the processing to step S12.

[0251] In step S10, the processor 81 moves the virtual camera C within the range of the in-ground movable area and advances the processing to the next step. For example, the processor 81 refers to the player character data De, calculates the configured distance from the player character PC according to the direction in which the virtual camera C is configured for the player character PC, and sets the position and direction of the virtual camera C based on the configured direction and configured distance. Moreover, when the set position overlaps with the terrain object TO, the processor 81 changes the position to the outside of the terrain object TO. Thus, the virtual camera C moves within the range of the in-ground movable area. Here, the in-ground movable area is the movable area described using ​ the above figure, which is a three-dimensional surface obtained by removing the part overlapping with the terrain object TO. The processor 81 moves the virtual camera C within the range of the in-ground movable area based on the user operation shown in the operation data Dd and updates the virtual camera data Df.

[0252] Next, the processor 81 generates a display image based on the game image representing the game space and causes the display device to display the display image (step S11), and then proceeds to step S13. For example, the processor 81 generates a game space including voxel objects (terrain objects TO), player characters PC, other objects (e.g., other characters), effects, and backgrounds based on voxel space data Da, voxel object data Db, mesh data Dc, player character data De, image data Dk, etc. In addition, the image of the voxel object is generated using the voxel object data Db and the mesh data Dc according to the above method. Also, the image of the player character PC is generated using the player character data De. Further, the processor 81 configures a virtual camera C in the above game space based on the virtual camera data Df, generates a game image seen from the virtual camera C, and saves it in the virtual space image data Di. In addition, when at least a part of the player character PC is blocked by the surface of the terrain object TO facing the orientation table, the blocked part of the player character PC is generated in the form of a silhouette image. Then, the processor 81 generates a display image based on the above game image, saves it in the display image data Dj, and causes the display device to display the generated display image. In addition, during the game, when a negative determination is made in the above step S9, the process of step S11 is repeatedly executed at a rate of once every predetermined time (e.g., the time of one frame).

[0253] On the other hand, when it is determined in the above step S9 that the occlusion rate satisfies the in-ground camera permission condition, the processor 81 performs an in-ground camera switching process (step S12), and then proceeds to step S13. Next, with reference to ​ , the in-ground camera switching process performed in the above step S12 will be described.

[0254] In ​ , the processor 81 causes the virtual camera C to move within the range of the in-ground movable area (step S81), and then proceeds to the next step. For example, the processor 81 refers to the player character data De, calculates the configuration distance from the player character PC according to the direction in which the virtual camera C is configured for the player character PC, and sets the position and direction of the virtual camera C according to the configuration direction and the configuration distance, and does not change the position even when the set position overlaps with the terrain object TO. Thus, the virtual camera C moves within the range of the in-ground movable area. Here, the in-ground movable area is using ​The movable area described in the following figure has a shape that also overlaps with the inside of the terrain object TO when it overlaps with the terrain object TO. The processor 81 moves the virtual camera C within the range of the in-ground movable area based on the user operation shown in the operation data Dd, and updates the virtual camera data Df. In addition, in the process of step S81 above, it may also be the case that when the virtual camera C is configured outside the terrain object TO, the virtual camera C is forcibly moved so that the virtual camera C is configured inside the terrain object TO.

[0255] Next, the processor 81 determines whether all of the points P1 to P4 at the four corners of the near clipping plane of the virtual camera C are configured inside the terrain object TO (step S82). And when all of the points P1 to P4 at the four corners of the near clipping plane of the virtual camera C are configured inside the terrain object TO, the processor 81 advances the process to step S83. On the other hand, when any of the points P1 to P4 at the four corners of the near clipping plane of the virtual camera C is configured outside the terrain object TO, the processor 81 advances the process to step S88.

[0256] In step S83, the processor 81 generates a game image (virtual space image) representing the game space and advances the process to the next step. For example, the processor 81 generates a game space including voxel objects (terrain object TO), player characters PC, other objects (e.g., other characters), effects, and backgrounds based on voxel space data Da, voxel object data Db, mesh data Dc, player character data De, and image data Dk, etc. In addition, the image of the voxel object is generated using the voxel object data Db and the mesh data Dc according to the method described above. Also, the image of the player character PC is generated using the player character data De. In addition, the processor 81 configures the virtual camera C in the above game space based on the virtual camera data Df, generates a game image seen from the virtual camera C, and saves it in the virtual space image data Di. In addition, when at least a part of the player character PC is blocked by the front surface of the terrain object TO facing the front, the blocked part of the player character PC is generated in the form of a silhouette image.

[0257] Next, the processor 81 performs fog processing (step S84) and advances the process to the next step. For example, the processor 81 performs post-processing of imparting a fog effect based on the distance from the virtual camera C to the image (virtual space image) of the game space saved in the virtual space image data Di. In addition, the process performed in step S84 above is the same as the fog processing described using ​ Therefore, the detailed description is omitted here.

[0258] Next, the processor 81 performs background processing (step S85) and advances the processing to the next step. For example, the processor 81 performs post-processing on the image of the game space (virtual space image) stored in the virtual space image data Di to change the display mode of at least a part of the non-front side portion of the terrain object TO that is not drawn (for example, the background portion of the game space and the portion where the effect E is displayed). In addition, the processing performed in the above step S85 is the same as the processing for changing the display mode described using ​ and thus detailed description thereof is omitted here.

[0259] Next, the processor 81 performs peripheral dimming processing (step S86) and advances the processing to the next step. For example, the processor 81 performs the following post-processing on the image of the game space (virtual space image) stored in the virtual space image data Di: dimming the edge portion of the display area to make it darker, thereby reducing visibility to generate a dimming area F (refer to ​ ). Then, the processor 81 updates the display image data Dj using the image of the game space after the post-processing of the above steps S84 to S86. )

[0260] Next, the processor 81 performs processing to display the display image stored in the display image data Dj on the display device (step S87) and ends the processing based on this subroutine. In addition, during the game, when an affirmative determination is made in the above step S82, the processing of steps S83 to S87 is repeatedly executed at a rate of once every predetermined time (for example, the time of one frame).

[0261] On the other hand, in the above step S82, when it is determined that any of the points P1 to P4 at the four corners of the near clipping plane of the virtual camera C is disposed outside the terrain object TO, the processor 81 generates a display image based on the game image representing the game space and causes the display device to display the display image (step S88) and ends the processing based on this subroutine. In addition, the processing in the above step S88 is the same as the processing in the above step S11 and thus detailed description thereof is omitted here.

[0262] Returning to ​ , in step S13, the processor 81 determines whether to end the game. In the above step S13, as conditions for ending the game process, for example, there are conditions for satisfying the end game process, operations performed by the user for ending the game process, etc. When the game process is not ended, the processor 81 returns to the above step S3 and repeatedly performs the processing. When the game process is ended, the processor 81 ends the processing based on this flowchart. After that, the series of processing from step S3 to step S13 is repeatedly executed until it is determined to end the processing in step S13.

[0263] In this way, in the present embodiment, the virtual camera C can be arranged inside the terrain object TO based on the position of the player character PC, so that the visibility of the displayed image can be improved according to the situation of the player character PC. In addition, in the present embodiment, in response to arranging the virtual camera C inside the terrain object TO, the display change process of the display image for displaying the image based on the game space is performed. Therefore, when the virtual camera C is arranged inside the terrain object TO, a display image with appropriate rendering performance can also be displayed.

[0264] In addition, in the above description, when the positional relationship between the player character PC and the terrain object TO around the player character PC satisfies the in-ground camera permission condition, the virtual camera C is controlled without performing the avoidance control for avoiding arranging the virtual camera C inside the terrain object TO. However, the presence or absence of this avoidance control can also be switched in other ways. For example, it can also be configured to switch whether to perform the above avoidance control according to the user's operation of selecting the presence or absence of the above avoidance control.

[0265] In addition, in conventional games, sometimes the virtual camera is buried inside the ground due to unexpected errors by developers, etc. However, this is an example where the avoidance control for preventing the virtual camera from being buried inside the ground sometimes fails. The present invention does not assume such an accidental phenomenon of the virtual camera being buried inside the ground, but intentionally permits arranging the virtual camera inside the terrain object TO based on whether the above in-ground camera permission condition is satisfied, and has completely different new technical features.

[0266] In addition, the terrain object TO inside which the virtual camera C can be arranged may not be a voxel object. The same effect can also be obtained when the virtual camera C is arranged inside the terrain object TO set based on other data forms such as polygons.

[0267] In addition, the game system 1 can also be any device, and can also be a mobile game device, any mobile electronic device (such as a PDA (Personal Digital Assistant), mobile phone, personal computer, camera, tablet computer, etc.). In this case, the input device for performing the operation of making the player character PC move may not be the left controller 3, the right controller 4, or the touch panel 13, and can also be other controllers, mouse, touch pad, touch panel, trackball, keyboard, cross key, slide pad, etc.

[0268] In addition, in the above description, an example in which information processing is separately performed in the game system 1 is used, but at least a part of the above-described processing steps may be performed in other devices. For example, when the game system 1 is configured to be able to communicate with other devices (for example, another server, another image display device, another game device, another mobile terminal), the above-described processing steps may also be executed in cooperation with the other device. By performing at least a part of the above-described processing steps in other devices in this way, the same processing as the above-described processing can be performed. In addition, the above-described information processing can be executed through cooperation between one processor or a plurality of processors included in an information processing system constituted by at least one information processing device. In addition, in the above-described embodiment, information processing can be performed by executing a prescribed program by the processor 81 of the game system 1, but a part or all of the above-described processing may also be performed by a dedicated circuit provided in the game system 1.

[0269] Here, according to the above-described modification example, the present invention can also be implemented by a system method of so-called cloud computing, a system method of a distributed wide area network and a local area network. For example, in the system method of a distributed local area network, the above-described processing can also be executed in cooperation between a fixed information processing device (fixed game device) and a mobile information processing device (mobile game device). In addition, in these system methods, it goes without saying that there is no particular limitation on which device performs the above-described processing, and the present invention can be implemented regardless of how the processing is allocated.

[0270] In addition, the processing order, set values, conditions for determination, etc. used in the above-described information processing are merely simple examples, and it goes without saying that the present embodiment can also be implemented with other orders, values, and conditions.

[0271] In addition, the above-described program is supplied to the game system 1 not only through an external storage medium such as an external memory, but also through a wired or wireless communication line to the device. In addition, the above-described program may also be pre-recorded in a non-volatile storage device inside the device. In addition, as the information storage medium for storing the above-described program, in addition to a non-volatile memory, it may also be a CD-ROM, a DVD, or an optical disk-like storage medium similar to them, a floppy disk, a hard disk, a magneto-optical disk, a magnetic tape, etc. In addition, as the information storage medium for storing the above-described program, it may also be a volatile memory for storing the above-described program. Such a storage medium can be called a computer-readable recording medium. For example, by causing a computer or the like to read and execute the programs of these recording media, various functions described above can be provided by the computer or the like.

[0272] As described above, the present invention has been described in detail. However, the foregoing description is merely illustrative of the present invention in all aspects and is not intended to limit its scope. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention. In addition, it should be understood that those skilled in the art can implement an equivalent scope based on the description of the present invention and common general knowledge according to the description of the specific embodiments of the present invention. In addition, unless otherwise specified, the terms used in this specification should be understood to be used in the meaning commonly used in the art. Therefore, unless otherwise defined, all special terms and technical terms used in this specification have the same meaning as that commonly understood by those skilled in the art to which the present invention pertains. In case of contradiction, this specification (including definitions) shall prevail.

[0273] As described above, the present invention can be utilized as a computer program product, an information processing system, an information processing apparatus, an information processing method, etc. that can display an appropriately rendered image even when a virtual camera is disposed inside a terrain object.

Claims

1. A computer program product including a program executed in a computer of an information processing apparatus, the program causing the computer to function as the following units: A terrain drawing unit that draws a surface of a terrain object that faces the front side with respect to the orientation of a virtual camera; An internal determination unit that determines whether the virtual camera is disposed inside the terrain object; A display change unit that, when it is determined that the virtual camera is disposed inside the terrain object, performs display change processing for changing a display image, where the display image is based on an image depicting a virtual space including the terrain object; and An image output unit that performs processing for outputting the display image to a display device.

2. The computer program product according to claim 1, wherein as the display change processing, the display change unit performs post-processing on the image depicting the virtual space including the terrain object.

3. The computer program product according to claim 1, wherein as the display change processing, the display change unit disposes a change object in the virtual space.

4. The computer program product according to claim 1, wherein as the display change processing, the display change unit reduces the visibility of an object located at a position far from the virtual camera.

5. The computer program product according to claim 4, wherein as the display change processing, the display change unit applies fogging in such a manner that the visibility of an object located at a position farther from the virtual camera is lower.

6. The computer program product according to claim 1, wherein as the display change processing, the display change unit changes the display mode of at least a part of a non-front side portion, the non-front side portion being a portion of a surface of the terrain object where the surface facing the front side is not drawn.

7. The computer program product according to claim 6, wherein as the display change processing, the display change unit changes the display mode of at least a part of the non-front side portion by darkening the color of the background of the virtual space.

8. The computer program product according to claim 6, wherein the display change unit changes the display mode of an effect in the virtual space through the display change processing so that the effect is not displayed in the non-front side portion.

9. The computer program product according to claim 4, wherein as the display change processing, the display change unit emphasizes and displays the outline of a cavity located inside the terrain object.

10. The computer program product according to claim 1, wherein as the display change processing, the display change unit reduces the visibility of an edge portion of the display image.

11. The computer program product according to claim 1, wherein The internal determination unit determines whether the virtual camera is disposed inside the terrain object based on whether the four corners of the near clipping plane of the virtual camera are located inside the terrain object.

12. The computer program product according to claim 1, wherein the program causes the computer to further function as the following units: a determination unit that determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies an allowable condition; and a virtual camera control unit that, when the virtual camera approaches the terrain object when the positional relationship does not satisfy the allowable condition, performs avoidance control to prevent the virtual camera from being located inside the terrain object, and when the positional relationship satisfies the allowable condition, the virtual camera control unit controls the virtual camera without performing this avoidance control. When the positional relationship satisfies the allowable condition, the virtual camera control unit automatically moves the virtual camera so that the virtual camera is disposed inside the terrain object.

13. The computer program product according to claim 1, wherein the program causes the computer to further function as a see-through display unit that, when the player character in the virtual space is blocked by the surface facing the front side when viewed from the virtual camera, displays the player character in a see-through manner through the surface.

14. The computer program product according to claim 1, wherein the program causes the computer to further function as a player character action control unit that, based on a user's operation input, causes the player character in the virtual space to perform an action of destroying at least a part of the terrain object and / or deforming at least a part of the terrain object.

15. The computer program product according to claim 1, wherein the program causes the computer to further function as the following units: a determination unit that determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies an allowable condition; and a virtual camera control unit that, when the virtual camera approaches the terrain object when the positional relationship does not satisfy the allowable condition, performs avoidance control to prevent the virtual camera from being located inside the terrain object, and when the positional relationship satisfies the allowable condition, the virtual camera control unit controls the virtual camera without performing this avoidance control. When the ratio of the surroundings based on the position of the player character being blocked by the terrain object is equal to or greater than a threshold value, the determination unit determines that the positional relationship satisfies the allowable condition.

16. The computer program product according to claim 1, wherein the program causes the computer to further function as the following units: a determination unit that determines whether the positional relationship between the player character in the virtual space and the terrain object around the player character satisfies an allowable condition; and A virtual camera control unit that, when the virtual camera approaches the terrain object when the positional relationship does not satisfy the allowable condition, performs avoidance control to prevent the virtual camera from being inside the terrain object, and when the positional relationship satisfies the allowable condition, controls the virtual camera without performing such avoidance control. The determination unit determines whether the positional relationship satisfies the allowable condition based on the distance between the player character and the terrain object.

17. The computer program product according to claim 1, wherein The program causes the computer to further function as the following units: A determination unit that determines whether the positional relationship between a player character in a virtual space and the terrain object around the player character satisfies an allowable condition; And A virtual camera control unit that, when the virtual camera approaches the terrain object when the positional relationship does not satisfy the allowable condition, performs avoidance control to prevent the virtual camera from being inside the terrain object, and when the positional relationship satisfies the allowable condition, controls the virtual camera without performing such avoidance control. The determination unit gives priority to the positional relationship in the horizontal direction of the virtual space over the positional relationship in the vertical direction of the virtual space to determine whether the positional relationship satisfies the allowable condition.

18. An information processing apparatus comprising: A terrain rendering unit that renders the surface of the terrain object that faces the front side with respect to the virtual camera orientation; An internal determination unit that determines whether the virtual camera is disposed inside the terrain object; A display change unit that, when it is determined that the virtual camera is disposed inside the terrain object, performs display change processing to change the display image, wherein The display image is based on an image of a virtual space that includes the terrain object; And An image output unit that performs processing to output the display image to a display device.

19. An information processing system comprising: A terrain rendering unit that renders the surface of the terrain object that faces the front side with respect to the virtual camera orientation; An internal determination unit that determines whether the virtual camera is disposed inside the terrain object; A display change unit that, when it is determined that the virtual camera is disposed inside the terrain object, performs display change processing to change the display image, wherein The display image is based on an image of a virtual space that includes the terrain object; And An image output unit that performs processing to output the display image to a display device.

20. An information processing method comprising: A terrain rendering step of rendering the surface of the terrain object that faces the front side with respect to the virtual camera orientation; An internal determination step of determining whether the virtual camera is disposed inside the terrain object; A display change step, in a case where it is determined that the virtual camera is disposed inside the terrain object, performs a display change process for changing the display image, where the display image is based on an image depicting a virtual space including the terrain object; And An image output step that performs a process of outputting the display image to a display device.