1 Introduction
The main idea of skinning is to deform a surface following an underlying skeletal animation. Each surface point is influenced by one or more skeleton bones, and weights describe the influence of relevant bones on each point (usually a mesh vertex). Skinning techniques are widely used in computer animation or shape modeling to change a character’s pose and shape.
Many widely used geometric skinning methods, such as Linear Blend Skinning Magnenatthalmann et al. (1988) or Dual Quaternion skinning Kavan et al. (2008), suffer from volume collapse problems and need a careful design of pervertex weights. Examplebased methods Mohr et al. (2003) and physicsbased methods do not suffer from such artefacts. However, they are computationally expensive and require additional input data.
Our goal is to provide a point set skinning technique that preserves the geometric detail and keeps the initial sampling accuracy. We assume that a skeleton, in the form of a spheremesh model, controls the pose and the dimensions of the overall shape of the point set. Our approach encodes the shape details as a vector field above a set of baselines covering the spheremesh model’s surface. We propose to associate a base point on the articulated spheremesh model to each of the original shape points. Each basepoint is located on a baseline over the spheremesh model, and the position of a basepoint after deformation follows its baseline’s motion. We then deduce the new position of an input point from its corresponding basepoint’s new position by adapting its initial detail field value. Our approach’s originality is not to require a mesh with fixed connectivity whose triangles quality may be altered by deformations related to poses and anatomy changes, possibly creating triangle slivers and selfintersections. Meanwhile, our point set skinning process does not need to determine and compute weights.
Applications of our method include virtual artwork restoration. In virtual archaeology, one way of restoring statues is to combine parts from different statues after bringing them to a common pose and morphology and require hence artefactfree skinning results while avoiding the explicit simulation of muscles that may not respect the artistic style. Unlike an animation of 3D characters, skinning for virtual restoration is more sensitive to preserving the initial surface details. Besides, it requires not only rigid transformations but also affine transformations such as scaling. In this context, our baseline skinning method gives relevant results and preserves the details of the input shape.
To summarize, our main contributions are:

A skinning method working directly on a point set.

An approach to encode a point set above a spheremesh using a specific detail direction field.

A full geometric model of the evolution of a detail field following a spheremesh model deformation.

A skinning method able to handle multilayered details deformation.

A method that can handle articulated bodies such as human shapes as well as imaginary creatures.
2 Related work
The most famous and simple skinning method is Linear Blend Skinning (LBS for short) Magnenatthalmann et al. (1988). A vertex on a mesh surface is transformed by a linearly weighted combination of the motions related to the moving bones it is attached to. Despite wellknown limitations (the candy wrapper effect and the elbow collapse effect), Linear Blend skinning is still the standard skinning method for realtime animation purposes. Many skinning approaches base on the principle of LBS and improve its limitations, such as Pose Space Deformation Lewis et al. (2000), Logmatrix blending Alexa (2002); Thalmann et al. (2004), Optimized centers of rotation Le and Hodgins (2016), MultiWeight Enveloping Wang and Phillips (2002), spherical Skinning Kavan and Žára (2005) and Dual Quaternions Skinning Kavan et al. (2008). Jacobson and Sorkine Jacobson and Sorkine (2011) proposed to add extra endpoint weights to the LBS formulation so that it can handle properly stretch and twist. The endpoint weight of one vertex for one bone varies from 0 to 1, which indicates the original vertex’s position relative to the bone’s endpoints. The twist rotation’s angle of this vertex on the bone is a linear combination of the twisting angle of the two endpoints. The bend rotations are carried out afterwards on the positions resulting from the twist. Kavan and Sorkine Kavan and SorkineHornung (2012)
then proposed a jointbased deformer that differentiates bend and twist motions at each joint. The deformer applies a spherical interpolation of the twist (as DQS) and then a linear interpolation of the bend (as LBS). The weights for bend and twist are different which are precomputed separately as their energyminimizing weights for linear blend skinning. Fu et al.
Fu et al. (2020a) further improved the result by handling bend rotations anisotropically. But there are still some artefacts at joints such as a bulge effect.Furthermore, setting the suitable weights is an essential question for these skinning methods: while the profile of the weights is generally sketched by graphic designers Mohr et al. (2003), there exist automatic weighting techniques that, for example, use heat diffusion Baran and Popović (2007); Thiery et al. (2013); Angles et al. (2019), geodesic voxel binding Dionne and Lasa (2013) or bounded biharmonic weights Jacobson et al. (2014). Applying suitable weights on the transformation matrices of bones gives a smooth transition at bones joints when the joints are bending, but they are not sufficient to handle twisting or bone stretching. Our method does not require such weights computation and can deal with all these deformations in a unified way. A recent skinning method Le and Lewis (2019)
corrects artefacts of Linear Blend Skinning by locally estimating the rigid transformation that best restores the relative position of a vertex concerning its neighbors using Laplacian differential coordinates. This method, designed for meshes, involves a definition of details in terms of Laplacian differences. In our approach, we instead define the detail as the residual over the registered anatomical model. Instead of using a skeleton, some methods
Ju et al. (2005); Joshi et al. (2007) rely on a cage deformation which can deal with more general deformation like twisting or stretching. The deformations are controlled using a flexible cage that consists of a closed threedimensional mesh. Cage deformations are designed for unrealistic articulated characters such as cartoon characters or objects and can work in 2D or 3D.Going in a different direction, physicsbased methods simulate the growth of skeletal muscles and fat tissues using a biological model. Hamadi et al. AliHamadi et al. (2013) transfers the volume delimited by a mesh to the interior of another mesh by minimizing some harmonic energy. To do so, a deformation field is computed between the two meshes, based on the nearest point matching which is updated at each iteration Gilles et al. (2010). However, the process is not fully automatic. Recent researches Saito et al. (2015); Ichim et al. (2017); Kadlecek et al. (2016) achieve the desired deformation of the human body or face by direct control of each muscle. These methods are computationally expensive and need to define the physical model from physiological data. They are not suitable for artistic shapes since the morphology, and the representation of muscles in artwork may differ from a biological model.
Taking a different perspective on the problem, Implicit skinning Vaillant et al. (2013) uses an additional implicit formulation of the surface that better supports pose changes and reprojects skinned vertices on the implicit model after each pose change. In this paper, we also use a proxy model, but it is explicit. Volume preserving skinning methods Funck et al. (2008); Rohmer et al. (2009); Angelidis and Singh (2007) correct for volume changes through the generation of extra bulges and wrinkles. They use vector fields induced by skeletal motion to describe the skin deformation. Some skinning methods involve a rough modeling of muscles combined with implicit skinning Roussellet et al. (2018).
Examplebased methods Sloan et al. (2001); Wang et al. (2007); Mohr and Gleicher (2003); Kry et al. (2002) produce more realistic results but require extra training data. They have a limitation for a given range of deformations. In addition, these methods can only be as good as their training dataset is, and for unrealistic characters (imaginary creatures or characters with unrealistic body proportions), relevant datasets are nontrivial to build.
3 Method
As defined above, Skinning processes allow deforming the skin following an underlying skeletal animation. In most skinning methods, the skin is a 3D mesh whose vertices are attached to a set of bones using different weights, and the skeleton is a tree whose nodes represent joints of the skeleton and edges represent bones. In this work, we propose to consider the skin of the model as a set of detail points, encoded as a set of displacements on top of a spheremesh articulated model and transferred back on this model after pose or morphology changes. The originality of our approach is that the direction in which the detail is encoded does not necessarily correspond to the normal, especially in concave areas of the spheremesh. Furthermore, this detail direction may evolve after a pose change. The detail direction field is hence not a simple heightfield Policarpo et al. (2005).
Starting from a shape point set with a registered spheremesh model, we associate each input point to a base point on the spheremesh model to have a relative position with respect to the model. The principle of our baseline skinning is that each base point lies on a baseline, i.e. a line defined on the spheremesh model, whose profile evolves continuously with the deformations of the model. After applying skinning on base points, we lift them by adding the detail field in the directions corresponding to the new positions to recover the detailed point set after deformation. The pipeline of our approach is illustrated in figure 1. Along with the bones of the spheremesh model, the baseline motion can be thought of as mimicking longitudinal muscle’s change, and base points locally slide on the moving baseline to mimic the sliding of the skin on and around joints, although these motions are not driven by an explicit physical model. Similarly, the direction in which the detail is reported will change according to the spheremesh motion, as if details were carried by hairs that push against each other and lean in the concavity of a joint. Therefore, our skinning process is different from the skinning method presented in the original spheremesh paper Thiery et al. (2013, 2016), which remains in the classical skinning framework (i.e. LBS).
In the following, we briefly describe the spheremesh model introduced in Thiery et al. (2013). Then we explain how to find the baseline and the base point for a given input point. Finally we derive our baseline skinning algorithm.
3.1 Registered spheremesh model
Our method uses a spheremesh model Thiery et al. (2013) as a skeleton guiding the shape deformation. A volumetric spheremesh is a union of spheres centered on a simplicial complex, with linearly varying radius between vertices. In our approach, we only consider 1D bones, which means that each bone corresponds to the union of a set of spheres centered on a segment with a linearly varying radius (Figure 2). The bone model is controlled by the length and the pair of sphere radii where , are the two end sphere centers and , are the associated radius respectively. The segment is the medial axis of the bone. For each sphere center , the radius of the sphere centered at is , with . We denote by the angle of the conic part of the bone, as illustrated on Figure 2. A chain of bones is a sequence of bones with each bone sharing a common end sphere with the next bone. The skeleton that we use is a tree composed of several chains of bones connected at some junctions spheres. We further assume that this spheremesh model is registered to the input point set, i.e. the model is calibrated to match the input shape, and we know which point is associated to which bone. In practice, to get this initial registration, we use the FAKIR algorithm Fu et al. (2020b).
3.2 Initial baselines and detail direction field
Baseline definition
Given a chain of bones, a baseline is a continuous curve defined on the surface of the spheremesh. Before a pose change, it is composed initially of a constrained sequence of segments and circular arcs. The segments are carried by the conical parts of the bones (generators), and the circular arcs are carried by the sphere caps at the articulation between two bones. The constraints on the circles and segments composing the baseline are as follows:

There is one segment per bone.

The segments belonging to two consecutive bones are constrained to belong to the same plane containing the apexes of the two cones. If they do not share a common endpoint, these two segments are connected in a manner by a circular arc also belonging to the plane of the two segments.
Figure 3 illustrates two portions of baselines on a two bones chain. The one in green contains a circular arc, while the one in blue illustrates the case where two segments directly share a common endpoint.
Building a baseline
Starting from a point on a cone part of the spheremesh, we consider the cone generatrix that passes through that point: the first segment is the part of the generatrix corresponding to the spheremesh surface restricted to that cone. Then, the rest of the baseline is built using the following principle: Given a baseline segment on one bone , the corresponding baseline segment on subsequent bone is obtained by intersecting the spheremesh surface restricted to with the plane containing the segment on and the cone apex . By construction, this plane also contains the cone apex . There are two connected components in the intersection of the plane with the two truncated cones and their connecting spherical cap. We choose the segment of that lies in the same connected component of our initial segment on . If these two segments do not have a common endpoint, they are connected in a continuously differentiable () way by a circular arc. The latter is a circular portion of the intersection between the plane of the two segments and the spherical cap shared by the two bones. The same construction process is valid for extending a baseline segment of a bone onto the preceding bone.
In degenerate cases where one of the bones is, in fact, a cylinder, a baseline segment on that bone is a segment parallel to the cylinder axis, and the corresponding segment in an adjacent bone is included in the plane defined by the segment on the cylinder and the apex of the other cone. If both bones are cylinders, the plane containing the baseline segments on those bones is parallel to the axis of both cylinders.
If one bone corresponds to a free extremity of the spheremesh, a baseline segment on that bone is extended by a circular arc joining the endpoint to the furthest point of the sphere cap that is aligned on the bone axis (see Figure 2(b)).
Bundle of baselines
It is essential to notice that the baselines built for a chain of bones cannot cross each other. Hence, the surface of each chain of bones is covered by a bundle of nonintersecting baselines.
Bundle of baselines at junctions
A spheremesh is usually composed of several chains of bones, which join at a common sphere end. It is possible to extend the construction of the bundle of baselines by subdividing the sphere into several portions in the manner of a Voronoi diagram. Each cell comprises the points that are closer to a tangential cone portion than to another tangential cone portion. On the sphere, the median between two cones is a circular arc in the plane that holds the intersection of the two cones. It is indeed a plane because the cones are tangent to a common sphere. At the junction, baselines connect coplanar segments of two cones if the plane holding these two segments also contains a common point to the two cones on the union of all the cones truncated with each other.
Detail direction field
Armed with this baseline definition, we now define how a continuous vector field of detail directions can be defined over the spheremesh using the system of baselines. Those directions will be used to encode the detail points above the spheremesh.
First, along a circular arc, the direction of detail always coincides with the normal direction. The segment case is slightly more demanding: we first define the detail directions at the endpoints and then linearly interpolate along the segment.

If the endpoint corresponds to the connection of the segment and a circular arc, the detail direction corresponds to the endpoint’s normal, which is well defined because of the junction property.

If the endpoint corresponds to the intersection of two cones tangent to a common sphere, the detail direction corresponds to the outward direction from the sphere’s center to the intersection point.
Figure 3 illustrates the profile of the detail direction field above a baseline. Note that along a baseline segment, the direction field vectors are coplanar by construction. The detail direction field along a segment is entirely contained in the plane defined by the segment and the axis of the bone it belongs to. In the next section, we use this property to define a nonorthogonal projection of a point onto the spheremesh. Note that the plane including details changes from one segment of the baseline to another or from one segment of the baseline to a circular arc.
3.3 Projection of a point on the spheremesh using the detail direction field
Given a point of the input shape, we propose to project it on the spheremesh using detail directions induced by baselines instead of using the orthogonal projection. Hence, we can obtain a more natural and continuous way of modelling the details in the concave parts of the spheremesh. More precisely, given a point , we are confronted with the inverse problem of determining a basepoint of the spheremesh such that can be encoded as a displacement in the detail direction above . Fortunately, this inverse problem is made easy because, at a joint and its two incident bones, the segments and circular arcs of a baseline are coplanar, and by the fact that detail directions are also coplanar above each baseline segment.
Baseline determination
Given , we first have to identify the baseline portion that contains basepoint . Assuming that the local variation of a detail point after a skeletal movement is only influenced by its closest bone, the predecessor bone and the successor bone, the portion of baseline associated to only needs to be computed over at most three bones. First, let us first deal with the easy case where point projects orthogonally on a spherical cap of the closest bone. In this case, the basepoint coincides with the orthogonal projection of onto the sphere and the detail direction corresponds to the normal to the sphere at this point. Hence the basepoint is trivial to find, and the local portion of the baseline is built accordingly on the two adjacent bones. In the nontrivial case where the orthogonal projection of lies on a cone part of the closest bone, the basepoint must be determined on the baseline associated with . Our method processes the bones by pairs: by first considering the portion of baseline along ’s closest bone and its successor bone to deal with one joint and the portion of baseline on the predecessor bone and the closest bone with the other joint. Hence, the following explanations will be illustrated on a spheremesh corresponding to a single pair of bones. We refer to Figure 5 for the following notations. The example spheremesh model is composed of a sphere joint and its two adjacent bones and . Let and denote the apexes of the cones underlying and .
is the orthogonal projection of on its closest bone ( in the example), except if is located within the intersection of the two bones and . In the latter case we project on the more distant of the two bones and for continuity sake, as illustrated in Figure 5 with being projected on even if is its closest bone. Importantly enough, the orthogonal projection is to be distinguished from the basepoint . We consider the plane containing line and , and take its intersection with bones and and their common joint but excluding the spherical caps at the other end of the two bones. If plane is not tangent to sphere , this yields two possible pieces of baseline curve, instead of a single one (blue and green curves in Figure 5). Each piece is composed of two segments (( and in green or and in blue in Figure 5) that are possibly joined by a circular arc ( in green in Figure 5). Note that, both pieces of baseline may possibly enclose a circular arc. Out of these two possible baselines, we select the one that contains . Hence, in Figure 5 the blue curve is the baseline piece associated with point .
Two exceptional cases must be considered. If one of the adjacent cones is a cylinder (both its endsphere radii are equal), we consider instead the plane parallel to the cylinder axis, containing the apex of the remaining cone and point . The second case is when both cones degenerate to cylinders, in which case we consider the plane parallel to both cylinders axis and containing .
Anchor points of a baseline
If there is a circular arc in the baseline portion associated with point on the joint sphere , we denote by the intersection point of the circular arc and the plane enclosing the intersection of the two cones. This plane is called the separator plane of the two bones. is different from the midpoint of the arc . If there is no circular arc, is the intersection of the two extended segments and of the underlying cones, where and both belong to the sphere joint in Figure 5). Here again belongs to the separator plane of and . is the anchor point of the baseline on joint .
Basepoint determination
The portion of baseline associated to one point on its closest bone and its two adjacent bones is composed of three segments that are possibly joined by one or two circular arcs. In the example of Figure 12(a), the piece of baseline contains segments , and , where and are the intersections of the extended segments , and .
If lies on a circular arc of sphere , the detail direction is given by the unit vector pointing from towards , and is the basepoint of . If lies on a segment part supported by a bone , the detail direction encoding is enclosed in the plane containing ’s axis and . To determine the corresponding basepoint we use the fact that detail directions are obtained by coplanar linear interpolation between the detail directions at the segment endpoints. If the segment is adjacent to two circular arcs on the baseline curve, the detail direction locally corresponds to the normal to the cone and the base point still coincides with . However, if a segment on is adjacent to another segment on (resp. ) the direction of detail at their common point (resp. ) is given by the unit vector pointing from the center (resp. ) of their common joint sphere toward (resp. ). This case is illustrated in Figure 5. Introducing an additional point , lying at the intersection of line and , is found as the intersection of lines and , and the detail direction is , which corresponds to a linear interpolation along the segment between and .
3.4 Encoding a point set above a spheremesh
Each point is projected onto the spheremesh to determine its basepoint and its local amplitude of detail in its detail direction. The projection process is independent for each point and can therefore be parallelized. The input point set is then described by a set of spheremesh basepoints with a height as illustrated in Figure 6. There can be several occurrences of a same basepoint when the starting shape is multilayered or has plumb lines.
3.5 Baseline and detail direction field after pose change
After skeletal movement, segments composing baselines will be modified differently depending on whether a bone is twisted or a joint is folded or unfolded. In our deformation approach, the segments are transformed into curves on the conic part of the bones. The deformed baselines will be composed of pieces of these curves such that they can still be connected by circular arcs as in the original baselines.
Twist
When a bone is twisted around its axis with remaining fixed, the points belonging to a baseline segment of will be deformed by rotations around the cone axis. The angle of rotation of a point on the segment depends on its normalized distance to the endpoint closer to , in a similar way of the approach proposed in Jacobson and Sorkine (2011); Fu et al. (2020a). Normalized distances are measured before twisting . After twisting, the segment deforms into a curve depending on the profile of the angle of rotation as an increasing function of . The circular arcs remain unchanged. Figure 6(a) illustrates the deformation of a segment after twisting with an angle . The angle of rotation applied along the segment is computed by using a cubic function: . But any other profile provided by an artist or resulting from learning would be possible. The advantage of the cubic profile is that the tangent to the curve at the endpoints of the segment is preserved by twisting.
Bend
When a joint between two consecutive bones and is bent, the cone of is rotated around the axis of the joint, and remains fixed. Given a baseline, the rotated segment of is no longer coplanar with on . Initially, the two segments were in the same plane of the sheaf passing through . After bend rotation, each segment is in a different plane of the sheaf as illustrated in figure 8. The planarity loss is also illustrated on figure 9. Therefore we propose to deform segments on the surface of cones so that they can be connected again by a circular arc defined by a plane of the sheaf. Let us first explain where the new endpoints of these curves and are positioned on the sphere.
In the following descriptions, we usually illustrate the case where and do not intersect initially and are connected by a circular arc in the initial baseline. However, the case where initial segments and intersect is treated in the same way, by performing the deformation on the extended segments and .
By definition, and belong to the circles that connect their respective cones to the common sphere. Let us call these circles the circles of tangency (see figure 8). After rotation, we propose to move the endpoints and on their respective circles of tangency so that they are brought in a common plane of the sheaf containing and the displacements of and on their respective circles are similar in a sense that takes the position and the radius of the circles of tangency into account. Figure 10 illustrates the conjoint determination of the coupled target positions and for endpoints of segments being deformed. The rotated segment can be completed into a continuous planar baseline proposition using circular arc and segment (in blue) in the plane passing through , and . Likewise, segment and circular arc complete the segment into a continuous planar baseline proposition (in yellow) within a plane passing through , and . and (resp. and ) are on the circle of tangency which connects the red cone (resp. blue cone) to the common sphere. The target endpoint and must be located on the circular arcs and respectively.
In the corresponding subset of the sheaf of planes passing through , we are seeking the relevant intermediate plane defining the target endpoints , that balances the distances of and but also and . For this we cannot work directly on the circle of tangency of , nor on the circle of tangency of , but on a pivot circle at the intersection between the separator plane of the two cones and the joint sphere. This pivot circle is illustrated in purple in figure 10. Let (resp. ) be the intersection of the baseline arc (resp. ) and the pivot circle. denotes the middle point of the circular arc on the pivot circle. The plane of the sheaf passing through is the intermediate plane. and are defined by the intersections of that plane with the tangential arcs and respectively.
In Figure 10, we illustrate how to find the relevant intermediate plane of the sheaf between a baseline passing in the convex area of the joint and a baseline passing in the concave area. Our approach works for all other situations that we illustrate in Figure 11. This Figure also illustrates that a baseline initially positioned in the convex part of a joint may evolve in the concave part after a bend, and vice versa.
(a)  (b)  (c)  (d)  (e)  (f) 
The target position (resp. ) corresponds to a target rotation angle (resp. ) of (resp. ) around the axis of (resp. ). Once these target rotation angles are determined, the points of the initial segment (resp. ) are rotated in turn around the axis of the cone by interpolating the rotation angle between and (resp. between and ) using a function of the normalized distance to (resp. ) on the initial segment (resp. ). As for the twist rotation, we propose to use a cubic interpolation of the angle, but once again it is possible to use another profile, possibly sketched by an artist, learned from experimental data, or resulting from physicbased criteria. Thus, the point with normalized distance to point on segment is rotated by an angle around the axis of . The same is done for the points of the initial segment , by using their normalized distance to and by using it to interpolate the rotation angle between and . The resulting deformation of the segment is illustrated in Figure 9.
The curves and obtained by deforming the segments and are still included on the cone part of their respective bones. If they do not intersect, they can be connected by a circular arc since and belong to a common plane of the sheaf of planes passing through . If they intersect, we crop the parts of the curves that get inside the other cone, and we connect the truncated parts.
Deformation of a complete baseline on a chain of bones
The deformation of the segments composing a baseline is done by sequentially processing the bones composing a chain, as is always the case when positioning the skin of an articulated body.
The bend of a joint distorts the segments on both its incident bones. If rotations occur at both joints bordering a bone, there is a combined effect on the common bone with a target position on each side for the endpoints of segments being deformed. However, what is said above can be adapted: we move the points of the segments by interpolating a rotation angle around the axis of the cone between two target angles (see Figure 8(b)).
If a bone is also affected by a twist, there is a combined effect of the bend and the twist on the segments of the bone. The twist is simply handled by an additional rotation of one of the endpoint, corresponding to adding the angles to the actual target angle. Then, we proceed by cubic interpolation of the angle between the two target angles for rotating the segment inner points around the axis of the bone.
The deformed segments are completed with circular arcs in the spherical convex parts of the joints, and they are truncated where they intersect in the concave parts of the sphere.
If the transformations of the bones of the skeleton are precomputed first, the relative displacement of the points above the bones can benefit from parallelism.
Deformation of baselines at the junction between several chain of bones
If a bone is bent at a common junction with other chains of bones, we propose to locally deform the baselines by establishing a correspondence between the baselines before and after skeletal deformation. This can be done by giving a normalized coordinate to each baseline of a given type, based on the proportion of angle crossed by the baseline on the pivot circular arc associated with the pair of its corresponding bones.
Evolution of the detail direction field over the deformed baselines
After the movement of the skeleton, the detail directions above a deformed baseline can be constructed without knowledge of the original baseline. It depends only on the position of the points on the surface of the spheremesh. This amounts to compute portions of new baselines as they would be constructed with the new position of the skeleton and to construct the direction field above the segments and circular arcs of this new bundle of baselines. This is illustrated in 2D in Figure 13 and in Figure 14.
3.6 Basepoints and points after transformation
Basepoints displacement
When the skeleton moves, the baseline of a point moves along with the bones. The basepoint moves along with this baseline, but it also displaces along the deformed baseline to deal with the enlargement or shrinkage of the baseline parts between two consecutive joints. More precisely, a baseline is divided into sections by anchor points ( and in Figure 15) that were placed at the intersection with the separator planes (on the circular arcs of the baseline or at the intersection between two baseline segments). After movement of the skeleton, anchor points are still fixed at the intersection of the deformed baselines and the separator planes, and basepoints are distributed over the baseline sections in such a way as to preserve the curvilinear distance ratios to the bordering anchor points. The interest of our approach is that it guarantees a good distribution of details in the areas of the surface which undergo a stretching or a shrinking.
Point set deformation
In our skinning process, the new position of each point of the shape is encoded with respect to its new basepoint through a displacement using the corresponding direction of detail . In practice, for each point , we only need to identify the corresponding portion of the baseline on the original shape and the relative abscissa of its basepoint with respect to bordering anchor points on the baseline. This portion of the baseline is further deformed with the skeleton, and the new position of is computed before reporting the detail in the direction corresponding to .
Point set skinning algorithm
The full process of point set skinning is summarized in Algorithm 1.
3.6.1 Modulation of detail amplitude
If the shape we consider is an offset surface above the spheremesh ( constant everywhere), we would like it to remain an offset surface after deformation. This amounts to a local principle of volume preservation which was not addressed in our approach (see green details in Figure 15(b). To introduce this principle it is sufficient to modulate the amplitude of the detail with a function of the angle between the direction of detail and the normal to the spheremesh (see red details in Figure 15(b)): The normalized value is computed by:
where (or ) represents the angles of the detail direction (or ) It is this modulated detail that is reported over the basepoint after movement of the skeleton. when a basepoint is on the sphere part or on the convex part of the spheremesh model.
3.6.2 Missing data when unfolding a joint
When a joint is initially folded like in Figure 16(a) and we want to unfold it, we sometimes lack information because it was hidden in the fold (green area in Figure 16(a)). Figure 16(b) shows the position of points on the baseline if we unfold the joint by taking into account the hidden area: a new zone (segment and segment ) appears on the baseline after unfolding, for which we lack detail information. This phenomenon appears only in the concave part of a joint being unfolded. This can be solved by an inpainting process, which is a difficult task for surfaces. When taking into account only the visible part of the baseline (as it was done in previous subsections), we adopt a simpler strategy by not taking the hidden fold into account: we simply extend the two visible parts of the baseline over the area to be inpainted. The problem is that the junction may be unpleasant after reporting the detail since we stitch together details that may correspond to remote areas on the surface of the object (Figure 16(c) in purple zone). Therefore, we propose a gradual Gaussian smoothing of this 1D area to reduce the small visual artifact which occurs when the starting position was too bent.
We apply this smoothing process only in the context where we have a severe fold that possibly hides information. For example, in Figure 18, we gradually apply this smoothing process only for basepoints on segment and segment . and represent the positions of the initial point on the left bone and the right bone before unfolding the joint. The resulting height amplitude of is thus:
with a weight normalizing factor. is a subset of ’s neighbors’ base points shown in green zone in Figure 18. The value of depends on the position of point : it becomes smaller when is close to the boundary ( or in our example) of the smooth zone: if is on the segment or if is on the segment .
Let note that in contrast, when we bend a joint, we choose the approach which consists in leaving the detail visible and pushing it in its entirety outside the fold. But we could very well set thresholds beyond which we would choose to hide part of the detail inside the fold.
4 Results
In this section, we show the performance of our baseline skinning method on synthetic and real point sets. We implemented our algorithm in C++, using OpenMP for computing baselines in parallel. All experiments are run on an Intel Core i74790K CPU @ 4.00GHz.
We first test our algorithm on synthetic data. We generated a set of points lying on the same baseline and used a chain of three bones. The attachment of points to bones is shown in different colors: red, green and blue. In Figure 19, we show original points, their base points and detail directions. For different bone motion, we show the initial position (first column), our baseline skinning results by linear interpolation (2nd column) and by cubic interpolation (3rd column) for both and . We show the results for a folding motion (first and second row), and an unfolding motion (third and fourth rows), for baselines situated in convex or concave parts after deformation. In all these synthetic problems our baseline skinning method performs well. The skinning result can also be further adjusted by changing interpolation schemes. Since our detail direction is not orthogonal to the bones in concave parts, we avoid the detail direction intersecting near the joints. Then we compare our method with LBS, dual quaternion skinning and skinning method presented in Fu et al. (2020a) on a stripy synthetic surface LABEL:fig:fig:results_plie_deplie. We show the results of twisting, bending and rebending to initial position. Our method gives a good performance for all these movements.








We selected a set of statues from various sources:

Dragon, Scan data of a dragon sculpture

Dancer with Crotales, Louvre Museum

Aphrodite, Thorvaldsens Museum

Dancing Faun, Pompei excavations

Saint John the Baptist, Ny Carlsberg Glyptotek
While the ’Dancer with crotales’ is a raw point set Digne et al. (2011). The other models are point sets sampled on meshes extracted from the Sketchfab website. We show original point set of statues in Figure21.
model  number of points  Ours  Fu et al.  DQ  LBS 
Dragon  532 067  0.48s  0.62s  0.34s  0.49s 
Dancer with Crotales  539 136  1.32s  1.4s  0.21s  0.27s 
Aphrodite  461 688  0.31s  0.82s  0.22s  0.31s 
Dancing Faun  518 037  0.63s  1.38s  0.22s  0.28s 
Saint John the Baptist  519 483  0.48s  1.68s  0.25s  0.31s 
Figures 22, 23, 24, 25 and 26 show our baseline skinning results compared with common skinning algorithms. Compared with Linear blend skinning or Dualquaternion skinning, our baseline skinning method improves the collapse or bulge effect at joint and gives a more reasonable result for the point set. This improvement can be observed especially at joints which move a lot, such as the bending left arm of Dancer with Crotales (Figure 22), the left leg and the left arm of Aphrodite (Figure 23), the arms of the Dancing Faun (Figure 24) and the right arm and the right leg of the Saint John the Baptist (Figure 25). Compared with the method in Fu et al. (2020a), which can also improve these artefacts, our method preserve the information of the original point set better. For example, we can better observe the sculpture texture on the right arm of Saint John (Fig. 25) with our skinning result than the result by the method of Fu et al. (2020a). Furthermore, the method in Fu et al. (2020a) does not show points that are hidden inside the spheremesh model after deformation and creates a discontinuity for the point set even if the skinning result is visually pleasant. Figure 26 shows a multilayer point set example. Our baseline skinning method gives the best result among four methods, especially at the head and the tail where the details are complicate. We do not set bones for the claws so we consider the claws as a multilayer points over the dragon’s body. We can observe the cracked horns in the first point of view and a cracked back claw in the second point of view for the LBS and dual quaternion skinning methods. The cracked effect can be resolved by adjusting the influence weight, but the result is not pertinent (see the third one in Figure 25(c)). It is difficult for LBS and dual quaternion method to deal with the multilayer data. The method of Fu et al. (2020a) performs better for multilayer data than LBS and dual quaternion skinning method. But it also has a cracked claw because they use orthogonal projection when they compute their height field. The orthogonal projection induces a discontinuity at concave parts of the bones. As far as computation times are concerned, Table 1 shows times of the four methods. Our method is faster than the method of Fu et al. Fu et al. (2020a) and is similar to Dualquaternion skinning and Linear Blend Skinning.
We compare our method with the skinning method presented in the paper of original spheremesh model Thiery et al. (2013). Although they use the spheremesh model as the skeleton of the skinning, the artefacts of the classical skinning methods remains. Our method does not lose the volume and preserves well the original connectivity (See the stripes in Figure 26(d)).).




















Limitations
Our baseline skinning method has several limitations. First, an unfolding motion raises a missing data problem since we do not have a mesh of the complete body, such as for the right arm of the Dancer (fourth column in Figure 21(a)) or the left arm of Saint John (second column in Figure 22(a)), to alleviate this limitation, one could use a patchbased 3D inpainting process or a 1D inpainting process restricted to baselines. Another limitation is that our skinning method can only deal with points influenced by a single chain of bones and cannot be easily adapted to deal with points influenced by several different bone chains. This limitation can have an impact on examples such as the Dancer’s dress which should be influenced by the motions of both legs. However, this case is clearly one where the very hypothesis of a spheremesh model based skinning reaches its limits, it would require cloth modeling and animation techniques.
5 Conclusion and perspectives
We introduced a novel baseline skinning method for point sets of articulated bodies. Our method does not require a weight computation for each point and gives a realistic skinning result when changing the pose and morphology of the articulated body, even when there is no information on the underlying muscles. As a future work, we plan to design displacement fields above baselines to mimic muscles or to take into account additional folds of the skin. We also want to investigate how we can associate different bone chains in order to deal with points which are influenced by three or more bones. It would also be necessary to improve the treatment of the deformations of the junctions because for the moment the proposed solution will involve tightening/stretching effect between neighbouring baselines. We provide a solution to the case where an inpainting problem is raised in concave areas at unfolding/unbending of a joint. However, when the problem is too severe, it can be interesting to develop an other approach, such as patchbased approaches.
Acknowledgments
This work was funded by the eRoma project from the French Agence Nationale de la Recherche (ANR16CE380009). The Dancer with crotales model is a point set of the Farman Dataset Digne et al. (2011). The other statues data are sampled on meshes from the Sketchfab website: the Dragon model is courtesy of Sketchfab user ”3D graphics 101 ”, the Dancing Faun model is courtesy of Moshe Caine and the 3 other statues models (Aphrodite, Saint John the Baptist and Old Fisherman) are courtesy of Geoffrey Marchal.
References
References
 Linear combination of transformations. Proceedings of the 29th annual conference on Computer graphics and interactive techniques. Cited by: §2.
 Anatomy transfer. ACM TOG 32 (6), pp. 188:1–188:8. External Links: ISSN 07300301 Cited by: §2.
 Kinodynamic skinning using volumepreserving deformations. In SCA ’07, Cited by: §2.
 VIPER: volume invariant positionbased elastic rods. Proceedings of the ACM on Computer Graphics and Interactive Techniques 2 (2), pp. 1–26. Cited by: §2.
 Automatic rigging and animation of 3d characters. ACM TOG 26 (3). External Links: ISSN 07300301 Cited by: §2.
 Farman institute 3d point setshigh precision 3d data sets. IPOL 1, pp. 281–291. Cited by: §4, Acknowledgments.
 Geodesic voxel binding for production character meshes. In SCA ’13, Cited by: §2.
 Anatomy Changes and Virtual Restoration of Statues. In Eurographics Workshop on Graphics and Cultural Heritage, External Links: ISSN 23126124, ISBN 9783038681106 Cited by: §2, §3.5, 19(d), Figure 20, Figure 22, Figure 23, Figure 24, Figure 25, 25(d), §4, §4.
 FAKIR: an algorithm for revealing the anatomy and pose of statues from raw point sets. Computer Graphics Forum 39. Cited by: §3.1.
 Volumepreserving mesh skinning. In VMV, Cited by: §2.
 Creating and animating subjectspecific anatomical models. Computer Graphics Forum 29 (8), pp. 2340–2351. Cited by: §2.
 Phace: physicsbased face modeling and animation. ACM Trans. Graph. 36, pp. 153:1–153:14. Cited by: §2.
 Bounded biharmonic weights for realtime deformation. Communications of the ACM 57, pp. 99 – 106. Cited by: §2.
 Stretchable and twistable bones for skeletal shape deformation. ACM Transactions on Graphics (proceedings of ACM SIGGRAPH ASIA) 30 (6), pp. 165:1–165:8. Cited by: §2, §3.5.
 Harmonic coordinates for character articulation. ACM TOG 26, pp. 71. Cited by: §2.
 Mean value coordinates for closed triangular meshes. ACM TOG 24, pp. 561–566. Cited by: §2.
 Reconstructing personalized anatomical models for physicsbased body animation. ACM Trans. Graph. 35 (6). Cited by: §2.
 Geometric skinning with approximate dual quaternion blending. ACM Trans. Graph. 27, pp. 105:1–105:23. Cited by: §1, §2.
 Elasticityinspired deformers for character articulation. ACM TOG 31, pp. 196:1–196:8. Cited by: §2.
 Spherical blend skinning: a realtime deformation of articulated models. In I3D, pp. 9–16. External Links: ISBN 1595930132 Cited by: §2.
 EigenSkin: real time large deformation character skinning in hardware. In SCA ’02, Cited by: §2.
 Realtime skeletal skinning with optimized centers of rotation. ACM Transactions on Graphics 35, pp. 1–10. External Links: Document Cited by: §2.
 Direct delta mush skinning and variants. ACM TOG 38 (4), pp. 113:1–113:13. External Links: ISSN 07300301 Cited by: §2.
 Pose space deformation: a unified approach to shape interpolation and skeletondriven deformation. In ACM SIGGRAPH, pp. 165–172. External Links: ISBN 1581132085 Cited by: §2.
 Jointdependent local deformations for hand animation and object grasping. In In Proceedings on Graphics interface ’88, pp. 26–33. Cited by: §1, §2.
 Building efficient, accurate character skins from examples. ACM SIGGRAPH 2003 Papers. Cited by: §2.
 Direct manipulation of interactive character skins. In I3D, pp. 27–30. External Links: ISBN 1581136455 Cited by: §1, §2.
 Realtime relief mapping on arbitrary polygonal surfaces. In SI3D, Cited by: §3.
 Exact volume preserving skinning with shape control. In SCA ’09, Cited by: §2.
 Dynamic implicit muscles for character skinning. Comput. Graph. 77, pp. 227–239. Cited by: §2.
 Computational bodybuilding: anatomicallybased modeling of human bodies. ACM Trans. Graph. 34 (4). Cited by: §2.
 Shape by example. In I3D ’01, Cited by: §2.
 Modeling of bodies and clothes for virtual environments.. Vol. 0, pp. 201–208. External Links: Document Cited by: §2.
 Animated mesh approximation with spheremeshes. ACM Trans. Graph. 35, pp. 30:1–30:13. Cited by: §3.
 Spheremeshes: shape approximation using spherical quadric error metrics. ACM TOG 32 (6). Cited by: §2, §3.1, §3, §3, 26(a), 26(b), 26(c), Figure 27, §4.
 Implicit skinning: realtime skin deformation with contact modeling. ACM TOG 32 (4), pp. 125:1–125:12. External Links: ISSN 07300301 Cited by: §2.
 Realtime enveloping with rotational regression. In SIGGRAPH 2007, Cited by: §2.
 Multiweight enveloping: leastsquares approximation techniques for skin animation. In SCA, pp. 129–138. External Links: ISBN 1581135734 Cited by: §2.
Comments
There are no comments yet.