Manual/PartIX/Skinning

Wikipedia,自由的百科全书

User Manual: Contents | Guidelines | Blender Version 2.31

Skinning 蒙皮

Relevant to Blender v2.31 Once the Armature - the 'character skeleton' - is ready it is necessary to parent the character 'skin' to it. Skinning is a technique for creating smooth mesh deformations with an armature. Essentially the skinning is the relationship between the vertices in a mesh and the bones of an armature, and how the transformations of each bone will affect the position of the mesh vertices. When making a child of an armature, several options are presented:

相对于 Blender v 2.31 一旦 Armature - '角色骨架' 准备好,必须将角色父化才能 对它 '蒙皮' 。Skinning 是用一个Armature创造一个光滑的网格变形的技巧。蒙皮本质上是在网格的顶点和一个Armature的骨骼之间在建立关联 , 移动各自的骨骼将会影响网格顶点的位置。当制造Armature的一个子物体的时候, 有几个选项出现:

  • Parent to Bone
In this case, a popup menu appears allowing you to choose which bone should be the parent of the child(ren) objects. This is great for robots, whose body parts are separate meshes which are not expected to bend and deform when moving.
  • 父化到骨骼:
在这情况,一个弹出菜单允许你选择哪一个骨骼将要是成为子物体 的父物体。roots创建好后,那些身体部分的局部网格在移动时不能被弯曲和变形。
  • Parent to Armature
Choosing this option will deform the child(ren) mesh(es) according to their vertex groups. If the child meshes don't have any vertex groups, they will be subject to automatic skinning. Indeed a second menu appears, asking:
  • Don't create groups - does nothing else, automatic skinning is used;
  • Name Groups - creates empty vertex groups whose names matches the bone names, but no vertices are assigned to them;
  • Create from closest bone - you want to create and populate automatically vertex groups.
  • 父化到 Armature:
选择这一个选择项将依照他们的顶点组将会使之变形子物体网格 。如果子物体网格没有任何的顶组,他们将会受自动蒙皮的影响。接着会出现弹出询问菜单:
  • 不要产生组 - 不做任何事, 由用户手动蒙皮;
  • 名字组 - 产生名字与骨骼名字相配的空顶点组, 但是没有顶点分配给他们;
  • 从最靠近的骨产生 - 你想要产生而且自动的分配给顶点组。
  • Parent to Armature Object
Choosing this option will cause the child(ren) to consider the armature to be an Empty for all intents and purposes.

If you are going for character animation then most of the times you will parent your character to the Armature using the "Armature" Option. You are strongly advised to use the Name Groups option. This will provide you with the groups already created, saving the tedious operations of creating an naming them, and possibly avoiding typing errors. The Create from closest bone feature is currently under heavy development. It will use the "Bone types" which can be defined via the menu right of the IK Tog Buttons (EditButtons for an Armature) for optimal result. Currently only the Skinnable and Unskinnable options are working. The first option makes Vertex Group be created (and populated, if this is asked for) for the given bone, the second option causes that bone to be ignored in the skinning process.

  • 父化到Armature Object
选择这一个选项将会导致子物体认为armature是一个 Empty 为所有的意图和目的。
如果你是在做角色动画 使用 " Armature" 选项你将会花费大部份的时间父化你的角色到Armature 。你慎重的考虑是否使用 Name Groups 选项。这里提供给你的组已经被建立,储存并创造一个名字的,省去沉闷操作, 和可能地避免输入错误。Create from closest bone的作用是 当前之下大量展开。它将会使"Bone types" 定义经 IK Tog按钮(一个 Armature的编辑按钮) 的右菜单给出最理想的结果 。现在只有 Skinnable 和 Unskinnable 选项是工作。第一个选项为骨骼创建顶点组 (and populated, if this is asked for) , 第二个选项导致忽略骨骼蒙皮过程。


Note 注意:

The current vertex assignment algorithm creates non-optimal vertex groups, hence it is highly recommended to check each group, one by one. 目前的顶点指定运算法则产生的顶点组并非很理想,因此极力推荐对每个组检查, 一个接一个。

If a mesh does not have any vertex groups, and it is made the child of an armature, Blender will attempt to calculate deformation information on the fly. This is very slow and is not recommended. It is advisable to create and use vertex groups instead.

如果一个网格没有任何的顶点组,而且它是armature的子物体,Blender 将会尝试计算变形信息。 这很缓慢而且不推荐。 创建并且使用顶点组是明智的做法。

Weight and Dist 权重和距离:

The Weight and Dist settings next to the IK are only used by the automatic skinning which is a deprecated feature because it requires lot of CPU, produces slow downs and worse result than other methods.

这个Weight 和 Dist设置下一个IK只有使用自动蒙皮是一个不被推荐的作用因为它需要CPU的额外计算,结果非常慢而更坏的是产生其他的东西。

Vertex Groups 顶点组

Vertex Groups
Vertex Groups

Vertex groups are necessary to define which bones deform which vertices. A vertex can be a member of several groups, in which case its deformation will be a weighted average of the deformations of the bones it is assigned to. In this way it is possible to create smooth joints. To add a new vertex group to a mesh, you must be in Edit Mode. Create a new vertex group by clicking on the New button in the mesh's Edit Buttons Mesh Tools 1 Panel (Vertex Groups). A vertex group can be subsequently deleted by clicking on the Delete button. Change the active group by choosing one from the pull-down group menu. Vertex groups must have the same names as the bones that will manipulate them. Both spelling and capitalization matter. This is why automatic name creation is so useful! Rename a vertex group by SHIFT-LMB on the name button and typing a new name. Note that vertex group names must be unique within a given mesh. Vertices can be assigned to the active group by selecting them and clicking the Assign button. Depending on the setting of the Weight button, the vertices will receive more or less influence from the bone. This weighting is only important for vertices that are members of more than one bone. The weight setting is not an absolute value; rather it is a relative one. For each vertex, the system calculates the sum of the weights of all of the bones that affect the vertex. The transformations of each bone are then divided by this amount meaning that each vertex always receives exactly 100% deformation. Assigning 0 weight to a vertex will effectively remove it from the active group. To remove vertices from the current group select them and click the Remove button. Pressing the Select button will add the vertices assigned to the current group to the selection set. Pressing the Deselect button will remove the vertices assigned to the current group from the selection set. This is handy to check which vertices are in which group.

顶点组必须定义哪些骨骼使哪些顶点变形。 一个顶点可能是一个几个的组的成员,在哪一个情况,点的变形将会是分配一个平均权重值到这些变形的骨骼上。 这样,就可能产生光滑的关节运动。 为了把一个新的顶点组加入一个网格,你一定要在Edit Mode下。 在网格编辑Mesh Tools 1面板.(顶点组)中按下 New 按钮, 创建一个新的顶点组 按下 Delete 按钮能 删除 一个顶点组。 改变激活顶点组从折叠式组菜单上选择。 顶点组一定要有与骨骼相同的名字,并由相同名字的骨骼控制。 拼写和大写都有关系。 这就是为什么自动创建的名字会如此用! 重新命一个顶点组在名字按钮上SHIFT-LMB并输入一个新的名字。 注意:顶点组的名字在一个网格里必须是唯一的。 顶点能够被分配到激活组 选择顶点并点一下Assign按钮。 依赖 Weight 按钮的设置,顶点将会或多或少受到来自骨骼的影响。 权重是顶点成为一个骨骼成员唯一重要的因素。 权重设置不是一个绝对值; 相当它是相对值。 对于每个顶,系统计算所有骨骼影响的顶点的权重的总和。 每个骨骼的位移是分开这一合计意味每个顶总是完全地接收 100% 变形的。 分配 0权重到一个顶点将会有效地把它从激活组移开。 把顶点从当前的组移开,选择它们点一下Remove按钮。 按Select按钮将会选择分配到当前组的顶点。 按Deselect按钮将会取消选择分配到当前组的顶点。 检查顶点在哪个组这是方便的。

Weight Painting 权重笔刷

Weight painting is an alternate technique for assigning weights to vertices in vertex groups. The user can "paint" weights onto the model and see the results in real-time. This makes smooth joints easier to achieve. To activate weight-painting mode, select a mesh with vertex groups and click on the weight paint icon (Weight Paint Button.).

权重笔刷是在顶点组中分配权重到顶点的一个交替技术。 用户能 " paint " 权重在模型之上而且能实时看到结果。 这使光滑的关节变成更容易完成。 激活权重笔刷模式, 选择一个网格的顶点组按下权重笔刷标志 (权重油漆钮.)。

Weight Paint Button.
Weight Paint Button.

The active mesh will be displayed in Weight-Colour mode. In this mode dark blue represents areas with no weight from the current group and red represent areas with full weight. Only one group can be visualized at a time. Changing the active vertex group in the Edit Buttons will change the weight painting display. Weights are painted onto the mesh using techniques similar to those used for vertex painting, with a few exceptions. The "colour" is the weight value specified in the mesh's Edit Buttons. The opacity slider in the vertex paint Buttons is used to modulate the weight. To erase weight from vertices, set the weight to "0" and start painting.

激活的网格将会显示在权重-颜色模式。 在这一个模式深蓝色区域代表无权重,红色区域代表完全权重。 每次只有一个组能在被看得见。 在Edit Buttons中转换激活的顶点组将会改变权重笔刷显示。 权重在为网格涂抹使用的技巧类似使用顶点笔刷,都是大同小异。 " 颜色 " 在网格的Edit Buttons中是 指定权重变量。 不透明滑动按钮在顶点油漆里是调整权重。 为了要擦掉顶点的重量, 设定权重到 "0" 和开始涂抹。

Baking Actions 烘焙作用:

If you have an animation that involves constraints and you would like to use it in the game engine (which does not evaluate constraints, and is not covered in this Book), you can bake the Action by pressing the BAKE button in the Action Window ToolBar. This will create a new Action in which every frame is a KeyFrame. This Action can be played in the game engine and should display correctly with all constraints removed. For best results, make sure that all constraint targets are located within the same armature.

如果您有一个包括约束的动画,而且您想要在游戏引擎 (在这一个帐本不评估约束, 而且不被复盖) 中使用它,您能在Action Window工具栏按 BAKE 按钮激活烘焙作用。这将会在每一帧创建一个新的Action,是一个记录关键帧。这个Action能在游戏引擎播发,和正确得显示,而且所有的约束都被移除。对于最好的结果, 确定所有的约束目标位于相同的armature内。

You can actually see the Action IPO associated to a bone in the IPO Window instead of in the Action Window if you switch to an IPO Window (Action IPO). The Action IPO is a special IPO type that is only applicable to bones. Instead of using Euler angles to encode rotation, Action IPOs use quaternions, which provide better interpolation between Poses.

如果您转换到一个IPO Window (Action IPO) ,您能实际上见到Action IPO被关联到一个骨骼在 IPO 窗中替代在Action Window 。作用 IPO 是一个特别的 IPO 型态是唯一应用于骨骼。替换使用的Euler angles到编码旋转,Action IPO 使用quaternions,这在姿势之间提供较好的内插法。

Action IPO
Action IPO

Quaternions use a four-component vector. It is generally difficult and unintuitive to describe the relationships of these quaternion channels to the resulting orientation, but it is often not necessary. It is best to generate quaternion KeyFrames by manipulating the bones directly, only editing the specific curves to adjust lead-in and lead-out transitions.

Quaternions使用一个four-component矢量。 它是一般困难的和不直觉的描述quaternion通道的关系作为结果定位,但是它是时常不是必须。 藉由直接地操纵骨骼产生quaternion KeyFrames是最好的, 只有编辑特定的曲线去调节输入和输出转换。

Previous: Manual/PartIX/FK, IK and other Constraints Contents Next: Manual/PartIX/Posemode
Personal tools