演示视频参考连接:Blender骨骼绑定教程3:清除绑定 & Deform & 权重修改_哔哩哔哩_bilibili
https://www.youtube.com/watch?v=qz86PWlK_8s&ab_channel=OutlawVideoProduction
(用Auto Rig Pro插件)
https://www.youtube.com/watch?v=nvjq7C9BbAQ&ab_channel=CGDive
Ctrl-P
-
Armature Deform: 这个功能可以将一个对象(通常是一个3D模型)绑定到一个骨骼结构上,使其可以通过骨骼的移动来进行形变和动画。它有以下几个子功能:
- With Empty Groups: 这个子功能可以为对象创建空的顶点组,每个顶点组对应一个骨骼。顶点组可以用来指定哪些顶点受到哪些骨骼的影响,用户可以自己分配顶点到顶点组中。
- With Envelope Weights: 这个子功能可以根据骨骼的信封权重来为对象分配顶点组和权重。信封权重是一种根据骨骼的形状和大小来计算顶点受到骨骼影响程度的方法。
- With Automatic Weights: 这个子功能可以根据对象和骨骼的拓扑结构来为对象自动分配顶点组和权重。这是一种比较智能的方法,可以快速地完成绑定过程,但可能不够精确。
图片中的Bone功能是一种将一个对象设置为另一个对象的子对象的方法,但不是用骨骼结构来绑定,而是用单个骨头来控制。这样,子对象就会完全跟随父对象的骨头的移动、旋转和缩放,不会有任何形变。这种方法适合用于一些简单的对象,比如武器、道具等。
“With Automatic Weights”是一种将一个对象绑定到一个骨骼结构上的方法,使其可以通过骨骼的移动来进行形变和动画。这种方法会自动为对象分配顶点组和权重,根据对象和骨骼的拓扑结构来计算每个顶点受到哪些骨骼的影响程度。这种方法适合用于一些复杂的对象,比如人物、动物等。
对给定人体Mesh建立骨骼的操作步骤:
- 在Blender中打开人体Mesh模型,并确保该模型处于object模式。
- 或者使用快捷键“Shift + A”并选择“骨骼”。
- 在添加骨骼的窗口中,选择“自定义”选项卡,并设置骨骼的名称、长度、形状等属性。
- 将骨骼拖动到人体Mesh模型上,并将其放置在需要添加骨骼的位置。
- 重复上述步骤,直到人体Mesh模型上添加了足够的骨骼。
- 1. 在“对象”模式下,选择“网格”对象,然后按住 Shift 键并选择“骨架”对象,然后按 Ctrl-P 并选择“具有自动权重的父级”12。 这将在网格对象的“对象数据”面板中创建与骨骼同名的顶点组。
2. 在编辑模式下,选择网格对象并进入权重绘制模式。 您可以使用画笔工具在网格上绘制或擦除权重³。 不同的颜色代表不同的权重值,红色为1,蓝色为0。您还可以在编辑模式下使用权重工具面板来调整权重⁴。
3. 如果您遇到自动称重的任何错误或问题,例如“骨热称重:无法找到一根或多根骨头的解决方案”,您可能需要检查以下事项:
- 确保您的网格是封闭体积的单个连接网格。 如果您有多个网格,则可以使用 Ctrl-J 将它们连接起来,并使用 M > 按距离按距离合并顶点。
- 确保您的骨骼位于网格内部并对周围的顶点有足够的影响。 您可以在编辑模式下使用 Alt-S 调整骨骼包络大小。
- 使用 Ctrl-A > 应用所有变换确保网格和骨架已应用缩放和旋转。
- 确保您的网格和骨架没有任何会干扰父子关系过程的修改器。
注意:
- 按"E"键可以挤出新骨骼。这将从选定骨骼的末端创建一个子骨骼。
这是在Blender中创建新骨骼的一种方法。按"E"键可以选择一个骨骼,然后在其末端创建一个新的子骨骼。这个新的子骨骼将作为原来骨骼的子级,并且它们将保持连接状态。
- 按"Alt + P"键后选择"断开骨骼"选项可以断开骨骼。这将断开新挤出的子骨骼与其父级的联系,使其成为独立骨骼。
这是在Blender中断开骨骼连接的方法。通过按"Alt + P"键,可以选择"断开骨骼"选项,这将断开新创建的子骨骼与其父级骨骼的连接,使子骨骼成为独立的骨骼。
需要注意的是,使用"E"键挤出新骨骼时,默认情况下,Blender会将新的子骨骼的根部(基部)定位在父骨骼的末端。这意味着它会继承父骨骼的所有变换。所以,当您按"Alt + P" => "断开骨骼"将它们断开后,子骨骼的根部将保留在父骨骼的末端的相同位置和变换。
这意味着,在断开骨骼连接后,子骨骼的位置和变换将仍然受到其父骨骼的位置和变换的影响,因为它们在断开连接之前是相互关联的。因此,如果您想对子骨骼进行不同的变换,您需要手动调整子骨骼的位置和变换,以使其独立于父骨骼。
技术原理:
Blender mesh 到 骨骼自动权重蒙皮用的是"LBS(线性Jt混合)"²。这种方法使用了骨骼的包围体(Envelope)来计算网格顶点和骨骼之间的权重值,然后使用线性混合蒙皮来变换网格顶点的位置。
1. 每个网格点都由多个骨骼影响。Blender根据点与各个骨骼的距离自动计算每个骨骼对这个点的权重。2. 这些权重值的总和加起来等于1。3. 当骨骼移动时,每个点会根据各骨骼对它的权重进行平移。这导致网格产生变形效果。4. 权重值更高的骨骼对点的影响更大。当多个骨骼同时影响一个点时,它会向这些骨骼的加权平均位置移动。所以,基本上,LBS算法通过自动计算网格点与骨骼的权重关系,并使用这些权重驱动点向骨骼空间的加权平均移动,来实现网格的变形和蒙皮效果。
缺点:
而作为权重蒙皮最简单的实现方式,LBS也存在一些问题:
- 皮肤塌陷(网格点被拉向骨骼中心)
- 糖纸效应(网格部分明显绕骨骼旋转)
- 单独变形(网格局部与整体不协调)
- 体积变化(无法妥善保留体积)
效果参考图:
文章来源:https://www.toymoban.com/news/detail-504814.html
文章来源地址https://www.toymoban.com/news/detail-504814.html
到了这里,关于Blender骨骼绑定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!