【愚公系列】《AIGC辅助软件开发》038-高阶产品应用开发:利用UE创建数字人

标题详情
作者简介愚公搬代码
头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
博客内容.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎👍点赞、✍评论、⭐收藏


🚀前言

随着数字化时代的到来,虚拟角色和数字人逐渐成为各个行业中不可或缺的元素。从游戏开发到影视制作,再到虚拟现实和增强现实应用,数字人不仅丰富了用户体验,也为品牌传播和互动提供了新的可能性。而在这其中,虚幻引擎(Unreal Engine,简称UE)以其强大的实时渲染能力和灵活的开发环境,成为创建数字人的首选工具。

本文将深入探讨如何利用UE进行高阶产品应用开发,特别是创建逼真的数字人。我们将详细介绍数字人的设计流程,包括角色建模、动画制作、表情捕捉以及与用户的交互实现。通过具体的案例分析,我们希望能够揭示数字人在各个领域的应用潜力,以及如何通过技术创新提升用户的沉浸感与参与度。

无论你是游戏开发者、影视制作人,还是对数字人技术感兴趣的爱好者,这篇文章都将为你提供实用的见解与灵感。让我们一起探索数字人技术的前沿,开启创造虚拟世界的新旅程!

🚀一、利用UE创建数字人

程序员在工作和学习中积累了大量宝贵的知识与经验,但有些优秀的程序员在表达能力上可能存在短板。在这种情况下,数字人的出现提供了理想的解决方案,可以有效弥补这一不足。

通过与数字人互动,程序员能够将专业知识和经验传递给更广泛的受众,而无需担心沟通障碍。数字人具备逼真的外貌、流畅的语言表达能力和交互功能,能够以更具吸引力和易于理解的方式呈现复杂的技术概念。这使得程序员能够更好地与其他开发者、学习者和潜在客户交流,建立个人影响力。

随着语音识别和 TTS(文字转语音)等技术的不断发展,创建数字人不仅能显著减轻程序员在镜头前的压力,使他们能够专注于内容创作本身,而不必担心形象和表达,还能迅速输出内容,大大提高创作效率。

使用 UE 的 MetaHuman 制作数字人非常简单,任何人都能免费使用,并通过深度学习制作出效果逼真、动作流畅的人物形象。

🔎1.准备工作

🦋1.1 硬件要求

要使用 Unreal Engine(UE)进行数字人建模,一般需要 NVIDIA 的 GTX 系列显卡。GTX 1060 为入门级配置,推荐使用 GTX 2060 及以上显卡,以及 32GB 内存。这个配置基本能确保软件稳定运行。

🦋1.2 软件安装

UE 是由 Epic Games 开发的游戏引擎。请访问 Epic Games 官网 https://store.epicgames.com/zh-CN/,点击页面右上角的“获取 Epic Games”按钮下载并安装安装包。

🦋1.3 创建账号

安装完成后,打开 Epic Games Launcher 并创建 Epic Games 账号。

🦋1.4 安装引擎

进入软件后,点击左侧菜单中的“虚幻引擎”,然后依次点击“库”和引擎版本后的“+”按钮,此处选择 5.1.x 版本进行安装。

🦋1.5 安装 MetaHuman

在虚幻商城中搜索 MetaHuman 插件和 MetaHuman SDK,购买(免费)并安装到引擎中。

🔎2.使用 MetaHuman 自带的人物

🦋2.1 创建工程

  1. 新建项目

    • 依次选择“游戏” → “空白” → “蓝图”,目标平台选择“桌面”。
    • 注意:路径和项目名称中不得含有中文或空格。MetaHuman产品界面见图。
    • 新建项目时,引擎需要编译着色器,可能需要数分钟或更长时间,请耐心等待编译完成。
      在这里插入图片描述
  2. 添加 MetaHuman 插件

    • 在工程中,依次选择“编辑” → “插件”选项,查找“MetaHuman”,勾选“MetaHuman”和“MetaHumanSDK”,然后重新启动工程。
  3. 引入 MetaHuman 人物

    • 第一步:选择“文件”选项,新建关卡,选择“Basic”,并保存。
    • 第二步:选择“窗口”选项,单击“Quixel Bridge”,在右上角登录。选择一个 MetaHuman,单击“Download”按钮下载,下载完成后单击“+”将其添加到工程中。点击所有弹出框的“启用缺失”按钮,然后重启工程。
    • 第三步:重启后,打开之前创建的关卡,在内容浏览器的“MetaHumans”目录下找到刚才下载的 MetaHuman(BP_***),并将其拖入关卡中。图展示了引入 MetaHuman 人物后的效果。
      在这里插入图片描述

🦋2.2 接受文字输入并显示

我们用一个带按钮的文本框模拟与数字人交互的界面。首先打开关卡蓝图,图所示为模拟与数字人交互的界面。
在这里插入图片描述

从“事件开始运行”开始,添加节点“创建控件”,选择类为“WBPDemo Chat”。在绑定事件时,添加节点“分配 onSend”。注意,有三个同名选项,通常选择第三个。如果类型不匹配,可以尝试选择其他选项。绑定事件后,直接将内容输出到屏幕上。

  • 图展示了接受文字输入后的结果页面。
    在这里插入图片描述

  • 图展示了编译后的运行界面。在这里插入图片描述

🦋2.3 数字人连接 ChatGPT 对话

连接 ChatGPT 时我们要用到插件 OpenAI的API。图所示为接人 OpenAI的API的界面。

在这里插入图片描述
这样,数字人就具备了对话的能力。图所示为数据人具备对话能力后的界面。

在这里插入图片描述

🦋2.4 让数字人开口说话

要让数字人开口说话,首先要将ChatGPT返回的内容变成声音。在UE中我们要用到speech 这个插件。图所示为 AZSpeecch 插件的界面。
在这里插入图片描述

另外,AZSpeech 的 “Speech to Text With Default Options” 组件可以进行语音识别,使数字人具备“耳朵”功能。

  1. 有了声音后,我们可以利用 MetaHumanSDK 根据声音自动生成嘴型动画。图展示了 MetaHumanSDK 的产品界面。
    在这里插入图片描述

  2. 将嘴型动画与头部网格体绑定,并同时播放音频,即可实现人物说话的效果。图展示了动画与音频的合成界面。
    在这里插入图片描述

🔎3.进阶实战

本节先来了解几种人物建模方式,之后我们可以按自己的形象创建特定的数字人。

🦋3.1 创建自己的数字人形象

下面介绍几种常用的建模方式:

  1. FaceGen Modeller 建模

    • 导入左、中、右三张头像照片即可生成头部模型。图展示了生成头部模型的界面。生成后,将输出为 .obi 文件,以便导入 UE。
      在这里插入图片描述
  2. Blender 建模

    • Blender 是一款免费的建模软件,能够精确控制模型的细节。访问 Blender 官网下载该软件,安装成功后,需要安装 FaceBuilder 插件。图展示了 Blender 界面。
      在这里插入图片描述

    • 在主窗口右侧选择 FaceBuilder,然后单击“新建人头”按钮。图展示了 Blender 新建人头的界面。
      在这里插入图片描述

    • 单击“添加图像”,至少需要一张正面头像。添加左前方、右前方、正左侧、正右侧和背面的照片,可以更准确、方便地调整模型。添加完成后,确保“拓扑”选项设置为 “bighpoly”。

    • 选中照片后,单击“对齐面部”按钮,之后可以拖动网格进行精细调整。图分别展示了网格精调界面和精调效果。
      在这里插入图片描述
      在这里插入图片描述

在网格调整完成后,单击“创建纹理”按钮,选择需要生成纹理的照片,然后单击“确认”按钮。纹理图片可以在 Photoshop 中进行优化处理。在导出前,请将位置和旋转归零。接着,单击“导出为 FBX”按钮导出模型。在弹出的导出窗口中进行如下设置:

  • 将“路径模式”设置为“复制”,并选中路径模式下拉框右侧的“内嵌纹理”选项;
  • 在“物体类型”选项中,按住 键,同时选中“骨架”和“网格”选项;
  • 在“几何数据”设置中,将“平滑”选项设置为“面”;
  • 取消勾选“烘焙动画”选项。

最后确认导出。

使用 Blender,同样可以导入 FaceGen Modeller 创建的 .obj 类型模型进行进一步的调整优化。

  1. MetaHuman Animation 建模

MetaHuman Animation 是 UE 于 2023 年 6 月发布的功能,允许用户通过手机快速创建模型。具体步骤如下:

  1. 在一台 iPhone 13 以上型号的手机上安装 Live Link Face;
  2. 打开 Live Link Face,选择模式为 Metahuman Animator,拍摄头部视频;
  3. 单击左下角的镜头试拍浏览器,选择拍摄的视频,然后单击右上角的“导出”按钮,将视频发送到计算机进行保存。

对于没有 iPhone 13 以上型号手机的读者,可以安装 Polycam 进行建模。建模完成后,将其导入 Blender 进行后期处理。在处理过程中,请注意只保留脸部和脖子裸露皮肤的部分,其余部分全部删除。

🦋3.2 导入模型到 UE,创建 MetaHuman

☀️3.2.1 由 .obj 和 .fbx 文件创建 MetaHuman
  1. 打开之前创建的工程,在内容目录下新建一个文件夹 ImportedModels,再在 ImportedModels 下新建一个 人物 文件夹。

  2. 将 .fbx 文件拖入这个 人物 文件夹中,在弹出的窗口中单击“导入”按钮。

  3. 人物 文件夹的文件列表空白处右击鼠标,依次选择 MetahumanMetahuman 本体文件,为文件命名后将其打开。

  4. 点击网格体中的组件,选择刚才导入的网格体。此时模型应正对屏幕,如未正对,请手动调整视角,确保头部居中并占据屏幕大部分空间。

  5. 依次单击 提升帧追踪活动帧MetaHuman 本体解算

  6. 建议增加左前和右前两个角度的帧,角度不宜过大,可以进行微调。

  7. 选择合适的身体。

  8. 单击“网格体转 MetaHuman”,成功后关闭本体窗口。

  9. 单击“窗口”菜单,打开 Quixel Bridge。在 My Metahumans 中选中第一个,在右下角选择 Highest Quality 选项,并单击 Start MHC 选项。

  10. MetaHuman Creator 主页选择 UE 5.1 引擎,单击自定义网格体,启用编辑,调整区域影响。图显示了 MetaHuman Creator 自定义网格体界面。
    在这里插入图片描述

  11. 单击“雕刻”图标,拖动面部的点以调整面部形态。图显示了面部雕刻界面。
    在这里插入图片描述

  12. 设置人物的皮肤、外貌和衣着。图显示了相关设置界面。
    在这里插入图片描述

☀️3.2.2 由 MetaHuman Animation 创建 MetaHuman
  1. 配置 MetaHuman Animator:在计算机上配置 MetaHuman Animator。新建一个 5.2 引擎的空白工程,在“内容”目录下右击“MetaHuman 动画器”,再单击“捕捉源”。
  2. 设置捕捉源:打开捕捉源类型的配置文件,在 CaptureSource Type 选项下选择 LiveLinkFace Archives,并将 Storage Path 设置为手机捕捉的面部视频保存目录。
  3. 管理捕捉视频:单击“工具”菜单,打开捕捉管理器,可以看到保存的面部视频。单击“添加到队列”按钮,将视频加入工程中。
  4. 创建 MetaHuman 本体:在内容浏览器中右击“MetaHuman 动画器”,选择“MetaHuman 本体”。
  5. 导入捕获数据:打开本体文件,创建组件时选择“从镜头中”选项,选择从 iPhone 中导入的捕获数据。图 11-23 显示了导入捕获数据的界面。
  6. 设置活动帧:拖动镜头时间轴选择画面,依次创建正面、左前、右前三个角度的活动帧。然后进行网格体追踪网格标记、本体解算和网格体转 MetaHuman。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值