当前位置: 首页 > news >正文

Blender骨骼创建

骨骼系统

建立

使用Shift + A添加骨骼或在添加|骨架中添加一段骨骼

骨骼的三种模式

-物体模式:做动画,摆人物pose时在该模式

-编辑模式:进行骨骼搭建(选择一段骨骼,然后按E挤出一段骨骼并进行调整)

-姿态模式:调整姿势,添加控制器,可选择性添加反向动力学IK(快捷键Shift + I)

模式切换快捷键Ctrl + Tab

先选中物体再选择骨骼,按Ctrl + P选择附带自动权重即可将物体与骨骼绑定父子关系(此时骨骼为父节点,骨骼控制物体),此操作也叫蒙皮。

若先选中骨骼再选中物体,按Ctrl + P选择物体,也可将物体与骨骼绑定父子关系(此时物体为父节点,物体控制骨骼)

骨骼对称

再编辑模式下建立镜像的骨骼,一般不使用镜像功能,而使用骨架|对称功能

但是单纯选中骨骼然后点击对称是无效的,因为Blender对对称的骨骼名称有要求,若已有的骨骼在对称轴左侧,则名称最后需要带有L,在右侧则要有R等。然后Blender提供了骨骼自动重命名的方法(选中骨骼),在骨架|名称中,然后进行对称即可。


添加了IK反向动力学的骨骼,可以在姿态模式下如图所示位置处调整骨骼约束效果。

有时影响效果过大可以调节链长参数,使其影响局限于固定链条数量内。

在编辑骨骼时,没有相连的骨骼间若存在约束关系比如下图,中间胸口的骨骼若转动,应该会带动左右的肩部的骨骼,则需要建立约束关系,先选中受约束的骨骼,再选中另一个骨骼,按Ctrl + P,选择保持偏移量即可(类似创建父子关系),此时进入姿态模式,转动父骨骼,会发现子骨骼会一起转动。


蒙皮

操作为:先选中物体再选择骨骼,按Ctrl + P选择附带自动权重即可,此时若转动骨骼,可能模型就会跟着转动了,只是转动的部位会存在问题(也可能不动),这时就需要进行权重绘制。

权重绘制

权重为各部分骨骼会影响物体的哪些部位以及影响的大小,从红色到蓝色影响效果递减,红色为完全影响,蓝色为完全不影响。

绘制流程:

-先选中骨骼再选中模型,然后进入权重绘制模式

-按住Alt +鼠标左键点击单段骨骼即可显示该骨骼影响部位及其权重效果,可在偏好中修改比如改为Ctrl + Alt + 鼠标左键以防以转动视角冲突

-然后就可以使用笔刷进行绘制,修改笔刷的权重值为0可以达到橡皮檫的效果,或切换笔刷到F Subtract

-若再绘制时总会出错绘制到不想要绘制的区域,可以按Tab键进入编辑模式,然后再面选择下,选中要绘制物体的面(鼠标移到某个面上,然后按L即可选中相连项),然后按Shift + H即可仅显示选中面,然后再按Tab进入权重绘制模式,即可放心绘制。

-绘制完成后,先按Tab进入编辑模式,然后按Alt + H即可显示全部模型。

Blender内置骨骼插件Rigify(可以在偏好设置的插件中搜索打开)

然后在添加|骨骼|基本中创建基本人形骨骼

然后在数据属性中找到Rigify,点击创建即可自动创建出各种骨骼控制器(约束)。


按N键,在条目中找到Rig Layers,即可看见所有骨骼控制器(约束),点击对应部位即可取消该骨骼的约束效果。

进入姿态模式,选中某骨骼控制器,移动/旋转,会发现添加的骨骼没有跟随变化,因为生成控制器时并非直接在原骨骼上添加控制,关闭原骨骼显示,会有一个绿色的骨骼,该骨骼会受到控制器影响。

所以建模完成后可以使用插件的骨骼,然后调整骨骼效果匹配模型(可以在数据属性|视图显示|显示中打开骨骼的轴向显示并调整轴位置,以免骨骼旋转存在问题,如下图),然后进行蒙皮和权重设置操作,最后自动生成骨骼控制器。


若要旋转骨骼改变轴向,可以按Ctrl + R进行操作,自动扭转对齐 Shift + N。

第三方插件Auto Rig Pro

使用插件进行骨骼控制器创建时,不能随意添加/删除骨骼,只能使用插件内的添加/删除骨骼功能,否则创建的控制器会混乱。

简单使用流程参考05-AutoRigPro入门_哔哩哔哩_bilibili

其中添加完控制器后,移动旋转控制点测试过无问题后,可以按Alt + G清空所有骨骼的移动,按Alt + R清空所有骨骼的旋转。

http://www.lryc.cn/news/372047.html

相关文章:

  • DevExpress WPF中文教程:Grid - 如何完成列和编辑器配置(设计时)?
  • 高考完的三个月想自学点编程,有没有什么建议
  • 运维开发(DevOps):加速软件交付的关键方法
  • Vue前端环境搭建:从四个方面、五个方面、六个方面和七个方面深度解析
  • 农业领域科技查新点提炼方法附案例!
  • 【Bazel入门与精通】 rules之属性
  • Elementor无需第三方插件实现高级下拉菜单/巨型菜单
  • 【数学】什么是傅里叶变换?什么是离散傅里叶变换?什么是拉普拉斯变换?
  • opencv安装笔记 各种平台
  • 前端开发中的热更新原理
  • unix环境高级编程第2版:深入探索UNIX编程的奥秘
  • 力扣42 接雨水
  • 【代码随想录】【算法训练营】【第35天】[134]加油站 [135]分发糖果 [860]柠檬水找零 [406]根据身高重建队列
  • Talk|新加坡国立大学贾鑫宇:适用于高自由度机器人的运动控制器
  • 【npm】console工具(含胶囊,表格,gif图片)
  • OpenCV读取图片
  • HBase中的CRUD
  • C/C++学习笔记 C语言中的\0以及查找字符串中字符出现的频率
  • 在C#中,有多种方式可以实现每天在指定的时间清空数据库数据。下面列出几种常用的方法,并提供简要的实现思路:
  • 深入理解java设计模式之单例模式
  • 程序员自由创业周记#36:Gap Year
  • Java 类与对象 -- Java 语言的类与对象、构造器、static、final、包和 JAR
  • MTK平台纯色背景抑制
  • Linux iptables使用详解
  • 算法02 递归算法及其相关问题
  • 三个pdf工具和浏览软件(pdftk,muppdf,epdfview)
  • UKP3d的excel汇总表
  • 体验亚马逊AIGC——Amazon Bedrock
  • Vue前端服务是什么:深入解析与实际应用
  • mysql_ssl_rsa_setup使用详解