Skip to content
flow____ edited this page Feb 26, 2024 · 17 revisions

Turbo Sequence Overview

License GitHub release stars - Turbo-Sequence forks - Turbo-Sequence

Turbo Sequence is built to support a modern way to render Skeletal Meshes. It's using GPU Instancing with Niagara to manage draw calls efficiently, which is mostly the bottleneck of traditional rendering systems. Turbo Sequence is using bones to animate the meshes, which allow IK and layer mask blending per Bone.

A Crowd

What is Turbo Sequence

Turbo Sequence is a Plugin for Unreal Engine 5 which is Open Source with an MIT License. The advantage of using VATs is that Turbo Sequence uses bone joint bending instead of pre-computed animations, which allows runtime bone joint bending like IK or Sockets. Turbo Sequence is trying to use Draw-Calls per archetype efficiently and not per instance, which has an advantage compared to traditional Skeletal Meshes.

Traditional Rendering:

CPU       GPU
         |
         v
Instance 1 (Mesh data 1) -> Draw call
         |                      |
         v                      v
Instance 2 (Mesh data 2) -> Draw call
         |                      |
         v                      v
Instance N (Mesh data N) -> Draw call

GPU Instancing

CPU       GPU
         |
         v
Base mesh data -> Draw call
                  | (all instances combined)
                  v
                  Rendered instances

TS is optimized for crowds around 10k - 50k, if you need more units, use VATs, Turbo Sequence is built to combine Animation Quality with Modern Rendering which means it is just as fast as the Quality of Bone joint bending allows it.

Features

  • Playing Animations
  • Stop Animation
  • Get IK Transform
  • Set IK Transform
  • Tweak Animation ( Speed, Weight, Start/End Transition )
  • Most Possible Skeleton Rig Support without Bugs
  • Blend Spaces
  • Switch Material
  • Switch Mesh
  • Editor UI
  • Windows Support
  • Linux Support
  • Dynamic Chunked Async Animation Loading
  • Get Socket Transform
  • Get Animation Curves
  • Root Motion
  • Animation Layer Masks Per Bone
  • Optimization: 16 or 32 bit Textures
  • Optimization: Smart Vertex iterations on the Material
  • Optimization: Update Groups
  • Smooth, Flat Normals
  • Level Of Details
  • Multi-Mesh-Character Animations
  • Blueprint Support
  • Hybrid Animation Mode between the UE System and the TS System
  • Add Instances
  • Remove instances
  • Per Instance Custom Data

Limits

  • Blueprint-only projects are not supported.
  • A Blueprint API Exists, but I highly recommend using the C++ API because it's so much faster.
  • Only Windows and Linux are supported, Not IOS and Android or Mac.

Links

  • [https://github.com/LukasFratzl/Turbo-Sequence/wiki/Get-Started-with-Content-Creation](Get Started with Content Creation)
  • [https://github.com/LukasFratzl/Turbo-Sequence/wiki/Get-Started-with-the-Scripting-API](Get Started with the Scripting API)
  • [https://github.com/LukasFratzl/Turbo-Sequence/wiki/Performance-Optimization-Guidelines](Performance Optimization Guidelines)

Clone this wiki locally