Game program, game processing method, and information processing apparatus
The game program corrects virtual camera operations based on camera state to align player input with image movement, preventing confusion and improving gameplay intuitiveness.
Patent Information
- Application Number
- JP2024013066
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-31
- Publication Date
- 2025-08-13
AI Technical Summary
In conventional games, the direction in which a player operates a virtual camera may not correspond to the direction in which the displayed image moves, leading to player confusion.
The game program corrects the direction of a virtual camera operation based on the camera's state, such as tilt angle, to ensure alignment with the image movement.
Prevents player confusion by aligning the operation direction with the image movement, enhancing intuitive gameplay.
Smart Images

Figure 2025118018000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a game program, a game processing method, and an information processing device. [Background technology]
[0002] Conventionally, there are known games in which a player can operate a virtual camera for generating an image of a virtual space. For example, Patent Document 1 describes a game in which tilting of a stick by the player is detected as a tilt input corresponding to the tilt direction, and the virtual camera is moved based on the tilt input. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2018-19894 Summary of the Invention [Problem to be solved by the invention]
[0004] In the above-described conventional technology games, depending on the state of the virtual camera, the direction in which the player operates the virtual camera may not correspond to the direction in which the displayed image moves, which may confuse the player.
[0005] The present invention has been made in view of the above problems, and has as its object to provide a game program, a game processing method, and an information processing device that can prevent player confusion. [Means for solving the problem]
[0006] In order to achieve the above object, the game program of the present invention causes an information processing device to function as a camera control unit that, when a first operation input from a player to move a virtual camera for generating an image of a virtual space in a first direction is received, corrects the first direction to a second direction based on a state quantity representing the state of the virtual camera, and moves the virtual camera in the second direction.
[0007] In addition, in order to achieve the above-mentioned object, a game processing method of the present invention is a game processing method executed by an information processing device, and includes a step of, when a first operation input by a player for moving a virtual camera for generating an image of a virtual space in a first direction is received, correcting the first direction to a second direction based on a state quantity representing a state of the virtual camera, and moving the virtual camera in the second direction.
[0008] In addition, in order to achieve the above object, the information processing device of the present invention has a camera control unit that, when a first operation input by a player for moving a virtual camera for generating an image of a virtual space in a first direction is received, corrects the first direction to a second direction based on a state quantity representing a state of the virtual camera, and moves the virtual camera in the second direction. [Effects of the Invention]
[0009] According to the game program etc. of the present invention, confusion among players can be prevented. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a diagram illustrating an example of the overall configuration of a game system according to an embodiment. [Figure 2] FIG. 2 is a block diagram illustrating an example of a functional configuration of an information processing device. [Figure 3] FIG. 10 is a diagram showing an example of the operation of the virtual camera when a first operation input for moving the virtual camera along an orbit is performed by the player. [Figure 4]FIG. 10 is a diagram illustrating an example of a local coordinate system for defining the coordinates of a virtual camera during orbital movement. [Figure 5] 10A and 10B are diagrams illustrating an example of the operation of the virtual camera when a first operation input for translating the virtual camera is performed by the player. [Figure 6] FIG. 10 is a diagram showing an example of the operation of the virtual camera when a second operation input for tilting the virtual camera is performed by the player. [Figure 7] FIG. 10 is a diagram illustrating an example of a local coordinate system for defining the tilt angle of the virtual camera when tilting the virtual camera. [Figure 8] FIG. 10 is a diagram illustrating an example of a local coordinate system for defining the tilt angle of the virtual camera when tilting the virtual camera. [Figure 9] FIG. 10 is a diagram illustrating an example of a state in which the virtual camera is not tilted. [Figure 10] FIG. 10 is a diagram illustrating an example of a state in which the virtual camera is tilted counterclockwise around the optical axis by a tilt angle. [Figure 11] FIG. 10 is a diagram illustrating an example of movement of the virtual camera when a first operation input is performed to move the tilted virtual camera along an orbit in a first direction in a comparative example in which the operation direction is not corrected. [Figure 12] 10A and 10B are diagrams illustrating an example of movement of the virtual camera when a first operation input is performed to move the tilted virtual camera along an orbit in a first direction in an embodiment in which the operation direction is corrected. [Figure 13] FIG. 10 is a diagram illustrating an example of a game image in a state where the virtual camera is not tilted. [Figure 14] FIG. 10 is a diagram illustrating an example of a game image when the virtual camera is tilted counterclockwise around the optical axis by a tilt angle. [Figure 15] FIG. 10 is a diagram showing an example of a game image when a first operation input is performed to move a tilted virtual camera along an orbit in a first direction in a comparative example in which correction of the operation direction is not performed. [Figure 16]FIG. 10 is a diagram showing an example of a game image when a first operation input is performed to move a tilted virtual camera along an orbit in a first direction in an embodiment in which the operation direction is corrected. [Figure 17] FIG. 10 is a diagram illustrating an example of movement of the virtual camera when a first operation input is performed to translate the tilted virtual camera in a first direction in a comparative example in which the operation direction is not corrected. [Figure 18] 10A and 10B are diagrams illustrating an example of movement of the virtual camera when a first operation input is performed to translate the tilted virtual camera in a first direction in an embodiment in which the operation direction is corrected. [Figure 19] FIG. 10 is a diagram illustrating an example of a game image when a first operation input is performed to translate a tilted virtual camera in a first direction in a comparative example in which the operation direction is not corrected. [Figure 20] FIG. 10 is a diagram showing an example of a game image when a first operation input is performed to translate a tilted virtual camera in a first direction in an embodiment in which the operation direction is corrected. [Figure 21] 10 is a flowchart illustrating an example of a processing procedure executed by an information processing device. [Figure 22] FIG. 2 is a block diagram illustrating an example of a hardware configuration of an information processing device. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0012] <1. Overall structure of the game system> An example of the overall configuration of a game system 1 according to an embodiment will be described with reference to Fig. 1. As shown in Fig. 1, the game system 1 includes an information processing device 3, a game controller 5, and a display device 7. The game controller 5 and the display device 7 are connected to the information processing device 3 so as to be able to communicate with each other via wire or wirelessly.
[0013] The information processing device 3 is, for example, a stationary game console. However, it is not limited to this and may be, for example, a portable game console that is integrated with an input unit, a display unit, etc. In addition to game consoles, it may also be, for example, computer equipment such as a server computer, desktop computer, notebook computer, or tablet computer, or equipment with telephone functions such as a smartphone, mobile phone, or phablet.
[0014] A player performs various operation inputs using a game controller 5. In the example shown in Fig. 1, the game controller 5 has, for example, a cross key 9, a plurality of operation buttons 11, a joystick 13, a touchpad 15, and the like.
[0015] <2. Game Overview> Next, an example of the outline of the game according to this embodiment, that is, the game provided by the information processing device 3 executing the game program and game processing method of the present invention, will be described.
[0016] In the game according to this embodiment, the player can control the operation of a virtual camera for generating an image of a virtual space, which is a three-dimensional space, by inputting a predetermined operation using the game controller 5 or the like. The player can, for example, move the virtual camera in an orbit, translate it in parallel, or tilt it.
[0017] "Orbital movement" refers to rotating the virtual camera on a sphere whose center is the virtual camera's gaze point and whose radius is the distance between the gaze point and the virtual camera, along a direction on the sphere corresponding to an operational input, while pointing the optical axis of the virtual camera toward the gaze point. Orbital movement can also be called turning movement. The player can also increase or decrease the radius of the sphere by appropriate operational input.
[0018] "Translation" refers to moving the position of the virtual camera's gaze point and the position of the virtual camera by the same distance in a direction corresponding to an operation input without changing the orientation of the virtual camera. The direction of translation is a direction in which movement is possible in three-dimensional space, such as forward, backward, left, right, up, down, and diagonal directions relative to each of these directions. In translation, the optical axis connecting the virtual camera and gaze point is parallel before and after the movement.
[0019] "Tilting" refers to rotating the virtual camera around the optical axis from a reference angle by a tilt angle corresponding to an operation input. The reference angle is, for example, the angle at which the left-right direction of the game image displayed on the display device 7 by the virtual camera is approximately parallel to the horizontal direction in the virtual space.
[0020] The player may operate the virtual camera as described above at any time while playing the game, or may operate the virtual camera in a specific mode of the game, such as a photo mode that allows the player to take a photo of an image displayed on the display device 7.
[0021] In the game according to this embodiment, when an operation input for orbital movement or translation is made while the virtual camera is tilted, the direction of operation by the player is corrected before the orbital movement or translation is executed. This will be explained in detail below.
[0022] <3. Functional configuration of information processing device> Next, an example of the functional configuration of the information processing device 3 will be described with reference to FIG. 2 and FIGS.
[0023] As shown in FIG. 2, the information processing device 3 has a camera control unit 17. When the camera control unit 17 receives a first operation input from a player for moving a virtual camera for generating an image of a virtual space in a first direction, the camera control unit 17 moves the virtual camera in the first direction. The "first operation input" is an operation input for moving the virtual camera in an orbit or in a parallel direction, such as tilting the joystick 13 of the game controller 5. The "first direction" is an operation direction corresponding to the first operation input, and when the first operation input is performed by tilting the joystick 13, for example, the "first direction" is a direction corresponding to the tilt direction of the joystick 13.
[0024] The first operation input may be an operation other than the joystick 13, as long as it is an operation that can specify a direction and a movement amount. For example, the first operation input may be performed by the cross key 9, the operation button 11, the touchpad 15, or the like. Furthermore, if the information processing device 3 is, for example, a computer, the first operation input may be performed by, for example, a drag operation using a mouse.
[0025] 3 shows an example of the behavior of the virtual camera when a first operation input is performed by a player to move the virtual camera along an orbit. As shown in FIG. 3, for example, when virtual camera 19 is located at position P0 on spherical surface 23 with fixation point 21 as its center and the distance between fixation point 21 and virtual camera 19 as its radius R, if a first operation input is performed to move virtual camera 19 along an orbit to the right, virtual camera 19 rotates and moves in a direction along spherical surface 23 indicated by arrow D1 that is rightward from position P0 by an angle corresponding to the first operation input, while pointing optical axis 25 toward fixation point 21. Also, for example, when virtual camera 19 is located at position P0, if a first operation input is performed to move virtual camera 19 along spherical surface 23 indicated by arrow D2 that is leftward from position P0, virtual camera 19 rotates and moves in a direction along spherical surface 23 indicated by arrow D2 that is leftward from position P0 by an angle corresponding to the first operation input, while pointing optical axis 25 toward fixation point 21. Furthermore, for example, when virtual camera 19 is located at position P0, if a first operation input is performed to move virtual camera 19 in an upward orbit, virtual camera 19 rotates and moves by an angle corresponding to the first operation input in a direction along spherical surface 23 indicated by arrow D3, which is upward relative to position P0, while directing optical axis 25 toward fixation point 21. Although not shown in the drawings, a similar operation is performed when a first operation input is performed to move virtual camera 19 in an orbit in a direction other than the above (downward, or in a diagonal direction relative to each of the up, down, left, and right directions, etc.).
[0026] Note that upward or downward orbital movement may be restricted so as not to exceed the zenith or nadir (the part directly above the gaze point 21) or the nadir (the part directly below the gaze point 21) of the spherical surface 23, or to not approach the vicinity of the zenith or nadir, because the movement direction of the virtual camera 19 reverses with respect to the operation direction when the zenith or nadir is exceeded. Orbital movement in a predetermined direction may also be restricted based on an object placed in the virtual space. For example, if an orbital plane 26 that includes the gaze point 21 and is parallel to the horizontal direction of the virtual space, which corresponds to a horizontal cross section passing through the center of the spherical surface 23, corresponds to an object on the ground (field) in the virtual space, orbital movement to the lower half of the spherical surface 23 may be restricted.
[0027] 4 shows an example of a local coordinate system for defining the coordinates of virtual camera 19 on spherical surface 23. In the example shown in FIG. 4, local coordinate system 27 (an example of a first coordinate system) is a three-dimensional polar coordinate system in which gaze point 21 is defined as origin O, a predetermined left-right direction on a horizontal plane of the virtual space is defined as X-axis, a predetermined depth direction is defined as Z-axis, and an up-down direction is defined as Y-axis, and the X-axis, Y-axis, and Z-axis are orthogonal to each other at origin O. The coordinates of virtual camera 19 are defined by angle φ relative to the Z-axis on the XZ plane, angle θ relative to the Y-axis on the XY plane, and radius R of spherical surface 23. Based on local coordinate system 27, camera control unit 17 moves virtual camera 19 along an orbit in a direction corresponding to an operation input. For example, a rightward orbital movement is defined as a direction in which the angle θ is constant and the angle φ is increasing, a leftward orbital movement is defined as a direction in which the angle θ is constant and the angle φ is decreasing, an upward orbital movement is defined as a direction in which the angle φ is constant and the angle θ is decreasing, and a downward orbital movement is defined as a direction in which the angle φ is constant and the angle θ is increasing. Note that the local coordinate system 27 may be a coordinate system other than a polar coordinate system.
[0028] 5 shows an example of the behavior of virtual camera 19 when a first operation input is performed by the player to translate virtual camera 19. As shown in FIG. 5, when a first operation input is performed to translate virtual camera 19 to the right, for example, fixation point 21 and virtual camera 19 each move a distance corresponding to the first operation input in the direction indicated by arrow D4, which is to the right of optical axis 25, without changing the orientation of virtual camera 19. At this time, optical axis 25 remains parallel before and after the movement. Note that in FIG. 5, spherical surface 23 related to the trajectory movement of virtual camera 19 before the translation is indicated by a solid line, and spherical surface 23 related to the trajectory movement of virtual camera 19 after the translation is indicated by a dashed dotted line.
[0029] Although not shown in the drawings, virtual camera 19 behaves in the same way when a first operation input is made to translate virtual camera 19 in a direction other than those described above (leftward, upward, downward, forward, backward, a diagonal direction relative to each of the front-back, left-right, up-down directions, etc.). Furthermore, no matter where virtual camera 19 is located on spherical surface 23 due to orbital movement, it can be translated in each direction.
[0030] 5 shows an example of a world coordinate system for defining the coordinates of the gaze point 21 of the virtual camera 19. In the example shown in FIG. 5, the world coordinate system 29 (an example of a second coordinate system) is a three-dimensional Cartesian coordinate system in which a predetermined position in the virtual space is defined as an origin O, a predetermined left-right direction in a horizontal plane of the virtual space is defined as the X axis, a predetermined depth direction is defined as the Z axis, and a vertical direction is defined as the Y axis, and the X axis, Y axis, and Z axis intersect at right angles at the origin O. The coordinates of the virtual camera 19 and the coordinates of the gaze point 21 in the virtual space are defined by three coordinates: the X axis, the Y axis, and the Z axis. The camera control unit 17 translates the gaze point 21 and the virtual camera 19 in a direction corresponding to the operation input based on the world coordinate system 29. For example, the right and left directions in translation are defined as the directions perpendicular to optical axis 25 and the Y axis as the left-right direction, and the direction toward gaze point 21 is defined as the front, the up and down directions in translation are defined as the positive Y-axis direction and the negative Y-axis direction, and the forward and backward directions in translation are defined as the direction parallel to the XZ plane and toward gaze point 21 as the forward direction, and the direction parallel to the XZ plane and opposite to gaze point 21 as the backward direction. Note that world coordinate system 29 may be a coordinate system other than a Cartesian coordinate system.
[0031] Furthermore, when camera control unit 17 receives a second operation input from the player for adjusting the tilt of virtual camera 19 around optical axis 25, camera control unit 17 tilts virtual camera 19 from a reference angle in the rotation direction around optical axis 25 by an angle corresponding to the second operation input. The "second operation input" is an operation input for tilting the virtual camera, such as tilting joystick 13.
[0032] The second operation input may be an operation other than the joystick 13, as long as it is an operation that can specify the direction and the amount of rotation. For example, the second operation input may be performed by the cross key 9, the operation button 11, the touchpad 15, etc. Furthermore, if the information processing device 3 is, for example, a computer, the second operation input may be performed by, for example, a drag operation using a mouse.
[0033] 6 shows an example of the behavior of virtual camera 19 when a second operation input is performed by the player to tilt virtual camera 19. As shown in Fig. 6, for example, when a second operation input is performed to tilt virtual camera 19 counterclockwise, virtual camera 19 rotates counterclockwise around optical axis 25 indicated by arrow D5 by an angle corresponding to the second operation input. Also, when a second operation input is performed to tilt virtual camera 19 clockwise, virtual camera 19 rotates clockwise around optical axis 25 indicated by arrow D6 by an angle corresponding to the second operation input.
[0034] 7 and 8 show an example of a local coordinate system (also referred to as a camera coordinate system) for defining the tilt angle of virtual camera 19. In the example shown in Fig. 7 and 8, local coordinate system 31 is a three-dimensional Cartesian coordinate system in which the position of virtual camera 19 (the position serving as the reference for optical axis 25) is set as the origin O, the direction from virtual camera 19 along optical axis 25 toward fixation point 21 is set as the Z axis, the direction perpendicular to the Z axis and corresponding to the horizontal direction of virtual camera 19 is set as the X axis, and the direction perpendicular to the Z axis and X axis and corresponding to the vertical direction of virtual camera 19 is set as the Y axis, and the X axis, Y axis, and Z axis are orthogonal to each other at origin O. Note that local coordinate system 31 may be a coordinate system other than a Cartesian coordinate system.
[0035] The local coordinate system 31 rotates around the Z axis as the virtual camera 19 tilts. In FIGS. 7 and 8, the angle of the virtual camera 19 when, for example, the X axis is parallel to the horizontal direction of the virtual space (shown by a dashed line in FIGS. 7 and 8) is defined as a reference angle, and the counterclockwise direction with respect to the reference angle is defined as a positive direction, and the clockwise direction is defined as a negative direction. As shown in FIG. 7, when the virtual camera 19 is tilted by a tilt angle θi in the counterclockwise direction indicated by arrow D5, the X and Y axes of the local coordinate system 31 are rotated by a tilt angle θi (+θi) in the positive direction around the Z axis with respect to the reference angle (shown by a solid line in FIG. 7). As shown in FIG. 8, when the virtual camera 19 is tilted by a tilt angle θi in the clockwise direction indicated by arrow D6, the X and Y axes of the local coordinate system 31 are rotated by a tilt angle θi (-θi) in the negative direction around the Z axis with respect to the reference angle (shown by a solid line in FIG. 8). The tilt angle θi (including the magnitude of the angle and its positive and negative directions) is stored in an appropriate recording medium by the camera control unit 17. The recording medium may be, for example, the ROM 303, RAM 305, or recording device 317 provided in the information processing device 3 (see FIG. 22 described later), or may be an external device.
[0036] Next, correction of the operation direction performed by the camera control unit 17 will be described. When the camera control unit 17 receives a first operation input from the player for moving the virtual camera 19 in a first direction, the camera control unit 17 corrects the first direction to a second direction based on a state quantity representing the state of the virtual camera 19, and moves the virtual camera 19 in the second direction. The "second direction" is the direction to which the first direction is corrected by the camera control unit 17. The "state quantity" is a parameter representing the positioning state of the virtual camera 19 in the virtual space, and in this embodiment, is a tilt angle θi representing the tilt of the tilted virtual camera 19 from a reference angle around the optical axis 25. The camera control unit 17 acquires the tilt angle θi based on a second operation input from the player for adjusting the tilt of the virtual camera 19 around the optical axis 25, and corrects the first direction to the second direction based on the acquired tilt angle θi. When virtual camera 19 is not tilted (tilt angle θi=0°), camera control unit 17 does not correct the direction and moves virtual camera 19 in the first direction. Note that the first direction may be corrected to the second direction using a state quantity other than tilt angle θi.
[0037] 9 to 12 show an example of correction of the operation direction when the player performs a first operation input to move virtual camera 19 along an orbit. FIG. 9 shows a state in which virtual camera 19 is not tilted, that is, a state in which tilt angle θi of virtual camera 19 is the reference angle (θi=0°). As shown in FIG. 9, in this state, the left-right direction of image range 33 displayed on display device 7 by virtual camera 19 is approximately parallel to the horizontal direction in the virtual space. Note that point of gaze 21 is located approximately in the center of image range 33.
[0038] 10 shows a state in which virtual camera 19 is tilted counterclockwise by tilt angle θi(+θi) around optical axis 25. As a result, image range 33 also rotates counterclockwise by tilt angle θi(+θi).
[0039] 11 and 12 show the movement of virtual camera 19 when a first operation input is performed to orbitally move virtual camera 19 in a first direction (in this example, to the right as seen by the player; that is, to the right with respect to image range 33) in the state shown in FIG. 10 . FIG. 11 shows a comparative example in which the operation direction is not corrected, and FIG. 12 shows a case in which the operation direction is corrected (embodiment). As described above, virtual camera 19 is orbitally moved in a direction corresponding to the operation input based on local coordinate system 27. Unlike local coordinate system 31, local coordinate system 27 does not rotate due to tilting of virtual camera 19. Therefore, when the operation direction is not corrected as in the comparative example shown in FIG. 11 , virtual camera 19 rotates on horizontal orbital plane 26 on spherical surface 23 in the right direction indicated by arrow D1 by a rotation angle θr corresponding to the first operation input.
[0040] 12, the camera control unit 17 corrects the first direction to a second direction along an orbital plane 35 (an example of a second orbital plane) obtained by rotating an orbital plane 26 (an example of a first orbital plane) including the first direction on the spherical surface 23 by a tilt angle θi around an optical axis 25 connecting the fixation point 21 and the virtual camera 19. In other words, the first direction is corrected to the second direction by adding a tilt angle θi (+θi in this example) to the angle corresponding to the first direction (the rightward direction in this example) in the rotation direction around the optical axis 25. As a result, the virtual camera 19 rotates on the orbital plane 35 by a rotation angle θr corresponding to the first operation input in the direction indicated by the arrow D7.
[0041] It should be noted that correction is also performed in the same way when a first operation input is made to move the track in a direction other than the above (leftward, upward, downward, diagonal to each of the up, down, left, and right directions, etc.).
[0042] 13 to 16 show examples of game images displayed on the display device 7 when the player performs a first operation input to move the virtual camera 19 along an orbit. Note that in FIGS. 13 to 16, the tilt angle θi and rotation angle θr are each set to approximately 90°. Also, while directions in the virtual space are indicated by arrows in each figure, these directions may or may not be displayed in the game images.
[0043] FIG. 13 corresponds to the aforementioned FIG. 9 and shows a game image in a state in which the virtual camera 19 is not tilted (tilt angle θi=0°). In the example shown in FIG. 13, a character 37 holding a spear and a character 39 holding a sword are standing side by side on the ground GF, facing forward. The characters 37 and 39 may be player characters operated by the player, or may be non-player characters automatically controlled by a predetermined algorithm defined by the game program or game AI. Note that, although the game images shown in the examples of FIGS. 13 to 16 do not display the gaze point 21, it may be displayed in an appropriate manner (for example, a cross-shaped symbol, etc.).
[0044] Figure 14 corresponds to the aforementioned Figure 10, and as a result of the virtual camera 19 being tilted counterclockwise around the optical axis 25 by an angle θi (in this example, θi = +90°), the game image is rotated by approximately 90° in the clockwise direction as indicated by arrow D8.
[0045] FIG. 15 corresponds to the comparative example shown in FIG. 11 and shows a game image obtained when a first operation input is performed to orbitally move virtual camera 19 in a first direction (in this example, rightward as seen from the player; i.e., rightward relative to the game image) by a rotation angle θr (90° in this example) from the state of the game image shown in FIG. 14. Virtual camera 19 is rotated rightward by approximately 90° on orbital plane 26 of spherical surface 23, and as shown in FIG. 15, the game image rotates approximately 90° in the upward rotation direction indicated by arrow D9 (clockwise as seen from above in the virtual space). In this case, when the player operates virtual camera 19 rightward in the game image shown in FIG. 14, the game image rotates upward in a direction that does not correspond to the operation direction. This may confuse the player because the direction of the operation by the player does not correspond to the direction in which the game image moves. This is particularly likely to be confusing when point of gaze 21 is not displayed in the game image.
[0046] FIG. 16 corresponds to the aforementioned FIG. 12 illustrating an embodiment, and shows a game image when a first operation input is made to orbitally move virtual camera 19 in a first direction (in this example, to the right as seen from the player; that is, to the right relative to the game image) by a rotation angle θr (90° in this example) from the state of the game image shown in FIG. 14. By adding 90° to the first direction and correcting it to the second direction, as shown in FIG. 16, the game image is rotated approximately 90° in the leftward rotation direction indicated by arrow D10 (clockwise as seen from the left side of the virtual space). In this case, when the player operates virtual camera 19 to the right in the game image shown in FIG. 14, the game image rotates leftward corresponding to the operation direction, and therefore the direction of the player's operation and the direction in which the game image moves can be made to correspond to each other.
[0047] Note that although the above description has been given of a case where the operation direction of virtual camera 19 by the player and the movement direction of the game image are opposite directions (directions that differ by 180° in the rotation direction around optical axis 25), the operation direction of virtual camera 19 and the movement direction of the game image may also be made to coincide. In this case, in the rotation direction around optical axis 25 shown in FIG. 12 above, for example, virtual camera 19 may be rotated and moved on track plane 35 in the direction opposite to arrow D7 by a rotation angle θr corresponding to the first operation input, for example, by adding an additional 180° to the angle corresponding to the first direction (rightward in this example). Note that the correspondence between the operation direction of virtual camera 19 and the movement direction of the game image may be switchable, for example, by an operation setting by the player.
[0048] 17 and 18 show an example of correction of the operation direction when a first operation input is performed by the player to translate the virtual camera. FIGS. 17 and 18 show the movement of virtual camera 19 when a first operation input is performed to translate virtual camera 19 in a first direction (in this example, to the right as seen by the player; that is, to the right with respect to image range 33) in the state shown in FIG. 10 , with FIG. 17 showing a case where the operation direction is not corrected (comparative example) and FIG. 18 showing a case where the operation direction is corrected (embodiment). In FIGS. 17 and 18, a spherical surface 23 relating to the trajectory movement of virtual camera 19 before the translation is indicated by a solid line, and a spherical surface 23 relating to the trajectory movement of virtual camera 19 after the translation is indicated by a dashed dotted line.
[0049] As described above, the point of gaze 21 of virtual camera 19 is moved in a direction corresponding to the operation input based on world coordinate system 29. Unlike local coordinate system 31, world coordinate system 29 does not rotate or the like due to tilting of virtual camera 19. For this reason, when the operation direction is not corrected as in the comparative example shown in FIG. 17 , each of point of gaze 21 and virtual camera 19 moves by distance L corresponding to the first operation input in the right direction indicated by arrow D4 without changing the orientation of virtual camera 19.
[0050] 18, the first direction is corrected to the second direction by camera control unit 17 rotating the first direction by tilt angle θi around optical axis 25 with respect to fixation point 21. In other words, the first direction is corrected to the second direction by adding tilt angle θi (+θi in this example) to the angle corresponding to the first direction (rightward in this example) in the rotation direction around optical axis 25. As a result, fixation point 21 and virtual camera 19 each move by distance L corresponding to the first operation input in the direction indicated by arrow D11 without changing the orientation of virtual camera 19.
[0051] Note that correction is also performed in the same way when a first operation input is performed to translate virtual camera 19 in a direction other than the above (leftward, upward, downward, or a direction diagonal to each of the up, down, left, and right directions). However, when translating virtual camera 19 in the forward and backward directions, the influence of the tilt of virtual camera 19 is small, so correction of the operation direction is not performed.
[0052] 19 and 20 show an example of a game image displayed on display device 7 when a first operation input is performed by the player to translate virtual camera 19. Note that Figs. 19 and 20 correspond to the above-mentioned Fig. 14, and virtual camera 19 is assumed to be tilted counterclockwise around optical axis 25 by tilt angle θi (in this example, θi=+90°).
[0053] FIG. 19 corresponds to the comparative example shown in FIG. 17 and shows a game image obtained when a first operation input is performed to translate virtual camera 19 by a distance L in a first direction (in this example, to the right as seen from the player's perspective; that is, to the right relative to the game image) from the state of the game image shown in FIG. 14. As a result of both fixation point 21 and virtual camera 19 moving rightward by the distance L corresponding to the first operation input, the game image moves upward by the distance L, as shown in FIG. 19, as indicated by arrow D12. In this case, when the player operates virtual camera 19 to the right in the game image shown in FIG. 14, the game image moves upward, which does not correspond to the operation direction. This may confuse the player because the direction of the player's operation does not correspond to the direction in which the game image moves. This is particularly true when fixation point 21 is not displayed in the game image.
[0054] FIG. 20 corresponds to the aforementioned FIG. 18 of an embodiment, and shows a game image when a first operation input is made to translate virtual camera 19 by a distance L in a first direction (in this example, to the right as seen by the player; that is, to the right with respect to the game image) from the state of the game image shown in FIG. 14. By adding 90° to the first direction and correcting it to the second direction, as shown in FIG. 20, the game image moves by a distance L in the left direction indicated by arrow D13. In this case, when the player operates virtual camera 19 to the right in the game image shown in FIG. 14, the game image moves to the left corresponding to the operation direction, and therefore the direction of operation by the player can be made to correspond to the direction in which the game image moves.
[0055] Note that, although the above description has been made regarding the case where the operation direction of virtual camera 19 by the player and the movement direction of the game image are opposite directions (directions that differ by 180° in the rotation direction around optical axis 25), the operation direction of virtual camera 19 and the movement direction of the game image may also be made to coincide. In this case, in the rotation direction around optical axis 25 shown in the above-described FIG. 18, for example, the angle corresponding to the first direction (rightward in this example) may be further increased by 180° to the tilt angle θi, thereby moving virtual camera 19 in the rightward direction opposite to arrow D13 by a distance L corresponding to the first operation input. Note that the correspondence relationship between the operation direction of virtual camera 19 and the movement direction of the game image may be switchable, for example, by an operation setting by the player.
[0056] The processing in each processing unit described above is not limited to these examples of division of processing, and may be performed by, for example, further subdivided processing units. Furthermore, the functions of each processing unit described above are implemented by a game program executed by a CPU 301 (see FIG. 22 described below), but some of them may be implemented by actual devices such as dedicated integrated circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), or other electric circuits.
[0057] <4. Processing procedure executed by the information processing device> Next, an example of a processing procedure executed by the information processing device 3 will be described with reference to Fig. 21. The processing procedure shown in Fig. 21 is an example of a game processing method executed by the information processing device 3.
[0058] In step S5, the information processing device 3 determines whether or not an operation input (second operation input) for tilting the virtual camera 19 has been made by the camera control unit 17. If there has been no operation input (step S5: NO), the information processing device 3 proceeds to the process in step S20, which will be described later. On the other hand, if there has been an operation input (step S5: YES), the information processing device 3 proceeds to the next step S10.
[0059] In step S10, the information processing device 3 causes the camera control unit 17 to tilt the virtual camera 19 in the clockwise or counterclockwise direction in the rotation direction around the optical axis 25 by the tilt angle θi corresponding to the operation input.
[0060] In step S15, the information processing device 3 stores the tilt angle θi in an appropriate recording medium by the camera control unit 17. If the virtual camera 19 is not tilted (step S5: NO), the tilt angle θi is stored as 0° in the recording medium.
[0061] In step S20, the information processing device 3 determines whether or not an operation input (first operation input) for moving the virtual camera 19 on a trajectory has been made by the camera control unit 17. If there has been no operation input (step S20: NO), the information processing device 3 proceeds to step S35, which will be described later. On the other hand, if there has been an operation input (step S20: YES), the information processing device 3 proceeds to the next step S25.
[0062] In step S25, the information processing device 3 causes the camera control unit 17 to acquire the stored tilt angle θi.
[0063] In step S30, the information processing device 3 corrects the operation direction (first direction) corresponding to the operation input received in step S20 above, based on the tilt angle θi acquired in step S25 above, by the camera control unit 17, and moves the virtual camera 19 along a trajectory in the corrected direction (second direction). Note that if the virtual camera 19 is not tilted, the tilt angle θi acquired in step S25 above is 0°, and therefore the first direction is not corrected, and the virtual camera 19 is moved along a trajectory in the first direction.
[0064] In step S35, the information processing device 3 determines whether or not an operation input (first operation input) for translating the virtual camera 19 has been made by the camera control unit 17. If there has been no operation input (step S35: NO), the information processing device 3 proceeds to the process at step S50, which will be described later. On the other hand, if there has been an operation input (step S35: YES), the information processing device 3 proceeds to the next step S40.
[0065] In step S40, the information processing device 3 causes the camera control unit 17 to acquire the stored tilt angle θi.
[0066] In step S45, the information processing device 3 corrects the operation direction (first direction) corresponding to the operation input received in step S35 above, based on the tilt angle θi acquired in step S40 above, using the camera control unit 17, and translates the gaze point 21 and the virtual camera 19 in the corrected direction (second direction). Note that if the virtual camera 19 is not tilted, the tilt angle θi acquired in step S40 above is 0°, and therefore the first direction is not corrected, and the virtual camera 19 is translated in the first direction.
[0067] In step S50, the information processing device 3 determines whether or not an operation input has been made to end the game or a specific mode being executed. If there is no operation input to end (step S50: NO), the information processing device 3 returns the process to the above-mentioned step S5. On the other hand, if there is an operation input to end (step S50: YES), the information processing device 3 ends this flowchart.
[0068] The above-described processing procedure is an example, and at least some of the procedures may be deleted or changed, or other procedures may be added. Furthermore, the order of at least some of the procedures may be changed, or multiple procedures may be combined into a single procedure.
[0069] <5. Effects of the embodiment> As described above, in this embodiment, when a first operation input for moving virtual camera 19 in a first direction is received from the player, camera control unit 17 corrects the first direction to a second direction based on a state quantity representing the state of virtual camera 19, and moves virtual camera 19 in the second direction. This makes it possible to make the operation direction by the player coincide with or correspond to the movement direction of the game image regardless of the state of virtual camera 19, thereby preventing player confusion. Furthermore, intuitive operation can be achieved.
[0070] Furthermore, the present embodiment can particularly achieve the following effect: When virtual camera 19 is tilted around optical axis 25, the image of the virtual space displayed is also tilted according to the tilt angle of virtual camera 19. In this case, the player performs a first operation input intending a specific direction in the tilted game image, but because the first direction corresponding to the first operation input is unrelated to the tilt of virtual camera 19, the direction intended by the player and the movement direction of the game image may not match or correspond, which may confuse the player.
[0071] In this embodiment, the camera control unit 17 corrects the first direction to the second direction based on the tilt angle θi of the virtual camera 19, and moves the virtual camera 19 in the second direction. This makes it possible to make the operation direction by the player coincide with or correspond to the movement direction of the game image, even when the virtual camera 19 is tilted around the optical axis 25. This prevents the player from being confused even when the gaze point 21 is not displayed on the game image.
[0072] Furthermore, particularly in this embodiment, the camera control unit 17 acquires the tilt angle θi based on a second operation input by the player for adjusting the tilt of the virtual camera 19 about the optical axis 25, and corrects the first direction to the second direction based on the acquired tilt angle θi. This allows the player to adjust the tilt of the virtual camera 19 about the optical axis 25 by performing the second operation input. Furthermore, even when the player tilts the virtual camera 19 about the optical axis 25, the operation direction by the player and the movement direction of the game image can be made to coincide or correspond to each other.
[0073] Furthermore, particularly in this embodiment, by performing a first operation input, the player can move virtual camera 19 in an orbit in any direction on spherical surface 23, with fixation point 21 as the center and the distance between fixation point 21 and virtual camera 19 as the radius R. That is, virtual camera 19 can be operated as an orbit camera (orbital camera) that rotates around fixation point 21. In this case, camera control unit 17 corrects the first direction on spherical surface 23 to a second direction on spherical surface 23 based on the tilt angle θi of virtual camera 19, so that the operation direction by the player and the movement direction of the game image can be made to coincide or correspond to each other regardless of the tilt angle θi of virtual camera 19.
[0074] Furthermore, particularly in this embodiment, the camera control unit 17 corrects the first direction to the second direction by rotating the orbital plane 26 by the tilt angle θi of the virtual camera 19 to form the orbital plane 35 in the local coordinate system 27 that defines the coordinates of the virtual camera 19 on the spherical surface 23. This makes it possible to make the operation direction by the player coincide with or correspond to the movement direction of the game image even when the virtual camera 19 is tilted around the optical axis 25.
[0075] Furthermore, particularly in this embodiment, by performing a first operation input, the player can translate point of view 21 of virtual camera 19 along the first direction together with virtual camera 19. At that time, camera control unit 17 corrects the first direction to the second direction based on the tilt angle θi of virtual camera 19, so that the operation direction by the player and the movement direction of the game image can be made to coincide with or correspond to each other, regardless of the tilt angle θi of virtual camera 19.
[0076] Furthermore, particularly in this embodiment, the camera control unit 17 corrects the first direction to the second direction by rotating the first direction by the tilt angle θi of the virtual camera 19 with respect to the fixation point 21 in the world coordinate system 29 that defines the coordinates of the fixation point 21 in the virtual space. This makes it possible to make the operation direction by the player and the movement direction of the game image coincide with or correspond to each other, even when the virtual camera 19 is tilted around the optical axis 25.
[0077] <6. Modifications, etc.> The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the spirit and technical concept of the present invention.
[0078] In the above embodiment, the case where the player can control both the orbital movement and the translational movement of the virtual camera 19 has been described, but the camera may be operable to control only one of the orbital movement and the translational movement.
[0079] Furthermore, the player may be able to control actions other than orbital movement, translation, and tilting of virtual camera 19. For example, without moving virtual camera 19, the gaze point 21 (optical axis 25) may be rotated around virtual camera 19 by rotating the orientation of virtual camera 19 around virtual camera 19. In this case, as in the above embodiment, when the camera control unit 17 receives a first operation input from the player for rotating virtual camera 19 in a first direction, it may add the tilt angle θi of virtual camera 19 to the first direction to correct the first direction to a second direction, and rotate virtual camera 19 in the second direction.
[0080] Although the above embodiment has been described with reference to a case where the virtual space is a three-dimensional space, the present invention can also be applied to a game where the virtual space is a two-dimensional space. In this case, the player may be able to operate the translation of the virtual camera 19 in the two-dimensional space.
[0081] Furthermore, in the above embodiment, no particular mention is made of the type of virtual camera 19, but the virtual camera 19 may be a third-person shooter camera or a first-person shooter camera.
[0082] Although the above embodiment does not specifically mention the genre of games to which the present invention is applicable, the present invention can be applied to a wide variety of games as long as the game allows the player to operate a virtual camera, such as simulation games, role-playing games, adventure games, action games, fighting games, and other games of various genres.
[0083] The game described above can also be applied to an online game. In this case, the information processing device 3 is connected to a server device via the Internet, for example, and the server device has some or all of the functional configuration of the information processing device 3 shown in Fig. 2. In this case, the server device corresponds to an example of an information processing device.
[0084] Furthermore, in addition to what has already been described above, the methods according to the above-described embodiments and modifications may be used in appropriate combinations. Although not specifically illustrated, the above-described embodiments and modifications may be implemented with various modifications within the scope of their spirit.
[0085] The problems and effects that the above-described embodiments and modifications are intended to solve are not limited to those described above. The embodiments and modifications may solve problems or achieve effects that are not described above, or may solve only some of the problems or achieve only some of the effects that are described.
[0086] <7. Hardware configuration of information processing device> Next, an example of the hardware configuration of the information processing device 3 will be described with reference to FIG.
[0087] 22, the information processing device 3 includes, for example, a CPU 301, a ROM 303, a RAM 305, a GPU 306, a dedicated integrated circuit 307 constructed for a specific application, such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), an input device 313, an output device 315, a recording device 317, a drive 319, a connection port 321, and a communication device 323. These components are connected to each other via a bus 309, an input / output interface 311, etc., so that signals can be transmitted between them.
[0088] The game program can be recorded in, for example, the ROM 303, the RAM 305, or the recording device 317. The recording device 317 is, for example, a hard disk drive or a solid state drive.
[0089] The game program may also be temporarily or permanently (non-temporarily) recorded on a removable recording medium 325, such as a magnetic disk such as a flexible disk, various optical disks such as CDs, MO disks, and DVDs, or a semiconductor memory. Such recording medium 325 may also be provided as a so-called package software. In this case, the game program recorded on such recording medium 325 may be read by the drive 319 and recorded on the recording device 317 via the input / output interface 311, the bus 309, etc.
[0090] The game program may also be stored, for example, on a download site, another computer, or another storage device (not shown). In this case, the game program is transferred via a network NW such as a LAN or the Internet, and the communication device 323 receives the program. The program received by the communication device 323 may then be recorded in the storage device 317 via the input / output interface 311, the bus 309, etc.
[0091] The game program may also be recorded in, for example, an appropriate externally connected device 327. In this case, the game program may be transferred via an appropriate connection port 321 and recorded in the recording device 317 via the input / output interface 311, the bus 309, etc.
[0092] The CPU 301 then executes various processes in accordance with the programs recorded in the recording device 317, thereby realizing the processes performed by the camera control unit 17 and the like. At this time, the CPU 301 may, for example, directly read and execute the programs from the recording device 317, or may execute the programs after first loading them into the RAM 305. Furthermore, when the CPU 301 receives a program via the communication device 323, the drive 319, or the connection port 321, for example, the CPU 301 may directly execute the received program without recording it in the recording device 317.
[0093] Furthermore, the CPU 301 may perform various processes based on signals and information input from an input device 313, such as a microphone, mouse, keyboard, etc. (not shown), including the game controller 5 described above, as needed.
[0094] The GPU 306 performs processing for image display, such as rendering processing, in response to instructions from the CPU 301 .
[0095] Then, the CPU 301 and the GPU 306 output the results of the above processing from an output device 315, which may include, for example, the above-mentioned display device 7. Furthermore, the CPU 301 and the GPU 306 may transmit the processing results via the communication device 323 or the connection port 321, as necessary, or may record the results in the recording device 317 or the recording medium 325. [Explanation of symbols]
[0096] 1. Game System 3. Information processing equipment 5. Game Controllers 7 Display device 17 Camera control unit 19 Virtual Camera 21 gaze points 23 Spherical 25 Optical axis 26 Raceway surface 27 Local Coordinate Systems 29 World Coordinate System 31 Local Coordinate System 35 Raceway surface 37 characters 39 characters O Origin R radius θi tilt angle θr turning angle
Claims
1. An information processing device a camera control unit that, when receiving a first operation input from a player for moving a virtual camera for generating an image of a virtual space in a first direction, corrects the first direction to a second direction based on a state quantity representing a state of the virtual camera, and moves the virtual camera in the second direction; A game program to function as a
2. The state quantity is is an angle representing a tilt from a reference angle around the optical axis of the virtual camera, The camera control unit correcting the first direction to the second direction based on the angle; The game program according to claim 1 .
3. The camera control unit acquiring the angle based on a second operation input by the player for adjusting the tilt of the virtual camera around the optical axis, and correcting the first direction to the second direction based on the angle; The game program according to claim 2 .
4. The first operation input is an operation for rotating and moving the virtual camera along a first direction on a spherical surface having a center at a gaze point of the virtual camera and a radius equal to a distance between the gaze point and the virtual camera, while directing an optical axis of the virtual camera toward the gaze point, The camera control unit correcting the first direction on the spherical surface to a second direction on the spherical surface based on the state quantity, and rotating and moving the virtual camera along the second direction on the spherical surface; The game program according to any one of claims 1 to 3.
5. The state quantity is is an angle representing a tilt from a reference angle around the optical axis of the virtual camera, The camera control unit correcting the first direction to the second direction based on a second orbital plane obtained by rotating a first orbital plane including the first direction on the spherical surface by the angle around an axis connecting the gaze point and the virtual camera in a first coordinate system that defines coordinates of the virtual camera on the spherical surface and that has the gaze point as an origin; The game program according to claim 4.
6. The first operation input is an operation for moving a gaze point of the virtual camera along the first direction, The camera control unit correcting the first direction to the second direction based on the state quantity and moving the gaze point in the second direction; The game program according to any one of claims 1 to 3.
7. The state quantity is is an angle representing a tilt from a reference angle around the optical axis of the virtual camera, The camera control unit a predetermined position in the virtual space is set as an origin, and in a second coordinate system for defining coordinates of the gaze point in the virtual space, the first direction is corrected to the second direction by rotating the first direction by the angle with the gaze point as a reference; The game program according to claim 6.
8. A game processing method executed by an information processing device, comprising: when a first operation input by a player for moving a virtual camera for generating an image of a virtual space in a first direction is received, correcting the first direction to a second direction based on a state quantity representing a state of the virtual camera, and moving the virtual camera in the second direction; A game processing method comprising:
9. a camera control unit that, when receiving a first operation input from a player for moving a virtual camera for generating an image of a virtual space in a first direction, corrects the first direction to a second direction based on a state quantity representing a state of the virtual camera, and moves the virtual camera in the second direction; An information processing device having the above.
Citation Information
Patent Citations
Game system, game program, and game processing device
JP2018019894A