当前位置:网站首页>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);边栏推荐
- MYSQL---查询成绩为前5名的学生
- WordPress collection plug-in automatically collects fake original free plug-ins
- ADS-NPU芯片架构设计的五大挑战
- 关于softmax函数的见解
- A preliminary study of geojson
- [groovy] JSON serialization (jsonbuilder builder | generates JSON string with root node name | generates JSON string without root node name)
- [groovy] compile time meta programming (compile time method interception | method interception in myasttransformation visit method)
- 程序员成长第九篇:真实项目中的注意事项
- 2020.2.13
- Free chat robot API
猜你喜欢

Finding the nearest common ancestor of binary tree by recursion

KDD 2022 | EEG AI helps diagnose epilepsy

SSH login is stuck and disconnected

cf:C. The Third Problem【关于排列这件事】

95后CV工程师晒出工资单,狠补了这个,真香...

可恢复保险丝特性测试

JVM_ 15_ Concepts related to garbage collection

How to extract MP3 audio from MP4 video files?

看抖音直播Beyond演唱会有感

Comment faire votre propre robot
随机推荐
MYSQL---查询成绩为前5名的学生
Vulhub vulnerability recurrence 74_ Wordpress
vSphere实现虚拟机迁移
Zhuhai laboratory ventilation system construction and installation instructions
孤勇者
How spark gets columns in dataframe --column, $, column, apply
ubantu 查看cudnn和cuda的版本
测试/开发程序员的成长路线,全局思考问题的问题......
[Arduino syntax - structure]
Cloud guide DNS, knowledge popularization and classroom notes
程序员搞开源,读什么书最合适?
Construction plan of Zhuhai food physical and chemical testing laboratory
cf:H. Maximal AND【位运算练习 + k次操作 + 最大And】
[groovy] JSON serialization (convert class objects to JSON strings | convert using jsonbuilder | convert using jsonoutput | format JSON strings for output)
Gartner发布2022-2023年八大网络安全趋势预测,零信任是起点,法规覆盖更广
SCM Chinese data distribution
In the era of industrial Internet, we will achieve enough development by relying on large industrial categories
Interview must brush algorithm top101 backtracking article top34
[simple implementation of file IO]
Kotlin core programming - algebraic data types and pattern matching (3)