当前位置:网站首页>Unity | 实现面部驱动的两种方式
Unity | 实现面部驱动的两种方式
2022-07-06 01:08:00 【烫青菜】
目录
一、运用unity Live Capture插件与iphone Unity Face Capture软件
(2)创建一个空物体(命名:Recorder),添加Take Recorder组件。
(3)将模型拖入场景,并添加ARKit Face Actor组件,将该模型制作成Prefab。
(4)设置模型ARKit Face Actor组件中的mapper。
(5)设置New FaceDevice的ARKit Face Device组件的Actor值。
3. iphone下载Unity Face Capture软件
一、运用unity Live Capture插件与iphone Unity Face Capture软件
1. 版本要求
- unity版本:Unity Editor 2020.3.16f1 or later version
- iphone版本:iOS 14.6 or higher
- 参考文档:About Live Capture | Live Capture | 1.0.1 (unity3d.com)
2. unity中操作:
(1)引入Live Capture Package
Live Capture在Package Manager中通过git url的方式进行添加:
(2)创建一个空物体(命名:Recorder),添加Take Recorder组件。
在该组件下添加ARKit Face Device:此时会在Recorder物体下自动创建New FaceDevice,该物体上有个ARKit Face Device组件。
(3)将模型拖入场景,并添加ARKit Face Actor组件,将该模型制作成Prefab。
注意模型导入Unity时要勾选Import BlendShapes(检查一下即可,unity默认勾选)。
在Project中创建一个mapper(右键/Create/Live Capture / ARKit Face Capture / Mapper),设置mapper相关属性(RigPrefab指定为上一步生成的prefab,LeftEye、RightEye、Head要选择对应的关节。这一步目的是映射BlendShape,如果我们的模型BlendShape名称符合苹果的ARKit要求,则AddRender操作会自动映射,否则需要我们手动设置)。
(4)设置模型ARKit Face Actor组件中的mapper。
(5)设置New FaceDevice的ARKit Face Device组件的Actor值。
(6)创建服务器。
点击Window/Live Capture/Connections,点击Configure FireWall。点击Create Server/Companion App Server,点击Start开启服务。
3. iphone下载Unity Face Capture软件
打开软件(该软件在iphone 12 Pro Max 15.4.1上亲测稳定,在iphone X上会发热闪退),输入IP及Port,连接之后就可以驱动了~(如果连不上,可能unity版本不符合或者网络不符合,可参考官方文档:About Live Capture | Live Capture | 1.0.1 (unity3d.com))
二、通过算法数据来控制BlendShape数值。
1.相关函数
- 获取BlendShape数量及对应名称。
public sealed class Mesh : Object
{
public int blendShapeCount { get; }
public string GetBlendShapeName(int shapeIndex);
}
- 设置BlendShape权重
public class SkinnedMeshRenderer : Renderer{
public void SetBlendShapeWeight(int index, float value);
}
2.实现
可能算法提供的数据值范围为0-1,所以在SetBlendShapeWeight时要*100。
Dictionary<string, int> bs_map;//模型上的bs名称-索引
skinnedMeshRenderer.SetBlendShapeWeight(bs_map["eyebrow_BS.Eyebrows_Sad_L"], 20);
边栏推荐
- 《强化学习周刊》第52期:Depth-CUPRL、DistSPECTRL & Double Deep Q-Network
- KDD 2022 | 脑电AI助力癫痫疾病诊断
- JMeter BeanShell的基本用法 一下语法只能在beanshell中使用
- FFT 学习笔记(自认为详细)
- Pbootcms plug-in automatically collects fake original free plug-ins
- Spark AQE
- Dedecms plug-in free SEO plug-in summary
- Spark SQL null value, Nan judgment and processing
- 在产业互联网时代,将会凭借大的产业范畴,实现足够多的发展
- Fibonacci number
猜你喜欢
Mlsys 2020 | fedprox: Federation optimization of heterogeneous networks
Recommended areas - ways to explore users' future interests
SSH login is stuck and disconnected
[groovy] compile time meta programming (AST syntax tree conversion with annotations | define annotations and use groovyasttransformationclass to indicate ast conversion interface | ast conversion inte
Starting from 1.5, build a micro Service Framework - call chain tracking traceid
程序员搞开源,读什么书最合适?
After 95, the CV engineer posted the payroll and made up this. It's really fragrant
从 1.5 开始搭建一个微服务框架——调用链追踪 traceId
After Luke zettlemoyer, head of meta AI Seattle research | trillion parameters, will the large model continue to grow?
Cf:c. the third problem
随机推荐
A preliminary study of geojson
BiShe - College Student Association Management System Based on SSM
ADS-NPU芯片架构设计的五大挑战
Kotlin core programming - algebraic data types and pattern matching (3)
[groovy] compile time metaprogramming (compile time method injection | method injection using buildfromspec, buildfromstring, buildfromcode)
Gartner released the prediction of eight major network security trends from 2022 to 2023. Zero trust is the starting point and regulations cover a wider range
Curlpost PHP
Dynamic programming -- linear DP
cf:D. Insert a Progression【关于数组中的插入 + 绝对值的性质 + 贪心一头一尾最值】
Interview must brush algorithm top101 backtracking article top34
Opinions on softmax function
In the era of industrial Internet, we will achieve enough development by relying on large industrial categories
Daily practice - February 13, 2022
Distributed base theory
[groovy] JSON string deserialization (use jsonslurper to deserialize JSON strings | construct related classes according to the map set)
282. Stone consolidation (interval DP)
How to extract MP3 audio from MP4 video files?
FFT 学习笔记(自认为详细)
视频直播源码,实现本地存储搜索历史记录
Recursive method converts ordered array into binary search tree