100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > ue4 怎么修改骨骼动画_使用Ornatrix来制作Ue4头发流程学习笔记(二)——引导曲线头发...

ue4 怎么修改骨骼动画_使用Ornatrix来制作Ue4头发流程学习笔记(二)——引导曲线头发...

时间:2022-02-18 15:22:05

相关推荐

ue4 怎么修改骨骼动画_使用Ornatrix来制作Ue4头发流程学习笔记(二)——引导曲线头发...

前言

4.24出了头发渲染与模拟功能,这真是一件令人兴奋的事,所以我稍微花了点时间进行测试,在此分享一些经验。

使用步骤

使用步骤大致如下,具体的可以参考文档:

/en-US/Engine/HairRendering/QuickStart/index.html​首先在项目设置启用Support Compute Skincache,并禁用Tick Animation on Skeletal Mesh Init。启用Alembic Groom Importer与Groom插件,之后重启引擎。(此时大概会编译大概5000多的Shader)

3.导入带有Groom信息的abc缓存文件。

4.设置Groom Asset属性。(主要是设置头发宽度)

设置Groom材质。(ShadingModel需要设置hair,Groom对象的材质有两种设置方式:1、从ContentBrowser中设置GroomAsset的属性 2、在场景中设置Groom对象的属性)

6.将GroomAsset拖入场景中并且attach到场景中的骨骼模型上,并调整位置。(直接放入蓝图的骨骼模型引擎会崩溃)

7.设置场景中的Groom物体属性,给它挂载Niagara Particle System,并且设置GroomAssetSystem。

8.设置Niagara物理参数。

最终结果:

关于头发对齐问题与Bind Groom to Skeletal Mesh选项我是复制了头皮模型,并以此为基础制作头发的。所以理论上头发是不需要对齐。但导入后头发还是需要手动位移(在dcc中对齐头发貌似是无效的,你需要计算head骨骼与头发的相对距离,之后在dcc或者ue4中手动对齐,我测试了设置导出轴向,貌似没有一个对的)

Bind Groom to Skeletal Mesh这个选项应该让Groom根据蒙皮数据进行运动,但我用下来,感觉这个选项没什么卵用(如有正确思路还请告知),而且头发会发生错误的位移。然后在你勾选这个选项后,将GroomAsset清空或者将Groom对象从骨骼物体上解除Attacked,都会触发一个LOD的断言,从而导致引擎直接关闭。这明显是因为容错逻辑没有写完所造成的的,但也可以理解毕竟4.24.1出的时候都要过年了。

Hair to Guide Density导入的头发与Groom和Ornatrix渲染的头发量(Hair From Guides中的Render Count)有关,和Ornatrix的引导曲线无关。因为本人没有看过源代码,所以以下是个人的无责任猜测: Ue4在导入头发时(abc里的数据还是类似曲线一样的东西),会根据头发分布重新生成"引导曲线",以此来进行物理模拟。因为我在进行测试的时候发现,3000个引导线与9000个引导线,在静态环境下渲染结果与帧数都是相同。而在设置Niagara Particle System与GroomAssetSystem时,会耗费较长的时间。

所以Hair to Guide Density的默认参数0.1,这个就不要更改了。

从这个图中,可以看出一些靠近边缘的区域需要增加头发密度,不然就有可能出现图中这种25岁程序员的头发。

Ornatrix导出abc

导出abc的时候需要在Ornatrix的大纲视图选中最上面的节点,实际上就是选中Ornatrix的形状节点,你可以Maya的关系编辑器中通过查看上下游节点进行查看。

之后点击“导出当前选择”,选择OrnatrixAlembic文件类型。勾选 文件类型特定选项-Export Components-Unreal Engine Export选项,之后就可以导出了。

Groom ID

Ornatrix中可以通过StandGroup对头发进行分组编辑。Ue4会通过这些StandGroup作为Groom ID数据。你可以对Groom ID的头发使用不同的参数。这样可以实现一个GroomAsset(abc文件)存储头发、睫毛、眉毛多种类型毛发(不同的宽度与材质)。

Strand Groups一般是通过Edit Guides节点进行指定的。指定步骤如下:

在Edit Guides,点击Edit Stands按钮进行编辑Stands模式。 选中需要添加组的头发。 之后在StandsGroups选项卡中,勾选Use Stands Groups,并在调整Stands Group Index后点击Assign。此时取消头发选择,如果之前选中过的头发变色了,就代表分组已经成功。

Ornatrix导出文档:

Exporting Hair to Alembic​

Strand Groups文档:

Strand Groups​

个人评价

因为本人电脑存在问题,打开一个测试场景帧数都是不稳定的(不知道是显卡还是固态机械混用的关系),所以本人没有进行性能方面的测试。但是我感觉目前渲染效率还不错(帧数没有下降特别多)。目前存在问题,容易崩。再过几个版本迭代就可以直接拿来做项目了吧。

因为我目前还没学过Niagara,所以无法测试使用解算的缓存来驱动hair。如果可以,那影视方向的企业以后就可以使用这个头发系统来做片了。

官方文档中所说的限制

帧数受Groom大小、分辨率与硬件影响。 目前不支持多屏显示与VR。

分享以下我制作的ABC

因为花的时间不多,效果仅供参考。

/s/14daaue7On6xsnGkjVmLFVA pjct

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。