Information processing program product, information processing method, and information processing apparatus
Patent Information
- Application Number
- CN202610713206.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-04
- Filing Date
- 2026-05-22
- Publication Date
- 2026-10-16
AI Technical Summary
但是,在日本特开2008-136695号公报中记载的技术中,没有考虑改变轨道的终点的位置
根据本公开,在对象的轨道的终点的位置已变更的情况下,能够在维持合适轨道的同时,结合终点的位置变更来修正轨道。
Smart Images

Figure CN122912474A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to information processing program products, information processing methods, and information processing devices. Background Technology
[0002] Japanese Patent Application Publication No. 2008-136695 discloses a technique for determining weapon trajectories by interpolation calculations connecting multiple control points set in a game space.
[0003] In virtual space, during the movement of an object along a pre-calculated track, the position of the object's target, i.e., the endpoint, may change. In such cases, it is preferable to maintain a suitable track, such as one that appears natural to the player, while simultaneously correcting the track based on the change in the endpoint's position. However, the technology described in Japanese Patent Application Publication No. 2008-136695 does not consider changing the position of the track's endpoint. Summary of the Invention
[0004] The purpose of this disclosure is to provide information processing programs, information processing methods, and information processing apparatus that, when the position of the endpoint of an object's trajectory has changed, can maintain a suitable trajectory while correcting the trajectory based on the change in the position of the endpoint.
[0005] The first type of information processing program product stores information processing programs used to enable computers to perform the following processes: If the position of the end point of the track changes during the object's movement on the track, in response to a following rate set for control points other than the start and end points of the track, representing the proportion of the position change following the end point, processing is performed to change the position of the control point to follow the position change of the end point. Here, the track is the track of the object moving in virtual space, derived through interpolation calculations connecting the three or more control points including the start and end points; and The trajectory of the object is changed by interpolation calculations connecting the three or more control points that have undergone the change.
[0006] The second information processing method, performed by a computer, includes the following processes: If the position of the end point of the track changes during the object's movement on the track, in response to a following rate set for control points other than the start and end points of the track, representing the proportion of the position change following the end point, processing is performed to change the position of the control point to follow the position change of the end point. Here, the track is the track of the object moving in virtual space, derived through interpolation calculations connecting the three or more control points including the start and end points; and The trajectory of the object is changed by interpolation calculations connecting the three or more control points that have undergone the change.
[0007] The third type of information processing device includes a processor, wherein the processor is configured as follows: If the position of the end point of the track changes during the object's movement on the track, in response to a following rate set for control points other than the start and end points of the track, representing the proportion of the position change following the end point, processing is performed to change the position of the control point to follow the position change of the end point. Here, the track is the track of the object moving in virtual space, derived through interpolation calculations connecting the three or more control points including the start and end points; and The trajectory of the object is changed by interpolation calculations connecting the three or more control points that have undergone the change.
[0008] Invention Effects According to this disclosure, when the position of the end point of the object's trajectory has changed, it is possible to maintain a suitable trajectory while correcting the trajectory based on the change in the position of the end point. Attached Figure Description
[0009] Figure 1 This is a block diagram illustrating an example of the hardware structure of an information processing device.
[0010] Figure 2 This is a diagram representing an example of an object's track.
[0011] Figure 3 This is a diagram used to illustrate interpolation calculations using control points.
[0012] Figure 4 This is a block diagram illustrating an example of the functional structure of an information processing device.
[0013] Figure 5 This is a diagram used to illustrate the track change processing involved in the first embodiment.
[0014] Figure 6 This is a diagram used to illustrate the track change processing involved in the first embodiment.
[0015] Figure 7 This is a flowchart illustrating an example of the track change processing involved in the first embodiment.
[0016] Figure 8 This is a diagram illustrating an example of the modified track involved in the first embodiment.
[0017] Figure 9This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0018] Figure 10 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0019] Figure 11 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0020] Figure 12 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0021] Figure 13 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0022] Figure 14 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0023] Figure 15 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0024] Figure 16 This is a diagram used to illustrate the track change processing involved in the second embodiment.
[0025] Figure 17 This is a flowchart illustrating an example of the track change processing involved in the second embodiment.
[0026] Explanation of reference numerals in the attached figures 10: Information processing device; 11: CPU; 30: Information processing program; 40: First Derivation Section; 42: Mobile Department; 44: Judgment Department; 46: Changes Department; 48: Second Derivation Section. Detailed Implementation
[0027] Hereinafter, embodiments for implementing the technology of this disclosure will be described in detail with reference to the accompanying drawings.
[0028] [First Implementation Method] First, refer to Figure 1 The hardware structure of the information processing device 10 according to this embodiment will be described. The information processing device 10 may be, for example, a home game console, a portable game console, a commercial game console, a smartphone, a tablet computer, or a personal computer. In this embodiment, as an example, a home game console will be described as an example of the information processing device 10. The information processing device 10 is an example of a computer.
[0029] like Figure 1 As shown, the information processing device 10 includes a CPU (Central Processing Unit) 11, a memory 12, a storage device 13, an external I / F (Interface) 14, a communication I / F 15, and an input I / F 16. The CPU 11, memory 12, storage device 13, external I / F 14, communication I / F 15, and input I / F 16 are interconnected via a bus 20.
[0030] CPU 11 is the central processing unit, which executes various programs or controls various parts. CPU 11 is an example of a processor. Memory 12 serves as a working area to temporarily store programs or data. Memory 13 is composed of storage devices such as HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory, storing various programs and various data.
[0031] The memory 13 stores an information processing program 30 for executing a specified game in the information processing device 10. The CPU 11 reads the information processing program 30 from the memory 13 and uses the memory 12 as a working area to execute the information processing program 30. Furthermore, the information processing program 30 is not limited to being stored in the memory 13; it can also be stored on recording media such as optical discs, USB (Universal Serial Bus) memory, or SD memory cards. In addition, the information processing program 30 can be downloaded to the information processing device 10 via the communication I / F 15. Furthermore, the information processing program 30 can be provided as a program product. A program product includes any form of product used to provide a program. For example, program products include programs provided via networks such as the Internet, and non-transitory computer-readable recording media such as optical discs containing programs.
[0032] The external I / F14 is an interface for connecting various external machines to the information processing device 10. In this embodiment, the speaker 21 and the display 22 are connected to the external I / F14.
[0033] Speaker 21 outputs various sounds. Speaker 21 can be integrated with information processing device 10 or display 22. Display 22 is, for example, a liquid crystal display or an organic EL (Electro Luminescence) display, showing various information. Display 22 can have a touch panel integrated into it. Alternatively, display 22 can also be integrated with information processing device 10.
[0034] Communication I / F 15 is an interface used to connect information processing device 10 to a network. Communication I / F 15 uses 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).
[0035] Input I / F16 is an interface for connecting input device 23 to information processing device 10. Input device 23 is a game controller, mouse, keyboard, etc., with operation buttons and directional keys, used for various inputs. The user uses input device 23 to perform game operations. Operation information indicating the content of the input operations performed by the user using input device 23 is stored in memory 12. Input device 23 can be integrated with information processing device 10. Alternatively, input device 23 can be detachable from information processing device 10. Furthermore, there can be one or more input devices 23. Alternatively, input device 23 can be a touch panel integrated with display 22.
[0036] The information processing apparatus 10 according to this embodiment provides a game in which objects move from a starting point to a destination in a virtual space within the game. For example, the game is conducted by players using strategies or techniques to achieve a specific goal. For example, the game is conducted for various purposes such as achieving competitive goals like winning, combat goals like defeating enemies, educational goals like learning, and story goals like completing plot developments. The game can be in a competitive or non-competitive form.
[0037] In this embodiment, the trajectory of an object moving within the virtual space is pre-calculated. For example, such as... Figure 2 As shown, the trajectory of an object can be exemplified by a circular arc trajectory from start to finish, such as that of a dart, or a curved trajectory such as a wavy line. Therefore, the pre-calculated trajectory of an object can be a regular trajectory with linear and point symmetry, rather than a randomly meandering trajectory. Furthermore, the trajectory of an object is not limited to... Figure 2 The curved track shown can also be a track in which a portion of the track is composed of straight lines. Additionally, the track can also be a track with multiple inflection points.
[0038] Examples of objects moving on such a track include objects thrown by a character, heavy objects attached to the end of a rope-like part like a kusarigama, and objects used in long-range attacks such as missiles. Furthermore, the track of an object is not limited to these types of objects; it can also be the track of a person or vehicle moving from a starting point to a destination.
[0039] In this embodiment, the object's track is derived through interpolation calculations connecting three or more control points, including the track's start and end points. (Refer to...) Figure 3 This illustrates an example of a trajectory derivation method. For example... Figure 3 As shown, this example uses a track connecting seven control points P. Below, numbers will be added after the symbols to distinguish each control point P.
[0040] exist Figure 3 In the example, control point P1 is the starting point, control point P7 is the ending point, and control points P2 to P6 are the points through which the object passes. In this embodiment, the object passes through control points P in ascending order of the last digit of the symbol corresponding to the control point's number. As an example of a method for calculating such a curved track using interpolation, there is Catmull-Rom Spline interpolation. Catmull-Rom Spline interpolation is a method that uses four control points to calculate a curved track connecting four control points through interpolation. When there are five or more control points, a curved track connecting five or more control points can be calculated by performing interpolation calculations using the adjacent four control points for each combination of four adjacent control points.
[0041] Calculated by interpolation using Catmull-Rom Spline with P -1 When the four points P0, P1, and P2 are used as control points and the curve passes through P0 and P1, the equation of the curve is represented by the following (1). Here, a, b, c, and d in equation (1) are represented by the following equation (2).
[0042] (Mathematical Formula 1) (Mathematical Formula 2) Then, prepare n+2 control points P. -1 P0, ..., P n-1 P n At four adjacent control points P i-1 P i P i+1 P i+2 The interpolation calculation using equation (1) is performed in (0≤i≤n-2), thereby obtaining the result with P0 as the starting point and P as the starting point. n-1 As the endpoint, from P1 to P n-2 This is a curved track passing through points. Additionally, there can be three adjacent control points. In this case, in equation (2) above, P can be... -1 We treat P0 and P0 as points with the same coordinates.
[0043] As an object moves along the track derived above, the position of its endpoint may sometimes change. For example, there may be situations where the target of an object moving along the track shifts. Figure 3 In the example, point CP represents the current position of an object moving on the track. Since the object's current position changes with time t, it is denoted as p(t). When the object is on... Figure 3 If the control point P7, which is the endpoint, moves while the object is moving on the track shown, the object cannot reach the changed endpoint if the track is not changed. The information processing device 10 of this embodiment has the function of changing the track to follow the change in the endpoint's position when the endpoint's position changes during the object's movement on the track. That is, the information processing device 10 recalculates the track when the endpoint's position changes while the object's current position, i.e., point CP, is on the pre-calculated track. Therefore, for example, if the target moves while the object is moving on the track, the object can automatically follow the target even if the player does not change the track.
[0044] Next, we will refer to Figure 4 Explain the functional structure of the information processing device 10. For example... Figure 4 As shown, the information processing device 10 includes a first output unit 40, a moving unit 42, a determination unit 44, a modification unit 46, and a second output unit 48. The CPU 11 functions as the first output unit 40, the moving unit 42, the determination unit 44, the modification unit 46, and the second output unit 48 by executing the information processing program 30.
[0045] The first export unit 40 exports the trajectory of an object moving within the virtual space, that is, it exports the object's trajectory by interpolation calculations connecting three or more control points, including the start and end points of the trajectory. Specifically, the first export unit 40 exports the object's trajectory by interpolation calculations connecting three or more control points according to the above equations (1) and (2). The trajectory of the object is pre-calculated before the object begins to move. For example, the developer pre-sets the positions of the control points based on the object.
[0046] The moving unit 42 moves the object along the trajectory derived by the first output unit 40 based on the speed and acceleration set for the object. For example, when an operation such as a player throwing an object is performed via the input device 23 to start the object's movement, the moving unit 42 moves the object. Furthermore, if the object's trajectory is changed by the second output unit 48, the moving unit 42 moves the object along the changed trajectory.
[0047] The determination unit 44 determines whether the position of the end point of the track has changed during the movement of the object on the track derived by the first output unit 40. For example, the determination unit 44 monitors whether the position of the end point has changed at a preset time interval, such as once per frame.
[0048] When the determination unit 44 determines that the position of the end point of the track has changed during the object's movement on the track, the modification unit 46, in response to a following rate set for control points other than the start and end points (which represents the proportion of position changes following the end point), performs a process to change the position of the control point to follow the change in the end point's position. The following rate in this embodiment is a coefficient obtained by multiplying the vector corresponding to the vector from the control point with the set following rate as the start point to the vector pointing from the position of the end point before the change to the position of the end point after the change. For example, the following rate is set to 0 when it does not follow the change in the end point's position, and set to a value greater than 0 and less than 1 when it does follow the change in the end point's position.
[0049] Reference Figure 5 and Figure 6 This provides a specific example of how to handle changes in control point locations. Additionally, in... Figure 5 and Figure 6 For ease of understanding, the diagram is presented as a two-dimensional planar view of the track from above, but the track can also be a three-dimensional track. Additionally, in Figure 5 In this context, the object's trajectory represents the case where the trajectory is an arc drawn from the starting point to the ending point. Figure 6 In this context, it indicates the case where the object's trajectory is a wavy line. Additionally, in... Figure 5 In the diagram, it represents the case where the pre-calculated track is the track connecting seven control points P. Figure 6 In the diagram, it represents the case where the pre-calculated track connects five control points P. Additionally, in... Figure 5 In the diagram, control point P1 is the starting point, and control point P7 is the ending point. Additionally, in... Figure 6 In the diagram, control point P1 is the starting point, and control point P5 is the ending point. Additionally, Figure 5 and Figure 6 Both indicate cases where the destination position changes due to the movement of the object's target. Additionally, Figure 5 and Figure 6 In both cases, targets with dashed borders represent the target before movement, while targets with solid borders represent the target after movement. Additionally, Figure 5 and Figure 6 Both examples illustrate situations where the position of point CP on a pre-calculated track, where the object's current position is moving, has changed its endpoint position. Additionally, in... Figure 5 In the diagram, control points P5-P7 with dashed borders represent the control points before the change, while control points P5-P7 with solid borders represent the control points after the change. Similarly, in... Figure 6 In the diagram, control points P3-P5 with dashed borders represent the control points before the change, while control points P3-P5 with solid borders represent the control points after the change. Additionally, in... Figure 5 In the diagram, the dashed track of control points P5-P7 (with dashed borders) represents the track before the change, while the solid track of control points P5-P7 (with solid borders) represents the track after the change. Similarly, in... Figure 6 In the diagram, the dashed track of control points P3 to P5 (with dashed borders) represents the track before the change, while the solid track of control points P3 to P5 (with solid borders) represents the track after the change.
[0050] like Figure 5 As shown, a following rate is preset for control points P2 to P6, excluding the starting control point P1 and the ending control point P7. For example, the developers consider which control point should follow the ending point's position if the ending point is moved, setting the following rate based on what appears to be a natural path to the player. For instance, in the case of an arc-shaped path, the following rate for control point P on the outgoing path is set to 0, indicating that it will not follow the position change of the ending point. Furthermore, in this case, the following rate for control point P on the return path is set to a value representing the proportion of the position change that follows the ending point. Additionally, the closer the following rate is to the ending point, the larger the value is set.
[0051] First, the modification unit 46 derives a 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, among control points P4 to P6 between point CP and control point P7, where the following rate is set to a value representing the following rate, as the following control points. Furthermore, the modification unit 46 derives a vector v originating from control points P4 and P5. e The vector obtained by multiplying the corresponding vector by the following rate (in) Figure 5 In the example above, it is recorded as 0.6v e 0.8V e (The arrow represents the vector). Then, the modification unit 46 changes the positions of control points P4 and P5 to the positions of the endpoints of the vectors derived from control points P4 and P5, respectively.
[0052] like Figure 6As shown, a following rate is preset for control points P2 to P4, excluding control point P1 (the starting point) and control point P5 (the ending point). For example, in the case of a wavy track, the following rate of control point P located at points such as the midpoint, inflection point, or center point of symmetry between the starting point and the track is set to 0. The following rate of control point P located between this point and the ending point is set to a value representing the proportion of positional change following the ending point. Furthermore, for example, the closer the following rate is to the ending point, the larger the value is set. Figure 6 The track shown, the processing performed by the modification unit 46 is merely following the control points to become control points P3 and P4; the processing itself is not related to the control points. Figure 5 The same processing is performed on the tracks shown, so explanations are omitted.
[0053] The second export unit 48 exports the object's trajectory again by interpolating the control point P connected to the change processed by the change unit 46. Thus, the second export unit 48 changes the object's trajectory. The interpolation calculation method is the same as that of the first export unit 40, therefore its explanation is omitted.
[0054] Next, refer to Figure 7 This describes the function of the information processing apparatus 10 involved in this embodiment. The CPU 11 executes the information processing program 30, performing... Figure 7 The track change process is shown.
[0055] exist Figure 7 In step S10, the first exporting unit 40 exports the track of the object moving in the virtual space, that is, by interpolation calculation connecting three or more control points including the starting point and the ending point of the track, the track of the object is exported.
[0056] In step S12, the moving unit 42 moves the object along the track derived by the first deriving unit 40 according to the speed and acceleration set for the object. If the object's track has been changed by performing step S20 (described later), the moving unit 42 moves the object along the track changed by the processing in step S20. For example, if the processing after step S12 is performed once per frame, the moving unit 42 moves the object by only one frame's worth of movement.
[0057] In step S14, the determination unit 44 determines whether the object has reached the endpoint. If the 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 track has changed. If the determination is negative, the process returns to step S12; if the determination is positive, the process proceeds to step S18.
[0058] In step S18, as described above, the modification unit 46, in response to the following rate set for control points other than the start and end points among three or more control points, performs a process that changes the position of the control point to follow the position change of the end point. In step S20, the second export unit 48 exports the object's trajectory again by interpolating the control point P that has undergone the modification process according to step S18. Thus, the second export unit 48 modifies the object's trajectory. If the process in step S20 ends, the process returns to step S12.
[0059] On the other hand, if the object reaches the destination, the determination in step S14 is positive, and the track change process ends. Processing after step S12 is performed at time intervals, for example, at a frame rate of once per frame. Therefore, if the destination position changes again after a track change, the track is changed again.
[0060] As described above, according to this embodiment, when the position of the end point of the object's track has changed, the track can be corrected by taking into account the change in the position of the end point while maintaining a suitable track.
[0061] [Second Implementation] A second embodiment of the disclosed technology will be described. The hardware structure of the information processing device 10 involved in this embodiment is the same as that of the first embodiment, therefore, the description is omitted.
[0062] The track of an object altered by the information processing device 10 according to the first embodiment may sometimes appear unnatural to the player. For example, ... Figure 8 As shown, the position at the endpoint is changed to be the same as... Figure 6 In the opposite case, the object's trajectory becomes a trajectory that abruptly changes direction from the position of point CP towards the position of the changed control point P3. Furthermore, in the first embodiment, fine-tuning of the tracking rate is sometimes necessary to maintain a natural trajectory. The information processing device 10 according to the second embodiment adjusts the position of the control point being tracked to prevent situations such as... Figure 8 The unnatural trajectory shown.
[0063] Next, we will refer to Figure 4 The functional structure of the information processing apparatus 10 according to the second embodiment will be explained. Since the function of the modification unit 46 of the information processing apparatus 10 according to the second embodiment differs from that of the first embodiment, the function of the modification unit 46 according to the second embodiment will be explained here. Furthermore, the following rate for setting the control points has the same meaning as in the first embodiment. (Refer to...) Figures 9-13 This section describes a specific example of the processing of the location of the change control point performed by the change unit 46.
[0064] like Figure 9 As shown, in this embodiment, a following rate is also preset for control points P2 to P6, excluding the starting control point P1 and the ending control point P7. In this embodiment, the following rate is set to 1 for control points P5 and P6 that follow the position of the ending point. That is, in this embodiment, fine-tuning of the following rate is not required. Regarding the following rate, for example, if the position of the ending point has moved, the developer sets the following rate to 1 for control points P that follow the position of the ending point and sets it to 0 for control points P that do not follow. In addition, the following rate is not limited to 1, and can also be set to a value greater than 0 and less than 1, similar to the first embodiment. In addition, there may be control points with a following rate set to 0 after the control points with a following rate set to 1.
[0065] First, such as Figure 9 As shown, the modification unit 46 sets a reference point at the position of a control point where the following rate is set to a value indicating non-following among the control points between the object's current position and the endpoint. Furthermore, if there are no control points between the object's current position and the endpoint where the following rate is set to a value indicating non-following, the modification unit 46 sets a reference point at the object's current position. Figure 9 In the example, the modification unit 46 sets a reference point at either control point P3 or control point P4, where the following rate is set to 0, among control points P3 to P6 between the position of point CP and control point P7. In this embodiment, the modification unit 46 sets the reference point at control point P4, which is closest to control point P7.
[0066] Next, in response to the positional relationship between the reference point and each endpoint before and after the change, the modification unit 46 changes the tracking rate between the reference point and the endpoint, setting it as the position of the control point representing the tracking value, i.e., the tracking control point. Figure 9 In the example, control points P5 and P6, whose following rate is set to 1 between control point P4 and control point P7 which are set as reference points, are equivalent to following control points.
[0067] like Figure 10 As shown, the alteration unit 46, based on the aforementioned positional relationship, changes the position of the following control point in response to the distance between the reference point and each endpoint before and after the alteration, and the angle formed by the two straight lines connecting the reference point and each endpoint before and after the alteration. Figure 10In the example, the modification unit 46 changes the positions of control points P5 and P6 in response to the distance L between control point P4 and the control point P7 before the change, the distance sL between control point P4 and the control point P7 after the change, and the angle θ formed by the two straight lines connecting control point P4 and each control point P7 before and after the change. Here, the distance between control point P4 and the control point P7 after the change can be expressed as the distance L between control point P4 and the control point P7 before the change multiplied by a factor s, and is therefore denoted as distance sL.
[0068] Next, the modification unit 46 obtains the magnification by dividing the distance between the reference point and the modified endpoint by the distance between the reference point and the original endpoint. Figure 10 In the example, the change unit 46 obtains the multiplier s by dividing the distance sL by the distance L. Furthermore, as... Figure 11 As shown, the modification unit 46 derives the modified position of the tracking control point by multiplying the multiplier s by the distance between the reference point and the tracking control point, and by taking the position as a rotation angle θ relative to the reference point. At this time, the modification unit 46 derives the modified position of the tracking control point by 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. Furthermore, in this embodiment, since the tracking rate is set to 1, the process of multiplying by the tracking rate can be omitted. Figure 11 In the example, the change unit 46 is derived from the position of the distance sL5 obtained by multiplying the multiplier s by the distance L5 between control point P4 and control point P5, and is also derived from the position of the control point P5 after rotating by an angle θ in the direction of movement of control point P7 with reference to control point P4.
[0069] In addition, such as Figure 12 As shown, when the multiplier is greater than 1, the modification unit 46 corrects the position of the derived modified follower control point by orthogonally projecting the vector from the position of the original follower control point to the position of the derived modified follower control point onto the vector obtained by projecting the vector from the position of the original endpoint to the position of the modified endpoint. Figure 12 In the example, the modification unit 46 orthogonally projects the vector v from the position of the control point P5 before the modification to the position of the control point P5 after the modification onto 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 The obtained vector vp is used to correct the position of the modified control point P5. Specifically, the modification unit 46 corrects the position of control point P5 to vector v. p The position of the endpoint. With this correction, since the position of control point P5 is adjusted to the side of the original control point P5 position, the object's trajectory can be corrected to a more natural trajectory from the player's perspective.
[0070] like Figure 13 As shown, the same applies to control point P6. The modification unit 46 calculates the position of the distance sL6 obtained by multiplying the multiplier s by the distance L6 between control point P4 and control point P6, and then derives the position of the modified control point P6 by rotating it by an angle θ in the direction of movement of control point P7 from control point P4 as a reference. Then, the modification unit 46 orthogonally projects the vector v from the position of control point P6 before modification to the position of control point P6 after modification onto the vector v from the position of control point P7 before modification to the position of control point P7 after modification. e The resulting vector v p Correct the position of the changed control point P6.
[0071] like Figure 13 As shown, similar to the first embodiment, the second exporting unit 48 exports the object's track again by interpolating the control point P that has undergone the modification process performed by the modification unit 46.
[0072] Next, refer to Figures 14-16 As another specific example, the modification 46 involved in this embodiment will be explained. Figure 8 The processing of the track change control point positions is shown. For example... Figure 14 As shown, a following rate is set for control points P2 to P4, excluding control point P1 (the starting point) and control point P5 (the ending point). Figure 14 In the example, the following rate is set to 0 for control point P2, and to 1 for control points P3 and P4. Angle θ is the angle formed by the two straight lines connecting point CP and each control point P5 before and after the change.
[0073] Since there are no control points with a following rate set to 0 between the position of point CP and control point P5, the modification unit 46 sets a reference point at the position of point CP. Next, the modification unit 46 divides 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, thereby obtaining the multiplier s. Then, as... Figure 15 As shown, the modification unit 46 derives the modified position of control point P3 by multiplying the magnification s by the distance L3 between point CP and control point P3, resulting in the position of distance sL3, which is the position rotated by an angle θ in the direction of movement of control point P5 with reference to control point P3. In this example, since the magnification s is 1 or less, the process of correcting the modified position of control point P3 using the orthogonal projection vector described above is not performed.
[0074] like Figure 16As shown, the same applies to control point P4. The modification unit 46 derives the position of the modified control point P4 by multiplying the multiplier s by the distance L4 between point CP and control point P4, and by rotating the position by an angle θ in the direction of movement of control point P5 with point CP as the reference.
[0075] like Figure 16 As shown, similarly to the first embodiment, the second derivation unit 48 derives the object's trajectory again by interpolating the control point P connected to the change processed by the change unit 46. Thus, in this embodiment, the object is prevented from becoming a trajectory with abruptly changing direction. Therefore, according to this embodiment, it is possible to maintain a suitable trajectory while incorporating changes in the position of the endpoint for various trajectory and endpoint movement patterns without adjusting the following rate.
[0076] Next, refer to Figure 17 This describes the function of the information processing apparatus 10 involved in this embodiment. The CPU 11 executes the information processing program 30, performing... Figure 17 The track change process is shown. For execution... Figure 17 In and Figure 7 The same processing steps, labeled and Figure 7 The same steps are numbered and their descriptions are omitted.
[0077] Figure 17 Steps S10 to S16 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 for the position of the control point whose following rate is set to a value indicating non-following among the control points between the current position and the endpoint of the object. Alternatively, if there are no control points between the current position and the endpoint of the object whose following rate is set to a value indicating non-following, the modification unit 46 sets a reference point at the current position of the object.
[0078] In step S32, as described above, the modification unit 46, in response to the positional relationship between the reference point and each endpoint before and after the modification, sets the following rate between the reference point and the endpoint as the position of the control point representing the following value. In step S34, the modification unit 46 determines whether the multiplier s derived in the process of step S32 is greater than 1. If the determination is positive, the process proceeds to step S36.
[0079] In step S36, the modification unit 46 uses a vector obtained by orthogonally projecting the vector from the position of the original following control point to the position of the modified following control point derived in step S32 onto the vector from the position of the original endpoint to the position of the modified endpoint, to correct the position of the derived modified following control point. If the processing of step S34 is completed, the processing proceeds to step S20.
[0080] On the other hand, if the determination in step S34 is negative, the processing in step S36 is not performed, and the processing proceeds to step S20. In step S20, similar to the first embodiment, the trajectory of the object is derived again by interpolation calculation connecting the control point P that has undergone the above processing.
[0081] Alternatively, the first and second embodiments can be combined. For example, either the first or second embodiment can be selected based on a change in the endpoint caused by a trajectory determined by the trajectory of a weapon selected by the player or by a change in the player character's movement method (e.g., riding a horse, walking, etc.).
[0082] Alternatively, various processors other than the CPU can execute the various processes performed by the CPU 11 reading the software (program) in the above embodiments. Examples of processors in this case include PLDs (Programmable Logic Devices) and ASICs (Application Specific Integrated Circuits) that have circuit structures specifically designed for performing specific processes, such as FPGAs (Field-Programmable Gate Arrays) that allow for changes in circuit structure after manufacturing, i.e., dedicated circuits. Furthermore, various processes can be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, and combinations of CPUs and FPGAs). More specifically, the hardware structure of these various processors is a circuit that combines circuit elements such as semiconductor elements.
Claims
1. An information processing program product, said information processing program product storing information processing programs for causing a computer to perform the following processes: If the position of the end point of the track changes during the movement of the object on the track, in response to a following rate set for control points other than the start and end points of the track, representing the proportion of the position change following the end point, processing is performed to change the position of the control point to follow the position change of the end point. The track is the trajectory of the object moving within virtual space, derived through interpolation calculations connecting three or more control points, including the start point and the end point; and The trajectory of the object is changed by interpolation calculations connecting the three or more control points that have undergone the change.
2. The information processing program product according to claim 1, wherein, The information processing program product stores programs for causing a computer to perform the following processes: The following rate in the control points between the current position of the object and the endpoint is set to the position of the control point representing the value of non-following, or the current position of the object is set as a reference point. and In response to the positional relationship between the reference point and each of the endpoints before and after the change, the position of the following control point is changed, wherein the following control point is a control point between the reference point and the endpoint where the following rate is set to a value representing the following.
3. The information processing program product according to claim 2, wherein, The information processing program product stores programs for causing a computer to perform the following processes: As described in the positional relationship, the position of the following control point is changed in response to 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.
4. The information processing program product according to claim 3, wherein, The information processing program product stores programs for causing a computer to perform the following processes: The position of the distance obtained by multiplying the distance between the reference point and the changed endpoint by the distance between the reference point and the original endpoint by the distance between the reference point and the following control point, and the position obtained by rotating the reference point by the angle, is derived as the position of the changed following control point.
5. The information processing program product according to claim 4, wherein, The information processing program product stores programs for causing a computer to perform the following processes: When the multiplier is greater than 1, the position of the derived modified follower control point is corrected by orthogonally projecting the vector from the position of the original follower control point to the position of the derived modified follower control point onto the vector from the position of the original endpoint to the position of the modified endpoint.
6. The information processing program product according to claim 4 or claim 5, wherein, The information processing program product stores programs for causing a computer to perform the following processes: The position of the changed 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.
7. The information processing program product according to claim 1, wherein, The following rate is a coefficient calculated by multiplying the vector corresponding to the vector pointing from the position of the endpoint before the change to the position of the endpoint after the change, starting from the control point where the following rate is set.
8. An information processing method, wherein a computer performs the following processing: If the position of the end point of the track changes during the movement of the object on the track, in response to a following rate set for control points other than the start and end points of the track, representing the proportion of the position change following the end point, processing is performed to change the position of the control point to follow the position change of the end point. The track is the trajectory of the object moving within virtual space, derived through interpolation calculations connecting three or more control points, including the start point and the end point; and The trajectory of the object is changed by interpolation calculations connecting the three or more control points that have undergone the change.
9. An information processing apparatus comprising a processor, wherein the processor is configured as follows: If the position of the end point of the track changes during the movement of the object on the track, in response to a following rate set for control points other than the start and end points of the track, representing the proportion of the position change following the end point, processing is performed to change the position of the control point to follow the position change of the end point. The track is the track of the object moving in virtual space, derived by interpolation calculation connecting three or more control points including the start point and the end point; and The trajectory of the object is changed by interpolation calculations connecting the three or more control points that have undergone the change.
Citation Information
Patent Citations
Program, information storage medium, and game device
JP2008136695A