Information processing program, information processing system, information processing device, and information processing method
The information processing program adjusts rendering techniques to ensure appropriate visual expression when a virtual camera is inside an object by using post-processing and display mode changes, addressing incomplete rendering issues and maintaining gameplay coherence.
Patent Information
- Application Number
- JP2024011604
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-30
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2044-01-30
AI Technical Summary
Existing techniques for displaying a virtual space viewed from a virtual camera fail to provide appropriate drawing expressions when the camera is placed inside an object, such as terrain, leading to incomplete rendering and incongruous visual representations.
An information processing program that includes terrain drawing, internal determination, display change, and image output means to adjust rendering when the virtual camera is inside an object, employing methods like post-processing, fog application, and display mode changes to ensure appropriate visual expression.
Enables clear and consistent image rendering even when the virtual camera is inside an object, preventing ease of gameplay and maintaining visual coherence by reducing visibility of distant objects and highlighting internal structures.
Smart Images

Figure 2025113081000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing program, an information processing system, an information processing apparatus, and an information processing method for performing processing to display an image based on a virtual space viewed from a virtual camera.
Background Art
[0002] Conventionally, a technique for displaying an image of a virtual space viewed from a virtual camera has been disclosed (see, for example, Non-Patent Document 1). In the technique disclosed in Non-Patent Document 1, a back-face culling process is performed in which a surface facing away from the virtual camera among the surfaces facing the front and the back of a polygon is not rendered, thereby reducing the processing load.
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the technique disclosed in Non-Patent Document 1, when the virtual camera is placed inside the terrain, the terrain is viewed from the surface facing away. Therefore, the terrain with the virtual camera placed inside it is not drawn, but no drawing expression for playing a game by making use of such drawing has been considered.
[0005] Therefore, an object of the present invention is to provide an information processing program, an information processing system, an information processing apparatus, and an information processing method capable of performing appropriate drawing expression even when a virtual camera is disposed inside an object. **Means for Solving the Problem**
[0006] To achieve the above object, the present invention can adopt the following configurations (1) to (17), for example.
[0007] (1) One configuration example of the information processing program of the present invention is executed in a computer of an information processing apparatus. The information processing program causes the computer to function as terrain drawing means, internal determination means, display change means, and image output means. The terrain drawing means draws a surface facing the front side with respect to the virtual camera among the surfaces constituting the object. The internal determination means determines whether or not the virtual camera is disposed inside the terrain object. The display change means performs display change processing such that a display image based on an image depicting a virtual space including the terrain object changes when it is determined that the virtual camera is disposed inside the terrain object. The image output means performs processing for outputting the display image to a display device.
[0008] According to the configuration of (1) above, even when the virtual camera is disposed inside the terrain object, an image with appropriate drawing expression can be displayed.
[0009] (2) In the configuration of (1) above, the display change means may perform a post-process on an image depicting a virtual space including the terrain object as the display change processing.
[0010] According to the configuration of (2) above, the display image can be easily changed when the virtual camera is disposed inside the terrain object by using post-process processing.
[0011] (3) In the configuration of (1) above, as the display change means, as a display change process, a change object may be arranged in the virtual space.
[0012] According to the configuration of (3) above, by arranging the change object in the virtual space, when the virtual camera is arranged inside the terrain object, the display image can be easily changed.
[0013] (4) In any one of the configurations of (1) to (3) above, as the display change means, as a display change process, the visibility of an object located at a position far from the virtual camera may be reduced.
[0014] According to the configuration of (4) above, by being seen through to an object far from the virtual camera, it is possible to prevent the game from becoming too easy.
[0015] (5) In the configuration of (4) above, as the display change means, as a display change process, fog may be applied so that the visibility of an object located at a position far from the virtual camera is more reduced.
[0016] According to the configuration of (5) above, it is possible to display an image that can give a sense of distance to the object.
[0017] (6) In any one of the configurations of (1) to (5) above, as the display change means, as a display change process, the display mode of at least a part of the non-front side part, which is a part where the front side-facing surface among the surfaces constituting the terrain object is not drawn, may be changed.
[0018] According to the configuration of (6) above, it is possible to display an image that clearly shows that the virtual camera is arranged inside the terrain object.
[0019] (7) In the configuration of (6) above, as the display change means, as a display change process, the display mode of at least a part of the non-front side portion may be changed by darkening the color of the background of the virtual space.
[0020] According to the configuration of (7) above, it is possible to prevent the display of an image with a sense of incongruity in which a bright background is displayed even though the virtual camera is arranged inside the terrain object.
[0021] (8) In the configuration of (6) or (7) above, as the display change means, by the display change process, the display mode of the effect in the virtual space may be changed so that the effect is not displayed in the non-front side portion.
[0022] According to the configuration of (8) above, it is possible to display an image that clearly shows that the virtual camera is arranged in a state different from the state where it is arranged outside the terrain object.
[0023] (9) In any one of the configurations of (1) to (8) above, as the display change means, as a display change process, the contour of the cavity inside the terrain object may be highlighted.
[0024] According to the configuration of (9) above, it is possible to display an image that clearly shows that there is a cavity inside the terrain object. Also, even in a case where it is difficult to see far away because what is arranged inside the cavity is not intended to be shown to the user, it is possible to display an image that clearly shows the existence of the cavity, and it can be used as the action target of the player character.
[0025] (10) In any one of the configurations of (1) to (9) above, as the display change means, as a display change process, the visibility of the edge portion of the display image may be reduced.
[0026] According to the configuration of (10) above, it is possible to display an image that clearly shows that a virtual camera is arranged inside the terrain object. Further, by making it difficult to see the edge portion of the display image, it is possible to prevent the display of an image that allows perspective to a long distance.
[0027] (11) In any one of the configurations of (1) to (10) above, the internal determination means may determine whether the virtual camera is arranged inside the terrain object based on whether the four corners of the near clip plane of the virtual camera are located inside the terrain object.
[0028] According to the configuration of (11) above, when the area drawn using the virtual camera is within the terrain object, a display image corresponding to the virtual camera being arranged inside the terrain object is displayed, so that an image consistent with the drawn area can be displayed.
[0029] (12) In any one of the configurations of (1) to (11) above, the information processing program may further cause a computer to function as the determination means and the virtual camera control means. The determination means 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. The virtual camera control means performs avoidance control to avoid the virtual camera being located inside the terrain object when the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission condition, and controls the virtual camera without performing the avoidance control when the positional relationship satisfies the permission condition. The virtual camera control means automatically moves the virtual camera so that the virtual camera is arranged inside the terrain object when the positional relationship satisfies the permission condition.
[0030] According to the configuration of (12) above, it is possible to avoid generating an image in which the player character is blocked by the surface facing the front side with respect to the virtual camera among the surfaces constituting the terrain object.
[0031] (13) In any one of the configurations (1) to (11) above, the information processing program may further cause a computer to function as a transparent display means. The transparent display means displays the player character so as to penetrate the surface when the surface facing the front of the player character in the virtual space is blocked as viewed from the virtual camera.
[0032] According to the configuration of (13) above, even when the player character is blocked by the surface facing the front of the virtual camera among the surfaces constituting the terrain object, an image that enables confirmation of the position of the player character can be displayed.
[0033] (14) In any one of the configurations (1) to (13) above, the information processing program may further cause a computer to function as a player character movement control means. The player character movement control means causes the player character in the virtual space to perform an action of destroying and / or deforming at least a part of the terrain object based on a user's operation input.
[0034] According to the configuration 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, even when the player object is arranged in a narrow space within the terrain object where an action of the player character destroying / deforming the terrain object is possible in a situation where such a virtual camera setting becomes difficult, an image with improved visibility can be displayed.
[0035] (15) In any one of the configurations (1) to (14) above, the information processing program may further cause the computer to function as a determination means and a virtual camera control means. The determination means 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 means performs avoidance control to avoid the virtual camera being located inside the terrain object, and controls the virtual camera without performing the avoidance control when the positional relationship satisfies the permission condition. The determination means determines that the positional relationship satisfies the permission condition when the ratio of the area around the position based on the player character being shielded by the terrain object is equal to or greater than the threshold value.
[0036] According to the configuration (15) above, when the shielding ratio is high, it is considered that the player character is surrounded by other objects and the user wants to observe the surroundings. Therefore, it is possible to appropriately determine the situation where the visibility is improved by arranging the virtual camera inside the terrain object.
[0037] (16) In any one of the configurations (1) to (15) above, the information processing program may further cause the computer to function as a determination means and a virtual camera control means. The determination means 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 means performs avoidance control to avoid the virtual camera being located inside the terrain object, and controls the virtual camera without performing the avoidance control when the positional relationship satisfies the permission condition. The determination means determines whether the positional relationship satisfies the permission condition based on the distance between the player character and the terrain object.
[0038] According to the configuration of (16) above, when the player character is shielded by other objects at a distance, it is considered to be a situation similar to when the player character is placed outside the terrain object. Since it is also conceivable that the visibility will decrease if the virtual camera is placed inside the terrain object, it is possible to avoid the virtual camera being placed inside the terrain object in such a situation.
[0039] (17) In any one of the configurations of (1) to (16) above, the information processing program may further cause the computer to function as a determination means and a virtual camera control means. The determination means determines whether the positional relationship between the player character in the virtual space and the terrain objects around the player character satisfies the permission conditions. When the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission conditions, the virtual camera control means performs avoidance control to avoid the virtual camera being located inside the terrain object, and controls the virtual camera without performing the avoidance control when the positional relationship satisfies the permission conditions. The determination means preferentially determines whether the positional relationship satisfies the permission conditions based on the horizontal positional relationship rather than the vertical positional relationship in the virtual space.
[0040] According to the configuration of (17) above, even when the vertical direction of the player character is shielded, if the front, rear, left, and right directions are not shielded, it is also conceivable that the visibility will decrease if the virtual camera is placed inside the terrain object. Therefore, it is possible to avoid the virtual camera being placed inside the terrain object in such a situation.
[0041] Further, the present invention may be implemented in the form of an information processing apparatus, an information processing system, and an information processing method.
Advantages of the Invention
[0042] According to the present invention, even when the virtual camera is placed inside the terrain object, an image with appropriate rendering expression can be displayed.
Brief Description of the Drawings
[0043]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Best Mode for Carrying Out the Invention
[0044] Hereinafter, a game system according to an example of the present embodiment will be described. An example of the game system 1 in the present embodiment includes a main body device (information processing device; which functions as a game device main body in the present embodiment) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 are each detachable from the main body 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 body device 2 and integrated. Further, the game system 1 can also be used with the main body device 2, the left controller 3, and the right controller 4 being separate (see FIG. 2). Hereinafter, the hardware configuration of the game system 1 of the present embodiment will be described, and then the control of the game system 1 of the present embodiment will be described.
[0045] FIG. 1 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are attached to the main body device 2. As shown in FIG. 1, the left controller 3 and the right controller 4 are respectively attached to the main body device 2 and integrated. The main body device 2 is a device that executes various processes (for example, game processes) in the game system 1. The main body device 2 includes a display 12. The left controller 3 and the right controller 4 are devices provided with an operation unit for the user to input.
[0046] FIG. 2 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are respectively removed from the main body device 2. As shown in FIGS. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main body device 2. In the following, the left controller 3 and the right controller 4 may be collectively referred to as the "controller".
[0047] FIG. 3 is a six-sided view showing an example of the main body device 2. As shown in FIG. 3, the main body device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front surface, that is, the surface on which the display 12 is provided) is generally rectangular in shape.
[0048] Note that the shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Also, the main body device 2 alone or the integrated device with the left controller 3 and the right controller 4 attached to the main body device 2 may be a portable device. Further, the main body device 2 or the integrated device may be a hand-held device. Also, the main body device 2 or the integrated device may be a transportable device.
[0049] As shown in FIG. 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device.
[0050] Also, the main body device 2 includes a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is of a type capable of multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, for example, a type capable of single-touch input (for example, a resistive film type).
[0051] The main body device 2 includes a speaker (that is, the speaker 88 shown in FIG. 6) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed in the main surface of the housing 11. And the output sound of the speaker 88 is output from these speaker holes 11a and 11b respectively.
[0052] The main body device 2 also includes a left terminal 17 which is a terminal for the main body device 2 to perform wired communication with the left controller 3, and a right terminal 21 for the main body device 2 to perform wired communication with the right controller 4.
[0053] As shown in FIG. 3, the main body device 2 includes a slot 23 which is provided on the upper surface of the housing 11. The slot 23 has a shape capable of mounting a storage medium of a predetermined type. The storage medium of the predetermined type is, for example, a storage medium dedicated to the game system 1 and information processing devices of the same type (for example, a dedicated memory card). The storage medium of the predetermined type is used, for example, to store data used in the main body device 2 (such as save data of an application, etc.) and / or programs executed by the main body device 2 (such as application programs, etc.). Also, the main body device 2 includes a power button 28.
[0054] The main body device 2 includes a lower terminal 27 which is a terminal for the main body device 2 to communicate with the cradle. In this embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the integrated device or the main body device 2 alone is placed on the cradle, the game system 1 can display the image generated and output by the main body device 2 on a stationary monitor. Also, in this embodiment, the cradle has a function of charging the placed integrated device or the main body device 2 alone. Also, the cradle has a function of a hub device (specifically, a USB hub).
[0055] FIG. 4 is a six-sided view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the vertical direction (i.e., the y-axis direction shown in FIGS. 1 and 4). The left controller 3 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 31 has a shape and size that can be gripped with one hand, particularly the left hand, when gripped in a vertically long orientation. Further, the left controller 3 can also be gripped in a horizontally long orientation. When the left controller 3 is gripped in a horizontally long orientation, it may be gripped with both hands.
[0056] The left controller 3 includes an analog stick 32. As shown in FIG. 4, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit capable of inputting a direction. The user can input a direction corresponding to the tilting direction (and an input of a magnitude corresponding to the tilted angle) by tilting the analog stick 32. Note that the left controller 3 may include, as a direction input unit, a cross key or a slide stick capable of slide input instead of the analog stick. Further, in the present embodiment, an input for pressing the analog stick 32 is possible.
[0057] The left controller 3 is provided with various operation buttons. The left controller 3 is provided with four operation buttons 33 to 36 (specifically, a right arrow button 33, a down arrow button 34, an up arrow button 35, and a left arrow button 36) on the main surface of the housing 31. Further, the left controller 3 is provided with a recording button 37 and a -(minus) button 47. The left controller 3 is provided with a first L button 38 and a ZL button 39 at the upper left of the side surface of the housing 31. Also, the left controller 3 is provided with a second L button 43 and a second R button 44 on the side surface of the housing 31 on the side where it is mounted when mounted on the main body device 2. These operation buttons are used to give instructions according to various programs (for example, an OS program or an application program) executed by the main body device 2.
[0058] Also, the left controller 3 is provided with a terminal 42 for the left controller 3 to perform wired communication with the main body device 2.
[0059] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In the present embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the vertical direction. The right controller 4 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 51 has a shape and size that can be gripped with one hand, particularly the right hand, when gripped in a vertically long orientation. Also, the right controller 4 can be gripped in a horizontally long orientation. When the right controller 4 is gripped in a horizontally long orientation, it may be gripped with both hands.
[0060] Similar to the left controller 3, the right controller 4 is provided with an analog stick 52 as a direction input unit. In this embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Also, instead of the analog stick, the right controller 4 may be provided with a cross key or a slide stick capable of slide input. Also, similar to the left controller 3, the right controller 4 is provided with four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. Further, the right controller 4 is provided with a + (plus) button 57 and a home button 58. Also, the right controller 4 is provided with a first R button 60 and a ZR button 61 at the upper right of the side surface of the housing 51. Also, similar to the left controller 3, the right controller 4 is provided with a second L button 65 and a second R button 66.
[0061] Also, the right controller 4 is provided with a terminal 64 for the right controller 4 to perform wired communication with the main body device 2.
[0062] FIG. 6 is a block diagram showing an example of the internal configuration of the main body device 2. In addition to the configuration shown in FIG. 3, the main body device 2 includes each of the components 81 to 91, 97, and 98 shown in FIG. 6. Some of these components 81 to 91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.
[0063] The main body device 2 includes a processor 81. The processor 81 is an information processing unit that executes various information processes to be executed in the main body device 2. For example, it may be composed of only a CPU (Central Processing Unit), or may be composed of a SoC (System-on-a-chip) including a plurality of functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 executes various information processes by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84, or an external storage medium mounted on the slot 23, etc.).
[0064] As an example of an internal storage medium built in the main body device 2, the main body device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is mainly a memory used to store various data (which may be a program) stored in the main body device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.
[0065] The main body device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23, and reads and writes data to and from a predetermined type of storage medium (for example, a dedicated memory card) mounted on the slot 23 according to an instruction from the processor 81.
[0066] The processor 81 appropriately reads and writes data between the flash memory 84 and the DRAM 85, and the above-mentioned storage media, and executes the above-mentioned information processing.
[0067] The main body device 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates (specifically, wirelessly communicates) with an external device via a network. In the present embodiment, the network communication unit 82 connects to a wireless LAN and communicates with an external device by a method compliant with the Wi-Fi standard as a first communication mode. Further, the network communication unit 82 performs wireless communication with another main body device 2 of the same type by a predetermined communication method (for example, communication by a proprietary protocol or infrared communication) as a second communication mode. Note that the wireless communication by the second communication mode enables wireless communication with another main body device 2 arranged within a closed local network area, and realizes a function that enables so-called "local communication" in which data is transmitted and received by direct communication between a plurality of main body devices 2.
[0068] The main body device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main body device 2 and the left controller 3 and the right controller 4 is arbitrary, but in the present embodiment, the controller communication unit 83 communicates with the left controller 3 and the right controller 4 in accordance with the Bluetooth (registered trademark) standard.
[0069] The processor 81 is connected to the above-described left terminal 17, right terminal 21, and lower terminal 27. When the processor 81 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Also, when the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Further, when the processor 81 communicates with the cradle, it transmits data to the cradle via the lower terminal 27. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively. Also, when the left controller 3 and the right controller 4 are attached to the main body device 2 as an integrated device or when the main body device 2 alone is attached to the cradle, the main body device 2 can output data (for example, image data or audio data) to a stationary monitor or the like via the cradle.
[0070] Here, the main body device 2 can communicate with a plurality of left controllers 3 simultaneously (in other words, in parallel). Also, the main body device 2 can communicate with a plurality of right controllers 4 simultaneously (in other words, in parallel). Therefore, a plurality of users can simultaneously input to the main body device 2 using respective sets of the left controller 3 and the right controller 4. As an example, while the first user inputs to the main body device 2 using the first set of the left controller 3 and the right controller 4, it is possible for the second user to input to the main body device 2 using the second set of the left controller 3 and the right controller 4.
[0071] Also, the display 12 is connected to the processor 81. The processor 81 displays an image generated (for example, by executing the above-described information processing) and / or an image acquired from the outside on the display 12.
[0072] The main body device 2 includes a codec circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speakers 88 and the audio input / output terminal 25, and is also connected to the processor 81. The codec circuit 87 is a circuit that controls the input / output of audio data to / from the speakers 88 and the audio input / output terminal 25.
[0073] The main body device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the processor 81. Although not shown, the power control unit 97 is also connected to each part of the main body device 2 (specifically, each part that receives power supply from the battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above parts based on a command from the processor 81.
[0074] Also, the battery 98 is connected to the lower terminal 27. When an external charging device (e.g., a cradle) is connected to the lower terminal 27 and power is supplied to the main body device 2 via the lower terminal 27, the supplied power is used to charge the battery 98.
[0075] FIG. 7 is a block diagram showing an example of the internal configuration of the main body device 2, the left controller 3, and the right controller 4. Note that the details of the internal configuration of the main body device 2 are shown in FIG. 6, so they are omitted in FIG. 7.
[0076] The left controller 3 includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 7, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main body device 2 by both wired communication via the terminal 42 and wireless communication without using the terminal 42. The communication control unit 101 controls the communication method that the left controller 3 performs with respect to the main body device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. Also, when the left controller 3 is removed from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83). The wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with, for example, the Bluetooth (registered trademark) standard.
[0077] Further, the left controller 3 includes a memory 102 such as a flash memory. The communication control unit 101 is configured by, for example, a microcomputer (also referred to as a microprocessor), and executes various processes by executing the firmware stored in the memory 102.
[0078] The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, 44, and 47). Also, the left controller 3 includes an analog stick (described as "stick" in FIG. 7) 32. Each button 103 and the analog stick 32 output information regarding the operation performed on themselves to the communication control unit 101 repeatedly at an appropriate timing.
[0079] The communication control unit 101 acquires information related to input (specifically, information related to operations or detection results by sensors) from each input unit (specifically, each button 103 and the analog stick 32). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main body device 2. Note that the operation data is repeatedly transmitted at a rate of once every predetermined time. Note that the intervals at which the information related to input is transmitted to the main body device 2 may be the same or different for each input unit.
[0080] When the above operation data is transmitted to the main body device 2, the main body device 2 can obtain the input performed on the left controller 3. That is, the main body device 2 can determine operations on each button 103 and the analog stick 32 based on the operation data.
[0081] The left controller 3 includes a power supply unit 108. In the present embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and is also connected to each part of the left controller 3 (specifically, each part that receives power supply from the battery).
[0082] As shown in FIG. 7, the right controller 4 includes a communication control unit 111 that communicates with the main body device 2. The right controller 4 also includes a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and the memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main body device 2 both by wired communication via the terminal 64 and by wireless communication without using the terminal 64 (specifically, communication according to the Bluetooth (registered trademark) standard), and controls the communication method that the right controller 4 performs with the main body device 2.
[0083] 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 stick 52. These input units have the same functions as those of the input units of the left controller 3 and operate in the same manner.
[0084] The right controller 4 includes a power supply unit 118. The power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates in the same manner.
[0085] Next, with reference to FIGS. 8 to 15, an overview of the processing executed in the game system 1 will be described. In the present embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player characters operated by a player) are arranged in a game space, which is a three-dimensional virtual space, and causes the display device to display the game image. Note that, in the present embodiment, the display device on which the game image is displayed may be the above-described display 12 or a stationary monitor.
[0086] In the present embodiment, the shapes of some objects in the game space are defined by voxel data. Here, a voxel is a rectangular parallelepiped (more specifically, a cubic) region arranged in a grid pattern in the game space, and voxel data is data set for each voxel. Hereinafter, an object whose shape is defined by voxel data will be referred to as a "voxel object". In the present embodiment, the game system 1 stores voxel data as data for generating voxel objects in the game space for each of a plurality of voxels set in the game space.
[0087] FIG. 8 is a diagram showing an example of a terrain object that is a voxel object. As shown in FIG. 8, in the present embodiment, a terrain object representing a terrain such as the ground is defined in shape by voxel data (that is, it is a voxel object). Each cube shown in FIG. 8 represents a terrain object. In FIG. 8, the portions that are the sides of the terrain object are shown in thick lines, but this thick line is added for the purpose of making the drawing easier to view, and in reality, the sides of the terrain object do not need to be shown thickly.
[0088] Also, the terrain object shown in FIG. 8 is generated, for example, according to the rule that "when the parameter included in the voxel data set for a voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and when it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". The terrain object shown in FIG. 8 is shown for the purpose of easily exemplifying the relationship between a voxel and a voxel object. In the present embodiment, actually, for example, like the terrain object shown in FIG. 15 described later, a voxel object is generated (based on voxel data) according to a rule that results in a more complex shape compared to the length of one side of a voxel. Note that the rule for determining the shape of a voxel object based on voxel data is arbitrary. In other embodiments, the game system 1 may generate a voxel object as shown in FIG. 8 or a voxel object as shown in FIG. 15 based on object data.
[0089] Regarding the voxel object, the shape can be changed by changing the voxel data of each voxel. FIGS. 9 and 10 are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 8 is deleted. That is, when the hatched part of the terrain object shown in FIG. 9 is destroyed, the terrain object changes to the shape shown in FIG. 10. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data described later so as to indicate that there is no terrain object for the voxels in the hatched part. Note that when the game system 1 adds a terrain object, it can easily change the shape of the terrain object by changing the voxel data of each voxel, in the same manner as when erasing the terrain object.
[0090] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, when the shape of a terrain object changes as a result of being destroyed for some reason (e.g., a player character strikes the terrain object) in the game, the game system 1 does not directly change the data indicating the outer shape of the terrain object (i.e., the mesh described later), but can freely change the shape of the terrain object by changing the voxel data used to generate the terrain object.
[0091] FIG. 11 is a diagram showing an example of the content of the voxel data. Here, in this embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 stores by associating voxel data with each voxel in the game space. The voxel data indicates the presence or absence of a voxel object in the voxel corresponding to the voxel data, and so on.
[0092] As shown in FIG. 11, the voxel data includes density data. The density data is data of density indicating the degree to which an object is included in the region where each voxel is defined. Although details will be described later, the position and shape of the surface of the voxel object (that is, the mesh described later) are determined based on the above density. That is, in the present embodiment, the above density is also data used to create a mesh that defines the surface of the voxel object.
[0093] In the present embodiment, the density can take an integer value in the range from a lower limit value (for example, 0) to an upper limit value (for example, 255). In the present embodiment, in the game system 1, when the value of the density set for a voxel is high, the ratio of the volume occupied by the voxel object in the voxel tends to be large, and when the value of the density is low, the ratio in the voxel is small. For example, when the density is 0, there is no object in the voxel, when the density is 255, all of the voxel is an object, and when the density is a value in between, the object can occupy the voxel at a ratio corresponding to the value. Then, based on the density, the shape of the voxel mesh, that is, the shape of the voxel object is determined. However, the shape of the voxel object generated based on the above density does not necessarily have to be a volume that exactly matches the ratio indicated by the density. For example, in the method of generating a voxel object as shown in FIG. 8 and the method of generating a voxel object as shown in FIG. 15, the volumes may be different even based on the same density.
[0094] Note that in other embodiments, the density may indicate either a state in which the entire region in the voxel is occupied by the voxel object or a state in which the voxel object is not included in the region in the voxel. For example, the density data may be data that can only take either 0 or 1.
[0095] As shown in FIG. 11, the voxel data includes material data. The material data indicates the material (in other words, the substance) of the voxel object generated from the voxel data. Here, in the present embodiment, materials such as sand, rock, and soil are set for the voxel object. That is, in the present embodiment, a plurality of types of materials are prepared as materials that can be set for the voxel object, and any one of the plurality of types of materials is set for the voxel object.
[0096] As shown in FIG. 11, in the present embodiment, the material data indicates identification information of the material (referred to as "material ID"). Further, in the present embodiment, the game system 1 stores material information indicating the properties and textures of the materials prepared in the game for each material. In the present embodiment, the material information associates the material ID, the properties of the material, and the appearance of the material (specifically, the texture). Specifically, the material information is information that associates the material ID, identification information of the properties of the material (referred to as "property ID"), and identification information of the texture of the material (referred to as "texture ID") (see FIG. 11).
[0097] FIG. 12 is a diagram showing an example of property information indicating the properties of materials. As shown in FIG. 12, the game system 1 stores property information that associates the above property ID with information indicating the content of the property indicated by the property ID. The properties of the material are the properties that the voxel object in which the material is set has in the game, and are, for example, information such as the weight and slipperiness shown in FIG. 12. Note that the specific content of the property is arbitrary, and for example, the following information may be set as the properties of the material. · Temperature · Fragility (for example, the number of times the voxel object breaks until it breaks when an impact is applied to the voxel object) · Whether another object adheres to the voxel object · The amount of health recovered by the player character when the player character destroys a voxel object · The amount of in-game currency obtained by the player character when the player character destroys a voxel object Note that the specific content of the properties set for the material is arbitrary. In other embodiments, information different from the above may be set as information indicating the properties of the material.
[0098] FIG. 13 is a diagram showing an example of texture information indicating the texture of a material. As shown in FIG. 13, the game system 1 stores texture information associating the above texture ID with the texture indicated by the texture ID.
[0099] Note that, as data defining the appearance of the voxel object, in addition to the texture information, any information regarding color and / or pattern may be set. For example, as information regarding the appearance of the voxel object, a crack pattern may be set. By using such a pattern, the game system 1 can generate an image of a voxel object representing an appearance with cracks.
[0100] As described above, in the present embodiment, the material data defines the properties of the voxel object and the texture used for the voxel object by the material ID. For example, when the material ID indicated by the material data included in the voxel data is "002", the property indicated by the property ID "001" associated with the material ID in the material information is set as the property of the voxel object corresponding to the voxel data (see the arrow shown in FIG. 11). Also, in the above case, the texture indicated by the texture ID "002" associated with the material ID in the material information is applied to the voxel object corresponding to the voxel data (see the arrow shown in FIG. 11).
[0101] As described above, in the present embodiment, the game system 1 manages the properties of materials and textures separately. Therefore, in the present embodiment, it is possible to easily set a plurality of types of materials having the same properties but different appearances (i.e., textures), or a plurality of types of materials having different properties but the same appearance.
[0102] Note that the material data may be any data that can identify the properties and / or textures of the material. For example, in other embodiments, the material data may indicate the above property ID and texture ID, or may have a data structure that actually includes data indicating the properties and textures of the material.
[0103] Also, the material data may be information regarding the material and may further indicate other information different from the above properties and textures. For example, the material data may include effect data indicating an effect that occurs when an effect generation condition (for example, a part of the voxel object is destroyed, or a character steps on the voxel object) set for the voxel object is satisfied. Note that the effect data may be data indicating an effect image (for example, an effect image representing that the voxel object has been destroyed), or may be data indicating an effect sound (the sound of footsteps when a character walks on the voxel object).
[0104] As shown in FIG. 11, the voxel data includes state data indicating the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data may be data indicating whether the voxel object is in a wet state, or may be data indicating the amount of damage applied to the voxel object. The content of the state data may be updated during the game.
[0105] In this embodiment, the surface of the voxel object is represented by a mesh. A mesh is 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 voxel data will be described.
[0106] FIG. 14 is a diagram showing an example of a method for generating a mesh. Note that in FIG. 14, for the purpose of making the drawing easy to view and the explanation easy to understand, voxels and meshes are represented two-dimensionally, but actually, a three-dimensional mesh is generated based on voxels in a three-dimensional space.
[0107] As described above, in this embodiment, the density set for the voxels is set in the range of 0 to 255. Also, in this embodiment, it is assumed that voxels with a density equal to or higher than the reference value are inside the object, and voxels with a density lower than the reference value are outside the object. It is not necessary to define only voxels with a density of 0 as outside the object (that is, reference value = 1), and the reference value is, for example, 128. In the example shown in FIG. 14, the density is 0 in voxel 201 and other outer voxels, 100 in voxel 202 where the density is lower than the reference value, and 150 and 200 in voxels 203 and 204 where the density is equal to or higher than the reference value. In this embodiment, the game system 1 generates vertices between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value. Specifically, for each region (the region surrounded by a dotted line in the drawing) spanning eight (four in the drawing) adjacent voxels, a determination is made as to whether to generate a vertex. That is, a vertex is generated in a region that spans both voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value. Further, when the boundary between adjacent vertices (the boundary of the above-described region including each vertex) passes between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value, a polygon mesh is generated by connecting those vertices.
[0108] The coordinates of the vertices are determined by comparing the densities of adjacent voxels for each of the X, Y, and Z axes and performing interpolation based on the density differences. At this time, coordinate calculations can be further performed based on the normal information. The normal information may be pre-retained for at least some of the voxels, or if it is not retained, the normal information may also be calculated based on the densities of adjacent voxels. In FIG. 14, since the density of voxel 202 is less than the reference value, voxel 202 is treated as outside the object in the determination of the presence or absence of vertices, but the density value of voxel 202 itself is used for the coordinate calculation of the generated vertices. If the reference value is set to a value lower than the density of voxel 202, more vertices will be added to the upper right and upper left sides of voxel 202 in FIG. 14.
[0109] By generating the polygon mesh as described above, a shape having a volume that reflects the density of each voxel to some extent can be generated. However, depending on the relationship with adjacent voxels, it is possible that some voxels with a density of 0 may include areas within the object, or some voxels with a density of 255 may include areas outside the object. Also, in this embodiment, since voxels with a density less than the reference value are treated as outside the object, the volume is smaller by the amount that the number of vertices is reduced compared to the case of treating them as inside the object. That is, it is not necessary to calculate the polygon mesh so as to have a volume that exactly corresponds to the density value.
[0110] FIG. 15 is a diagram showing an example of a game image including a terrain object. In this embodiment, by generating the mesh as described above, the voxel object can be made into a shape with complex unevenness compared to, for example, the length of one side of the voxel.
[0111] Note that the method of generating the mesh based on the voxel data is arbitrary. For example, in other embodiments, when the density of the voxel data is greater than a predetermined value, the mesh may be generated such that a cube is arranged at the voxel (see FIG. 8).
[0112] For each face of the mesh generated as described above, the game system 1 determines the appearance (i.e., color and / or pattern) of each face according to the material specified by the voxel data. Specifically, the game system 1 determines the texture to be used for rendering each face of the mesh based on the voxel data, and generates an image of the voxel object by mapping the determined texture to each face. Note that the texture mapped to each face of the mesh is determined based on the voxel data of the voxels (referred to as target voxels) used to generate the face among the voxels where the voxel object exists. Note that the target voxels are, for example, one or more voxels arranged around the face, although it also depends on the method of generating the mesh. That is, the texture mapped to the face of the mesh is determined to be a texture corresponding to the material set for one or more voxels arranged around the face.
[0113] Note that in other embodiments, one voxel data may include multiple types (e.g., two types) of material data. At this time, the voxel data includes ratio data regarding the multiple types of material data. The ratio data is data for determining the texture to be used for the voxel object, and indicates the ratio of the influence of each material (specifically, the texture corresponding to the material) indicated by the multiple types of material data on the appearance (specifically, color and / or pattern) of the voxel object. Also, when determining the texture mapped to each face of the mesh, the texture is determined based on various data (specifically, density data, multiple types of material data, and ratio data) included in the voxel data of the target voxels. For example, when multiple types of materials are set for the target voxels corresponding to one face, the texture corresponding to the material (one type) with the greatest degree of influence may be used considering the above ratio, or each texture corresponding to the multiple types of materials may be used considering the above ratio.
[0114] In another embodiment, there may be both a voxel object using voxel data including one type of material data and a voxel object using voxel data including two types of material data.
[0115] Next, with reference to FIGS. 16 to 28, an example of a game play in which a player character in a game space operates in response to a user operation on the game system 1 will be described. For example, in this embodiment, in the game system 1 which is an integrated device, operations of each operation button and stick of the left controller 3 and / or the right controller 4, or a touch operation on the touch panel 13 of the main body device 2, an operation of moving the entire game system 1, an operation of changing the posture, etc., cause the player character PC appearing in the game space displayed on the display 12 to operate.
[0116] FIG. 16 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 includes not only natural objects and natural areas such as the ground, cliffs, and rocks in the game space, but also artificial objects such as buildings and paved surfaces. The terrain object TO is generated based on the voxel data described above and is composed of voxel objects whose surfaces are represented by meshes. For example, one of the voxel spaces defining the voxels is set in the game space, and the terrain object TO is generated in the game space by defining a plurality of voxels in the voxel space. Here, the voxel space is set at least one in at least a part of the game space to define a plurality of voxels, and the length of one side (resolution) of the voxel, the vector (direction) in the global coordinates of the xyz axes in the vector space, the lengths of the x, y, and z directions of the voxel space, the position of the voxel space in the game space, etc. are defined for each voxel space. In FIG. 16, an example of drawing by mesh generation with the appearance as shown in FIG. 15 by the method described in FIG. 14 is illustrated, but the drawing may be performed by the block-shaped meshes described in FIGS. 9 and 10.
[0117] In this embodiment, a display image based on an image (virtual space image) viewed from a virtual camera C arranged in the game space is displayed on a display device (for example, display 12). For example, the virtual camera C is arranged within a movable range based on the position of a player character PC arranged in the game space. The player character PC can move within the game space according to a user operation, and the above-mentioned movable range also moves within the game space according to the movement of the player character PC. Further, the virtual camera C can move within the above-mentioned movable range according to a user operation. Therefore, the arrangement position of the virtual camera C can be moved within the game space according to each of the user operation for moving the player character PC and the user operation for moving the position of the virtual camera C.
[0118] In this embodiment, for example, like the cave B shown in FIG. 16, inside a cave or cavity etc. formed in advance in the terrain object TO, or inside a cave etc. formed by the player character PC destroying and / or deforming a part of the terrain object TO, the player character PC can be moved. For example, by the player character PC performing an action of destroying the terrain object TO, it is possible to destroy the terrain object TO and eliminate (erase) at least a part of it. As an example, by the player character PC performing an action of hitting a part of the terrain object TO, the terrain object TO can be destroyed and a part of the terrain object TO can be erased.
[0119] FIG. 17 is a diagram showing an example of a state where the player character PC has erased a part of the terrain object TO. As an example, the example shown in FIG. 17 shows the inside of the terrain object TO in which the player character PC is digging while erasing a part of the terrain object TO, and shows the state of the digging using a longitudinal sectional view of the terrain object TO. Note that the longitudinal sectional view shown in FIG. 17 is not a virtual space image used in the present embodiment or a display image displayed based on the virtual space image, but is a diagram for explaining how the player character PC digs the terrain object TO.
[0120] When the player character PC performs an action of hitting a part of the terrain object TO, the terrain object TO within a predetermined range centered on the hit portion is erased. For example, as shown in the upper diagram of FIG. 17, when the player character PC performs an action of hitting the wall at the end of the cave formed in the terrain object TO, the terrain object TO on the back side from the wall is destroyed and erased, so that the cave is cut in the depth direction. Specifically, as shown in the lower diagram of FIG. 17, in the terrain object TO, a bell-shaped destruction range is formed in which the innermost part missing due to the destruction has a semi-ellipsoidal shape due to the destruction action of the player character PC. By this action, a space without the terrain object TO expands at the innermost part of the cave. FIG. 17 shows an example in which the cave formed in the terrain object TO has expanded by only the space CV due to the above action.
[0121] In the present embodiment, the terrain object TO is expressed as being destroyed and erased by changing the voxel data of each voxel constituting the terrain object TO. FIG. 18 is a diagram showing an example of the destruction range of the voxels to be destroyed in the terrain object TO. Note that the left diagram in FIG. 18 shows the front surface (the surface to be destroyed) of the terrain object TO as viewed from the side of the player character PC that destroys the terrain object TO. The right diagram in FIG. 18 shows the right side surface of the terrain object TO shown in the left diagram.
[0122] The destruction range of the terrain object TO to be destroyed by the destruction action of the player character PC is set based on the position, strength, ability of the player character PC when destroying the terrain object TO, and the strength (material) of the terrain object TO. For example, the destruction range is set to a range where the distance from a reference position set based on the position where the destruction action by the player character PC occurs in the game space is within a predetermined distance. In the example of FIG. 18, for the terrain object TO, a bell-shaped destruction range with a hemispherical shape at the innermost part missing due to the destruction is formed centered on the position where the player character PC performed the destruction action. Note that the shape of the destruction range may be other shapes, such as spherical, ellipsoidal, cube-shaped, cylindrical, wedge-shaped, shapes generated by 3D software, or shapes with a part of these shapes missing. Also, the position of the destruction range may be set centered on the position where the destruction action by the player character PC occurs in the game space (for example, the position reached by the fist with which the player character PC punches), or may be set centered on a predetermined distance in front of the position as seen from the player character PC.
[0123] Voxels to be erased (including partial erasure) based on the above-described destruction range are determined using a signed distance field (SDF). The SDF indicates the distance from each voxel to the closest surface of the destruction range. With the surface of the destruction range being 0, the outside of the destruction range is regarded as having a positive distance, and the inside of the destruction range is regarded as having a negative distance. Then, according to the SDF in each voxel, the erasure process for each voxel is set. For example, for the voxels to be erased, the voxel data of the voxels is rewritten so as to indicate that there is no terrain object, and thus the part of the voxels is erased from the terrain object TO.
[0124] For example, in this embodiment, by changing the density included in the voxel data, at least a part of each voxel is controlled to be erased. For example, the density is an index indicating the degree of the volume occupied by the voxel object within the region defined by the voxel. The value of 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). And it is assumed that when the value of the density set for the voxel is high, the above-mentioned degree within the voxel is large, and when the value of the density is low, the above-mentioned degree within the voxel is small. Also, for a voxel whose density is set to the lower limit value (that is, 0), no voxel object is included in the voxel, and for a voxel whose density is set to the upper limit value (that is, 255), it is regarded that the voxel object is included in the whole of the voxel. That is, the density becomes voxel data indicating the presence of the terrain object when set to a value larger than the lower limit value, and functions as voxel data indicating the absence of the terrain object when set to the lower limit value. However, the shape of the voxel mesh generated based on the density does not necessarily have a volume that exactly corresponds to the value of the density.
[0125] In this embodiment, based on the SDF of each voxel, the density of each voxel is rewritten to control the deletion of each voxel. Specifically, by rewriting at least the density of the voxel where the SDF is a negative distance to a low value, at least some of the voxels included within the destruction range are made to be in a state where there is no terrain object. As a first example, by rewriting the density of the voxel where the SDF is a negative distance to the lower limit value, the voxels included within the destruction range are made to be in a state where there is no terrain object, and by maintaining the density of the voxel where the SDF is a positive distance at its original value, the voxels outside the destruction range are made to be in a state where there is a terrain object. As a second example, by rewriting the density of the voxel where the SDF is a negative distance to a lower value as the absolute value of the distance is larger, and by rewriting the density of the voxel where the absolute value of the distance is larger than a predetermined value to the lower limit value, some of the voxels included within the destruction range are made to be in a state where there is no terrain object, and by maintaining the density of the voxel where the SDF is a positive distance at its original value, the voxels outside the destruction range are made to be in a state where there is a terrain object. As a third example, by rewriting the density of the voxel where the SDF is a negative distance to the lower limit value, the voxels included within the destruction range are made to be in a state where there is no terrain object, and by rewriting the density of the voxel where the SDF is a positive distance to a lower value as the absolute value of the distance is smaller, some of the voxels outside the destruction range are also made to be in a state where there is no voxel object throughout the voxel.
[0126] Note that the change amount of the density in the above-described voxel data may 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 may be adjusted according to the properties of the material indicated by the material data (for example, fragility, temperature) (for example, the change amount of the density rewritten to a lower value is increased for a more fragile material).
[0127] In addition, the rewriting of the density in the above-described voxel data may adjust the amount of change in the density according to the state data included in the voxel data. For example, the above state data is data indicating the amount of damage added from the player character PC to the terrain object TO. As an example, whether to decrease the density in the voxel data or increase the amount of damage may be determined by the relationship between the attack power of the player character PC and the defensive 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 side receiving the attack (the hardness of the material of the terrain object TO), when the hardness of the attacking side is harder, the density in the above destruction range is rewritten, and when the hardness of the side receiving the attack is harder, neither the density nor the amount of damage in the above destruction range is rewritten. And when the hardness of the attacking side is equal to the hardness of the side receiving the attack, the amount of damage to the voxels within the above destruction range is increased, and when the amount of damage exceeds the allowable amount (damage durability value by the material) of the voxels, the density of the voxels is rewritten. Note that when the amount of damage to the voxels exceeds the allowable amount of the voxels, the density of the voxels may be set to 0 to erase the voxels, and the amount of damage to the voxels can also function as voxel data indicating the absence of terrain.
[0128] Then, as described above, on the surface of the terrain object TO after rewriting the density (specifically, the surface newly exposed to the outside due to destruction), updates for display are performed by newly generating a mesh. For example, based on the occurrence of an event in which the terrain object TO is destroyed, a new mesh is generated by recalculating the vertices of the mesh in the range including the voxels whose voxel data has been rewritten by the destruction. As an example, as shown in FIG. 14, each vertex of the mesh is generated. In this way, after voxel deletion, a new mesh is generated by an algorithm in which the vertices of the mesh are recalculated based on the density of each voxel between the voxels where the terrain does not exist and the voxels where the terrain exists, and thus the terrain object TO may be deleted. Then, the texture used for rendering each face of the mesh is determined based on the voxel data, and by mapping the determined texture to each face, an image of the terrain object TO after destruction is generated. Note that the range for performing the above-described recalculation of the mesh may be a chunk (a group of voxels that is a processing unit composed of a predetermined number of voxels) including the voxels whose voxel data has been rewritten. For example, if one chunk is composed of 16×16×16 voxels and recalculation is performed for the chunk including the voxels whose voxel data has been rewritten, the processing can be reduced compared to recalculating the mesh for the entire game space. The range may be the voxel space in which the voxels whose voxel data has been rewritten are arranged, or the entire terrain object TO including the voxels whose voxel data has been rewritten. Also, if there is no problem with the processing load, the mesh may be recalculated for the entire game space.
[0129] In an example shown in FIG. 16, the player character PC is arranged outside the cave B formed in the terrain object TO. And 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.
[0130] FIG. 19 is a diagram showing an example in which a virtual camera C is arranged in a second state in a game space in which a terrain object TO and a player character PC are set. In an example shown in FIG. 19, the player character PC has moved and is arranged inside a cave B formed in the terrain object TO. Then, the virtual camera C is also moving within the game space based on the position of the player character PC. In the example shown in FIG. 19, the virtual camera C is in a state of being arranged outside the terrain object TO. Therefore, a terrain object TO exists between the virtual camera C and the player character PC, and the player character PC is blocked by the surface facing the front side among the surfaces constituting the terrain object TO as viewed from the virtual camera C. That is, in the example shown in FIG. 19, the player character PC is blocked by the surface that appears on the virtual camera C side among the meshes constituting the terrain object TO.
[0131] FIG. 20 is a diagram showing an example in which a virtual camera C is arranged in a third state in a game space in which a terrain object TO and a player character PC are set. In an example shown in FIG. 20, the player character PC has moved further and is arranged on the back side of the cave B formed in the terrain object TO. Then, the virtual camera C is also moving within the game space based on the position of the player character PC. In the example shown in FIG. 20, the virtual camera C is in a state of being arranged inside the terrain object TO. Therefore, there is no state in which the surface facing the front side intervenes between the virtual camera C and the player character PC. Note that the player character PC and the virtual camera C shown by the dashed lines in FIG. 20 indicate that they are arranged inside the terrain object TO.
[0132] In this embodiment, when the positional relationship between the player character PC and the surrounding terrain object TO in the game space does not satisfy the underground camera permission condition, when the virtual camera C approaches the terrain object TO, avoidance control is performed to avoid the virtual camera C being disposed inside the terrain object TO. On the other hand, when the above positional relationship satisfies the above underground 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 underground camera permission condition, it becomes possible to dispose the virtual camera C inside the terrain object TO. Note that the terrain object TO for which the above underground camera permission condition is determined and the terrain object TO for which the above avoidance control is applied or inside which the virtual camera C is allowed to be disposed may be the same object or different objects.
[0133] FIG. 21 is a diagram for explaining an example of the movable range of the virtual camera C when the above underground camera permission condition is not satisfied and an example of the movable range of the virtual camera C when the above underground camera permission condition is satisfied. As shown in the upper and lower diagrams of FIG. 21, the movable range 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 or a position around the player character PC). For example, the above movable range is formed using a three-dimensional shape surface such as an oblate spheroid surface, a prolate spheroid surface, or a spherical surface centered on the position of the player character PC. As an example, the above movable range is an oblate spheroid surface, a prolate spheroid surface, or a spherical surface formed by using the vertical direction of the game space passing through the position of the player character PC as the rotation direction, or an oblate spheroid surface or a prolate spheroid surface formed by using the front-rear direction of the player character PC in the game space passing through the position of the player character PC as the rotation direction. Then, the virtual camera C can move within the game space within the range of the movable range according to the user operation.
[0134] As shown in the upper figure of FIG. 21, when the underground camera permission conditions are not satisfied, the movable range is formed outside the terrain object TO. And when a part of the three-dimensional shape surface forming the movable range overlaps with the terrain object TO, the surface of the solid excluding the overlapping part from the three-dimensional shape surface becomes the movable range of the virtual camera C.
[0135] Also, as shown in the lower figure of FIG. 21, when the underground camera permission conditions are satisfied, the movable range is formed in a shape that overlaps with the inside of the terrain object TO even when a part of the three-dimensional shape surface forming the movable range overlaps with the terrain object TO. As described above, since the virtual camera C can be moved and arranged in the game space along the movable range, by moving the virtual camera C to the movable range formed inside the terrain object TO, the virtual camera C can be made to function as an underground camera arranged inside the terrain object TO.
[0136] Note that when the underground camera permission conditions are not satisfied, the size, orientation, shape type, etc. of the three-dimensional shape surface forming the movable range may be changed compared to the movable range when the permission conditions are not satisfied. Also, the virtual camera C may be movable not only on the surface of the solid forming the movable range but also inside it. Also, the three-dimensional shape surface forming the movable range may be other three-dimensional shapes. For example, the three-dimensional shape surface forming the movable range may be a surface that constitutes a polyhedron, a cylinder, an elliptical cylinder, a regular prism, a cone, a regular pyramid, a solid with a part of the above-mentioned solids removed, a solid obtained by deforming the above-mentioned solids, etc.
[0137] Also, the movable range of the virtual camera C described above conceptually explains the possible behaviors of the virtual camera C, and in actual control, the three-dimensional region described above does not necessarily need to be calculated and set in advance. For example, based on the position of the player character PC, the position and direction of the virtual camera C may be calculated each time. In this case, the placement distance from the player character PC is calculated each time according to the direction in which the virtual camera C is placed with respect to the player character PC, and the position and direction of the virtual camera C are set according to the placement direction and placement distance. And when the position of the virtual camera C overlaps with the terrain object TO in a state where the underground camera permission condition is not satisfied, the position is changed to the outside of the terrain object TO. As an example, in the placement direction of the virtual camera C described above, 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.
[0138] The underground camera permission condition in this embodiment is set using the ratio of the surroundings of the position based on the player character PC being shielded by other objects including the terrain object TO. For example, the underground camera permission condition may be set based on the shielding ratio of the fields of view in the up, down, left, right, front, and rear directions as seen from the position based on the player character PC being blocked by other objects. As an example, when the shielding ratio is 50% or more, it may be determined that the above underground camera permission condition is satisfied.
[0139] FIG. 22 is a diagram showing an example of a state in which six sides of up, down, left, right, front, and rear are photographed from the position based on the player character PC. For example, the position based on the player character PC for photographing the six sides is set to a position (for example, a position about 8 m above) above the player character PC in the game space. In an example of FIG. 22, since the player character PC is arranged near the entrance of the cave B, the photographed upper surface is divided into the terrain object TO and the sky in the game space, and is in a state of being shielded by 50% or more by other objects.
[0140] For example, in this embodiment, the above six surfaces are photographed at regular intervals, and the ratio of the pixels excluding the pixels without depth values (z-values) to the total pixels is calculated as the occlusion rate. When the calculated occlusion rate is equal to or higher than a 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 underground 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 another object (for example, the terrain object TO), and it is desired to observe other objects around it. Therefore, by allowing the virtual camera C to be arranged inside the other object in such a situation, it is possible to appropriately determine whether the visibility is improved.
[0141] Note that the above occlusion rate is a parameter indicating the degree to which the surroundings of the player character PC are occluded by the terrain object TO or the like, and it is assumed that the occlusion is independent of the length of the distance from the player character PC to the occluding object. However, it may be calculated based on the distance between the player character PC and the occluding object that becomes the subject. For example, for pixels where the distance between the player character PC and another object that becomes the subject is separated by a predetermined distance or more (for example, pixels with a depth value (z-value) of a predetermined value or more), the occlusion rate may be calculated as non-occluded pixels. In this case, the ratio of the pixels excluding the pixels where the distance between the player character PC and another object is separated by a predetermined distance or more and the pixels without a depth value (z-value) to the total pixels is calculated as the occlusion rate. By using such an occlusion rate, when the player character PC is occluded by another object far away (for example, when it is arranged in a large space), it is considered to be in a state similar to when it is arranged on the ground, and it is assumed that the visibility will decrease if the virtual camera C is allowed to be arranged inside another object. Therefore, such a situation can be avoided.
[0142] Also, the above shielding ratio may be calculated by prioritizing some of the six surfaces. As a first example, the shielding ratio may be calculated by prioritizing the horizontal surfaces (front, back, left, and right) of the game space over the vertical surfaces (top and bottom) of the game space. As an example, the shielding ratio may be calculated using the four horizontal surfaces of the game space, excluding the two vertical surfaces of the game space, as the surfaces to be calculated. As another example, the contribution rate (weighting) of the two vertical surfaces of the game space may be made lower than that of the other four surfaces, and the shielding ratio may be calculated. By using such a shielding ratio, when the player character PC is placed in a space with a ceiling but not much blocked in the horizontal direction, a situation where the visibility decreases because it is assumed that the virtual camera C is placed above the ceiling or underground is assumed, and such a situation can be avoided. As a second example, the shielding ratio may be calculated using the four horizontal surfaces of the game space and the upper surface of the game space, excluding one surface in the downward direction of the game space. Since the downward direction, which is the ground direction of the game space, is mostly blocked, the calculation process can be reduced by excluding the lower surface from the calculation of the shielding ratio. Note that the mode of calculating the shielding ratio by prioritizing some of the six surfaces may be implemented in combination with the mode of calculating the shielding ratio based on the distance to the subject described above.
[0143] Also, the other objects considered to shield the player character PC may be such that the shielding ratio is calculated only for the terrain object TO. Also, the shooting positions of the six surfaces may be moved according to the environment in which the player character PC is placed. For example, when the player character PC is placed at a position where there are other objects in the vicinity above, in order to avoid the shooting position overlapping with the other objects, the shooting position of the six surfaces may be moved to a position closer to the player character PC from the shooting position or to a position inside the player character PC (that is, a position moved downward from a position a predetermined distance above the player character PC).
[0144] Next, the display image to be displayed on the display 12 will be described based on the image of the image game space (virtual space image) seen from each virtual camera C. FIG. 23 is a diagram showing an example of the display image to be displayed on the display 12 based on the image seen from the virtual camera C arranged in the first state. FIG. 24 is a diagram showing an example of the display image to be displayed on the display 12 based on the image seen from the virtual camera C arranged in the second state. FIG. 25 is a diagram showing an example of the display image to be displayed on the display 12 based on the image seen from the virtual camera C arranged in the third state.
[0145] In FIG. 23, the player character PC is arranged outside the entrance of the cave B formed in the terrain object TO, near the entrance of the cave B. And the virtual camera C for generating the virtual space image is arranged outside the terrain object TO based on the position of the player character PC in the first state described with reference to FIG. 16. Therefore, in the first state, there is no terrain object TO between the virtual camera C and the player character PC, and when viewed from the virtual camera C, the surface facing the front side among the surfaces constituting the terrain object TO is in a state of being visible on the side farther from the player character PC as seen from the virtual camera C. Here, in the generation of the image (virtual space image) of the game space in this embodiment, back face culling processing that does not render the surface facing the back side with respect to the virtual camera C (for example, the surface facing backward as seen from the virtual camera C among the meshes constituting the terrain object TO) and hidden surface elimination processing that eliminates the surfaces not visible from the virtual camera C are performed. Therefore, as shown in FIG. 23, 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 photographed and the surface of the terrain object TO facing the front side on the side farther from the player character PC as seen from the virtual camera C is photographed, and the display image based on the image is displayed on the display 12.
[0146] In FIG. 24, the player character PC is moving inside from the entrance of the cave B formed in the terrain object TO. The virtual camera C for generating the virtual space image is arranged outside the terrain object TO based on the position of the player character PC in the second state described with reference to FIG. 19. Therefore, in the second state, the terrain object TO exists between the virtual camera C and the player character PC, and the surface of the terrain object TO facing the front side is visible on the virtual camera C side of the player character PC. Also, as seen from the virtual camera C, the player character PC is blocked by the surface of the terrain object TO facing the front side, and the player character PC cannot be directly seen from the virtual camera C. In this embodiment, even in such a state, a silhouette image (indicated by the hatched area in FIG. 24) is displayed so that the position of the player character PC can be confirmed, where the shadow of the player character PC is depicted as passing through the surface of the terrain object TO. Therefore, as shown in FIG. 24, the image of the game space seen from the virtual camera C in the second state is an image in which the surface of the terrain object TO facing the front side is photographed on the side closer to the player character PC as seen from the virtual camera C, and the entire player character PC is shown as a silhouette image passing through the surface, and the display image based on the image is displayed on the display 12. Note that the silhouette image may be an image in which the player character PC is directly displayed as passing through the surface of the terrain object TO. Also, when a thin terrain object TO with a thickness less than a predetermined value is interposed between the player character PC and the virtual camera C, a virtual space obtained by transmitting the terrain object TO may be displayed.
[0147] Here, when the positional relationship between the player character PC and the terrain object TO (other object) satisfies the above underground camera permission conditions, the virtual camera C may be automatically moved so as to be disposed inside the terrain object TO. For example, in the second state described with reference to FIG. 19, when the positional relationship between the player character PC and the terrain object TO satisfies the above underground camera permission conditions, the virtual camera C disposed outside the terrain object TO may be forcibly disposed inside the terrain object TO so as to approach the player character PC. In this case, the virtual camera C may be automatically moved by reducing the movable range of the virtual camera C set in the second state, or the virtual camera C may be automatically moved by temporarily moving the virtual camera C inside the movable range of the virtual camera C set in the second state.
[0148] Also, the process of automatically moving the virtual camera C described above inside the terrain object TO may be executed when a predetermined condition is further satisfied in addition to the above underground camera permission conditions. As a first example of the condition, when a terrain object TO having a thickness equal to or greater than a predetermined thickness is interposed between the player character PC and the virtual camera C in a state where the above underground camera permission conditions are satisfied, the virtual camera C may be automatically moved inside the terrain object TO. As a second example of the condition, when the state where the virtual camera C is disposed outside the terrain object TO continues for a predetermined time or more while satisfying the above underground camera permission conditions, the virtual camera C may be automatically moved inside the terrain object TO. As a third example of the condition, when the player character PC moves a predetermined distance or more in a state where the virtual camera C is disposed outside the terrain object TO while satisfying the above underground camera permission conditions, the virtual camera C may be automatically moved inside the terrain object TO.
[0149] In FIG. 25, the player character PC is further moved and arranged on the inner side of the cave B formed in the terrain object TO. And the virtual camera C for generating a virtual space image is in the third state described with reference to FIG. 20, and is arranged inside the terrain object TO based on the position of the player character PC. And in the third state, although the terrain object TO exists between the virtual camera C and the player character PC, the surface facing the front side among the surfaces constituting the terrain object TO (for example, the surface of the terrain object TO or the surface of the cave B that appears on the virtual camera C side among the meshes constituting the surface) is in a non-existent state. Here, in the process of this embodiment, even when the inside of the terrain object TO exists between the virtual camera C and the player character PC, only the mesh of the surface of the terrain object TO is the display target, so the existing terrain object TO does not become the display target of the virtual camera C. Also, among the meshes constituting the cave B, although the meshes closer to the virtual camera C exist between the virtual camera C and the player character PC, most of them face the back side with respect to the virtual camera C and thus do not become the display target. Therefore, the player character PC moved to the inner side of the cave B is photographed so as to be visible from the virtual camera C. Therefore, as shown in FIG. 25, the image of the game space seen from the virtual camera C in the above-described third state is an image in which the entire player character PC is photographed, and the surface of the cave B facing the front side on the side far from the player character PC as seen from the virtual camera C is photographed, and the display image based on the image is displayed on the display 12.
[0150] Also, in this embodiment, when the virtual camera C is disposed inside the terrain object TO, display change processing for changing the display image for display 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 permission condition, the virtual camera C is allowed to be disposed inside the terrain object TO without performing avoidance control for avoiding this. Then, when the virtual camera C moves in the game space and it is determined that the virtual camera C is disposed inside the terrain object TO, the above display change processing is performed. This determination may be made based on whether the position of the virtual camera C itself is inside the terrain object TO. As an example, as shown in FIG. 26, when all of the four corner points P1 to P4 of the near clip 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, when at least two of the four corner points P1 to P4 of the near clip plane of the virtual camera C are disposed inside the terrain object TO, it may be determined that the virtual camera C is disposed inside the terrain object TO.
[0151] For example, as the above display change processing, post - processing is performed on the image of the game space (virtual space image) viewed from the virtual camera C, whereby the display image to be displayed on the display 12 is generated. For example, post - processing is performed by applying an effect (filter) to the frame buffer for rendering the virtual space image viewed from the virtual camera C.
[0152] As a first example of the above display change processing, post - processing for reducing the visibility of the edge portion of the above display image is performed. For example, in the example of the display image shown in FIG. 25, a dimming region F is formed by dimming the peripheral portion outside the rounded - rectangle region formed in the center of the display image. Note that the shape of the region formed in the center of the above display image does not have to be a rounded - rectangle, and may be other shapes such as an ellipse, a circle, a chamfered rectangle, a rhombus, an oval, a polygon, etc.
[0153] As a second example of the above display change process, a post - process such as applying fog or blurring is performed so that the visibility of an object located farther from the virtual camera C decreases. For example, in the hatched area showing the terrain object TO shown in FIG. 25, the farther the position is from the virtual camera C, the stronger the fog is applied, and thus it is an area where the display mode has changed.
[0154] FIG. 27 is a diagram showing an example of a display image to which a fog effect is applied based on the distance from the virtual camera C. In FIG. 27, the virtual camera C arranged inside the terrain object TO generates an image of the game space that views the player character PC arranged inside the cave B from the side. In addition, in the example of the display image shown in FIG. 27, the illustration of the dimming area F is omitted in order to make the illustration of the image easier to understand.
[0155] Inside the terrain object TO, in addition to the cave B, a plurality of cavities C1 to C4 are formed. Specifically, the cavities C1 → cavity C2 → cavity C3 → cavity C4 are formed inside the terrain object TO in the order closest to the virtual camera C. And a player character PC is placed inside the cave B, and virtual objects OBJ are placed inside the cavities C1 and C2, respectively. As described above, in the process of this embodiment, in order to display the mesh of the terrain object TO whose surface is visible from the virtual camera C, among the meshes that make up the cave and cavity inside the terrain object TO, the mesh whose surface is visible from the virtual camera C is subjected to the rendering process as the display target. That is, without performing special processing such as detecting the cave and cavity within the field of view of the virtual camera C or forming a cross-section such that the cave and cavity are directly visible from the virtual camera C, by performing the above-described rendering process, as illustrated in FIG. 27, a display image is generated in which not only the inside of the cave B but also the surrounding cavities are visible. In addition, inside the terrain object TO, in addition to the above-described cave B, cavities C1 to C4, player character PC, and virtual object OBJ, there may be cavities and other objects, etc. at positions far from the virtual camera C, but they are in a state where they cannot be visually recognized in the display image due to the application of the fog effect described later. In addition, when the virtual object OBJ has a function as an action target of the player character PC, it may be arranged in the virtual space with a prominent color, brightness, or luminance inside the terrain object TO.
[0156] The cavity C1 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six sides, and is formed at a position inside the terrain object TO closest to the virtual camera C. And a virtual object OBJ is arranged inside the cavity C1. Also, in the display image, among the meshes constituting the inner walls (surfaces) of the six sides of the cavity C1, four sides with the front side of the mesh facing the virtual camera C side are displayed. Since the cavity C1 is formed at the position closest to the virtual camera C equivalent to the cave B where the player character PC is arranged, no fog effect is applied, and the above four sides of the cavity C1 and the image of the virtual object OBJ appearing on the virtual camera C side are directly displayed as the display image.
[0157] The cavity C2 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six sides, and is formed at a position inside the terrain object TO farther from the virtual camera C than the cavity C1 when viewed from the virtual camera C. And a virtual object OBJ is arranged inside the cavity C2. Also, in the display image, among the meshes constituting the inner walls (surfaces) of the six sides of the cavity C2, four sides with the front side of the mesh facing the virtual camera C side are displayed. The cavity C2 is given a weak fog effect based on the distance from the virtual camera C. For example, in the fog processing of this embodiment, the colors of the above four sides of the cavity C2 and the image of the virtual object OBJ are blended according to the distance (for example, depth value (z value)) (for example, the RGB values are increased so that it becomes brown as the distance is farther), thereby applying a fog effect to the image. Also, in the fog processing in this embodiment, the color of the edge (for example, the outer periphery of the displayed cavity C2) may be changed to a predetermined color (for example, orange color) for highlighting. Thereby, a weak fog effect is applied to the above four sides of the cavity C2 and the image of the virtual object OBJ appearing on the virtual camera C side, and a display change process is performed in which the edges of each of the four sides are highlighted, and the display image subjected to the display change process is displayed.
[0158] The hollow C3 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six sides, and is formed at a position inside the terrain object TO that is farther from the virtual camera C than the hollows C1 and C2. In the display image, among the meshes constituting the inner walls (surfaces) of the six sides of the hollow C3, the four sides with the front side of the mesh facing the virtual camera C are displayed. Based on the distance from the virtual camera C, a stronger fog effect is applied to the hollow C3 than to the hollow C2. Note that a virtual object OBJ may be arranged inside the hollow C3, but it is in a state where it cannot be visually recognized in the display image due to the above-mentioned strong fog effect. By performing the above fog processing so that a stronger fog effect is applied to the hollow C3 than to the hollow C2, a strong fog effect is applied to the images of the above four sides of the hollow C3 with the front side of the mesh facing the virtual camera C, and a display change process in which the edges of the outer periphery of the hollow C3 are highlighted is performed, and the display image subjected to the display change process is displayed.
[0159] The hollow C4 has a rectangular parallelepiped shape formed by the inner walls (surfaces) of six sides, and is formed at a position inside the terrain object TO that is farther from the virtual camera C than the hollows C1, C2, and C3. In the display image, among the meshes constituting the inner walls (surfaces) of the six sides of the hollow C4, the four sides with the front side of the mesh facing the virtual camera C are displayed. Based on the distance from the virtual camera C, a considerably stronger fog effect is applied to the hollow C4 than to the hollows C2 and C3. Note that a virtual object OBJ may be arranged inside the hollow C4, but it is in a state where it cannot be visually recognized in the display image due to the above-mentioned considerably strong fog effect. By performing the above fog processing so that a stronger fog effect is applied to the hollow C4 than to the hollow C3, a considerably strong fog effect is applied to the images of the above four sides of the hollow C3 with the front side of the mesh facing the virtual camera C, and a display change process in which the edges of the outer periphery of the hollow C3 are highlighted is performed. Therefore, in the example of FIG. 27, the display image in which only the edges are visibly displayed is displayed.
[0160] In this way, by imparting a fog effect based on the distance from the virtual camera C, it becomes possible to grasp the sense of distance to the object. Further, by emphasizing the edges in the fog processing, even when the surface of the object itself cannot be visually recognized, it can be displayed in a state where only the outline is visible, making it easy to understand that there are cavities. Also, even when the virtual object placed inside the cavity is placed far away because it is not desired to be shown, by displaying only the existence of the cavity in a visible manner, it can be presented as the action target of the player character PC.
[0161] Note that in the second example of the above display change process, in addition to the fog processing described above, a process of adding a predetermined pattern may be further performed. For example, when the above display change process is performed, a checkered pattern, a geometric pattern, etc. of the same or different color as the color blended in the fog processing may be added.
[0162] As a third example of the above display change process, a post-process is performed to change the display mode of at least a part of the non-front side portion (for example, the background portion of the game space), which is the portion where the surface facing the front side when viewed from the virtual camera C among the surfaces constituting the terrain object TO is not drawn.
[0163] FIG. 28 is a diagram showing an example of a display image for changing the display mode of the background portion of the game space. In the upper diagram of FIG. 28, the player character PC and the virtual camera C are arranged outside the terrain object TO. And in the game space outside the terrain object TO, a field that is the outer boundary of the terrain object TO, a ground object OBJg, and a smoke effect E are displayed in the distance when viewed from the virtual camera C, and a display image in which a background image (for example, a blue sky) is drawn behind the ground object OBJg and the effect E is being displayed.
[0164] In the lower diagram of FIG. 28, the player character PC and the virtual camera C have moved from the positions in the game space shown in the upper diagram of FIG. 28 and are respectively arranged inside the terrain object TO. And, as the surfaces of the mesh that constitutes the surface of the terrain object TO and the surface of the cave B, with the front side of the mesh facing the virtual camera C side, a part of the surface of the cave B is displayed. Also, the surfaces facing the front side among the surfaces that constitute the field that is the outside world of the terrain object TO and the ground object OBJg (for example, the surfaces that appear on the virtual camera C side among the surface of the field and the surface of the ground object OBJg) are also displayed. And, a background image is displayed on the part corresponding to the non-front side part that was not drawn as the surface facing the front side among the surfaces that respectively constitute the field that is the outside world of the terrain object TO, the ground object OBJg, and the terrain object TO. Note that, in an example of the display image shown in the lower diagram of FIG. 28, for the sake of easy understanding of the illustration of the image, the illustration of the dimming area F is omitted.
[0165] 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 imparted to the images of the terrain object TO, the field that is the outside world of the terrain object TO, and the ground object OBJg, etc.
[0166] On the other hand, for the background image that becomes the non-front side part, the distance from the virtual camera C becomes infinite (for example, there is no depth value), and for such an image, a display change processing for changing it to a predetermined display mode is performed. In this embodiment, as a third example of the display change processing, for an image without a depth value such as the background image, a display image in which a process of filling it with dark gray to black is performed is displayed. Also, for the effect E displayed in the upper diagram of FIG. 28, it also becomes an image without a depth value. In this embodiment, for such an image of the effect E, since a process of filling it with dark gray to black similar to the background image is performed, in the lower diagram of FIG. 28, a display image with a changed appearance so that the effect E is not displayed is displayed.
[0167] Thus, in the third example of the display change process, in order 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 or the part where the effect E is displayed), it can be clearly shown that the virtual camera C is arranged inside the terrain object TO. Note that the color used to fill the non-front side part may be any other color as long as it is darker than the color of the background image (for example, the color of the bright sky) displayed when the virtual camera C is arranged outside the terrain object TO. By filling it with such a dark color, it is possible to prevent the display of an image with a sense of incongruity where a bright sky is displayed as the background image even though the virtual camera C is arranged inside the terrain object TO.
[0168] Note that in the third example of the above display change process, an image without a depth value such as the effect E is filled with a dark gray to black color by the display change process and thus is made non-displayed in the display image. Therefore, if the image such as the effect E is drawn before the above filling process, the image will be non-displayed only in the area where the filling is performed, and the image will be displayed in the area where the filling is not performed. On the other hand, when the display in the display image is required for an image that becomes at least partially non-displayed by the display change process, the image may be redisplayed in the display image by redrawing the part that was once made non-displayed after the display change process.
[0169] Also, in the above description, an example of performing display change processing by performing post-processing on the virtual space image viewed from the virtual camera C was used. However, display change processing may also be performed by changing the virtual space viewed from the virtual camera C. For example, in the first example of the above display change processing, the visibility of the edge portion of the display image may be reduced by arranging a change object corresponding to the dimming region F at the edge of the field of view of the virtual camera C. In the second example of the above display change processing, the visibility of the object may be reduced according to the distance from the virtual camera C by arranging change objects of smoke, fog, and smog in the virtual space at a distance of a predetermined distance or more from the virtual camera C. Further, based on the distance from the virtual camera C, the color, brightness, and luminance of each object, the size, shape, and presence or absence of each object may be changed, or the distance from the virtual camera C at which the change is performed may be changed (for example, compared with the case where display change processing is not performed, the distance from the virtual camera C at which the above change is performed is shortened), thereby reducing the visibility of the object according to the distance from the virtual camera C. In the third example of the above display change processing, at least a part of the display mode of the non-front side portion may be changed by changing the color, brightness, and luminance of the background image or the effect E in the virtual space, or by deleting the effect E from the virtual space.
[0170] Also, when starting the above-described display change processing triggered by the virtual camera C moving from outside to inside the terrain object TO, a fade-in process of the underground camera expression may be performed so as to gradually shift from a state where the display change processing is not performed to a state after the display change processing is performed. Further, when ending the above-described display change processing triggered by the virtual camera C moving from inside to outside the terrain object TO, a fade-out process of the underground camera expression may be performed so as to gradually shift from a state where the display change processing is being performed to a state where the display change processing is not being performed.
[0171] Next, with reference to FIGS. 29 to 31, a specific example of a game process, which is an example of information processing in the game system 1, will be described.
[0172] FIG. 29 is a diagram showing an example of various data used for information processing in the game system 1. As shown in FIG. 29, the game system 1 stores a 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, image data Dk, and the like. The game program Pa, voxel space data Da, and image data Dk are data that are stored in the game system 1 in advance before the execution of the game process. The game program Pa and voxel space data Da are stored, for example, in a storage medium mounted in the slot 23 of the main unit device 2. Also, 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 that are 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 unit device 2.
[0173] The game program Pa is a game program for executing the game process (specifically, the game process shown in FIGS. 30 and 31) in the present embodiment.
[0174] The voxel space data Da is data that defines voxels set in the game space. Specifically, the voxel space data Da indicates the length of one side of the voxel and the direction of each side of the voxel in the game space. Also, when voxels are set only in a part of the game space, the voxel space data Da may include data indicating the position and size of the space (i.e., the voxel space) in which the voxels are set (i.e., data indicating the range in the game space where the voxels are set).
[0175] The voxel object data Db is data indicating 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.
[0176] The mesh data Dc is data indicating a mesh set for a voxel object arranged in the game space. The mesh data Dc includes, for example, data indicating the positions of each vertex in the mesh.
[0177] 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 respectively. As described above, the data acquired from the left controller 3 and / or the right controller 4 and the main body device 2 respectively includes information regarding inputs from each input unit (specifically, each button, analog stick, touch panel) (specifically, information regarding operations). In this embodiment, data is acquired from the left controller 3 and / or the right controller 4 and the main body device 2 respectively, and the acquired data is used to appropriately update the operation data Dh. Note that the update cycle of the operation data Dh may be updated every frame, which is the cycle of the process executed in the game system 1 described later, or may be updated every cycle in which the above data is acquired.
[0178] The player character data De is data indicating the arrangement position and arrangement posture of the player character PC arranged in the game space, as well as actions and states in the game space.
[0179] The virtual camera data Df is data indicating the arrangement position, arrangement posture, and state, etc. of the virtual camera C arranged in the game space.
[0180] The destruction range data Dg is data indicating the destruction range set when the terrain object TO is destroyed by the player character PC.
[0181] The occlusion rate data Dh is data indicating the ratio of the area around the position based on the player character PC being occluded by other objects including the terrain object TO.
[0182] The virtual space image data Di is data indicating an image of the game space as 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 indicating an image to be displayed on a display device (e.g., the display 12).
[0183] The image data Dk is data indicating images such as the player character PC, other objects, various effects, fields, and background images arranged in the game space.
[0184] Note that in addition to the data shown in FIG. 29, the game system 1 stores data such as the above-described property information and texture information data as data that is stored in the game system 1 in advance before the execution of the game process.
[0185] FIG. 30 is a flowchart showing an example of the flow of the game process executed by the game system 1. Also, FIG. 31 is a subroutine showing an example of the underground camera switching process in step S12 in the flowchart shown in FIG. 30. In the present embodiment, the series of processes shown in FIGS. 30 and 31 are performed by the processor 81 executing the game program. Also, the timing at which the game process shown in FIGS. 30 and 31 is started is arbitrary, but as an example, it is started in response to an instruction to start the game being given by the user during the execution of the above game program.
[0186] In this embodiment, the processor 81 of the main body device 2 executes the above-described game program stored in the game system 1, and thus the processing of each step shown in FIGS. 30 and 31 will be described. However, in other embodiments, some of the processing of each of the above steps may be executed by a processor (for example, a dedicated circuit or the like) different from the processor 81. Further, when the game system 1 can communicate with another information processing device (for example, a server), some of the processing of each step shown in FIGS. 30 and 31 may be executed in the other information processing device. That is, each of the processes shown in FIGS. 30 and 31 may be executed by a plurality of information processing devices including the main body device 2 cooperating with each other. Also, each of the steps shown in FIGS. 30 and 31 is merely an example, and if the same result can be obtained, the processing order of each step may be changed, or another process may be executed in addition to (or instead of) the processing of each step.
[0187] Further, the processor 81 executes the processing of each step shown in FIGS. 30 and 31 using a memory (for example, DRAM 85). That is, the processor 81 stores information (in other words, data) obtained by each processing step in the memory, and when using the information in subsequent processing steps, reads out and uses the information from the memory.
[0188] In FIG. 30, the processor 81 sets a voxel object in the initial state in the game space (step S1), and proceeds to the next step. Specifically, the processor 81 acquires voxel data indicating the arrangement of the voxel object in the initial state, and stores a part or all of the acquired voxel data in the DRAM 85 as voxel object data Db (in other words, writes it). Note that the voxel data indicating the arrangement of the voxel object in the initial state is stored, for example, in a storage medium attached to the slot 23 of the main body device 2.
[0189] Note that the voxel data written to the DRAM 85 as voxel object data may be a part of the voxel data in the entire range of the game space, which is used for generating the game image. For example, the processor 81 may generate an image of an object using voxel data only for a partial range (e.g., a range within a predetermined distance from the position of the virtual camera) in the game space. At this time, the voxel object data Db may include the voxel data within the said range. Further, when voxel data for a partial range in the game space is written, the same processing as in step S1 is executed at an appropriate timing (e.g., the timing when the position of the virtual camera has moved more than the predetermined distance) during the execution of the series of processes in steps S3 to S13 described later.
[0190] Next, the processor 81 generates a mesh for the voxel object (step S2), proceeds to the next step to start the game, and repeatedly executes the processes in steps S3 to S12 during the game. The mesh is generated according to the method described above. Here, the processor 81 generates a mesh based on the voxel object data stored in the DRAM 85. By the processing in step S2 above, voxel objects such as the terrain object TO are constructed in the game space.
[0191] Next, the processor 81 acquires data corresponding to a user operation from the left controller 3, the right controller 4, and / or the main body device 2 and updates the operation data Dh (step S3), and proceeds to the next step.
[0192] Next, the processor 81 controls the operation of the player character PC that appears in the game space (step S4), and proceeds to the next step. For example, the processor 81 controls the operation of the player character PC based on the operation data acquired in step S3 above to update the player character data De. Further, when a character other than the player character PC is placed, the processor 81 controls the operation of the character based on the algorithm defined in the game program.
[0193] Next, the processor 81 determines whether or not an erasure condition for erasing 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 occurs and the surrounding range as the destruction range, updates the destruction range data Dg, destroys the terrain object TO (voxel object) existing in the destruction range, and erases the destroyed part. As an example, in order to express that the destruction range has been destroyed, the terrain object TO within the destruction range is erased by setting the value of the density indicated by the voxel data in at least some of the voxels within the destruction range to 0. Therefore, when the voxels of the voxel object are included within the destruction range due to the strike of the player character PC, the processor 81 makes an affirmative determination in step S5 above. Then, when the above erasure condition is satisfied, the processor 81 proceeds to step S6. On the other hand, when the above erasure condition is not satisfied, the processor 81 proceeds to step S8.
[0194] In step S6, the processor 81 updates the voxel data regarding the voxel object that satisfies the deletion condition, and proceeds with the process to the next step. For example, the processor 81 changes the density of the voxels in the portion where the player character PC has struck and the voxels in the surrounding portion so that at least a part of the voxel object that satisfies the deletion condition is deleted, and updates the voxel data Db1 corresponding to each voxel. Also, the processor 81 reduces the density of the voxels around the destruction range to be deleted (for example, the range affected by the strike) (however, it is set to 0 or more), thereby deleting the terrain object TO in the voxels around the destruction range. Specifically, the processor 81 updates the voxel object data Db stored in the DRAM 85 so as to change the density data regarding the voxels in the above-described deleted range and the voxels around it. Note that the processor 81 may update the density data so that the density indicates a value less than the above-described reference value. For example, the processor 81 may set the density of the voxels in the portion (destruction range) struck by the player character PC to 0, and reduce the density of the voxels in the surrounding portion by a predetermined value.
[0195] Next, the processor 81 updates the mesh for the voxel object whose voxel data has been changed in step S6 above (step S7), and proceeds with the process to step S8. That is, the processor 81 generates a mesh of the voxel object that satisfies the deletion condition based on the voxel object data Db after the update in step S6. Thereby, the mesh of the terrain object TO can be dynamically changed during the game. Note that the processor 81 updates the mesh data Dc stored in the DRAM 85 to the content indicating the newly generated mesh.
[0196] In step S8, the processor 81 performs a shielding rate calculation process and proceeds with the process to the next step. For example, the processor 81 acquires images of six surfaces of the game world, i.e., the top, bottom, left, right, front, and back, taken from the shooting position based on the placement position of the player character PC, and calculates the shielding rate of the player character PC based on the images to update the shielding rate data Dh. In the process in step S8 above, the processing may be performed one surface at a time out of the six surfaces for each frame, and then the processing using the overall concealment rate may be performed in subsequent frames. Since the method for calculating the shielding rate is the same as the calculation method described with reference to FIG. 22, a detailed description thereof is omitted here.
[0197] Next, the processor 81 determines whether or not the shielding rate calculated in step S8 above satisfies the underground camera permission condition (step S9). For example, when the shielding 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 underground camera permission condition. Then, when the shielding rate does not satisfy the underground camera permission condition, the processor 81 proceeds with the process to step S10. On the other hand, when the shielding rate satisfies the underground camera permission condition, the processor 81 proceeds with the process to step S12.
[0198] In step S10, the processor 81 operates the virtual camera C within the range of the ground movable area and proceeds with the processing to the next step. For example, the processor 81 refers to the player character data De, calculates the placement distance from the player character PC based on the direction in which the virtual camera C is placed with respect to the player character PC, and sets the position and direction of the virtual camera C based on the placement direction and the placement distance. Then, when the set position overlaps with the terrain object TO, the processor 81 changes the position to the outside of the terrain object TO. As a result, the virtual camera C operates within the range of the ground movable area. Here, the ground movable area is the movable area described using the upper figure in FIG. 21, and is the three-dimensional surface excluding the portion that overlaps with the terrain object TO. The processor 81 operates the virtual camera C within the range of the ground movable area based on the user operation indicated by the operation data Dd, and updates the virtual camera data Df.
[0199] Next, the processor 81 generates a display image based on the game image representing the game space and causes the display device to display it (step S11), and proceeds to step S13. For example, the processor 81 generates a game space including a voxel object (terrain object TO), a player character PC, other objects (e.g., other characters), effects, and a background, etc., based on the voxel space data Da, the voxel object data Db, the mesh data Dc, the player character data De, and the image data Dk, etc. Note that the image of the voxel object is generated according to the method described above using the voxel object data Db and the mesh data Dc. Also, the image of the player character PC is generated using the player character data De. Further, the processor 81 arranges a virtual camera C in the game space based on the virtual camera data Df, generates a game image seen from the virtual camera C, and stores it in the virtual space image data Di. Note that when at least a part of the player character PC is blocked by the surface of the terrain object TO facing the front side, the blocked part of the player character PC is generated as a silhouette image. Then, the processor 81 generates a display image based on the game image, stores it in the display image data Dj, and causes the generated display image to be displayed on the display device. Note that if a negative determination is made in step S9 during the game, the process of step S11 is repeatedly executed at a rate of once per predetermined time (e.g., one frame time).
[0200] On the other hand, in step S9, if it is determined that the shielding rate does not satisfy the underground camera permission condition, the processor 81 performs an underground camera switching process (step S12) and proceeds to step S13. Hereinafter, with reference to FIG. 31, the underground camera switching process performed in step S12 will be described.
[0201] In FIG. 31, the processor 81 operates the virtual camera C within the range of the underground movable area (step S81), and proceeds to the next step. For example, the processor 81 refers to the player character data De, calculates the placement distance from the player character PC according to the direction in which the virtual camera C is placed with respect to the player character PC, sets the position and direction of the virtual camera C according to the placement direction and the placement distance, and does not change the position even if the set position overlaps with the terrain object TO. Thereby, the virtual camera C operates within the range of the underground movable area. Here, the underground movable area is the movable area described using the lower diagram of FIG. 21, and even when it overlaps with the terrain object TO, it has a shape that overlaps with the inside of the terrain object TO. The processor 81 operates the virtual camera C within the range of the underground movable area based on the user operation indicated by the operation data Dd, and updates the virtual camera data Df. In the process in step S81 above, when the virtual camera C is placed outside the terrain object TO, the virtual camera C may be forcibly moved so that the virtual camera C is placed inside the terrain object TO.
[0202] Next, the processor 81 determines whether all of the four corner points P1 to P4 of the near clip plane of the virtual camera C are placed inside the terrain object TO (step S82). Then, when all of the four corner points P1 to P4 of the near clip plane of the virtual camera C are placed inside the terrain object TO, the processor 81 proceeds to the process in step S83. On the other hand, when any of the four corner points P1 to P4 of the near clip plane of the virtual camera C is placed outside the terrain object TO, the processor 81 proceeds to the process in step S88.
[0203] In step S83, the processor 81 generates a game image (virtual space image) representing the game space and proceeds with the processing to the next step. For example, the processor 81 generates a game space including a voxel object (terrain object TO), a player character PC, other objects (e.g., other characters), effects, and a background, etc., based on the voxel space data Da, the voxel object data Db, the mesh data Dc, the player character data De, and the image data Dk, etc. Note that the image of the voxel object is generated according to the method described above using the voxel object data Db and the mesh data Dc. Also, the image of the player character PC is generated using the player character data De. Further, the processor 81 places a virtual camera C in the game space based on the virtual camera data Df, generates a game image seen from the virtual camera C, and stores it in the virtual space image data Di. Note that when at least a part of the player character PC is blocked by the surface of the terrain object TO facing the front side, the blocked part of the player character PC is generated as a silhouette image.
[0204] Next, the processor 81 performs fog processing (step S84) and proceeds with the processing to the next step. For example, the processor 81 performs a post-process of applying a fog effect to the game space image (virtual space image) stored in the virtual space image data Di based on the distance from the virtual camera C. Note that since the processing performed in step S84 above is the same as the fog processing described with reference to FIG. 27, a detailed description is omitted here.
[0205] Next, the processor 81 performs background processing (step S85) and proceeds to the next step. For example, the processor 81 performs a post-process of changing the display mode of at least a part of the non-front side portion that is not drawn in the terrain object TO (for example, the background portion of the game space or the portion where the effect E is displayed) on the image of the game space (virtual space image) stored in the virtual space image data Di. Note that the processing performed in step S85 above is the same as the processing of changing the display mode described with reference to FIG. 28, so detailed description is omitted here.
[0206] Next, the processor 81 performs peripheral dimming processing (step S86) and proceeds to the next step. For example, the processor 81 performs a post-process of generating a dimming area F (see FIG. 25) by reducing the visibility by dimming the edge portion of the display area darkly on the image of the game space (virtual space image) stored in the virtual space image data Di. Then, the processor 81 updates the display image data Dj using the image of the game space on which the post-processes of steps S84 to S86 above have been performed.
[0207] 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 by this subroutine. Note that when an affirmative determination is made in step S82 during the game, the processing of steps S83 to S87 is repeatedly executed at a rate of once per predetermined time (for example, one frame time).
[0208] On the other hand, if it is determined in step S82 above that any of the four corner points P1 to P4 of the near clip plane of the virtual camera C is arranged outside the terrain object TO, the processor 81 generates a display image based on the game image representing the game space and displays it on the display device (step S88), and ends the processing by this subroutine. Note that the processing in step S88 above is the same as the processing in step S11, so detailed description is omitted here.
[0209] Returning to FIG. 30, in step S13, the processor 81 determines whether to end the game. As conditions for ending the game process in step S13, for example, there are cases where the conditions for ending the game process are satisfied, or the user has performed an operation to end the game process. When the processor 81 does not end the game process, it returns to step S3 above to repeat the process, and when the game process ends, it ends the process according to this flowchart. Thereafter, the series of processes from step S3 to step S13 are repeatedly executed until it is determined that the process ends in step S13.
[0210] As described above, in this embodiment, since the virtual camera C can be arranged inside the terrain object TO based on the position of the player character PC, the visibility of the image displayed according to the situation of the player character PC can be improved. Further, in this embodiment, in response to the virtual camera C being arranged inside the terrain object TO, the display change process of the display image based on the image of the game space is performed, so that even when the virtual camera C is arranged inside the terrain object TO, a display image with appropriate drawing expression can be displayed.
[0211] Note that 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 underground camera permission condition, the virtual camera C is controlled without performing the avoidance control to avoid arranging the virtual camera C inside the terrain object TO. However, the presence or absence of the avoidance control may be switched by other modes. For example, it may be configured to be switched as to whether to perform the avoidance control in response to an operation by the user to select the presence or absence of the avoidance control.
[0212] In conventional games, the virtual camera may sometimes get buried underground due to bugs or the like unintended by the developer. This is an example where, although an avoidance control is in place to prevent the virtual camera from getting buried underground, it may still fail. The present invention does not assume such an accidental phenomenon of the virtual camera getting buried underground. Instead, it intentionally allows the virtual camera to be placed inside the terrain object TO based on whether the above-described underground camera permission conditions are met, and has completely different new technical features.
[0213] Also, the terrain object TO in which the virtual camera C can be placed does not have to be a voxel object. Even when the virtual camera C is placed inside a terrain object TO set based on another data format such as polygons, the same effect can be obtained.
[0214] Also, the game system 1 can be any device, such as a portable game device, any portable electronic device (such as a PDA (Personal Digital Assistant), mobile phone, personal computer, camera, tablet, etc.). In this case, the input device for performing an operation to operate the player character PC does not have to be the left controller 3, the right controller 4, or the touch panel 13, and can be another controller, mouse, touch pad, touch panel, trackball, keyboard, cross keys, slide pad, etc.
[0215] In the above description, an example in which the information processing is performed by the game system 1 respectively is used. However, at least a part of the above processing steps may be performed by other devices. For example, when the game system 1 is configured to be communicable with other devices (for example, another server, another image display device, another game device, another mobile terminal), the above processing steps may be further executed by the cooperation of the other devices. In this way, by performing at least a part of the above processing steps by other devices, the same processing as the above-described processing becomes possible. Further, the above-described information processing can be executed by the cooperation between one processor or a plurality of processors included in an information processing system constituted by at least one information processing device. Further, in the above embodiment, the processor 81 of the game system 1 can perform information processing by executing a predetermined program. However, a part or all of the above processing may be performed by a dedicated circuit provided in the game system 1.
[0216] Here, according to the above-described modification example, it is also possible to implement the present invention in a so-called cloud computing system form, a distributed wide area network, and a local network system form. For example, in the system form of a distributed local network, it is also possible to execute the above processing in cooperation between a stationary information processing device (stationary game device) and a portable information processing device (portable game device). Needless to say, in these system forms, there is no particular limitation on which device performs the above-described processing, and the present invention can be realized regardless of any processing sharing.
[0217] Further, the processing order, setting values, conditions used for determination, etc. used in the above-described information processing are merely examples, and it goes without saying that the present embodiment can be realized even with other orders, values, and conditions.
[0218] In addition, the above program may be 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. Further, the above program may be pre-recorded in a non-volatile storage device inside the device. Note that, as the information storage medium for storing the above program, in addition to non-volatile memory, CD-ROM, DVD, or an optical disk-shaped storage medium similar thereto, a flexible disk, a hard disk, a magneto-optical disk, a magnetic tape, etc. may also be used. Further, as the information storage medium for storing the above program, a volatile memory for storing the above program may also be used. Such a storage medium can be referred to as a computer-readable recording medium. For example, by causing a computer or the like to read and execute the program of these recording media, various functions described above can be provided.
[0219] As described above, the present invention has been described in detail. However, the foregoing description is merely an exemplification of the present invention in every respect and is not intended to limit its scope. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. Further, it is understood that those skilled in the art can implement an equivalent range based on the description of the present invention and common general technical knowledge from the description of specific embodiments of the present invention. Further, it should be understood that the terms used in this specification are used in the meaning commonly used in the art unless otherwise specified. Therefore, unless otherwise defined, all technical terms and specialized terms used in this specification have the same meaning as commonly understood by those skilled in the art to which the present invention pertains. In case of contradiction, this specification (including the definitions) shall prevail.
Industrial Applicability
[0220] As described above, the present invention can be used as an information processing program, an information processing system, an information processing device, an information processing method, etc. that can display an image with appropriate rendering even when the virtual camera is disposed inside the terrain object.
Explanation of Signs
[0221] 1… Information processing system 2… Main body device 3… Left controller 4… Right controller 11… Housing 12… Display 13… Touch panel 32, 52… Analog stick 42, 64… Terminal 81… Processor 82… Network communication unit 83… Controller communication unit 85… DRAM 101, 111… Communication control unit
Claims
1. An information processing program executed in a computer of an information processing apparatus, wherein the computer is caused to function as: terrain rendering means for rendering a surface facing the front side with respect to a virtual camera among the surfaces constituting a terrain object; internal determination means for determining whether or not the virtual camera is disposed inside the terrain object; display change means for performing display change processing such that a display image based on an image rendering the virtual space including the terrain object changes when it is determined that the virtual camera is disposed inside the terrain object; an information processing program that causes the computer to function as image output means for outputting the display image to a display device.
2. The information processing program according to claim 1, wherein the display change means performs post-processing on the image rendering the virtual space including the terrain object as the display change processing.
3. The information processing program according to claim 1, wherein the display change means disposes a change object in the virtual space as the display change processing.
4. The information processing program according to claim 1, wherein the display change means reduces the visibility of an object located at a position far from the virtual camera as the display change processing.
5. The information processing program according to claim 4, wherein the display change means applies fog so that the visibility of an object located at a position farther from the virtual camera is more reduced as the display change processing.
6. The information processing program according to claim 1, wherein the display change means changes a display mode of at least a part of a non-front side portion which is a portion where the surface facing the front side among the surfaces constituting the terrain object is not rendered as the display change processing.
7. The information processing program according to claim 6, wherein the display change means changes a display mode of at least a part of the non-front side portion by darkening a color of a background of the virtual space as the display change processing.
8. The information processing program according to claim 6, wherein the display change means changes a display mode of an effect in the virtual space so that the effect is not displayed in the non-front side portion by the display change processing.
9. The information processing program according to claim 4, wherein the display change means, as the display change process, emphasizes the contour of a cavity inside the terrain object.
10. The information processing program according to claim 1, wherein the display change means, as the display change process, reduces the visibility of the edge portion of the display image.
11. The information processing program according to claim 1, wherein the internal determination means determines whether the virtual camera is disposed inside the terrain object based on whether the four corners of the near clip plane of the virtual camera are located inside the terrain object.
12. Determination means for determining whether or not a positional relationship between a player character in a virtual space and the terrain object around the player character satisfies a permission condition; When the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission condition, avoidance control is performed to avoid the virtual camera from being located inside the terrain object, and when the positional relationship satisfies the permission condition, the virtual camera is controlled without performing the avoidance control. Further causing the computer to function as virtual camera control means; The information processing program according to claim 1, wherein the virtual camera control means automatically moves the virtual camera so that the virtual camera is disposed inside the terrain object when the positional relationship satisfies the permission condition.
13. The information processing program according to claim 1, further causing the computer to function as a transparency display means for displaying the player character so as to penetrate through the surface when the player character in the virtual space is blocked by the surface facing the front side as viewed from the virtual camera.
14. The information processing program according to claim 1, further causing the computer to function as player character action control means for causing a player character in a virtual space to perform an action of destroying and / or deforming at least a part of the terrain object based on a user's operation input.
15. Determination means for determining whether or not a positional relationship between a player character in a virtual space and the terrain object around the player character satisfies a permission condition; When the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission condition, avoidance control is performed to avoid the virtual camera being located inside the terrain object, and as virtual camera control means for controlling the virtual camera without performing the avoidance control when the positional relationship satisfies the permission condition, the computer is further caused to function, The information processing program according to claim 1, wherein the determination means determines that the positional relationship satisfies the permission condition when a ratio of an area around a position based on the player character being shielded by the terrain object is equal to or greater than a threshold value.
16. Determination means for determining whether or not a positional relationship between a player character in a virtual space and the terrain object around the player character satisfies a permission condition; When the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission condition, avoidance control is performed to avoid the virtual camera being located inside the terrain object, and as virtual camera control means for controlling the virtual camera without performing the avoidance control when the positional relationship satisfies the permission condition, the computer is further caused to function, The information processing program according to claim 1, wherein the determination means determines whether or not the positional relationship satisfies the permission condition based on a distance between the player character and the terrain object.
17. Determination means for determining whether or not a positional relationship between a player character in a virtual space and the terrain object around the player character satisfies a permission condition; When the virtual camera approaches the terrain object when the positional relationship does not satisfy the permission condition, avoidance control is performed to avoid the virtual camera being located inside the terrain object, and as virtual camera control means for controlling the virtual camera without performing the avoidance control when the positional relationship satisfies the permission condition, the computer is further caused to function, The information processing program according to claim 1, wherein the determination means preferentially determines whether or not the positional relationship satisfies the permission condition based on the positional relationship in the horizontal direction rather than the positional relationship in the vertical direction of the virtual space.
18. Terrain drawing means for drawing a surface facing the front side with respect to the virtual camera among the surfaces constituting the terrain object; Internal determination means for determining whether or not the virtual camera is disposed inside the terrain object; Display change means for performing display change processing such that a display image based on an image depicting the virtual space including the terrain object changes when it is determined that the virtual camera is disposed inside the terrain object; An information processing apparatus comprising image output means for performing processing to output the display image to a display device.
19. Terrain drawing means for drawing a surface facing the front side with respect to the virtual camera among the surfaces constituting the terrain object; Internal determination means for determining whether or not the virtual camera is disposed inside the terrain object; Display change means for performing display change processing such that a display image based on an image depicting the virtual space including the terrain object changes when it is determined that the virtual camera is disposed inside the terrain object; An information processing system comprising image output means for performing processing to output the display image to a display device.
20. A terrain drawing step of drawing a surface facing the front side with respect to the virtual camera among the surfaces constituting the terrain object; An internal determination step of determining whether or not the virtual camera is disposed inside the terrain object; A display change step of performing display change processing such that a display image based on an image depicting the virtual space including the terrain object changes when it is determined that the virtual camera is disposed inside the terrain object; An information processing method including an image output step of performing processing to output the display image to a display device.
Citation Information
Patent Citations
Three-dimensional game device and image synthesizing method
JP1997070481A
Information processing system and method, computer program, storage medium and semiconductor device
JP2002102532A
Virtual camera position control program for three- dimensional game
JP2003334380A
Image processor, and image processing method
JP2005346165A
Program, information storage medium, and image generation system
JP2006318389A