# Art-directable expressive oscillation behavior for rigged characters

Karim Salem, Damien Rohmer, Niranjan Kalyanasundaram, Victor Zordan

<figure><img src="image_1.png" /></figure>

## To cite this version:

Karim Salem, Damien Rohmer, Niranjan Kalyanasundaram, Victor Zordan. Art-directable expressive oscillation behavior for rigged characters. Symposium on Computer Animation, Aug 2024, Montreal, Canada. 10.2312/sca.20241169. hal-04676297

HAL Id: hal-04676297

https://hal.science/hal-04676297v1

Submitted on 23 Aug 2024

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_2.png" /></figure>
# Art-directable expressive oscillation behavior for rigged characters

Karim Salem¹, Damien Rohmer², Niranjan Kalyanasundaram³, Victor Zordan¹,⁴

¹Clemson University, ²LIX, Ecole polytechnique/CNRS, IP Paris, ³Framestore, ⁴Roblox

## Abstract

We propose a method to enrich the animation of rigged characters with exaggerated oscillation behavior triggered by a sudden velocity change. Our approach is based on the extension of Velocity Skinning to space-time deformation, where the deformation is computed from a time-filtered version of the angular velocity of the skeleton. The time-filter is easy to parameterize by artists with respect to frequency, magnitude and attenuation while remaining fully compatible with standard rigged character.

<figure><img src="image_3.png" /><figcaption>**Figure 1:** A rigged giraffe neck is rotated toward a vertical position. While the drag deformer of the Velocity Skinning [RTK\*21] only models a single delay (left), our method can model long-term oscillation behavior adding dynamic effects (right).</figcaption></figure>

## 1. Introduction

Expressive animation principles depict cartoon characters' flesh with elastic-like deformation [TJ81], thus exhibiting exaggerated drag during motion and oscillation behaviors after rapid motion changes. In standard production, the main motion of the character is generated via SKinning techniques relying on a rigged articulated skeleton. Additional elastic deformation called secondary motions are set via procedural deformers that are manually tuned [May18]. While very flexible, such an approach requires substantial manual effort to adapt the parameterization of the secondary motion deformation to each new character and motion.

On the one hand, physically-based approaches have been extensively studied and can automatically compute exaggerated dynamic effects via fast position based dynamics [WU23] or reduced deformation subspace [ZBLJ20, BZC\*23]. Still these methods remain hard to parameterize for artists as the physical parameters have non-linear effect on the result. Furthermore, they cannot reach the

<figure><img src="image_4.png" /><figcaption>**Figure 2:** Temporal evolution of our oscillating behavior for the motion depicted in Fig. 1.</figcaption></figure>

efficiency level of geometrical skinning reaching real-time results over millions of vertices.

On the other hand, fast kinematics approaches have also been explored to enhance animation with cartoon effects to a subset of the character's limbs [NT06, JyL12]. Recently, Velocity and Acceleration Skinning [RTK\*21, KRZ22], proposed a general methodology to enrich skinning animation with expressive deformations such as *drag*, *squash & stretch*, and *follow through*. The associated deformation relying on efficient closed-form procedural deformers automatically adapts to the skeleton hierarchy but remains restricted to immediate deformation in response to the current joint velocity/acceleration. In this work, we propose extending the Velocity Skinning method to space-time deformation modeling long-lasting oscillation behavior. We inspire from the notion of time-filtered deformation [WDAC06] but adapt it to propose a formulation that is easy to parameterize from artistic direction.

## 2. Space-time deformation for oscillating behavior

Let us consider a rigged mesh defined by a set of vertices at index *i*. We call $\alpha_{ij} \in [0, 1]$ the skinning weights binding vertex *i* to joint *j*. The vertex position obtained after applying a Linear Blend Skinning (or dual quaternion skinning) is denoted by $p_i$ (see Fig. 3-left). The skeleton is defined by *N* joints at position $q_j, j = 1, \dots, N$, with angular velocity $\Omega_j \in \mathbb{R}^3$. We call $\beta_{ij} \in [0, 1]$ hierarchical weights

<footnote>© 2024 The Authors.
Proceedings published by Eurographics - The European Association for Computer Graphics.
This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.</footnote>
expressing the influence of the motion of a given joint toward the vertices depending on this joint and all their descendant in the hierarchy such as $β_{ij} = \sum_{k \in D(j)} α_{ik}$, where $D(j)$ is the set of decending joint indices starting at j included. We then recall the general formulation of Velocity Skinning [RTK*21] as

$$ \tilde{p}_i = p_i + \sum_{j=1}^{N} \beta_{ij} \psi(\Omega_j, q_j, p_i), \quad (1) $$

$\tilde{p} \in \mathbb{R}^3$ is the deformed vertex position obtained from Velocity Skinning, and $\psi$ is a procedural deformer depending on the angular velocity of the considered joint, its position, and the position of the vertex. In our case we will consider $\psi$ describing the drag deformation [RTK*21] and modeled as a rotation around the axis defined by $\Omega_j$, with angle varying as $-||\Omega_j \times (p_i - q_j)||$.

This initial formulation only considers the instantaneous angular velocity $\Omega_j(t)$ at a given time $t$. In this work, we propose to extend it to time-based deformation in considering a time-filtered value $\mathcal{F}(\Omega_j, t)$ (see Fig. 3-right), where $\Omega_j$ is now seen as a time-varying signal. The modified formulation for space-time deformation is then

$$ \tilde{p}_i(t) = p_i(t) + \sum_{j=1}^{N} \beta_{ij} \psi(\mathcal{F}(\Omega_j, t), q_j(t), p_i(t)). \quad (2) $$

<figure><img src="image_5.png" /><figcaption>Figure 3: A rotation applied to a cylinder using standard LBS along an angular velocity $\Omega_j$ at joint j (left) is converted to an oscillation using a time filter $\mathcal{F}(\Omega_j, t)$ (right).</figcaption></figure>

We aim at designing a time-filter $\mathcal{F}$ that will allow to model an oscillating behavior after a sudden change of velocity. To this end, we to define its expression as the response of a linear filter to a unit impulse $U(t)$, where $U(t) = 0$ for $t < 0$ and $U(t) = 1$ for $t \ge 0$. Calling $h(t)$ such a response, we propose the following formulation

$$ h(t) = (1 + A \exp(-t/\tau) \sin(2\pi f t)) U(t), \quad (3) $$

where $A$ is the magnitude of the oscillation, $\tau$ is a characteristic damping time, and $f$ is the oscillation frequency. The time-filtered applied to an arbitrary angular velocity variation is then obtained by convolving the angular velocity signal with the derivative of the response to the unit response, leading to

$$ \begin{gathered} \mathcal{F}(\Omega_j, t) = (\dot{h} \star \Omega_j)(t) = \Omega_j(t) + \\ A \int_{u=0}^{+\infty} \exp(-u/\tau) \left( 2\pi f \cos(2\pi f u) - \frac{u}{\tau} \sin(2\pi f u) \right) \Omega_j(u-t) du. \end{gathered} \quad (4) $$

### 3. Results and Future Works

We show in Fig. 1 the comparison of a time evolution between the results obtained with a drag deformer from Velocity Skinning (left),

and our oscillating behavior (right) from the same joint motion that applies a rotation toward the left side and then stops. While the Velocity Skinning simply applies a bending before stopping all deformation, our method is able to model a long term oscillation which is further illustrated in Fig. 2. The method can be implemented in real-time in first, computing Eq.(4) for each joint along a finite time window $W$, before applying Eq. (2) to each vertex in parallel, possibly via a vertex shader. The limited time window $W$ can be set such as $W > 5\tau$ corresponding to the time needed for an oscillation to be fully attenuated. Our GPU implementation performed on a desktop equipped with an NVIDIA RTX3090 led to a computational time of 30ms per frame for 1.5 million triangles.

The key advantage of our method is the art-directability of the oscillation parameters as independent sliders. We typically considered $\tau = 1$s, $f = 1.5$ Hz, and $A = 0.2$ as default values, but these can be adjusted independently, at the opposite of the use of mass-spring models that would couple magnitude and frequency. Thanks to the hierarchical weights, the per-vertex deformation is automatically distributed along the mesh, while multiple oscillations triggered from different joints can be summed over seamlessly.

In conclusion, we have presented a real-time method able to represent per-vertex oscillation behavior triggered by a sudden change of velocity that can be applied on existing rigged character. The oscillation is computed from a simple procedural filter that can be easily parameterized by artists with respect to frequency, magnitude and attenuation. In future research, we aim to introduce more filter-based deformations to simulate different types of oscillations and time-varying effects in adapting the procedural deformers, as well as including local control over the space-time propagation of the deformation.

### References

[BZC*23] BENCHEKROUN O., ZHANG J. E., CHAUDHURI S., GRINSPUN E., ZHOU Y., JACOBSON A.: Fast complementary dynamics via skinning eigenmodes. ACM TOG, SIGGRAPH (2023). 1

[JyL12] JI-YONG, LEE I.-K.: The Squash-and-Stretch Stylization for Character Motions. IEEE TVCG 18, 3 (2012). 1

[KRZ22] KALYANASUNDARAM N., ROHMER D., ZORDAN V.: Acceleration Skinning: Kinematics-Driven Cartoon Effects for Articulated Characters. Graphics Interface (2022). 1

[May18] MAYA: Squash and Jiggle deformers. Autodesk, 2018. https://knowledge.autodesk.com. 1

[NT06] NOBLE P., TANG W.: Automatic Expressive Deformations for Stylizing Motion. In GRAPHITE (2006). 1

[RTK*21] ROHMER D., TARINI M., KALYANASUNDARAM N., MOSHFEGHIFAR F., CANI M.-P., ZORDAN V.: Velocity Skinning for Real-time Stylized Skeletal Animation. CGF, Proc. EUROGRAPHICS (2021). 1, 2

[TJ81] THOMAS F., JOHNSTON O.: Disney Animation: The illusion of life. Disney Editions, 1981. 1

[WDAC06] WANG J., DRUCKER S. M., AGRAWALA M., COHEN M. F.: The cartoon animation filter. ACM TOG, SIGGRAPH 25 (2006). 1

[WU23] WU Y., UMETANI N.: Two-way coupling of skinning transformations and position based dynamics. ACM TOG, SIGGRAPH Asia (2023). 1

[ZBLJ20] ZHANG J. E., BANG S., LEVIN D. I., JACOBSON A.: Complementary dynamics. ACM TOG, SIGGRAPH Asia (2020). 1