云裂变营销网

标题: 【元宇宙】UE篇-创建自己的数字人 [打印本页]

作者: 匿名    时间: 2023-4-19 09:53
标题: 【元宇宙】UE篇-创建自己的数字人
一、前言

近几年疫情肆虐,出于防疫安全考虑各地的线下社交与商务活动大多被取消,但人们的社交需求欲望很强,已成为痛点问题,需要想办法来解决!所以 Facebook,微软,腾讯等大厂也在大力推动相关应用,通过在线化方式进行社交活动的元宇宙概念至此迅速出圈,各行各业都为之憧憬,期望能彻底改变现有社交与商务场景带来新的机遇。需求侧比如智能客服,智能导购等有非常强烈的刚需诉求。开发侧随着 Unreal 等游戏引擎技术的普及,已可以利用一系列免费工具来快速制作各种智能化的元宇宙场景与数字人交互。
在开始元宇宙开发之旅的第一步,需要先来看看怎么创建一个能自己驱动在数字化空间进行各种交互的数字人。为了更易于上手,我们尽量用最简便的方法来演示应用过程。
二、实现步骤

1. 基础模型准备

自制或购买需要的角色模型资产。为保证模型的最优化处理,模型面数和贴图大小需要严格控制消耗。
高质量项目的模型贴图预算建议(4级 LOD)
此建议根据次世代游戏以及高品质网游资产制作经验总结而来。
根据项目需要来选择制作,如开发周期较短,预算有限情况可只按照性能模式需要来制作就可以了。如制作周期足够程序开发资源富裕,可考虑增加高清和智能模式制作,应用时在前端设置页面开发一个模式选择功能,让用户可以主动设置模式体验达到最佳。
UE5 新塑性小白人 161根骨,Simple 89根骨。UE4 小白人 68根骨。移动端单次 drawcall 最多支持75根骨,65k模型。
【元宇宙】UE篇-创建自己的数字人-1.jpg
注:本文为方便准备,拿 Mixamo  的角色模型为例。

【元宇宙】UE篇-创建自己的数字人-2.jpg

【元宇宙】UE篇-创建自己的数字人-3.jpg
2. 模型骨骼绑定

如果我们自制的角色模型还没有绑定,也是可用 Mixamo 来设置骨骼绑定的,操作步骤参考如下图。
Mixamo 骨骼有 4 种类型:标准骨骼 65 根,三组手指 49 根,两组手指 41 根,没有手指 25 根。建议选用标准骨骼来保证输出的动画品质,设置完成后别忘了,点击页面右上角的 DOWNLOAD 按钮,下载绑定好的模型骨骼文件(格式 .fbx)。

【元宇宙】UE篇-创建自己的数字人-4.jpg
我们还是以 Mixamo 下载的免费角色来做演示。把下载好的.fbx文件 ,拖入 UE 的内容浏览器(最好先建个新的 characters 文件夹),按下图清空骨骼选择与导入动画设置,点选导入所有按钮,导入骨骼,骨骼网格体,物理资产(碰撞),还有相关贴图和材质文件。

【元宇宙】UE篇-创建自己的数字人-5.jpg
导入成功后,内容浏览器会生成类似下图类似的资产文件。

【元宇宙】UE篇-创建自己的数字人-6.jpg

【元宇宙】UE篇-创建自己的数字人-7.jpg
3. 动画文件下载与导入设置

在 Mixamo 网站下载一组免费的基础动作资源,如:Standard Idle,Walking,Runing_W,Running_Q,Running_BOF,Jump

【元宇宙】UE篇-创建自己的数字人-8.jpg
导入UE时,选择上一步刚刚导入的骨骼文件,然后点击导入按钮,完成动画导入。

【元宇宙】UE篇-创建自己的数字人-9.jpg
导入成功后内容浏览器内会生成如下图类似的动画序列文件。

【元宇宙】UE篇-创建自己的数字人-10.jpg
4. 动画重定向

在内容浏览器新建一个文件夹,并在内容浏览器空白处点右键,创建动画 / IK绑定页签下面的IK绑定和IK重定向器文件,IK绑定的文件名建议用IK_{文件名}形式。

【元宇宙】UE篇-创建自己的数字人-11.jpg
IK绑定的创建与设置

我们要创建两个IK绑定文件,一个选择我们新角色骨骼模型,一个选择 UE 小白人的骨骼模型。分别打开这两个文件在IK重定向页签内点击新增链条创建如下命名的6组链条(如有需要双手也可更精细设置),需要设置好每个链条的初始和末端骨骼。由于这两套骨骼命名完全不同,我们需要通过设置的骨骼链来完成相关动画的重定向匹配。
  1. Head,Spine,Arm_L,Arm_R,Leg_L,Leg_R
复制代码
【元宇宙】UE篇-创建自己的数字人-12.jpg
在左侧列表找到pelvis骨骼,点击右键选择设置重定向根。(注:两个IK绑定文件都要设置重定向根千万不要遗漏,也有的骨骼会取名为:Hips,这个骨会连着第一个脊椎骨,并且也连接着两条腿骨)

【元宇宙】UE篇-创建自己的数字人-13.jpg
IK重定向器的创建与设置

创建IK重定向器文件,先选择设置好要复制的源骨骼模型,再选择要把动画传递到的骨骼模型与IK绑定(就是你新导进来的角色模型)。设置时建议可把目标网格在 X 轴偏移200个单位方便观察。

【元宇宙】UE篇-创建自己的数字人-14.jpg
从 Mixamo 导进来的角色是 T-Pose ,而小白人是 A-Pose ,直接重定向的动画会有很大变形。我们参考下图激活编辑模式把两个 Pose 进行匹配(选肩部和手肘骨骼进行旋转设置)。

【元宇宙】UE篇-创建自己的数字人-15.jpg
动画蓝图的创建与设置

右键点击骨骼网格体选择创建动画蓝图,打开新创建的动画蓝图,在动画图表(AnimGraph)中点右键创建从网格体重定向姿势节点,选择此节点在右侧的细节面板中设置IK重定向器资产(选择我们刚做好的相关文件),全部搞定后不要忘记点击编译,应用这些设置。

【元宇宙】UE篇-创建自己的数字人-16.jpg
角色蓝图的设置

我们把 Advanced Locomotion System V4 项目中的角色替换成新导入的西装男。
注:相关项目可免费在虚幻商城下载,链接:项目地址

【元宇宙】UE篇-创建自己的数字人-17.jpg
在Advanced Locomotion System V4项目文件夹Blueprints / CharacterLogic中找到ALS_AnimMan_CharacterBP角色蓝图文件。

【元宇宙】UE篇-创建自己的数字人-18.jpg
打开ALS_AnimMan_CharacterBP角色蓝图文件,在视口页签左侧列表中选择角色模型并点击添加,创建骨骼网格体组件

【元宇宙】UE篇-创建自己的数字人-19.jpg
新创建的骨骼网格体组件要在原有角色组件的子级,并在右侧细节面板中选择我们最新制作的骨骼网格体文件。

【元宇宙】UE篇-创建自己的数字人-20.jpg
选择原有的角色组件,在右侧细节面板中把可视选项的勾选去掉,游戏中隐藏的勾选打开。这样我们就把原始角色彻底隐藏了。全部搞好之后不要忘记点选左上角的编译按钮应用这些设置。
注:如果新的骨骼网格体位置和角色朝向与原始角色不一致,可以通过视口中的移动与旋转功能来微调匹配。

【元宇宙】UE篇-创建自己的数字人-21.jpg
运行测试

返回关卡点击运行,这时我们应该大功告成了!如果还有细节动画不匹配,我们可以回去更详细调整,比如手指现在应还没有被重定向,脚步可能有画布我们可把双脚重定向设置为 IK 形式的。由于篇幅原因这些细节如有问题请留言再沟通。

【元宇宙】UE篇-创建自己的数字人-22.jpg




欢迎光临 云裂变营销网 (https://www.yunliebian.com/yingxiao/) Powered by Discuz! X3.4