Keywords

1 Introduction

In computer graphics, simulating human and animals has always been a challenging issue. Modeling vivid skin deformations is difficult and computational. The rise of skeletal animation skinning technology has made animation more efficient. It has been widely adopted in real-time applications such as games for its computational efficiency [3]. However, the traditional skeletal based deformation techniques suffer from several kind of artifacts like the candy-wrapper effect and volume loss [6], which need the animators to repair manually.

This paper present a simple skinning technique for animating human or animals. In order to simulate the behavior of the skin a tetrahedral mesh is generated from a triangle mesh. The tetrahedral meshes help to preserve the total volume of the character body [2]. In this method, the deformation of the character is decoupled in three steps. First, we apply linear blend skinning (LBS) to the given character. Then we enforce geometric constraints which could displace the positions of the vertices to mimic the behavior of the skin and achieve effects like volume preservation. This step is based on the position-based dynamics (PBD). At last, we use the finite element method (FEM) to update the vertices again, which can make the simulation result more believable. It could accelerate the convergence rate at the same time.

The main contribution of this paper is that it combines the position-based dynamics (PBD) and finite element method (FEM) to handle the deformation of the virtual characters. The result proves this method is effective and stable. This method could produce similar results while maintaining the simplicity of the PBD method.

2 Related Work

Position-based dynamics can handle general constraints formulated via constraint functions. With the position based approach it is possible to manipulate objects directly during the simulation [1]. The final positions are determined by minimizing the distance between the reference shape and the deformed shape of a model.

Nadine and Marco proposed a two-layered approach addressing the problem of creating believable mesh-based skin deformation [2, 3]. Being based on Position-Based Dynamics guarantees efficiency and real-time performances while enduring robustness and unconditional stability. But their method is dependent on the time step and iteration count of the simulation.

Jan and Matthias made a survey, it focused on a popular and practically relevant subset of approaches [7]. It shows that the geometrically motivated techniques are not force-driven and particularly appropriate in interactive applications due to their versatility, robustness, controllability and efficiency.

Miles and Matthias introduced a simple extension to PBD that allows it to accurately and efficiently simulate arbitrary elastic and dissipative energy potentials in an implicit manner [5]. However, the animation result is depend on the parameter. Similar to PBD, low iteration counts that terminate before convergence will result in artificial compliance.

Jan and Dan present a novel fast and robust method for the simulation of two- and three-dimensional solids that supports complex physical phenomena [4]. Their approach combines continuum mechanical material models with a position-based energy reduction. This method can handle complex physical effects of lateral contraction.

Kim and Pollard proposed an approach relying on the finite element method (FEM) to simulate the skin deformation, able to handle both one-way and two-way simulations within a unified framework [8].

3 Implements

3.1 Delaunay Tetrahedral Partition

The inputs of our method are triangle meshes representing the skin of the character. We generate tetrahedral mesh from the triangle mesh using the open source software Tetgen. The generated tetrahedral is used for defining the geometric constraints [2]. This step is a pretreatment, there is no need to take this step anymore in the following steps (Fig. 1).

Fig. 1.
figure 1

The result of the Delaunay tetrahedral partition.

3.2 Position-Based Dynamics

The most popular methods for simulating dynamics are force based. Force based method computes the accelerations based on Newton’s second law of motion [1]. With the position based approach it is possible to control the integration directly thereby avoiding overshooting problems in connection with explicit integration.

The PBD method defines several non-linear constraints \( C\left( p \right) = 0 \) which indicate asset of geometric relationships between the particles, where p is the vector of all the positions of the particles [2]. The set of constraints is composed by non-linear equality and inequality equations such that:

$$ C_{i} (p) \succ 0,i = 1, \ldots ,m. $$
(1)

where m is the number of constraints. Each constraint is solved independently through Gauss-Seidel iterations [3]. For a single constraint we find a correction \( \Delta_{p} \) by solving the following equation:

$$ C_{i} \left( {p + \Delta p} \right) \approx C_{i} \left( p \right) + \nabla_{p} C_{i} \left( p \right) \cdot \Delta_{p} = 0. $$
(2)

3.3 Energy Constraint

Position-based dynamics could not model the inner structure of the model skin, so we choose to use the finite element method (FEM) to optimize the result. In finite element method, the deformation of a body is described by a continuous displacement field u [4]. This displacement field is used to define the deformation function:

$$ \phi \left( x \right) = X + u = x. $$
(3)

where x and X denote the positions of a point in the material after and before deformation respectively. The deformation gradient is defined by the Jacobian of the deformation mapping:

$$ F = \frac{\partial \phi \left( X \right)}{\partial X}. $$
(4)

We choose Saint Venant-Kirchhoff model to compute the elastic forces from deformation. For more information, please refer to [4].

4 Results

As we can see from Fig. 2, after LBS, the elbow has lost some volume, it makes it unreal. After applying our proposed method, the lost volume is compensated. PBD’s behaviour becomes more stable and believable as the iteration count increased, while the behaviour of our method is consistent regardless of iteration count. It proves that our method has a faster convergence rate.

Fig. 2.
figure 2

An arm with 0, 5, 20, and 40 iterations respectively (left to right). Top row: PBD, Bottom row: Our method.

We compared the performance impact of PBD with our method and find that the two methods almost have the same time cost. Please refer to Table 1 for more detail.

Table 1. Per-step simulation time (ms) for a deformed arm at varying iteration counts.

5 Conclusion

We have presented a simple skinning method for skeleton-driven deformations of virtual characters. Our method combines the position-based dynamics with the finite element method. During the animation process, the volume of the deformed model can be preserved. The FEM step accelerate the convergence rate of PBD, it also helps providing satisfactory results.