RLMuscle: Muscle-Driven Character Animation via Reinforcement Learning

Beihang University
University College London
IEEE TVCG (under review)

Corresponding author
Muscle-driven character animation for walking, kicking, swimming and squatting

Automatically activated muscle-driven character animation for diverse motions: walking, kicking, swimming, and squatting. Blue intensity shows the activation level (darker is higher); different shades of red distinguish muscle tendons from muscle bellies.

Abstract

Body deformation caused by muscle contraction and extension plays a vital role in visual realism in games and movies, yet in most 3D animation pipelines artists have to manually specify the muscle activation, which is time-consuming and lacks physical realism. To address this, we build a system in which an RL-based controller, trained on a 1D Hill-type surrogate, discovers per-muscle activations that track reference motions without manual tuning; the same Hill-type constitutive law then drives a 3D volumetric simulator to produce realistic muscle deformation. To achieve stable, efficient, and realistic simulation, we solve Extended Position-Based Dynamics (XPBD) within a Geometric Multigrid (GMG) scheme built on cascaded cages with barycentric-coordinate prolongation. Within this GPU-parallelized solver, we inject the same Hill-type force-length law as an energy-based fiber constraint that turns per-fiber activation into realistic muscle contraction and bulging. We demonstrate volumetric muscle simulation on a 194-muscle human body with a diverse set of motions (walk, kick, swim, overhead-squat, etc.), simulating the full-body model at 18 ms per frame on a single RTX 4090.

Video

Full supplementary video (9:20). Download MP4 (26 MB)

Pipeline

Pipeline overview

RL imitation learning runs entirely on the 1D asset; retargeting and muscle mapping then lift its output to a 3D skeleton and per-fiber activations, which the XPBD engine simulates in a single forward pass.

RL Pipeline

RL pipeline: policy network, muscle network, Stable PD, Hill model and PPO loop

The RL imitation learning stage opened up. A per-joint PD-target offset Δθt is mapped through Stable PD and the muscle network to Nm = 284 activations aM ∈ [0, 1]Nm. Both losses (dashed red) are evaluated each iteration, so πφ and μθ are co-trained in a single PPO loop rather than learned sequentially. The stage has two outputs: the 1D bone motion (blue) and the 1D muscle activation aM (red).

Fiber Constraint

Effect of the four fiber constraints on the biceps

Effect of the four fiber constraints on the biceps. Top: deformed biceps at full activation (a = 1), colored by displacement from the no-fiber baseline. Bottom: axial length (left) and radial girth (right) vs. activation.

Comparison against Houdini's Otis Solver

Comparison against Houdini's Otis solver

Comparison against Houdini's Otis solver on the same pose. Left: our result, colored by per-vertex distance (mm) to the Otis reference (right); the distance stays within a few millimeters over most of the body. Our solver runs at 18 ms/frame against Otis's 20.8 s/frame.

Comparison against Epic's Neural Musculoskeletal Model

Comparison against the neural musculoskeletal model of Han et al.

Comparison against the neural musculoskeletal model of Han et al. (Epic) on the same pose. Left: our result, colored by per-vertex distance to their reference (right).

Multigrid

Full-body volumetric muscle with and without multigrid Constraint residual and inverted-tetrahedron count

Multigrid (MG) on the full-body volumetric muscle, with (left) and without (right). Top: deformation under the high stiffness needed for realistic behavior. Bottom: constraint residual (left) and inverted-tetrahedron count per substep (right).

Squashed-Bunny Benchmark

Squashed bunny recovered shape and per-frame timing, with and without multigrid Residual history against timesteps and wall-clock

Squashed-bunny benchmark, with (red) vs. without (blue) multigrid (MG) under identical parameters. The bunny is squashed, then released. Top: recovered shape at the same frame (53). Middle: per-frame timing. Bottom: residual history against timesteps and wall-clock. MG converges much faster with a minor per-frame overhead.

Muscle–Bone Collision

Effect of collision handling

Effect of collision handling, with (left) and without (right). Red marks the vertices penetrating the bone.

Performance

QuantityValue
GPURTX 4090
Featurescollision, multigrid, fiber
Substeps10
Timestep Δt1/24 s
Vertices172,717
Tetrahedra468,162
Simulation (no export)18 ms/frame
collision / other11 ms / 7 ms per frame
Simulation (USD export)32 ms/frame
Peak GPU memory≈ 98 MiB

Runtime of the full-body volumetric simulation over 50 frames. Peak GPU memory excludes the ≈ 386 MiB CUDA/Warp context.

BibTeX

@article{Li2026RLMuscle,
  title={RLMuscle: Muscle-Driven Character Animation via Reinforcement Learning},
  author={Li, Chunlei and Yu, Siyuan and Gao, Yang and Li, Shuai and Yu, Peng and Hao, Aimin and Wang, He},
  year={2026}
}