UE4使用Blender的HairGroom笔记

UE4最近更新了对HairGroom的支持,于是对其进行了一些测试。

当前使用的UE4版本为4.25.0,Blender版本为2.82a。

本文主要参考Jayanam的教程[Blender 2.8 Hair Beginner Tutorial]和Marvel Master的教程[Dynamic Hair Tutorial – Blender to Unreal Engine 4 Groom UE4.25]。

UE4设置

这部分按照[官方文档]操作就可以了。

当然,跟着Marvel Master的教程做也是可以的。需要注意的是,当前Groom支持在实验阶段,所以有些部分可能会与实际操作不一致。

例如Niagra发射器的部分,按照官方文档操作之后

image

Override Parameters并没有出现,由于并不影响实际效果,所以就先放置了。

Blender内制作Groom

教程里面是直接在导出的SkeletonMesh上做Groom的,默认情况下会从全体表面来发射头发,以功能验证而言倒是无所谓。

总之首先就是加个粒子系统,然后改成头发

clip_image001

对于需要控制生长区域的情况,目前看主要有三种方法:

  1. 单独拉出Mesh用于头发发射
  2. 使用头发发射器的顶点组功能
  3. 使用贴图进行权重控制

似乎第三个方法主要用于微调的样子。

定点组的设置比较直观,使用贴图Mask的时候需要注意,必须调整贴图的影响方式

clip_image001[4]

完成粒子编辑后,将粒子转换为Curv

image

然后作Curv转换

clip_image001[6]

导出Abc,注意调整缩放

clip_image001[8]

导入UE4

头发导入

导入的选项直接参照教程即可,流程上似乎有些奇怪,不过现在似乎就是这样工作的

clip_image001[10]

导入之后,在Asset里面打开物理模拟

clip_image001[12]

此时可以将资源拖到地图中预览。

这边遇到问题是点开之后拖到地图里面没有反应,此时,将Asset直接添加到角色蓝图内,会发现能动了,但是没有跟随骨骼限制运动。这时再拖到地图里面就会有物理反应了,可能是哪里有bug。

基础导入

无论如何,要让效果跟随物理基础,需要再次做一下导入工作。感觉之后的版本应该会改进,不然这样操作很奇怪

在blender中删除转换后的Mesh,选中角色模型

clip_image001[14]

再导出一次abc,覆盖掉旧文件

在UE4的旧Asset上点击重新导入

需要重新设置物理模拟

clip_image002

clip_image003

这个时候就可以看到Groom的跟随骨骼动画的效果了

clip_image004

头发试作

为了实际看看Groom的头发大概是什么风格,这边简单的进行了下测试

顶点组绘制控制

在模型上添加一个顶点组

clip_image001[16]

然后将模式切换到权重绘制模式

clip_image002[4]

这个时候就可以在模型上绘制顶点组的范围了

clip_image003[4]

绘制完成后在粒子的顶点组里面将density指定到这个顶点组

image

就不会从整个头上发射头发了

image

粒子调整

切换到粒子编辑模式随便梳理一下头发

image

这里可以通过选项让梳理的时候能够看到子粒子的效果

image

这个梳理模式(粒子编辑器)还是挺强大的,有看到教程是直接从空白处开始刷出粒子的,不过由于没有什么美术细胞,就只能从简了。

按照教程里面的进行导出操作,就可以看到效果了

效果

努力进行了一番效果调整后,结果是这样的:

image

由于全局只用了一个发射器,尤其是没有做前发的部分,所以效果不是很好。另外,不知是没有处理好头发的效果,还是过于写实的原因,感觉Groom的和动画风格的模型有些不匹配。

本来是想拉个双马尾的,但是由于对Blender的操作还不是很熟悉,最后放弃了……感觉要达到ArtStation上看到的大神们做出来的效果对我而言暂时似乎是不太可能的。

本博客所有内容遵循CC BY-NC-SA 3.0协议, 如有转载,请注明出处。
2 条评论

    话说这东西手机能用么。我觉得99%不能用


    感觉目前很难在手机上达到生产需求,我用电脑都很卡

AYA进行回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>