当前位置:网站首页>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);边栏推荐
- [pat (basic level) practice] - [simple mathematics] 1062 simplest fraction
- Finding the nearest common ancestor of binary search tree by recursion
- Xunrui CMS plug-in automatically collects fake original free plug-ins
- A preliminary study of geojson
- 在产业互联网时代,将会凭借大的产业范畴,实现足够多的发展
- [simple implementation of file IO]
- 测试/开发程序员的成长路线,全局思考问题的问题......
- I'm interested in watching Tiktok live beyond concert
- Illustrated network: the principle behind TCP three-time handshake, why can't two-time handshake?
- Getting started with devkit
猜你喜欢
![[groovy] compile time metaprogramming (compile time method injection | method injection using buildfromspec, buildfromstring, buildfromcode)](/img/e4/a41fe26efe389351780b322917d721.jpg)
[groovy] compile time metaprogramming (compile time method injection | method injection using buildfromspec, buildfromstring, buildfromcode)

Ubantu check cudnn and CUDA versions

毕设-基于SSM高校学生社团管理系统

How to extract MP3 audio from MP4 video files?

Mobilenet series (5): use pytorch to build mobilenetv3 and learn and train based on migration

Vulhub vulnerability recurrence 75_ XStream

JVM_ 15_ Concepts related to garbage collection

Cf:c. the third problem

Xunrui CMS plug-in automatically collects fake original free plug-ins

Who knows how to modify the data type accuracy of the columns in the database table of Damon
随机推荐
SSH login is stuck and disconnected
[groovy] JSON serialization (jsonbuilder builder | generates JSON string with root node name | generates JSON string without root node name)
Synchronized and reentrantlock
BiShe - College Student Association Management System Based on SSM
China Taiwan strategy - Chapter 8: digital marketing assisted by China Taiwan
关于softmax函数的见解
JVM_ 15_ Concepts related to garbage collection
Vulhub vulnerability recurrence 74_ Wordpress
esxi的安装和使用
Five challenges of ads-npu chip architecture design
[groovy] compile time meta programming (AST syntax tree conversion with annotations | define annotations and use groovyasttransformationclass to indicate ast conversion interface | ast conversion inte
Comment faire votre propre robot
Spark SQL null value, Nan judgment and processing
程序员成长第九篇:真实项目中的注意事项
Leetcode 44 Wildcard matching (2022.02.13)
Fibonacci number
Who knows how to modify the data type accuracy of the columns in the database table of Damon
Cannot resolve symbol error
FFT learning notes (I think it is detailed)
可恢复保险丝特性测试