Information processing system, information processing method, and program

JP7644869B1Active Publication Date: 2025-03-12株式会社アカツキゲームス
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024199864
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-11-15
Publication Date
2025-03-12
Estimated Expiration
2044-11-15

Smart Images

  • Figure 0007644869000001_ABST
    Figure 0007644869000001_ABST
Patent Text Reader

Abstract

An information processing system, an information processing method, and a program for generating a virtual space image for a game are provided. [Solution] An information processing system including a virtual space setting unit that generates a virtual space in which a movement restriction area for a moving object is set, a virtual camera control unit that controls a virtual camera from a third-person viewpoint in which a gaze point is off the center of the angle of view, and an image generation unit that generates an image of the virtual space based on the virtual camera. The virtual camera control unit determines whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera, and when it is determined that a boundary surface is present, moves the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing system, an information processing device, an information processing program, and an information processing method that execute information processing in a game. [Background technology]

[0002] In games that can be executed on player terminals such as smartphones, game terminals, etc., a rendering technique using a virtual camera is used as a technique for creating a gaming experience. For example, Patent Document 1 discloses a technique for tracking an object that moves in the virtual space of a game in response to an operation by a player (user) with a virtual camera and rendering an image based on the field of view of the virtual camera. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2017-084055 A Summary of the Invention [Problem to be solved by the invention]

[0004] In Patent Document 1, virtual objects are placed between the virtual camera and the character and around the virtual camera, and the operation of the virtual camera is controlled by detecting contact between the virtual objects and background objects. In the technology disclosed in Patent Document 1, it is necessary to constantly calculate the placement of virtual objects around the virtual camera and execute contact determination dedicated to the camera in parallel with the calculation processing related to the operation of the character.

[0005] An object of the exemplary embodiments of the present disclosure is to provide an information processing system, an information processing method, and a program for generating a virtual space image of a game. [Means for solving the problem]

[0006] An information processing system according to one embodiment of the present disclosure includes: a virtual space setting unit that generates a virtual space in which a movement restriction area for a moving object is set; a virtual camera control unit that controls a virtual camera from a third-person viewpoint in which a gaze point is off the center of the angle of view; an image generating unit that generates an image of the virtual space based on the virtual camera, The virtual camera control unit: determining whether or not a boundary surface of the movement restriction area is interposed between the gaze point and the virtual camera; When it is determined that the boundary surface is present, the virtual camera is moved to a predetermined position on a virtual line connecting the gaze point and the virtual camera.

[0007] By having the above-mentioned features, the information processing system can realize a game experience with natural camerawork while keeping the gaze target within the field of view even around the boundary of the movement restriction area. Other problems and solutions disclosed in this application will be made clear in the section of the embodiment of the present disclosure and the drawings. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration example of an information processing system according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a block diagram illustrating an example of a hardware configuration of the server illustrated in FIG. [Diagram 3] FIG. 3 is a block diagram illustrating an example of a software configuration of the server illustrated in FIG. [Figure 4] FIG. 4 is a block diagram showing an example of a schematic configuration of the player terminal shown in FIG. [Diagram 5] FIG. 5 is a diagram illustrating the virtual space of the game. [Figure 6] FIG. 6 is a diagram for explaining the third-person viewpoint in this embodiment. [Figure 7] FIG. 7 is a diagram for explaining the movement of the virtual camera. [Figure 8] FIG. 8 is a diagram for explaining an example of camera work during obstacle avoidance. [Figure 9] FIG. 9 is a diagram for explaining an example of camera work during an event. [Figure 10] FIG. 10 is a flowchart illustrating an example of information processing regarding camera work. [Figure 11] FIG. 11 is a flowchart illustrating an example of information processing regarding camera work. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] An information processing system 10 according to an embodiment of the present disclosure will be described with reference to the drawings. Note that each drawing is an example for explaining this embodiment, and the system configuration, block diagram, flow chart, etc. shown in each drawing may be modified or changed within a range that does not cause technical problems. In addition, in this specification and drawings, components having substantially the same functional configuration are given the same reference numerals to avoid duplicated description.

[0010] <Outline of information processing system> The information processing system 10 according to this embodiment is a system for providing various services related to games to a player 3 via a network N such as the Internet.

[0011] In the information processing system 10, a virtual camera that moves while following a predetermined gaze point is placed in a virtual space (virtual three-dimensional space), and an image (game screen) of the virtual space generated based on the virtual camera is provided to the player. The game provided by the information processing system 10 may be, for example, a game in which each player 3 operates an object placed in the virtual space to execute the game. The category of the game provided by the information processing system 10 is not particularly limited, and may be a fighting game, an action game, an RPG (role-playing game), a location-based game, an adventure game, a simulation game, a strategy game, or a sports game.

[0012] In addition, the games provided by the information processing system 10 may include, for example, not only the so-called "in-game" part related to actual game play, which is a "game progression part" for manipulating objects to progress through the game, but also the so-called "out-game" part, which is a "lottery part" such as a so-called "gacha" in which characters, items, and other objects in the game are given to the player by lottery, a "formation part" in which characters and other objects to be used in the game are selected, and a "strengthening part" in which characters, items, etc. are strengthened.

[0013] Here, the term "object" is a general term for electronic data used by the player 3 in the game. For example, characters, avatars, consumable media such as in-game currency, weapons, protective gear, and other items are examples of objects. In the game provided by the information processing system 10, at least one type of object (hereinafter referred to as a moving object) that moves in the virtual space in the game, such as a character or an avatar, is used among the above objects. The moving object includes a player character that is an object to be operated by the player 3, a character that is an ally of the player character, a non-player character (NPC) such as an enemy character, and the like. In the following description, for the sake of simplicity, the information processing system 10 will be described assuming an action game in which the player 3 operates a character, but the type of object to be operated and the category of the game are not necessarily limited.

[0014] As shown in Fig. 1, an information processing system 10 mainly comprises at least one server 20 and at least one player terminal 30. These main components are connected to each other via a network N so as to be accessible to each other. In this information processing system 10, the server 20 provided at the business operator 1 provides the game to the player terminal 30 by having the player 3 carry out information processing related to the game, which is composed of images, videos, sounds, etc. Note that the server 20 and the player terminal 30 may be integrally formed, in which case the game can be executed by the player terminal 30 alone.

[0015] <Hardware configuration of Server 20> The server 20 is an information processing device used to operate and manage a game service, and is deployed at the business operator 1 that provides the game service. The server 20 as an information processing device may be, for example, a general-purpose computer such as a workstation or a personal computer, or may be theoretically constructed using cloud computing technology.

[0016] The hardware configuration of the server 20 includes, for example, a processor 21, a memory 22, a storage 23, a transmitting / receiving unit 24, an input / output unit 25, and a bus 26, as shown in FIG.

[0017] The processor 21 is a computing device that controls the operation of the server 20, controls the transmission and reception of data between each element, and performs information processing necessary for executing applications. For example, the processor 21 is a CPU (Central Processing Unit) and / or a GPU (Graphics Processing Unit), and executes programs stored in the storage 23 and deployed in the memory 22 to perform various information processing necessary for providing game services.

[0018] The memory 22 includes a main memory configured with a volatile storage device such as a dynamic random access memory (DRAM) and an auxiliary memory configured with a non-volatile storage device such as a flash memory, a hard disk drive (HDD), etc. The memory 22 is used as a working area for arithmetic processing by the processor 21. The memory 22 may also store a basic input / output system (BIOS) executed when the server 20 is started up, various setting information, and the like.

[0019] The storage 23 stores programs, information used in various processes, etc. The memory 22 and the storage 23 may constitute a storage unit 220 (described later), and the processor 21 may constitute a control unit 200.

[0020] The transmission / reception unit 24 is a communication interface for connecting the server 20 to the network N, and has a function as a receiving unit that receives various data transmitted from the player terminal 30, and a function as a transmitting unit that transmits various data to the player terminal 30 in response to commands from the processor 21. The transmission / reception unit 24 may be equipped with a short-range communication interface such as Bluetooth (registered trademark) or BLE (Bluetooth Low Energy).

[0021] The input / output unit 25 is an input / output interface to which input / output devices such as a keyboard, a mouse, a microphone, a touch panel, a display, and a speaker are connected.

[0022] The bus 26 is commonly connected to each of the above elements, and transmits, for example, address signals, data signals, and various control signals.

[0023] <Server 20 software configuration> 3 is a block diagram for explaining the software configuration of the server 20. As shown in FIG.

[0024] The storage unit 220 of the server 20 is a storage area realized by the memory 22 and / or the storage 23, and stores programs and information necessary for various information processing by the control unit 200. The storage unit 220 may have multiple areas partitioned according to the type of information to be stored. For example, the storage unit 220 may have a game information storage unit 221 and a player information storage unit 222.

[0025] The game information storage unit 221 stores and stores basic information about the game. The basic information about the game stored in the game information storage unit 221 is appropriately configured according to the type of game, and is not particularly limited. For example, the game information storage unit 221 may store information such as setting information for each game unit, setting information for objects such as characters, setting information related to the virtual space of the game, and event information. Note that the "game unit" means one collection of games, and the "game unit" can be expressed in terms such as quest, event, mission, course, story, scenario, chapter, dungeon, stage, battle, and fight. In the case of a game in which multiple stages are set, the setting information for each game unit may include a stage ID, which is an identifier for identifying each game unit, and a stage name, enemy character information, and consumed stamina information linked to the stage ID.

[0026] The setting information related to the virtual space includes various information for generating the virtual space. For example, the setting information of the virtual space may include information for generating various objects such as background objects (for example, ground, structures such as buildings, walls, floors, ceilings, pillars, and other objects that construct the space such as obstacles, screen objects that display images, etc.), non-player characters (NPCs), and player characters operated by players in the virtual space, information indicating the arrangement of various objects in the virtual space, information for arranging a virtual camera in the virtual space, and setting information for defining a movement restriction area of ​​a moving object. In the case of a game in which multiple stages are set, the setting information related to the virtual space may be stored in the game information storage unit 221 in association with a stage ID that is an identifier for identifying each game unit.

[0027] The setting information of objects stored in the game information storage unit 221 may include information on characters, information on items such as weapons and armor, information on consumable media consumed by the player 3 in the game, such as in-game currency, etc. The information on characters may include information on characters that can be acquired by the player 3 and are to be operated by the player 3, information on characters that will be allies of the player 3 in the game, and information on enemy characters that will fight against the player 3.

[0028] The setting information of the object may be assigned an ID (hereinafter referred to as an object ID) as an identifier for uniquely identifying each object such as a character, and various information regarding each object may be stored in association with the object ID. For example, the name, image data, and acquisition method of the object may be stored in association with the object ID. In addition, for objects that may be operated by the player 3 such as characters or items, information such as attributes, parameters (for example, initial values ​​and / or maximum values ​​of attack power, defense power, vitality, attack hit rate, critical occurrence rate, and avoidance success rate), information regarding skills (for example, normal skills, special moves, and combo skills), and text data regarding the characteristics of the object may be included in the information associated with the object ID, and various information associated with each character such as acquisition method and acquisition probability may also be included.

[0029] In the case of the action game exemplified in this embodiment, the setting information of the moving object may include setting information of the event scene related to the moving object, and setting information of multiple event scenes may be associated with one moving object. The event scene related to the moving object may be, for example, a special action such as a special move or a combo skill executed during the game. The setting information of the event scene may include setting information related to the performance when the event scene is executed, such as animation data of the special action, and setting information of the virtual camera when the event scene is executed. The setting information of the virtual camera when the event scene is executed may include, for example, time series data indicating the trajectory of the virtual camera in correspondence with the animation data of the event. More specifically, the time series data may include the ideal relative coordinates of the virtual camera based on the moving object, the application rate of the ideal relative coordinates, other camera parameters, and the like, associated with each frame of the action of the event scene.

[0030] The player information storage unit 222 stores information associated with each player 3 who uses the game service. For example, the player information storage unit 222 may include a user ID (an identifier for identifying each player 3), and account information, play history information, information on owned objects, and the like, which are linked to the user ID.

[0031] The account information may include, for example, a user name, a registration date to the game service, a user rank (player rank), and various other setting information registered by an operation of the player 3. The play history information may include, for example, data such as a login date and time, the number of logins, a total play time, the number of times each game unit has been played, data when each game unit has been cleared, a history of acquiring objects such as characters and / or items, a charge amount, the number of times a charge has been made, and the number of times a lottery has been played.

[0032] The information on owned objects is information on objects owned by each player 3, and may include the acquisition history of each object, owned number information indicating the number of each object owned, information indicating the usage status of each object (e.g., information indicating the degree of use such as the number of times used and the probability of selection, information indicating whether or not an object is registered as a favorite, etc.), information indicating the characteristics of each object (e.g., classification information such as the current / maximum values ​​of various parameters such as attack power, defense power, stamina, and speed, rarity, attributes, etc., information on usable skills, etc.), etc. The data configuration of owned objects may be set appropriately according to the type of object, and is not particularly limited.

[0033] In addition, when a game provided by the game service uses a deck consisting of a combination of objects such as a plurality of characters, deck information specifying the deck may be stored in the player information storage unit 222. In addition, when the game service has a function for building a friend relationship with another player 3, friend-related information including information indicating a friend relationship already built with another player 3 and information regarding a friend request that is not yet established may be stored in the player information storage unit 222.

[0034] The control unit 200 of the server 20 is a component that controls the game provided by the information processing system 10, and has a function of performing various information processing required for providing a game service. The function of the control unit 200 is realized by the processor 21 reading out information and application programs stored in the storage 23, and executing various programs in the working area of ​​the memory 22. The control unit 200 has a number of functional units according to the type of information processing to be performed. For example, the control unit 200 may include, as functional units, a virtual space setting unit 210, a game processing unit 211, an event execution unit 212, a virtual camera control unit 213, an image generation unit 214, and an operation information receiving unit 215.

[0035] The virtual space setting unit 210 generates a virtual space in which a movement restriction area for a moving object is set. For example, the virtual space setting unit 210 reads setting information related to the virtual space stored in the game information storage unit 221, and creates a three-dimensional virtual space in which objects such as background objects and NPCs are arranged based on the setting information.

[0036] Furthermore, the virtual space setting unit 210 sets a movement restriction area in which a moving object such as a character cannot enter, in the virtual space, based on setting information of the virtual space such as object placement information. The movement restriction area includes, for example, an area in which background objects such as pillars, walls, and obstacles are placed, and may also include an area partitioned by a virtual surface that is not visualized on the game screen. In the case of a movement restriction area set in an area in which a background object is placed, the boundary surface of the movement restriction area (the boundary surface that partitions the area in which the moving object can enter and the movement restriction area) may be determined by the outer surface of the background object placed in the virtual space, or may be set to be located outside the outer surface of the background object (the direction toward the center of the background object is the inner side, and the direction from the center toward the outer surface is the outer side), the latter being preferable.

[0037] FIG. 5 is a diagram for explaining a movement restriction area in a virtual space. As shown in FIG. 5, the virtual space setting unit 210 may set a boundary surface of the movement restriction area (boundary surface BS1 shown by a dashed line in FIG. 5) so as to follow the outer surface of the background object at a position a predetermined distance X away from the outer surface of the background object in the normal direction. The predetermined distance X shown in FIG. 5 may be set in advance, and may be set to a different value depending on the type of background object. Note that the method of setting the movement restriction area is not limited to this method, and an area in which the movement of a moving object may be affected by an obstacle with a predetermined probability may be set as the movement restriction area, or an area into which the entry of a moving object is prohibited may be specified based on the setting of a game to be executed in the virtual space.

[0038] When the movement restriction area of ​​the moving object is set as described above, the virtual camera may be allowed to enter up to a position that is inward from the boundary surface BS1 toward the movement restriction area by the allowable distance W. That is, the accessible area of ​​the virtual camera in the virtual space may be set wider than the movable area of ​​the moving object. The allowable distance W may be registered in advance as a setting value included in the setting information of the virtual space, and the value of the allowable distance W is not particularly limited. For example, the allowable distance W may be set to a value smaller than the predetermined distance X so that the virtual camera is not embedded in the background object. In FIG. 5, the boundary surface of the virtual camera's access restriction area (the boundary surface between the accessible area and the access restriction area) is indicated by the two-dot chain line BS2, but the access restriction area of ​​the virtual camera does not need to be partitioned in the virtual space, and may be relatively specified based on the movement restriction area of ​​the moving object.

[0039] The game processing unit 211 executes basic information processing of the game provided by the information processing system 10. For example, the game processing unit 211 executes processing to control the movement of a moving object in a virtual space based on an input operation of the player 3. The game processing unit 211 may have a function of an event execution unit 212 that executes an event scene related to a moving object, such as a special action such as a special move or a cooperation skill. The event execution unit 212 may execute an event scene based on an input operation by the player 3, or may execute an event scene triggered by the satisfaction of a predetermined condition that is set in advance. When executing an event scene, the event execution unit 212 reads out animation data associated with the special action of the moving object from the game information storage unit 221, and causes the moving object to execute the special action based on the animation data.

[0040] The game processing unit 211 also executes various information processes related to in-game such as game progress, switching of game modes, etc. The game processing unit 211 may also execute various information processes related to out-game such as lottery, training, strengthening, synthesis, and preparation before game execution.

[0041] The virtual camera control unit 213 controls the operation of the virtual camera in the virtual space from a third-person viewpoint with the gaze point being off the center of the angle of view. Here, the "third-person viewpoint" means that an image of the virtual space is generated from a field of view in which the gaze point of the virtual camera is a position off the player character, not the line of sight of the player character. The "gazing point" is a point corresponding to a subject to be contained within the angle of view of the virtual camera, and is a reference point to be tracked by the virtual camera. The subject corresponding to the gaze point may be, for example, the player character, a friendly character, an enemy character, or other objects existing in the virtual space, and the subject to be the gaze point may be switched according to the progress of the game.

[0042] FIG. 6 is a schematic diagram showing an example of a virtual space image generated from a third-person viewpoint. FIG. 6 illustrates an example in which a player character operated by the player 3 is used as a subject. In this case, the virtual camera control unit 213 sets a gaze point at a predetermined position such as the center point of the player character based on the position of the player character. In the image shown in FIG. 6, the gaze point is displayed at a position that is off the center of the angle of view so that the virtual camera can capture the movement of the player character in a battle scene and the movement of characters existing around the player character such as enemy characters. The virtual camera control unit 213 controls various camera parameters such as the position coordinates, gaze point coordinates, focal direction (direction), attitude parameters, projection parameters, and movement control parameters of the virtual camera so as to generate an image from a third-person viewpoint as shown in FIG. 6. When the player character moves or performs an action such as a battle in response to an input operation by the player 3, the virtual camera control unit 213 may control various camera parameters so that the distance between the virtual camera and the gaze point is within a predetermined range based on the operation information input by the player 3. In this way, the movement of the virtual camera is controlled so as to follow a moving object such as the player character. The distance between the virtual camera and the gaze point may be changed in response to a request from the player 3 to zoom in or out.

[0043] The virtual camera control unit 213 may actually place an object representing a virtual camera in the virtual space and control various camera parameters via the object. Alternatively, the virtual camera may be theoretically constructed by various camera parameters (e.g., position coordinates, gaze point coordinates, focal direction, projection parameters, attitude parameters, and movement control parameters) without placing a camera object in the virtual space.

[0044] The virtual camera control unit 213 executes a process of correcting the position of the virtual camera so as to avoid a predetermined area in the virtual space (for example, an area where an obstacle is present, an area where an obstacle may exist with a predetermined probability, etc.) from the viewpoint of preventing a disturbance of an image (game image) showing the virtual space during game execution. For example, when the player character is moved from position A shown in FIG. 7(a) to position B shown in FIG. 7(b) based on an input operation by the player 3, the virtual camera is also moved from position A' to position B' following the movement of the player character. Position B', which is the planned destination of the virtual camera, corresponds to the inside of the background object. The background object arranged in the virtual space may exist as a three-dimensional 3D object as shown in FIG. 7(a)(b) (for example, a virtual object represented as an object such as a tree), or may exist as an object where only the front side is visualized on the game screen and the back side is not displayed on the game screen (for example, a wall surface partitioning the virtual space, etc.). Regardless of whether the obstacle, such as a background object, is the former or latter case, if the virtual camera is moved to a position as shown in position B', there is a risk that an image that should not be presented on the game screen (for example, a fragment of a background object may be displayed unnaturally) or other images that may give the player a sense of incongruity may be displayed due to the presence of an obstacle in the vicinity of position B'. Therefore, it is necessary to correct the movement of the virtual camera so as to avoid areas where an obstacle, such as a background object, may be present.

[0045] In order to control the avoidance operation of the virtual camera, the virtual camera control unit 213 judges whether or not the boundary surface of the movement restriction area of ​​the moving object is between the gaze point and the virtual camera during the progress of the game in the virtual space (i.e., whether or not an obstacle obstructing the gaze point is present). For example, the presence or absence of an obstacle on the gaze point vector may be judged by judging whether or not the gaze vector in the direction from the virtual camera to the gaze point intersects with the boundary surface of the movement restriction area. The position of the virtual camera when making this judgment (i.e., the base point of the gaze vector) may be position B', which is the planned movement destination, or may be position A' before the movement.

[0046] When it is determined that the boundary surface of the movement restriction area is interposed between the gaze point and the virtual camera, the virtual camera control unit 213 moves the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera. For example, in the example shown in FIG. 7, the virtual camera is moved from position A' to position C', not from position A' to position B', to avoid the background object. The "predetermined position on the virtual line (i.e., the destination coordinates of the virtual camera)" corresponding to the avoidance position may be the intersection of the gaze vector and the boundary surface of the movement restriction area, but is preferably a position farther away from the gaze point than a first distance from the gaze point to the boundary surface on the virtual line.

[0047] Specifically, it is preferable that the virtual camera control unit 213 specifies the relative entry restriction area of ​​the virtual camera based on the boundary surface of the movement restriction area of ​​the moving object, and it is preferable to determine the destination coordinates of the virtual camera according to the specified relative entry restriction area. For example, as shown in FIG. 8, the boundary surface of the entry restriction area of ​​the virtual camera can be calculated relatively as a virtual surface BS2 that is separated from the boundary surface BS1 of the movement restriction area of ​​the moving object by an allowable distance W, based on the boundary surface BS1 of the movement restriction area of ​​the moving object. In this case, the virtual camera control unit 213 determines the intersection (position C') of the gaze vector and the virtual surface BS2 as the destination coordinates of the virtual camera. The intersection coordinates (destination coordinates) of the gaze vector and the virtual surface BS2 may be specified, for example, by the following procedure.

[0048] The virtual camera control unit 216 calculates a distance d (first distance) from the gaze point to an intersection P between the boundary surface BS1 and the gaze vector (i.e., a virtual line connecting the gaze point and the virtual camera), and determines a correction distance D for moving the virtual camera on the gaze vector based on the distance d and a preset allowable distance W from the boundary surface BS1 toward the normal direction. The distance d may be calculated based on the position of the gaze point in the virtual space, the position B' of the virtual camera (a position before correction, for example, a planned movement position calculated according to the movement amount of the gaze point), information on a movement restriction area of ​​a moving object set in the virtual space, and the like. The correction distance D can be calculated based on the following formula (1).

number

[0049] After calculating the correction distance D, the virtual camera control unit 213 moves the coordinates of the virtual camera by the correction distance D from the position B' in the direction of the gaze vector, thereby correcting the position of the virtual camera.

[0050] When avoiding an obstacle, it is common to correct the virtual camera to the front direction (the direction from the virtual camera toward the center of the angle of view, as indicated by the "x" mark in FIG. 8). However, when controlling the virtual camera from a third-person viewpoint as illustrated in FIG. 6, correcting the virtual camera to the front direction may cause the gaze point to move out of the angle of view. In this embodiment, when avoiding an obstacle, the position of the virtual camera is corrected in the direction of a gaze vector different from the direction toward the center of the angle of view, so that the obstacle can be avoided without moving the gaze point out of the angle of view. At this time, since the moving object of the gaze point is positioned at a position shifted from the center of the angle of view within the angle of view, a natural image can be generated by zooming in with an angle of view that can capture not only the moving object of the gaze point but also the surrounding battle scene, and a sense of immersion in the game can be provided to the player 3. In addition, by determining the entry restriction area of ​​the virtual camera relatively based on the movement restriction area of ​​the moving object, it is not necessary to provide a contact determination range dedicated to the camera around the virtual camera, and the movement of the virtual camera can be efficiently controlled.

[0051] When the above-mentioned event execution unit 212 executes an event scene related to a moving object, the virtual camera control unit 213 may execute a process of moving the virtual camera along a trajectory that revolves around the moving object during execution of the event scene. By revolving the virtual camera around the moving object that triggered the event in accordance with the triggering of an event such as a special action (for example, by revolving in an arc as shown in FIG. 9), a realistic image can be generated, which is expected to enhance the player 3's immersion in the game.

[0052] In order to realize camera work that revolves around a moving object, the virtual camera control unit 213 reads out setting information of the virtual camera from the game information storage unit 221, and controls the movement of the virtual camera in the event scene based on the ideal relative coordinates of the virtual camera with respect to the moving object, which are set for each frame of the animation data of the event scene, and the application rate of the ideal relative coordinates. The "application rate" is a setting value indicating an interpolation coefficient (blend coefficient) when the coordinates of the virtual camera at a time before the target frame is played are interpolated with the ideal relative coordinates set in the target frame. For example, the virtual camera control unit 213 may store the coordinates of the virtual camera before the execution of the event scene (three-dimensional coordinates in the virtual space), and blend (mix) the stored coordinates (coordinates at the previous time) with the ideal relative coordinates at the application rate set in the target frame to determine the coordinates of the virtual camera in the target frame. The higher the application rate, the closer the virtual camera is to the ideal relative coordinates.

[0053] In the process of interpolating the virtual camera coordinates, the virtual camera control unit 213 may perform linear interpolation on each of the gaze point, rotation, and distance of the virtual camera based on the application rate set for each frame, and set various parameters such as the position and attitude of the virtual camera in each frame of the event scene. By controlling the virtual camera with the above-mentioned process in the event scene, it is possible to prevent the virtual camera from behaving in such a way as to overtake a moving object, and to realize camera work that draws an arc around the moving object.

[0054] The image generating unit 214 generates an image of the virtual space based on the virtual camera, i.e., an image captured within the virtual space by the virtual camera. For example, the image generating unit 214 identifies an area included in the angle of view of the virtual camera based on the position information of the virtual camera and the parameter information of the virtual camera determined by the virtual camera control unit 213, and generates an image of the virtual space. The image generated by the image generating unit 214 is output to the player terminal 30 in real time and displayed on the display unit 34 such as a display of the player terminal 30.

[0055] The operation information receiving unit 215 receives operation information input by the player 3 via the player terminal 30. The operation information received by the operation information receiving unit 215 is used as instruction information for each functional unit such as the game processing unit 211 and the virtual camera control unit 213, and controls the player character in the virtual space, other NPCs, the virtual camera, and the like are executed.

[0056] Although the virtual space setting unit 210, the game processing unit 211, the event executing unit 212, the virtual camera control unit 213, the image generating unit 214, and the operation information receiving unit 215 have been exemplified above as functions realized by the processor 21 of the server 20, some or all of these functions may be provided in the control unit 31 of the player terminal 30. In this case, an application program required for processing by each functional unit is sent to the player terminal 30, and each functional unit is realized by the processor of the player terminal 30 executing the program.

[0057] <Player terminal 30> Each player terminal 30 in the information processing system 10 is owned by each player 3 who uses the game service provided by the operator 1. The player terminal 30 is not particularly limited as long as it is an information processing device that the player 3 can own and use. For example, a smartphone, a mobile phone terminal, a game-dedicated terminal, a tablet computer, a notebook computer, or a desktop computer can be used as the player terminal 30. The player terminal 30 can output (for example, game image output, game sound output, etc.) the processing result of the game program transmitted from the server 20 via a game application or a Web browser.

[0058] The player terminal 30 may have a similar hardware configuration to that of the server 20 shown in FIG. 2, and a description of the hardware configuration of the player terminal 30 will be omitted.

[0059] 4 is a block diagram showing in a simplified manner the functions of the player terminal 30. The player terminal 30 includes, for example, a control unit 31 that controls the entire player terminal 30, a storage unit 32 that stores various data and programs, an input unit 33 through which the player 3 performs operation input, a display unit 34 that displays a game screen, an operation screen, etc., and a terminal communication unit 35 that communicates information with the server 20.

[0060] The control unit 31 has functions necessary for controlling each part of the player terminal 30 such as the display and the camera, and each function of the control unit 31 is realized by a processor such as a CPU (Central Processing Unit) and / or a GPU (Graphics Processing Unit) executing a predetermined program. The control unit 31 of the player terminal 30 may include, for example, an input operation receiving unit 311 and a processing result receiving unit 312.

[0061] The input operation receiving unit 311 executes a process of receiving operation information related to the game inputted by the player 3 to the input unit 33 described below. In addition, the input operation receiving unit 311 executes a process of transmitting the received operation information related to the game to the operation information receiving unit 215 of the server 20 via the terminal communication unit 35.

[0062] The processing result receiving unit 312 receives processing results such as an image of the virtual space generated and transmitted by the control unit 200 of the server 20, and executes a process of outputting the processing results on the display unit 34. Note that the control unit 31 of the player terminal 30 may have functional units other than the input operation accepting unit 311 and the processing result receiving unit 312 described above.

[0063] The storage unit 32 of the player terminal 30 stores various information processes, programs for executing each function in the control unit 31, input data, etc., and is configured with one or any combination of a RAM (Random Access Memory), a ROM (Read Only Memory), a SRAM (Static Random Access Memory), a flash memory, a HDD (Hard Disk Drive), an SSD (Solid State Drive), and other storages. In addition, when the player terminal 30 performs communication, the storage unit 32 temporarily stores the communication contents of the player terminal 30. The storage unit 32 may include a player setting storage unit 321.

[0064] The player setting storage unit 321 stores user setting information of the player 3, such as information on the payment method, account information, etc. Such user setting information may be stored in the player information storage unit 222 of the server 20.

[0065] <Input section> The input unit 33 receives an input operation by the player 3 and generates operation information for the player 3 in the game. Examples of the input operation by the player 3 include an input operation by touching a display surface such as a touch panel, an input operation via physical buttons provided on the player terminal 30, an input operation using a keyboard, an input operation by voice using a microphone, and an input operation by the player 3 physically moving (tilting, shaking, etc.) the player terminal 30 using a sensor such as a gyro sensor built into the player terminal 30.

[0066] <Display section> The display unit 34 is a display on which the processing results of the game program are displayed, and this display may be a touch panel capable of receiving input operations from the player 3 by touching the display surface.

[0067] <Device communication unit> The terminal communication unit 35 is connected to the transmission / reception unit 24 of the server 20 via the network N. The terminal communication unit 35 and the transmission / reception unit 24 transmit and receive information to and from each other.

[0068] An example of information processing relating to camera work will be generated based on the flowchart shown in FIG.

[0069] First, the virtual space setting unit 210 generates a virtual space in which a movement restriction area for a moving object is set (step S1). For example, the virtual space setting unit 210 constructs a virtual space expressed in a three-dimensional coordinate system, and then places a background object in the virtual space. Then, based on the arrangement information of objects such as the background object, the virtual space setting unit 210 sets a movement restriction area into which the moving object cannot enter. The boundary surface of the movement restriction area may be set outside the outer surface of an object such as the background arranged in the virtual space, and in this case, the virtual space setting unit 210 specifies the boundary surface of the movement restriction area at a position a predetermined distance away from the outer surface of the background object.

[0070] After setting the movement restriction area, the virtual space setting unit 210 places various moving objects such as a player character, an enemy character, and an ally character in the constructed virtual space, and also sets up a virtual camera in the virtual space, making it possible to start a game in the virtual space (step S2). Note that the virtual camera may be set in a state in which it is embodied as an object in the virtual space, or may be expressed by various camera parameters without being embodied as an object.

[0071] When the game is started, the game processing unit 211 controls the action of the player character based on the operation information input by the player 3, and progresses the game in the virtual space. The game processing unit 211 also executes a process of controlling NPCs such as enemy characters according to the progress of the game (step S3). During the game, the virtual camera control unit 213 controls the movement of the virtual camera based on the operation information of the moving object (step S4). For example, the virtual camera control unit 213 executes a process of setting a gaze point at a predetermined position of the player character, and moving the virtual camera so as to follow the gaze point according to a change in the position coordinates of the gaze point accompanying the movement of the player character.

[0072] While controlling the operation of the virtual camera as described above during the game, the virtual camera control unit 213 determines whether or not a boundary surface of a movement restriction area of ​​a moving object is interposed between the gaze point and the virtual camera (step S5). If a boundary surface of a movement restriction area is not interposed between the gaze point and the virtual camera (step S5: No), the virtual camera control unit 213 generates an image in the virtual space from a third-person perspective in real time, displays the generated image on the display of the player terminal 30, and continues to control the virtual camera that follows the gaze point in step S4. If it is determined that a boundary surface of a movement restriction area is interposed between the gaze point and the virtual camera (step S5: Yes), the virtual camera control unit 213 moves the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera, and executes a process of avoiding an area where an obstacle such as a background object may be interposed (a virtual camera entry restriction area) (step S6).

[0073] In the virtual space, an entry restriction area into which the virtual camera is prohibited from entering may be relatively specified based on the boundary surface of the movement restriction area of ​​the moving object. The virtual camera control unit 213 may set the position where the boundary surface of the entry restriction area specified relatively intersects with a virtual line connecting the gaze point and the virtual camera as the correction position of the virtual camera. More specifically, the virtual camera control unit 213 may calculate a first distance from the gaze point to the intersection point of the virtual line (the virtual line connecting the gaze point and the virtual camera) and the boundary surface (the boundary surface of the movement restriction area of ​​the moving object), and may determine a correction distance for moving the virtual camera on the virtual line based on the first distance and a preset allowable distance from the boundary surface in the normal direction.

[0074] As described above, by correcting the position of the virtual camera in the direction of the gaze vector different from the direction toward the center of the angle of view, it is possible to avoid obstacles without moving the gaze point from the angle of view. Furthermore, when the position of the virtual camera is corrected by the above method, in step S7 for generating an image in the virtual space based on the virtual camera, a natural image can be generated by zooming in with an angle of view that can capture not only the moving object of the gaze point but also the surrounding battle scene, and a sense of immersion in the game can be provided to the player 3. Furthermore, in the information processing method of this embodiment, it is not necessary to provide a dedicated contact determination range for the camera around the virtual camera, and the movement of the virtual camera can be efficiently controlled.

[0075] Next, an example of information processing relating to camera work during execution of an event scene is generated based on the flowchart shown in FIG.

[0076] First, when a start condition for an event such as a special action is met (step S11), the virtual camera control unit 213 saves the position coordinates of the virtual camera before the event is executed, as well as other parameters such as the camera's focal direction and attitude parameters (step S12). Then, the virtual camera control unit 213 reads out setting information for the virtual camera corresponding to the event scene to be executed from the game information storage unit 221 (step S13). This setting information for the virtual camera includes time-series data indicating the trajectory of the virtual camera associated with the animation data of the event scene.

[0077] After acquiring the time series data, the virtual camera control unit 213 controls the movement of the virtual camera in the event scene based on the ideal relative coordinates (relative coordinates based on the moving object as the gaze point) of the virtual camera included in the time series data and the application rate (blending rate) in accordance with the execution of the event scene (step S14). For example, the virtual camera control unit 213 may determine the coordinates of the virtual camera in the target frame by blending (mixing) the coordinates (coordinates at the previous time) saved in step S12 and the ideal relative coordinates at the application rate set for the target frame. In the process of interpolating the coordinates of the virtual camera, the virtual camera control unit 213 may perform linear interpolation for each of the gaze point, rotation, and distance of the virtual camera based on the application rate set for each frame, and set various parameters such as the position and attitude of the virtual camera in each frame of the event scene.

[0078] By controlling the virtual camera with the above-mentioned information processing method during execution of an event scene, it is possible to prevent the virtual camera from overtaking the moving object, and to realize camerawork that draws an arc around the moving object. By rotating the virtual camera around the moving object that triggers the event (for example, by rotating in an arc as shown in FIG. 9), a realistic image can be generated, and the player 3's sense of immersion in the game can be enhanced.

[0079] Although one embodiment of the present disclosure has been described above, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.

[0080] For example, in the above embodiment, the case has been described where the program stored in the server 20 executes information processing related to the game, but the program may be stored in the player terminal 30. Then, the player terminal 30 may execute information processing related to the game based on this program.

[0081] The present disclosure has the following configuration. (Item 1) a virtual space setting unit that generates a virtual space in which a movement restriction area for a moving object is set; a virtual camera control unit that controls a virtual camera from a third-person viewpoint in which a gaze point is off the center of the angle of view; an image generating unit that generates an image of the virtual space based on the virtual camera, The virtual camera control unit: determining whether or not a boundary surface of the movement restriction area is interposed between the gaze point and the virtual camera; When it is determined that the boundary surface is present, the information processing system moves the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera. (Item 2) The virtual camera control unit: Calculating a first distance from the gaze point to an intersection point between the virtual line and the boundary surface; 2. The information processing system according to item 1, further comprising: determining a correction distance for moving the virtual camera on the virtual line based on the first distance and a preset allowable distance from the boundary surface in a normal direction. (Item 3) The information processing system described in item 1 or 2, wherein when the boundary surface is interposed between the gaze point and the virtual camera, the destination coordinates of the virtual camera are a position farther from the gaze point than a first distance on the virtual line from the gaze point to the boundary surface. (Item 4) 3. The information processing system according to item 1 or 2, wherein the boundary surface of the movement restriction area is set outside an outer surface of an object placed in the virtual space. (Item 5) 3. The information processing system according to item 1 or 2, wherein the virtual camera control unit specifies a relative entry restriction area of ​​the virtual camera based on the boundary surface of a movement restriction area of ​​the moving object. (Item 6) An event execution unit that executes an event scene related to the moving object, 3. The information processing system according to item 1 or 2, wherein the virtual camera control unit moves the virtual camera along a trajectory that revolves around the moving object during execution of the event scene. (Item 7) The information processing system described in item 6, wherein the virtual camera control unit controls the movement of the virtual camera in the event scene based on ideal relative coordinates of the virtual camera relative to the moving object, which are associated with each frame of the action of the event scene, and an application rate of the ideal relative coordinates. (Item 8) A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of the angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, moving the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera. (Item 9) A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of the angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; and when it is determined that the boundary surface is present, moving the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera. [Explanation of symbols]

[0082] 1 … Business operator 3 … Player 10. Information Processing Systems 20 ... Server (information processing device)

Claims

1. a virtual space setting unit that generates a virtual space in which a movement restriction area for a moving object is set; a virtual camera control unit that controls a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generating unit that generates an image of the virtual space based on the virtual camera, The virtual camera control unit: determining whether or not a boundary surface of the movement restriction area is interposed between the gaze point and the virtual camera; When it is determined that the boundary surface is present, a first distance is calculated from the gaze point to an intersection point between the gaze point and the virtual camera and the boundary surface; an information processing system that determines a correction distance for moving the virtual camera on the virtual line based on the first distance and a predetermined allowable distance from the boundary surface in a normal direction, and moves the virtual camera to a predetermined position on the virtual line.

2. A virtual space setting unit that generates a virtual space in which a movement restriction area for a moving object is set; a virtual camera control unit that controls a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generating unit that generates an image of the virtual space based on the virtual camera, The virtual camera control unit: determining whether or not a boundary surface of the movement restriction area is interposed between the gaze point and the virtual camera; When it is determined that the boundary surface is present, the virtual camera is moved to a predetermined position on a virtual line connecting the gaze point and the virtual camera; An information processing system, wherein when the boundary surface is interposed between the gaze point and the virtual camera, the destination coordinates of the virtual camera are a position farther from the gaze point than a first distance on the virtual line from the gaze point to the boundary surface.

3. A virtual space setting unit that generates a virtual space in which a movement restriction area for a moving object is set; a virtual camera control unit that controls a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generating unit that generates an image of the virtual space based on the virtual camera, The virtual camera control unit: determining whether or not a boundary surface of the movement restriction area is interposed between the gaze point and the virtual camera; When it is determined that the boundary surface is present, the virtual camera is moved to a predetermined position on a virtual line connecting the gaze point and the virtual camera; An information processing system, wherein the boundary surface of the movement restriction area is set outside of an outer surface of an object placed in the virtual space.

4. 4. The information processing system according to claim 1, wherein the virtual camera control unit specifies a relative entry restriction area of ​​the virtual camera based on the boundary surface of a movement restriction area of ​​the moving object.

5. An event execution unit that executes an event scene related to the moving object, 4. The information processing system according to claim 1, wherein the virtual camera control unit moves the virtual camera along a trajectory that revolves around the moving object during execution of the event scene.

6. 6. The information processing system according to claim 5, wherein the virtual camera control unit controls movement of the virtual camera in the event scene based on ideal relative coordinates of the virtual camera relative to the moving object, which are associated with each frame of an action in the event scene, and an application rate of the ideal relative coordinates.

7. A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, calculating a first distance from the gaze point to an intersection point between the gaze point and the virtual camera and the boundary surface; determining a correction distance for moving the virtual camera on the virtual line based on the first distance and a predetermined allowable distance from the boundary surface in a normal direction, and moving the virtual camera to a predetermined position on the virtual line.

8. A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, moving the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera, An information processing method, in which when the boundary surface is interposed between the gaze point and the virtual camera, the destination coordinates of the virtual camera are a position farther from the gaze point than a first distance on the virtual line from the gaze point to the boundary surface.

9. A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, moving the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera, An information processing method, wherein the boundary surface of the movement restriction area is set outside an outer surface of an object placed in the virtual space.

10. A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, calculating a first distance from the gaze point to an intersection point between the gaze point and the virtual camera and the boundary surface; determining a correction distance for moving the virtual camera on the virtual line based on the first distance and a predetermined allowable distance from the boundary surface in a normal direction, and moving the virtual camera to a predetermined position on the virtual line.

11. A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, moving the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera, A program, in which when the boundary surface is interposed between the gaze point and the virtual camera, the destination coordinates of the virtual camera are a position farther from the gaze point than a first distance on the virtual line from the gaze point to the boundary surface.

12. A virtual space setting process for generating a virtual space in which a movement restriction area for a moving object is set; A virtual camera control process for controlling a virtual camera from a third-person viewpoint in which a gaze point is off the center of an angle of view; an image generation process for generating an image of the virtual space based on the virtual camera, The virtual camera control process includes: determining whether or not a boundary surface of the movement restriction area is present between the gaze point and the virtual camera; When it is determined that the boundary surface is present, moving the virtual camera to a predetermined position on a virtual line connecting the gaze point and the virtual camera, The boundary surface of the movement restriction area is set outside an outer surface of an object placed in the virtual space.

Citation Information

Patent Citations

  • Game image control device

    JP2002360920A

  • Game program and game apparatus

    JP2009011567A

  • Information processing program, information processing device, information processing system, and information processing method

    JP2014235538A

  • Information processing system, information processing program, information processing device, information processing method, game system, game program, game device, and game method

    JP2018112789A

  • Changing the camera view in an electronic game

    JP2022543440A