值与引用的关系
值类型在栈中存储
引用类型在堆中存储
==Class==的值在堆里,地址在栈。(栈开一个空间存储地址,通过地址在堆里找到创建的值。)
==Struct==直接在栈里开辟空间来存储值。
此处为cVec的地址与sVec x,sVec Y,开辟了三个。
再来看函数内部:
更改了cvec与svec的x值,
此时**cVec.print()**打印的值为
1cVec(100,0)
**sVec.print()**打印的值也为
sVec(100,0)
函数调用结束,目光回到上面初始开辟的空间。
下方的**cVec.print(),sVec.print()**;
打印结果为:
cVec(100,0)
sVec(0,0)
因为sVec是函数内创建的值,在外面他没有更改。而cVec是通过地址找到堆里的值,在函数里已经将值更改。
如果想要Struct的值跟class一样,需要再前面加ref
虚幻材质里面的快捷键注:以下快捷键都需要结合鼠标左键来创建
首先是数字键1234分别对应的是1234维的常数节点,然后这里有个主意的地方就是1维常数的参数快捷键是S,三维常数的参数快捷键是V。
然后是ABCD ,A是Add加法节点, B是bumpoffset凹凸偏移,C是注释,D是Divide除法节点,当然还有我们的M,multiply乘法节点
E就是我们的power节点了,F这个节点目前还不是很熟悉是一个UNspecified function什么类型的函数,欢迎补充。
L就是线性插值这个节点了。非常重要的!
I是一个IF函数节点
N是我们的normalize
O就是我们的1-x函数了one minus 反转~~
P是panner平移节点
R是refelction vector 反射向量
T是Texture sample贴图节点,经常会用到。
最后是U,UV贴图平铺的一个节点,也很重要
作者:墨一良丶 https://www.bilibili.com/read/cv7905584?spm_id_from=333.999.0.0 出处:bilibili
ue4
未读decal贴花
材质
Tiling:平铺
Crop X:横向移动
Crop Y:纵向移动
08 - Parallax
POM:侧面看也能看出高低差
Height Ratio:凸起部分的高度
Reference Plane:使用UsePOM会导致正常视角看贴花有显示bug,通过这个参数调整。
抖动,使颜色混合
网格体绘制(顶点绘制)
步骤混合材质
打开这个,依顺序从底层->中间层->顶层进行选择。
截图里红色框命名,蓝色框确认,创建后就是混合后的材质。
然后将混合后材质拖进平面,调整平铺比例(视频里材质UV是4x4,而box盒子是一米见方,因此需要调整混合后材质的uv,将材质02-Base Layer参数平铺x平铺y改成四分之一)
绘制
模式=>网格体绘制
选择平面
选绘制,切换成黑色
通道选择:红:中间层
绿:顶层
蓝:水坑层(默认需要激活)
擦除:按住shift再画高度混合方法在混合材质界面,给底层BaseLayer添加,基础层置换贴图-displacement map
之后在这里微调效果
大致效果:
顶层也可以这么操作。
Global可调节饱和度,亮度、对比度
粗糙度调节
使用独立的置换调整值
右边的勾勾,勾选之后06-displacement会增加选项
选中哪个层调数值,相当于把那个层移高,或者下降
缺点:
细看有瑕疵
性能消耗(需要去材质蓝图关闭)。
调整水材质
Liquid Color:水颜色
Liquid Opacity:透明度  ...
简明PBR2:介绍了菲尼尔,以及两个网站可以查折射率
材质基础
常量Constant:不能在材质实例中调整
变量Variable:可以在材质中调整
右键可以转换常量或变量
矢量Vector:表示颜色、坐标信息
标量Scalar:常用参数调整手段
用作展示颜色节点Variable3Vector节点 
可调整参数ScalarParameter节点
调用贴图
TextureCoordinate
控制纹理平铺
lerp线性插值
lerp可以混合两种颜色,加上一个标量来控制
也可以混合法线贴图,前台控制法线程度
2022年5月10日编辑:ue4材质内容基本忘光了,留着文章就当记录了.


