Information processing program, information processing method, and information processing apparatus

JP2026169047APending Publication Date: 2026-10-16KOEI TECMO GAMES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025062703
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-04-04
Publication Date
2026-10-16

AI Technical Summary

Benefits of technology

【0009】 本開示によれば、オブジェクトの軌道の終点の位置が変更された場合において適切な軌道を維持しつつ、終点の位置の変更に合わせて軌道を修正することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026169047000001_ABST
    Figure 2026169047000001_ABST
Patent Text Reader

Abstract

The present invention provides an information processing program, an information processing method, and an information processing device that can modify an object's trajectory in accordance with a change in the position of its endpoint, while maintaining an appropriate trajectory when the endpoint of the object's trajectory is changed. [Solution] When an object is moving along a trajectory derived by interpolation calculations connecting three or more control points, including a start point and an end point, and the position of the end point changes, the information processing program performs a process to change the position of the control points other than the start point and the end point, according to a tracking rate set for the control points other than the start point and the end point, which represents the percentage to which the control points should follow the change in the position of the end point, and then changes the trajectory of the object by interpolation calculations connecting the three or more control points that have undergone the process of changing the position of the end point.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to an information processing program, an information processing method, and an information processing apparatus. [Background technology]

[0002] Patent Document 1 discloses a technique for determining the trajectory of a weapon by interpolation calculations connecting multiple control points set in a game space. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2008-136695 [Overview of the project] [Problems that the invention aims to solve]

[0004] In a virtual space, while an object is moving along a pre-calculated trajectory, the position of the object's target endpoint may change. In this case, it is preferable to adjust the trajectory to accommodate the change in the endpoint's position while maintaining an appropriate trajectory, such as a trajectory that looks natural to the player. However, the technology described in Patent Document 1 does not take into account changes in the position of the trajectory's endpoint.

[0005] This disclosure aims to provide an information processing program, an information processing method, and an information processing apparatus that can modify an object's trajectory in accordance with a change in the position of its endpoint, while maintaining an appropriate trajectory when the position of the endpoint of the object's trajectory is changed. [Means for solving the problem]

[0006] The first embodiment of the information processing program causes a computer to perform a process to change the trajectory of an object moving in a virtual space if the position of the endpoint changes while the object is moving along a trajectory derived by interpolation calculations connecting three or more control points, including the start and end points of the trajectory. This process involves changing the position of the control points other than the start and end points among the three or more control points according to a tracking rate that represents the percentage to which the control points should follow the change in the position of the endpoint, and then changing the trajectory of the object by interpolation calculations connecting the three or more control points that have undergone the modification process.

[0007] The second aspect of the information processing method involves a computer performing a process to change the trajectory of an object moving in a virtual space. If the position of the endpoint changes while the object is moving along the trajectory, which is derived by an interpolation calculation connecting three or more control points including the start and end points of the trajectory, the computer performs a process to change the position of the control points other than the start and end points of the three or more control points to follow the change in the position of the endpoint, according to a tracking rate set for each control point other than the start and end points, which represents the percentage to follow the change in the position of the endpoint. The computer then performs a process to change the trajectory of the object by an interpolation calculation connecting the three or more control points that have undergone the modification process.

[0008] The third embodiment of the information processing device includes a processor, which, when an object is moving along a trajectory derived by interpolation calculations connecting three or more control points including the start and end points of the trajectory, performs a process to change the position of the control points other than the start and end points among the three or more control points to follow the change in the position of the end point, according to a tracking rate set for the control points other than the start and end points, which represents the percentage to follow the change in the position of the end point, and changes the trajectory of the object by interpolation calculations connecting the three or more control points that have undergone the modification process. [Effects of the Invention]

[0009] According to the present disclosure, when the position of the end point of an object's trajectory is changed, the trajectory can be modified in accordance with the change in the position of the end point while maintaining an appropriate trajectory. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] [Figure 1] 1 is a block diagram illustrating an example of a hardware configuration of an information processing apparatus. [Figure 2] FIG. 2 is a diagram illustrating an example of a trajectory of an object. [Figure 3] FIG. 3 is a diagram for explaining interpolation calculation using control points. [Figure 4] FIG. 4 is a block diagram illustrating an example of a functional configuration of the information processing apparatus. [Figure 5] FIG. 5 is a diagram for explaining a trajectory modification process according to the first embodiment. [Figure 6] FIG. 6 is a diagram for explaining the trajectory modification process according to the first embodiment. [Figure 7] FIG. 7 is a flowchart illustrating an example of a trajectory modification process according to the first embodiment. [Figure 8] FIG. 8 is a diagram illustrating an example of a modified trajectory according to the first embodiment. [Figure 9] FIG. 9 is a diagram for explaining a trajectory modification process according to the second embodiment. [Figure 10] FIG. 10 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 11] FIG. 11 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 12] FIG. 12 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 13] FIG. 13 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 14] FIG. 14 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 15] FIG. 15 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 16] FIG. 16 is a diagram for explaining the trajectory modification process according to the second embodiment. [Figure 17] This flowchart shows an example of a trajectory change process according to the second embodiment. [Modes for carrying out the invention]

[0011] Hereinafter, with reference to the drawings, examples of embodiments for carrying out the technology of this disclosure will be described in detail.

[0012] [First Embodiment] First, the hardware configuration of the information processing device 10 according to this embodiment will be described with reference to Figure 1. The information processing device 10 is, for example, a home game console, a portable game console, an arcade game machine, a smartphone, a tablet terminal, and a personal computer. In this embodiment, as an example, an example in which a home game console is used as the information processing device 10 will be described. The information processing device 10 is an example of a computer.

[0013] As shown in Figure 1, the information processing device 10 includes a CPU (Central Processing Unit) 11, memory 12, storage 13, external interface 14, communication interface 15, and input interface 16. Each of the CPU 11, memory 12, storage 13, external interface 14, communication interface 15, and input interface 16 is connected to each other via a bus 20 so that they can communicate with one another.

[0014] The CPU 11 is a central processing unit that executes various programs and controls various parts. The CPU 11 is an example of a processor. The memory 12 temporarily stores programs or data as a working area. The storage 13 consists of a storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory, and stores various programs and various data.

[0015] The storage device 13 stores an information processing program 30 for running a predetermined game on the information processing device 10. The CPU 11 reads the information processing program 30 from the storage device 13 and executes it using the memory 12 as a working area. The information processing program 30 is not limited to being stored in the storage device 13, but may also be stored on a recording medium such as an optical disc, USB (Universal Serial Bus) memory, or SD memory card. Furthermore, the information processing program 30 may be downloadable to the information processing device 10 via the communication interface 15. In addition, the information processing program 30 can be provided as a program product. A program product includes all forms of products for providing programs. For example, a program product includes programs provided via a network such as the Internet, and non-temporary computer-readable recording media such as optical discs on which programs are stored.

[0016] The external I / F 14 is an interface for connecting various external devices to the information processing device 10. In this embodiment, the speaker 21 and the display 22 are connected to the external I / F 14.

[0017] The speaker 21 outputs various sounds. The speaker 21 may be integrated with the information processing device 10 or integrated with the display 22. The display 22 is, for example, a liquid crystal display or an organic EL (Electro-Luminescence) display, and displays various information. The display 22 may have an integrated touch panel. The display 22 may also be integrated with the information processing device 10.

[0018] Communication I / F15 is an interface for connecting the information processing device 10 to a network. Communication I / F15 may use, for example, wired communication standards such as Ethernet (registered trademark) or FDDI (Fiber Distributed Data Interface), or wireless communication standards such as 4G, 5G, or Wi-Fi (registered trademark).

[0019] The input interface 16 is an interface for connecting the input device 23 to the information processing device 10. The input device 23 is a game controller, mouse, or keyboard, which has operation buttons and directional keys, and is used for various types of input. The user operates the game using the input device 23. Operation information indicating the content of the input operations performed by the user using the input device 23 is stored in the memory 12. The input device 23 may be integrated with the information processing device 10. Alternatively, the input device 23 may be detachable from the information processing device 10. Furthermore, there may be one or more input devices 23. Also, the input device 23 may be a touch panel integrated with the display 22.

[0020] The information processing device 10 according to this embodiment provides a game in which objects move from a starting point to an ending point in a virtual space within the game. The game is played, for example, by players using strategies and techniques to achieve a specific objective. The game is played to achieve various objectives, such as competitive objectives like winning a championship, combat objectives like defeating enemies, educational objectives like learning, and narrative objectives like completing the progression of a scenario. The game may be in a competitive format or a non-competitive format.

[0021] In this embodiment, the trajectory of an object moving within the virtual space is calculated in advance. As an example, as shown in Figure 2, examples of object trajectories include a trajectory that traces a circular arc from a starting point to an ending point, like a boomerang, and curved trajectories such as a wavy line. Thus, the object trajectory calculated in advance may not be a randomly meandering trajectory, but rather a trajectory that has regularity such as line symmetry and point symmetry. Furthermore, the object trajectory is not limited to the curved trajectory exemplified in Figure 2, and may be a trajectory in which a portion of the trajectory is composed of a straight line. In addition, the object trajectory may be a trajectory that has multiple inflection points.

[0022] Examples of objects that move along such trajectories include objects thrown by characters, such as balls; objects such as weights attached to the end of a chain-like part, such as a sickle or chain; and objects used for long-range attacks, such as missiles. Furthermore, the trajectory of an object is not limited to the trajectory of such objects; for example, it may be the trajectory of a moving body such as a person or vehicle, with a starting point and an ending point.

[0023] In this embodiment, the object's trajectory is derived by interpolation calculations connecting three or more control points, including the start and end points of the trajectory. An example of the trajectory derivation method will be explained with reference to Figure 3. As shown in Figure 3, a trajectory connecting seven control points P will be used as an example. In the following, when distinguishing individual control points P, a number will be added to the end of their designation.

[0024] In the example in Figure 3, control point P1 is the starting point, control point P7 is the ending point, and control points P2 to P6 are points through which the object passes. In this embodiment, the object passes through control points P in ascending order, corresponding to the smallest digit at the end of the sign that corresponds to the control point number. One example of a method for calculating such a curved trajectory by interpolation is Catmull-Rom Spline interpolation. Catmull-Rom Spline interpolation is a method that uses four control points to find a curved trajectory connecting four control points through interpolation calculation. If there are five or more control points, a curved trajectory connecting five or more control points can be found by performing interpolation calculations using four adjacent control points for each combination of four adjacent control points.

[0025] P -1 When calculating a curve passing through P0 and P1 using Catmull-Rom spline interpolation with four control points P0, P1, and P2, the equation of the curve is expressed by the following (1). Here, a, b, c, and d in equation (1) are expressed by the following (2).

[0026]

number

[0027]

Mathematics

[0028] Then, n+2 control points P -1 , P0, ..., P n-1 , P n are prepared, and by performing interpolation calculation using Equation (1) on four adjacent control points P i-1 , P i , P i+1 , P i+2 (0≦i≦n-2), a curved trajectory with P0 as the start point, P n-1 as the end point, and P1 to P n-2 as passing points can be obtained. Note that the number of adjacent control points may be three. In this case, P -1 and P0 in the above Equation (2) may be treated as points with the same coordinates.

[0029] While an object is moving on the trajectory derived as described above, the position of the end point may be changed. For example, this occurs when the target of the object moving on the trajectory moves. In the example of Figure 3, point CP indicates the current position of the object moving on the trajectory. Since the current position of the object changes with time t, it is expressed as p(t). If the control point P7, which is the end point, moves while the object is moving on the trajectory shown in Figure 3, the object cannot reach the changed end point unless the trajectory is changed. The information processing apparatus 10 according to the present embodiment has a function of changing the trajectory following the change in the position of the end point when the position of the end point is changed while the object is moving on the trajectory. That is, the information processing apparatus 10 recalculates the trajectory when the position of the end point is changed at the timing when the position of point CP, which is the current position of the object, is on the pre-calculated trajectory. Thereby, for example, when the target moves while the object is moving on the trajectory, the object can automatically follow the target without the player performing an operation to change the trajectory.

[0030] Next, the functional configuration of the information processing device 10 will be described with reference to Figure 4. As shown in Figure 4, the information processing device 10 includes a first derivation unit 40, a movement unit 42, a determination unit 44, a modification unit 46, and a second derivation unit 48. The CPU 11 executes the information processing program 30, thereby enabling the first derivation unit 40, the movement unit 42, the determination unit 44, the modification unit 46, and the second derivation unit 48 to function.

[0031] The first derivation unit 40 derives the trajectory of an object moving in virtual space by interpolation calculations connecting three or more control points, including the start and end points of the trajectory. Specifically, the first derivation unit 40 derives the trajectory of an object by interpolation calculations connecting three or more control points according to equations (1) and (2) above. This trajectory of the object is calculated in advance before the object's movement begins. For example, the positions of the control points are set in advance by the developer according to the object.

[0032] The movement unit 42 moves the object along the trajectory derived by the first derivation unit 40, according to the velocity and acceleration set for the object. For example, when a player performs an operation to start the movement of an object, such as throwing the object, via the input device 23, the movement unit 42 moves the object. Also, if the trajectory of the object is changed by the second derivation unit 48, the movement unit 42 moves the object along the changed trajectory.

[0033] The determination unit 44 determines whether the position of the endpoint of the trajectory has changed while the object is moving along the trajectory derived by the first derivation unit 40. For example, the determination unit 44 monitors whether the position of the endpoint has changed at a predetermined time interval, such as once per frame.

[0034] If the determination unit 44 determines that the position of the endpoint of the trajectory has changed while the object is moving along the trajectory, the modification unit 46 performs a process to change the position of the control points other than the start and end points of the three or more control points in accordance with the change in the position of the endpoint, according to a tracking rate that represents the percentage to which the control points should follow the change in the position of the endpoint. In this embodiment, the tracking rate is a coefficient that is multiplied by a vector corresponding to the vector from the position of the endpoint before the change to the position of the endpoint after the change, with the control point to which the tracking rate is set as the starting point. For example, the tracking rate is set to 0 if it does not follow the change in the position of the endpoint, and is set to a value greater than 0 and less than or equal to 1 if it does follow the change in the position of the endpoint.

[0035] Refer to Figures 5 and 6 to explain specific examples of the process of changing the position of control points. Note that in Figures 5 and 6, for the sake of clarity, the 2D trajectory is shown as a top-down plan view, but the object's trajectory may also be a 3D trajectory. Figure 5 shows the case where the object's trajectory is an arc from the start point to the end point, while Figure 6 shows the case where the object's trajectory is a wavy line. Furthermore, Figure 5 shows the case where the pre-calculated trajectory connects seven control points P, while Figure 6 shows the case where the pre-calculated trajectory connects five control points P. In Figure 5, control point P1 is the start point and control point P7 is the end point. In Figure 6, control point P1 is the start point and control point P5 is the end point. Both Figures 5 and 6 also show the case where the position of the end point changes due to the movement of the object's target. In both Figures 5 and 6, the target with a dashed outline is the target before movement, and the target with a solid outline is the target after movement. Furthermore, both Figure 5 and Figure 6 show the case where the endpoint position is changed while the object's current position is moving from the position of point CP on a pre-calculated trajectory. In Figure 5, the control points P5-P7 with dashed outlines represent the control points before the change, and the control points P5-P7 with solid outlines represent the control points after the change. Similarly, in Figure 6, the control points P3-P5 with dashed outlines represent the control points before the change, and the control points P3-P5 with solid outlines represent the control points after the change. Also, in Figure 5, the dashed trajectory passing through the dashed control points P5-P7 represents the trajectory before the change, and the solid trajectory passing through the solid control points P5-P7 represents the trajectory after the change. Similarly, in Figure 6, the dashed trajectory passing through the dashed control points P3-P5 represents the trajectory before the change, and the solid trajectory passing through the solid control points P3-P5 represents the trajectory after the change.

[0036] As shown in Figure 5, control points P2 to P6, other than the starting control point P1 and the ending control point P7, have pre-set tracking rates. The tracking rates are set by the developer, for example, considering which control points should follow the ending point's position to create a natural trajectory from the player's perspective if the ending point's position is moved. For example, in the case of an arc-shaped trajectory, the tracking rate of control point P located on the outward path is set to 0, which represents a value indicating that it will not follow the change in the ending point's position. Also, for example, in this case, the tracking rate of control point P located on the return path is set to a value representing the percentage to which it will follow the change in the ending point's position. Furthermore, for example, the tracking rate is set to a larger value the closer it is to the ending point.

[0037] First, the modification unit 46 controls the vector v from the position of the control point P7 before the modification to the position of the control point P7 after the modification. e Next, the modification unit 46 selects control points P5 and P6, which are among the control points P4 to P6 between point CP and control point P7 and are set to values ​​that indicate that the tracking rate is tracking, as tracking control points. The modification unit 46 also calculates a vector v starting from control points P4 and P5. e The vector obtained by multiplying the corresponding vector by the tracking rate (in the example in Figure 5, 0.6v is above) e , 0.8v e The vector (represented by the arrow indicated) is derived. Then, the modification unit 46 changes the positions of control points P4 and P5 to the positions of the endpoints of the vectors derived for control points P4 and P5, respectively.

[0038] As shown in Figure 6, the tracking ratios are pre-set for control points P2 to P4, excluding the starting control point P1 and the ending control point P5. For example, in the case of a wavy trajectory, the tracking ratios of control points P located from the starting point to the midpoint, inflection point, or center point of point symmetry are set to 0, and the tracking ratios of control points P located between these points and the ending point are set to a value representing the percentage of movement that follows the change in the position of the ending point. Also, for example, the tracking ratio is set to a larger value the closer it is to the position of the ending point. The processing performed by the modification unit 46 for the trajectory shown in Figure 6 is the same as the processing performed for the trajectory shown in Figure 5, except that the tracking control points become control points P3 and P4, so the explanation is omitted.

[0039] The second derivation unit 48 re-derives the object's trajectory by interpolation calculations connecting the control points P that have undergone the modification process by the modification unit 46. In this way, the second derivation unit 48 modifies the object's trajectory. The interpolation calculation method is the same as that of the first derivation unit 40, so its explanation is omitted.

[0040] Next, the operation of the information processing device 10 according to this embodiment will be explained with reference to Figure 7. The CPU 11 executes the information processing program 30, thereby executing the trajectory change process shown in Figure 7.

[0041] In step S10 of Figure 7, the first derivation unit 40 derives the trajectory of an object moving in the virtual space by interpolation calculations connecting three or more control points, including the start and end points of the trajectory.

[0042] In step S12, the movement unit 42 moves the object along the trajectory derived by the first derivation unit 40, according to the velocity and acceleration set for the object. If the object's trajectory is changed by the execution of step S20, which will be described later, the movement unit 42 moves the object along the trajectory after the change made by the process in step S20. For example, if the process from step S12 onward is executed once per frame, the movement unit 42 moves the object for one frame.

[0043] In step S14, the determination unit 44 determines whether the object has reached its endpoint. If this determination is negative, the process proceeds to step S16. In step S16, the determination unit 44 determines whether the position of the endpoint of the trajectory has changed. If this determination is negative, the process returns to step S12; if it is positive, the process proceeds to step S18.

[0044] In step S18, the modification unit 46, as described above, modifies the position of the control points other than the start and end points among the three or more control points, according to the tracking rate set for those control points, so as to follow the change in the position of the end point. In step S20, the second derivation unit 48 re-derives the object's trajectory by interpolation calculation connecting the control points P that have undergone the modification process in step S18. In this way, the second derivation unit 48 modifies the object's trajectory. When the process in step S20 is completed, the process returns to step S12.

[0045] On the other hand, when the object reaches the endpoint, the judgment in step S14 becomes positive, and the trajectory change process ends. The processes from step S12 onward are executed at time intervals corresponding to the frame rate, for example, once per frame. Therefore, if the position of the endpoint changes again after the trajectory has been changed once, the trajectory will also be changed again.

[0046] As described above, according to this embodiment, when the position of the endpoint of an object's trajectory is changed, it is possible to maintain an appropriate trajectory while correcting the trajectory in accordance with the change in the position of the endpoint.

[0047] [Second Embodiment] A second embodiment of the disclosed technology will now be described. The hardware configuration of the information processing device 10 according to this embodiment is the same as that of the first embodiment, so a description will be omitted.

[0048] The trajectory of an object modified by the information processing device 10 according to the first embodiment may appear unnatural to the player. For example, as shown in Figure 8, if the position of the endpoint is changed to the opposite side from the example in Figure 6, the object's trajectory will abruptly change direction from the position of point CP towards the modified control point P3. In addition, in the first embodiment, fine-tuning of the tracking rate may be necessary to maintain a natural trajectory. The information processing device 10 according to the second embodiment adjusts the position of the tracking control points to avoid unnatural trajectories like the one in Figure 8.

[0049] Next, with reference to Figure 4, the functional configuration of the information processing device 10 according to the second embodiment will be described. The information processing device 10 according to the second embodiment differs from the first embodiment only in the function of the modification unit 46; therefore, the function of the modification unit 46 according to the second embodiment will be described here. The tracking rate set for the control point has the same meaning as in the first embodiment. With reference to Figures 9 to 13, a specific example of the process of changing the position of the control point executed by the modification unit 46 will be described.

[0050] As shown in Figure 9, in this embodiment as well, the tracking ratios are pre-set for control points P2 to P6, excluding the starting control point P1 and the ending control point P7. In this embodiment, the tracking ratio of 1 is set for control points P5 and P6, which are to track the position of the ending point. In other words, in this embodiment, fine-tuning of the tracking ratio is unnecessary. For example, when the position of the ending point is moved, the developer sets the tracking ratio to 1 for control point P that tracks the position of the ending point and to 0 for control point P that does not track. Note that the tracking ratio is not limited to 1, and may be set to a value greater than 0 and less than or equal to 1, as in the first embodiment. Also, there may be control points with a tracking ratio set to 0 after control points with a tracking ratio set to 1.

[0051] First, as shown in Figure 9, the modification unit 46 sets a reference point at the position of a control point between the object's current position and the endpoint that is set to a value indicating that the tracking rate will not follow. Also, if there is no control point between the object's current position and the endpoint that is set to a value indicating that the tracking rate will not follow, the modification unit 46 sets a reference point at the object's current position. In the example in Figure 9, the modification unit 46 sets a reference point at the position of control point P3 or control point P4 among the control points P3 to P6 between the position of point CP and control point P7, where the tracking rate is set to 0. In this embodiment, the modification unit 46 sets the reference point at control point P4, which is the control point closest to control point P7 among control points P3 and P4.

[0052] Next, the modification unit 46 changes the position of the tracking control points, which are control points set to a value that indicates tracking between the reference point and the endpoint, according to the positional relationship between the reference point and the endpoint before and after the modification. In the example in Figure 9, the tracking control points P5 and P6, which are set to a tracking ratio of 1 between control point P4 and control point P7 set as the reference point, correspond to the tracking control points.

[0053] As shown in Figure 10, the modification unit 46 changes the position of the tracking control point according to the positional relationship described above, the distance between the reference point and each of the endpoints before and after the modification, and the angle of the angle formed by the two straight lines connecting the reference point and each of the endpoints before and after the modification. In the example in Figure 10, the modification unit 46 changes the positions of control points P5 and P6 according to the distance L between control point P4 and the control point P7 before the modification, the distance sL between control point P4 and the control point P7 after the modification, and the angle θ of the angle formed by the two straight lines connecting control point P4 and each of the control points P7 before and after the modification. Here, the distance between control point P4 and the control point P7 after the modification can be expressed as the distance obtained by multiplying the distance L between control point P4 and the control point P7 before the modification by a multiplier s, and is therefore denoted as distance sL.

[0054] Next, the modification unit 46 obtains a magnification factor by dividing the distance between the reference point and the modified endpoint by the distance between the reference point and the original endpoint. In the example in Figure 10, the modification unit 46 obtains a magnification factor s by dividing the distance sL by the distance L. Then, as shown in Figure 11, the modification unit 46 derives the position of the modified tracking control point as the position obtained by multiplying the magnification factor s by the distance between the reference point and the tracking control point, and rotating the reference point by an angle θ. In this case, the modification unit 46 derives the position of the modified tracking control point by further multiplying the distance between the reference point and the tracking control point and the angle θ by the tracking rate set for the tracking control point. Note that in this embodiment, since the tracking rate is set to 1, the process of multiplying by this tracking rate may be omitted. In the example in Figure 11, the modified part 46 is the position of distance sL5 obtained by multiplying the magnification s by the distance L5 between control point P4 and control point P5. The modified position of control point P5 is derived by rotating it by an angle θ in the direction of movement of control point P7 with respect to control point P4.

[0055] Furthermore, as shown in Figure 12, if the magnification is greater than 1, the modification unit 46 corrects the derived position of the modified tracking point using a vector obtained by orthogonally projecting the vector from the position of the tracking control point before modification to the vector from the position of the endpoint before modification to the position of the endpoint after modification. In the example in Figure 12, the modification unit 46 uses a vector v from the position of the control point P5 before modification to the position of the control point P5 after modification, and a vector v from the position of the control point P7 before modification to the position of the control point P7 after modification. e The vector v is orthogonally projected onto it. p The position of the modified control point P5 is corrected using the vector v. Specifically, the modification unit 46 modifies the position of the control point P5 using vector v. p The endpoint position is corrected. This correction adjusts the position of control point P5 to the position of control point P5 before the change, thus correcting the object's trajectory to a more natural trajectory from the player's perspective.

[0056] As shown in Figure 13, similarly for control point P6, the modification unit 46 derives the position of the modified control point P6 as the position obtained by multiplying the magnification s by the distance L6 between control point P4 and control point P6, which is the distance sL6, and rotating it by an angle θ in the direction of movement of control point P7 with respect to control point P4. Then, the modification unit 46 obtains a vector v from the position of control point P6 before modification to the position of control point P6 after modification, and a vector v from the position of control point P7 before modification to the position of control point P7 after modification. e The vector v is orthogonally projected onto it. p Use this to correct the position of the modified control point P6.

[0057] As shown in Figure 13, similar to the first embodiment, the second derivation unit 48 re-derives the object's trajectory by interpolation calculations connecting the control points P that have undergone the modification process by the modification unit 46.

[0058] Next, referring to Figures 14 to 16, we will explain, as another specific example, the process by which the modification unit 46 according to this embodiment changes the position of the control points with respect to the trajectory shown in Figure 8. As shown in Figure 14, a tracking ratio is set for control points P2 to P4, other than the starting control point P1 and the ending control point P5. In the example in Figure 14, the tracking ratio for control point P2 is set to 0, and the tracking ratios for control points P3 and P4 are set to 1. The angle θ is the angle formed by the two straight lines connecting point CP to each of the control points P5 before and after the change.

[0059] The modification unit 46 sets a reference point at the position of point CP because there is no control point between the position of point CP and control point P5 with a tracking ratio of 0. Next, the modification unit 46 obtains a magnification factor s by dividing the distance sL between point CP and the modified control point P5 by the distance L between point CP and the original control point P5. Then, as shown in Figure 15, the modification unit 46 derives the position of the modified control point P3 as the position obtained by multiplying the magnification factor s by the distance L3 between point CP and control point P3, and rotating the control point P5 by an angle θ in the direction of movement of control point P5 with respect to control point P3 as the reference point. In this example, since the magnification factor s is 1 or less, the process of correcting the position of the modified control point P3 using the orthogonal projection vector described above is not performed.

[0060] As shown in Figure 16, similarly for control point P4, the modification unit 46 is the position of distance sL4 obtained by multiplying the magnification s by the distance L4 between point CP and control point P4. The modified position of control point P4 is derived by rotating it by an angle θ in the direction of movement of control point P5 with respect to point CP.

[0061] As shown in Figure 16, similar to the first embodiment, the second derivation unit 48 re-derives the object's trajectory by interpolation calculations connecting the control points P that have undergone modification processing by the modification unit 46. In this way, the trajectory of the object is prevented from changing direction abruptly. Therefore, according to this embodiment, without adjusting the tracking rate, the trajectory can be modified in accordance with changes in the position of the endpoint while maintaining an appropriate trajectory for many types of trajectories and endpoint movement patterns.

[0062] Next, the operation of the information processing device 10 according to this embodiment will be explained with reference to Figure 17. The CPU 11 executes the information processing program 30, thereby executing the trajectory change process shown in Figure 17. Steps in Figure 17 that perform the same process as in Figure 7 are given the same step numbers as in Figure 7 and their explanations are omitted.

[0063] Steps S10 to S16 in Figure 17 are the same as in the first embodiment. If the determination in step S16 is affirmative, the process proceeds to step S30. In step S30, the modification unit 46 sets a reference point at the position of a control point between the object's current position and the endpoint that is set to a value indicating that the tracking rate is not tracking. If there is no control point between the object's current position and the endpoint that is set to a value indicating that the tracking rate is not tracking, the modification unit 46 sets a reference point at the object's current position.

[0064] In step S32, the modification unit 46 changes the position of the tracking control point, which is a control point set to a value that indicates that the tracking rate between the reference point and the endpoint is tracking, according to the positional relationship between the reference point and the endpoint before and after the modification, as described above. In step S34, the modification unit 46 determines whether the magnification s derived in the process of step S32 is greater than 1. If this determination is positive, the process proceeds to step S36.

[0065] In step S36, the modification unit 46 corrects the derived position of the modified tracking control point using a vector obtained by orthogonally projecting the vector from the position of the tracking control point before modification to the position of the modified tracking control point derived in step S32 onto the vector from the position of the endpoint before modification to the position of the endpoint after modification. When the processing in step S34 is completed, the process moves on to step S20.

[0066] On the other hand, if the determination in step S34 is negative, the process in step S36 is not executed, and the process proceeds to step S20. In step S20, similar to the first embodiment, the object's trajectory is re-derived by interpolation calculations connecting the control points P that have undergone the above processes.

[0067] Furthermore, the first and second embodiments may be combined. For example, the configuration may be such that either the first or second embodiment is selected depending on the trajectory determined by the trajectory of the weapon selected by the player, or the change in the endpoint due to the player character's movement mode (e.g., mounted, on foot, etc.).

[0068] Furthermore, the various processes that the CPU 11 reads and executes in each of the above embodiments may be executed by various processors other than the CPU. Examples of such processors include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays) whose circuit configuration can be changed after manufacturing, and dedicated electrical circuits that are processors with circuit configurations specifically designed to execute specific processes, such as ASICs (Application Specific Integrated Circuits). In addition, the various processes may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (for example, multiple FPGAs, and a combination of a CPU and an FPGA). More specifically, the hardware structure of these various processors is an electrical circuit that combines circuit elements such as semiconductor elements. [Explanation of symbols]

[0069] 10 Information Processing Devices 11 CPU 30 Information Processing Programs 40 First derivation part 42 Mobile section 44 Judgment section 46 Changes 48 Second derivation part

Claims

1. In the case of an object moving in a virtual space, if the position of the endpoint changes while the object is moving along the trajectory derived by interpolation calculations connecting three or more control points including the start and end points of the trajectory, the position of the control points other than the start and end points among the three or more control points is changed to follow the change in the endpoint's position, according to a tracking rate set for each control point, which represents the percentage to which the control points should follow the change in the endpoint's position. The object's trajectory is changed by interpolation calculations connecting the three or more control points that have undergone the aforementioned modification process. An information processing program that causes a computer to perform a task.

2. A reference point is set at the position of a control point between the current position of the object and the endpoint that is set to a value indicating that the tracking rate does not track, or at the current position of the object. Depending on the positional relationship between the reference point and the endpoint before and after the change, the position of the tracking control point, which is a control point set to a value representing that the tracking rate between the reference point and the endpoint is tracking, is changed. An information processing program according to claim 1 for causing a computer to perform processing.

3. The position of the tracking control point is changed according to the positional relationship, which is determined by the distance between the reference point and each of the endpoints before and after the change, and the angle formed by the two straight lines connecting the reference point and each of the endpoints before and after the change. An information processing program according to claim 2 for causing a computer to perform processing.

4. The distance between the reference point and the modified endpoint is multiplied by the distance between the reference point and the tracking control point to obtain a multiplier obtained by dividing the distance between the reference point and the modified endpoint by the distance between the reference point and the modified endpoint. The position obtained by rotating the reference point by the angle is derived as the position of the modified tracking control point. An information processing program according to claim 3 for causing a computer to perform processing.

5. If the magnification is greater than 1, the derived position of the modified tracking control point is corrected using a vector obtained by orthogonally projecting the vector from the position of the original tracking control point to the derived position of the modified tracking control point onto the vector from the position of the original endpoint to the position of the modified endpoint. An information processing program according to claim 4 for causing a computer to perform processing.

6. The position of the modified tracking control point is derived by multiplying the distance between the reference point and the tracking control point and the angle by the tracking rate. An information processing program according to claim 4 or claim 5 for causing a computer to perform processing.

7. The tracking rate is a coefficient multiplied by a vector corresponding to the vector from the position of the endpoint before the change to the position of the endpoint after the change, with the control point on which the tracking rate is set as the starting point. The information processing program according to claim 1.

8. In the case of an object moving in a virtual space, if the position of the endpoint changes while the object is moving along the trajectory derived by interpolation calculations connecting three or more control points including the start and end points of the trajectory, the position of the control points other than the start and end points among the three or more control points is changed to follow the change in the endpoint's position, according to a tracking rate set for each control point, which represents the percentage to which the control points should follow the change in the endpoint's position. The object's trajectory is changed by interpolation calculations connecting the three or more control points that have undergone the aforementioned modification process. An information processing method in which a computer performs the processing.

9. The processor comprises, In the case of an object moving in a virtual space, if the position of the endpoint changes while the object is moving along the trajectory derived by interpolation calculations connecting three or more control points including the start and end points of the trajectory, the position of the control points other than the start and end points among the three or more control points is changed to follow the change in the endpoint's position, according to a tracking rate set for each control point, which represents the percentage to which the control points should follow the change in the endpoint's position. The object's trajectory is changed by interpolation calculations connecting the three or more control points that have undergone the aforementioned modification process. Information processing device.

Citation Information

Patent Citations

  • Program, information storage medium, and game device

    JP2008136695A