当前位置:网站首页>ue4材质的入门和原理笔记
ue4材质的入门和原理笔记
2022-07-02 06:35:00 【乔安鱼】
材质的入门和原理
1.着色器
现在已经有了程序化纹理效果工具,可以用来制作水体、火焰等等
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.做好兼容的准备
从第一天开始就要考虑纹理组和质量开关,注意其他有用的材质标记。有些表达式的内存可能远超其他表达式。
边栏推荐
- ESLint 报错
- ue虛幻引擎程序化植物生成器設置——如何快速生成大片森林
- XA Transaction SQL Statements
- 滲透測試的介紹和防範
- 【UE5】蓝图制作简单地雷教程
- Tools used for Yolo object recognition and data generation
- What wires are suitable for wiring on bread board?
- ICLR 2022: how does AI recognize "things I haven't seen"?
- 虚幻——动画蓝图、状态机制作人物走跑跳动作
- Eslint reports an error
猜你喜欢
Eslint reports an error
Applet development summary
Record the interesting process of using Xray for the first time
C language programming problems
JDBC review
It is the most difficult to teach AI to play iron fist frame by frame. Now arcade game lovers have something
【虚幻】武器插槽:拾取武器
Summary of demand R & D process nodes and key outputs
Blender多鏡頭(多機比特)切換
2837xd code generation - stateflow (2)
随机推荐
[unreal] animation notes of the scene
Project practice, redis cluster technology learning (10)
渗透测试的介绍和防范
QT qlabel style settings
Database -- acid of transaction -- introduction / explanation
2837xd 代碼生成——StateFlow(4)
Tee command usage example
Project practice, redis cluster technology learning (VII)
[200 Shengxin literatures] 95 multiomics exploration TNBC
Translation d30 (with AC code POJ 28:sum number)
Junit5 支持suite的方法
UE5——AI追逐(蓝图、行为树)
[200 Shengxin literatures] 96 joint biomarkers of immune checkpoint inhibitor response in advanced solid tumors
2837xd代码生成模块学习(1)——GPIO模块
Memories of a chat
[unreal] key to open the door blueprint notes
Kinect DK obtains color RGB images in cv:: mat format (used in openpose)
2837xd code generation - stateflow (2)
About the college entrance examination
The latest progress and development trend of 2022 intelligent voice technology