Blender使用Rigify和Game Rig Tool基础
做动画需要的几个简要步骤:
1.建模
2.绑定骨骼
3.绘制权重
4.动画
1.Rigify是干嘛用的? =》 绑定骨骼
2.Game Rig Tool干嘛用的? =》 修复Rigify绑定骨骼做的动画导入游戏引擎的问题,如果Rigify自身修复了就不需要这个插件了,
你也可以自己手动操作,有插件为啥不用那,又不要钱
商城链接:Game Rig Tool,输入0即可下载
或者:3.6和4.0版本的 百度网盘 提取码:vju8
基本步骤:
1.准备好模型、插件
2.添加Rigify骨架,需要哪个添加哪个
3.调整好位置,别忘了Ctrl+A应用一下Transform,否则位置不正确,点击生成
4.做动画
5.点开Game Rig Tool面板,选择上面生成的骨架,选择修复层级选项(有的版本默认就是),再点击生成最终使用的骨架
6.烘培动画,把做好的动画烘培到最终使用的骨架上,可以选择骨骼烘培(选择最终骨架的骨骼),默认是烘焙所有骨骼
7.导出,勾选NLA,取消全部动画,不想导出某个动画,可以在NLA编辑器取消打勾,或者删掉
下面的内容不用看了,是刚发现问题的发的
导入到Unity的问题:
1.有多余的骨骼(非形变骨)
2.层级错误
这两个问题是一个问题:
1.第一个问题是因为有形变骨是非形变骨的子骨骼导致的,所以只需要把形变骨放到对应的父级形变骨下即可,Ctrl+P即可
2.第二个问题:第一个问题解决了,就没有第二个问题了
如下图是修改好的,找到这四个,放到相应的父级下即可,注意的是肩膀和上臂原来是同级的也要建立子级即可

如下图,把不需要的形变骨删除,否则导出会把父级无用的骨骼导出去,用到的话就放到形变骨下

总之就是形变骨放到相应的形变骨下
导出时,勾选仅形变骨,就会把所有形变骨和其父级导出,如下图:

还有一种方法:Unity模型Rig导入设置里,动画类型选择通用,也就是非人形,也没问题,唯一的问题就不能骨骼重定向,如果不需要骨骼重定向的话,通用也是没问题的,只是多了一些无用的骨骼,要求不高也是可以用的
更新:还有第三个问题:
有的形变骨竟然没有添加对应骨的约束,这个需要额外处理,还是用下面给出的插件搞起
Rigify使用教程
但是,上面的连接有一点没有说(可能版本不一样,默认就修复了),如下图,要选择修复层级这个选项,否则导出到Unity还是层级报错,不能使用人形Rig

自己写了个脚本,设置父子节点脚本
import bpy# 设置父级方法
def SetParent(child_bone_name, parent_bone_name, connect):# 获取骨骼child_bone = armature.data.edit_bones[child_bone_name]parent_bone = armature.data.edit_bones[parent_bone_name]# 子骨骼如果已有父级,去除父级骨骼if child_bone.parent:child_bone.parent = None# 设置父级child_bone.parent = parent_bone# 设置是否保持连接child_bone.use_connect = connect # 进入编辑模式
bpy.ops.object.mode_set(mode='EDIT')# 根据名字获取骨架,这里名字要填对,默认Rigify生成的是rig名字,
# 如果不是,需要修改这里,或者修改骨架名字都可以
armature = bpy.data.objects['rig']# 这里的名字是Rigify形变骨默认的名字,如果名字变了,这里需要修改正确的名字
# 设置左大腿到臀部
SetParent('DEF-thigh.L','DEF-spine',False)
# 设置右大腿到臀部
SetParent('DEF-thigh.R','DEF-spine',False)
# 设置左上臂到左肩膀
SetParent('DEF-upper_arm.L','DEF-shoulder.L',False)
# 设置右上臂到右肩膀
SetParent('DEF-upper_arm.R','DEF-shoulder.R',False)
# 设置左肩膀到胸部
SetParent('DEF-shoulder.L','DEF-spine.003',False)
# 设置右肩膀到胸部
SetParent('DEF-shoulder.R','DEF-spine.003',False)# 返回物体模式
bpy.ops.object.mode_set(mode='OBJECT')
相关文章:
Blender使用Rigify和Game Rig Tool基础
做动画需要的几个简要步骤: 1.建模 2.绑定骨骼 3.绘制权重 4.动画 1.Rigify是干嘛用的? 》 绑定骨骼 2.Game Rig Tool干嘛用的? 》 修复Rigify绑定骨骼做的动画导入游戏引擎的问题,如果Rigify自身修复了就不需要这个插件了&#…...
【Unity优化(一)】音频优化
整理资教程:https://learn.u3d.cn/tutorial/unity-optimization-metaverse 1.音频优化 音频一般不会成为性能瓶颈,是为了节省内存和优化包体大小。 1.0 文件格式和压缩格式 原始音频资源尽量采用WAV格式。 移动平台音频尽量采用Vorbis压缩格式&#x…...
算法.1-三大排序算法-对数器-二分
三大排序算法&对数器 1.选择排序 Java版 package class01;import java.util.Arrays;public class Code01_SelectionSort {public static void selectionSort(int[] arr) {if (arr null || arr.length < 2) {return;}// 0 ~ N-1 找到最小值,在哪…...
Midjourney新功能介绍:风格参考(Style References)详解
引言 对于追求创意和一致性的艺术家和设计师们来说,Midjourney的最新功能——风格参考(Style References),无疑是一个激动人心的消息。这项测试算法的发布,让我们得以通过简单的URL引用,将特定的风格应用于…...
C++ 11/14/17 智能指针
1. 简介 为了更加容易(更加安全)的使用动态内存,引入了智能指针的概念。智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象。 标准库提供的两种智能指针的区别在于管理底层指针的方法不同:shared_p…...
C++入门【37-C++ 拷贝构造函数】
拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并…...
[UI5 常用控件] 06.Splitter,ResponsiveSplitter
文章目录 前言1. Splitter1.1 属性 2. ResponsiveSplitter 前言 本章节记录常用控件Splitter,ResponsiveSplitter。主要功能是分割画面布局。 其路径分别是: sap.ui.layout.Splittersap.ui.layout.ResponsiveSplitter 1. Splitter 1.1 属性 orientation &#x…...
C遗漏知识(个人向)
之前C语言遗漏的一些。 数据在内存中的存储 原码、反码、补码 整数的2进制表⽰⽅法有三种,即 原码、反码和补码 正整数的原、反、补码都相同。 负整数的三种表⽰⽅法各不相同。 原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。 反码&…...
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
我在namesilo买的域名,coludflare做的解析,华为云的SSL,用宝塔部署的SSL,访问https报错,http却正常: 报错:此网站无法提供安全连接www.hongkong.ioyunxin.top 使用了不受支持的协议。 ERR_SSL_…...
2.5作业
一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} }; void main() {example x; const e…...
linux系统lvs命令的使用
Lvs命令 LVS ipvsadm 命令的使用LVS-server安装lvs管理软件命令选项 LVS ipvsadm 命令的使用 LVS-server安装lvs管理软件 yum -y install ipvsadm 程序包:ipvsadm(LVS管理工具) 主程序:/usr/sbin/ipvsadm 规则保存工具&#x…...
PoEAA笔记-7.分布策略
本文摘抄自PoEAA,详细信息请阅读本书 7.1 分布对象的诱惑 透明性非常有用,但虽然有很多东西在分布对象中可以是透明的,但性能却不在其中,尽管上面的架构师是为了提高性能而使用分布组件的,但他的设计只会影响性能&…...
Spring Boot 整合 Redis 使用教程
作为开发者,相信大家都知道 Redis 的重要性。Redis 是使用 C 语言开发的一个高性能键值对数据库,是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。 Redis 以超…...
用友U8 Cloud ReportDetailDataQuery SQL注入漏洞复现(QVD-2023-47860)
0x01 产品简介 用友U8 Cloud 提供企业级云ERP整体解决方案,全面支持多组织业务协同,实现企业互联网资源连接。 U8 Cloud 亦是亚太地区成长型企业最广泛采用的云解决方案。 0x02 漏洞概述 用友U8 cloud ReportDetailDataQuery 接口处存在SQL注入漏洞,攻击者未经授权可以访…...
docker镜像命令
docker images 列表本机上的镜像 - REPOSITORY:表示镜像的仓库源 - TAG:镜像的标签 - IMAGE ID:镜像 - ID CREATED:镜像创建时间 - SIZE:镜像大小 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本&am…...
通义千问上线春节新应用,AI帮你免费拍全家福
2月5日,春节将至年味渐浓,阿里云通义千问APP上线多项免费新应用,涵盖全家福、拜新年、万物成龙等图像生成的新玩法,共提供超300套照片模板,用户上传照片即可生成全家福、团圆照、拜年照、千里江山主题照;此…...
RabbitMQ 安装
下载erlang语言: erlang语言 下载RabbitMQ rabbitmq 安装erlang 1.以管理员身份安装erlang 2.弹出框选择next 3.选择安装路径,亦可以安装在默认路径 4.接下来一路点击下一步,无需任何修改,直到 install安装为止ÿ…...
如何让MySQL从部署到稳定运行?
如何让MySQL从部署到稳定运行? 1. 安装MySQL 8保姆级教程 2. 《从菜鸟到大师之路 MySQL 篇》 3. 关于MySQL的66个问题 4. MySQL 的学习资源史上最全 5. 掌握 SQL 这些核心知识点,出去吹牛逼再也不担心了...
go 内存二进制数据操作
go 内存二进制数据操作 go 内存二进制数据直接操作 以数字类型为例 int(linux/macos 为int32,windows 为int64). 如果不清楚可以使用unsafe.Sizeof函数来查看(函数出来的值*8就是int位数) 若不使用内存二进制数据操作,你需要在每次获取数字内容时调用binary.Big…...
Antd+React+react-resizable实现表格拖拽功能
1、先看效果 2、环境准备 在package.json 引入相关的依赖 "dependencies": {"antd": "^5.4.0","react-resizable": "^3.0.4",},"devDependencies": {"types/react": "^18.0.33","types…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
