Virtual object control method and apparatus, device, and storage medium

By receiving skill release operations during the displacement of virtual objects and releasing the skill at the endpoint, the problem of inaccurate skill output caused by users' inability to accurately judge the position is solved, thereby improving the accuracy of skill release and the efficiency of human-computer interaction.

WO2026016646A1PCT designated stage Publication Date: 2026-01-22TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/097916
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-19
Filing Date
2025-05-29
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

During the displacement process, users cannot accurately judge the position of virtual objects, resulting in inaccurate skill output, which affects the efficiency of human-computer interaction and user experience.

Method used

During the displacement of the virtual object, a skill release operation is received, and the skill is released when the object moves to the predetermined endpoint. By storing the data during the displacement process and the skill release operation data, the skill release is ensured to be calculated based on the endpoint position.

Benefits of technology

It improves the accuracy of skill release, enhances human-computer interaction efficiency and user game satisfaction, and ensures that skill release meets user expectations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025097916_22012026_PF_FP_ABST
    Figure CN2025097916_22012026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers, and discloses a virtual object control method and apparatus, a device, and a storage medium. The method comprises: displaying a virtual scene, the virtual scene comprising a virtual object (610); in response to a movement operation for the virtual object, controlling the virtual object to move in the virtual scene, wherein the movement operation is used for moving the virtual object from a first position to a second position in the virtual scene (620); during the movement, receiving a first skill casting operation for the virtual object, wherein the first skill casting operation is used for controlling the virtual object to cast a directional first skill, and the first skill casting operation is received when the virtual object moves to a third position in the virtual scene (630); and controlling the virtual object to cast the first skill on the basis of the second position (640). On the basis of an end position of the movement and an input operation during the movement, an output is calculated, thereby improving the accuracy of skill casting.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, devices, equipment, and storage media for controlling virtual objects

[0001] This application claims priority to Chinese Patent Application No. 202410973499.8, filed on July 19, 2024, entitled "Control Method, Apparatus, Device and Storage Medium for Virtual Objects", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of computer technology, and in particular to a method, apparatus, device, and storage medium for controlling virtual objects. Background Technology

[0003] Displacement skills refer to skills in games that cause the player's main character or related characters to change their absolute position in the game's coordinate system.

[0004] In related technologies, a caching mechanism is set up during the displacement process. During the displacement process, the game character receives the skill release operation input by the user and obtains the position of the game character when the skill release operation is received. When the game character reaches the displacement endpoint, the skill is released based on the skill release operation input during the displacement process and the position of the game character when the skill release operation is received.

[0005] However, due to the high speed of the movement, users cannot accurately judge the position of the game character when inputting the action, resulting in the output skill not being the skill the user expects to release, thus leading to inaccurate skill output. Summary of the Invention

[0006] This application provides a method, apparatus, device, and storage medium for controlling virtual objects, improving the accuracy of skill release and enhancing human-computer interaction efficiency. The technical solution provided by this application is as follows:

[0007] According to one aspect of the embodiments of this application, a method for controlling a virtual object is provided, the method being executed by a terminal device, the method comprising:

[0008] Display a virtual scene, which includes virtual objects;

[0009] In response to a displacement operation on the virtual object, the virtual object is controlled to move in the virtual scene, the displacement operation being used to implement the movement process of moving the virtual object from a first position to a second position in the virtual scene;

[0010] During the movement, a first skill release operation is received for the virtual object. The first skill release operation is used to control the virtual object to release a directional first skill. The first skill release operation is received when the virtual object moves to a third position in the virtual scene. The third position is any position of the virtual object during the movement process from the first position in the virtual scene to the second position.

[0011] Control the virtual object to release the first skill based on the second location.

[0012] According to one aspect of the embodiments of this application, a control device for a virtual object is provided, the device comprising:

[0013] An object display module is used to display a virtual scene, which includes virtual objects;

[0014] A movement control module is used to control the virtual object to move in the virtual scene in response to a displacement operation on the virtual object, wherein the displacement operation is used to realize the movement process of moving the virtual object from a first position to a second position in the virtual scene;

[0015] An operation receiving module is used to receive a first skill release operation for the virtual object during the movement process. The first skill release operation is used to control the virtual object to release a directional first skill. The first skill release operation is received when the virtual object moves to a third position in the virtual scene. The third position is any position of the virtual object during the movement process from the first position in the virtual scene to the second position.

[0016] A skill control module is used to control the virtual object to release the first skill based on the second position.

[0017] According to one aspect of the embodiments of this application, a terminal device is provided, the terminal device including a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the above-described virtual object control method.

[0018] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, the computer program being loaded and executed by a processor to implement the above-described method for controlling virtual objects.

[0019] According to one aspect of the embodiments of this application, a computer program product is provided, the computer program product including a computer program, the computer program being loaded and executed by a processor to implement the above-described method for controlling virtual objects.

[0020] The technical solution provided in this application can bring the following beneficial effects:

[0021] This paper presents a method to optimize skill release during the movement of a virtual object. By controlling the displacement of the virtual object, it moves from a first position to a second position in the virtual scene. During this movement, when the virtual object reaches a third position, a first skill release operation can be received, allowing the virtual object to release the first skill based on the second position. Since the second position is the endpoint of the movement, and the first skill release operation is an input operation during the movement, this method of controlling the virtual object to release the first skill based on the second position calculates the output based on the endpoint of the movement and the input operation during the movement, thus releasing the first skill based on the second position. On the one hand, this ensures that the user does not need to accurately determine the virtual object's position when performing the input operation, achieving the desired skill release based on the endpoint of the movement. On the other hand, compared to related technologies where the output is calculated based on the position at the time of the input operation and the input operation during the movement, leading to inaccurate skill output, this method calculates the output based on the endpoint of the movement, improving the accuracy of skill release and thus enhancing human-computer interaction efficiency. On the other hand, the first skill released in this way is more in line with user expectations, thus improving user game satisfaction. Attached Figure Description

[0022] Figure 1 is a schematic diagram of the implementation environment of a solution provided in an embodiment of this application;

[0023] Figure 2 is a schematic diagram of the drag operation provided by the related technology;

[0024] Figure 3 is a schematic diagram illustrating the release of direction selection skills and position selection skills provided by related technologies;

[0025] Figure 4 is a schematic diagram of the skill output provided by the relevant technology;

[0026] Figure 5 is a comparative schematic diagram of an embodiment of this application and related technical embodiments provided in one embodiment of this application;

[0027] Figure 6 is a flowchart of a virtual object control method provided in an embodiment of this application;

[0028] Figure 7 is a schematic diagram of the release of a direction selection skill provided in an embodiment of this application;

[0029] Figure 8 is a schematic diagram illustrating the release of a location selection skill according to an embodiment of this application;

[0030] Figure 9 is a flowchart of the output corresponding to a user input operation provided in an embodiment of this application;

[0031] Figure 10 is a flowchart of a virtual object control method provided in another embodiment of this application;

[0032] Figure 11 is a flowchart of a virtual object control method provided in another embodiment of this application;

[0033] Figure 12 is a block diagram of a virtual object control device provided in an embodiment of this application;

[0034] Figure 13 is a structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation

[0035] Before introducing the embodiments of this application, the following explanations are provided for the terms appearing in this solution to facilitate understanding:

[0036] 1. Virtual Scene: This is the environment displayed (or provided) by an application when it runs on a terminal device. The virtual scene can be a simulation of the real world, a semi-simulated / semi-fictional 3D world, or a purely fictional 3D world. The virtual scene can be any of a 2D, 2.5D, or 3D virtual scene. Optionally, the virtual scene can also be used for virtual scene battles between at least two virtual objects, and the virtual scene has virtual resources available to both virtual objects. Optionally, the virtual scene includes open-world virtual scenes with at least one level or task, where virtual objects can freely choose the time and method to complete the task.

[0037] 2. Virtual Objects: These refer to both movable and immovable objects in a virtual scene. Movable objects can be at least one of virtual characters, virtual animals, or anime characters. Immovable objects can be at least one of virtual buildings, virtual plants, or virtual terrain. Optionally, when the virtual scene is a three-dimensional virtual scene, the virtual objects can be three-dimensional virtual models. Each virtual object has its own shape and volume in the three-dimensional virtual scene and occupies a portion of the space within the scene. Optionally, virtual objects are three-dimensional characters constructed based on three-dimensional human skeleton technology. These virtual objects achieve different appearances by wearing different skins. In some implementations, virtual objects can also be implemented using 2.5D or 2D models; this application does not limit this. Exemplarily, depending on the method of controlling virtual objects, they can be divided into user-controlled virtual objects and server-controlled virtual objects. User-controlled virtual objects are movable objects controlled by the client in the virtual scene. Server-controlled virtual objects are virtual objects controlled by automatic control algorithms or artificial intelligence programs on the client or server. Server-controlled virtual objects include both movable and immovable objects in the virtual scene. For example, an inactive object can respond to or influence the activity of an active object; for instance, an active object can destroy an inactive object, or an active object can enter an inactive state when it enters an inactive object. For example, the virtual object in this application is a client-controlled virtual object.

[0038] Please refer to Figure 1, which shows a schematic diagram of an implementation environment provided by an embodiment of this application. This implementation environment can realize a control system that becomes a virtual object. The implementation environment may include: terminal device 10 and server 20.

[0039] There may be one or more terminal devices 10. Terminal device 10 may be at least one electronic device such as a mobile phone, tablet computer, game console, e-book reader, multimedia playback device, wearable device, PC (Personal Computer), or in-vehicle terminal. A client for a target application (such as a game application) may be installed on terminal device 10. Optionally, the target application may be an application that requires downloading and installation, or it may be an application that can be used instantly; this embodiment of the application does not limit this.

[0040] In this application embodiment, the target application can be a game application, including at least one of shooting applications, racing applications, and multiplayer online tactical competitive games; this application does not limit this. In some embodiments, the target application can provide a virtual scene for a virtual object that the user can immerse and manipulate to perform activities in the virtual scene, such as walking, jumping, crawling, fighting, and shooting. Exemplarily, the target application can be a MOBA (Multiplayer Online Battle Arena) game, a shooting game, a multiplayer shooting survival game, a virtual reality (VR) shooting application, an augmented reality (AR) application, a 3D mapping application, a social application, or an interactive entertainment application. Furthermore, the form or shape of the virtual objects provided by different applications will vary, and their corresponding functions will also differ; these can be designed according to actual needs, and this application embodiment does not limit this. Optionally, the terminal device 10 runs a client of the aforementioned application. In some embodiments, the above application is an application developed based on a three-dimensional virtual scene engine, such as the Unity engine. This virtual scene engine can construct at least one of three-dimensional virtual scenes, virtual objects, and virtual props, bringing users a more immersive gaming experience.

[0041] The aforementioned virtual scene refers to a scene created for virtual objects to engage in activities (such as gaming competitions), such as at least one of virtual houses, virtual islands, and virtual maps.

[0042] The aforementioned virtual object refers to at least one of the following: a virtual character, a virtual vehicle, or a virtual item controlled by a user account within the target application. This application does not limit the scope of the virtual object. Taking a game application as an example, a virtual object refers to a game character controlled by a user account within the game application. Virtual objects can be in the form of a human character, an animal, a cartoon character, or other forms; this application does not limit the scope of the virtual object. Optionally, a virtual object can be a virtual vehicle in a virtual scene, such as at least one of a virtual car, a virtual hot air balloon, or a virtual motorcycle that can be controlled by the user.

[0043] Server 20 provides background services for clients of the target application installed and running on terminal device 10. For example, server 20 can be the background server for the aforementioned game application. Server 20 can be a single server, a server cluster consisting of multiple servers, or a cloud computing service center. Optionally, server 20 can simultaneously provide background services for target applications on multiple terminal devices 10. Terminal devices 10 and server 20 can communicate with each other via a network.

[0044] In related technologies, tapping is a common operation method in game applications. Specifically, it involves pressing down vertically on the screen of a terminal device without performing at least one of the following operations: sliding or dragging. Dragging is another common operation method in game applications. Specifically, it involves pressing down on the screen and then sliding or dragging the hand parallel to the screen a certain distance before lifting it. For example, in MOBA games, where a dual-joystick mode is used to control virtual objects (left hand controls movement, right hand controls skill activation), tapping is often used to activate skills that don't require target, position, or direction selection. For instance, skills that increase attack speed or health of a virtual object are often implemented using tapping.

[0045] For dragging operations, the behavior is actually a selection operation relative to the origin (the position of the virtual object in the virtual scene). Referring to Figure 2, the virtual scene screen 200 displays a virtual scene, which includes a virtual object 201. Virtual object 201 is the game character controlled by the user account in the game application. The virtual scene screen also displays a drag control 202, which is used to select the direction and distance of skill release. In Figure 2, dragging the skill joystick to the lower right using drag control 202 selects the lower right direction to release the skill. In fact, this is selecting to release the skill in the (1, -1) direction based on the origin in the Cartesian coordinate system corresponding to the virtual scene. The Cartesian coordinate system corresponding to the virtual scene has the position of the virtual object in the virtual scene as the origin, the length of the virtual scene screen as the x-axis, and the width of the virtual scene screen as the y-axis.

[0046] Skills in MOBA games are highly specific and cannot be fully categorized. Only a simple classification based on current market characteristics is possible. Skills based on drag-and-drop operations can be broadly divided into direction-selection skills and position-selection skills. For example, Figure 3(1) shows a schematic diagram of the release of a direction-selection skill, and Figure 3(2) shows a schematic diagram of the release of a position-selection skill. In Figure 3(1), a virtual object 301 is displayed in the virtual scene 300. The virtual object 301 selects the (1,1) direction 302 based on the origin in the Cartesian coordinate system to release the skill. Therefore, direction-selection skills are skills that select a relative direction, which is a direction relative to the origin in the Cartesian coordinate system where the virtual object is located. During this process, the game application saves a vector value (relative value) input by the user, which is a direction relative to the origin. In Figure 3(2), a virtual object 301 is displayed in the virtual scene screen 300. The virtual object 301 selects a position 303 based on the origin in the rectangular coordinate system to release a skill. Therefore, position selection skills are skills that select a distance while selecting a relative direction. During this process, the game application saves a coordinate (absolute value), which is a vector value based on the origin.

[0047] After receiving user input on the terminal device, the game application client converts the input into output according to a pre-designed program. Generally, the output is calculated based on the position of the virtual object in the virtual scene at the time of the input operation; the concept of input is strongly related to the "current" position.

[0048] In a game application, a displacement skill refers to a skill that causes a change in the absolute position of the user's controlled virtual object or related virtual objects within the game application's coordinate system. Displacement skills include, but are not limited to, at least one of the following characteristics: linear displacement, curvilinear displacement, variable-speed displacement, uniform-speed displacement, teleportation, and non-teleportation. In fact, to enhance the gaming experience, displacement skills are often designed to involve longer distances, shorter timeframes, and faster speeds. However, this design leads to a situation where, due to the excessively high speed and the limitations of human physiology, the user cannot accurately determine the virtual object's location during displacement. For example, during displacement, the user cannot determine at least one piece of information—the virtual object's position or the relative positions of other virtual objects—at every point in time.

[0049] Because of the caching mechanism during the displacement process, users can often output based on this. Here, we explain the caching mechanism: it stores various data during the operation of virtual objects. Therefore, for balance and realism considerations during the game, when a virtual object performs a certain action, it is temporarily set to be unable to perform other actions. For example, if the virtual object's action is to throw a ball, then actions such as picking up an axe cannot be performed during the ball-throwing action. Only after the ball-throwing action is completed can the axe-picking action be performed. This setting can be called the pre-animation or post-animation. If the user performs an input action during the pre-animation or post-animation, generally speaking, the program will save the user's action and implement the corresponding output for the input action received in the middle after the pre-animation or post-animation ends. For example, if the pre-animation of throwing a stone is 1 second, the virtual object can perform the axe-picking action in 0.99 seconds. Without the caching mechanism, the virtual object will not respond to the input of picking up the axe, which may lead to a very negative gaming experience for the user. Therefore, the user's actions during the pre-animation and post-animation are often cached, and the input during the pre-animation and post-animation is responded to when the pre-animation or post-animation ends. Therefore, users can also input during the displacement process. However, the user's judgment of the virtual object's position is inaccurate at this time. Furthermore, in product practice, it has been found that users expect a response at the end of the displacement when they input during the displacement process. As shown in Figure 4, a virtual object 401 is displayed in the virtual scene screen 400. The virtual object 401 selects direction 402 to move from point a to point c. When the virtual object 401 moves to point b, the user performs an input operation. According to the solution in the relevant technology, the output should be calculated based on point b when the virtual object 401 reaches point c. However, the user expects the output to be calculated based on point c, which leads to inaccurate skill output in the relevant technology and does not meet the user's actual expectations.

[0050] A comparative schematic diagram of the embodiments of this application and related technical embodiments can be referred to as Figure 5. A virtual object 501 is displayed in the virtual scene screen 500, and the virtual object 501 selects a direction 502 for displacement. Point A is the position where the user inputs a skill release operation during the displacement of the virtual object 501; point B is the endpoint of the displacement process; skill circle 503 is the range for releasing the skill based on point A, with a radius equal to the skill release distance; and skill circle 504 is the range for releasing the skill based on point B. Point C is the output point of the skill release based on point A at the end of the displacement process in the related technology, and point D is the output point of the skill release based on point B at the end of the displacement process in the embodiment of this application.

[0051] Please refer to Figure 6, which shows a flowchart of a virtual object control method provided in an embodiment of this application. The executing entity for each step of this method can be a terminal device, which can have a client running a target application installed on it. The target application can be a game application. This method may include at least one of the following steps 610-640:

[0052] Step 610: Display the virtual scene, which includes virtual objects.

[0053] The terminal device displays a virtual scene, which includes virtual objects. In some embodiments, the virtual objects are in a game state.

[0054] The virtual scene view refers to the view of a virtual scene observed from the perspective of a virtual object. This perspective can be either a third-person or first-person view. Optionally, the virtual scene view refers to the display screen shown to the user on a terminal device. This virtual scene view can be an image captured by a virtual camera from the virtual scene. In one possible implementation, the virtual camera captures the virtual scene view from the third-person perspective of the virtual object. Optionally, the virtual camera is positioned diagonally above the virtual object, and the client observes the virtual scene with the virtual object as the center through the virtual camera, capturing and displaying the virtual scene view centered on the virtual object. In another possible implementation, the virtual camera captures the virtual scene view from the first-person perspective of the virtual object. Optionally, the virtual camera is positioned directly in front of the virtual object, and the client observes the virtual scene from the perspective of the virtual object through the virtual camera, capturing and displaying the virtual scene view with the virtual object as the first-person perspective. Furthermore, in an exemplary embodiment, the placement of the virtual camera is adjustable in real time. Optionally, the user can adjust the position of the virtual camera through touch operations on the terminal device's display interface, thereby capturing virtual scene views corresponding to different positions. For example, users can drag and drop virtual scene images to adjust the position of the virtual camera; or, for another example, users can click on a location in the map display control to set that location as the adjusted position of the virtual camera, thereby adjusting the position of the virtual camera. The aforementioned map display control refers to the control used to display the global map in the game application.

[0055] Step 620: In response to a displacement operation on a virtual object, control the virtual object to move in the virtual scene. The displacement operation is used to move the virtual object from a first position to a second position in the virtual scene.

[0056] Displacement operations on virtual objects are triggered by the user and are used to control the movement of virtual objects within a virtual scene. Upon receiving a displacement operation for a virtual object, the client on the terminal device controls the virtual object to move from a first position to a second position within the virtual scene.

[0057] Displacement operations on virtual objects include at least one of the following: operations for linear displacement, operations for curved position, operations for variable velocity displacement, operations for uniform velocity displacement, operations for instantaneous movement, and operations for non-instantaneous displacement.

[0058] Optionally, the displacement operation for the virtual object can be an operation where the user triggers a displacement shortcut key. The user triggering the displacement shortcut key can be a tap operation on the displacement shortcut key. The displacement shortcut key has a default displacement direction and a default displacement distance pre-set. When the user triggers the displacement shortcut key, the virtual object, based on its current position in the virtual scene, moves according to the aforementioned default displacement direction and default displacement distance, performing the corresponding movement process. This movement process can also be called a displacement process. The default displacement direction and default displacement distance can be set by the user according to their personal displacement needs, or they can be pre-set by the game developers. This application does not limit the default displacement direction and default displacement distance. For example, the default displacement direction can be the direction the virtual object faces in the virtual scene, or any direction in the Cartesian coordinate system corresponding to the virtual scene, such as (1,0), (1,-1), or (1,1), based on the origin. The default displacement distance can be the maximum distance the virtual object can release a skill from.

[0059] Optionally, the displacement operation for a virtual object can be an operation where the user selects a displacement direction using the direction selection control and then triggers a distance shortcut key. The user's operation of selecting the displacement direction using the direction selection control can be a drag operation of the direction selection control, and the user's operation of triggering the distance shortcut key can be a tap operation of the distance shortcut key. The distance shortcut key has a pre-set default displacement distance. Then, after the user selects a displacement direction based on the origin (the virtual object's position in the virtual scene) using the direction selection control, the movement process corresponding to the displacement operation is achieved according to the aforementioned default displacement distance. This default displacement distance can be set by the user according to their personal displacement needs, or it can be pre-set by the game developers; this application does not limit this. For example, the displacement operation for a virtual object can be a flash operation for the virtual object.

[0060] Optionally, the displacement operation for the virtual object can be an operation where the user selects a displacement distance using a distance selection control and then triggers a direction shortcut key. The user's operation of selecting the displacement distance using the distance selection control can be a drag operation on the distance selection control, and the user's operation of triggering the direction shortcut key can be a tap operation on the direction shortcut key. The direction shortcut key has a pre-set default displacement direction, so after the user selects a displacement distance based on the origin using the distance selection control, the movement process corresponding to the displacement operation is performed according to the aforementioned default displacement direction. This default displacement direction can be set by the user according to their personal displacement needs, or it can be pre-set by the game developers; this application does not limit this.

[0061] Optionally, the displacement operation for a virtual object can be an operation where the user selects the displacement direction and displacement distance using a position selection control. This operation can also be a drag operation on the position selection control. Alternatively, the user can first select a displacement direction based on the origin using the position selection control, and then select a displacement distance based on the origin; or the user can first select a displacement distance based on the origin using the position selection control, and then select a displacement direction based on the origin. This achieves the movement process corresponding to the displacement operation.

[0062] The displacement direction mentioned above refers to the direction of the second position relative to the first position. The first position is the starting position of the movement process, and the second position is the ending position of the movement process. Typically, the first position refers to the current location of the virtual object within the virtual scene, while the second position can be any location within the virtual scene.

[0063] It is important to note that the displacement distance mentioned above refers to the straight-line distance between the first and second positions. The movement process can be a straight-line movement from the first position to the second position, or a curved movement from the first position to the second position. Therefore, the meaning of displacement distance is different from the meaning of movement distance in the movement process. Movement distance in the movement process refers to the total distance traveled by the virtual object during the movement.

[0064] Step 630: During the movement, a first skill release operation is received for the virtual object. The first skill release operation is used to control the virtual object to release a directional first skill. The first skill release operation is received when the virtual object moves to the third position in the virtual scene. The third position is any position of the virtual object during the movement process from the first position to the second position in the virtual scene.

[0065] When the virtual object moves to a third position in the virtual scene, a first skill release operation is received for the virtual object. The third position is any position the virtual object can occupy during its movement from the first position to the second position in the virtual scene. For example, the third position could be any position on a straight line during the linear movement from the first position to the second position, or any position on a curve during the curved movement from the first position to the second position; this application does not limit the specific position. The first skill release operation for the virtual object is an operation triggered by the user to control the virtual object to release its first skill.

[0066] The first skill is a directional skill. Furthermore, the first skill does not require immediate response; that is, after the user inputs a first skill release operation targeting a virtual object, the application does not need to immediately release the first skill.

[0067] Optionally, if the first skill is a direction-selection skill, then the first skill can be a skill that needs to be released based on a release direction, or a skill that needs to be released based on a release direction and a release distance. If the first skill needs to be released based on a release direction, then the release direction on which the first skill is based can be a direction selected by the user based on the origin, or it can be the default release direction of the first skill. For example, the default release direction of the first skill can be the direction that the virtual object is facing in the virtual scene, the direction of other virtual objects associated with the first skill, or any direction based on the origin. However, it should be noted that direction-selection skills have a pre-configured skill release distance, that is, for direction-selection skills, after a release direction is determined, the skill is released based on the pre-configured release distance of the skill. If the first skill needs to be released based on a release direction and a release distance, then the release direction and release distance on which the first skill is based can be a release direction and release distance selected by the user based on the origin, or it can be the default release direction and default release distance of the first skill.

[0068] Optionally, if the first skill is a position selection skill, then the first skill can be a skill that needs to be released based on a release position in the virtual scene, or a skill that needs to be released based on a release direction and release distance to determine the release position. If the first skill needs to be released based on a release position in the virtual scene, then the release position can be a position in the virtual scene selected by the user, or it can be the default position of the first skill. For example, the default position of the first skill can be the initial position where the virtual object appears in the virtual scene. If the first skill needs to be released based on a release direction and release distance to determine the release position, then the release position based on the first skill can be a release direction and release distance selected by the user based on the origin to determine the release position.

[0069] For example, skills of the direction selection type include, but are not limited to, at least one of the following: directional attack skills, directional control skills, displacement skills, and auxiliary skills. Skills of the position selection type include, but are not limited to, at least one of the following: displacement skills and position initialization skills.

[0070] Optionally, the first skill release operation for a virtual object can be an operation where the user triggers a shortcut key for the first skill. This user-triggered operation can be a tap on the shortcut key or a trigger operation via an external device. The first skill shortcut key has pre-set default release direction and default release distance. After the user triggers the shortcut key, the virtual object is controlled to release the first skill according to its current position in the virtual scene, following the aforementioned default release direction and default release distance. The default release direction and default release distance of the first skill are pre-set by the game developers. For example, the first skill release operation for a virtual object can also be a teleportation operation, whereby the virtual object can move the teleportation operation by the default release distance based on the direction it is facing in the virtual scene. For example, the first skill release operation for a virtual object can also be a recall operation, whereby the virtual object returns to its initial position in the virtual scene.

[0071] Optionally, if the first skill is a direction-selection skill, the release operation for the first skill targeting a virtual object can be an operation where the user selects a release direction using the direction selection control and then triggers the distance shortcut key. The user's operation of selecting a release direction using the direction selection control can be a drag operation on the direction selection control, and the user's operation of triggering the distance shortcut key can be a tap operation on the distance shortcut key. The distance shortcut key has a pre-set default release distance, so after the user selects a release direction based on the origin using the direction selection control, the first skill is released according to the aforementioned default release distance. The default release distance of the first skill is pre-set by the game developers.

[0072] Optionally, if the first skill is a location selection skill, the release operation for the first skill on the virtual object can be an operation where the user selects the release location through a location selection control. The user's release operation through the location selection control can be a drag operation, such as selecting the release direction and distance to determine the release location, or a tap operation, such as selecting the release location through a tap.

[0073] In some embodiments, during movement, data of the movement process and data of the first skill release operation are stored. The movement process data includes at least one of the following: a first position, a second position, the movement speed of the virtual object, the movement duration, and the movement distance. The first skill release operation data includes: a third position and data of the first skill release operation.

[0074] Through the caching mechanism configured in the game application, data of the movement process and data received during the movement (data of the first skill release operation) are stored.

[0075] The movement process data includes at least one piece of data during the movement of a virtual object from a first position to a second position in the virtual scene, including at least one of the following: the first position (the starting position of the movement process), the second position (the ending position of the movement process), the movement speed of the virtual object, the movement duration of the movement process, and the movement distance (the total distance of the route traversed during the movement process). The movement process data is based on displacement operations performed on the virtual object. The movement speed of the virtual object is determined by the type of displacement operation, and the movement duration and movement distance are determined by the type of displacement operation and the ending position (second position) of the displacement operation.

[0076] The data for the first skill release operation includes the third position and the data for the first skill release operation itself. The data for the first skill release operation includes the identification data of the first skill and the operation data of the first skill release operation. Specifically, the identification data of the first skill is used to indicate the first skill, and the operation data of the first skill release operation is used to indicate at least one of the operation direction, operation distance, and operation position of the first skill release operation. The operation data of the first skill release operation is used to determine the release parameters of the first skill. The specific process can be referred to in the following embodiment.

[0077] By storing data about the movement process and the first skill release operation during movement, the game application can prevent virtual objects from releasing other skills during movement based on the stored data. At the same time, it can also ensure that the first skill release operation is responded to when the movement ends, thus achieving seamless action of virtual objects and timely meeting the user's game needs.

[0078] When a caching mechanism is configured during movement, the virtual object releases its first skill based on its second position. When a caching mechanism is not configured during movement, the first skill release operation is not responded to when the movement ends; that is, the virtual object does not release its first skill when the movement ends.

[0079] Step 640: Control the virtual object to release the first skill based on the second position.

[0080] At the end of the movement process, the control virtual object releases the first skill based on the second position, that is, the first skill is the output calculated based on the second position and the input operation (the first skill release operation).

[0081] In some embodiments, if the movement process meets the conditions, the step of controlling the virtual object to release the first skill based on the second position is performed, i.e., step 640 is performed.

[0082] In some embodiments, if the movement process does not meet the conditions, the virtual object is controlled to release the first skill based on the third position. That is, the first skill is the output calculated based on the third position and the input operation (the first skill release operation).

[0083] Therefore, the difference between the embodiments of this application and related technologies is that the related technologies do not have conditional limitations. After receiving a first skill release operation for a virtual object, the virtual object is controlled to release the first skill at a third position when the movement process ends. However, the embodiments of this application have conditional limitations. If the movement process meets the conditions, the virtual object is controlled to release the first skill at a second position; if the movement process does not meet the conditions, the virtual object is controlled to release the first skill at a third position.

[0084] The conditions during the movement process are used to determine whether the user can accurately determine the location of the virtual object during the movement. If the conditions are not met, it means that the user cannot accurately determine the location of the virtual object during the movement. If the conditions are met, it means that the user can accurately determine the location of the virtual object during the movement.

[0085] By imposing conditions on the movement process, the virtual object will only release its first skill from a second location if the user cannot accurately determine its position during movement. This allows the game application's output to better meet the user's expectations and improve the user experience.

[0086] In some embodiments, the conditions include at least one of the following: the movement speed of the virtual object is greater than or equal to a speed threshold; the movement duration of the movement process is less than or equal to a duration threshold; and the movement distance of the movement process is less than or equal to a distance threshold. The speed threshold, duration threshold, and distance threshold can be set according to actual technical needs.

[0087] If the condition includes that the virtual object's movement speed is greater than or equal to a speed threshold, then if the movement speed of the virtual object is greater than or equal to the speed threshold during the movement process, the virtual object is controlled to release the first skill from the second position. If the movement speed of the virtual object is less than the speed threshold during the movement process, the virtual object is controlled to release the first skill from the third position. The movement speed of the virtual object can refer to the average speed of the virtual object during the movement process or the instantaneous speed of the virtual object when it moves to the third position. If the movement process is implemented in response to a variable-speed displacement operation, then the average speed of the virtual object during the movement process is different from the instantaneous speed of the virtual object when it moves to the third position. If the movement process is implemented in response to a uniform-speed displacement operation, then the average speed of the virtual object during the movement process is the same as the instantaneous speed of the virtual object when it moves to the third position. Regarding the speed threshold, the speed threshold is a threshold data calculated by game developers based on big data analysis of user judgments regarding the position of the virtual object during movement at different speeds; this application does not limit this threshold.

[0088] If the condition includes a movement duration less than or equal to a duration threshold, then if the movement duration is less than or equal to the duration threshold, the virtual object is controlled to release the first skill from the second position. If the movement duration is greater than the duration threshold, the virtual object is controlled to release the first skill from the third position. The movement duration is calculated based on the type of displacement operation and the endpoint position (second position). The movement speed of the virtual object is determined based on the type of displacement operation, and the movement distance is determined based on the type of displacement operation, the starting position (first position), and the ending position (second position). The movement duration is then obtained based on the virtual object's movement speed and the movement distance. The duration threshold is calculated by game developers based on big data analysis of user perceptions of the virtual object's position during movement at different durations; this application does not impose any limitations on this threshold.

[0089] If the condition includes the movement distance being less than or equal to a distance threshold, then if the movement distance is less than or equal to the distance threshold, the virtual object is controlled to release the first skill from a second position. If the movement distance is greater than the distance threshold, the virtual object is controlled to release the first skill from a third position. The movement distance is calculated based on the type of displacement operation and the endpoint position (second position). The movement distance is determined based on the type of displacement operation, the starting position (first position), and the ending position (second position). The distance threshold is calculated by game developers based on big data analysis of user perceptions of the virtual object's position at different distances during movement; this application does not impose any limitations on this threshold.

[0090] If the conditions include both of the above, then, for example, if the conditions include the virtual object's movement speed being greater than or equal to a speed threshold and the movement duration being less than or equal to a duration threshold, then if the movement process satisfies the virtual object's movement speed being greater than or equal to the speed threshold and the movement duration being less than or equal to the duration threshold, the virtual object is controlled to release the first skill based on the second position. If the movement process satisfies the virtual object's movement speed being less than the speed threshold and the movement duration being greater than the duration threshold, the virtual object is controlled to release the first skill based on the third position.

[0091] If all three conditions are met, then during the movement process, if the virtual object's movement speed is greater than or equal to a speed threshold, the movement duration is less than or equal to a duration threshold, and the movement distance is less than or equal to a distance threshold, the virtual object will release its first skill from a second position. If during the movement process, if the virtual object's movement speed is less than a speed threshold, the movement duration is greater than a duration threshold, and the movement distance is greater than a distance threshold, the virtual object will release its first skill from a third position.

[0092] By applying thresholds to the movement speed, duration, and distance during movement, the game application can intuitively determine whether the user can accurately identify the location of the virtual object during movement, thereby determining the output position of the first skill and effectively ensuring the accuracy of skill output to meet the user's gaming needs.

[0093] The technical solution provided in this application, by controlling a virtual object to release a first skill based on a second position, calculates the output based on the endpoint position of the movement process and the input operation during the movement. This ensures that even when the user cannot accurately determine the position of the virtual object at the time of the input operation, the final released first skill is a skill released based on the endpoint position of the movement process, as expected by the user. Compared to related technologies where the output is calculated based on the position at the time of the input operation and the input operation during the movement, leading to inaccurate skill output, the technical solution provided in this application improves the accuracy of skill release, thereby improving human-computer interaction efficiency. Furthermore, the released first skill better meets the user's expectations, enhancing user game satisfaction.

[0094] In some embodiments, step 640 above includes at least one of sub-steps 641 to 642 (not shown in the figure).

[0095] Sub-step 641: Based on the operation data of the second position and the first skill release operation, determine the release parameters of the first skill.

[0096] The operation data for releasing the first skill is used to indicate at least one of the operation direction, operation distance, and operation position of the first skill release operation, and the release parameters of the first skill are used to indicate at least one of the release direction, release distance, and release position of the first skill.

[0097] The direction of the first skill release operation determines the release direction of the first skill, and the distance of the first skill release operation determines the release distance of the first skill.

[0098] Optionally, the location for releasing the first skill can be determined by the release direction and distance of the first skill, or it can be selected by the user.

[0099] The position for releasing the first skill is determined by the third position, based on the second position and the position of the first skill's initial operation. This determines the final release position of the first skill, specifically the position based on the second position. The relative positions of the first skill's initial operation and the third position are the same as the relative positions of the first skill's initial release and the second position.

[0100] As mentioned above, the operation direction and operation distance of the first skill release operation can be a preset default operation direction and default operation distance, or at least one of them can be operation data selected by the user. This application does not limit the operation related to the first skill release operation for virtual objects.

[0101] In some embodiments, when the first skill is a direction selection skill, the release direction of the first skill is determined based on the operation direction of the first skill release operation. The release distance of the first skill is the default release distance pre-configured for the first skill.

[0102] In some embodiments, when the first skill is a direction selection skill, the release direction and release distance of the first skill are determined based on the second position and the operation direction and operation distance of the first skill release operation.

[0103] The release direction of the first skill is determined based on the operation direction of the first skill release. The release distance of the first skill is determined based on the operation position of the first skill release. Referring to Figure 7, point A is the starting point of the movement process, point B is the position of the virtual object when the user executes the first skill release operation targeting the virtual object during the movement process, and point C is the ending point of the movement process. Line K2 indicates the operation direction and distance of the first skill release operation, and line K1 indicates the release direction and distance of the first skill. The user executes the first skill release operation targeting the virtual object at point B, and when the virtual object reaches point C, the user controls the virtual object to release the skill indicated by line K1. As can be seen in Figure 7, the relative position of line K1 to point C is the same as the relative position of line K2 to point B.

[0104] In some embodiments, when the first skill is a position selection skill, the release position of the first skill is determined based on the second position and the operation position of the first skill release operation.

[0105] Referring to Figure 8, point A is the starting point of the movement process, point B is the position of the virtual object when the user performs the first skill release operation on the virtual object during the movement process, and point C is the ending point of the movement process. Point K4 is the operation position for the first skill release operation, and point K3 is the release position for the first skill. When the virtual object reaches point C, the user controls the virtual object to release the skill indicated by point K3. As can be seen in Figure 8, the relative positions of point K3 and point C are the same as the relative positions of point K4 and point B.

[0106] When the first skill is a position selection skill, the release position of the first skill is determined based on the second position and the operation position of the first skill release operation. This ensures that the relative position of the first skill release position with the second position is the same as the relative position of the operation position of the first skill release operation with the third position. This guarantees that the released first skill meets the user's expectations when inputting the operation, thus improving the accuracy of skill release.

[0107] Sub-step 642: Based on the release parameters of the first skill, control the virtual object to release the first skill.

[0108] When the first skill is a directional selection skill, you can control the virtual object to release the first skill based solely on its release direction, or you can control the virtual object to release the first skill based on both its release direction and distance.

[0109] If the first skill is a position selection skill, the virtual object is controlled to release the first skill based on the release position of the first skill.

[0110] By acquiring the operation data of the first skill release and combining it with the second position to determine the release parameters of the first skill, the first skill is released based on the second position, effectively ensuring the accuracy of skill release.

[0111] Figure 9 shows a flowchart of the output corresponding to user input. When the user inputs a first skill release command during movement, the system checks if the movement process meets certain conditions. If it does, it checks if a caching mechanism is configured. If so, the system controls the virtual object to release the first skill from the second position. If no caching mechanism is configured, the system does not respond to the first skill release command. If the movement process does not meet the conditions, the system controls the virtual object to release the first skill from the third position.

[0112] In some embodiments, at a first point in time before the virtual object moves to the second position, the step of controlling the virtual object to release the first skill based on the second position is performed.

[0113] Based on the movement duration, the time point at which the virtual object moves to the second position is obtained. Based on the time point at which the virtual object moves to the second position and the preset time difference, the first time point before the virtual object moves to the second position is determined.

[0114] This application does not limit the time difference, which is set by the game developers themselves. For example, the time difference could be 0.01s, meaning the first time point before the virtual object moves to the second position could be 0.01s before the virtual object moves to the second position. Alternatively, the time difference could be the duration of two frames, meaning the first time point before the virtual object moves to the second position could also be the time point of two frames before the virtual object moves to the second position. It should be noted that this time difference is less than the first time length. This application does not limit the first time length, but from the user's perspective, if the virtual object releases its first skill based on the second position at the first time point before moving to the second position, the action of releasing the first skill is directly connected to the virtual object's movement process, without any pause in the action.

[0115] In some embodiments, at a second point in time after the virtual object moves to the second position, the step of controlling the virtual object to release the first skill based on the second position is performed.

[0116] Based on the movement duration, the time point at which the virtual object moves to the second position is obtained. Based on the time point at which the virtual object moves to the second position and the preset time difference, the second time point after the virtual object moves to the second position is determined.

[0117] This application does not limit the time difference, which is set by the game developers themselves. For example, the time difference could be 0.01s, meaning the second time point after the virtual object moves to the second position could be 0.01s after the virtual object moves to the second position. Alternatively, the time difference could be the duration of two frames, meaning the second time point after the virtual object moves to the second position could also be the time point corresponding to two frames after the virtual object moves to the second position. It should be noted that this time difference is less than the second time length. This application does not limit the second time length, but from the user's perspective, controlling the virtual object to release the first skill based on the second position at the second time point after the virtual object moves to the second position means the action of releasing the first skill is directly connected to the virtual object's movement process, without any pause in the action.

[0118] In some embodiments, at the point in time when the virtual object moves to the second position, the step of controlling the virtual object to release the first skill based on the second position is performed.

[0119] Based on the movement time, the time point when the virtual object moves to the second position is obtained. At the time point when the virtual object moves to the second position, the virtual object is controlled to release the first skill based on the second position.

[0120] By executing step 640 at the first point in time before the virtual object moves to the second position, the release of the first skill can be made more timely. By executing step 640 at the second point in time after the virtual object moves to the second position, the connection between the release of the first skill and the movement process of the virtual object can be more natural, thereby optimizing the response effect of the skill, improving the feel of operation, and thus improving the user experience.

[0121] Please refer to Figure 10, which shows a flowchart of a virtual object control method provided in another embodiment of this application. The execution entity of each step of this method can be a terminal device. The method may include at least one of the following steps 1010 to 1040:

[0122] Step 1010: Display the virtual scene, which includes virtual objects.

[0123] Step 1020: In response to a displacement operation on a virtual object, control the virtual object to move in the virtual scene. The displacement operation is used to move the virtual object from a first position to a second position in the virtual scene.

[0124] Step 1030: During the movement, a second skill release operation is received for the virtual object. The second skill release operation is used to control the virtual object to release a non-directional second skill, and the second skill release operation is received when the virtual object moves to the fourth position in the virtual scene.

[0125] When the virtual object moves to the fourth position in the virtual scene, a second skill release operation is received for the virtual object. The fourth position is any position the virtual object can occupy during its movement from the first position to the second position in the virtual scene. For example, the fourth position could be any position on a straight line during the linear movement from the first position to the second position, or any position on a curve during the curved movement from the first position to the second position; this application does not limit the specific position. The fourth position and the third position can be different. The second skill release operation for the virtual object is an operation triggered by the user to control the virtual object to release its second skill.

[0126] The second skill is a non-directional skill, meaning it doesn't require a specific direction for release. The second skill requires immediate response; that is, after the user inputs a release operation for the second skill targeting a virtual object, the application needs to immediately release the skill. For example, the second skill includes, but is not limited to, at least one of the following: a skill that restores the virtual object's health, a non-directional attack skill, or a non-directional control skill.

[0127] Normally, releasing a second skill for a virtual object is an action performed by the user triggering the second skill's shortcut key. This triggering is a simple tap on the second skill's shortcut key.

[0128] In some embodiments, during movement, data for the second skill release operation is stored. The data for the first skill release operation includes the operation data for the fourth position and the second skill release operation, and the operation data for the second skill release operation includes the identification data of the second skill and the effect data of the second skill.

[0129] Step 1040: Control the virtual object to release the second skill in the fourth position.

[0130] When the virtual object moves to the fourth position in the virtual scene, in response to the second skill release operation for the virtual object, control the virtual object to release the second skill at the fourth position.

[0131] By responding instantly to the directional second skill, the virtual object is controlled to release the second skill at the fourth position, so that the release of the second skill can meet the user's skill release needs, ensure the accuracy of skill release, and improve the feel of operation.

[0132] Please refer to Figure 11, which shows a flowchart of a virtual object control method provided in another embodiment of this application. The execution entity of each step of this method can be a terminal device. The method may include at least one of the following steps 1110 to 1150:

[0133] Step 1110: Display the virtual scene, which includes virtual objects.

[0134] Step 1120: In response to a displacement operation on a virtual object, control the virtual object to move in the virtual scene. The displacement operation is used to move the virtual object from a first position to a second position in the virtual scene.

[0135] Step 1130: During the movement, a first skill release operation is received for the virtual object. The first skill release operation is used to control the virtual object to release a directional first skill, and the first skill release operation is received when the virtual object moves to the third position in the virtual scene.

[0136] Step 1140: During the movement, if the trigger condition for pausing the movement of the virtual object is met when the virtual object moves to the fifth position in the virtual scene, control the virtual object to pause its movement at the fifth position.

[0137] The fifth position is any position of the virtual object as it moves from the third position to the second position in the virtual scene. For example, the fifth position can be any position on a straight line during the linear movement from the third position to the second position, or any position on a curve during the curved movement from the third position to the second position. This application does not limit the definition of the fifth position.

[0138] The trigger condition for pausing the movement of a virtual object is used to force the virtual object to pause its movement process in the virtual scene. That is, after the trigger condition for pausing the movement of a virtual object is met, the virtual object will pause at the fifth position in the virtual scene.

[0139] The trigger condition for a virtual object to pause movement is that another virtual object releases a pause skill targeting it. Based on this pause skill, the virtual object pauses its movement at the fifth position. The pause skill released by another virtual object controls the virtual object to pause its movement at the fifth position for a period of time. For example, the pause skill released by another virtual object could be a freeze skill.

[0140] Step 1150: Control the virtual object to release the first skill based on the fifth position.

[0141] The first skill here is the output calculated based on the fifth position and the input operation (first skill release operation). The release parameters of the first skill are the same as the relative position of the fifth position, and the operation data of the first skill release operation are the same as the relative position of the third position.

[0142] In some embodiments, at the end of a first duration following the start time of the virtual object's paused movement, the step of controlling the virtual object to release the first skill based on the fifth position is performed.

[0143] That is, the pause skill released by other virtual objects is used to control the virtual object to pause its movement for a first duration at the fifth position.

[0144] Optionally, step 1150 can be executed at a first time point after the start time of the virtual object's paused movement and before the end of the first duration. Alternatively, step 1150 can be executed at a second time point after the end of the first duration after the start time of the virtual object's paused movement. Alternatively, step 1150 can be executed at the end of the first duration after the start time of the virtual object's paused movement.

[0145] By executing step 1150 at the end of the first duration after the virtual object pauses its movement, the first skill release operation can be responded to in a timely manner after the virtual object stops pausing, reducing the possibility of the virtual object continuing to be attacked by other virtual objects, enhancing the richness of the game, and attracting users' attention to the game program.

[0146] In some embodiments, if no skill release operation is received for the virtual object after the first skill release operation is received but before the end of the first duration, step 1150 is executed when the first duration ends.

[0147] In some embodiments, if a third skill release operation is received for a virtual object after receiving a first skill release operation but before the end of a first duration, the virtual object is controlled to release the third skill based on a fifth position. The third skill release operation is used to control the virtual object to release a third skill that is either directional or non-directional.

[0148] That is, if the triggering condition for the virtual object to pause movement is met, and the virtual object is controlled to pause movement at the fifth position, at the end of the first duration, the virtual object is controlled to respond to the most recently received skill release operation based on the fifth position.

[0149] If the most recent skill release operation was the first skill release operation received when the virtual object moved to the third position in the virtual scene, then at the end of the first duration after the virtual object pauses its movement, control the virtual object to release the first skill based on the fifth position.

[0150] If the most recent skill release operation is a third skill release operation received after the first skill release operation and before the end of the first duration, then at the end of the first duration after the start time of the virtual object's paused movement, control the virtual object to release the third skill based on the fifth position.

[0151] The third skill release operation targeting a virtual object can be any skill release operation targeting the virtual object; this application does not impose any specific limitations.

[0152] The above methods enrich the game's operating mechanism, thereby increasing users' interest and attention to the game and improving the user experience.

[0153] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0154] Please refer to Figure 12, which shows a block diagram of a virtual object control device according to an embodiment of this application. This device has the function of implementing the aforementioned virtual object control method; the function can be implemented by hardware or by hardware executing corresponding software. This device can be the terminal device described above, or it can be installed within a terminal device. As shown in Figure 12, the device 1200 may include: an object display module 1210, a movement control module 1220, an operation receiving module 1230, and a skill control module 1240.

[0155] The object display module 1210 is used to display a virtual scene, which includes virtual objects.

[0156] The movement control module 1220 is used to control the virtual object to move in the virtual scene in response to a displacement operation on the virtual object. The displacement operation is used to realize the movement process of moving the virtual object from a first position to a second position in the virtual scene.

[0157] The operation receiving module 1230 is used to receive a first skill release operation for the virtual object during the movement process. The first skill release operation is used to control the virtual object to release a first skill with directionality. The first skill release operation is received when the virtual object moves to a third position in the virtual scene. The third position is any position of the virtual object during the movement process from the first position in the virtual scene to the second position.

[0158] The skill control module 1240 is used to control the virtual object to release the first skill based on the second position.

[0159] In some embodiments, the skill control module 1240 is configured to:

[0160] If the conditions are met during the movement process, the step of controlling the virtual object to release the first skill based on the second position is executed.

[0161] In some embodiments, the conditions include at least one of the following:

[0162] The movement speed of the virtual object is greater than or equal to a speed threshold.

[0163] The movement duration of the movement process is less than or equal to the duration threshold;

[0164] The movement distance during the movement process is less than or equal to a distance threshold.

[0165] In some embodiments, the skill control module 1240 is configured to:

[0166] If the condition is not met during the movement process, the virtual object is controlled to release the first skill based on the third position.

[0167] In some embodiments, the skill control module 1240 is configured to:

[0168] Based on the second position and the operation data of the first skill release operation, the release parameters of the first skill are determined, wherein the operation data of the first skill release operation is used to indicate at least one of the operation direction, operation distance and operation position of the first skill release operation, and the release parameters of the first skill are used to indicate at least one of the release direction, release distance and release position of the first skill;

[0169] Based on the release parameters of the first skill, the virtual object is controlled to release the first skill.

[0170] In some embodiments, the skill control module 1240 is configured to:

[0171] If the first skill is a direction selection skill, the release direction and release distance of the first skill are determined based on the second position and the operation direction and operation distance of the first skill release operation.

[0172] or,

[0173] If the first skill is a position selection skill, the release position of the first skill is determined based on the second position and the operation position of the first skill release operation.

[0174] In some embodiments, the device 1200 further includes a data storage module, the data storage module being configured to:

[0175] During the movement process, data of the movement process and data of the first skill release operation are stored. The data of the movement process includes at least one of the following: the first position, the second position, the movement speed of the virtual object, the movement duration of the movement process, and the movement distance of the movement process. The data of the first skill release operation includes the third position and the data of the first skill release operation.

[0176] In some embodiments, the skill control module 1240 is configured to:

[0177] At a first point in time before the virtual object moves to the second position, the step of controlling the virtual object to release the first skill based on the second position is executed;

[0178] or,

[0179] At a second time point after the virtual object moves to the second position, the step of controlling the virtual object to release the first skill based on the second position is executed;

[0180] or,

[0181] At the point in time when the virtual object moves to the second position, the step of controlling the virtual object to release the first skill based on the second position is executed.

[0182] In some embodiments, the operation receiving module 1230 is configured to receive a second skill release operation for the virtual object during the movement process. The second skill release operation is used to control the virtual object to release a second skill that is not directional. The second skill release operation is received when the virtual object moves to a fourth position in the virtual scene. The fourth position is any position in the movement process of the virtual object from the first position in the virtual scene to the second position.

[0183] The skill control module 1240 is used to control the virtual object to release the second skill at the fourth position.

[0184] In some embodiments, the device 1200 further includes a pause control module, the pause control module being configured to:

[0185] During the movement, if the virtual object moves to the fifth position in the virtual scene and the trigger condition for pausing the movement of the virtual object is met, the virtual object is controlled to pause its movement at the fifth position. The fifth position is any position in the process of the virtual object continuing to move from the third position in the virtual scene to the second position.

[0186] Control the virtual object to release the first skill based on the fifth position.

[0187] In some embodiments, the pause control module is configured to:

[0188] At the end of the first duration after the start time of the virtual object's paused movement, the step of controlling the virtual object to release the first skill based on the fifth position is executed.

[0189] In some embodiments, the pause control module is configured to:

[0190] If no skill release operation is received for the virtual object after receiving the first skill release operation and before the end of the first duration, then at the end of the first duration, the step of controlling the virtual object to release the first skill based on the fifth position is executed;

[0191] If a third skill release operation is received for the virtual object after the first skill release operation is received but before the first duration ends, the virtual object is controlled to release the third skill based on the fifth position. The third skill release operation is used to control the virtual object to release a third skill that has or does not have directionality.

[0192] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the content structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0193] Please refer to Figure 13, which shows a structural block diagram of a computer device 1300 provided in one embodiment of this application. The computer device 1300 can be any electronic device with data computing, processing, and storage functions. The computer device 1300 can be used to implement the virtual object control method provided in the above embodiments. The computer device 1300 can be a terminal device.

[0194] Typically, computer device 1300 includes a processor 1301 and a memory 1302.

[0195] Processor 1301 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1301 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1301 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1301 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1301 may also include an AI processor for handling computational operations related to machine learning.

[0196] The memory 1302 may include one or more computer-readable storage media, which may be non-transitory. The memory 1302 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1302 are used to store a computer program configured to be executed by one or more processors to implement the control method for the virtual object described above.

[0197] Those skilled in the art will understand that the structure shown in FIG13 does not constitute a limitation on the computer device 1300, and may include more or fewer components than shown, or combine certain components, or employ different component arrangements.

[0198] In an illustrative embodiment, a computer-readable storage medium is also provided, wherein a computer program is stored in the storage medium, and the computer program, when executed by a processor of a computer device, implements the aforementioned control method for the virtual object. Optionally, the aforementioned computer-readable storage medium may be ROM (Read-Only Memory), RAM (Random Access Memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk, and optical data storage device, etc.

[0199] In an exemplary embodiment, a computer program product is also provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the aforementioned control method for the virtual object.

[0200] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform users that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without receiving confirmation from the user), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected by this application is processed strictly in accordance with the requirements of relevant national laws and regulations. The informed consent or separate consent of the data subject is obtained only with the user's consent and authorization. Subsequent data use and processing are conducted within the scope of laws, regulations, and the data subject's authorization, and the collection, use, and processing of relevant user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.

[0201] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0202] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for controlling a virtual object, the method being performed by a terminal device, the method comprising: displaying a virtual scene, the virtual scene comprising a virtual object; in response to a displacement operation for the virtual object, controlling the virtual object to move in the virtual scene, the displacement operation being used to implement a movement process of moving the virtual object from a first position to a second position in the virtual scene; during the movement process, receiving a first skill release operation for the virtual object, the first skill release operation being used to control the virtual object to release a first skill having directionality, and the first skill release operation being received when the virtual object moves to a third position in the virtual scene, the third position being any one position in the movement process of moving the virtual object from the first position to the second position in the virtual scene; controlling the virtual object to release the first skill based on the second position.

2. The method of claim 1, wherein, The method further comprises: in a case where the movement process meets a condition, performing the step of controlling the virtual object to release the first skill based on the second position.

3. The method of claim 2, wherein, The condition comprises at least one of: a moving speed of the virtual object being greater than or equal to a speed threshold; a moving time length of the movement process being less than or equal to a time length threshold; a moving distance of the movement process being less than or equal to a distance threshold.

4. The method of claim 2 or 3, wherein, The method further comprises: in a case where the movement process does not meet the condition, controlling the virtual object to release the first skill based on the third position.

5. The method according to any one of claims 1 to 4, wherein, The controlling the virtual object to release the first skill based on the second position comprises: determining a release parameter of the first skill based on the second position and operation data of the first skill release operation, wherein the operation data of the first skill release operation is used to indicate at least one of an operation direction, an operation distance and an operation position of the first skill release operation, and the release parameter of the first skill is used to indicate at least one of a release direction, a release distance and a release position of the first skill; and controlling the virtual object to release the first skill based on the release parameter of the first skill.

6. The method of claim 5, wherein, The determining the release parameter of the first skill based on the second position and the operation data of the first skill release operation comprises: in a case where the first skill belongs to a direction selection type of skill, determining a release direction and a release distance of the first skill based on the second position and at least one of the operation direction and the operation distance of the first skill release operation; or in a case where the first skill belongs to a position selection type of skill, determining a release position of the first skill based on the second position and the operation position of the first skill release operation. The method further comprises:

7. The method according to any one of claims 1 to 6, wherein, ​ In the moving process, data of the moving process and data of the first skill release operation are stored, wherein the data of the moving process comprises at least one of the first position, the second position, a moving speed of the virtual object, a moving time length of the moving process, a moving distance of the moving process, and the data of the first skill release operation comprises the third position and data of the first skill release operation.

8. The method according to any one of claims 1 to 7, wherein, The method further comprises: performing the step of controlling the virtual object to release the first skill based on the second position before the virtual object moves to the second position at a first time point; or, performing the step of controlling the virtual object to release the first skill based on the second position after the virtual object moves to the second position at a second time point; or, performing the step of controlling the virtual object to release the first skill based on the second position at a time point when the virtual object moves to the second position.

9. The method according to any one of claims 1 to 8, wherein, The method further comprises: In the moving process, a second skill release operation for the virtual object is received, the second skill release operation is used to control the virtual object to release a second skill without directionality, and the second skill release operation is received when the virtual object moves to a fourth position in the virtual scene, the fourth position being any one position in the moving process of the virtual object from the first position to the second position in the virtual scene; controlling the virtual object to release the second skill at the fourth position.

10. The method according to any one of claims 1 to 9, wherein, After the first skill release operation for the virtual object is received, the method further comprises: In the moving process, if a trigger condition for the virtual object to pause moving is met when the virtual object moves to a fifth position in the virtual scene, the virtual object is controlled to pause moving at the fifth position, the fifth position being any one position in the process of the virtual object moving from the third position to the second position in the virtual scene; controlling the virtual object to release the first skill based on the fifth position.

11. The method of claim 10, wherein, The method further comprises: performing the step of controlling the virtual object to release the first skill based on the fifth position at the end of a first time length after a starting time of the virtual object pausing moving.

12. The method of claim 11, wherein, The method further comprises: if no skill release operation for the virtual object is received after the first skill release operation is received and before the end of the first time length, performing the step of controlling the virtual object to release the first skill based on the fifth position at the end of the first time length; if a third skill release operation for the virtual object is received after the first skill release operation is received and before the end of the first time length, controlling the virtual object to release a third skill based on the fifth position, wherein the third skill release operation is used to control the virtual object to release a third skill with or without directionality.

13. A virtual object control device, the device comprising: An object display module is configured to display a virtual scene, wherein the virtual scene comprises a virtual object; A movement control module is configured to control movement of the virtual object in the virtual scene in response to a displacement operation for the virtual object, wherein the displacement operation is configured to implement a movement process of moving the virtual object from a first position to a second position in the virtual scene; An operation receiving module is configured to receive a first skill release operation for the virtual object during the movement process, wherein the first skill release operation is configured to control the virtual object to release a first skill with directionality, and the first skill release operation is received when the virtual object moves to a third position in the virtual scene, and the third position is any position in the movement process of moving the virtual object from the first position to the second position in the virtual scene; A skill control module is configured to control the virtual object to release the first skill based on the second position.

14. A terminal device, comprising a processor and a memory, wherein the memory stores a computer program, and the computer program is loaded and executed by the processor to implement the control method of the virtual object according to any one of claims 1 to 12.

15. A computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is loaded and executed by a processor to implement the control method of the virtual object according to any one of claims 1 to 12.

16. A computer program product, comprising a computer program, and the computer program is loaded and executed by a processor to implement the control method of the virtual object according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Object selecting method and device, storage medium and electronic device

    CN110215709A

  • Virtual object control method and device, terminal and storage medium

    CN111589135A

  • Virtual object control method and device, terminal and storage medium

    CN113101656A

  • Virtual object control method and device and electronic equipment

    CN113244608A

  • Virtual character control method, nonvolatile storage medium and electronic device

    CN113908550A