Faceware 面部捕捉在Unity中的应用

官网软件下载:https://www.facewaretech.com/

官网教程:http://support.facewaretech.com/

官网素材下载:https://www.facewaretech.com/learn/free-assets

Faceware Analyzer + Faceware Retargeter(Maya)+ Unity

真人面部动作 -- 动作数据 -- 模型动画

 

 

 

一 . Faceware Analyzer

这个软件是负责将输入的视频或连续的图片进行面部的跟踪分析,解析成数据,总结来讲就是视频数据 -> 面部跟踪数据

1. 新建job

新建一个Job,选择跟踪的视频源,要主要人面部要清晰,眉毛眼睛要露出来,具体更详细的要求可以看官方文档,总结来讲就是脸部越清晰越好,周围的干扰越少越好。我这里是从网上扒下来的新闻联播一段视频,央媒千万别说我侵权啊!

 

2. 设置采样点

导入后,可以看到采样点了,就是下图中那些蓝色的point,但是可以看出来,默认情况下采样点和脸部是完全不匹配的。

现在我们需要设置采样点的位置,有两种方式:

第一种是手动设置,这种工作量略大,但是更精准,可以自己控制采样位置。

第二种方式是自动跟踪,faceware会自动解析视频数据,设置采样点,这种方式非常非常简单快捷。

我们这里使用的自动跟踪,关于手动设置跟踪,可以查看文档。直接点击自动跟踪,等待一小会,结果就出来了,我们看到采样点已经自动设置到了新闻联播主播脸上对应的位置。

拖动时间轴,可以看到每一帧都很精准的跟踪到了位置,如果不使用自动跟踪,则需要手动设置多个关键帧数据进行跟踪解析。 

3.   导出数据

点击右上角的参数化按钮,将跟踪的数据导出,导出后的.fwt文件就是跟踪数据。该数据即可提供给faceware builder使用。

 

二. Faceware Retargeter

Faceware Retargeter是以插件形式导入DCC软件中进行动作数据的重新定位,这里我们使用Maya。从官网下载Faceware Retargeter以及其运行所需的其他软件(mathlab等)。

1.导入Faceware Retarger

导入插件后,在maya导航栏里就能看到Faceware的标签了,点击后打开Faceware Retarger。

2. 导入模型和数据

这里我们使用Faceware官网上提供的免费人脸模型,你也可以自己建模,但是要自己绑定rig。

模型导入后导入由Faceware Analyzer生成的fwt数据。点击表演-》打开 导入文件,要注意勾选自动生成解决。这里我们也导入官网提供的该模型的绑定表情的信息,如果没有表情绑定信息,需要自己手动调整模型每个表情关键帧。

3. 表情集

点击高级 -》角色设置 ,打开角色设置界面。选择文件 -》加载,加载从官网下载的表情xml文件,加载后即可看到已设置好的表情集。如果想自己手动重新创建表情集,可以参照官网教程,对每个表情关键帧进行模型的调整然后保存。

在Maya中查看绑定后的效果: 

三. 导入Unity

在Maya中选择文件-》发送到Unity,将模型到入到Unity工程中,在Unity中模型拖入到场景中,将动画设置到模型上,即可查看到效果。下面的视频可以看下最后的效果,录制时候两边我没有调整成完全同步的,但是能看出来效果还是不错的。

 

 

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

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

相关文章

Tone mapping进化论

转载自 https://zhuanlan.zhihu.com/p/21983679 这几年,随着拍摄设备、渲染方法和显示设备的发展,HDR慢慢会成为标配。照相机和摄像机可以捕捉到HDR的影响,渲染过程中可以产生HDR的画面。这些内容如果需要显示到LDR的设备上,就需…

坐标变换过程(vertex transformation)

原文:https://blog.csdn.net/wangdingqiaoit/article/details/51594408 在上面的图中,注意,OpenGL只定义了裁剪坐标系、规范化设备坐标系和屏幕坐标系,而局部坐标系(模型坐标系)、世界坐标系和照相机坐标系都是为了方便用户设计而…

三灯布光法

原文:https://zhuanlan.zhihu.com/p/62307736?utm_sourcewechat_session&utm_mediumsocial&utm_oi919394520523739136 如果将视频影像比喻成一幅画,光线就是画笔,光影造就了影像画面的立体感。本期圈圈就给大家简单介绍一下视频影像…

齐次坐标

本文是一些关于齐次坐标知识的整合。 https://www.sohu.com/a/258317807_100007727 http://www.songho.ca/math/homogeneous/homogeneous.html https://blog.csdn.net/VenoBling/article/details/87794400 https://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.ht…

Unity SRP自定义渲染管线 -- 4.Spotlight Shadows

英文原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/spotlight-shadows/ 渲染并且读取纹理从光空间(光源角度)渲染为阴影投射(shadow casters)添加一个着色器pass采样阴影贴图支持软阴影…

Unity SRP自定义渲染管线 -- 5.Directional Shadows

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/directional-shadows/ 支持多个方向光阴影控制阴影距离定义独立的主光源渲染和采样级联阴影(cascaded shadow map)使用球形剔除1. Shadows for Directional Lig…

浅析Unity中的Enlighten与混合光照

原文https://www.cnblogs.com/murongxiaopifu/p/8553367.html 0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten【1】来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapper——Progressive来提供烘焙全…

聊聊LightProbe原理实现以及对LightProbe数据的修改

原文链接https://www.cnblogs.com/murongxiaopifu/p/8997720.html 0x00 前言 最近工作比较忙,所以文章已经很久没有更新了。这篇小文的主题也是在出差的高铁上想到,因为最近和一些朋友聊天,发现他们中很多人的项目中都使用了多个实时光源。…

3D游戏的照明设计理论,第3部分:三点照明法的异端与误区

https://zhuanlan.zhihu.com/p/87997570 这是有关如何处理游戏照明的系列文章的一部分。第一部分是关于灯具,第二部分是关于光的形式材料。 在第一部分中,我们首先从文化角度考虑了灯光-灯光在整个历史上对不同的人意味着不同的事物,并且在照…

3D游戏的照明设计理论,第4部分:如何在游戏引擎中照亮游戏世界

从更一般和更概念的角度来看,这是有关我如何处理游戏照明的系列文章的一部分。我在Unity中构建了大部分示例,但这通常适用于任何3D游戏引擎,其中大多数具有类似的照明工具。 我们开始思考了有关光照的文化和概念,在第一部分。在第…

unity shader 变种(多重编译 multi_compile)

一、定义 在unity中我们可以通过使用#pragma multi_compile或#pragma shader_feature指令来为shader创建多个稍微有点区别的shader变体。这个Shader被称为宏着色器(mega shader)或者超着色器(uber shader)。实现原理:…

AndroidStudio导出aar文件给Unity使用

AndroidStudio导出aar文件给Unity使用 本文参考 :http://www.devacg.com/?post548 Demo地址:https://github.com/JulyNine/AndroidToUnity 一、用Android Studio创建个空工程 注意:包名要与Unity中工程的包名不一致,不然打包时…

Unity C# Job System介绍(四) 并行化Job和故障排除(完结)

并行化job ParallelFor jobs​docs.unity3d.com 当调度Jobs时,只能有一个job来进行一项任务。在游戏中,非常常见的情况是在一个庞大数量的对象上执行一个相同的操作。这里有一个独立的job类型叫做IJobParallelFor来处理此类问题。ParallelFor jobs当调…

C# Job System

概述 设计目的:简单安全地使用多线程,随便就能写出高性能代码 收益:FPS更高,电池消耗更低(Burst编译器) 并行性:C# Job System和Unity Native Job System共享工作线程worker threads&#xf…

Unity游戏开发——C#特性Attribute与自动化

这篇文章主要讲一下C#里面Attribute的使用方法及其可能的应用场景。 比如你把玩家的血量、攻击、防御等属性写到枚举里面。然后界面可能有很多地方要根据这个枚举获取属性的描述文本。 比如你做网络框架的时候,一个协议号对应一个类的处理或者一个方法。 比如你做…

Unity c#中Attribute用法详解

举两个例子,在变量上使用[SerializeFiled]属性,可以强制让变量进行序列化,可以在Unity的Editor上进行赋值。 在Class上使用[RequireComponent]属性,就会在Class的GameObject上自动追加所需的Component。 以下是Unity官网文档中找…

走进LWRP(Universal RP)的世界

走进LWRP(Universal RP)的世界 原文:https://connect.unity.com/p/zou-jin-lwrp-universal-rp-de-shi-jie LWRP自Unity2018发布以来,进入大家视野已经有一段时间了,不过对于广大Unity开发者来说,依然相对…

Unity 2017 Game Optimization 读书笔记(1)Scripting Strategies Part 1

1.Obtain Components using the fastest method Unity有多种Getcomponet的方法&#xff1a; GetComponent(string), GetComponent<T>() GetComponent(typeof(T)) 哪种效率最高会跟随Unity版本的变化而变化&#xff0c;对于Unity 2017&#xff0c;本书作者的测试是Ge…

C# 多态相关的文章

一 C# 多态的实现 封装、继承、多态&#xff0c;面向对象的三大特性&#xff0c;前两项理解相对容易&#xff0c;但要理解多态&#xff0c;特别是深入的了解&#xff0c;对于初学者而言可能就会有一定困难了。我一直认为学习OO的最好方法就是结合实践&#xff0c;封装、继承在…

C++ 虚函数和虚表

几篇写的不错的文章&#xff0c;本文是整合了这几篇文章&#xff0c;感谢这些大佬 https://www.jianshu.com/p/00dc0d939119 https://www.cnblogs.com/hushpa/p/5707475.html https://www.jianshu.com/p/91227e99dfd7 多态: 多态是面相对象语言一个重要的特性,多态即让同一…