Non-transitory computer-readable storage medium, information processing method
By storing and reusing collision information from previous collisions, the program addresses high processing loads in 3D games, improving performance and accuracy in collision detection.
Patent Information
- Application Number
- JP2024125111
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-02-13
AI Technical Summary
Existing 3D game technologies face high processing loads due to the need to repeatedly derive height and normal information for collision detection, particularly in complex terrain scenarios like steep cliffs, which is not limited to height-mapped terrains and can occur in games with moving object collisions.
An information processing program that stores collision information, including height and normal data, from a first collision and reuses this data to resolve subsequent collisions, reducing the need for repeated derivation.
This approach significantly reduces processing load by minimizing the need to re-derive collision information, enhancing performance and accuracy in collision resolution.
Smart Images

Figure 2026023228000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing program, an information processing method, and an information processing device. [Background technology]
[0002] Patent document 1 discloses a game system that provides a game in which a moving object moves within a three-dimensional game space, and includes a specific area setting means that sets a specific area within the three-dimensional game space, each of which is divided into a plurality of three-dimensional small areas, a moving object moving means that moves the moving object based on user operation, and a specifying means that specifies the small areas that exist on the trajectory along which the moving object moves. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2024-60722 Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, as an example, in 3D games such as the game disclosed in Patent Document 1, terrain, which is a terrain object (hereinafter also referred to as "terrain object"), is sometimes used. Using this terrain, terrain is expressed by making any part of a vast plane rise or fall and applying texture.
[0005] Terrain is the foundation of the entire game stage, so it is very large, and as a result, there are techniques to speed up collision detection. One such technique is a terrain in which vertices are arranged in a grid pattern and only height information is set; this type of terrain is called a "heightmap terrain."
[0006] In heightmap terrain, collision detection often does not work well on concave terrain, such as the foot of a steep cliff. In such cases, if you want to perform collision detection with higher accuracy, you need to re-derive the height information of the collision points that was previously derived from the height information of the grid vertices of the heightmap terrain, which places a heavy load on the computer's processing.
[0007] This problem is not limited to games using height-mapped terrain, but can also occur in games that perform processing to resolve collisions when a moving object collides with another object.
[0008] Therefore, the present disclosure aims to provide an information processing program, an information processing method, and an information processing device that can reduce processing load by reusing information derived when a collision occurs between a terrain object and a moving object and relating to the location where the collision occurred, compared to deriving the information again. [Means for solving the problem]
[0009] The information processing program of the first aspect causes a computer to execute a process in which, when a first collision occurs between a terrain object and a moving object, which is a moving object, first information is stored, which is information regarding the location where the first collision occurred, and, when a second collision occurs with another object due to the movement of the moving object, the second collision is resolved based on the stored first information.
[0010] The information processing program of the second aspect is the information processing program of the first aspect, wherein the first information includes first height information obtained from the terrain object and indicating the height of the position where the first collision occurred, and causes a computer to execute a process in which, when the second collision occurs, the second collision is resolved using the first height information included in the saved first information.
[0011] An information processing program of a third aspect is the information processing program of the second aspect, wherein the first information further includes first normal information obtained from the terrain object and indicating the normal of the position where the first collision occurred, and when the second collision occurs, the information processing program causes a computer to execute a process of resolving the second collision using the first height information and the first normal information contained in the saved first information.
[0012] An information processing program of a fourth aspect is the information processing program of the third aspect, which causes a computer to execute a process in which, when the second collision occurs, second information is derived from the terrain object, the second information including second height information indicating the height of the position where the second collision occurred and second normal information indicating the normal to the position, and the second height information and second normal information included in the derived second information and the first height information and first normal information included in the saved first information.
[0013] The information processing program of the fifth aspect is the information processing program of the fourth aspect, and causes a computer to execute a process of deleting the first height information and the first normal information when the difference between the slope of the terrain indicated by the first normal information and the slope of the terrain indicated by the second normal information is greater than or equal to a predetermined amount.
[0014] An information processing program of a sixth aspect is the information processing program of the fifth aspect, wherein the difference is greater than or equal to the predetermined amount when the dot product of the normal indicated by the first normal information and the vector from the position where the first collision occurred to the position where the second collision occurred is negative.
[0015] In a seventh aspect of the information processing method, when a first collision occurs between a terrain object and a moving object, the computer stores first information which is information relating to the location where the first collision occurred, and when a second collision occurs with another object due to the movement of the moving object, the computer resolves the second collision based on the stored first information.
[0016] An information processing device of an eighth aspect includes a storage unit that stores first information, which is information regarding the location where the first collision occurred, when a first collision occurs between a terrain object and a moving object, which is a moving object, and a resolution unit that resolves the second collision based on the stored first information, when a second collision occurs with another object due to the movement of the moving object. [Effects of the Invention]
[0017] In the information processing program, information processing method, and information processing device disclosed herein, by reusing information derived when a collision occurs between a terrain object and a moving object and relating to the location where the collision occurred, the processing load can be reduced compared to deriving the information again. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment; [Figure 2] FIG. 2 is a block diagram illustrating an example of a functional configuration of the information processing device according to the embodiment. [Figure 3] 1 is a diagram illustrating a height map type terrain according to an embodiment. FIG. [Figure 4] 10A and 10B are diagrams illustrating a method for obtaining height information and normal information of a collision point of a moving object from a height-mapped terrain according to an embodiment. [Figure 5] FIG. 1 is an explanatory diagram illustrating problems with the prior art. [Figure 6] FIG. 1 is an explanatory diagram illustrating problems with the prior art. [Figure 7] FIG. 1 is an explanatory diagram illustrating problems with the prior art. [Figure 8] FIG. 1 is an explanatory diagram illustrating problems with the prior art. [Figure 9] FIG. 2 is an explanatory diagram illustrating information processing according to the first embodiment. [Figure 10] FIG. 2 is an explanatory diagram illustrating information processing according to the first embodiment. [Figure 11] FIG. 2 is an explanatory diagram illustrating information processing according to the first embodiment. [Figure 12] FIG. 2 is an explanatory diagram illustrating information processing according to the first embodiment. [Figure 13] 4 is a flowchart showing the flow of information processing according to the first embodiment. [Figure 14] FIG. 2 is an explanatory diagram illustrating a problem with information processing according to the first embodiment. [Figure 15] FIG. 2 is an explanatory diagram illustrating a problem with information processing according to the first embodiment. [Figure 16] FIG. 10 is a block diagram showing an example of the functional configuration of an information processing device according to a second embodiment. [Figure 17] FIG. 10 is an explanatory diagram illustrating information processing according to a second embodiment. [Figure 18] 10 is a flowchart showing the flow of information processing according to the second embodiment. [Figure 19] 10 is a flowchart showing the flow of information deletion processing according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0019] The information processing device 10 according to this embodiment will be described below.
[0020] [First embodiment] 1 is a block diagram showing the hardware configuration of an information processing device 10. The information processing device 10 is, for example, a home game console, a portable game console, an arcade game console, a smartphone, a tablet terminal, a personal computer, etc. In this embodiment, the information processing device 10 is, for example, a "smartphone." The information processing device 10 is an example of a "computer" and an "information processing device," and the information processing method executed by the information processing device 10 is an example of an "information processing method."
[0021] 1, the information processing device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, a display 15, a speaker 16, and a communication I / F 18. Each component is connected to each other via a bus B so as to be able to communicate with each other.
[0022] The CPU 11 is a central processing unit that executes various programs and controls each part.
[0023] The ROM 12 stores various programs and various data. The RAM 13 serves as a working area for temporarily storing programs or data.
[0024] The storage 14 is configured with a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or a flash memory, and stores various programs and various data. The storage 14 stores, as various data, sound data for playing individual sounds from the speaker 16 while the game is being played. "Individual sounds" include background music (BGM), sound effects, and voices.
[0025] A "game" as used herein refers to a set of activities and rules for playing or competing. Games are played, for example, by players using strategy and skill to achieve a specific goal. Games are played to achieve various goals, for example, competitive goals such as winning, combat goals such as defeating an opponent, educational goals such as learning, and narrative goals such as completing a scenario. Games may be competitive or non-competitive.
[0026] Furthermore, a game processing program 14A and an information processing program 14B are stored in the storage 14. The CPU 11 reads the game processing program 14A and the information processing program 14B from the storage 14, and executes the game processing program 14A and the information processing program 14B using the RAM 13 as a working area.
[0027] The display 15 is, for example, a liquid crystal display, and displays various types of information. In this embodiment, the display 15 has an integrated touch panel, and a player can perform various operations via the touch panel. The speaker 16 plays sounds represented by sound data stored in the storage 14 while the game is being played. The communication I / F 18 is an interface for connecting the information processing device 10 to a network. The communication I / F 18 uses a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark), for example.
[0028] In this embodiment, the game processing program 14A and the information processing program 14B are downloaded from the external server 30 via the communication I / F 18 and installed, but this is not the only possible form. For example, these programs may be stored in advance in the storage 14 of the information processing device 10, or may be executed by accessing the server 30 each time a game is executed. The information processing program 14B is an example of an "information processing program."
[0029] As described above, the information processing device 10 according to this embodiment is a smartphone, and therefore various information is displayed on the display 15, and various game-related operations are performed using a touch panel provided on the display 15. However, this is not a limitation. For example, when a device that does not have a display unit and an input unit built into the main body, such as a home game console, is used as the information processing device 10, the display unit and input unit may be connected to external devices. In this case, the display unit and input unit may be detachable from the main body of the device.
[0030] Next, a description will be given of the functional configuration of the information processing device 10. Fig. 2 is a block diagram showing an example of the functional configuration of the information processing device 10.
[0031] 2, the CPU 11 of the information processing device 10 has, as functional components, a reception unit 11A, a game execution unit 11B, and an information processing unit 11C. Each functional component is realized by the CPU 11 reading and executing at least one of a game processing program 14A and an information processing program 14B stored in the storage 14.
[0032] The reception unit 11A receives input operations for the game from the player using the touch panel.
[0033] The game execution unit 11B executes a game processing program 14A stored in the storage 14 to execute a predetermined game.
[0034] The game according to this embodiment is a three-dimensional game such as a three-dimensional action game, a three-dimensional shooting game, a three-dimensional escape game, a three-dimensional horror game, etc. The game according to this embodiment has a mode in which the player plays alone against the CPU 11, and a mode in which the player plays online with a plurality of unspecified players via the server 30.
[0035] Incidentally, the game according to this embodiment uses terrain, which is a topographical object, and uses this terrain to express the terrain by raising or lowering any part of a vast flat surface and applying textures to it.
[0036] The terrain is huge because it forms the foundation for the entire game stage. For this reason, in order to speed up collision detection, terrain is used that has vertices arranged in a grid and only height information set; as mentioned above, this type of terrain is called "heightmap terrain."
[0037] The collision detection is a process of determining whether a moving object collides with another object such as the ground, a wall, a building, another character, etc. as the moving object moves, and is generally performed in games in which objects move. Hereinafter, the position where the moving object collides with another object will be referred to as the "collision point."
[0038] Fig. 3 shows a diagram for explaining a height map type terrain 50 according to this embodiment. As shown in Fig. 3, the height map type terrain 50 according to this embodiment is arranged in a grid pattern and is made up of a plurality of vertices 60, each of which has height information set. Note that the X and Z coordinates in Fig. 3 represent the position of each vertex 60 in a planar view, and the Y coordinate in Fig. 3 represents the height information described above. In other words, the height map type terrain 50 represents the three-dimensional position coordinates of each vertex 60, and information indicating these three-dimensional position coordinates will be referred to as "height map information" below.
[0039] In a game in which collision determination is performed, when a collision of moving objects is detected by the collision determination, a process for resolving the collision (hereinafter referred to as a "collision resolution process") is performed. In order to perform the collision resolution process, the information processing device 10 according to the present embodiment uses height information at the collision point between the moving objects that have collided and normal information indicating the normal at the collision point.
[0040] 4 shows a diagram illustrating a method for obtaining height information and normal information of a collision point of a moving object from a height-mapped terrain according to this embodiment. When deriving height information and normal information of an arbitrary position 70 in a height-mapped terrain 50, as shown in FIG. 4, first, a grid including the position 70 (in the example shown in FIG. 4, a grid defined by vertices 60A, 60B, and 60C) is searched for.
[0041] Then, height information, i.e., Y coordinate and normal information, of position 70 is derived from the height map information of each of vertices 60A, 60B, and 60C that make up the grid, i.e., the three-dimensional coordinates of X, Y, and Z. Therefore, by setting position 70 as the above-mentioned collision point, height information and normal information at the collision point can be obtained.
[0042] As described above, when using a height map type terrain, only height information and normal information at a certain point can be obtained, and therefore, in order to grasp the detailed shape, it is necessary to obtain height information multiple times. This point will be explained in detail below with reference to Figs. 5 to 8. Figs. 5 to 8 are explanatory diagrams for explaining the problems of the conventional technology, and show a view of a certain point on a height map type terrain 50 as seen from the side. Below, a case where the moving object is a character will be explained. Also, below, as an example, as shown in Fig. 5, a state in which collision detection for a character 90 is performed using a capsule 92 containing the character 90 is illustrated.
[0043] As shown in Figure 5, consider a case where character 90 moves from the left side in the direction of arrow D1, and collision detection detects that the character's 90's head (in the illustrated example, the upper right part of capsule 92) has become embedded in wall 84 on a slope on ground 80, and collision resolution processing is performed to resolve this collision.
[0044] In this case, height information at collision point 40A directly below character 90 and normal information indicating normal 42A are derived using height map information. Then, using the height information, normal information, and information indicating the state of capsule 92 sinking into wall 84, collision resolution processing is performed by pushing capsule 92 in the direction of arrow D2. However, as an example, as shown in Figure 6, this results in capsule 92 sinking into ground 80 indicated by height map terrain 50. This is because the terrain indicated by normal 42A is a slope, and the inclination of the slope is assumed to continue at the same gradient where capsule 92 is pushed out.
[0045] In order to prevent this, as shown in Figures 7 and 8 as an example, it is necessary to use the height map information to again derive height information for collision point 40B and normal information indicating normal 42B at the position of character 90 after it has resolved its position on wall 84, and then execute the collision resolution process. Note that this problem is not limited to the situation in which character 90 (capsule 92 in the illustrated example) collides with wall 84, as illustrated in Figures 5 to 8. For example, this problem can also occur in a situation in which the direction in which character 90 is moving is steep, like a cliff.
[0046] Deriving height and normal information multiple times within a single update loop for the game's display image increases the processing load accordingly, so we want to perform collision resolution processing without obtaining height and normal information as much as possible.
[0047] Therefore, as shown in FIG. 2, the information processing unit 11C according to this embodiment includes a storage unit 11C1 and a resolution unit 11C2 that are realized by executing information processing according to an information processing program 14B.
[0048] When a first collision occurs between a land object and a moving object, the storage unit 11C1 according to this embodiment stores first information, which is information relating to the position where the first collision occurred. Then, when a second collision with another object occurs as a result of the movement of the moving object, the resolution unit 11C2 according to this embodiment resolves the second collision based on the stored first information. The "second collision" here corresponds to the collision of the character 90 (capsule 92) with the wall 84 described with reference to FIGS. 5 to 8.
[0049] In this embodiment, the first information includes first height information indicating the height of the position where the first collision occurred, and first normal line information indicating the normal line of the position, both of which are obtained from the land object. When a second collision occurs, the resolution unit 11C2 resolves the second collision using the first height information and the first normal line information included in the stored first information.
[0050] More specifically, when a second collision occurs, the resolution unit 11C2 according to this embodiment derives second information including second height information indicating the height of the position where the second collision occurred and second normal information indicating the normal to that position, both of which are obtained from the land object. Then, the resolution unit 11C2 resolves the second collision using the second height information and second normal information included in the derived second information and the first height information and first normal information included in the stored first information.
[0051] The processing by the above-described storage unit 11C1 and resolution unit 11C2 will be specifically described below with reference to Fig. 9 to Fig. 12. Fig. 9 to Fig. 12 are explanatory diagrams provided for explaining the information processing according to this embodiment.
[0052] As an example, as shown in Figures 9 and 10, if character 90, which is an example of a moving object, is moving from the left side in the direction of arrow D1, a collision resolution process with ground 80 should have been performed at the previous left position during the previous update.
[0053] Therefore, the resolution unit 11C2 in this embodiment derives first height information and first normal information for the collision resolution process, and the storage unit 11C1 stores the first height information and first normal information derived by the resolution unit 11C2 in storage 14 or the like.
[0054] Then, when the character 90 moves further and a second collision with another object, a wall 84, occurs, the resolution unit 11C2 according to this embodiment executes a collision resolution process to resolve the second collision using the second height information and second normal information at that time and the saved first height information and first normal information.
[0055] 11 and 12, in this embodiment, as an example, the first height information of collision point 40B and first normal information indicating normal 42B stored by storage unit 11C1 are used together with the second height information and second normal information of collision point 40A derived when character 90 (capsule 92) collides with wall 84. This reduces the number of times the height information and normal information are derived, and enables the collision to be resolved by a single collision resolution process without causing secondary sinking. As a result, the processing load can be reduced compared to when first height information and first normal information derived previously for collision determination are re-derived.
[0056] Next, the flow of the information processing will be described with reference to Fig. 13. Fig. 13 is a flowchart showing the flow of the information processing. The CPU 11 reads out the information processing program 14B from the storage 14, expands it in the RAM 13, and executes it, thereby performing the information processing. As an example, the information processing is executed for each frame when the game processing program 14A is executed by the game execution unit 11B. Note that the following description will also be given of the case where a character 90 is used as a moving object.
[0057] 13, the CPU 11 performs a collision determination to determine whether a collision has occurred with any of the characters 90, and if the determination is negative, the process proceeds to step 102. In step 102, the CPU 11 deletes the collision history that has been saved by the processing of step 104, which will be described later, and then ends this information processing.
[0058] On the other hand, if the determination in step 100 is affirmative, the CPU 11 determines that a collision has occurred, and proceeds to step 104. In step 104, the CPU 11 derives height information and normal information at the collision point of the character 90 using the height map information, as described above, and saves the derived height information and normal information in the storage 14 as the collision history.
[0059] In step 106, the CPU 11 executes a collision resolution process using the derived height information and normal information and the height information and normal information stored as the collision history up to that point, and then ends this information process. Note that when the process of step 106 is executed, there may be cases where the collision history is not stored, and only in this case, the CPU 11 derives the height information and normal information corresponding to the collision history from the height map information.
[0060] As described above, in the information processing device 10, when a first collision occurs between a landform object and a moving object, which is a moving object, the CPU 11 saves first information, which is information relating to the position where the first collision occurred. Then, in the information processing device 10, when a second collision with another object occurs as a result of the movement of the moving object, the CPU 11 resolves the second collision based on the saved first information. In this way, by reusing information relating to the position where the collision occurred, which is derived when a collision occurs between a landform object and a moving object, the processing load can be reduced compared to when the information is derived again.
[0061] Furthermore, in the information processing device 10, the first information includes first height information obtained from the terrain object and indicating the height of the position where the first collision occurred, and when a second collision occurs, the CPU 11 resolves the second collision using the first height information included in the saved first information. This allows the process of resolving the collision to be performed using the first height information saved in the past.
[0062] Furthermore, in the information processing device 10, the first information further includes first normal information obtained from the terrain object and indicating the normal of the position where the first collision occurred, and when a second collision occurs, the CPU 11 resolves the second collision using the first height information and first normal information included in the saved first information. This allows the first normal information to be used in addition to the previously saved first height information, and as a result, it is possible to perform processing to resolve the collision more accurately compared to when the normal information is not used.
[0063] Furthermore, in the information processing device 10, when a second collision occurs, the CPU 11 derives second height information indicating the height of the position where the second collision occurred and second normal information indicating the normal to that position, both of which are obtained from the terrain object, and resolves the second collision using the second height information and second normal information included in the derived second information and the first height information and first normal information included in the saved first information. This allows the processing to be performed more accurately than when the processing to resolve the collision is performed without using the previously saved first height information and first normal information.
[0064] [Second embodiment] The more collision histories there are, the more precise the collision resolution can be. However, problems may arise if collision resolution processing is always performed by referring to all collision histories. As an example of this case, consider the situation shown in FIG. 14, in which a character 90, as an example of a moving object, approaches the top of a slope 82 indicated by a height-mapped terrain. FIGS. 14 and 15 are explanatory diagrams for explaining problems with information processing according to the first embodiment.
[0065] In the situation shown in FIG. 14, if the character 90 moves to the right, referring to the collision history on the slope of the slope 82 may result in the character 90 appearing to be floating in the air, as shown in FIG. 15, for example. This is because the information saved as the collision history is only height information and normal information, and therefore the slope of the slope 82 shown in FIG. 14 is considered to continue with the same gradient thereafter. This problem may occur not only in the situation shown in FIGS. 14 and 15 where the character 90 is climbing the slope 82, but also, for example, when the character 90 is descending the slope 82.
[0066] To solve this problem, in the information processing device 10 according to this embodiment, an information processing unit 11C includes a deletion unit 11C3 in addition to a storage unit 11C1 and a cancellation unit 11C2, as shown in Fig. 16. Fig. 16 is a block diagram showing an example of the functional configuration of the information processing device 10 according to this embodiment.
[0067] The deletion unit 11C3 according to this embodiment derives a first gradient, which is the gradient of the terrain indicated by the first normal information, and a second gradient, which is the gradient of the terrain indicated by the second normal information. If the difference between the first gradient and the second gradient is equal to or greater than a predetermined amount, the deletion unit 11C3 according to this embodiment deletes the first height information and the first normal information.
[0068] In other words, in the case shown in Figure 15, there is a collision point 40D, for which height information was obtained, further back from the plane created by the normal information at collision point 40C on the slope of slope 82, and it can be seen that the slope does not continue up to this point 40D.
[0069] Therefore, the deletion unit 11C3 according to this embodiment appropriately selects information to be left as the collision history by deleting the height information and normal information of the slope side from the collision history at this point. This makes it possible to avoid erroneous execution of collision resolution processing using the saved height information and normal information, thereby suppressing unnatural behavior of the character 90.
[0070] 17, the difference is equal to or greater than a predetermined amount when the dot product of normal 42C indicated by the first normal information and vector 44 from collision point 40C, where the first collision occurred, to collision point 40D, where the second collision occurred, is negative. This makes it easier to determine whether or not to delete stored information compared to determining the need for deletion without using the dot product.
[0071] The configuration of the information processing device 10 according to this embodiment is the same as that of the first embodiment, except for the function of the information processing unit 11C, and therefore further description will be omitted.
[0072] Next, the flow of the information processing according to this embodiment will be described with reference to Figures 18 and 19. Figure 18 is a flowchart showing the flow of information processing according to this embodiment, and Figure 19 is a flowchart showing the flow of information deletion processing according to this embodiment. Note that steps in Figure 18 that perform the same processing as in Figure 13 are given the same step numbers as in Figure 13, and their description will be omitted. As shown in Figure 18, the information processing according to this embodiment differs from the information processing according to the first embodiment only in that processing of step 105 is added.
[0073] That is, after the information indicating the collision history is saved by the processing in step 104, the CPU 11 executes, in step 105, an information deletion processing shown in Fig. 19 as an example. Hereinafter, the information deletion processing according to this embodiment will be described with reference to Fig. 19.
[0074] In step 200 of FIG. 19, the CPU 11 determines whether or not there is any unchecked collision history at this point. If the determination is negative, the information deletion process is terminated, whereas if the determination is positive, the process proceeds to step 202.
[0075] In step 202, the CPU 11 selects a set of height information and normal vector information (hereinafter referred to as "selected information") from the unchecked collision history, excluding the height information and normal vector information (hereinafter referred to as "most recent information") saved in the most recent processing of step 104. In step 204, the CPU 11 derives a vector (vector 44 in the example shown in FIG. 17) from the collision point corresponding to the selected information (collision point 40C in the example shown in FIG. 17) to the collision point corresponding to the most recent information (collision point 40D in the example shown in FIG. 17).
[0076] In step 206, the CPU 11 determines whether the dot product of the normal indicated by the normal information in the selection information and the derived vector is negative, that is, whether angle A shown in FIG. 17 is an obtuse angle, for example. If the determination is negative, the process returns to step 200, whereas if the determination is positive, the process proceeds to step 208.
[0077] In step 208, CPU 11 deletes (erases) the selected information from the collision history, and then returns to step 200. When repeating the processes of steps 200 to 208, CPU 11 sets as selected information a set of height information and normal information in the collision history that has not been selected and has not been checked up to that point. When the information deletion process is completed, the process proceeds to step 106 of the information processing.
[0078] As described above, in the information processing device 10 according to this embodiment, if the difference between the gradient of the terrain indicated by the first normal information and the gradient of the terrain indicated by the second normal information is equal to or greater than a predetermined amount, the CPU 11 deletes the first height information and the first normal information. This makes it possible to avoid erroneous execution of collision resolution processing using the saved first height information and first normal information.
[0079] Furthermore, in the information processing device 10 according to the present embodiment, the difference is equal to or greater than a predetermined amount when the dot product of the normal indicated by the first normal information and the vector from the position where the first collision occurred to the position where the second collision occurred is negative. This makes it easier to determine whether or not to delete stored information compared to determining whether or not to delete stored information without using the dot product.
[0080] In the above embodiments, the resolution unit 11C2 derives both the height information and the normal information, and the storage unit 11C1 stores the derived height information and normal information. However, the present invention is not limited to this. For example, when performing collision resolution processing using only the height information, the resolution unit 11C2 may derive only the height information, and the storage unit 11C1 may store only the derived height information.
[0081] In addition, in each of the above embodiments, the resolution unit 11C2 resolves the collision using the height information and normal information before and after the collision occurs, but the present invention is not limited to this. For example, the collision may be resolved using only the height information and normal information before the collision occurs.
[0082] In addition, in the above embodiments, the object that the character 90, which is an example of a moving object, collides with is an immovable object such as the ground, a wall, etc. However, the present invention is not limited to this. For example, the object that the moving object collides with may be a moving object such as an enemy character of the character 90 or a moving wall.
[0083] In the above embodiments, the information processing performed by the CPU 11 after reading and executing software (programs) may be performed by various processors other than a CPU. Examples of such processors include programmable logic devices (PLDs) whose circuit configuration can be changed after fabrication, such as field-programmable gate arrays (FPGAs), and dedicated electrical circuits, such as application-specific integrated circuits (ASICs), which are processors with circuit configurations specifically designed to perform specific processing. Information processing may be performed by one of these processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). The hardware structure of these processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices. [Explanation of symbols]
[0084] 10 Information processing device (an example of a computer and information processing device) 11 CPU 11A Reception 11B Game Execution Unit 11C Information Processing Section 11C1 Storage section 11C2 Resolution Department 11C3 Deleted section 12 ROM 13 RAM 14. Storage 14A Game Processing Program 14B Information processing program (example of information processing program) 15 Display 16 speakers 18 Communication I / F 30 servers 40A, 40B, 40C, 40D collision point 42A, 42B, 42C, 42D Normal 44 Vector 50 Heightmapped Terrain 60, 60A, 60B, 60C Vertex 70 positions 80 ground 82 Slope 84 Wall 90 characters 92 capsules A angle D1, D2 arrows
Claims
1. When a first collision occurs between the land object and the moving object, which is a moving object, first information is stored as information about the position where the first collision occurred; When a second collision with another object occurs due to the movement of the moving object, the second collision is resolved based on the stored first information. An information processing program that causes a computer to execute a process.
2. the first information includes first height information obtained from the terrain object and indicating a height of a position where the first collision occurred; When the second collision occurs, the second collision is resolved using the first height information included in the stored first information.
2. The information processing program according to claim 1, which causes a computer to execute the process.
3. the first information further includes first normal information obtained from the terrain object and indicating a normal of a position where the first collision occurred; When the second collision occurs, the second collision is resolved using the first height information and the first normal information included in the stored first information.
3. The information processing program according to claim 2, which causes a computer to execute the process.
4. When the second collision occurs, second information including second height information indicating the height of the position where the second collision occurred and second normal information indicating the normal to the position, which are obtained from the land object, is derived, and the second collision is resolved using the second height information and the second normal information included in the derived second information and the first height information and the first normal information included in the saved first information.
4. The information processing program according to claim 3, which causes a computer to execute the process.
5. when a difference between the gradient of the terrain indicated by the first normal information and the gradient of the terrain indicated by the second normal information is equal to or greater than a predetermined amount, the first height information and the first normal information are deleted.
5. The information processing program according to claim 4, which causes a computer to execute the process.
6. When the difference is equal to or greater than the predetermined amount, the inner product of the normal indicated by the first normal information and the vector from the position where the first collision occurred to the position where the second collision occurred is negative. The information processing program according to claim 5 .
7. When a first collision occurs between the land object and the moving object, which is a moving object, first information is stored as information about the position where the first collision occurred; When a second collision with another object occurs due to the movement of the moving object, the second collision is resolved based on the stored first information. An information processing method in which processing is performed by a computer.
8. a storage unit that stores first information, which is information relating to a position where a first collision has occurred between a land object and a moving object that is a moving object, when the first collision has occurred between the land object and the moving object; a resolution unit that, when a second collision with another object occurs due to the movement of the moving object, resolves the second collision based on the stored first information; An information processing device comprising:
Citation Information
Patent Citations
Game system, game controller and program
JP2024060722A