Virtual scene display method and apparatus, and device
By receiving user movement instructions in the virtual scene display device and adjusting the display position of the virtual icon to display on the object surface, the problem of virtual icon blocking the virtual scene is solved, and the display effect and user experience are improved.
Patent Information
- Application Number
- PCT/CN2024/082029
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-29
- Filing Date
- 2024-03-15
- Publication Date
- 2025-03-06
AI Technical Summary
When existing virtual scene display devices display virtual icons, they often block the virtual scene, resulting in the display effect being affected.
By receiving user's movement instructions, adjust the display position of the virtual icon and display the virtual icon on the target surface of the object in the virtual scene, making it visually appear to be the display element on the surface of the object.
It improves the display effect of the virtual scene and the immersive experience of the user, reduces the obstruction of the virtual icons on the user's perspective, and avoids the viewing impact of the virtual scene or the physical world.
Smart Images

Figure CN2024082029_06032025_PF_FP_ABST
Abstract
Description
Virtual scene display method, device and equipment
[0001] This application claims priority to Chinese patent application No. 202311102816.0, filed on August 29, 2023, entitled “Virtual scene display method, apparatus and device thereof,” the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present application relates to the technical field of virtual scene display, and in particular to a virtual scene display method and its device and equipment. Background Art
[0003] In virtual reality (VR) or augmented reality (AR) display devices, when a user views a virtual scene displayed by the virtual scene display device, an interface entry is displayed to the user. Virtual icons representing functional components are placed at the interface entry. By operating the virtual icons, the user can access the functions associated with the functional components represented by the virtual icons. These functional components can include applications (apps) and widgets built into the virtual scene display device.
[0004] Currently, there are two main ways to display interface portals. One is a card-style display similar to televisions, where cards are displayed in a virtual scene. Each card displays a virtual icon that represents a brief description of the functional component, serving as the portal to the functional component. The other is a mobile phone-style display, as shown in Figure 1. A floating box X is displayed in the virtual scene, with the functional component icon X1 displayed within the floating box. These two display methods differ only in the display style; in essence, both display the icons of multiple functional components within a floating area.
[0005] However, both of these display methods will block the virtual scene, affecting the display effect of the virtual scene.
[0006] Summary of the Invention
[0007] This application provides a virtual scene display method, apparatus, and device. This application can improve the display effect of the virtual scene and the immersive experience of the user when viewing the virtual scene. The technical solutions provided by this application are as follows:
[0008] In a first aspect, the present application provides a method for displaying a virtual scene. The method is applied to a virtual scene display device. The method comprises: displaying a virtual scene containing a virtual icon; receiving a movement instruction from a user, the movement instruction instructing adjustment of the display position of the virtual icon in the virtual scene; and displaying the virtual icon on a target surface of an object in the virtual scene in response to the movement instruction.
[0009] As can be seen from the above, when a user adjusts the display position of a virtual icon while using a virtual scene display device, the virtual scene display device will display the adjusted virtual icon on the surface of an object in the virtual scene. In this way, the virtual icon can be visually seen as a display element located on the surface of the object, allowing the virtual icon to better integrate with the virtual scene, reducing the abruptness of the virtual icon in the virtual scene, and helping to improve the display effect of the virtual scene and the user's immersive experience when viewing the virtual scene. In addition, because the adjusted virtual icon is displayed on the surface of the object in the virtual scene, rather than displayed in a floating area as in related technologies, the virtual icon's occlusion of the user's perspective is greatly reduced, and will not affect the user's viewing of the virtual scene or the physical world.
[0010] A movement instruction typically instructs a virtual icon to be moved to a specified location for display. In this application, to enhance the display quality of the adjusted virtual icon and the user's immersive experience when viewing the virtual scene, the virtual icon is displayed on the surface of an object in the virtual scene. Prior to displaying the virtual icon on the target surface of the object in the virtual scene, the method further includes: obtaining the virtual spatial location to which the movement instruction indicates the virtual icon should be adjusted; and determining the target surface among the surfaces of multiple objects in the virtual scene based on the virtual spatial location.
[0011] Optionally, based on different application requirements, the target surface may be determined based on different determination conditions. The following determination conditions are used as examples for illustration:
[0012] Judgment Condition 1: The target surface can be selected as the surface with the shortest first distance from the virtual spatial position among the multiple surfaces of multiple objects in the virtual scene. Since the surface of an object in the virtual scene is actually a small, planar area within the virtual scene and does not have infinite extension, the first distance is not the perpendicular distance between the virtual spatial position and the surface, but rather the minimum length of the line connecting a point on the surface and the virtual spatial position. The smaller the first distance between the surface in virtual space and the virtual spatial position, the smaller the visual deviation between the surface and the virtual spatial position. Displaying an adjusted virtual icon on the surface can better reflect the user's intention to move the virtual icon, thereby improving the user experience.
[0013] Judgment Condition 2: The first distance between the target surface and the virtual space location is less than a preset distance threshold. To prevent user error, a preset distance threshold can be optionally set. If the first distance between the virtual space location and any surface is not less than the preset distance threshold, the move command is considered to have been triggered by a user error, and the virtual icon's display position does not need to be adjusted.
[0014] Judgment Condition 3: The target surface satisfies one or more of the following judgment characteristics: the target surface's area is greater than a preset area threshold; the target surface's minimum length is greater than a preset length threshold; the target surface's minimum width is greater than a preset width threshold; and the target surface's minimum height is greater than a preset height threshold. By comparing the surface's judgment characteristics with the corresponding thresholds, the surface can be indirectly compared with the virtual icon in the dimension to which the judgment characteristics pertain, preventing a significant difference between the virtual icon and the surface in that dimension, which would result in the virtual icon appearing unnaturally on the surface.
[0015] Determination Condition 4: The target surface is determined based on its viewing angle. The viewing angle of any surface in the virtual scene is positively correlated with the probability of it becoming the target surface. When determining the target surface, the user's viewing angle may vary depending on the surface. To ensure the visual salience of the repositioned virtual icon, the target surface may be filtered based on its viewing angle, maximizing the display of the repositioned virtual icon on surfaces with a larger viewing angle.
[0016] Since the target surface is a surface that is more suitable for anchoring virtual icons based on the position in the virtual space, when the area of the target surface is not too large, a good display effect should be obtained when the adjusted virtual icon is displayed at most positions on the target surface. Therefore, after determining the target surface, the adjusted virtual icon can be displayed at any position on the target surface. Alternatively, to further ensure the display effect of the virtual scene, the adjusted display position of the virtual icon can also be determined on the target surface, and the adjusted virtual icon can be displayed at the display position. The following provides examples of several implementation methods for determining the display position on the target surface:
[0017] In a first implementation, the adjusted display position is the position on the target surface that has the smallest second distance from the virtual space position among multiple positions on the target surface. The second distance for any position on the target surface is the length of the line connecting that position and the virtual space position. The smaller the second distance between a position on the target surface and the virtual space position, the smaller the visual deviation between that position and the virtual space position. Displaying the adjusted virtual icon at that position better reflects the user's intention to move the virtual icon, thereby improving the user experience. When the target surface is directly opposite the virtual icon before adjustment, displaying the adjusted virtual icon at the display position determined according to this implementation can achieve particularly good display effects.
[0018] In a second implementation, the adjusted display position is the area including the location with the smallest second distance from the virtual space location among the multiple locations on the target surface. For example, the area where the virtual icon can be fully projected is determined as the display position of the adjusted virtual icon, with the direction of the line connecting the location with the smallest second distance and the virtual space location being the projection direction. Because the smaller the second distance between a location on the target surface and the virtual space location, the smaller the visual deviation between that location and the virtual space location, displaying the adjusted virtual icon in the area including that location can better reflect the user's intention to move the virtual icon, thereby improving the user experience.
[0019] In a third implementation, the adjusted display position is the center point of the target surface. When the target surface has a small area, such as when the target surface is a desktop, the virtual icon after the adjustment is displayed at the center point of the target surface, which can achieve a better display effect. Moreover, since the variance of the distance from the center point of the target surface to other points on the target surface is smaller than the variance of the distance from other points on the target surface to the remaining points on the target surface, the difference between the display effect and the user's movement intention when displaying the virtual icon after the adjustment at the center point is generally smaller, and thus the display effect of the virtual scene can be guaranteed overall. In addition, determining the center point of the target surface as the display position of the virtual icon after the adjustment simplifies the complexity of the calculation and can ensure the speed of refreshing the display based on the movement instruction.
[0020] In one implementation, when a movement instruction is triggered by an operation that generates displacement in physical space, such as when the movement instruction is triggered by a body movement, the triggering operation generates an operation amplitude in physical space, such as a first movement distance and a first movement direction. Because a mapping relationship exists between the physical space and the virtual scene, the virtual scene display device may optionally map the first movement distance of the triggering operation to a second movement distance in the virtual scene, and the first movement direction of the triggering operation to a second movement direction in the virtual scene, based on the first movement distance and the first movement direction, in combination with the mapping relationship between the physical space and the virtual scene. Then, based on the second movement distance and the second movement direction, the virtual space position to which the virtual icon is to be adjusted as indicated by the movement instruction is derived.
[0021] In another implementation, when a movement instruction is triggered by an operation indicated by a user through an input device, such as when a movement instruction is triggered by a user's operation on a handheld remote control, the triggering operation can indicate a second movement distance and a second movement direction of the virtual icon in the virtual scene. The virtual scene display device can optionally obtain the virtual space position of the virtual icon after it is moved based on the second movement distance and the second movement direction, combined with the virtual space position of the virtual icon before it is moved.
[0022] Optionally, before and after the virtual icon is adjusted, in addition to moving in the virtual scene, it may also be scaled or rotated. If the virtual icon is also scaled or rotated in the virtual scene, before displaying the virtual icon on the target surface of the object in the virtual scene, the method further includes: determining at least one adjustment parameter of the virtual icon's scaling parameter and rotation parameter, the scaling parameter being used to indicate the degree of scaling of the virtual icon after the position is adjusted relative to that before the position is adjusted, and the rotation parameter being used to indicate the rotation method of the virtual icon after the position is adjusted relative to that before the position is adjusted. Accordingly. Displaying the virtual icon on the target surface of the object in the virtual scene includes: displaying the virtual icon on the target surface based on at least one adjustment parameter.
[0023] Optionally, after the virtual icon is displayed on the target surface of the object in the virtual scene, the method further includes: when a change in the user's viewing angle is detected, displaying the virtual icon based on the changed viewing angle.
[0024] In some implementation scenarios, the operation object may be multiple virtual icons at the same time, and there may be a situation where the sides of at least two virtual icons are aligned. In this case, taking the side alignment of two virtual icons as an example, the virtual scene display method further includes: after receiving a movement instruction instructing to adjust at least one of the two virtual icons, based on the movement instruction, synchronously adjusting the two virtual icons to the position indicated by the movement instruction for display. By synchronously moving the virtual icons with aligned sides, the virtual scene display device can improve the movement efficiency of multiple virtual icons.
[0025] Similarly, when at least two virtual icons overlap in a virtual scene, taking the overlap of two virtual icons as an example, the virtual scene display method further includes: for one virtual icon and the other virtual icon, one virtual icon obtains the attributes of the other virtual icon, and updates the relevant data of the one virtual icon based on the attributes. This can increase the fun of the user's use of the virtual scene display device and help improve the user experience.
[0026] Optionally, displaying the virtual scene includes: displaying a virtual icon in the virtual scene with a specified transparency; or, displaying the virtual icon in a floating display box, the floating display box being displayed in the virtual scene with a specified transparency; or, displaying the virtual icon on the surface of an object in the virtual scene.
[0027] In a second aspect, the present application provides a virtual scene display device. This device is applied to a virtual scene display device. The device includes: a display module for displaying a virtual scene containing virtual icons; a receiving module for receiving a movement instruction sent by a user, the movement instruction instructing to adjust the display position of the virtual icon in the virtual scene; and the display module is further configured to display the virtual icon on a target surface of an object in the virtual scene in response to the movement instruction.
[0028] Optionally, the device further includes: an acquisition module for acquiring a virtual space position to which the virtual icon is adjusted as indicated by the movement instruction; and a determination module for determining a target surface among surfaces of multiple objects in the virtual scene based on the virtual space position.
[0029] Optionally, the target surface is a surface having a minimum first distance to the virtual space position among the surfaces of the multiple objects, and the first distance is a minimum value of the length of a line connecting a point on the surface and the virtual space position.
[0030] Optionally, the first distance between the target surface and the virtual space position is less than a preset distance threshold, and the first distance is a minimum value of the length of a line connecting a point on the surface and the virtual space position.
[0031] Optionally, the target surface satisfies one or more of the following judgment characteristics: the area of the target surface is greater than a preset area threshold; the minimum value of the target surface in the length direction is greater than a preset length threshold; the minimum value of the target surface in the width direction is greater than a preset width threshold; and the minimum value of the target surface in the height direction is greater than a preset height threshold.
[0032] Optionally, the target surface is determined based on a viewing angle size of the target surface, and the viewing angle size of any surface in the virtual scene is positively correlated with a probability of any surface becoming the target surface.
[0033] Optionally, the determination module is further configured to determine the adjusted display position of the virtual icon on the target surface.
[0034] Optionally, the adjusted display position is the position on the target surface that has the smallest second distance from the virtual space position among the multiple positions, where the second distance is the length of a line connecting the position and the virtual space position. Alternatively, the adjusted display position is an area including the position on the target surface that has the smallest second distance from the virtual space position among the multiple positions. Alternatively, the adjusted display position is the center point of the target surface.
[0035] Optionally, the acquisition module is specifically used to: acquire a first moving distance and a first moving direction of the triggering operation of the moving instruction in the physical space; and determine the virtual space position based on the first moving distance, the first moving direction and the mapping relationship between the physical space and the virtual scene.
[0036] Optionally, the acquisition module is specifically used to: acquire a second moving distance and a second moving direction of the virtual icon in the virtual scene indicated by the triggering operation of the movement instruction; and determine the virtual space position based on the second moving distance and the second moving direction.
[0037] Optionally, the device also includes: a determination module for determining at least one adjustment parameter among the scaling parameter and rotation parameter of the virtual icon, the scaling parameter is used to indicate the scaling degree of the virtual icon after the position is adjusted relative to that before the position is adjusted, and the rotation parameter is used to indicate the rotation method of the virtual icon after the position is adjusted relative to that before the position is adjusted.
[0038] Accordingly, the display module is specifically configured to display a virtual icon on the target surface based on at least one adjustment parameter.
[0039] Optionally, the display module is further configured to: when detecting that the user's viewing angle has changed, display a virtual icon based on the changed viewing angle.
[0040] Optionally, when the sides of two virtual icons are aligned in the virtual scene, the display module is further used to, after receiving a movement instruction instructing to adjust at least one of the two virtual icons, synchronously adjust the two virtual icons to the position indicated by the movement instruction for display based on the movement instruction.
[0041] Optionally, when the sides of two virtual icons overlap in the virtual scene, the display module is further configured to, for one virtual icon and the other virtual icon, obtain attributes of the other virtual icon and update relevant data of the one virtual icon based on the attributes.
[0042] Optionally, the display module is specifically used to: display the virtual icon in the virtual scene with a specified transparency; or, display the virtual icon in a floating display box, which is displayed in the virtual scene with a specified transparency; or, display the virtual icon on the surface of an object in the virtual scene.
[0043] In a third aspect, the present application provides a virtual scene display device, comprising a display screen, a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect of the present application and any possible implementation thereof.
[0044] In a fourth aspect, the present application provides a computing device cluster, comprising multiple computing devices, wherein the multiple computing devices include multiple processors and multiple memories, wherein program instructions are stored in the multiple memories, and the multiple processors execute the program instructions, so that the computing device cluster executes the method provided in the first aspect of the present application and any possible implementation thereof.
[0045] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device executes the method provided in the first aspect of the present application and any possible implementation thereof.
[0046] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when run on a computer, enables the computer to execute the method provided in the first aspect of the present application and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] FIG1 is a schematic diagram showing an interface entrance provided in an embodiment of the present application;
[0048] FIG2 is a schematic diagram of an implementation environment involved in a virtual scene display method provided in an embodiment of the present application;
[0049] FIG3 is a schematic diagram of an implementation environment involved in another virtual scene display method provided in an embodiment of the present application;
[0050] FIG4 is a flow chart of a virtual scene display method provided in an embodiment of the present application;
[0051] FIG5 is a schematic diagram of a virtual scene displayed by MR according to an embodiment of the present application;
[0052] FIG6 is a schematic diagram of a triggering gesture for a movement instruction provided in an embodiment of the present application;
[0053] FIG7 is a flow chart of determining a target surface according to an embodiment of the present application;
[0054] FIG8 is a schematic diagram of a geometric relationship provided in an embodiment of the present application;
[0055] FIG9 is another flow chart for determining a target surface according to an embodiment of the present application;
[0056] FIG10 is a schematic diagram of displaying a virtual icon on a target surface of an object in a virtual scene in response to a movement instruction provided by an embodiment of the present application;
[0057] FIG11 is a flowchart of another virtual scene display method provided in an embodiment of the present application;
[0058] FIG12 is a schematic diagram of another embodiment of the present application providing a method of displaying a virtual icon on a target surface of an object in a virtual scene in response to a movement instruction;
[0059] FIG13 is a schematic structural diagram of a virtual scene display device provided in an embodiment of the present application;
[0060] FIG14 is a schematic structural diagram of another virtual scene display device provided in an embodiment of the present application;
[0061] FIG15 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0062] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0063] With the rapid development of technology and people's increasing demands for quality of life, the use of virtual scene display devices, such as virtual reality, augmented reality, mixed reality (MR), and extended reality (XR), is increasing. However, the current way virtual scene display devices display virtual icons often obstructs the virtual scene, affecting the display quality of the virtual scene.
[0064] Based on this, embodiments of the present application provide a virtual scene display method. This method is applied to a virtual scene display device. The method includes: the virtual scene display device displays a virtual scene, wherein the virtual scene includes a virtual icon; after the virtual scene display device receives a movement instruction sent by a user, the virtual icon is displayed on a target surface of an object in the virtual scene in response to the movement instruction. The movement instruction instructs adjusting the display position of the virtual icon in the virtual scene.
[0065] As can be seen from the above, when the user uses the virtual scene display device, if the display position of the virtual icon is adjusted, the virtual scene display device will display the adjusted virtual icon on the surface of the object in the virtual scene. In this way, the virtual icon can be visually seen as a display element located on the surface of the object, so that the virtual icon can be better integrated with the virtual scene, reducing the abruptness of the virtual icon in the virtual scene, and helping to improve the display effect of the virtual scene and the user's immersive experience when watching the virtual scene. In addition, since the virtual icon after the adjustment is displayed on the surface of the object in the virtual scene, rather than being displayed in the floating area as in the related art, the virtual icon greatly reduces the occlusion of the user's perspective, and does not affect the user's viewing of the virtual scene or the physical world. Among them, the viewing angle is the angle formed by the light rays drawn from the two ends of the object (up and down, or left and right) at the optical center of the human eye. The smaller the size of the object and the farther it is from the observer, the smaller the viewing angle.
[0066] The following describes the technical solution provided by this application from multiple perspectives, including application scenarios, method implementation, software devices, and hardware devices. The following first illustrates an implementation environment of a virtual scene display method provided in an embodiment of this application.
[0067] FIG2 is a schematic diagram of an implementation environment for a virtual scene display method provided in an embodiment of the present application. As shown in FIG2 , the implementation environment includes a virtual scene display device 10. The virtual scene display device 10 is capable of executing the virtual scene display method provided in an embodiment of the present application. For example, the virtual scene display device 10 is capable of displaying a virtual scene and, after receiving a movement instruction from a user, displaying a virtual icon on a target surface of an object in the virtual scene in response to the movement instruction.
[0068] In one implementation, the virtual scene display method provided in the embodiment of the present application can be implemented by running an executable program on the virtual scene display device 10. For example, the executable program of the virtual scene display method can be presented in the form of an application installation package. After the application installation package is installed in the virtual scene display device 10, the virtual scene display method can be implemented by running the executable program.
[0069] It should be noted that, in terms of implementation, the virtual scene display method may have all of its functions implemented by the virtual scene display device 10, or may have some of its functions implemented by the virtual scene display device 10 and some of its functions implemented by the other device. For example, if the virtual scene display method mainly includes a computing function and a display function, then both the computing function and the display function are implemented by the virtual scene display device 10. Alternatively, the virtual scene display device 10 is configured with a computing device, the computing function is implemented by the computing device, and the display function is implemented by the virtual scene display device 10. Alternatively, the virtual scene display method may have other implementation forms, which are not listed here.
[0070] Optionally, the virtual scene display device 10 can be a device capable of displaying virtual scenes such as virtual reality, augmented reality, mixed reality, and extended reality. In addition, the virtual scene display device 10 can be a head-mounted device (such as a head-mounted device) or a virtual scene display device in other forms. The head-mounted device is equipped with sensors such as a lens screen, a lidar, a camera, and an eye tracker, which can scan and model the environment, display a virtual scene based on the modeling results, or directly use a preset virtual scene model to display the virtual scene on the lens screen. Figure 2 is a schematic diagram of the virtual scene display device 10 as a head-mounted device.
[0071] FIG3 is a schematic diagram of an implementation environment involved in another virtual scene display method provided in an embodiment of the present application. As shown in FIG3 , the implementation environment may include: an input device 20. The input device 20 is used to input information to the virtual scene display device 10 so that the virtual scene display device 10 displays based on the input information. The input device 20 can establish a communication connection with the virtual scene display device 10. For example, a communication connection can be established between the input device 20 and the virtual scene display device 10 via a network. Optionally, the network can be a local area network, the Internet, or other networks, which are not limited in the embodiment of the present application. For another example, the input device 20 and the virtual scene display device 10 can be connected to each other via short-range wireless communication technology, such as Bluetooth, infrared, Zigbee, ultra wideband (UWB), near field communication (NFC), digital enhanced cordless telecommunications (DECT), etc. For example, the input device 20 can be a remote control and a mouse. The user can drag a virtual icon in a virtual scene by performing a designated operation on a device such as a remote controller or a mouse. The dragging action triggers a move instruction. After receiving the move instruction, the virtual scene display device 10 can respond to the move instruction and display the virtual icon at the adjusted display position indicated by the move instruction.
[0072] It should be understood that the above content is an illustrative description of the application scenario of the virtual scene display method provided in the embodiment of the present application, and does not constitute a limitation on the application scenario of the virtual scene display method. Ordinary technicians in this field can know that as business needs change, its application scenario can be adjusted according to application needs.
[0073] The following describes the implementation process of the virtual scene display method provided in the embodiment of the present application. The method is applied to the virtual scene display device in Figure 2 or Figure 3. For example, Figure 4 is a flow chart of a virtual scene display method provided in the embodiment of the present application. As shown in Figure 4, the virtual scene display method includes the following steps:
[0074] Step 401: A virtual scene display device displays a virtual scene with virtual icons in it.
[0075] During use, the virtual scene display device will display a virtual scene with virtual icons. Taking a head-mounted device as an example, the head-mounted device is equipped with two lens screens. The head-mounted device controls the lens screens for display, which can create a spatial visual effect and present a virtual scene with a visual three-dimensional effect to the user of the head-mounted device. According to the display method of the head-mounted device, there are currently two main types of head-mounted devices. One enables the user to observe the physical world through the lens screen, and also enables the user to observe the content displayed on the lens screen. The other only enables the user to observe the content displayed on the lens screen. The following describes the implementation methods of these two head-mounted devices to display virtual scenes:
[0076] The first type is a head-mounted device that allows users to observe the physical world through the lens screen. The head-mounted device controls the display content of the lens screen, and the content is superimposed on the image of the physical world, so that when the human eye observes the physical world, it can observe the content displayed on the lens screen and the physical world at the same time. In this case, the head-mounted device can use a variety of sensors (such as cameras and lidars, etc.) to scan the surrounding environment in real time, model based on the scanned physical world, directly use the spatial effects of the physical world to construct a virtual scene corresponding to the physical world, and then convert the content displayed on the lens screen into a three-dimensional display in the virtual scene, thereby realizing a three-dimensional display including the virtual scene and the content displayed on the lens screen.
[0077] The second type involves a head-mounted device that doesn't allow the user to observe the physical world through its lens screens. This head-mounted device displays content through its two lens screens, creating a three-dimensional two-dimensional space based on the content displayed on the two lens screens. This two-dimensional space is then visually rendered as a three-dimensional effect, enabling the three-dimensional display of a virtual scene. For example, the head-mounted device can be pre-loaded with a 3D model and presented at a predetermined viewing angle, enabling the three-dimensional display of a virtual scene containing the 3D model.
[0078] It should be noted that in the above two display scenarios, the virtual scene may include multiple display elements. The display content that collectively represents a semantic content in the virtual scene is called a display element. For example, the display content representing a table is called a display element. However, some of the display elements may be movable, while some may not be movable. For example, the display element representing the wall may not be movable, while the virtual icon representing the functional component may be movable. These immovable display elements are called backgrounds or environments, and the display elements that can be moved are usually called user interfaces (UI).
[0079] In the embodiment of the present application, there are many ways for the virtual scene display device to display virtual icons. The following are examples to illustrate them:
[0080] In one display mode, when displaying a virtual scene, the virtual scene display device can optionally display the virtual icon in the virtual scene with a specified transparency. For example, the virtual icon is displayed in the virtual scene with 100% transparency. From a visual effect, this display mode is equivalent to displaying only the outline and pattern of the virtual icon. As shown in Figure 5, the virtual icon X1 is displayed in the virtual scene with 100% transparency, and the lights on the roof in the virtual scene can be seen through the virtual icon X1. Alternatively, the virtual icon is displayed in the virtual scene with 0% transparency, that is, the virtual icon is displayed in an opaque manner. From a visual effect, this display mode is equivalent to displaying the outline, pattern and background of the virtual icon. When the virtual icon is displayed with a higher transparency, the user can observe the display content behind the virtual icon through the virtual icon, avoiding the obstruction of the display content behind the virtual icon, and can further ensure the display effect of the virtual scene.
[0081] In another display mode, the virtual scene display device displays a virtual icon in a floating display frame, which is displayed in the virtual scene with a specified transparency. Optionally, the virtual icon can also be displayed in the floating display frame with a specified transparency. The specified transparency of the floating display frame and the specified transparency of the virtual icon can be the same or different, and this embodiment of the present application does not specifically limit this. For example, the floating display frame and the virtual icon are both displayed in the virtual scene with 100% transparency, or the floating display frame and the virtual icon are both displayed in the virtual scene with 0% transparency. When the virtual icon and the floating display frame are both displayed with a higher transparency, the user can see through the virtual icon and the floating display frame to see the content displayed behind the virtual icon and the floating display frame, which can further ensure the display effect of the virtual scene. Figure 5 is a schematic diagram of a virtual scene displayed in MR according to an embodiment of the present application. The virtual scene is obtained by superimposing the display content of the lens screen on the physical world. As shown in Figure 5, the floating display frame 1 displays multiple virtual icons X1, which include a virtual icon for a music widget. The floating display frame 1 is displayed with 100% transparency near the top of the virtual scene, and the virtual icon is displayed with 100% transparency. Neither the floating display frame 1 nor the virtual icon affects the display content behind the floating display frame 1. FIG5 also shows a floating display frame 2, in which no virtual icon is displayed. The floating display frame 2 is displayed with 0% transparency near the bottom of the virtual scene, and the display content behind the floating display frame 2 cannot be seen.
[0082] Furthermore, one or more virtual icons can be displayed in the floating display frame. At this time, the floating display frame can be regarded as a card displaying the one or more virtual icons. The card is displayed at a specified position in the virtual scene. Optionally, when an App is installed in the virtual scene display device or a new component is added, the virtual icon of the App or component is displayed in the floating display frame by default. Moreover, the size of the floating display frame can be automatically adjusted according to the total number and / or size of the virtual icons that need to be displayed to ensure that all virtual icons can be fully displayed. For example, when the size of all virtual icons is the same and is a fixed value, if an App is installed in the virtual scene display device, the size of the floating display frame needs to be increased accordingly to display the virtual icon of the APP and the original virtual icon in the enlarged floating display frame according to the original size.
[0083] In another display method, a virtual scene display device displays a virtual icon on the surface of an object in the virtual scene. In this case, the virtual icon can be visually seen as a display element located on the surface of the object, allowing the virtual icon to better integrate with the virtual scene, reducing the virtual icon's abruptness in the virtual scene and ensuring the display effect of the virtual scene.
[0084] Optionally, the display position of a virtual icon in a virtual scene can be determined based on application requirements. For example, the display position of a virtual icon in a virtual scene can be determined based on the user's perspective, such as displaying the virtual icon in a position in the virtual scene that is convenient for the user to view. Optionally, a virtual icon can also be hidden or displayed in the virtual scene based on application requirements. When a virtual icon is displayed in a floating display frame, the floating display frame is hidden or displayed synchronously with the virtual icon. For example, when a user first puts on a head-mounted device, the virtual scene display device hides the virtual icon. After the user performs a specified operation (such as a specified gesture), the virtual scene display device displays the virtual icon in the virtual scene. For another example, when a user first puts on a head-mounted device, the virtual scene display device hides the floating display frame and the virtual icon therein. When a new virtual icon is added to the floating display frame, the virtual scene display device automatically displays the floating display frame and the virtual icon therein. In addition, when a user first puts on a head-mounted device, the virtual icon can be displayed as a two-dimensional icon or a three-dimensional icon. For example, when a virtual icon is displayed on the surface of an object in the virtual scene, the virtual icon is displayed as a three-dimensional icon.
[0085] Step 402: The virtual scene display device receives a movement instruction sent by the user, where the movement instruction instructs to adjust the display position of the virtual icon in the virtual scene.
[0086] When a user needs to adjust the display position of a virtual icon in a virtual scene while using a virtual scene display device, they can optionally perform a preset action to trigger a move instruction, causing the virtual scene display device to adjust the display position of the virtual icon in the virtual scene based on the move instruction. The preset action can be a physical movement performed by the user. For example, the preset action is a gesture performed by the user. The virtual scene display device is equipped with a camera. After the user performs a preset gesture within the camera's imaging range, the camera can perform image recognition of the preset gesture and trigger a move instruction based on the image recognition result. For example, as shown in Figure 6, when the floating display frame 1 is displayed at position A1 near the top of the virtual scene with 100% transparency, the user can trigger a move instruction by performing the gesture shown in area B in the lower right corner of Figure 6 on the virtual icon of the music widget. Alternatively, the preset action can be an operation instructed by the user through an input device. For example, if the virtual scene display device has a mouse, the user can trigger a move instruction by continuously pressing the left mouse button and moving the mouse. Furthermore, when triggering a move instruction, the user can first select the virtual icon by performing a preset action and then instruct to move the virtual icon by dragging it. For example, a user can operate a cursor through gestures or a handheld remote control, select a virtual icon by clicking the cursor, and then trigger a movement instruction by dragging the cursor to indicate that the selected virtual icon is moved in the direction and distance of the drag. The movement of the virtual icon in the virtual scene includes movement in any direction within a 360° range, or movement in any direction of multiple preset directions. For example, when the drag operation is to push forward, the virtual icon is instructed to move backward. When the drag operation is to pull backward, the virtual icon is instructed to move forward. When the drag operation is to swipe left, the virtual icon is instructed to move left. When the drag operation is to swipe right, the virtual icon is instructed to move right.
[0087] Step 403: The virtual scene display device determines a target surface among surfaces of multiple objects in the virtual scene based on the movement instruction.
[0088] In the virtual scene display method provided in this application, after the user instructs to adjust the display position of the virtual icon, the virtual scene display device will display the adjusted virtual icon on the surface of the object in the virtual scene, so that the virtual icon is visually viewed as a display element located on the surface of the object, thereby ensuring the display effect of the virtual scene. In one implementation, as shown in Figure 7, the implementation process of step 403 includes:
[0089] Step 4031: The virtual scene display device obtains a movement instruction indicating a virtual space position to which the virtual icon is adjusted.
[0090] The movement instruction can indicate the user's intention to move the virtual icon. The intention can be visualized as the movement instruction indicating the amplitude of the movement of the virtual icon in the virtual scene, such as the second movement distance and the second movement direction. The virtual scene display device can optionally determine the virtual space position to which the movement instruction indicates the virtual icon to be adjusted based on the second movement distance and the second movement direction. Among them, the virtual space position can be optionally represented by three-dimensional coordinates, and the process of step 4031 is: according to the three-dimensional coordinate system of the virtual scene, based on the three-dimensional coordinates before the virtual icon adjusts its position, and the second movement distance and the second movement direction, obtain the three-dimensional coordinates of the virtual icon after adjusting its position. When the conditions for triggering the movement instruction are different, there are certain differences in the implementation methods of obtaining the virtual space position. The following two implementation methods are used as examples for explanation:
[0091] In one implementation, when a movement instruction is triggered by an operation that generates displacement in physical space, such as when the movement instruction is triggered by a body movement, the triggering operation generates an operation amplitude in physical space, such as a first movement distance and a first movement direction. Because a mapping relationship exists between the physical space and the virtual scene, the virtual scene display device may optionally map the first movement distance of the triggering operation to a second movement distance in the virtual scene, and the first movement direction of the triggering operation to a second movement direction in the virtual scene, based on the first movement distance and the first movement direction, in combination with the mapping relationship between the physical space and the virtual scene. Then, based on the second movement distance and the second movement direction, the virtual space position to which the virtual icon is to be adjusted as indicated by the movement instruction is derived. For example, the mapping relationship between the physical space and the virtual scene indicates that the ratio of the size of the physical space to the size in the virtual scene is 1:10, and the direction of the physical space is the same as the direction of the virtual scene. Assuming that the first movement distance of the gesture in Figure 6 in the physical space is 5 cm and the first movement direction is 50 degrees west-southwest, then the second movement distance in the virtual scene is 50 cm and the second movement direction is 50 degrees west-southwest. Combined with the virtual space position A1 of the virtual icon before being moved, the movement instruction can be obtained to indicate the virtual space position A2 to which the virtual icon is adjusted. It can be seen that position A2 has moved downward and rightward relative to position A1, and its movement trajectory is shown as S in Figure 6.
[0092] In another implementation, when a movement instruction is triggered by an operation indicated by a user through an input device, such as when a movement instruction is triggered by a user's operation on a handheld remote controller, the triggering operation can indicate a second movement distance and a second movement direction of the virtual icon in the virtual scene. The virtual scene display device can optionally obtain the virtual space position of the virtual icon after it is moved based on the second movement distance and the second movement direction, combined with the virtual space position of the virtual icon before it is moved. For example, the handheld remote controller has multiple types of direction keys, such as an up key, a down key, a left key, a right key, a forward key, and a backward key, each direction key being used to trigger the virtual icon to move a specified distance (i.e., a step length) in the corresponding direction. The user triggers the movement instruction by clicking one or more direction keys, and then the second movement distance and second movement direction of the virtual icon indicated by the movement instruction in the virtual scene can be obtained based on the type, total number of times, and step length of all direction keys clicked by the user during the process of triggering the movement instruction. For example, assuming that the step length of each direction key of the handheld remote control is 5 cm, and the movement instruction is triggered by the user continuously clicking the down key 4 times and the left key 3 times, then according to the geometric relationship shown in Figure 8, the second movement distance can be obtained as 25 cm, and the second movement direction is 53 degrees west-southwest. Accordingly, the movement instruction can be obtained to indicate the virtual space position to which the virtual icon is adjusted.
[0093] Step 4032: The virtual scene display device determines a target surface among surfaces of multiple objects in the virtual scene based on the virtual space position.
[0094] After the virtual scene display device obtains the movement instruction to adjust the virtual icon to the virtual space position, since there may be multiple surfaces near the virtual space position, it is necessary to determine the target surface that is more suitable for anchoring the virtual icon based on the virtual space position, so as to greatly improve the display effect of the virtual scene and the immersive experience of the user when watching the virtual scene. Among them, the surface of the object in the virtual scene is presented as a plane in the virtual scene. For example, when the physical world can be observed through the lens screen, since the virtual scene is a modeling of the physical world, this plane is visually reflected as a physical plane within the user's field of view, such as the surface of objects in the physical world such as walls and desktops. Optionally, based on different application requirements, the target surface can be determined based on different judgment conditions. The following judgment conditions are used as examples for explanation:
[0095] Judgment Condition 1: The target surface can be selected as the surface with the smallest first distance from the virtual spatial location among the surfaces of multiple objects in the virtual scene. Since the surface of an object in the virtual scene is actually a small, planar area within the virtual scene and does not have infinite extension, the first distance is not the perpendicular distance between the virtual spatial location and the surface, but rather the minimum length of the line connecting a point on the surface and the virtual spatial location. For example, for the surface of a particular object, lines are established connecting different locations on the surface with the virtual spatial location, resulting in multiple lines corresponding to the multiple locations. The minimum length of these multiple lines is the first distance between the surface and the virtual spatial location. The implementation process of step 4032 includes: identifying the surfaces of all objects in the virtual scene based on the modeling data of the virtual scene, then calculating the first distance between the virtual spatial location and the surface of each object, and determining the surface with the smallest first distance as the target surface. For example, as shown in Figure 6, the target surface is the wall facing the user. When the first distance between the surface in the virtual space and the virtual space position is smaller, the visual deviation between the surface and the virtual space position is smaller. Displaying the adjusted virtual icon on the surface can better reflect the user's intention to move the virtual icon, which helps to improve the user experience.
[0096] Judgment Condition 2: The first distance between the target surface and the virtual spatial location is less than a preset distance threshold. To prevent user error, a preset distance threshold can be optionally set. If the first distance between the virtual spatial location and any surface is not less than the preset distance threshold, the move command is deemed to have been triggered by a user error, and the virtual icon display position does not need to be adjusted. Therefore, when determining the target surface, it is optional to first determine whether the first distance between the surface and the virtual spatial location is less than the preset distance threshold. If the first distance between the surface and the virtual spatial location is not less than the preset distance threshold, the surface is ruled out as a target surface. If the first distance between the surface and the virtual spatial location is less than the preset distance threshold, it is further determined whether the first distance between the surface and the virtual spatial location is the minimum first distance corresponding to the virtual spatial location. Based on the determination result, the surface is then determined to be the target surface. Alternatively, when determining the target surface, all surfaces can be sorted in ascending order of first distance, and the first surface in the sorted order whose first distance is less than the preset distance threshold is then determined as the target surface. The value of the preset distance threshold can be determined based on application requirements. For example, the value of the preset distance threshold can be determined based on the fault tolerance of the virtual scene display device. When the error tolerance is large, a preset distance threshold with a large value is set; when the error tolerance is small, a preset distance threshold with a small value is set.
[0097] Judgment Condition 3: The target surface meets one or more of the following judgment characteristics: the target surface area is greater than a preset area threshold; the target surface's minimum length is greater than a preset length threshold; the target surface's minimum width is greater than a preset width threshold; and the target surface's minimum height is greater than a preset height threshold. By comparing the surface's judgment characteristics with the corresponding thresholds, the surface can be indirectly compared with the virtual icon in the dimension to which the judgment characteristics pertain. This prevents a significant difference between the virtual icon and the surface in that dimension, which could cause the virtual icon to appear uncomfortably displayed on the surface. For example, if the surface's area is less than the preset area threshold, the ratio of the virtual icon to the surface's area may be small, causing the virtual icon to appear uncomfortably displayed on the surface and affecting the visual experience of the virtual scene. If a surface's judgment characteristics do not meet the corresponding judgment characteristics, it may be deemed unsuitable for displaying the adjusted virtual icon on that surface. Therefore, when determining a target surface, it may be necessary to first determine whether the surface meets one or more of the judgment characteristics. If the surface does not meet one or more of the judgment characteristics, it is determined that the surface is unsuitable for displaying the virtual icon, and the surface is excluded from being a target surface. When the surface satisfies the one or more determination characteristics, a further determination is made as to whether the first distance between the surface and the virtual spatial location is the minimum first distance corresponding to the virtual spatial location. Based on the determination result, the surface is then determined to be the target surface. Alternatively, when determining the target surface, all surfaces may be sorted in ascending order of first distance, and the first surface in the sorted order that satisfies the one or more determination characteristics may be determined as the target surface. The values of the preset area threshold, preset length threshold, preset width threshold, and preset height threshold may be determined based on application requirements. For example, when the virtual icon is a three-dimensional logo and the determination characteristic is that the area of the target surface is greater than the preset area threshold, the value of the preset area threshold may be determined based on the volume of the virtual icon to ensure that the ratio of the projected area of the virtual icon along the user's viewing angle to the preset area threshold remains at least 1:5. Furthermore, the "minimum value in the width direction" in determination condition 3 takes into account that the surface of an object in the virtual scene may not be a regular shape. For example, if the surface is a trapezoid, it may have multiple values in the width direction. In this case, the minimum value in the width direction of the surface has a significant impact on the display effect. The “minimum value in the length direction” and the “minimum value in the height direction” are in similar considerations.
[0098] Determination Condition 4: The target surface is determined based on its viewing angle. The viewing angle of any surface in the virtual scene is positively correlated with the probability of it becoming the target surface. When determining the target surface, the user's viewing angle may vary depending on the surface. To ensure the visual salience of the repositioned virtual icon, the target surface may be filtered based on its viewing angle, maximizing the display of the repositioned virtual icon on surfaces with a larger viewing angle.
[0099] In one implementation, the virtual scene display device may obtain an influence coefficient of each surface based on the viewing angle of the corresponding surface, and then determine whether the corresponding surface is a target surface based on the influence coefficient of each surface. For example, the influence coefficient of each surface may be compared with the product of the first distance to the surface, and the surface corresponding to the minimum product may be determined as the target surface.
[0100] In another implementation, the priority of a surface to become a target surface is set according to the viewing angle of the surface, and the priority is positively correlated with the viewing angle. For example, since the viewing angle of a surface parallel to the ground (such as a ceiling) is smaller, the surface parallel to the ground can be set to a lower priority. If the first distance to the surface parallel to the ground is the smallest, it can be determined whether the surface with the second smallest first distance can become the target surface. If the surface with the second smallest first distance is also parallel to the ground, it is determined whether the surface with the third smallest first distance can become the target surface, and so on, until a surface not parallel to the ground is determined as the target surface. In addition, in this judgment process, it can be further determined whether the difference between the surface with the n+1th smallest first distance and the surface with the nth smallest first distance is less than a preset constant. When the difference is less than the preset constant, the surface with the n+1th smallest first distance can become the target surface to ensure the display effect of the virtual icon. Wherein, n is a positive integer.
[0101] It should be noted that the above-mentioned determination conditions for determining the target surface can be used individually or in combination. Furthermore, if multiple determination conditions are used in combination, a compromise solution can be adopted among the multiple determination conditions to ensure the display effect of the virtual icon. For example, if determination condition 4 is also combined with determination conditions 2 and 3 to determine the target surface, considering that the impact of determination condition 4 on the display effect is greater than that of determination conditions 2 and 3, if the first surface that satisfies determination condition 4, determined in ascending order according to the first distance, does not satisfy the other determination conditions, then that surface can be determined as the target surface. For another example, considering the presentation effect of the virtual icon after the position is adjusted, after the virtual scene display device obtains the first distance between the virtual space position and the surface of each object, it can first make a determination based on any one of determination conditions 2 to 4, and then determine the target surface based on the determination result combined with determination condition 1. It should be understood that this example is only an example of determining the target surface and does not constitute a limitation on its determination method. As one of ordinary skill in the art will appreciate, as business needs change, its implementation method can be adjusted according to application needs.
[0102] Furthermore, as shown in FIG9 , the implementation process of step 403 includes:
[0103] Step 4033: The virtual scene display device determines the adjusted display position of the virtual icon on the target surface.
[0104] Since the target surface is a surface that is more suitable for anchoring virtual icons based on the position in the virtual space, when the area of the target surface is not too large, a good display effect should be obtained when the adjusted virtual icon is displayed at most positions on the target surface. Therefore, after determining the target surface, the adjusted virtual icon can be displayed at any position on the target surface. Alternatively, to further ensure the display effect of the virtual scene, the adjusted display position of the virtual icon can also be determined on the target surface, and the adjusted virtual icon can be displayed at the display position. The following provides examples of several implementation methods for determining the display position on the target surface:
[0105] In a first implementation, the adjusted display position is the position on the target surface that has the smallest second distance from the virtual space position among multiple positions on the target surface. The second distance for any position on the target surface is the length of the line connecting that position and the virtual space position. The smaller the second distance between a position on the target surface and the virtual space position, the smaller the visual deviation between that position and the virtual space position. Displaying the adjusted virtual icon at that position better reflects the user's intention to move the virtual icon, thereby improving the user experience. When the target surface is directly opposite the virtual icon before adjustment, displaying the adjusted virtual icon at the display position determined according to this implementation can achieve particularly good display effects.
[0106] In a second implementation, the adjusted display position is an area including a position with the minimum second distance from the virtual space position among multiple positions on the target surface. For example, with the direction of the line connecting the position with the minimum second distance and the virtual space position as the projection direction, the area where the virtual icon can be fully projected is determined as the display position of the virtual icon after the position is adjusted. The idea of this implementation is actually to determine the position with the minimum second distance as the display position of the virtual icon after the position is adjusted, but this second implementation determines an area. Similarly, since the smaller the second distance between a position on the target surface and the virtual space position, the smaller the visual deviation between the position and the virtual space position, displaying the adjusted virtual icon in the area including the position can better reflect the user's intention to move the virtual icon, which helps to improve the user experience.
[0107] In a third implementation, the adjusted display position is the center point of the target surface. When the target surface has a small area, such as when the target surface is a desktop, the virtual icon after the adjustment is displayed at the center point of the target surface, which can achieve a better display effect. Moreover, since the variance of the distance from the center point of the target surface to other points on the target surface is smaller than the variance of the distance from other points on the target surface to the remaining points on the target surface, the difference between the display effect and the user's movement intention when displaying the virtual icon after the adjustment at the center point is generally smaller, and thus the display effect of the virtual scene can be guaranteed overall. In addition, determining the center point of the target surface as the display position of the virtual icon after the adjustment simplifies the complexity of the calculation and can ensure the speed of refreshing the display based on the movement instruction.
[0108] Step 404: The virtual scene display device displays a virtual icon on the target surface of the object in the virtual scene in response to the movement instruction.
[0109] After the virtual scene display device determines the display position of the virtual icon on the target surface, it can display the adjusted virtual icon at that display position in response to the movement instruction. For example, according to the gesture shown in Figure 6, the virtual scene display device will display the virtual icon X1 of the music widget at position A2 on the wall facing the user, as shown in Figure 10. As can be seen from Figure 10, the virtual icon X1 can be visually regarded as a display element located on the surface of the object, achieving a good integration of the virtual icon and the virtual scene.
[0110] Optionally, before and after the position of the virtual icon is adjusted, in addition to moving in the virtual scene, the virtual icon may also be scaled or rotated. If the virtual icon is also scaled or rotated in the virtual scene, as shown in FIG11 , before step 404, the method further includes:
[0111] Step 405: The virtual scene display device determines at least one adjustment parameter of the virtual icon's scaling parameter and rotation parameter. The scaling parameter indicates the scaling degree of the virtual icon after the adjustment relative to the adjustment. The rotation parameter indicates the rotation mode of the virtual icon after the adjustment relative to the adjustment.
[0112] Because the movement instruction may or may not instruct the virtual icon to scale. Similarly, the movement instruction may or may not instruct the virtual icon to rotate. Furthermore, in addition to the movement instruction instructing the virtual icon to rotate and / or scale, the virtual icon may also be rotated and / or scaled due to the need to be displayed on the target surface. For example, the virtual icon may need to be displayed on the target surface, causing the user's perspective of the virtual icon to change. From the changed perspective, the adjusted virtual icon has been rotated and / or scaled relative to its pre-adjusted position, but the user has not instructed the virtual icon to rotate and / or scale. Therefore, the virtual scene display device may optionally determine its adjustment parameters for all possible adjustments. For example, it may determine both a scaling parameter and a rotation parameter. When the adjusted virtual icon needs to be scaled, the scaling parameter is non-zero; when the adjusted virtual icon does not need to be scaled, the scaling parameter is zero. Similarly, when the adjusted virtual icon needs to be rotated, the rotation parameter is non-zero; when the adjusted virtual icon does not need to be rotated, the rotation parameter is zero. However, considering the application scenario of the virtual scene display device, the virtual scene display device may need to display both the scaling effect and the rotation effect of the virtual icon, or the virtual scene display device may only need to display the scaling effect of the virtual icon, or the virtual scene display device may only need to display the rotation effect of the virtual icon. Therefore, the virtual scene display device can determine at least one adjustment parameter of the scaling parameter and the rotation parameter according to the application requirements, and then display the virtual icon after the adjustment is made based on the at least one adjustment parameter.
[0113] In one implementation, after determining the display position of a virtual icon on a target surface, the virtual scene display device determines a scaling parameter for the virtual icon based on the user's perspective at the display position of the virtual icon on the target surface relative to the user's perspective of the virtual icon before the adjustment of the position. For example, when the user's perspective at the display position of the virtual icon on the target surface becomes smaller relative to the user's perspective of the virtual icon before the adjustment of the position, based on the principle that the farther the viewer is from the observer, the smaller the perspective, it can be seen that the virtual icon after the adjustment of the position needs to be scaled down based on the virtual icon before the adjustment of the position. Then, based on the mapping relationship between the physical space and the virtual scene, its scaling parameter is obtained. Similarly, when the user's perspective at the display position of the virtual icon on the target surface becomes larger relative to the user's perspective of the virtual icon before the adjustment of the position, based on the principle that the farther the viewer is from the observer, the smaller the perspective, it can be seen that the virtual icon after the adjustment of the position needs to be scaled up based on the virtual icon before the adjustment of the position. Then, based on the mapping relationship between the physical space and the virtual scene, its scaling parameter is obtained. The scaling parameter and scaling parameter are collectively referred to as the scaling parameter. For the implementation process of determining the scaling parameter based on the mapping relationship, please refer to the implementation process of determining the second movement distance and the second movement direction based on the mapping relationship, and will not be repeated here. The scaling parameter determined in this case is a scaling parameter determined based on the display position of the virtual icon on the target surface.
[0114] In addition, the scaling of the virtual icon may also be instructed by the user. In this case, the virtual scene display device can determine the degree of scaling of the virtual icon instructed by the user based on the operation amplitude of the trigger operation of the scaling. The implementation process can refer to the relevant description of the operation amplitude of the trigger operation of the movement to determine the second moving distance and the second moving direction, which will not be repeated here. Among them, the scaling parameter determined here based on the user's instruction is determined under the assumption that the distance between the virtual icon and the observer does not change before and after the position is adjusted. The scaling parameter determined in this case is the scaling parameter determined based on the user's instruction.
[0115] It should be noted that when the user does not instruct to scale the virtual icon, the scaling parameters of the virtual icon are scaling parameters determined based on the display position of the virtual icon on the target surface. When the user instructs to scale the virtual icon, if the distance between the virtual icon and the observer does not change before and after the position is adjusted, the scaling parameters of the virtual icon are scaling parameters determined based on the user's instructions. When the user instructs to scale the virtual icon, if the distance between the virtual icon and the observer also changes before and after the position is adjusted, the scaling parameters of the virtual icon need to be obtained based on the scaling parameters determined based on the user's instructions and the scaling parameters determined based on the display position of the virtual icon on the target surface. For example, the weights of the two are determined based on the degree of visual impact of the two, and then the weighted sum of the scaling parameters corresponding to the two is determined as the scaling parameters after the virtual icon is adjusted.
[0116] In one implementation, after the virtual scene display device determines the display position of the virtual icon on the target surface, it determines the rotation parameters of the virtual icon from the user's perspective based on the change of the baseline (such as the center line) of the user's perspective of the virtual icon at the display position of the target surface relative to the baseline of the user's perspective of the virtual icon before the position is adjusted. For example, when the center line of the user's perspective is represented by a three-dimensional vector starting from the optical center of the human eye and ending at the center of the virtual icon, the vector difference between the center line of the user's perspective of the virtual icon at the display position of the target surface and the center line of the user's perspective of the virtual icon before the position is adjusted is the rotation parameter of the virtual icon. The rotation parameter determined in this case is the rotation parameter determined based on the display position of the virtual icon on the target surface.
[0117] In addition, the rotation of the virtual icon may also be instructed by the user. At this time, the virtual scene display device can determine the degree of rotation of the virtual icon instructed by the user based on the operation amplitude of the rotation trigger operation. For its implementation process, please refer to the relevant description of the second movement distance and the second movement direction determined by the operation amplitude of the movement trigger operation, which will not be repeated here. Among them, the rotation parameters determined here based on the user's instructions are rotation parameters determined under the assumption that the virtual icon does not rotate due to the need to display the virtual icon on the target surface. The rotation parameters determined in this case are rotation parameters determined based on the user's instructions.
[0118] It should be noted that when the user does not instruct to rotate the virtual icon, the rotation parameters of the virtual icon are the rotation parameters determined based on the display position of the virtual icon on the target surface. When the user instructs to rotate the virtual icon, if the baseline of the user's perspective does not change before and after the position is adjusted, the rotation parameters of the virtual icon are the rotation parameters determined based on the user's instructions. When the user instructs to rotate the virtual icon, if the baseline of the user's perspective also changes before and after the position is adjusted, the rotation parameters of the virtual icon need to be obtained by combining the rotation parameters determined based on the user's instructions and the rotation parameters determined based on the display position of the virtual icon on the target surface. For example, the vector sum of the two can be determined as the rotation parameters of the virtual icon after the position is adjusted.
[0119] When the virtual scene display device further determines at least one adjustment parameter, as shown in FIG11 , the implementation process of step 404 includes: step 4041 , the virtual scene display device displays a virtual icon on the target surface based on the at least one adjustment parameter.
[0120] After the virtual scene display device determines the display position of the virtual icon on the target surface and at least one adjustment parameter, the virtual icon can be displayed on the target surface according to the at least one adjustment parameter. For example, when the reduction parameter is 2, the virtual icon after the position is adjusted is shown in Figure 10. According to Figure 10, it can be seen that the virtual icon of the music widget is reduced by about two times compared with the virtual icon X1 of the music widget in Figure 5. Figure 12 is a schematic diagram of the effect of displaying the virtual icon of the music widget on the right wall. As shown in Figure 12, when the virtual icon is displayed on the right wall, the thickness direction of the virtual icon is perpendicular to the right wall (actually it is a virtual modeling perpendicular to the right wall), the bottom is attached to the wall, and the virtual icon of the music widget is rotated compared with the virtual icon of the music widget in Figure 5.
[0121] Since the virtual icon is a three-dimensional (3D) logo, as shown in Figure 5, when the 3D logo is displayed facing the user, only the front side can be seen, so it is not much different from a 2D icon. When the virtual icon after the adjustment is displayed on a target surface that is not parallel to the target surface facing the user, if the front side of the virtual icon is still kept facing the user, the virtual icon after the adjustment will appear more abrupt on the target surface, greatly reducing the user's immersion when viewing the virtual scene. Therefore, when the adjustment parameters are determined based on the display position of the virtual icon after the adjustment on the target surface, the adjustment parameters can more realistically simulate the adjustment effect caused by the movement of objects in the physical world. When the virtual icon is displayed on the target surface according to the adjustment parameters, the virtual icon and the virtual scene can have a better fusion effect, further reducing the abruptness of the virtual icon in the virtual scene, so that the display effect of the virtual scene can be further improved. For example, when the virtual icon of the music widget in Figure 5 is moved to the left or right wall, the back of the 3D logo is attached to the left or right wall so that the 3D logo appears to be hanging on the wall. When the 3D logo is moved to the desktop, the bottom surface of the 3D logo is aligned with the desktop.
[0122] Similarly, when the user views a three-dimensional object in different positions, the user can see different angles of the three-dimensional object. For the wall facing the user, the front of the three-dimensional object is mainly viewed. If it is located slightly above the wall facing the user, the bottom of the three-dimensional object may also be seen. When the three-dimensional object is located on the left wall, its front, left side and part of the bottom are mainly seen. When the three-dimensional object is located on the right wall, its front, right side and part of the bottom are mainly seen. Therefore, by determining at least one adjustment parameter according to the user's perspective and adjusting the three-dimensional display angle of the virtual icon, the virtual icon and the virtual scene can have a better fusion effect, further reducing the abruptness of the virtual icon in the virtual scene.
[0123] Step 406: When the virtual scene display device detects that the user's viewing angle has changed, the virtual scene display device displays a virtual icon based on the changed viewing angle.
[0124] After the virtual scene display device displays the virtual icon after adjusting the position, if the user's viewing angle changes, the virtual scene display device can determine at least one adjustment parameter of the virtual icon based on the user's perspective, and refresh the virtual scene according to the at least one adjustment parameter. For example, when the user turns his head and faces the right wall in Figure 4, the virtual scene displayed by the virtual scene display device will show the following changes during the rotation: the right side of the virtual icon of the music widget will continue to shrink, the display area of the front pattern will become larger and larger, and the degree of distortion of the front pattern will also decrease, and finally it will be basically the same as the display result of the virtual icon in Figure 5. Among them, for the implementation process of determining the adjustment parameters in this process, please refer to the previous implementation process of determining the adjustment parameters based on the user's perspective, which will not be repeated here.
[0125] It should be noted that after adjusting the display position of the virtual icon, the user may also trigger a movement instruction during the subsequent use of the virtual scene display device. The virtual scene display device can continue to adjust the display position of the virtual icon based on the movement instruction. For its implementation process, please refer to the relevant description in the above content, which will not be repeated here.
[0126] In the above description, the operation object is described as a virtual icon. However, in some implementation scenarios, the operation object may be multiple virtual icons at the same time, and there may be a situation where the sides of at least two virtual icons are aligned. At this time, taking the side alignment of two virtual icons as an example, the virtual scene display method also includes: after receiving a movement instruction indicating the adjustment of at least one of the two virtual icons, the two virtual icons are synchronously adjusted to the position indicated by the movement instruction based on the movement instruction for display. In one implementation, when the virtual scene display device detects that two virtual icons are displayed in adjacent positions and the adjacent surfaces of the two virtual icons overlap / align, the two virtual icons are combined into an identification group, and when the user triggers a movement instruction for at least one of the two virtual icons, the entire identification group is controlled to move synchronously. For example, assuming that virtual icons of a music widget and a weather widget are displayed on the right wall of a virtual scene, when the user drags the left side of the virtual icon of the weather widget to a position overlapping with the right side of the virtual icon of the music widget, the virtual scene display device squeezes the left side of the virtual icon of the weather widget onto the right side of the virtual icon of the music widget, and makes the two adjacent side surfaces overlap and adsorb, thereby forming an identification group. When the user triggers a move instruction for either of the two virtual icons, the virtual scene display device controls the entire identification group to move synchronously. By synchronously moving the virtual icons whose sides are attached, the virtual scene display device can improve the movement efficiency of multiple virtual icons.
[0127] Similarly, when at least two virtual icons overlap in a virtual scene, taking the overlap of two virtual icons as an example, the virtual scene display method further includes: for one virtual icon and the other virtual icon, one virtual icon obtains the attributes of the other virtual icon and updates the relevant data of the one virtual icon based on the attributes. In this case, the overlapping virtual icons can share attributes, such as between the applications / application sub-functions / processes corresponding to the overlapping virtual icons, and then update their own data based on the shared attributes. For example, when a user moves the virtual icon of a clock widget to overlap with the virtual icon of a weather widget, the weather widget obtains the time and time zone displayed by the clock widget and automatically updates the weather displayed in the weather widget to the weather for the time and time zone displayed by the clock widget. Similarly, when a user moves the virtual icon of a weather widget to overlap with the virtual icon of a music widget, the music widget obtains the weather displayed in the weather widget and automatically plays music related to the weather displayed in the weather widget. This can increase the fun of users using the virtual scene display device and help improve the user experience.
[0128] As can be seen from the above, in the virtual scene display method provided in the embodiment of the present application, when the user uses the virtual scene display device, if the display position of the virtual icon is adjusted, the virtual scene display device will display the virtual icon after the adjustment on the surface of the object in the virtual scene. In this way, the virtual icon can be visually regarded as a display element located on the surface of the object, so that the virtual icon can be better integrated with the virtual scene, reducing the abruptness of the virtual icon in the virtual scene, and helping to improve the display effect of the virtual scene and the immersive experience of the user when viewing the virtual scene. In addition, since the virtual icon after the adjustment is displayed on the surface of the object in the virtual scene, rather than being displayed in the floating area as in the related art, the occlusion of the user's perspective by the virtual icon is greatly reduced, and will not affect the user's viewing of the virtual scene or the physical world.
[0129] It should be noted that the order of the steps of the virtual scene display method provided in the embodiments of the present application can be adjusted appropriately, and the number of steps can be increased or decreased accordingly. Any person skilled in the art can easily conceive of a modified method within the technical scope disclosed in this application, and such modified method should be included in the scope of protection of this application, so it will not be described in detail.
[0130] The above describes the virtual scene display method of the embodiment of the present application. Corresponding to the above method, the embodiment of the present application also provides a virtual scene display device. The device is applied to a virtual scene display device. The structural diagram of the virtual scene display device is shown in Figure 13. It should be understood that the system may include more additional nodes than the structure shown or omit some of the nodes shown therein, and the embodiment of the present application is not limited to this. As shown in Figure 13, the virtual scene display device 130 includes:
[0131] The display module 1301 is used to display a virtual scene with virtual icons.
[0132] The receiving module 1302 is configured to receive a movement instruction sent by a user, where the movement instruction instructs to adjust the display position of the virtual icon in the virtual scene.
[0133] The display module 1301 is further configured to display a virtual icon on a target surface of an object in the virtual scene in response to a movement instruction.
[0134] Optionally, as shown in FIG14 , the virtual scene display device 130 further includes:
[0135] The acquisition module 1303 is configured to acquire the virtual space position to which the virtual icon is to be adjusted as indicated by the movement instruction.
[0136] The determination module 1304 is configured to determine a target surface among surfaces of multiple objects in the virtual scene based on the virtual space position.
[0137] Optionally, the target surface is a surface having a minimum first distance to the virtual space position among the surfaces of the multiple objects, and the first distance is a minimum value of the length of a line connecting a point on the surface and the virtual space position.
[0138] Optionally, the first distance between the target surface and the virtual space position is less than a preset distance threshold, and the first distance is a minimum value of the length of a line connecting a point on the surface and the virtual space position.
[0139] Optionally, the target surface satisfies one or more of the following judgment characteristics: the area of the target surface is greater than a preset area threshold; the minimum value of the target surface in the length direction is greater than a preset length threshold; the minimum value of the target surface in the width direction is greater than a preset width threshold; and the minimum value of the target surface in the height direction is greater than a preset height threshold.
[0140] Optionally, the target surface is determined based on a viewing angle size of the target surface, and the viewing angle size of any surface in the virtual scene is positively correlated with a probability of any surface becoming the target surface.
[0141] Optionally, the determination module 1304 is further configured to determine the adjusted display position of the virtual icon on the target surface.
[0142] Optionally, the adjusted display position is the position on the target surface that has the smallest second distance from the virtual space position among the multiple positions, where the second distance is the length of a line connecting the position and the virtual space position. Alternatively, the adjusted display position is an area including the position on the target surface that has the smallest second distance from the virtual space position among the multiple positions. Alternatively, the adjusted display position is the center point of the target surface.
[0143] Optionally, the acquisition module 1303 is specifically used to: acquire the first moving distance and first moving direction of the triggering operation of the movement instruction in the physical space; and determine the virtual space position based on the first moving distance, the first moving direction and the mapping relationship between the physical space and the virtual scene.
[0144] Optionally, the acquisition module 1303 is specifically configured to: acquire a second moving distance and a second moving direction of the virtual icon in the virtual scene indicated by the triggering operation of the movement instruction; and determine the virtual space position based on the second moving distance and the second moving direction.
[0145] Optionally, the determination module 1304 is also used to determine at least one adjustment parameter of the virtual icon's scaling parameter and rotation parameter, the scaling parameter is used to indicate the scaling degree of the virtual icon after the position is adjusted relative to before the position is adjusted, and the rotation parameter is used to indicate the rotation method of the virtual icon after the position is adjusted relative to before the position is adjusted.
[0146] Accordingly, the display module 1301 is specifically configured to display a virtual icon on the target surface based on at least one adjustment parameter.
[0147] Optionally, the display module 1301 is further configured to: when detecting that the user's viewing angle has changed, display a virtual icon based on the changed viewing angle.
[0148] Optionally, when the sides of two virtual icons are aligned in the virtual scene, the display module 1301 is also used to synchronously adjust the two virtual icons to the position indicated by the movement instruction for display based on the movement instruction after receiving a movement instruction instructing to adjust at least one of the two virtual icons.
[0149] Optionally, when the sides of two virtual icons overlap in the virtual scene, the display module 1301 is further configured to, for one virtual icon and the other virtual icon, obtain attributes of the other virtual icon and update relevant data of the one virtual icon based on the attributes.
[0150] Optionally, the display module 1301 is specifically used to: display the virtual icon in the virtual scene with a specified transparency; or display the virtual icon in a floating display box, which is displayed in the virtual scene with a specified transparency; or display the virtual icon on the surface of an object in the virtual scene.
[0151] As can be seen from the above, in the virtual scene display Zuhangzhi provided in the embodiment of the present application, when the user uses the virtual scene display device, if the display position of the virtual icon is adjusted, the display module will display the virtual icon after the adjustment on the surface of the object in the virtual scene. In this way, the virtual icon can be visually regarded as a display element located on the surface of the object, so that the virtual icon can be better integrated with the virtual scene, reducing the abruptness of the virtual icon in the virtual scene, and helping to improve the display effect of the virtual scene and the immersive experience of the user when viewing the virtual scene. In addition, since the virtual icon after the adjustment is displayed on the surface of the object in the virtual scene, rather than being displayed in the floating area as in the related art, the occlusion of the user's perspective by the virtual icon is greatly reduced, and will not affect the user's viewing of the virtual scene or the physical world.
[0152] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding contents in the aforementioned method embodiments and will not be repeated here.
[0153] An embodiment of the present application provides a virtual scene display device. The virtual scene display device is used to implement some or all of the functions of the virtual scene display method provided in the embodiment of the present application. Figure 15 is a structural schematic diagram of a virtual scene display device provided in the embodiment of the present application. As shown in Figure 15, the virtual scene display device 1500 includes a processor 1501, a memory 1502, a communication interface 1503, and a bus 1504. The processor 1501, the memory 1502, and the communication interface 1503 are connected to each other via the bus 1504.
[0154] Processor 1501 may include a general-purpose processor and / or a dedicated hardware chip. A general-purpose processor may include: a central processing unit (CPU), a microprocessor or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU), or a multi-core processor (multi-CPU). A dedicated hardware chip is a hardware module for high-performance processing. The dedicated hardware chip includes at least one of a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or a network processor (NP). Processor 1501 may also be an integrated circuit chip with signal processing capabilities. During implementation, some or all of the functions of the virtual scene display method of the present application may be completed by the hardware integrated logic circuit in the processor 1501 or instructions in the form of software.
[0155] Memory 1502 is used to store computer programs, which include an operating system 1502a and executable code (i.e., program instructions) 1502b. Memory 1502 may be, for example, a read-only memory or other type of static storage device capable of storing static information and instructions, or a random access memory or other type of dynamic storage device capable of storing information and instructions, or an electrically erasable programmable read-only memory, a read-only optical disc or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium, or other magnetic storage device, or any other medium capable of carrying or storing desired executable code in the form of instructions or data structures and accessible by a computer, but not limited to these. For example, memory 1502 is used to store an outbound port queue, etc. Memory 1502 may exist independently and be connected to processor 1501 via bus 1504. Alternatively, memory 1502 and processor 1501 may be integrated. Memory 1502 can store executable code. When the executable code stored in memory 1502 is executed by processor 1501, processor 1501 is used to perform some or all of the functions of the virtual scene display method provided in the embodiments of this application. For the implementation of the process executed by processor 1501, please refer to the relevant description of the aforementioned embodiments. Memory 1502 may also include software modules and data required for other running processes, such as an operating system.
[0156] The communication interface 1503 uses a transceiver module, such as, but not limited to, a transceiver, to communicate with other devices or communication networks. For example, the communication interface 1503 can be any one or a combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, or other device with network access capabilities.
[0157] The bus 1504 is any type of communication bus for interconnecting the internal devices of the virtual scene display device (e.g., the memory 1502, the processor 1501, and the communication interface 1503). For example, a system bus. The embodiment of the present application takes the above-mentioned devices inside the virtual scene display device as an example of interconnecting via the bus 1504. Optionally, the above-mentioned devices inside the virtual scene display device 1500 can also be connected to each other in a communication manner other than the bus 1504. For example, the above-mentioned devices inside the virtual scene display device 1500 are interconnected via an internal logical interface.
[0158] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether each device is independently arranged on different chips or integrated on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For parts that are not described in detail in a certain process, please refer to the relevant descriptions of other processes.
[0159] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing a program development platform includes one or more computer instructions, and when these computer program instructions are loaded and executed on a virtual scene display device, all or part of the functions of the virtual scene display method provided in the embodiments of the present application are implemented.
[0160] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.
[0161] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device implements the virtual scene display method provided in the embodiment of the present application.
[0162] The embodiment of the present application also provides a computer program product containing instructions. When the computer program product is run on a computer, the computer implements the virtual scene display method provided by the embodiment of the present application.
[0163] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.
[0164] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, storage, display, etc.), and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the image information and executable code involved in this application are all obtained with full authorization.
[0165] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "plurality" refers to a plurality, unless otherwise expressly limited.
[0166] In this application, the term "and / or" simply describes an association between related objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the related objects are in an "or" relationship.
[0167] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0168] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0169] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the concepts and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A virtual scene display method, characterized in that: The method is applied to a virtual scene display device, and the method comprises: Displaying a virtual scene, wherein the virtual scene has a virtual icon; receiving a movement instruction sent by a user, wherein the movement instruction instructs adjusting a display position of the virtual icon in the virtual scene; In response to the movement instruction, the virtual icon is displayed on a target surface of an object in the virtual scene.
2. The method according to claim 1, characterized in that Before displaying the virtual icon on the target surface of the object in the virtual scene, the method further includes: Acquire the virtual space position to which the virtual icon is adjusted by the movement instruction; Based on the virtual space position, the target surface is determined among surfaces of a plurality of objects in the virtual scene.
3. The method according to claim 2, characterized in that The target surface is a surface having a minimum first distance from the virtual space position among the surfaces of the multiple objects, where the first distance is a minimum value of the length of a line connecting a point on the surface and the virtual space position.
4. The method according to claim 2 or 3, characterized in that A first distance between the target surface and the virtual space position is less than a preset distance threshold, and the first distance is a minimum value of the length of a line connecting a point in the surface and the virtual space position.
5. The method according to any one of claims 2 to 4, characterized in that: The target surface satisfies one or more of the following determination characteristics: The area of the target surface is greater than a preset area threshold; The minimum length of the target surface is greater than a preset length threshold; The minimum value of the target surface in the width direction is greater than a preset width threshold; And, the minimum value of the target surface in the height direction is greater than a preset height threshold.
6. The method according to any one of claims 2 to 5, characterized in that: The target surface is determined based on the viewing angle of the target surface, and the viewing angle of any surface in the virtual scene is positively correlated with the probability of the any surface becoming the target surface.
7. The method according to any one of claims 2 to 6, characterized in that: Before displaying the virtual icon on the target surface of the object in the virtual scene, the method further includes: In the target surface, the adjusted display position of the virtual icon is determined.
8. The method according to claim 7, characterized in that The adjusted display position is a position having a minimum second distance from the virtual space position among a plurality of positions on the target surface, the second distance being a length of a line connecting the position and the virtual space position; Alternatively, the adjusted display position is a region including a position having the smallest second distance from the virtual space position among a plurality of positions of the target surface; Alternatively, the adjusted display position is the center point of the target surface.
9. The method according to any one of claims 2 to 8, characterized in that: The obtaining of the virtual space position to which the virtual icon is adjusted by the movement instruction includes: Acquire a first moving distance and a first moving direction of a triggering operation of the moving instruction in a physical space; The virtual space position is determined based on the first moving distance, the first moving direction, and a mapping relationship between the physical space and the virtual scene.
10. The method according to any one of claims 2 to 8, characterized in that: The obtaining of the virtual space position to which the virtual icon is adjusted by the movement instruction includes: Acquiring a triggering operation instruction of the movement instruction indicates a second movement distance and a second movement direction of the virtual icon in the virtual scene; The virtual space position is determined based on the second moving distance and the second moving direction.
11. The method according to any one of claims 1 to 10, characterized in that: Before displaying the virtual icon on the target surface of the object in the virtual scene, the method further includes: Determine at least one adjustment parameter of a scaling parameter and a rotation parameter of the virtual icon, wherein the scaling parameter is used to indicate a scaling degree of the virtual icon after the position is adjusted relative to that before the position is adjusted, and the rotation parameter is used to indicate a rotation mode of the virtual icon after the position is adjusted relative to that before the position is adjusted; The displaying the virtual icon on the target surface of the object in the virtual scene comprises: The virtual icon is displayed on the target surface based on the at least one adjustment parameter.
12. The method according to any one of claims 1 to 11, characterized in that: When the sides of two virtual icons are aligned in the virtual scene, the method further includes: After receiving a movement instruction indicating adjustment of at least one of the two virtual icons, the two virtual icons are synchronously adjusted to the positions indicated by the movement instruction based on the movement instruction for display.
13. The method according to any one of claims 1 to 12, characterized in that: When the sides of two virtual icons are aligned in the virtual scene, the method further includes: For one virtual icon and another virtual icon of the two virtual icons, the one virtual icon obtains attributes of the other virtual icon, and updates relevant data of the one virtual icon based on the attributes.
14. The method according to any one of claims 1 to 13, characterized in that: The display of the virtual scene comprises: Displaying the virtual icon in the virtual scene with a specified transparency; Alternatively, the virtual icon is displayed in a floating display frame, and the floating display frame is displayed in the virtual scene with a specified transparency; Alternatively, the virtual icon is displayed on a surface of an object in the virtual scene.
15. A virtual scene display device, characterized in that: The device is applied to a virtual scene display device, and the device comprises: A display module, used for displaying a virtual scene, wherein the virtual scene has a virtual icon; A receiving module, configured to receive a movement instruction sent by a user, wherein the movement instruction indicates adjusting a display position of the virtual icon in the virtual scene; The display module is further configured to display the virtual icon on a target surface of an object in the virtual scene in response to the movement instruction.
16. The device according to claim 15, characterized in that The device also includes: An acquisition module, used for acquiring a virtual space position to which the virtual icon is adjusted according to the movement instruction; The determination module is used to determine the target surface among the surfaces of multiple objects in the virtual scene based on the virtual space position.
17. The device according to claim 16, characterized in that The target surface is a surface having a minimum first distance from the virtual space position among the surfaces of the multiple objects, where the first distance is a minimum value of the length of a line connecting a point on the surface and the virtual space position.
18. The device according to claim 16 or 17, characterized in that A first distance between the target surface and the virtual space position is less than a preset distance threshold, and the first distance is a minimum value of the length of a line connecting a point in the surface and the virtual space position.
19. The device according to any one of claims 16 to 18, characterized in that: The target surface satisfies one or more of the following determination characteristics: The area of the target surface is greater than a preset area threshold; The minimum length of the target surface is greater than a preset length threshold; The minimum value of the target surface in the width direction is greater than a preset width threshold; And, the minimum value of the target surface in the height direction is greater than a preset height threshold.
20. The device according to any one of claims 16 to 19, characterized in that The target surface is determined based on the viewing angle of the target surface, and the viewing angle of any surface in the virtual scene is positively correlated with the probability of the any surface becoming the target surface.
21. The device according to any one of claims 16 to 20, characterized in that The determination module is further used to determine the adjusted display position of the virtual icon in the target surface.
22. The device according to claim 21, characterized in that The adjusted display position is a position having a minimum second distance from the virtual space position among a plurality of positions on the target surface, the second distance being a length of a line connecting the position and the virtual space position; Alternatively, the adjusted display position is a region including a position having the smallest second distance from the virtual space position among a plurality of positions of the target surface; Alternatively, the adjusted display position is the center point of the target surface.
23. The device according to any one of claims 16 to 22, characterized in that The acquisition module is specifically used for: Acquire a first moving distance and a first moving direction of a triggering operation of the moving instruction in a physical space; The virtual space position is determined based on the first moving distance, the first moving direction, and a mapping relationship between the physical space and the virtual scene.
24. The device according to any one of claims 16 to 22, characterized in that The acquisition module is specifically used for: Acquiring a triggering operation instruction of the movement instruction indicates a second movement distance and a second movement direction of the virtual icon in the virtual scene; The virtual space position is determined based on the second moving distance and the second moving direction.
25. The device according to any one of claims 15 to 24, characterized in that The device also includes: a determination module, configured to determine at least one adjustment parameter of a scaling parameter and a rotation parameter of the virtual icon, wherein the scaling parameter is used to indicate a scaling degree of the virtual icon after the adjustment relative to that before the adjustment, and the rotation parameter is used to indicate a rotation mode of the virtual icon after the adjustment relative to that before the adjustment; The display module is specifically used for: The virtual icon is displayed on the target surface based on the at least one adjustment parameter.
26. The device according to any one of claims 15 to 25, characterized in that When there are two virtual icons whose sides are aligned in the virtual scene, the display module is further used to, after receiving a movement instruction instructing to adjust at least one of the two virtual icons, synchronously adjust the two virtual icons to the position indicated by the movement instruction for display based on the movement instruction.
27. The device according to any one of claims 15 to 26, characterized in that When there are two virtual icons whose sides are aligned in the virtual scene, the display module is further used for, for one virtual icon and another virtual icon of the two virtual icons, the one virtual icon obtains the attributes of the other virtual icon and updates the relevant data of the one virtual icon based on the attributes.
28. The device according to any one of claims 15 to 27, characterized in that The display module is specifically used for: Displaying the virtual icon in the virtual scene with a specified transparency; Alternatively, the virtual icon is displayed in a floating display frame, and the floating display frame is displayed in the virtual scene with a specified transparency; Alternatively, the virtual icon is displayed on a surface of an object in the virtual scene.
29. A virtual scene display device, characterized in that: include: A display screen, a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method according to any one of claims 1 to 14.
30. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device, the computing device is caused to perform the method according to any one of claims 1 to 14.
31. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computing device, the computing device performs the method according to any one of claims 1 to 14.
Citation Information
Patent Citations
Method and device for controlling position movement of virtual object and computer readable storage medium
CN110825280A
Displaying applications in a simulated reality setting
CN111448542A
Information prompting method and device, storage medium and electronic equipment
CN113893540A
Obstacle processing method and device in virtual scene, equipment and storage medium
CN114405008A
Interaction processing method and device and electronic equipment
CN114706511A