Methods, devices, and electronic terminals for controlling virtual objects

By responding to drag and drop operations in a virtual scene, the system controls the placement of virtual objects in the area that is in contact with the interface boundary in the direction of the throw, thus solving the problem of low efficiency in placing items in a virtual scene and achieving fast and accurate item placement.

CN116036596BActive Publication Date: 2026-03-10NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-08
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In virtual environments, users cannot place items quickly and accurately, especially when the target location is at the edge of the current screen viewport, resulting in low item placement efficiency.

Method used

By responding to drag operations to move virtual objects and performing quick throw operations within the placement area to determine the throwing direction, the virtual objects are controlled to be placed in a placement area that is along the throwing direction and in contact with the graphical user interface display boundary.

Benefits of technology

It enables convenient placement of items in multi-viewport mode, allowing users to place items quickly and accurately, thus improving the efficiency of item placement in custom scenes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116036596B_ABST
    Figure CN116036596B_ABST
Patent Text Reader

Abstract

This disclosure provides a method, apparatus, and electronic terminal for controlling virtual objects, relating to the field of game technology, and alleviates the technical problem of low efficiency in placing items in virtual scenes. The method includes: controlling the virtual object to move according to a drag operation on the virtual object; determining a throwing direction corresponding to a quick throw operation performed on the virtual object in a placement area; and controlling the virtual object to be placed in a first placement area; wherein the first placement area is a placement area along the throwing direction and in contact with a display boundary in the graphical user interface, and the display boundary is the boundary displayed in the graphical user interface for at least a portion of the placement area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of game technology, and in particular to a method, apparatus, and electronic terminal for controlling virtual objects. Background Technology

[0002] Currently, with the improvement of terminal performance, many games offer a larger scene for users to customize their appearance, meaning the area for customization is no longer limited to a single screen viewport. In 2D, 2.5D, or 3D scenarios, multiple screen viewports may be available for placing custom items.

[0003] If a user wants to place an item at the edge of the current screen viewport, they can do so using the placement action. However, this method is not fast, resulting in low efficiency for item placement in the virtual scene. Summary of the Invention

[0004] The purpose of this disclosure is to provide a method, device, and electronic terminal for controlling virtual objects, so as to alleviate the technical problem of low efficiency in placing items in virtual scenes.

[0005] In a first aspect, embodiments of this disclosure provide a method for controlling virtual objects, which provides a graphical user interface through a terminal device. The virtual scene contains virtual objects, and the graphical user interface displays a placement area for placing at least a portion of the virtual objects. The method includes:

[0006] In response to a drag operation on the virtual object, control the virtual object to move according to the drag operation;

[0007] In response to a quick throw operation performed on the virtual object in the placement area, the throwing direction corresponding to the quick throw operation is determined;

[0008] The virtual object is controlled to be placed in a first placement area; wherein the first placement area is a placement area along the throwing direction and in contact with the display boundary in the graphical user interface, and the display boundary is the boundary of the at least part of the placement area displayed in the graphical user interface.

[0009] Secondly, a control device for virtual objects is provided, which provides a graphical user interface via a terminal device. The virtual scene of the game contains virtual objects, and the graphical user interface displays a placement area for placing at least a portion of the virtual objects. The device includes:

[0010] A first control module is configured to respond to a drag operation on the virtual object and control the virtual object to move according to the drag operation.

[0011] A determining module is configured to determine the throwing direction corresponding to the quick-throw operation in response to a quick-throw operation performed on the virtual object in the placement area;

[0012] The second control module is used to control the virtual object to be placed in a first placement area; wherein the first placement area is a placement area along the throwing direction and in contact with the display boundary in the graphical user interface, and the display boundary is the boundary of the at least part of the placement area displayed in the graphical user interface.

[0013] Thirdly, this disclosure also provides an electronic terminal, including a memory and a processor, wherein the memory stores a computer program that can run on the processor, and the processor executes the computer program to implement the method described in the first aspect above.

[0014] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium storing computer-executable instructions that, when invoked and executed by a processor, cause the processor to perform the method described in the first aspect above.

[0015] The embodiments disclosed herein bring the following beneficial effects:

[0016] This disclosure provides a method, apparatus, and electronic terminal for controlling virtual objects. In response to a drag operation on a virtual object, the method controls the virtual object to move according to the drag operation. In response to a quick-throw operation performed on the virtual object in a placement area, the method determines the throwing direction corresponding to the quick-throw operation and controls the virtual object to be placed in a first placement area. The first placement area is a placement area along the throwing direction that contacts the display boundary in the graphical user interface. The display boundary is the boundary of at least a portion of the placement area displayed in the graphical user interface. In this solution, by controlling the virtual object to be placed in a placement area along the throwing direction corresponding to the quick-throw operation and contacting the display boundary in the graphical user interface, when the target position of the item is located at the edge of the current screen viewport, the item placement operation can be completed through simple judgment and interactive gestures. This achieves a convenient way to place items in multi-viewport states, enabling users to place items quickly and accurately, and improving the efficiency of item placement in custom scenes.

[0017] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the specific embodiments of this disclosure or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0019] Figure 1 This shows an example of an existing arrangement of items;

[0020] Figure 2 This shows another example of an existing arrangement of items;

[0021] Figure 3 This shows another example of an existing arrangement of items;

[0022] Figure 4 The illustration shows an application scenario provided by an embodiment of this disclosure;

[0023] Figure 5 A schematic diagram of the structure of a mobile phone provided in an embodiment of this disclosure is shown;

[0024] Figure 6 This illustration shows a schematic diagram of a use scenario for a touch terminal provided in an embodiment of the present disclosure;

[0025] Figure 7 A flowchart illustrating the method for controlling virtual objects provided in this embodiment of the disclosure;

[0026] Figure 8 A schematic diagram of a graphical user interface provided in an embodiment of this disclosure is shown;

[0027] Figure 9 A schematic diagram of another graphical user interface provided in an embodiment of this disclosure is shown;

[0028] Figure 10 A schematic diagram of another graphical user interface provided in an embodiment of this disclosure is shown;

[0029] Figure 11 A schematic diagram of another graphical user interface provided in an embodiment of this disclosure is shown;

[0030] Figure 12 A schematic diagram of another graphical user interface provided in an embodiment of this disclosure is shown;

[0031] Figure 13 A schematic diagram of another graphical user interface provided in an embodiment of this disclosure is shown;

[0032] Figure 14A schematic diagram of another graphical user interface provided in an embodiment of this disclosure is shown;

[0033] Figure 15 This is a schematic diagram of the structure of a control device for a virtual object provided in an embodiment of the present disclosure;

[0034] Figure 16 A schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure is shown. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0036] The terms “comprising” and “having”, and any variations thereof, used in the embodiments of this disclosure are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such processes, methods, products, or devices.

[0037] Currently, users may encounter the following three situations when placing items: such as... Figure 1 As shown, the item currently being placed is planned to be placed within the current screen viewport, and the planned area is not at the edge of the current viewport; for example... Figure 2 As shown, the item currently being placed is planned to be placed within the current screen viewport, and the planned area is at the edge of the current viewport; as... Figure 3 As shown, the item currently being placed is planned to be placed outside the current screen viewport.

[0038] For the two scenarios of placing the item within the current screen viewport and outside the current screen viewport: Currently, when the user drags the item to the edge of the screen, the viewport will adapt according to the dragging direction, such as moving the viewport when the item is dragged to the edge of the viewport; the user can also adjust the viewport range with their left hand while dragging the item with their right hand.

[0039] However, both methods have limitations. If the user wants to place the item at the edge of the current screen viewport, it will likely trigger a viewport movement first. After the viewport moves, the user will need to control the drag direction again to complete the placement. When the left hand controls the viewport movement, the right hand may not move in time, causing the areas of action of the left and right hands to overlap, resulting in a conflict between the left and right hands when placing the item.

[0040] Currently, when the target location is at the edge of the current screen viewport, users cannot place items quickly and accurately. Furthermore, it is impossible to accurately determine whether the user wants to place the item at the edge of the current screen viewport or outside the current screen viewport, resulting in low efficiency in placing items in the virtual scene.

[0041] Based on this, the present disclosure provides a method, apparatus, and electronic terminal for controlling virtual objects, which can alleviate the technical problem of low efficiency in placing items in virtual scenes.

[0042] In one embodiment of this disclosure, the virtual object control method can run on a local terminal device or a server. When the virtual object control method runs on a server, the method can be implemented and executed based on a cloud interaction system, wherein the cloud interaction system includes a server and a client device.

[0043] In an optional implementation, various cloud applications, such as cloud gaming, can run under the cloud interaction system. Taking cloud gaming as an example, cloud gaming refers to a gaming method based on cloud computing. In the cloud gaming operating mode, the game program's execution and the game screen presentation are separated. The storage and execution of virtual object control methods are completed on the cloud gaming server. The client device is used for data reception, transmission, and game screen presentation. For example, the client device can be a display device with data transmission capabilities located close to the user, such as a mobile terminal, television, computer, or PDA; however, information processing is performed by the cloud gaming server in the cloud. When playing the game, the user operates the client device to send operation commands to the cloud gaming server. The cloud gaming server runs the game according to the operation commands, encodes and compresses game screen data, returns it to the client device via the network, and finally, the client device decodes and outputs the game screen.

[0044] In an optional implementation, taking a game as an example, the local terminal device stores the game program and is used to display the game screen. The local terminal device is used to interact with the user through a graphical user interface, that is, conventionally downloading, installing, and running the game program via an electronic device. The local terminal device can provide the graphical user interface to the user in various ways, such as rendering it on the terminal's display screen or providing it to the user through holographic projection. For example, the local terminal device can include a display screen for displaying the graphical user interface, which includes game screens, and a processor for running the game, generating the graphical user interface, and controlling the display of the graphical user interface on the display screen.

[0045] In one possible implementation, this disclosure provides a method for controlling virtual objects, which provides a graphical user interface through a terminal device. The terminal device can be either the aforementioned local terminal device or a client device in the aforementioned cloud interaction system.

[0046] For example, such as Figure 4 As shown, Figure 4 This is a schematic diagram illustrating an application scenario provided by an embodiment of this disclosure. The application scenario may include a touch terminal (e.g., mobile phone 102) and a server 101. The touch terminal can communicate with the server 101 via a wired or wireless network. The touch terminal is used to run a virtual desktop, through which it can interact with the server 101 to control the content on the server 101.

[0047] This embodiment uses a mobile phone 102 as an example to illustrate the touch terminal. The mobile phone 102 includes components such as a radio frequency (RF) circuit 110, a memory 120, a touchscreen 130, and a processor 140. Those skilled in the art will understand that... Figure 5 The mobile phone structure shown does not constitute a limitation on the mobile phone and may include more or fewer components than shown, or combine or separate certain components, or have different component arrangements. Those skilled in the art will understand that the touchscreen 130 is a user interface (UI), and the mobile phone 102 may include a user interface with fewer components than shown.

[0048] The RF circuit 110 can also communicate wirelessly with networks and other devices. The wireless communication can use any communication standard or protocol, including but not limited to Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, and Short Messaging Service (SMS).

[0049] The memory 120 can be used to store software programs and modules. The processor 140 executes various functional applications and data processing of the mobile phone 102 by running the software programs and modules stored in the memory 120. The memory 120 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function, etc.; the data storage area may store data created based on the use of the mobile phone 102, etc. In addition, the memory 120 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0050] The touchscreen 130 can be used to display a graphical user interface and receive user actions on the graphical user interface. Specifically, the touchscreen 130 may include a display panel and a touch panel. The display panel may be configured as a liquid crystal display (LCD), an organic light-emitting diode (OLED), or similar device. The touch panel can collect touch or non-touch operations from the user on or near it (e.g., ...). Figure 6As shown, the user operates on or near the touch panel using their finger 103, stylus, or any suitable object or accessory, generating pre-set operation commands. The touch panel may include a touch detection device and a touch controller. The touch detection device detects the user's touch position and posture, and detects the signals generated by the touch operation, transmitting the signals to the touch controller. The touch controller receives touch information from the touch detection device, converts it into information that the processor can process, and sends it to the processor 140. It can also receive and execute commands from the processor 140. Furthermore, the touch panel can be implemented using various types of technologies, such as resistive, capacitive, infrared, and surface acoustic wave, or any future-developed technology. Further, the touch panel may cover the display panel. The user can operate on or near the touch panel covered by the graphical user interface displayed on the display panel. After detecting the operation on or near the touch panel, the touch panel transmits it to the processor 140 to confirm the user input. Subsequently, the processor 140 responds to the user input by providing corresponding visual output on the display panel. In addition, the touch panel and the display panel can be implemented as two separate components or integrated together.

[0051] The processor 140 is the control center of the mobile phone 102. It connects to various parts of the mobile phone through various interfaces and lines. By running or executing software programs and / or modules stored in the memory 120, and calling data stored in the memory 120, it performs various functions of the mobile phone 102 and processes data, thereby monitoring the mobile phone as a whole.

[0052] The embodiments of this disclosure will be further described below with reference to the accompanying drawings.

[0053] Figure 7 This is a flowchart illustrating a method for controlling a virtual object according to an embodiment of the present disclosure.

[0054] This method can be applied to terminal devices capable of displaying graphical user interfaces (e.g., Figure 5 The mobile phone 102 shown provides a graphical user interface through the terminal device. The virtual scene contains virtual objects, and the graphical user interface displays at least a portion of the placement area for placing the virtual objects. Figure 7 As shown, the method includes:

[0055] Step S710: In response to a drag operation on a virtual object, control the virtual object to move according to the drag operation.

[0056] In practical applications, the virtual objects in this embodiment can be any objects that a user can place in a virtual scene, such as buildings, plants, furniture, decorations, etc.

[0057] In one alternative implementation, the virtual object can be a relatively large or a relatively small 3D model within the virtual scene. The virtual object can have any shape and structure. The content presented by the graphical user interface can include the entirety of the virtual object or only a portion thereof. The virtual object can be displayed in the upper left, upper right, or other locations within the graphical user interface; this exemplary embodiment is not limited to these locations.

[0058] For drag-and-drop operations, for example, such as Figure 8 As shown, users can move item Item1 by dragging. In other words, users can control the position of item Item1 by dragging, and make item Item1 move with the drag operation.

[0059] As an optional implementation, when the user starts the drag operation, the system enters the normal drag state S1. In the S1 state, the system detects in real time whether the user performs a quick throw operation. That is, the system first enters the drag state and then detects the quick throw operation.

[0060] Step S720: In response to a quick throw operation performed on a virtual object in the placement area, determine the throwing direction corresponding to the quick throw operation.

[0061] It should be noted that the fling operation in this embodiment is a sliding gesture with a sliding direction. The fling operation can be any sliding operation with direction. For example, the fling operation can be a sliding operation in which the touch pressure decreases from large to small along the throwing direction until the touch ends, or a sliding operation in which the touch pressure remains unchanged along the throwing direction until the touch ends.

[0062] Optionally, the direction of the quick throw operation can be indicated by decreasing touch pressure, allowing users to perform directional actions. For example, decreasing touch pressure indicates the direction of the throw, accurately determining the direction of the quick throw and enabling users to achieve a directional throwing effect. Furthermore, the quick throw operation, with its decreasing touch pressure until the touch ends, can be distinguished from the drag operation, where the touch pressure remains constant. Both operations are performed on virtual objects, preventing confusion between quick throw and drag operations.

[0063] In practical applications, when the user is in state S1, the quick throw detection during the item placement operation initiates a quick throw, entering quick throw state S2 and recording the direction of the quick throw. For example, the throwing direction corresponding to the quick throw operation is as follows: Figure 9 As shown, the direction of Item1 can be determined to be upward by using the fling operation.

[0064] Step S730: Control the virtual object to be placed in the first placement area.

[0065] The first placement area is a placement area along the throwing direction that contacts the display boundary in the graphical user interface, and the display boundary is the boundary of at least a portion of the placement area displayed in the graphical user interface.

[0066] For example, such as Figure 9 and Figure 10 As shown, Item1 is placed in the throwing direction and is closest to the current screen viewport boundary. The purpose is to ensure that the item placement direction matches the user's fast throwing direction, and that the item is placed very close to the screen viewport boundary. This ensures that the item placement direction matches the user's throwing direction, and that the item is placed quickly and accurately at the edge of the current screen viewport.

[0067] In this embodiment of the disclosure, by controlling the virtual object to be placed in the placement area that is in contact with the display boundary in the graphical user interface along the throwing direction corresponding to the quick throw operation, the object placement operation can be completed through simple judgment and interactive gestures when the target position of the object is located at the edge of the current screen viewport. This realizes a convenient way to place objects in a multi-viewport state, enabling users to place objects quickly and accurately, and improving the efficiency of object placement in custom scenes.

[0068] The steps described above will be explained in detail below.

[0069] In some embodiments, the drag speed can be detected only when the drag operation moves to an area closer to the screen edge, saving the unnecessary detection of drag speed at non-screen edge locations. As an example, the method may also include the following steps:

[0070] Step a), in response to a drag operation on a virtual object, determine the position to which the virtual object has moved according to the drag operation;

[0071] Step b) In response to the fact that the distance between the virtual object's current position and the display boundary is less than a preset distance, the movement speed of the drag operation is determined.

[0072] When the user starts dragging, the system enters normal dragging state S1. In state S1, the system detects the user's position in the current viewport during the dragging process in real time. When the user's real-time dragging position enters the edge area of ​​the current screen viewport, such as the area of ​​the screen edge of 25pt, the system detects the movement speed of the dragging operation.

[0073] By detecting the screen edge position during item placement, the movement speed of dragging operations can be detected in a timely and effective manner, saving the time spent on ineffective detection of dragging speed when the item is not at the screen edge.

[0074] Based on steps a) and b) above, it is possible to accurately determine whether the user intends to place the item at the edge of the current screen viewport rather than move the screen viewport when the dragging speed is relatively low.

[0075] As an example, after step b), the method may further include the following steps:

[0076] Step c), in response to the dragging operation moving at a speed less than a preset speed, control the virtual object to be displayed in the second placement area in the graphical user interface that is in contact with the display boundary.

[0077] like Figure 11 As shown, when the user's drag speed V1 is less than the preset speed V, it is determined that the item needs to be placed close to the edge within the current screen viewport. Figure 12 As shown, the item will be snapped to the edge of the current screen viewport.

[0078] By causing the item to be snapped to the edge of the current screen viewport when the dragging speed is less than a preset speed, the dragging speed detection during the item placement operation can accurately determine whether the user intends to place the item at the edge of the current screen viewport, thus achieving the effect of the model snapping to the edge of the screen viewport due to speed determination.

[0079] Based on step c) above, the item is snapped to the edge of the screen viewport at a position that is along the direction of the drag operation, so that the snapping effect is more in line with the user's operation. As an example, step c) above may include the following steps:

[0080] In step d), in response to the drag operation moving at a speed less than a preset speed, the virtual object is controlled to be displayed in a second placement area that is in contact with the display boundary in the graphical user interface along the direction of movement of the drag operation.

[0081] In practical applications, the position where an item is placed on the interface boundary can also conform to the direction of drag operation. That is, the position where the item is snapped to the edge of the screen viewport can be the edge position along the direction of drag operation, so that the snapping effect can better fit the user operation.

[0082] Based on step c) above, the process of an object being snapped to the edge of the screen viewport can be represented by the object's movement, thus demonstrating a realistic simulation of the object being snapped to the boundary. As an example, step c) above may include the following steps:

[0083] Step e) In response to the dragging speed being less than a preset speed, the virtual object is controlled to move from the dragging position corresponding to the dragging operation to the second placement area in the graphical user interface that contacts the display boundary.

[0084] In practical applications, the process of an object being attracted to the edge of the screen viewport can be demonstrated by the movement of the object, thus showing a realistic simulation effect of the object being attracted to the boundary.

[0085] Based on step c) above, once an item is snapped to the edge of the screen viewport, it can be directly placed at the snapped position, making user operation more convenient. As an example, after step c), the method may further include the following steps:

[0086] Step f) In response to a placement operation of a virtual object displayed in the second placement area, control the virtual object to be placed in the second placement area.

[0087] In this embodiment of the disclosure, when an item is attracted to the edge of the screen viewport, it can be placed directly at the currently attracted position, making it more convenient and accurate for the user to place the item at the edge.

[0088] Based on steps a) and b) above, it is possible to accurately determine whether the user intends to move the screen viewport or place an object at the edge of the current screen viewport when the dragging speed is relatively high.

[0089] As an example, after step b), the method may further include the following steps:

[0090] Step g), in response to the dragging speed being greater than or equal to a preset speed, control the virtual camera to move in the dragging direction of the dragging operation.

[0091] The virtual camera is used in the virtual scene to capture at least a portion of the placement area displayed in the graphical user interface.

[0092] For example, if the user's dragging position is at the edge of the screen and the user's dragging speed V2 is greater than a predetermined threshold V, such as Figure 13 As shown, if the item needs to be placed outside the current screen viewport, then the viewport will be moved according to the user's drag direction, such as... Figure 14 As shown, the viewport moves according to the direction the user drags.

[0093] In this embodiment of the disclosure, when the target location for placing an item is outside the screen, the screen viewport movement effect can be achieved through simple speed determination, accurately determining that the user intends to place the item outside the current screen viewport.

[0094] Based on step g) above, if the user's dragging operation stops during screen viewport movement, the screen viewport movement is immediately stopped, facilitating control over the screen viewport movement. As an example, after step g), the method may further include the following steps:

[0095] Step h), in response to the stop of the drag operation, displays in the graphical user interface the placement area corresponding to at least a portion captured by the virtual camera when the drag operation stops.

[0096] If the user stops dragging during the movement of the screen viewport, the movement of the screen viewport can be stopped immediately, so that the screen viewport moves with the dragging operation, making it easier for the user to control the movement of the screen viewport.

[0097] In some embodiments, the process from the quick throw operation to the completion of the object's placement on the boundary can be represented by the object's movement, thus demonstrating a realistic simulation of the object being thrown. As an example, step S730 above may include the following steps:

[0098] Step i), in response to the quick drop operation performed on the virtual object in the placement area, determine the current position of the virtual object in the placement area;

[0099] Step j) controls the virtual object to move from its current position to the first placement area.

[0100] In this embodiment of the disclosure, the process from the quick throw operation to the completion of the placement of the item on the boundary can be represented by the movement of the item from its initial position to the placement position, so as to demonstrate the realistic simulation effect of the item being thrown.

[0101] In some embodiments, users can also place items using conventional placement operations, thereby reducing operational difficulty and saving user operating costs through non-directional placement. As an example, after step S710, the method may further include the following steps:

[0102] Step k) In response to the placement operation for the virtual object, control the virtual object to be placed in the third placement area where the placement operation is performed.

[0103] The third placement area is the placement area where the virtual object is located when the placement operation is performed.

[0104] Of course, users can also place items using the regular placement operation, which reduces the difficulty of operation and saves users' operating costs by allowing for non-directional placement. In addition, users can also use various operation methods such as quick drop operation or placement operation to achieve a more flexible effect of placing items at the boundary.

[0105] Figure 15A schematic diagram of a control device for virtual objects is provided. A graphical user interface is provided via a terminal device. The virtual scene of the game contains virtual objects, and the graphical user interface displays a placement area for placing at least a portion of the virtual objects. Figure 15 As shown, the virtual object control device 1500 includes:

[0106] The first control module 1501 is used to control the virtual object to move according to the drag operation in response to the drag operation;

[0107] The first determining module 1502 is used to determine the throwing direction corresponding to the quick throw operation in response to the quick throw operation performed on the virtual object in the placement area;

[0108] The second control module 1503 is used to control the virtual object to be placed in a first placement area; wherein the first placement area is a placement area along the throwing direction and in contact with the display boundary in the graphical user interface, and the display boundary is the boundary of the at least part of the placement area displayed in the graphical user interface.

[0109] By controlling the virtual object to be placed in the placement area that is in contact with the display boundary in the graphical user interface along the throwing direction corresponding to the quick throw operation, the object can be placed by simple judgment and interactive gestures when the target position of the object is located at the edge of the current screen viewport. This realizes a convenient way to place objects in multi-viewport states, enabling users to place objects quickly and accurately, and improving the efficiency of object placement in custom scenes.

[0110] In one feasible implementation, the device further includes:

[0111] The second determining module is used to determine the position to which the virtual object has moved according to the drag operation in response to the drag operation;

[0112] The third determining module is used to determine the movement speed of the drag operation in response to the fact that the distance between the position to which the virtual object has moved and the display boundary is less than a preset distance.

[0113] In one feasible implementation, the device further includes:

[0114] The third control module is used to control the virtual object to be displayed in the second placement area in the graphical user interface that is in contact with the display boundary in response to the dragging operation moving at a speed less than a preset speed.

[0115] In a feasible implementation, the third control module is specifically used for:

[0116] In response to the dragging operation having a movement speed less than a preset speed, the virtual object is controlled to be displayed in a second placement area that is in contact with the display boundary in the graphical user interface along the movement direction of the dragging operation.

[0117] In one feasible implementation, the third control module is also used for:

[0118] In response to the dragging operation's movement speed being less than a preset speed, the virtual object is controlled to move from the dragging position corresponding to the dragging operation to a second placement area in the graphical user interface that contacts the display boundary.

[0119] In one feasible implementation, the device further includes:

[0120] The fourth control module is used to control the virtual object to be placed in the second placement area in response to a placement operation of the virtual object displayed in the second placement area.

[0121] In one feasible implementation, the device further includes:

[0122] The fifth control module is used to control the virtual camera to move in the drag direction of the drag operation in response to the drag speed being greater than or equal to a preset speed; wherein the virtual camera is used in the virtual scene to capture at least a portion of the placement area displayed in the graphical user interface.

[0123] In one feasible implementation, the device further includes:

[0124] A display module is configured to, in response to the cessation of movement of the drag operation, display in the graphical user interface at least a portion of the placement area captured by the virtual camera at the time the drag operation stops.

[0125] In one feasible implementation, the second control module is specifically used for:

[0126] In response to a quick drop operation performed on the virtual object in the placement area, the current position of the virtual object in the placement area is determined;

[0127] Control the virtual object to move from its current position to the first placement area.

[0128] In one feasible implementation, the device further includes:

[0129] The sixth control module is used to control the virtual object to be placed in the third placement area of ​​the placement operation in response to the placement operation of the virtual object; wherein the third placement area is the placement area where the virtual object is located when the placement operation is performed.

[0130] The virtual object control device provided in this embodiment has the same technical features as the virtual object control method provided in the above embodiments, so it can also solve the same technical problems and achieve the same technical effects.

[0131] Figure 16 This diagram illustrates the structure of an electronic device according to an embodiment of the present disclosure, including a processor 1601, a storage medium 1602, and a bus 1603. The storage medium 1602 stores machine-readable instructions executable by the processor 1601. When the electronic device runs a virtual object control method as described in the embodiment, the processor 1601 communicates with the storage medium 1602 via the bus 1603. The processor 1601 executes the machine-readable instructions. The preamble of the method item in the processor 1601 performs the following steps:

[0132] In response to a drag operation on the virtual object, control the virtual object to move according to the drag operation;

[0133] In response to a quick throw operation performed on the virtual object in the placement area, the throwing direction corresponding to the quick throw operation is determined;

[0134] The virtual object is controlled to be placed in a first placement area; wherein the first placement area is a placement area along the throwing direction and in contact with the display boundary in the graphical user interface, and the display boundary is the boundary of the at least part of the placement area displayed in the graphical user interface.

[0135] By controlling the virtual object to be placed in the placement area that is in contact with the display boundary in the graphical user interface along the throwing direction corresponding to the quick throw operation, the object can be placed by simple judgment and interactive gestures when the target position of the object is located at the edge of the current screen viewport. This realizes a convenient way to place objects in multi-viewport states, enabling users to place objects quickly and accurately, and improving the efficiency of object placement in custom scenes.

[0136] In one feasible implementation, the processor is further configured to:

[0137] In response to a drag operation on the virtual object, determine the position to which the virtual object has moved according to the drag operation;

[0138] In response to the fact that the distance between the virtual object's current position and the display boundary is less than a preset distance, the movement speed of the drag operation is determined.

[0139] In one feasible implementation, after determining the movement speed of the drag operation in response to the distance between the virtual object's moved position and the display boundary being less than a preset distance, the processor is further configured to:

[0140] In response to the dragging operation moving at a speed less than a preset speed, the virtual object is controlled to be displayed in a second placement area in the graphical user interface that is in contact with the display boundary.

[0141] In one feasible implementation, when the processor 1601 performs a movement speed less than a preset speed in response to the drag operation and controls the virtual object to be displayed in a second placement area in the graphical user interface that contacts the display boundary, it is specifically used for:

[0142] In response to the dragging operation having a movement speed less than a preset speed, the virtual object is controlled to be displayed in a second placement area that is in contact with the display boundary in the graphical user interface along the movement direction of the dragging operation.

[0143] In one feasible implementation, when the processor 1601 performs a movement speed less than a preset speed in response to the drag operation and controls the virtual object to be displayed in a second placement area in the graphical user interface that contacts the display boundary, it is specifically used for:

[0144] In response to the dragging operation's movement speed being less than a preset speed, the virtual object is controlled to move from the dragging position corresponding to the dragging operation to a second placement area in the graphical user interface that contacts the display boundary.

[0145] In one feasible implementation, after controlling the virtual object to be displayed in a second placement area in the graphical user interface that contacts the display boundary in response to the drag operation at a speed less than a preset speed, the processor is further configured to:

[0146] In response to a placement operation of the virtual object displayed in the second placement area, the virtual object is controlled to be placed in the second placement area.

[0147] In one feasible implementation, after determining the movement speed of the drag operation in response to the distance between the virtual object's moved position and the display boundary being less than a preset distance, the processor is further configured to:

[0148] In response to the dragging operation having a movement speed greater than or equal to a preset speed, the virtual camera is controlled to move in the dragging direction of the dragging operation; wherein the virtual camera is used in the virtual scene to capture the placement area of ​​at least a portion of the area displayed in the graphical user interface.

[0149] In one feasible implementation, after controlling the virtual camera to move in the drag direction of the drag operation in response to a movement speed greater than or equal to a preset speed, the processor is further configured to:

[0150] In response to the cessation of movement in the drag operation, at least a portion of the placement area captured by the virtual camera at the time the drag operation ceases is displayed in the graphical user interface.

[0151] In one feasible implementation, when the processor 1601 executes the control to place the virtual object in the first placement area, it is specifically used for:

[0152] In response to a quick drop operation performed on the virtual object in the placement area, the current position of the virtual object in the placement area is determined;

[0153] Control the virtual object to move from its current position to the first placement area.

[0154] In one feasible implementation, after controlling the virtual object to move according to the drag operation in response to the drag operation on the virtual object, the processor is further configured to:

[0155] In response to a placement operation on the virtual object, the virtual object is controlled to be placed in a third placement area where the placement operation is performed; wherein, the third placement area is the placement area where the virtual object is located when the placement operation is performed.

[0156] In practical applications, the storage medium 1602 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 1604 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc.

[0157] Bus 1603 can be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 16 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.

[0158] The storage medium 1602 is used to store a program. After receiving an execution instruction, the processor 1601 executes the program. The method executed by the apparatus defined by the process disclosed in any of the foregoing embodiments of this disclosure can be applied to the processor 1601 or implemented by the processor 1601.

[0159] Processor 1601 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above methods can be completed by the integrated logic circuitry in the hardware of processor 1601 or by instructions in software form. The processor 1601 can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this disclosure can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in storage medium 1602. The processor 1601 reads the information in storage medium 1602 and, in conjunction with its hardware, completes the steps of the above method.

[0160] This disclosure also provides a computer-readable storage medium storing a computer program that is executed by a processor, wherein the processor performs the following steps:

[0161] In response to a drag operation on the virtual object, control the virtual object to move according to the drag operation;

[0162] In response to a quick throw operation performed on the virtual object in the placement area, the throwing direction corresponding to the quick throw operation is determined;

[0163] The virtual object is controlled to be placed in a first placement area; wherein the first placement area is a placement area along the throwing direction and in contact with the display boundary in the graphical user interface, and the display boundary is the boundary of the at least part of the placement area displayed in the graphical user interface.

[0164] By controlling the virtual object to be placed in the placement area that is in contact with the display boundary in the graphical user interface along the throwing direction corresponding to the quick throw operation, the object can be placed by simple judgment and interactive gestures when the target position of the object is located at the edge of the current screen viewport. This realizes a convenient way to place objects in multi-viewport states, enabling users to place objects quickly and accurately, and improving the efficiency of object placement in custom scenes.

[0165] In one feasible implementation, the processor is further configured to:

[0166] In response to a drag operation on the virtual object, determine the position to which the virtual object has moved according to the drag operation;

[0167] In response to the fact that the distance between the virtual object's current position and the display boundary is less than a preset distance, the movement speed of the drag operation is determined.

[0168] In one feasible implementation, after determining the movement speed of the drag operation in response to the distance between the virtual object's moved position and the display boundary being less than a preset distance, the processor is further configured to:

[0169] In response to the dragging operation moving at a speed less than a preset speed, the virtual object is controlled to be displayed in a second placement area in the graphical user interface that is in contact with the display boundary.

[0170] In one feasible implementation, when the processor performs a movement speed less than a preset speed in response to the drag operation and controls the virtual object to be displayed in a second placement area in the graphical user interface that contacts the display boundary, it is specifically used for:

[0171] In response to the dragging operation having a movement speed less than a preset speed, the virtual object is controlled to be displayed in a second placement area that is in contact with the display boundary in the graphical user interface along the movement direction of the dragging operation.

[0172] In one feasible implementation, when the processor performs a movement speed less than a preset speed in response to the drag operation and controls the virtual object to be displayed in a second placement area in the graphical user interface that contacts the display boundary, it is specifically used for:

[0173] In response to the dragging operation's movement speed being less than a preset speed, the virtual object is controlled to move from the dragging position corresponding to the dragging operation to a second placement area in the graphical user interface that contacts the display boundary.

[0174] In one feasible implementation, after controlling the virtual object to be displayed in a second placement area in the graphical user interface that contacts the display boundary in response to the drag operation at a speed less than a preset speed, the processor is further configured to:

[0175] In response to a placement operation of the virtual object displayed in the second placement area, the virtual object is controlled to be placed in the second placement area.

[0176] In one feasible implementation, after determining the movement speed of the drag operation in response to the distance between the virtual object's moved position and the display boundary being less than a preset distance, the processor is further configured to:

[0177] In response to the dragging operation having a movement speed greater than or equal to a preset speed, the virtual camera is controlled to move in the dragging direction of the dragging operation; wherein the virtual camera is used in the virtual scene to capture the placement area of ​​at least a portion of the area displayed in the graphical user interface.

[0178] In one feasible implementation, after controlling the virtual camera to move in the drag direction of the drag operation in response to a movement speed greater than or equal to a preset speed, the processor is further configured to:

[0179] In response to the cessation of movement in the drag operation, at least a portion of the placement area captured by the virtual camera at the time the drag operation ceases is displayed in the graphical user interface.

[0180] In one feasible implementation, when the processor executes the control to place the virtual object in the first placement area, it specifically performs the following functions:

[0181] In response to a quick drop operation performed on the virtual object in the placement area, the current position of the virtual object in the placement area is determined;

[0182] Control the virtual object to move from its current position to the first placement area.

[0183] In one feasible implementation, after controlling the virtual object to move according to the drag operation in response to the drag operation on the virtual object, the processor is further configured to:

[0184] In response to a placement operation on the virtual object, the virtual object is controlled to be placed in a third placement area where the placement operation is performed; wherein, the third placement area is the placement area where the virtual object is located when the placement operation is performed.

[0185] In this embodiment of the disclosure, the computer program, when run by the processor, can also execute other machine-readable instructions to perform other methods as described in the embodiments. For details on the specific execution steps and principles, please refer to the description of the embodiments, which will not be repeated here.

[0186] In the embodiments provided in this disclosure, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings or direct couplings or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0187] For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0188] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0189] In addition, the functional units in the embodiments provided in this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0190] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the virtual object control method described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0191] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0192] Finally, it should be noted that the above-described embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this disclosure. All should be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.

Claims

1. A control method of a virtual object, characterized by, The method comprises: providing a graphical user interface by a terminal device, a virtual scene containing a virtual object, a placement area for placing at least part of the virtual object being displayed in the graphical user interface; in response to a dragging operation for the virtual object, controlling the virtual object to move according to the dragging operation; in response to a quick throw operation performed in the placement area for the virtual object, determining a throwing direction corresponding to the quick throw operation; the quick throw operation being a throwing operation for placing an object detected in a dragging state corresponding to the dragging operation, the quick throw operation being performed from the dragging state to a quick throw state; 2. The method of claim 1, wherein, controlling the virtual object to be placed in a first placement area; wherein the first placement area is a placement area in contact with a display boundary along the throwing direction and displayed in the graphical user interface, and the display boundary is a boundary of the at least part of the placement area displayed in the graphical user interface. Further comprising: in response to a dragging operation for the virtual object, determining a position to which the virtual object moves according to the dragging operation; 3. The method of claim 2, wherein, in response to a distance between the position to which the virtual object moves and the display boundary being less than a preset distance, determining a moving speed of the dragging operation. After the response to the distance between the position to which the virtual object moves and the display boundary being less than the preset distance, determining the moving speed of the dragging operation, further comprising:

4. The method of claim 3, wherein, in response to the moving speed of the dragging operation being less than a preset speed, controlling the virtual object to be displayed in a second placement area in contact with the display boundary in the graphical user interface. The response to the moving speed of the dragging operation being less than the preset speed, controlling the virtual object to be displayed in the second placement area in contact with the display boundary in the graphical user interface, comprises:

5. The method of claim 3, wherein, in response to the moving speed of the dragging operation being less than the preset speed, controlling the virtual object to be displayed in a second placement area in contact with the display boundary along a moving direction of the dragging operation and in the graphical user interface. The response to the moving speed of the dragging operation being less than the preset speed, controlling the virtual object to be displayed in the second placement area in contact with the display boundary in the graphical user interface, comprises:

6. The method of claim 3, wherein, in response to the moving speed of the dragging operation being less than the preset speed, controlling the virtual object to move from a dragging position corresponding to the dragging operation to a second placement area in contact with the display boundary in the graphical user interface. After the response to the moving speed of the dragging operation being less than the preset speed, controlling the virtual object to be displayed in the second placement area in contact with the display boundary in the graphical user interface, further comprising:

7. The method of claim 2, wherein, in response to a placement operation for the virtual object displayed at the second placement area, controlling the virtual object to be placed in the second placement area. After the response to the distance between the position to which the virtual object moves and the display boundary being less than the preset distance, determining the moving speed of the dragging operation, further comprising: In response to a movement speed of the drag operation being greater than or equal to a preset speed, the virtual camera is controlled to move in a drag direction of the drag operation; wherein the virtual camera is used to capture at least part of the placement region displayed in the graphical user interface in the virtual scene.

8. The method of claim 7, wherein, After the virtual camera is controlled to move in the drag direction of the drag operation in response to the movement speed of the drag operation being greater than or equal to the preset speed, the method further includes: In response to the movement of the drag operation stopping, at least part of the placement region corresponding to the capture of the virtual camera at the time when the movement of the drag operation stops is displayed in the graphical user interface.

9. The method of claim 1, wherein, The control of the virtual object being placed in the first placement region includes: In response to a quick throw operation performed on the virtual object in the placement region, a current position of the virtual object in the placement region is determined; The virtual object is controlled to move from the current position to the first placement region.

10. The method of claim 1, wherein, After the virtual object is controlled to move according to the drag operation on the virtual object, the method further includes: In response to a placement operation on the virtual object, the virtual object is controlled to be placed in a third placement region placed by the placement operation; wherein the third placement region is a placement region in which the virtual object is located when the placement operation is performed.

11. A control device of a virtual object, characterized by, A graphical user interface is provided by a terminal device, a virtual object is included in a virtual scene, and at least part of a placement region for placing the virtual object is displayed in the graphical user interface; the apparatus includes: A first control module is configured to control the virtual object to move according to a drag operation on the virtual object; A determination module is configured to determine a throwing direction corresponding to a quick throw operation on the virtual object in the placement region in response to the quick throw operation; the quick throw operation is a throwing operation for placing an object detected in a drag state corresponding to the drag operation, and the quick throw operation enters a quick throw state from the drag state when the quick throw operation is performed; A second control module is configured to control the virtual object to be placed in a first placement region; wherein the first placement region is a placement region that is along the throwing direction and in contact with a display boundary in the graphical user interface, and the display boundary is a boundary of the at least part of the placement region displayed in the graphical user interface.

12. An electronic terminal comprising a memory, a processor, said memory having stored therein a computer program executable on said processor, characterized in that, The processor implements the steps of the method of any one of claims 1 to 10 when executing the computer program.

13. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions, and the computer executable instructions cause the processor to execute the method of any one of claims 1 to 10 when the computer executable instructions are invoked and executed by the processor.