前言

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

使用步骤

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

https://docs.unrealengine.com/en-US/Engine/HairRendering/QuickStart/index.html​docs.unrealengine.com

  1. 首先在项目设置启用Support Compute Skincache,并禁用Tick Animation on Skeletal Mesh Init。
  2. 启用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节点进行指定的。指定步骤如下:

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

Ornatrix导出文档:

Exporting Hair to Alembic​ephere.com

Strand Groups文档:

Strand Groups​ephere.com

个人评价

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

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

官方文档中所说的限制

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

分享以下我制作的ABC

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

https://pan.baidu.com/s/14daaue7On6xsnGkjVmLFVA pjct

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

  1. ue4 怎么修改骨骼动画_它来了,它来了! 游戏角色与动画制作的智能工具 iClone Unreal Live Link 闪耀登场!!!...

    点击蓝字关注我们 它来了,它来了! 游戏角色与动画制作的智能工具 iClone Unreal Live Link 闪耀登场!!! Reallusion研发团队近日最新发布了iClone Unreal ...

  2. ue4 怎么修改骨骼动画_【UE4】动画重定向

    虚幻4动画重定向 重定向虚幻争霸中两个角色,使用同一套动画. 1.首先我们从虚幻商城下载两个角色到项目内.(我这里选择了Wraith.Revenant) 由于需要使用另外的动画,我这里选择将两个骨架的 ...

  3. ue4 怎么修改骨骼动画_【2017 GDC挖坟】守望先锋动画制作管线(下篇)

    写在前面的话:GDC总是可以挖掘到很多值得学习的分享,今天拆解一下2017GDC上关于动画管线的分享,里面很多东西值得借鉴.思考,文中偶尔会有一点自己的想法.总结,欢迎大佬吐槽.提意见.(文章很长,多 ...

  4. ue4 怎么修改骨骼动画_【UE4】神器!!!动画师必备!!!基于物理的动画制作软件 Cascadeur 使用指南!...

    优点不用说,因为tql,下面全部都是优点 缺点嘛,还是一样的吐槽,整成插件进blender该多好啊,有些操作真不如blender方便,ue4的操作也是. [导图] 重点在 第 6 节 制作人物姿势和 ...

  5. ue4 怎么修改骨骼动画_UE4换装系统(合并骨骼模型)

    前面那篇UE4换装系统https://blog.csdn.net/luomogenhaoqi/article/details/88350580,事实上每个身体模型还是各自渲染,现在介绍把每个身体模型合 ...

  6. ue4 怎么修改骨骼动画_UE4下动作游戏动态镜头的实现方法

    引 言 3A级游戏中,镜头是一个很重要的因素,跟战斗体验和剧情演出都紧密相关.对于一个有激烈打击感的动作游戏,镜头演出更是十分重要.本文将参考动作游戏鬼泣5的相关镜头功能,进行鬼泣5镜头规则的分析.并 ...

  7. esp8266 蓝牙耳机_走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二)...

    走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二) 2020-05-09 13:44:11 9点赞 72收藏 6评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标 ...

  8. ue4小白人骨骼定义_动画短片在UE4中的工作流程都有哪些?来看游戏建模师如何分析的...

    CG摄影师兼导演Jeffy Zachariah谈到了他的动画短片WAKE的制作:在UE4中与Sequencer合作,摄像机设置,资产制作等. 想法 将动画视为通过运动说出来的故事或表情,甚至可以只通过 ...

  9. oracle 方泽宇_斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱...

    上一讲我们学习了知识图谱的一些基本概念:泽宇:斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱​zhuanlan.zhihu.com 本节课程关于如何构建知识图谱,因为知识图谱的构建 ...

最新文章

  1. PHP mongodb 的使用
  2. 缺少物联网杀手级应用的运营商,到底该怎么办?
  3. jmeter线程说明_4.centos下Jmeter+InfluxDB+Grafana环境的搭建1
  4. 洛谷 P1849 [USACO12MAR]拖拉机Tractor
  5. 如何使用易我数据恢复向导恢复数码相机删除的图片
  6. 简洁版即时聊天---I/O多路复用使用
  7. 信息学奥赛一本通 2042:【例5.10】稀疏矩阵
  8. freemarker结合springMVC配置
  9. HTML pattern
  10. padding/border与width的关系
  11. CSS ::selection 选中文字效果
  12. 【报告分享】2021年Z世代“潮力量”洞察报告.pdf(附下载链接)
  13. 基于scikit-learn的梯度提升树GBDT调参学习
  14. [ActiveRecord]之 CRUD
  15. C++之includeiostream与includeiostream.h
  16. Fingersmith---指匠情挑
  17. 日本官方版灌篮高手结局
  18. python计算英文的单词数
  19. Python学习之路:关于列表(List)复制的那点事
  20. ES性能优化之查询优化笔记(一)

热门文章

  1. opencv(ORB算法)实现相似度检测
  2. 歌曲信息管理系统c语言代码,歌曲信息管理系统_通用完整版.doc
  3. 取反(~)和相反数 是不一样的!!!
  4. R语言绘制复杂抽样设计logistic回归限制立方样条图(RCS)
  5. cordova调用java_Cordova入门系列(三)Cordova插件调用
  6. 道路场景语义分割综述_王飞龙
  7. libpng error: IDAT: CRC error
  8. epass 1000ND 使用心得
  9. BEA Elink 产品介绍
  10. 安装ZF2_Skeleton_ Application和ZFTOOL