PROGRAM, INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING METHOD

The system adjusts the virtual camera's position and orientation based on object distance to maintain a predetermined relationship, enhancing visibility and engagement in virtual space imagery.

JP2026043704AActive Publication Date: 2026-03-12CYGAMES INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Existing image generation systems for virtual spaces struggle to maintain clear visibility of target objects, especially when multiple objects are present, leading to reduced visibility and engagement.

Method used

A system that includes a virtual space setting unit, a virtual camera control unit, and a target setting unit to adjust the position and orientation of a virtual camera based on the distance between a first and second object, ensuring they maintain a predetermined positional relationship in the image.

Benefits of technology

Enhances the visibility of objects by controlling the virtual camera's position and orientation relative to the distance between objects, improving the overall clarity and engagement in virtual space imagery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026043704000001_ABST
    Figure 2026043704000001_ABST
Patent Text Reader

Abstract

A program, an information processing device, an information processing system, and an information processing method for improving the visibility of objects in a virtual space are provided. [Solution] The system includes a virtual space setting unit 120 that sets a virtual space in which the player's character and enemy characters are placed, a virtual camera control unit 126 that controls the position and orientation of a virtual camera that follows the player's character, and a target setting unit 124 that makes it possible to set an enemy character as a target in accordance with the player's input, and when an enemy character is set as a target, the virtual camera control unit 126 controls at least one of the position and orientation of the virtual camera in accordance with the distance from the player's character to the enemy character so that the player's character and the enemy character are displayed in a predetermined positional relationship in the image of the virtual space seen from the virtual camera.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program, an information processing device, an information processing system, and an information processing method for generating an image of a virtual space viewed from a virtual camera. [Background technology]

[0002] BACKGROUND ART Conventionally, there has been known an information processing device that is capable of setting a target object from a plurality of objects placed in a virtual space and that generates an image of a virtual space including a player object and the target object (see Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 6084411 Summary of the Invention [Problem to be solved by the invention]

[0004] In an image of a virtual space in which a plurality of objects are arranged as described above, it is desirable to generate an image in which the target object is easy to see.

[0005] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a program, an information processing device, an information processing system, and an information processing method that improve the visibility of objects in a virtual space. [Means for solving the problem]

[0006] The present invention relates to a program for generating an image of a virtual space seen from a virtual camera, which causes a computer to function as a virtual space setting unit that sets the virtual space in which a first object and a second object are placed, a virtual camera control unit that controls the position and orientation of the virtual camera that follows the first object, and a target setting unit that enables the second object to be set as a target in accordance with input from a player, and wherein when the second object is set as a target, the virtual camera control unit controls at least one of the position and orientation of the virtual camera in accordance with the distance from the first object to the second object so that the first object and the second object are displayed in a predetermined positional relationship in the image of the virtual space seen from the virtual camera.

[0007] The present invention also relates to an information processing device for generating an image of a virtual space seen from a virtual camera, comprising: a virtual space setting unit that sets the virtual space in which a first object and a second object are arranged; a virtual camera control unit that controls the position and orientation of the virtual camera that follows the first object; and a target setting unit that enables the second object to be set as a target in accordance with a player's input, wherein when the second object is set as a target, the virtual camera control unit controls at least one of the position and orientation of the virtual camera in accordance with the distance from the first object to the second object so that the first object and the second object are displayed in a predetermined positional relationship in the image of the virtual space seen from the virtual camera.

[0008] The present invention also relates to an information processing system for generating an image of a virtual space seen from a virtual camera, comprising: a virtual space setting unit that sets the virtual space in which a first object and a second object are placed; a virtual camera control unit that controls the position and orientation of the virtual camera that follows the first object; and a target setting unit that enables the second object to be set as a target in accordance with a player's input, wherein when the second object is set as the target, the virtual camera control unit controls at least one of the position and orientation of the virtual camera in accordance with the distance from the first object to the second object so that the first object and the second object are displayed in a predetermined positional relationship in the image of the virtual space seen from the virtual camera.

[0009] The present invention also relates to an information processing method for generating an image of a virtual space seen from a virtual camera, which comprises causing a computer to execute a virtual space setting step of setting the virtual space in which a first object and a second object are arranged, a virtual camera control step of controlling the position and orientation of the virtual camera that follows the first object, and a target setting step of making it possible to set the second object as a target in accordance with a player's input, and in the virtual camera control step, when the second object is set as a target, controlling at least one of the position and orientation of the virtual camera in accordance with the distance from the first object to the second object so that the first object and the second object are displayed in a predetermined positional relationship in the image of the virtual space seen from the virtual camera.

[0010] The above-mentioned program, information processing device, information processing system, and information processing method make it possible to display a first object that is the tracking target of the virtual camera and a second object that is set as the target in an appropriate positional relationship, thereby generating an image that improves the visibility of the objects.

[0011] In the above program, information processing device, information processing system, and information processing method, the virtual camera control unit (or in the virtual camera control step) can control at least one of the horizontal position and orientation of the virtual camera when the distance from the first object to the second object in the virtual space is within a range from a first distance to a second distance that is longer than the first distance, so that the farther the second object is from the first object, the closer the second object is to a position on the image of the virtual space seen from the virtual camera that is closer to a vertical axis passing through the first object.

[0012] In the above program, information processing device, information processing system, and information processing method, the virtual camera control unit (or the virtual camera control step) can control at least one of the horizontal position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is less than or equal to the first distance, the second object is displayed on an axis that forms a first angle with a vertical axis passing through the first object in an image of the virtual space seen from the virtual camera.

[0013] In the above program, information processing device, information processing system, and information processing method, the virtual camera control unit (or in the virtual camera control step) can control at least one of the horizontal position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is equal to or greater than the second distance, the second object is displayed on an axis that forms a second angle, which is narrower than the first angle, with respect to a vertical axis passing through the first object in an image of the virtual space seen from the virtual camera.

[0014] In the above program, information processing device, information processing system, and information processing method, the virtual camera control unit (or in the virtual camera control step) can control at least one of the vertical position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is within a range from the first distance to the second distance, the farther the second object is from the first object, the higher the position of the virtual camera in the virtual space.

[0015] In the above program, information processing device, information processing system, and information processing method, the virtual camera control unit (or the virtual camera control step) can control at least one of the vertical position and orientation of the virtual camera according to the distance from the virtual camera to the first object when the distance from the first object to the second object in the virtual space is equal to or greater than the second distance.

[0016] In the above program, information processing device, information processing system, and information processing method, the virtual camera control unit (or the virtual camera control step) can control at least one of the vertical position and orientation of the virtual camera when the distance from the virtual camera to the first object in the virtual space is within a range from a third distance to a fourth distance that is farther than the third distance, so that the position of the virtual camera in the virtual space becomes lower the farther the virtual camera is from the first object. [Brief explanation of the drawings]

[0017] [Figure 1] 1 is a schematic block diagram illustrating a configuration of an information processing system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a functional block diagram illustrating functions of a server device according to an embodiment of the present invention. [Figure 3] FIG. 2 is a functional block diagram illustrating functions of a terminal device according to an embodiment of the present invention. [Figure 4]FIG. 2 is a diagram showing a virtual three-dimensional space according to an embodiment of the present invention. [Figure 5] FIG. 2 is a diagram illustrating a controller of the terminal device according to the embodiment of the present invention. [Figure 6] FIG. 10 is a diagram illustrating the setting of a target character according to an embodiment of the present invention. [Figure 7] FIG. 10 is a diagram illustrating the setting of a target character according to an embodiment of the present invention. [Figure 8] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 9] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 10] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 11] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 12] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 13] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 14] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 15] 10A to 10C are diagrams illustrating a technique for adjusting the position and orientation of a virtual camera according to an embodiment of the present invention. [Figure 16] 1 is a flowchart showing a processing flow according to an embodiment of the present invention. [Figure 17] 1 is a flowchart showing a processing flow according to an embodiment of the present invention. [Figure 18] 1 is a flowchart showing a processing flow according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0018] The following describes an embodiment of the present invention. Note that the embodiment described below does not unduly limit the content of the present invention described in the claims. Furthermore, not all of the configurations described in the embodiment are necessarily essential components of the present invention.

[0019] Fig. 1 is a schematic block diagram showing the configuration of an information processing system 10 according to this embodiment. As shown in Fig. 1, in the information processing system 10, a server device 12 and multiple terminal devices 14 are connected via a network 16, such as the Internet, a mobile phone network, a LAN, or a WAN, forming a so-called client-server communication system. Each of the multiple terminal devices 14 communicates with the server device 12 via the network 16 to send and receive various information, and communicates with the other terminal devices 14 via the network 16 and the server device 12 to send and receive various information.

[0020] The server device 12 includes a processor such as a CPU, a main memory such as a ROM or RAM, an external memory such as a hard disk, an input device such as a keyboard, a display device such as a liquid crystal display, a communication device, etc. In the server device 12, the CPU executes various processes in accordance with programs stored in the main memory or programs loaded into the main memory from the external memory, receives information from the terminal device 14 via the communication device, and transmits information to the terminal device 14.

[0021] The terminal device 14 may be an information processing device in various forms, such as a smartphone, tablet, personal computer, portable game console, or stationary game console. The terminal device 14 includes a processor such as a CPU, a main storage device such as a ROM or RAM, a flash memory, an external storage device such as a hard disk, an input device such as a touch panel, keyboard, or microphone, a display device such as an LCD display or an organic EL display, a sound output device such as a speaker, and a communication device. The CPU of the terminal device 14 executes various processes according to programs stored in the main storage device or programs loaded from the external storage device to the main storage device, receives information from the server device 12 via the communication device, and transmits information to the server device 12 or other terminal devices 14.

[0022] Fig. 2 is a functional block diagram showing the functions of the server device 12 of this embodiment. As shown in Fig. 2, the server device 12 of this embodiment includes a server information storage medium 20, a server storage unit 30, a server communication unit 36, and a server information processing unit 40. Note that some of the components (units) of Fig. 2 may be omitted.

[0023] The server information storage medium 20 stores programs and data for the server information processing unit 40 and the server communication unit 36 ​​to perform various processes, and its functions can be realized by a flash memory, a hard disk, an optical disc (DVD, BD), etc. In other words, the server information storage medium 20 stores programs for causing a computer to function as each unit of this embodiment (programs for causing a computer to execute the processing of each unit).

[0024] The server storage unit 30 serves as a work area for the server information processing unit 40 and the server communication unit 36, and its functions can be realized by RAM (main memory), VRAM (video memory), etc. In detail, the server storage unit 30 includes a main memory unit 32 into which programs and data are read from the server information storage medium 20.

[0025] The server communication unit 36 ​​performs various controls for communication with an external network (e.g., other server devices 12 or terminal devices 14), and its functions can be realized by various processors (CPU (main processor), GPU (graphics processor), DSP, etc.), or hardware such as a communication ASIC, or programs.

[0026] The server information processing unit 40 performs various processes such as game processing based on the received data received by the server communication unit 36 ​​and various programs and data in the server memory unit 30, using the main memory unit 32 as a work area, and its functions can be realized by hardware such as various processors and ASICs, or programs.

[0027] The server information processing unit 40 includes a server game processing unit 42 and a server communication control unit 48. Note that some of these components may be omitted.

[0028] Based on the received data received by the server communication unit 36, the results of various processes performed by the server information processing unit 40, and the programs and data loaded into the main memory unit 32, the server game processing unit 42 performs processes such as starting a game when a game start condition is met, executing a game function selected from multiple types of game functions, matching multiple players (player identification information, player IDs) to form a single group, having multiple players forming a single group participate in a common game, controlling a competitive game, progressing the game, determining by lottery from multiple game media game media such as characters and items to be provided (granted) to players, generating an event when an event occurrence condition is met, calculating the game result, or ending the game when a game end condition is met.

[0029] The server communication control unit 48 causes the server communication unit 36 ​​to communicate with other server devices 12 or terminal devices 14, and performs processing for transmitting and receiving various information. For example, the server communication control unit 48 causes the server communication unit 36 ​​to transmit and receive information necessary for the process of newly registering a player in the information processing system 10, information necessary for the process of logging a player into the information processing system 10, information necessary for the process of setting an opponent player who will cooperate or compete with the logged-in player, information necessary for the process of synchronizing multiple terminal devices 14, and information necessary for the process of running a common game on multiple terminal devices 14. The server communication control unit 48 also causes the server communication unit 36 ​​to transmit and receive destination information indicating the destination of the information, source information indicating the source of the information, identification information identifying the information processing system 10 that generated the information, and the like.

[0030] Fig. 3 is a functional block diagram showing the functions of the terminal device 14 of this embodiment. As shown in Fig. 3, the terminal device 14 of this embodiment includes a player input detection unit 50, a display unit 52, a sound output unit 54, a terminal information storage medium 56, a terminal storage unit 60, a terminal communication unit 66, and a terminal information processing unit 100. Note that some of the components (units) of Fig. 3 may be omitted.

[0031] The player input detection unit 50 is for detecting inputs made by the player to the terminal device 14 as player inputs, and its function can be realized by a touch sensor, a switch, an optical sensor, a variable resistance sensor (potentiometer), an acceleration sensor, a microphone, etc.

[0032] The display unit 52 displays images on a display screen, and its function can be realized by a liquid crystal display, an organic EL display, or the like.

[0033] The sound output unit 54 outputs sound, and its function can be realized by a speaker, headphones, or the like.

[0034] The terminal information storage medium 56 stores programs and data for the terminal information processing unit 100 and the terminal communication unit 66 to perform various processes, and the functions thereof can be realized by a flash memory, a hard disk, an optical disc (DVD, BD), etc. That is, the terminal information storage medium 56 stores programs for causing a computer to function as each unit of this embodiment (programs for causing a computer to execute the processing of each unit).

[0035] The terminal storage unit 60 serves as a work area for the terminal information processing unit 100 and the terminal communication unit 66, and its functions can be realized by RAM (main memory), VRAM (video memory), etc. In detail, the terminal storage unit 60 includes a main memory unit 62 into which programs and data are read from the terminal information storage medium 56, and a drawing buffer 64 into which images to be displayed on the display unit 52 are drawn.

[0036] The terminal communication unit 66 performs various controls for communication with an external network (e.g., a server device 12 or another terminal device 14), and its functions can be realized by hardware such as various processors or communication ASICs, or programs.

[0037] In addition, the programs (data) for causing the computer to function as each part of this embodiment may be downloaded from the server device 12 to the terminal information storage medium 56 (or main memory unit 62) of the terminal device 14 via the network 16 and the terminal communication unit 66, and such use of the server device 12 may also be included within the scope of the present invention.

[0038] The terminal information processing unit 100 performs various processes such as game processing, image generation processing, and sound generation processing based on the player input detected by the player input detection unit 50, the received data received by the terminal communication unit 66, and the various programs and data in the terminal storage unit 60, using the main storage unit 62 as a work area, and its functions can be realized by various processors (CPU (main processor), GPU (graphics processor), DSP, etc.), hardware such as ASIC, and programs.

[0039] The terminal information processing unit 100 includes a terminal game processing unit 102, an input receiving unit 103, a display control unit 104, an image generation unit 108, a sound generation unit 110, and a terminal communication control unit 112. Note that some of these units may be omitted.

[0040] The terminal game processing unit 102 (game processing unit) performs the following processes based on the player input detected by the player input detection unit 50, the received data received by the terminal communication unit 66, the results of various processes performed by the terminal information processing unit 100, and the programs and data loaded into the main memory unit 62: starting a game when a game start condition is met, executing a game function selected from multiple types of game functions, matching a player (player ID) of the terminal with a player (other player ID) of another terminal to participate in a common game, controlling a competitive game, progressing the game, generating an event when an event generation condition is met, updating various parameters of the player or character of the terminal, calculating the game result, or ending the game when a game end condition is met.

[0041] The input acceptance unit 103 accepts the player's input as an input appropriate for the situation, or does not accept the player's input, based on the player input detected by the player input detection unit 50, the received data received by the device communication unit 66, the results of various processes performed by the device information processing unit 100, the programs and data loaded into the main memory unit 62, etc. For example, when a GUI such as a button is displayed and the GUI is tapped, the tap is accepted as an input appropriate for the type of GUI displayed.

[0042] The display control unit 104 controls the display of images displayed on the display unit 52. Specifically, the display control unit 104 controls the display content, display mode, display timing, etc. of various objects and pre-rendered images (movie images) based on the player input detected by the player input detection unit 50, the received data received by the device communication unit 66, the results of various processes performed by the device information processing unit 100, the programs and data loaded into the main memory unit 62, etc.

[0043] For example, object data of various objects such as background objects for displaying backgrounds, effect objects for displaying effects, GUI objects for displaying GUIs (Graphical User Interfaces) such as buttons, character objects for displaying a player's own character (first object) whose movement and actions can be controlled by the player and one or more enemy characters (second objects) whose movement and actions cannot be controlled by the player, non-character objects for displaying objects other than characters such as buildings, tools, vehicles, and terrain, and image data of various pre-rendered images are stored in the terminal information storage medium 56.

[0044] The display control unit 104 controls the display of objects and pre-rendered images based on the object data and image data of pre-rendered images loaded into the main memory unit 62, depending on the type of game function being executed and the progress of the game.

[0045] When displaying a three-dimensional game image, the display control unit 104 performs processing to place, move, or operate objects made up of primitives such as polygons, free-form surfaces, and two-dimensional images that represent the objects in a virtual three-dimensional space (virtual space) based on the object data loaded into the main memory unit 62. The display control unit 104 also performs processing to control the position, direction (line of sight direction), and angle of view (field of view range) of a virtual camera (viewpoint) to generate an image that can be seen from a given (arbitrary) viewpoint in the virtual three-dimensional space.

[0046] More specifically, the display control unit 104 includes a virtual space setting unit 120 , an object control unit 122 , a target setting unit 124 , and a virtual camera control unit 126 .

[0047] The virtual space setting unit 120 performs processing to place various objects configured with primitive surfaces such as polygons in a virtual three-dimensional space. Specifically, the object control unit 120 determines the position and orientation (rotation angle) of an object in the world coordinate system for each frame (1 / 30 seconds) based on the player input detected by the player input detection unit 50, the received data received by the device communication unit 66, the results of various processes performed by the device information processing unit 100, and the programs and data loaded into the main memory unit 62, and places the object at the determined position (three-dimensional coordinates) in the determined orientation.

[0048] The object control unit 122 performs movement calculations and motion calculations (movement or motion simulations) for moving or moving objects such as the player's character or enemy character. Specifically, the object control unit 120 calculates object movement information (position, rotation angle, speed, acceleration, etc.) and motion information (position, rotation angle, speed, acceleration, etc.) for each frame based on the player input detected by the player input detection unit 50, received data received by the device communication unit 66, results of various processes performed by the device information processing unit 100, movement algorithms, motion algorithms, motion data, etc. loaded into the main memory unit 62, and performs processing to move the object within a virtual three-dimensional space or to cause each of the multiple parts that make up the object to move (animate).

[0049] In particular, when the object is a character object, the object control unit 120 controls the movement of the character object based on motion data associated with each character. Specifically, the motion data includes the position and rotation angle (the rotation angle of a child bone relative to a parent bone) of each bone that constitutes the skeleton of the character object (the part objects, joints, and motion bones that constitute the character), and the object control unit 120 controls the attacking action, defensive action, moving action, etc. of the character object by moving each bone that constitutes the skeleton of the character object based on the motion data or by deforming the skeleton shape.

[0050] The target setting unit 124 can set an enemy object as a target in response to a player's input. When the player input detection unit 50 detects a target setting input, the target setting unit 124 detects enemy characters present within a range corresponding to the player's character's position and sets the highest-priority enemy character from among the detected enemy characters as the target. Hereinafter, the enemy character set as the target may be referred to as the target character. The highest-priority enemy character may be, for example, the enemy character closest to the player's character. Furthermore, for example, a target priority is set in advance for each enemy character, and the enemy character with the highest target priority within a range corresponding to the player's character's position may be determined to be the highest-priority enemy character. When the player input detection unit 50 detects a target change input, the target setting unit 124 can change the target enemy character.

[0051] The virtual camera control unit 126 performs processing to control a virtual camera (viewpoint) for generating an image seen from a given (arbitrary) viewpoint in the virtual three-dimensional space. Specifically, the virtual camera control unit 126 determines the position, orientation (rotation angle), and angle of view of the virtual camera in the world coordinate system for each frame (1 / 30 seconds) based on the player input detected by the player input detection unit 50, the received data received by the device communication unit 66, the results of various processes performed by the device information processing unit 100, the program and virtual camera control data loaded into the main memory unit 62, etc., and places the virtual camera at the determined position with the determined orientation and angle of view.

[0052] Here, the orientation of the virtual camera can be controlled by setting a gaze point, which is the point from which the virtual camera looks, in the virtual three-dimensional space, and controlling the orientation of the virtual camera so that it faces the set gaze point. The angle of view of the virtual camera can be controlled by expanding or contracting the angle of view, or by changing the distance between the virtual camera and a screen (projection surface) onto which the object is projected. Narrowing the angle of view of the virtual camera or increasing the distance between the screen and the virtual camera can generate an image that zooms in on the target object, while widening the angle of view of the virtual camera or decreasing the distance between the screen and the virtual camera can generate an image that zooms back from the target object.

[0053] The virtual camera control unit 126 controls the position, orientation, and angle of view of the virtual camera so that the virtual camera follows changes in the position and orientation of the player's character, which moves and performs actions based on player input, and so that the position, orientation, and angle of view of the virtual camera change based on player input.

[0054] Based on virtual camera control data for specifying the position (movement path), orientation, angle of view, and point of interest of the virtual camera, virtual camera control unit 126 controls the position, orientation, and angle of view of the virtual camera so that the virtual camera moves to a predetermined position, moves along a predetermined movement path, rotates at a predetermined rotation angle, or changes to a predetermined angle of view. The virtual camera control data may include the position, rotation angle, angle of view, and point of interest of the virtual camera for each frame, as well as the amount of change, rate of change, and period of change (number of frames) for the position, rotation angle, angle of view, and point of interest of the virtual camera for each frame.

[0055] When one of the enemy characters is set as the target, the virtual camera control unit 126 controls at least one of the position and orientation of the virtual camera according to the distance from the player's character to the target character so that the player's character and the target character are displayed in a predetermined positional relationship in an image of the virtual three-dimensional space seen from the virtual camera. The position and orientation of the virtual camera are adjusted so that the virtual camera rotates around a point of gaze in the horizontal and vertical directions in the virtual three-dimensional space. Note that both the position and orientation of the virtual camera may be changed, or the position of the virtual camera may be changed without changing the orientation of the virtual camera, or the orientation of the virtual camera may be changed without changing the position of the virtual camera.

[0056] When the distance from the player's character to the target character in the virtual three-dimensional space is within a range from a first distance (e.g., 3 m) to a second distance (e.g., 20 m), the virtual camera control unit 126 controls at least one of the horizontal position and orientation of the virtual camera so that the target character is displayed at a position closer to a reference axis, which is a vertical axis passing through the player's character, in an image of the virtual three-dimensional space seen from the virtual camera, the farther the target character is from the player's character.

[0057] When the distance from the player's character to the target character in the virtual three-dimensional space is a first distance or less (e.g., 3 m or less), the virtual camera control unit 126 controls at least one of the horizontal position and orientation of the virtual camera so that the target character is displayed on an adjustment axis that forms a first angle (e.g., 35 degrees) with respect to the reference axis in the image of the virtual three-dimensional space seen from the virtual camera.

[0058] When the distance from the player's character to the target character in the virtual three-dimensional space is a second distance or more (e.g., 20 m or more), the virtual camera control unit 126 controls at least one of the horizontal position and orientation of the virtual camera so that the target character is displayed on an adjustment axis that forms a second angle (e.g., 8 degrees) narrower than the first angle (e.g., 35 degrees) with respect to the reference axis in the image of the virtual three-dimensional space seen from the virtual camera.

[0059] In this embodiment, at least one of the horizontal position and orientation of the virtual camera is adjusted depending on the distance from the player's character to the target character in the virtual three-dimensional space so that the target character is displayed at a position on an adjustment axis that is set within a range of a first angle (e.g., 35 degrees) to a second angle (e.g., 8 degrees) relative to a reference axis, which is a vertical axis passing through the player's character in the image of the virtual three-dimensional space.

[0060] When the distance from the player's character to the target character in the virtual three-dimensional space is within a range from a first distance (e.g., 3 m) to a second distance (e.g., 20 m), the virtual camera control unit 126 controls at least one of the vertical position and orientation of the virtual camera so that the position of the virtual camera in the virtual space becomes higher the farther the target character is from the player's character.

[0061] In this embodiment, when the distance from the player's character to the target character in the virtual three-dimensional space is within a range from a first distance (e.g., 3 m) to a second distance (e.g., 20 m), the position and orientation of the virtual camera are adjusted so that it looks down on the player's character at an angle within a range from a third angle (e.g., 8 degrees) to a fourth angle (e.g., 15 degrees) relative to a horizontal plane containing the gaze point in the virtual three-dimensional space.

[0062] When the distance from the player's character to the target character in the virtual three-dimensional space is a second distance or more (e.g., 20 m or more), the virtual camera control unit 126 controls at least one of the vertical position and orientation of the virtual camera according to the distance from the virtual camera to the player's character.

[0063] When the distance from the virtual camera to the player's character in the virtual three-dimensional space is within a range from a third distance (e.g., 5 m) to a fourth distance (e.g., 15 m), the virtual camera control unit 126 controls at least one of the vertical position and orientation of the virtual camera so that the position of the virtual camera in the virtual three-dimensional space becomes lower the farther the virtual camera is from the player's character.

[0064] In this embodiment, when the distance from the virtual camera to the player's character in the virtual three-dimensional space is within a range from a third distance (e.g., 5 m) to a fourth distance (e.g., 15 m), the position and orientation of the virtual camera are adjusted so that the player's character is viewed from below in a line of sight that forms an angle within a range from a fourth angle (e.g., 15 degrees) to a fifth angle (e.g., 10 degrees) with respect to a horizontal plane containing the gaze point in the virtual three-dimensional space.

[0065] In this embodiment, when the distance from the virtual camera to the player's character in the virtual three-dimensional space is a third distance or less (e.g., 5 m or less), the position and orientation of the virtual camera are adjusted so that the player's character is looking down at a line of sight that forms a fourth angle (e.g., 15 degrees) with respect to a horizontal plane containing the gaze point in the virtual three-dimensional space.

[0066] In this embodiment, when the distance from the virtual camera to the player's character in the virtual three-dimensional space is a fourth distance or more (e.g., 15 m or more), the position and orientation of the virtual camera are adjusted so that the player's character is looking down at a line of sight that forms a fifth angle (e.g., 10 degrees) with respect to a horizontal plane containing the gaze point in the virtual three-dimensional space.

[0067] When the distance from the player's character to the target character in the virtual three-dimensional space is a first distance or less (e.g., 3 m or less), the virtual camera control unit 126 adjusts the position and orientation of the virtual camera so that the player's character is viewed from below in a line of sight that forms a third angle (e.g., 8 degrees) with respect to a horizontal plane including the gaze point in the virtual three-dimensional space.

[0068] The image generation unit 108 performs processing to draw a game image in the drawing buffer 64 for each frame based on the player input detected by the player input detection unit 50, the received data received by the device communication unit 66, the results of various processes performed by the device information processing unit 100, in particular the results of various processes performed by the display control unit 104, and the programs and data loaded into the main memory unit 62, thereby generating a game image in which various objects and various pre-rendered images are displayed, and outputs the generated game image to the display unit 52 to display the game image.

[0069] When generating a three-dimensional game image, object data (model data) including vertex data (vertex position coordinates, texture coordinates, color data, normal vector or alpha value, etc.) for each vertex of the object (model) is obtained based on various processing results of the display control unit 104, and vertex processing (shading by a vertex shader) is performed based on the vertex data included in the obtained object data.

[0070] In vertex processing, vertex movement processing, coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, perspective transformation, and other geometric processing are performed in accordance with a vertex processing program (vertex shader program), and based on the results of this processing, the vertex data given for the group of vertices that make up the object is changed (updated, adjusted).

[0071] After vertex processing, rasterization (scan conversion) is performed based on the vertex data after vertex processing, and the faces of the polygons (primitives) are associated with the pixels. After rasterization, pixel processing (shading by pixel shaders, fragment processing) is performed to draw the pixels that make up the image (fragments that make up the display screen). In pixel processing, various processes such as texture mapping, hidden surface removal, setting / changing color data, semi-transparent compositing, and anti-aliasing are performed in accordance with the pixel processing program (pixel shader program) to determine the final drawing color of the pixels that make up the image, and the drawing color of the perspective-transformed object is output (drawn) to the drawing buffer 64 (a buffer that can store image information on a pixel-by-pixel basis; a rendering target). In other words, in pixel processing, per-pixel processing is performed to set or change image information (color value, brightness value, Z value, normal, alpha value, etc.) on a pixel-by-pixel basis. This generates an image that can be seen from a virtual camera (a given viewpoint) in virtual 3D space.

[0072] The sound generation unit 110 performs sound processing based on the results of various processes performed by the terminal information processing unit 100, generates game sounds such as music, background music, sound effects, or voices, and outputs them to the sound output unit .

[0073] The terminal communication control unit 112 performs processing to cause the terminal communication unit 66 to communicate with the server device 12 or other terminal devices 14 and to transmit and receive various information. For example, the terminal communication control unit 112 causes the terminal communication unit 66 to transmit and receive information necessary for the process of newly registering a player in the information processing system 10, information necessary for the process of logging a player into the information processing system 10, information necessary for the process of setting an opponent player who will cooperate or compete with the logged-in player, information necessary for the process of synchronizing multiple terminal devices 14, and information necessary for the process of running a common game on multiple terminal devices 14. The terminal communication control unit 112 also causes the terminal communication unit 66 to transmit and receive destination information indicating the destination of the information, source information indicating the source of the information, identification information identifying the information processing system 10 that generated the information, and the like.

[0074] In addition, the server device 12 may be provided with all or part of the functions of the terminal information storage medium 56 of the terminal device 14, all or part of the functions of the terminal memory unit 60, all or part of the functions of the terminal communication unit 66, and all or part of the functions of the terminal information processing unit 100, or the terminal device 14 may be provided with all or part of the functions of the server information storage medium 20 of the server device 12, all or part of the functions of the server memory unit 30, all or part of the functions of the server communication unit 36, and all or part of the functions of the server information processing unit 40.

[0075] 2. Control method of this embodiment The control method of this embodiment will be described in detail below, taking as an example a case where the terminal device 14 is a console video game machine and the game program of this embodiment is applied as a game application for the console video game machine.

[0076] FIG. 4 is a diagram showing an example of a virtual three-dimensional space in which a virtual camera and multiple objects are arranged. As shown in FIG. 4, one player character 200 and three enemy characters 201 to 203 are arranged in the virtual three-dimensional space. A virtual camera 210 is arranged behind the player character 200, and its position and orientation are controlled so as to follow the movement and actions of the player character 200. The game program of this embodiment generates an image of the virtual three-dimensional space as seen from the virtual camera 210, and the generated image is displayed on the display unit 52 of the terminal device 14. For convenience of explanation, this embodiment will be described taking as an example a case in which the player character 200 and enemy characters 201 to 203 are arranged on the same plane in the virtual three-dimensional space, with world coordinates of (X, Y, 0).

[0077] 5 is a diagram showing the controller of the console video game machine. While viewing an image of the virtual three-dimensional space displayed on the display unit 52, the player uses the controller 300 to input movement / actions of the player's character 201, and enjoys playing a game in which the player competes against enemy characters 201 to 203, whose movements / actions are determined by a given algorithm.

[0078] As shown in FIG. 5, the controller 300 is provided with a left analog stick 301, a right analog stick 302, multiple buttons 303, a directional pad 304, a left trigger switch 305, a right trigger switch 306, etc., and the direction and amount of tilt of the left analog stick 301 and the right analog stick 302 are detected by variable resistance sensors.

[0079] When the left analog stick 301 is tilted, this is detected as a movement input for moving the player's character 200, and the player's character 200 moves according to the direction and amount that the left analog stick 302 is tilted. When the right analog stick 302 is tilted, this is detected as a virtual camera input for changing the orientation of the virtual camera 210, and the orientation of the virtual camera 210 changes according to the direction and amount that the right analog stick 302 is tilted.

[0080] When any of the buttons 303 or directional pad 304 is pressed, it is detected as an attack input that causes the player's character 200 to perform an attack action against the enemy characters 201 to 203, or an evasion input that causes the player's character 200 to perform an evasion action against the attack of the enemy characters 201 to 203, depending on the type of button 303 pressed or the position on the directional pad 304 pressed.

[0081] When the left trigger switch 305 is pressed, an enemy character that exists within a target range centered on the player's character 200 can be set as a target character. When a target character is set, the player's character 200 is controlled to perform an attack action against the target character.

[0082] As shown in Fig. 6, an enemy character that exists within a target range of radius r1 centered on the player's character 200 in the virtual three-dimensional space and that is closest to the player's character 200 is set as the target character. In the example shown in Fig. 6, the distance d1 between the player's character 200 and the enemy character 201, the distance d2 between the player's character 200 and the enemy character 202, and the distance d3 between the player's character 200 and the enemy character 203 are each compared with the radius r1 that defines the target range, and the enemy characters 202 and 203 that are closer than the radius r1 are determined to exist within the target range. Of the enemy characters 202 and 203, the enemy character 202 is determined to exist closest to the player's character 200 and is set as the target character.

[0083] When a target character has been set, a target mark 204 is given to the enemy character 202 that has been set as the target character, as shown in Fig. 7. When a target character has been set, pressing the left trigger switch 305 can cancel the target character setting. When a target character has been set, pressing the right trigger switch 306 can change the enemy character that is the target of the target character.

[0084] Virtual camera 210 is basically placed at a reference position at a predetermined distance behind player character 200, and is controlled so as to observe the virtual three-dimensional space from behind player character 200. When player character 200 moves and the position and orientation of player character 200 change, the position and orientation of virtual camera 210 are controlled so as to follow the changes in the position and orientation of player character 200.

[0085] For example, when a movement input is made without a virtual camera input, an attack input, or an evasion input being made, and the position and orientation of the player's character 200 changes, the position and orientation of the virtual camera 210 are controlled so that the relationship between the position of the player's character 200 and the position of the virtual camera 210 and the relationship between the orientation of the player's character 200 and the orientation of the virtual camera 210 are in a predetermined relationship.

[0086] In some cases, the target character may be difficult to view due to the positional relationship between the player's character 200 and the target character, such as when the player's character 200 and the target character are close to each other in the virtual three-dimensional space.

[0087] Therefore, a method is adopted in which the position and orientation of the virtual camera 210 is adjusted according to the distance from the player's character 200 to the target character so that the player's character 200 and the target character are displayed in a predetermined positional relationship in the image of the virtual three-dimensional space seen from the virtual camera 210.

[0088] FIG. 8 is a diagram showing the positional relationship between the player's character 200, enemy characters 201 to 203, and virtual camera 210 in the virtual three-dimensional space.

[0089] When enemy character 202 of enemy characters 201 to 203 is set as the target character, horizontal direction adjustment processing is performed to rotate virtual camera 210 clockwise or counterclockwise around player character 200 in the horizontal direction of virtual three-dimensional space based on distance Dt (= d2) from player character 200 to the target character. The orientation of virtual camera 210 is controlled using a representative point of player character 200 as a gaze point. When virtual camera 210 rotates through horizontal direction adjustment processing, the orientation of virtual camera 210 is controlled so that it faces the representative point of player character 200 at the position after the rotation.

[0090] The horizontal rotation information of the virtual camera 210 is calculated so that the player's character 200 and the enemy character 202, which is the target character, are displayed in a predetermined positional relationship in an image of the virtual three-dimensional space viewed from the virtual camera 210.

[0091] First, as shown in FIG. 9(A), a reference axis 230 passing through a representative point 221 of the player's character 200 is set in a screen coordinate system, which is a coordinate system for an image of the virtual three-dimensional space viewed from a virtual camera 210. Horizontal rotation information for the virtual camera 210 is obtained so that a representative point 222 of the enemy character 202, which is the target character, is positioned on an adjustment axis that is set within ranges A1 and A2 that form an angle of 8 degrees to 35 degrees with respect to the reference axis 230 and that includes an adjustment reference point 220 set on the reference axis 230. The adjustment reference point 220 can be any point on the reference axis 230, or the player's character's representative point 221 may also serve as the adjustment reference point 220. In the example shown in FIG. 9(A), the adjustment reference point 220 is set to a position corresponding to the lowest point of the player's character 200 on the reference axis 230.

[0092] 9(B), when the distance Dt is 3 m or less in the virtual three-dimensional space, the angle that the adjustment axis forms with respect to the reference axis 230 is set to 35 degrees, and when the distance Dt is 20 m or more in the virtual three-dimensional space, the angle that the adjustment axis forms with respect to the reference axis 230 is set to 8 degrees. When the distance Dt is in the range of 3 m to 20 m in the virtual three-dimensional space, an angle between 35 degrees and 8 degrees is obtained by linear interpolation according to the distance Dt, and the obtained angle is set as the angle that the adjustment axis forms with respect to the reference axis 230.

[0093] For example, if the distance Dt from the player's character 200 to the enemy character 202, which is the target character, is 3 m or less, an adjustment axis 240 is set at an angle of 35 degrees with respect to the reference axis 230, as shown in Fig. 10, and horizontal rotation information of the virtual camera 210 is obtained so that the representative point 222 of the enemy character 202 is positioned on the adjustment axis 240. When the horizontal position and orientation of the virtual camera 210 are adjusted so that the representative point 222 of the enemy character 202 is positioned on the adjustment axis 240 shown in Fig. 10, horizontal rotation information is obtained so that the virtual camera 210 rotates clockwise, as shown in Fig. 11.

[0094] Whether adjustment axis 240 is set to range A1 or range A2 can be determined depending on whether the representative point of the target character is located to the left or right of reference axis 230 in the screen coordinate system. If the representative point of the target character is located to the left of reference axis 230 in the screen coordinate system, adjustment axis 240 can be set to range A1, and if the representative point of the target character is located to the right of reference axis 230 in the screen coordinate system, adjustment axis 240 can be set to range A2. In the situation shown in Figure 9(A), representative point 222 of enemy character 202, who is the target character, is located to the left of reference axis 230, so the adjustment axis is set within range A1.

[0095] If the positional relationship between the player's character 200 and the target character in the virtual three-dimensional space changes after the target character is set, the horizontal position and orientation of the virtual camera 210 are adjusted in response to the change in positional relationship.

[0096] For example, assume that enemy character 202, which is a target character, retreats in a direction away from player character 200 in the virtual three-dimensional space. In this case, if the distance Dt from player character 200 to enemy character 202, which is a target character, becomes 3 m or more, for example, as shown in FIG. 12 , the angle that adjustment axis 240 forms with reference axis 230 is set to be narrower than 35 degrees, and the horizontal position and orientation of virtual camera 210 are adjusted so that enemy character 202, which is the target character, is displayed at a position closer to reference axis 230 than before the retreat. Specifically, as shown in FIG. 13 , rotation information is obtained so that virtual camera 210 rotates counterclockwise due to enemy character 202 retreating in a direction away from player character 200. In this way, in the horizontal direction adjustment process, when the distance Dt between the player's character 200 and the enemy character 202 (target character) is within a range of 3 m to 20 m, the horizontal position and orientation of the virtual camera 210 are controlled so that the display position of the enemy character 202 approaches the reference axis 230 as the distance from the player's character 200 to the enemy character 202 (target character) increases. Note that when the distance Dt reaches 20 m, the angle that the adjustment axis 240 forms with respect to the reference axis 230 is set to 8 degrees, and when the distance Dt is 20 m or more, the angle that the adjustment axis 240 forms with respect to the reference axis 230 will not become narrower than 8 degrees.

[0097] In this way, in the horizontal adjustment process, the closer the target character is to the player's character 200, the more the character is displayed in a position shifted to the left or right in the image of the virtual three-dimensional space seen from the virtual camera 210, and the farther the target character is from the player's character 200, the closer the character is displayed to the reference axis 230, making it possible to generate an image in which the target character is easy to see.

[0098] Furthermore, the horizontal adjustment process makes it possible to display the target character in an easily viewable manner while displaying the player's character 200 at a predetermined position near the center of the screen. Therefore, by employing the horizontal adjustment process, it is possible to realize an image representation that simultaneously satisfies two requirements: making it easy for the player to visually recognize the movement of the player's character 200, and making it easy for the player to visually recognize the target character.

[0099] Furthermore, if the positional relationship between the player's character 200 and the target character on the screen (the angle between the reference axis 230 and the adjustment axis 240) is fixed, the target character will be displayed at a position farther to the left or right of the player's character 200 on the screen as the distance from the player's character 200 to the target character increases, which can cause the player to lose sight of the target character. However, with the horizontal direction adjustment process, the angle between the reference axis 230 and the adjustment axis 240 narrows as the distance from the player's character 200 to the target character increases, and the target character is displayed closer to the center of the screen, preventing the player from losing sight of the target character.

[0100] When the player's character 200 moves within the virtual three-dimensional space, the virtual camera 210 is controlled to follow the player's character 200 at a constant distance. However, when the player's character 200 performs an attack action against an enemy character, the distance Dc from the virtual camera 210 to the player's character 200 may change. For example, when the player's character 200 performs an attack action such as unleashing a special move against an enemy character, the virtual camera 210 is controlled to move away from the player's character 200. Furthermore, depending on the relative sizes of the player's character 200 and the target character, the horizontal direction adjustment process alone may cause the player's character 200 and the target character to overlap, making the target character difficult to view. For example, in the horizontal direction adjustment process, the adjustment axis 240 is set to approach the reference axis 230 as the target character gets closer to the player's character 200. Therefore, if the player's character 200 is a large object, a target character that is displayed small in the distance may overlap the player's character 200, making the target character difficult to view.

[0101] Therefore, a method is adopted in which the vertical position and orientation of the virtual camera 210 are adjusted according to the distance Dc from the virtual camera 210 to the player's character 200 and the distance Dt from the player's character 200 to the target character.

[0102] 14(A) is a diagram showing the degree of tilt of virtual camera 210 in the vertical direction according to distance Dc from virtual camera 210 to player's character 200. As shown in FIG. 14(A), when distance Dc from virtual camera 210 to player's character 200 is long, virtual camera 210 is controlled so that the angle at which virtual camera 210 looks down on player's character 200 is shallower than when distance Dc from virtual camera 210 to player's character 200 is short. In other words, virtual camera 210 is controlled so that the angle at which virtual camera 210 looks down on player's character 200 becomes deeper as virtual camera 210 gets closer to player's character 200. The degree of tilt of virtual camera 210 in the vertical direction is set by the angle formed by the line of sight of virtual camera 210 with respect to a horizontal plane including the point of gaze (for example, representative point 221 of player's character 200). The larger the angle that the line of sight of virtual camera 210 makes with respect to the horizontal plane including the point of gaze, the higher the position of virtual camera 210 in the virtual three-dimensional space, and the smaller the angle that the line of sight of virtual camera 210 makes with respect to the horizontal plane including the point of gaze, the lower the position of virtual camera 210 in the virtual three-dimensional space.

[0103] 14(B), when distance Dc is 5 m or less in virtual three-dimensional space, the angle formed by the line of sight of virtual camera 210 with respect to the horizontal plane including the point of gaze is set to 15 degrees, and when distance Dc is 15 m or more in virtual three-dimensional space, the angle formed by the line of sight of virtual camera 210 with respect to the horizontal plane including the point of gaze is set to 10 degrees. When distance Dc is in the range of 5 m to 15 m in virtual three-dimensional space, an angle between 15 degrees and 10 degrees is obtained by linear interpolation according to distance Dc, and the obtained angle is set as the angle formed by the line of sight of virtual camera 210 with respect to the horizontal plane including the point of gaze.

[0104] 15(A) and 15(B) are diagrams showing the degree of vertical tilt of virtual camera 210 according to distance Dt from player character 200 to a target character (enemy character 202 in this example). When distance Dt from player character 200 to target character (enemy character 202) is short as shown in FIG. 15(A), virtual camera 210 is controlled so that the angle at which it looks down on player character 200 is shallower than when distance Dt from player character 200 to target character (enemy character 202) is short as shown in FIG. 15(B). In other words, the farther the target character is from player character 200, the deeper the angle at which virtual camera 210 looks down on player character 200 is controlled.

[0105] As shown in Fig. 15(C), when the distance Dt is 3 m or less in the virtual three-dimensional space, the angle formed by the line of sight of virtual camera 210 with respect to the horizontal plane including the point of gaze is set to 8 degrees, and when the distance Dt is 20 m or more in the virtual three-dimensional space, the angle formed by the line of sight of virtual camera 210 with respect to the horizontal plane including the point of gaze is set in the range of 10 to 15 degrees according to the distance Dc from virtual camera 210 to player's character 200, as shown in Fig. 14(B). When the distance Dt is in the range of 3 m to 20 m in the virtual three-dimensional space, an angle between 8 degrees and the angle determined according to distance Dc (an angle in the range of 10 to 15 degrees: see Fig. 14(B)) is calculated by linear interpolation according to distance Dt, and the calculated angle is set as the angle formed by the line of sight of virtual camera 210 with respect to the horizontal plane including the point of gaze.

[0106] In this way, in the vertical direction adjustment process, when the target character is close to the player's character 200, the horizontal direction adjustment process causes the target character to be displayed at a position shifted to the left or right, thereby making it possible to generate an image that gives a high sense of realism to close combat by shallowing the angle at which virtual camera 210 looks down on player's character 200. Also, in the vertical direction adjustment process, when the target character is farther from the player's character 200, the target character is displayed smaller in the image, so by deepening the angle at which virtual camera 210 looks down on player's character 200 as virtual camera 210 gets closer to player's character 200, it is possible to eliminate the inconvenience of player's character 200 and the target character overlapping and becoming difficult to see.

[0107] Furthermore, in the horizontal direction adjustment process described above, the greater the distance from the player's character 200 to the target character, the narrower the angle formed by the reference axis 230 and the adjustment axis 240, causing the target character to be displayed closer to the center of the screen. Therefore, by using the vertical direction adjustment process to adjust the position of the virtual camera 210 so that it is higher, the target character can be displayed in a positional relationship that does not overlap with the player's character 200.

[0108] By using the horizontal adjustment process and the vertical adjustment process in combination in this way, the vertical and horizontal position and orientation of the virtual camera 210 can be dynamically adjusted according to the distance from the player's character 200 to the target character and the distance from the virtual camera 210 to the player's character 200.

[0109] The flow of processing performed by the terminal information processing unit 100 of the terminal device 14 of this embodiment will be described below with reference to the flowcharts of Figures 16 to 18. The processing shown in Figures 16 to 18 is mainly performed by the virtual camera control unit 126.

[0110] 16, when a frame update timing arrives (Y in step S101), it is checked whether or not a target character has been set (step S102). The frame update timing is the timing for updating the image of the virtual three-dimensional space viewed from the virtual camera 210. If the frame rate is 60 fps, the frame update timing arrives every 1 / 60 seconds, and if the frame rate is 30 fps, the frame update timing arrives every 1 / 30 seconds.

[0111] If a target character is set (Y in step S102), horizontal adjustment processing (step S103) and vertical adjustment processing (step S104) are performed to adjust the position and orientation of virtual camera 210. It is preferable that the horizontal adjustment processing and vertical adjustment processing are performed within the same frame, and the vertical adjustment processing may be performed after the horizontal adjustment processing, or the horizontal adjustment processing may be performed after the vertical adjustment processing.

[0112] FIG. 17 is a flowchart showing the details of the horizontal adjustment process.

[0113] First, the distance Dt from the player's character 200 to the target character is obtained (step S201), and it is determined whether the distance Dt is 3 m or less or 20 m or more (steps S202 and S204).

[0114] If it is determined that the distance Dt is 3 m or less (Y in step S202), the angle that the adjustment axis 240 for adjusting the display position of the target character in the screen coordinate system makes with the reference axis 230 is set to 35 degrees (step S203). If it is determined that the distance Dt is 20 m or more (Y in step S204), the angle that the adjustment axis 240 for adjusting the display position of the target character in the screen coordinate system makes with the reference axis 230 is set to 8 degrees (step S205). If it is determined that the distance Dt is neither 3 m or less nor 20 m or more (N in step S202, N in step S204), that is, if the distance Dt is within the range of 3 m to 20 m, the angle that the adjustment axis 240 makes with the reference axis 230 is obtained by linear interpolation between 35 degrees and 8 degrees according to the distance Dt (step S206).

[0115] Once the angle that adjustment axis 240 forms with respect to reference axis 230 is set in step S203, step S205, or step S206, horizontal rotation information for displaying the target character on adjustment axis 240 is obtained (step S207). Then, based on the obtained horizontal rotation information, virtual camera 210 is rotated around the gaze point in the horizontal direction of virtual three-dimensional space to adjust the position and orientation of virtual camera 210 so that the representative point of the target character is positioned on adjustment axis 240 (step S208).

[0116] FIG. 18 is a flowchart showing the details of the vertical adjustment process.

[0117] First, in the vertical direction adjustment process, a temporary angle is set according to the distance Dc from the virtual camera 210 to the player's character 200 (steps S301 to S306).

[0118] In detail, the distance Dc from the virtual camera 210 to the player's character 200 is acquired (step S301), and it is determined whether the distance Dc is 5 m or less or 15 m or more (steps S302 and S304).

[0119] If it is determined that the distance Dc is 5 m or less (Y in step S302), the tentative angle is set to 15 degrees (step S303). If it is determined that the distance Dc is 15 m or more (Y in step S304), the tentative angle is set to 10 degrees (step S305). If it is determined that the distance Dc is neither 5 m or less nor 15 m or more (N in step S302, N in step S304), that is, if the distance Dc is within the range of 5 m to 15 m, the tentative angle is calculated by linear interpolation between 15 degrees and 10 degrees according to the distance Dc (step S306).

[0120] Next, processing is performed according to the distance Dt from the player's character 200 to the target character (steps S307 to S313).

[0121] In detail, the distance Dt from the player's character 200 to the target character is acquired (step S307), and it is determined whether the distance Dt is 3 m or less or 20 m or more (steps S308, S310).

[0122] If it is determined that the distance Dt is 3 m or less (Y in step S308), the angle of the line of sight direction of virtual camera 210 with respect to the horizontal plane including the gaze point (hereinafter referred to as the tilt angle) is set to 8 degrees to determine vertical rotation information (step S309). If it is determined that the distance Dt is 20 m or more (Y in step S310), the vertical rotation information is determined using the tentative angle set according to the distance Dc as the tilt angle (step S311). If it is determined that the distance Dt is neither 3 m or less nor 20 m or more (N in step S308, N in step S310), that is, if the distance Dt is within the range of 3 m to 20 m, the tilt angle is determined by linearly interpolating the tentative angle and 8 degrees according to the distance Dt, and vertical rotation information is determined based on the determined tilt angle (step S312).

[0123] Then, based on the obtained vertical rotation information, the position and orientation of virtual camera 210 are adjusted by rotating virtual camera 210 around the point of gaze in the vertical direction of the virtual three-dimensional space so that the line of sight of virtual camera 210 forms an inclined angle with respect to the horizontal plane including the point of gaze (step S313).

[0124] The control method of this embodiment described above makes it possible to display the player's character 200, which is the target of the virtual camera 210, and the enemy character 202, which is set as the target character, in an appropriate positional relationship, thereby generating an image that improves the visibility of objects placed in the virtual three-dimensional space.

[0125] The player's character 200 may be configured to perform a special attack (ultimate technique, special killer move) attack action against a target character. The player can select a character from multiple characters to be the player's character 200, and can set a unique special attack action for each character. For each character's special attack, control information such as the position, orientation, and angle of view of the virtual camera 210 during the execution of the attack action is set, and when the player's character 200 performs a special attack, the position, orientation, etc. of the virtual camera 210 can be controlled by prioritizing the control information for the special attack.

[0126] When the player's character 200 performs a special attack, the virtual camera 210 can be controlled, for example, by controlling the position, orientation, angle of view, etc. of the virtual camera 210 so as to generate a frontal image of the player's character 200, then controlling the position, orientation, angle of view, etc. of the virtual camera 210 so as to generate an image in which the player's character 200 and the target character fit within the angle of view, and finally controlling the position, orientation, angle of view, etc. of the virtual camera 210 so as to generate an image in which the target character is displayed superimposed on the back of the player's character 200.

[0127] While the attack action of the special attack is being executed, the target setting information (for example, information about the character to be targeted, information about the display of the target mark 204, etc.) is maintained, and with regard to the control of the virtual camera 210, priority is given to the use of the control information of the virtual camera 210 for the special attack, and upon completion of the attack action of the special attack, control of the virtual camera 210 can be restored to that based on the positional relationship between the player's character 200 and the target character, as described in the above embodiment.

[0128] In this embodiment, the distance Dt from the player's character 200 to the target character is the distance between the representative points of each character in the world coordinate system, but it may also be the distance in the depth direction (difference in Z value) in the viewpoint coordinate system.

[0129] In addition, in this embodiment, the configuration is such that horizontal adjustment processing and vertical adjustment processing are performed as processing to adjust the position and orientation of the virtual camera according to the distance Dt from the player's character 200 to the target character, but it may also be such that only horizontal adjustment processing is performed according to the distance Dt, or that only vertical adjustment processing is performed.

[0130] In this embodiment, an example is given of generating a third-person perspective image in which the virtual camera 210 observes the player's character 200 from behind in a virtual three-dimensional space, but the present invention may also be applied to generating a first-person perspective image in which the viewpoint of the virtual camera 210 is set within the player's character 200.

[0131] In this embodiment, the present invention has been described as being applied to a solo-player action game, but the present invention may also be applied to a multiplayer competitive game, in which case enemy characters may be controllable by other players.

[0132] In this embodiment, an example of applying the present invention to an action game has been described, but the present invention may also be applied to various third-person perspective games, such as sports games such as soccer and basketball, fighting games, and racing games.

[0133] In this embodiment, the present invention has been described as being applied to a game application for a console video game machine, but the present invention may also be applied to a smartphone (information processing device) or an arcade game device (information processing device) installed in a store. Even when the present invention is applied to a smartphone or an arcade game device, the terminal devices may be smartphones or arcade game devices, and multiple terminal devices may communicate with a server device. In this case, the present invention may be applied to the terminal devices or the server device. The present invention may also be applied to a standalone game device that is not connected to the server device 12. [Explanation of symbols]

[0134] 10 Information processing system, 12 Server equipment, 14 Terminal equipment, 16 Network, 20 Server information storage medium, 30 Server storage unit, 36 Server communication unit, 40 server information processing unit, 42 server game processing unit, 48 server communication control unit, 50 player input detection unit, 52 display unit, 54 sound output unit, 56 terminal information storage medium, 60 terminal storage unit, 62 main storage unit, 64 drawing buffer, 66 terminal communication unit, 100 terminal information processing unit, 102 terminal game processing unit, 103 input receiving unit, 104 display control unit, 108 image generation unit, 110 sound generation unit, 112 terminal communication control unit 120 virtual space setting unit, 122 object control unit, 124 target setting unit, 126 virtual camera control unit

Claims

1. A program for generating an image of a virtual space seen from a virtual camera, a virtual space setting unit that sets the virtual space in which a first object and a second object are arranged; a virtual camera control unit that controls a position and an orientation of the virtual camera that follows the first object; causing the computer to function as a target setting unit that can set the second object as a target in response to an input from a player; The virtual camera control unit a program that controls at least one of the position and orientation of the virtual camera according to the distance from the first object to the second object so that, when the second object is set as a target, the first object and the second object are displayed in a predetermined positional relationship in an image of the virtual space seen from the virtual camera.

2. In claim 1, The virtual camera control unit A program that controls at least one of the horizontal position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is within a range from a first distance to a second distance that is longer than the first distance, the farther the second object is from the first object, the closer the second object is to a position on a vertical axis passing through the first object in an image of the virtual space seen from the virtual camera.

3. In claim 2, The virtual camera control unit A program that controls at least one of the horizontal position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is less than or equal to the first distance, the second object is displayed on an axis that forms a first angle with a vertical axis passing through the first object in an image of the virtual space seen from the virtual camera.

4. In claim 1 or 2, The virtual camera control unit A program that controls at least one of the horizontal position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is equal to or greater than the second distance, the second object is displayed on an axis that forms a second angle, which is narrower than the first angle, with respect to a vertical axis passing through the first object in an image of the virtual space seen from the virtual camera.

5. In claim 4, The virtual camera control unit A program that controls at least one of the vertical position and orientation of the virtual camera so that, when the distance from the first object to the second object in the virtual space is within a range from the first distance to the second distance, the farther the second object is from the first object, the higher the position of the virtual camera in the virtual space.

6. In claim 4, The virtual camera control unit A program that controls at least one of the vertical position and orientation of the virtual camera according to the distance from the virtual camera to the first object when the distance from the first object to the second object in the virtual space is equal to or greater than the second distance.

7. In claim 6, The virtual camera control unit a program that controls at least one of the vertical position and orientation of the virtual camera so that, when the distance from the virtual camera to the first object in the virtual space is within a range from a third distance to a fourth distance that is farther than the third distance, the position of the virtual camera in the virtual space becomes lower the farther the virtual camera is from the first object.

8. An information processing device for generating an image of a virtual space viewed from a virtual camera, a virtual space setting unit that sets the virtual space in which a first object and a second object are arranged; a virtual camera control unit that controls a position and an orientation of the virtual camera that follows the first object; a target setting unit that can set the second object as a target in response to an input from a player, The virtual camera control unit When the second object is set as a target, an information processing device controls at least one of the position and orientation of the virtual camera according to the distance from the first object to the second object so that the first object and the second object are displayed in a predetermined positional relationship in an image of the virtual space seen from the virtual camera.

9. An information processing system for generating an image of a virtual space viewed from a virtual camera, a virtual space setting unit that sets the virtual space in which a first object and a second object are arranged; a virtual camera control unit that controls a position and an orientation of the virtual camera that follows the first object; a target setting unit that can set the second object as a target in response to an input from a player, The virtual camera control unit When the second object is set as a target, the information processing system controls at least one of the position and orientation of the virtual camera according to the distance from the first object to the second object so that the first object and the second object are displayed in a predetermined positional relationship in an image of the virtual space seen from the virtual camera.

10. An information processing method for generating an image of a virtual space viewed from a virtual camera, comprising: a virtual space setting step of setting the virtual space in which a first object and a second object are arranged; a virtual camera control step of controlling a position and an orientation of the virtual camera to follow the first object; a target setting step of setting the second object as a target in response to an input from a player; In the virtual camera control step, An information processing method for controlling at least one of the position and orientation of the virtual camera in accordance with the distance from the first object to the second object so that, when the second object is set as a target, the first object and the second object are displayed in a predetermined positional relationship in an image of the virtual space seen from the virtual camera.

Citation Information

Patent Citations

  • Split cover securing apparatus

    JP1985084411A