Method, host and computer-readable storage medium for adjusting a virtual object
Patent Information
- Application Number
- CN202210803251.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-04
- Filing Date
- 2022-07-07
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-07-07
AI Technical Summary
[0007]然而,当对象103移动到对象104所定位的位置时,对象103因位于FOV 102之外而无法被照相机追踪,且因此对象103无法被投影到FOV 101
[0008]因此,本发明涉及可用于解决以上技术问题的一种用于调整虚拟对象的方法、主机及计算机可读存储介质。
Smart Images

Figure CN116468877B_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to a content adjustment mechanism, and more specifically to a method for adjusting virtual objects, a host, and a computer-readable storage medium. Background Technology
[0002] In virtual worlds (such as virtual reality (VR) or augmented reality (AR) worlds), interacting with the real world is a crucial issue. The simplest way to achieve this is through a camera (e.g., a tracking camera). Specifically, the camera can be mounted on a host device (e.g., a head-mounted display, HMD) and used to capture images of the object to be tracked. The host device can use these images to perform image processing algorithms, calculate the object's position, and project the object's position into the virtual world. In this way, the user can interact with the object in the virtual world. However, the field of view (FOV) of the virtual world is often inconsistent with the camera's FOV, which can cause some problems.
[0003] See Figure 1A and Figure 1B ,in Figure 1A and Figure 1B This diagram illustrates the inconsistency between the virtual world and the camera's field of view (FOV). Figure 1A and Figure 1B The scenarios shown are top and front views of the considered FOVs 101 and 102, respectively. In this case, FOV 101 can be the FOV of a virtual world, and FOV 102 can be the FOV of a camera. In this scenario, the user (represented by user representative object 199) can only see the visual content within FOV 101, but cannot see the visual content outside FOV 101.
[0004] Similarly, the camera may only capture images of objects within the FOV 102 (e.g., object 103). From another perspective, for some objects located outside the FOV 102 (e.g., object 104), the host cannot track these objects due to the limitations of the FOV 102, and these areas are often referred to as dead zones.
[0005] Traditionally, objects in blind spots are tracked based on motion data provided by auxiliary devices (such as inertial measurement units, IMUs) placed in the blind spot.
[0006] However, these auxiliary devices are not widely equipped on the objects being tracked, causing objects without these devices to suddenly disappear from the user's visual view when moving from FOV 102 to a blind spot. For example, since object 103 is located in FOV 102, object 103 can be tracked by a camera, and therefore object 103 can be projected onto FOV 101. In this scenario, the user can see a virtual object corresponding to object 103 in the virtual world.
[0007] However, when object 103 moves to the position where object 104 is located, object 103 cannot be tracked by the camera because it is outside the field of view (FOV) 102, and therefore object 103 cannot be projected into the FOV 101. In this situation, the user will see object 103 suddenly disappear from the FOV 101, which may degrade the user's visual experience. Summary of the Invention
[0008] Therefore, the present invention relates to a method for adjusting virtual objects, a host, and a computer-readable storage medium that can be used to solve the above-mentioned technical problems.
[0009] Embodiments of the present invention provide a method for adjusting virtual objects, the method being applicable to a host computer. The method includes: obtaining a first field of view (FOV) of a virtual world; obtaining a second FOV of a camera, wherein a first entity object is located within the second FOV of the camera; determining an FOV ratio based on the first FOV and the second FOV; determining a first position of the first virtual object in the virtual world relative to a reference object in the virtual world, wherein the first virtual object corresponds to the first entity object; determining a second position of the first virtual object in the virtual world based on the first position and the FOV ratio; and displaying the first virtual object at the second position in the virtual world.
[0010] An embodiment of the present invention provides a host computer, the host computer including a storage circuit and a processor. The storage circuit stores program code. The processor is coupled to the non-transitory storage circuit and accesses the program code to perform: obtaining a first field of view (FOV) of a virtual world; obtaining a second FOV of a camera, wherein a first entity object is located within the second FOV of the camera; determining an FOV ratio based on the first FOV and the second FOV; determining a first position of a first virtual object in the virtual world relative to a reference object in the virtual world, wherein the first virtual object corresponds to the first entity object; determining a second position of the first virtual object in the virtual world based on the first position and the FOV ratio; and displaying the first virtual object at the second position in the virtual world.
[0011] Embodiments of the present invention provide a computer-readable storage medium that records an executable computer program loaded by a host computer to perform the following steps: obtaining a first field of view (FOV) of a virtual world; obtaining a second FOV of a camera, wherein a first entity object is located within the second FOV of the camera; determining an FOV ratio based on the first FOV and the second FOV; determining a first position of a first virtual object in the virtual world relative to a reference object in the virtual world, wherein the first virtual object corresponds to the first entity object; determining a second position of the first virtual object in the virtual world based on the first position and the FOV ratio; and displaying the first virtual object at the second position in the virtual world. Attached Figure Description
[0012] 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.
[0013] Figure 1A and Figure 1B This diagram illustrates the inconsistency between the virtual world and the camera's field of view (FOV).
[0014] Figure 2 A schematic diagram of a host computer according to an embodiment of the present invention is shown.
[0015] Figure 3 A flowchart illustrating a method for adjusting a virtual object according to an embodiment of the present invention is shown.
[0016] Figure 4A A top view of the FOV of a virtual world and the FOV of a camera is shown according to an embodiment of the present invention.
[0017] Figure 4B Show Figure 4A A side view of the FOV of the virtual world and the FOV of the camera.
[0018] Figure 5A A front view of a first FOV and a second FOV according to an embodiment of the present invention is shown.
[0019] Figure 5B Show Figure 5A The mapping between the first FOV and the second FOV is shown.
[0020] Figure 6A Showing according to Figure 4A The FOV of the virtual world and the top-down view of the FOV of the camera.
[0021] Figure 6B Show Figure 6A A side view of the FOV of the virtual world and the FOV of the camera.
[0022] Figure 7 A front view of a first FOV, a second FOV, and a sub-FOV according to an embodiment of the present invention is shown.
[0023] [Explanation of Symbols]
[0024] 101, 102: FOV
[0025] 103, 104: Objects
[0026] 199, 499: User Representative Objects
[0027] 200: Host
[0028] 202: Storage Circuit
[0029] 204: Processor
[0030] 511, 512, 513, 711, 712, L11, L11', L21, L21': Positions to be projected
[0031] 511', 512', 513', 711', 712': Second position
[0032] AN1: First-person perspective
[0033] AN2: Second Perspective
[0034] F1: First FOV
[0035] F2: Second FOV
[0036] F3: sub-FOV
[0037] L12, L12', L22, L22': Positions to be displayed
[0038] MA1, MA1': Multi-axis angles
[0039] O1, O2, O3: Virtual Objects
[0040] P1: YZ plane
[0041] P2: XZ plane
[0042] S310, S320, S330, S340, S350, S360: Steps
[0043] X, Y, Z: components
[0044] X1, X1', X2, X2', Y1, Y1', Y2, Y2': Distance Detailed Implementation
[0045] The preferred embodiments of the present invention will now be described in detail, examples of which are illustrated in the accompanying drawings. The same reference numerals are used as far as possible in the drawings and description to refer to the same or similar parts.
[0046] See Figure 2 , Figure 2 A schematic diagram of a host according to an embodiment of the present invention is shown. In various embodiments, the host 200 may be implemented as any smart device and / or computer device.
[0047] Storage circuit 202 is one or a combination of fixed or mobile random access memory (RAM), read-only memory (ROM), flash memory, hard disk, or any other similar device, and storage circuit 202 records multiple modules that can be executed by processor 204.
[0048] Processor 204 may be coupled to storage circuitry 202, and processor 204 may 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, and similar processor.
[0049] In one embodiment, the host 200 may be implemented as a tracking device capable of performing, for example, inside-out tracking and / or outside-in tracking. In one embodiment, the tracking device may be a wearable device such as a head-mounted display (HMD). In some embodiments, the HMD may be used to provide reality services (e.g., AR services, VR services, and / or similar services) by displaying corresponding visual content to the wearer, but the invention is not limited thereto.
[0050] In one embodiment, host 200 may be equipped with one or more (tracking) cameras for capturing images to perform tracking functions (e.g., inside-out tracking).
[0051] In an embodiment of the present invention, processor 204 may access modules stored in storage circuit 202 to implement the method for adjusting virtual objects provided in the present invention, which will be further discussed below.
[0052] See Figure 3 , Figure 3 A flowchart illustrating a method for adjusting a virtual object according to an embodiment of the present invention is shown. The method of this embodiment can be... Figure 2 The host 200 will be used to execute this, and the following will use... Figure 2 The components shown are used to illustrate Figure 3 Details of each step in the process. Furthermore, to better illustrate the concept of the invention, Figure 4A and Figure 4B It will be used as an instance, where Figure 4A A top view of the FOV of a virtual world and the FOV of a camera, according to an embodiment of the present invention, is shown. Figure 4B Show Figure 4A A side view of the FOV of the virtual world and the FOV of the camera.
[0053] In step S310, the processor 204 obtains the first field of view (FOV) F1 of the virtual world. In an embodiment, the virtual world may be a VR environment provided by the host 200 as a VR service to the user of the host 200, but the invention is not limited thereto. Figure 4A and Figure 4B In this context, the user (represented by user representative object 499) can only see the visual content within the first FOV F1, but cannot see the visual content outside the first FOV F1.
[0054] In step S320, the processor 204 obtains a second FOV F2 from the camera. In one embodiment, the camera may be a tracking camera mounted on the host 200 for capturing images of one or more tracked objects within the second FOV F2.
[0055] In some embodiments, the processor 204 may simply read system parameters / settings corresponding to the virtual world and the camera to obtain a first FOV F1 and a second FOV F2, but the present invention is not limited thereto.
[0056] In embodiments of the present invention, the first FOV F1 and the second FOV F2 are respectively characterized as a first viewpoint AN1 and a second viewpoint AN2. Figure 4A and Figure 4B In this embodiment, the first viewpoint AN1 may be larger than the second viewpoint AN2. However, in some other embodiments, the first viewpoint AN1 may be smaller than the second viewpoint AN2.
[0057] In step S330, the processor 204 determines the FOV ratio based on the first FOV F1 and the second FOV F2. In one embodiment, the processor 204 can obtain the FOV ratio by dividing the first viewpoint AN1 by the second viewpoint AN2, that is, the processor 204 obtains the FOV ratio by calculating AN1 / AN2.
[0058] In another embodiment, the first FOV F1 may include a sub-FOV having a size between the first FOV F1 and the second FOV F2, and the sub-FOV may be characterized as a third perspective (hereinafter referred to as AN3). In this case, the processor 204 can obtain the FOV ratio by dividing the third perspective AN3 by the second perspective AN2, that is, the processor 204 obtains the FOV ratio by calculating AN3 / AN2, but the present invention is not limited thereto.
[0059] exist Figure 4A and Figure 4B In the illustrated case, since the first FOV F1 (and its sub-FOVs) is greater than the second FOV F2, the FOV ratio can be a value greater than 1. However, in other embodiments where the first FOV F1 is less than the second FOV F2, the FOV ratio can be a value between 0 and 1.
[0060] In step S340, the processor 204 determines a first position of the first virtual object in the virtual world relative to a reference object in the virtual world, wherein the first virtual object corresponds to one of the entity objects within the second field of view (FOV) F2. Figure 4A and Figure 4B As an example, after the processor 204 has tracked an entity object within the second FOV F2, the processor 204 can determine the projection positions L11 and L11' of the corresponding virtual object O1 in the virtual world. As another example, after the processor 204 has tracked another entity object within the second FOV F2, the processor 204 can determine the projection positions L21 and L21' of the corresponding virtual object O2 in the virtual world.
[0061] In one embodiment, the reference object under consideration may include at least one reference plane in the virtual world. In this case, the processor 204 may obtain the distance between the first virtual object and each reference plane as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world.
[0062] exist Figure 4A In this context, the reference object considered can be the YZ plane P1. In this case, the processor 204 can obtain the X component of the coordinates of the first virtual object in the virtual world as the distance between the first virtual object and the YZ plane P1.
[0063] For example, processor 204 can obtain the X component of the coordinates of virtual object O1 in the virtual world as the distance X1 between virtual object O1 and YZ plane P1. In this case, distance X1 can be the first position of virtual object O1 in the virtual world relative to a reference object in the virtual world.
[0064] For another example, processor 204 can obtain the X component of the coordinates of virtual object O2 in the virtual world as the distance X2 between virtual object O2 and YZ plane P1. In this case, distance X2 can be the first position of virtual object O2 in the virtual world relative to a reference object in the virtual world.
[0065] exist Figure 4B In this case, the reference object can be the XZ plane P2. The processor 204 can obtain the Y component of the coordinates of the first virtual object in the virtual world as the distance between the first virtual object and the XZ plane P2.
[0066] For example, processor 204 can obtain the Y component of the coordinates of virtual object O1 in the virtual world as the distance Y1 between virtual object O1 and XZ plane P2. In this case, distance Y1 can be the first position of virtual object O1 in the virtual world relative to a reference object in the virtual world.
[0067] For another example, processor 204 can obtain the Y component of the coordinates of virtual object O2 in the virtual world as the distance Y2 between virtual object O2 and XZ plane P2. In this case, distance Y2 can be the first position of virtual object O2 in the virtual world relative to a reference object in the virtual world.
[0068] In other embodiments, the reference object may be the XY plane. In this case, the processor 204 may obtain the Z component of the coordinates of the first virtual object in the virtual world as the distance between the first virtual object and the XY plane.
[0069] For example, processor 204 can obtain the Z component of the coordinates of virtual object O1 in the virtual world as the distance between virtual object O1 and the XY plane. As another example, processor 204 can obtain the Z component of the coordinates of virtual object O2 in the virtual world as the distance between virtual object O2 and the XY plane.
[0070] In step S350, the processor 204 determines the second position of the first virtual object in the virtual world based on the first position and the FOV ratio. In one embodiment, the processor 204 obtains the second position by multiplying the FOV ratio by the distance between the first virtual object and each reference plane.
[0071] For example, in Figure 4A In this embodiment, processor 204 can multiply the FOV ratio by the distance X1 between the virtual object O1 and the YZ plane P1 to obtain a distance X1' used to characterize the second position of the virtual object O1. In this embodiment, the second position of the virtual object O1 can be represented by the position L12 to be displayed.
[0072] Similarly, processor 204 can multiply the FOV ratio by the distance X2 between the virtual object O2 and the YZ plane P1 to obtain a distance X2' for characterizing the second position of the virtual object O2. In an embodiment, the second position of the virtual object O2 can be represented by the position L22 to be displayed.
[0073] For another example, in Figure 4B In this embodiment, processor 204 can multiply the FOV ratio by the distance Y1 between the virtual object O1 and the XZ plane P2 to obtain a distance Y1' used to characterize the second position of the virtual object O1. In this embodiment, the second position of the virtual object O1 can be represented by the position L12' to be displayed.
[0074] Similarly, processor 204 can multiply the FOV ratio by the distance Y2 between the virtual object O2 and the XZ plane P2 to obtain a distance Y2' for characterizing a second position of the virtual object O2. In an embodiment, the second position of the virtual object O2 may be represented by the position L22' to be displayed.
[0075] In step S360, the processor 204 displays the first virtual object at a second location in the virtual world.
[0076] exist Figure 4AIn this process, processor 204 displays virtual objects O1 and O2 at the corresponding second positions. Specifically, processor 204 displays virtual object O1 at the display position L12 and virtual object O2 at the display position L22. That is, processor 204 displays virtual objects O1 and O2 at positions outward compared to the projection positions L11 and L21 (i.e., display positions L12 and L22) based on the FOV ratio, rather than displaying virtual objects O1 and O2 at the corresponding projection positions L11 and L21.
[0077] In this scenario, when the entity object corresponding to virtual object O1 moves to the vicinity of the boundary of the second FOV F2, virtual object O1 will correspondingly move to the vicinity of the boundary of the first FOV F1. Furthermore, when the entity object corresponding to virtual object O1 reaches the boundary of the second FOV F2 and leaves the second FOV F2, virtual object O1 will also reach the boundary of the first FOV F1 and naturally leave the first FOV F1, instead of... Figure 1A and Figure 1B As shown, it suddenly disappears somewhere in the first FOV F1. The same principle applies to virtual object O2.
[0078] Therefore, even if the corresponding physical object is located in the camera's blind spot, the user's visual experience can be prevented from being affected by the sudden disappearance of the virtual object.
[0079] exist Figure 4B In this configuration, processor 204 displays virtual object O1 at the display position L12' and virtual object O2 at the display position L22'. That is, processor 204 displays virtual objects O1 and O2 at positions outward from the projection positions L11' and L21' (i.e., display positions L12' and L22') based on the FOV ratio, rather than displaying virtual objects O1 and O2 at the corresponding projection positions L11' and L21'.
[0080] Therefore, the user's visual experience can be guaranteed for the reasons mentioned above.
[0081] In one embodiment, it is possible to Figure 4A and Figure 4B The results are combined to determine the display positions of virtual objects O1 and O2. For example, after obtaining... Figure 4A The distance X1' in the middle and Figure 4B After obtaining the distance Y1', the processor 204 can display the virtual object O1 at positions with distances X1' and Y1' respectively in its X and Y components. For another example, after obtaining... Figure 4A The distance X2' in the middle and Figure 4BAfter a distance Y2', the processor 204 can display the virtual object O2 at positions with distances X2' and Y2' respectively for its X and Y components. Therefore, the user's visual experience can be guaranteed for the above reasons.
[0082] In one embodiment, after obtaining the second position of the first virtual object, the processor 204 can further correct the depth of the second position of the first virtual object. Taking virtual object O1 as an example, if the second position of virtual object O1 is determined to be a specific position at which its X and Y components are distances from X1' and Y1', respectively, then the distance between this specific position and the user representative object 499 will be longer than the distance between the projection position L11 and the user representative object 499. That is, if virtual object O1 is directly displayed at the specific position, the distance between this specific position and the user representative object 499 will be slightly distorted.
[0083] Therefore, the processor 204 can correct the depth of this specific location based on the distance between the projection location L11 and the user representative object 499, so that the distance between the user representative object 499 and the corrected specific location (i.e., the corrected second location) is less distorted. In one embodiment, after the depth of the specific location is corrected, the distance between the corrected specific location and the user representative object 499 may be substantially the same as the distance between the projection location L11 and the user representative object 499, but the invention is not limited thereto.
[0084] From another perspective, the concept of this invention can be understood as establishing a mapping relationship between the first FOV F1 and the second FOV F2.
[0085] See Figure 5A and Figure 5B ,in Figure 5A A front view of a first FOV and a second FOV according to an embodiment of the present invention is shown, and Figure 5B Show Figure 5A The mapping between the first FOV and the second FOV is shown. Figure 5A and Figure 5B In this context, all positions in the second FOV F2 can be mapped to corresponding positions in the first FOV F1 (e.g., positions connected by dashed lines).
[0086] Therefore, for virtual objects O1 to O3, processor 204 will display virtual objects O1 to O3 at the corresponding second positions 511' to 513' (i.e., the mapped positions of the projection positions 511 to 513 in the first FOV F1), instead of displaying virtual objects O1 to O3 at the corresponding projection positions 511 to 513. Thus, when virtual objects O1 to O3 reach the boundary of the second FOV F2 and leave the second FOV F2, the user will see the virtual objects reach the boundary of the first FOV F1 and leave the first FOV F1. Therefore, even if the corresponding physical objects are located in the camera's blind spot, the user's visual experience is prevented from being affected by the sudden disappearance of virtual objects.
[0087] In one embodiment, the reference object under consideration may be the user representative object 499. In this case, when the processor 204 determines the first position of the first virtual object relative to the reference object in the virtual world, the processor 204 may obtain the multi-axis angle of the first virtual object relative to the user representative object 499 as the first position of the first virtual object relative to the reference object in the virtual world.
[0088] See Figure 6A and Figure 6B ,in Figure 6A Showing according to Figure 4A The virtual world's FOV and the camera's FOV from above, and Figure 6B Show Figure 6A A side view of the FOV of the virtual world and the FOV of the camera.
[0089] exist Figure 6A and Figure 6B In the process, the processor 204 can obtain the multi-axis angle MA1 of the virtual object O1 relative to the user representative object 499 as the first position of the virtual object O1 in the virtual world relative to the user representative object 499 (i.e., the reference object).
[0090] In one embodiment, the processor 204 obtains the second position by multiplying the FOV ratio by the multi-axis angle MA1. Figure 6A and Figure 6B In this context, it is assumed that the multi-axis angle MA1' is the result of the FOV ratio multiplied by the multi-axis angle MA1. In this case, the processor 204 can display the virtual object O1 at the position corresponding to the multi-axis angle MA1'. That is, the processor 204 displays the virtual object O1 at a position outward compared to the position to be projected, based on the FOV ratio, rather than displaying the virtual object O1 at the corresponding position to be projected.
[0091] In this scenario, when the entity object corresponding to virtual object O1 moves to the vicinity of the boundary of the second FOV F2, virtual object O1 will correspondingly move to the vicinity of the boundary of the first FOV F1. Furthermore, when the entity object corresponding to virtual object O1 reaches the boundary of the second FOV F2 and leaves the second FOV F2, virtual object O1 will also reach the boundary of the first FOV F1 and naturally leave the first FOV F1, rather than suddenly disappearing from somewhere within the first FOV F1.
[0092] See Figure 7 , Figure 7 A front view of a first FOV, a second FOV, and a sub-FOV according to an embodiment of the present invention is shown. Figure 7 In this context, the first FOV F1 may include a sub-FOV F3, wherein the sub-FOV F3 may be designed as a specific area within the first FOV F1 for some specific application.
[0093] In an embodiment, the size of the sub-FOV F3 may be between the first FOV F1 and the second FOV F2. As described above, the sub-FOV F3 can be characterized as the third perspective AN3. In this case, the processor 204 can obtain the FOV ratio by dividing the third perspective AN3 by the second perspective AN2, that is, the processor 204 obtains the FOV ratio by calculating AN3 / AN2, but the present invention is not limited thereto.
[0094] The processor 204 may use the FOV ratio (i.e., AN3 / AN2) to perform steps S340 to S360 accordingly based on the above teachings, and details can be found in the description in the above embodiments, which will not be repeated here.
[0095] and Figure 5A and Figure 5B Similar to the instruction, all positions in the second FOV F2 can be mapped to corresponding positions in the sub-FOV F3.
[0096] Therefore, for virtual objects O1 to O2, processor 204 will display virtual objects O1 to O2 at the corresponding second positions 711' to 712' (i.e., the mapping positions of the projection positions 711 to 712 in sub-FOV F3), instead of displaying virtual objects O1 to O3 at the corresponding projection positions 711 to 712.
[0097] The present invention also provides a computer-readable storage medium for performing a method for adjusting virtual objects. The computer-readable storage medium comprises a plurality of program instructions (e.g., setting program instructions and deploying program instructions) implemented therein. These program instructions can be loaded into and executed by host 200 to perform the aforementioned method for adjusting virtual objects and the functions of host 200.
[0098] In summary, embodiments of the present invention provide a mechanism for adjusting the display position of virtual objects based on the size relationship between a first FOV in the virtual world and a second FOV of the camera. Therefore, even if the corresponding physical object is located in the camera's blind spot, the user's visual experience is prevented from being affected by the sudden disappearance of the virtual object. Furthermore, when tracking physical objects (e.g., handheld controllers in a VR system), the host device does not need to rely on motion data provided by auxiliary devices on the physical object.
[0099] It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the invention without departing from the scope or spirit of the invention. In summary, this invention is intended to cover modifications and variations of the invention that fall within the scope of the following claims and their equivalents.
Claims
1. A method for adjusting virtual objects, applicable to a host computer, characterized in that, The method includes: Gain a first-person view of the virtual world; A second field of view of the camera is obtained, wherein the first entity object is located within the second field of view of the camera; The field-of-view ratio is determined based on the first field of view and the second field of view; The distance between the first virtual object and a reference plane in the virtual world is obtained as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world, or the multi-axis angle of the first virtual object relative to the user representative object is obtained as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world, wherein the first virtual object corresponds to the first entity object; The second position is obtained by multiplying the field-of-view ratio by the distance between the first virtual object and the reference plane, or by multiplying the field-of-view ratio by the multi-axis angle; and The first virtual object is displayed at the second location in the virtual world.
2. The method according to claim 1, wherein the first field of view and the second field of view are respectively characterized as a first viewing angle and a second viewing angle, and the step of determining the field of view ratio based on the first field of view and the second field of view includes: The field-of-view ratio is obtained by dividing the first viewpoint by the second viewpoint.
3. The method according to claim 1, wherein the first field of view includes a sub-field of view, the first field of view and the sub-field of view are respectively characterized as a first viewing angle and a third viewing angle, the second field of view is characterized as a second viewing angle, and the step of determining the field of view ratio based on the first field of view and the second field of view includes: The field-of-view ratio is obtained by dividing the third view by the second view.
4. The method according to claim 1, wherein the reference plane includes at least one of the YZ plane, XZ plane, and XY plane in the virtual world, and the method includes: In response to determining that the reference object is the YZ plane, the X component of the coordinates of the first virtual object in the virtual world is obtained as the distance between the first virtual object and the YZ plane; In response to determining that the reference object is the XZ plane, the Y component of the coordinates of the first virtual object in the virtual world is obtained as the distance between the first virtual object and the XZ plane; as well as In response to determining that the reference object is the XY plane, the Z component of the coordinates of the first virtual object in the virtual world is obtained as the distance between the first virtual object and the XY plane.
5. The method of claim 1, wherein prior to the step of displaying the first virtual object at the second location in the virtual world, the method further comprises: The depth at the second position is corrected.
6. The method according to claim 1, wherein the first field of view of the virtual world is larger than the second field of view of the camera.
7. A host computer, characterized in that, include: Storage circuitry stores program code; The processor, coupled to the storage circuitry, accesses and executes the program code: Gain a first-person view of the virtual world; A second field of view of the camera is obtained, wherein the first entity object is located within the second field of view of the camera; The field-of-view ratio is determined based on the first field of view and the second field of view; The distance between the first virtual object and a reference plane in the virtual world is obtained as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world, or the multi-axis angle of the first virtual object relative to the user representative object is obtained as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world, wherein the first virtual object corresponds to the first entity object; The second position can be obtained by multiplying the field-of-view ratio by the distance between the first virtual object and the reference plane, or by multiplying the field-of-view ratio by the multi-axis angle. as well as The first virtual object is displayed at the second location in the virtual world.
8. The host computer according to claim 7, wherein the first field of view and the second field of view are respectively characterized as a first perspective and a second perspective, and the processor performs: The field-of-view ratio is obtained by dividing the first viewpoint by the second viewpoint.
9. The host computer according to claim 7, wherein the first field of view includes a sub-field of view, the first field of view and the sub-field of view are respectively characterized as a first view and a third view, the second field of view is characterized as a second view, and the processor executes: The field-of-view ratio is obtained by dividing the third view by the second view.
10. The host according to claim 7, wherein the reference plane includes at least one of the YZ plane, XZ plane, and XY plane in the virtual world, and the processor performs: In response to determining that the reference object is the YZ plane, the X component of the coordinates of the first virtual object in the virtual world is obtained as the distance between the first virtual object and the YZ plane; In response to determining that the reference object is the XZ plane, the Y component of the coordinates of the first virtual object in the virtual world is obtained as the distance between the first virtual object and the XZ plane; as well as In response to determining that the reference object is the XY plane, the Z component of the coordinates of the first virtual object in the virtual world is obtained as the distance between the first virtual object and the XY plane.
11. The host according to claim 7, wherein before displaying the first virtual object at the second location in the virtual world, the processor further performs: The depth at the second position is corrected.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium records an executable computer program, which is loaded by a host computer to perform the following steps: Gain a first-person view of the virtual world; A second field of view of the camera is obtained, wherein the first entity object is located within the second field of view of the camera; The field-of-view ratio is determined based on the first field of view and the second field of view; The distance between the first virtual object and a reference plane in the virtual world is obtained as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world, or the multi-axis angle of the first virtual object relative to the user representative object is obtained as the first position of the first virtual object in the virtual world relative to the reference object in the virtual world, wherein the first virtual object corresponds to the first entity object; The second position can be obtained by multiplying the field-of-view ratio by the distance between the first virtual object and the reference plane, or by multiplying the field-of-view ratio by the multi-axis angle. as well as The first virtual object is displayed at the second location in the virtual world.
Citation Information
Patent Citations
Electronic device for providing augmented reality user interface and operating method thereof
CN113424142A
