





Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Skin is modeled as a 2D hyperelastic membrane with arbitrary topology, which makes it easy to cover an entire character or object. Un- like most Eulerian ...
Typology: Study notes
1 / 9
This page cannot be seen from the preview
Don't miss anything!






(a) (b) (c) (^) (d) (e) (f) (g)
Figure 1: The skin of a character (a) can be significantly distorted using standard techniques (b), but moves realistically with our method (c). Flexing a hand (d) realistically moves the skin, along with skin properties like normal maps (e). Our method can also be applied to skin-tight clothes (f) and animal skin (g).
We present a novel approach for simulating thin hyperelastic skin. Real human skin is only a few millimeters thick. It can stretch and slide over underlying body structures such as muscles, bones, and tendons, revealing rich details of a moving character. Simulat- ing such skin is challenging because it is in close contact with the body and shares its geometry. Despite major advances in simulat- ing elastodynamics of cloth and soft bodies for computer graphics, such methods are difficult to use for simulating thin skin due to the need to deal with non-conforming meshes, collision detection, and contact response. We propose a novel Eulerian representation of skin that avoids all the difficulties of constraining the skin to lie on the body surface by working directly on the surface itself. Skin is modeled as a 2D hyperelastic membrane with arbitrary topology, which makes it easy to cover an entire character or object. Un- like most Eulerian simulations, we do not require a regular grid and can use triangular meshes to model body and skin geometry. The method is easy to implement, and can use low resolution meshes to animate high-resolution details stored in texture-like maps. Skin movement is driven by the animation of body shape prescribed by an artist or by another simulation, and so it can be easily added as a post-processing stage to an existing animation pipeline. We provide several examples simulating human and animal skin, and skin-tight clothes.
CR Categories: I.6.8 [Simulation and Modeling]: Types of Simulation—Combined
Keywords: skin, faces, hands, physically-based simulation, con- strained simulation, Eulerian simulation
Beauty, in computer animation, is often skin deep. It is the motion of skin that is finally seen in an animation and a poor skin model can ruin important details of movement. For example, consider the animation shown in Fig. 1a in which a character’s surface mesh is carefully animated to look up and swallow. If one directly applies detailed skin textures to the mesh, the skin near the base of the neck does not move when the head is raised, and stretches unrealistically when the character’s Adam’s apple moves up to swallow, destroy- ing the illusion of reality (Fig. 1b). Perhaps because of this problem, important details such as hairs, pores, veins, scars, and tattoos are often not included in the skin textures of moving characters. Using the method proposed here, the skin on the neck moves much more realistically (Fig. 1c).
Part of the problem is that the term “skin” in computer graphics is usually used to refer to the shape of a character’s external surface, and all soft tissues beneath. To avoid confusion, we will refer to subcutaneous soft tissues such as muscles, fat, and tendons that give a character its 3D shape as the “body” and reserve the word “skin” to refer to the thin anatomical skin that covers the body.
This anatomical skin in humans and animals is a thin membrane, 2-3 mm thick in most areas, and is especially thin on visible areas such as the face and hands. Skin has evolved to be in close con- tact with the body and yet not impede movement by sliding and stretching over the body with little resistance.
Our goal is to capture these essential features of skin in an efficient and robust simulation. However, the close contact between skin and body presents serious difficulties for the usual methods used for simulating cloth and other thin structures. These methods discretize the thin structure into a mesh that has to interact with a separate mesh representing the body, presenting significant challenges for detecting and handling contact between these intimately osculating meshes.
We avoid all these problems by using a single mesh to represent
both the skin and the body. This results in a new Eulerian dis- cretization of the dynamics of a hyperelastic membrane moving on a manifold. This is in contrast to the Lagrangian discretizations almost universally employed for cloth simulation. In the Eulerian setting the skin mesh is fixed on the body and can be identical to the body mesh. The skin is automatically constrained to move on the body and not separate from it, avoiding the need for contact pro- cessing. Even though the approach is unlike previous work in sim- ulating skin and cloth, it shares many features with texture mapping and is easy to implement.
Contributions. We propose a general Eulerian discretization of hyperelastic membranes, such as skin, moving on a triangulated surface. The mesh can have arbitrary topology, which makes it pos- sible to cover complete and complex characters. Any triangular mesh can be used, which makes it easy to collocate mesh vertices at constraints. We provide a general constraint handling method that serves as a flexible modeling tool for animators. The skin simula- tion is driven by body movement, and hence should be easy to inte- grate with existing animation pipelines as a post-processing stage.
Because of its importance, a large body of research in computer an- imation is related to skin. We discuss only the closest work here. Due to space limitations we do not discuss work aimed at simulat- ing generic solids, fluids, and cloth; but we refer to closely related techniques in the rest of the paper, in context. Broadly speaking, skin models can be classified as kinematic, example based, or phys- ically based.
Kinematic skin. Perhaps the standard approach to skinning is to compute vertex positions of the skin mesh based on the configura- tion of the skeleton. The most widely used approach is linear blend skinning (or skeletal-subspace deformation) [Magnenat-Thalmann et al. 1988] and its refinements (e.g., [Kavan et al. 2008]).
Example based skin. Example based skinning is attractive since it can provide rich details from physical measurements [Huang et al. 2011; Beeler et al. 2011], animator input [Lewis et al. 2000; Mohr and Gleicher 2003], physical simulation [Kry et al. 2002], mesh animations [James and Twigg 2005], or motion capture [Park and Hodgins 2006]. The main difficulties with this approach are the complexity of acquiring the necessary data and poor generalization, especially to characters that only exist in our imagination.
Physically based skin. With few exceptions, previous work in this area focuses on simulating the deformation of soft tissues of the body and not on how skin moves on the body. Notable exam- ples include generic soft tissues [McAdams et al. 2011], muscles [Teran et al. 2003], and tendons [Sueda et al. 2008]. These meth- ods, as well as those listed earlier, are complementary to our work and could provide the detailed subcutaneous shapes on which our skin slides.
One of the most popular approaches to skin modeling is through passive mass-spring networks attached to muscles that drive the de- formation. The seminal work of Terzopoulos and Waters [1990] on facial animation included deformable skin modeled with a mass- spring network. Similar approaches have been applied to simulating the skin of animals [Wilhelms and Gelder 1997], human hands [Al- brecht et al. 2003], and for general texture mapping [Maillot et al. 1993]. More sophisticated finite element models have also been used. Membrane models have been used to simulate wrinkles [Wu et al. 1996], and for performance-driven animation [Choe et al.
Skin Space Body Space^ Physical Space
Skin atlas Body atlas
Jacobians are shown in red
Figure 2: Five spaces involved in representing elastic skin, and the mappings between them. See text for explanation.
2001]. Thin shell models [Qin and Terzopoulos 1996; Grinspun et al. 2003] extend membrane models by including resistance to bending; this could be useful for simulating thicker skin. Gourret et al. [1989], Sifakis et al. [2005] and Lee et al. [2009] model the skin as volumetric soft tissue along with muscles. Using a volumetric approach is advantageous or required for many applications, e.g., skin surgery [Sifakis et al. 2009].
To our knowledge, no prior work in graphics has simulated skin or any thin elastic solid in the Eulerian setting that is the key to our method. The Eulerian setting is standard for simulating flu- ids, but has only recently been used for simulating solids—in 1D [Sueda et al. 2011] and in 3D [Levin et al. 2011; Fan et al. 2013]. Our method significantly extends this work to include 2D mani- folds of arbitrary topology, allows arbitrary triangular meshes in- stead of regular grids, and integrates easily with standard animation pipelines.
3.1 Spaces
Simulating skin is challenging because skin is in close contact with the body and shares its geometry. Yet, the two are physically dis- tinct. To carefully distinguish between skin and body movements we define the relevant spaces first. See Fig. 2. To make things con- crete, it shows an example of elastic skin that completely covers the surface of a torus.
First look at the right hand side of the figure. Physical space is the familiar 3D space in which objects live; its points are denoted x. Body space is the reference 3D space in which we embed the sur- face of the body upon which the skin slides, at time t = 0; points on the surface are denoted X. We assume that the surface is rep- resented as a triangle mesh, for generality. A triangle of the mesh is shown in the figure. While meshes are convenient, it is useful to also have a parameterization of the surface. Body atlas is a collec- tion of 2D coordinate charts that parameterize the body surface; its points are denoted u. We assume that we have an invertible map, ⇡ : u 7! X, between points in the atlas and points on the sur- face. Intuitively, the atlas corresponds to the familiar texture space used in graphics, generalized to shapes of arbitrary topology. ⇡ is called the parameterization. ⇡ ^1 is called the coordinate map and corresponds to the familiar texture map.
Thus E¯ has the same non-zero eigenvalues as E, but simply ignores its irrelevant null space.
We assume that skin is a hyperelastic membrane, with strain en- ergy function W ( E¯). We compute W symbolically as a func- tion of the reduced vertex coordinates ¯^ i , and derive the forces acting at vertex i of the triangle by symbolic differentiation using MapleTM^ [Monagan et al. 2005]. Other derivatives required for im- plicit integration, see §3.5, are also computed symbolically. This is quite efficient, as shown in Section 4, since these computations are performed per triangle, with small matrices. We initially considered optimizing this computation based on additional physical insights, but found it was not worthwhile since it takes a small fraction of the total simulation time. The procedure is also very general, and could be used for any hyperelastic material model that can be expressed algebraically in terms of the reduced deformation gradient.
For example, for St. Venant-Kirchhoff material, the strain energy of a triangle is given by W ( E¯) = A
2 (tr^ E¯) 2 + μtr( E¯ 2 )
where
A is the area of the triangle in skin space (equal to 12 det R ). and μ are the Lam´e constants. Other types of materials can be used if desired [Volino et al. 2009].
The contribution of triangle j to the total force at vertex i is f^ ¯ (^) ij = @W (^) j /@ ¯^ i. We evaluate this quantity symbolically using MapleTM^. By the principle of virtual work, this force is transformed to skin space by Q (^) j and then to the body atlas using the transpose of the triangle’s Jacobian
@ /@u T = (D D 1 u )^
T = D T u D^
T = D T u R^
T Q T
. (4)
Here the triangle index is suppressed for clarity, and the thin QR decomposition of D is substituted. The transformed force in the body atlas simplifies to
f (^) ij = D T uj R^
T j Q^
T j Q^ j f¯^ ij =^ D^