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

news2024/11/26 18:31:31

文章目录

    • 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://www.coloradmin.cn/o/153742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手写RPC框架第7版-框架容错性相关设计

源代码地址:https://github.com/lhj502819/IRpc/tree/v8 系列文章: 注册中心模块实现路由模块实现序列化模块实现过滤器模块实现自定义SPI机制增加框架的扩展性的设计与实现基于线程和队列提升框架并发处理能力框架容错性相关设计通过SpringBoot-Starte…

数据结构:关于空间复杂度的例题计算

1、计算冒泡排序的空间复杂度 答案:该程序空间复杂度为O(1)。 解析:该程序在栈空间所申请的临时变量空间只有三个,也就是看成常数个,所以是O(1)。如下图所示 2、动态开辟N个数的数组空间复杂度 答案:该程序空间复杂度…

【UE4 第一人称射击游戏】31-更好的UI界面

素材资料地址:链接:https://pan.baidu.com/s/1epyD62jpOZg-o4NjWEjiyg密码:jlhr上一篇:【UE4 第一人称射击游戏】30-简单的任务提示功能本篇效果:步骤:在UE中新建一个“HUD_Export”文件夹,将所…

《码出高效:java开发手册》七 - 并发与多线程

前言 现代CPU运算速度以百亿计,家用计算机和操作系统也是数十进程,数百线程,程序相应也需要采用多线程和并发的技术 并发和并行:并发是指某个时间段,多任务处理;并行是指同时处理多任务的能力;…

接口测试项目实战与经典面试题解析,挑战 BAT 大厂必会!

近年来,接口测试技术体系已在各大互联网企业落地普及,各种新接口框架不断涌现,业界也形成了不少成熟方案和成功案例。当前 BAT 大厂在招聘测试人员时,接口测试技能和项目经验是必考重点,直接影响到职级评定和薪资水平&…

2023/1/10 Vue学习笔记6 - 路由基本使用

1 路由的简介-router 1、路由就是一组key-value的对应关系。 2、多个路由,需要经过路由器的管理。 SPA (single page web application)应用 - 单页面web应用 {"key":"/class","value":"班级组件" }1.vue-rout…

kali中wpscan工具使用

一.wpscan工具简介 wpscan是一款专门针对wordpress的扫描工具,采用ruby语言编写,能够扫描worpress网站中包括主题漏洞、插件漏洞以及wordpress网站本身存在的漏洞。wpscan还可以扫描wordpress网站启用的插件和其他功能。 在Kali Linux系统中&#xff0…

关于distinct——去除重复记录

distinct译为:不同的,有区别的;在SQL语句中表示去除重复记录的意思 举例:在员工表emp中查询所有的工作岗位。 分析:在员工表中的工作岗位字段下有重复的工作岗位,我们在查询的时候就希望将重复的工作岗位显…

数据库取证——MySQL基础知识

目录 一、数据库基础知识 (一)数据库(DB) (二)数据库管理系统(DBMS) (三)数据库系统(DBS) (四) 数据库的…

【Unity云消散】简单理论基础:实现边缘光

写在前面 既然想要实现云的消散效果,那么边缘光如何计算也是一个重点。 在Unity Shader入门精要的14章,介绍轮廓线渲染就介绍了——轮廓边检测,而边缘光也是需要先检测出轮廓边再进行的。 Unity3D Shader系列之边缘光RimLight 这篇博客给…

Go专家编程读书小记

文章目录协程进程和线程进程:进程间通信:线程:区别:协程GMP模型调度策略内存管理内存分配span:cache:central:heap:垃圾回收常见的垃圾回收算法:三色标记:垃圾…

【NI Multisim 14.0原理图设计基础——查找元器件】

目录 序言 一、查找元器件 🍍1.浏览元器件 🍍2.搜索元器件 🍍 3.显示找到的元器件及其所属元器件库 🍍 4.加载找到元器件的所属元器件库 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地…

大资金现金管理的利器:稳定币网格做市策略

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…

从一条记录说起—— InnoDB 记录结构

准备工作 到现在为止,MySQL对于我们来说还是一个黑盒,我们只负责使用客户端发送请求并等待服务器返回结果,表中的数据到底存到了哪里?以什么格式存放的?MySQL是以什么方式来访问的这些数据?这些问题我们统…

springboot构造树形结构数据并查询的方法

因为项目需要,页面上需要树形结构的数据进行展示(类似下图这样),因此需要后端返回相应格式的数据。 不说废话,直接开干!!! 我这里用的是springboot+mybatis-plus+mysql,示例的接口是查询一级权限以及二级权限、三级权限整个权限树… 下面是导入的maven依赖 <depe…

SSD核心设计

摘要本文介绍了此类设计选择的分类&#xff0c;并使用跟踪驱动的模拟器和从实际系统中提取的工作负载跟踪分析各种配置的可能性能。我们发现SSD性能和生命周期对工作负载非常敏感&#xff0c;并且通常较高的复杂系统问题出现在存储堆栈中甚至在分布式系统中&#xff0c;与设备固…

9. 回文数

文章目录题目描述方法一 转换为字符串方法二 转存入数组方法三 数学方法倒转数字方法四 对折参考文献题目描述 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&…

树脂吸附处理冶炼含钴丨废水四氯化三钴、草酸钴废水回收钴

生产过程中会产生含钴废水&#xff0c;现有技术中&#xff0c;处理含钴废水的方法主要有化学沉淀法、吸附法、膜分离法等。 对于化学沉淀法&#xff0c;原理是通过向废水中添加一定的沉淀剂&#xff0c;使其与废水中溶解性的钴离子反应生成沉淀&#xff0c;通过重力沉降去除钴…

ArcGIS 前端动态地图与要素服务符号化的区别小结

在ArcGIS中&#xff0c; 除了在桌面端做配图之外&#xff0c;一些符号化工作也可以在代码端去进行设置&#xff0c;这里简单的做了一些测试及小结。 一、服务的区别 在ArcGIS中最基础的两种数据服务就是动态地图服务&#xff08;MapServer&#xff09;和要素服务&#xff08;…

Spring Boot 教程

Spring Boot 教程Spring Boot 基础开发Spring Boot 简介Spring Boot 第一个项目Spring Boot 项目启动机制Spring Boot 数据访问Spring Boot 集成 MyBatisSpring Boot 运行管理Spring Boot 日志管理Spring Boot 异常处理Spring Boot 定时任务Spring Boot 使用拦截器Spring Boot …