如何将UE4中的贴花做出三维映射的效果
2022-11-28

作者:

逗典学堂

UE5发布之后,同学们对于虚幻引擎的热情可以说是空前高涨,相信也有很多同学都已经接触过或者正在接触UE4了。正常的贴花也是以单一方向进行映射的。使用的地方也相对比较局限。

那么要怎么才能做出三维映射的贴花呢?下面我就分享给大家。

一.效果对比



如何将UE4中的贴花做出三维映射的效果



二制作方法

1. 首先我们需要把拉伸的X轴和Y轴都需要进行映射。当然Z轴也需要映射。这样就变成了一个三维的映射。

2. 我们需要创建一个节点“绝对世界位置”(WorldPosition)



如何将UE4中的贴花做出三维映射的效果



3.我们用“Mask”节点把“RG”“GB”“RB”同道单独分出来



如何将UE4中的贴花做出三维映射的效果



3.1.我们测试下“RG”同道的映射方向为Z轴方向。

①连接方式

注:因为这样用Mask提取出来的UV数值是非常大的。通常UV数值越大UV越小越密集。所以我们需要除法把UV变的大些。



如何将UE4中的贴花做出三维映射的效果



②映射方向为Z轴



如何将UE4中的贴花做出三维映射的效果



3.2..我们测试下“GB”同道的映射方向为X轴方向。



如何将UE4中的贴花做出三维映射的效果



3.3..我们测试下“RB”同道的映射方向为Y轴方向。



如何将UE4中的贴花做出三维映射的效果



3.4总结:大家有没有发现,映射的轴向刚好是没有提取出来的轴向。简单说提取出来的通道就是剔除的通道,不会进行映射。

例如:连接RG通道,就是红绿通道。

R通道为红通道对应坐标轴的X轴,因为X轴也是红色。

G通道为绿通道对应坐标轴的Y轴,因为Y轴也是绿色。

映射的Z轴为蓝通道就是B通道。

所以,我们连接的通道刚好就是剔除的轴向,没有连接到的就是映射上的轴向。

4.我们使用“场景法线节点”(SceneTextur)连接绝对值“Abs”在连接就近整数节点“Round”。这样我们就可以得到空间信息了。



如何将UE4中的贴花做出三维映射的效果



5.我们这样先连接下,这样就得到了RGB投射的位置信息。



如何将UE4中的贴花做出三维映射的效果



6.我们加入“Lerp”用红绿蓝的颜色来模拟投射的位置



如何将UE4中的贴花做出三维映射的效果



7.这样我们就可以根据贴图方位来替换连接上面的“绝对坐标位置”

根据上面说的剔除原理。

红色为Z轴方向。Z轴为剔除通道。那么需要连接的就是RG通道

蓝色为Y轴方向。Y轴为剔除通道。那么需要连接的就是GB通道

绿色为X轴方向。X轴为剔除通道。那么需要连接的就是RB通道

注:加入除法跟上面的一样,是为了把UV数值降低,从而放大UV。



如何将UE4中的贴花做出三维映射的效果



8.保存后效果



如何将UE4中的贴花做出三维映射的效果



9.但是如果绕道模型后面就会发现,模型背后没有被投射上去。

其实这个不是没有投射上,上因为北面处在阴影处。从而不进行显示。



如何将UE4中的贴花做出三维映射的效果



10.解决方法一,背后补光。



如何将UE4中的贴花做出三维映射的效果



10.2解决方法二,加入自发光。



如何将UE4中的贴花做出三维映射的效果



11.这样我们就有一个三面映射的贴花啦。而且你可以随便转动模型。



如何将UE4中的贴花做出三维映射的效果



总结:三面映射方法有优点也有缺点,具体可以根据你的制作需求来确定使用哪种方式。

优点:三面映射,可以适应地方,例如特效,立体场景。直接用于远景贴图投射。

缺点:1.因为是使用场景法线来获取的投射方位,所以映射是无法使用法线的。

2.这种映射方法只适应与方体,球体和圆柱体并不适用。