Blender里的三种绑定 (三)骨骼

article/2025/10/4 4:32:37

文章目录

    • Blender里的三种绑定.
    • 骨骼.
      • 骨骼基础.
      • 骨骼的父子关系.
      • 挤出骨骼.
      • 细分骨骼.
      • 骨骼分层.
      • 骨骼分组.
      • 骨骼约束.
      • 骨骼被遮挡.
      • 对称骨骼.
      • 为模型绑定骨骼.
        • 刚体物体,只跟随骨骼的移动,不随骨骼移动发生形变,如机械.
        • 软体物体,跟随骨骼的移动,且随骨骼移动发生形变,如人体.
      • 限制骨骼的旋转角度.
      • 为骨骼设置权重.
        • 方法1 使用顶点组.
        • 方法2 调整单一顶点.
        • 方法3 权重绘制.
      • 为一个物体整体设置权重.
      • 骨骼封套.
      • Rigify骨骼插件.
      • 使用Rigify创建骨骼.
      • 骨骼系统.
        • 生成骨骼系统.
        • 骨骼系统使用.
      • 绑定物体到骨骼系统.
      • 保存姿态.
      • 删除脸部骨骼.
    • FK与IK.
      • 添加IK.
      • 绑定模型到IK骨骼.

Blender里的三种绑定.

1 Blender中一共有三种绑定模式,分别是 主从绑定,约束,骨骼

骨骼.

骨骼基础.

1 这是一段骨骼:1是尾 2 是身体,点击身体可以选中整个骨骼 3是头。移动头和尾不会改变骨骼的整体位置,要改变位置需要选中身体
在这里插入图片描述

骨骼的父子关系.

1 如果我们在编辑模式下新建一个骨骼,新旧骨骼之间没有关系,移动一个骨骼不会影响另一个骨骼,想让骨骼间产生联系,必须为骨骼间建立父子关系
2 建立骨骼父子关系(同一个骨架的编辑模式,而不是两个骨骼物体),先选子骨骼,再同时选中选父骨骼,ctrl+P,有两种模式

  • 保持偏移量:不会移动子骨骼的位置,但是子骨骼的头会远程连到父骨骼的尾上。此时在编辑模式下移动父骨骼的尾不会影响子骨骼的头,但是在姿态模式下移动父骨骼会改变子骨骼的位置。这种连接方式主要用于受主体骨骼影响但不直接相连的骨骼,例如两个耳朵和头骨的关系

  • 在这里插入图片描述

  • 相连项:子骨骼的头会吸附到父骨骼的尾上,此时在编辑模式移动父骨骼会影响子骨骼,在姿态模式下同样会影响子骨骼
    在这里插入图片描述

挤出骨骼.

1 在编辑模式下,选择尾,然后按E键挤出一个新骨骼,新骨骼是旧骨骼的子物体
2 在编辑模式下,选择头,然后按E键挤出一个新骨骼,新骨骼和旧骨骼没有任何关系

细分骨骼.

1 细分骨骼可以把一整根完整的骨骼拆为多个小的骨骼。
2 编辑模式下,选中骨骼的中段,左上角骨架,选择细分,在临时菜单里选择细分段数

骨骼分层.

1 可以在骨骼的物体数据属性(绿色)里对骨骼进行分层
在这里插入图片描述
2 点击一个格子,来只显示这一层的骨骼,对于空层,可以新建骨骼
3 使用shift单击来同时显示多个层的骨骼
4 删除一个层里所有的骨骼后,这个层就会消失

骨骼分组.

1 骨骼分组必须在姿态模式下进行
2 选择物体数据属性(绿色)/骨骼组,点击加号新建一个骨骼组,然后选中几个骨骼,点击指定即可
3 点击骨骼组右下角的选择来选择当前骨骼组的骨骼,点击弃选来取消选择当前骨骼组的骨骼,注意,点击选择后,如果之前有选中的其他骨骼,其他骨骼仍将保持选中状态
在这里插入图片描述

骨骼约束.

1 骨骼可以添加骨骼约束,骨骼约束是添加给单根骨骼的,和约束的选项相同
在这里插入图片描述

骨骼被遮挡.

1 如果骨骼被挡住,可以勾选 骨骼的物体数据属性(绿色小人)/视图显示/显示/在前面

对称骨骼.

1 先设置好一半的骨骼,骨骼的名字里必须使用_L或_R的后缀区分左右(每一根需要对称的骨骼都要改,否则对称不生效),然后选择一半的骨骼,不包含脊柱,左上角,骨骼/对称,即可自动生成另一半骨骼,名字也会自动改为对应的左右
在这里插入图片描述

为模型绑定骨骼.

刚体物体,只跟随骨骼的移动,不随骨骼移动发生形变,如机械.

1 先选中模型,再同时选中骨骼,ctrl+P建立父子关系,选择 骨骼
在这里插入图片描述
2 如果想把一个模型绑到一根骨骼上,如车轮,物体模式下,可以先选中车轮,然后同时选中骨架,进入姿态模式,再选中车路处的一根骨骼,然后再建立父子关系(骨骼模式)

软体物体,跟随骨骼的移动,且随骨骼移动发生形变,如人体.

1 确保骨骼在模型内部
2 最简单的绑定,我们不会使用这种方式绑定骨骼,太笨了。将模型设置为骨骼的子物体(ctrl+P,使用物体模式),在模型的物体数据属性里添加顶点组(模型的物体数据属性(绿色)/顶点组),将顶点组设置为对应骨骼的名字(名字必须对的上),然后为顶点组添加合适的顶点,然后在骨骼的姿态模式里调整姿态,即可控制模型
3 自动绑定骨骼与顶点组,将模型设为骨骼的子物体(ctrl+p),在弹出来的菜单里,选择附带空顶点组,附带封套权重,附带自动权重

  • 附带空顶点组:自动为骨骼创建顶点组,但不会自动绑定顶点,没用
  • 附带封套权重:自动为骨骼创建顶点组,自动绑定顶点,但自动绑的顶点不理想,没用。封套是什么参考本节骨骼封套部分
  • 附带自动权重:自动为骨骼创建顶点组,自动绑定顶点,但不是完全完美的,有些顶点需要调整,用这个

4 需要注意的是,模型的布线会影响骨骼的动画效果,关节处的线需要够多,如果关节处的线离得远,弯曲的内侧不会重叠,外侧拉伸比较严重,如果离得太近,弯曲的内侧会重叠,外侧的拉伸则不太明显,可以套用一个表面细分修改器来改善效果,可以查看B站上关于关节如何布线的视频

限制骨骼的旋转角度.

1 骨骼默认是可以360度旋转的,但大部分情况下我们不希望他能随便转
2 只能限制添加了IK或被IK控制的骨骼,有两种方式限制,进入姿态模式,选中一根骨骼,在骨骼数据属性(绿色骨骼)/反向运动学

  • 方式一:选择锁定IK 的XYZ轴向,这样将彻底限制一个轴的旋转
  • 方式而:使用 X/Y/Z限值,调整最大值(0-180)和最小值(-180-0)。来限制角度,对于汽车的悬挂建议用这个,因为汽车的转向装置并不是在某个轴上锁死的,而是只能转一个角度
    在这里插入图片描述

为骨骼设置权重.

1 当我们绑定好骨骼后,有时候需要手动调整权重,有三种方法可以调整权重
2 绘制权重是需要注意,有的部分或点不会被自动设置权重,我们可以通过在骨骼的姿态模式里移动骨骼,如果有模型的顶点没有跟随移动,则检查是否有顶点没有被加入顶点组,或者没有正确绘制权重

方法1 使用顶点组.

1 进入物体的编辑模式,选择一个顶点组,然后选择需要调整的顶点(只选择需要的顶点组内需要调整 的顶点即可),在权重处调整顶点
在这里插入图片描述

方法2 调整单一顶点.

1 编辑模式下单击一个顶点,在条目里可以看到影响当前顶点的所有骨骼,可以去除骨骼和调整一根骨骼的权重
在这里插入图片描述

方法3 权重绘制.

1 进行顶点绘制需要选中骨架,再同时选中物体,然后左上角进入物体的权重绘制模式。先选中骨骼的目的是为了在绘制中可以通过ctrl+左键点击骨骼自由切换当前显示的骨骼权重。如果不同时选中骨架,直接进入物体的权重绘制模式,可以通过切换物体数据属性里的顶点组来显示不同骨骼的权重。
2 使用权重绘制左侧的不同笔刷即可涂抹权重,权重为1 是红色,权重为0是蓝色
在这里插入图片描述

为一个物体整体设置权重.

当已经绑定好网格与骨骼,但有某些单独的物体没有被骨骼控制
1 首先选中骨骼,同时选中物体,进入权重绘制模式,ctrl+左键 单击目标骨骼,查看是够有对应的顶点组(骨骼),然后进入物体的编辑模式,将物体指定进骨骼的顶点组即可

骨骼封套.

1 选中一个骨骼,在骨骼的物体数据属性(绿色小人)/显示为,改为封套,即可看到封套骨骼,骨骼越粗,代表权重越大
2 进入骨骼的姿态模式,选中一根骨骼 ,可以看到白色线框,这是封套的影响范围,只有被白框框起来的顶点才会被刷上权重,且权重大小和封套的粗细有关
在这里插入图片描述
3 姿态模式,选中一根骨骼,在骨骼的骨骼属性(绿色骨骼)/形变 里,可以调整封套的范围和粗细。

  • 封套间距:整体调整封套的影响范围
  • 尾端:骨骼尾部的粗细
  • 头部半径:骨骼的头部半径无法调整

Rigify骨骼插件.

Rigify是Blender自带的骨骼插件,可以快速创建各种预设骨骼

使用Rigify创建骨骼.

1 启用插件后,新建骨骼里会多出很多选项
在这里插入图片描述

  • Human:人体骨骼,包含面部骨骼和手指骨骼。面部骨骼仅用于写实人体,动漫人体的表情不用骨骼。而是使用形态键直接修改面部顶点,参考文章形态键
  • Animals:动物骨骼,包含 鸟,猫,马,鲨鱼,狼
  • 基本:包含一个基本人体骨骼,没有面部骨骼和手指骨骼,只有躯干骨架

2 自动创建的人体骨骼通常不符合我们的模型,我们需要手动缩放(建议脸部对齐),在编辑模式里手动调整骨骼位置。有以下几个注意点

  • 编辑模式,可以打开舞台右上角的镜像对称

  • 脚后跟处有一段单独的骨骼,要放在脚后跟处

  • 在这里插入图片描述

  • 脊柱不应该是直的,人的脊呈S型

    • 调整手指时,可以打开吸附功能,调整到体积模式,这样比较容易放在模型内部,但还是需要注意有没有吸附错误在这里插入图片描述
  • 手掌骨骼的末端 应该低于手指骨骼的头端,且四个手指头部应该是向内呈半圆聚拢的
    在这里插入图片描述

  • 如果在调整完位置后,发现骨骼有扭滚的现象,可以在编辑模式选中骨骼,N键菜单,调整 扭转 属性,一般设为0即可(调整的结果以八面锥的一个平面冲上为准)。或者选中骨骼,在 属性栏/骨骼属性(绿色骨头)/变换 里调整扭转属性。这种现象是因为父级骨骼发生了转动。
    在这里插入图片描述

  • 脸部骨骼不是放在模型内部,而是要尽可能贴近面部

  • 眼睛上方的骨骼并不是眼皮,而是放在眉毛和眼睛之间

  • 嘴里的骨骼分别是上下牙,舌头

  • 眼球的骨骼要稍微凸出一点

  • -在这里插入图片描述

-调整完毕后,回到物体模式,ctral+A套用全部变换

骨骼系统.

生成骨骼系统.

骨骼系统是我们实际使用的骨骼,这个系统是Blender自带的
1 调整完骨骼后,一定要ctral+A套用全部变换
2 物体模式,然后进入骨骼的物体数据属性(绿色小人)然后选择生成rig在这里插入图片描述
3 生成完毕
在这里插入图片描述

骨骼系统使用.

1 进入姿态模式
2 骨骼系统的控制分为FK与IK,其中红色的控制点(如手掌上的红色半圆)是IK节点,绿色的控制点(如胳膊上的绿色圆圈)是FK节点。黄色是旋转节点,这些节点应该只用旋转控制。红色箭头可以通过旋转调整手臂的扭转
3 默认是IK控制的方式,调整FK节点不会影响姿态,如果想让动作应用到FK节点的状态,在N键菜单的 条目 里找到并点击 IK->FK
在这里插入图片描述
4 如果想要回到最初姿态,可以左上角 姿态/清空变换
5 查看骨骼:骨骼系统实际上为我们生成了一套新的骨骼,回到物体模式,选中骨骼系统,找到物体数据属性(绿色小人)/层,右下角的是三个层就是骨骼。我们应该只看这三个里的左边第一个
在这里插入图片描述

绑定物体到骨骼系统.

1 选中所有须有的模型,最后同时选中骨骼系统,然后ctrl+p,自动权重绑定
2 有可能出现骨骼热权重提示骨骼解算出错,但绑定仍会继续,且大部分骨骼仍将成功,除非出现问题,可以忽略这个警告

保存姿态.

1 现在的姿态需要保存到资产浏览器里
2 需要安装内置插件 poslibrary。这个插件是默认安装的
3 姿态模式,选择修改过的骨骼系统的骨骼,N键菜单,动画创建姿态资产。如果不知道修改了那些骨骼,就A全选
4 在窗口里打开资产浏览器,双击姿态,即可打开姿态

删除脸部骨骼.

1 除了脸部骨骼外,头骨里还有一根内部的骨骼,要打开透视模式shift+z才能看见,这根骨骼也要删掉

FK与IK.

1 FK即正向运动学,就是普通的骨骼控制
2 IK即反向运动学,通过小骨骼带动大骨骼。当使用IK时,需要额外拉出一根骨骼,并断绝父子关系,用于控制IK
3 IK是通过添加 骨骼约束(骨骼特有的约束)/追踪/反向运动学 约束实现的

添加IK.

1 进入编辑模式,先拉出(E)一根额外的骨骼,用于控制IK,然后断开父子关系,
2 进入姿态模式,先选中Ik控制骨骼,然后选中小腿的骨骼,shift+I添加IK约束,小腿变成黄色,说明已经添加了IK约束。也可以手动为骨骼添加IK约束,姿态模式选中一根骨骼,在骨骼约束里,添加 追踪/反向运动学 约束,目标选择骨架,骨骼选择IK控制骨骼
在这里插入图片描述

3 此时移动IK控制骨骼,会发现大腿也会受到控制,我们可以看到有一根线指示控制骨骼连接到了大腿,即使IK约束在小腿上
在这里插入图片描述
4 此时查看小腿的IK约束,调整链长为1,则可以只让小腿受到IK影响,大腿不受影响。链长为0时,影响将会追踪到当前骨骼的跟骨骼,如果设置了链长,则为影响的范围为,从当前骨骼往根骨骼方向数第几个骨骼
在这里插入图片描述

5 当我们移动IK控制骨骼时,小腿会跟着移动,但是如果我们旋转IK控制骨骼,小腿不受影响。如果需要让骨骼跟随IK控制骨骼旋转,可以为骨骼添加骨骼约束(不是普通约束)的子级约束,将骨骼(这次不是目标)设置IK控制骨骼
在这里插入图片描述

绑定模型到IK骨骼.

1 和普通绑定方式一致,但是需要注意,进入编辑模式,选择IK控制骨骼,关闭 骨骼属性(绿色骨骼)/形变。然后再进行 自动权重绑定。关闭形变的目的是防止IK控制骨骼对模型产生影响


http://chatgpt.dhexx.cn/article/wQsFtP4S.shtml

相关文章

Unity2D—骨骼绑定、IK系统、动画(一)

目标:使用素材实现特定的2D人物动画 一、导入包资源和素材 (本人的Unity版本为2021.1.7) (1)Unity注册表中:2D Animation、2D PSD Importer。 (2)导入素材:推荐unity资源…

blender骨骼绑定

blender骨骼绑定 这里直接通过一个案例来测试! 在这之前,我们熟悉一些快捷键! shifta 跳出应用框! ctrlp 绑定物体! altp 解绑物体 altg 恢复位置 altr 恢复旋转 alts 恢复缩放! 大概这些&am…

人物快速绑定骨骼

1.登录Mixamo网站,上传自己的人物模型或者使用网站中的模型都行-->next 2.绑定骨骼 chin:下巴 wrists:手腕 elbows:肘部 knees:膝盖 groin:腹股沟 3.点击左侧选择动画,即可导出对应动画 4.模型导入unity,创建A…

安卓文字转语音——其实可以很简单——TextToSpeech用法解析

前言 很多时候我们会碰到文字转语音的需求,使用第三方sdk是个不错的选择,其实也可以更简单,安卓原生就提供了一个类处理这个事务。TextToSpeech无需集成,直接使用 局限 支持22种语言,不过中文支持并不很好&#xff…

Android TTS(TextToSpeech)实践

一、介绍 TextToSpeech:将文本合成语音,立即播放或创建声音文件。 最简单的流程如下: 1.创建TextToSpeech后,它会找到一个适合的Engine进行连接,然后回调onInit,如果status不为0,则没有找到引…

Android TextToSpeech实现文字转语音,进行播报

1. 下载讯飞语音引擎 2.初始化 TextToSpeech。 使用下面的构造函数进行初始化 TextToSpeech(android.content.Context context, android.speech.tts.TextToSpeech.OnInitListener listener, java.lang.String engine) 其中语音引擎的名称填写:com.iflytek.speec…

Android TextToSpeech简单使用

Android TextToSpeech简单使用 文章目录 Android TextToSpeech简单使用前言一、TTS是什么?二、使用步骤1.赋予相关权限2.初始化TTS3.使用 总结 前言 最近项目需要文字朗读内容,看了官方文档,简单记录一下 一、TTS是什么? TTS是T…

Android 离线文字转语音功能-TTS(Text To Speech)

前言 在 Android 中,TTS全称叫做 Text to Speech,从字面就能理解它解决的问题是什么,把文本转为语音服务,意思就是你输入一段文本信息,然后Android 系统可以把这段文字播报出来。这种应用场景目前比较多是在各种语音助…

使用TextToSpeech朗读文字

1.使用TextToSpeech将一段文字转换为语音 android也可以实现把输入的文字朗读出来,使用到的是TextToSpeech,将一段文字转换为成语音,可根据需要合成出不同音色、语速和语调的声音,让机器像人一样开口说话。 不过目前只支持5种语言…

Android通过TextToSpeech实现文字转语音

一、直接上代码: import android.app.Activity; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widge…

Android中TextToSpeech的使用

系列文章目录 Android中TextToSpeech的使用 文章目录 系列文章目录前言实现1.初始化语音。这是一个异步操作。初始化完成后调用oninitListener(第二个参数)。2.实现TextToSpeech.OnInitListener3.写一个朗读方法,在需要的时候触发(如:点击事…

微软文本转语音小工具(Text to speech)

软件下载地址失效了,推荐使用网页版。 网站地址:Text To Speech - 在线文本转语音 话说一直在用最新的基于Chromium的微软Edge浏览器,绝对是我认为的最好的替代谷歌浏览器的软件了,拓展商店、账号书签插件同步、各种人性化功能应有…

TextToSpeech文本转语音

目录 一、TextToSpeech类中的常用方法 二、使用例子 MainActivity: activity_main: 效果图: 一、TextToSpeech类中的常用方法 TextToSpeech是一个Android平台提供的文本转语音功能,可以将文字快速地转换为语音播放。 方法名称功能setLanguage(Loc…

wereew

rtyhtyhj u y uikuiok,

werwerttwt

8987878898998 fgdfgd dfgdfgd dfgddg 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编…

wewqe

前言 又是一年一度的“剁手节”,在女生购物车里装满了化妆品、包包、衣服、鞋子等等东西时,有类人的购物车里的东西画风十分清奇,不落俗套。 这类人穿着统一、爱好相似、有明显的群体特征,这就是程序员们。 通常双十一&#xff0c…

Weave

weave网络通信模型 weave通过在docker集群的每个主机上启动虚拟的路由器,将主机作为路由器,形成互联互通的网络拓扑,在此基础上,实现容器的跨主机通信。其主机网络拓扑参见下图:如上图所示,在每一个部署Do…

Web Worker

Web Worker Web Worker?Web Worker 基本使用主线程Worker线程 Web Worker的优势在哪? Web Worker? 我们都知道JavaScript是单线程的,至于为什么是单线程的,以下内容来源阮一峰前辈的文章 作为浏览器脚本语言,JavaScript的主要用途是与用户…

werw er

TOCerwr wer wer wer 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能…