Table of Contents
Fetching ...

A Gpu-based solution for large-scale skeletal animation simulation

Xi Pan

TL;DR

The paper addresses the challenge of GPU-based skeletal animation for large-scale scenes where CPU bottlenecks hinder performance. It introduces a GPU-driven framework that treats Hierarchy-Scan as a parallel prefix-tree update, supplemented by divide-and-conquer and state-compression optimizations to reduce synchronization costs. The proposed approach enables interpolation and blending on complex skeletons without pre-baked data and demonstrates improved throughput for deep hierarchies (depth > ~30) against prior methods, validated on DirectX 12 with an RTX 3080. This work provides a scalable, non-baked solution for large-scale character animation that can inform future game-engine design and tooling for multi-character environments.

Abstract

Skeletal animations of large-scale characters are widely used in video games. However, with a large number of characters are involved, relying on the CPU to calculate skeletal animations leads to significant performance problems. There are two main types of traditional GPU- based solutions. One is referred to as pre-baked animation texture technology. The problem with this solution is that it can only play animations from the pre-baked animation. It is impossible to perform interpolation, blending and other calculations on the animation, which affects the quality of the animations. The other solution is referred to as dedicated processing with a simple skeleton hierarchy (the number of skeleton levels < 64). This option does not need to simulate and bake animation data in advance. However, performance is dramatically impaired when processing complex skeletons with too many skeleton levels (such as fluttering clothing, soft plants, dragon-like creatures, etc.). In order to solve these issues, we developed a parallel prefix tree update solution to optimize the animation update process of complex skeletons with too many levels, and combined traditional solutions to implement a GPU-based skeletal animation solution. This solution does not need to simulate and bake animation results. In addition, the performance is superior to traditional solutions for complex skeletons with too many levels. Our work can provide a new option for optimizing the performance of large-scale skeletal animation simulations, providing GPU-based skeletal animations a wider range of application scenarios.

A Gpu-based solution for large-scale skeletal animation simulation

TL;DR

The paper addresses the challenge of GPU-based skeletal animation for large-scale scenes where CPU bottlenecks hinder performance. It introduces a GPU-driven framework that treats Hierarchy-Scan as a parallel prefix-tree update, supplemented by divide-and-conquer and state-compression optimizations to reduce synchronization costs. The proposed approach enables interpolation and blending on complex skeletons without pre-baked data and demonstrates improved throughput for deep hierarchies (depth > ~30) against prior methods, validated on DirectX 12 with an RTX 3080. This work provides a scalable, non-baked solution for large-scale character animation that can inform future game-engine design and tooling for multi-character environments.

Abstract

Skeletal animations of large-scale characters are widely used in video games. However, with a large number of characters are involved, relying on the CPU to calculate skeletal animations leads to significant performance problems. There are two main types of traditional GPU- based solutions. One is referred to as pre-baked animation texture technology. The problem with this solution is that it can only play animations from the pre-baked animation. It is impossible to perform interpolation, blending and other calculations on the animation, which affects the quality of the animations. The other solution is referred to as dedicated processing with a simple skeleton hierarchy (the number of skeleton levels < 64). This option does not need to simulate and bake animation data in advance. However, performance is dramatically impaired when processing complex skeletons with too many skeleton levels (such as fluttering clothing, soft plants, dragon-like creatures, etc.). In order to solve these issues, we developed a parallel prefix tree update solution to optimize the animation update process of complex skeletons with too many levels, and combined traditional solutions to implement a GPU-based skeletal animation solution. This solution does not need to simulate and bake animation results. In addition, the performance is superior to traditional solutions for complex skeletons with too many levels. Our work can provide a new option for optimizing the performance of large-scale skeletal animation simulations, providing GPU-based skeletal animations a wider range of application scenarios.
Paper Structure (9 sections, 2 equations, 5 figures, 1 table, 4 algorithms)

This paper contains 9 sections, 2 equations, 5 figures, 1 table, 4 algorithms.

Figures (5)

  • Figure 1: The processing of animation simulation
  • Figure 2: Parallel bone tree scan
  • Figure 3: the processing of divided by block
  • Figure 4: Performance comparison
  • Figure 5: rendering result