Widget display method, device, equipment, and computer program

By adjusting the transparency of UI widgets based on occlusion with virtual characters, the method ensures users can see obscured characters, enhancing interface clarity and situational awareness.

JP7797780B2Active Publication Date: 2026-01-14TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024016818
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-14
Filing Date
2024-02-07
Publication Date
2026-01-14
Estimated Expiration
2041-10-20

AI Technical Summary

Technical Problem

In graphical user interfaces for virtual environments, virtual characters can become obscured by fixed-position UI widgets, making it difficult for users to observe the characters and grasp the real-time situation.

Method used

A method and device that dynamically adjust the transparency of UI widgets based on the occlusion relationship with virtual characters, allowing the characters to be seen through the widgets by increasing their transparency when they overlap.

Benefits of technology

Enhances user observation of virtual characters by making them visible through obscured widgets, improving the user's understanding of the interface dynamics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007797780000005
    Figure 0007797780000005
  • Figure 0007797780000006
    Figure 0007797780000006
  • Figure 0007797780000007
    Figure 0007797780000007
Patent Text Reader

Abstract

To relate to a field of a graphical user interface by providing a widget display method, a device, an instrument, a storage medium, and a program product.SOLUTION: A widget display method includes the steps of: displaying a graphical user interface (210) including a virtual character (24) and a widget (23) positioned in a virtual environment; updating a display position in the graphical user interface (210) of the virtual character (24) following operation in a virtual environment of the virtual character (24); and increasing transparency of the widget when a display position is shielded by the widget (23). A user can observer a virtual character not shielded by the widget and the user's attention can be more attracted by a dynamic change in transparency of the widget, thus avoiding the user's nondetection of important information.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority from a Chinese patent application filed on May 14, 2021, bearing application number 202110526827.6 and entitled "Widget display method, device, computer equipment and storage medium," the entire contents of which are incorporated herein by reference.

[0002] The present invention relates to the field of graphical user interfaces, and in particular to a method, apparatus, device, storage medium and program product for displaying widgets. [Background technology]

[0003] Graphical User Interface (GUI) is the most commonly used means of human-machine interaction on touchscreen devices.

[0004] In an application program that supports a three-dimensional virtual environment, a graphical user interface displays a virtual world screen and user interface (UI) widgets layered on top of the virtual world screen. The virtual world screen is observed by a virtual character in the virtual world. For example, virtual character a moves within the virtual world, and the virtual world screen is obtained by observing the virtual world from the viewpoint of virtual character a. Therefore, while the content displayed on the virtual world screen is constantly changing, the display position of the UI widgets in the graphical user interface remains relatively fixed. Summary of the Invention

[0005] The embodiments of the present invention provide a widget display method, device, equipment, storage medium and program product, the technical means of which are as follows:

[0006] One aspect of the present invention provides a method for displaying a widget, executed by a computer device, comprising the steps of: displaying a graphical user interface including a virtual character and a widget located in a virtual environment; updating a display position of the virtual character in the graphical user interface in accordance with the virtual character's movement in the virtual environment; and increasing the transparency of the widget if the display position is obscured by the widget.

[0007] Another aspect of the present invention provides a widget display device, including: a display module that displays a graphical user interface including a virtual character and a widget located in a virtual environment; an update module that updates a display position of the virtual character in the graphical user interface as the virtual character moves in the virtual environment; and a transparency change module that increases the transparency of the widget when the display position is obscured by the widget.

[0008] In another aspect of the present invention, there is provided a computing device including a processor, a memory connected to the processor, and program instructions stored in the memory, the processor, when executing the program instructions, implementing the widget display method according to each aspect of the present invention.

[0009] In another aspect of the present invention, there is provided a computer-readable storage medium having stored thereon program instructions which, when executed by a processor, implement a method for displaying a widget according to each aspect of the present invention.

[0010] Another aspect of the present invention provides a computer program product including computer instructions stored on a computer-readable storage medium, wherein a processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions to cause the computing device to perform the widget display method described above.

[0011] Embodiments of the present invention include at least the following advantageous effects.

[0012] When a virtual character moves in the virtual environment, the occlusion relationship between the display position of the virtual character in the graphical user interface and the location of a widget is determined, and if the virtual character is occluded by a widget, the transparency of the widget is increased to make the widget transparent, allowing the user to observe the virtual character occluded by the widget, and the dynamic change in the transparency of the widget can more effectively attract the user's attention, thereby enabling the user to better grasp the real-time situation in the graphical user interface. For example, if a virtual character moves to a location of a widget with a large display area and is occluded by the widget, the transparency of the widget can be increased to allow the user to see the virtual character through the widget, allowing the user to more quickly grasp the real-time movement of the virtual character in the graphical user interface, thereby avoiding missing information. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is an interface diagram of a widget display method according to an exemplary embodiment of the present invention. [Figure 2] 1 is a block diagram of a computer system configuration according to one exemplary embodiment of the present invention; [Figure 3]3 is a flowchart of a widget display method according to an exemplary embodiment of the present invention. [Figure 4] 10 is a flowchart of a widget display method according to another exemplary embodiment of the present invention; [Figure 5] FIG. 1 is an interface diagram of a widget display method according to an exemplary embodiment of the present invention. [Figure 6] FIG. 10 is an interface diagram of a widget display method according to another exemplary embodiment of the present invention. [Figure 7] 10 is a flowchart of a widget display method according to another exemplary embodiment of the present invention; [Figure 8] FIG. 2 is a block diagram of a widget display device configuration according to one exemplary embodiment of the present invention. [Figure 9] FIG. 1 is a block diagram of a computing device according to one exemplary embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0014] The following introduces terminology relevant to embodiments of the present invention.

[0015] MOBA (Multiplayer Online Battle Arena) games: A game that provides several bases in a virtual scene, and allows users from different camps to control virtual characters and compete in the virtual scene, capturing bases or destroying bases of the opposing camp. For example, in a MOBA game, users are divided into at least two opposing camps, and different virtual teams from the at least two opposing camps occupy different map areas and compete to achieve specific victory conditions. The victory conditions include, but are not limited to, at least one of capturing bases or destroying the enemy camp's bases, defeating the enemy camp's virtual characters, ensuring one's own survival and seizing specific resources within a specified scene and time, and achieving a higher interactive score than the opponent within a specified time. For example, in a MOBA game, users are divided into two opposing camps, and user-controlled virtual characters are distributed throughout the virtual scene to compete against each other, with the victory condition being to destroy or capture all of the enemy camp's bases.

[0016] Preferably, each virtual team includes one or more virtual characters, such as 1, 2, 3, 5, etc. Depending on the number of virtual characters on each team participating in the battle arena, the battle arena may be classified into 1v1 competition, 2v2 competition, 3v3 competition, 5v5 competition, etc. Here, 1v1 means "one on one," and its explanation will be omitted here. "Multiple" means two or more.

[0017] Preferably, a MOBA game may be played in units of matches (or rounds). The maps for each round may be the same or different. The duration of each round of a MOBA game is the period from when the game starts until the victory condition is met.

[0018] In a MOBA game, a user may control a virtual character to freely fall, paraglide, or parachute through the air in a virtual scene, or run, jump, crawl, or bend forward on land, or swim, float, or dive underwater; however, the above scenarios are merely used as examples and the embodiments of the present invention are not specifically limited.

[0019] In a MOBA game, a user may control a virtual character and activate skills to fight other virtual characters. For example, skill types of the skills may include attack skills, defense skills, recovery skills, support skills, special move skills, etc. Each virtual character may have one or more unique skills, and different virtual characters typically have different skills, which may have different effects. For example, when a virtual character activates an attack skill that hits a hostile virtual character, it deals a certain amount of damage to the hostile virtual character, typically deducting a portion of the hostile virtual character's virtual life point (HP). In another example, when a virtual character activates a recovery skill that hits an ally virtual character, it generates a certain recovery effect on the ally virtual character, typically restoring a portion of the ally virtual character's virtual life point. Various other skills may have corresponding effects, but their description will be omitted here.

[0020] Virtual environment: A virtual world that is displayed (or presented) when an application program is running on a client.

[0021] For example, the virtual world may be a simulation of the real world, a semi-simulated and semi-fictional world, or a purely fictional three-dimensional world.

[0022] For example, the virtual world may be any one of a two-dimensional virtual world, a two-and-a-half-dimensional virtual world, and a three-dimensional virtual world.

[0023] Preferably, the virtual world is also used to provide a scene for a battle between at least two virtual characters, the virtual world having virtual resources available for use by the at least two virtual characters.

[0024] Virtual character: refers to a movable object in a virtual world. The movable object may be any of a virtual person, a virtual animal, a cartoon or animation character. Preferably, when the virtual world is a three-dimensional virtual world, the virtual characters may be three-dimensional models, each of which has its own shape and volume in the three-dimensional virtual world and occupies a part of space in the three-dimensional virtual world. Preferably, the virtual characters are three-dimensional characters constructed based on three-dimensional human skeletal animation technology, and the virtual characters achieve different external appearances by wearing different skins. In some aspects, the virtual characters may be realized using 2.5D or 2D models, although embodiments of the present invention are not limited thereto.

[0025] UI widgets are displayed superimposed on a screen in a virtual world. Although the content displayed on the screen in the virtual world constantly changes, the display position of the UI widget in the graphical user interface is relatively fixed. Therefore, when a virtual character moves, the display position may be obscured by the UI widget. Therefore, when the virtual character is in the display position, the UI widget obscures the virtual character, and the user cannot observe the obscured virtual character. Therefore, the present invention provides a widget display method that controls the change in the transparency of the widget based on the obscuring relationship between the display position of the virtual character and the area where the widget is located, allowing the user to observe the virtual character obscured by the widget.

[0026] FIG. 1 is an interface diagram of a widget display method according to an exemplary embodiment of the present invention. In this embodiment, a battle interface for a MOBA game is taken as an example. As shown in a graphical user interface 210, the black character in the center of the interface is the player's virtual character 22, the white character in the interface is the enemy virtual character 24, and the dotted box in the upper left corner of the interface is the minimap 23 displayed on the user interface. At this time, the transparency of the minimap 23 is 0%. As shown in a graphical user interface 220, when the enemy virtual character 24 moves to the boxed area in the upper left corner and is obscured by the minimap 23, the transparency of the minimap 23 is adjusted to 50%. After the transparency of the minimap 23 is increased, the user can observe the enemy virtual character 24 obscured by the minimap 23, thereby better understanding the battle situation. The change in the transparency of the minimap is reflected by the density of the dots, which is negatively correlated with the transparency.

[0027] 2 is a block diagram of a computer system configuration according to one exemplary embodiment of the present invention. The computer system 100 includes a terminal 110 and a server 120.

[0028] The terminal 110 installs and runs a client 111 supporting a virtual environment, which may be a multiplayer online battle program. When the terminal runs the client 111, the user interface of the client 111 is displayed on the screen of the terminal 110. The client may be a military simulation program, a battle royale shooting game, a virtual reality (VR) application, an augmented reality (AR) program, a 3D map program, a virtual reality game, an augmented reality game, a first-person shooter game (FPS), a third-person shooter game (TPS), a multiplayer online battle arena game (MOBA), or a simulation game (SLG). In this embodiment, the client is a role-playing game. Terminal 110 is a terminal used by user 112, who uses terminal 110 to control a virtual character located in a virtual environment to perform an action, which may be referred to as a master virtual character of user 112. The actions of the virtual character include, but are not limited to, at least one of adjusting body posture, crawling, walking, running, riding, flying, jumping, driving, picking up, shooting, attacking, and throwing. For example, the virtual character may be a virtual human, such as a humanoid character or an animated character.

[0029] 2 shows only one terminal, in different embodiments there are multiple other terminals 140 that can access server 120. Preferably, there are also one or more terminals 140 that correspond to developers, and a client development and editing platform that supports the virtual environment is installed on terminal 140, where the developer may edit and update the client and send the updated client installation package to server 120 via a wired or wireless network. Terminal 110 may download the client installation package from server 120 to update the client.

[0030] The terminal 110 and other terminals 140 are connected to the server 120 via a wireless network or a wired network.

[0031] The server 120 includes at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. For example, the server 120 is used to provide background services for clients supporting a three-dimensional virtual environment. Preferably, the server 120 performs primary computing tasks and the terminal performs secondary computing tasks, or the server 120 performs secondary computing tasks and the terminal performs primary computing tasks, or the server 120 and the terminal employ a distributed computing architecture to perform collaborative computing.

[0032] For example, the server 120 includes a processor 122, a user account database 123, a battle service module 124, and a user-oriented input / output interface (I / O interface) 125. The processor 122 loads instructions stored in the server 120 and processes data in the user account database 123 and the battle service module 124. The user account database 123 stores data on user accounts used by the terminal 110 and other terminals 140, such as facial images of the user accounts, nicknames of the user accounts, combat power indexes of the user accounts, and service areas where the user accounts are located. The battle service module 124 provides multiple battle rooms for users to play 1v1 battles, 3v3 battles, 5v5 battles, etc. The user-oriented I / O interface 125 establishes communication and exchanges data with the terminal 110 and / or other terminals 140 via a wireless network or a wired network.

[0033] 3 is a flowchart of a widget display method according to an exemplary embodiment of the present invention. For example, the method is described by taking as an example that the method is executed by the terminal 110 (a client in the terminal 110) shown in FIG. 2. The method includes the following steps.

[0034] Step 320: Display a graphical user interface including virtual characters and widgets located in the virtual environment.

[0035] The terminal displays a graphical user interface of the currently running client, which displays virtual characters and widgets located in a virtual environment.

[0036] For example, assume that the currently running client is a MOBA game. The terminal displays an in-game battle interface. The virtual characters in the battle interface include friendly virtual characters, enemy virtual characters, non-player virtual characters, etc. The widgets in the battle interface include a minimap widget, an attack widget, a movement widget, a menu widget, etc.

[0037] For example, assume that the currently running client is a first-person shooter game. The terminal displays a screen from the perspective of a virtual character currently controlled by a player. The virtual characters in the graphical user interface include friendly virtual characters, enemy virtual characters, non-player virtual characters, etc. The widgets in the graphical user interface include a minimap widget, a aiming widget, a shooting widget, a movement widget, etc.

[0038] For example, assume that the currently running client is a racing game. The terminal displays a screen from the viewpoint of a virtual character currently controlled by a player. The virtual characters in the graphical user interface include the virtual characters participating in the race and the virtual vehicles of the virtual characters. The widgets in the graphical user interface include an acceleration widget, a steering widget, a braking widget, etc.

[0039] Step 340: As the virtual character moves in the virtual environment, the display position of the virtual character in the graphical user interface is updated.

[0040] As the virtual character moves within the virtual environment, the terminal needs to constantly acquire the spatial position of the virtual character within the virtual environment, convert the spatial position within the three-dimensional virtual environment into a display position in a two-dimensional graphical user interface, and update the display position of the virtual character in the graphical user interface.

[0041] The frequency at which the terminal updates the display position of the virtual character in the graphical user interface may be preset, for example, updated once per frame or once per two frames, and the higher the update frequency, the smoother and more natural the movement of the virtual character displayed in the graphical user interface.

[0042] For example, the terminal controls the virtual character to move within the virtual environment in response to a user's movement operation on the virtual character or in response to the progress of an associated story. The terminal acquires the spatial position of the virtual character in the virtual environment acquired in each frame, acquires the display position of the virtual character in the graphical user interface by projection, and updates the display position of the virtual character in the graphical user interface.

[0043] For example, in the process of converting the spatial position of the virtual character into a display position, the terminal selects at least one target point of the virtual character, converts the three-dimensional coordinates of the at least one target point into two-dimensional coordinates in the graphical user interface based on a transformation matrix, and represents the display position of the virtual character in the graphical user interface by the two-dimensional coordinates of the at least one target point.

[0044] Step 360: If the display location is occluded by the widget, increase the transparency of the widget.

[0045] The terminal updates the display position of the virtual character in the graphical user interface, determines an occlusion relationship between the display position and the position of a widget in the graphical user interface, and if the display position of the virtual character in the graphical user interface is occluded by the widget, increases the first transparency of the widget to a second transparency, i.e., increases the transparency of the widget from the first transparency to the second transparency.

[0046] For example, the magnitude of the second transparency (i.e., the transparency after the widget is enhanced) may be selected in various ways. The magnitude of the second transparency may be preset to a fixed value, such as 50%, 60%, or 75%. Alternatively, the second transparency may be positively correlated with the occlusion level of the widget at the display position, such that the higher the occlusion level of the widget at the display position, the higher the second transparency. For example, the occlusion level refers to the size level of the display area of ​​a virtual character in a graphical user interface occluded by the widget. That is, the occlusion level indicates the size level of the occlusion area of ​​a virtual character in a graphical user interface. The occlusion area of ​​a virtual character occluded is positively correlated with the occlusion level, such that the larger the occlusion area of ​​the virtual character occluded by the widget, the higher the occlusion level. For example, the size level of the occlusion area of ​​a virtual character occluded may be expressed based on the absolute value of the occlusion area. Alternatively, the size level of the occluded area may be expressed based on a ratio of the occluded area to the total area, where the total area refers to the total display area that the virtual character occupies in the graphical user interface, or based on a number of occluded object points, where the object points are points of a selected virtual character and indicate the position of the virtual character.

[0047] Preferably, in addition to increasing the transparency of the widget, a highlight effect may be added to the virtual character that is obscured by the widget so that the user can more conveniently observe the virtual character that is obscured by the widget, for example, the outline of the virtual character may be made thicker, the fill color of the virtual character may be made darker, or the virtual character may be highlighted.

[0048] For example, the client may preset or customize a method for changing the transparency of a widget, and the change in the transparency of the widget may be sudden or gradual.

[0049] For example, if the client presets a sudden change in the transparency of a widget, the terminal suddenly changes the transparency of the widget from the first transparency to the second transparency when the display position is obscured by the widget. Alternatively, if the user sets the time for gradually changing the transparency of the widget to s seconds (e.g., 0.5 seconds) according to personal preference, the terminal gradually increases the transparency of the widget from the first transparency to the second transparency within s seconds when the display position is obscured by the widget, where s is a positive number. Here, the first transparency is lower than the second transparency.

[0050] The "abrupt change" refers to a change from one transparency level to another within a specified period. In response, the terminal changes the widget's first transparency level to a second transparency level, i.e., the terminal directly changes the widget's first transparency level to the second transparency level within the specified period without a gradual change in transparency between the first and second transparency levels. For example, the terminal determines that the display position is occluded by the widget and changes the widget's first transparency level to the second transparency level within 0.05 seconds from the time of the determination.

[0051] The present invention is not limited to the selection of the second transparency magnitude and the method of changing the transparency of the widget.

[0052] As described above, according to the widget display method of this embodiment, a graphical user interface is displayed, the display position of the virtual character in the graphical user interface is updated, the shielding relationship between the widget location area and the display position of the virtual character is obtained, and if the display position is shielded by the widget, the transparency of the widget is increased to make the widget transparent, allowing the user to observe the virtual character that is shielded by the widget. In addition, by changing the transparency of the widget in real time in accordance with the change in the shielding relationship between the widget and the virtual character, the user's attention can be more effectively attracted.

[0053] 4 is a flowchart of a widget display method according to another exemplary embodiment of the present invention. For example, the method is described by taking as an example that the method is executed by the terminal 110 (a client in the terminal 110) shown in FIG. 2. The method includes the following steps:

[0054] Step 420: Display a graphical user interface including virtual characters and widgets located in the virtual environment.

[0055] For detailed aspects of step 420, refer to step 320, and the description thereof will be omitted here.

[0056] Step 442: Obtain the three-dimensional coordinates of the target point of the virtual character in the virtual environment.

[0057] The terminal selects a target point on the virtual character, which is used to indicate the position of the virtual character and is also used to determine the area in which the widget is located and the occlusion relationship between the virtual character and the widget.

[0058] The terminal acquires three-dimensional coordinates of target points of the virtual character in the virtual environment. The number of selected target points can vary, for example, it can be one, three, or four. The more target points selected, the more accurate the position representation of the virtual character will be, and the more computing resources will be consumed.

[0059] The position of the target point may be selected in various ways, for example, the head of the virtual character may be selected as the target point, or a first connecting line may be determined between the head and feet of the virtual character, a second connecting line may be determined between the left and right hands of the virtual character, and the intersection of the first connecting line and the second connecting line may be selected as the target point, or several points on the outline of the virtual character may be selected as the target points.

[0060] The present invention is not limited to the number and locations of the target points of the selected virtual character.

[0061] For example, the terminal selects three target points of the virtual character, namely, the top of the virtual character's head, the bottom of the feet, which is the center of the connecting line between the top of the head and the bottom of the feet, and the center of the body, which is the center of the connecting line between the top of the head and the bottom of the feet, and obtains the three-dimensional coordinates of the three target points in the virtual environment.

[0062] For example, the terminal selects two target points on the virtual character, ie, a point on the left hand and a point on the right hand of the virtual character, respectively, and obtains the three-dimensional coordinates of the two target points in the virtual environment.

[0063] Step 444: Map the three-dimensional coordinates of the target points to display positions in the graphical user interface based on the transformation matrix.

[0064] After obtaining the three-dimensional coordinates of the target point in the virtual environment, the terminal maps the three-dimensional coordinates of the target point to a display position of the virtual character in the graphical user interface based on a transformation matrix.

[0065] For example, the terminal may use the transformation matrix shown in the following equation when mapping three-dimensional coordinates in the virtual environment to two-dimensional coordinates in the graphical user interface:

[0066]

number

[0067] where: (outside 2) JPEG0007797780000003.jpg2026 is the camera extrinsic parameter matrix, R is the rotation matrix, and T is the offset vector.

[0068] where X w , Y w , Z w represent the coordinates of the target point on the virtual character on the x-axis, y-axis, and z-axis in the virtual environment, respectively, u and v represent the u-axis and v-axis of the target point on the two-dimensional graphical user interface, and Z c represents the z-axis coordinate value of the target point in the camera coordinate system in the virtual environment, and f is the focal length of the camera.

[0069] Step 462: Based on the positional relationship between the display position and the two-dimensional area in which the widget is located, an occlusion relationship between the widget and the display position is determined.

[0070] In the above step, the display position of the virtual character in the two-dimensional graphical user interface is obtained, and the terminal determines the occlusion relationship between the widget and the display position according to the positional relationship between the display position and the two-dimensional area in which the widget is located.

[0071] For example, for each target point on the virtual character, the terminal determines whether the position of the target point in the graphical user interface is within a two-dimensional area where a widget is located. If any of the target points on the virtual character is within the two-dimensional area where a widget is located, the terminal determines that the display position is occluded by the widget, and if none of the target points on the virtual character is within the two-dimensional area where a widget is located, the terminal determines that the display position is not occluded by the widget.

[0072] Preferably, the terminal selects n target points on the virtual character, where n is an integer greater than 1. If i target points among the n target points on the virtual character are within a two-dimensional area in which the widget is located, the terminal determines that the display position is occluded by the widget, where i is a positive integer less than or equal to n.

[0073] For example, the terminal selects three target points of the virtual character, i.e., the vertex of the virtual character's head, the foot bottom point which is the center point of the connecting line between the vertex of the head and the foot bottom point, and the body center point which is the center point of the connecting line between the vertex of the head and the foot bottom point, and determines whether the three target points are in the two-dimensional area where the widget is located, and determines that the display position is not occluded by the widget if none of the three target points are in the two-dimensional area where the widget is located, and determines that the display position is occluded by the widget if at least one of the three target points is in the two-dimensional area where the widget is located.

[0074] Preferably, the terminal determines that there is an i-th level occlusion relationship between the widget and the display position when i target points among the n target points on the virtual character are located within the two-dimensional region where the widget is located. For example, if one target point among the three target points is located within the two-dimensional region where the widget is located, for example, if the head point is located within the two-dimensional region where the widget is located, it is determined that there is a first level occlusion relationship between the widget and the display position. If two target points among the three target points are located within the two-dimensional region where the widget is located, for example, if the head point and the body center point are located within the two-dimensional region where the widget is located, it is determined that there is a second level occlusion relationship between the widget and the display position. If all three target points are located within the two-dimensional region where the widget is located, it is determined that there is a third level occlusion relationship between the widget and the display position.

[0075] Step 464a: If the display location is occluded by the widget, increase the transparency of the widget.

[0076] When the display position is occluded by a widget, the terminal increases the transparency of the widget from a first transparency to a second transparency, where the first transparency is lower than the second transparency, and a higher transparency means that the widget is more transparent.

[0077] The level of the second transparency may be selected in various ways: The second transparency may be set to a fixed value such as 50%, 60%, or 75%, and if the display position of the virtual character is occluded, the terminal increases the transparency to the fixed value.

[0078] Alternatively, the second transparency may be positively correlated with the occlusion level of the widget at the display position, and the higher the occlusion level of the widget at the display position, the higher the second transparency. For example, if the occlusion level of the widget at the display position is one-third or less of the display position of the virtual character, the second transparency is set to 20%. If the occlusion level of the widget at the display position is greater than one-third of the display position of the virtual character but less than two-thirds of the display position of the virtual character, the second transparency is set to 40%. If the occlusion level of the widget at the display position is two-thirds or more of the display position of the virtual character, the second transparency is set to 60%.

[0079] Preferably, a correspondence relationship between an occlusion relationship of the i-th level and a transparency of the i-th level is preset. The terminal queries the transparency of the i-th level corresponding to the occlusion relationship of the i-th level from the correspondence relationship and determines the transparency of the i-th level as the second transparency. The correspondence relationship includes a correspondence relationship between different occlusion relationships and different transparency levels. Then, the terminal increases the first transparency to the second transparency.

[0080] For example, the terminal selects three target points of the virtual character, namely, the top of the virtual character's head, the foot center point which is the center point of the connecting lines between the bottom of both feet, and the body center point which is the center point of the connecting lines between the top of the head and the bottom of the feet. The correspondence between the occlusion relationship and the transparency is set as shown in the following table.

[0081] [Table 1] If one of the three target points is in the two-dimensional area where the widget is located, the terminal determines that there is a first-level occlusion relationship between the widget and the display position, and after checking the correspondence between the occlusion relationship and the transparency, determines that the second transparency is 25%. If two of the three target points are in the two-dimensional area where the widget is located, the terminal determines that there is a second-level occlusion relationship between the widget and the display position, and after checking the correspondence between the occlusion relationship and the transparency, determines that the second transparency is 50%. If all three target points are in the two-dimensional area where the widget is located, the terminal determines that there is a third-level occlusion relationship between the widget and the display position, and after checking the correspondence between the occlusion relationship and the transparency, determines that the second transparency is 75%.

[0082] The process by which the terminal increases the transparency of the widget from the first transparency to the second transparency may be sudden or gradual. The client developer and user may set a sudden change effect, or may not set a sudden change effect and instead set the process time for gradually changing the transparency to, for example, 0.5 seconds, 1 second, etc.

[0083] The present invention is not limited to the process of changing the transparency and opacity of a widget.

[0084] Preferably, in addition to increasing the transparency of the widget, a highlight effect may be added to the virtual character that is obscured by the widget so that the user can more conveniently observe the virtual character that is obscured by the widget, for example, the outline of the virtual character may be made thicker, the fill color of the virtual character may be made darker, or the virtual character may be highlighted.

[0085] Step 464b: If the display location is not occluded by a widget, reduce the transparency of the widget.

[0086] After increasing the transparency of the widget from the first transparency to the second transparency, the terminal monitors in real time whether the widget is blocking the virtual character. If the display position of the virtual character is not blocked by the widget, there is no need to increase the transparency to make the virtual character visible, and the terminal returns the transparency of the widget to the original first transparency.

[0087] For example, if none of the target points of the virtual character are located in the area where the widget is located, the terminal determines that the display position is not occluded by the widget, and reduces the transparency of the widget to a first transparency.

[0088] The first transparency level is a preset initial transparency value, for example, 0%, 5%, 10%, etc. The present invention is not limited to the first transparency level.

[0089] The process by which the terminal decreases the transparency of the widget from the second transparency to the first transparency may be abrupt or gradual. A developer and user of the client may set a sudden change effect. For example, if the display position is not obscured by a widget, the terminal suddenly decreases the transparency of the widget from the second transparency to the first transparency. Alternatively, the sudden change effect may not be set, and the process time for gradually changing the transparency may be set to, for example, 0.5 seconds or 1 second. For example, if the display position is not obscured by a widget, the terminal gradually decreases the transparency of the widget from the second transparency to the first transparency.

[0090] For example, the terminal selects n target points on the virtual character. If i target points among the n target points on the virtual character are in the two-dimensional area where the widget is located, it determines that there is an i-th level of occlusion relationship between the widget and the display position. The terminal searches the correspondence relationship for an i-th transparency corresponding to the i-th level of occlusion relationship, determines the i-th transparency as a medium transparency, and reduces the transparency of the widget from the second transparency to the medium transparency, and then reduces the transparency of the widget to the initial first transparency until there are no target points in the two-dimensional area where the widget is located.

[0091] In another aspect, the transparency of the widget on the terminal is an initial first transparency, and the state of occlusion of the virtual character by the widget is monitored in real time. If the display position of the virtual character is not occluded by the widget, there is no need to increase the transparency to make the virtual character visible, and therefore the transparency of the widget is not changed.

[0092] For example, as shown in FIG. 5 , the terminal selects two target points on the virtual character, namely, the left hand point and the right hand point of the virtual character. The first transparency is preset to 0%, the first level of transparency corresponding to the first level of occlusion is 50%, and the second level of transparency corresponding to the second level of occlusion is 80%. Graphical user interfaces 710 to 740 are graphical user interfaces captured at four time points with short time intervals. In the positional relationship shown in the graphical user interface 710 in the upper left corner, the virtual character 34 is not occluded by the widget 33, and the transparency of the widget 33 is 0%. In the positional relationship shown in the graphical user interface 720 in the upper right corner, the occlusion relationship between the widget 33 and the virtual character 34 is the first level of occlusion, and the transparency of the widget 33 is increased to a second transparency of 50%. In the positional relationship shown in the graphical user interface 730 in the lower right corner, the occlusion relationship between the widget 33 and the virtual character 34 is the second level of occlusion, and the transparency of the widget 33 is increased to the second transparency of 80%. In the positional relationship shown in the graphical user interface 740 in the lower left corner, the virtual character 34 is not occluded by the widget 33, and the transparency of the widget 33 is decreased to the first transparency of 0%.

[0093] For example, as shown in FIG. 6 , the terminal selects two target points on the virtual character, namely, the left hand point and the right hand point of the virtual character. The first transparency is preset to 0%, the first level of transparency corresponding to the first level of occlusion is 50%, and the second level of transparency corresponding to the second level of occlusion is 80%. Graphical user interface 830 to graphical user interface 810 are graphical user interfaces captured at three time points with short time intervals. In the positional relationship shown in the graphical user interface 830 in the lower right corner, the occlusion relationship between the widget 44 and the virtual character 43 is the second level of occlusion, and the second transparency of the widget 44 is 80%. In the positional relationship shown in the graphical user interface 820 in the upper right corner, the occlusion relationship between the widget 44 and the virtual character 43 is the first level of occlusion, and the transparency of the widget 44 is reduced to an intermediate transparency of 50%. In the positional relationship shown in the graphical user interface 810 in the upper left corner, the virtual character 43 is not occluded by the widget 44, and the transparency of the widget 44 is reduced to the first transparency of 0%.

[0094] In some embodiments, after increasing the transparency of a widget, the terminal device decreases the transparency of the widget in response to an approach operation triggered at a floating position above the widget. That is, if the terminal device detects that a finger approaches above the widget after increasing the transparency of the widget, it means that the user is about to use the widget, and decreases the transparency of the widget from the second transparency to the third transparency so that the user can see the widget more clearly.

[0095] The process by which the terminal reduces the transparency of the widget from the second transparency to the third transparency may be abrupt or gradual. For example, the third transparency varies according to the vertical distance between the finger and the screen, and the third transparency and the vertical distance are positively correlated. The terminal determines the vertical distance between the finger and the screen and determines the third transparency based on the mapping relationship between the vertical distance and the transparency. For example, the third transparency may include the first transparency.

[0096] As described above, the widget display method according to this embodiment displays a graphical user interface, maps the acquired three-dimensional coordinates of a target point on a virtual character to a display position in the graphical user interface, and changes the transparency of the widget based on the positional relationship between the display position and the two-dimensional area in which the widget is located. This method provides a widget display method that allows a user to observe a virtual character that is occluded by a widget. The method also includes selecting at least one target point on the virtual character, converting the three-dimensional coordinates of the target point into two-dimensional coordinates, and indicating the display position of the virtual character in the graphical user interface. This avoids projection calculations for the entire outline of the virtual character and saves computing resources. In this method, the selection of the second transparency is positively correlated with the occlusion level of the display position by the widget. Selecting a high transparency for a widget that significantly occludes the display position allows the user to better observe the character with a high occlusion level, and dynamically changing the transparency of the widget can attract the user's attention to the movement of the occluded virtual character.

[0097] 7 is a flowchart of a widget display method according to another exemplary embodiment of the present invention. In this embodiment, the execution process of the widget display method is illustrated by taking the battle interface of a MOBA game as an example of a graphical user interface, a minimap as an example of a widget, an enemy hero as an example of a virtual character, and setting the second transparency to 50% as an example. It will be explained by taking the method as an example, in which the method is executed by the terminal 110 (a client in the terminal 110) shown in FIG. 2. The method includes the following steps:

[0098] Step 510: Load the minimap.

[0099] The terminal displays the game's battle interface and loads a minimap in the battle. As shown in the graphical user interface of Figure 1, the minimap is displayed in the upper left corner of the battle interface.

[0100] Step 512: Data for a rectangular area on the MiniMap screen is buffered.

[0101] The device buffers the position data of the two-dimensional rectangular area where the minimap is located. For example, the device buffers the position coordinates of the two points, the bottom-left corner and the top-right corner of the minimap, and can obtain the position of the two-dimensional rectangular area where the minimap is located based on the position coordinates of these two points.

[0102] Step 514: Update the enemy hero's position in the virtual environment every frame.

[0103] Since the enemy hero is constantly moving within the virtual environment, the terminal acquires the enemy hero's position in the virtual environment according to the update frequency of each frame.

[0104] For example, the terminal selects three target points of the enemy hero, namely, the top of the enemy hero's head, the bottom of the foot point which is the center point of the connecting line between the top of the head and the bottom of the foot, and the center of the body point which is the center point of the connecting line between the top of the head and the bottom of the foot, and obtains the 3D coordinates of the three target points in the virtual environment according to the update frequency of each frame.

[0105] Step 516: Calculate the display position of the enemy hero in the graphical user interface.

[0106] The terminal converts the obtained position of the enemy hero in the virtual environment into a display position of the enemy hero in the graphical user interface.

[0107] For example, the terminal maps the three-dimensional coordinates of three target points on the enemy hero to two-dimensional coordinates in the graphical user interface, and uses the two-dimensional coordinates of the three target points to indicate the display position of the enemy hero in the graphical user interface.

[0108] Step 518: Determine the occlusion relationship between the enemy hero and the minimap.

[0109] The device determines the two-dimensional coordinates of the enemy hero's target point and the two-dimensional area where the minimap is located one by one. If any of the enemy hero's target points is within the two-dimensional area where the minimap is located, it determines that the enemy hero is occluded by the minimap, and if none of the enemy hero's target points is within the two-dimensional area where the minimap is located, it determines that the enemy hero is not occluded by the minimap.

[0110] If the enemy hero is obscured by the minimap, execute step 520a. If the enemy hero is not obscured by the minimap, execute step 520b.

[0111] Step 520a: Determine whether or not the effect of sudden change in transparency is set.

[0112] If the enemy hero is obscured by the minimap, the terminal increases the transparency of the minimap to 50% of the second transparency. For example, the terminal determines whether a sudden change in transparency effect is set, and if the sudden change in transparency effect is set, executes step 522a, and if the sudden change in transparency effect is not set, executes step 522b.

[0113] Preferably, in addition to increasing the transparency of the minimap, the terminal may add a highlight effect to the enemy heroes that are obscured by the widget, for example, by thickening the outline of the enemy heroes or darkening the fill color of the enemy heroes, so that the user can more conveniently observe the virtual characters that are obscured by the widgets.

[0114] Step 520b: Reset the transparency of the minimap.

[0115] If the enemy hero is not obscured by the minimap, the device resets the transparency of the minimap to an initial value, which may be a preset transparency, such as 0%, 5%, 10%, etc.

[0116] Step 522a: Abruptly change the transparency of the minimap to 50%.

[0117] If an enemy hero is obscured by the minimap and the transparency sudden change effect is set, the device will suddenly change the transparency of the minimap to 50%.

[0118] Step 522b: Gradually change the transparency of the minimap to 50%.

[0119] If the enemy hero is obscured by the minimap and the transparency rapid change effect is not set, the terminal gradually changes the transparency of the minimap to 50%. According to the preset transparency gradual change time, the transparency gradual change process may be 0.5 seconds, 0.8 seconds, 1 second, etc.

[0120] As described above, the widget display method of this embodiment backs up the position data of the minimap and determines the occlusion relationship between the position data and the updated positions of the target points on the enemy heroes. If it is determined that none of the target points of the enemy heroes are within the minimap's location area, the transparency of the minimap is reset to the initial value. If it is determined that any of the target points of the enemy heroes are within the minimap's location area, the transparency of the minimap is increased to a second transparency. The widget display method of this embodiment allows occluded virtual characters to be seen, and by indicating the virtual character's position using the target points on the virtual characters, computing resources can be saved.

[0121] The following describes an apparatus according to an embodiment of the present invention, which can perform a method according to an embodiment of the present invention. Details not disclosed in the apparatus embodiment of the present invention may be referred to in the method embodiment of the present invention.

[0122] 8 is a block diagram of a widget display device configuration according to one exemplary embodiment of the present invention. The device includes the following modules:

[0123] The display module 620 displays a graphical user interface including virtual characters and widgets located in a virtual environment.

[0124] The update module 640 updates the display position of the virtual character in the graphical user interface as the virtual character moves through the virtual environment.

[0125] The transparency change module 660 increases the transparency of a widget when the display location is occluded by the widget.

[0126] In one preferred embodiment, when the display location is occluded by a widget, the transparency change module 660 abruptly increases the transparency of the widget from a first transparency to a second transparency, the first transparency being lower than the second transparency. Alternatively, when the display location is occluded by a widget, the transparency change module 660 gradually increases the transparency of the widget from the first transparency to a second transparency, the first transparency being lower than the second transparency.

[0127] In one preferred embodiment, the enhanced transparency of a widget is positively correlated with the occlusion level at which the display position is occluded by the widget, the occlusion level indicating the size level of the occlusion area at which a virtual character in the graphical user interface is occluded.

[0128] In one preferred embodiment, the update module 640 obtains three-dimensional coordinates of a target point of a virtual character in a virtual environment. The update module 640 maps the three-dimensional coordinates to a display position based on a transformation matrix. The transparency change module 660 determines an occlusion relationship between a widget and the display position based on a positional relationship between the display position and a two-dimensional area in which the widget is located.

[0129] In one preferred embodiment, there are n target points, where n is an integer greater than 1. The transparency change module 660 determines that the display location is occluded by a widget if i target points of the virtual character's n target points are located within the two-dimensional area in which the widget is located, where i is a positive integer less than or equal to n.

[0130] In one preferred embodiment, the transparency change module 660 determines that when i target points are located within the two-dimensional area where the widget is located, there is an i-th level occlusion relationship between the widget and the display position, and queries the i-th level transparency corresponding to the i-th level occlusion relationship from the correspondence relationship, where the correspondence relationship includes a correspondence relationship between different occlusion relationships and different transparencies, and determines the i-th level transparency as the second transparency.

[0131] In one preferred embodiment, the transparency change module 660 reduces the transparency of a widget if the display location is not occluded by the widget.

[0132] In one preferred embodiment, the transparency change module 660 abruptly decreases the transparency of the widget from the second transparency to the first transparency when the display location is not occluded by the widget, and the first transparency is lower than the second transparency, or gradually decreases the transparency of the widget from the second transparency to the first transparency when the display location is not occluded by the widget, and the first transparency is lower than the second transparency.

[0133] In one preferred embodiment, the transparency change module 660 reduces the transparency of a widget in response to a close-to-place action triggered at a floating position above the widget.

[0134] 9 is a block diagram of a computing device according to an exemplary embodiment of the present invention. The computing device may include a terminal. The terminal 1300 includes a central processing unit (CPU) 1301, a system memory 1304 including a random access memory (RAM) 1302 and a read-only memory (ROM) 1303, and a system bus 1305 connected to the system memory 1304 and the central processing unit 1301. The computing device 1300 further includes a basic input / output (I / O) system 1306 for transmitting information between devices within the computer, and a mass storage device 1307 for storing an operating system 1313, application programs 1314, and other program modules 1315.

[0135] The basic input / output system 1306 includes a display 1308 for displaying information and input devices 1309, such as a mouse or keyboard, for inputting information by a user. The display 1308 and the input devices 1309 are both connected to the central processing unit 1301 via an input / output controller 1310, which is connected to the system bus 1305. The basic input / output system 1306 may further include an input / output controller 1310 for receiving and processing input from other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1310 may further provide output to a display screen, printer, or other type of output device.

[0136] The mass storage device 1307 is connected to the central processing unit 1301 via a mass storage controller (not shown) connected to the system bus 1305. The mass storage device 1307 and its associated computer-readable media provide non-volatile storage for the computing device 1300. That is, the mass storage device 1307 may include a computer-readable medium (not shown), such as a hard disk or a compact disc read-only memory (CD-ROM) drive.

[0137] Note that computer-readable media may include computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include RAM, ROM, Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other solid-state storage technology, CD-ROM, Digital Versatile Disc (DVD) or other optical storage, tape cartridges, magnetic tape, disk storage, or other magnetic storage devices. Note that computer storage media are not limited to the above, as will be appreciated by those skilled in the art. The system memory 1304 and mass storage device 1307 may be collectively referred to as memory.

[0138] In each embodiment of the present invention, the computing device 1300 may further be connected to a remote computer over a network, such as the Internet, for operation therewith. That is, the computing device 1300 may be connected to a network 1312 via a network interface unit 1311 connected to the system bus 1305, or in other words, may be connected to another type of network or remote computer system (not shown) using the network interface unit 1311.

[0139] The memory further includes one or more programs, and the one or more programs are stored in the memory, and the central processing unit 1301 executes the one or more programs to perform all or part of the steps of the widget display method.

[0140] In an exemplary embodiment, a computer-readable storage medium is further provided, the computer-readable storage medium storing at least one instruction, at least one program, code set, or instruction set, the at least one instruction, at least one program, code set, or instruction set being loaded and executed by a processor to implement the widget display method according to each of the above embodiments.

[0141] In an exemplary embodiment, a computer program product or a computer program is further provided, the computer program product or the computer program including computer instructions stored on a computer-readable storage medium, the computer instructions being read by a processor of the computer device from the computer-readable storage medium and executed by the computer device, causing the computer device to perform the widget display method according to each of the above embodiments.

[0142] As can be understood by those skilled in the art, all or part of the steps in the above embodiments may be implemented by hardware, or may be implemented by instructing relevant hardware to execute the steps through a program. The program may be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk, an optical disk, etc.

[0143] The above merely describes exemplary embodiments of the present invention, and does not limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention are included within the protection scope of the present invention.

Claims

1. 1. A method for displaying a widget, implemented by a computing device, comprising: displaying a graphical user interface including virtual characters located in a virtual environment and a minimap widget, the virtual characters including at least a player's own virtual character located at a center of the graphical user interface and other virtual characters other than the player's own virtual character; updating a display position of the other virtual character in the graphical user interface in accordance with a movement of the virtual character in the virtual environment; and increasing the transparency of the minimap widget if the display location is occluded by the minimap widget.

2. The method of claim 1 , wherein the increased transparency of the minimap widget is positively correlated with the number of target points of the other virtual character in the two-dimensional area in which the minimap widget is located.

3. If the display location is obscured by the minimap widget, increasing the transparency of the minimap widget includes: If the display location is occluded by the minimap widget, abruptly increasing the transparency of the minimap widget from a first transparency to a second transparency, the first transparency being lower than the second transparency; or 3. The method of claim 1, further comprising: if the display location is occluded by the minimap widget, gradually increasing the transparency of the minimap widget from the first transparency to the second transparency, the first transparency being lower than the second transparency.

4. The transparency of the minimap widget after being increased is positively correlated with the occlusion level of the display position occluded by the minimap widget; The method according to claim 1 , wherein the occlusion level indicates a size level of an occlusion area in the graphical user interface where the other virtual characters are occluded.

5. acquiring three-dimensional coordinates of a target point of the other virtual character in the virtual environment; mapping the three-dimensional coordinates to the display positions based on a transformation matrix; The method of claim 3 , further comprising: determining an occlusion relationship between the minimap widget and the display location based on a positional relationship between the display location and a two-dimensional area in which the minimap widget is located.

6. There are n points of interest, n being an integer greater than 1; The step of determining an occlusion relationship between the minimap widget and the display position based on a positional relationship between the display position and a two-dimensional area in which the minimap widget is located includes:

6. The method of claim 5, further comprising: determining that the display position is occluded by the minimap widget if i of n target points of the other virtual character are located within a two-dimensional area in which the minimap widget is located, where i is a positive integer less than or equal to n.

7. The step of determining that the display position is occluded by the MiniMap widget when i target points among n target points of the other virtual character are located within a two-dimensional area in which the MiniMap widget is located includes: determining that there is an i-th level of occlusion relationship between the MiniMap widget and the display location if the i-th number of target points are located within a two-dimensional area in which the MiniMap widget is located; The method comprises: querying a transparency of the i-th level corresponding to the occlusion relationship of the i-th level from a correspondence relationship, wherein the correspondence relationship includes a correspondence relationship between different occlusion relationships and different transparency levels; The method of claim 6 , further comprising determining the i-th level of transparency as the second transparency.

8. The method of claim 1 , further comprising the step of: reducing the transparency of the minimap widget if the display location is not occluded by the minimap widget.

9. If the display location is not occluded by the minimap widget, reducing the transparency of the minimap widget includes: If the display location is not occluded by the minimap widget, abruptly decreasing the transparency of the minimap widget from a second transparency to a first transparency, the first transparency being lower than the second transparency; or 9. The method of claim 8, further comprising: if the display location is not occluded by the minimap widget, gradually decreasing a transparency of the minimap widget from the second transparency to the first transparency, the first transparency being lower than the second transparency.

10. After increasing the transparency of the minimap widget, 10. The method of claim 1, further comprising the step of: reducing the transparency of the minimap widget in response to an approach action triggered at a floating position above the minimap widget.

11. A widget display device, comprising: a display module for displaying a graphical user interface including virtual characters located in a virtual environment and a minimap widget, the virtual characters including at least a player's own virtual character located at a center of the graphical user interface and other virtual characters other than the player's own virtual character; an update module that updates the display positions of the other virtual characters in the graphical user interface in accordance with the movement of the virtual character in the virtual environment; a transparency change module that increases the transparency of the minimap widget if the display location is occluded by the minimap widget.

12. 11. A computing device comprising a processor, a memory connected to the processor, and program instructions stored in the memory, the processor, when executing the program instructions, implementing the method for displaying a widget according to any one of claims 1 to 10.

13. 1. A computer program comprising computer instructions stored on a computer-readable storage medium, A computer program product, comprising: a processor of a computer device reading the computer instructions from the computer-readable storage medium; and the processor executing the computer instructions to cause the computer device to perform the widget display method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Video game device and image synthesis therefor

    JP1996155140A

  • Game apparatus and image processing program

    JP2006068138A

  • Opacity method and device therefor

    US20170043251A1

  • Virtual vehicle control method, model training method, control device and storage medium

    WO2019218791A1