Virtual object control method, device, terminal, and computer program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2025-10-15
- Publication Date
- 2026-06-11
AI Technical Summary
In MOBA games, the use of a roulette-style virtual stick for skill activation results in low aiming accuracy due to large mapping ratios, requiring multiple aiming operations and excessive terminal calculations, leading to high load and user difficulty.
A method where a target skill is activated by a first click on a skill control, displaying its applicability area in the virtual scene, and then activated at the selected position with a second click, eliminating the need for mapping with a roulette-style virtual stick.
Improves aiming accuracy, reduces operation difficulty, and decreases terminal load by allowing direct skill activation through intuitive scene clicks, minimizing unnecessary calculations and operations.
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, application number 202010408457.1, filed on May 14, 2020, entitled "Virtual object control method, device, terminal and storage medium," the entire contents of which are incorporated herein by reference.
[0002] The present application relates to the field of man-machine interaction, and in particular to a method, device, terminal, and storage medium for controlling a virtual object. [Background technology]
[0003] With the development of computer technology and the diversification of terminal functions, many mobile phone games have appeared, among which MOBA (Multiplayer Online Battle Arena) games are becoming an extremely important type of mobile phone game. In current MOBA games, players can control a target virtual object to activate a skill at the location where the target virtual object is located, thereby triggering the effect of the skill at the location.
[0004] Typically, when a player activates a skill, they first click on a skill control, which triggers and displays a roulette-style virtual stick on the skill control. There is a mapping relationship between the roulette part of the roulette-style virtual stick and the skill's application range in the virtual scene. They then drag the stick part of the roulette-style virtual stick to adjust the application direction and application position of the skill within the application range. Once the adjustment is complete, the player releases their hand, and the skill can be activated for the first time at the position where the stick part in the virtual scene is mapped.
[0005] When the application method based on the roulette-type virtual stick is applied, there is a mapping relationship between the roulette-type virtual stick and the application range. However, since the size of the roulette-type virtual stick does not usually change, for some skills with a large application range, the mapping ratio is too large. Even a slight movement when the player drags the stick will cause the final application position to be offset over a wide range. This results in low aiming accuracy, requiring the user to perform multiple aiming operations to aim accurately. The terminal needs to receive the user's multiple aiming operations and multiple times calculate the application position where the aiming operations are mapped to the virtual scene. This results in an excessively large amount of calculation on the terminal, which places a heavy load on the terminal. Summary of the Invention [Problem to be solved by the invention]
[0006] The embodiments of the present application provide a method, device, terminal, and storage medium for controlling a virtual object, which can improve the aiming accuracy of skill activation in MOBAs, simplify the user's operation for accurate aiming, reduce the amount of calculation required by the terminal during the aiming process, and reduce the load on the terminal. The technical solutions are as follows: [Means for solving the problem]
[0007] In one aspect, a method for controlling a virtual object is provided, the method being applied to a terminal, the method comprising: acquiring a skill type of the skill in response to a first click operation on a skill control; In response to the skill type of the skill being a target skill, displaying an applicability area of the skill in a virtual scene based on a location of a controlled virtual object and an application range of the skill, wherein the target skill is a skill that supports selecting an application location based on a screen click; and in response to a second click operation on the applicable area, controlling the controlled virtual object to activate the skill at an application position indicated by the second click operation.
[0008] In one aspect, there is provided a control device for a virtual object, the device comprising: a detection module adapted to obtain a skill type of the skill in response to a first click operation on the skill control; a determination module used to display an applicability area of the skill in a virtual scene based on a location of a controlled virtual object and an application range of the skill in response to a skill type of the skill being a target skill, wherein the target skill is a skill that supports selecting an application position based on a screen click; and a control module used to control the controlled virtual object to activate the skill at an application position indicated by the second click operation in response to a second click operation on the applicable area.
[0009] In one aspect, a terminal is provided, the terminal including one or more processors and one or more memories, at least one program code stored in the one or more memories, the at least one program code being loaded and executed by the one or more processors to realize operations performed by the method for controlling a virtual object described in any of the possible embodiments above.
[0010] In one aspect, a computer-readable storage medium is provided, having stored thereon at least one program code, the at least one program code being loaded and executed by a processor to implement operations performed by the method for controlling a virtual object according to any of the possible embodiments above.
[0011] In one aspect, a computer program product or computer program is provided, the computer program product or computer program including computer commands stored on a computer-readable storage medium, the computer commands being read by a processor of a computer device from the computer-readable storage medium and executed by the processor to cause the computer device to perform the method for controlling a virtual object according to the selectable embodiment. [Effects of the Invention]
[0012] The beneficial effects brought about by the technical solutions according to the embodiments of the present application include at least the following:
[0013] By receiving a click operation on the skill control, an applicable area of the skill is displayed in the virtual scene, and by receiving a click operation on the applicable area, a selected application position is determined and the controlled virtual object at the application position is controlled to activate the skill. In this way, the man-machine interaction method in which a skill is activated by first clicking the skill control and then clicking the application position in the virtual scene allows the skill application position to be directly selected in the virtual scene, eliminating the need to map the roulette-style virtual stick to the application position and avoiding offset errors that occur when the roulette-style virtual stick is mapped to the application position. Therefore, the skill application position can be accurately selected by intuitively observing the virtual scene, resulting in higher aiming accuracy and lower operation difficulty, thereby achieving more efficient man-machine interaction efficiency. The number of operations required for accurate aiming is reduced, the number of invalid or inaccurate aiming operations received by the terminal during the aiming process is reduced, the time required for aiming operations is shortened, the terminal does not need to calculate the mapped application position for each invalid or inaccurate aiming operation, the amount of calculation required for the terminal to calculate the application position where the aiming operation is mapped during the aiming process is reduced, the load on the terminal is reduced, and the calculation efficiency of the terminal during the skill aiming and application process is improved. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 1 illustrates an environment for implementing a method for controlling a virtual object according to an embodiment of the present application. [Figure 2] 1 is a flowchart of a method for controlling a virtual object according to an embodiment of the present application; [Figure 3] 1 is a schematic diagram of a roulette-style virtual stick according to an embodiment of the present application; [Figure 4] 1 is a flowchart of a method for controlling a virtual object according to an embodiment of the present application; [Figure 5] FIG. 1 is a schematic diagram of an interface according to an embodiment of the present application. [Figure 6] FIG. 1 is a schematic diagram of an interface according to an embodiment of the present application. [Figure 7] FIG. 1 is a schematic diagram of an interface according to an embodiment of the present application. [Figure 8] FIG. 1 is a schematic diagram of an interface according to an embodiment of the present application. [Figure 9] 1 is a flowchart of a method for controlling a virtual object according to an embodiment of the present application; [Figure 10] FIG. 1 is a diagram illustrating the principle of activating a skill by touching a screen according to an embodiment of the present application. [Figure 11] FIG. 1 is a schematic diagram of a virtual object control device according to an embodiment of the present application. [Figure 12] FIG. 1 is a schematic diagram illustrating a configuration of a terminal according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0015] In order to make the objectives, technical solutions and advantages of the present application clearer, the following describes the embodiments of the present application in more detail with reference to the drawings.
[0016] In this application, the terms "first," "second," etc. are used to distinguish between identical or similar items having substantially the same actions and functions, and it is understood that there is no logical or chronological dependency between "first," "second," and "nth," and there are no limitations on the number or execution order.
[0017] As used herein, the term "at least one" means one or more, and "plurality" means two or more, for example, a plurality of first locations means two or more first locations.
[0018] In order to facilitate understanding of the technical process of the embodiments of the present application, the following provides an explanation of some nouns related to the embodiments of the present application.
[0019] Virtual scene: A virtual scene displayed (or provided) when an application is executed on a terminal. The virtual scene may be a simulated environment for the real world, a semi-simulated, semi-fictional virtual environment, or a purely fictional virtual environment. The virtual scene may be a 2D virtual scene, a 2.5D virtual scene, or a 3D virtual scene, and the embodiments of the present application do not limit the dimensions of the virtual scene. For example, the virtual scene may include sky, land, sea, etc., and the land may include environmental elements such as deserts and cities, and a user can control virtual objects to move in the virtual scene. Optionally, the virtual scene may also be used for a virtual scene battle between at least two virtual objects, and the virtual scene has virtual resources that can be used by at least two virtual objects. Optionally, the virtual scene may include two symmetrical regions, with virtual objects belonging to two opposing camps each occupying one region and aiming to destroy a target building / base / base / crystal deep within the opponent's region, where the symmetrical regions may be, for example, the lower left region and the upper right region, or, for example, the middle left region and the middle right region.
[0020] Virtual object: An active object in a virtual scene. The active object may be, for example, a virtual person, virtual animal, or animated or cartoon character, such as a person, animal, plant, drum, wall, or stone, displayed in the virtual scene. The virtual object may also be a virtual avatar used to represent a user in the virtual scene. The virtual scene may include multiple virtual objects, each of which has its own shape and volume and occupies a portion of the space within the virtual scene. Optionally, if the virtual scene is a 3D virtual scene, the virtual object may be a 3D solid model, which may be a 3D character constructed based on 3D human skeleton technology. The same virtual object may have different appearances by wearing different skins. In some embodiments, the virtual object may be realized using a 2.5D or 2D model, although embodiments of the present application are not limited thereto.
[0021] Optionally, the virtual object may be a player character controlled by an operation on a client, an artificial intelligence (AI) installed in a virtual scene battle through training, or a non-player character (NPC) installed in a virtual scene interaction. Optionally, the virtual object may be a virtual person competing in a virtual scene. Optionally, the number of virtual objects participating in an interaction in the virtual scene may be set in advance or may be dynamically determined depending on the number of clients participating in the interaction.
[0022] MOBA (Multiplayer Online Battle Arena) games: These games provide multiple bases in a virtual scene, allowing users from different camps to control virtual objects and compete in the virtual scene to capture bases or destroy the opposing camp's bases. For example, MOBA games can divide users into at least two opposing camps, with different virtual teams from the at least two opposing camps occupying different map areas and competing to achieve certain victory conditions. The victory conditions include, but are not limited to, at least one of capturing a base or destroying the opposing camp's base, destroying the opposing camp's virtual objects, ensuring one's own survival within a specified scene and time period, capturing some resources, or achieving a higher interaction score than the opponent within a specified time period. For example, MOBA games can divide users into two opposing camps, and users can distribute their controlled virtual objects throughout the virtual scene to compete to destroy or capture all of the opponent's bases.
[0023] Optionally, each virtual team may include one or more virtual objects, such as one, two, three, or five. According to the number of virtual objects in each team participating in the tactical competition, the tactical competition may be divided into 1V1 competition matches, 2V2 competition matches, 3V3 competition matches, 5V5 competition matches, etc., where 1V1 means "one against one," and therefore, the explanation is omitted here.
[0024] Optionally, a MOBA game may be played in increments (also called rounds), each of which may feature the same or different tactical map. The duration of a MOBA game is from the time the game begins until the victory condition is achieved.
[0025] In a MOBA game, a user can control a virtual object to freely fall, glide, or drop with a parachute in the sky of the virtual scene, or to run, jump, crawl, or bend over on land, or to swim, float, or dive in the sea, but only the above-mentioned scenes will be described as examples here, and the embodiments of the present application are not particularly limited thereto.
[0026] In MOBA games, users can control virtual objects to fight other virtual objects by activating skills. For example, skill types may include attack skills, defense skills, healing skills, support skills, and slashing skills. Each virtual object can have one or more specific skills. Different virtual objects typically have different skills, and different skills can produce different effects. For example, when a virtual object activates an attack skill and hits an enemy virtual object, it inflicts a certain amount of damage on the enemy virtual object, typically deducting a portion of the enemy virtual object's virtual life value. For example, when a virtual object activates a healing skill and hits a friend virtual object, it inflicts a certain amount of healing on the friend virtual object, typically restoring a portion of the friend virtual object's virtual life value. Each of the other types of skills can produce corresponding effects, which will not be listed here one by one.
[0027] The system architecture according to the present invention will be explained below.
[0028] 1 is a diagram illustrating an implementation environment of a virtual object control method according to an embodiment of the present application. Referring to FIG. 1, the implementation environment includes a first terminal 120, a server 140, and a second terminal 160.
[0029] The first terminal 120 installs and executes an application supporting a virtual scene. The application may be any of an MOBA game, a massively multiplayer online role-playing game (MMORPG), a first-person shooter game (FPS), a third-person shooter game, a virtual reality application, a three-dimensional map program, a military simulation program, and a multiplayer gun battle survival game. The first terminal 120 may be used by a first user, who uses the first terminal 120 to manipulate a first virtual object located in the virtual scene to perform an action, including, but not limited to, at least one of skill activation, body posture adjustment, crawling, walking, running, cycling, jumping, driving, picking, shooting, attacking, and throwing. Exemplarily, the first virtual object is a first virtual person, such as a simulation character or an anime or manga character.
[0030] The server 140 may include at least one of a single server, multiple servers, a cloud computing platform, or a virtualization center. The server 140 is used to provide background services to applications supporting the virtual scene. Optionally, the server 140 may be responsible for primary computing tasks, and the first terminal 120 and the second terminal 160 may be responsible for secondary computing tasks. Alternatively, the server 140 may be responsible for secondary computing tasks, and the first terminal 120 and the second terminal 160 may be responsible for primary computing tasks. Alternatively, a distributed computing architecture may be used to perform collaborative computing among the server 140, the first terminal 120, and the second terminal 160.
[0031] The second terminal 160 installs and executes an application supporting a virtual scene. The application may be an MOBA game, an MMORPG game, an FPS game, a third-person shooter game, a virtual reality application, a 3D map program, a military simulation program, or a multiplayer gun battle survival game. The second terminal 160 may be used by a second user, who uses the second terminal 160 to manipulate a second virtual object located in the virtual scene to perform an action, including, but not limited to, at least one of skill activation, body posture adjustment, crawling, walking, running, cycling, jumping, driving, picking, shooting, attacking, and throwing. Exemplarily, the second virtual object is a second virtual person, such as a simulation character or an anime or manga character.
[0032] The first terminal 120 and the second terminal 160 may be directly or indirectly connected to the server 140 by wired or wireless communication, and the embodiment of the present application does not limit the connection method here.
[0033] In some embodiments, a first virtual object controlled by first terminal 120 and a second virtual object controlled by second terminal 160 are in the same virtual scene, and the first virtual object can interact with the second virtual object in the virtual scene. The first virtual object and the second virtual object can be in an adversarial relationship, e.g., the first virtual object and the second virtual object can belong to different teams or camps. The adversarial virtual objects can compete with each other to activate skills, e.g., the first virtual object can activate an attack skill on the second virtual object. In other embodiments, the first virtual object and the second virtual object can be teammates, e.g., the first virtual person and the second virtual person can belong to the same team or organization, have a friendship relationship, or have temporary communication permissions, and in this case, the first virtual object can activate a healing skill on the second virtual object.
[0034] The server 140 may be an independent physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides infrastructure cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0035] The first terminal 120 or the second terminal 160 may be, but is not limited to, a smartphone, a tablet computer, a laptop, a desktop computer, a smart speaker, a smart watch, an MP3 (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Compressed Standard Audio Level 3) player, an MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Compressed Standard Audio Level 4) player, an e-book reader, etc.
[0036] The applications installed on the first terminal 120 and the second terminal 160 may be the same, or the applications installed on the two terminals may be the same type of application but with different operating system platforms. The first terminal 120 may refer to one of multiple terminals, and the second terminal 160 may refer to one of multiple terminals. This embodiment will be described using only the first terminal 120 and the second terminal 160 as an example. The device types of the first terminal 120 and the second terminal 160 may be the same or different. As will be understood by those skilled in the art, the number of terminals may be greater or smaller. For example, there may be only one terminal, or there may be tens, hundreds, or more terminals. The embodiment of the present application does not limit the number and device types of terminals.
[0037] 2 is a flowchart of a method for controlling a virtual object according to an embodiment of the present application. Referring to FIG. 2, the embodiment is applied to a terminal, which may be the first terminal 120 or the second terminal 160 shown in FIG. 1, and includes the following steps:
[0038] 201. In response to a first click operation on a skill control, the terminal obtains the skill type of the skill.
[0039] Here, the terminal may be a terminal used by any user, and the virtual object currently controlled by the terminal is a controlled virtual object. The controlled virtual object can activate a skill to perform a competitive action against other virtual objects in a virtual scene. The activated skill may be one or more skills specific to the controlled virtual object, or may be one or more skills activated by the controlled virtual object wearing a virtual item and then applying the virtual item. The embodiment of the present application does not particularly limit the skill source. The skill type may optionally include an attack skill, a defense skill, a healing skill, a support skill, a slashing skill, etc. The embodiment of the present application does not particularly limit the skill type.
[0040] In some embodiments, the terminal displays an opening interface in response to a user's opening operation. The opening interface may include a virtual object selection control, a virtual item selection control, etc. Here, the opening operation is used to trigger the launch of a single game, which may be a click operation on an opening control, etc. The type of opening operation is not limited to the embodiments of the present application. The opening interface is used to control the currently controlled virtual object. The terminal may detect the user's selection operation on each virtual object in the opening interface in real time and determine the selected virtual object as the currently controlled virtual object to be fought. The selection operation may be a click operation, a long press operation, etc., or a trigger operation on a shortcut key corresponding to one of the virtual objects, but the embodiments of the present application are not limited thereto. In some MOBA games, a user can select multiple virtual objects to fight at once and control multiple virtual objects simultaneously in a battle. Therefore, the controlled virtual object in the embodiments of the present application is the virtual object currently being controlled by the user, commonly referred to as the "main controlled virtual object."
[0041] After the user selects the controlled virtual object in the opening interface, the terminal starts the current game, loads a virtual scene, displays a virtual scene screen of the virtual scene and a skill control of at least one skill possessed by the controlled virtual object, and displays the controlled virtual object in the virtual scene. Illustratively, the skill control is displayed on top of the virtual scene screen of the virtual scene, that is, the skill control hides part of the virtual scene screen.
[0042] In one alternative embodiment, the terminal displays a user interface, the user interface including a virtual scene screen and a skill control, the virtual scene screen being a screen obtained by observing a virtual scene with the controlled virtual object as an observation target.
[0043] The skill control is used to provide a user interaction interface for the skill. For example, the skill control may be displayed on the user interface in the form of a graphic button when hovering, and the graphic button may be a circular button, a rectangular button, or an irregular button. The embodiments of the present application do not particularly limit the display manner of the skill control. Optionally, the skill control may display a skill identifier of the corresponding skill, and the skill identifier may be an identifier pattern, a string of identifier text, or a string of identifier code.
[0044] In some embodiments, the terminal may display other UI (User Interface) controls in the virtual scene, such as a map control, a store control, a movement stick, etc., and the embodiments of the present disclosure do not particularly limit the control content displayed in the virtual scene. Note that in the embodiments of the present application, UI controls other than skill controls are referred to as "non-skill controls."
[0045] Here, the map control, also referred to as a full map radar display control, is an information display control used to display the real-time location of each virtual unit in a virtual environment so that the user can obtain the locations of other virtual units by observing the map control. The map control displays a bird's-eye view map of the virtual scene, i.e., a miniature map. The miniature map makes it easy for the user to observe the topographical features of the virtual scene. The miniature map also displays map marks of major virtual units, which are used to label the real-time locations of the virtual units on the miniature map. The major virtual units include at least one of virtual objects, virtual buildings, virtual vehicles, virtual animals, virtual items, and NPCs (Non-Player Characters), which can affect the progress of game play. Illustratively, the virtual objects are virtual units controlled by the user or artificial intelligence. Illustratively, the virtual animals include virtual wild beasts.
[0046] When a user clicks on a skill control of any skill, the terminal obtains the skill type of the skill in response to the user's first click operation on the skill control, where the skill type may include a target skill and a skill other than the target skill, and the target skill is a skill that supports selecting an application position based on a screen click. The above process can be regarded as a process of detecting whether the skill type of the skill is a target skill, and the terminal can add a target skill identifier to the skill type of the target skill, thereby determining whether the skill type of the skill is a target skill by detecting whether the skill type of the skill has a target skill identifier. If it is detected that the skill type of the skill has the target skill identifier, it determines that the skill type of the skill is a target skill and executes step 202 below. Otherwise, if it is detected that the skill type of the skill does not have the target skill identifier, it determines that the skill type of the skill is not a target skill and terminates the flow. Optionally, the target skill identifier may be an IsFullScreenSkill identifier, and the target skill can be triggered to be activated by a click operation on the entire screen of the terminal. This application method is distinguished from an operation mechanism based on a roulette-style virtual stick in related art, so the target skill may also be commonly called a "full-screen skill" or "screen touch skill".
[0047] Illustratively, the skill control is a roulette-style virtual stick control. As shown in FIG. 3, a circular skill control 325 is displayed on the first user interface. The user can press the skill control 325 to call up a roulette-style virtual stick 327 of the skill control. The roulette-style virtual stick is composed of a large circle 328 (roulette portion) and a small circle 329 (remote sensing portion). The large circle 328 is the operable range of the roulette-style virtual stick, and the small circle 329 is the position currently pressed by the user's finger. The user can slide the small circle 329 arbitrarily within the range of the large circle 328. Illustratively, the roulette-style virtual stick is a directional stick or a positional stick, which determines the direction or position of the user's operation based on the direction or position of the offset of the small circle 329 from the center point 320 of the virtual stick, determines the direction or position of the aim in the virtual scene based on the direction or position, and controls the controlled virtual object to activate a skill in the direction or position of the aim in the virtual scene when the user releases their hand at the position where the current small circle 329 is located. Illustratively, the user's operation to activate a skill by operating the skill control is to call up the roulette-style virtual stick while pressing and holding the skill control, drag the roulette-style virtual stick in the target direction or position, and release the roulette-style virtual stick to activate the skill.
[0048] In related technology, when a user activates a skill, they first click on a skill control, triggering a roulette-style virtual stick to display it, and the roulette part of the roulette-style virtual stick has a mapping relationship with the skill's application range in the virtual scene, and then drag the stick part of the roulette-style virtual stick to adjust the application direction or application position of the currently selected skill within the application range, and only when the user releases their hand after completing the adjustment can the skill be activated at the position where the stick part is mapped. In this application method based on the roulette-style virtual stick, although the roulette-style virtual stick has a mapping relationship with the application range, the size of the roulette-style virtual stick usually remains unchanged, so for some skills with large application ranges, the mapping ratio is too large, and even a slight movement when the user drags the stick part will cause the final application position to be offset by a wide range, resulting in low aiming accuracy, high operation difficulty, low man-machine interaction efficiency, and an adverse effect on the user experience.
[0049] On the other hand, in the embodiment of the present application, the target skill does not need to be activated based on the roulette-style virtual stick, but can be selected as an application position directly based on the user's click operation on the screen. The user can activate the skill by directly clicking an application position in the virtual scene, thereby achieving the interaction effect of "see and get." Since there is no need to go through the mapping between the roulette-style virtual stick and the virtual scene, good aiming accuracy can still be maintained even for some skills with a wide range of application. That is, the aiming accuracy of skill activation can be greatly improved and the operation difficulty of skill activation can be reduced, thereby improving the efficiency of man-machine interaction and optimizing the user experience. Below, we will explain in detail how to activate the target skill.
[0050] 202. In response to the skill type of the skill being a target skill, the terminal displays the applicable area of the skill in the virtual scene based on the location of the controlled virtual object and the application range of the skill, and the target skill is a skill that supports selecting the application position based on screen clicks.
[0051] In the above process, if the skill type of the skill is detected as a target skill, the terminal determines the location of the controlled virtual object as the center of the applicable area, and determines the farthest application distance of the skill as the radius of the applicable area, thereby determining a circular applicable area. For example, if a user clicks on skill 1, the applicable range of skill 1 is 6 feet, so the applicable area of skill 1 in the virtual scene is determined to be a circular area 6 feet around the location of the controlled virtual object.
[0052] In some embodiments, the terminal may also display an application template for the applicable area in the virtual scene, and the application template may be used to indicate that activating the skill in areas other than the application template is invalid. In this case, upon detecting a user's click operation on a position point on the screen, the terminal may determine whether the position point is located within the applicable area by detecting whether the position point is located within the application template. Specifically, if the position point is located within the application template, the terminal determines that the position point is located within the applicable area and executes step 203 below. Otherwise, if the position point is not located within the application template, the terminal determines that the position point is located outside the applicable area, does not activate the skill, and regards the click operation as an invalid operation or an erroneous operation.
[0053] Skill types categorize skills based on the man-machine interaction operation method for activating the skill. Skills can be classified into several types based on the skill activation operation, such as a skill that is automatically activated by clicking the skill control, a skill that is activated by pressing the skill control to summon a roulette-style virtual stick, aiming at the application direction in the virtual scene using the roulette-style virtual stick, and releasing the hand, and a skill that is activated by pressing the skill control to summon a roulette-style virtual stick, aiming at the application position in the virtual scene using the roulette-style virtual stick, and releasing the hand. Meanwhile, a target skill is a skill that can be activated by selecting an application position by clicking on the virtual scene (virtual scene screen). The skill type of a skill is a target skill, i.e., the skill can be activated by clicking the skill control, selecting the application position by clicking on the virtual scene, and then activating the skill. Of course, the same skill can support multiple activation operations. For example, if a skill allows the application position to be selected based on a click on the screen, the skill type of the skill includes a target skill.
[0054] 203, in response to a second click operation on the applicable area, the terminal controls the controlled virtual object to activate the skill at the application position indicated by the second click operation.
[0055] In the above process, when the terminal detects the user's second click operation on the applicable area, the terminal controls the controlled virtual object to activate the skill at the application position indicated by the second click operation, and settles the applied effect of the skill. The settlement rules for the applied effect differ depending on the skill type.
[0056] In one exemplary scenario, for an attack skill of a single attack, the terminal can detect whether there is another virtual object at the application position, and if there is another virtual object at the application position, it determines that the attack skill has hit the other virtual object, and deducts a certain value from the virtual life value of the other virtual object; otherwise, if there is no other virtual object at the application position, it determines that the attack skill has not hit the other virtual object, which means that the skill activated this time is offset from the target.
[0057] In one example scenario, for some AOE (Area Of Effect) skills, the application position clicked by the user is actually the center point of the skill attack range, and the terminal can detect whether there are other virtual objects within a target distance around the application position. If there are other virtual objects within the target distance around the application position, it determines that the attack skill has hit the other virtual objects, and deducts a certain value from the virtual life values of the other virtual objects; otherwise, if there are no other virtual objects within the target distance around the application position, it determines that the attack skill has not hit the other virtual objects, which means that the skill activated this time is offset from the target.
[0058] In the above two exemplary scenes, the other virtual objects may refer to virtual objects operated by other users via terminals, and may refer to virtual items, virtual NPCs, virtual soldiers, virtual buildings, etc., and the embodiments of the present disclosure do not particularly limit the types of other virtual objects that can be hit by skills.
[0059] In accordance with an embodiment of the present application, a method obtains a skill type of a skill in response to a first click operation on a skill in a virtual scene; and, in response to the skill type being a target skill that supports selecting an application position based on a screen click, determines an applicable area of the skill in the virtual scene based on the location of a controlled virtual object and the application range of the skill. In response to a second click operation on the applicable area, controls the controlled virtual object to activate the skill at the application position indicated by the second click operation. In this way, a man-machine interaction method in which a skill is activated by first clicking on a skill and then clicking on the application position can activate a skill based on a simple two-click operation, does not require complex drag operations based on the roulette-style virtual stick and the skill stick, and avoids offset errors that occur when the roulette-style virtual stick is mapped to the application range, thereby achieving higher aiming precision and lower operation difficulty, thereby achieving more efficient man-machine interaction efficiency and improving the user experience.
[0060] 4 is a flowchart of a method for controlling a virtual object according to an embodiment of the present application. Referring to FIG. 4, the embodiment is applied to a terminal, which may be the first terminal 120 or the second terminal 160 shown in FIG. 1, and includes the following steps:
[0061] 300, the terminal displays the virtual scene.
[0062] The terminal displays a virtual scene screen of a virtual scene and skill controls, the virtual scene screen including a controlled virtual object located in the virtual scene. In the process of displaying the skill controls, the terminal can read a target profile, which stores configuration information of the controlled virtual object. Based on the configuration information in the target profile, the terminal can determine at least one skill possessed by the controlled virtual object and meta information for each of the at least one skill. The meta information may include the skill name, activation mechanism, application mechanism, cooldown time length, duration length, and application effect of each skill. Of course, the meta information may also indicate whether each skill has a target skill identifier (e.g., IsFullScreenSkill identifier) to detect whether the clicked skill is the target skill. This will be described later in step 304 and will not be described again here.
[0063] 301, when the terminal detects a first click operation on the screen, in response to the presence of a user interface UI control at the position indicated by the first click operation, the terminal obtains a control type of the UI control.
[0064] Here, the control types of the UI control include skill controls and non-skill controls, where the skill control is a UI control of any skill, and the non-skill control is a UI control other than the skill control, and the non-skill control includes, but is not limited to, a map control (commonly called a "mini map"), a store control (a control used to purchase virtual equipment or virtual items), a movement stick (a control used to control the displacement of a controlled virtual object in a virtual scene), etc. Note that the movement stick here is different from the roulette-type virtual stick of skill control in the related art, in that the movement stick is used to control the movement of a controlled virtual object, while the roulette-type virtual stick of skill control is used to aim at the direction or position of skill application.
[0065] In the above process, the user can click a position on the screen, and when the terminal detects the user's first click operation on the virtual scene, it detects whether a UI control exists at the position indicated by the first click operation, and if a UI control exists at the position, it obtains the control type of the UI control. Specifically, the terminal obtains the screen coordinates of the position clicked by the user, and detects whether the screen coordinates of the position are within the coverage area of all UI controls. If the screen coordinates of the position are within the coverage area of any UI control, it determines that a UI control exists at the position and obtains the control type of the UI control. If the control type of the UI control is a skill control, it executes step 302 below. Otherwise, if the screen coordinates of the position are not within the coverage area of all UI controls (it is determined that no UI control exists at the position) or the control type of the UI control is a non-skill control, it terminates the flow.
[0066] This is because on the screen (user interface), UI controls are usually displayed hovering on top of the virtual scene. Therefore, when a user clicks on a position, the terminal needs to detect whether there is a UI control at that position and obtain the control type of the UI control. If the control type of the UI control is a non-skill control, it indicates that the event triggered by this click operation is not a skill activation event, and the flow ends; otherwise, if the control type of the UI control is a skill control, further judgment is required according to the following step 302.
[0067] 302. In response to the control type of the UI control being a skill control corresponding to the skill, the terminal obtains the trigger state of another skill control, where the other skill control is a skill control of a skill other than the skill.
[0068] The terminal can detect whether a skill control exists at the position through the above step 301, and if a skill control exists at the position, continue to detect the trigger state of other skill controls, and if there are other skill controls in the triggered state, it indicates that the user is activating other skills or the user has pressed the skill controls of two skills at the same time, and since the user cannot activate two skills at the same time, it determines the current click operation as an invalid operation or an erroneous operation and terminates the flow; otherwise, if there are no other skill controls in the triggered state, it executes the following step 303.
[0069] In some embodiments, when a skill control of any skill is clicked, the terminal can assign a masking identifier CurSkill to the skill, and the masking identifier CurSkill is used to mask the click events of skills other than the skill being currently operated, to ensure the uniqueness of the skill being currently operated. Therefore, when the terminal detects whether there are other skill controls in the triggered state, it only detects whether there are currently any skills that have the masking identifier CurSkill. If there are any skills that have the masking identifier CurSkill, it determines that there are other skill controls in the triggered state and terminates the flow; otherwise, if all skills do not have the masking identifier CurSkill, it determines that there are no other skill controls in the triggered state and performs step 303 below.
[0070] In the above process, if the terminal responds that a UI control exists at the position and the control type of the UI control is a skill control, it indicates that the user has clicked the skill control of the skill. Meanwhile, since the user cannot operate two skills at the same time, it is necessary to determine whether another skill has already been pressed through the above step 302. Only if any other skill has not been pressed, execute the following step 303; otherwise, terminate the flow.
[0071] 303, the terminal determines that a first click operation for the skill in the virtual scene has been detected in response to the other skill control not being in a triggered state.
[0072] In the above process, step 301 ensures that there is a UI control at the position where the user clicks, and step 302 ensures that the user has already clicked on the skill and is not currently operating two skills at the same time, so that the user's first click operation on the skill can be determined, and the following step 304 is carried out.
[0073] Figure 5 is a schematic diagram of an interface according to an embodiment of the present application. Referring to Figure 5, a virtual scene 400 includes skill controls 401 to 404 corresponding to skills 1 to 4, respectively. After a user clicks on skill control 404, the terminal can determine that a first click operation on skill 4 has been detected by detecting that the type of the UI control at the touch point is a skill control and that there are no other skill controls in a triggered state.
[0074] 304, the terminal acquires the skill type of the skill in response to the first click operation on the skill control.
[0075] In the above step 304, when the user clicks on the skill control of any skill in the virtual scene, the terminal can obtain the skill type of the skill in response to the user's first click operation on the skill, where the skill type may include a target skill and a skill other than the target skill, and the target skill is a skill that supports selecting an application position based on a screen click.
[0076] The above process can be regarded as a process of detecting whether the skill type of the skill is a target skill, and the terminal can add a target skill identifier to the skill type of the target skill among at least one skill that the controlled virtual object has in the target profile, thereby determining whether the skill type of the skill is a target skill by detecting whether the skill type of the skill has a target skill identifier in the target profile. If it is detected that the skill type of the skill has the target skill identifier, it determines that the skill type of the skill is the target skill and executes the next step 305; otherwise, if it is detected that the skill type of the skill does not have the target skill identifier, it determines that the skill type of the skill is not the target skill and ends the flow.
[0077] In one exemplary scenario, the target skill identifier may be an IsFullScreenSkill identifier, and when placing a skill on a controlled virtual object in a target profile, one IsFullScreenSkill identifier for the skill type of the target skill can be added as an associated parameter of the target skill identifier, and when a full-screen touch event (i.e., a user click operation on any skill) is detected, the terminal can detect whether the skill corresponding to the currently clicked skill control has an IsFullScreenSkill identifier in the profile, and if the skill type of the skill has an IsFullScreenSkill identifier, it can be considered that this skill is triggered by the full-screen touch event.
[0078] 305. In response to the skill type of the skill being a target skill, the terminal displays at least one of an activation countdown or activation presentation information for the skill in the virtual scene, and the target skill is a skill that supports selecting an application position based on a screen click.
[0079] The terminal obtains the skill type of the skill through step 304 above. If the skill type of the skill is the target skill, the terminal can display the activation countdown or activation presentation information of the skill in the virtual scene, where the activation countdown is used to present to the user the remaining time until the skill is activated, and the activation presentation information is used to present to the user how to operate to activate the skill.
[0080] Optionally, the duration of the activation countdown or the content of the activation presentation information may be indicated by a target profile, and the activation countdown or the activation presentation information may be displayed in the virtual scene in text format, or in video format, hovered on the virtual scene screen, or smartly presented in the form of an audio announcement, and the embodiments of the present disclosure do not particularly limit the display method of the activation countdown or the activation presentation information.
[0081] 6 is a schematic diagram of an interface according to an embodiment of the present application. Referring to FIG. 6, a virtual scene 500 includes skill controls 501-504 corresponding to skills 1-4, respectively. After a user clicks skill control 504, the terminal can determine that a click operation on skill 4 has been detected by detecting that the type of the UI control at the touch point is a skill control and that no other skill controls are in a triggered state. The terminal then detects that skill 4 belongs to the target skill, and accordingly displays skill 4's activation countdown 505 and activation presentation information 506 in the virtual scene. It can be seen that the current activation countdown has 5 seconds remaining and that the activation presentation information 506 is a text message saying, "Click the screen to activate the skill."
[0082] For example, after first triggering a skill control, the user can directly click on the virtual scene to select an application position, or can use a roulette-style virtual stick to select an application position. In response to receiving a skill activation operation on the roulette-style virtual stick corresponding to the skill control, the terminal controls the controlled virtual object to activate the skill at the position indicated by the skill activation operation.
[0083] In an alternative embodiment, in response to a first click operation on the skill control, the terminal obtains the skill type of the skill; in response to the skill type of the skill being a target skill, the terminal displays an applicable area of the skill in the virtual scene based on the location of the controlled virtual object and the application range of the skill, and displays a countdown to activate the skill; during the countdown, the user can click any application position in the applicable area in the virtual scene to control the controlled virtual object to activate the skill; the user can also press the skill control again to summon a roulette-style virtual stick of the skill control, drag the stick portion to select an application position, and then release the hand to control the virtual object to activate the skill at the position in the virtual scene where the stick portion is mapped.
[0084] 306, the terminal displays the applicable area of the skill in the virtual scene according to the location of the controlled virtual object and the applicable range of the skill.
[0085] In some embodiments, if the applicable area is a circular area, the terminal can determine the location of the controlled virtual object in the virtual scene as the center of the applicable area, and determine the farthest application distance of the skill as the radius of the applicable area. Of course, the applicable area is not limited to a circular area and can be a fan-shaped area, a rectangular area, an irregular area, etc. For example, if the applicable area is a fan-shaped area, the user can control the orientation of the fan-shaped area by a movement operation and rotate the orientation of the fan-shaped area by a rotation operation. For example, when a user clicks a first position in the applicable area and moves to a second position, the orientation of the fan-shaped area is from the first position to the second position, and when the user continues to move from the second position to a third position, the orientation of the fan-shaped area is rotated from the first position to the third position.
[0086] In some embodiments, the terminal adds an application template to the applicable area in the virtual scene, and the application template is used to indicate that the activation of the skill in areas other than the application template is invalid. After that, when the user's first click operation on the screen is detected again, the terminal can determine whether the position point indicated by the first click operation is located within the application template by detecting whether the position point is located within the application area. Specifically, if the position point is located within the application template, the terminal determines that the position point is located within the applicable area and executes step 307 below. Otherwise, if the position point is not located within the application template, the terminal determines that the position point is located outside the applicable area, does not activate the skill, and regards the current click operation as an invalid operation or an erroneous operation.
[0087] 307, in response to a third click operation on the map control, the terminal determines a clicked target area on the map control.
[0088] In the above process, since the virtual scene is usually large while the size of the terminal screen is limited, and only a part of the virtual scene can be displayed on the terminal screen, a map control can usually be displayed in the virtual scene, and the map control can be used to switch the part of the virtual scene currently displayed on the screen to another part of the virtual scene at any time. In this way, the user does not need to control the displacement of the virtual object to switch the viewing angle. Instead, the viewing angle can be switched by directly clicking the target area on the map control, which is extremely convenient for the user.
[0089] In some embodiments, each map point in the map control corresponds to a location point in the virtual scene, so that the entire virtual scene is scaled down and displayed on the map control at a certain ratio. When the terminal detects the user's third click operation on the map control, it can determine the map point clicked by the user in the map control and determine a rectangular area centered on the map point. The aspect ratio of the rectangular area is equal to the aspect ratio of the terminal screen, and the size of the rectangular area can be preset by the user, thereby determining the rectangular area as the clicked target area.
[0090] 308, the terminal displays a target scene corresponding to the target region in the virtual scene, the target scene including the applicable region.
[0091] During the above process, the terminal maps the target area to the target scene based on the mapping relationship between the map control and the virtual scene, and displays the target scene on the terminal screen, where the target scene includes part or all of the applicable area, so that the user can complete the skill activation by clicking again.
[0092] FIG. 7 is a schematic diagram of an interface according to an embodiment of the present application. Referring to FIG. 7 , a virtual scene includes skill controls 601-604 corresponding to skills 1-4, respectively. After a user clicks skill control 604, the terminal detects that the type of UI control at the touch point is a skill control and that no other skill controls are in a triggered state, thereby determining that a click operation on skill 4 has been detected. The terminal then detects that skill 4 belongs to the target skill, and accordingly displays an activation countdown 605 and activation presentation information 606 for skill 4 in the virtual scene. It can be seen that the current activation countdown has three seconds remaining, and the activation presentation information 606 is a text message saying, "Click on the screen to activate the skill." Furthermore, a map control 607 is also displayed in the virtual scene. After a user clicks the map control 607, the terminal determines a target area 608 clicked on the map control 607 and displays a target scene 600 with the target area 608 mapped on the terminal screen.
[0093] Illustratively, the virtual scene screen displayed on the terminal is a screen captured by a camera in the virtual scene observing the virtual scene, and based on the third click operation received on the map control, the terminal can determine the camera position, thereby displaying the target scene on the virtual environment screen based on the new camera position.
[0094] In an alternative embodiment, the terminal may receive another operation to change the camera position, thereby changing the target scene displayed on the virtual scene screen of the terminal. For example, the terminal may receive a view angle movement operation in a view angle movement area, where the view angle movement operation is a slide operation. The terminal may determine the direction and distance of camera movement based on the direction and distance of the slide operation, thereby calculating the position of the camera after movement based on the current camera position, and further cause the camera after movement to capture the virtual scene screen of the target scene. For example, the terminal may also receive a movement operation to control the movement of a controlled virtual object. Since the camera is set by default to follow and capture the controlled virtual object, when the position of the controlled virtual object in the virtual scene changes, the camera moves to follow and the target scene displayed on the virtual scene screen also changes to follow.
[0095] The user can use any of the above methods to display the virtual scene screen of the target scene on the terminal, and then select the application position on the virtual scene screen of the target scene.
[0096] 309, the terminal detects a second click operation on the applicable area.
[0097] In the above process, the terminal detects the user's second click operation on the applicable area in the target scene, and the terminal can add an application template to the applicable area in step 306, which is used to indicate that the skill is invalid to be activated in areas other than the application template. When the terminal subsequently detects the user's second click operation on the target scene again, the terminal can determine whether the application position indicated by the second click operation is located within the application template by detecting whether the application position is located within the application template. Specifically, if the application position is located within the application template, the terminal determines that the application position is located within the applicable area and executes step 310 below. Otherwise, if the application position is not located within the application template, the terminal determines that the application position is located outside the applicable area, does not activate the skill, and regards the current click operation as an invalid operation or an erroneous operation.
[0098] 310, in response to a second click operation on the applicable area, the terminal controls the controlled virtual object to activate the skill at an application position indicated by the second click operation.
[0099] In the above process, when the terminal detects the user's second click operation on the applicable area, the terminal can respond to the user's second click operation on the applicable area by obtaining the screen coordinates of the application position indicated by the second click operation on the terminal screen, and mapping the screen coordinates to the scene coordinates of the application position in the virtual scene, thereby controlling the controlled virtual object to activate the skill at the scene coordinates.
[0100] In some embodiments, when mapping screen coordinates to scene coordinates, the terminal may use the inverse matrix of the following formula, thereby converting screen coordinates in a 2D screen to scene coordinates FocusPoint in a 3D scene:
[0101]
number
number
[0102] where:
number
[0103] where X w , Y w , Z w indicate the scene coordinates of the application position on the x-axis, y-axis, and z-axis in a 3D scene, respectively, u and v indicate the screen coordinates of the application position on the u-axis and v-axis in a 2D screen, respectively, and Z c denotes the z-axis coordinate value of the application position in the camera coordinate system, and f is the camera focal length.
[0104] Furthermore, after determining the scene coordinates of the skill application position, a skill indicator can be called up, which can display the intended application position of the skill in the virtual scene, and the user can observe on the skill indicator whether the intended application position is the desired application position, and if both are consistent, the user can release their hand to trigger the controlled virtual object to activate the skill at the clicked application position.
[0105] In some embodiments, if the two do not match (i.e., the intended application position indicated by the skill indicator is not ideal), the user can perform a drag operation on the screen without releasing his / her hand, and the terminal will respond to the user's drag operation on the applicable area and update the application position indicated by the drag operation in the virtual scene based on the drag trajectory of the drag operation. Finally, after the user completes the drag and releases his / her hand, the controlled virtual object will be triggered to activate the skill at the latest updated application position within the drag trajectory.
[0106] After activating the skill, the terminal can also pay for the effect of the skill. The payment rules for the effect vary depending on the skill type.
[0107] In an alternative embodiment, when the terminal receives a second click operation on the applicable area, the terminal displays a skill application frame at an application position indicated by the second click operation. Illustratively, the terminal displays a first skill application frame at the application position, the first skill application frame being used to specify an application range in which a skill effect can be generated by activating the skill, and controls the controlled virtual object to activate the skill in the first skill application frame.
[0108] For example, the shape and size of the skill application frame are determined based on the skill application range of the skill. For example, the shape of the skill application frame may be circular or elliptical, the center point of the skill application frame is located at the position point selected by the second click operation to select the application position, and the radius of the skill application frame is the farthest distance at which the skill generates the application effect.
[0109] For example, the skill application frame is used to determine the actual application range of a skill. If the skill is an AOE skill, when the skill is activated, the skill effect will be applied to all targets located within the skill application frame. If the skill is a single-target attack skill, after the skill is activated, the device will determine whether there is an attackable target within the skill application frame. If there is and there is only one target, the device will apply the skill effect to that target. If there are multiple targets, the device will select one target from the multiple targets and apply the skill effect to that target. If there is no target, there is no applicable target for this skill activation, and the skill effect will not be applied to any unit.
[0110] In one alternative embodiment, the skill is used to generate a skill effect on a single target, and the first skill application frame includes at least two targets. The terminal determines the first target from the at least two targets in the first skill application frame based on a target determination principle, and controls the controlled virtual object to activate the skill to generate the skill effect on the first target, where the target determination principle includes a closest distance priority principle, a lowest hit point priority principle, or a lowest percentage hit point priority principle.
[0111] Here, the closest distance priority principle determines the target closest to the center of the skill application slot as the attack target. The lowest hit point priority principle determines the target with the fewest hit points as the attack target in the skill application slot. The lowest percentage hit point priority principle determines the target with the smallest ratio between current hit points and total hit points as the attack target in the skill application slot.
[0112] Of course, the final attack target may be determined from multiple targets based on other target determination principles. For example, a first type of target may be preferentially determined as the attack target based on the target type. For example, the target type may include other virtual objects controlled by other users, program-controlled beasts, small soldiers, buildings, etc. The first type may be other virtual objects controlled by other users.
[0113] For example, based on the state of the target, it is also possible to attack targets in an attacking state preferentially. Since some virtual objects have defensive skills and virtual objects in a defensive state have high defensive values, the terminal will preferentially select and attack targets in an attacking state, thereby avoiding targets with high defensive values.
[0114] 8 is a schematic diagram of an interface according to an embodiment of the present application. Referring to FIG. 8, a virtual scene 700 includes skill controls 701-704 corresponding to skills 1-4, respectively. After a user clicks skill control 704, the terminal detects that the type of UI control at the touch point is a skill control and that no other skill controls are in a triggered state, thereby determining that a click operation on skill 4 has been detected. The terminal then detects that skill 4 belongs to the target skill, and accordingly displays an activation countdown 705 and activation presentation information 706 for skill 4 in the virtual scene. It can be seen that the current activation countdown has four seconds remaining, and the activation presentation information 706 is a text message saying, "Click the screen to activate the skill." In response to a user clicking an application position 707 within the applicable area in the virtual scene, the terminal displays a first skill application frame 710 at the application position 707 and controls the controlled virtual object to directly activate skill 4 within the first skill application frame 710.
[0115] All the above alternative technical solutions can be adopted in any combination to form alternative embodiments of the present disclosure, and the description thereof will be omitted here.
[0116] In accordance with an embodiment of the present application, a method obtains a skill type of a skill in response to a first click operation on a skill in a virtual scene; and, in response to the skill type being a target skill that supports selecting an application position based on a screen click, determines an applicable area of the skill in the virtual scene based on the location of a controlled virtual object and the application range of the skill. In response to a second click operation on the applicable area, controls the controlled virtual object to activate the skill at the application position indicated by the second click operation. In this way, a man-machine interaction method in which a skill is activated by first clicking on a skill and then clicking on the application position can activate a skill based on a simple two-click operation, does not require complex drag operations based on the roulette-style virtual stick and the skill stick, and avoids offset errors that occur when the roulette-style virtual stick is mapped to the application range, thereby achieving higher aiming precision and lower operation difficulty, thereby achieving more efficient man-machine interaction efficiency and improving the user experience.
[0117] Illustratively, the user may also box select an application area in the applicable area, thereby more precisely selecting the scope of application of the skill and improving aiming accuracy.
[0118] 9 is a flowchart of a method for controlling a virtual object according to an embodiment of the present application. Referring to FIG. 9, the embodiment is applied to a terminal, which may be the first terminal 120 or the second terminal 160 shown in FIG. 1, and includes the following steps:
[0119] 801, in response to a first click operation on any skill in the virtual scene, the terminal obtains the skill type of the skill.
[0120] 802. In response to the skill type of the skill being a target skill, the terminal determines an applicable area of the skill in the virtual scene based on the location of the controlled virtual object and the application range of the skill, and the target skill is a skill that supports selecting an application position based on a screen click.
[0121] 803. In response to receiving a box selection operation in the applicable area, the terminal controls the controlled virtual object to activate a skill in the applicable area surrounded by the box selection operation, where the box selection operation is used to surround a closed graphic with a drag trajectory in the applicable area, and the applicable area is the closed graphic, or the applicable area is a minimum enclosing circle of the closed graphic.
[0122] The box selection operation can be understood as an operation in which the user draws a closed graphic in the applicable area (a circle drawing operation). Of course, the graphic drawn by the user's box selection operation does not have to be a standard closed graphic. For example, the drawn graphic may be semi-closed or may have intersecting lines. In this case, the terminal will automatically optimize the user's drawn graphic into a closed graphic, thereby obtaining a closed graphic corresponding to the box selection operation.
[0123] The terminal can determine the enclosed graphic as the skill application area, or the terminal can determine the minimum bounding circle of the enclosed graphic as the skill application area, that is, the user selects the approximate size of the skill application area by a box selection operation, and the terminal determines the minimum bounding circle of the enclosed graphic as the final application area.
[0124] Illustratively, to prevent the user from box-selecting an application area that is too large, the terminal must also ensure that the application area is smaller than an area threshold to determine it as a valid application area.
[0125] In response to receiving a box selection operation in the applicable area, the terminal calculates an area of the application area enclosed by the box selection operation, and in response to the area area being smaller than an area threshold, controls the controlled virtual object to activate a skill in the application area enclosed by the box selection operation.
[0126] In response to the area being greater than the area threshold, the terminal determines that the currently selected application area is an invalid area, and displays invalid operation presentation information to prompt the user to continue selecting the application area, or terminates the current skill activation flow.
[0127] Illustratively, referring to the description of the previous embodiment about the skill application frame, in this embodiment, the corresponding skill application frame can also be displayed in the application area to indicate the actual application range of the skill.
[0128] In response to the area being smaller than the area threshold, the terminal displays a second skill application frame in the application area, the second skill application frame is used to identify an application range in which a skill effect can be generated by activating a skill, the shape of the second skill application frame is the same as the application area, and controls the controlled virtual object to activate the skill in the second skill application frame.
[0129] For example, referring to the description of the previous embodiment regarding how to determine the final attack target when there are multiple targets in the skill application slot, in this embodiment, the final attack target can also be determined in this manner.
[0130] That is, the skill is used to generate a skill effect on a single target, and the second skill application frame includes at least two targets. The terminal determines a second target from the at least two targets in the second skill application frame based on a target determination principle, and controls the controlled virtual object to activate the skill to generate a skill effect on the second target, where the target determination principle includes a closest distance priority principle, a lowest hit point priority principle, and a lowest percentage hit point priority principle.
[0131] As described above, the method of this embodiment allows the user to control the size of the skill activation area by box-selecting the application area in the applicable area, and further improves the accuracy with which the user aims at the skill application area, reducing the operational difficulty of accurately activating the skill, thereby bringing about more efficient man-machine interaction efficiency and improving the user experience.
[0132] FIG. 10 is a diagram illustrating the principle of activating a skill by touching a screen according to an embodiment of the present application. Referring to FIG. 10, in one exemplary scenario, as shown in 800, a terminal can activate a screen touch skill (i.e., a target skill) according to the following flow: When a player's finger touches the screen, the screen is in a pressed state. The terminal first determines whether the current touch point is on another UI control, that is, detects whether the touch point is on another virtual button, such as a virtual button of a non-skill control, such as a small map (map control), a store (store control), or a movement stick. Touch events that are not on these non-skill controls are considered to be touch events required for activating the current skill. Next, the terminal detects whether the current touch point has pressed a skill button, that is, detects whether the current touch point is on a skill control of any skill. If the current touch point is on a skill control of any skill, and the player cannot operate two skills at the same time, it determines whether another skill control has already been pressed, that is, it needs to check whether there is another screen touch-activated skill that has been triggered. Only if any other skill control is not pressed, will the terminal receive the current touch skill operation.
[0133] Furthermore, when configuring a skill, related parameters are configured for the screen touch skill, for example, an IsFullScreenSkill identifier is added to the skill. When a full-screen touch event is detected, the terminal detects whether the skill corresponding to the current skill control has an IsFullScreenSkill identifier. If the skill has the IsFullScreenSkill identifier, the skill is deemed to be triggered by the full-screen touch event. At this time, the terminal can set the touch identifier FingerID and masking identifier CurSkill of the current full-screen touch event, where the touch identifier FingerID is used to distinguish the current full-screen touch event from other touch events pressed, and the masking identifier CurSkill is used to mask events pressed by other controls and ensure the uniqueness of the currently operated skill. After all the above steps are successfully performed, the terminal calculates a scene coordinate FocusPoint in the virtual scene based on the touch point on the skill control (the screen coordinates of the application position), and processes an expression of a skill indicator based on the scene coordinate FocusPoint, thereby showing the player a preview effect of the planned application position.
[0134] Furthermore, when the touch point moves on the screen, in the screen drag state, first detect whether the touch identifier FingerID of the currently pressed event matches the FingerID of the full-screen touch event triggered immediately before, that is, detect whether the touch point and the immediately previous touch identifier FingerID are the same and whether a masking identifier CurSkill exists; if the touch identifier FingerID is the same and a masking identifier CurSkill exists, then determine whether a skill triggered by the currently pressed event exists; when both of these conditions are met, the terminal updates the scene coordinate FocusPoint with the current touch point, that is, maps it with the screen coordinate of the new touch point, and obtains a new scene coordinate FocusPoint.
[0135] Furthermore, when the touch point is lifted (the player releases his / her hand), the screen is in a hands-off state, and the terminal similarly detects whether the FingerID of the currently pressed event matches the FingerID of the full-screen touch event triggered immediately before, that is, detects whether the touch point and the immediately previous touch identifier FingerID are the same and whether a masking identifier CurSkill exists; if the touch identifier FingerID is the same and a masking identifier CurSkill exists, and if a skill triggered by the currently pressed event exists, when these two conditions are both met, the terminal will send related skill data (including the masking identifier CurSkill, the final scene coordinate FocusPoint, etc.), request the server to activate the skill, and synchronize with other terminals participating in the game based on frame synchronization technology.
[0136] Specifically, for a screen touch skill that can be activated by clicking the screen, after the player clicks the skill control, the screen enters skill activation mode, and the bottom area of the screen displays a countdown to the end of the screen skill activation mode (i.e., the skill activation countdown) and activation prompt information "Click the screen to activate the skill." Furthermore, an application template is added within the skill's application range, indicating that the skill can be activated by clicking within the area covered by the template. If the player clicks outside the area, the skill will not be activated. If the player clicks on the screen during the countdown, the skill will be directly activated at the clicked application location within the applicable area of the virtual scene. If application to a location outside the screen is required, the player can first click on the small map to move the screen to the corresponding location, and then click on the screen to activate the skill.
[0137] In this embodiment, for skills with a long application range, a mechanism for releasing (i.e., activating) the skill by clicking the screen is added, allowing the player to click the screen to directly activate the skill at the clicked application position, achieving a "see what you get" interaction effect, improving the aiming accuracy during the skill activation process, making the player's playing process more comfortable, and optimizing the user experience. Of course, for screen touch skills that can be activated by clicking the screen, the terminal can provide two compatible skill activation methods, allowing the user to activate the skill by clicking the screen, or to activate the skill based on the traditional roulette-style virtual stick, providing a richer and more diverse man-machine interaction method.
[0138] FIG. 11 is a schematic diagram of a virtual object control device according to an embodiment of the present application. Referring to FIG. 11, the device includes: A detection module 901 is used to detect whether a skill is a target skill in response to a first click operation on a skill control, and the target skill is a skill that supports selecting an application position based on a screen click; a determining module 902, which is used to display an applicability area of the skill in the virtual scene based on the location of the controlled virtual object and the applicability range of the skill in response to the skill being a target skill; and a control module 903 used to control the controlled virtual object to activate the skill at an application position indicated by the second click operation in response to a second click operation on the applicable area.
[0139] In accordance with an embodiment of the present application, a device acquires a skill type of a skill in response to a first click operation on a skill in a virtual scene; and, in response to the skill type being a target skill that supports selecting an application position based on a screen click, determines an applicable area of the skill in the virtual scene based on the location of a controlled virtual object and the application range of the skill. In response to a second click operation on the applicable area, the device controls the controlled virtual object to activate the skill at the application position indicated by the second click operation. In this way, a man-machine interaction method in which a skill is activated by first clicking on a skill and then clicking on an application position can activate a skill based on a simple two-click operation, and does not require complex drag operations based on the roulette-style virtual stick and the skill stick. Furthermore, it avoids offset errors that occur when the roulette-style virtual stick is mapped to the application range, resulting in higher aiming precision and lower operation difficulty, thereby achieving more efficient man-machine interaction efficiency and improving the user experience.
[0140] In one possible embodiment, the control module 903: In response to a second click operation on the applicable area, acquiring screen coordinates of an application position indicated by the second click operation on the screen; mapping the screen coordinates to scene coordinates of the application position in the virtual scene; and controlling the controlled virtual object to activate the skill at the scene coordinates.
[0141] In one possible embodiment, based on the device configuration of FIG. 11, the device: The system further includes a mapping detection module used to determine a clicked target area on the map control in response to a third click operation on the map control, display a target scene in the virtual scene corresponding to the target area, including the applicability area in the target scene, and detect a second click operation on the applicability area in the target scene.
[0142] In one possible embodiment, if the applicability region is a circular region, the determination module 902 In the virtual scene, determining the location of the controlled virtual object as the center of the applicable area, and determining the farthest application distance of the skill as the radius of the applicable area; Displaying an application template of the applicable area in the virtual scene, the application template being used to indicate that activation of the skill in areas other than the application template is invalid.
[0143] In one possible embodiment, based on the device configuration of FIG. 11, the device: The skill further includes a display module adapted to display at least one of an activation countdown or activation presentation information of the skill in the virtual scene in response to the skill being a target skill.
[0144] In one possible embodiment, the control module 903 is used to, in response to receiving a skill activation operation on a roulette-style virtual stick corresponding to the skill control, control the controlled virtual object to activate the skill at a position indicated by the skill activation operation.
[0145] In one possible embodiment, the detection module 901 comprises: When a first click operation on the screen is detected, in response to a user interface control being present at a position indicated by the first click operation, acquiring a control type of the user interface control; In response to the control type of the user interface control being the skill control corresponding to the skill, acquiring a trigger state of another skill control, the other skill control being a skill control of a skill other than the skill; and determining that a first click operation on the other skill control has been detected in response to the other skill control not being in a triggered state.
[0146] In one possible embodiment, based on the device configuration of FIG. 11, the device: The apparatus further includes an update module adapted to update, in response to a drag operation on the applicable region, an application position indicated by the drag operation in the virtual scene based on a drag trajectory of the drag operation.
[0147] In one possible embodiment, the device comprises: a display module used to display a first skill application frame at the application position, the first skill application frame further including a display module used to specify an application range in which a skill effect can be generated by activating the skill; The control module is used to control the controlled virtual object to activate the skill in the first skill application slot.
[0148] In one possible embodiment, the skill is used to generate a skill effect on a single target, and the first skill application slot includes at least two targets; The control module is used to determine a first target from at least two targets in the first skill application frame according to a target determination principle; the control module is used to control the controlled virtual object to activate the skill to generate a skill effect on the first target; Here, the target determination principles include the closest distance priority principle, the lowest hit point priority principle, and the lowest percentage hit point priority principle.
[0149] In one possible embodiment, the control module, in response to receiving a box selection operation in the applicability area, controls the controlled virtual object to activate the skill in an application area enclosed by the box selection operation, wherein the box selection operation is used to enclose a closed graphic by a drag trajectory in the applicability area, and the application area is the closed graphic, or the application area is a minimum enclosing circle of the closed graphic.
[0150] In one possible embodiment, the control module is adapted to, in response to receiving a box selection operation in the applicability region, calculate an area of the applicability region enclosed by the box selection operation; The control module is used for controlling the controlled virtual object to activate the skill in the application area surrounded by the box selection operation in response to the area area being smaller than an area threshold.
[0151] In one possible embodiment, the device comprises: a display module for displaying a second skill application frame in the application area in response to the area being smaller than the area threshold, the second skill application frame being used to specify an application range in which a skill effect can be generated by activating the skill, and the shape of the second skill application frame being the same as the application area; The control module is used to control the controlled virtual object to activate the skill in the second skill application slot.
[0152] In one possible embodiment, the skill is used to generate a skill effect on a single target, and the second skill application slot includes at least two targets; The control module is used to determine a second target from at least two targets in the second skill application frame according to a target determination principle; the control module is used to control the controlled virtual object to activate the skill to generate a skill effect on the second target; Here, the target determination principles include the closest distance priority principle, the lowest hit point priority principle, and the lowest percentage hit point priority principle.
[0153] Although the virtual object control device according to the above embodiment has been described as an example of dividing each functional module into the above functions when controlling a virtual object, in actual application, the functions are completed by assigning them to different functional modules as needed, i.e., the internal configuration of the terminal device is divided into different functional modules to complete all or part of the above functions. Furthermore, the virtual object control device according to the above embodiment belongs to the same concept as the embodiment of the virtual object control method, and the specific implementation process thereof is described in detail in the embodiment of the virtual object control method, so a description thereof will be omitted here.
[0154] 12 is a schematic diagram of a terminal according to an embodiment of the present application. The terminal 1000 may be a smartphone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Compression Standard Audio Level 3), an MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Compression Standard Audio Level 4) player, a laptop computer, or a desktop computer. The terminal 1000 may also be called a user device, a mobile terminal, a laptop terminal, a desktop terminal, or other names.
[0155] Typically, the terminal 1000 includes a processor 1001 and a memory 1002 .
[0156] The processor 1001 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1001 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 1001 may further include a main processor and a coprocessor. The main processor is a processor used to process data in a wake-up state and is also called a CPU (Central Processing Unit). The coprocessor is a low-power processor used to process data in a standby state. In some embodiments, the processor 1001 may integrate a GPU (Graphics Processing Unit) used to render content to be displayed on a display. In some embodiments, the processor 1001 may further include an AI (Artificial Intelligence) processor used to process computational operations related to machine learning.
[0157] The memory 1002 may include one or more computer-readable storage media, which may be non-transitory. The memory 1002 may further include high-speed random access memory and non-volatile memory, such as one or more disk storage devices, flash storage devices, etc. In some embodiments, the non-transitory computer-readable storage media in the memory 1002 may be used to store at least one command, which may be executed by the processor 1001 to implement a method for controlling a virtual object according to embodiments of the present application.
[0158] In some embodiments, terminal 1000 optionally further includes a peripheral interface 1003 and at least one peripheral. The processor 1001, memory 1002, and peripheral interface 1003 may be connected via a bus or signal lines. Each peripheral may be connected to peripheral interface 1003 via a bus, signal line, or circuit board. Specifically, the peripherals include at least one of radio frequency circuitry 1004, touch display 1005, camera component 1006, audio circuitry 1007, positioning component 1008, and power supply 1009.
[0159] The peripheral interface 1003 can be used to connect at least one peripheral associated with I / O (Input / Output) to the processor 1001 and the memory 1002. In some embodiments, the processor 1001, the memory 1002, and the peripheral interface 1003 are integrated on the same chip or circuit board, and in some embodiments, any one or two of the processor 1001, the memory 1002, and the peripheral interface 1003 may be implemented on separate chips or circuit boards, although this embodiment is not limited thereto.
[0160] The radio frequency circuit 1004 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1004 communicates with communication networks and other communication devices via electromagnetic signals. The radio frequency circuit 1004 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals. Optionally, the radio frequency circuit 1004 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The radio frequency circuit 1004 can communicate with other terminals via at least one wireless communication protocol, including, but not limited to, a metropolitan area network, various generations of mobile communication networks (2G, 3G, 4G, and 5G), a wireless local area network, and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuitry 1004 may further include circuitry related to Near Field Communication (NFC), although the present application is not limited in this respect.
[0161] The touch display 1005 is used to display a user interface (UI). The UI may include graphics, text, icons, video, and any combination thereof. When the touch display 1005 is a touch display, the touch display 1005 also has the ability to collect touch signals on or above the surface of the touch display 1005. The touch signals may be input as control signals to the processor 1001 for processing. In this case, the touch display 1005 may be used to provide virtual buttons and / or a virtual keyboard, also referred to as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display 1005 and it may be located on the front panel of the terminal 1000. In other embodiments, there may be at least two touch displays 1005 and they may be located on different surfaces of the terminal 1000 or may be designed to be folded. In some embodiments, the touch display 1005 may be a flexible display and it may be located on a curved or folded surface of the terminal 1000. Furthermore, the touch display 1005 may be configured as a non-rectangular, irregular graphics display, i.e., an irregularly shaped display. The touch display 1005 may be manufactured using materials such as LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc.
[0162] The power source 1009 is used to supply power to each component in the terminal 1000. The power source 1009 may be an AC power source, a DC power source, a disposable battery, or a rechargeable battery. If the power source 1009 includes a rechargeable battery, the rechargeable battery may support wired or wireless charging. The rechargeable battery may also be used to support fast charging technology.
[0163] As will be appreciated by those skilled in the art, the configuration shown in FIG. 12 is not intended to limit the terminal 1000, which may include more or fewer components than those shown, or may combine some components, or may employ a different component arrangement.
[0164] In an exemplary embodiment, a computer-readable storage medium is further provided, such as a memory including at least one program code, which can be executed by a processor in the terminal to complete the virtual object control method in the above embodiment. For example, the computer-readable storage medium may be a read-only memory (ROM), a random-access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a flexible disk, an optical data storage device, etc.
[0165] In an exemplary embodiment, a computer program product or computer program is further provided, the computer program product or computer program including computer commands stored on a computer-readable storage medium, the computer commands being read by a processor of a computing device from the computer-readable storage medium and executed by the processor to cause the computing device to perform the method for controlling a virtual object according to the selectable implementation.
Claims
1. A method for controlling a virtual object executed by a terminal, A step to obtain the skill type of a skill in response to the first touch operation on the skill control on the screen, Steps include: displaying on the screen the applicable area of the skill in a virtual scene based on the location of a controlled virtual object and the scope of application of the skill, in response to the skill type of the skill being a target skill, wherein the target skill is a skill that supports selecting an application location based on screen touches; The step of controlling the controlled virtual object to activate the skill at the application location indicated by the second touch operation in response to a second touch operation on the applicable area, A method for controlling virtual objects, characterized by the features described above.
2. The step of displaying the applicable area of the skill in the virtual scene based on the location of the controlled virtual object and the scope of application of the skill is: The steps include displaying the application template for the applicable region in the virtual scene, The method according to claim 1.
3. The method according to claim 1 or 2, wherein displaying the applicable area of the skill in a virtual scene based on the location of a controlled virtual object and the scope of application of the skill indicates that activating the skill in an area other than the applicable area is invalid.
4. The method according to any one of claims 1 to 3, wherein the applicable region is determined with the location of the controlled virtual object as the center and the furthest applicable distance of the skill as the radius.
5. The step of controlling the controlled virtual object to activate the skill at the application location indicated by the second touch operation in response to the applicable area is: In response to the second touch operation on the applicable area, the steps include obtaining the screen coordinates of the application position indicated by the second touch operation on the screen, The steps include mapping the screen coordinates to the scene coordinates of the application position in the virtual scene, The steps include controlling the controlled virtual object to activate the skill in the scene coordinates, The method according to any one of claims 1 to 4, characterized by the features described herein.
6. Prior to the step of controlling the controlled virtual object to activate the skill at the application location indicated by the second touch operation in response to the applicable area, the method: The steps include determining the touched target area on the map control in response to a third touch operation on the map control, A step of displaying a target scene corresponding to the target region in the virtual scene, wherein the target scene includes the applicable region. The further step includes detecting the second touch operation on the applicable area in the target scene, The method according to any one of claims 1 to 5, characterized by the features described above.
7. After the step of obtaining the skill type of the skill in response to a first touch operation on the skill control, the method: The further step includes, in response to the skill being a target skill, displaying at least one of the skill activation countdown or activation notification information in the virtual scene. The method according to any one of claims 1 to 5, characterized by the features described above.
8. In response to the skill type of the aforementioned skill being a target skill, after the step of displaying the applicable area of the skill in the virtual scene based on the location of the controlled virtual object and the scope of application of the skill, The further step includes, in response to receiving a skill activation operation on a roulette-type virtual stick corresponding to the skill control, controlling the controlled virtual object to activate the skill at the position indicated by the skill activation operation, The method according to any one of claims 1 to 5, characterized by the features described above.
9. Prior to the step of obtaining the skill type of the skill in response to a first touch operation on the skill control, the method: Upon detecting the first touch operation on the screen, the steps include obtaining the control type of the user interface control in response to the presence of a user interface control at the position indicated by the first touch operation, A step of obtaining the trigger state of another skill control in response to the control type of the user interface control being the skill control corresponding to the skill, wherein the other skill control is a skill control of a skill other than the skill mentioned above. The further step includes determining that the first touch operation on the skill control has been detected in response that the other skill control is not in a triggered state, The method according to any one of claims 1 to 5, characterized by the features described above.
10. Prior to the step of controlling the controlled virtual object to activate the skill at the application location indicated by the second touch operation in response to the applicable area, the method: The further step includes updating the application position indicated by the drag operation in the virtual scene based on the drag trajectory of the drag operation in response to the drag operation on the applicable area, The method according to any one of claims 1 to 5, characterized by the features described above.
11. The step of controlling the controlled virtual object to activate the skill at the application location indicated by the second touch operation is: A step of displaying a first skill application frame at the application location, wherein the first skill application frame is used to identify the application range in which the skill effect can be generated by activating the skill; The steps include controlling the controlled virtual object to activate the skill within the first skill application frame, The method according to any one of claims 1 to 5, characterized by the features described above.
12. The aforementioned skill is used to generate a skill effect on a single target, and the first skill application slot includes at least two targets. The step of controlling the controlled virtual object to activate the skill in the first skill application frame is: A step of determining a first target from at least two targets in the first skill application framework based on the target determination principle, The steps include controlling the controlled virtual object to activate the skill and generate a skill effect on the first target, The aforementioned target determination principles include the principle of nearest distance priority, the principle of lowest hit point priority, and the principle of lowest percentage hit point priority. The method according to 11, characterized by the features described above.
13. The aforementioned method, A step of controlling a controlled virtual object to activate the skill in the application area enclosed by the box selection operation in response to receiving a box selection operation in the applicable area, the box selection operation being used to enclose a closed graphic by a drag trajectory in the applicable area, the application area being the closed graphic, or the application area being the minimum enclosing circle of the closed graphic, further comprising: The method according to any one of claims 1 to 5, characterized by the features described above.
14. The step of controlling the controlled virtual object to activate the skill in the application area enclosed by the box selection operation in response to receiving a box selection operation in the applicable area is: In response to receiving a box selection operation in the applicable region, the steps include: calculating the area of the applicable region enclosed by the box selection operation; The step of controlling the controlled virtual object to activate the skill in the application area enclosed by the box selection operation in response to the area being smaller than an area threshold, The method according to the present invention, characterized by the present invention.
15. The step of controlling the controlled virtual object to activate the skill in the application area enclosed by the box selection operation in response to the area being smaller than the area threshold is: Steps include: displaying a second skill application frame in the application area in response to the area being smaller than the area threshold, wherein the second skill application frame is used to identify the application range in which the skill effect can be generated by activating the skill, and the shape of the second skill application frame is the same as that of the application area; The steps include controlling the controlled virtual object to activate the skill in the second skill application frame, The method according to feature 14.
16. The aforementioned skill is used to generate a skill effect on a single target, and the second skill application slot includes at least two targets. The step of controlling the controlled virtual object to activate the skill in the second skill application frame is: A step of determining a second target from at least two targets in the second skill application framework based on the target determination principle, The steps include controlling the controlled virtual object to activate the skill and generate a skill effect on the second target, The aforementioned target determination principles include the principle of nearest distance priority, the principle of lowest hit point priority, and the principle of lowest percentage hit point priority. The method according to the present invention, characterized by the present invention.
17. A control device for virtual objects, A detection module used to acquire the skill type of a skill in response to the first touch operation on the skill control on the screen, A decision module used to display the applicable area of the skill in a virtual scene on the screen, based on the location of a controlled virtual object and the scope of application of the skill, in response to the skill type of the skill being a target skill, wherein the target skill is a skill that supports selecting an application location based on screen touches, A control module used to control the controlled virtual object to activate the skill at the application location indicated by the second touch operation in response to a second touch operation on the applicable region, A control device for virtual objects, characterized by the following features.
18. Displaying the applicable area of the skill in a virtual scene based on the location of the controlled virtual object and the scope of application of the skill is: This includes displaying the application template for the applicable region in the virtual scene, A control device for virtual objects according to claim 17.
19. A control device for a virtual object according to claim 17 or 18, wherein displaying the applicable area of the skill in a virtual scene based on the location of the controlled virtual object and the scope of application of the skill indicates that activating the skill in an area other than the applicable area is invalid.
20. The method according to any one of claims 17 to 19, wherein the applicable region is a circular region, and the applicable region is determined with the location of the controlled virtual object as the center and the furthest applicable distance of the skill as the radius.
21. It is a terminal, The system includes one or more processors and one or more memories, wherein at least one program code is stored in the one or more memories, and the at least one program code is loaded and executed by the one or more processors in order to implement an operation performed by the virtual object control method described in any one of claims 1 to 16. A terminal characterized by the following features.
22. The computer is made to execute the virtual object control method described in any one of claims 1 to 16. A computer program characterized by the following features.