Method for controlling virtual avatar in virtual environment and related product

By receiving the target object pose of the external tracking device in virtual reality technology and adjusting the pose of the virtual avatar according to the virtual camera pose, the display problem of the virtual avatar under different coordinate systems is solved, and a higher quality virtual reality experience is achieved.

CN119784905APending Publication Date: 2025-04-08HTC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410009117.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-06
Filing Date
2024-01-03
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

In virtual reality technology, due to the different coordinate systems used by external tracking devices and VR hosts, virtual avatars may not be displayed correctly in the field of view of the virtual camera, resulting in poor visual quality.

Method used

The host receives the pose of the target object from the external tracking device, provides visual content associated with the virtual environment, determines the reference pose of the reference object based on the camera pose of the virtual camera, calculates the pose difference, and applies this difference to adjust the pose of the target object to ensure that the virtual avatar is displayed correctly in the visual content.

Benefits of technology

Even using external tracking devices and VR hosts with different coordinate systems, the virtual avatar can be properly displayed in the field of view of the virtual camera, improving visual quality and reducing development difficulty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119784905A_ABST
    Figure CN119784905A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method for controlling a virtual avatar in a virtual environment, a host and a computer readable storage medium. The method includes: receiving a first attitude of each target object from an external tracking device; providing visual content associated with the virtual environment; determining a reference attitude of a reference object in the virtual environment according to the camera attitude of the virtual camera; determining the attitude difference between the first attitude of the first target object and the reference attitude of the reference object; determining a second pose of each target object via applying the pose difference to the first pose of each target object; and displaying the virtual avatar corresponding to the target object in the visual content based on the second posture of each target object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to a mechanism for adjusting visual content, and more particularly to a method, a host, and a computer-readable storage medium for controlling a virtual avatar in a virtual environment. Background Art

[0002] In virtual reality (VR) technology, virtual cameras play a key role in VR technology by simulating the functions of real-world cameras, allowing users to observe, record and interact in the virtual world, thereby enhancing the interactivity and authenticity of the VR experience.

[0003] In one possible implementation, a virtual camera may be set at a specific location in a VR environment, and a scene captured in the field of view of the virtual camera may be displayed as visual content (e.g., VR content) seen by a user. For example, a virtual camera may be used to capture a virtual avatar in a VR environment so that the user can see the virtual avatar in the visual content.

[0004] In VR technology, the posture of a human body can be tracked via an external tracking device, and the tracked posture of the human body can be provided to a VR host (e.g., a head-mounted display (HMD) and / or other computer devices) for adjusting the posture of a virtual avatar corresponding to the human body.

[0005] However, since the coordinate systems used by the external tracking device and the VR host may be different, the virtual avatar may not be displayed correctly in the field of view of the virtual camera, which may result in less satisfactory visual quality.

[0006] refer to Figure 1 , which shows a schematic diagram of a tracking scenario. Figure 1 In the example, the external tracking device 13 may determine that the human body 10 to be tracked is located at the coordinates (-1, -2) of the second coordinate system (which may have an origin O2) used by the external tracking device 13, where this coordinate is expressed as Figure 1 In this case, the VR host may display the virtual avatar 12 at the coordinates (-1, -2) of the first coordinate system used by the VR host (which may have the origin O1), where this coordinate is represented as Figure 1However, the human body 10 to be tracked is actually located at the coordinate (0, -1) of the first coordinate system (i.e., "(0, -1) @ O1"). In other words, there is an offset between the virtual avatar 12 and the human body 10 to be tracked. From another perspective, the offset between the virtual avatar 12 and the human body 10 to be tracked can also be understood as the offset between the origin of the first coordinate system and the origin of the second coordinate system.

[0007] exist Figure 1 , it is assumed that the virtual camera 14 is set at the origin O1 and has a field of view 199 facing the human body 10 to be tracked. In this case, the virtual avatar 12 corresponding to the human body 10 to be tracked should be displayed at the center of the visual content 15. However, due to the offset between the virtual avatar 12 and the human body 10 to be tracked, the virtual avatar 12 will be displayed on the right side of the visual content 15 instead of being displayed in the center of the visual content 15, which may cause confusion for developers. In some cases, if the offset between the virtual avatar 12 and the human body 10 to be tracked is too large, it may even cause the virtual avatar 12 to be displayed outside the visual content 15, so that the user may not be able to see the virtual avatar 12 in the visual content 15.

[0008] Therefore, it is necessary to develop a mechanism for better providing visual content. Summary of the invention

[0009] Therefore, the present invention relates to a method, a host, and a computer-readable storage medium for controlling a virtual avatar in a virtual environment, which can be used to solve the above technical problems.

[0010] An embodiment of the present invention provides a method for controlling a virtual avatar in a virtual environment, comprising: receiving, by a host, a first posture of each of at least one target object from an external tracking device, wherein the at least one target object includes a first target object; providing, by the host, visual content associated with the virtual environment, wherein the visual content corresponds to a field of view of a virtual camera in the virtual environment; determining, by the host, a reference posture of a reference object in the virtual environment based on the camera posture of the virtual camera; determining, by the host, a posture difference between a first posture of the first target object and a reference posture of the reference object; determining, by the host, a second posture of each of the at least one target object by applying the posture difference to the first posture of each of the at least one target object; and displaying, by the host, a virtual avatar corresponding to the at least one target object in the visual content based on the second posture of each of the at least one target object.

[0011] An embodiment of the present invention provides a host, which includes a storage circuit and a processor. The storage circuit stores program code. The processor is coupled to the storage circuit and accesses the program code to perform the following operations: receiving a first posture of each of at least one target object from an external tracking device, wherein the at least one target object includes a first target object; providing visual content associated with a virtual environment, wherein the visual content corresponds to a field of view of a virtual camera in the virtual environment; determining a reference posture of a reference object in the virtual environment according to the camera posture of the virtual camera; determining a posture difference between the first posture of the first target object and the reference posture of the reference object; determining a second posture of each of the at least one target object by applying the posture difference to the first posture of each of the at least one target object; and displaying a virtual avatar corresponding to the at least one target object in the visual content based on the second posture of each of the at least one target object.

[0012] An embodiment of the present invention provides a computer-readable storage medium, which records an executable computer program, and the executable computer program is loaded by a host to perform the following steps: receiving a first posture of each of at least one target object from an external tracking device, wherein the at least one target object includes a first target object; providing visual content associated with a virtual environment, wherein the visual content corresponds to a field of view of a virtual camera in the virtual environment; determining a reference posture of a reference object in the virtual environment according to the camera posture of the virtual camera; determining a posture difference between a first posture of the first target object and a reference posture of the reference object; determining a second posture of each of the at least one target object by applying the posture difference to the first posture of each of the at least one target object; and displaying a virtual avatar corresponding to the at least one target object in the visual content based on the second posture of each of the at least one target object. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.

[0014] Figure 1 A schematic diagram showing a tracking scenario is shown.

[0015] Figure 2 A schematic diagram of a host according to an embodiment of the present invention is shown.

[0016] Figure 3 A flow chart of a method for controlling a virtual avatar in a virtual environment according to an embodiment of the present invention is shown.

[0017] Figure 4 An application scenario according to an embodiment of the present invention is illustrated.

[0018] Figure 5 A flow chart of a method for controlling a virtual avatar in a virtual environment according to a first embodiment of the present invention is shown.

[0019] Figure 6 A flow chart of a method for controlling a virtual avatar in a virtual environment according to a second embodiment of the present invention is shown.

[0020] Description of Figure Numbers

[0021] 10: human body to be tracked;

[0022] 12, 42: Avatar;

[0023] 13, 43: external tracking device;

[0024] 14, 44: virtual camera;

[0025] 15, 45: visual content;

[0026] 40: Human body;

[0027] 41: Reference object;

[0028] 199, 499: field of view;

[0029] 200: host;

[0030] 202: storage circuit;

[0031] 204: processor;

[0032] O1, O2 origin;

[0033] S310, S320, S330, S340, S350, S360, S510, S520, S530, S610, S621, S622, S623, S631, S632, S633: steps. DETAILED DESCRIPTION

[0034] Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numerals are used in the drawings and the description to refer to the same or like parts.

[0035] See also Figure 2, which depicts a schematic diagram of a host according to an embodiment of the present invention. In various embodiments, the host 200 may be any smart device and / or computer device that can provide visual content of a reality service such as a virtual reality (VR) service, an augmented reality (AR) service, a mixed reality (MR) service, and / or an extended reality (XR) service, but the present invention is not limited thereto. In some embodiments, the host 200 may be a head-mounted display (HMD) capable of displaying / providing visual content (e.g., AR / VR content) for viewing by a wearer / user. In order to better understand the concepts of the present invention, the host 200 will be assumed to be an HMD that provides VR content (e.g., a VR world) to a user, but the present invention is not limited thereto.

[0036] exist Figure 2 In the embodiment, the host 200 includes a storage circuit 202 and a processor 204. The storage circuit 202 is one or a combination of static or mobile random access memory (RAM), read-only memory (ROM), flash memory, hard disk or any other similar device, and the storage circuit records multiple modules and / or program codes that can be executed by the processor 204.

[0037] The processor 204 can be coupled to the storage circuit 202, and the processor 204 can be, for example, a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) circuit, any other type of integrated circuit (IC), a state machine, etc.

[0038] In an embodiment of the present invention, the processor 204 may access the modules and / or program codes stored in the storage circuit 202 to implement the method for controlling a virtual avatar in a virtual environment provided by the present invention, which will be further discussed below.

[0039] See also Figure 3 , which depicts a flow chart of a method for controlling a virtual avatar in a virtual environment according to an embodiment of the present invention. The method of this embodiment may be performed by Figure 2 The host 200 in the embodiment is executed, and the following will be supplemented by Figure 2The components shown are used to describe Figure 3 In order to better understand the concept of the present invention, Figure 4 will be used as an example, where Figure 4 An application scenario according to an embodiment of the present invention is illustrated.

[0040] In step S310 , the processor 204 receives a first pose of each of at least one target object from the external tracking device 43 .

[0041] In an embodiment of the present invention, the external tracking device 43 may be used to capture an image of at least one target object and determine therefrom, for example, a first pose of each of the target objects.

[0042] In the embodiment of the present invention, each of the mentioned postures can be characterized as corresponding 6 degrees of freedom (6DOF). However, for better understanding, each posture will be represented by two-dimensional coordinates below, but the present invention is not limited thereto.

[0043] In one embodiment, the target object may include at least one first joint of the target body tracked by the external tracking device 43 .

[0044] exist Figure 4 In the embodiment of the present invention, the human body 40 may be the target subject under consideration. In this case, the external tracking device 43 may be used to capture an image of the human body 40 and determine the first posture of each first joint of the human body 40. In some embodiments, the external tracking device 43 may use some existing posture detection algorithms to determine / track the first posture of each first joint of the human body 40.

[0045] In one embodiment, the external tracking device 43 may be used to track first postures of several specific first joints of the human body 40 (eg, head, hand, shoulder, wrist, hip, knee, ankle, etc.), but the present invention is not limited thereto.

[0046] After determining / tracking the first posture of the considered first joint (eg, the specific first joint above) of the human body 40 , the external tracking device 43 may transmit the determined first posture of the considered first joint to the host 200 .

[0047] In one embodiment, the target object may include a first target object. In some embodiments, the first target object may be one of the first joints. For better understanding, it may be assumed that the first target object is a hip joint, because the hip joint can be used to determine the position of the human body 40, but the present invention is not limited thereto.

[0048] exist Figure 4In the embodiment, the external tracking device 43 may determine the first pose of the first target object as the coordinates (-1, -2) in the second coordinate system (which has the origin O2) used by the external tracking device 43. In this case, the processor 204 may determine the first pose of the first target object as the coordinates (-1, -2) in the first coordinate system (which has the origin O1) used by the host 200.

[0049] In step S320 , the processor 204 provides visual content 45 associated with the virtual environment, wherein the visual content 45 corresponds to the field of view 499 of the virtual camera 44 in the virtual environment.

[0050] exist Figure 4 In the example, the scene captured / seen by a virtual camera 44 in a virtual environment (eg, VR environment / world) will be presented as visual content 45 seen by a user of the host 200.

[0051] In an embodiment where the host 200 is an HMD, a user wearing the HMD can see visual content 45 displayed by the host 200. In another embodiment where the host 200 is a computer, a user of the host 200 can see visual content on a screen controlled by the host 200, but the present invention is not limited thereto.

[0052] In step S330 , the processor 204 determines a reference pose of the reference object 41 in the virtual environment according to the camera pose of the virtual camera 44 .

[0053] In an embodiment of the present invention, the reference object 41 may be a point corresponding to a desired position of displaying a virtual avatar 42 corresponding to a target subject (eg, a human body 40). Figure 4 In the embodiment, the reference object 41 may be located at a specific position (eg, center) within the field of view 499 of the virtual camera 44, but the present invention is not limited thereto.

[0054] In one embodiment, the relative position between the camera pose and the reference pose may be fixed. Therefore, once the camera pose of the virtual camera 44 is determined by the processor 204 and / or the designer, the processor 204 may determine the reference pose of the reference object 41 accordingly.

[0055] In one embodiment, it is assumed that when the camera pose is (x, y), the reference pose is (x, y-2). Therefore, when the camera pose is assumed to be (0, 0), it can be determined Figure 4 The reference posture in is (0, -2), but the present invention is not limited thereto.

[0056] In step S340 , the processor 204 determines a posture difference between the first posture of the first target object and the reference posture of the reference object 41 .

[0057] exist Figure 4 In the figure, since the first posture of the first target object is assumed to be (-1, -2) and the reference posture of the reference object 41 is assumed to be (0, -2), the processor 204 can determine that the posture difference therebetween is (-1, 0) by subtracting the reference posture from the first posture of the first target object, but the present invention is not limited to this.

[0058] In step S350 , the processor 204 determines a second posture of each of the at least one target object by applying the posture difference to the first posture of each of the at least one target object.

[0059] In one embodiment, when applying the pose difference to the first pose of each of the one or more target objects, the processor 204 may subtract the pose difference from the first pose of each of the one or more target objects.

[0060] For example, if one of the target objects is the right wrist of the human body 40, and the external tracking device 43 determines that the first posture of the right wrist is (-2, -3) in the second coordinate system (for example, the first posture of the right wrist can be represented by "(-2, -3) @ O2"), the processor 204 can determine the corresponding second posture by subtracting the posture difference (for example, (-1, 0)) from (-2, -3). In this case, the second posture of the right wrist can be determined to be (-1, -3) in the first coordinate system used by the host 200.

[0061] For another example, if one of the target objects is the left shoulder of the human body 40, and the external tracking device 43 determines that the first posture of the left shoulder is (0, -2) in the second coordinate system (e.g., the first posture of the left shoulder can be represented by "(0, -2) @ O2"), then the processor 204 can determine the corresponding second posture by subtracting the posture difference (e.g., (-1, 0)) from (0, -2). In this case, the second posture of the left shoulder can be determined to be (+1, -2) in the first coordinate system used by the host 200.

[0062] In the embodiment of the present invention, the second posture of other target objects may be determined based on the above mechanism.

[0063] In step S360 , processor 204 displays virtual avatar 42 corresponding to one or more target objects in visual content 45 based on the second gesture of each of the one or more target objects.

[0064] In an embodiment of the present invention, the virtual avatar 42 has at least one second joint corresponding to the at least one first joint one-to-one, and each of the at least one second joint is displayed with a corresponding second posture. By following the above example, the processor 204 can determine that the second posture corresponding to the right wrist of the virtual avatar 42 is (-1, -3) and display the right wrist of the virtual avatar 42 in the visual content 45 accordingly. Similarly, the processor 204 can determine that the second posture corresponding to the left shoulder of the virtual avatar 42 is (+1, -2) and display the left shoulder of the virtual avatar 42 in the visual content 45 accordingly. For other second joints of the virtual avatar 42, the processor 204 can display the second joints in the visual content 45 based on the corresponding second posture, but the present invention is not limited to this.

[0065] exist Figure 4 In the embodiment, since the reference object 41 is assumed to be located at the center of the field of view 499 of the virtual camera 44, the virtual avatar 42 (whose second joint is displayed as the corresponding second posture) will be displayed at the center of the visual content 45. In other words, the way in which the virtual avatar 42 is displayed in the visual content 45 will not be affected by the offset between the origins of the first coordinate system and the second coordinate system, thereby reducing the difficulty of development.

[0066] In some embodiments, the processor 204 may perform step S330 only at the very beginning of an application (e.g., a game application) of the visual content and only for the initial position configuration of the avatar. That is, when the application (e.g., a game application) of the visual content starts, the processor 204 may determine the reference posture of the reference object 41 and maintain the reference posture throughout the user's experience of the visual content. Assuming that the reference object 41 is located at the center of the field of view 499, the virtual avatar 42 will be displayed at the center of the visual content 45 at the very beginning of the application of the visual content, but the present invention is not limited to this.

[0067] In one embodiment, because human body 40 may move (eg, change position / gesture / pose), the manner in which virtual avatar 42 is displayed in visual content 45 may be adjusted accordingly.

[0068] In an embodiment where the reference pose is maintained throughout the user's experience of the visual content, the avatar 42 may be displayed (only) at the very beginning of the application in the center of the visual content 45. The avatar 42 may then move in the visual content 45 in response to the movement of the human body 40.

[0069] In the first embodiment, the processor 204 may continuously maintain the displayed virtual avatar 42 at, for example, the center of the visual content 45. In the second embodiment, whenever the virtual avatar 42 approaches the boundary of the field of view of the virtual camera 44 (which may also be understood as approaching the boundary of the visual content 45), the processor 204 may recalibrate the virtual avatar 42 back to, for example, the center of the visual content 45. Details of the first and second embodiments will be discussed below.

[0070] See also Figure 5 , which illustrates a flow chart of a method for controlling a virtual avatar in a virtual environment according to a first embodiment of the present invention.

[0071] exist Figure 5 In the embodiment, after executing steps S310 to S360, the processor 204 may further determine whether the first posture of each of the one or more target objects has been updated.

[0072] Since the first pose of each of the one or more target objects is tracked by the external tracking device 43 , the updated first pose of the one or more target objects indicates that the human body 40 has moved.

[0073] In this case, in step S510 , in response to determining that the first pose of each of the one or more target objects has been updated, the processor 204 updates the pose difference based on the updated first pose of each of the one or more target objects.

[0074] In one embodiment, the processor 204 determines another pose difference between the updated first pose of the first target object and the reference pose of the reference object 41 as an updated pose difference.

[0075] For example, if the updated first posture of the first target object (e.g., the hip joint of the human body 40) is (0, -3)@O2, the processor 204 determines another posture difference value as (0, -1) by subtracting the reference posture (e.g., (0, -2)) from the updated first posture of the first target object (e.g., (0, -3)), but the present invention is not limited to this.

[0076] In step S520 , the processor 204 updates the second pose of each of the one or more target objects based on the updated first pose and the updated pose difference of each of the one or more target objects.

[0077] In one embodiment, the processor 204 may determine the updated second posture of each of the one or more target objects by applying the updated posture difference to the updated first posture of each of the one or more target objects, and the associated details may refer to the description of step S350 and will not be repeated herein.

[0078] In step S530, the processor 204 adjusts the virtual avatar 42 corresponding to the one or more target objects based on the updated second pose of each of the one or more target objects. In one embodiment, the processor 204 may adjust the virtual avatar 42 by adjusting the pose / position of the virtual avatar 42 based on the updated second pose of each of the one or more target objects.

[0079] For example, the processor 204 may display the virtual avatar 42 corresponding to one or more target objects in the visual content 45 based on the updated second posture of each of the one or more target objects, and the associated details may refer to the description of step S360, which will not be repeated herein.

[0080] In this case, even if the human body 40 has moved, the corresponding virtual avatar 42 may still be displayed / maintained at, for example, the center of the visual content 45 .

[0081] See also Figure 6 , which illustrates a flow chart of a method for controlling a virtual avatar in a virtual environment according to a second embodiment of the present invention.

[0082] exist Figure 6 In the embodiment, after executing steps S310 to S360, the processor 204 may further determine whether the first posture of each of the one or more target objects has been updated as mentioned above.

[0083] In step S610, in response to determining that the first posture of each of the one or more target objects has been updated, the processor 204 determines whether the updated first posture of each of the one or more target objects indicates that the distance between the virtual avatar 42 and the boundary of the field of view 499 of the virtual camera 44 is less than a distance threshold. From another perspective, the processor 204 may determine whether the updated first posture of each of the one or more target objects indicates that the distance between the virtual avatar 42 and the boundary of the visual content 45 is less than a distance threshold. In some embodiments, the distance threshold may be determined to show that the virtual avatar 42 is about to move outside the visual content 45, but the present invention is not limited thereto.

[0084] In one embodiment, if the distance between the virtual avatar 42 and the boundary of the field of view 499 of the virtual camera 44 is less than the distance threshold (or the distance between the virtual avatar 42 and the boundary of the visual content 45 is less than the distance threshold), then this means that the virtual avatar 42 is about to move outside the visual content 45. In this case, the processor 204 may perform step S621 to update the posture difference based on the updated first posture of each of the one or more target objects. The process of determining the updated posture difference can refer to the description of S510, which will not be repeated herein.

[0085] In step S622, the processor 204 updates the second posture of each of the one or more target objects based on the updated first posture of each of the one or more target objects and the updated posture difference. In step S623, the processor 204 adjusts the virtual avatar 42 corresponding to the one or more target objects based on the updated second posture of each of the one or more target objects. The details of steps S622 and S623 can refer to the description of S520 and S530, which will not be repeated herein.

[0086] That is, when processor 204 determines that avatar 42 (which moves in response to human body 40 ) is about to move outside visual content 45 , processor 204 may execute steps S621 to S623 to return avatar 42 to, for example, the center of visual content 45 .

[0087] On the other hand, if the distance between the virtual avatar 42 and the boundary of the field of view 499 of the virtual camera 44 is not less than the distance threshold (or the distance between the virtual avatar 42 and the boundary of the visual content 45 is not less than the distance threshold), then this means that the virtual avatar 42 is unlikely to move outside the visual content 45. In this case, the processor 204 may perform step S631 to maintain the posture difference. That is, the posture difference will not be updated as in step S621.

[0088] Subsequently, in step S632, the processor 204 updates the second posture of each of the one or more target objects based on the updated first posture of each of the one or more target objects and the maintained posture difference. In step S633, the processor 204 adjusts the virtual avatar 42 corresponding to the one or more target objects based on the updated second posture of each of the one or more target objects. In one embodiment, the processor 204 may adjust the virtual avatar 42 by adjusting the posture / position of the virtual avatar 42 based on the updated second posture of each of the one or more target objects.

[0089] In this case, the virtual avatar 42 will be observed to move in the visual content 45 following the movement of the human body 40 , rather than remaining at, for example, the center of the visual content 45 .

[0090] That is, when processor 204 determines that avatar 42 (which moves in response to human body 40 ) is unlikely to move outside visual content 45 , processor 204 may execute steps S631 to S633 to move avatar 42 within visual content 45 .

[0091] The present invention further provides a computer-readable storage medium for executing a method for controlling a virtual avatar in a virtual environment. The computer-readable storage medium is composed of a plurality of program instructions (e.g., setup program instructions and deployment program instructions) implemented therein. These program instructions can be loaded into a host 200 and executed by the host to execute the method for controlling a virtual avatar in a virtual environment and the functions of the host 200 described above.

[0092] In summary, in the embodiments of the present invention, even if the coordinate systems used by the host and the external tracking device are different, the virtual avatar corresponding to the target object tracked by the external tracking device can be properly displayed in the visual content corresponding to the field of view of the virtual camera. Therefore, the difficulty of development can be reduced.

[0093] In addition, since the gesture / posture / position of the virtual avatar shown in the visual content matches the gesture / posture / position of the tracked human body, the user can feel more immersed during viewing of the visual content. In addition, since the solution provided by the present invention can be understood as automatically correcting the projection position of the virtual avatar in the visual content, the user does not have to worry about where to place the external tracking device.

[0094] It will be apparent to those skilled in the art that various modifications and changes may be made to the structure of the present invention without departing from the scope or spirit of the present invention. In view of the foregoing, it is intended that the present invention covers modifications and changes of the present invention, provided that they fall within the scope of the appended claims and their equivalents.

Claims

1. A method for controlling a virtual avatar in a virtual environment, characterized in that: include: receiving, by the host computer, from an external tracking device, a first pose for each of at least one target object, wherein the at least one target object includes a first target object; providing, by the host, visual content associated with the virtual environment, wherein the visual content corresponds to a field of view of a virtual camera in the virtual environment; The host determines a reference posture of a reference object in the virtual environment according to the camera posture of the virtual camera; determining, by the host, a posture difference between the first posture of the first target object and the reference posture of the reference object; determining, by the host, a second pose for each of the at least one target object via applying the pose difference to the first pose for each of the at least one target object; as well as The virtual avatar corresponding to the at least one target object is displayed by the host in the visual content based on the second gesture of each of the at least one target object. 2 . The method for controlling a virtual avatar in a virtual environment according to claim 1 , wherein the relative position between the camera pose and the reference pose is fixed. 3 . The method for controlling a virtual avatar in a virtual environment according to claim 1 , wherein the reference object is located at a specific position within the field of view of the virtual camera. 4 . The method for controlling a virtual avatar in a virtual environment according to claim 1 , wherein the at least one target object comprises at least one first joint of a target body. 5 . The method for controlling a virtual avatar in a virtual environment according to claim 4 , wherein the target subject is a human body, and the first target object is a hip joint of the human body.

6. A method for controlling a virtual avatar in a virtual environment according to claim 1, wherein the virtual avatar has at least one second joint corresponding one-to-one to the at least one first joint, and each of the at least one second joint is displayed as the corresponding second posture.

7. The method for controlling a virtual avatar in a virtual environment according to claim 1, wherein after the step of displaying the virtual avatar corresponding to the at least one target object in the visual content based on the second gesture of each of the at least one target object, the method further comprises: in response to determining that the first pose of each of the at least one target object has been updated, updating the pose difference based on the updated first pose of each of the at least one target object; updating the second pose of each of the at least one target object based on the updated first pose of each of the at least one target object and the updated pose difference; as well as The virtual avatar corresponding to the at least one target object is adjusted based on the updated second pose of each of the at least one target object.

8. The method for controlling a virtual avatar in a virtual environment according to claim 7, wherein the step of updating the posture difference based on the updated first posture of each of the at least one target object comprises: Another pose difference between the updated first pose of the first target object and the reference pose of the reference object is determined as the updated pose difference.

9. The method for controlling a virtual avatar in a virtual environment according to claim 1, wherein after the step of displaying the virtual avatar corresponding to the at least one target object in the visual content based on the second gesture of each of the at least one target object, the method further comprises: in response to determining that the first pose of each of the at least one target object has been updated, determining whether the updated first pose of each of the at least one target object indicates that a distance between the virtual avatar and a boundary of the field of view of the virtual camera is less than a distance threshold; in response to determining that the distance between the virtual avatar and the boundary of the field of view of the virtual camera is less than the distance threshold, updating the pose difference based on the updated first pose of each of the at least one target object; updating the second pose of each of the at least one target object based on the updated first pose of each of the at least one target object and the updated pose difference; as well as The virtual avatar corresponding to the at least one target object is adjusted based on the updated second pose of each of the at least one target object.

10. The method for controlling a virtual avatar in a virtual environment according to claim 9, wherein in response to determining that the distance between the virtual avatar and the boundary of the field of view of the virtual camera is not less than the distance threshold, the method further comprises: maintaining the posture difference; updating the second pose of each of the at least one target object based on the updated first pose of each of the at least one target object and the maintained pose difference; as well as The virtual avatar corresponding to the at least one target object is adjusted based on the updated second pose of each of the at least one target object.

11. A host, characterized in that: include: A storage circuit for storing program codes; as well as A processor, coupled to the memory circuit and accessing the program code to execute: receiving a first pose of each of at least one target object from an external tracking device, wherein the at least one target object includes a first target object; providing visual content associated with a virtual environment, wherein the visual content corresponds to a field of view of a virtual camera in the virtual environment; Determining a reference pose of a reference object in the virtual environment according to a camera pose of the virtual camera; determining a posture difference between the first posture of the first target object and the reference posture of the reference object; determining a second pose of each of the at least one target object via applying the pose difference to the first pose of each of the at least one target object; as well as A virtual avatar corresponding to each of the at least one target object is displayed in the visual content based on the second gesture of the at least one target object.

12. The host according to claim 11, wherein a relative position between the camera pose and the reference pose is fixed.

13. The host of claim 11, wherein the reference object is located at a specific position within the field of view of the virtual camera.

14. The host of claim 11, wherein the at least one target object comprises at least one first joint of a target body.

15. The host according to claim 14, wherein the target subject is a human body, and the first target object is a hip joint of the human body.

16. The host according to claim 11, wherein the virtual avatar has at least one second joint corresponding to the at least one first joint one-to-one, and each of the at least one second joint is displayed as the corresponding second posture.

17. The host of claim 11, wherein after displaying the virtual avatar corresponding to the at least one target object in the visual content based on the second gesture of each of the at least one target object, the processor further performs: in response to determining that the first pose of each of the at least one target object has been updated, updating the pose difference based on the updated first pose of each of the at least one target object; updating the second pose of each of the at least one target object based on the updated first pose of each of the at least one target object and the updated pose difference; as well as The virtual avatar corresponding to the at least one target object is adjusted based on the updated second pose of each of the at least one target object.

18. The host of claim 11, wherein after displaying the virtual avatar corresponding to the at least one target object in the visual content based on the second gesture of each of the at least one target object, the processor further performs: in response to determining that the first pose of each of the at least one target object has been updated, determining whether the updated first pose of each of the at least one target object indicates that a distance between the virtual avatar and a boundary of the field of view of the virtual camera is less than a distance threshold; in response to determining that the distance between the virtual avatar and the boundary of the field of view of the virtual camera is less than the distance threshold, updating the pose difference based on the updated first pose of each of the at least one target object; updating the second pose of each of the at least one target object based on the updated first pose of each of the at least one target object and the updated pose difference; as well as The virtual avatar corresponding to the at least one target object is adjusted based on the updated second pose of each of the at least one target object.

19. The host of claim 18, wherein in response to determining that the distance between the virtual avatar and the boundary of the field of view of the virtual camera is not less than the distance threshold, the processor further performs: maintaining the posture difference; updating the second pose of each of the at least one target object based on the updated first pose of each of the at least one target object and the maintained pose difference; and The virtual avatar corresponding to the at least one target object is adjusted based on the updated second pose of each of the at least one target object.

20. A computer-readable storage medium recording an executable computer program, characterized in that: The executable computer program is loaded by a host computer to execute: receiving a first pose of each of at least one target object from an external tracking device, wherein the at least one target object includes a first target object; providing visual content associated with a virtual environment, wherein the visual content corresponds to a field of view of a virtual camera in the virtual environment; Determining a reference pose of a reference object in the virtual environment according to a camera pose of the virtual camera; determining a posture difference between the first posture of the first target object and the reference posture of the reference object; determining a second pose of each of the at least one target object via applying the pose difference to the first pose of each of the at least one target object; as well as A virtual avatar corresponding to each of the at least one target object is displayed in the visual content based on the second gesture of the at least one target object.