UE4材质的认知

现在已经有了程序化纹理效果工具,可以用来制作水体、火焰等等
Shading language
材质域(material domain):应用到哪个方面
着色模型
混合模式
其他设置
设置上面的形成一个材质模板,材质模板+表达式=材质
表达式平时工作中只会用到5%-10%
自定义节点:可以把各个lsl导入表达式中
如果用表达式达不到某些效果,还可使调用Hlsl层
2.纹理Texture
纹理显示为一个节点,默认情况下每个材质可以有16个纹理,使用共享取样器可以达到28个
纹理只是个样本,拖入就可以了
3.参数集合
不太常用,但是简单好用。修改一次,之后所有的效果都会直接读取,不用一个一个改了
4.材质实例(材质球)
很厉害,很常用。只有需要编译的时候才会用到,在构建材质时很有用
可以复制出来,更改一些效果。也可以叠加效果,成为另一个材质球的一部分。
5.编译
编译成shader语言,自动做着色器排列。虚幻引擎总是利用更优化材质
所以要选择平台、用途、开关
最后未被使用的着色器会在打包时被自动删去
6.应用
会应用在ui、解码、光照、后期处理、提及材质、表面
虚拟纹理:可以让物体融进场景里
7.性能表现
Stats命令可以让你知道材质有多少指令
Shader复杂度——可以在视口中知道哪个材质的开销
品质开关——可以制作低配版和高配版。低配版就是同步一个纹理,应用于手机。高配版在整个网络中应用,适于pc
材质分析器——不常用,可以查找是否有重复材质
建议
1.要做实例和材质之间的平衡
如果所有东西都用特殊材质的话,以后会有很大的麻烦。因为所有的材质都是特殊的,迭代起来很困难,同时会创造很多shader着色器。
如果把所有东西都做成实例,也会很麻烦。当你像修改特定的某个实例时,你必须修改父材质,加许多函数,这会导致父材质很复杂。
如果只专注于一小部分材质,你无法预知项目最终会变成什么样子,所以要多尝试,找到实例和材质的平衡点。
常用的函数对应一些主材质,主材质又对应一些实例,实例再衍生其他实例。
要寻找到合适的结构,可以用层也可以不用
**
2.实例内的实例
**
可以让一个实例衍生另一个实例
3.着色器编译分配
使用Incredibuild(开发者工具包)可以在编译次数上有显著区别,在大型项目中Incredibuild可以大大加快编译速度
4.合并贴图/打包通道
把多个灰度纹理经过红绿蓝三个通道打包在一起。这样可以避免使用alpha通道存储纹理,因为alpha一般都是未压缩的,这样可以节省空间
5.Pbr
斑点specular和金属色metalic往往只是简单的值,我们并不会指定纹理为高光或金属色,而是一个0-1的值,默认为0.5.
粗糙度roughness目前是最重要的,这里就是你生成纹理的地方,对简单材质或远处的几何类物体很有用,而且占用空间小。
Ao环境光遮蔽只适用于静态物体,游戏是动态光照,所以可以不把ao添加到渲染管线中。
6.函数库
可以建立自己的函数,这样可以提高效率。不要轻易修改引擎的标准函数
7.做好兼容的准备
从第一天开始就要考虑纹理组和质量开关,注意其他有用的材质标记。有些表达式的内存可能远超其他表达式。
盒体穿透custom      

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_2456

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值