A method for loading virtual user avatars in a mixed reality remote collaborative environment
By mapping user location and virtual object coordinates in a mixed reality remote collaborative environment, heterogeneous spatial location information is generated, solving the problems of loading and orientation changes for multiple user avatars, and realizing convenient and efficient interaction for users in heterogeneous spaces.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIHANG UNIV
- Filing Date
- 2022-06-15
- Publication Date
- 2026-07-17
AI Technical Summary
In existing technologies, when defining a user's position in a heterogeneous space based on CollaboVR, it is impossible to load multiple user avatars simultaneously, and changes in the orientation of the user avatars lead to low interaction efficiency, without considering the impact of changes in user position on the convenience of interaction.
By mapping the target user's location coordinates to a virtual space, determining the coordinates of virtual objects and heterogeneous spaces, generating heterogeneous spatial location information of the target point, and loading the virtual avatar model, the system ensures that the user avatar's orientation is consistent and its position is synchronized.
It enables multiple users to load and interact simultaneously in heterogeneous spaces, improving convenience. User avatars maintain a consistent orientation, and position changes are updated synchronously, enhancing interaction efficiency.
Smart Images

Figure CN117270675B_ABST
Abstract
Description
Technical Field
[0001] The embodiments disclosed herein relate to the field of computer technology, and more specifically to a method for loading user virtual avatars in a mixed reality remote collaborative environment. Background Technology
[0002] Mixed reality technology connects the physical and digital worlds by overlaying computer-generated virtual information onto real-world scenes. Common mixed reality devices include smartphones, smart glasses, and mixed reality head-mounted displays. Users can use these devices to interact with other users in a heterogeneous space (a virtual space used for interaction between the user and other users) to complete remote collaborative tasks. Currently, before users can interact with other users in a heterogeneous space, they typically need to load their avatar (e.g., a virtual character model) into the heterogeneous space. For example, CollaboVR can be used to define the user's position in the heterogeneous space and load the user avatar.
[0003] However, when loading user avatars using the above method, the following technical problems often arise:
[0004] First, based on CollaboVR's definition of the user's position in the heterogeneous space, it is impossible to load more than two user avatars into the heterogeneous space at the same time, causing inconvenience for users to interact in the heterogeneous space.
[0005] Second, the orientation of the user avatar loaded in the above manner changes relative to the user's own orientation, resulting in low efficiency for users to interact in heterogeneous spaces.
[0006] Third, it failed to consider the changes in the user's location in the real scene, which further led to inconvenience for users to interact in heterogeneous spaces. Summary of the Invention
[0007] The summary portion of this disclosure is intended to provide a brief overview of the concepts, which will be described in detail in the detailed description portion. This summary portion is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions.
[0008] Some embodiments of this disclosure propose a method, apparatus, electronic device, and computer-readable medium for loading user virtual avatars in a mixed reality remote collaborative environment to solve one or more of the technical problems mentioned in the background section above.
[0009] In a first aspect, some embodiments of this disclosure provide a method for loading a user's virtual avatar in a mixed reality remote collaborative environment. The method includes: mapping the user's location coordinates to a virtual space to obtain the mapped coordinates as target point spatial coordinates; determining the virtual object spatial coordinates of each virtual object included in the virtual space to obtain a set of virtual object spatial coordinates; determining a heterogeneous space corresponding to the virtual space, wherein the heterogeneous space is the virtual space corresponding to each user to be interacted with; mapping each virtual object to the heterogeneous space to obtain the coordinates of each virtual object in the heterogeneous space as a set of virtual object heterogeneous space coordinates; generating target point heterogeneous space location information based on the target point spatial coordinates, the set of virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the set of virtual object heterogeneous space coordinates, wherein the target point heterogeneous space location information represents the position of the target user in the heterogeneous space; and loading a virtual avatar model corresponding to the target user in the heterogeneous space based on the target point heterogeneous space location information.
[0010] Secondly, some embodiments of this disclosure provide a user virtual avatar loading device based on a mixed reality remote collaborative environment. The device includes: a first mapping unit configured to map the user location coordinates of a target user to a virtual space, obtaining the mapped coordinates as the target point spatial coordinates; a first determining unit configured to determine the virtual object spatial coordinates of each virtual object included in the virtual space, obtaining a set of virtual object spatial coordinates; a second determining unit configured to determine the heterogeneous space corresponding to the virtual space, wherein the heterogeneous space is the virtual space corresponding to each user to be interacted with; and a second mapping unit configured to map the virtual avatars of the target user to a virtual space. Each virtual object is mapped to the heterogeneous space, and the coordinates of each virtual object in the heterogeneous space are obtained as a set of heterogeneous space coordinates of virtual objects; the generation unit is configured to generate heterogeneous space location information of the target point based on the target point spatial coordinates, the set of spatial coordinates of virtual objects, the number of virtual objects included in the virtual space, and the set of heterogeneous space coordinates of virtual objects, wherein the heterogeneous space location information of the target point represents the position of the target user in the heterogeneous space; the loading unit is configured to load the virtual image model corresponding to the target user in the heterogeneous space based on the heterogeneous space location information of the target point.
[0011] Thirdly, some embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation of the first aspect above.
[0012] Fourthly, some embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the method described in any of the implementations of the first aspect above.
[0013] The above-described embodiments of this disclosure have the following beneficial effects: The user virtual avatar loading method based on a mixed reality remote collaborative environment, as described in some embodiments of this disclosure, improves the convenience of user interaction in heterogeneous spaces. Specifically, the reason for the inconvenience of user interaction in heterogeneous spaces is that, based on CollaboVR's definition of the user's position in the heterogeneous space, it is impossible to load two or more user avatars into the heterogeneous space simultaneously. Therefore, the user virtual avatar loading method based on a mixed reality remote collaborative environment, as described in some embodiments of this disclosure, firstly maps the target user's position coordinates to the virtual space, obtaining the mapped coordinates as the target point's spatial coordinates. Thus, the target point's spatial coordinates, representing the user's (target point's) position in the virtual space, can be obtained. Then, the virtual object spatial coordinates of each virtual object included in the virtual space are determined, obtaining a set of virtual object spatial coordinates. Thus, the virtual object spatial coordinates, representing the position of the virtual object in the virtual space, can be obtained. Secondly, the heterogeneous space corresponding to the virtual space is determined. Thus, a virtual space for various users to collaborate remotely using mixed reality technology can be obtained. Then, each virtual object is mapped to a heterogeneous space, and the coordinates of each virtual object in the heterogeneous space are obtained as a set of heterogeneous space coordinates for virtual objects. Thus, a set of heterogeneous space coordinates for virtual objects representing the positions of each virtual object in the heterogeneous space can be obtained. Next, based on the target point spatial coordinates, the set of virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the set of heterogeneous space coordinates for virtual objects, heterogeneous space position information for the target point is generated. Thus, heterogeneous space position information for the target point representing the position of the target user in the heterogeneous space can be obtained. Finally, based on the heterogeneous space position information for the target point, a virtual avatar model of the corresponding target user is loaded into the heterogeneous space. Thus, the virtual avatar model of the target user can be displayed in the heterogeneous space. Therefore, through the user virtual avatar loading method in a mixed reality remote collaborative environment based on some embodiments of this disclosure, it is possible to load the avatar of any target user into a heterogeneous space, thereby enabling multiple users to interact in the heterogeneous space and improving the convenience of user interaction in the heterogeneous space. Attached Figure Description
[0014] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and elements are not necessarily drawn to scale.
[0015] Figure 1 This is a flowchart of some embodiments of a user virtual avatar loading method based on a mixed reality remote collaborative environment according to the present disclosure;
[0016] Figure 2 This is a schematic diagram of the structure of some embodiments of a user virtual avatar loading device in a mixed reality remote collaborative environment according to the present disclosure;
[0017] Figure 3 This is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. Detailed Implementation
[0018] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0019] It should also be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other.
[0020] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0021] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0022] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0023] This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.
[0024] Figure 1 A flow 100 is shown illustrating some embodiments of a user virtual avatar loading method based on a mixed reality remote collaborative environment according to the present disclosure. This user virtual avatar loading method based on a mixed reality remote collaborative environment includes the following steps:
[0025] Step 101: Map the target user's location coordinates to the virtual space, and use the mapped coordinates as the target point's spatial coordinates.
[0026] In some embodiments, the execution entity (e.g., a computing device) of the user virtual avatar loading method based on a mixed reality remote collaborative environment can map the user's location coordinates to a virtual space, obtaining the mapped coordinates as the target point's spatial coordinates. The target user can be a user performing a remote collaborative task using mixed reality (MR) technology. The remote collaborative task can be a task performed using remote collaboration technology. For example, the remote collaborative task can be a medical surgery task. It can also be a remote conference. The user's location coordinates can represent the user's real location. These coordinates can include the user's horizontal and vertical coordinates. For example, the user's location coordinates can be the horizontal and vertical coordinates of the user's location in a national geodetic coordinate system. The virtual space can be a virtual space constructed using mixed reality technology. Here, the virtual space corresponds to the target user. In practice, the execution entity can map the target user's location coordinates to the virtual space according to a predefined mapping relationship, obtaining the mapped coordinates as the target point's spatial coordinates. Thus, the target point's spatial coordinates, representing the user's (target point's) position in the virtual space, can be obtained.
[0027] It should be noted that the aforementioned computing devices can be either hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster consisting of multiple servers or terminal devices, or as a single server or terminal device. When the computing device is software, it can be installed within the hardware devices listed above. It can be implemented as, for example, multiple software programs or software modules used to provide distributed services, or as a single software program or software module. No specific limitations are made here. It should be understood that, depending on the implementation requirements, any number of computing devices can be used.
[0028] Step 102: Determine the virtual object spatial coordinates of each virtual object included in the virtual space to obtain a set of virtual object spatial coordinates.
[0029] In some embodiments, the execution entity can determine the virtual object spatial coordinates of each virtual object included in the virtual space, obtaining a set of virtual object spatial coordinates. The virtual objects can be items in the virtual space. Here, there is no limitation on whether the virtual objects are real objects. For example, the virtual objects can be virtual objects obtained by mapping items from the real environment to the virtual space. The virtual objects can also be virtual objects defined in the virtual space. The virtual object spatial coordinates can be the horizontal and vertical coordinates of the virtual objects in the virtual space. In practice, the execution entity can determine the virtual object spatial coordinates of each virtual object included in the virtual space using various methods, obtaining a set of virtual object spatial coordinates. As an example, for each virtual object, the execution entity can map the position of the virtual object in the real environment to the virtual space, obtaining virtual object spatial coordinates. For example, the position of the virtual object in the real environment can be the horizontal and vertical coordinates of the virtual object in the national geodetic coordinate system of the real environment. As another example, for each virtual object, the coordinates of the virtual object can be defined when defining the virtual object in the virtual space, obtaining virtual object spatial coordinates. Thus, virtual object spatial coordinates representing the position of the virtual object in the virtual space can be obtained.
[0030] Step 103: Determine the heterogeneous space corresponding to the virtual space.
[0031] In some embodiments, the executing entity can determine the heterogeneous space corresponding to the virtual space. The heterogeneous space can be a virtual space corresponding to each user to be interacted with. The users to be interacted with can be various users collaborating remotely using mixed reality technology. The users to be interacted with can include the target user. In practice, heterogeneous spaces corresponding to each user to be interacted with can be determined using mixed reality technology. Thus, a virtual space for each user to collaborate remotely using mixed reality technology can be obtained.
[0032] Optionally, before performing step 103, for each virtual object included in the aforementioned virtual space, the following generation operation can be performed:
[0033] First, the aforementioned executing entity can generate the target point subspace coordinates based on the virtual object's spatial coordinates and the target point's spatial coordinates. In practice, the target point subspace coordinates can be generated using the following formula:
[0034] p k =(xx) k yy k ).
[0035] Where, p kThis represents the subspace coordinates of the target point corresponding to the k-th virtual object. x represents the user's horizontal coordinate, including the user's position coordinates. y represents the user's vertical coordinate, including the user's position coordinates. k y represents the x-coordinate of the k-th virtual object in its virtual object space coordinates. k This represents the ordinate of the k-th virtual object in the virtual object space coordinate system.
[0036] Then, the potential energy of the virtual object can be determined based on its potential energy constant and the distance between its spatial coordinates and the spatial coordinates of the target point. In practice, the potential energy of the virtual object can be determined using the following formula:
[0037]
[0038] Among them, E k ξ represents the potential energy of the k-th virtual object. k This represents the gravitational potential energy constant of the k-th virtual object. d represents the distance between the virtual object's spatial coordinates and the target point's spatial coordinates. The gravitational potential energy constant can be the product of the gravitational constant, the mass of the k-th virtual object, and the weight of the target user. Both the mass of the k-th virtual object and the weight of the target user can be obtained from the associated terminal via wired or wireless connection.
[0039] Step 104: Map each virtual object to the heterogeneous space to obtain the coordinates of each virtual object in the heterogeneous space as the set of virtual object heterogeneous space coordinates.
[0040] In some embodiments, the execution entity can map each virtual object to the heterogeneous space, obtaining the coordinates of each virtual object in the heterogeneous space as a set of virtual object heterogeneous space coordinates. In practice, the execution entity can map each virtual object to the heterogeneous space according to the predefined mapping relationship. Thus, a set of virtual object heterogeneous space coordinates representing the position of each virtual object in the heterogeneous space can be obtained.
[0041] Step 105: Generate heterogeneous spatial location information of the target point based on the spatial coordinates of the target point, the set of spatial coordinates of virtual objects, the number of virtual objects included in the virtual space, and the set of heterogeneous spatial coordinates of virtual objects.
[0042] In some embodiments, the executing entity can generate heterogeneous spatial location information of the target point based on the spatial coordinates of the target point, the set of spatial coordinates of the virtual objects, the number of virtual objects included in the virtual space, and the set of heterogeneous spatial coordinates of the virtual objects. This heterogeneous spatial location information represents the position of the target user in the heterogeneous space. In practice, this heterogeneous spatial location information can be generated in various ways. Thus, heterogeneous spatial location information representing the target user's position in the heterogeneous space can be obtained.
[0043] In some optional implementations of certain embodiments, for each virtual object included in the virtual space described above, the following determination operation may be performed:
[0044] First, the rotation angle of the virtual object can be determined based on its spatial coordinates and heterogeneous spatial coordinates. In practice, the rotation angle can be determined using the atan2 function, based on the virtual object's spatial coordinates and heterogeneous spatial coordinates.
[0045] Then, based on the aforementioned virtual object rotation angle, the inverse rotation matrix of the virtual object can be determined. The first step is to determine the virtual object rotation matrix using the following formula:
[0046]
[0047] Among them, C k θ represents the virtual object rotation matrix corresponding to the k-th virtual object. k This represents the rotation angle of the virtual object corresponding to the k-th virtual object.
[0048] The second step is to determine the inverse matrix of the aforementioned virtual object rotation matrix as the virtual object rotation inverse matrix. This provides data support for generating heterogeneous spatial location information of the target point.
[0049] In some optional implementations of certain embodiments, the execution entity can generate heterogeneous spatial location information of the target point based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, the subspace coordinates of each generated target point, the determined rotation inverse matrices of each virtual object, and the set of heterogeneous spatial coordinates of the virtual objects. In practice, the execution entity can first generate the heterogeneous spatial coordinates of the target point using the following formula:
[0050]
[0051] Where p′ represents the heterogeneous spatial coordinates of the target point. m represents the number of virtual objects in the virtual space. E k E represents the virtual object potential energy of the k-th virtual object. pp represents the total spatial potential energy at the target point. k This represents the subspace coordinates of the target point corresponding to the k-th virtual object. o′ k This represents the heterogeneous space coordinates of the k-th virtual object. C k This represents the virtual object rotation matrix of the k-th virtual object. Represents the rotation matrix C k The inverse matrix of is the rotation inverse matrix of the virtual object. Where E p It can be obtained by summing the potential energies of the virtual objects included in the virtual space.
[0052] Then, the aforementioned heterogeneous spatial coordinates of the target point can be determined as the heterogeneous spatial location information of the target point. Thus, the heterogeneous spatial location information of the target point, representing the location of the target user in virtual space, can be obtained.
[0053] Optionally, firstly, for each virtual object, the execution entity can obtain a target point direction vector based on the virtual object. This target point direction vector represents the direction of the target user relative to the virtual object. For example, the target point direction vector could represent the target user's direction relative to the virtual object as 45 degrees south of east. In practice, for each virtual object, the execution entity can obtain the target user's direction relative to the virtual object from an accelerometer via a wired or wireless connection, and convert this direction into a direction vector to obtain the target point direction vector. For example, this direction can be encoded into a vector using one-hot encoding to obtain the target point direction vector. Then, based on the number of virtual objects included in the virtual space, the total potential energy of the target point space, the potential energy of each generated virtual object, and the obtained target point direction vectors, a target point orientation vector can be generated. In practice, the target point orientation vector can be generated using the following formula:
[0054]
[0055] in, This represents the target point's orientation vector. This represents the direction vector of the target point corresponding to the k-th virtual object.
[0056] Finally, the heterogeneous spatial location information of the target point can be generated based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, the total potential energy of the target point space, the coordinates of each generated target point subspace, the set of heterogeneous spatial coordinates of the virtual objects, the determined rotation inverse matrices of each virtual object, and the target point orientation vector. In practice, the first step is to generate the heterogeneous spatial coordinates of the target point based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, the total potential energy of the target point space, the coordinates of each generated target point subspace, the set of heterogeneous spatial coordinates of the virtual objects, and the determined rotation inverse matrices of each virtual object. The second step is to determine the heterogeneous spatial coordinates of the target point and the target point orientation vector as the heterogeneous spatial location information of the target point. Thus, the heterogeneous spatial location information of the target point, representing the position and orientation of the target user in the heterogeneous space, can be obtained.
[0057] The above content, as an inventive point of this disclosure, solves the second technical problem mentioned in the background art: "The orientation of the user avatar loaded in the above manner changes relative to the user's own orientation, resulting in low efficiency of interaction between users in heterogeneous spaces." The factors leading to low efficiency of interaction between users in heterogeneous spaces are as follows: The orientation of the user avatar loaded in the above manner changes relative to the user's own orientation, resulting in low efficiency of interaction between users in heterogeneous spaces. Solving or mitigating these factors can improve the convenience of user interaction in heterogeneous spaces. To achieve this effect, this disclosure generates heterogeneous space coordinates of the target point and a target point orientation vector, and determines these coordinates and orientation vectors as the heterogeneous space location information of the target point. Specifically, when generating the target point orientation vector, various virtual objects are considered, and the target point orientation vector is generated based on the obtained direction vectors of each target point and the potential energy of each virtual object. Therefore, based on the heterogeneous space location information of the target point, when loading the virtual avatar model corresponding to the target user in the heterogeneous space, the orientation of the virtual avatar model can be made to be the orientation represented by the target point orientation vector. Therefore, due to the limitations of virtual objects, the orientation of each user avatar (virtual character model) is determined by the virtual objects. As a result, the offset between the orientation of each user avatar and the orientation of the user itself is basically the same, which maintains the orientation relationship of each user in the interaction as much as possible, thereby improving the efficiency of interaction between users in heterogeneous spaces.
[0058] Step 106: Based on the heterogeneous spatial location information of the target point, load the virtual avatar model of the corresponding target user in the heterogeneous space.
[0059] In some embodiments, the executing entity can load a virtual avatar model corresponding to the target user in the heterogeneous space based on the target point heterogeneous spatial location information. The virtual avatar model can be a model representing the avatar of the target user. For example, the virtual avatar model can be a two-dimensional human image. In practice, the executing entity can place the virtual avatar model corresponding to the target user at the target point heterogeneous spatial coordinates represented by the target point heterogeneous spatial location information in the heterogeneous space. Thus, the virtual avatar model of the target user can be displayed in the heterogeneous space.
[0060] Optionally, firstly, the executing entity can determine the distance between the spatial coordinates of the target point and the spatial coordinates of each virtual object, thus obtaining a distance set. Then, in response to the existence of a distance in the distance set that is less than a preset distance threshold, a "too close" warning message can be played. The preset distance threshold can be a pre-defined distance threshold. The "too close" warning message can be a message indicating that the user is too close to a virtual object. For example, the "too close" warning message could be: "Please note, you are too close to the object!" Thus, when the user is too close to a virtual object, the user can be prompted to move slightly away from the virtual object.
[0061] Optionally, the aforementioned executing entity can generate global coordinates of the target point based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, and the subspace coordinates of each generated target point. In practice, global coordinates of the target point can be generated in various ways based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, and the subspace coordinates of each generated target point. Thus, global coordinates of the target point, constrained by each virtual object, representing the position of the target user in the virtual space, can be obtained.
[0062] Optionally, firstly, the aforementioned executing entity can generate the total spatial potential energy of the target point based on the number of virtual objects included in the virtual space and the potential energy of each generated virtual object. In practice, the total spatial potential energy E of the target point can be generated using the following formula. p :
[0063]
[0064] Then, based on the number of virtual objects included in the virtual space, the total potential energy of the target point space, the potential energy of each generated virtual object, and the subspace coordinates of each generated target point, the global coordinates of the target point can be generated. In practice, the global coordinates p of the target point can be generated using the following formula:
[0065]
[0066] Therefore, we can further obtain the global coordinates of the target point, which represents the position of the target user in the virtual space and is constrained by various virtual objects.
[0067] Optionally, firstly, the executing entity can obtain user location change information in response to the update of the target user's user location coordinates. This user location change information may include at least one user location change coordinate. This user location change information can be information representing a change in the user's location. The user location change coordinates can be the coordinates traversed when the user's location changes. In practice, in response to the update of the target user's user location coordinates, the user's location can be located at preset time intervals using a positioning device to obtain at least one user location change coordinate as user location change information. The positioning device can be a device capable of locating the user's location. For example, the positioning device can be a GPS locator. Secondly, heterogeneous location change information of target points can be generated based on the user location change information. This heterogeneous location change information of target points may include at least one heterogeneous location change coordinate of target points. In practice, each user location change coordinate in the user location change information can be mapped to a virtual space to obtain at least one heterogeneous location change coordinate of target points as heterogeneous location change information of target points. Finally, the virtual avatar model can be controlled to move based on the heterogeneous location change coordinates of target points included in the heterogeneous location change information of target points. In practice, the virtual avatar model can be controlled to traverse the heterogeneous position change coordinates of each target point, including the heterogeneous position change information of the target points, in order to realize the movement of the virtual avatar model.
[0068] The above content, as an inventive point of this disclosure, solves the third technical problem mentioned in the background art: "Failure to consider changes in the user's position in the real scene further leads to inconvenience for user interaction in heterogeneous spaces." The factors further contributing to this inconvenience are as follows: failure to consider changes in the user's position in the real scene further hinders user interaction in heterogeneous spaces. Solving these factors improves the convenience of user interaction in heterogeneous spaces. To achieve this, this disclosure controls the movement of the virtual avatar model based on heterogeneous position change information of the target point. Therefore, when the user's position changes, the virtual avatar model in the virtual space can move synchronously, thereby improving the convenience of user interaction in heterogeneous spaces.
[0069] The above embodiments of this disclosure have the following beneficial effects: The user virtual avatar loading method based on a mixed reality remote collaborative environment, as described in some embodiments of this disclosure, improves the convenience of user interaction in heterogeneous spaces. Specifically, the reason for the inconvenience of user interaction in heterogeneous spaces is that, based on CollaboVR's definition of the user's position in the heterogeneous space, it is impossible to load two or more user avatars into the heterogeneous space simultaneously. Therefore, the user virtual avatar loading method based on a mixed reality remote collaborative environment, as described in some embodiments of this disclosure, firstly maps the target user's position coordinates to the virtual space, obtaining the mapped coordinates as the target point's spatial coordinates. Thus, the target point's spatial coordinates, representing the user's (target point's) position in the virtual space, can be obtained. Then, the virtual object spatial coordinates of each virtual object included in the virtual space are determined, obtaining a set of virtual object spatial coordinates. Thus, the virtual object spatial coordinates, representing the position of the virtual object in the virtual space, can be obtained. Secondly, the heterogeneous space corresponding to the virtual space is determined. Thus, a virtual space for various users to collaborate remotely using mixed reality technology can be obtained. Then, each virtual object is mapped to a heterogeneous space, and the coordinates of each virtual object in the heterogeneous space are obtained as a set of heterogeneous space coordinates for virtual objects. This yields a set of heterogeneous space coordinates for virtual objects representing the positions of each virtual object in the heterogeneous space. Next, based on the target point's spatial coordinates, the set of virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the set of heterogeneous space coordinates for virtual objects, heterogeneous space position information for the target point is generated. This yields heterogeneous space position information for the target point representing the position of the target user in the heterogeneous space. Finally, based on the heterogeneous space position information for the target point, a virtual avatar model of the corresponding target user is loaded into the heterogeneous space. This allows the display of the aforementioned virtual avatar model of the target user in the heterogeneous space. Therefore, through the user virtual avatar loading method in a mixed reality remote collaborative environment based on some embodiments of this disclosure, it is possible to load the avatar of any target user into a heterogeneous space, thereby enabling multiple users to interact in the heterogeneous space and improving the convenience of user interaction in the heterogeneous space.
[0070] Continue to refer to Figure 2 As an implementation of the methods shown in the above figures, this disclosure provides some embodiments of a user virtual avatar loading device based on a mixed reality remote collaborative environment. These device embodiments are similar to... Figure 1 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.
[0071] like Figure 2As shown, a user virtual image loading device 200 based on a mixed reality remote collaborative environment in some embodiments includes: a first mapping unit 201, a first determining unit 202, a second determining unit 203, a second mapping unit 204, a generating unit 205, and a loading unit 206. The system comprises the following configurations: a first mapping unit 201 is configured to map the user's location coordinates to a virtual space, obtaining the mapped coordinates as the target point's spatial coordinates; a first determining unit 202 is configured to determine the virtual object spatial coordinates of each virtual object included in the virtual space, obtaining a set of virtual object spatial coordinates; a second determining unit 203 is configured to determine the heterogeneous space corresponding to the virtual space, wherein the heterogeneous space is the virtual space corresponding to each user to be interacted with; a second mapping unit 204 is configured to map each virtual object to the heterogeneous space, obtaining the coordinates of each virtual object in the heterogeneous space as a set of virtual object heterogeneous space coordinates; a generating unit 205 is configured to generate target point heterogeneous space location information based on the target point spatial coordinates, the set of virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the set of virtual object heterogeneous space coordinates, wherein the target point heterogeneous space location information represents the position of the target user in the heterogeneous space; and a loading unit 206 is configured to load a virtual avatar model corresponding to the target user in the heterogeneous space based on the target point heterogeneous space location information.
[0072] It is understandable that the units described in the device 200 are related to the reference. Figure 1 The steps in the described method correspond to each other. Therefore, the operations, features, and beneficial effects described above for the method also apply to the device 200 and the units contained therein, and will not be repeated here.
[0073] The following is for reference. Figure 3 It shows a schematic diagram of the structure of an electronic device (e.g., a computing device) 300 suitable for implementing some embodiments of the present disclosure. Figure 3 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this disclosure.
[0074] like Figure 3As shown, the electronic device 300 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. The RAM 303 also stores various programs and data required for the operation of the electronic device 300. The processing unit 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0075] Typically, the following devices can be connected to I / O interface 305: input devices 306 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 307 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 308 including, for example, magnetic tapes, hard disks, etc.; and communication devices 309. Communication device 309 allows electronic device 300 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 An electronic device 300 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively. Figure 3 Each box shown can represent a device or multiple devices as needed.
[0076] In particular, according to some embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 309, or installed from storage device 308, or installed from ROM 302. When the computer program is executed by processing device 301, it performs the functions defined in the methods of some embodiments of this disclosure.
[0077] It should be noted that, in some embodiments of this disclosure, the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In some embodiments of this disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In some embodiments of this disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0078] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0079] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device. The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: map the user's location coordinates to a virtual space, obtaining the mapped coordinates as the target point's spatial coordinates; for the virtual object spatial coordinates of each virtual object included in the aforementioned virtual space, determine the virtual object spatial coordinates with the shortest distance to the target point's spatial coordinates as the target virtual object spatial coordinates, wherein the target virtual object spatial coordinates represent the position of the target virtual object in the aforementioned virtual space; determine the heterogeneous space corresponding to the aforementioned virtual space, wherein... The heterogeneous space refers to the virtual space corresponding to each user to be interacted with; the target virtual object is mapped to the heterogeneous space to obtain the coordinates of the target virtual object in the heterogeneous space as the target virtual object heterogeneous space coordinates; based on the target point spatial coordinates, the target virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the target virtual object heterogeneous space coordinates, target point heterogeneous space location information is generated, wherein the target point heterogeneous space location information represents the position of the target user in the heterogeneous space; based on the target point heterogeneous space location information, a virtual image model corresponding to the target user is loaded in the heterogeneous space.
[0080] Computer program code for performing operations of some embodiments of this disclosure can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0081] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0082] The units described in some embodiments of this disclosure can be implemented in software or hardware. The described units can also be housed in a processor; for example, a processor may be described as including a first mapping unit, a first determining unit, a second determining unit, a second mapping unit, a generating unit, and a loading unit. The names of these units do not necessarily limit the specific unit; for example, the first mapping unit may also be described as "a unit that maps the user's location coordinates to a virtual space to obtain the mapped coordinates as the spatial coordinates of the target point."
[0083] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0084] The above description is merely a selection of preferred embodiments of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of this disclosure.
Claims
1. A method for loading a user's virtual avatar in a mixed reality remote collaborative environment, comprising: The target user's location coordinates are mapped to the virtual space, and the mapped coordinates are used as the target point's spatial coordinates. Determine the virtual object spatial coordinates of each virtual object included in the virtual space to obtain a set of virtual object spatial coordinates; Determine the heterogeneous space corresponding to the virtual space, wherein the heterogeneous space is the virtual space corresponding to each user to be interacted with; Each virtual object is mapped to the heterogeneous space to obtain the coordinates of each virtual object in the heterogeneous space, which is then used as the set of virtual object heterogeneous space coordinates. Based on the target point spatial coordinates, the set of virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the set of heterogeneous spatial coordinates of the virtual objects, heterogeneous spatial location information of the target point is generated, wherein the heterogeneous spatial location information of the target point represents the position of the target user in the heterogeneous space; Based on the heterogeneous spatial location information of the target point, load the virtual avatar model corresponding to the target user in the heterogeneous space; Before determining the heterogeneous space corresponding to the virtual space, the method further includes: For each virtual object included in the virtual space, perform the following generation operation: Based on the virtual object space coordinates of the virtual object and the target point space coordinates, generate the target point subspace coordinates; Based on the potential energy constant of the virtual object and the distance between the virtual object's spatial coordinates and the target point's spatial coordinates, the virtual object's potential energy is generated using the following formula: ; in, Indicates the first The potential energy of a virtual object Indicates the first The gravitational potential energy constant of a virtual object. The distance between the spatial coordinates of the virtual object and the spatial coordinates of the target point represents the distance between the virtual object's spatial coordinates and the gravitational potential energy constant, which is the gravitational constant. The product of the mass of the virtual object and the weight of the target user; The step of generating heterogeneous spatial location information of the target point based on the spatial coordinates of the target point, the set of spatial coordinates of the virtual objects, the number of virtual objects included in the virtual space, and the set of heterogeneous spatial coordinates of the virtual objects further includes: The heterogeneous spatial coordinates of the target point are generated using the following formula: ; in, Represents the heterogeneous spatial coordinates of the target point. This indicates the number of virtual objects in the virtual space. Indicates the first The potential energy of a virtual object This represents the total potential energy in space at the target point. Indicates the corresponding number The target point subspace coordinates of a virtual object Indicates the first The heterogeneous spatial coordinates of a virtual object Indicates the first The virtual object rotation matrix of a virtual object. Representing the rotation matrix The inverse matrix of , i.e., the inverse rotation matrix of the virtual object, where, It can be obtained by summing the potential energies of the virtual objects included in the virtual space; The heterogeneous spatial coordinates of the target point are determined as the heterogeneous spatial location information of the target point.
2. The method according to claim 1, wherein, The method further includes: Determine the distance between the spatial coordinates of the target point and the spatial coordinates of each virtual object in the spatial coordinates of each virtual object to obtain a distance set; In response to the presence of a distance less than a preset distance threshold in the distance set, a "too close" warning message is played.
3. The method according to claim 1, wherein, The generation of heterogeneous spatial location information for the target point includes: For each virtual object included in the virtual space, perform the following determination operation: The rotation angle of the virtual object is determined based on the virtual object's spatial coordinates and heterogeneous spatial coordinates. Determine the inverse rotation matrix of the virtual object based on the rotation angle of the virtual object.
4. The method according to claim 3, wherein, The generation of heterogeneous spatial location information for the target point also includes: Based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, the subspace coordinates of each generated target point, the determined rotation inverse matrix of each virtual object, and the set of heterogeneous spatial coordinates of the virtual objects, heterogeneous spatial location information of the target point is generated.
5. The method according to claim 4, wherein, The method further includes: Based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, and the subspace coordinates of each generated target point, the global coordinates of the target point are generated.
6. The method according to claim 5, wherein, The step of generating global coordinates of the target point based on the number of virtual objects included in the virtual space, the potential energy of each generated virtual object, and the subspace coordinates of each generated target point includes: Based on the number of virtual objects included in the virtual space and the potential energy of each virtual object generated, the total potential energy of the target point space is generated. Based on the number of virtual objects included in the virtual space, the total potential energy of the target point space, the potential energy of each generated virtual object, and the subspace coordinates of each generated target point, the global coordinates of the target point are generated.
7. A user virtual avatar loading device based on a mixed reality remote collaborative environment, comprising: The first mapping unit is configured to map the user's location coordinates to the virtual space, and obtain the mapped coordinates as the target point's spatial coordinates; The first determining unit is configured to determine the virtual object spatial coordinates of each virtual object included in the virtual space, thereby obtaining a set of virtual object spatial coordinates. The potential energy determination unit is configured to generate target point subspace coordinates based on the virtual object's spatial coordinates and the target point's spatial coordinates; and to generate the virtual object's potential energy based on the virtual object's potential energy constant and the distance between the virtual object's spatial coordinates and the target point's spatial coordinates using the following formula: ; in, Indicates the first The potential energy of a virtual object Indicates the first The gravitational potential energy constant of a virtual object. The distance between the spatial coordinates of the virtual object and the spatial coordinates of the target point represents the distance between the virtual object's spatial coordinates and the gravitational potential energy constant, which is the gravitational constant. The product of the mass of the virtual object and the weight of the target user; The second determining unit is configured to determine the heterogeneous space corresponding to the virtual space, wherein the heterogeneous space is the virtual space corresponding to each user to be interacted with; The second mapping unit is configured to map each virtual object to the heterogeneous space, and obtain each coordinate of each virtual object in the heterogeneous space as a set of virtual object heterogeneous space coordinates. The generation unit is configured to generate heterogeneous spatial location information of the target point based on the target point spatial coordinates, the set of virtual object spatial coordinates, the number of virtual objects included in the virtual space, and the set of heterogeneous spatial coordinates of the virtual objects, including: generating the heterogeneous spatial coordinates of the target point using the following formula: ; in, Represents the heterogeneous spatial coordinates of the target point. This indicates the number of virtual objects in the virtual space. Indicates the first The potential energy of a virtual object This represents the total potential energy in space at the target point. Indicates the corresponding number The target point subspace coordinates of a virtual object Indicates the first The heterogeneous spatial coordinates of a virtual object Indicates the first The virtual object rotation matrix of a virtual object. Representing the rotation matrix The inverse matrix of , i.e., the inverse rotation matrix of the virtual object, where, It can be obtained by summing the potential energy of each virtual object included in the virtual space; the heterogeneous space coordinates of the target point are determined as the heterogeneous space location information of the target point, wherein the heterogeneous space location information of the target point represents the position of the target user in the heterogeneous space; The loading unit is configured to load a virtual avatar model corresponding to the target user in the heterogeneous space based on the heterogeneous spatial location information of the target point.
8. An electronic device, comprising: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.
9. A computer-readable medium having a computer program stored thereon, wherein, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.