Information processing device, information processing method, and program

By adjusting the virtual camera's followability based on its height, the system addresses visibility issues, ensuring optimal tracking and reducing user discomfort in virtual environments.

JP2026102929APending Publication Date: 2026-06-23GLEE HOLDINGS CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
GLEE HOLDINGS CO LTD
Filing Date
2026-03-30
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

When the height of a virtual camera can be adjusted by a user, maintaining consistent followability can lead to visibility issues due to the virtual camera's movement.

Method used

The virtual camera's followability is adjusted based on its height, with changes in tracking mode and position to maintain optimal visibility, including altering the line of sight direction and position of the camera in response to user input.

Benefits of technology

This approach allows for dynamic adjustment of the virtual camera's followability according to its height, enhancing user experience by maintaining visibility and reducing issues like screen sickness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026102929000001_ABST
    Figure 2026102929000001_ABST
Patent Text Reader

Abstract

In a configuration where the user can change the height setting of the virtual camera, the tracking performance of the virtual camera can be changed according to the height of the virtual camera. [Solution] A program is disclosed in which a computer is made to execute media processing for moving a display medium in a three-dimensional virtual space having a height direction, camera processing for making a virtual camera follow the display medium when the display medium moves, acquisition processing for acquiring user input, camera height setting processing for setting the height of the virtual camera according to the first user input, and rendering processing for rendering the display medium in the virtual space as seen from the virtual camera, and the camera processing changes the way the virtual camera follows the movement of the display medium when the setting value obtained by the camera height setting processing changes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing apparatus, an information processing method, and a program.

Background Art

[0002] A technique for causing a virtual camera to follow the movement of a target object arranged in a virtual space is known.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] When the set value of the height of the virtual camera can be changed by the user, if the followability of the virtual camera is constant regardless of the height of the virtual camera, there may be inconveniences such as deterioration of visibility when the virtual camera follows.

[0005] Therefore, on one aspect, an object of the present disclosure is to make it possible to change the followability of a virtual camera according to the height of the virtual camera in a configuration where the set value of the height of the virtual camera can be changed by the user.

Means for Solving the Problems

[0006] The invention described in this specification may be collectively referred to as "the present invention." (1) One aspect of the present invention includes media processing for moving a display medium in a three-dimensional virtual space having a height direction, camera processing for causing a virtual camera to follow the display medium when the display medium moves, acquisition processing for acquiring user input, camera height setting processing for setting the height of the virtual camera according to a first user input. The computer is instructed to perform a drawing process that renders the display medium in the virtual space in a representation as seen from the virtual camera. The camera processing changes the way the virtual camera tracks the movement of the display medium when the setting value obtained by the camera height setting process changes. (2) In one embodiment of the present invention, the virtual space includes a field extending along one or more planes or curved surfaces that make an angle greater than 0 degrees with respect to the height direction, The media processing moves the display medium on the field in response to a second user input. (3) In one embodiment of the present invention, the media processing moves the display medium, which is located in a first position at a first time point, to a second position different from the first position at a second time point later than the first time point. The camera processing implements a tracking mode in which, between the first time point and the second time point, if the set value obtained by the camera height setting process is the first height, the line of sight direction of the virtual camera is changed by a first angle toward the second position. The camera processing, when the setting value obtained by the camera height setting process is a second height higher than the first height between the first time point and the second time point, either changes the line of sight direction of the virtual camera toward the second position by a second angle smaller than the first angle, or implements a tracking mode in which the line of sight direction of the virtual camera is not changed. (4) In one embodiment of the present invention, the camera processing calculates a first angle or a second angle based on the angle difference between the line of sight direction of the virtual camera at the first time point and the line of sight direction of the virtual camera facing the second position. (5) In one embodiment of the present invention, the camera processing calculates the first angle and the second angle by multiplying the angle difference by a first coefficient, The first coefficient is greater and closer to 1 when the virtual camera's height is the first height than when the virtual camera's height is the second height. (6) In one embodiment of the present invention, the media processing moves the display medium, which is located in a first position at a first time point, to a second position different from the first position at a second time point later than the first time point. The camera processing, when the set value obtained by the camera height setting process is a first height between the first time point and the second time point, realizes a tracking mode in which the amount of movement of the virtual camera's position is set to a first distance or 0 in the direction along the movement direction from the first position to the second position. The camera processing, when the setting value obtained by the camera height setting process is a second height higher than the first height between the first time point and the second time point, implements a tracking mode in which the amount of movement of the virtual camera's position in the direction along the movement direction is a second distance greater than the first distance. (7) In one embodiment of the present invention, the camera processing calculates the first distance or the second distance based on the distance difference between the first position and the second position and the angle difference between the line of sight direction of the virtual camera at the first time point and the line of sight direction of the virtual camera facing the second position. (8) In one embodiment of the present invention, the camera processing calculates the first distance and the second distance by multiplying the distance difference between the first position and the second position by a second coefficient, The second coefficient is greater and closer to 1 when the virtual camera is at the second height than when the virtual camera is at the first height. (9) In one aspect of the present invention, the tracking of the virtual camera in response to the movement of the display medium by the camera processing is achieved by a combination of tracking the movement of the display medium by a change in the line of sight of the virtual camera and tracking the movement of the display medium by a change in the position of the virtual camera, The camera processing gradually reduces the degree to which the virtual camera tracks changes in the direction of view as the set value from the camera height setting process increases. (10) In one aspect of the present invention, the tracking of the virtual camera in response to the movement of the display medium by the camera processing is achieved by a combination of tracking the movement of the display medium by a change in the line of sight of the virtual camera and tracking the movement of the display medium by a change in the position of the virtual camera, The camera processing gradually increases the degree to which the virtual camera tracks the movement of the display medium as the set value obtained by the camera height setting process increases. (11) One aspect of the present invention is to cause a computer to further perform a reset process that resets the set value obtained by the camera height setting process to an initial value or a predetermined value under predetermined circumstances. (12) In one embodiment of the present invention, the user input to be acquired by the acquisition process includes input via a touch panel or input while wearing a head-mounted display. (13) One aspect of the present invention is a step of moving a display medium in a three-dimensional virtual space having a height direction, A camera processing step is performed to cause a virtual camera to follow the display medium when the display medium moves. The process of obtaining user input, A step of setting the height of the virtual camera in response to a first user input, The process includes drawing the display medium in the virtual space using the representation as seen from the virtual camera, The camera processing step includes changing the way the virtual camera tracks the movement of the display medium when the set value of the virtual camera's height changes. (14) One aspect of the present invention is a media processing unit that moves a display medium in a three-dimensional virtual space having a height direction, A camera processing unit that causes a virtual camera to track the display medium when the display medium moves, A unit that acquires user input, A camera height setting unit sets the height of the virtual camera in response to a first user input, The system includes a drawing processing unit that renders the display medium in the virtual space in a representation as seen from the virtual camera, When the set value by the camera height setting unit changes, the camera processing unit changes the following mode of the virtual camera with respect to the movement of the display medium.

Advantages of the Invention

[0007] On one side, according to the present disclosure, in a configuration where the set value of the height of the virtual camera can be changed by the user, it becomes possible to change the followability of the virtual camera according to the height of the virtual camera.

Brief Description of the Drawings

[0008] [Figure 1] It is a block diagram of the game system according to the present embodiment. [Figure 1A] It is a diagram showing an example of the hardware configuration of the server device. [Figure 2] It is a diagram showing an example of the field image. [Figure 3] It is a plan view showing the entire field surface forming the field object and the background surface forming the background object. [Figure 4] It is a perspective view showing a part of the field surface and the background surface when viewed in an oblique direction including the direction component of the arrow R0 in FIG. 3. [Figure 5] It is an explanatory diagram of the camera parameters of the virtual camera. [Figure 6] It is an example of a functional block diagram regarding the drawing function of the server device. [Figure 7] It is an image diagram of a map showing each set value of the follow degree parameter in association with each value of the height parameter. [Figure 8] It is an explanatory diagram showing an example of the relationship between the height parameter and the follow degree parameter. [Figure 9] It is a schematic flowchart showing an example of the flow of the process executed by the orientation change unit. [Figure 10] It is a schematic flowchart showing an example of the flow of the process executed by the first movement processing unit. [Figure 11]This is a schematic flowchart showing an example of object tracking processing that may be performed by the tracking processing unit in other embodiments. [Figure 12] This is a schematic flowchart illustrating an example of object tracking processing that may be performed by the tracking processing unit in further embodiments. [Modes for carrying out the invention]

[0009] The embodiments will be described in detail below with reference to the attached drawings. Note that, for ease of viewing, only some of the parts with the same attribute that exist in multiple locations may be assigned reference numerals in the attached drawings.

[0010] (Overview of the game system) Referring to Figure 1, an overview of a game system 1 according to one embodiment of the present invention will be described. Figure 1 is a block diagram of the game system 1 according to this embodiment. Figure 2 is a diagram showing an example of a field image. The game system 1 comprises a server device 10 and one or more terminal devices 20. For simplicity, three terminal devices 20 are shown in Figure 1, but the number of terminal devices 20 can be two or more.

[0011] The server device 10 is an information processing device such as a server managed by a game operator. The terminal device 20 is an information processing device used by a user, such as a mobile phone, smartphone, tablet terminal, PC (Personal Computer), or game device. The terminal device 20 is capable of executing the game application according to this embodiment. The game application may be received by the terminal device 20 from the server device 10 or a predetermined application distribution server via the network 30, or it may be pre-stored in a storage device provided in the terminal device 20 or in a storage medium such as a memory card that the terminal device 20 can read. The server device 10 and the terminal device 20 are connected to each other via the network 30 so as to be able to communicate. For example, the server device 10 and the terminal device 20 cooperate to perform various processes related to the game.

[0012] Network 30 may include wireless communication networks, the Internet, VPNs (Virtual Private Networks), WANs (Wide Area Networks), wired networks, or any combination thereof.

[0013] Here, we will describe the overview of the game according to this embodiment. The game according to this embodiment is, for example, a role-playing game or a simulation game, and a game medium is used when the game is played. For example, the game according to this embodiment is a game in which the game medium is moved on a field in a three-dimensional virtual space.

[0014] Game media refers to electronic data used in a game, and includes any medium such as cards, items, points, in-service currency (or in-game currency), tickets, characters, avatars, parameters, etc. Game media may also refer to game-related information such as level information, status information, game parameter information (such as health points and attack power), or ability information (such as skills, abilities, spells, jobs, etc.). Game media is electronic data that can be acquired, owned, used, managed, exchanged, synthesized, enhanced, sold, discarded, or gifted by the user within the game, but the manner in which game media are used is not limited to those explicitly stated herein.

[0015] Unless otherwise specified, "game media owned by a user" refers to game media associated with the user's user ID. "Assigning game media to a user" means associating game media with the user ID. "Discarding game media owned by a user" means dissolving the association between the user ID and the game media. "Consuming game media owned by a user" means that dissolving the association between the user ID and the game media may result in some effect or impact within the game. "Selling game media owned by a user" means dissolving the association between the user ID and the game media, and associating the user ID with other game media (e.g., virtual currency or items). "Transferring game media owned by one user to another user" means dissolving the association between one user's user ID and the game media, and associating the game media with the other user's user ID.

[0016] The game according to this embodiment may optionally include, for example, a first game part, a second game part, and a third game part.

[0017] In the first game part, the user controls a user character to explore a field in a virtual space and progress through the game. Specifically, the user character moves around the field in response to user actions. The field contains various areas such as towns and dungeons, and various events occur depending on the area, such as conversations with town resident characters and battles with enemy characters encountered in dungeons. The main story of the game progresses as these events are completed. Also, in the first game part, if the user wins a battle against an enemy character, for example, the user may be awarded game media such as items, virtual currency, or characters.

[0018] In the second game part, the user changes their possession of game media. The user collects various game media, such as items, virtual currency, and characters. Specifically, when the user character moves to a specific area on the field, such as a mining area or a fishing pond, or when a specific game media such as a character is selected (for example, by touching the screen), a sub-event occurs in which game media can be acquired. Sub-events include, but are not limited to, progressing through sub-stories and playing mini-games. Depending on the results of the sub-event, various game media may be granted to the user.

[0019] In the third game part, the user changes parameters related to the game medium. For example, the user strengthens their character. Specifically, as described above, various game parameters of the user character change as the game medium granted to the user in the first and second game parts is consumed. Game parameters include, but are not limited to, the user character's level, HP, attack power, defense power, attributes, and skills. The user character is strengthened in accordance with the changes in the user character's game parameters. Strengthening the user character increases the probability that the user character will win battles against enemy characters in the first game part.

[0020] Thus, in the game according to this embodiment, the user repeatedly plays through the first game part, the second game part, and the third game part.

[0021] (Server configuration) The configuration of the server device 10 will be described in detail. The server device 10 is composed of server computers. The server device 10 may be realized by multiple server computers working together.

[0022] The server device 10 comprises a server communication unit 11, a server storage unit 12, and a server control unit 13.

[0023] The server communication unit 11 includes an interface for communicating with external devices wirelessly or via wired connections to send and receive information. The server communication unit 11 may include, for example, a wireless LAN (Local Area Network) communication module or a wired LAN communication module. The server communication unit 11 can send and receive information with the terminal device 20 via the network 30.

[0024] The server memory unit 12 is, for example, a memory device that stores various information and programs necessary for processing the game. For example, the server memory unit 12 stores the game application.

[0025] Furthermore, the server storage unit 12 stores various images (texture images) for projection (texture mapping) onto various objects placed in a three-dimensional virtual space.

[0026] For example, the server memory unit 12 stores an image of a user character. In this embodiment, only one user character is represented in the virtual space, but two or more user characters may be represented. Furthermore, user characters used in the virtual space may be exchangeable between users as appropriate, or they may be circulated as tokens. In addition, user characters may function as the user's avatar.

[0027] Furthermore, the server storage unit 12 stores images related to the game medium, such as buildings, walls, trees, or NPCs (Non-Player Characters).

[0028] Furthermore, the server storage unit 12 stores background images, such as the sky or a distant landscape. Hereinafter, objects onto which the background image is projected will also be referred to as background objects. Note that multiple types of background images may be prepared and used interchangeably.

[0029] Furthermore, the server memory unit 12 stores an image of a field (for example, the ground) (field image). The field image is projected onto the field surface, which will be described later. Hereinafter, an object onto which the field image is projected onto the field surface will also be referred to as a field object. The field object is used as a virtual field (ground) within the virtual space.

[0030] Here, the field image has a texture coordinate system with mutually orthogonal u-axis and v-axis, as shown in Figure 2, for example. In this embodiment, the field image is defined as having a horizontal path 14, a vertical path 15, and a curved path 17. The horizontal path 14, the vertical path 15, and the curved path 17 form paths through which user characters and the like can move within the field object. Although Figure 2 shows a specific path configuration, the path configuration is arbitrary. Also, in Figure 2, the field image is rectangular, but it may take other forms. Furthermore, multiple types of field images may be prepared and used interchangeably.

[0031] The server control unit 13 is a CPU that implements specific functions by loading a dedicated microprocessor or a specific program. For example, the server control unit 13 executes game applications in response to user operations on the display unit 23. The server control unit 13 also performs various processes related to the game.

[0032] For example, the server control unit 13 displays a field image on the display unit 23, which shows field objects and user characters. The server control unit 13 also moves the user character relative to the field object within the virtual space, based on predetermined user operations. Specific details of the server control unit 13's processing will be described later.

[0033] Figure 1A shows an example of the hardware configuration of server device 10.

[0034] The server device 10 includes a CPU (Central Processing Unit) 111, RAM (Random Access Memory) 112, ROM (Read Only Memory) 113, auxiliary storage device 114, drive device 115, and communication interface 117 connected by a bus 119, as well as a wired transceiver 125 and a wireless transceiver 126 connected to the communication interface 117.

[0035] The auxiliary storage device 114 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and is a storage device that stores data related to application software, etc. The wired transceiver unit 125 includes a transceiver capable of communicating using a wired network such as network 30 (see Figure 1). Peripheral devices (not shown) may be connected to the wired transceiver unit 125. However, some or all of the peripheral devices (not shown) may be connected to the bus 119 or to the wireless transceiver unit 126.

[0036] The wireless transceiver 126 is a transceiver capable of communicating using a wireless network such as network 30 (see Figure 1). The wireless network may include a mobile phone wireless communication network, the internet, a VPN (Virtual Private Network), a WAN (Wide Area Network), etc. The wireless transceiver 126 may also include a Near Field Communication (NFC) unit, a Bluetooth (registered trademark) communication unit, a Wi-Fi (Wireless-Fidelity) transceiver unit, an infrared transceiver unit, etc.

[0037] The server device 10 may also be connectable to the recording medium 116. The recording medium 116 stores a predetermined program. The program stored on this recording medium 116 is installed on the auxiliary storage device 114 of the server device 10 via the drive device 115. The installed predetermined program becomes executable by the CPU 111 of the server device 10. For example, the recording medium 116 may be a recording medium that records information optically, electrically, or magnetically, such as a CD (Compact Disc)-ROM, flexible disk, or magneto-optical disk, or a semiconductor memory that records information electrically, such as a ROM or flash memory. Note that the recording medium 116 does not include a carrier wave.

[0038] (Terminal device configuration) The configuration of the terminal device 20 will now be described in detail. As shown in Figure 1, the terminal device 20 comprises a terminal communication unit 21, a terminal storage unit 22, a display unit 23, an input unit 24, and a terminal control unit 25.

[0039] The terminal communication unit 21 includes an interface for communicating with external devices wirelessly or via wired connections to send and receive information. The terminal communication unit 21 may include, for example, a wireless communication module compatible with mobile communication standards such as LTE (Long Term Evolution) (registered trademark), a wireless LAN communication module, or a wired LAN communication module. The terminal communication unit 21 can send and receive information with the server device 10 via the network 30.

[0040] The terminal storage unit 22 includes, for example, a primary storage device and a secondary storage device. For example, the terminal storage unit 22 may include semiconductor memory, magnetic memory, or optical memory. The terminal storage unit 22 stores various information and programs used for game processing, which are received from the server device 10. The information and programs used for game processing may be obtained from an external device via the terminal communication unit 21. For example, the game application program may be obtained from a predetermined application distribution server. Hereinafter, the application program will also be simply referred to as the application. Also, for example, some or all of the above-mentioned information about the user and information about the game medium that is the opponent may be obtained from the server device 10.

[0041] The display unit 23 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The display unit 23 is capable of displaying a variety of images. The display unit 23 is configured, for example, as a touch panel and functions as an interface for detecting various user operations. The display unit 23 may also be implemented as a head-mounted display.

[0042] The input unit 24 includes an input interface, for example, a touch panel integrated with the display unit 23. The input unit 24 is capable of receiving user input to the terminal device 20. The input unit 24 may also include physical keys, or any other input interface, such as a pointing device like a mouse. The input unit 24 may also include a controller with a built-in accelerometer.

[0043] The terminal control unit 25 includes one or more processors. The terminal control unit 25 controls the operation of the entire terminal device 20.

[0044] The terminal control unit 25 transmits and receives information via the terminal communication unit 21. For example, the terminal control unit 25 receives various information and programs used for game processing from at least one of the server device 10 and other external servers. The terminal control unit 25 stores the received information and programs in the terminal storage unit 22.

[0045] The terminal control unit 25 launches the game application in response to user input. The terminal control unit 25 works in cooperation with the server device 10 to execute the game. For example, the terminal control unit 25 displays various images used in the game (for example, various field images described later) on the display unit 23. A GUI (Graphical User Interface) that detects user input may also be displayed on the screen. The terminal control unit 25 can detect user input on the screen via the input unit 24. For example, the terminal control unit 25 can detect user taps, long taps, flicks, and swipes. A tap is an operation in which the user touches the display unit 23 with their finger and then releases their finger. The terminal control unit 25 transmits the operation information to the server device 10.

[0046] The hardware configuration of the terminal device 20 may be substantially the same as that of the server device 10 described above with reference to Figure 1A. However, the hardware configuration of the terminal device 20 may include a display device corresponding to the display unit 23, in addition to the hardware configuration of the server device 10 described above with reference to Figure 1A.

[0047] (Graphics features in games) The server control unit 13 works in cooperation with the terminal device 20 to display a field image on the display unit 23 and updates the field image according to the progress of the game. In this embodiment, the server control unit 13 works in cooperation with the terminal device 20 to render objects placed in a three-dimensional virtual space as they appear from the perspective of a virtual camera placed in the virtual space.

[0048] The rendering process described below is implemented by the server control unit 13, but in other embodiments, some or all of the rendering process described below may be implemented by the server control unit 13. For example, in the following description, at least a portion of the field image displayed on the terminal device 20 may be a web display, which is displayed on the terminal device 20 based on data generated by the server device 10, and at least a portion of the screen may be a native display, which is displayed by a native application installed on the terminal device 20. Furthermore, not only the rendering process, but also processes that do not involve other players, such as multiplayer, may be implemented by the terminal device 20. In other words, the terminal device 20 may perform most of the processing necessary to implement the game, and the server device 10 may only be involved in the transmission and reception of other information. In this case, the transmission and reception of other information may include, for example, the transmission from the server device 10 of information necessary as the game progresses (such as additional scenarios and characters), the transmission (save) of the game progress to the server device 10, the transmission from the server device 10 of information about other players during multiplayer, and the transmission from the server device 10 of the player's own information to other players.

[0049] Figures 3 and 4 are explanatory diagrams of the field view of the virtual camera 60, showing examples of field objects and background objects. Figure 3 is a plan view showing the entire field surface 70 that forms the field object and the background surface 72 that forms the background object, while Figure 4 is a perspective view showing a portion of the field surface 70 and background surface 72 when viewed in an oblique direction including the direction component of arrow R0 in Figure 3. The user character 3 and the virtual camera 60 are also schematically illustrated in Figure 4. In Figure 4, the background surface 72 is shown in the form of a background object onto which a background image including images of clouds and the sun is projected.

[0050] In the following explanation, the movement of various objects refers to movement within the virtual space. Furthermore, the visible range of various objects refers to the field of view of the virtual camera 60 (i.e., the range within the field of view 62 of the virtual camera 60).

[0051] Figure 3 shows the x, y, and z coordinate systems (hereinafter also referred to as the "global coordinate system") as a spatial coordinate system in the virtual space. The origin of the global coordinate system may be fixed at any position. In the following, the z direction corresponds to the height direction, with the positive side of the z direction being the upper side of the virtual space and the negative side being the lower side of the virtual space. In the following, the terms x direction, y direction, and z direction mean the direction parallel to the x-axis, the direction parallel to the y-axis, and the direction parallel to the z-axis, respectively. For example, unless otherwise specified, the z direction represents the direction parallel to the z-axis passing through any point in the xy-plane.

[0052] The field surface 70 is positioned in correspondence with the xy plane of the virtual space. In this embodiment, as an example, the field surface 70 is positioned in correspondence with the xy plane such that the u-axis, v-axis, and origin of the texture coordinate system of the projected field image coincide with the x-axis, y-axis, and origin of the global coordinate system. In Figure 3, the u-axis, v-axis, and origin of the texture coordinate system are shown to be separated from the x-axis, y-axis, and origin of the global coordinate system, as this represents the state before correspondence is made. Translational movement (movement in a straight line) of the field surface 70 is not possible in the x, y, and z directions. However, in other embodiments, translational movement of the field surface 70 in the global coordinate system may be possible.

[0053] The field surface 70 extends in a manner that intersects with the z-direction. Note that "intersection" includes concepts other than orthogonality. When a plane parallel to the xy-plane is considered the normal state, the field surface 70 may be deformable from the normal state. Furthermore, the field surface 70 may have various variations relative to the plane parallel to the xy-plane, such as uneven surfaces or inclined surfaces. Furthermore, the field surface 70 may have a curved surface.

[0054] Furthermore, when a field image is projected onto the field surface 70, under normal circumstances, it can inherit the texture coordinates of the projected field image. In other words, each position on the field surface 70 onto which the field image is projected can be identified in effect using the texture coordinate system of the field image (see Figure 2). Hereafter, the coordinate system used to identify each position on the field surface 70 will coincide with the texture coordinate system of the field image projected onto the field surface 70 and will also be referred to as the "field coordinate system."

[0055] The background surface 72 extends in the z-direction of the background object. However, in other embodiments, the background surface 72 may be positioned at an angle to the z-direction. In Figure 3, the background surface 72 is positioned to surround the field surface 70. In this case, the background surface 72 may be fixed with respect to the global coordinate system or may be movable only in the z-direction. However, in other embodiments, the background surface 72 may be positioned to surround only a portion of the field surface 70. In this case, the background surface 72 may rotate in accordance with the rotation of the virtual camera 60. In yet another embodiment, the background surface 72 may be deformable, similar to the field surface 70.

[0056] Figure 5 is an explanatory diagram of the camera parameters of the virtual camera 60. Figure 5 shows the field surface 70 positioned in the global coordinate system. For the purposes of this explanation, the origin of the field coordinate system is assumed to be the same as the origin of the global coordinate system, the u-axis of the field coordinate system (= u-axis of the texture coordinate system) coincides with the x-axis of the global coordinate system, and the v-axis of the field coordinate system (= v-axis of the texture coordinate system) coincides with the y-axis of the global coordinate system. In the following explanation, unless otherwise specified, the field surface 70 refers to the field surface 70 with the field image projected onto it (the field surface 70 of the field object).

[0057] In this embodiment, as an example, the camera parameters include two position parameters (Ximc, Yimc), a height parameter H, an orientation parameter θ, and an angle of attack parameter ψ. Once the values ​​of all these parameters are determined, the virtual camera 60 can be uniquely positioned relative to the global coordinate system (and consequently, the field coordinate system). Note that the camera parameters may also be set in the field coordinate system.

[0058] The position parameter Ximc is the x-coordinate of the virtual camera 60, which is the x-coordinate of the intersection point on the xy-plane of a line extended in the z-direction from the reference position of the virtual camera 60 (e.g., the camera center position). The position parameter Yimc is the y-coordinate of the virtual camera 60, which is the y-coordinate of the intersection point on the xy-plane of a line extended in the z-direction from the reference position of the virtual camera 60. The orientation parameter θ is the angle between the projection vector V' of the line of sight direction V on the xy-plane and the x-axis. The angle of attack parameter ψ is the angle between the line of sight direction V and the xy-plane.

[0059] Furthermore, the method for setting camera parameters is not limited to this, and they can be set in a variety of ways. In other words, these camera parameters are for explanatory purposes only, and in actual processing, different parameters may be used equivalently. Also, the degrees of freedom of the virtual camera 60 may be any combination of translation of each of the three axes and rotation around the three axes.

[0060] Figure 6 is an example of a functional block diagram related to the drawing function of the server device 10. Figure 7 is an illustrative map showing each setting value of the tracking degree parameter A1 corresponding to each value of the height parameter H. Figure 8 is an explanatory diagram showing an example of the relationship between the height parameter H and the tracking degree parameter A1.

[0061] As shown in Figure 6, the server device 10 includes a drawing information storage unit 130, an operation information acquisition unit 132, a drawing data transmission unit 134, and a drawing processing unit 140. The drawing information storage unit 130 can be implemented by the server storage unit 12 shown in Figure 1, the operation information acquisition unit 132 and the drawing data transmission unit 134 can be implemented by the server communication unit 11 shown in Figure 1, and the drawing processing unit 140 can be implemented by the server control unit 13 shown in Figure 1. In the following, regarding the processing of each unit, "calculation" is a concept that includes processing that only reads calculated values, set values, etc., stored as data.

[0062] The drawing information storage unit 130 can be implemented by the server storage unit 12 shown in Figure 1 (for example, the auxiliary storage device 114 shown in Figure 1A). Furthermore, various processing units such as the operation information acquisition unit 132 can be implemented by the server control unit 13 and the server communication unit 11 shown in Figure 1. Specifically, the various processing units such as the operation information acquisition unit 132 can be implemented by the CPU 111 shown in Figure 1A executing one or more programs stored in the storage device shown in Figure 1A (for example, the ROM 113).

[0063] The drawing information storage unit 130 stores various information and data used by the drawing processing unit 140.

[0064] In this embodiment, the drawing information storage unit 130 stores the setting values ​​of the tracking degree parameter A1, which is used when executing the object tracking process described later. In this embodiment, each setting value of the tracking degree parameter A1 represents the degree of tracking due to the rotation of the virtual camera 60.

[0065] In this embodiment, each setting value of the tracking degree parameter A1 differs according to the value of the height parameter H. In the example shown in Figure 7, each setting value of the tracking degree parameter A1 is defined in correspondence with each value of the height parameter H. In Figure 7, each value of the height parameter H changes by "5", but the amount of change (resolution) is arbitrary.

[0066] In this embodiment, as an example, the value of the tracking degree parameter A1 is a relative value with 100% tracking set to "1". Therefore, the closer the value of the tracking degree parameter A1 is to 1, the higher the tracking degree. Note that the tracking degree parameter A1 represents the tracking degree with respect to rotation, and is inversely related to the tracking degree with respect to movement (described later).

[0067] In this embodiment, the value of the tracking degree parameter A1 increases as the value of the height parameter H decreases (approaches 0). The range of change of the value of the height parameter H is arbitrary, but in this embodiment, as an example, the lower limit is set to "0". A value of height parameter H = 0 represents the height on the field surface 70. That is, the value of the height parameter H represents the height relative to the field surface 70. As mentioned above, the field surface 70 may have irregularities such as bumps and dips, and in this case, the value of the height parameter H may represent the height considering the irregularities, or it may represent the height ignoring the irregularities.

[0068] The value of the tracking degree parameter A1, which corresponds to the value of the height parameter H, may be calculated using a function or the like. For example, Figure 8 schematically shows a function that represents the relationship between the value of the height parameter H and the value of the tracking degree parameter A1. In this case, the relationship between the value of the height parameter H and the value of the tracking degree parameter A1 is proportional. However, the relationship may be nonlinear if the value of the tracking degree parameter A1 increases toward 1 as the value of the height parameter H decreases (approaches 0). In the example shown in Figure 8, the value of the height parameter H, hmax, corresponds to the maximum value (upper limit) of the variable range of the value of the height parameter H. However, in another embodiment, the maximum value of the variable range of the value of the height parameter H may be even greater than the value hmax. In this case, if the value of the height parameter H exceeds the value hmax, the value of the tracking degree parameter A1 will remain unchanged at 0.

[0069] The operation information acquisition unit 132 acquires user operation information. User operation information is generated in response to various operations performed by the user on the terminal device 20. Operation information may also be generated by touch input on the touch panel, various operations performed by the user while wearing a head-mounted display (for example, operations to move a controller with a built-in accelerometer), gestures, voice input, etc. In this embodiment, the operation information includes instructions for moving a predetermined object and instructions for the height of the virtual camera 60. Instructions for moving a predetermined object are instructions to change the position of the predetermined object relative to the field object (hereinafter also simply referred to as "position of the predetermined object"), and may include instructions for the direction of movement and the amount of movement. Instructions for the height of the virtual camera 60 are instructions to change the value of the height parameter H of the virtual camera 60 described above. The value of the height parameter H of the virtual camera 60 may be changeable linearly or nonlinearly within a predetermined range. The predetermined object is arbitrary, but in this embodiment, it is preferably a user character.

[0070] The drawing data transmission unit 134 transmits the drawing data for the field image generated by the drawing processing unit 140 to the terminal device 20. As described above, in other embodiments, some or all of the drawing processing of the drawing processing unit 140 may be implemented on the terminal device 20 side. For example, if the drawing processing unit 140 is implemented by the terminal device 20, the drawing data transmission unit 134 may be omitted.

[0071] The drawing processing unit 140 generates drawing data for the field image based on various data in the drawing information storage unit 130 and operation information from the terminal device 20.

[0072] The drawing processing unit 140 includes a camera altitude changing unit 141, a tracking processing unit 142, a second movement processing unit 144, and a drawing data generation unit 148.

[0073] The camera altitude adjustment unit 141 includes a user setting processing unit 1410 (an example of a camera height setting unit) and a reset processing unit 1412.

[0074] The user setting processing unit 1410 operates when the reset processing unit 1412 is not operating. The user setting processing unit 1410 changes the value of the height parameter H of the virtual camera 60 in response to the height instruction from the user. The height instruction from the user may include instructions that directly specify the z coordinate or instructions to increase or decrease from the previous value. In processing cycles where there is no height instruction from the user, the user setting processing unit 1410 sets the current value to the same as the previous value.

[0075] The reset processing unit 1412 operates under predetermined conditions and performs a reset process to reset the value of the height parameter H of the virtual camera 60 to its initial value or a predetermined value. The predetermined conditions are arbitrary, but may include situations in which the user's visibility (e.g., visibility of items on field objects) is good or screen sickness is reduced when the value of the height parameter H of the virtual camera 60 is at its initial value or a predetermined value.

[0076] For example, when a scene changes (transition) from one scene to another, the height of the virtual camera 60 may be pre-set for the other scene. In this case, the height of the virtual camera 60 may be reset to the pre-set value (predetermined value). Scene changes (transitions) may include moving from a forest field to a town field, etc. Also, the reset process may be executed when a predetermined event occurs, such as the occurrence of a conversation event or a battle event. In this case, the height of the virtual camera 60 is forcibly reset to a height suitable for the event or field object, which reduces the possibility of impaired visibility of the event or field object. Also, in this case, the height of the virtual camera 60 may be returned to its original value again. For example, if the reset process is executed when a predetermined event occurs, the height of the virtual camera 60 may be returned to its original value when the predetermined event ends. Also, if the reset process is executed when a predetermined object moves into a predetermined area, the height of the virtual camera 60 may be returned to its original value when it moves out of that predetermined area.

[0077] The tracking processing unit 142 executes object tracking processing to make the virtual camera follow the predetermined object when the predetermined object moves within the virtual space.

[0078] In this embodiment, as an example, the tracking processing unit 142 performs an update process (calculation process) of the camera parameters (X, Y, θ, ψ) of the virtual camera 60 at predetermined intervals (for example, at each frame interval) to realize object tracking. In the following, with respect to the parameter values, "previous value" means the value calculated in the previous processing cycle based on the execution of the current processing cycle, and "current value" means the value calculated at the execution of the current processing cycle.

[0079] The tracking processing unit 142 includes a direction changing unit 1420, a first movement processing unit 1422, an angle of attack changing unit 1423, and an update reflection unit 1424.

[0080] The orientation change unit 1420 updates (changes) the value of the orientation parameter θ of the virtual camera 60.

[0081] In this embodiment, the orientation change unit 1420 calculates the current value of the orientation parameter θ of the virtual camera 60 based on the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current values ​​of the position parameters (Xchr, Ychr) of a predetermined object (see Figure 5), and the current value of the height parameter H.

[0082] Figure 9 is a schematic flowchart showing an example of the process performed by the orientation changing unit 1420.

[0083] In step S900, the orientation change unit 1420 obtains the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current values ​​of the position parameters (Xchr, Ychr) of the predetermined object, and the current value of the height parameter H. The current value of the height parameter H is as described above in relation to the camera altitude change unit 141. The method for calculating the current values ​​of the position parameters (Xchr, Ychr) of the predetermined object will be described later in relation to the second movement processing unit 144.

[0084] In step S902, the orientation change unit 1420 calculates the target line of sight projection vector V1' based on the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 and the current values ​​of the position parameters (Xchr, Ychr) of the predetermined object. The target line of sight projection vector V1' may be calculated as the projection vector V' on the xy plane of the line of sight direction V of the virtual camera 60 when it is facing the predetermined object from the current position of the virtual camera 60. Specifically, the target line of sight projection vector V1' may be calculated as (Xchr-Ximc, Ychr-Yimc).

[0085] In step S904, the orientation change unit 1420 calculates the angular difference Δθ0 between the projection vector V' (current value) of the current virtual camera 60 and the target line-of-sight projection vector V1' calculated in step S902. The angular difference Δθ0 is the angle between the two vectors and can be calculated using the dot product, etc. For the sake of explanation, the angular difference Δθ0 is calculated by viewing from the positive z-direction as shown in Figure 5, with counterclockwise rotation being the positive direction.

[0086] In step S906, the orientation change unit 1420 calculates the current value of the tracking degree parameter A1 based on the current value of the height parameter H. The current value of the tracking degree parameter A1 may be calculated using the method described above with reference to Figures 7 and 8.

[0087] In step S908, the orientation change unit 1420 calculates the change angle Δθ for the current processing cycle related to the orientation parameter θ of the virtual camera 60 to be changed in the current processing cycle, based on the angle difference Δθ0 obtained in step S904 and the current value of the tracking degree parameter A1 calculated in step S906. In this embodiment, the change angle Δθ for the current cycle is calculated by multiplying the current value of the angle difference Δθ0 by the current value of the tracking degree parameter A1. That is, the change angle Δθ for the current cycle = current value of angle difference Δθ0 × current value of tracking degree parameter A1.

[0088] In step S910, the direction changing unit 1420 calculates the current value of the direction parameter θ based on the previous value of the direction parameter θ and the change angle Δθ for the current period calculated in step S908. The current value of the direction parameter θ is calculated by adding the change angle Δθ for the current period to the previous value of the direction parameter θ. That is, current value of direction parameter θ = previous value of direction parameter θ + change angle Δθ for the current period.

[0089] In this embodiment, instead of directly reflecting the angle difference Δθ0 obtained in step S904 into the current value of the direction parameter θ, the calculation method of the current value of the direction parameter θ is varied according to the value of the tracking degree parameter A1. That is, the current value of the direction parameter θ is calculated in a different manner according to the current value of the height parameter H. This makes it possible to change the tracking manner of the line of sight of the virtual camera 60 according to the current value of the height parameter H.

[0090] More specifically, the value of the tracking degree parameter A1 is, as described above, a value within the range of 0 to 1. When the value of the tracking degree parameter A1 changes within the range of 0 to 1, the range of possible values ​​for the change angle Δθ in the current period is 0 ≤ change angle Δθ in the current period ≤ the current value of the angle difference Δθ0. Also, in this embodiment, as described above, the value of the tracking degree parameter A1 increases towards 1 as the value of the height parameter H decreases towards 0. Therefore, according to this embodiment, the smaller the value of the height parameter H (i.e., the lower the height of the virtual camera 60), the greater the degree of tracking by the rotation of the virtual camera 60 in response to the movement of a predetermined object. In other words, the larger the value of the height parameter H (i.e., the higher the height of the virtual camera 60), the greater the degree of tracking by the rotation of the virtual camera 60 in response to the movement of a predetermined object.

[0091] The first movement processing unit 1422, in cooperation with the orientation change unit 1420, updates the values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60.

[0092] In this embodiment, the first movement processing unit 1422 calculates the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 based on the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the previous and current values ​​of the position parameters (Xchr, Ychr) of a predetermined object (see Figure 5), and the current value of the orientation parameter θ.

[0093] Figure 10 is a schematic flowchart showing an example of the flow of processing performed by the first movement processing unit 1422.

[0094] In step S1000, the first movement processing unit 1422 obtains the previous and current values ​​of the position parameters (Xchr, Ychr) of a predetermined object, as well as the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 and the current value of the orientation parameter θ.

[0095] In step S1002, the first movement processing unit 1422 calculates the movement vector of a predetermined object based on the previous and current values ​​of the position parameters (Xchr, Ychr) of the predetermined object.

[0096] In step S1004, the first movement processing unit 1422 calculates the value of the distance parameter based on the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current value of the orientation parameter θ, and the movement vector of the predetermined object obtained in step S1002. The distance parameter represents the distance (distance in the xy plane) from the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 to the movement vector along the direction of the orientation parameter θ's current value.

[0097] In step S1006, the first movement processing unit 1422 determines whether the value of the distance parameter calculated in step S1004 is within a predetermined range. The predetermined range is defined by predetermined lower and upper limits. The predetermined range may be fixed or may be changeable by the user. If the determination result is "YES", the process proceeds to step S1010; otherwise, the process proceeds to step S1010 via step S1008.

[0098] In step S1008, the first movement processing unit 1422 corrects the value of the distance parameter to either a lower or upper limit. For example, if the value of the distance parameter calculated in step S1004 exceeds the upper limit of a predetermined range, the first movement processing unit 1422 adjusts the value of the distance parameter to match the upper limit. Also, if the value of the distance parameter calculated in step S1004 falls below the lower limit of a predetermined range, the first movement processing unit 1422 adjusts the value of the distance parameter to match the lower limit.

[0099] In step S1010, the first movement processing unit 1422 calculates the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 based on the current value of the orientation parameter θ and the value of the distance parameter (the value calculated in step S1004 or the value after correction in step S1008). That is, the first movement processing unit 1422 calculates the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 that satisfy the orientation of the current value of the orientation parameter θ and the value of the distance parameter. Specifically, the first movement processing unit 1422 calculates the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 as positions offset by the value of the distance parameter from the current values ​​of the position parameters (Xchr, Ychr) of a predetermined object, along the direction of the orientation of the current value of the orientation parameter θ.

[0100] In this manner, according to the process shown in Figure 10, the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 can be calculated in such a way that the distance between the current values ​​of the position parameters (Xchr, Ychr) of the virtual camera 60 and the current values ​​of the position parameters (Xchr, Ychr) of a predetermined object falls within a predetermined range.

[0101] In the process shown in Figure 10, the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 are calculated in such a manner that the projection distance between the predetermined object and the virtual camera 60 in the xy plane falls within a predetermined range. However, the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 may also be calculated in such a manner that the spatial distance between the predetermined object and the virtual camera 60 falls within a predetermined range.

[0102] The angle of attack changing unit 1423 calculates the current value of the angle of attack parameter ψ based on the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current value of the height parameter H, and the current values ​​of the position (Xchr, Ychr) of a predetermined object. The angle of attack changing unit 1423 calculates the current value of the angle of attack parameter ψ so that the line of sight direction of the virtual camera 60 passes through the current values ​​of the position (Xchr, Ychr) of the predetermined object.

[0103] The update reflection unit 1424 positions the virtual camera 60 relative to the global coordinate system or the field coordinate system based on the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current value of the orientation parameter θ, the current value of the height parameter H, and the current value of the angle of attack parameter ψ. As a result, the virtual camera 60 is positioned relative to the field plane 70 (and the field objects thereof).

[0104] The second movement processing unit 144 updates the position of a predetermined object relative to the field object when predetermined movement conditions are met. The predetermined object can be any object whose position relative to the field object can change, but preferably, as described above, it is a user character. The predetermined movement conditions can be any, but may be met, for example, by operation information (movement instructions for the predetermined object) acquired by the operation information acquisition unit 132, or based on the progress of the game or other factors (for example, factors that generate automatic movement instructions from the computer). The position of the predetermined object may be defined, for example, in the texture coordinate system of the field image.

[0105] For example, if the operation information acquired by the operation information acquisition unit 132 is an instruction to move a predetermined object, the second movement processing unit 144 updates the position of the predetermined object in accordance with the instruction. As mentioned above, movement instructions can be input by touch input on a touch panel or input while wearing a head-mounted display.

[0106] The drawing data generation unit 148 generates a field image (drawing data) that includes representations of various objects (including user characters) as seen from the virtual camera 60.

[0107] According to this embodiment, the execution mode (degree of tracking) of the object tracking process can be made different depending on the height of the virtual camera 60. Specifically, the higher the height of the virtual camera 60, the lower the degree of tracking of the rotation (orientation) of the virtual camera 60 in relation to the movement of a predetermined object. In other words, the lower the height of the virtual camera 60, the higher the degree of tracking of the movement (translation) of the virtual camera 60 in relation to the movement of a predetermined object. This effectively reduces the inconveniences (such as poor operability and motion sickness) that tend to occur when the degree of tracking of the rotation (orientation) of the virtual camera 60 is relatively high when the height of the virtual camera 60 is relatively high.

[0108] Furthermore, object tracking can be achieved in such a manner that the lower the height of the virtual camera 60, the greater the degree to which the virtual camera 60 tracks the movement of the predetermined object in terms of rotation (orientation). In other words, object tracking can be achieved in such a manner that the lower the height of the virtual camera 60, the less the degree to which the virtual camera 60 tracks the movement (translation) of the predetermined object. As a result, when the height of the virtual camera 60 is relatively low, the view of the virtual camera 60 from behind the predetermined object (viewpoint in the direction of movement) is more likely to be maintained as the predetermined object moves. This makes it possible to secure various information (for example, distant information) in front of the predetermined object in the direction of movement within the field of view.

[0109] Incidentally, the optimal solution for the movement and field of view of the virtual camera 60 can change depending on the user's requirements, the environment such as the device used, and the in-game scene. Therefore, it is desirable that the movement and field of view of the virtual camera 60 can be flexibly configured. On the other hand, it is cumbersome for the user to finely configure how the values ​​of each camera parameter of the virtual camera 60 change. In this regard, according to this embodiment, as described above, the execution method (degree of tracking) of the object tracking process can be automatically varied according to the height of the virtual camera 60, which can be set by the user. In other words, the user can automatically vary the execution method (degree of tracking) of the object tracking process by changing the height setting of the virtual camera 60. In this case, the degree of tracking is predetermined to be approximately optimal for the height of the virtual camera 60. This reduces the burden of settings on the user. However, in this embodiment, the value of the degree of tracking parameter A1 is uniquely determined in advance according to the height of the virtual camera 60, but the relationship between the value of the degree of tracking parameter A1 and the height of the virtual camera 60 may be adjustable by the user.

[0110] Furthermore, it is desirable that the tracking behavior of the virtual camera 60 in response to the movement of a predetermined object be implemented in a manner that does not impair visibility and is less likely to cause motion sickness. In particular, in environments using touch panels, the area used for operation is required, and the area that can actually be used as the field of view is limited to the displayed field of view (image on the screen). Therefore, securing a more optimal field of view is important. Sudden changes in the field of view may reduce the user's visibility. In contrast, according to this embodiment, by flexibly changing the height of the virtual camera and adjusting the degree of tracking, it is possible to secure an optimal field of view according to the situation. In particular, it is more compatible with environments using touch panels, as it is possible to secure an optimal field of view in a limited area.

[0111] Furthermore, 3D motion sickness is more likely to occur when a user is wearing a head-mounted display, and rapid changes in the field of view can exacerbate it. According to this embodiment, the degree of tracking is changed in accordance with changes in the height of the virtual camera, so that the field of view is properly maintained while the rotation of the field of view (changes in the orientation of the virtual camera 60) can be suppressed to an optimal frequency. As a result, it is well compatible with virtual spaces rendered on head-mounted displays, which are more likely to cause motion sickness (3D motion sickness) than virtual spaces rendered on normal displays.

[0112] Furthermore, according to this embodiment, the value of the tracking degree parameter A1 changes gradually in a certain direction in response to a change in the height of the virtual camera 60 in a certain direction. Therefore, according to this embodiment, the inconvenience of the tracking degree parameter A1 changing in two directions in response to a change in the height of the virtual camera 60 in a certain direction, or of the tracking degree parameter A1 changing abruptly in response to a change in the height of the virtual camera 60 in a certain direction, can be effectively reduced. In other words, this embodiment is suitable when the display unit 23 and input unit 24 are touch panels or head-mounted displays. In the embodiments described above, the setting value of the tracking degree parameter A1 can take on three or more different values, but the setting value of the tracking degree parameter A1 may also be a binary value, as in the other embodiments described below with reference to Figure 11. However, the embodiments described above and the other embodiments described below may be combined in a manner that is used differently depending on the scene or field object.

[0113] Figure 11 is a schematic flowchart showing an example of object tracking processing that may be performed by the tracking processing unit 142 in other embodiments. Here, the setting value of the tracking degree parameter A1 is assumed to be one of two values: a relatively low value and a relatively high value. For example, the setting value of the tracking degree parameter A1 may be one of two values: 0 or 1.

[0114] In step S1100, the tracking processing unit 142 obtains the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the previous and current values ​​of the position parameters (Xchr, Ychr) of a predetermined object, and the current value of the height parameter H.

[0115] In step S1102, the tracking processing unit 142 determines whether the current value of the height parameter H has changed from the previous value in a manner that crosses a threshold. A manner that crosses a threshold includes the manner in which the current value exceeds the threshold when the previous value of the height parameter H was less than or equal to the threshold, and the manner in which the current value falls below the threshold when the previous value of the height parameter H was greater than or equal to the threshold. The threshold is arbitrary, but for example, it may be a value that is significantly higher than or about half of the variable range of the height of the virtual camera 60. The threshold may also be adjustable by the user. If the determination result is "YES", proceed to step S1104; otherwise, proceed to step S1110.

[0116] In step S1104, the tracking unit 142 determines whether the current value of the height parameter H is greater than or equal to a threshold. If the determination result is "YES", the unit proceeds to step S1106; otherwise, it proceeds to step S1108.

[0117] In step S1106, the tracking processing unit 142 sets the setting value of the tracking degree parameter A1 to a low value (for example, 0).

[0118] In step S1108, the tracking processing unit 142 sets the setting value of the tracking degree parameter A1 to a high value (for example, 1).

[0119] In step S1110, the tracking processing unit 142 calculates the current value of the direction parameter θ based on the current setting of the tracking degree parameter A1, using the processing described above from step S908 onwards, with reference to Figure 9.

[0120] In step S1112, the tracking processing unit 142 calculates the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 based on the current value of the orientation parameter θ calculated in step S1110, using the process described above with reference to Figure 10.

[0121] In step S1114, the tracking processing unit 142 calculates the current value of the angle of attack parameter ψ based on the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current value of the height parameter H, and the current values ​​of the position (Xchr, Ychr) of the predetermined object.

[0122] The process shown in Figure 11 also yields the same effects as the embodiment described above. According to the process shown in Figure 11, since the tracking degree parameter A1 has a binary setting, processing load and memory area can be reduced.

[0123] In the embodiment described above, the setting value of the tracking degree parameter A1 is multiplied (primarily reflected) by the direction parameter θ, but this is not limited to this. That is, the setting value of the tracking degree parameter A1 may be multiplied (primarily reflected) by the amount of translation of the virtual camera 60, as in the other embodiment described below with reference to Figure 12.

[0124] Figure 12 is a schematic flowchart showing an example of object tracking processing that may be performed by the tracking processing unit 142 in further embodiments.

[0125] In step S1200, the tracking processing unit 142 obtains the previous values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the previous and current values ​​of the position parameters (Xchr, Ychr) of a predetermined object, and the current value of the height parameter H.

[0126] In step S1202, the tracking processing unit 142 calculates the movement vector of a predetermined object based on the previous and current values ​​of the position parameters (Xchr, Ychr) of the predetermined object, and also calculates the length of the movement vector (i.e., the amount of movement in the current period).

[0127] In step S1204, the tracking unit 142 calculates the current value of the tracking degree parameter A1 based on the current value of the height parameter H. The current value of the tracking degree parameter A1 may be calculated using the method described above with reference to Figures 7 and 8.

[0128] In step S1206, the tracking processing unit 142 applies the setting value of the tracking degree parameter A1 obtained in step S1204 to the length of the movement vector of the predetermined object calculated in step S1202. Specifically, the length of the movement vector of the predetermined object is multiplied by the value obtained by subtracting the setting value of the tracking degree parameter A1 from 1 (an example of a second coefficient). That is, if the length of the movement vector of the predetermined object is L, then L × (1 - A1) is calculated. L × (1 - A1) becomes a candidate value for the amount of movement of the virtual camera 60. In this case, for the same value of L, the larger the setting value of the tracking degree parameter A1 (the closer it is to 1), the smaller the candidate value for the amount of movement of the virtual camera 60.

[0129] In step S1208, the tracking processing unit 142 calculates a position obtained by moving a distance L × (1-A1) along the movement vector of a predetermined object calculated in step S1202, based on the previous values ​​of the virtual camera 60's position parameters (Ximc, Yimc), as a candidate for the current values ​​of the virtual camera 60's position parameters (Ximc, Yimc).

[0130] In step S1210, the tracking processing unit 142 calculates a vector (hereinafter also referred to as "candidate target line of sight projection vector V1'") from candidate current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 to each current value of the position parameters (Xchr, Ychr) of a predetermined object.

[0131] In step S1212, the tracking processing unit 142 calculates the angle between the candidate target line projection vector V1' and the x-axis (see Figure 5) based on the candidate target line projection vector V1' calculated in step S1210, and uses this as the current value of the direction parameter θ.

[0132] In step S1214, the tracking processing unit 142 determines whether the length of the candidate target line-of-sight projection vector V1' calculated in step S1210 is within a predetermined range. The predetermined range may be the same as that of step S1006 described above with reference to Figure 10, and is defined by predetermined lower and upper limits. If the determination result is "YES", the process proceeds to step S1220. On the other hand, if the determination result is "NO", the process proceeds to step S1218 via step S1216.

[0133] In step S1216, the tracking unit 142 calculates the target gaze projection vector V1' by correcting the length of the candidate target gaze projection vector V1' to a lower or upper limit. For example, if the length of the candidate target gaze projection vector V1' calculated in step S1214 exceeds the upper limit of a predetermined range, the tracking unit 142 adjusts the length of the candidate target gaze projection vector V1' to match the upper limit. Also, if the length of the candidate target gaze projection vector V1' calculated in step S1214 falls below the lower limit of a predetermined range, the tracking unit 142 adjusts the length of the candidate target gaze projection vector V1' to match the lower limit.

[0134] In step S1218, the tracking processing unit 142 calculates (works backward) the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60 based on the corrected target line of sight projection vector V1' obtained in step S1216. That is, the tracking processing unit 142 calculates the starting point of the target line of sight projection vector V1' when the current values ​​of the position parameters (Xchr, Ychr) of a predetermined object are the endpoints of the target line of sight projection vector V1', and uses these as the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60. When step S1218 is completed, the process proceeds to step S1222.

[0135] In step S1220, the tracking processing unit 142 confirms the candidate target line-of-sight projection vector V1' calculated in step S1210 as the target line-of-sight projection vector V1', and confirms the candidate current values ​​of the virtual camera 60 position parameters (Ximc, Yimc) calculated in step S1208 as the current values ​​of the virtual camera 60 position parameters (Ximc, Yimc).

[0136] In step S1222, the tracking processing unit 142 calculates the current value of the angle of attack parameter ψ based on the current values ​​of the position parameters (Ximc, Yimc) of the virtual camera 60, the current value of the height parameter H, and the current values ​​of the position (Xchr, Ychr) of the predetermined object.

[0137] The process shown in Figure 12 also yields the same effects as the embodiment described above. Specifically, by using the process shown in Figure 12, the same effects as the embodiment described above can be obtained by subtracting the setting value of the tracking degree parameter A1 from 1 and applying that value to the change in the position parameters (Ximc, Yimc) of the virtual camera 60.

[0138] In the process shown in Figure 12, the length of the target line of sight projection vector V1' is corrected in step S1216 to adjust it so that its length falls within a predetermined range, but this is not the only method. For example, the length of the target line of sight projection vector V1' may be adjusted so that it falls within a predetermined range by bringing the candidate current values ​​of the virtual camera 60's position parameters (Ximc, Yimc) closer to the current values ​​of the position parameters (Xchr, Ychr) of the predetermined object along the movement vector of the predetermined object. However, in this case, the current value of the orientation parameter θ will change (and the target line of sight projection vector V1' will change accordingly).

[0139] Although each embodiment has been described in detail above, the invention is not limited to any particular embodiment, and various modifications and changes are possible within the scope described in the claims. Furthermore, it is possible to combine all or more of the components of the embodiments described above.

[0140] For example, although the above-described embodiment relates to game-related processing, the tracking of the virtual camera 60 in accordance with the movement of a predetermined object in the virtual space is not limited to games, but can also be performed in services involving movement in a virtual space, such as the metaverse. For example, in the metaverse, the tracking of the virtual camera in accordance with the movement of an avatar as a predetermined object can be performed. In this case as well, the movement of the virtual camera (tracking mode) relative to the avatar described above may be realized. [Explanation of symbols]

[0141] 1. Game System 10 Server devices 11 Server Communication Unit 12 Server Storage 13 Server Control Unit 20 Terminal devices 21 Terminal Communication Section 22 Terminal storage unit 23 Display section 24 Input section 25 Terminal Control Unit 30 Networks 60 virtual cameras 62-degree field of view 70 Field surface 130 Drawing information storage unit 132 Operation information acquisition unit 134 Drawing data transmission unit 140 Drawing Processing Unit 141 Camera altitude adjustment section 142 Tracking Processing Unit 144 Second Movement Processing Unit 148 Drawing data generation unit 1410 User Configuration Processing Unit 1412 Reset Processing Unit 1420 Changes 1422 First Movement Processing Unit 1423 Angle of Attack Change Section 1424 Update reflection section

Claims

1. A media processing method that moves a display medium within a three-dimensional virtual space having a height dimension, When the display medium moves, camera processing is performed to make a virtual camera follow the display medium, The process of obtaining user input, A camera height setting process that sets the height of the virtual camera in response to a first user input, The computer is instructed to perform a drawing process that renders the display medium in the virtual space in a representation as seen from the virtual camera. The camera processing changes the tracking behavior of the virtual camera in response to the movement of the display medium when the setting value obtained by the camera height setting process changes. The media processing involves moving the display medium, which is located in a first position at a first time point, to a second position different from the first position at a second time point that is later than the first time point. The camera processing, when the set value obtained by the camera height setting process is a first height between the first time point and the second time point, realizes a tracking mode in which the amount of movement of the virtual camera's position is set to a first distance or 0 in the direction along the movement direction from the first position to the second position. The camera processing program is a program that, between the first time point and the second time point, if the set value obtained by the camera height setting process is a second height that is higher than the first height, then sets the amount of movement of the virtual camera's position in the direction along the movement direction to a second distance that is greater than the first distance.

2. The program according to claim 1, wherein the camera processing changes the tracking behavior of the virtual camera with respect to the movement of the display medium when the setting value obtained by the camera height setting process changes in response to the first user input obtained by the acquisition process.

3. The program according to claim 1 or 2, wherein the camera processing changes the way the virtual camera tracks the movement of the display medium by changing the ratio of the amount of movement of the virtual camera to the amount of movement of the display medium when the setting value obtained by the camera height setting process changes.

4. The program according to claim 3, wherein the camera processing changes the way the virtual camera tracks the movement of the display medium, such that when the set value obtained by the camera height setting process is a first height, the ratio to the amount of movement of the display medium is set to a first ratio, and when the set value obtained by the camera height setting process is a second height higher than the first height, the ratio to the amount of movement of the display medium is set to a second ratio greater than the first ratio.

5. The tracking of the virtual camera in response to the movement of the display medium by the camera processing is achieved by a combination of tracking the movement of the display medium by a change in the line of sight of the virtual camera and tracking the movement of the display medium by a change in the position of the virtual camera. The camera processing program according to claim 1, wherein as the set value obtained by the camera height setting process increases, the degree to which the virtual camera tracks changes in the direction of view is gradually reduced.

6. The tracking of the virtual camera in response to the movement of the display medium by the camera processing is achieved by a combination of tracking the movement of the display medium by a change in the line of sight of the virtual camera and tracking the movement of the display medium by a change in the position of the virtual camera. The program according to claim 1, wherein the camera processing gradually increases the degree to which the virtual camera tracks the movement of the display medium as the set value obtained by the camera height setting process increases.

7. The program according to claim 1, further comprising causing the computer to perform a reset process to reset the set value obtained by the camera height setting process to an initial value or a predetermined value under predetermined conditions.

8. The program according to claim 1, wherein the user input to be acquired by the acquisition process includes input via a touch panel or input from a state in which a head-mounted display is worn.

9. A media movement process in which a display medium is moved within a three-dimensional virtual space having a height direction, A camera processing step is performed to cause a virtual camera to follow the display medium when the display medium moves. The process of obtaining user input, A step of setting the height of the virtual camera in response to a first user input, The process includes drawing the display medium in the virtual space using the representation as seen from the virtual camera, The camera processing step includes changing the tracking behavior of the virtual camera in response to the movement of the display medium when the set value of the height of the virtual camera changes, The media movement step moves the display medium, which is located in a first position at a first time point, to a second position different from the first position at a second time point that is later than the first time point. The camera processing step, when the set value obtained by the camera height setting process is a first height between the first time point and the second time point, realizes a tracking mode in which the amount of movement of the virtual camera's position is set to a first distance or 0 in the direction along the movement direction from the first position to the second position. The camera processing step, when the set value obtained by the camera height setting process is a second height higher than the first height between the first time point and the second time point, realizes a tracking mode in which the amount of movement of the virtual camera's position in the direction along the movement direction is a second distance greater than the first distance. A method of information processing performed by a computer.

10. A media processing unit that moves a display medium in a three-dimensional virtual space having a height direction, A camera processing unit that causes a virtual camera to track the display medium when the display medium moves, A unit that acquires user input, A camera height setting unit sets the height of the virtual camera in response to a first user input, The system includes a drawing processing unit that renders the display medium in the virtual space in a representation as seen from the virtual camera, The camera processing unit changes the tracking behavior of the virtual camera in response to the movement of the display medium when the setting value set by the camera height setting unit changes. The media processing unit moves the display medium, which is located in a first position at a first time, to a second position different from the first position at a second time, which is later than the first time. The camera processing unit, when the setting value obtained by the camera height setting process is a first height between the first time point and the second time point, realizes a tracking mode in which the amount of movement of the virtual camera's position in the direction along the movement direction from the first position to the second position is set to a first distance or 0. The camera processing unit, between the first and second time points, if the setting value obtained by the camera height setting process is a second height higher than the first height, implements a tracking mode in which the amount of movement of the virtual camera's position in the direction along the movement direction is a second distance greater than the first distance. Information processing device.