尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

UE5数字人表情驱动全链路:从LiveLinkFace连接到动画蓝图映射

UE5数字人表情驱动全链路:从LiveLinkFace连接到动画蓝图映射 1. 项目概述从LiveLinkFace到UE5数字人的表情驱动链路如果你正在尝试用iPhone和LiveLinkFace App来驱动UE5里的数字人表情却卡在连接不上、表情错乱或者驱动效果诡异上那你来对地方了。我花了相当长的时间从零开始搭建了一套完整的UE5数字人表情驱动管线期间踩过的坑、绕过的弯路足够写一本避坑指南。今天我就把这套从手机App连接到最终动画蓝图驱动表情的完整流程掰开揉碎了讲给你听。无论你是独立开发者、小型工作室的技术美术还是对虚拟制片感兴趣的内容创作者这篇手把手教程都能帮你把“表情捕捉”这个听起来高大上、实则门槛不低的技术稳稳地落地。整个流程的核心是理解一条清晰的数据链路iPhone摄像头 - LiveLinkFace AppARKit分析- LiveLink协议 - UE5引擎 - 动画蓝图 - 模型变形目标Blend Shape。很多教程只讲中间某一段导致链条断裂问题无从排查。本文将覆盖从软件准备、模型要求、引擎设置、数据映射到最终驱动和问题调试的全过程并附上最关键的ARKit 52个标准表情的命名对照表。你会发现只要理顺了逻辑每一步操作都有据可循搞定表情驱动并没有想象中那么难。2. 核心需求解析为什么是LiveLinkFace ARKit UE5在深入实操之前我们得先搞清楚这几个核心组件为什么要这么组合以及它们各自解决了什么问题。这能帮助你在遇到问题时快速定位是哪个环节出了岔子。2.1 LiveLinkFace低成本、高精度的表情捕捉入口LiveLinkFace是苹果官方推出的一款免费App它的核心价值在于将iPhone/iPad上强大的原深感摄像头TrueDepth和ARKit框架的能力封装成了一个即开即用的表情捕捉工具。它不需要你购买昂贵的专业面部捕捉头盔或摄像头阵列一部近几年发布的iPhone就能获得相当不错的表情数据质量。对于个人开发者、小团队或预算有限的项目这几乎是性价比最高的入门方案。它的工作原理是通过前置摄像头实时捕捉你的人脸图像ARKit内置的机器学习模型会分析面部肌肉的运动并将其量化为52个标准化参数即ARKit Blend Shape Locations。这些参数的值在0到1之间代表了特定肌肉群或面部动作的激活程度。然后LiveLinkFace通过UDP协议将这些参数名和实时数值通过LiveLink协议流式发送到同一网络下的电脑。注意LiveLinkFace的数据流是单向的从移动设备发送到电脑。这意味着你的UE5项目必须运行在一台能与手机处于同一局域网Wi-Fi的电脑上。使用手机热点让电脑连接也是一种常见的临时解决方案。2.2 ARKit标准表情数据的“通用语言”ARKit定义的这52个混合形状Blend Shape是苹果为面部动作捕捉制定的一套“标准协议”。你可以把它理解为面部表情的“字母表”。比如MouthSmileLeft左嘴角上扬、BrowInnerUp眉毛内侧上扬等。几乎所有支持ARKit表情驱动的软件包括许多3D建模软件和游戏引擎都遵循或兼容这套命名。为什么标准如此重要因为这是数据映射的基石。你的3D模型在雕刻表情目标即Blend Shape在UE中称为“变形目标”时如果严格按照ARKit的命名来命名这些形状那么UE5在导入后就能自动生成同名曲线后续的映射工作会变得非常简单几乎是“即插即用”。反之如果模型师用了自定义命名如“微笑_L”、“大笑”你就必须在UE里手动建立ARKit参数与模型变形目标之间的映射关系这一步是很多新手卡住的地方。2.3 UE5与LiveLink插件实时数据的中枢与执行器UE5的LiveLink插件是一个强大的框架它允许外部数据源如动捕设备、摄像头、传感器甚至其他软件以标准化的方式将实时数据流注入引擎。对于表情捕捉LiveLink插件扮演了两个关键角色数据接收与分发它监听特定网络端口默认11111接收来自LiveLinkFace的数据流并将其转化为引擎内部可以理解的数据结构。角色驱动接口它提供了LiveLinkPose这样的动画蓝图节点让我们能够方便地提取数据流中的特定参数如那52个表情值并用它们来驱动角色骨骼或变形目标。UE5对数字人工作流的支持日益完善其动画蓝图系统尤其适合处理这种实时数据驱动逻辑。通过蓝图可视化脚本我们可以灵活地设计表情融合、滤波、甚至基于规则的表情增强逻辑而无需编写复杂的C代码。3. 前期准备模型、软件与环境检查在打开UE5之前有几项准备工作必须到位它们直接决定了后续流程能否顺利进行。3.1 3D模型的核心要求变形目标Blend Shape你的数字人模型是这一切的终点。模型必须包含基于ARKit标准雕刻的“变形目标”Blend Shape。这是指在基础中性表情模型的基础上通过顶点位移雕刻出的各种表情状态如闭眼、张嘴、微笑等。给模型师或自己的检查清单命名规范强烈建议模型师直接使用ARKit的52个标准名称来命名每一个变形目标。这是最省事的方案。如果模型已经做好但命名不规范你需要一份准确的命名对照表文末会提供并在后续步骤中进行手动映射。拓扑结构一致所有变形目标必须与基础模型保持完全相同的顶点数和拓扑结构。不能增删顶点只能移动顶点位置。导出设置从DCC工具如Maya, Blender, ZBrush导出FBX时务必勾选“变形目标”Blend Shape或“变形”相关的导出选项。在Blender中可能需要启用“形状关键帧”的导出。3.2 软件安装与网络配置移动端在iPhone或iPad上从App Store下载并安装LiveLinkFace。电脑端确保安装的UE5版本建议5.2或以上已启用LiveLink插件。通常该插件默认是启用的你可以在UE5编辑器菜单栏的“编辑” - “插件”中搜索“LiveLink”进行确认。网络环境这是连接失败的最高发区。确保你的电脑和iOS设备连接到同一个Wi-Fi网络。企业或校园网络有时会启用“客户端隔离”功能阻止设备间直接通信如果遇到连接问题可以尝试用电脑开启移动热点让手机连接这个热点。3.3 UE5项目初始设置创建一个新的UE5项目或打开现有项目。建议在项目设置中提前进行以下配置避免后续麻烦进入“编辑” - “项目设置”。在“引擎” - “渲染”下找到“支持计算皮肤缓存”Support Compute Skin Cache将其勾选。这个选项对于后续使用高级毛发系统如Groom或某些复杂的蒙皮变形有好处建议提前打开。在“插件”页面确保“LiveLink”插件处于“已启用”状态。4. 核心流程实操从连接到驱动的完整步骤现在我们开始一步步搭建整个驱动链路。请严格按照顺序操作并注意每一步的细节。4.1 步骤一建立LiveLinkFace与UE5的连接这是数据流动的第一步也是最容易出错的一步。在UE5中打开LiveLink窗口在UE5编辑器菜单栏选择“窗口” - “虚拟制片” - “LiveLink”。这会打开LiveLink源管理器面板。在LiveLinkFace App中设置打开手机上的LiveLinkFace App。进入“设置” - “LiveLink”界面。点击“添加”按钮添加一个新的目标。地址Address栏填写你电脑的本地IP地址不是127.0.0.1。在Windows上可以在命令提示符输入ipconfig查看“无线局域网适配器 WLAN”下的IPv4地址在macOS上可以在系统设置-网络中查看。端口Port栏使用默认的11111。如果此端口被占用可在UE5的LiveLink设置中更改但建议先用默认值。建立连接在LiveLinkFace App中确保你添加的条目处于选中状态。回到UE5的LiveLink窗口你应该能在“源”列表的下方看到一个名为“消息总线源”Message Bus Source的条目。点击它前面的小三角展开。如果一切正常几秒钟内你会看到一个新的主题Subject出现名称通常是“LiveLinkFace”或类似。其旁边会有一个小圆点绿色表示正在接收数据黄色表示已连接但无数据红色或没有则表示连接失败。此时你可以面对手机摄像头做几个表情在UE5的LiveLink窗口选中该主题右侧的“实时数据”预览区应该能看到一系列参数如EyeBlinkLeft,JawOpen及其数值在实时变化。连接失败排查防火墙临时关闭电脑的防火墙或为UE5编辑器通常是UnrealEditor.exe和端口11111添加入站规则。杀毒软件某些杀毒软件会阻止网络通信尝试暂时禁用。IP地址错误确保电脑IP地址输入正确且手机和电脑在同一个网段如都是192.168.1.xxx。端口占用在UE5 LiveLink窗口的“设置” - “高级”中可以修改消息总线端口并在App中做相应修改。4.2 步骤二导入模型并检查变形目标将准备好的带变形目标的FBX模型导入UE5。导入FBX将模型FBX文件拖入内容浏览器。在导入选项中最关键的一步是勾选“导入变形目标”。这个选项默认可能是不勾选的一旦漏掉模型的表情数据就全丢了需要重新导入。检查变形目标在内容浏览器中双击打开导入的骨骼网格体Skeletal Mesh。在骨骼网格体编辑器窗口选择“窗口” - “变形目标预览器”。在打开的预览器中你会看到一个列表里面应该包含了你模型的所有变形目标。滑动每个目标旁边的权重滑块0-1模型应该做出相应的表情变化。核对命名检查列表中的名称是否与ARKit标准命名一致。如果一致恭喜你后续工作简化一大半。如果不一致你需要记录下模型的实际命名并与ARKit标准名建立映射关系。4.3 步骤三创建动画蓝图与LiveLinkPose驱动动画蓝图是处理实时数据、驱动角色动画的逻辑中心。创建动画蓝图在内容浏览器中右键选择“动画” - “动画蓝图”。在弹出窗口中选择你的角色骨骼Skeleton作为父项并命名如ABP_Facial_Capture。设置事件图EventGraph打开动画蓝图进入事件图。这里我们通常不需要复杂逻辑因为LiveLink数据是每帧自动更新的。但为了确保驱动可以简单添加一个“事件蓝图更新动画”节点并将其输出引脚连接后续操作虽然不连通常也能工作但这是好习惯。在动画层AnimGraph中添加LiveLinkPose节点切换到动画层图表。从面板中拖拽搜索添加一个LiveLinkPose节点。选中该节点在细节Details面板中找到“LiveLink”分类下的“LiveLink主体名称”LiveLink Subject Name。这里有两个选择直接指定如果只有一个数据源可以直接在下拉菜单中选择你在LiveLink窗口中看到的那个主题名称如LiveLinkFace。使用变量更灵活创建一个“LiveLink主体名称”类型的变量如FaceSubject将其默认值设为你的主题名。然后将LiveLinkPose节点的“LiveLink主体名称”引脚连接到该变量的获取Get节点。这样你可以在角色蓝图中动态切换数据源。连接输出将LiveLinkPose节点的输出姿势Pose引脚连接到最终动画蓝图的输出姿势Output Pose节点上。此时如果你将这份动画蓝图赋予给关卡中的角色并确保LiveLinkFace数据正常你应该能看到角色的头部骨骼如果模型包含头部骨骼且命名标准开始跟随你的头部轻微移动了。但表情还不会动因为LiveLinkPose目前只驱动了基础的骨骼变换数据我们还需要将52个表情参数映射到模型的变形目标上。4.4 步骤四关键一步——映射ARKit数据到变形目标曲线驱动这是整个流程的技术核心目的是将LiveLink传来的52个浮点数参数转化为模型上52个变形目标的权重值。UE5提供了两种主流方法我将详细讲解更通用、更可控的一种通过“姿势资产”Pose Asset进行映射。为什么用姿势资产因为它提供了一个集中、可视化的映射界面将ARKit参数作为“曲线”与模型的变形目标也表现为“曲线”关联起来。即使你的模型变形目标命名不规范也能在这里进行重映射。创建空的动画序列在骨骼网格体编辑器中确保你的角色处于参考姿势T-Pose或A-Pose。点击菜单栏的“创建资产” - “创建动画” - “当前姿势”。这将创建一个只有一帧第0帧的动画序列保存的是你角色当前的姿势。将其命名为AS_FacePoseBase。扩展动画序列以容纳所有表情双击打开这个动画序列。在下方的时间轴/曲线编辑器区域右键选择“在开始处附加”Append at the Beginning。在弹出的对话框中输入51。这样你就得到了一个从第0帧到第51帧总共52帧的动画序列。我们的计划是每一帧对应一个ARKit表情的“纯”状态。例如第1帧只驱动EyeBlinkLeft为1其他所有表情为0。在曲线编辑器左上角点击“曲线”下拉菜单选择“添加曲线”Add Curve。这里会列出你骨骼网格体上所有的变形目标以曲线形式存在。将你需要用到的所有变形目标曲线都添加进来。如果你的模型命名规范这里会看到EyeBlink_L或类似这样的曲线你需要将其与ARKit的EyeBlinkLeft对应。关键帧雕刻K帧将时间轴滑块移动到第1帧。在曲线列表中找到与你想要在此帧表达的表情对应的曲线例如对于第1帧对应EyeBlinkLeft就找到代表左眼闭合的变形目标曲线。将该曲线在第1帧的值设置为1.0右键点击曲线添加关键帧或直接在值输入框输入。确保其他所有曲线在第1帧的值均为0。重复此过程从第1帧到第51帧每一帧只激活一个表情曲线且与ARKit标准顺序一一对应。这是一个枯燥但必须精确的过程。第0帧保持所有曲线值为0这一帧将作为“中性表情”或“基础姿势”。实操心得你可以先列一个ARKit标准顺序的表格见文末然后按表格顺序一帧一帧地K并在表格中打勾避免错乱。如果模型变形目标命名与ARKit名不完全一致这个表格就是你最重要的映射依据。生成姿势资产Pose Asset在内容浏览器中右键点击你刚刚K好帧的动画序列AS_FacePoseBase。选择“创建” - “创建姿势资产”。在弹出的创建窗口中你需要输入姿势名称。这里必须严格按照ARKit标准顺序一行一个名称。第一行对应第0帧可以命名为“Default”或“Neutral”。从第二行开始对应第1帧到第51帧输入ARKit标准名如EyeBlinkLeft,EyeLookDownLeft...。点击创建生成姿势资产如PA_FaceARKit。配置姿势资产双击打开姿势资产。在细节面板找到“附加信息”Additive部分。将“基础姿势”Base Pose设置为Default或你为第0帧命名的那个姿势。这一步至关重要它告诉引擎以中性表情为基准进行叠加计算。检查“姿势”Poses列表确保每个姿势名称都正确关联到了对应的帧索引和曲线。在动画蓝图中应用姿势资产回到你的动画蓝图ABP_Facial_Capture的动画层。在LiveLinkPose节点和输出姿势之间插入一个应用姿势资产Apply Pose Asset节点。将LiveLinkPose的输出姿势连接到Apply Pose Asset的“基础姿势”Base Pose输入。将创建的姿势资产PA_FaceARKit指定给Apply Pose Asset节点的“姿势资产”Pose Asset引脚。此时Apply Pose Asset节点会自动识别姿势资产中定义的曲线即ARKit参数名并尝试从输入的LiveLinkPose中寻找同名的曲线值来驱动。如果名称匹配映射就自动完成了。现在完整的驱动链就搭建好了LiveLinkFace捕捉数据 - LiveLink传输 - 动画蓝图LiveLinkPose节点接收 -Apply Pose Asset节点根据同名曲线映射 - 驱动模型对应的变形目标曲线 - 模型做出表情。5. 高级技巧与表情增强方案基础驱动跑通后你可能会发现表情有些生硬、不自然或者想实现一些ARKit标准之外的表情。以下是一些进阶处理技巧。5.1 表情平滑与滤波处理直接从设备获取的数据可能存在高频抖动。我们可以在动画蓝图的事件图中对LiveLink传来的曲线值进行平滑处理低通滤波。获取曲线值使用Get LiveLink Curve Value节点传入LiveLink主体名称和具体的曲线名如MouthSmileLeft可以实时获取该参数的值。实现简单滤波创建一个浮点型变量如SmileLeft_Smoothed来存储平滑后的值。每一帧在事件更新动画中使用Lerp线性插值节点将上一帧的平滑值SmileLeft_Smoothed与当前帧的原始值进行插值。插值系数Alpha可以设置为一个较小的值如0.1到0.3值越小越平滑但延迟也越大。公式SmoothedValue Lerp(LastSmoothedValue, RawValue, Alpha)驱动曲线使用Modify Curve节点将平滑后的值设置给动画蓝图中的曲线。你需要为每一个需要平滑的参数重复此过程。虽然繁琐但对于提升表情自然度效果显著。5.2 扩展非标准表情如夸张大笑、愤怒ARKit的52个表情是基础肌肉运动有时我们需要更夸张的艺术化表情。这需要模型师预先雕刻好这些夸张的变形目标如MouthBigSmile。逻辑驱动在动画蓝图中我们可以通过组合基础参数来触发夸张表情。例如定义一个“大笑”表情触发条件可以是MouthSmileLeft和MouthSmileRight的平均值超过0.6并且JawOpen大于0.3。混合叠加当触发条件满足时使用Lerp或更复杂的曲线如Ease函数将夸张表情的权重从0过渡到1。同时需要适当减弱基础微笑表情的权重避免叠加后表情扭曲。一种常见做法是原始微笑驱动值 获取的MouthSmileLeft值。如果触发夸张大笑则夸张表情权重 FancySmile_Weight最终微笑驱动值 原始微笑驱动值 * (1 - FancySmile_Weight)。这样当夸张表情完全激活权重为1时基础微笑被完全抑制由夸张表情接管。使用姿势资产混合更优雅的方式是利用姿势资产的“叠加”特性。你可以创建一个只包含夸张表情的姿势资产在动画蓝图中使用Layered blend per bone或Apply Additive Pose节点将夸张表情作为附加层叠加到基础表情之上。这需要对动画蓝图有更深的理解但控制起来更灵活、更性能友好。5.3 与身体动捕数据的整合在实际数字人应用中表情驱动往往需要和身体动作捕捉同步。如果使用Xsens等惯性动捕系统其数据通常也通过LiveLink传输。多数据源处理在LiveLink窗口中你会看到多个主题例如一个来自LiveLinkFace表情一个来自MVNXsens的身体数据。动画蓝图分层在同一个动画蓝图中你可以使用多个LiveLinkPose节点分别指定不同的主体名称Subject Name来接收不同源的数据。姿势混合身体动捕数据通常驱动角色的骨骼变换除面部骨骼外。你可以使用Blend Poses by Bone节点将面部动画层由LiveLinkFace驱动和身体动画层由Xsens驱动按骨骼进行混合。通常的设置是将面部骨骼如headeyejaw等的混合深度设置为1完全使用面部层而身体其他骨骼的混合深度设置为0完全使用身体层。重定向动捕数据通常基于一个标准骨架如Metahuman骨架。你需要为你的自定义角色骨架创建重定向资产Retargeting Asset将标准骨架的动画数据映射到你的骨架上。对于Xsens MVN插件通常提供了创建重定向资产的快捷工具。6. 常见问题与排查技巧实录即使按照步骤操作也难免会遇到各种问题。以下是我在实践中总结的高频问题及解决方案。6.1 连接类问题问题现象可能原因排查步骤与解决方案LiveLink窗口看不到数据源1. 网络不通2. 防火墙/杀毒软件拦截3. IP或端口错误4. UE5插件未启用1. 确认电脑和手机在同一Wi-Fi互相可ping通。2. 临时关闭防火墙/杀毒软件测试。3. 核对电脑IP确认LiveLinkFace中端口为11111。4. 在UE5“编辑-插件”中确认LiveLink插件已启用。数据源为黄色圆点连接已建立但未收到数据1. 检查LiveLinkFace App是否正在前台运行并开启了摄像头。2. 尝试在App内切换一下前后摄像头再切回。3. 重启UE5编辑器或LiveLinkFace App。数据跳动或延迟大网络信号不稳定或带宽不足1. 让设备和电脑尽量靠近路由器。2. 避免网络中有大量带宽占用如下载、视频流。3. 在LiveLinkFace设置中尝试降低发送频率如30Hz。6.2 驱动类问题问题现象可能原因排查步骤与解决方案角色表情完全不动1. 动画蓝图未应用2. 姿势资产映射失败3. 变形目标未正确导入1. 检查角色蓝图中的动画蓝图类是否已设置为你的面部动画蓝图。2. 检查姿势资产中曲线名是否与LiveLink传来的参数名完全一致大小写敏感。3. 在骨骼网格体编辑器中打开“变形目标预览器”手动滑动滑块看表情是否有效。部分表情错乱如笑变成哭姿势资产中曲线映射错误1. 检查姿势资产确认每一帧激活的曲线是否正确对应ARKit表情。2. 核对文末的ARKit标准表确保顺序和名称无误。3. 在动画蓝图中使用Get LiveLink Curve Value节点单独打印出可疑参数的值验证数据是否正确。表情抽搐或闪烁1. 数据噪声大2. 多个驱动源冲突1. 实施平滑滤波见5.1节。2. 检查是否有其他动画蓝图或动画序列也在修改相同的变形目标曲线造成覆盖。确保只有你的面部动画蓝图在驱动这些曲线。张嘴时脸颊或鼻子扭曲模型变形目标雕刻质量或权重绘制问题这是模型本身的问题UE5无法修复。需要返回建模软件调整JawOpen等变形目标的顶点位移和权重确保局部变形不影响其他区域。6.3 性能与优化问题CPU占用过高实时处理52条曲线数据并驱动网格体变形有一定开销。确保只在需要面部动画的角色上使用该动画蓝图。对于远处或非焦点角色可以降低Tick频率或完全禁用面部驱动。变形目标数量过多如果模型除了ARKit的52个基础形变还有大量自定义形变会影响性能。考虑在最终打包项目前检查并移除未被动画蓝图引用的多余变形目标。LiveLink数据频率LiveLinkFace默认发送频率可能很高。如果对实时性要求不是极端苛刻可以在其App设置或通过LiveLink的帧率限制来降低数据接收频率减轻引擎负担。7. ARKit 52个混合形状标准命名表这是整个流程的“密码本”请务必确保你的姿势资产中的命名与此表完全一致顺序可以不同但名称必须精确匹配。通常姿势资产的第1行对应动画序列第0帧用Default第2行开始对应下表顺序。序号ARKit Blend Shape 名称中文描述仅供参考1EyeBlinkLeft左眼眨眼2EyeLookDownLeft左眼向下看3EyeLookInLeft左眼向内看对眼4EyeLookOutLeft左眼向外看5EyeLookUpLeft左眼向上看6EyeSquintLeft左眼眯眼7EyeWideLeft左眼睁大8EyeBlinkRight右眼眨眼9EyeLookDownRight右眼向下看10EyeLookInRight右眼向内看对眼11EyeLookOutRight右眼向外看12EyeLookUpRight右眼向上看13EyeSquintRight右眼眯眼14EyeWideRight右眼睁大15JawForward下巴前伸16JawLeft下巴左移17JawRight下巴右移18JawOpen张嘴19MouthFunnel嘴唇噘起吹口哨状20MouthPucker嘴唇缩拢亲吻状21MouthLeft嘴角向左拉22MouthRight嘴角向右拉23MouthSmileLeft左嘴角上扬微笑24MouthSmileRight右嘴角上扬微笑25MouthFrownLeft左嘴角下垂皱眉26MouthFrownRight右嘴角下垂皱眉27MouthDimpleLeft左酒窝28MouthDimpleRight右酒窝29MouthStretchLeft向左拉伸嘴唇30MouthStretchRight向右拉伸嘴唇31MouthRollLower下唇卷起32MouthRollUpper上唇卷起33MouthShrugLower下唇耸肩下唇向下压34MouthShrugUpper上唇耸肩上唇向上提35MouthPressLeft左唇压紧36MouthPressRight右唇压紧37MouthLowerDownLeft左下唇下拉38MouthLowerDownRight右下唇下拉39MouthUpperUpLeft左上唇上提40MouthUpperUpRight右上唇上提41BrowDownLeft左眉下压42BrowDownRight右眉下压43BrowInnerUp眉毛内侧上扬惊讶44BrowOuterUpLeft左眉外侧上扬45BrowOuterUpRight右眉外侧上扬46CheekPuff脸颊鼓起47CheekSquintLeft左脸颊眯起笑时脸颊隆起48CheekSquintRight右脸颊眯起49NoseSneerLeft左鼻翼提起嗤笑50NoseSneerRight右鼻翼提起51TongueOut舌头伸出52HeadYaw,HeadPitch,HeadRoll注意这三个是头部旋转通常由LiveLink的骨骼变换数据直接驱动不属于变形目标。在姿势资产中一般不需要为它们创建曲线。最后我想分享一个最深的体会表情驱动的效果七分靠模型三分靠调试。一个雕刻精美、权重绘制准确的变形目标模型是优秀效果的基石。如果模型本身的表情形变就很奇怪那么在UE里无论如何调整映射和曲线都难以达到自然的效果。因此在投入大量时间调试UE之前不妨先和你的模型师充分沟通确保源头资产的质量。当模型和驱动管线都就位后你就能解锁实时、生动的数字人表情为你的虚拟制片、游戏或实时交互应用注入灵魂。
返回列表