| .. _bpy.types.SkinModifier: | |
| ************* | |
| Skin Modifier | |
| ************* | |
| The *Skin* modifier uses vertices and edges to create a skinned surface, | |
| using a per-vertex radius to better define the shape. | |
| The output is mostly quads, although some triangles will appear around intersections. | |
| It is a quick way to generate base meshes for sculpting and/or smooth organic shapes with | |
| arbitrary topology. | |
| .. note:: | |
| Faces in the original geometry are ignored. | |
| Options | |
| ======= | |
| .. figure:: /images/modeling_modifiers_generate_skin_panel.png | |
| :align: right | |
| The Skin modifier. | |
| Branch Smoothing | |
| A branch point is a vertex with three or more connected edges. | |
| These areas tend to produce more complicated topology, some of which may overlap. | |
| This setting relaxes the surface around these points, | |
| with the side effect of shrinking it. | |
| Smooth Shading | |
| Output faces with smooth shading rather than flat shading. | |
| The smooth/flat shading of the input geometry is not preserved. | |
| Symmetry Axes X/Y/Z | |
| These checkboxes are used to keep the output topology symmetrical in their respective axes. | |
| In other words, using it avoids merging triangles across an axis unless the triangles form a symmetric quad. | |
| .. note:: | |
| They do not add geometry flipped across an axis. | |
| For that, the :doc:`Mirror </modeling/modifiers/generate/mirror>` modifier should be used, | |
| typically placed above the *Skin* one. | |
| Add Skin Data | |
| ------------- | |
| This modifier uses a :ref:`custom set of data <modeling-modifiers-generate-skin-data>` in the mesh, | |
| that is generated automatically when you add the modifier the first time. | |
| However, you may remove that data, or loose it some way or the other. That operator will generate it again. | |
| Selected Vertices | |
| ----------------- | |
| Those operators modify the original mesh 'control data' for the *Skin* modifier. They help manage its behavior. | |
| Mark/Clear Loose | |
| By default, a branch vertex (vertex with three or more connected edges) | |
| will generate extra edge loops along adjacent edges in order to keep the output tight. | |
| Branches can be made loose by clicking *Mark Loose*, which will allow the output to stretch between | |
| all adjacent vertices. This can be disabled again by clicking *Clear Loose*. | |
| Mark Root | |
| Marking a vertex as root causes that vertex to be used for calculating rotations for connected limbs. | |
| Root vertices also affect the armature output, they will be used as the origin for the root bones. | |
| .. | |
| Not true anymore: | |
| Roots are shown in the *3D View* with a red dashed circle around the vertex. | |
| Each set of connected vertices should have one root node | |
| (one is selected by default if you do not assign any manually). | |
| *Mark Root* enforces the one-root per set rule, so it is not necessary to manually unmark roots. | |
| Equalize Radii | |
| Makes the skin radii of selected vertices equal on each axis. | |
| Create Armature | |
| --------------- | |
| Create an armature on top of the object. Each edge becomes a bone. | |
| .. note:: | |
| If the root vertex has more than one adjacent edge, | |
| an extra bone will be created to serve as the root. | |
| This tool does the following: | |
| #. A new armature object is added with bones matching the input mesh. | |
| The active selection is switched to the new armature. | |
| #. Weight groups are added to the input mesh. The *Skin* modifier propagates these weights to the output as well. | |
| #. An :doc:`Armature </modeling/modifiers/deform/armature>` modifier is added directly below the *Skin* one. | |
| Note that the *Armature* modifier is being applied after | |
| the *Skin* one because it should only deform the output, | |
| whereas if it were above, it might change the resulting topology. | |
| .. _modeling-modifiers-generate-skin-data: | |
| Skin Mesh Data | |
| ============== | |
| That modifier needs a set of specific data in the original mesh to work properly. | |
| This data allows to define the root vertices of each tree, which ones are loose (see `Selected Vertices`_ above), | |
| and the size (radius) of the skin at each vertex. | |
| Skin Size | |
| --------- | |
| The radii of input vertices can be individually scaled in Edit Mode by pressing :kbd:`Ctrl-A`. | |
| Non-uniform scaling of the X and Y axes is accessible by the usual axis locking with :kbd:`X` or :kbd:`Y`. | |
| The radius can also be adjusted in the *Transform* panel of the Sidebar, in the 3D View. | |
| Examples | |
| ======== | |
| .. _fig-modifier-skin-creature: | |
| .. figure:: /images/modeling_modifiers_generate_skin_example.png | |
| Simple creature, made with only the Skin and Subdivision Surface modifiers. | |
| External Links | |
| ============== | |
| - `Skin Modifier Development at Blender Nation | |
| <http://www.blendernation.com/2011/03/11/skin-modifier-development/>`__ -- | |
| An early demonstration of the Skin Modifier by Nicholas Bishop (March 2011). | |
| - Ji, Zhongping; Liu, Ligang; Wang, Yigang (2010). | |
| `B-Mesh: A Fast Modeling System for Base Meshes of 3D Articulated Shapes | |
| <http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/BMesh/>`__, | |
| Computer Graphics Forum 29(7), pp. 2169-2178. -- The work this modifier is based on | |
| (`direct link to PDF <http://www.math.zju.edu.cn/ligangliu/cagd/projects/bmesh/paper/bmesh.pdf>`__). | |
| - `Related thread on Blender artists | |
| <http://blenderartists.org/forum/showthread.php?209551-B-mesh-modeling-tools-papers-better-than-zsfere>`__. | |