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

Blender 入门教程(三):骨骼绑定

一、前言

不知道大家有没有玩过一些单机游戏的 Mod,比如《侠盗猎车》里主角变成奥特曼,各种新能源汽车乱入等等。

这些都是别人对原有模型就行修改换皮,并重新绑定骨骼完成的,所以如果会了骨骼绑定后,你也就可以自己制作一些模型到单机游戏里,当然还要一些解包封包的技巧,这个有时间聊,那下面开始 Blender 的骨骼绑定实操了。

二、模型准备

1. 创建模型

我这里以一个机械臂为例,先添加一个立方体变形成长方体,然后添加一个圆柱体,添加时设置顶点为 8。

2. 快速复制

为了让骨骼绑定的效果更明显,我们要做一个两个节点的机械波,可以对前面的部分进行快速复制(Shift+D)到指定位置,然后按快捷键~进行视角切换,用来对齐前面的组合。

三、骨骼设置

1. 添加骨骼

点击添加 -> 骨架 -> 单段骨骼,一开始他会被模型挡住,这时候找到属性的 “物体” -> 视图显示,勾选 “在前面”,还可以把名称显示出来。

2. 骨骼挤出

点击骨骼,进入 “编辑模式”,再点击骨骼头部的小圆点,工具栏选择 “挤出” 或按快捷键 “E”,然后朝着需要的方向拖动就能在上一个骨骼上创建一个子骨骼。

3. 断开骨骼链接

我这里要做的是第一个骨骼是根骨骼,而他下面的子骨骼要放到模型的内部去。所以就需要和根骨骼进行断开,然后移动子骨骼到指定位置。

首先点击框选,选中两个骨骼,然后按快捷键 “Alt+P”,

四、骨骼绑定

1. 模型绑定

切换到物体模式,Shift 选中所有的模型和骨骼 (一定要最后选骨骼),快捷键 “Ctrl+P”,然后选择 “附带自动权重”。

2. 姿势模式

点击骨骼,进入姿势模式(只有骨骼物体特有),选中一个骨骼,然后在工具栏选择 旋转,可以发现旋转或移动骨骼,模型也会相应的变换,但还是有个问题,因为是自动权重,有时候后面的骨骼会影响到前面的模型变形,这时候就要我们手动刷一下权重了。

3.顶点组

还一个看是否绑定成功的方法:进入物体模式,点击一个模型,然后在属性视图找到 “数据”->“顶点组”,里面就是当前模型能被哪些骨骼影响,如果要删除绑定,在顶点组里移除就可以。

五、重刷权重

1. 进入权重绘制

先切到物体模式,然后选中一个模型,再选择 “权重绘制”,还是找到 属性 -> 数据 -> 顶点组,里面某一个骨骼都有对当前模型的权重。

红色到蓝色,接近等于红色权重越高,而越接近蓝色等于蓝色权重越低,为了让对应骨骼能有效控制对应的模型部分,所以就单独进行修改了。

2. 修改权重

在能准备修改权重时,最好是能知道顶点组里的每个名称是对应哪个骨骼,在对模型上颜色(权重值)进行修改时,有几个选项,如下:

  • F Add (加法):用于增加选中的权重值。
  • F Darken (变暗):减少选中的权重值,使其变得更暗或更接近 0。
  • F Draw (绘制):直接设置选中的权重值,覆盖原有的权重值。
  • F Lighten (变亮):增加选中的权重值,使其变得更亮或更接近 1。
  • F Mix (混合):以一种混合的方式结合新绘制的权重值与原有权重值。通常会根据新旧权重值的比例进行混合。
  • F Multiply (乘法):将新绘制的权重值与原有权重值相乘,这通常会使权重值变得更小。
  • F Subtract (减法):从原有权重值中减去新绘制的权重值,降低该区域的权重。

六、其他

1. 设置模型关系

设置模型关系就是父子关系,如果将一个模型作为一个模型的子级,那父级移动旋转他也会移动旋转,在相对规则的动画下可以用这种方式代替骨骼绑定。

而操作方法有两种:一个是在 “大纲视图” 选中一个模型,将其移到另一个模型下,那他就是这个模型的子级了;另一个方法是 Shift 选中两个模型,“Ctrl+P” 后选择 “物体”,后面就可以看到两个模型间有根虚线。

2. 模型合并

为了能后面对模型进行权重绘制,最好对这四个模型合并,不然就是每个都绘制一遍权重。先在物体模式下,Shift 选中四个模型,然后按快捷键 “Ctrl+J”;

七、写在后面

权重重新修改后,就可以进入姿势模式看效果,旋转一下刚刚超出控制范围的骨骼,如果没有之前那种大范围变形,且比较符合你的预期。

那么,后面就可以开始用这个骨架进行动画制作了,和 Spine 类似,在时间轴上做不同的变换,当然里面很多细节性的技巧也有,那下一篇就开始了。

http://www.xdnf.cn/news/461827.html

相关文章:

  • 三目云台20倍变焦智能监控技术
  • 基于Arduino的迷你掌上游戏机
  • TCP(传输控制协议)建立连接的过程
  • 黑马k8s(七)
  • 用户安全架构设计
  • Unity碰撞检测:射线与胶囊体投射/Layer(层)、LayerMask(遮罩层)
  • 分布式AI推理的成功之道
  • How to configure Linux mint desktop
  • SpringBoot核心优势与适用场景分析
  • 【SPIN】PROMELA语言编程入门基础语法(SPIN学习系列--1)
  • FramePack - 开源 AI 视频生成工具
  • 基于Vue3制作一个可以拖拽排列的卡片,支持nuxt3
  • LeRobot 框架的核心架构概念和组件(下)
  • JAVA:ResponseBodyEmitter 实现异步流式推送的技术指南
  • 兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统
  • 大数据架构选型全景指南:核心架构对比与实战案例 解析
  • 交叉编译JsonCpp
  • go-zero(十八)结合Elasticsearch实现高效数据检索
  • Open CASCADE学习|容器及其使用
  • 2023CCPC河南省赛暨河南邀请赛个人补题ABEFGHK
  • C++篇——多态
  • Uniapp中小程序调用腾讯地图(获取定位地址)
  • C.纸上文字
  • 普通IT的股票交易成长史--20250515复盘
  • 深入解读114页数据资产化治理一体机解决方案:数据资产化技术、治理与未来趋势【付费全文阅读】
  • 还有哪些领域可以应用北斗卫星通讯?
  • AI 编程革命:腾讯云 CodeBuddy 如何重塑开发效率?
  • Profinet转Ethernet/IP网关模块通信协议适配配置
  • 2025认证杯数学建模第二阶段C题:化工厂生产流程的预测和控制,思路+模型+代码
  • #跟着若城学鸿蒙# web篇-初探