UE5发布之后,同学们对于虚幻引擎的热情可以说是空前高涨,相信也有很多同学都已经接触过或者正在接触UE4了。正常的贴花也是以单一方向进行映射的。使用的地方也相对比较局限。
那么要怎么才能做出三维映射的贴花呢?下面我就分享给大家。
一.效果对比
二制作方法
1. 首先我们需要把拉伸的X轴和Y轴都需要进行映射。当然Z轴也需要映射。这样就变成了一个三维的映射。
2. 我们需要创建一个节点“绝对世界位置”(WorldPosition)
3.我们用“Mask”节点把“RG”“GB”“RB”同道单独分出来
3.1.我们测试下“RG”同道的映射方向为Z轴方向。
①连接方式
注:因为这样用Mask提取出来的UV数值是非常大的。通常UV数值越大UV越小越密集。所以我们需要除法把UV变的大些。
②映射方向为Z轴
3.2..我们测试下“GB”同道的映射方向为X轴方向。
3.3..我们测试下“RB”同道的映射方向为Y轴方向。
3.4总结:大家有没有发现,映射的轴向刚好是没有提取出来的轴向。简单说提取出来的通道就是剔除的通道,不会进行映射。
例如:连接RG通道,就是红绿通道。
R通道为红通道对应坐标轴的X轴,因为X轴也是红色。
G通道为绿通道对应坐标轴的Y轴,因为Y轴也是绿色。
映射的Z轴为蓝通道就是B通道。
所以,我们连接的通道刚好就是剔除的轴向,没有连接到的就是映射上的轴向。
4.我们使用“场景法线节点”(SceneTextur)连接绝对值“Abs”在连接就近整数节点“Round”。这样我们就可以得到空间信息了。
5.我们这样先连接下,这样就得到了RGB投射的位置信息。
6.我们加入“Lerp”用红绿蓝的颜色来模拟投射的位置
7.这样我们就可以根据贴图方位来替换连接上面的“绝对坐标位置”
根据上面说的剔除原理。
红色为Z轴方向。Z轴为剔除通道。那么需要连接的就是RG通道
蓝色为Y轴方向。Y轴为剔除通道。那么需要连接的就是GB通道
绿色为X轴方向。X轴为剔除通道。那么需要连接的就是RB通道
注:加入除法跟上面的一样,是为了把UV数值降低,从而放大UV。
8.保存后效果
9.但是如果绕道模型后面就会发现,模型背后没有被投射上去。
其实这个不是没有投射上,上因为北面处在阴影处。从而不进行显示。
10.解决方法一,背后补光。
10.2解决方法二,加入自发光。
11.这样我们就有一个三面映射的贴花啦。而且你可以随便转动模型。
总结:三面映射方法有优点也有缺点,具体可以根据你的制作需求来确定使用哪种方式。
优点:三面映射,可以适应地方,例如特效,立体场景。直接用于远景贴图投射。
缺点:1.因为是使用场景法线来获取的投射方位,所以映射是无法使用法线的。
2.这种映射方法只适应与方体,球体和圆柱体并不适用。