Virtual object collimation method, device and program
Patent Information
- Application Number
- JP2024060261
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-06-05
- Filing Date
- 2024-04-03
- Publication Date
- 2025-07-15
AI Technical Summary
In multiplayer online battle arena (MOBA) games, accurately selecting a target for aiming is challenging due to active aiming being expensive in operation time and prone to mistakes, especially when targets are aligned along the line of sight, making it difficult to select out-of-range targets and aim in advance.
A virtual object aiming method and device that utilizes a dot aiming indicator and target selection range determined by an aiming point, allowing for improved accuracy by selecting targets based on priority principles such as distance, HP percentage, and type, with a wheel aiming control for user interaction.
Enhances aiming accuracy, reduces operation time, and improves user experience by stabilizing target selection, reducing errors, and providing efficient human-machine interaction in MOBA games.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to a Chinese patent application bearing application number 202010508239.5 and entitled “Virtual object aiming method, device, apparatus and medium” filed with the State Intellectual Property Office of the People's Republic of China on June 5, 2020, the entire contents of which are incorporated herein by reference.
[0002] FIELD OF THE DISCLOSURE Embodiments of the present application relate to the field of virtual environments, and in particular to a method, apparatus, device and storage medium for aiming at a virtual object. [Background technology]
[0003] A fighting game is a game in which multiple virtual objects compete against each other in the same virtual world. A fighting game is a Multiplayer Online Battle Arena Game (MOBA).
[0004] In a typical MOBA, a first virtual object controlled by a user has a directional skill. When using the directional skill, a fan-shaped skill indicator is displayed on the terminal, the fan-shaped skill indicator includes a fan-shaped area located at the foot of the first virtual object, and the symmetric axis of the fan-shaped area is the line of sight. The user can drag the fan-shaped skill indicator to rotate around the first virtual object, and a candidate virtual object located in the fan-shaped area and closest to the line of sight is determined as a target virtual object for the aim, and the user further controls the first virtual object to activate the skill on the target virtual object. Summary of the Invention [Means for solving the problem]
[0005] A method for aiming at a virtual object according to one aspect of the present application includes: displaying a user interface, the view of the virtual environment including a view of the virtual environment centered on a first virtual object and including a first virtual object and a second virtual object located within the virtual environment; in response to an aim command, displaying a point-based aiming indicator in the virtual environment, the point-based aiming indicator indicating an aim point selected on a ground plane of the virtual environment by the aim action; and a step of controlling the first virtual object to aim at a target virtual object, the target virtual object being one virtual object selected from second virtual objects located within a target selection range, the target selection range being a selection range determined based on the aim point.
[0006] A virtual object aiming device according to another aspect of the present application includes: a display module and an aiming module; the display module displays a user interface, the user interface including a view of a virtual environment, the view of the virtual environment being centered on a first virtual object, the view including a first virtual object and a second virtual object located within the virtual environment; the display module is further configured to, in response to an aim command, display a point-based aiming indicator in the virtual environment, the point-based aiming indicator indicating an aim point selected on a ground plane of the virtual environment by the aim action; The aiming module controls the first virtual object to aim at a target virtual object, the target virtual object being one virtual object selected from second virtual objects located within a target selection range, and the target selection range being a selection range determined based on the aim point.
[0007] A computer device according to another aspect of the present application includes a processor and a memory storing at least one instruction, at least one program, code set or instruction set that, when loaded and executed by the processor, implements the above-mentioned virtual object aiming method.
[0008] A computer-readable storage medium according to another aspect of the present application stores at least one instruction, at least one program, code set, or instruction set that, when loaded and executed by a processor, realizes the above-mentioned virtual object aiming method.
[0009] A computer program product according to another aspect of the present application, when executed on a computer device, causes the computer device to perform the virtual object aiming method described in the above aspect.
[0010] In order to more clearly describe the technical solutions in the embodiments of the present invention, the following briefly describes the drawings necessary for describing the embodiments. Of course, the drawings in the following description are only some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without creative labor. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a block diagram of a computer system according to an exemplary embodiment of the present application. [Diagram 2] FIG. 2 is a schematic diagram of a state synchronization technique according to an exemplary embodiment of the present application; [Diagram 3] FIG. 2 is a schematic diagram of a frame synchronization technique according to an exemplary embodiment of the present application; [Figure 4] FIG. 2 is a schematic diagram of a wheel aiming control according to an exemplary embodiment of the present application; [Diagram 5] FIG. 13 is a schematic diagram of two triggering schemes for a wheel aim control according to another exemplary embodiment of the present application; [Figure 6]FIG. 13 is a schematic diagram of an interface of a virtual object aiming method according to another exemplary embodiment of the present application; [Figure 7] 1 is a flowchart of a virtual object aiming method according to an exemplary embodiment of the present application; [Figure 8] 1 is a flowchart of a virtual object aiming method according to another exemplary embodiment of the present application; [Figure 9] FIG. 13 is a mapping schematic diagram of a virtual object aiming method according to another exemplary embodiment of the present application; [Figure 10] FIG. 2 is a schematic diagram of a target selection range according to an exemplary embodiment of the present application; [Figure 11] FIG. 13 is a schematic diagram of a target selection range according to another exemplary embodiment of the present application; [Figure 12] FIG. 13 is a schematic diagram of pre-aiming of a virtual object according to another exemplary embodiment of the present application; [Figure 13] 1 is a flowchart of a virtual object aiming method according to another exemplary embodiment of the present application; [Figure 14] FIG. 13 is a schematic diagram of distance priority targeting according to another exemplary embodiment of the present application; [Figure 15] FIG. 13 is a schematic diagram of HP percentage priority targeting according to another exemplary embodiment of the present application; [Figure 16] FIG. 13 is a range schematic diagram of a target selection range according to another exemplary embodiment of the present application; [Figure 17] 1 is a flowchart of a virtual object aiming method according to another exemplary embodiment of the present application; [Figure 18] FIG. 13 is a structural schematic diagram of a program class according to another exemplary embodiment of the present application; [Figure 19] FIG. 13 is a structural schematic diagram of a program class according to another exemplary embodiment of the present application; [Figure 20] FIG. 13 is a schematic diagram of a scene for aiming at a virtual object according to another exemplary embodiment of the present application; [Figure 21] FIG. 13 is a schematic diagram of a scene for aiming at a virtual object according to another exemplary embodiment of the present application; [Figure 22]FIG. 2 is a block diagram of a virtual object aiming device according to another exemplary embodiment of the present application. [Diagram 23] FIG. 2 is a block diagram of a terminal according to another exemplary embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] In order to make the objectives, technical means and advantages of the present application clearer, the embodiments of the present application will be described in more detail below with reference to the drawings.
[0013] First, the nouns referred to in the examples of the present application will be briefly explained.
[0014] Virtual environment: A virtual environment that is displayed (or provided) when an application program is executed on a terminal. The virtual environment may be a simulation world that simulates the real world, a three-dimensional world that combines simulation and fiction, or a three-dimensional world that is simply fictional. The virtual environment may be any of a two-dimensional virtual environment, a two-and-a-half-dimensional virtual environment, and a three-dimensional virtual environment. The virtual environment is further used for a virtual battle between at least two virtual objects, and the virtual environment has virtual resources that can be used by at least two virtual objects. The virtual environment includes symmetrical lower left and upper right corner regions, and two virtual objects belonging to opposing camps each occupy one of the regions, and the goal of winning is to destroy a target building / base / outpost / nexus located deep in the opponent's region.
[0015] Virtual object: refers to an object that can act in a virtual environment. The actionable object can be at least one of a virtual person, a virtual animal, and a cartoon character. When the virtual environment is a three-dimensional virtual environment, the virtual object can be a three-dimensional virtual model, and each virtual object has its own shape and volume in the three-dimensional virtual environment and occupies a part of the space in the three-dimensional virtual environment. The virtual object is a three-dimensional character constructed based on three-dimensional human skeleton technology, and can realize different images by wearing different skins. In some embodiments, the virtual object can be realized by a 2.5-dimensional or two-dimensional model, and the embodiment of the present application is not limited thereto. Exemplarily, the virtual object is controlled by the user through the client or by the server.
[0016] Multiplayer Online Battle Arena: In a virtual environment, different virtual teams belonging to at least two opposing camps each occupy their own map area and compete to achieve a certain condition for victory. The conditions for victory include, but are not limited to, at least one of the following: occupying a base or destroying the base of the enemy camp, killing a virtual object of the enemy camp, surviving within a specified scene and period, seizing a certain source, and achieving a higher score than the opponent within a specified period. The tactical competition can be performed on a game-by-game basis, and the map of the tactical competition for each game may be the same or different. Each virtual team includes one or more virtual objects, for example, 1, 2, 3, or 5.
[0017] MOBA game: A game in which users belonging to different camps control virtual objects in a virtual environment that provides multiple bases, and compete in the virtual environment to occupy their own bases or destroy the enemy camp's bases. For example, in a MOBA game, users are divided into two opposing camps, and virtual objects controlled by the users are distributed in the virtual environment, and the conditions for victory are to destroy or occupy all of the enemy camp's bases in battle. MOBA games are based on the game as a unit, and the duration of one MOBA game is from the time the game is started to the time the conditions for victory are achieved.
[0018] A user interface (UI) control is any visible control or element that appears in the user interface of an application program, such as an image, an input box, a text box, a button, a tag, and the like. Some of the UI controls respond to user actions, for example, a skill control controls a virtual object to activate a skill. A user triggers the skill control to control the virtual object to activate a skill. UI controls according to the embodiments of the present application include, but are not limited to, skill controls and movement controls.
[0019] In a typical MOBA game, the candidate virtual object closest to the line of sight is determined as the target virtual object for aiming. However, in a MOBA game, the active aiming action is costly, and when the target to be attacked and other targets are on the same straight line along the line of sight, it is difficult to accurately select the target to be attacked, the action time is long, and the probability of error is high. Targets outside the range cannot be selected, and targets cannot be aimed in advance, resulting in a poor action experience.
[0020] The embodiments of the present application provide a method, device, apparatus, and medium for aiming at a virtual object that can improve the accuracy when a user actively aims.
[0021] 1 shows a structural block diagram of a computer system to which a virtual object aiming method according to an exemplary embodiment of the present application is applied. The computer system 100 includes a first terminal 110, a server 120, and a second terminal 130.
[0022] A client 111 supporting a virtual environment is installed and executed on the first terminal 110, and the client 111 may be a multiplayer online battle program. When the first terminal executes the client 111, the user interface of the client 111 is displayed on the screen of the first terminal 110. The client may be any one of a military simulation program, a battle royale shooting game, a virtual reality (VR) application program, an augmented reality (AR) program, a three-dimensional map program, a virtual reality game, an augmented reality game, a first-person shooting game (FPS), a third-person shooting game (TPS), a multiplayer online battle arena game (MOBA), and a strategy game (Simulation Game, SLG). In this embodiment, a case where the client is a MOBA game will be described as an example. The first terminal 110 is a terminal used by the first user 112, and the first user 112 uses the first terminal 110 to control a first virtual object located in a virtual environment to act, and the first virtual object may be referred to as a first virtual object of the first user 112. The action of the first virtual object includes, but is not limited to, at least one of adjusting a body posture, crawling, walking, running, cycling, flying, jumping, driving, picking up, shooting, attacking, and throwing. Illustratively, the first virtual object is a first virtual person, such as a simulated human character or an animated human character.
[0023] The second terminal 130 has a client 131 that supports a virtual environment installed and running, and the client 131 may be a multiplayer online battle program. When the second terminal 130 runs the client 131, the user interface of the client 131 is displayed on the screen of the second terminal 130. The client may be any one of a military simulation program, a battle royale shooting game, a VR application program, an AR program, a three-dimensional map program, a virtual reality game, an augmented reality game, an FPS, a TPS, a MOBA, and a SLG. In this embodiment, the case where the client is a MOBA game is taken as an example. The second terminal 130 is a terminal used by a second user 113, and the second user 113 uses the second terminal 130 to control a second virtual object located in a virtual environment to act, and the second virtual object may be referred to as a first virtual object of the second user 113. Exemplarily, the second virtual object is a second virtual person, such as a simulation person character or an anime person character.
[0024] The first virtual person and the second virtual person are located in the same virtual environment. The first virtual person and the second virtual person may belong to the same faction, team, organization, have a friendship relationship, or have temporary communication rights. The first virtual person and the second virtual person may belong to different factions, teams, organizations, or have an adversarial relationship.
[0025] The client installed on the first terminal 110 and the second terminal 130 may be the same, or the clients installed on the two terminals may be the same type of client on different operating system platforms (Android or iOS). The first terminal 110 may generally refer to one of the multiple terminals, and the second terminal 130 may generally refer to the other one of the multiple terminals. This embodiment is described using only the first terminal 110 and the second terminal 130 as an example. The device types of the first terminal 110 and the second terminal 130 may be the same or different. The device types include at least one of a smartphone, a tablet computer, an e-book reader, an MP3 player, an MP4 player, a laptop portable computer, and a desktop computer.
[0026] 1 shows only two terminals, in different embodiments, multiple other terminals 140 may exist and connect to the server 120. In addition, there may be one or more terminals 140 that correspond to developers. A client development and editing platform supporting a virtual environment is installed in the terminal 140, and the developer may edit and update the client on the terminal 140, and transmit the updated client installation package to the server 120 via a wired or wireless network. The first terminal 110 and the second terminal 130 may download the client installation package from the server 120 to realize the client update.
[0027] A first terminal 110, a second terminal 130 and another terminal 140 are connected to a server 120 via a wireless network or a wired network.
[0028] The server 120 includes at least one of a server, multiple servers, a cloud computing platform, and a virtualization center. The server 120 provides background services to clients that support a 3D virtual environment. The server 120 performs main computing tasks, and the terminal performs secondary computing tasks, or the server 120 performs secondary computing tasks, and the terminal performs main computing tasks, or the server 120 and the terminal use a distributed computing architecture to cooperate to perform computing.
[0029] In one illustrative example, the server 120 includes a processor 122, a user account database 123, a match service module 124, and a user-facing input / output interface (I / O interface) 125. The processor 122 loads instructions stored in the server 121 and processes data in the user account database 123 and the match service module 124. The user account database 123 stores data of user accounts used by the first terminal 110, the second terminal 130, and the other terminals 140, such as avatars of the user accounts, nicknames of the user accounts, combat power ratings of the user accounts, and servers where the user accounts are located. The match service module 124 provides multiple match rooms for users to play against each other, such as 1 vs. 1 match, 3 vs. 3 match, 5 vs. 5 match, etc. The user-facing I / O interface 125 communicates and exchanges data with the first terminal 110 and / or the second terminal 130 via a wireless network or a wired network.
[0030] The server 120 can use a synchronization technique to synchronize the multiple client screen displays. Illustratively, the synchronization technique used by the server 120 includes a state synchronization technique or a frame synchronization technique.
[0031] State Synchronization Technology In an embodiment based on Fig. 1, the server 120 synchronizes with multiple clients using a state synchronization technique, in which the combat logic is executed in the server 120, as shown in Fig. 2. When the state of a virtual object in the virtual environment changes, the server 120 sends the state synchronization result to all clients, e.g., client 1 to client 10.
[0032] In one illustrative example, client 1 sends a request to server 120 to request to activate a freezing skill on virtual object 1. Server 120 then determines whether to allow the freezing skill to be activated and, if the freezing skill is allowed to be activated, how much damage to inflict on other virtual objects 2. Server 120 then sends the skill activation result to all clients, and all clients update their local data and interface display based on the skill activation result.
[0033] Frame Synchronization Technology In an embodiment based on Fig. 1, the server 120 uses a frame synchronization technique to synchronize with multiple clients. In the frame synchronization technique, as shown in Fig. 3, the combat logic is executed in each client. Each client sends a frame synchronization request to the server, which includes the client's local data changes. After the server 120 receives a frame synchronization request, it forwards the frame synchronization request to all clients. After each client receives the frame synchronization request, it processes the frame synchronization request according to its local combat logic and updates its local data and interface display.
[0034] With reference to the above description of the virtual environment and the implementation environment, a method for displaying a screen of a virtual environment according to an embodiment of the present application will be described below, taking as an example a client executed on a terminal shown in Fig. 1 as the execution subject of the method. The client is executed on the terminal, and the client is an application program that supports the virtual environment.
[0035] For illustrative purposes, the virtual object aiming method according to the present application is applied to a MOBA game.
[0036] The aim refers to selecting one or more target virtual objects from a plurality of virtual objects. Thus, the aim point in the embodiment of the present application may be a selection point when selecting one or more target virtual objects from a plurality of virtual objects. Similarly, the aim line may be called a selection line, and the aim command may be called a selection command, and will not be described here one by one.
[0037] In a MOBA game, as shown in Fig. 4, a user can control a first virtual object to activate a directional skill or a directional attack by controlling a wheel aiming control. The wheel aiming control includes a wheel area 40 and a lever button 42. The area of the wheel area 40 is larger than the area of the lever button 42. The position of the lever button 42 can be changed in the wheel area 40. The wheel area 40 is divided into an inner ring area 41 and an outer ring area 43. The inner ring area 41 is also called a dead zone.
[0038] As can be seen from FIG. 5, according to the action position of the user's aiming action, it can be divided into a quick trigger mode and an active aiming mode.
[0039] When the user clicks the lever button 42 in the inner ring area 41, a quick release mode (also called quick release or automatic release) is triggered. The quick release mode refers to the client automatically selecting a target virtual object from within a circular activation range centered on the first virtual object according to a default rule for selecting an attack target. When the user's finger is released from the lever button 42, the client controls the first virtual object to activate a directional skill or a directional attack on the target virtual object.
[0040] When the user clicks the lever button 42 and drags the lever button 42 to the outer ring area 43, the active aiming mode is triggered. As shown in FIG. 6, the active aiming mode according to the embodiment of the present application refers to mapping and displaying a point-based aiming indicator 44 and a range indicator 45 based on the position of the lever button 42 in the outer ring area 43. The point-based aiming indicator 44 is used to aim at an aiming point in a virtual environment, the position of the point-based aiming indicator 44 corresponds to the position of the lever button 42, and the range indicator 45 indicates the maximum range of a directional skill or a directional attack, which corresponds to the outer edge of the outer ring area 43 and is generally a circular activation range. The user can change the display position of the point-based aiming indicator 44 within the circular activation range 45 by changing the position of the lever button 42 in the outer ring area 43. When the user's finger is released from the lever button 42, the client controls the first virtual object 51 to aim at the target virtual object 52 and activate the directional skill or directional attack. The target virtual object 52 is the virtual object closest to the aim point 44 among the virtual objects other than the first virtual object.
[0041] In one example, the first virtual object 51 flies to a position where the target virtual object 52 is located, and activates a slashing skill that inflicts high damage on the target virtual object 52 .
[0042] 7 shows a flowchart of a virtual object aiming method according to an exemplary embodiment of the present application. In this embodiment, the method is described by taking the terminal (or client) shown in FIG. 1 as an example. The method includes the following steps 702, 704, and 706.
[0043] At step 702, a user interface is displayed, the user interface including a view of a virtual environment, the view of the virtual environment including a first virtual object and a second virtual object located within the virtual environment.
[0044] The screen of the virtual environment is a screen of the virtual environment viewed from an observation viewpoint corresponding to the first virtual object. Exemplarily, the screen of the virtual environment is a two-dimensional screen displayed on the client after performing a screen capture on the three-dimensional virtual environment. Exemplarily, the shape of the screen of the virtual environment is determined by the shape of the display of the terminal, or by the shape of the user interface of the client. For example, in the case where the display of the terminal is rectangular, the screen of the virtual environment is also displayed as a rectangular screen.
[0045] A camera model bound to a first virtual object is set in the virtual environment. The screen of the virtual environment is a screen captured by the camera model with a certain observation position in the virtual environment as the observation center. The observation center is the center of the screen of the virtual environment. In the case where the screen of the virtual environment is a rectangular screen, the intersection of the rectangular diagonals in the screen of the virtual environment is the observation center. In general, the camera model bound to the first virtual object has the first virtual object as the observation center, and the position of the first virtual object in the virtual environment is the observation position. The observation position is a coordinate position in the virtual environment. When the virtual environment is a three-dimensional virtual environment, the observation position is a three-dimensional coordinate. Exemplarily, if the ground in the virtual environment is a horizontal plane, the height coordinate of the observation position is 0, and the observation position can be approximately displayed as a two-dimensional coordinate on the horizontal plane.
[0046] The first virtual object is a virtual object controlled by a client. The client controls the behavior of the first virtual object in the virtual environment based on the received user action (also called man-machine action). Exemplarily, the behavior of the first virtual object in the virtual environment includes walking, running, jumping, climbing, lying down, attacking, skill activation, item pickup, and message transmission.
[0047] A skill is an ability that a virtual object uses or activates to attack itself and / or other virtual objects, causing a detrimental or beneficial effect. Skills are classified by range, and include directional skills and indiscriminate skills. Directional skills are skills that are activated within the maximum range toward a targeted direction, area, or toward a virtual object. Indiscriminate skills are skills that are activated within the maximum range toward all areas. Skills are classified by type, and include active skills and passive skills. Active skills are skills that are actively used or activated by virtual objects, and passive skills are skills that are automatically triggered when passive conditions are met.
[0048] Illustratively, the directional skill referred to in this embodiment is an active skill that is actively used or activated by a user by controlling a first virtual object, and the skill is activated toward an aimed target virtual object within a maximum range.
[0049] Illustratively, the directional attack referred to in this embodiment is a general attack that is actively used or initiated by a user controlling a first virtual object, and the attack is initiated toward an aimed target virtual object within a maximum range.
[0050] At step 704, in response to the aim command, a point-based aiming indicator is displayed in the virtual environment, the point-based aiming indicator indicating an aim point selected on the ground plane of the virtual environment by the aim action.
[0051] The aim command is triggered by the user's aim action (or skill activation action or attack action). In one example, the aim command is triggered by a drag action on a wheel aim control, while in another example, the aim command is triggered by a drag action on a lever button on a physical steering wheel, and the present application does not limit the trigger method of the aim command.
[0052] In this embodiment, the aiming command is an example command triggered by dragging the wheel aiming control out of the dead zone, and in this case, the "aiming action" is the dragging the wheel aiming control out of the dead zone. As can be seen from Figure 6, after receiving the dragging action on the wheel aiming control, the terminal maps and displays the dot-type aiming indicator 44 according to the position of the lever button 42 in the outer ring area 43.
[0053] In step 706, the first virtual object is controlled to aim at a target virtual object, the target virtual object being one virtual object selected from the second virtual objects located within a target selection range, and the target selection range being a selection range determined based on the aim point.
[0054] The target selection range is a selection range determined with reference to the aim point, the target selection range is located on the ground plane of the virtual environment, the target selection range has a rotation center at the first map point where the first virtual object is located, and its axis of symmetry passes through the aim point.
[0055] The target virtual object is one virtual object selected from the second virtual objects located within the target selection range. The target virtual object is one virtual object selected from the second virtual objects located within the target selection range according to a priority rule. The priority rule is as follows: preferentially selecting a candidate virtual object that is closest to the aim point; preferentially selecting the candidate virtual object with the least HP percentage; Preferentially selecting a candidate virtual object with the smallest absolute HP value; and and preferentially selecting the candidate virtual object with the highest type priority.
[0056] For example, the aiming in this embodiment includes a general aiming and a locking aiming. General aiming: When the position of the aiming target (target virtual object) changes, the aiming is automatically canceled. Locking aiming: Even if the position of the aiming target (target virtual object) changes, the aiming is not canceled.
[0057] For example, after the first virtual object aims at the target virtual object by a general aim, even if the target virtual object moves and changes its position, the first virtual object does not aim at the target virtual object and does not use a skill or perform a general attack on the target virtual object. If the user wants to continue aiming at the target virtual object, the user needs to aim at the target virtual object by performing an aiming action again.
[0058] Exemplarily, after the first virtual object aims at the target virtual object by rocking aiming, the first virtual object continuously aims at the target virtual object to activate a skill or perform a general attack. In one embodiment, after the first virtual object aims at the target virtual object by rocking aiming, if the position of the target virtual object changes and goes out of the attack range (aiming range) of the first virtual object, the client automatically controls the first virtual object to follow the target virtual object and continue to aim at the target virtual object and attack. Exemplarily, the termination of the locking aiming includes the following manners: stopping the locking aiming when the aiming time reaches a predetermined time, stopping the aiming when the target virtual object moves and goes out of the aiming range of the first virtual object, stopping the aiming when the target virtual object or the first virtual object dies, and stopping the aiming on the target virtual object when the user performs the aiming operation again and aims at another virtual object.
[0059] As described above, the method according to the present embodiment uses the aim point to simulate the click position of the mouse on the computer terminal, and selects one virtual object from the second virtual objects located within the target selection range determined based on the aim point, as the target virtual object of the aim. The target selection range is a selection range determined based on the aim point, and the accuracy of pointing by the aim point is better than that of pointing by the line of sight, so that the target selection of active aiming is more stable and the target selection is not easily erroneous. Therefore, the accuracy of the user's active aiming is improved, the time required for target selection in active aiming is reduced, the operation cost is reduced, and the efficiency of man-machine interaction and the operation experience of the user are improved. It also gives the client's designers more leeway to design skills.
[0060] In an embodiment based on Fig. 7, the aim command is triggered by a wheel aim control. The user interface displayed on the client includes a wheel aim control, which is superimposed on the screen of the virtual environment. As shown in Fig. 4, the wheel aim control 40 includes a wheel area 40 and a lever button 42. The step 704 includes the following steps 704a to 704d, as shown in Fig. 8.
[0061] In step 704a, in response to an aim command, an offset vector is calculated from the activation point to the offset point.
[0062] The dragging action triggers the touch screen of the terminal to report a series of touch commands to the CPU, where the touch commands include, but are not limited to, one touch start command, at least one touch movement command, and one touch end command. Each touch command includes the real-time touch coordinates of the user's finger on the touch screen. Any of the series of touch commands triggered by the dragging action may be regarded as an aiming command. Alternatively, any of the touch commands triggered by the dragging action in an area other than the dead zone may be regarded as an aiming command.
[0063] 9, the activation point 91 indicates the center position of the wheel area. In some embodiments, the center position of the wheel area is fixed, and in other embodiments, the center position of the wheel area changes dynamically, and when the user's right thumb is dropped, the finger drop position detected by the touch screen is set as the center position of the wheel area.
[0064] When the user's right thumb drags the lever button in the wheel region, the position of the lever is offset from activation point 91 to offset point 92. The client records a first coordinate of the activation point, reads a second coordinate of the offset point from the aim command, and calculates an offset vector based on the second coordinate and the first coordinate.
[0065] Here, the offset vector is a vector from the activation point 91 to the offset point 92, the first coordinate and the second coordinate are both coordinates of a plane in which the touch screen is located, and the offset vector is a vector of the plane in which the touch screen is located.
[0066] In step 704b, an aiming vector is calculated based on the offset vector.
[0067] The aim vector is a vector pointing from a first map point 93 where a first virtual object resides to an aim point 94 .
[0068] The ratio of the offset vector length L1 to the wheel radius R1 is equal to the ratio of the aiming vector length L2 to the aiming radius R2. The wheel radius R1 is the radius of the wheel area, and the aiming radius R2 is the maximum aiming distance when the first virtual object is actively aiming. In some embodiments, the aiming radius R2 is equal to the maximum range x of the directional skill (or directional attack). In another embodiment, the aiming radius R2 is equal to the sum of the maximum range x of the directional skill (or directional attack) and the preliminary aiming distance y. This embodiment takes the latter as an example, and the second virtual object can be pre-aimed and locked even if it is outside the maximum range of the directional skill.
[0069] α1 is equal to the aim angle α2, where α1 is the offset angle of the offset vector relative to the horizontal direction, and α2 is the offset angle of the aim vector relative to the x-axis in the virtual environment.
[0070] The aiming vector is a vector in the virtual environment. If the virtual environment is a three-dimensional virtual environment, the aiming vector is a vector on a plane in the virtual environment.
[0071] At step 704c, an aim point is calculated based on the aim vector and the first map point where the first virtual object is located.
[0072] The client adds the first map point and the aim vector to obtain the aim point, which is a point located on the ground plane of the virtual environment.
[0073] Step 704d displays a dot-based aiming indicator at the aim point in the virtual environment.
[0074] As described above, the method of this embodiment obtains the aiming point 94 by accurately mapping based on the offset point 92, so that when a user uses the wheel aiming control, an action similar to clicking a mouse on a computer terminal is obtained, thereby improving the aiming accuracy when actively aiming.
[0075] In the embodiment according to Fig. 7, the target selection range is a selection range determined with reference to the aim point. The target selection range is located on the ground plane of the virtual environment, has a center of rotation at the first map point where the first virtual object is located, and its axis of symmetry passes through the aim point. The target selection range is an axisymmetric figure.
[0076] The target selection range is at least one of a sector, a semicircle, and a circle, or is a range obtained by combining at least two geometric shapes, and the geometric shapes include a square, a diamond, a triangle, a circle, and a sector.
[0077] 10, the target selection range 95 has a rotation center at a first map point 93 where a first virtual object is located, and the axis of symmetry of the target selection range 95 passes through an aim point 94. The target selection range 95 is a range that combines a circle and a semicircle.
[0078] 11, the target selection range 95 has a first map point 93 where the first virtual object is located as the rotation center, and the axis of symmetry of the target selection range 95 passes through the aim point 94. The target selection range 95 is a range that combines a circle and a sector shape.
[0079] Exemplarily, the first virtual object has a maximum range 96 when using a directional skill or a directional attack, and the maximum range 96 may be a circular range centered on the first map point 93 where the first virtual object is located. The target selection range 95 includes a pre-aiming area located outside the maximum range 96 and an aiming area located within the maximum range 96.
[0080] As shown in FIG. 12, such a design allows the user to lock on a target virtual object at a greater distance in the preliminary aiming area.
[0081] In the embodiment based on Fig. 7, the aim command is triggered by a wheel aim control. The user interface displayed on the client includes a wheel aim control, which is superimposed on the screen of the virtual environment. As shown in Fig. 4, the wheel aim control 40 includes a wheel area 40 and a lever button 42. The step 706 includes the following steps 706a to 706c, as shown in Fig. 13.
[0082] In step 706a, a second virtual object located within the target selection range is designated as a candidate virtual object.
[0083] The client selects all second virtual objects within a range having the first map point 93 as a circle center and the aiming radius R2 as a radius as initial candidate virtual objects, then filters out the initial candidate virtual objects using a filter to filter out second virtual objects located outside the target selection range, and reserves second virtual objects located within the target selection range as candidate virtual objects.
[0084] The candidate virtual object must also satisfy validity conditions, including, but not limited to, the candidate virtual object not belonging to the same faction as the first virtual object, not being a virtual object of a particular type (e.g., a building, a dragon or baron, a watchtower), and not being a virtual object in a particular state (e.g., invisible, unselectable).
[0085] In step 706b, a target virtual object is selected from the candidate virtual objects according to a priority rule.
[0086] The principles of priority include at least one of the following principles:
[0087] 1. The principle of distance priority, A candidate virtual object closest to the aim point is preferentially selected. As shown in Fig. 14, a candidate virtual object A and a candidate virtual object B simultaneously exist in the candidate virtual objects, the straight-line distance between the candidate virtual object A and the aim point is a first distance, and the straight-line distance between the candidate virtual object B and the aim point is a second distance. When the first distance is smaller than the second distance, the candidate virtual object A is preferentially selected as the target virtual object.
[0088] 2. HP Percentage Priority Principle A candidate virtual object with the lowest HP percentage is preferentially selected. As shown in Fig. 15, when candidate virtual object A and candidate virtual object B simultaneously exist in the candidate virtual objects, and the HP percentage of candidate virtual object A is 43% and the HP percentage of candidate virtual object B is 80%, candidate virtual object A is preferentially selected as the target virtual object.
[0089] 3. HP Absolute Priority Principle A candidate virtual object with the smallest absolute HP value is preferentially selected. For example, if candidate virtual object A and candidate virtual object B simultaneously exist as candidate virtual objects, and candidate virtual object A has an HP of 1200 points and candidate virtual object B has an HP of 801 points, candidate virtual object B is preferentially selected as the target virtual object.
[0090] 4. Principle of Type Priority A candidate virtual object with the highest type priority is preferentially selected. For example, if candidate virtual object A and candidate virtual object B simultaneously exist as candidate virtual objects, and the type of candidate virtual object A is a hero and the type of candidate virtual object B is a soldier, the priority of the hero is higher than that of the soldier, and the candidate virtual object A is preferentially selected as the target virtual object.
[0091] When the priority rule includes at least two different priority rules, a primary priority rule and a secondary priority rule are set, and after selecting according to the primary priority rule, if there is no selected result or there are two or more selected results, the secondary priority rule is used for selection. For example, first, a selection is made according to the distance priority rule, but if there are two candidate virtual objects that are the same distance from the aim point, a selection is further made according to the type priority rule to obtain a final target virtual object.
[0092] When the priority principle includes at least two different priority principles, the priority score of each candidate virtual object is calculated by performing weighted addition for the different priority principles at the same time, and the candidate virtual object with the highest priority score is selected to obtain the final target virtual object. For example, the priority score is calculated based on the type of virtual object and the distance between the virtual object and the aim point, so that heroes located around the aim point are selected with priority over soldiers.
[0093] In step 706c, the first virtual object is controlled to aim at the target virtual object.
[0094] In step 707, the selected effect is displayed on the target virtual object.
[0095] Here, the selection effect includes at least one of displaying a first selection mark at a second map point where the target virtual object is located, and displaying a second selection mark above the target virtual object.
[0096] For example, the first selection mark is a circular light effect displayed at the feet of the target virtual object, and the second selection mark is a circular light beam effect displayed above the head of the target virtual object, and this embodiment does not limit the specific form of the selection effect.
[0097] Exemplarily, in response to a second map point on which the target virtual object is located being located in the preliminary aiming area, a first selection effect is displayed on the target virtual object, and in response to the second map point on which the target virtual object is located being located in the aiming area, a second selection effect different from the first selection effect is displayed on the target virtual object, for example, the first selection effect and the second selection effect are different in color.
[0098] In step 708, in response to receiving the final aim command, the first virtual object is controlled to exert a directional skill or a directional attack against the target virtual object.
[0099] As described above, the method of this embodiment selects a target virtual object to be aimed from the second virtual objects located within the target selection range according to the priority principle, thereby enabling the user to accurately select the target to be aimed, improving the fault tolerance of the user's operation, and providing an automatic aiming solution with a certain level of intelligence.
[0100] The method of this embodiment displays a second selection effect on the target virtual object in response to a second map point, at which the target virtual object is located, being positioned in the aiming area, thereby clearly informing the user whether the target virtual object is in an aiming state or a pre-aiming locking state, thereby improving the efficiency of man-machine interaction and increasing the amount of information displayed in the selection effect.
[0101] 16, in an embodiment based on Fig. 13, the target selection range 95 includes a first selection range 951 (sector shape) and a second selection range 952 (semicircular shape), and although there is a partial overlap between the first selection range 951 and the second selection range 952, the priority of the first selection range 951 is higher than the priority of the second selection range 952. In response to the presence of a second virtual object in the first selection range 951, the second virtual object in the first selection range 951 is preferentially set as a candidate virtual object, and in response to the absence of a second virtual object in the first selection range 951, the second virtual object located in the second selection range 952 is preferentially set as a candidate virtual object.
[0102] If a candidate virtual object is required to satisfy a validity condition, in response to the presence of a second virtual object that meets the validity condition within the first selection range 951, a second virtual object that meets the validity condition within the first selection range 951 is preferentially set as a candidate virtual object, and in response to the absence of a second virtual object that meets the validity condition within the first selection range 951, a second virtual object that meets the validity condition located within the second selection range 952 is preferentially set as a candidate virtual object.
[0103] In one design, the first selection range 951 corresponds to a first priority principle and the second selection range 952 corresponds to a second priority principle. The first priority principle and the second priority principle may be different, e.g., the first priority principle may be an HP percentage priority and the second priority principle may be a distance priority.
[0104] In response to the candidate virtual object belonging to a first selection range 951, a target virtual object is selected from the candidate virtual objects according to a first priority principle, and in response to the candidate virtual object belonging to a second selection range 952, a target virtual object is selected from the candidate virtual objects according to a second priority principle.
[0105] Taking a first virtual object exerting a directional skill on a target virtual object as an example, as shown in FIG. 17, the above-mentioned virtual object aiming method includes the following steps 801 to 806.
[0106] In step 801, the lever button of the wheel aim control is pressed and dragged.
[0107] When the lever button is pressed, the touch screen reports a touch start event to the CPU, and the client records the first coordinate of the touch start event as the activation point DownPos.
[0108] When the stick button is dragged, the touch screen reports touch-mobile events to the CPU at the sampling frequency, and the client records the second coordinate of the last touch-mobile event as the offset point DragPos.
[0109] In step 802, the corresponding aim point FocusPoint in the virtual environment of the dragged lever button is calculated.
[0110] Let MaxDragRadius be the wheel radius (maximum drag range) for the wheel aiming control, HeroPos be the first map point in the virtual environment for the first hero controlled by the user, and X be the maximum range radius of the directional skill. Then calculate the offset position of the aim point relative to the first map point using the proportional relationship:
[0111] |DragPos-DownPos| / MaxDragRadius=|FocusPoint-HeroPos| / X
[0112] Also, it is necessary to calculate the direction of the aim point FocusPoint with respect to the first map point HeroPos. For example, first, the position of the screen center point (0,0) is mapped to the position ScreenCenter2SencePos, which is also the observation center of the camera model in the 3D virtual environment, and then the reference point ScreenDrag2ScenePos is mapped using the position obtained by adding an offset vector (DragPos-DownPos) to the screen center point (0,0). The position direction of the reference point ScreenDrag2ScenePos and the observation center ScreenCenter2SencePos in the 3D virtual environment is the position direction of the aim point FocusPoint and the first map point HeroPos. By summarizing the above, the following formula is obtained.
[0113] FocusPoint=HeroPos+(|DragPos-DownPos| / MaxDragRadius)*X*Normalize(ScreenDrag2ScenePos-ScreenCenter2SencePos)
[0114] Here, Normalize stands for normalization.
[0115] In step 803, an enemy search interface is called based on skill information (parameters such as skill tree ID, aiming point, maximum range, and backup aiming range outside the maximum range).
[0116] The skill tree ID is an identifier for directional skills. The maximum range is the maximum range of a directional skill, which is generally a circular range. The maximum range is indicated by the maximum range radius X above. The backup aiming range outside the maximum range is indicated by Y. Of these, the producer can set Y for each directional skill.
[0117] In step 804, other virtual objects around the first hero (maximum range + backup aiming range) are obtained and stored in a candidate virtual object list.
[0118] The enemy search interface adds all other heroes within a circular range determined by centering the first map point where the first hero is located and setting a radius of (X+Y) to a target list, where X is the radius of the maximum range of the directional skill, Y is the difference between the radius of the backup target range and the radius of the maximum range, and the backup target range is a circular range that is fitted around the maximum range, as shown in FIG.
[0119] In step 805, the candidate virtual object list is traversed and objects that do not match the filter are removed.
[0120] The producer sets one filter ID for each directional skill. This filter ID is the validity condition that the target that activates the directional skill must satisfy, such as not belonging to the same camp as the first hero, not being a virtual object of a certain type (e.g., a building, a dragon, a baron, a watchtower), not being a virtual object in a certain state (hidden, unselectable), etc.
[0121] The client traverses the candidate virtual objects in the candidate virtual object list for those that match the filter rules and removes from the candidate virtual object list those candidate virtual objects that do not match the filters.
[0122] In step 806, the search tree is invoked to find a suitable second hero.
[0123] The structure of the search tree is shown in FIG. 18. Firstly, all nodes in the search tree inherit from the BaseSelector node, and the BaseSelector node mainly has two function methods, Configure and BattleActor Select, where BattleActor refers to the candidate virtual object.
[0124] Here, the Configure function is used to initialize the data of the Selector subclass itself based on the table data set by the producer. For example, it is necessary to set multiple branches in the BranchSelector node, and in this case, the data set by Configure is the id of some branch Selector. Also, for example, it is necessary to set the shape field of the target selection range, including circle, sector, and of course parameters such as the radius of the circle and the angle of the sector, in the ShapeFilter node.
[0125] The input parameter of the BattleActor Select function is the candidate virtual object list List <battleactor>The return parameter is the filtered candidate virtual object BattleActor, but its actual content behaves differently depending on the Selector subclass implementation.
[0126] The BaseSelector node contains three core derived subclasses: LinkedSelector, BranchSelector, and PrioritySelector.
[0127] LinkSelector: At its core, it has a next parameter to display the next required filter, thereby forming a chain structure. It has many subclasses, and many subclasses are basically filters. It mainly deletes candidate virtual objects BattleActors that do not match the validity rules in the Select function, and returns a List of candidate virtual objects BattleActors that do not match the validity rules. <battleactor>The filter is realized by transmitting the to the next Selector. For example, the ShapeSector corresponding to the target selection range sets the necessary shapes and parameters in Configure, and the Select function passes the List <battleactor>Determine whether the candidate virtual objects in are within the range of the shape corresponding to the target selection range, one by one, and select the candidate virtual objects that are not within the target selection range from List <battleactor>The same goes for other filters. For example, BuffTypeFilter removes candidate virtual objects that have a certain type of additional effect buff, and IDSector removes candidate virtual objects that include a certain buff id as a treatment for enemies that are not hit by a certain skill a second time. In addition to the above filters, there may be many other specific filters. For example, CanKillFilter guarantees that a kill can be obtained by activating the current skill, IDFilter screens for a certain virtual object, BuffTypeFilter screens for virtual objects that have a certain buff, and there are many other implementations of filters, but we will omit the explanation.
[0128] BranchSelector: Its main function is to screen candidate virtual objects when there are multiple selection ranges. For example, as shown in FIG. 16, when it is necessary to first determine a sector range that is a first selection range 951 and then determine a second selection range 952, BranchSelector is used. Several Selector IDs are set in the configuration table, and in the Configure function, the member variable selectors is initialized based on the set Selector ID, and in the Select function, the parameter List <battleactor>Temporarily store the actors, then use the BaseSelector in the selectors one by one to create a list of the temporarily stored actors. <battleactor>The Select function is called with the above as a parameter, and it is determined whether or not the candidate virtual object BattleActor has been fed back. If the candidate virtual object BattleActor has been fed back, this means that one candidate virtual object BattleActor that satisfies the rules of the first selection range 951 exists, and there is no need to traverse the selectors of the subsequent second selection range 952. If there is no feedback, the BaseSelector in the next selectors corresponding to the second selection range 952 is called.
[0129] PrioritySelector: The producer uses this Selector to generate a filtered List <battleactor>The producer must configure the priority rules, such as HP priority rule, distance priority rule, and percentage HP priority rule, in the table, and in the Select function, sort the list List according to the configured priority rules. <battleactor>Sorts the list and feeds back what is first in the list, or NULL if the list is empty.
[0130] By using the above Selectors in combination, it is possible to realize very complex enemy search logic. For example, as shown in FIG. 16, when it is necessary to first judge the first selection range 951 and then judge the second selection range 952, it is possible to set the priority principle of the first selection range 951 to be the HP priority principle and the priority principle of the second selection range 952 to be the distance priority principle from the aim point, in which case the overall structure of the search tree is as shown in FIG. 19.
[0131] 20, first, the client obtains three candidate virtual objects, then the three candidate virtual objects are put into a 90-degree sector-shaped filter corresponding to the first selection range 951, and assuming that object 3 is not in the first selection range 951, object 3 is removed, leaving only object 1 and object 2, and then the filter sorts object 1 and object 2 according to the principle of priority. In the first selection range 951, sorting is performed according to the principle of HP priority, and since the client knows through sorting that object 2 has a lower HP, object 2 is fed back as the target virtual object to be finally aimed at, and finally object 2 is obtained by searching.
[0132] Referring to an example shown in FIG. 21, first, the client obtains three candidate virtual objects, then puts the three candidate virtual objects into a 90-degree sector-shaped filter corresponding to the first selection range 951, and assuming that object 1, object 2, and object 3 are not in the first selection range 951, the client removes the three candidate virtual objects, and then the client returns to the second branch belonging to the BranchSelector corresponding to the second selection range 952, but there are still three candidate virtual objects. First, the client puts the three candidate virtual objects into a 180-degree semicircular-shaped filter corresponding to the second selection range 951, but none of the candidate virtual objects are removed. Next, the client sorts the objects by the distance between the object 1, object 2, and object 3 and the aim point. As can be seen from the distance, object 1 is closest to the aim point, so the client feeds back object 1 as the target virtual object to be finally aimed at.
[0133] The following are examples of the apparatus of the present application, and details not specifically described in the apparatus examples can be referred to in the method examples.
[0134] 22 is a block diagram of a virtual object aiming device according to an exemplary embodiment of the present application. The device includes a display module 901 and an aiming module 902;
[0135] the display module 901 displays a user interface including a screen of a virtual environment, the screen of the virtual environment being a screen in which the virtual environment is viewed with a first virtual object at the center, the screen including a first virtual object and a second virtual object located within the virtual environment; the display module 901 is further configured to, in response to an aim command, display a point-based aiming indicator in the virtual environment, the point-based aiming indicator indicating an aim point selected on a ground plane of the virtual environment by the aim action; The aiming module 902 controls the first virtual object to aim at a target virtual object, the target virtual object being a virtual object selected from second virtual objects located within a target selection range, and the target selection range being a selection range determined based on the aim point.
[0136] In one example of this embodiment, the aiming module 902 filters second virtual objects located within the target selection range as candidate virtual objects, selects the target virtual object from the candidate virtual objects according to a priority principle, and controls the first virtual object to aim at the target virtual object.
[0137] In one example of this embodiment, the target selection range includes a first selection range and a second selection range, and the first selection range has a higher priority than the second selection range; The aiming module 902, in response to a presence of the second virtual object within the first selection range, preferentially filters the second virtual object within the first selection range as a candidate virtual object, and, in response to an absence of the second virtual object within the first selection range, filters the second virtual object located within the second selection range as the candidate virtual object.
[0138] In one example of this embodiment, the first selection range corresponds to a first priority principle, and the second selection range corresponds to a second priority principle; The aiming module 902, in response to the candidate virtual objects belonging to the first selection range, selects the target virtual object from the candidate virtual objects in accordance with the first priority principle, and, in response to the candidate virtual objects belonging to the second selection range, selects the target virtual object from the candidate virtual objects in accordance with the second priority principle.
[0139] In one example of this embodiment, the target selection range is located on the ground plane of the virtual environment, has a center of rotation about a first map point where the first virtual object is located, and has its axis of symmetry passing through an aim point.
[0140] In one example of this embodiment, the first virtual object has a maximum range and the target selection range includes a backup aiming area located outside the maximum range.
[0141] In one embodiment of the present invention, the priority order is: preferentially selecting a candidate virtual object that is closest to the aim point; preferentially selecting the candidate virtual object with the least HP percentage; Preferentially selecting a candidate virtual object with the smallest absolute HP value; and and preferentially selecting the candidate virtual object with the highest type priority.
[0142] In one example embodiment, the display module 901 further displays a selection effect on the target virtual object, the selection effect including at least one of displaying a first selection mark at a second map point where the target virtual object is located and displaying a second selection mark above the target virtual object.
[0143] In one example of this embodiment, the first virtual object has a maximum range, and the target selection range includes a preliminary aiming area located outside the maximum range and an aiming area located within the maximum range.
[0144] The display module 901 further displays a first selection effect on the target virtual object in response to a second map point on which the target virtual object is located being located in the preliminary aiming area, and displays a second selection effect, different from the first selection effect, on the target virtual object in response to the second map point on which the target virtual object is located being located in the aiming area.
[0145] In one example embodiment, the user interface includes a wheel aim control including a wheel region and a lever button, the aim command includes an offset point of the lever button offset from an activation point in the wheel region, the activation point being a center of the wheel region.
[0146] The display module 901 is further configured to, in response to the aiming command, calculate an offset vector from the activation point to the offset point, calculate the aiming vector based on the offset vector, calculate the aiming point based on the aiming vector and a first map point where the first virtual object is located, and display the point-based aiming indicator at the aiming point in the virtual environment, wherein the aiming vector is a vector from a first map point where the first virtual object is located to the aiming point, a ratio of the offset vector to a radius of the wheel is equal to a ratio of the aiming vector to an aiming radius, the radius of the wheel is a radius of a wheel area, and the aiming radius is a maximum aiming distance when actively aiming at the first virtual object.
[0147] It should be noted that the virtual object aiming device according to the above embodiment is only described by taking the partitions of the above functional modules as an example, and in actual application, the above functions may be allocated and realized by different functional modules as necessary, that is, the internal structure of the device may be partitioned into different functional modules to realize all or some of the above-described functions. In addition, the virtual object aiming device according to the above embodiment belongs to the same concept as the embodiment of the virtual object aiming method, and the specific implementation details thereof are to be referred to the embodiment of the method, and the description thereof will be omitted here.
[0148] The present application further provides a terminal including a processor and a memory storing at least one instruction for implementing a virtual object aiming method according to the embodiments of the above methods by being loaded and executed by the processor, the terminal may be the terminal shown in FIG.
[0149] 23 shows a block diagram of a terminal 2300 according to an exemplary embodiment of the present application. The terminal 2300 may be a smartphone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV), a notebook personal computer, or a desktop computer. The terminal 2300 may also be called a user device, a mobile terminal, a laptop terminal, a desktop terminal, or other names.
[0150] Generally, the terminal 2300 includes a processor 2301 and a memory 2302 .
[0151] The processor 2301 may include one or more processing cores, such as, for example, a 4-core processor, an 8-core processor, etc. The processor 2301 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), or a PLA (Programmable Logic Array). The processor 2301 may include a main processor and a coprocessor, where the main processor is a processor for processing data in an awake state, also referred to as a CPU (Central Processing Unit), and the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 2301 may be integrated with a GPU (Graphics Processing Unit) responsible for rendering and plotting content to be displayed on a display. In some embodiments, the processor 2301 may further include an AI (Artificial Intelligence) processor for processing computational operations related to machine learning.
[0152] The memory 2302 may include one or more computer readable storage media, which may be non-transitory. The memory 2302 may further include high speed random access memory, and non-volatile memory, such as one or more magnetic disk storage devices, flash storage devices. In some embodiments, the non-transitory computer readable storage media of the memory 2302 stores at least one instruction for execution by the processor 2301 to implement a virtual object aiming method according to a method embodiment of the present application.
[0153] In some embodiments, the terminal 2300 further includes a peripheral interface 2303 and at least one peripheral device. The processor 2301, the memory 2302, and the peripheral interface 2303 can be connected via a bus or signal lines. Each peripheral device can be connected to the peripheral interface 2303 via a bus, signal lines, or a circuit board. Specifically, the peripheral devices include at least one of a radio frequency circuit 2304, a touch display 2305, a camera assembly 2306, an audio circuit 2307, a positioning assembly 2308, and a power source 2309.
[0154] As one skilled in the art will appreciate, the structure shown in FIG. 23 is not intended to limit terminal 2300 and may include more or fewer assemblies than those shown, may combine some assemblies, or may use different assembly arrangements.
[0155] The memory further includes one or more programs stored in the memory for executing a virtual object aiming method according to an embodiment of the present application.
[0156] The present application further provides a computer readable storage medium storing at least one instruction, which when loaded and executed by a processor, implements a method for aiming at a virtual object according to each of the above method embodiments.
[0157] The present application further provides a computer program product, which when executed on a computer, causes a computer device to perform a virtual object aiming method according to any of the above method embodiments.
[0158] The numbers of the above embodiments of the present invention are merely for the purpose of explanation and do not indicate superiority or inferiority of the embodiments.
[0159] As can be understood by those skilled in the art, the realization of all or part of the steps of the above embodiments may be completed by hardware, or may be completed by instructing related hardware by a program, and the program may be stored in a computer-readable storage medium, and the storage medium may be a read-only memory, a magnetic disk, an optical disk, etc.
[0160] The above description is merely an embodiment of the present application, and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the concept and principles of the present application should be included within the scope of protection of the present application. [Explanation of symbols]
[0161] 100 Computer Systems 110 First Terminal 111 Clients that support virtual environments 112 First User 113 Second User 120 Servers 122 processors 123 User Account Database 124 Battle Service Module 125 User-Facing Input / Output (I / O) Interface 130 Second Terminal 131 Clients that support virtual environments 140 other clients 901 Display module 902 Targeting Module 2300 terminal 2301 Processor 2302 Memory 2303 Peripheral Device Interface 2304 Radio Frequency Circuits 2305 Display 2306 Camera Assembly 2307 Audio Circuit 2308 Positioning Assembly 2309 Power supply 2310 Sensor 2311 Acceleration Sensor 2312 Gyro sensor 2313 Pressure Sensor 2314 Fingerprint Sensor 2315 Optical Sensor 2316 Proximity Sensor< / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor>
Claims
1. A virtual object aiming method executed by a terminal, comprising: displaying a user interface, wherein the user interface includes a screen of a virtual environment, and the screen of the virtual environment includes a first virtual object and a second virtual object located within the virtual environment; responding to a targeting command triggered by a user, displaying a dot-style targeting indicator in the virtual environment, wherein the dot-style targeting indicator indicates a targeting point selected on the ground of the virtual environment by a targeting operation; controlling the first virtual object to perform a locking aim at a target virtual object, wherein the target virtual object is one virtual object selected by the terminal from second virtual objects located within a target selection range, and the target selection range is a selection range determined based on the targeting point; and when the first virtual object performs a locking aim at the target virtual object, the first virtual object continuously aims at the target virtual object to perform skill activation or an attack.
2. The method according to claim 1, wherein the locking aim is a targeting method in which the targeting is not canceled even if the position of the target virtual object changes.
3. When the first virtual object performs a locking aim at the target virtual object, the step of the first virtual object continuously aiming at the target virtual object to perform skill activation or an attack comprises: after the first virtual object aims at the target virtual object by locking aim, when the position of the target virtual object changes and the target virtual object moves out of the attack range of the first virtual object, automatically controlling the first virtual object to follow the target virtual object and continuously aim at and attack the target virtual object.
4. The method according to claim 1, further comprising the step of automatically controlling to continuously aim at and attack the target virtual object when the target virtual object moves out of the target selection range of the first virtual object.
5. Ending the locking aim according to a predetermined condition, wherein the predetermined condition is When the aiming time reaches a predetermined time, when the target virtual object moves out of the aiming range of the first virtual object, when the target virtual object or the first virtual object dies, when the user performs the aiming operation again and aims at another virtual object The method according to claim 1, including at least one of the above.
6. The user interface includes a wheel aiming control including a wheel area and a lever button, the wheel area is divided into an inner ring area and an outer ring area, when the lever button is positioned in the inner ring area or the outer ring area by the user, different aiming commands are triggered, when the lever button is positioned in the outer ring area, the dot aiming indicator is displayed in the virtual environment, The method according to claim 1.
7. The step of controlling the first virtual object to aim at the target virtual object includes: filtering a second virtual object located within the target selection range as a candidate virtual object; selecting the target virtual object from the candidate virtual objects according to the principle of priority; and controlling the first virtual object to aim at the target virtual object. The method according to any one of claims 1 to 6.
8. The target selection range is located on the ground of the virtual environment, centered on the first map point where the first virtual object is located, and its axis of symmetry passes through the aiming point. The method according to any one of claims 1 to 7.
9. The first virtual object has a maximum range, and the target selection range includes a preliminary aiming area located outside the maximum range. The method according to any one of claims 1 to 8.
10. The principle of priority is prioritizing the selection of the candidate virtual object closest to the aiming point; prioritizing the selection of the candidate virtual object with the least HP percentage; prioritizing the selection of the candidate virtual object with the least absolute value of HP; and prioritizing the selection of the candidate virtual object with the highest type priority. The method according to claim 7, including at least one of the above.
11. The method according to claim 1, further including the step of displaying a selection effect on the target virtual object. **Claim 12**: The selected effect is an effect of displaying a first selection mark at a second map point where the target virtual object is located, and an effect of displaying a second selection mark above the target virtual object The method according to claim 11, comprising at least one of them. **Claim 13**: The first virtual object has a maximum range, and the target selection range includes a preliminary aiming area located outside the maximum range and an aiming area located within the maximum range. The step of displaying a selected effect on the target virtual object is responding to the second map point where the target virtual object is located being in the preliminary aiming area, and displaying a first selected effect on the target virtual object; and responding to the second map point where the target virtual object is located being in the aiming area, and displaying a second selected effect different from the first selected effect on the target virtual object The method according to claim 11 or 12, comprising the above. **Claim 14**: The user interface includes a wheel aiming control including a wheel area and a lever button. The aiming command includes an offset point where the lever button is offset from an activation point that is the center of the wheel area in the wheel area. The step of displaying a dot-type aiming indicator in the virtual environment in response to the aiming command is calculating an offset vector from the activation point to the offset point in response to the aiming command; and calculating an aiming vector based on the offset vector, where the aiming vector is a vector from a first map point where the first virtual object is located to the aiming point, and the ratio of the offset vector to the radius of the wheel is equal to the ratio of the aiming vector to the aiming radius. The radius of the wheel is the radius of the wheel area, and the aiming radius is the maximum aiming distance when the first virtual object actively aims; calculating the aiming point based on the aiming vector and the first map point where the first virtual object is located; and displaying the dot-type aiming indicator at the aiming point in the virtual environment The method according to any one of claims 1 to 6, comprising the above. **Claim 15**: A virtual object aiming device including a display module and a aiming module, wherein the display module displays a user interface including a screen of a virtual environment, the screen of the virtual environment is a screen of viewing the virtual environment centered on a first virtual object, and includes the first virtual object and a second virtual object located within the virtual environment, the display module further displays a dot-type aiming indicator in the virtual environment in response to an aiming command triggered by a user, and the dot-type aiming indicator indicates an aiming point selected on the ground of the virtual environment by an aiming operation, the aiming module controls the first virtual object to perform locking aiming on a target virtual object, the target virtual object is one virtual object selected by the virtual object aiming device from second virtual objects located within a target selection range, the target selection range is a selection range determined based on the aiming point, and when the first virtual object performs locking aiming on the target virtual object, the first virtual object continuously aims at the target virtual object to perform skill activation or an attack, A virtual object aiming device.
16. A processor, and a memory storing at least one instruction, at least one program, a code set or an instruction set that, when loaded and executed by the processor, implements the method according to any one of Claims 1 to 14. A computer device comprising the same.
17. A program for a computer, which causes the computer to execute the method according to any one of Claims 1 to 14.