Method and apparatus for controlling a virtual object, computer device, and program

The method and apparatus for controlling virtual objects in MOBA games improve human-computer interaction efficiency by accurately targeting intended virtual objects through a controlled movement and skill release mechanism, ensuring the virtual object attacked matches the user's intent.

JP7683663B2Active Publication Date: 2025-05-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023154190
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-13
Filing Date
2023-09-21
Publication Date
2025-05-27
Estimated Expiration
2041-10-22

AI Technical Summary

Technical Problem

In MOBA games, the efficiency of human-computer interaction is reduced because the virtual object actually attacked may not match the virtual object the user intends to attack, due to the current system's inability to accurately target the intended object after movement based on skills.

Method used

A method and apparatus for controlling virtual objects, which includes a first control module to move a first virtual object to a target position in response to a trigger operation on a first skill, a first display module to search for and obtain a target virtual object based on the target position when a second skill is triggered within the valid period of the first skill, and a second control module to release the second skill to the target virtual object when the first virtual object reaches the target position.

Benefits of technology

This solution significantly improves the efficiency of human-computer interaction by ensuring that the virtual object actually attacked matches the user's intended target, enhancing gameplay accuracy and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007683663000003
    Figure 0007683663000003
  • Figure 0007683663000004
    Figure 0007683663000004
  • Figure 0007683663000005
    Figure 0007683663000005
Patent Text Reader

Abstract

To provide a virtual object control method and apparatus, and a computer device and a storage medium.SOLUTION: The method includes: controlling a first virtual object to move toward a target position in response to a triggering operation on a first skill (201); searching based on the target position to acquire a target virtual object in response to a triggering operation on a second skill during an effective period of the first skill (202); and performing control such that the first virtual object releases the second skill to the target virtual object when the first virtual object reaches the target position (203).SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application claims priority based on a Chinese patent application filed with the Chinese Patent Office on May 13, 2021, with an application number of 202110523037.2 and an invention title of "Method, Apparatus, Terminal, and Storage Medium for Controlling Virtual Objects", the entire content of which is incorporated herein by reference.

[0002] This application relates to the field of computer technology, and in particular, to a method and apparatus for controlling virtual objects, as well as a computer device and a program.

Background Art

[0003] MOBA (Multiplayer Online Battle Arena) games have gradually become one of the very important games in mobile games. During the game, the user controls a virtual object to release (unlock / activate) skills, such as displacement skills, teleport (TP) skills, etc., and makes the virtual object move based on the skill, so that the position of the virtual object in the virtual scene can be changed.

Summary of the Invention

Problems to be Solved by the Invention

[0004] An embodiment of this application aims to provide a method and apparatus for controlling virtual objects, as well as a computer device and a program, which can significantly improve the efficiency of human-computer interaction by making the virtual object actually attacked match the virtual object the user intends to attack.

Means for Solving the Problems

[0005] According to one aspect, a method for controlling a virtual object is provided, and the method includes: In response to a trigger operation on the first skill, control is performed so that the first virtual object moves to a target position, and the first skill is used to change the position of the first virtual object; In response to a trigger operation on a second skill within the valid period of the first skill, a search is performed based on the target position to obtain a target virtual object; and When the first virtual object reaches the target position, the step of controlling the first virtual object to release the second skill to the target virtual object is included.

[0006] According to another aspect, a control device for a virtual object is provided, and the device includes A first control module for controlling the first virtual object to move to a target position in response to a trigger operation on the first skill, where the first skill is used to change the position of the first virtual object; A first display module for performing a search based on the target position and obtaining a target virtual object in response to a trigger operation on a second skill within the valid period of the first skill; and A second control module for controlling the first virtual object to release the second skill to the target virtual object when the first virtual object reaches the target position.

[0007] In some embodiments, the first display module is used to highlight the searched target virtual object.

[0008] In some embodiments, the first display module determines the target position on the movement path corresponding to the first skill in response to a trigger operation on the first skill; and is used to control the first virtual object to move to the target position.

[0009] In some embodiments, the first display module is used to correct the end position of the movement path and obtain the target position when there is an obstacle in the movement path in response to a trigger operation on the first skill.

[0010] In some embodiments, the first display module is used to display the movement path in response to a trigger operation on the first skill.

[0011] In some embodiments, when the end position corresponding to the first skill is a position where the virtual object cannot reach in response to a trigger operation on the first skill, the first display module determines the target position, where the target position is a position where the virtual object can reach; and is used to control the first virtual object to move to the target position.

[0012] In some embodiments, when the end position is a position where the virtual object cannot reach, the first display module corrects the end position and is used to obtain the target position.

[0013] In some embodiments, the first display module is used to display the end position in response to a trigger operation on the first skill.

[0014] In some embodiments, in response to a trigger operation on the second skill within the validity period of the first skill, the first display module determines a skill search range corresponding to the second skill with the target position as the search center; and is used to perform a search within the skill search range to obtain the target virtual object.

[0015] In some embodiments, the first display module is used to display the skill search range.

[0016] In some embodiments, the apparatus further comprises a second display module for displaying a skill indication label for the second skill in response to a trigger operation on the second skill within the validity period of the first skill, wherein the skill indication label points from the target position to the position of the target virtual object.

[0017] In some embodiments, the second display module generates an alternative object corresponding to the first virtual object at the target position, the alternative object being an invisible object; determines the orientation of the alternative object based on the position of the target virtual object; and is used to display the skill indication label of the second skill based on the orientation of the alternative object.

[0018] In some embodiments, the apparatus further comprises a determination module for updating the target position to the current position where the first virtual object is located when the movement process of the first virtual object is interrupted.

[0019] In some embodiments, the apparatus further comprises an update module for updating the target position in real time based on the position of the second virtual object when the first skill is used to move the first virtual object to the position of the second virtual object.

[0020] According to another aspect, a computer device is provided, the computer device comprising a processor and a memory, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations in the method for controlling a virtual object in the embodiments of the present application.

[0021] According to another aspect, a computer-readable storage medium is provided, in which at least one computer program is stored. When the at least one computer program is loaded and executed by a processor, operations in the method for controlling virtual objects in the embodiments of the present application are realized.

[0022] According to another aspect, a computer program product is provided. The computer program product includes computer program code, and the computer program code is stored in a computer-readable storage medium. When a processor of a computer device reads the computer program code from the computer-readable storage medium and the processor executes the computer program code, the computer device is caused to execute the method for controlling virtual objects provided by various selectable implementation manners in each of the above aspects.

Advantages of the Invention

[0023] The technical solution provided by the embodiments of the present application has at least the following advantageous effects.

[0024] In the technical solution provided by the embodiments of the present application, when a trigger operation on a second skill is detected within the valid period of a first skill, searching is performed based on the target position indicated by the first skill, so that a target virtual object can be searched. Then, when the first virtual object reaches the target position after the movement ends, the first virtual object is controlled to release the second skill to the target virtual object, so that the virtual object actually attacked matches the virtual object that the user intends to attack, thereby greatly improving the efficiency of human-computer interaction.

Brief Description of the Drawings

[0025] To more clearly explain the technical solutions in the embodiments of this application, the drawings necessary for the description of the embodiments will be briefly introduced below. Also, as is obvious, the drawings described below are only some embodiments of this application, and those skilled in the art can also obtain other drawings based on these drawings without creative labor.

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Embodiments for Carrying Out the Invention

[0026] To make the purpose, technical means and advantages of this application clearer, the embodiments of this application will be described in more detail below with reference to the drawings.

[0027] In this application, terms such as "first" and "second" are used to distinguish those with substantially the same or similar actions and functions. It should be understood that "first", "second", and "nth" have no logical or timing dependency between them, and also do not limit the number and execution order.

[0028] In this application, the term "at least one" refers to one or more, and "a plurality" means two or more. For example, a plurality of virtual objects refers to two or more virtual objects.

[0029] To facilitate the understanding of the technical means in the embodiments of this application, several nouns (terms) related to the embodiments of this application are briefly introduced below.

[0030] Virtual scene: It is a virtual scene displayed (or provided) when an application program is executed on a terminal. Optionally, the virtual scene is a simulation environment for the real world, or a semi-simulation and semi-fictitious virtual environment, or a completely fictitious virtual environment. Optionally, the virtual scene is any one of a two-dimensional virtual scene, a 2.5-dimensional virtual scene, or a three-dimensional virtual scene, but the embodiments of this application do not limit the number of dimensions of the virtual scene. For example, the virtual scene includes sky, land, ocean, etc. The land includes environmental elements such as deserts and cities. The user can control the virtual object to move in the virtual scene. Optionally, the virtual scene is used for battles in the virtual scene between at least two virtual objects, and there is virtual resource in the virtual scene that at least two virtual objects can use. Optionally, the virtual scene includes two symmetric regions. The virtual objects belonging to two opposing camps each occupy one region, and the goal of victory is to destroy the target building / fortress / base / crystal deep in the opponent's region. Among them, the symmetric regions are, for example, the lower left corner region and the upper right corner region, and also, for example, the left central region and the right central region.

[0031] Virtual object: Refers to a movable object within a virtual scene. Optionally, the movable object can be a virtual person, virtual animal, animated character, etc. For example, it can be a person, animal, plant, oil barrel, wall, stone, etc. displayed in the virtual scene. The virtual object is a virtual avatar representing the user in the virtual scene. Optionally, the virtual scene contains multiple virtual objects, each virtual object having a unique shape and volume (volume) in the virtual scene and occupying a part of the space within the virtual scene. Optionally, when the virtual scene is a 3D virtual scene, the virtual object can be a 3D solid model, and the 3D solid model is a 3D character constructed based on 3D human body skeleton technology. The same virtual object can show different images by wearing different skins. Optionally, the virtual object is realized by a 2.5D or 2D model, but the embodiments of this application are not limited thereto.

[0032] Optionally, the virtual object is a player character controlled by operations on the client, or an AI (Artificial Intelligence / artificial intelligence) set in battles within the virtual scene through training, or an NPC (Non-Player Character / non-player character) set in virtual scene interactions. Optionally, the virtual object is a virtual person who conducts competitions in the virtual scene. Optionally, the number of virtual objects participating in interactions in the virtual scene is preset or dynamically determined based on the number of clients participating in the interaction.

[0033] NPC object: The NPC object refers to a virtual object not controlled by the user and includes various forms such as virtual creatures, virtual items, virtual ghosts, etc. The NPC object may belong to a certain user camp participating in the confrontation or may not belong to any one of the user camps participating in the confrontation (i.e., it is a neutral virtual object).

[0034] Neutral virtual object: An NPC object that does not belong to any one user camp participating in the confrontation may be commonly known as a "neutral virtual object". A neutral virtual object can engage in confrontational acts with virtual objects of any one user camp participating in the confrontation. In other words, a neutral virtual object can attack virtual objects of any one user camp participating in the confrontation, and can also be attacked by virtual objects of any one user camp participating in the confrontation. For example, the neutral virtual object includes the first virtual object and the second virtual object according to the embodiments of the present application. A neutral virtual object is usually a competitive resource that can be captured, and can provide a beneficial effect to the party that captures the neutral virtual object. For example, a neutral virtual object is competitively contested by each user camp participating in the confrontation, and the camp where the user who first breaks (or kills) the neutral virtual object is located can obtain the beneficial effect provided by the neutral virtual object.

[0035] MOBA (Multiplayer Online Battle Arena) game: A game that provides multiple bases in a virtual scene and is controlled by users belonging to different camps so that virtual objects fight in the virtual scene, occupy bases, or destroy the bases of the opposing camp. For example, in a MOBA game, users are divided into at least two opposing camps, and different virtual teams belonging to at least two opposing camps occupy their respective map areas and can compete with a certain victory condition as the goal. The victory condition may include, but is not limited to, occupying a base, destroying the base of the opposing camp, killing the virtual objects of the opposing camp, ensuring one's own survival within a specified scene and time, capturing a certain resource, and exceeding the opponent in the interaction score within a specified time. For example, in a mobile MOBA game, users are divided into two opposing camps, and the virtual objects controlled by the users are dispersed in the virtual scene to compete with each other, and the victory condition can be to destroy or occupy all the bases of the enemy.

[0036] As an option, one or more virtual objects can be included in each virtual team, for example, one, two, three, or five. Based on the number of virtual objects in each team participating in the combat skill competition, the combat skill competition can be divided into 1V1 combat skill competitions, 2V2 combat skill competitions, 3V3 combat skill competitions, 5V5 combat skill competitions, etc. Among them, for example, 1V1 refers to "one-on-one", but the detailed description here is omitted.

[0037] As an option, the MOBA game is carried out in units of innings (or rounds). In each inning, the map of the combat skill competition may be the same or different. The duration of one inning of the MOBA game is the period from the start time of the game to the time when the victory condition is met.

[0038] In the MOBA game, the user can further control the virtual object to interact with other virtual objects by releasing skills. For example, the skill types of the skills include attack skills, defense skills, treatment skills, support skills, assassination skills, etc. Each virtual object has one or more fixed skills respectively. Different virtual objects usually have different skills, and different skills achieve different effects. For example, when a virtual object releases a displacement skill, the virtual object can move a certain distance within the virtual scene. Also, for example, when a virtual object releases a teleportation skill, the virtual object can arrive at another position from one position within the virtual scene. Also, each other type of skill can also bring corresponding effects, but the comprehensive description is omitted here.

[0039] Hereinafter, the implementation environment related to this application will be introduced.

[0040] FIG. 1 is a diagram showing the implementation environment of the method for controlling a virtual object provided by an embodiment of this application. As shown in FIG. 1, the implementation environment includes a terminal 101 and a server 102.

[0041] The terminal 101 and the server 102 can be directly or indirectly connected by a wired or wireless communication method, but the present application is not limited thereto.

[0042] Optionally, the terminal 101 is a smartphone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smartwatch, etc., but is not limited thereto. An application program for displaying a virtual scene can be installed and executed on the terminal 101. The application program is used to start any one of a first-person shooting game (FPS), a third-person shooting game, a multiplayer online battle arena game (MOBA), a virtual reality application program, a 3D map program, a military simulation program, or a multiplayer gunfight survival game. By way of example, the terminal 101 is a terminal used by a user, and the user account of the user is logged in to the application program installed and executed on the terminal 101. The user uses the terminal 101 to operate the virtual object in the virtual scene through the application program so that the virtual object performs activities. The activities include at least one of body posture adjustment, crawling, walking, running, riding, jumping, driving, picking up, shooting, attacking, and throwing, but are not limited thereto. By way of example, the virtual object is a virtual character, for example, a simulated human character or an animated human character.

[0043] Optionally, the server 102 can be an independent physical server, a server group consisting of multiple physical servers, or a distributed system, and can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), big data, and artificial intelligence platforms.

[0044] Optionally, a virtual object controlled by the terminal 101 (hereinafter also referred to as the controlled virtual object) and a virtual object controlled by another terminal (hereinafter also referred to as another virtual object) exist in the same virtual scene. At this time, the controlled virtual object can interact with other virtual objects in the virtual scene. In some embodiments, the controlled virtual object and another virtual object are in an adversarial relationship. For example, the controlled virtual object and another virtual object belong to different teams and organizations, and adversarial virtual objects can perform adversarial interactions in a way of releasing skills to each other.

[0045] FIG. 2 is a flowchart of a method for controlling a virtual object provided by an embodiment of the present application. As shown in FIG. 2, in the embodiment of the present application, the description is made by taking the execution by the terminal as an example. The method for controlling the virtual object includes the following steps.

[0046] 201: In response to a trigger operation for the first skill, the terminal controls the first virtual object to move to the target position, and the first skill is used to change the position of the first virtual object.

[0047] Among them, the target position is a position corresponding to the first skill, and the first skill is used to change the position of the first virtual object in the virtual scene. In the embodiments of the present application, a first virtual object is displayed in the virtual scene, and the first virtual object is a virtual object controlled by the user account currently logged in to the terminal. Among them, the first virtual object has two or more corresponding skills, among which the first skill is used to change the position of the first virtual object in the virtual scene. Among them, the target position is the target position where the first virtual object moves based on the first skill. Optionally, the first skill is a displacement skill, or the first skill is a teleportation skill. Optionally, the virtual scene includes two symmetric regions, and the virtual objects belonging to two opposing camps each occupy one region, and the victory goal is to destroy the target building / fortress / base / crystal deep in the opponent's camp. Among them, the symmetric regions are, for example, the lower left corner region and the upper right corner region, or, for example, the left central region and the right central region.

[0048] For example, taking the case where the first skill is a displacement skill as an example, the terminal controls, in response to a trigger operation for the first skill, the first virtual object to sprint forward a certain distance based on the first skill and reach the target position. In other words, the terminal displays that the first virtual object is continuously moving from the current position to the target position.

[0049] Also, for example, taking the case where the first skill is a teleportation skill as an example, the terminal controls, in response to a trigger operation for the first skill, the first virtual object to stay in place, displays the special effect of teleportation, then cancels the display of the first virtual object at the current position, and displays the first virtual object at the target position.

[0050] 202: In response to a trigger operation on the second skill within the validity period of the first skill, the terminal performs a search based on the target position and acquires a target virtual object.

[0051] Among them, the second skill is used to interact with virtual objects. For example, the second skill is used to attack, heal, defend, etc. against virtual objects. In the embodiments of this application, the validity period of the first skill refers to the period from when the terminal controls the first virtual object and the first virtual object starts to move based on the first skill until the first virtual object stops moving based on the first skill. When the terminal detects a trigger operation on the second skill within the validity period of the first skill, the terminal performs a search based on the above-mentioned target position, sets the searched virtual object as the target virtual object, and then displays the target virtual object. That is, a search is performed based on the target position, and a target virtual object is acquired. Optionally, when the terminal displays the target virtual object, by marking the target virtual object as a selected state (selected state), the user can determine which virtual object is the currently selected virtual object. Among them, the selected state may be to highlight the virtual object, display a triangular mark above the head of the virtual object, display a light ring under the feet of the virtual object, etc., but the embodiments of this application do not limit this. That is, the terminal highlights the searched target virtual object. Among them, the terminal displays the target virtual object before searching for the target virtual object and highlights the target virtual object when the target virtual object is searched. Thereby, it can be notified to the user that the target virtual object has already been searched. For example, the highlighting is to highlight the virtual object, display a triangular mark above the head of the virtual object, display a light ring under the feet of the virtual object, etc.

[0052] 203: When the first virtual object reaches the target position, the terminal controls the first virtual object to release the second skill to the target virtual object.

[0053] In the embodiments of the present application, when the first virtual object reaches the target position, it indicates that the execution of the first skill has ended. The terminal controls the first virtual object to release the second skill at the target position, and the target of the second skill is the above-mentioned target virtual object.

[0054] Currently, in mobile MOBA games, in the process where the first virtual object moves based on a skill, when the user triggers an attack skill, the terminal searches based on the position of the first virtual object when the skill is triggered, sets the searched second virtual object as the target of the attack skill, and after the first virtual object finishes moving, it can control the first virtual object to release the attack skill to the searched second virtual object. However, in reality, what the user intends to attack may not be the second virtual object, but a certain virtual object in the vicinity when its movement ends. Therefore, the virtual object actually attacked may not match the target the user intends to attack, and the efficiency of human-machine interaction may decrease.

[0055] In the technical solution provided by the embodiments of the present application, when detecting a trigger operation for the second skill within the valid period of the first skill, by searching based on the target position indicated by the first skill, the target virtual object can be searched. Then, when the first virtual object finishes moving and reaches the target position, control the first virtual object to release the second skill to the target virtual object, and make the virtual object actually attacked match the virtual object the user intends to attack, thereby greatly improving the efficiency of human-machine interaction.

[0056] Figure 3 is a flowchart of another method for controlling a virtual object provided by an embodiment of the present application. As shown in Figure 3, in the embodiment of the present application, the description will be made by taking the execution by the terminal as an example. The method for controlling the virtual object includes the following steps.

[0057] 301: In response to a trigger operation on the first skill, the terminal controls the first virtual object to move to the target position, and the first skill is used to change the position of the first virtual object.

[0058] Among them, the target position is the position corresponding to the first skill, and the first skill is used to change the position of the first virtual object in the virtual scene. In the embodiment of the present application, the terminal displays a virtual scene, in which the first virtual object is displayed, and the first virtual object is a virtual object controlled by the user account logged in to the terminal. The first virtual object has two or more corresponding skills, among which the first skill is used to change the position of the virtual object in the virtual scene. Among them, the target position is the target position where the first virtual object moves based on the first skill. Optionally, the first skill is used to continuously change the position of the virtual object in the virtual scene. For example, it is a displacement skill. At this time, the terminal displays that the first virtual object is continuously moving in the virtual scene based on the first skill. Optionally, the first skill is used to change the position of the virtual object in the virtual scene only once. For example, it is a teleportation skill, a flash skill, etc. At this time, the terminal displays that the first virtual object disappears from the first position based on the first skill and then appears at the second position. Among them, the first position is the position of the first virtual object before the first skill becomes effective, and the second position is the position of the first virtual object after the first skill becomes effective.

[0059] In some embodiments, when the first virtual object is moving based on the first skill, it may encounter an obstacle that cannot be passed through. At this time, the terminal can determine the above-mentioned target position by modifying the end position of the first skill. Correspondingly, in response to a trigger operation on the first skill, the terminal displays the movement path corresponding to the first skill; and, in response to the presence of an obstacle that cannot be passed through in the movement path, the terminal modifies the end position of the movement path to obtain the above-mentioned target position. By modifying the end position of the movement path when there is an obstacle that cannot be passed through, it can be avoided that the determined target position does not match the actual position where the first virtual object is located.

[0060] For example, the first skill is a displacement skill, but the displacement skill cannot pass through the wall in the virtual scene. After the user triggers the first skill, the terminal displays the movement path of the first skill. In this case, the user can know how the first skill moves the first virtual object based on the movement path. If there is a wall in the movement path, the terminal modifies the end point of the movement path to one side of the wall close to the first virtual object, that is, the first virtual object does not move into the wall or pass through the wall and move to the other side of the wall based on the first skill, but can move to a position on one side of the wall close to the first virtual object.

[0061] That is, in response to a trigger operation for the first skill, a target position is determined on the movement path corresponding to the first skill, and the first virtual object is controlled to move to the target position. Among them, the movement path corresponding to the first skill is determined according to the trigger operation for the first skill. For example, a trigger option corresponding to the first skill is displayed on the terminal, and the trigger operation for the first skill is a drag operation on the trigger option. In this case, the terminal determines the movement path corresponding to the first skill based on the drag range of the drag operation. Also, for example, the terminal determines the end point position corresponding to the first skill based on the trigger operation for the first skill, and the terminal can determine the straight line between the current position of the first virtual object and the end point position as the movement path corresponding to the first skill.

[0062] As an option, in response to a trigger operation for the first skill, if there is an obstacle on the movement path, the target position is obtained by modifying the end point position of the movement path. Among them, the terminal modifies the end point position of the movement path and obtains the modified end point position. Thereby, there is no obstacle between the modified end point position and the current position of the first virtual object, and the terminal can determine the modified end point position as the target position. For example, if the movement path intersects with the obstacle, among the intersections of the movement path and the obstacle, the position of the intersection closest to the first virtual object can be determined as the modified end point position, that is, the target position.

[0063] As an option, in response to a trigger operation for the first skill, if there is no obstacle on the movement path, the end point position of the movement path is determined as the target position.

[0064] Among them, the obstacles can be further divided into obstacles that the virtual object can pass through and obstacles that the virtual object cannot pass through. In this case, when an obstacle that the virtual object cannot pass through exists on the movement path, the end position of the movement path is corrected to obtain a target position, so that there is no obstacle that the virtual object cannot pass through between the current position of the first virtual object and the target position. When an obstacle that the virtual object can pass through exists on the movement path or no obstacle exists on the movement path, the end position of the movement path is determined as the target position.

[0065] Optionally, in response to a trigger operation for the first skill, the movement path is displayed. Among them, when an obstacle exists on the movement path, correcting the end position of the movement path means modifying the movement path, which is equivalent to setting the end position of the modified movement path as the modified end position. In this case, the electronic device switches the currently displayed movement path to the modified movement path.

[0066] In some embodiments, in response to a first trigger operation for the first skill, for example, a pressing operation, the terminal displays a movement path corresponding to the first skill; the terminal updates the display position of the movement path based on a second operation for the first skill, for example, a dragging operation; and in response to the existence of an obstacle that cannot be passed through on the movement path, the terminal corrects the end position of the movement path, obtains a target position, and then displays a shortened movement path. Finally, the first virtual object is controlled to move along the shortened movement path to the target position. For example, there is no obstacle that cannot be passed through on the shortened movement path.

[0067] In some embodiments, when the first virtual object is moving based on the first skill, the destination position may be a position that the virtual object cannot reach, for example, a position inside a wall. At this time, the terminal can determine the above-mentioned target position by modifying the end position of the first skill. Correspondingly, in response to a trigger operation for the first skill, the terminal displays the end position corresponding to the first skill, and in response to the end position being a position that the virtual object cannot reach, the terminal modifies the end position to obtain the above-mentioned target position. By modifying the end position that the virtual object cannot reach, it can be avoided that the determined target position does not match the actual position where the first virtual object is located.

[0068] For example, if the first skill is a teleportation skill, but the virtual object cannot be teleported inside the wall, that is, the inside of the wall is a position that the virtual object cannot reach. After the user triggers the first skill, the terminal displays the end position of the first skill, and the user can change the end position by a drag operation. If the end position is finally inside the wall, the terminal modifies the end position and sets the position of the edge of the wall closest to the end position (near the wall surface) as the target position.

[0069] That is, in response to a trigger operation for the first skill, when the end position corresponding to the first skill is a position that the virtual object cannot reach, determine the target position and control the first virtual object to move to the target position. Among them, the target position is a position that the virtual object can reach.

[0070] Optionally, when the end position is a position that the virtual object cannot reach, modify the end position to obtain the target position. Among them, when the terminal modifies the end position so that the modified end position is a position that the virtual object can reach, the terminal determines the modified end position as the target position.

[0071] Optionally, in response to a trigger operation for the first skill, if the end position corresponding to the first skill is a position reachable by the virtual object, the terminal determines the end position as the target position. Since the first virtual object can reach the end position corresponding to the first skill, there is no need to modify the end position, and the end position can be directly determined as the target position.

[0072] Optionally, in response to a trigger operation for the first skill, the end position is displayed. Among them, if the end position is a position that the virtual object cannot reach, when the end position is modified to obtain the modified end position, the electronic device switches the currently displayed end position to the modified end position.

[0073] In some embodiments, when the first skill is used to move the first virtual object to the position of the second virtual object, the terminal updates the target position in real time based on the position of the second virtual object. By updating the target position in real time, the user can select an appropriate timing to release the second skill based on the position of the second virtual object, so as to achieve a better interactive effect and improve the efficiency of human-machine interaction. Optionally, since the first skill is used to move the first virtual object to the position of the second virtual object and the first virtual object needs to be moved to the target position in the embodiments of the present application, the terminal determines the position of the second virtual object as the target position. In this case, during the process of the second virtual object moving, the position of the second virtual object is updated in real time, and correspondingly, the target position is also updated in real time.

[0074] For example, the second virtual object is a teammate of the first virtual object, and the second skill is an area attack skill centered on the first virtual object. For example, at a certain moment, the second virtual object is fighting an enemy, and the first virtual object is teleported near the second virtual object by a teleportation skill. At this time, during the teleportation, the user can communicate with the teammate and control the teammate to move to a position where there are relatively many enemies. Then, after the user triggers the second skill and completes the teleportation of the first virtual object, the user can directly release the second skill.

[0075] 302: In response to a trigger operation on the second skill within the effective period of the first skill, the terminal determines a skill search range corresponding to the second skill with the target position as the search center.

[0076] Among them, the second skill is used to interact with virtual objects. In the embodiments of the present application, when the terminal detects a trigger operation on the second skill within the effective period of the first skill, the terminal searches for a virtual object that can be the target of releasing the second skill. During the search, the terminal determines a skill search range corresponding to the second skill with the target position as the search center. After determining the skill search range, the terminal displays the skill search range. Optionally, the skill search range is a circular area with a radius of N. Optionally, the skill search range is a circular area centered on the target position.

[0077] For example, as shown in FIG. 4, FIG. 4 is a diagram showing a skill search range provided according to an embodiment of the present application. FIG. 4 includes a first virtual object 401 and another virtual object 402. The dotted-line little person 403 in FIG. 4 represents the first virtual object after reaching the target position. The dotted-line area 404 is a circular area centered on the target position with a radius of N, and the dotted-line area 404 is the skill search range corresponding to the second skill.

[0078] In some embodiments, the second skill is a skill that is released after aiming. Correspondingly, the terminal displays a skill indication marker for the second skill in response to a trigger operation on the second skill within the valid period of the first skill, and the skill indication marker points from the target position to the position of the target virtual object. Optionally, the skill indication marker is further used to indicate the skill influence range of the second skill, and the target virtual object is within the skill influence range. By displaying the skill indication marker of the second skill, the user can determine the release direction of the second skill based on the skill indication marker, thereby preventing the second skill from being unable to affect the target virtual object.

[0079] In some embodiments, the terminal can further generate an alternative object corresponding to the first virtual object that is operated and controlled by the user within the valid period of the first skill. Correspondingly, the terminal generates an alternative object corresponding to the first virtual object at the target position, and the alternative object is an invisible object. Optionally, the alternative object has two attributes of position and orientation, but does not have an object model, animation, special effects, etc. Among them, the position of the alternative object is the target position. The terminal generates an alternative object corresponding to the first virtual object at the target position; the terminal determines the orientation of the alternative object based on the target position and the position of the target virtual object; and the terminal displays the skill indication marker of the second skill based on the orientation of the alternative object. By setting the alternative object, there is no need to change the display logic of the skill indication marker, and it is only necessary to temporarily change the virtual object for releasing the skill from the first virtual object to the alternative object.

[0080] That is, the terminal generates an alternative object corresponding to the first virtual object at the target position, determines the orientation of the alternative object based on the position of the target virtual object, and displays the skill indication identifier of the second skill based on the orientation of the alternative object. Among them, the terminal determines the direction pointing from the position of the alternative object to the position of the target virtual object as the orientation of the alternative object, and determines the orientation of the alternative object as the direction pointed by the skill indication identifier of the second skill, so that the skill indication identifier can point from the target position to the position of the target virtual object.

[0081] In some embodiments, the first skill can be interrupted, that is, the process in which the first virtual object moves based on the first skill is interrupted, and the first virtual object may not be able to move to the end position corresponding to the first skill based on the first skill. Correspondingly, when the movement process of the first virtual object is interrupted, the terminal determines the current position of the first virtual object as the target position. That is, the terminal updates the target position to the current position where the first virtual object is located.

[0082] Since the process in which the first virtual object moves is interrupted and the first virtual object cannot move to the original target position, when still searching for the target virtual object based on the original target position, the searched target virtual object may not match the user's expectation, or the target virtual object searched based on the original target position may not be located within the effective range of the second skill. Therefore, after the movement of the first virtual object is interrupted, by re-determining the target position according to the current position where the first virtual object is located, the terminal can search for the target virtual object based on the updated target position, so as to improve the accuracy of virtual object search, avoid the execution of invalid operations by the user, and be beneficial to improving the efficiency of human-machine interaction.

[0083] In some embodiments, when a trigger operation for a second skill is detected within the valid period of a first skill and the movement process of a first virtual object is interrupted, the terminal cancels the execution of the second skill and sets the second skill to an untriggered state. By setting the second skill to an untriggered state when the first skill is interrupted, it can be avoided that the release of the second skill fails to meet the user's expectations because the second skill is not executed when the first virtual object cannot reach the target position as expected by the user.

[0084] In some embodiments, the terminal determines and displays the skill influence range of the second skill based on the distance that the user drags the trigger option of the second skill and the target position. Correspondingly, the terminal obtains the first screen position and the second screen position during the drag operation on the trigger option of the second skill, where the first screen position is the start position and the second screen position is the end position. The terminal determines first position information based on the first screen position, the second screen position, and a third screen position corresponding to the center of the screen. The first position information indicates the direction of the center position of the skill influence range with respect to the target position. Then, the terminal determines second position information based on the first screen position, the second screen position, the drag range information of the trigger option of the second skill, and the skill range information of the second skill. The second position information indicates the distance between the center position of the skill influence range and the target position. Finally, the terminal determines the center position of the corresponding skill influence range within the virtual scene of the second skill based on the target position, the first position information, and the second position information. The terminal determines the skill influence range corresponding to the second skill based on the center position and the skill range information of the second skill. Among them, the skill range information includes a skill range parameter and a skill influence range parameter. By mapping the change from the first screen position to the second screen position to the change from the target position to the center position of the influence range within the virtual scene, the center position of the skill influence range can be the position expected by the user of the terminal, thereby improving the efficiency of human-machine interaction.

[0085] Note that the terminal can represent the proportional relationship between the distances between positions by the following formula (1).

[0086]

Number

[0087] Based on the above proportional relationship, the terminal can adopt the method of central mapping to map the third screen position corresponding to the screen center (0, 0) to the virtual scene, thereby obtaining the first scene position. Then, determine the distance difference between the coordinates of the first screen position and the coordinates of the second screen position, and map the sum of the coordinates of the screen center and the distance difference to the virtual scene, thereby obtaining the second scene position. The direction in which the first scene position points to the second scene position is the same as the direction in which the target scene position points to the center position of the skill influence range. Therefore, the center position of the skill influence range can be obtained by calculating based on the following formula (2).

[0088]

Number

[0089] In some embodiments, the terminal searches for a target virtual object based on a target position by means of a search tree. Referring to FIG. 5, FIG. 5 is a diagram showing the configuration of a class diagram of the search tree provided by an embodiment of the present application. As shown in FIG. 5, all nodes in the search tree inherit from the class BaseSelector, and BaseSelector has three core derived subclasses, namely, LinkedSelector, BranchSelector, and PrioritySelector. BaseSelector mainly includes two methods, namely, Configure() and Select(). Among them, Configure() is used to initialize the data of each selector using the table data set by the engineer. For example, BranchSelector needs to set a plurality of branches. In this case, the data set by Configure() is the ids of several BranchSelectors. Also, for example, the subclass ShapeFilter of LinkedSelector needs to set parameters such as a shape field, for example, a circle, a sector, the radius of the circle, the angle of the sector, etc. The Select() function has input parameters of type List <battleactor>That is, it is a list in which virtual objects are stored, and the return parameter is BattleActor, that is, a virtual object.

[0090] Next, the three core derived classes of BaseSelector will be introduced respectively.

[0091] LinkSelector: It has one next parameter as the core, which represents the next one filter and is used to form a chain structure. The next parameter has many subclasses, and many subclasses are basically Filter, that is, filters. They mainly delete BattleActors whose conditions are not met from the parameters in the Select function, and the List from which BattleActors have been deleted <battleactor>It is used to pass to the following single Selector. In this way, selection for virtual objects can be realized. For example, in the case of ShapeFilter, necessary shapes and parameters are set by Configure, and a parameter List is passed by the Select function <battleactor>When determining one by one whether the virtual objects in [[]] are within the shape range, ShapeFilter can delete the virtual objects that are not within the shape range from the list. The same applies to other Filters. For example, in the case of BuffTypeFilter, it can delete the virtual objects that include a certain type of additional state, such as the stealth state, the unselectable state, etc. In the case of IDFilter, it deletes the virtual objects that include a certain skill label and is used to handle the situation where a certain skill cannot attack the enemy for the second time. In addition to these filters, there are many other filters, but the detailed description is omitted here. Among them, the shape range refers to a shape that meets the predetermined requirements, and the virtual objects that are not within the shape range refer to the virtual objects whose shapes do not meet the requirements corresponding to the shape range. Since the shapes corresponding to different types of virtual objects are different, by selecting virtual objects according to the shape range, selection can be performed on virtual objects of a predetermined type.

[0092] BranchSelector: Its main function is used to process the priorities of multiple conditions. Several Selector IDs are set in the configuration table, and in the Configure function, the member variable selectors can be initialized based on the set Selector ID, and in the Select function, the parameter List <battleactor>Temporarily store the virtual objects in first, and then, using each BaseSelector in selectors, the temporarily stored List <battleactor>Call the Select function with the parameter and determine if there is a return BattleActor. If there is a return BattleActor, it means that there is already one BattleActor that satisfies the target condition. Also, if it is within the target search range or can be hit by a skill, etc., there is no need to traverse the subsequent selectors. If there is no return BattleActor, perform the same processing using the BaseSelector in the next selector.

[0093] PrioritySelector: With this selector, the filtered List <battleactor>It is possible to rearrange and select an appropriate BattleActor. The engineer can set hit conditions on the table, such as the priority of HP (Hit Point), the priority of distance, the priority of percentage HP, the priority of distance from the FocusPoint, etc., and allow the user of the terminal to select the hit conditions. In the Select function, based on the set hit conditions, a List of parameters <battleactor>Perform sorting on it, return the first one in the list, and return NULL if the list is empty.

[0094] By setting search logics with different complexities for different virtual objects and different skills through a search tree, the user of the terminal can quickly and accurately select the desired virtual object with a relatively low operation cost, so that the efficiency of human-machine interaction can be improved. In particular, for some skills with special mechanisms, such as skills that can be reused after defeating virtual objects of the opposing camp, the method provided by the embodiments of the present application can increase the success rate of skill reuse and improve the efficiency of human-machine interaction, thus bringing an excellent user experience to the user and improving the playability of the game.

[0095] 303: The terminal displays the target virtual object within the skill search range, and the target virtual object is obtained by performing a search based on the target position.

[0096] The terminal performs a search within the skill search range to obtain the target virtual object. Among them, the terminal searches for virtual objects within the skill search range and determines the searched virtual object as the target virtual object.

[0097] In the embodiments of the present application, after the terminal determines the target virtual object based on the target position, the terminal can display the target virtual object. Optionally, if the user is not satisfied with the target virtual object, the user can further change the target virtual object by dragging the trigger option of the second skill. Changing the target virtual object is equivalent to re-searching for the virtual object. For the search process of the virtual object, reference can be made to the mechanism of the search tree in step 302 above, and the detailed description thereof is omitted here.

[0098] Optionally, before the terminal determines the target virtual object, if the target virtual object has already been displayed, after the terminal searches within the skill search range to obtain the target virtual object, the terminal can perform a highlighting operation on the target virtual object within the skill search range.

[0099] 304: When the first virtual object reaches the target position, the terminal controls the first virtual object to release the second skill to the target virtual object.

[0100] In the embodiments of the present application, when the first virtual object successfully reaches the above-mentioned target position, the terminal controls the first virtual object to release the second skill with the above-mentioned target virtual object as the target of the skill.

[0101] In order to more easily understand the method for controlling a virtual object described in the above steps 301 to 304, refer to FIG. 6, which is a diagram showing the method for controlling a virtual object provided by an embodiment of the present application. As shown in FIG. 6, the virtual scene includes a first virtual object 601, a third virtual object 602, and a fourth virtual object 603. The position where the virtual object represented by the dotted line is located indicates the destination position of the first virtual object 601. (a) in FIG. 6 shows the state before the movement of the first virtual object 601, (b) in FIG. 6 shows the state during the movement of the first virtual object 601, and (c) in FIG. 6 shows the state after the movement of the first virtual object 601. In the process of the first virtual object 601 moving from the position where the first virtual object 601 is located in FIG. 6(a) to the position where the first virtual object 601 is located in FIG. 6(c) (i.e., the target position), when the user triggers a second skill, in the related art, the terminal searches for a target virtual object based on the current position of the first virtual object 601, that is, it can search for a virtual object to be attacked based on the position corresponding to the first virtual object 601. At this time, since the third virtual object 602 is the closest to the first virtual object 601, it becomes the virtual object to be attacked by the first virtual object 601. After the movement of the first virtual object 601 ends, the first virtual object 601 is controlled to attack the third virtual object 602. In this way, the first virtual object 601 needs to get closer to the third virtual object 602 in order to attack the third virtual object 602. In contrast, in the technical solution provided by the embodiment of the present application, a search is performed centered on the target position where the first virtual object 601 is located after the movement ends, and the fourth virtual object 603 closer to the target position is used as the virtual object to be attacked. In this way, the first virtual object 601 can directly attack the fourth virtual object 603 immediately after the movement ends.

[0102] Note that the above steps 301 to 304 are selectable implementation methods of the virtual object control method provided by the embodiments of the present application. In addition, the terminal can also adopt other methods to implement the virtual object control method.

[0103] For example, regarding the search process of the target virtual object in the virtual object control method, referring to FIG. 7, FIG. 7 is a flowchart of enemy search provided by the embodiments of the present application. As shown in FIG. 7, the search for the target virtual object is abbreviated as enemy search. The first virtual object is the player object, the first skill is skill A, and the second skill is skill B. Among them, skill B becomes effective after the end of skill A. The following steps are included, that is, 701: The terminal detects that the user clicks skill B; 702: Determine whether the player object is within the valid period of skill A. If not, execute 703. If so, execute 704; 703: Skill B performs enemy search based on the position of the player object; 704: Determine whether skill B becomes effective after the end of skill A. If not, execute 703. If so, execute 705; 705: Skill B performs enemy search from the end point position of skill A.

[0104] In the technical solution provided by the embodiments of the present application, when a trigger operation on the second skill is detected during the valid period of the first skill, the target virtual object can be searched by performing a search based on the target position indicated by the first skill. Then, when the first virtual object finishes moving and reaches the target position, the first virtual object is controlled to release the second skill to the target virtual object, so that the virtual object actually attacked coincides with the virtual object the user intends to attack, thereby greatly improving the efficiency of human-machine interaction.

[0105] FIG. 8 is a block diagram of a control device for a virtual object provided according to an embodiment of the present application. The device is used to execute the steps in the above-mentioned control method for a virtual object. As shown in FIG. 8, the device includes a first control module 801, a first display module 802, and a second control module 803.

[0106] The first control module 801: is used to control the first virtual object to move to a target position in response to a trigger operation on a first skill, and the first skill is used to change the position of the first virtual object; The first display module 802: is used to perform a search based on the target position in response to a trigger operation on a second skill within the effective period of the first skill, and obtain a target virtual object; The second control module 803: is used to control the first virtual object to release the second skill to the target virtual object when the first virtual object reaches the target position.

[0107] In some embodiments, the first display module 801 is used to perform a highlighted display on the searched target virtual object.

[0108] In some embodiments, the first display module 801 determines a target position on a movement path corresponding to the first skill in response to a trigger operation on the first skill; and is used to control the first virtual object to move to the target position.

[0109] In some embodiments, the first display module 801 is used to correct an end point position of the movement path and obtain the target position when there are obstacles on the movement path in response to a trigger operation on the first skill.

[0110] In some embodiments, the first display module 801 is used to display a movement path in response to a trigger operation for the first skill.

[0111] In some embodiments, when the end point position corresponding to the first skill is a position where the virtual object cannot reach in response to a trigger operation for the first skill, the first display module 801 determines a target position, where the target position is a position where the virtual object can reach; and is used to control the first virtual object to move to the target position.

[0112] In some embodiments, when the end point position is a position where the virtual object cannot reach, the first display module 801 is used to modify the end point position to obtain a target position.

[0113] In some embodiments, the first display module 801 is used to display the end point position in response to a trigger operation for the first skill.

[0114] In some embodiments, in response to a trigger operation for a second skill within the validity period of the first skill, the first display module 801 determines a skill search range corresponding to the second skill with the target position as the search center; and is used to perform a search within the skill search range to obtain the target virtual object.

[0115] In some embodiments, the first display module 801 is used to display the skill search range.

[0116] In some embodiments, referring to FIG. 9, FIG. 9 is a block diagram of another virtual object control device provided by an embodiment of the present application, and the device further includes the following.

[0117] Second display module 804: It is used to display the skill indication label of the second skill in response to a trigger operation on the second skill within the validity period of the first skill. The skill indication label points from the target position to the position of the target virtual object.

[0118] In some embodiments, the second display module 804 generates an alternative object corresponding to the first virtual object at the target position. The alternative object is an invisible object; based on the position of the target virtual object, it determines the orientation of the alternative object; and based on the orientation of the alternative object, it is used to display the skill indication label of the second skill.

[0119] In some embodiments, as shown in FIG. 9, the apparatus further includes the following.

[0120] Decision module 805: It is used to update the target position to the current position where the first virtual object is located when the movement process of the first virtual object is interrupted.

[0121] In some embodiments, as shown in FIG. 9, the apparatus further includes the following.

[0122] Update module 806: When the first skill is used to move the first virtual object to the position of the second virtual object, it is used to update the target position in real time based on the position of the second virtual object.

[0123] In the technical solution provided by the embodiments of the present application, when a trigger operation on a second skill is detected within the valid period of a first skill, a search is performed based on the target position indicated by the first skill, so that a target virtual object can be searched. Then, when the first virtual object finishes moving and reaches the target position, the first virtual object is controlled to release the second skill to the target virtual object, and by making the virtual object actually attacked match the virtual object that the user intends to attack, the efficiency of human-machine interaction can be significantly improved.

[0124] It should be noted that when the virtual object control device provided by the above embodiments controls the virtual object, the division of each of the above function modules is used as an example for description. However, when actually applied, the above functions can be divided into different function modules according to needs and completed. That is, by dividing the internal structure of the device into different function modules, all or part of the above functions can also be completed. In addition, since the virtual object control device provided by the above embodiments belongs to the same concept as the embodiment of the virtual object control method, the specific implementation process thereof can refer to the embodiment of the method, and the detailed description thereof is omitted here.

[0125] FIG. 10 is a block diagram showing the configuration of a terminal provided by the embodiments of the present application. The terminal 1000 may be a portable mobile terminal, for example, a smart phone, a tablet computer, an MP3 (Moving Picture Experts Group Audio Layer III) player, an MP4 (Moving Picture Experts Group Audio Layer IV) player, a notebook computer or a desktop computer. The terminal 1000 may also be called by other names such as a user device, a portable terminal, a laptop terminal, a desktop terminal, etc.

[0126] The terminal 1000 usually includes a processor 1001 and a memory 1002.

[0127] The processor 1001 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. The processor 1001 may be implemented in the form of at least one of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 1001 may include a main processor and a coprocessor. The main processor is a processor for processing data in the wake-up state and is also referred to as a CPU (Central Processing Unit). The coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 1001 may be integrated with a GPU (Graphics Processing Unit), and the GPU is used to render and draw the content that needs to be displayed on the display screen. In some embodiments, the processor 1001 may further be an AI (Artificial Intelligence) processor, and the AI processor is used to process the computational operations related to machine learning.

[0128] The storage 1002 may include one or more computer readable storage media, which may be non-transitory. The storage 1002 may further include high speed random access memory, and non-volatile memory, such as one or more magnetic storage devices, flash memory. In some embodiments, the non-transitory computer readable storage medium of the storage 1002 is used to store at least one computer program, which is executed by the processor 1001 to realize the method for controlling a virtual object provided by the method embodiment of the present application.

[0129] In some embodiments, the terminal 1000 may optionally further include a peripheral device interface 1003 and at least one peripheral device. The processor 1001, the memory 1002, and the peripheral device interface 1003 may be connected by a bus or signal lines. Each peripheral device may be connected to the peripheral device interface 1003 via a bus, signal lines, or a circuit board. Optionally, the peripheral device includes at least one of an RF circuit 1004 and a display screen 1005.

[0130] The peripheral device interface 1003 is an I / O (Input 10. The processor 1001 may be used to connect at least one peripheral device related to a peripheral interface (input / output, input / output) to the processor 1001 and the memory 1002. In some embodiments, the processor 1001, the memory 1002 and the peripheral device interface 1003 may be integrated on the same chip or circuit board, and in some other embodiments, any one or two of the processor 1001, the memory 1002 and the peripheral device interface 1003 may be implemented on a single chip or circuit board, and this embodiment is not limited in this respect.

[0131] The RF circuit 1004 is used to receive and transmit RF (Radio Frequency) signals (also referred to as electromagnetic signals). The RF circuit 1004 can communicate with a communication network and other communication devices via electromagnetic signals. The RF circuit 1004 can convert an electrical signal into an electromagnetic signal for transmission, or convert a received electromagnetic signal into an electrical signal. Optionally, the RF circuit 1004 may include an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identification module card, etc. The RF circuit 1004 can communicate with other terminals via at least one wireless communication protocol. The wireless communication protocol may include, but is not limited to, the Internet, a metropolitan area network, an intranet, each generation of mobile communication network (2G, 3G, 4G, and 5G), a wireless local area network, and / or a WiFi (Wireless Fidelity) network. In some embodiments, the RF circuit 1004 may further include a circuit related to NFC (Near Field Communication), but the present application does not limit this.

[0132] The display screen 1005 is used to display a UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen 1005 is a touch panel, the display screen 1005 further has the ability to collect touch signals on or above the surface of the display screen 1005. The touch signals can be input to and processed by the processor 1001 as control signals. At this time, the display screen 1005 is further 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 display screen 1005 installed on the front plate of the terminal 1000. In some other embodiments, there may be at least two display screens 1005 installed on different surfaces of the terminal 1000 respectively, or designed to be foldable. In other embodiments, the display screen 1005 may be a flexible display screen installed on the curved surface or folding surface of the terminal 1000. Furthermore, the display screen 1005 may be installed as a non-rectangular irregular figure, that is, a screen with a special shape. Also, the display screen 1005 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).

[0133] In some embodiments, the terminal 1000 may further include one or more sensors 1006. The one or more sensors 1006 may include, but are not limited to, an acceleration sensor 1007 and a gyroscope sensor 1008.

[0134] The acceleration sensor 1007 can detect the magnitudes of the accelerations on the three coordinate axes of the coordinate system established by the terminal 1000. For example, the acceleration sensor 1007 can detect the components of the gravitational acceleration on the three coordinate axes. The processor 1001 can control the display screen 1005 to display the user interface in a landscape view or a portrait view based on the gravitational acceleration signal collected by the acceleration sensor 1007. The acceleration sensor 1007 can also be used for collecting game or user movement data.

[0135] The gyroscope sensor 1008 can detect the direction and rotation angle of the main body of the terminal 1000, and the gyroscope sensor 1008 can cooperate with the acceleration sensor 1007 to collect 3D motions of the user with respect to the terminal 1000. The processor 1001 can implement the following functions based on the data collected by the gyroscope sensor 1008, that is, motion sensing (for example, changing the UI based on the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.

[0136] Those skilled in the art should understand that the configuration shown in FIG. 10 does not limit the terminal 1000, and more or fewer components than shown, or a combination of some components, or a different component layout may be adopted.

[0137] According to another aspect, the embodiments of the present application further provide a computer device, which includes a processor and a memory. The memory is used for storing at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the following operations.

[0138] In response to a trigger operation on the first skill, control is performed such that the first virtual object moves to a target position, and the first skill is used to change the position of the first virtual object; and, in response to a trigger operation on the second skill within the valid period of the first skill, a search is performed based on the target position to obtain a target virtual object; and, when the first virtual object reaches the target position, control is performed such that the first virtual object releases the second skill to the target virtual object.

[0139] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, highlighting the searched target virtual object.

[0140] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, in response to a trigger operation on the first skill, determining a target position on the movement path corresponding to the first skill; and controlling the first virtual object to move to the target position.

[0141] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, in response to a trigger operation on the first skill, when there is an obstacle on the movement path, modifying the end position of the movement path and obtaining the target position.

[0142] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, in response to a trigger operation on the first skill, displaying the movement path.

[0143] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for a first skill, when the end position corresponding to the first skill is a position that cannot be reached by the virtual object, a target position is determined, and the target position is a position that can be reached by the virtual object; and the first virtual object is controlled to move to the target position.

[0144] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, when the end position is a position that cannot be reached by the virtual object, the end position is corrected and a target position is obtained.

[0145] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for a first skill, the end position is displayed.

[0146] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for a second skill within the validity period of the first skill, a skill search range corresponding to the second skill is determined with the target position as the center of search; and a search is performed within the skill search range to obtain a target virtual object.

[0147] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, the skill search range is displayed.

[0148] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation on a second skill within the valid period of a first skill, a skill indication label of the second skill is displayed, and the skill indication label points from a target position to the position of a target virtual object.

[0149] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, an alternative object corresponding to a first virtual object is generated at a target position, the alternative object is an invisible object; based on the position of the target virtual object, the orientation of the alternative object is determined; and based on the orientation of the alternative object, a skill indication label of the second skill is displayed.

[0150] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, when the movement process of the first virtual object is interrupted, the target position is updated to the current position where the first virtual object is located.

[0151] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, when the first skill is used to move the first virtual object to the position of the second virtual object, the target position is updated in real time based on the position of the second virtual object.

[0152] Embodiments of the present application further provide a computer-readable storage medium. 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), magnetic tape, a Floppy Disk, and an optical data storage device, etc. At least one computer program is stored in the computer-readable storage medium. The at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, in response to a trigger operation on a first skill, control a first virtual object to move to a target position, where the first skill is used to change the position of the first virtual object; in response to a trigger operation on a second skill within the valid period of the first skill, perform a search based on the target position to obtain a target virtual object; and when the first virtual object reaches the target position, control the first virtual object to release the second skill to the target virtual object.

[0153] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, highlight the searched target virtual object.

[0154] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, in response to a trigger operation on a first skill, determine a target position on the movement path corresponding to the first skill; and control the first virtual object to move to the target position.

[0155] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for the first skill, when there is an obstacle in the movement path, the end position of the movement path is corrected and the target position is obtained.

[0156] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for the first skill, the movement path is displayed.

[0157] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for the first skill, when the end position corresponding to the first skill is a position where the virtual object cannot reach, the target position is determined, and the target position is a position where the virtual object can reach; and the first virtual object is controlled to move to the target position.

[0158] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, when the end position is a position where the virtual object cannot reach, the end position is corrected and the target position is obtained.

[0159] In some embodiments, the at least one computer program is loaded and executed by a processor and used to implement the following operations, that is, in response to a trigger operation for the first skill, the end position is displayed.

[0160] In some embodiments, the at least one computer program is loaded and executed by a processor to be used for realizing the following operations, that is, in response to a trigger operation on a second skill within the valid period of a first skill, with the target position as the exploration center, determining a skill exploration range corresponding to the second skill; and performing exploration within the skill exploration range to obtain a target virtual object.

[0161] In some embodiments, the at least one computer program is loaded and executed by a processor to be used for realizing the following operation, that is, displaying the skill exploration range.

[0162] In some embodiments, the at least one computer program is loaded and executed by a processor to be used for realizing the following operations, that is, in response to a trigger operation on a second skill within the valid period of a first skill, displaying a skill indication label of the second skill, and the skill indication label points from the target position to the position of the target virtual object.

[0163] In some embodiments, the at least one computer program is loaded and executed by a processor to be used for realizing the following operations, that is, generating an alternative object corresponding to a first virtual object at the target position, the alternative object being an invisible object; determining the orientation of the alternative object based on the position of the target virtual object; and displaying the skill indication label of the second skill based on the orientation of the alternative object.

[0164] In some embodiments, the at least one computer program is loaded and executed by a processor to be used for realizing the following operation, that is, when the movement process of the first virtual object is interrupted, updating the target position to the current position where the first virtual object is located.

[0165] In some embodiments, the at least one computer program is loaded and executed by a processor and is used to implement the following operations, that is, when a first skill is used to move a first virtual object to the position of a second virtual object, based on the position of the second virtual object, the target position is updated in real time.

[0166] Embodiments of the present application further provide a computer program product, which includes computer program code, and the computer program code is stored in a computer-readable storage medium. When a processor of a computer device reads the computer program code from the computer-readable storage medium and the processor executes the computer program code, the computer device is caused to execute a method for controlling a virtual object provided by the above various selectable implementation manners.

[0167] It should be understood by those skilled in the art that all or some of the steps of the above embodiments may be completed by hardware, or may be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. Also, the storage medium described above may be a read-only memory, a magnetic disk, an optical disk, etc.

[0168] The preferred embodiments of the present application have been described above. However, the present application is not limited to these embodiments. Without departing from the spirit of the present application, any changes to the present application belong to the technical scope of the present application.< / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor> < / battleactor>

Claims

1. A method for controlling a virtual object executed by a computer device, comprising: Controlling, in response to a trigger operation for a first skill, a first virtual object to move to a target position, wherein the first skill is used to change the position of the first virtual object; Performing a search based on the target position and obtaining a target virtual object in response to a trigger operation for a second skill within the valid period of the first skill; and Highlighting the searched target virtual object, wherein the valid period of the first skill refers to the period from when the first virtual object starts to move based on the first skill by controlling the first virtual object until the first virtual object stops moving based on the first skill. A method for controlling a virtual object.

2. The method for controlling a virtual object according to claim 1, further comprising: When the first virtual object reaches the target position, controlling the first virtual object to release the second skill to the target virtual object. A method for controlling a virtual object.

3. The method for controlling a virtual object according to claim 1, wherein the step of controlling the first virtual object to move to the target position in response to a trigger operation for the first skill comprises: Determining the target position on the movement path corresponding to the first skill in response to a trigger operation for the first skill; and Controlling the first virtual object to move to the target position. A method for controlling a virtual object.

4. The method for controlling a virtual object according to claim 3, wherein the step of determining the target position on the movement path corresponding to the first skill in response to a trigger operation for the first skill comprises: When an obstacle exists on the movement path in response to a trigger operation for the first skill, modifying the end position of the movement path and obtaining the target position. A method for controlling a virtual object.

5. The method for controlling a virtual object according to claim 3, further comprising: Displaying the movement path in response to a trigger operation for the first skill. A method for controlling a virtual object.

6. The method for controlling a virtual object according to claim 1, wherein: The control step of moving the first virtual object to the target position in response to a trigger operation for the first skill is: The step of determining the target position when the end point position corresponding to the first skill is a position that the virtual object cannot reach in response to a trigger operation for the first skill, wherein the target position is a position that the virtual object can reach; and A method for controlling a virtual object, comprising the step of controlling the first virtual object to move to the target position.

7. The method for controlling a virtual object according to claim 6, wherein: When the end point position corresponding to the first skill is a position that the virtual object cannot reach, the step of determining the target position is: A method for controlling a virtual object, comprising the step of correcting the end point position and obtaining the target position when the end point position is a position that the virtual object cannot reach.

8. The method for controlling a virtual object according to claim 6, further comprising: A method for controlling a virtual object, comprising the step of displaying the end point position in response to a trigger operation for the first skill.

9. The method for controlling a virtual object according to claim 1, wherein: The step of performing a search based on the target position and obtaining a target virtual object in response to a trigger operation for a second skill within the valid period of the first skill is: The step of determining a skill search range corresponding to the second skill with the target position as the center of the search in response to a trigger operation for the second skill within the valid period of the first skill; and A method for controlling a virtual object, comprising the step of performing a search within the skill search range and obtaining the target virtual object.

10. The method for controlling a virtual object according to claim 9, further comprising: A method for controlling a virtual object, comprising the step of displaying the skill search range.

11. The method for controlling a virtual object according to any one of claims 1 to 10, further comprising: A step of displaying a skill indication label for the second skill in response to a trigger operation on the second skill within the valid period of the first skill, wherein the skill indication label points from the target position to the position of the target virtual object, including the step of a control method for a virtual object.

12. A control method for a virtual object according to claim 11, wherein The step of displaying the skill indication label for the second skill Is a step of generating an alternative object corresponding to the first virtual object at the target position, wherein the alternative object is an invisible object; A step of determining the orientation of the alternative object based on the position of the target virtual object; and A control method for a virtual object including a step of displaying a skill indication label for the second skill based on the orientation of the alternative object.

13. A control method for a virtual object according to any one of claims 1 to 10, further comprising A step of updating the target position to the current position where the first virtual object is located when the movement process of the first virtual object is interrupted, including the control method of the virtual object.

14. A control method for a virtual object according to any one of claims 1 to 10, further comprising When the first skill is used to move the first virtual object to the position of the second virtual object, a step of updating the target position in real time based on the position of the second virtual object, including the control method of the virtual object.

15. A control method for a virtual object according to claim 1, wherein The highlighting includes any one of highlighting the virtual object, displaying a triangular label above the head of the virtual object, and displaying a light ring under the feet of the virtual object, including the control method of the virtual object.

16. A control method for a virtual object according to any one of claims 1 to 10, wherein The target position is the target position where the first virtual object moves based on the first skill, including the control method of the virtual object.

17. A control device for a virtual object, A first control module for controlling a first virtual object to move to a target position in response to a trigger operation for a first skill, wherein the first skill is used to change the position of the first virtual object; and including a first display module for performing a search based on the target position and acquiring a target virtual object in response to a trigger operation for a second skill during the validity period of the first skill, the first display module is further used to perform a highlighting display on the searched target virtual object, The validity period of the first skill refers to the period from when the first virtual object is controlled to start moving based on the first skill until the first virtual object stops moving based on the first skill, a control device for virtual objects.

18. A control device for a virtual object according to claim 17, further comprising a second control module for controlling the first virtual object to release the second skill to the target virtual object when the first virtual object reaches the target position, a control device for virtual objects.

19. A computer device, a processor; and a memory connected to the processor, wherein a computer program is stored in the memory, the processor is configured to realize the control method of a virtual object according to any one of claims 1 to 16 by executing the computer program, a computer device.

20. A program for causing a computer to execute the control method of a virtual object according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Information processing method, information processing device, electronic equipment and storage medium

    CN107193479A

  • Method for controlling virtual object to attack, terminal and storage medium

    CN110694261A

  • JPP7355948B

  • Gaming device and recording medium

    US20120184368A1