Action level detail adaptive playing method and system
Patent Information
- Application Number
- CN202610980423.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-02
- Publication Date
- 2026-10-30
AI Technical Summary
然而,这种方式缺乏自动化的分级机制,参数设置依赖人工经验,且未考虑骨骼裁剪等维度的优化,难以在复杂场景中稳定平衡性能与视觉质量
[0009]本发明的有益效果在于:本发明通过获取目标角色的视觉重要度因子并计算动作重要度评分,能够根据该评分动态确定动作层次细节等级,进而执行骨骼层级裁剪和关键帧自适应采样,调整参与蒙皮计算的骨骼节点集合和动画更新的目标采样间隔。与现有技术中所有角色统一执行全精度动画计算相比,本发明能够根据角色在场景中的视觉重要度差异化分配动画计算资源,避免对远距离或小占比角色进行无效的高精度计算,从而显著降低CPU/GPU的动画计算开销。同时,通过骨骼层级裁剪,减少了蒙皮变换矩阵的计算量;通过关键帧自适应采样,降低了动画更新的频率,进一步提升了性能;通过在动作层次细节等级切换时对骨骼权重分布和采样间隔分布进行过渡控制,降低了等级切换造成的视觉跳变。此外,由于动作层次细节等级是基于视觉重要度因子自动确定的,无需人工干预,能够适应复杂场景的变化,稳定平衡性能与视觉质量。
Smart Images

Figure CN123015773A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer animation technology, and in particular to a method and system for adaptive playback of motion level details. Background Technology
[0002] With the rapid development of open-world games, massively multiplayer online games (MMOs), and metaverses, the number of characters active simultaneously in virtual scenes has increased from dozens to hundreds or even thousands, posing a severe performance challenge to animation playback systems when rendering a large number of characters.
[0003] In existing technologies, mainstream development engines (such as Unreal Engine and Unity3D) perform full-precision animation calculations on all characters in a scene uniformly, including full skeletal tree skinning, frame-by-frame keyframe interpolation, and full-frequency animation updates. Regardless of the size of the character on the screen or its distance, the same CPU / GPU animation computing resources are consumed. However, this uniform precision mechanism ignores the differences in visual importance of different characters, resulting in a large amount of ineffective computational overhead, especially causing serious performance waste for distant or small-sized characters.
[0004] Another approach is the Level of Detail (LOD) mesh technique, which is widely used in 3D rendering to classify the number of polygons in a model's mesh. Distant characters can use low-polygon models to reduce rendering overhead. However, this technique only applies to the geometric stage of the rendering pipeline and does not extend to the animation calculation stage. Even if a character uses a low-polygon model, its animation system still runs at full precision, making further performance optimization at the animation level impossible, resulting in a mismatch between the computational load of rendering and animation.
[0005] Furthermore, some engines offer animation culling based on distance thresholds, stopping animation updates directly when a character's distance from the camera exceeds a set value. However, this binary on / off approach lacks intermediate transition layers, causing visual abrupt changes at culling boundaries, such as "suddenly freezing" or "suddenly starting animation," disrupting the scene's immersion. Some projects save performance by manually reducing the animation update frequency of distant characters from per frame to every other frame or even lower. However, this approach lacks an automated grading mechanism, relies on manual experience for parameter settings, and doesn't consider optimizations such as skeletal clipping, making it difficult to stably balance performance and visual quality in complex scenes. Therefore, a new technical solution is needed that can achieve a smooth transition when switching LOD levels based on the character's visual importance in the scene, thereby significantly reducing animation computational overhead without affecting the player's visual experience. Summary of the Invention
[0006] The technical problem to be solved by the present invention is to provide a method and system for adaptive playback of motion level detail, which reduces the computational overhead of animation while suppressing visual jumps when switching motion level detail.
[0007] To solve the above-mentioned technical problems, the present invention adopts the following technical solution: An adaptive playback method for motion level detail includes: obtaining at least one visual importance factor of a target character; calculating the motion importance score of the target character based on the at least one visual importance factor; determining the motion level detail level of the target character based on the motion importance score; performing skeletal layer clipping based on the motion level detail level to adjust the set of bone nodes participating in skinning calculation; performing keyframe adaptive sampling based on the motion level detail level to adjust the target sampling interval for animation updates; and performing animation calculation and skinning output based on the adjusted set of bone nodes and the target sampling interval.
[0008] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is as follows: An adaptive playback system for motion level detail includes a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, it performs the following steps: Obtain at least one visual importance factor for the target character; calculate the action importance score of the target character based on the at least one visual importance factor; determine the action level of detail for the target character based on the action importance score; perform skeletal layer clipping based on the action level of detail to adjust the set of bone nodes involved in the skinning calculation; perform keyframe adaptive sampling based on the action level of detail to adjust the target sampling interval for animation updates; perform animation calculation and skinning output based on the adjusted set of bone nodes and the target sampling interval.
[0009] The beneficial effects of this invention are as follows: By acquiring the visual importance factor of the target character and calculating the action importance score, this invention can dynamically determine the action level of detail based on the score, and then perform skeletal-level trimming and keyframe adaptive sampling, adjusting the set of bone nodes participating in skinning calculation and the target sampling interval for animation updates. Compared with the prior art where all characters uniformly perform full-precision animation calculation, this invention can allocate animation calculation resources differently according to the visual importance of the character in the scene, avoiding invalid high-precision calculations for distant or small-scale characters, thereby significantly reducing the animation calculation overhead of CPU / GPU. At the same time, skeletal-level trimming reduces the calculation amount of the skinning transformation matrix; keyframe adaptive sampling reduces the frequency of animation updates, further improving performance; and transitional control of bone weight distribution and sampling interval distribution when switching action level of detail reduces visual jumps caused by level switching. In addition, since the action level of detail is automatically determined based on the visual importance factor, no manual intervention is required, which can adapt to changes in complex scenes and stably balance performance and visual quality. Attached Figure Description
[0010] Figure 1 A flowchart illustrating the steps of an adaptive playback method for motion level detail provided in an embodiment of the present invention; Figure 2 This is a schematic diagram of the structure of an adaptive playback system for motion level detail provided in an embodiment of the present invention; Figure 3 The main flowchart of an adaptive playback method for motion level detail provided in an embodiment of the present invention; Figure 4 This is a flowchart illustrating the step of receiving an animation playback update request in an action level detail adaptive playback method provided in an embodiment of the present invention; Figure 5 This is a flowchart illustrating the steps for calculating the importance score of character actions in an adaptive playback method for action hierarchy details provided in an embodiment of the present invention. Figure 6 This is a flowchart of the step of determining the motion level of detail in a motion level detail adaptive playback method provided in an embodiment of the present invention; Figure 7 This is a flowchart illustrating the skeletal layer trimming step in an adaptive playback method for motion hierarchy details provided in an embodiment of the present invention. Figure 8 This is a flowchart illustrating the keyframe adaptive sampling step in an action-level detail adaptive playback method provided by an embodiment of the present invention. Figure 9 This is a flowchart of the animation calculation and skinning output steps in an adaptive playback method for motion level details provided in an embodiment of the present invention; Figure 10 This is a flowchart of the LOD level change detection and smooth transition steps in an adaptive playback method for motion level details provided in an embodiment of the present invention. Detailed Implementation
[0011] Definitions:
[0012] To explain in detail the technical content, objectives, and effects of the present invention, the following description is provided in conjunction with the embodiments and accompanying drawings.
[0013] In existing technologies, with the rapid development of open-world games, massively multiplayer online games (MMOs) and metaverses, the number of characters active simultaneously in virtual scenes has increased from dozens to hundreds or even thousands, posing a severe performance challenge to animation playback systems when rendering a large number of characters.
[0014] To at least address the aforementioned issues, this invention calculates an action importance score based on a visual importance factor and maps it to an action level detail level. Then, based on this level, it adaptively trims the bone level and adjusts the keyframe sampling interval. In this way, the computational cost of animation can be significantly reduced without affecting the visual experience.
[0015] The following describes in detail an adaptive playback method for motion level details in this invention, with reference to the appendix. Figure 1 ,include: Step 101: Obtain at least one visual importance factor for the target character; whereby the target character refers to a virtual character that is simultaneously active in the virtual scene, which can be a player-controlled character or a non-player character. The visual importance factor refers to multi-dimensional input parameters that comprehensively evaluate the visual importance of a character in the scene. For example, the visual importance factor includes the Euclidean distance from the camera to the character, the proportion of the character's bounding box projected onto the screen, the offset angle of the character relative to the center of the camera's gaze direction, the character's interaction status indicators, and occlusion query results.
[0016] Step 102: Calculate the action importance score of the target character based on at least one visual importance factor. The action importance score refers to a value between 0 and 1 generated by normalizing each visual importance factor to a numerical range of 0-1 and then weighting it using configurable weights. This value represents the visual importance of the character in the scene. For example, the Euclidean distance from the camera to the character is normalized into a distance factor, with a lower score for greater distances. The action importance score between 0 and 1 is obtained by weighting each factor using configurable weights.
[0017] Step 103: Determine the current Level of Detail (LOD) of the target character based on the action importance score. The Level of Detail (LOD) refers to the animation playback precision level mapped to the action importance score according to a preset grading threshold table. For example, the LOD includes L0 full precision, L1 skeletal simplification, L2 low-frequency sampling, and L3 static pose. In a town scene, NPCs interacting with the player are rated L0, NPCs within 30 meters directly in front of the player are rated L1, NPCs at the edge of the player's field of vision or beyond 50 meters are rated L2, and NPCs beyond 100 meters are rated L3.
[0018] Step 104: Perform bone-level clipping based on the current action level of detail to adjust the set of bone nodes participating in the skinning calculation. Bone-level clipping refers to deactivating certain bone levels based on the current action level of detail, preventing deactivated bone nodes from participating in the skinning transformation matrix calculation, and transferring the weights of mesh vertices affected by deactivated bone nodes to the nearest active parent bone node. Skinning calculation refers to the process of calculating the transformation matrix of mesh vertices affected by bone nodes. The set of bone nodes refers to the set of active bone nodes participating in the skinning calculation.
[0019] Step 105: Perform adaptive keyframe sampling based on the current motion level of detail to adjust the target sampling interval for animation updates. Adaptive keyframe sampling refers to the mechanism that adjusts the time step of animation updates and the keyframe sampling strategy according to the current motion level of detail. The target sampling interval refers to the frame interval between two adjacent animation updates. For example, L0 level updates every frame with an interval of 1 frame; L1 level updates every 2 frames; L2 level updates every 4-8 frames; L3 level updates only at keyframes, with a maximum interval of 16 frames or longer.
[0020] Step 106: Perform animation calculations and skinning output based on the adjusted set of skeletal nodes and the target sampling interval; where animation calculations refer to performing transformation matrix calculations from local space to world space on the skeletal nodes. Skinning output refers to selecting the skinning path according to the current action level of detail, calculating the mesh vertex positions, and writing them to the render buffer.
[0021] As described above, this invention obtains the visual importance factor of the target character, calculates the action importance score, and determines the current action level of detail accordingly, then performs skeletal-level clipping and adaptive keyframe sampling. This method dynamically adjusts the set of bone nodes participating in skinning calculations and the animation update sampling interval based on the character's visual importance in the scene. While ensuring visual quality, it significantly reduces the processing overhead of animation calculations and skinning output, thus improving real-time rendering efficiency.
[0022] In one embodiment of the present invention, step 102, calculating the action importance score of the target character based on at least one visual importance factor, includes: Step 201: Normalize at least one visual importance factor to a preset numerical range to obtain a target factor list; where normalization refers to the operation of mapping each visual importance factor to a numerical range of 0 to 1. The target factor list refers to the data set composed of normalized visual importance factors. For example, the Euclidean distance from the camera to the character can be mapped to a distance factor between 0 and 1, with the value decreasing as the distance increases.
[0023] Step 202: The visual importance factor in the target factor list is weighted and summed using a preset weight list to generate an action importance score; where the weight list refers to the set of weight coefficients corresponding to each configured visual importance factor.
[0024] The formula for calculating the importance score of an action is: S = w1×Fdist + w2×Fscreen + w3×Fgaze + w4×Finteract + w5×Focclusion, Where Fdist represents the distance factor, Fscreen represents the screen occupancy factor, Fgaze represents the gaze attention factor, Finteract represents the interaction state factor, and Focclusion represents the occlusion factor, and w1+w2+w3+w4+w5 = 1.
[0025] For example, characters in critical states such as combat receive a weighted bonus on the interaction state marker factor.
[0026] As described above, this method can accurately and configurably evaluate the action importance of a target character in a video frame based on multiple visual importance factors. It avoids incorrectly downgrading characters near the screen edges or neglecting to optimize characters far away in the center of the screen.
[0027] In one embodiment of the present invention, step 103, determining the current action level of detail of the target character based on the action importance score, includes: Step 301: Obtain the hysteresis interval corresponding to the current action level of detail to which the action importance score belongs. The hysteresis interval refers to the range of score fluctuation corresponding to the current action level of detail. When the action importance score is within this interval, the level remains unchanged; when it exceeds this interval, a level switch is performed to suppress frequent switching at level boundaries. For example, when the switching threshold between L0 and L1 is 0.75 and the hysteresis half-width is 0.03, the corresponding hysteresis interval can be set to 0.72~0.78.
[0028] Step 302: If the action importance score exceeds the hysteresis interval, the target action level of detail corresponding to the action importance score is taken as the current action level of detail; where the target action level of detail refers to the new action level of detail mapped after the action importance score exceeds the hysteresis interval.
[0029] Step 303: If the action importance score is within the lag interval, then keep the current action level of detail unchanged. As described above, by introducing a hysteresis interval to determine the importance score of an action, the problem of frequent fluctuations in the score near the boundary, causing the level of detail in the action to switch back and forth, is avoided. The level is only updated when the score exceeds the hysteresis interval, while the current level remains unchanged when the score is within the hysteresis interval, effectively suppressing the LOD level jitter of boundary characters.
[0030] In one embodiment of the present invention, step 104, performing skeletal-level clipping based on the current motion level detail level, includes: Step 401: Divide the skeletal nodes of the target character into multiple skeletal levels; whereby, a skeletal level refers to the hierarchy of all nodes in the skeletal tree according to their visual importance. For example, the skeletal levels include a core layer, an extension layer, and a embellishment layer; the core layer is the set of main skeletal nodes that ensure the basic human posture, such as the spine, thigh, and upper arm; the extension layer is the set of skeletal nodes that provide detailed representations of the fingers, toes, and face; and the embellishment layer is the set of decorative skeletal nodes such as auxiliary bones, hanging point bones, and ribbon bones.
[0031] Step 402: Based on the current action level of detail, determine the target active bone level set from multiple bone levels, and designate bone nodes corresponding to bone levels outside the target active bone level set as deactivated bone nodes. This completes bone level pruning, preventing deactivated bone nodes from participating in the skinning transformation matrix calculation. The target active bone level set refers to the set of bone levels that remain active at the current action level of detail. For example, L0 level enables all levels, L1 level disables embellishment layers, L2 level disables embellishment and extension layers, and L3 level retains only the most critical nodes in the core layer. Deactivated bone nodes are bone nodes outside the target active bone level set that do not participate in the skinning transformation matrix calculation; their affected mesh vertex weights are transferred to the nearest active parent bone node. Skinning transformation matrix calculation refers to the process of calculating the transformation matrix of a bone node from local space to world space.
[0032] As described above, this invention divides the target character's skeletal nodes into multiple skeletal levels, determines the set of active skeletal levels based on the current action level of detail, and identifies skeletal nodes corresponding to inactive skeletal levels as disabled skeletal nodes. This ensures that only the skeletal levels required for the current action are retained for skinning transformation matrix calculation. This approach effectively reduces the computational load during skeletal level trimming, lowers the computational complexity of the skinning transformation matrix, and improves the efficiency of character animation rendering.
[0033] In one embodiment of the present invention, step 105, performing keyframe adaptive sampling according to the current action level detail, includes: Step 501: Determine the target sampling interval based on the current action level detail level; Step 502: Obtain sampling frames according to the target sampling interval; wherein, a sampling frame refers to a key frame obtained according to the target sampling interval for performing animation calculations.
[0034] Step 503: Obtain the bone pose calculation interval. If no sampled frame is obtained within the bone pose calculation interval, perform spherical linear interpolation based on the two closest sampled frames to the current time, and use the resulting intermediate sampled frame as the sampled frame for the current target sampling interval. Here, the bone pose calculation interval refers to the frame interval at which the system performs bone pose calculations. Spherical linear interpolation refers to the interpolation process that calculates the bone pose of the intermediate frame based on the two closest buffered sampled frames. The intermediate sampled frame refers to the bone pose frame at a non-sampled frame time obtained through spherical linear interpolation.
[0035] As described above, by determining the target sampling interval based on the current action level of detail, the acquisition frequency of sampling frames can be dynamically adjusted, thereby reducing computational resource consumption while ensuring the smoothness of skeletal animation. Furthermore, by performing spherical linear interpolation when no sampling frame is acquired within the skeletal pose calculation interval, intermediate sampling frames can be generated, avoiding animation stuttering or pose jumps caused by changes in the sampling interval, and improving the smoothness and continuity of animation playback.
[0036] In one embodiment of the present invention, step 105, performing keyframe adaptive sampling according to the current action level detail, further includes: Step 601: Calculate the velocity change rate of the core skeleton of the target character as an indicator of motion intensity; where the core skeleton refers to the main skeleton that maintains the basic human posture. Specifically, the core skeleton includes the root bones and the spine. The velocity change rate refers to the amount of velocity change of the main skeleton per unit time. The motion intensity indicator is a value used to characterize the degree of intense action performed by the character. For example, when the character is performing high-dynamic actions such as jumping or attacking, the motion intensity indicator increases.
[0037] Step 602: When the intensity index of the movement is greater than or equal to the preset intensity threshold, reduce the target sampling interval; where reducing the target sampling interval means adjusting the target sampling interval to the sampling interval corresponding to the previous level of detail of the current action level. The preset intensity threshold refers to the critical value for the rate of change of speed in determining high-dynamic actions such as jumping or attacking. For example, different sampling intervals are set according to the character's LOD level: L0 updates every frame (1 frame interval); L1 updates every 2 frames; when the motion intensity index exceeds the preset intensity threshold, the sampling interval is temporarily changed to the sampling interval corresponding to the previous motion level detail level, that is, it is adjusted from L1 to L0, to ensure that the attack action is not distorted.
[0038] Step 603: When the intensity index of the motion is less than the preset intensity threshold, restore the target sampling interval corresponding to the current action level detail level; As described above, when the motion intensity is high, reducing the sampling interval captures more keyframes, thereby improving the accuracy of high-frequency motion reproduction; when the motion intensity is low, restoring the default sampling interval avoids redundant data acquisition, reducing data processing and storage overhead while ensuring animation quality. This ensures that key actions are not distorted due to downsampling. Simplifying the skinning path further reduces GPU skinning overhead.
[0039] In one embodiment of the present invention, step 106, which involves performing animation calculations and skinning output based on the adjusted set of skeletal nodes and the target sampling interval, includes: Step 701: Perform the transformation matrix calculation from local space to world space on the active bone nodes in the bone node set; where active bone nodes refer to the bone nodes in the target active bone level set that participate in the skinning calculation.
[0040] Step 702: When the current motion level of detail belongs to the high-detail motion level of detail set, perform standard skinning calculation based on multi-bone weights; whereby the high-detail motion level of detail set refers to the set containing L0 full-precision level and L1 bone-reduced level. Standard skinning calculation refers to the process of calculating the transformation matrix of mesh vertices affected by the weights of multiple bone nodes.
[0041] Step 703: When the current motion level of detail belongs to the low-detail motion level of detail set, perform simplified skinning calculations that only calculate the mesh vertices affected by the main skeleton of the target character; whereby the low-detail motion level of detail set refers to the set containing L2 low-frequency sampling level and L3 static pose level. The main skeleton refers to the skeleton in the core layer that guarantees the basic human posture. Simplified skinning calculation refers to the skinning calculation process that only calculates the mesh vertices affected by the main skeleton, reducing the number of bone weight calculations per vertex.
[0042] As described above, standard or simplified skinning calculations are performed depending on the level of detail (LOD) of the action. For high-detail actions, multi-bone weight calculations ensure the accuracy of mesh vertex deformation. For low-detail actions, only vertices affected by the main bone are calculated, reducing the amount of skinning computation. This reduces the animation update frequency at low to medium LOD levels and lowers CPU animation computation overhead in large-scale character scenes.
[0043] In one embodiment of the present invention, it further includes: Step 801: If the target character experiences a new change in motion level of detail, adjust the target character's skeletal weight distribution and sampling interval distribution to continue transitioning from the current transition progress to the new target motion level of detail. Here, skeletal weight distribution refers to the weight configuration of mesh vertices affected by each bone node. Sampling interval distribution refers to the time step configuration of the animation update frequency. Transition progress refers to the proportion of transition time already completed in the current motion level of detail transition task. For example, for a character already in the transition, if a new motion level of detail change event is detected, the transition continues from the current transition progress to the new target level, rather than being interrupted and restarted.
[0044] As described above, when the target character experiences a new change in the level of motion detail during the transition, by synchronously adjusting the skeletal weight distribution and sampling interval distribution, the character can directly transition from the current transition progress to the new target level without interrupting the current transition process or re-initializing. This mechanism avoids the overhead of repeated calculations and state resets, thereby improving the response speed and execution efficiency during the switching of motion detail, while ensuring the continuity and stability of the character's motion performance.
[0045] In one embodiment of the present invention, step 801, if the target character undergoes a new change in the level of motion detail, adjusts the skeletal weight distribution of the target character and adjusts the sampling interval distribution of the target character, including: Step 901: Initialize the motion level detail transition task, recording the start and end motion level detail levels and transition duration. The motion level detail transition task refers to recording the start and end levels and transition duration, and performing bone weight blending, sampling rate transition, and skinning path transition within the transition time window. The start and end motion level detail levels refer to the initial and target motion level detail levels at which the transition occurs. The transition duration refers to the length of the time window from the initial motion level detail level to the target motion level detail level.
[0046] Step 902: During the transition period, the mesh vertex weights of bone nodes switching from a deactivated state to an active state linearly transition from zero to a preset weight value, and the mesh vertex weights of bone nodes switching from an active state to a deactivated state linearly transition from the preset weight value to zero. Here, the deactivated state refers to the state where the bone node does not participate in the skinning transformation matrix calculation. The active state refers to the state where the bone node participates in the skinning transformation matrix calculation. The preset weight value refers to the normal weight value of the bone node affecting the mesh vertices in the active state. For example, for bone nodes added due to an increase in motion level detail, their skinning weights linearly transition from 0 to a normal value; for bone nodes that need to be deactivated due to a decrease in motion level detail, their weights linearly transition from a normal value to 0.
[0047] Step 903: During the transition duration, the target sampling interval is interpolated from the current sampling interval value to the target sampling interval value; wherein, the current sampling interval value refers to the sampling interval corresponding to the detail level of the transition start action. The target sampling interval value refers to the sampling interval corresponding to the detail level of the transition target action.
[0048] Step 904: During the transition period, the results of the standard skin calculation and the simplified skin calculation are weighted and mixed. Weighted mixing refers to the process of simultaneously calculating the results of both standard and simplified skin calculations during the transition period and then weighting and fusing them according to the transition progress. For example, when switching between standard and simplified skin, the results of the two paths are calculated and weighted and mixed simultaneously for a short period to ensure visual smoothness during the transition.
[0049] As described above, by applying linear transition and interpolation processing to the bone node weights, sampling intervals, and skinning calculation results within the transition duration, a smooth transition during the switching of action level detail is achieved, eliminating the bone abruptness and animation jump phenomena of traditional real-time switching schemes. This avoids the additional computational overhead and visual flicker caused by frequent switching of boundary characters.
[0050] The above-described adaptive playback method and system for motion level details of the present invention can be applied to large-scale NPC scenes in open-world games. The following detailed implementation will illustrate this. (Refer to the appendix.) Figure 3 This includes the following steps: Step A: Obtain at least one visual importance factor for the target character. Specifically, the engine triggers an animation update every frame. The system automatically evaluates the action importance of all NPCs. Camera parameters, world coordinates and bounding boxes of each NPC, and interaction status are obtained as input data. For example, an NPC currently interacting with the player is marked as having a high interaction status. View frustum clipping is performed on all active target characters in the scene. Invisible target characters are removed. At least one visual importance factor for visible target characters is obtained. The Euclidean distance from the camera to the target character is obtained as a distance factor. The percentage of the target character's bounding box projected onto the screen is obtained as a screen ratio factor. The offset angle of the target character relative to the center of the camera's gaze direction is obtained as a gaze offset factor. The interaction status flag of the target character is obtained as an interaction status factor. The occlusion query result of the target character is obtained as an occlusion factor. This corresponds to step 101 above.
[0051] Step B: Calculate the action importance score of the target character based on at least one visual importance factor. Specifically, normalize at least one visual importance factor to a value range of zero to one. Obtain a target factor list. Perform a weighted summation on each visual importance factor in the target factor list using a preset weight list. Generate an action importance score in the zero-to-one range. This corresponds to step 102 above.
[0052] Step C: Determine the current action level of detail for the target character based on the action importance score. Specifically, obtain the hysteresis interval corresponding to the current action level of detail to which the action importance score belongs. If the action importance score exceeds the hysteresis interval, the target action level of detail corresponding to the action importance score is taken as the current action level of detail. If the action importance score is within the hysteresis interval, the current action level of detail remains unchanged. Map the action importance score to the action level of detail according to a preset action level of detail grading threshold table. For example, the target character in conversation with the player is mapped to level L0. The target character within 30 meters directly in front of the player's field of vision is mapped to level L1. The target character at the edge of the field of vision or 50 meters away is mapped to level L2. The target character beyond 100 meters is mapped to level L3. This corresponds to step 103 above.
[0053] Step D: Perform bone layer trimming based on the current motion level detail to adjust the set of bone nodes involved in the skinning calculation. Specifically, the target character's bone nodes are divided into three bone levels: core layer, extended layer, and embellishment layer. The core layer contains the main bones. The extended layer contains finger bones, toe bones, and facial bones. The embellishment layer contains auxiliary bones, attachment bones, and ribbon bones. The target active bone level set is determined from the three bone levels based on the current motion level detail. At L0 level, all bone levels are enabled. At L1 level, the embellishment layer is disabled. At L2 level, both the embellishment and extended layers are disabled. At L3 level, only the most critical nodes in the core layer are retained. Bone nodes corresponding to bone levels outside the target active bone level set are identified as disabled bone nodes. Bone layer trimming is completed. Disabled bone nodes do not participate in the skinning transformation matrix calculation. Furthermore, the weights of mesh vertices affected by disabled bone nodes are automatically transferred to the nearest active parent bone node. The active parent bone node proxies and drives the mesh vertices affected by disabled bone nodes. This corresponds to step 104 above.
[0054] Step E: Perform adaptive keyframe sampling based on the current motion level of detail to adjust the target sampling interval for animation updates. Specifically, the target sampling interval is determined based on the current motion level of detail. The target sampling interval for L0 level is updated per frame. The target sampling interval for L1 level is updated once every two frames. The target sampling interval for L2 level is updated once every four to eight frames. The target sampling interval for L3 level is updated once every sixteen frames or longer. Sample frames are obtained based on the target sampling interval. The bone pose calculation interval is obtained. If no sample frame is obtained within the bone pose calculation interval, linear interpolation is performed based on the two closest cached sample frames to the current moment. The resulting intermediate sample frame is used as the sample frame. In addition, the velocity change rate of the core layer bones of the target character is calculated as a motion intensity index. When the motion intensity index is greater than or equal to a preset intensity threshold, the sampling rate is temporarily increased to the frequency of the previous motion level of detail to reduce the target sampling interval. When the motion intensity index is less than the preset intensity threshold, the target sampling interval corresponding to the motion level of detail is restored. This corresponds to step 105 above.
[0055] Step F: Perform animation calculations and skinning output based on the adjusted bone node set and the target sampling interval. Specifically, perform local space to world space transformation matrix calculations on the active bone nodes in the bone node set. When the motion level of detail belongs to the high-detail motion level of detail set, perform standard skinning calculations based on multi-bone weights. When the motion level of detail belongs to the low-detail motion level of detail set, perform simplified skinning calculations that only calculate the mesh vertices affected by the main bone of the target character. This corresponds to step 106 above.
[0056] Step G: If the target character experiences a new change in motion level of detail, do not immediately switch to the precision parameters of the target motion level of detail. Adjust the bone weight distribution of the target character. Adjust the sampling interval distribution of the target character. Continue transitioning to the new target motion level of detail from the current transition progress. Specifically, initialize the motion level of detail transition task. Record the start and end motion level of detail and the transition duration. During the transition duration, linearly transition the mesh vertex weights of bone nodes that switch from a deactivated state to an active state from zero to a preset weight value. Linearly transition the mesh vertex weights of bone nodes that switch from an active state to a deactivated state from a preset weight value to zero. After the transition is complete, deactivated bone nodes completely exit the skinning calculation. During the transition duration, interpolate the target sampling interval from the current sampling interval value to the target sampling interval value. During the transition duration, perform weighted mixing of the results of standard skinning calculation and simplified skinning calculation.
[0057] The method provided in this invention significantly reduces the CPU overhead of the animation system in a town scene with 500 NPCs. The method can substantially reduce the computational load of animation without significantly affecting visual quality.
[0058] The above-described adaptive playback method and system for motion level details of this invention can also be applied to large-scale multiplayer online battlefield scenarios. The software module is configured for highly dynamic battles. Specific implementation methods are described below.
[0059] Step A: Obtain at least one visual importance factor for the target character. Specifically, the large number of characters on screen simultaneously after the battle begins triggers a performance bottleneck in the animation system. Input data includes the position, animation state, and camera parameters of all participating characters. Obtain the target character's distance factor, screen occupancy factor, gaze offset factor, interaction state factor, and occlusion factor. This corresponds to step 101 above.
[0060] Step B: Calculate the action importance score of the target character based on at least one visual importance factor. This corresponds to step 102 above.
[0061] Step C: Determine the target character's current action level of detail based on the action importance score. Specifically, obtain the lag interval corresponding to the current action level of detail to which the action importance score belongs. If the action importance score exceeds the lag interval, the target action level of detail corresponding to the action importance score is taken as the current action level of detail. If the action importance score is within the lag interval, the current action level of detail remains unchanged. For example, the player's own character and the character attacking the player are determined to be level L0. Characters in the center of the field of vision are determined to be level L1. Characters at the edge of the field of vision are determined to be level L2 or L3. This corresponds to step 103 above.
[0062] Step D: Perform bone-level trimming based on the current motion level of detail to adjust the set of bone nodes involved in the skinning calculation. This corresponds to step 104 above.
[0063] Step E: Perform adaptive keyframe sampling based on the current motion level of detail to adjust the target sampling interval for animation updates. It should be noted that when an L2 or L3 level character performs intense actions such as attacks, the motion intensity perception mechanism temporarily increases its sampling rate. Specifically, the velocity change rate of the core layer bones of the target character is calculated as a motion intensity index. When the motion intensity index is greater than or equal to a preset intensity threshold, the motion level of detail is adjusted to reduce the target sampling interval. When the motion intensity index is less than the preset intensity threshold, the target sampling interval corresponding to the motion level of detail is restored. This ensures that the attack action is not distorted. This corresponds to step 105 above.
[0064] Step F: Perform animation calculations and skinning output based on the adjusted set of bone nodes and the target sampling interval. This corresponds to step 106 above.
[0065] Step G: If the target character experiences a new change in motion level of detail, adjust the target character's skeletal weight distribution and sampling interval distribution to continue transitioning from the current transition progress to the new target motion level of detail. This corresponds to the transition processing in steps 103 to 106 above.
[0066] The method provided by this invention significantly reduces the overall animation computation load. This method ensures that even at low LOD levels, characters in combat can correctly execute key actions such as attacks and spellcasting, balancing performance optimization with visual feedback in combat.
[0067] The above-described adaptive playback method and system for motion level details can also be applied to digital twin urban crowd simulation scenarios. The software modules are configured for ultra-large-scale crowds. Specific implementation methods are described below.
[0068] Step A: Obtain at least one visual importance factor for the target character. Specifically, after the digital twin scene is loaded, a large number of pedestrian animations need to be continuously rendered to display the dynamics of pedestrian flow. Input data includes city bird's-eye view camera parameters and the positions of all pedestrian characters. Obtain the target character's distance factor, screen occupancy factor, gaze offset factor, interaction state factor, and occlusion factor. This corresponds to step 101 above.
[0069] Step B: Calculate the action importance score of the target character based on at least one visual importance factor. This corresponds to step 102 above.
[0070] Step C: Determine the current action level of detail for the target character based on the action importance score. Specifically, obtain the hysteresis interval corresponding to the current action level of detail to which the action importance score belongs. If the action importance score exceeds the hysteresis interval, the target action level of detail corresponding to the action importance score is taken as the current action level of detail. If the action importance score is within the hysteresis interval, the current action level of detail remains unchanged. For example, a large number of target characters that are far away and occupy a very small portion of the screen in a bird's-eye view are determined to be level L3. Target characters in a local area that the user is focusing on are determined to be level L1 or L2. A specific target character selected by the user is determined to be level L0. This corresponds to step 103 above.
[0071] Step D: Perform bone-level trimming based on the current motion level of detail to adjust the set of bone nodes involved in the skinning calculation. This corresponds to step 104 above.
[0072] Step E: Perform adaptive keyframe sampling based on the current motion level of detail to adjust the target sampling interval for animation updates. This corresponds to step 105 above.
[0073] Step F: Perform animation calculations and skinning output based on the adjusted set of bone nodes and the target sampling interval. This corresponds to step 106 above.
[0074] Step G: If the target character undergoes a new change in motion level of detail, adjust the target character's skeletal weight distribution and sampling interval distribution to continue transitioning from the current transition progress to the new target motion level of detail.
[0075] The method provided in this invention allows thousands of pedestrians to simultaneously execute simplified animations while the system maintains smooth operation. This method supports a significantly larger number of characters on screen compared to traditional solutions, without sacrificing the overall pedestrian flow display effect.
[0076] Please refer to Figure 2 The present invention also provides a motion level detail adaptive playback system 210, including a memory 211, a processor 212, and a computer program stored in the memory 211 and executable on the processor 212. When the processor 212 executes the computer program, it implements the various steps of the motion level detail adaptive playback method described above.
[0077] The beneficial effects of the system of the present invention are the same as those of the method described above, and will not be repeated here.
[0078] In summary, this invention overcomes the limitations of single-distance elimination by acquiring at least one visual importance factor of the target character and calculating an action importance score. This score accurately reflects the visual importance of the character in the scene, avoiding the misclassification of high-importance characters at a distance or the failure to optimize low-importance characters at close range. After determining the current action level of detail based on the score, skeletal layer clipping and keyframe adaptive sampling are performed simultaneously: skeletal layer clipping disables bone nodes outside the target active bone level, preventing them from participating in the skinning transformation matrix calculation, thus reducing the bone calculation workload for low-importance characters compared to uniform bone skinning; keyframe adaptive sampling sets the target sampling interval according to the level and generates intermediate frames through linear interpolation, significantly reducing the animation evaluation frequency of low-importance characters compared to frame-by-frame animation updates, significantly reducing animation computation overhead in large-scale character scenes, and the motion intensity perception mechanism ensures that key actions are not distorted due to down-sampling. Based on this, animation calculations and skinning output are performed according to the adjusted set of skeletal nodes and the target sampling interval: high detail levels use standard skinning calculations based on multi-bone weights, while low detail levels use simplified skinning calculations that only calculate the mesh vertices affected by the main bone, further reducing skinning computation overhead. The parent bone proxy mechanism ensures that vertices affected by clipped bones still undergo reasonable transformations, preventing perceptible visual anomalies when viewed from a distance. For level switching, a hysteresis interval mechanism is introduced: when the action importance score is within the hysteresis interval, the current level remains unchanged, suppressing performance fluctuations caused by frequent switching at boundaries and avoiding level display jitter. Simultaneously, when a new level change occurs, by recording the start and end levels and duration of the transition, the mesh vertex weights of the skeletal nodes linearly transition from zero or a preset weight value within the transition duration. The target sampling interval is adjusted through interpolation, and the results of standard and simplified skinning are weighted and mixed to ensure a smooth visual transition, eliminating bone abruptness and animation jumps in traditional real-time switching schemes. This scheme significantly reduces the animation computation load for large-scale virtual character scenes under the same hardware conditions, without significantly affecting visual quality.
[0079] The above description is merely an embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent modifications made based on the content of the present invention's specification and drawings, or direct or indirect applications in related technical fields, are similarly included within the patent protection scope of the present invention.
Claims
1. A method for adaptive playback of motion level details, characterized in that, The method includes: Obtain at least one visual importance factor for the target character; Calculate the action importance score of the target character based on at least one visual importance factor; The current action level of detail for the target character is determined based on the action importance score. Perform bone-level trimming based on the current action level of detail to adjust the set of bone nodes involved in the skinning calculation; Perform adaptive keyframe sampling based on the current action level of detail to adjust the target sampling interval for animation updates; Animation calculations and skinning output are performed based on the adjusted set of skeletal nodes and the target sampling interval.
2. The method according to claim 1, characterized in that, The calculation of the target character's action importance score based on the at least one visual importance factor includes: At least one of the visual importance factors is normalized to a preset numerical range to obtain a list of target factors; An action importance score is generated by weighting and summing each visual importance factor in the target factor list using a preset weight list.
3. The method according to claim 1, characterized in that, Determining the current action level of detail for the target character based on the action importance score includes: Obtain the hysteresis interval corresponding to the current action level of detail to which the action importance score belongs; If the action importance score exceeds the hysteresis interval, then the target action level of detail corresponding to the action importance score is taken as the current action level of detail. If the importance score of the action is within the hysteresis interval, the level of detail of the current action level remains unchanged.
4. The method according to claim 1, characterized in that, The step of performing skeletal-level clipping based on the current action level detail includes: The skeletal nodes of the target character are divided into multiple skeletal levels; Based on the current action level of detail, a target active bone level set is determined from the plurality of bone levels, and bone nodes corresponding to bone levels other than the target active bone level set are determined as deactivated bone nodes, so as to complete the bone level pruning so that the deactivated bone nodes do not participate in the skinning transformation matrix calculation.
5. The method according to claim 1, characterized in that, The step of performing keyframe adaptive sampling based on the current action level of detail includes: The target sampling interval is determined based on the current action level of detail. The sampling frame is obtained according to the target sampling interval; Obtain the skeleton pose calculation interval. If the sampling frame is not obtained within the skeleton pose calculation interval, perform linear interpolation based on the two sampling frames closest to the current time, and use the intermediate sampling frame as the sampling frame of the current target sampling interval.
6. The method according to claim 5, characterized in that, The step of performing keyframe adaptive sampling based on the current action level detail also includes: The velocity change rate of the core layer bones of the target character is calculated as an indicator of the intensity of movement. When the intensity of the exercise is greater than or equal to a preset intensity threshold, the target sampling interval is reduced. When the intensity index of the motion is less than the preset intensity threshold, the target sampling interval corresponding to the current action level detail level is restored.
7. The method according to claim 1, characterized in that, The step of performing animation calculations and skinning output based on the adjusted set of bone nodes and the target sampling interval includes: Perform local space to world space transformation matrix calculation on the active bone nodes in the bone node set; When the current action level of detail belongs to the high-detail action level of detail set, standard skinning calculation based on multi-bone weights is performed. When the current motion level of detail belongs to the low-detail motion level of detail set, a simplified skinning calculation is performed that only calculates the mesh vertices affected by the main skeleton of the target character.
8. The method according to claim 7, characterized in that, Also includes: If the target character undergoes a new change in motion level of detail, adjust the skeletal weight distribution of the target character and the sampling interval distribution of the target character to continue transitioning from the current transition progress to the new target motion level of detail.
9. The method according to claim 8, characterized in that, If the target character undergoes a new change in the level of motion detail, the skeletal weight distribution of the target character and the sampling interval distribution of the target character are adjusted, including: Initialize the action level detail transition task and record the start and end action level detail and transition duration. During the transition period, the mesh vertex weights of bone nodes that switch from a deactivated state to an active state linearly transition from zero to a preset weight value, and the mesh vertex weights of bone nodes that switch from an active state to a deactivated state linearly transition from a preset weight value to zero. During the transition period, the target sampling interval is interpolated from the current sampling interval value to the target sampling interval value; During the transition period, the results of the standard skin calculation and the results of the simplified skin calculation are weighted and mixed.
10. A motion-level detail adaptive playback system, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is used to implement the motion level detail adaptive playback method as described in any one of claims 1 to 9 when executing the computer program.
