Interactive animation dynamic scene construction method based on VR display equipment and related device
By optimizing the construction of interactive animation dynamic scenes on VR display devices using a finite state machine model and action priority management rules, the problems of interaction delay and false triggering are solved, thereby improving the user's immersive experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-30
- Publication Date
- 2026-04-03
AI Technical Summary
Existing technologies lack adaptive optimization mechanisms in the construction of interactive animation dynamic scenes in VR display devices, making it difficult for the interaction logic to be dynamically adjusted according to the actual interaction effect, resulting in interaction delays or false triggers, which affect the user's immersive experience.
By employing a finite state machine model combined with action priority management rules, state transition conditions are defined through logical expressions, and preset threshold items are adjusted when there is interaction delay or false triggering, thus achieving adaptive optimization of the interaction logic.
It enhances the immersive experience of interactive animation and dynamic scene construction on VR display devices, reduces interaction latency and false triggers, and provides a low-latency, highly realistic interactive experience.
Smart Images

Figure CN121785470A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of virtual reality technology, and in particular to a method and related apparatus for constructing interactive animation dynamic scenes based on VR display devices. Background Technology
[0002] Interactive animation dynamic scene construction refers to the process of collecting user interaction data and combining it with virtual scene elements to build, render, and update an immersive virtual environment in real time that dynamically matches user behavior in VR display device application scenarios.
[0003] Currently, existing technologies face significant technical challenges in constructing interactive animation dynamic scenes. Interaction logic definitions often adopt fixed rules, lacking adaptive optimization mechanisms for user behavior. Interaction state transition thresholds are difficult to dynamically adjust based on actual interaction effects, easily leading to interaction delays or false triggers, which affect the user's immersive experience. In response to these problems, there is an urgent need for a method for constructing interactive animation dynamic scenes based on VR display devices. Summary of the Invention
[0004] The purpose of this application is to provide a method and related apparatus for constructing interactive animation dynamic scenes based on VR display devices. It adopts an adaptive optimization mechanism for user behavior and dynamically adjusts the interaction state transition threshold according to the actual interaction effect. It has the advantages of low latency, high realism and dynamic adaptability, providing an immersive interactive experience that can effectively improve the user's immersive experience.
[0005] To achieve the above objectives, this application provides the following solution: Firstly, this application provides a method for constructing interactive animation dynamic scenes based on VR display devices, including: Obtain user status data collected by the VR display device at the current moment.
[0006] Based on the user state data, the finite state machine model, and the set of state transition conditions, the user's current state is determined; the finite state machine model includes an initial state, a first intermediate state, a second intermediate state, and a final state; the first intermediate state is the target selection state; the second intermediate state is the interactive action execution state; the set of state transition conditions records the set of triggering conditions that must be satisfied for a transition between any two states in the finite state machine model.
[0007] When the user's current state is the first intermediate state, a static element matching the user's state data is determined from the static scene element library, and a dynamic element matching the user's state data is determined from the dynamic scene element library; the static element corresponds to a unique static element bounding box parameter; the dynamic element corresponds to a unique animation parameter and a dynamic element bounding box parameter; the animation parameter includes a rotational angular velocity range and a translational velocity range.
[0008] When the user's current state is the second intermediate state, the current interactive animation dynamic scene is rendered and generated based on the determined static elements, the determined dynamic elements, and the action priority management rules. The action priority management rules are rules that use the library to represent the interactive state, the transition to represent the action trigger, and the weight of the arc to represent the action priority.
[0009] The triggering condition is a condition defined by a logical expression, which is an expression obtained by comparing and calculating user status data items with preset threshold items.
[0010] When the time for transition between any two states in the finite state machine model exceeds a first threshold, or the number of false trigger events in any state of the finite state machine model within a set time period exceeds a second threshold, the preset threshold term of the logical expression is adjusted, and the triggering condition is updated.
[0011] Secondly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the interactive animation dynamic scene construction method based on a VR display device as described above.
[0012] This application provides a method and related apparatus for constructing interactive animation dynamic scenes based on VR display devices, which has the following beneficial effects: A method for constructing interactive animation dynamic scenes based on VR display devices is proposed. This method constructs a finite state machine model containing an initial state, a first intermediate state, a second intermediate state, and a final state. The triggering conditions for state transitions are defined by logical expressions. Interactive actions are modeled using action priority management rules, and priorities are represented by arc weights. Simultaneously, an adaptive mechanism for state transition conditions is established. When the time delay between any two states in the finite state machine model or the number of false trigger events in any state of the finite state machine model within a set time period exceeds a preset threshold, the preset threshold term in the logical expression is automatically adjusted to achieve adaptive optimization of the interactive logic, thereby reducing interaction delays and false triggers. Attached Figure Description
[0013] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0014] Figure 1 This is an application environment diagram of an interactive animation dynamic scene construction method based on a VR display device according to an embodiment of this application; Figure 2 A flowchart illustrating a method for constructing interactive animation dynamic scenes based on a VR display device, provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0015] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0016] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0017] The interactive animation dynamic scene construction method based on VR display devices provided in this application embodiment can be applied to, for example... Figure 1In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be set up independently, integrated into server 104, or placed in the cloud or on another server. Terminal 102 can send user status data to be processed to server 104. After receiving the user status data, server 104 obtains the user status data collected by the VR display device at the current moment. Based on the user status data, the finite state machine model, and the set of state transition conditions, the current state of the user is determined. The finite state machine model includes an initial state, a first intermediate state, a second intermediate state, and a termination state. The first intermediate state is the target selection state; the second intermediate state is the interactive action execution state; and the set of state transition conditions records the set of trigger conditions required for a transition between any two states in the finite state machine model. When the user's current state is the first intermediate state, static elements matching the user's state data are determined from the static scene element library, and dynamic elements matching the user's state data are determined from the dynamic scene element library. Each static element corresponds to a unique static element bounding box parameter; each dynamic element corresponds to a unique animation parameter and a dynamic element bounding box parameter. The animation parameters include a range of rotational angular velocity and a range of translational velocity. When the user's current state is the second intermediate state, based on the determined static elements, the determined dynamic elements, and the action priority management rules, an interactive animation dynamic scene for the current moment is rendered and generated. The action priority management rules represent interactive states using the library, action triggers using transitions, and action priority using arc weights. The triggering condition is a condition defined by a logical expression, which is obtained by comparing user state data items with preset threshold items. When the time between any two states in the finite state machine model is greater than a first threshold, or the number of false trigger events in any state of the finite state machine model within a set time period is greater than a second threshold, the preset threshold item of the logical expression is adjusted, and the triggering condition is updated. Server 104 can feed back the obtained interactive animation dynamic scene to terminal 102. Furthermore, in some embodiments, the interactive animation dynamic scene construction method based on the VR display device can also be implemented by either server 104 or terminal 102 independently. For example, terminal 102 can directly construct the interactive animation dynamic scene based on the user state data to be processed, or server 104 can obtain the user state data to be processed from the data storage system and construct the interactive animation dynamic scene based on the user state data.
[0018] The terminal 102 can be, but is not limited to, a portable wearable device. The portable wearable device can be a head-mounted device, etc. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers, or it can be a cloud server.
[0019] In one exemplary embodiment, such as Figure 2 As shown, a method for constructing interactive animated dynamic scenes based on VR display devices is provided. This method is executed by a computer device, specifically by a terminal or server alone, or by both a terminal and a server. In this embodiment, the method is applied to... Figure 1 Taking server 104 as an example, the explanation includes the following steps 201 to 205. Wherein: Step 201: Obtain the user status data collected by the VR display device at the current moment.
[0020] Step 202: Determine the user's current state based on the user state data, the finite state machine model, and the state transition condition set; the finite state machine model includes an initial state, a first intermediate state, a second intermediate state, and a termination state; the first intermediate state is the target selection state; the second intermediate state is the interactive action execution state; the state transition condition set records the set of triggering conditions that must be satisfied for a transition between any two states in the finite state machine model.
[0021] Step 203: When the user's current state is the first intermediate state, determine the static element that matches the user state data from the static scene element library, and determine the dynamic element that matches the user state data from the dynamic scene element library; the static element corresponds to a unique static element bounding box parameter; the dynamic element corresponds to a unique animation parameter and a dynamic element bounding box parameter; the animation parameter includes the rotational angular velocity range and the translational velocity range.
[0022] Step 204: When the user's current state is the second intermediate state, render and generate the current interactive animation dynamic scene based on the determined static elements, the determined dynamic elements, and the action priority management rules; the action priority management rules are rules that use the library to represent the interactive state, the transition to represent the action trigger, and the weight of the arc to represent the action priority.
[0023] Step 205: The triggering condition is a condition defined by a logical expression, which is an expression obtained by comparing and operating on user state data items and preset threshold items. When the time for transition between any two states in the finite state machine model is greater than the first threshold or the number of false triggering events in any state of the finite state machine model within a set time period is greater than the second threshold, the preset threshold item of the logical expression is adjusted, and the triggering condition is updated.
[0024] In another exemplary embodiment of this application, step 201, obtaining the user status data collected by the VR display device at the current moment, specifically includes: Step 301: Based on the VR display device, build a multi-sensor array consisting of a microelectromechanical system gyroscope, a microelectromechanical system accelerometer, a time-of-flight position tracking sensor, a computer vision gesture recognition sensor, and a corneal reflection eye tracker. Each sensor is connected to the VR display device host through a high-speed interface. A synchronous triggering circuit is used to synchronously collect the data of each sensor at the current moment at an appropriate frequency, which can be selected from 50-150Hz.
[0025] Step 302: By calibrating the multi-sensor array, obtain the rotation matrix and translation vector required to transform user status data from the sensor coordinate system to the VR display device coordinate system. For the original sensor coordinates of the user status data acquired by each sensor, first perform orientation calibration by calculating with the rotation matrix, and then perform position calibration by adding the translation vector. This achieves unified conversion of data in the sensor coordinate system to standard coordinate data in the VR display device coordinate system, realizing coordinate unification of multi-sensor data. The user status data collected by each sensor is unified to the VR display device coordinate system, resulting in preliminary processed user status data. The rotation matrix represents the rotational transformation of data from the sensor coordinate system to the VR display device coordinate system, and the translation vector represents the translational transformation of data from the sensor coordinate system to the VR display device coordinate system.
[0026] The user status data includes head posture data, hand movement data, eye gaze point data, and body position data.
[0027] Specifically, the microelectromechanical system (MEMS) gyroscope collects the three-axis angular velocity data of the head in the head posture data; the MEMS accelerometer collects the three-axis acceleration data of the head posture data; the time-of-flight principle position tracking sensor collects the body position data and outputs the XYZ three-axis coordinates of the body position; the computer vision gesture recognition sensor collects the hand movement data and captures the three-dimensional coordinates of the hand joints; and the corneal reflection eye tracker collects the eye fixation point data and outputs the two-dimensional screen coordinates of the eye fixation point and the pupil diameter data.
[0028] Step 303: Preprocess the user status data obtained from the initial processing to obtain user status data.
[0029] The preprocessing specifically includes: For head posture data, a Butterworth low-pass filter was used to remove high-frequency noise. The filter cutoff frequency was set in the range of 20-30Hz, and a 3rd-5th order filter structure was used for noise reduction. For hand movement data, a sliding window median filtering method was used. The window length was set in the range of 15-25 sampling points. The X, Y, and Z coordinates of each joint were processed sequentially, and the median value of the data within the window was taken as the filter output to remove sudden noise interference. For eye gaze point data, a Kalman filter was used to smooth the eye gaze point data. The filter parameters were set according to the characteristics of the eye tracker. For body position data, a moving average filtering method was used to process the body position data. The window length was set in the range of 10-20 sampling points to ensure that the position data was smooth and without abrupt changes.
[0030] In another exemplary embodiment of this application, step 302 involves calibrating the multi-sensor array, specifically as follows: Step 401: Within a standard cubic space with sides of 2-4 meters, each sensor in the multi-sensor array collects sensor data at 100-300 locations using a robotic arm. 5-15 sets of data are collected at each location to obtain calibration sensor sample data. The corresponding sample data in the VR display device coordinate system is then acquired to obtain the calibration sample dataset. The calibration sample dataset includes both the calibration sensor sample data and the sample data in the VR display device coordinate system corresponding to the calibration sensor sample data.
[0031] Step 402, Error Modeling: Construct an error function based on the least squares method, defined as the sum of squared coordinate differences between the sensor coordinate system and the VR display device coordinate system.
[0032] The error function is expressed as: ; It is a 3×3 rotation matrix; It is a 3×1 translation vector; Let be the coordinate vector of the i-th point in the sensor coordinate system; In the coordinate system of VR display devices The corresponding point coordinate vector; This represents the total number of data points collected by the corresponding sensor.
[0033] Step 403, Parameter Solving: Input the calibration sample dataset into the error function and iteratively optimize to find the optimal rotation matrix and optimal translation vector. Initialize the rotation matrix and translation vector to the identity matrix and zero vector, respectively. Iteratively optimize and adjust the parameters using gradient descent until the error converges or the maximum number of iterations is reached. Output the optimal rotation matrix and optimal translation vector.
[0034] The specific solution process for the parameters in step 403 is as follows: Step 501, Initialization: Let the initial value of the rotation matrix be the initial identity matrix, denoted as: The translation vector is initially set to zero, and is represented as follows: .
[0035] Step 502: Iteratively optimize and adjust parameters using gradient descent: in The rotation matrix optimized in the Kth iteration; This is the rotation matrix optimized in the (K+1)th iteration; The translation vector optimized in the Kth iteration; The translation vector optimized in the (K+1)th iteration; It is the error function; The learning rate; and For gradient calculation.
[0036] Step 503, Gradient Calculation: in, Let E be the gradient of the error function E with respect to the rotation matrix; Let E be the gradient of the error function with respect to the translation vector; R be the rotation matrix; It is a translation vector.
[0037] Step 504: When the sum of the squared differences between the sensor coordinate system and the VR display device coordinate system of two consecutive error functions is less than a preset value, it is expressed as... When the maximum number of iterations is reached (e.g., 50 times), the multi-sensor array calibration process ends. At this point, the rotation matrix and translation vector are the rotation matrix and translation vector required to transform the user state data from the sensor coordinate system to the VR display device coordinate system.
[0038] Step 505: Verify using independent test points to ensure that the rotation matrix and translation vector required to transform the user status data obtained in step 504 from the sensor coordinate system to the VR display device coordinate system are used. The calibration error between the coordinate values obtained by transforming the sensor coordinates of the independent test points to the VR display device coordinates and the actual VR display device coordinate values corresponding to the independent test points is less than 0.01 meters, ensuring the accuracy of unifying multi-sensor data into the VR display device coordinate system.
[0039] In another exemplary embodiment of this application, the user's current state is determined based on user state data, a finite state machine model, and a set of state transition conditions, specifically as follows: In the initial state, the system waits for the user to trigger an interaction command.
[0040] The first intermediate state is the target selection state; the system detects the user's selection operation on a virtual scene element. The second intermediate state is the interaction action execution state; the system responds to the user's operation command on the selected target. The final state is the termination state; the system completes the interaction operation and resets to the initial state.
[0041] The state transition condition set is a set of triggering conditions that must be satisfied for a transition between any two states in the finite state machine model.
[0042] In another exemplary embodiment of this application, the triggering condition is a condition defined by a logical expression. This logical expression is obtained by comparing user state data items with preset threshold items. For example, the logical expression for the state transition condition from the initial state to the first intermediate state is that the hand pinching action must be true based on hand movement data, the duration of the eye gaze on the target scene element must be ≥0.3s based on eye gaze data, and the head posture rotation angle must be ≤15° based on head posture data. The logical expression for the state transition condition from the first intermediate state to the second intermediate state is that the hand movement data must be true based on hand movement data... The conditions for transitioning from the second intermediate state to the final state are as follows: the wrist rotation angle is ≥90°, or the body forward movement distance is ≥0.2m based on body position data, and the current action priority is 4 in the action priority management rules; the logical expression for the state transition condition from the second intermediate state to the final state is that the hand release action is true based on hand action data, or the current interaction action execution time is ≥3s, or the duration of the eye gaze point leaving the target scene element is ≥0.5s based on eye gaze point data; the transition from the final state to the initial state is required to satisfy that the operation completion flag of the current interaction action execution result is true based on user state data, and there is no new interaction instruction trigger time of ≥1s.
[0043] In another exemplary embodiment of this application, the finite state machine model adopts an event-driven mechanism to maintain an input event queue and record information such as the time of transition between any two states in the finite state machine model and the number of times a false trigger event occurs in any state of the finite state machine model within a set time period to the interaction log. When the time of transition between any two states in the finite state machine model is greater than a first threshold or the number of times a false trigger event occurs in any state of the finite state machine model within a set time period is greater than a second threshold, the preset threshold term of the logical expression is adjusted, the triggering condition is updated, and the logical expression is optimized. The time of transition between any two states in the finite state machine model refers to the time from when the VR display device receives user interaction input (such as a controller click or gesture recognition) to when it generates corresponding visual feedback, in milliseconds. The first threshold is set between 100-200ms; exceeding the first threshold is considered a delay. A false trigger event refers to an interaction event that the system incorrectly identifies when the user has not performed an effective interaction, such as the system misjudging a click when the user has not touched the controller. The second threshold is set to 2-4 false triggers per minute; that is, if the number of false triggers per minute exceeds the second threshold, the threshold adjustment is triggered.
[0044] The adjustment method for the preset threshold term in the logical expression is to multiply the original threshold by a coefficient related to the number of false triggers. For example, the adjusted threshold = original threshold × (1 + 0.05 - 0.15 × number of false triggers). The exponential smoothing method is used to avoid drastic fluctuations in the threshold.
[0045] The system samples data from each sensor at fixed time intervals (e.g., every 10ms), substitutes the data into logical expressions, and triggers a corresponding state transition when the expression result is true. If multiple expressions satisfy the condition simultaneously, the execution order is determined by the weight priority of the action priority management rule arc.
[0046] In another exemplary embodiment of this application, the action priority management rule is a Petri net priority management rule.
[0047] The core steps of the Petri net priority management include: Model definition: Places represent interaction states (idle state, selected state, interaction execution state, interaction end state), transitions represent action triggers (head rotation, hand click, eye gaze, etc.), arc weights define priorities (e.g., priority can be set to 1-5 levels, and the priority for eye gaze can be set to 4-5); weight values are within a certain range.
[0048] Conflict detection: Real-time check whether the token count of the input place corresponding to the transition meets the triggering condition, such as when the gaze point enters the target area, the "select place" token count is 1.
[0049] Priority processing: When multiple transitions meet the simultaneous condition, the priority queue is sorted by arc weight, and the transitions are processed sequentially according to the priority queue. Transitions with higher weights are triggered first, such as eye gaze triggering taking precedence over head rotation. If both head rotation and eye gaze are detected simultaneously, the dynamic element associated with eye gaze is responded to first.
[0050] State update: After a transition is triggered, the token is removed from the input library corresponding to the transition and added to the output library corresponding to the transition, driving the system state transition and executing the corresponding action.
[0051] This application constructs the interaction process using a finite state machine model and combines it with Petri nets to implement action priority management, ensuring clear definition and efficient execution of the interaction logic.
[0052] In another exemplary embodiment of this application, the user state data includes head pose data, hand movement data, eye gaze point data, and body position data. Determining static elements from a static scene element library that match the user state data specifically includes: The user's perspective is calculated based on the head posture data and the body position data.
[0053] Based on the static element index table, static elements within the user's field of view are selected from the static scene element database.
[0054] Pair all the selected static elements together to obtain all unique static element pairs.
[0055] Axial separation tests are performed on the bounding box parameters of the static element pairs corresponding to each pair of static elements using directional bounding boxes to determine multiple test results; the test results are used to preliminarily determine whether static element pairs that have collided or static element pairs that have not collided.
[0056] When the test result indicates that a static element pair has collided, an axis-aligned bounding box is used to perform collision detection on the corresponding static element pair to obtain the collision result; the collision result is the final determination of whether a static element pair has collided or not.
[0057] All static elements that are finally determined to have collided are identified as static elements that match the user state data.
[0058] In another exemplary embodiment of this application, the user's perspective includes a view matrix and a projection matrix.
[0059] Calculating the user's perspective based on the head pose data and the body position data specifically includes: The head pose quaternion is obtained based on the head pose data.
[0060] Based on head pose quaternions and body position data, a view matrix is obtained using the LookAt function. This view matrix is generated based on the user's position, the user's gaze direction, and the upward direction. The gaze direction endpoint is obtained by rotating the head pose quaternion output from the default forward direction to match the user's actual gaze orientation; the upward direction is obtained by rotating the head pose quaternion output from the default upward vector to match the user's head tilt state.
[0061] The projection matrix is generated by taking appropriate values based on the field of view, aspect ratio, and the distance between the near and far clipping planes.
[0062] Preferably, the projection matrix parameters are set as follows: field of view 60-80°, aspect ratio matching VR screen resolution, near clipping plane 0.03-0.07 meters, far clipping plane 100-300 meters, to ensure natural perspective effect.
[0063] The view matrix and projection matrix together constitute the user's perspective, providing a unified user perspective framework for subsequent static element loading and dynamic element trajectory generation. Collision detection is performed only on static and dynamic elements within the user's visible range, reducing unnecessary calculations. All scene elements must be rendered within this user perspective framework to avoid the problem of viewpoint offset and disconnection from user perception.
[0064] In another exemplary embodiment of this application, an axial separation test is performed on the corresponding static element bounding box parameters for each static element using a directional bounding box, specifically including: Calculate 12-18 separation axes for the bounding box parameters of each static element pair, where each separation axis includes coordinate axes and cross product axes. Project the vertices of the bounding box of the static element pair along the separation axes to obtain the separation axis projections. If any separation axis projection of the static element pair does not overlap, it is determined that there is no collision, and a collision-free static element pair is obtained; if all separation axis projections of the static element pair overlap, it is determined that there is a collision, and a static element pair that is preliminarily determined to have a collision is obtained.
[0065] In another exemplary embodiment of this application, when the test result indicates that a static element pair has collided, an axis-aligned bounding box is used to perform collision detection on the corresponding static element pair to obtain the static element collision result, specifically including: An axis-aligned bounding box is used to perform precise collision detection on the static element pairs initially judged to have collided. The overlap of the static elements in the static element pairs initially judged to have collided is judged on the X-axis, Y-axis, and Z-axis. When the X-axis, Y-axis, and Z-axis of the static element pairs initially judged to have collided overlap, a collision is determined, and a static element pair finally judged to have collided is obtained. When the X-axis, Y-axis, and Z-axis of the static element pairs initially judged to have collided do not overlap in any of the three axes, a collision-free static element pair is determined, and a collision-free static element pair is obtained.
[0066] All static elements that are finally determined to have collided are identified as static elements that match the user state data.
[0067] This step outputs precisely loaded static elements, with no collision redundancy. Only static elements within the viewpoint that may generate interaction are retained, providing a static basic environment for scene construction. Subsequent dynamic elements will move within this static environment, forming a basic framework of static scene plus dynamic interaction.
[0068] A two-step filtering process is used to retain only static elements within the user's field of view that may generate interaction. First, based on the head pose data and body position data, a view matrix and projection matrix are calculated to determine the user's current field of view. Static elements within this field of view are then filtered from the static scene element database, directly excluding elements outside the user's field of view. Second, the filtered static elements within the user's field of view are further filtered using a hierarchical bounding box collision detection method. First, an axial separation test is performed using a directional bounding box to preliminarily determine if an element may collide with the user or dynamic elements. After a preliminary determination of potential collision, a precise collision detection is performed using an axis-aligned bounding box to finally filter out the static elements that have collided, i.e., the static elements that may generate interaction.
[0069] After these two steps of filtering, only static elements within the field of view that may generate interaction can be retained.
[0070] The final determination of the static element that has collided triggers a collision response based on the collision result and action priority management rules, such as object bounce or sound feedback.
[0071] In another exemplary embodiment of this application, determining the dynamic element that matches the user state data from the dynamic scene element library specifically includes: The user's perspective is calculated based on the head posture data and the body position data.
[0072] Based on the dynamic element index table, dynamic elements within the user's field of view are selected from the dynamic scene element database. Ensure that the movement trajectories of the dynamic elements are visible within the user's field of view.
[0073] Based on the action priority management rules, the priority order of all the selected dynamic elements is determined.
[0074] Based on the priority order of the dynamic elements, differential interpolation is performed on the animation parameters corresponding to each selected dynamic element to obtain the processed dynamic elements and the animation parameters corresponding to each processed dynamic element.
[0075] Load the static elements that match the user status data to build a static basic environment.
[0076] Each processed dynamic element is subjected to collision detection with the static base environment to obtain the dynamic element collision result; the dynamic element collision result is the final judgment of whether a collision occurs or no collision occurs.
[0077] The dynamic element whose collision result is determined to be the dynamic element that is finally determined to be in collision is identified as the dynamic element that matches the user state data.
[0078] Based on the head posture data and the hand movement data, the animation parameters corresponding to the dynamic elements that match the user state data are adjusted to obtain the final animation parameters corresponding to the dynamic elements that match the user state data.
[0079] Dynamic elements matching the user state data trigger a collision response based on the collision result and action priority management rules.
[0080] In another exemplary embodiment of this application, the method for constructing an interactive animation dynamic scene based on a VR display device is characterized by further comprising: calculating the changes in the position and rotation angle of scene elements based on the current interactive animation dynamic scene; and triggering a scene update when the changes in the position of scene elements exceed a third threshold or the changes in the rotation angle exceed a fourth threshold.
[0081] The statement that the change in the position of scene elements exceeds the third threshold refers to the change in the position coordinates of scene elements in the previous interactive animation scene compared to the previous interactive animation scene.
[0082] The change in rotation angle exceeding the fourth threshold means that the change in the rotation angle coordinates of scene elements in the previous interactive animation scene exceeds the fourth threshold.
[0083] The triggering scenario update specifically includes: The system first relies on the scene element dependency graph to find affected elements that are associated with elements whose position changes exceed the third threshold or whose rotation angle changes exceed the fourth threshold through depth-first traversal. Then, it updates the element data—static elements recalculate the bounding box parameters, and dynamic elements update their motion trajectories based on keyframe interpolation (linear interpolation for translation and spherical linear interpolation for rotation). Finally, it performs incremental rendering, rendering only the affected elements, and generates the current frame image by combining the view matrix and projection matrix, skipping unchanged elements.
[0084] An incremental rendering approach is adopted to maintain a scene element dependency graph that records the parent-child hierarchy and animation relationships of elements. During updates, affected elements are rendered in depth-first order, and unchanged elements are skipped.
[0085] The scene element dependency graph is actively maintained by the system during the construction and management of dynamic scenes. This dependency graph records the parent-child hierarchy of all elements in the scene, as well as the animation associations between different elements. When a scene update needs to be triggered, the system does not need to rebuild it, but can directly call this pre-maintained scene element dependency graph.
[0086] During the construction and operation of interactive animated dynamic scenes based on VR display devices, the system continuously maintains a dependency graph of scene elements. The dependency graph clearly records two key pieces of information: firstly, the parent-child hierarchical relationship of scene elements, such as the hierarchical association between a certain type of main element and its subordinate elements in a virtual scene, where child elements will change accordingly following the state changes of the parent element; secondly, the animation association relationship between scene elements, such as the association between a certain type of element with interactive triggering function and the corresponding element that executes the response animation, where when the triggering element performs an interactive action, the associated animation element will execute the matching animation.
[0087] This maintenance method allows the scene element dependency graph to clearly show the relationship logic between elements, providing an accurate basis for rendering affected elements in depth-first order and skipping unchanged elements during subsequent scene updates, thus ensuring the efficient implementation of incremental rendering.
[0088] In another exemplary embodiment of this application, based on the determined static elements, the determined dynamic elements, and the action priority management rules, an interactive animation dynamic scene for the current moment is rendered and generated, specifically including: Load the dynamic elements that match the user state data and the corresponding final animation parameters, and align the corresponding final animation parameters with the coordinates of the static base environment to obtain the interactive animation scene.
[0089] Incremental rendering is used to render static elements in the interactive animation scene.
[0090] According to the action priority management rules, the priority order of dynamic elements in the interactive animation scene is determined, and according to the priority order of dynamic elements in the interactive animation scene, incremental rendering is used to render the dynamic elements in the interactive animation scene to obtain the interactive animation scene at the current moment.
[0091] In another exemplary embodiment of this application, the priority order includes high priority and low priority; for example, the head rotation priority order is lower than the eye gaze priority order. If head rotation and eye gaze are detected at the same time, the dynamic element associated with eye gaze is responded to first.
[0092] The step of performing differential interpolation processing on the animation parameters corresponding to the dynamic elements according to their priority order specifically includes: The animation parameters include the range of rotational angular velocity and the range of translational velocity.
[0093] A linear interpolation algorithm is used to process the translation speed of high-priority dynamic elements, a spherical linear interpolation algorithm is used to process the rotation angle of high-priority dynamic elements, and a simplified interpolation algorithm is used to process the animation parameters of low-priority dynamic elements.
[0094] In particular, the time step of trajectory interpolation needs to match the frequency of data acquisition by the multi-sensor array to avoid trajectory stuttering due to mismatch between the step size and the data frequency.
[0095] In another exemplary embodiment of this application, a linear interpolation algorithm is used to process the translation velocity of high-priority dynamic elements, and a spherical linear interpolation algorithm is used to process the rotation angle of high-priority dynamic elements, specifically including: The linear interpolation keyframe position is calculated using the formula: Current position = Starting position + (Ending position - Starting position) × Normalized time. The time step matches the rendering frequency, such as 30-120Hz.
[0096] Spherical linear interpolation quaternions are used to calculate the angle between adjacent keyframes, and intermediate rotation poses are generated through weight allocation to ensure smoothness and no jitter.
[0097] By using linear interpolation and spherical linear interpolation, smooth dynamic element motion trajectories and rendering results are output, which are then combined with the output static elements to form a complete interactive animated dynamic scene.
[0098] In another exemplary embodiment of this application, the step of performing collision detection between each processed dynamic element and the static base environment to obtain the dynamic element collision result specifically includes: Based on the processed dynamic elements and the bounding box parameters corresponding to each processed dynamic element, an axial separation test is performed on the bounding box parameters corresponding to each processed dynamic element using a directional bounding box to determine the dynamic element test results; the dynamic element test results are used to preliminarily determine whether a collision has occurred or whether there is no collision.
[0099] When the test result indicates that a collision has occurred, an axis-aligned bounding box is used to perform precise collision detection on the corresponding dynamic element to obtain the collision result of the dynamic element.
[0100] This application achieves highly realistic scene rendering and interactive feedback through viewpoint matrix calculation, hierarchical bounding box collision detection, and keyframe interpolation algorithms.
[0101] In another exemplary embodiment of this application, the interactive animation dynamic scene construction method based on a VR display device is characterized by further comprising: constructing a dynamic scene element library.
[0102] The construction of the dynamic scene element library specifically includes: Based on the dynamic elements in the dynamic scene element library and the corresponding animation parameters of the dynamic elements, uniform sampling (fixed time interval or fixed number of trajectory points) is performed from the animation parameters of the dynamic elements to calculate the average velocity, acceleration variance, and turning frequency of the dynamic elements, thereby obtaining the three-dimensional feature vector of the dynamic elements.
[0103] The K-means++ algorithm is used to select a vector of the three-dimensional feature vector of the dynamic elements as the initial centroid to ensure that the distance between the centroids is maximized. The number of initial centroids for clustering is determined to be 8-12 classes by the elbow rule.
[0104] Calculate the Euclidean distance between all 3D feature vectors and the initial centroid of each cluster, assign the 3D feature vectors to the nearest cluster, update the initial centroid of the cluster to the mean of all 3D feature vectors in the cluster, and repeat until the centroid is stable or 50 iterations are reached.
[0105] The core of the K-means++ algorithm is to select the initial centroid using probability, thus avoiding local optima caused by random initialization. The calculation process is as follows: Step 601: Randomly select one three-dimensional feature vector from all three-dimensional feature vectors as the first initial centroid.
[0106] Step 602: Calculate the shortest distance D(x) between each of the remaining three-dimensional features and the first initial centroid, and calculate the sum of squares S of all D(x).
[0107] Step 603: Generate a random number R between 0 and S, iterate through the three-dimensional feature vectors and accumulate D(x) to obtain the sum of squares of D(x). When the sum of squares of accumulated D(x) is ≥ R, select the current three-dimensional feature vector as the next initial centroid.
[0108] Step 604: Repeat steps 602-603 until a preset number of initial centroids are selected. The preset number is the number of clusters.
[0109] The number of clusters is determined to be 8-12 using the elbow rule, specifically including: Step 701: Calculate the total squared error (SSE) when the number of clusters k ranges from 2 to 15. SSE is the sum of squared Euclidean distances from all feature vectors to the centroids of their respective clusters.
[0110] Step 702: Plot a curve with k as the horizontal axis and SSE as the vertical axis. The curve will gradually decrease as k increases, meaning that the more clusters there are, the finer the clusters are, and the smaller the total squared error is.
[0111] Step 703: Find the curve "inflection point" (elbow). When k continues to increase from a certain value, the decrease in SSE drops sharply. The k corresponding to this inflection point is the optimal number of clusters.
[0112] Step 704: Based on actual needs, determine the specific value of k within the empirical range of 8-12 classes. For example, if the inflection point corresponds to k=10, then select 10 clusters.
[0113] The process involves calculating the Euclidean distance between all 3D feature vectors and the initial centroids of each cluster, assigning the 3D feature vectors to the nearest cluster, updating the initial centroids of the clusters to the mean of the 3D feature vectors of all dynamic elements within the cluster, and repeating this process until the centroids stabilize or 50 iterations are reached. Step 801, Initialization: Using the initial centroids and number of clusters determined by K-means++, assign all three-dimensional feature vectors to the nearest cluster.
[0114] Step 802, Update centroid: Calculate the mean of the three-dimensional feature vectors of all dynamic elements in each cluster, and use it as the new centroid of that cluster.
[0115] Step 803, Reassignment: Based on the new centroids, recalculate the Euclidean distance of each 3D feature vector to all new centroids and assign it to the nearest cluster.
[0116] Step 804, Iterative Loop: Repeat steps 802-804 until any of the following conditions are met: If the difference between the sum of squares of all D(x) in the current iteration and the previous iteration is less than or equal to a preset threshold (e.g., 0.001), the centroid is stable; or the number of iterations reaches 50 (to prevent infinite loops).
[0117] The classification results obtained include the stable centroid of the cluster, the dynamic set of elements contained in the cluster, and the three-dimensional feature vectors corresponding to each element.
[0118] A dynamic element index table is created for each classification result. This table includes multiple index entries, each containing a dynamic element, its corresponding element ID, trajectory pointer (a pointer to the original data storage address of each element's motion trajectory), animation parameters, and dynamic element bounding box parameters. The trajectory pointer is a pointer to the original data storage address of each element's motion trajectory. The animation parameters include rotational velocity ranges and translational velocity ranges, such as a rotational angular velocity range of 5-30° / s and a translational velocity range of 0.1-2.0 m / s.
[0119] In another exemplary embodiment of this application, the interactive animation dynamic scene construction method based on a VR display device further includes: Update the dynamic elements in the dynamic scene element database according to the current interactive animation dynamic scene.
[0120] In another exemplary embodiment of this application, the dynamic elements in the dynamic scene element database are updated according to the current interactive animation dynamic scene, specifically as follows: Periodically (every 3-10 minutes), based on the current interactive animation dynamic scene, update the dynamic elements in the dynamic scene element database, as well as the trajectory pointer and animation parameters corresponding to each dynamic element; the trajectory pointer is a pointer to the storage address of the dynamic element.
[0121] Based on the animation parameters corresponding to the updated dynamic elements, the average velocity, acceleration variance, and turning frequency of the updated dynamic elements are calculated to obtain the three-dimensional feature vector of the updated dynamic elements.
[0122] Based on the updated three-dimensional feature vectors of the dynamic elements and the clustering algorithm, the dynamic elements in the updated dynamic element library are classified to obtain the updated classification results.
[0123] Based on the updated classification results, a new dynamic element index table is created; the dynamic element index table includes multiple dynamic element index data, each of which includes the updated dynamic element and the corresponding element ID, trajectory pointer, animation parameters, and dynamic element bounding box parameters.
[0124] Based on the updated three-dimensional feature vectors of the dynamic elements and the clustering algorithm, the dynamic elements in the updated dynamic element library are classified to obtain updated classification results, specifically including: Based on the updated three-dimensional feature vector of the dynamic element, dynamic elements whose shortest distance between the updated three-dimensional feature vector of the dynamic element and the centroid of the classification result to which the updated dynamic element belongs is more than 1.5-2.5 times the standard deviation are detected. These dynamic elements are identified as outliers and are reassigned to the nearest cluster.
[0125] Iterative updates are performed using steps 802-803 until the cluster centers are stable.
[0126] The update of the dynamic elements in the dynamic scene element database, as well as the trajectory pointer and animation parameters corresponding to each dynamic element, includes: newly added dynamic elements, their corresponding trajectory pointers and animation parameters, and the updated trajectory pointers and animation parameters of existing dynamic elements.
[0127] The emergence of new dynamic elements is mainly based on the actual needs of VR scene construction and interaction. On the one hand, during the interaction between the user and the VR scene, new scene content may be triggered, such as unlocking new virtual scene modules or triggering specific interactive events. At this time, the system will automatically add corresponding dynamic elements according to the preset interaction logic to complete the expansion of scene content and interactive response. On the other hand, in the process of updating and optimizing dynamic scenes, in order to enrich the scene layers and enhance the user's immersive experience, new types of dynamic elements will be actively added, such as adding virtual props and virtual environment components. These new elements will be included in the dynamic element library and participate in subsequent clustering analysis and index management.
[0128] The changes in the motion trajectory pointer and animation parameters of dynamic elements are mainly due to three reasons: First, the direct impact of user interaction. When users operate dynamic elements through VR devices, they change the original motion state of the elements, such as adjusting the movement speed or changing the direction of movement, which in turn changes the core motion characteristics such as average speed, acceleration variance, or turning frequency. Second, the adjustment of the animation parameters of the dynamic elements themselves. In order to adapt to the optimization of scene interaction logic, the system may adjust the motion parameters of the elements, causing the motion characteristics of the elements to change accordingly. Third, changes in scene functional requirements. When the virtual scene needs to present new interactive effects or scene content, the motion trajectory of the dynamic elements will be adjusted accordingly, and their motion characteristics will naturally change as well.
[0129] The dynamic elements in the dynamic scene element database, as well as the trajectory pointers and animation parameters corresponding to the dynamic elements, are periodically updated, and centroid optimization clustering is calculated. The purpose is to adapt to the changes in the motion characteristics of the dynamic elements, update the cluster centers to maintain classification accuracy, avoid clustering deviations caused by data changes, and ensure the accuracy of dynamic element calls during subsequent scene rendering.
[0130] In another exemplary embodiment of this application, the interactive animation dynamic scene construction method based on a VR display device is characterized by further comprising: constructing a static scene element library.
[0131] The construction of the static scene element library specifically includes: The static scene element library is divided according to the virtual scene space, and multiple cubic mesh units are divided at equal intervals along the X, Y and Z axes.
[0132] Create a static element index table for each mesh cell. The static element includes multiple static element index data. Each static element index data includes the static element, the element ID corresponding to the static element, the model file storage path, and the static element bounding box parameters.
[0133] Creating a static element index table for each grid cell significantly improves retrieval efficiency. If the entire static scene element library uses only one static element index table, searching for elements requires traversing the entire table to match grid cell information, which increases time consumption. However, each grid cell corresponds to an independent static element index table, which can directly locate the grid cell where the element is located, quickly obtain the unique identifier of the static element in the cell, the model file storage path, and the static element bounding box parameters, and reduce redundant calculations.
[0134] This application presents a method for constructing interactive animation dynamic scenes based on VR display devices. It constructs a finite state machine model that includes initial, intermediate, and final states, defines state transition conditions with logical expressions, models interactive actions using Petri nets and represents priorities with arc weights, and establishes a user feedback log table. When interaction delay or false triggering exceeds the limit, the state transition threshold is automatically adjusted to achieve adaptive optimization of the interaction logic and reduce interaction delay and false triggering.
[0135] Furthermore, this method for constructing interactive animation dynamic scenes based on VR display devices utilizes a grid system to divide static scene elements into virtual scene spaces and establish an index table. It then extracts feature vectors from dynamic scene elements based on their motion characteristics and clusters them. The method periodically scans the dynamic scene element library and iteratively updates the cluster centers to the average value of the feature vectors within each cluster. This ensures the accuracy of motion feature classification for dynamic scene elements, improves scene construction and rendering effects, and enhances the immersive experience. It addresses the problems of existing technologies in constructing interactive animation dynamic scenes, which often rely on fixed rules for defining interaction logic, lack an adaptive optimization mechanism for user behavior, and struggle to dynamically adjust interaction state transition thresholds based on actual interaction effects, leading to interaction delays or false triggers. Additionally, the inability to update the cluster centers of the dynamic scene element library in real time results in decreased accuracy of scene element motion feature classification, further impacting the user's immersive experience.
[0136] The relevant modules involved in this system are all hardware system modules or functional modules that combine computer software programs or protocols with hardware in the prior art. The computer software programs or protocols involved in these functional modules are technologies known to those skilled in the art and are not improvements to this system. The improvement of this system lies in the interaction or connection between the modules, that is, in improving the overall structure of the system to solve the corresponding technical problems that this system aims to address.
[0137] This application also provides an application scenario in which the above-described method for constructing interactive animation dynamic scenes based on VR display devices is applied. Specifically, the method for constructing interactive animation dynamic scenes based on VR display devices provided in this embodiment can be applied in the construction of interactive animation dynamic scenes. The construction of interactive animation dynamic scenes includes a data acquisition stage, a data processing link, and a result display stage; data enters the data processing link from the data acquisition stage, obtains corresponding results through human-computer collaboration, and then enters the downstream result display stage. The method for constructing interactive animation dynamic scenes based on VR display devices provided in this embodiment belongs to the data processing link. Specifically, the construction of interactive animation dynamic scenes is implemented during the data processing link process.
[0138] Based on the same inventive concept, this application also provides an interactive animation dynamic scene construction and processing device for realizing the above-mentioned VR display device-based interactive animation dynamic scene construction and processing apparatus. The solution provided by this apparatus is similar to the solution described in the above-described method. Therefore, the specific limitations of one or more embodiments of the interactive animation dynamic scene construction apparatus based on VR display devices provided below can be found in the limitations of the interactive animation dynamic scene construction method based on VR display devices above, and will not be repeated here.
[0139] In one exemplary embodiment, a computer device is provided, which may be a server or a terminal, and its internal structure diagram may be as follows. Figure 3As shown, the computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database is used for a method of constructing interactive animation dynamic scenes based on a VR display device. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for constructing interactive animation dynamic scenes based on a VR display device.
[0140] Those skilled in the art will understand that Figure 3 The structures shown are merely block diagrams of some structures related to the present application and do not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements. In an exemplary embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0141] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0142] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0143] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0144] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).
[0145] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0146] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0147] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for constructing interactive animated dynamic scenes based on VR display devices, characterized in that, The method for constructing interactive animation dynamic scenes based on VR display devices includes: Acquire user status data collected by the VR display device at the current moment; Based on the user state data, the finite state machine model, and the set of state transition conditions, the user's current state is determined; the finite state machine model includes an initial state, a first intermediate state, a second intermediate state, and a final state; the first intermediate state is the target selection state; the second intermediate state is the interaction action execution state; the set of state transition conditions records the set of trigger conditions that must be satisfied for a transition between any two states in the finite state machine model. When the user's current state is the first intermediate state, a static element matching the user's state data is determined from the static scene element library, and a dynamic element matching the user's state data is determined from the dynamic scene element library; the static element corresponds to a unique static element bounding box parameter; the dynamic element corresponds to a unique animation parameter and a dynamic element bounding box parameter; the animation parameter includes a rotational angular velocity range and a translational velocity range. When the user's current state is the second intermediate state, the current interactive animation dynamic scene is rendered and generated based on the determined static elements, the determined dynamic elements, and the action priority management rules. The action priority management rules are rules that use the library to represent the interactive state, the transition to represent the action trigger, and the arc weight to represent the action priority. The triggering condition is a condition defined by a logical expression, which is an expression obtained by comparing and operating on user status data items and preset threshold items. When the time for transition between any two states in the finite state machine model exceeds a first threshold, or the number of false trigger events in any state of the finite state machine model within a set time period exceeds a second threshold, the preset threshold term of the logical expression is adjusted, and the triggering condition is updated.
2. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 1, characterized in that, The user state data includes head posture data, hand movement data, eye gaze point data, and body position data; static elements matching the user state data are determined from a static scene element library, specifically including: Calculate the user's perspective based on the head posture data and the body position data; Based on the static element index table, static elements within the user's field of view are selected from the static scene element database; Pair all the selected static elements together to obtain all unique static element pairs. A directional bounding box is used to perform axial separation tests on the bounding box parameters of each static element pair to determine multiple test results; the test results are used to preliminarily determine whether the static element pairs that collided or did not collide. When the test result indicates that a static element pair has collided, an axis-aligned bounding box is used to perform collision detection on the corresponding static element pair to obtain the collision result; the collision result is the final determination of whether a static element pair has collided or not. All static elements that are finally determined to have collided are identified as static elements that match the user state data.
3. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 1, characterized in that, The user status data includes head posture data, hand movement data, eye gaze point data, and body position data; The dynamic elements that match the user state data are determined from the dynamic scene element library, specifically including: Calculate the user's perspective based on the head posture data and the body position data; Based on the dynamic element index table, dynamic elements within the user's field of view are selected from the dynamic scene element database; Based on the action priority management rules, determine the priority order of all the selected dynamic elements; Based on the priority order of the dynamic elements, differential interpolation processing is performed on the animation parameters corresponding to each selected dynamic element to obtain the processed dynamic elements and the animation parameters corresponding to each processed dynamic element. Load the static elements that match the user state data to build a static basic environment; Each processed dynamic element is subjected to collision detection with the static base environment to obtain the dynamic element collision result; the dynamic element collision result is the final judgment of whether a collision occurs or no collision occurs. The dynamic element whose collision result is the final judgment is determined as the dynamic element that matches the user state data. Based on the head posture data and the hand movement data, the animation parameters corresponding to the dynamic elements that match the user state data are adjusted to obtain the final animation parameters corresponding to the dynamic elements that match the user state data.
4. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 3, characterized in that, Based on the determined static elements, the determined dynamic elements, and the action priority management rules, render and generate the current interactive animation dynamic scene, specifically including: Load the dynamic elements that match the user state data and the corresponding final animation parameters, and align the corresponding final animation parameters with the coordinates of the static base environment to obtain the interactive animation scene; Incremental rendering is used to render static elements in the interactive animation scene; According to the action priority management rules, the priority order of dynamic elements in the interactive animation scene is determined, and according to the priority order of dynamic elements in the interactive animation scene, incremental rendering is used to render the dynamic elements in the interactive animation scene to obtain the interactive animation scene at the current moment.
5. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 3, characterized in that, The priority order includes high priority and low priority; the differential interpolation processing of the animation parameters corresponding to the dynamic elements according to the priority order of the dynamic elements specifically includes: A linear interpolation algorithm is used to process the translation speed of high-priority dynamic elements, a spherical linear interpolation algorithm is used to process the rotation angle of high-priority dynamic elements, and a simplified interpolation algorithm is used to process the animation parameters of low-priority dynamic elements.
6. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 3, characterized in that, The step of performing collision detection between each processed dynamic element and the static basic environment to obtain the collision result of the dynamic element specifically includes: Based on the processed dynamic elements and the bounding box parameters of each processed dynamic element, an axial separation test is performed on the bounding box parameters of each processed dynamic element using a directional bounding box to determine the dynamic element test results; the dynamic element test results are used to preliminarily determine whether a collision has occurred or a collision has not occurred. When the test result indicates that a collision has occurred, an axis-aligned bounding box is used to perform precise collision detection on the corresponding dynamic element to obtain the collision result of the dynamic element.
7. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 1, characterized in that, The method for constructing interactive animation dynamic scenes based on VR display devices also includes: Update the dynamic elements in the dynamic scene element database according to the current interactive animation dynamic scene.
8. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 7, characterized in that, Based on the current interactive animation scene, update the dynamic elements in the dynamic scene element database, specifically as follows: Based on the current interactive animation dynamic scene, update the dynamic elements in the dynamic scene element database, as well as the trajectory pointer and animation parameters corresponding to each dynamic element; the trajectory pointer is a pointer to the storage address of the dynamic element; Based on the animation parameters corresponding to the updated dynamic elements, the average velocity, acceleration variance, and turning frequency of the updated dynamic elements are calculated to obtain the three-dimensional feature vector of the updated dynamic elements. Based on the updated three-dimensional feature vectors of the dynamic elements and the clustering algorithm, the dynamic elements of the updated dynamic element library are classified to obtain the updated classification results. Based on the updated classification results, a new dynamic element index table is created; the dynamic element index table includes multiple dynamic element index data, each of which includes the updated dynamic element and the corresponding element ID, trajectory pointer, animation parameters, and dynamic element bounding box parameters.
9. The method for constructing interactive animation dynamic scenes based on VR display devices according to claim 1, characterized in that, Also includes: Build a static scene element library; The construction of the static scene element library specifically includes: The static scene element library is divided according to the virtual scene space, and multiple cubic mesh units are divided at equal intervals along the X, Y and Z axes; Create a static element index table for each mesh cell. The static element includes multiple static element index data. Each static element index data includes the static element, the element ID corresponding to the static element, the model file storage path, and the static element bounding box parameters.
10. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the interactive animation dynamic scene construction method based on a VR display device as described in any one of claims 1-9.