山东大学软件学院项目实训记录(三)——基于MetaHuman等插件实现数字人的发型及服饰制作
前言
本项目 研发面向医学教育的医患沟通模拟与评价系统,基于大模型实现智能交互、个性化病例模拟和评分,为医学生提供沉浸式医患沟通实训场景,解决线下标准化病人资源稀缺的问题,提升医学生医患沟通实操能力。本人负责美术工作,数字人的制作(唇形同步、面部表情、肢体动作等),诊室的制作,UI 样式制作,渲染优化。本周进行工作:细化数字人模型,并制作一些简单动作与表情的动画。
一、优化项目
1.引擎可扩展性设置,降低负载
设置整体:Low / Medium
特效:Low
阴影:Low
纹理:Low
视距:Medium
AA:FXAA
2.关闭lumen,强制显存限制,防爆显存
控制台输入:r.Streaming.PoolSize 2048 # 给纹理分配2GB显存
r.TextureStreaming 1
r.SSR.Quality 0 # 关闭屏幕空间反射
r.DepthOfFieldQuality 0 # 关闭景深
r.MotionBlurQuality 0 # 关闭动态模糊
r.ShadowQuality 0 # 阴影最低
并勾选 Forward Shading(前向渲染)
这些步骤能够优化UE项目,防止卡顿同时方便后续编辑
二、编辑数字人,实现完整模型
通过系统提供的编辑点进行拓扑和雕刻,阴影值开大,加入毛发细节
由于插件本身提供的服装较少,需要基于Dataflow编辑器制作Outfit Asset(自适应服装),即自带 参数化体型自适应(胖瘦高矮自动适配),可在 MetaHuman 编辑器直接穿戴、换色的.mhpkg文件。
将提前准备好的服装素材在metahuman中打开,通过骨骼网格体编辑器(Skeletal Mesh Editor)管理带骨骼绑定的 3D 模型
通过蒙皮(skin)调整模型顶点和骨骼的绑定权重,也就是实现衣服跟着身体动,不穿模、不拉扯
给模型加变形目标(Morph Target),做衣服的褶皱、松紧变化,适配 MetaHuman 胖瘦体型


外部资源导入的服饰文件包括纹理,材质,物理资产和骨骼,以及骨骼网格体,导入matahuman编辑器并给数字人佩戴资产。

二、为服饰资产增加自适应能力

可见服饰资产直接佩戴会由于不适配体型而穿模,因此需要为其加入自适应能力。
选择初始体型,


编辑完成后绑定网格体,生成可以制作动画的metahuman资源。

使服装网格体贴合骨架,以便后续服装跟随人体模型运动。
创建布料资源


为布料资源绑定骨骼网格体。
修改构造脚本和事件图表


确认无误后,导出头部模型

根运动模式:设为「仅蒙太奇中的根运动」,限制根运动仅在动画蒙太奇中生效
针对显存溢出问题(图中的红色报错),在控制台输入:
锁30帧,降低GPU负载 t.MaxFPS 30
强制RigLogic用低LOD,减少骨骼计算开销 r.RigLogic.LODThreshold 2
关闭头发实时渲染,用烘焙贴图替代(显存降50%+) r.HairStrands.UseCardsInsteadOfStrands 1
强制头发用最低LOD r.HairStrands.MinLOD 3 # 5. 皮肤半分辨率渲染,减少显存占用 r.SSS.HalfRes 1
确认无误后将头部模型资产导出,在blender中打开并编辑

对网格体进行清除并保留变换关系,再删除父级及骨骼,以便后续编辑
得到面部网格信息后,可以进行头发的编辑

利用现有的头发模型适配头部模型,用blender绘调整头发,导出为groom资产,导入ue并绑定

成功搭建出仿真的数字人模型。
下一步:可见数字人皮肤瑕疵严重,需要导出纹理贴图去除瑕疵。以及需要创建动作动画,同时确保头发,服饰跟随人体运动且符合运动学规律。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)