Human skeleton data and virtual character motion synchronization method, device and equipment and medium

By integrating the direction data of VR wearable sensors and device with the movement data of the human skeleton binding device, the virtual character movement is accurately controlled, and the problem that VR character control in the prior art is difficult to accurately reflect the user's whole body movements and postures is achieved, achieving a more realistic, natural and comfortable virtual reality experience.

CN119513812AInactive Publication Date: 2025-02-25SICHUAN TOURISM UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411581403.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-02-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing VR character control methods are difficult to accurately reflect the user's whole body movements and postures, resulting in users being prone to fatigue and dizziness during long-term use.

Method used

By obtaining the direction data provided by VR wearable sensors and devices, and combining the three-dimensional action data collected by human skeleton binding devices, data fusion processing is carried out to accurately control the movement of virtual characters.

Benefits of technology

It enhances the realism and substitution of the virtual reality experience, enhances the accuracy and nature of user control, reduces the user's sense of dizziness, and improves the flexibility and adaptability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119513812A_ABST
    Figure CN119513812A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of virtual reality. The invention provides a human skeleton data and virtual character motion synchronization method and device, equipment and a medium. The method comprises the following steps: acquiring first direction data sent by a VR wearable sensor; acquiring second direction data detected by the VR wearable device; collecting human body action data through a human body skeleton binding device; performing fusion processing on the first direction data and the second direction data to obtain target direction data; and the motion of the target role is controlled based on the human body motion data and the target direction data, so that the problem that the user easily feels fatigue and dizziness after long-time use due to the fact that an existing VR role control method is difficult to accurately reflect the whole body motion and posture of the user is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of virtual reality technology, and in particular to a method, device, equipment and medium for synchronizing human skeleton data with virtual character motion. Background Art

[0002] With the rapid development of virtual reality (VR) technology, users' demand for immersive experience is growing. In VR applications, achieving the synchronous movement of user actions and characters in the virtual environment is one of the key technologies to improve user experience.

[0003] Traditional VR character control methods mainly rely on external devices such as handles and joysticks. Although these methods can achieve basic movement and rotation control, it is difficult to accurately reflect the user's whole body movements and postures, causing users to easily feel fatigue and dizziness when using them for a long time. Summary of the invention

[0004] The purpose of the present invention is to provide a method, device, equipment and medium for synchronizing human skeleton data with virtual character movements, aiming to solve the problem that existing VR character control methods are difficult to accurately reflect the user's whole body movements and postures, causing the user to easily feel fatigue and dizziness when using for a long time.

[0005] The present invention is achieved through the following technical solutions:

[0006] A method for synchronizing human skeleton data with virtual character motion comprises the following steps:

[0007] S001: Obtaining first direction data sent by a VR wearable sensor;

[0008] S002: Acquire second direction data detected by the VR wearable device;

[0009] S003: Collect human motion data through human skeleton binding equipment;

[0010] S004: fusing the first direction data and the second direction data to obtain target direction data;

[0011] S005: Control the movement of the target character based on the human motion data and the target direction data.

[0012] Optionally, in step S003, the three-dimensional coordinate data of the human body is collected by a human skeleton binding device, and the difference between the current moment and the moment before the preset time interval, the movement amplitude, movement frequency and movement posture of the human body are calculated to obtain human body movement data.

[0013] Optionally, the human body motion data includes upper body motion data and lower body motion data; wherein the upper body motion data is the motion data above the human body's navel; and the lower body motion data is the motion data below the human body's navel.

[0014] Optionally, in step S004, when the first direction data and the second direction data are fused, different weights are preset for the first direction data and the second direction data to be fused, and then fused.

[0015] Optionally, in step S005, when controlling the target character to move, based on the motion difference between the human motion data at the current moment and the human motion data at the previous moment, if the motion difference falls within a preset first threshold range, the movement of the target character is controlled based on the human motion data at the current moment and the target direction data.

[0016] Optionally, controlling the movement of the target character includes: controlling the action of the target character and the movement of the target character; if the action difference falls within a preset first threshold range, controlling the movement of the target character according to the human body motion data and target direction data at the current moment; if the action difference is zero, controlling the action of the target character according to the current human body motion data.

[0017] Optionally, if the motion difference is less than a preset second threshold and the motion difference is greater than zero, the target character is controlled to stop moving.

[0018] The present invention also provides a device for synchronizing human skeleton data with virtual character motion, the device comprising:

[0019] A first acquisition module, used to acquire first direction data sent by a VR wearable sensor;

[0020] A second acquisition module is used to acquire second direction data detected by the VR wearable device;

[0021] The third acquisition module is used to acquire human motion data detected by the human skeleton binding device;

[0022] A data processing module, used for fusing the first direction data and the second direction data to obtain target direction data;

[0023] A calculation module, used to calculate the human body motion data through the data collected by the human body skeleton binding device;

[0024] A judgment module, used to judge the matching degree between the difference between the human body motion data at the current moment and the moment before the preset time interval and the corresponding preset threshold value;

[0025] The control module is used to control the movement of the target character according to the human motion data and the target direction data.

[0026] The present invention also provides an electronic device, comprising:

[0027] processor;

[0028] a memory for storing instructions executable by the processor;

[0029] Wherein, the processor is configured to execute to implement the above-mentioned method for synchronizing human skeleton data with virtual character motion.

[0030] The present invention also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the method for synchronizing the human skeleton data with the motion of a virtual character is implemented.

[0031] The technical solution of the present invention has at least the following advantages and beneficial effects:

[0032] Improve the realism and sense of immersion in the virtual reality experience: The user's three-dimensional motion data, including motion amplitude, frequency and posture, is collected in real time through the human skeleton binding device, which can accurately reflect the user's actual motion state. The three-dimensional motion data is combined with the direction data provided by the VR wearable sensor and VR wearable device, making the movement of the virtual character closer to the user's real movement, thereby greatly improving the user's immersion and sense of immersion in the virtual reality environment.

[0033] Enhance the accuracy and naturalness of user control: The present invention realizes precise control of the movement of virtual characters by fusing and processing data from different devices, such as the direction data of VR wearable sensors and the orientation data of VR wearable devices, and combines the human motion data provided by the human skeleton binding device, thereby improving the accuracy of user control, making the movement of virtual characters more natural and smooth, and reducing the abruptness caused by data mismatch or delay.

[0034] Reduce user dizziness: The present invention reduces visual conflicts caused by data asynchrony or errors by accurately synchronizing human skeleton data with the movement of virtual characters, thereby effectively reducing user dizziness and improving the comfort of the user experience.

[0035] Improve the flexibility and adaptability of the system: The present invention supports a variety of VR wearable sensors and human skeleton binding devices. Through flexible data processing and fusion algorithms, it can adapt to the needs of different users, different devices and different application scenarios. At the same time, the system also provides configurable weight and threshold parameters, allowing users to make personalized settings according to their preferences and needs, thereby improving the flexibility and adaptability of the system.

[0036] Improve the consistency and interactivity of user experience: By real-time monitoring and processing of user motion data and combining it with target direction data, the movement of virtual characters can be controlled in real time to achieve seamless interaction between users and the virtual environment; this not only improves user satisfaction, but also enhances users' sense of participation and desire to explore the virtual world. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 Schematic diagram of the process of synchronizing human skeleton data with virtual character motion in Embodiment 1 of the present invention;

[0038] Figure 2 This is a schematic diagram of the structure of the device for synchronizing human skeleton data with virtual character motion in Embodiment 1 of the present invention;

[0039] Figure 3 Schematic diagram of the process of synchronizing human skeleton data with virtual character motion in Embodiment 2 of the present invention;

[0040] Figure 4 Schematic diagram of the structure of the device for synchronizing human skeleton data and virtual character motion in Embodiment 2 of the present invention;

[0041] Figure 5 A schematic diagram of an application environment of an embodiment of the present invention;

[0042] Figure 6 A schematic diagram of the use process of the human skeleton binding device according to an embodiment of the present invention;

[0043] Figure 7 This is a schematic diagram of wearing a human skeleton binding device in an embodiment of the present invention;

[0044] Figure 8 Schematic diagram of tracking and detecting of a human skeleton binding device during action in an embodiment of the present invention;

[0045] Fig. 9 Schematic diagram of human skeleton binding device tracking detection during movement in an embodiment of the present invention.

[0046] Legend: 01-motion detection device, 02-motion capture point, 03-navel dividing point, 04-fixing belt, A-user wearing human skeleton binding device, B-target virtual character, C-user wearing human skeleton binding device when moving, D-target virtual character when moving, E-user wearing human skeleton binding device when moving, F-target virtual character when moving. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.

[0048] Example 1

[0049] Reference Figure 1 , Figure 5 , a method for synchronizing human skeleton data with virtual character motion, comprising the steps of:

[0050] S001: Obtaining first direction data sent by a VR wearable sensor;

[0051] In this embodiment, the VR wearable sensor may be a handle, a joystick, a touch screen or other VR wearable sensors; the user terminal may be a terminal device such as a personal computer, a tablet computer, a smart phone or other terminal device; firstly, the device is connected and initialized to ensure that the VR wearable sensor has been correctly connected to the user terminal via wired or wireless means; the corresponding VR application or game is started on the user terminal, and necessary initialization settings are performed, including sensor calibration, connection status check, etc.

[0052] The corresponding data is captured through VR wearable sensors. When the user operates the VR wearable sensor, the sensor will generate corresponding direction data according to the user's operation. These data may include the user's movement direction, rotation angle, etc. The movement direction is such as forward, backward, left, right, up, and down; the rotation angle is such as yaw angle, pitch angle, and roll angle; the sensor built-in sensor elements will capture these motion data in real time and convert them into digital signals. Sensor elements such as gyroscopes and accelerometers.

[0053] The captured data is transmitted. The captured directional data is sent from the VR wearable sensor to the user terminal through a predefined communication protocol, such as Bluetooth, Wi-Fi, USB, etc. The VR application or game on the user terminal will listen to these incoming data streams and prepare to receive new directional data.

[0054] The received data is processed and applied accordingly. After the VR application or game on the user terminal receives the direction data from the VR wearable sensor, it will perform necessary analysis and processing. This step may include data verification, unit conversion, data smoothing, etc. Unit conversion, such as from radians to degrees, to ensure the accuracy and stability of the data. The processed direction data will be used in the subsequent virtual character control logic. These data will serve as important inputs for controlling the movement and rotation of virtual characters.

[0055] S002: Acquire second direction data detected by the VR wearable device;

[0056] In this embodiment, the user needs to correctly wear the VR wearable device, such as a VR helmet or VR glasses, and start the device. The VR wearable device will automatically initialize when it starts, including calibrating sensors, setting reference coordinate systems, etc., to ensure that the direction data detected subsequently is accurate and reliable. The VR wearable device integrates a variety of sensors, such as gyroscopes, accelerometers, and magnetometers. These sensors can detect parameters such as the spatial position, orientation, and acceleration of the device in real time. The gyroscope can detect the rotation speed and direction of the device around its own axis. By integrating the data of the gyroscope, the rotation angle and direction of the device relative to the initial state can be obtained. The magnetometer can detect the direction of the geomagnetic field and help the device determine the absolute orientation, that is, the direction relative to the geographic North Pole. By combining the data of the gyroscope and the magnetometer, the VR wearable device can calculate more accurate orientation information. The calculated orientation data is usually expressed in the form of Euler angles or quaternions, which will be converted into a format suitable for transmission and sent to the user terminal via wired or wireless means. After the user terminal receives these data, it can use them as second direction data. In order to improve the accuracy and stability of the data, the user terminal can also further process the received second direction data. For example, algorithms such as Kalman filters can be used to fuse the data of the gyroscope and magnetometer to eliminate noise and errors. At the same time, the orientation data can be corrected according to the user's behavior and the actual situation of the virtual environment. The processed second direction data will be used to control the movement and perspective change of the virtual character in the virtual environment. For example, when the user turns his head, the VR wearable device will detect this change and send the corresponding orientation data to the user terminal. The user terminal updates the perspective and orientation of the virtual character based on this data, thereby achieving synchronization between the human skeleton data and the movement of the virtual character.

[0057] S003: Collect human motion data through human skeleton binding equipment;

[0058] In this embodiment, in step S003, the three-dimensional coordinate data of the human body is collected by the human skeleton binding device, and the difference between the current moment and the moment before the preset time interval, the movement amplitude, movement frequency and movement posture of the human body are calculated to obtain the human body movement data.

[0059] In this embodiment, the human body motion data includes upper body motion data and lower body motion data; wherein, the upper body motion data is the motion data above the navel of the human body; and the lower body motion data is the motion data below the navel of the human body.

[0060] In this embodiment, human skeleton binding equipment, such as motion capture equipment, inertial sensors, etc., are bound to the user's body through a fixing belt or other means to ensure that each capture point can accurately reflect the movement state of the human body, such as a joint point; the device is initialized, and the initial position and coordinate system of the capture point are set to ensure the accuracy and consistency of the data. The user's motion data in three-dimensional space is captured in real time, including the three-dimensional coordinates, acceleration, angular velocity and other parameters of each capture point, and these data are transmitted to the user terminal wirelessly or wired. The captured three-dimensional coordinate data is converted from the device's own coordinate system to a unified virtual world coordinate system; it is ensured that all captured data are synchronized in time to facilitate subsequent analysis and processing. A Tick function is defined inside the user terminal, and the function is called periodically, which can be every frame or every fixed time interval. Each time the Tick function is called, the three-dimensional coordinate data of all capture points in the human skeleton binding device at the current time t is obtained, and compared with the data at the time t-Δt when the previous Tick function was called, and the position change, movement speed and posture change of each capture point in the three-dimensional space are calculated. The position change is the motion amplitude, the movement speed is the motion frequency, and the posture change is the motion posture. These changes are the human motion data, which reflects the user's motion status in the current time interval.

[0061] S004: fusing the first direction data and the second direction data to obtain target direction data;

[0062] In this embodiment, in step S004, when the first direction data and the second direction data are fused, different weights are preset for the first direction data and the second direction data to be fused, and then fused.

[0063] In this embodiment, the weight can be determined based on a variety of factors, such as the accuracy, reliability, historical performance or user preference of the sensor. Let the weight of the first direction data be w_sensor, the weight of the second direction data be w_device, and w_sensor+w_device=1. For example, if the VR wearable sensor is considered to be a direct reflection of the user's intention and has a high accuracy, a higher value such as 0.7 can be assigned to w_sensor; accordingly, the value of w_device is 0.3. If the data units are different or the magnitude difference is large, normalization is performed. According to the determined weights, the first direction data and the second direction data are weighted and summed to obtain the target direction data. In some cases, the fused direction data may not be within the expected valid range, for example, the angle exceeds the range of 0° to 360°, or the vector length is not 1. In this case, additional processing is required to ensure the validity of the result. For angle data, if the result exceeds the normal range, it can be adjusted to the valid range through modulo operation; for vector data, if its length is not 1, it can be normalized.

[0064] S005: Control the movement of the target character based on the human motion data and the target direction data;

[0065] In this embodiment, in step S005, when controlling the target character to move, based on the motion difference between the human body motion data at the current moment and the human body motion data at the previous moment, if the motion difference falls within a preset first threshold range, the movement of the target character is controlled based on the human body motion data at the current moment and the target direction data.

[0066] In this embodiment, controlling the movement of the target character includes: controlling the action of the target character and the movement of the target character; if the action difference falls within a preset first threshold range, the movement of the target character is controlled according to the human body motion data and target direction data at the current moment; if the action difference is zero, the action of the target character is controlled according to the current human body motion data.

[0067] In this embodiment, if the motion difference is less than a preset second threshold value and the motion difference is greater than zero, the target character is controlled to stop moving.

[0068] In this embodiment, the user terminal first initializes necessary parameters, including a preset first threshold, a second threshold, a time interval of a tick function, etc. The human motion data at the current moment is obtained from the operation module, and the target direction data is obtained from the data processing module. The difference between the human motion data at the current moment and the human motion data at the previous moment is calculated. This difference can be the difference in motion amplitude, motion frequency or motion posture, depending on the definition of the human motion data. The calculated motion difference is compared with the preset first threshold. If the motion difference is within the first threshold range and is greater than 0, it is considered that the user's action is valid, that is, the user intends to control the target character to move or move. If the motion difference is valid, the target character is controlled to move in the virtual space according to the target direction data. The movement can be horizontal movement, jumping, turning, etc., depending on the target direction data and the lower body motion data in the human motion data; the motion data of the lower body, such as the size of the step, the frequency, etc., can be used to adjust the speed, step length, etc. of the target character's movement, so that the movement is more natural and in line with the law of human motion. If the motion data of the upper body changes, that is, the motion difference is not zero, the target character is controlled to perform corresponding actions according to the motion data of the upper body. For example, if the user raises his hand, the target character is also controlled to raise his hand. The upper body motion data can contain more detailed motion information, such as gestures, head rotation, etc., which can be used to control the corresponding actions of the target character to increase the sense of reality and immersion. If the difference between the human motion data at the current moment and the previous moment is less than the preset second threshold and greater than 0, it is considered that the user's motion amplitude is very small, which may be an unconscious small motion. At this time, the target character is controlled to stop moving or maintain the current state. This judgment mechanism helps to prevent unnecessary movement of the target character due to small movements or misoperations of the user, and improves the user experience. Every time the Tick function is called, the human motion data and target direction data are updated to prepare for the next control. By continuously looping the above steps, continuous and natural control of the target character is achieved. The user terminal can achieve accurate and natural control of the target character in the virtual space based on the human motion data detected by the human skeleton binding device and the target direction data provided by the VR wearable sensor and the VR wearable device. This method not only improves the sense of reality and immersion of the virtual reality experience, but also reduces the dizziness that may occur when users use VR devices for a long time.

[0069] In order to execute the corresponding method in this embodiment to achieve the corresponding functions and technical effects, refer to Figure 2 In this embodiment, a device for synchronizing human skeleton data with virtual character motion is provided, and the device comprises:

[0070] A first acquisition module, used to acquire first direction data sent by a VR wearable sensor;

[0071] A second acquisition module is used to acquire second direction data detected by the VR wearable device;

[0072] The third acquisition module is used to acquire human motion data detected by the human skeleton binding device;

[0073] A data processing module, used for fusing the first direction data and the second direction data to obtain target direction data;

[0074] A calculation module, used to calculate the human body motion data through the data collected by the human body skeleton binding device;

[0075] A judgment module, used to judge the matching degree between the difference between the human body motion data at the current moment and the moment before the preset time interval and the corresponding preset threshold value;

[0076] The control module is used to control the movement of the target character according to the human motion data and the target direction data.

[0077] Example 2

[0078] Based on Example 1, refer to Figure 3 , a method for synchronizing human skeleton data with virtual character motion, comprising the steps of:

[0079] S101: Acquire first direction data sent by a VR wearable sensor;

[0080] In this embodiment, the VR wearable sensor may be a handle, a joystick, a touch screen or other VR wearable sensors; the user terminal may be a terminal device such as a personal computer, a tablet computer, a smart phone or other terminal device; firstly, the device is connected and initialized to ensure that the VR wearable sensor has been correctly connected to the user terminal via wired or wireless means; the corresponding VR application or game is started on the user terminal, and necessary initialization settings are performed, including sensor calibration, connection status check, etc.

[0081] The corresponding data is captured through VR wearable sensors. When the user operates the VR wearable sensor, the sensor will generate corresponding direction data according to the user's operation. These data may include the user's movement direction, rotation angle, etc. The movement direction is such as forward, backward, left, right, up, and down; the rotation angle is such as yaw angle, pitch angle, and roll angle; the sensor built-in sensor elements will capture these motion data in real time and convert them into digital signals. Sensor elements such as gyroscopes and accelerometers.

[0082] The captured data is transmitted. The captured directional data is sent from the VR wearable sensor to the user terminal through a predefined communication protocol, such as Bluetooth, Wi-Fi, USB, etc. The VR application or game on the user terminal will listen to these incoming data streams and prepare to receive new directional data.

[0083] The received data is processed and applied accordingly. After the VR application or game on the user terminal receives the direction data from the VR wearable sensor, it will perform necessary analysis and processing. This step may include data verification, unit conversion, data smoothing, etc. Unit conversion, such as from radians to degrees, to ensure the accuracy and stability of the data. The processed direction data will be used in the subsequent virtual character control logic. These data will serve as important inputs for controlling the movement and rotation of virtual characters.

[0084] S102: Detecting spatial data of the VR wearable device through the motion detection device 01, and obtaining second direction data of the VR wearable device;

[0085] In this embodiment, it is ensured that the VR wearable device has been correctly worn on the user's head and can work stably; it is ensured that the motion detection device has been installed and calibrated, and can accurately capture the user's motion data, such as motion capture devices, inertial sensors, etc.; it is ensured that the human skeleton binding device has also been firmly bound to the user through a fixed belt and other devices, so as to accurately capture the user's skeletal motion data. The motion detection device starts working and detects the motion state of the VR wearable device and the user's body in real time. The motion detection device converts the detected spatial data of the VR wearable device into second direction data, and the second direction data may include information such as the orientation, tilt angle, and rotation speed of the VR wearable device. The motion detection device transmits the acquired second direction data to the user terminal via wired or wireless means. After the user terminal receives the second direction data, it will perform further processing and analysis to merge and synchronize with other data sources, such as VR wearable sensor data and human skeleton binding device data. In the user terminal, the first direction data from the VR wearable sensor, the second direction data of the VR wearable device, and the human motion data of the human skeleton binding device will be received at the same time, and these data are fused and processed by corresponding algorithms to obtain more accurate and comprehensive user motion state information. The fused data will be used to control the movement status and action performance of the virtual character in the virtual environment, and to achieve the synchronization of human skeleton data and virtual character movement.

[0086] S103: Collecting human motion data through a human skeleton binding device;

[0087] In this embodiment, in step S103, the three-dimensional coordinate data of the human body is collected by the human skeleton binding device, and the difference between the current moment and the moment before the preset time interval, the movement amplitude, movement frequency and movement posture of the human body are calculated to obtain the human body movement data.

[0088] In this embodiment, the human body motion data includes upper body motion data and lower body motion data; wherein, the upper body motion data is the motion data above the navel of the human body; and the lower body motion data is the motion data below the navel of the human body.

[0089] In this embodiment, human skeleton binding equipment, such as motion capture equipment, inertial sensors, etc., are bound to the user's body through a fixing belt or other means to ensure that each capture point can accurately reflect the movement state of the human body, such as a joint point; the device is initialized, and the initial position and coordinate system of the capture point are set to ensure the accuracy and consistency of the data. The user's motion data in three-dimensional space is captured in real time, including the three-dimensional coordinates, acceleration, angular velocity and other parameters of each capture point, and these data are transmitted to the user terminal wirelessly or wired. The captured three-dimensional coordinate data is converted from the device's own coordinate system to a unified virtual world coordinate system; it is ensured that all captured data are synchronized in time to facilitate subsequent analysis and processing. A Tick function is defined inside the user terminal, and the function is called periodically, which can be every frame or every fixed time interval. Each time the Tick function is called, the three-dimensional coordinate data of all capture points in the human skeleton binding device at the current time t is obtained, and compared with the data at the time t-Δt when the previous Tick function was called, and the position change, movement speed and posture change of each capture point in the three-dimensional space are calculated. The position change is the motion amplitude, the movement speed is the motion frequency, and the posture change is the motion posture. These changes are the human motion data, which reflects the user's motion status in the current time interval.

[0090] S104: fusing the first direction data and the second direction data to obtain target direction data;

[0091] In this embodiment, in step S104, when the first direction data and the second direction data are fused, different weights are preset for the first direction data and the second direction data to be fused, and then fused.

[0092] In this embodiment, the weight can be determined based on a variety of factors, such as the accuracy, reliability, historical performance or user preference of the sensor. Let the weight of the first direction data be w_sensor, the weight of the second direction data be w_device, and w_sensor+w_device=1. For example, if the VR wearable sensor is considered to be a direct reflection of the user's intention and has a high accuracy, a higher value such as 0.7 can be assigned to w_sensor; accordingly, the value of w_device is 0.3. If the data units are different or the magnitude difference is large, normalization is performed. According to the determined weights, the first direction data and the second direction data are weighted and summed to obtain the target direction data. In some cases, the fused direction data may not be within the expected valid range, for example, the angle exceeds the range of 0° to 360°, or the vector length is not 1. In this case, additional processing is required to ensure the validity of the result. For angle data, if the result exceeds the normal range, it can be adjusted to the valid range through modulo operation; for vector data, if its length is not 1, it can be normalized.

[0093] S105: Controlling the movement of the target character based on the human motion data and the target direction data;

[0094] In this embodiment, in step S105, when controlling the target character to move, based on the motion difference between the human body motion data at the current moment and the human body motion data at the previous moment, if the motion difference falls within a preset first threshold range, the movement of the target character is controlled based on the human body motion data at the current moment and the target direction data.

[0095] In this embodiment, controlling the movement of the target character includes: controlling the action of the target character and the movement of the target character; if the action difference falls within a preset first threshold range, the movement of the target character is controlled according to the human body motion data and target direction data at the current moment; if the action difference is zero, the action of the target character is controlled according to the current human body motion data.

[0096] In this embodiment, if the motion difference is less than a preset second threshold value and the motion difference is greater than zero, the target character is controlled to stop moving.

[0097] In this embodiment, the user terminal first initializes necessary parameters, including a preset first threshold, a second threshold, a time interval of a tick function, etc. The human motion data at the current moment is obtained from the operation module, and the target direction data is obtained from the data processing module. The difference between the human motion data at the current moment and the human motion data at the previous moment is calculated. This difference can be the difference in motion amplitude, motion frequency or motion posture, depending on the definition of the human motion data. The calculated motion difference is compared with the preset first threshold. If the motion difference is within the first threshold range and is greater than 0, it is considered that the user's action is valid, that is, the user intends to control the target character to move or move. If the motion difference is valid, the target character is controlled to move in the virtual space according to the target direction data. The movement can be horizontal movement, jumping, turning, etc., depending on the target direction data and the lower body motion data in the human motion data; the motion data of the lower body, such as the size of the step, the frequency, etc., can be used to adjust the speed, step length, etc. of the target character's movement, so that the movement is more natural and in line with the law of human motion. If the motion data of the upper body changes, that is, the motion difference is not zero, the target character is controlled to perform corresponding actions according to the motion data of the upper body. For example, if the user raises his hand, the target character is also controlled to raise his hand. The upper body motion data can contain more detailed motion information, such as gestures, head rotation, etc., which can be used to control the corresponding actions of the target character to increase the sense of reality and immersion. If the difference between the human motion data at the current moment and the previous moment is less than the preset second threshold and greater than 0, it is considered that the user's motion amplitude is very small, which may be an unconscious small motion. At this time, the target character is controlled to stop moving or maintain the current state. This judgment mechanism helps to prevent unnecessary movement of the target character due to small movements or misoperations of the user, and improves the user experience. Every time the Tick function is called, the human motion data and target direction data are updated to prepare for the next control. By continuously looping the above steps, continuous and natural control of the target character is achieved. The user terminal can achieve accurate and natural control of the target character in the virtual space based on the human motion data detected by the human skeleton binding device and the target direction data provided by the VR wearable sensor and the VR wearable device. This method not only improves the sense of reality and immersion of the virtual reality experience, but also reduces the dizziness that may occur when users use VR devices for a long time.

[0098] In order to execute the corresponding method in this embodiment to achieve the corresponding functions and technical effects, refer to Figure 4 , Figure 7 , Figure 8 , Fig. 9 In this embodiment, a device for synchronizing human skeleton data with virtual character motion is provided, and the device comprises:

[0099] An acquisition module, used to acquire first direction data sent by a VR wearable sensor;

[0100] The detection module is used to control the motion detection device 01 to detect the corresponding data of the VR wearable device and the human skeleton binding device in space, and obtain the second direction data of the VR wearable device and the human motion data;

[0101] A calculation module, used to calculate the human body motion data through the data collected by the human body skeleton binding device;

[0102] A data processing module, used for fusing the first direction data and the second direction data to obtain target direction data;

[0103] A judgment module, used to judge the matching degree between the difference between the human body motion data at the current moment and the moment before the preset time interval and the corresponding preset threshold value;

[0104] The control module is used to control the movement of the target character according to the human motion data and the target direction data.

[0105] Reference Figure 5 , Figure 6 , Figure 7 , Figure 8 , Fig. 9 The human skeleton binding device is fixed to the corresponding position of the user through the fixing belt 04, and the spatial coordinate data of the corresponding motion capture point 02 on the user A wearing the skeleton binding device is detected through the motion detection device 01. The upper part of the human body is above the navel dividing point 03, and the lower part of the human body is below the navel dividing point 03. When the user needs to control the target virtual character B to perform an action, the user terminal controls the action detection device 01 to detect the user's action, and the detected user's action data is fed back to the user terminal as an action input. The user terminal combines the detected user's action data with the target direction data to control the action and movement of the target virtual character B in the virtual space.

[0106] Example 3

[0107] This embodiment provides an electronic device, including:

[0108] A processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute to implement the method for synchronizing human skeleton data with virtual character motion as described above.

[0109] Optionally, the above-mentioned electronic device may be a server.

[0110] In addition, this embodiment also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the method for synchronizing human skeleton data with virtual character motion as described above is implemented.

[0111] It is understandable that the processor in the embodiments of the present invention may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0112] The method steps in the embodiments of the present invention can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.

[0113] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a storage medium or transmitted through the storage medium. The computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0114] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for synchronizing human skeleton data with virtual character motion, characterized in that: Includes steps: S001: Obtaining first direction data sent by a VR wearable sensor; S002: Acquire second direction data detected by the VR wearable device; S003: Collect human motion data through human skeleton binding equipment; S004: fusing the first direction data and the second direction data to obtain target direction data; S005: Control the movement of the target character based on the human motion data and the target direction data.

2. The method for synchronizing human skeleton data with virtual character motion as claimed in claim 1, characterized in that: In step S003, the three-dimensional coordinate data of the human body is collected by the human skeleton binding device, and the difference between the current moment and the moment before the preset time interval, the movement amplitude, movement frequency and movement posture of the human body are calculated to obtain the human body movement data.

3. The method for synchronizing human skeleton data with virtual character motion as claimed in claim 2, characterized in that: The human body motion data includes upper body motion data and lower body motion data; wherein, the upper body motion data is the motion data above the human body's navel; and the lower body motion data is the motion data below the human body's navel.

4. The method for synchronizing human skeleton data with virtual character motion as claimed in claim 1, characterized in that: In step S004, when the first direction data and the second direction data are fused, different weights are preset for the first direction data and the second direction data to be fused, and then fused.

5. The method for synchronizing human skeleton data with virtual character motion as claimed in claim 1, characterized in that: In step S005, when controlling the target character to move, based on the motion difference between the human motion data at the current moment and the human motion data at the previous moment, if the motion difference falls within a preset first threshold range, the movement of the target character is controlled based on the human motion data at the current moment and the target direction data.

6. The method for synchronizing human skeleton data with virtual character motion as claimed in claim 5, characterized in that: The control of the movement of the target character includes: controlling the action of the target character and the movement of the target character; if the action difference falls within a preset first threshold range, controlling the movement of the target character according to the human body action data and target direction data at the current moment; if the action difference is zero, controlling the action of the target character according to the current human body action data.

7. The method for synchronizing human skeleton data with virtual character motion as claimed in claim 5, characterized in that: If the motion difference is less than the preset second threshold value and the motion difference is greater than zero, the target character is controlled to stop moving.

8. A device for synchronizing human skeleton data with virtual character motion, characterized in that: The device comprises: A first acquisition module, used to acquire first direction data sent by a VR wearable sensor; A second acquisition module is used to acquire second direction data detected by the VR wearable device; The third acquisition module is used to acquire human motion data detected by the human skeleton binding device; A data processing module, used for fusing the first direction data and the second direction data to obtain target direction data; A calculation module, used to calculate the human body motion data through the data collected by the human body skeleton binding device; A judgment module, used to judge the matching degree between the difference between the human body motion data at the current moment and the moment before the preset time interval and the corresponding preset threshold value; The control module is used to control the movement of the target character according to the human motion data and the target direction data.

9. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; Wherein, the processor is configured to execute to implement the method for synchronizing human skeleton data and virtual character motion as described in any one of claims 1-7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for synchronizing human skeleton data and virtual character motion as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • A virtual reality multi-user interaction cooperation method and system

    CN109885163A

  • VR (Virtual Reality) based character control method and device

    CN109908583A

  • Virtual character driving method and device based on motion capture and computer equipment

    CN113450438A

  • Virtual object rendering method and device and electronic equipment

    CN115957506A