Hello . 大家好,今天给大家带来Unreal材质优化实用教程,我是木偶心没。
优化在每个游戏项目里面都会涉及到,是一种为了达成相同目标,寻求并采用消耗更少资源的办法。一般会在CPU,GPU,网络和内存方便进行优化。而我们在美术效果的制作中,除了要注意面数,顶点和材质球贴图个数等,还需要在写材质球的时候就需要注意的,材质球优化。
优化应该在制作过程中就需要考虑到的因素,而不是全部制作完成以后再因为帧率不够想办法,那将会非常耗费时间和人力。
一、性能
在进行优化之前需要先查看材质球的性能复杂度等,所以下面有几种办法来查看材质球的性能:
1. Alt+8查看场景材质球复杂度,越往右边的颜色表示材质球越复杂,消耗越高。

2. 查看Shader instructions
材质的计算过程是先将Shader Graph里面的节点转成HLSL Code然后在转化成汇编语言指令Assembly Instructions,最后再传递给驱动程序Graphics Driver。
所以如果我们知道shader instructions的数量也可以判断汇编语言的instructions数量。

3. 将材质赋给模型,将模型放到场景中,运行场景,然后在预期的目标平台上进行评估。因为不同的硬件,着色器的消耗也会有所不同。
二、优化
但是综上,在我们创建材质的时候最直观的办法还是查看instruction,虽然结果并不完全准确,但是却是最快速有效的办法。
查看到性能以后,我们就开始来优化材质。
1、删掉多余的材质节点。检查材质看是否有没有效果的节点,在合理的情况下可以删掉,或者说添加效果开关。
2、替换某些复杂的数学函数节点,比如power函数等。

在unreal里面主要作用是增加对比度(黑的更黑,白的更白)

Power的Exp输入就可以调整对比度。我们记录当前状态下的instructions数量为111
然后先将我们的mask的rgb减去0.5,将范围固定在(-0.5,0.5),然后乘上一个对比度值,相当于power里面的EXP控制mask对比度,最后再加上0.5,clamp到0-1以后就可以使原本小于0.5的值更小,让原本大于0.5的值更大,现在我在将结果连到alpha里面查看到instruction的值变成110了。

这就可以少量优化数学函数节点。
3、优化流程相似的节点,比如下面的节点,两个texture sample用的都是一张图,而不一样的就是起始时间数值

所以我们就可以把前面的uv部分进行如下优化。

我们就把四个二维运算(两加两乘)机智的换成了两个四维运算(一加一乘),减少了数学计算的次数
4、最常用的贴图合并,只要使用了同一个uv,就可以放在同一张贴图里面,然后在操作时进行同一张贴图不同的通道加载。例如把metal或者ao放在basecolor贴图的alpha通道。这样可以大大减少贴图的使用数量,极大优化材质球。
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答为给新片造势,迪士尼这次豁出去了,拿出压箱底的一众经典IP,开启了梦幻联动朱迪和尼克奉命潜入偏远地带卧底调查 截至11月24日......
此前Q2问答环节,邹涛曾将《解限机》首发失利归结于“商业化保守”和“灰产猖獗”,导致预想设计与实际游玩效果偏差大,且表示该游戏......
2025 Google Play年度游戏颁奖:洞察移动游戏新趋势
玩家无需四处收集实体卡,轻点屏幕就能开启惊喜开包之旅,享受收集与对战乐趣库洛游戏的《鸣潮》斩获“最佳持续运营游戏”大奖,这不仅......
说明:文中所有的配图均来源于网络 在人们的常规认知里,游戏引擎领域的两大巨头似乎更倾向于在各自赛道上激烈竞争,然而,只要时间足......
在行政服务优化层面,办法提出压缩国产网络游戏审核周期,在朝阳、海淀等重点区将审批纳入综合窗口;完善版权服务机制,将游戏素材著作......
未毕业先就业、组团入职、扎堆拿offer...这种好事,再多来一打!
众所周知,火星有完善的就业推荐服务图为火星校园招聘会现场对火星同学们来说,金三银四、金九银十并不是找工作的唯一良机火星时代教育......
同学您好!