Synchronous driving method of VR virtual character and VR equipment

By receiving and predicting the target node pose in the VR virtual role synchronization driver, the problem of network bandwidth occupation and delay when the virtual role is synchronized by multiple people is solved, and the synchronized driving effect is improved.

CN119414949APending Publication Date: 2025-02-11JUHAOKAN TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202410858240.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-28
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

In virtual reality (VR), when a virtual character is driven synchronously by multiple people, it takes up a large amount of network bandwidth due to network and hardware performance limitations, resulting in increased network latency and poor synchronous driving effect.

Method used

By receiving the target node poses sent by the second VR device and making predictions based on these poses, the amount of data that needs to be synchronized is reduced, and network bandwidth usage and latency are optimized.

Benefits of technology

It effectively reduces the network bandwidth usage, optimizes network latency, and improves the effect of virtual role synchronization drivers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119414949A_ABST
    Figure CN119414949A_ABST
Patent Text Reader

Abstract

The invention provides a synchronous driving method of a VR virtual character and VR equipment, which are used for optimizing network delay and improving a driving effect. Comprising the steps that based on received multiple poses, sent by second VR equipment, of all target articulation points of a second user within a specified duration, the poses of all the target articulation points at other moments within the specified duration are predicted, multiple predicted poses of all the target articulation points are obtained, and the number of the target articulation points is smaller than the preset number of all the articulation points; for any moment, determining a to-be-predicted joint point of a second user at any moment by utilizing the distance between the first virtual character and the second virtual character obtained according to the pose of the specified joint point of the first user at the moment and the pose of the specified joint point of the second user at the moment; and predicting the pose of the to-be-predicted joint point by using each pose of the target joint point to obtain the pose of the to-be-predicted joint point, and driving the second virtual character by using the pose of each joint point.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] In the virtual reality (VR) industry, the technology for driving virtual characters has always been the focus of attention. Traditional virtual character driving technology mainly relies on pre-made animation data or keyframe animation. With the continuous development of VR technology and the continuous expansion of application scenarios, some VR applications and platforms have begun to apply VR virtual character multiplayer synchronization functions. There are mainly scene applications such as VR game chat rooms, VR virtual meetings, and VR multiplayer remote collaboration. These applications try to attract users and improve user experience satisfaction by providing more realistic multiplayer VR synchronization and multiplayer virtual interaction experience.

[0003] However, this technology still faces some defects and limitations. Due to the limitations of network and hardware performance, when multiple VR virtual characters are driven synchronously, all the bone nodes of a virtual character need to be synchronized, which will occupy a large amount of network bandwidth and cause large network delays, resulting in poor synchronous driving effects for VR virtual characters. Summary of the invention

[0004] The present application provides a method for synchronously driving a VR virtual image and a VR device, which are used to achieve synchronous driving of VR virtual characters while reducing occupied network bandwidth, optimizing network latency, and improving the effect of synchronous driving of VR virtual characters.

[0005] In a first aspect, an embodiment of the present application provides a method for synchronously driving a VR virtual character applied to a first VR device, the method comprising:

[0006] After the first VR device is connected to the second VR device, multiple positions and postures of each target joint point of a second user using the second VR device within a specified time period are received from the second VR device, wherein the number of the target joint points is less than the preset number of each joint point, and the multiple positions and postures of any one target joint within the specified time period are the positions and postures corresponding to each time of the any one target joint point within the specified time period;

[0007] For any target joint point, based on multiple postures of the any target joint point within the specified time period, predict the posture of the target joint point at other moments within the specified time period to obtain multiple predicted postures of the target joint point;

[0008] For any moment, according to the position and posture of the designated joint point of the first user at the any moment, and the position and posture of the designated joint point among the target joint points of the second user at the any moment, the distance between the first virtual character and the second virtual character is obtained, wherein the first virtual character is a virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is a virtual character corresponding to the second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device; and,

[0009] Based on the distance, determining a joint point to be predicted of the second user at the any time, wherein the joint point to be predicted is a joint point whose position and posture need to be determined at the any time;

[0010] The posture of the joint point to be predicted is predicted using multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and the posture of each joint point is used to drive the second virtual character; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the various joint points include the target joint points and the joint points to be predicted.

[0011] A second aspect of the present application provides a first VR device, including a processor and a memory, wherein the processor and the memory are connected via a bus;

[0012] The memory stores a computer program, and the processor is configured to perform the following operations based on the computer program:

[0013] After the first VR device is connected to the second VR device, multiple positions and postures of each target joint point of a second user using the second VR device within a specified time period are received from the second VR device, wherein the number of the target joint points is less than the preset number of each joint point, and the multiple positions and postures of any one target joint within the specified time period are the positions and postures corresponding to each time of the any one target joint point within the specified time period;

[0014] For any target joint point, based on multiple postures of the any target joint point within the specified time period, predict the posture of the target joint point at other moments within the specified time period to obtain multiple predicted postures of the target joint point;

[0015] For any moment, according to the position and posture of the designated joint point of the first user at the any moment, and the position and posture of the designated joint point among the target joint points of the second user at the any moment, the distance between the first virtual character and the second virtual character is obtained, wherein the first virtual character is a virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is a virtual character corresponding to the second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device; and,

[0016] Based on the distance, determining a joint point to be predicted of the second user at the any time, wherein the joint point to be predicted is a joint point whose position and posture need to be determined at the any time;

[0017] The posture of the joint point to be predicted is predicted using multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and the posture of each joint point is used to drive the second virtual character; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the various joint points include the target joint points and the joint points to be predicted.

[0018] A third aspect of the present application provides a method for synchronously driving a VR virtual character, which is applied to a second VR device, and the method includes:

[0019] After the first VR device is connected to the second VR device, multiple postures of each target joint point of the second user using the second VR device within the specified time period are sent to the first VR device at specified intervals, so that the first VR device can predict the posture of any target joint point at other moments within the specified time period based on the multiple postures of any target joint point within the specified time period to obtain multiple predicted postures of the target joint point; and for any moment, according to the posture of the designated joint point of the first user at any moment and the posture of the designated joint point among the target joint points of the second user at any moment, obtain the distance between the first virtual character and the second virtual character; and based on the distance, determine the joint point to be predicted of the second user at any moment; predict the posture of the joint point to be predicted using the multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and drive the second virtual character using the posture of each joint point;

[0020] Among them, the number of target joints is less than the number of preset joints, and the multiple postures of any target joint within a specified time length are the postures corresponding to the any target joint at each moment within the specified time length; the first virtual character is a virtual character corresponding to a first user using the first VR device in a VR virtual scene, and the second virtual character is a virtual character corresponding to a second user using the second VR device in the VR virtual scene, and the designated joints of the first user are acquired by the first VR device; the joints to be predicted are joints whose postures need to be determined at any moment, the multiple target postures include the multiple postures and the multiple predicted postures, and the joints include the target joints and the joints to be predicted.

[0021] A fourth aspect of the present application provides a second VR device, including a processor and a memory, wherein the processor and the memory are connected via a bus;

[0022] The memory stores a computer program, and the processor is configured to perform the following operations based on the computer program:

[0023] After the first VR device is connected to the second VR device, multiple postures of each target joint point of the second user using the second VR device within the specified time period are sent to the first VR device at specified intervals, so that the first VR device can predict the posture of any target joint point at other moments within the specified time period based on the multiple postures of any target joint point within the specified time period to obtain multiple predicted postures of the target joint point; and for any moment, according to the posture of the designated joint point of the first user at any moment and the posture of the designated joint point among the target joint points of the second user at any moment, obtain the distance between the first virtual character and the second virtual character; and based on the distance, determine the joint point to be predicted of the second user at any moment; predict the posture of the joint point to be predicted using the multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and drive the second virtual character using the posture of each joint point;

[0024] Among them, the number of target joints is less than the number of preset joints, and the multiple postures of any target joint within a specified time length are the postures corresponding to the any target joint at each moment within the specified time length; the first virtual character is a virtual character corresponding to a first user using the first VR device in a VR virtual scene, and the second virtual character is a virtual character corresponding to a second user using the second VR device in the VR virtual scene, and the designated joints of the first user are acquired by the first VR device; the joints to be predicted are joints whose postures need to be determined at any moment, the multiple target postures include the multiple postures and the multiple predicted postures, and the joints include the target joints and the joints to be predicted.

[0025] According to a fifth aspect provided by an embodiment of the present invention, a computer storage medium is provided, wherein the computer storage medium stores a computer program, and the computer program is used to execute the method as described in the first aspect and / or the second aspect.

[0026] In the above-mentioned embodiment of the present application, after the first VR device establishes a connection with the second VR device, multiple postures of each target joint point of the second user who uses the second VR device within a specified time period are received from the second VR device, wherein the number of target joint points is less than the preset number of joint points; and for any target joint point, based on the multiple postures of any target joint point within the specified time period, the posture of the target joint point at other moments within the specified time period is predicted to obtain multiple predicted postures of the target joint point; for any moment, according to the posture of the designated joint point of the first user at any moment, and the posture of the designated joint point among the target joint points of the second user at any moment, the distance between the first virtual character and the second virtual character is obtained; and based on the distance, the to-be-predicted joint point of the second user whose posture needs to be determined at any moment is determined; then the multiple postures of the target joint point and the multiple predicted postures are used to predict the posture of the to-be-predicted joint point to obtain the posture of the to-be-predicted joint point, and the posture of each joint point is used to drive the second virtual character; wherein the joint points include the target joint point and the to-be-predicted joint point. Therefore, the number of target joint points in the embodiment of the present application is less than the number of preset joint points, so the amount of data received in the embodiment of the present application is small, and the postures of all joint points are not required to synchronously drive the corresponding virtual characters. Therefore, the embodiment of the present application reduces the occupancy of network bandwidth, optimizes network latency, and improves the effect of synchronous driving of VR virtual characters. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0028] Figure 1 The following is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0029] Figure 2 One of the flow charts of the synchronous driving method of the VR virtual character provided in the embodiment of the present application is exemplarily shown;

[0030] Figure 3 A schematic diagram of a process for determining multiple predicted poses of target joint points provided by an embodiment of the present application is exemplarily shown;

[0031] Figure 4 The schematic diagram of the process of determining each interpolation factor between any two adjacent poses of the frame provided in the embodiment of the present application is exemplarily shown;

[0032] Figure 5 The schematic diagram of the process of determining the interpolation factors between any two adjacent frames of any target joint point provided by the embodiment of the present application is exemplarily shown;

[0033] Figure 6 The schematic diagram of the process of determining the predicted posture corresponding to any two adjacent postures of the frames provided in the embodiment of the present application is exemplarily shown;

[0034] Figure 7 A schematic diagram showing various joint points provided in the embodiments of the present application is exemplified;

[0035] Figure 8 The second flowchart of the synchronous driving method of the VR virtual character provided in the embodiment of the present application is exemplarily shown;

[0036] Fig. 9 A schematic diagram of a synchronous driving device for a VR virtual character provided in an embodiment of the present application is exemplarily shown;

[0037] Fig.10 A schematic diagram of an electronic device provided by an embodiment of the present application is exemplarily shown. DETAILED DESCRIPTION

[0038] In order to make the purpose, implementation mode and advantages of the present application clearer, the exemplary implementation mode of the present application will be clearly and completely described below in conjunction with the drawings in the exemplary embodiments of the present application. Obviously, the described exemplary embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0039] Based on the exemplary embodiments described in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the claims attached to this application. In addition, although the disclosure in this application is introduced according to one or several exemplary examples, it should be understood that each aspect of the disclosure can also constitute a complete implementation method separately.

[0040] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.

[0041] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover but not exclude inclusion, for example, a product or device comprising a series of components is not necessarily limited to those components clearly listed, but may include other components not clearly listed or inherent to these products or devices.

[0042] The term "module" as used in this application refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic or combination of hardware and / or software code that is capable of performing the functions associated with that element.

[0043] Before introducing the synchronous driving method of the VR virtual character in the embodiment of the present application, the terms in the embodiment of the present application are explained first:

[0044] Inverse Kinematics (IK): is an algorithm that can solve the joint angles of an object based on its end position and orientation, thereby achieving motion control. For example, it can determine the position of a child node first, and then inversely deduce the position of its n-level parent node on the node chain, thereby determining the method of the entire node chain.

[0045] The idea of ​​the embodiments of the present application is summarized below.

[0046] In the prior art, when multiple VR characters are synchronously driven, all the skeleton nodes of a virtual character need to be synchronized, which will occupy a large amount of network bandwidth and cause a large network delay, resulting in a poor effect of synchronous driving of VR characters. The present application proposes a synchronous driving method for a VR virtual image, which includes receiving multiple postures of target joints of a second user using the second VR device within a specified time period sent by the second VR device after a first VR device is connected to the second VR device, wherein the number of target joints is less than the number of preset joints; and predicting the posture of the target joint at other moments within the specified time period for any target joint based on the multiple postures of the target joint within the specified time period to obtain multiple predicted postures of the target joint; obtaining the distance between the first virtual character and the second virtual character at any moment according to the posture of the designated joint of the first user at any moment and the posture of the designated joint among the target joints of the second user at any moment; and determining the to-be-predicted joint of the second user whose posture needs to be determined at any moment based on the distance; then predicting the posture of the to-be-predicted joint using the multiple postures of the target joint and the multiple predicted postures to obtain the posture of the to-be-predicted joint, and driving the second virtual character using the posture of each joint; wherein the joints include the target joint and the to-be-predicted joint. Therefore, the number of target joint points in the embodiment of the present application is less than the number of preset joint points, so the amount of data received in the embodiment of the present application is small, and the postures of all joint points are not required to synchronously drive the corresponding virtual characters. Therefore, the embodiment of the present application reduces the occupancy of network bandwidth, optimizes network latency, and improves the effect of synchronous driving of VR virtual characters.

[0047] like Figure 1 As shown, an application scenario of a synchronous driving method for a VR virtual character, the application scenario includes a VR device 101, a VR device 102 and a VR device 103. After the connection is established between the VR devices in the embodiment of the present application, each two VR devices will be synchronously driven with each other. That is, the VR device 101 will send the position and posture of the target joint points of its own user to the VR device 102 and the VR device 103 for synchronization. Similarly, the VR device 102 will send the position and posture of the target joint points of its own user to the VR device 101 and the VR device 103 for synchronization. And the VR device 103 will send the position and posture of the target joint points of its own user to the VR device 101 and the VR device 102 for synchronization, but since the operation of each second VR device is the same, the embodiment of the present application takes the VR device 101 as the first VR device and the VR device 102 as the second VR device as an example to introduce the synchronous driving method of the VR virtual character in the embodiment of the present application.

[0048] In a possible application scenario, after VR device 101 establishes a connection with VR device 102, VR device 102 sends multiple postures of each target joint point of its own user within the specified time period to VR device 101 at specified time intervals, and VR device 101 receives the multiple postures of each target joint point within the specified time period sent by VR device 102, wherein the number of target joint points is less than the preset number of joint points, and the multiple postures of any target joint within the specified time period are the postures corresponding to any one of the target joint points at each moment within the specified time period. The VR device 101 predicts the posture of any target joint point at other moments within the specified time period based on the multiple postures of the any target joint point within the specified time period to obtain multiple predicted postures of the target joint point; then, for any moment, the VR device 101 obtains the distance between the first virtual character and the second virtual character according to the posture of the designated joint point of the first user at the any moment and the posture of the designated joint point among the target joint points of the second user at the any moment, wherein the first virtual character is the virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is the virtual character corresponding to the first user using the second VR device in the VR virtual scene. The virtual character corresponding to the second user of the device in the VR virtual scene, and the designated joint points of the first user are acquired by the first VR device; and based on the distance, the joint points to be predicted of the second user at any one moment are determined, wherein the joint points to be predicted are the joint points whose posture needs to be determined at any one moment; finally, the VR device 101 predicts the posture of the joint points to be predicted using multiple target postures of the target joint points, obtains the posture of the joint points to be predicted, and drives the second virtual character using the postures of each joint point; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the each joint point includes the target joint point and the joint point to be predicted.

[0049] in, Figure 1 The VR devices 101, 102 and 103 can exchange information through a communication network, wherein the communication method adopted by the communication network can be divided into a wireless communication method or a wired communication method.

[0050] Exemplarily, VR device 101 can access the network through cellular mobile communication technology to communicate with VR device 102 and VR device 103, wherein the cellular mobile communication technology, for example, includes fifth generation mobile communication (5th Generation Mobile Networks, 5G) technology.

[0051] Optionally, VR device 101 can access the network through short-range wireless communication to communicate with VR device 102 and VR device 103, wherein the short-range wireless communication method, for example, includes Wireless Fidelity (Wi-Fi) technology.

[0052] Among them, only three VR devices are described in detail in the description of this application, but those skilled in the art should understand that the three VR devices shown are intended to represent the operation of the VR devices involved in the technical solution of this application. It does not imply any restrictions on the number, type or location of VR devices. It should be noted that if additional modules are added to the illustrated environment or individual modules are removed from it, the underlying concepts of the example embodiments of this application will not be changed.

[0053] It should be noted that the synchronous driving method of VR virtual characters proposed in this application is not only applicable to Figure 1 The application scenario shown is also applicable to any device that can generate screen recording videos.

[0054] The following describes the synchronous driving method of a VR virtual character in an exemplary implementation of the present application in combination with the application scenarios described above and with reference to the accompanying drawings. It should be noted that the above application scenarios are only shown to facilitate understanding of the methods and principles of the present application, and the implementation of the present application is not limited in this respect.

[0055] The following is an introduction to the synchronous driving method of the VR virtual character in the embodiment of the present application in conjunction with the accompanying drawings. Figure 2 FIG. 1 is a flow chart of a synchronous driving method for a VR virtual character, which may specifically include the following steps:

[0056] Step 201: After the first VR device is connected to the second VR device, the second VR device sends, at specified intervals, to the first VR device a plurality of positions and postures of each target joint point of a second user using the second VR device within the specified time period; wherein the number of the target joint points is less than the preset number of each joint point, and the plurality of positions and postures of any one target joint within the specified time period are the positions and postures corresponding to each moment of the any one target joint point within the specified time period;

[0057] The target joint points in the embodiment of the present application are the head joint points, the left hand joint points and the right hand joint points. The posture of the head joint points in the embodiment of the present application is obtained based on the second VR device, the posture of the left hand joint points is obtained through the left hand handle, and the posture of the right hand joint points is obtained through the right hand handle. However, the number of target joint points and which specific joint points are not limited in the embodiment of the present application. The target joint points in the embodiment of the present application can be set according to the specific actual situation.

[0058] Moreover, the specified time length in the embodiment of the present application is 1 second, but the embodiment of the present application does not limit the specified time length. The specific value of the specified time length in the embodiment of the present application can be set according to actual conditions.

[0059] Step 202: after receiving the multiple positions and postures of each target joint point of the second user using the second VR device within a specified time period sent by the second VR device, the first VR device predicts the position and posture of any target joint point at other moments within the specified time period based on the multiple positions and postures of the any target joint point within the specified time period, thereby obtaining multiple predicted positions and postures of the target joint point;

[0060] Next, the method for determining multiple predicted positions of target joint points in the embodiment of the present application is introduced. Figure 3 As shown, it is a flowchart of a method for determining multiple predicted poses of target joint points, which may specifically include the following steps:

[0061] Step 301: for any target joint point, according to a preset VR rendering frame rate and a receiving frame rate of the first VR device, determine each interpolation factor between any two adjacent frames of the any target joint point, wherein the receiving frame rate is a frame rate at which the first VR device receives the pose of the target joint point sent by the second VR device, wherein any interpolation factor is used to represent the weight of the pose of the latter frame of the two adjacent frames, and each interpolation factor between the any two adjacent frames of poses is different;

[0062] The receiving frame rate of the first VR device in the embodiment of the present application can be directly obtained. Next, the method for determining the interpolation factors between any two adjacent poses in step 301 is introduced. Figure 4 As shown, it is a schematic diagram of a process for determining each interpolation factor between any two adjacent poses of the frames, which may specifically include the following steps:

[0063] Step 401: Divide the VR rendering frame rate by the receiving frame rate to obtain a target total number, and divide the target total number by the number of target joints to obtain a target number of interpolation factors between any two adjacent poses of any target joint; wherein the target total number is the total number of interpolation factors between any two adjacent poses of each target joint; the target number of interpolation factors between any two adjacent poses of any target joint can be obtained by formula (1):

[0064]

[0065] Among them, N is the target number of interpolation factors between any two adjacent poses of any target joint point, F1 is the VR rendering frame rate, F2 is the receiving frame rate, and n is the number of the target joint points.

[0066] Step 402: Determine the reciprocal of the VR rendering frame rate as an interpolation interval, wherein the interpolation interval is used to represent the difference between any two adjacent interpolation factors; wherein the interpolation interval can be obtained by formula (2):

[0067]

[0068] Wherein, T is the interpolation interval.

[0069] Step 403: According to the target number of interpolation factors, the receiving frame rate and the interpolation interval, interpolation factors between any two adjacent frames of any target joint point are obtained.

[0070] Therefore, in the embodiment of the present application, the interpolation factor is determined by the base VR rendering frame rate and the receiving frame rate of the first VR device to ensure that the frame rate corresponding to each predicted posture can meet the VR rendering frame rate, so as to ensure high smoothness and low dizziness of the picture in the virtual scene.

[0071] Next, the method for determining the interpolation factors between any two adjacent frames of any target joint point in step 403 is introduced. Figure 5 As shown, it is a schematic diagram of a process for determining each interpolation factor between any two adjacent poses of any target joint point, which may specifically include the following steps:

[0072] Step 501: multiplying a preset initial scaling factor by the interpolation interval to obtain a first product, and adding the first product to the inverse of the received frame rate to obtain the interpolation factor; wherein the interpolation factor can be obtained by formula (3):

[0073]

[0074] Wherein, m is the initial scaling factor, and t is the interpolation factor.

[0075] The preset initial zoom factor in the embodiment of the present application is 1, but the initial zoom factor in the embodiment of the present application is not limited, and the specific value of the initial zoom factor is set according to actual conditions.

[0076] Step 502: determine whether the current number of interpolation factors between any two adjacent poses of any target joint point is the target number, if not, execute step 503, if yes, end;

[0077] Step 503: Add the initial zoom factor to a preset value to obtain an updated zoom factor, and determine the updated zoom factor as the initial zoom factor, then return to step 501.

[0078] The preset numerical value in the embodiment of the present application is 1, but the specific value of the preset numerical value in the embodiment of the present application is not limited. The specific value of the preset numerical value in the embodiment of the present application can be set according to actual conditions.

[0079] Step 302: for any interpolation factor among the interpolation factors between any two adjacent poses of the frames, use the any interpolation factor to perform interpolation processing on the poses of the two adjacent poses of the frames to obtain a predicted pose corresponding to the poses of the two adjacent poses of the frames;

[0080] like Figure 6 As shown, it is a schematic diagram of a process for determining the predicted pose corresponding to any two adjacent poses of the frames, which may specifically include the following steps:

[0081] Step 601: determining interpolation weights corresponding to any one of the interpolation factors, wherein the interpolation weights are interpolation weights of the postures of any two adjacent frames;

[0082] In the embodiment of the present application, any one of the interpolation factors is determined as the weight of the posture of the latter frame among the postures of any two adjacent frames, and the difference between the preset value and the interpolation factor is determined as the weight of the posture of the previous frame among the postures of any two adjacent frames.

[0083] The preset value in the embodiment of the present application is 1. If the interpolation factor is 0.2, the weight of the posture of the latter frame in any two adjacent frames is determined to be 0.2, and the weight of the posture of the previous frame in any two adjacent frames is determined to be 0.8.

[0084] Step 602: interpolate the postures of the two adjacent frames using the interpolation weights to obtain a predicted posture corresponding to the postures of the two adjacent frames corresponding to the interpolation factors.

[0085] The posture in the embodiment of the present application includes position and rotation angle. The predicted posture corresponding to the posture of any two adjacent frames corresponding to the interpolation factor can be obtained by formula (4):

[0086]

[0087] in, is the predicted pose corresponding to the pose of any two adjacent frames corresponding to the interpolation factor t1, P1 is the pose of the previous frame among the poses of any two adjacent frames, P2 is the pose of the next frame among the poses of any two adjacent frames, and t1 is the interpolation factor.

[0088] Step 303: Obtain multiple predicted poses of the target joint point according to the predicted poses corresponding to the poses of two adjacent frames of any one of the target joint points.

[0089] In the embodiment of the present application, the predicted poses corresponding to the poses of two adjacent frames of any target joint point are determined as the predicted pose of the target joint point.

[0090] Therefore, the position and posture at other times are predicted by linear interpolation, which ensures the accuracy of the predicted position and posture and improves the driving effect of the virtual character.

[0091] In an embodiment of the present application, another method for determining multiple predicted positions and poses of a target joint point is provided. In one embodiment, multiple predicted positions and poses of a target joint point are determined by the following method:

[0092] Divide the VR rendering frame rate by the received frame rate to obtain the total number of targets, divide the total number of targets by the number of target joints to obtain the number of predicted poses between any two adjacent frames of any target joint, input the poses of any two adjacent frames of the target joint and the number of predicted poses into a pre-trained pose prediction model to obtain multiple predicted poses for any target joint.

[0093] The posture prediction model in the embodiment of the present application can be set according to the specific actual situation, and the embodiment of the present application does not limit the posture prediction model.

[0094] Step 203: the first VR device obtains, for any moment, the distance between the first virtual character and the second virtual character according to the position of the designated joint point of the first user at the any moment and the position of the designated joint point among the target joint points of the second user at the any moment, wherein the first virtual character is a virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is a virtual character corresponding to the second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device;

[0095] In the embodiment of the present application, the user is bound to the virtual character through the following VRIK: importing a virtual image role model, which has a normal standard joint structure and hierarchy; creating a VRIK controller, referencing and skeletal mapping and binding assignment of the main joints of the virtual character model; binding the virtual character model to the user's target joints, that is, binding the head, left hand and right hand to the head joints, left hand joints and right hand joints of the virtual character model through VRIK.

[0096] The posture in the embodiment of the present application includes posture and rotation angle.

[0097] In one embodiment, step 203 can be specifically implemented as follows: according to the position of the designated joint point of the first user at any time, and the position of the designated joint point among the target joint points of the second user at any time, the actual distance between the first user and the second user is obtained, and the target virtual distance corresponding to the actual distance between the first user and the second user is determined by using the preset correspondence between the actual distance and the virtual distance, and the target virtual distance is determined as the distance between the first virtual character and the second virtual character. The actual distance between the first user and the second user can be obtained by formula (5):

[0098]

[0099] Among them, d is the actual distance between the first user and the second user, x1 is the horizontal position coordinate of the designated joint point of the first user at any time, y1 is the vertical position coordinate of the designated joint point of the first user at any time, z1 is the vertical position coordinate of the designated joint point of the first user at any time, x2 is the horizontal position coordinate of the designated joint point of the second user at any time, y2 is the vertical position coordinate of the designated joint point of the second user at any time, and z2 is the vertical position coordinate of the designated joint point of the second user at any time.

[0100] The designated joint points in the embodiment of the present application are head joint points, but the designated joint points in the embodiment of the present application are not limited. The designated joint points in the embodiment of the present application can be set according to specific actual conditions.

[0101] Another method for determining the distance between a first virtual character and a second virtual character is also provided in an embodiment of the present application. In one embodiment, the actual distance between the first user and the second user is obtained based on the position of a designated joint point of the first user at any time and the position of the designated joint point among the target joint points of the second user at any time, and the actual distance is scaled using a preset scaling factor to obtain the distance between the first virtual character and the second virtual character.

[0102] Step 204: The first VR device determines, based on the distance, a joint point to be predicted of the second user at the any time, wherein the joint point to be predicted is a joint point whose position and posture need to be determined at the any time;

[0103] In one embodiment, step 204 can be specifically implemented in the following three ways:

[0104] Method 1: if the distance is less than a first preset distance, determining other joint points among the preset joint points except the target joint point as the joint points to be predicted;

[0105] The first preset distance in the embodiment of the present application is 5m, that is, all joint points are preset in the embodiment of the present application, for example, Figure 7 As shown, it is a schematic diagram of each joint point, and the circles in the figure are each joint point. However, the joint points are not limited in the embodiment of the present application, and each joint point can be set according to the specific actual situation.

[0106] Method 2: If the distance is greater than a second preset distance, it is determined that there is no joint point to be predicted;

[0107] The second preset distance in the implementation of this application is 10m, but the second preset distance is not limited. The second preset distance in the embodiment of this application can be set according to the specific actual situation. In this embodiment, there is no joint point to be predicted. In this case, only the target joint point needs to be used to drive the second virtual character.

[0108] Method three: If the distance is greater than the first preset distance and less than the second preset distance, the specified joint point is determined as the joint point to be predicted, wherein the first preset distance is less than the second predicted distance, and the number of the specified joint points is less than the number of other joint points.

[0109] The designated joint points in the embodiment of the present application are pre-set joint points, and the number of other joint points can be halved, that is, every other joint point is determined as a designated joint point. However, the embodiment of the present application does not limit the designated joint points, and the designated joint points in the embodiment of the present application can be set according to specific actual conditions.

[0110] Therefore, in the embodiments of the present application, the detail level of the virtual character is adjusted under different distance conditions to improve performance and reduce resource consumption.

[0111] An embodiment of the present application also provides a method for predicting joint points. In one embodiment, a correspondence between a pre-set distance and a joint point to be predicted is used to determine a joint point to be predicted corresponding to the distance, wherein the distance is the distance between the first virtual character and the second virtual character.

[0112] Step 205: The first VR device predicts the posture of the joint point to be predicted using the multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and uses the posture of each joint point to drive the second virtual character; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the each joint point includes the target joint point and the joint point to be predicted.

[0113] In one embodiment, step 205 may be specifically implemented as follows: inputting the position and posture of the target joint point and the joint point to be predicted into an inverse kinematics algorithm to obtain the position and posture of the joint point to be predicted.

[0114] The inverse kinematics algorithm in the embodiment of the present application is a prior art algorithm, and the embodiment of the present application will not be described in detail here.

[0115] In order to further understand the synchronous driving method of the VR virtual character in the embodiment of the present application, Figure 8 FIG. 1 is a flow chart of a synchronous driving method for a VR virtual character, which may specifically include the following steps:

[0116] Step 801: after the first VR device is connected to the second VR device, multiple positions of target joints of a second user using the second VR device within a specified time period are received from the second VR device;

[0117] The number of the target joint points is less than the number of preset joint points, and the multiple postures of any one of the target joints within a specified time period are the postures corresponding to each moment of the any one of the target joint points within the specified time period;

[0118] Step 802: for any target joint point, determine interpolation factors between any two adjacent poses of the any target joint point according to a preset VR rendering frame rate and a receiving frame rate of the first VR device;

[0119] Among them, the receiving frame rate is the frame rate at which the first VR device receives the posture of the target joint point sent by the second VR device, wherein any interpolation factor is used to represent the weight of the posture of the latter frame in the two adjacent frames, and the interpolation factors between the any two adjacent frames are different.

[0120] Step 803: for any interpolation factor among the interpolation factors between any two adjacent poses of the frames, use the any interpolation factor to perform interpolation processing on the poses of the two adjacent poses of the frames to obtain a predicted pose corresponding to the poses of the two adjacent poses of the frames;

[0121] Step 804: obtaining a plurality of predicted poses of the target joint point according to the predicted poses corresponding to the poses of two adjacent frames of the arbitrary target joint point;

[0122] Step 805: for any moment, according to the position and posture of the designated joint point of the first user at the any moment, and the position and posture of the designated joint point among the target joint points of the second user at the any moment, obtain the distance between the first virtual character and the second virtual character;

[0123] The first virtual character is a virtual character corresponding to a first user using the first VR device in a VR virtual scene, and the second virtual character is a virtual character corresponding to a second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device;

[0124] Step 806: if the distance is less than the first preset distance, determining other joint points among the preset joint points except the target joint point as the joint points to be predicted;

[0125] Step 807: If the distance is greater than the second preset distance, it is determined that there is no joint point to be predicted;

[0126] Step 808: If the distance is greater than the first preset distance and less than the second preset distance, determining the designated joint point as the joint point to be predicted, wherein the first preset distance is less than the second predicted distance, and the number of the designated joint points is less than the number of the other joint points;

[0127] Step 809: input the position and posture of the target joint point and the joint point to be predicted into an inverse kinematics algorithm to obtain the position and posture of the joint point to be predicted, and use the position and posture of each joint point to drive the second virtual character.

[0128] Based on the same inventive concept, the synchronous driving method of the VR virtual character disclosed above can also be implemented by a synchronous driving device of the VR virtual character. The effect of the synchronous driving device of the VR virtual character is similar to that of the aforementioned method, and will not be repeated here.

[0129] Fig. 9 The figure is a schematic diagram of the structure of a synchronous driving device for a VR virtual character according to an embodiment of the present disclosure.

[0130] like Fig. 9 As shown, the synchronous driving device 900 of the VR virtual character of the present disclosure may include a receiving module 910, a posture prediction module 920, a distance determination module 930, a joint point determination module to be predicted 940 and a driving module 950.

[0131] The receiving module 910 is used to receive, after the first VR device is connected to the second VR device, a plurality of positions and postures of each target joint point of a second user using the second VR device within a specified time period, which are sent by the second VR device, wherein the number of the target joint points is less than the preset number of each joint point, and the plurality of positions and postures of any one target joint within the specified time period are the positions and postures corresponding to each time of the any one target joint point within the specified time period;

[0132] A posture prediction module 920 is used to predict the posture of any target joint point at other moments within the specified time period based on the multiple postures of the any target joint point within the specified time period, so as to obtain multiple predicted postures of the target joint point;

[0133] The distance determination module 930 is used to obtain the distance between the first virtual character and the second virtual character at any moment according to the position of the designated joint point of the first user at the any moment and the position of the designated joint point among the target joint points of the second user at the any moment, wherein the first virtual character is a virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is a virtual character corresponding to the second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device; and,

[0134] A to-be-predicted joint point determination module 940, configured to determine, based on the distance, a to-be-predicted joint point of the second user at the any time, wherein the to-be-predicted joint point is a joint point whose position and posture need to be determined at the any time;

[0135] The driving module 950 is used to predict the posture of the joint point to be predicted by using the multiple target postures of the target joint point, obtain the posture of the joint point to be predicted, and drive the second virtual character by using the posture of each joint point; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the each joint point includes the target joint point and the joint point to be predicted.

[0136] In one embodiment, the posture prediction module 920 is specifically used to:

[0137] For any target joint point, determine the interpolation factors between any two adjacent poses of the target joint point according to the preset VR rendering frame rate and the receiving frame rate of the first VR device, wherein the receiving frame rate is the frame rate at which the first VR device receives the pose of the target joint point sent by the second VR device, wherein any interpolation factor is used to represent the weight of the pose of the latter frame of the two adjacent poses, and the interpolation factors between the two adjacent poses are different; and,

[0138] For any interpolation factor among the interpolation factors between any two adjacent poses of the frames, use the any interpolation factor to perform interpolation processing on the adjacent poses of the any two frames to obtain a predicted pose corresponding to the adjacent poses of the any two frames;

[0139] According to the predicted poses corresponding to the poses of two adjacent frames of any one of the target joint points, a plurality of predicted poses of the target joint point are obtained.

[0140] In one embodiment, the posture prediction module 920 performs the step of determining the interpolation factors between any two adjacent postures of any target joint point according to the preset VR rendering frame rate and the receiving frame rate of the first VR device, specifically for:

[0141] Dividing the VR rendering frame rate by the receiving frame rate to obtain a target total number, and dividing the target total number by the number of target joints to obtain a target number of interpolation factors between any two adjacent poses of any one of the target joints, wherein the target total number is the total number of interpolation factors between any two adjacent poses of each target joint; and

[0142] Determine the reciprocal of the VR rendering frame rate as an interpolation interval, wherein the interpolation interval is used to represent the difference between any two adjacent interpolation factors;

[0143] According to the target number of interpolation factors, the receiving frame rate and the interpolation interval, interpolation factors between any two adjacent frames of any target joint point are obtained.

[0144] In one embodiment, the posture prediction module 920 performs the interpolation factors between any two adjacent postures of any target joint point according to the target number of interpolation factors, the received frame rate and the interpolation interval, specifically for:

[0145] Multiplying a preset initial scaling factor by the interpolation interval to obtain a first product, and adding the first product to the inverse of the received frame rate to obtain the interpolation factor;

[0146] Determine whether the current number of interpolation factors between any two adjacent frames of any target joint point is the target number;

[0147] If not, add the initial scaling factor to the preset value to obtain an updated scaling factor, and after determining the updated scaling factor as the initial scaling factor, return to the step of multiplying the preset initial scaling factor by the interpolation interval to obtain the first product, until the current number of interpolation factors is the target number, then end.

[0148] In one embodiment, the posture prediction module 920 executes any one of the interpolation factors between the postures of any two adjacent frames, and uses the any one interpolation factor to interpolate the postures of the two adjacent frames to obtain the predicted posture corresponding to the postures of the two adjacent frames, which is specifically used for:

[0149] According to any one of the interpolation factors, determining interpolation weights corresponding to the interpolation factor, wherein the interpolation weights are interpolation weights of the postures of the two adjacent frames;

[0150] The interpolation weights are used to perform interpolation processing on the adjacent postures of the arbitrary two frames to obtain a predicted posture corresponding to the adjacent postures of the arbitrary two frames corresponding to the interpolation factors.

[0151] In one embodiment, the to-be-predicted joint point determination module 940 is specifically configured to:

[0152] If the distance is less than the first preset distance, determining other joint points among the preset joint points except the target joint point as the joint points to be predicted;

[0153] If the distance is greater than a second preset distance, it is determined that there is no joint point to be predicted;

[0154] If the distance is greater than the first preset distance and less than the second preset distance, the designated joint point is determined as the joint point to be predicted, wherein the first preset distance is less than the second predicted distance, and the number of the designated joint points is less than the number of other joint points.

[0155] In one embodiment, the driving module 950 is specifically used for:

[0156] The position and posture of the target joint point and the joint point to be predicted are input into an inverse kinematics algorithm to obtain the position and posture of the joint point to be predicted.

[0157] Based on the same inventive concept, the embodiment of the present application also provides another synchronous driving device for a VR virtual character. The device includes a sending module, wherein:

[0158] A sending module, for sending, after the first VR device is connected to the second VR device, multiple postures of each target joint of the second user using the second VR device within a specified time period to the first VR device at intervals of a specified time period, so that the first VR device can predict the posture of any target joint at other moments within the specified time period based on the multiple postures of any target joint within the specified time period, and obtain multiple predicted postures of the target joint; and for any moment, according to the posture of the designated joint of the first user at the any moment, and the posture of the designated joint among the target joints of the second user at the any moment, obtain the distance between the first virtual character and the second virtual character; and based on the distance, determine the joint to be predicted of the second user at the any moment; predict the posture of the joint to be predicted using the multiple target postures of the target joint to obtain the posture of the joint to be predicted, and drive the second virtual character using the posture of each joint;

[0159] Among them, the number of target joints is less than the number of preset joints, and the multiple postures of any target joint within a specified time length are the postures corresponding to the any target joint at each moment within the specified time length; the first virtual character is a virtual character corresponding to a first user using the first VR device in a VR virtual scene, and the second virtual character is a virtual character corresponding to a second user using the second VR device in the VR virtual scene, and the designated joints of the first user are acquired by the first VR device; the joints to be predicted are joints whose postures need to be determined at any moment, the multiple target postures include the multiple postures and the multiple predicted postures, and the joints include the target joints and the joints to be predicted.

[0160] After introducing a method and device for synchronously driving a VR virtual character according to an exemplary embodiment of the present invention, next, an electronic device according to another exemplary embodiment of the present invention is introduced, and the electronic device can be a first device and a second device.

[0161] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".

[0162] In some possible implementations, the electronic device according to the present invention may include at least one processor and at least one computer storage medium. The computer storage medium stores program code, and when the program code is executed by the processor, the processor executes the steps of the method for synchronously driving a VR virtual character according to various exemplary embodiments of the present invention described above in this specification. For example, the processor may execute the following steps: Figure 2 Steps 201-205 shown in .

[0163] Refer to the following Fig.10 The electronic device 1000 according to this embodiment of the present invention will be described. Fig.10 The electronic device 1000 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0164] like Fig.10As shown, the electronic device 1000 is presented in the form of a general AR device. The components of the electronic device 1000 may include but are not limited to: the at least one processor 1001, the at least one computer storage medium 1002, and a bus 1003 connecting different system components (including the computer storage medium 1002 and the processor 1001).

[0165] Bus 1003 represents one or more of several types of bus structures, including a computer storage media bus or computer storage media controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.

[0166] The computer storage medium 1002 may include readable media in the form of volatile computer storage media, such as random access computer storage media (RAM) 1021 and / or cache storage media 1022 , and may further include read-only computer storage media (ROM) 1023 .

[0167] The computer storage medium 1002 may also include a program / utility 1025 having a set (at least one) of program modules 1024, such program modules 1024 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0168] The electronic device 1000 may also communicate with one or more external devices 1004 (e.g., keyboards, pointing devices, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 1000, and / or communicate with any device that enables the electronic device 1000 to communicate with one or more other AR devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 1005. In addition, the electronic device 1000 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 1006. As shown, the network adapter 1006 communicates with other modules for the electronic device 1000 through a bus 1003. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0169] In some possible implementations, various aspects of a method for synchronously driving a VR virtual character provided by the present invention may also be implemented in the form of a program product, which includes a program code. When the program product runs on a computer device, the program code is used to enable the computer device to execute the steps of the method for synchronously driving a VR virtual character according to various exemplary embodiments of the present invention described above in this specification.

[0170] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A synchronous driving method for a VR virtual character, characterized in that: Applied to a first VR device, the method includes: After the first VR device is connected to the second VR device, multiple positions and postures of each target joint point of a second user using the second VR device within a specified time period are received from the second VR device, wherein the number of the target joint points is less than the preset number of each joint point, and the multiple positions and postures of any one target joint within the specified time period are the positions and postures corresponding to each time of the any one target joint point within the specified time period; For any target joint point, based on multiple postures of the any target joint point within the specified time period, predict the posture of the target joint point at other moments within the specified time period to obtain multiple predicted postures of the target joint point; For any moment, according to the position and posture of the designated joint point of the first user at the any moment, and the position and posture of the designated joint point among the target joint points of the second user at the any moment, the distance between the first virtual character and the second virtual character is obtained, wherein the first virtual character is a virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is a virtual character corresponding to the second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device; and, Based on the distance, determining a joint point to be predicted of the second user at the any time, wherein the joint point to be predicted is a joint point whose position and posture need to be determined at the any time; The posture of the joint point to be predicted is predicted using multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and the posture of each joint point is used to drive the second virtual character; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the various joint points include the target joint points and the joint points to be predicted.

2. The method according to claim 1, characterized in that: The step of predicting the poses of the target joint point at other moments within the specified time period based on the multiple poses of any one target joint point within the specified time period to obtain multiple predicted poses of the target joint point includes: For any target joint point, determine the interpolation factors between any two adjacent poses of the target joint point according to the preset VR rendering frame rate and the receiving frame rate of the first VR device, wherein the receiving frame rate is the frame rate at which the first VR device receives the pose of the target joint point sent by the second VR device, wherein any interpolation factor is used to represent the weight of the pose of the latter frame of the two adjacent poses, and the interpolation factors between the two adjacent poses are different; and, For any interpolation factor among the interpolation factors between any two adjacent poses of the frames, use the any interpolation factor to perform interpolation processing on the adjacent poses of the any two frames to obtain a predicted pose corresponding to the adjacent poses of the any two frames; According to the predicted poses corresponding to the poses of two adjacent frames of any one of the target joint points, a plurality of predicted poses of the target joint point are obtained.

3. The method according to claim 2, characterized in that The step of determining interpolation factors between any two adjacent frames of any target joint point according to a preset VR rendering frame rate and a receiving frame rate of the first VR device includes: Dividing the VR rendering frame rate by the receiving frame rate to obtain a target total number, and dividing the target total number by the number of target joints to obtain a target number of interpolation factors between any two adjacent poses of any one of the target joints, wherein the target total number is the total number of interpolation factors between any two adjacent poses of each target joint; and Determine the reciprocal of the VR rendering frame rate as an interpolation interval, wherein the interpolation interval is used to represent the difference between any two adjacent interpolation factors; According to the target number of interpolation factors, the receiving frame rate and the interpolation interval, interpolation factors between any two adjacent frames of any target joint point are obtained.

4. The method according to claim 3, characterized in that The step of obtaining interpolation factors between any two adjacent frames of any target joint point according to the target number of interpolation factors, the receiving frame rate, and the interpolation interval includes: Multiplying a preset initial scaling factor by the interpolation interval to obtain a first product, and adding the first product to the inverse of the received frame rate to obtain the interpolation factor; Determine whether the current number of interpolation factors between any two adjacent frames of any target joint point is the target number; If not, add the initial scaling factor to the preset value to obtain an updated scaling factor, and after determining the updated scaling factor as the initial scaling factor, return to the step of multiplying the preset initial scaling factor by the interpolation interval to obtain the first product, until the current number of interpolation factors is the target number, then end.

5. The method according to claim 2, characterized in that: The method of performing interpolation processing on the postures of any two adjacent frames using any one of the interpolation factors between the postures of any two adjacent frames to obtain the predicted posture corresponding to the postures of any two adjacent frames includes: According to any one of the interpolation factors, determining interpolation weights corresponding to the interpolation factor, wherein the interpolation weights are interpolation weights of the postures of the two adjacent frames; The interpolation weights are used to perform interpolation processing on the adjacent postures of the arbitrary two frames to obtain a predicted posture corresponding to the adjacent postures of the arbitrary two frames corresponding to the interpolation factors.

6. The method according to claim 1, characterized in that The determining, based on the distance, a joint point to be predicted of the second user at the any time comprises: If the distance is less than the first preset distance, determining other joint points among the preset joint points except the target joint point as the joint points to be predicted; If the distance is greater than the second preset distance, it is determined that there is no joint point to be predicted; If the distance is greater than the first preset distance and less than the second preset distance, the designated joint point is determined as the joint point to be predicted, wherein the first preset distance is less than the second predicted distance, and the number of the designated joint points is less than the number of other joint points.

7. The method according to claim 1, characterized in that The step of predicting the pose of the joint point to be predicted by using the pose of the target joint point to obtain the pose of the joint point to be predicted includes: The position and posture of the target joint point and the joint point to be predicted are input into an inverse kinematics algorithm to obtain the position and posture of the joint point to be predicted.

8. A synchronous driving method for a VR virtual character, characterized in that: Applied to a second VR device, the method includes: After the first VR device is connected to the second VR device, multiple postures of each target joint point of the second user using the second VR device within the specified time period are sent to the first VR device at specified intervals, so that the first VR device can predict the posture of any target joint point at other moments within the specified time period based on the multiple postures of any target joint point within the specified time period to obtain multiple predicted postures of the target joint point; and for any moment, according to the posture of the designated joint point of the first user at any moment and the posture of the designated joint point among the target joint points of the second user at any moment, obtain the distance between the first virtual character and the second virtual character; and based on the distance, determine the joint point to be predicted of the second user at any moment; predict the posture of the joint point to be predicted using the multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and drive the second virtual character using the posture of each joint point; Among them, the number of target joints is less than the number of preset joints, and the multiple postures of any target joint within a specified time length are the postures corresponding to the any target joint at each moment within the specified time length; the first virtual character is a virtual character corresponding to a first user using the first VR device in a VR virtual scene, and the second virtual character is a virtual character corresponding to a second user using the second VR device in the VR virtual scene, and the designated joints of the first user are acquired by the first VR device; the joints to be predicted are joints whose postures need to be determined at any moment, the multiple target postures include the multiple postures and the multiple predicted postures, and the joints include the target joints and the joints to be predicted.

9. A first VR device, characterized in that: comprising a processor and a memory, wherein the processor and the memory are connected via a bus; The memory stores a computer program, and the processor is configured to perform the following operations based on the computer program: After the first VR device is connected to the second VR device, multiple positions and postures of each target joint point of a second user using the second VR device within a specified time period are received from the second VR device, wherein the number of the target joint points is less than the preset number of each joint point, and the multiple positions and postures of any one target joint within the specified time period are the positions and postures corresponding to each time of the any one target joint point within the specified time period; For any target joint point, based on multiple postures of the any target joint point within the specified time period, predict the posture of the target joint point at other moments within the specified time period to obtain multiple predicted postures of the target joint point; For any moment, according to the position and posture of the designated joint point of the first user at the any moment, and the position and posture of the designated joint point among the target joint points of the second user at the any moment, the distance between the first virtual character and the second virtual character is obtained, wherein the first virtual character is a virtual character corresponding to the first user using the first VR device in the VR virtual scene, and the second virtual character is a virtual character corresponding to the second user using the second VR device in the VR virtual scene, and the designated joint point of the first user is acquired by the first VR device; and, Based on the distance, determining a joint point to be predicted of the second user at the any time, wherein the joint point to be predicted is a joint point whose position and posture need to be determined at the any time; The posture of the joint point to be predicted is predicted using multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and the posture of each joint point is used to drive the second virtual character; wherein the multiple target postures include the multiple postures and the multiple predicted postures, and the various joint points include the target joint points and the joint points to be predicted.

10. A second VR device, characterized in that: comprising a processor and a memory, wherein the processor and the memory are connected via a bus; The memory stores a computer program, and the processor is configured to perform the following operations based on the computer program: After the first VR device establishes a connection with the second VR device, multiple postures of each target joint point of the second user who uses the second VR device within a specified time period are sent to the first VR device, so that the first VR device can predict the posture of any target joint point at other moments within the specified time period based on the multiple postures of any target joint point within the specified time period to obtain multiple predicted postures of the target joint point; and for any moment, according to the posture of the designated joint point of the first user at any moment and the posture of the designated joint point among the target joint points of the second user at any moment, obtain the distance between the first virtual character and the second virtual character; and based on the distance, determine the joint point to be predicted of the second user at any moment; predict the posture of the joint point to be predicted using the multiple target postures of the target joint point to obtain the posture of the joint point to be predicted, and drive the second virtual character using the posture of each joint point; Among them, the number of target joints is less than the number of preset joints, and the multiple postures of any target joint within a specified time length are the postures corresponding to the any target joint at each moment within the specified time length; the first virtual character is a virtual character corresponding to a first user using the first VR device in a VR virtual scene, and the second virtual character is a virtual character corresponding to a second user using the second VR device in the VR virtual scene, and the designated joints of the first user are acquired by the first VR device; the joints to be predicted are joints whose postures need to be determined at any moment, the multiple target postures include the multiple postures and the multiple predicted postures, and the joints include the target joints and the joints to be predicted.

Citation Information

Cited By

  • Smooth prediction method and device for positioning data of multi-person interaction in VR scene and medium

    CN120783395A