用Audio2Face导出Unity面部动画

开始之前说句话,新年前最后一篇文章了
一定别轻易保存任何内容,尤其是程序员不要轻易Ctrl + S

在A2F去往Unity的路上,还要经历特殊Blender,自己电脑中已下载好的可能不是很好使。

如果想查看UE相关的可以跳转到下边这两篇链接

1. 用Audio2Face驱动UE - MetaHuman

2. 用Audio2Face导出驱动MetaHuman的面部动画

如果在操作的时候导致模板usd文件损坏,可以加QQ群(点击不能进群后,右键复制链接,在新页面复制进去就行)QQ群,获得一个新的模板

前期安装

  1. 先检查自身电脑配置看是否满足,按最小配置再带个UE可能会随时崩,按推荐来带个UE可能会略有小卡(亲身体会)。
  2. 下载 Omniverse Develop on NVIDIA Omniverse Platform | NVIDIA Developer
  3. 之后下载Audio2Face,如果在第三步找不到该应用,则到第四步搜索
  4. 接着下载Bleder Alpha USD Branch
  5. 打开OmniverseNUCLEUS面板,在Omniverse一栏下选择Add Server,并且增加一个Local Nucleus Server(按照自己所需配置就好)
  6. 安装完成后,部分机器可能需要重启,然后启动你刚下载好的Local Nucleus Server 

先导出一份记录面部动画的.USD文件

这一步骤和给UE的动画一样,不过到最后一步之后还有步骤,所以中间会的可以跳过

英语好的话可以直接看这个视频:Unity and Audio2Face FBX animation transfer workflow

  1. 打开Audio2Face,找到Al Models面板,然后选择亚洲人Claire面孔,当然因项目而异啊。
  2. 导入claire_bs_46.usd文件,选择后拖入到Stage面板下就行,记得把两个文件分开,不然叠在一起,后面看的不明显。
  3. 打开A2F Data Conversion面板,设置绑定BS的相关转换,选择BLENDSHAPE & JOINT CONVERSION模块,分别设置输入的动画网格和输出的BS网格,最后点击SET UP BLENDSHAPE SOLVE(处理),得到处理结果。
  4. 回到Audio2Face Tool面板,选择自己的音轨,设置表情之类后进行播放,可以看出二者相同了,这时候证明我们的绑定是没有任何问题的,如果有问题则返回上边重新过一遍。
  5. 重新回到A2F Data Conversion面板,设置导出路径,文件名字,以及想要的帧率,以及导出格式设置为USD,接着导出
    1. 如果报错[ Export ] No solver selected,或者弹出以下窗口,则先选择所要导出的解算器,再导出。
  6. 至此,导出USD文件完成,切记不要保存任何内容,除非你复制一份新的usd文件出来,不然你之后所用到的文件就都是你所保存的内容了。再或者加QQ群(点击不能进群后,右键复制链接,在新页面复制进去就行),群文件中有备份,你下载后替换即可。

接着保存真正的USD动画文件

  1. 此时,我们要删除场景内多余的内容,只保留我们接下来需要用到的部分,只保留transfer_dataclaire_bs_46
  2. 然后设置保存路径、文件名后另存到一份新文件中:File > Save Flattened As...  
  3. 接着我们打开新存好的这份文件:File > Open > File Path (你文件的路径),然后Window > Animation > TimeLine,然后点击播放 ( 空格也行 ), 看你的动画是否正常播放,正常则接着往下看,没有动画播放则退回之前的步骤重来。
  4. 接着在Stage面板下的joint1中,删除不需要的节点,只保留joint1你自己命名的动画文件
  5. Stage面板下选中joint1节点,接着在Property面板中的Skeletal Animation下,把Animation Source对象替换为在Stage面板下选中你自己命名的动画文件节点(也就是红框所选),接着Ctrl + S保存这份USD文件

通过Blender中转动画

  1. 通过Omniverse打开我们下载好的Blender,删除场景中原有内容然后导入刚才保存好的USD文件
  2. 接着打开动画视窗,然后点选导入进来的人物模型,接着播放面部动画,看是否成功,成功跳到下一步,不成功则返回之前重来
  3. 接着打开动作编辑器新建一个动画,在开头帧结尾帧增加两个相同的任意关键帧(我这里增加了缩放)。(因为BS动画无法被Blender导出,所以我们得添加动画,附带着BS动画导出)
  4. 导出FBX

Unity中使用BS动画

  1. 打开一个Unity工程,导入保存好的FBX文件,有的Unity可能需要手动勾选导入面部动画:选中导入后的物体 > Inspector面板下 > 勾选Import BlendShapes
  2. 接着用TimeLine,把音频和导进来的动画文件关联起来进行播放
  3. 然后和Blender中的效果对比
  4. 至此,Audio2Face中通过语音生成的面部动画,以及成功的在Unity中运行了起来,因为带有音频,所以就没给大家放GIF文件,有什么问题随时加QQ问我就行,或者QQ群也可以

  • ​​​​​​博客杂货铺
  • GoF23 种设计模式的分类和功能
  • QQ841298494

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/252048.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【51单片机】LED的三个基本项目(LED点亮&LED闪烁&LED流水灯)(3)

前言 大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

瑞_23种设计模式_工厂模式

文章目录 1 什么是工厂模式案例案例代码 2 简单工厂模式(Simple Factory)2.1 简单工厂模式的结构2.2 案例改进——简单工厂模式2.3 案例改进代码实现2.4 简单工厂模式优缺点2.5 拓展——静态工厂 3 工厂方法模式(Factory Method)★…

两个重要极限【高数笔记】

【第一个:lim (sinx / x) 1, x -- > 0】 1.本质: lim (sin‘?’ / ‘?’) 1, ‘?’ -- > 0;保证‘?’ -- > 0,与趋向无关 2.例题&#x…

gtkmm xml ui 例子(from string)

文章目录 前言来看一个从字符串中生成UI的例子 前言 glade生成的xml格式不被gtkmm4支持, 需要作修改 来看一个从字符串中生成UI的例子 #include <gtkmm/application.h> #include <gtkmm.h> #include <iostream> using namespace std;class ExampleWindow :…

Cesium DC-SDK集成iconfont阿里矢量图标

Cesium DC-SDK集成iconfont阿里矢量图标 Cesium通过集成iconfont阿里矢量图标&#xff0c;实现自定义图标颜色设置&#xff0c;具体操作如下&#xff1a; 一、引入阿里图标库 1、 通过链接的方式引入到项目中 在项目中引入方式 import url("//at.alicdn.com/t/c/font_…

ONLYOFFICE:一站式办公,探索高效办公新境界

写在前面ONLYOFFICE 介绍ONLYOFFICE 有哪些优势ONLYOFFICE 文档 8.0 发布如何体验 ONLYOFFICEONLYOFFICE 文档部分页面截图 写在前面 在当今这样一个数字化时代&#xff0c;办公软件已经成为我们日常工作中不可或缺的一部分&#xff0c;熟练使用 Office、WPS、腾讯文档、金山文…

前端学习第4天

一、复合选择器 1.后代选择器 2.子代选择器 3.并集选择器 4.交集选择器 5.伪类选择器 1.伪类-超链接&#xff08;拓展&#xff09; 二、CSS特性 1.继承性 body放在style中 2.层叠性 3.优先级 属性 !important;&#xff08;最高优先级&#xff09; 1.优先级-叠加计算规则 2.em…

深度学习介绍

对于具备完善业务逻辑的任务&#xff0c;大多数情况下&#xff0c;正常的人都可以给出一个符合业务逻辑的应用程序。但是对于一些包含超过人类所能考虑到的逻辑的任务&#xff0c;例如面对如下任务&#xff1a; 编写一个应用程序&#xff0c;接受地理信息、卫星图像和一些历史…

利用视图实现复杂查询

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 利用视图实现复杂查询 需求&#xff1a;需要对Excel表中导入的四列进行&#xff0c;精准查询&#xff08;搜索符合这四列的数据&#xff09;&#xff0c;并提供预览后…

springboot154基于Spring Boot智能无人仓库管理

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

Vue3.0(二):Vue组件化基础 - 脚手架

Vue组件化基础 - 脚手架 Vue的组件化 我们在处理一些任务量比较庞大的工作时候&#xff0c;会将工作内容进行拆分&#xff0c;分步骤完成 而组件化的思想正式如此&#xff0c;对于一个庞大的项目&#xff0c;我们可以将其拆分成一个个的小功能&#xff0c;分步骤进行实现 组…

Intellij IDEA各种调试+开发中常见bug

Intellij IDEA中使用好Debug&#xff0c;主要包括如下内容&#xff1a; 一、Debug开篇 ①、以Debug模式启动服务&#xff0c;左边的一个按钮则是以Run模式启动。在开发中&#xff0c;我一般会直接启动Debug模式&#xff0c;方便随时调试代码。 ②、断点&#xff1a;在左边行…

docker重建镜像

DockerFile如下&#xff1a; FROM k8s-registry.qhtx.local/base/centos7-jdk8-haitong0704RUN yum -y update && yum install -y python3-devel && yum install -y python36 RUN mv /usr/bin/python /usr/bin/python_old RUN ln -s /usr/bin/python3 /usr/bi…

windows安装Visual Studio Code,配置C/C++运行环境(亲测可行)

一.下载 Visual Studio Code https://code.visualstudio.com/ 二.安装 选择想要安装的位置: 后面的点击下一步即可。 三.下载编译器MinGW vscode只是写代码的工具&#xff0c;使用编译器才能编译写的C/C程序&#xff0c;将它转为可执行文件。 MinGW下载链接&#xff1a;…

Linux(一)

介绍 常见的操作系统(windows、IOS、Android、MacOS, Linux, Unix)&#xff1b; Linux是一个开源、免费的操作系统&#xff0c;其稳定性、安全性、处理多并发已经得到业界的认可&#xff1b;【免费只是说linux的内核免费】 目前很多企业级的项目(c/c/php/python/java/go)都会…

免费的hyper-v虚机添加U盘的二种方法

windows集成了hyper-v&#xff0c;hyper-v可以安装linux&#xff0c;windows等虚机&#xff0c;基本可以满足工作&#xff0c;实验之需。但是不少人反映hyper-v不方便连接U盘&#xff0c;这样子文件传输不是很方便。 网上有方法说在虚机设置中添加磁盘&#xff0c;首先到物理机…

图数据库(neo4j)在工业控制中的应用

最近看到国外发表的一篇文章&#xff0c;提到将OPC UA 模型映射到neo4j图模型数据库中&#xff0c;通过GraphQL 访问效率很高&#xff0c;顿时感觉自己眼睛一亮&#xff0c;这是一个好主意。 图模型 事物的模型中&#xff0c;除了它自身的某些特征之外&#xff0c;还包括它与其…

kubectl命令

kubenetes部署服务的流程 以部署一个nginx服务来说明kubernetes系统各个组件调用关系&#xff1a; 1. 首先要明确&#xff0c;一旦kubernetes环境启动之后&#xff0c;master和node都会将自身的信息存储到etcd数据库中 2. 一个nginx服务的安装请求会首先被发送到master节点的ap…

世界各国都在追求“主权人工智能能力”,国家级人工智能硬件需求将剧增

NVIDIA的CEO黄仁勋最近在接受媒体采访时指出&#xff0c;世界各国都打算在本国内建立和运行自主的人工智能基础设施&#xff0c;这将全面带动NVIDIA硬件产品需求的飙升。黄仁勋表示&#xff0c;包括印度、日本、法国和加拿大在内的国家政府都在讨论投资“国家主权人工智能能力”…

利用jmeter完成简单的压力测试

Jmeter是一个非常好用的压力测试工具。Jmeter用来做轻量级的压力测试&#xff0c;非常合适&#xff0c;只需要十几分钟&#xff0c;就能把压力测试需要的脚本写好。 1、什么是压力测试 顾名思义&#xff1a;压力测试&#xff0c;就是 被测试的系统&#xff0c;在一定的访问压…