UE4_材质_世界场景位置偏移_角色擦除效果

一、粗糙效果展示:

二、擦除效果制作步骤:

1、拖拽角色到场景中,新建材质,赋予角色。

2、通过世界场景位置偏移来做擦掉的效果。

通过材质来操纵网格体顶点的偏移,物体的坐标原点没变,但是网格体已经按照顶点在世界场景中的位置按照相反的方向归到(0,0,0)了。

3、我们来验证一下一个方向上的归0,如图:

看见地上被拍扁的角色了吗?。为了能看清楚,我移动下地面。如图:

有兴趣的同学可以在其它两个方向上尝试一下.

4、为了擦除效果有过渡,我们首先来回顾下spheremark球体遮罩。

球体遮罩(SphereMask) 表达式根据距离计算来输出遮罩值。如果某一个输出是某个点的位置,而另一输入是具有某半径的球体的中心,那么遮罩值将是0(位于球体外部)和1(位于球体内部),并存在一定的过渡区域。此表达式可作用于单分量、双分量、三分量和四分量向量。

项目 说明
属性
衰减半径(Attenuation Radius) 指定用于距离计算的半径。
硬度百分比(Hardness Percent) 指定过渡区域大小。此项目类似于Photoshop的笔刷硬度值。0表示硬过渡,100表示最大化过渡区域(软过渡)。
输入
A 接收一个值,该值代表要检查的点的位置。
B 接收一个值,该值代表球体中心。

5、尝试使用下spheremask。

为了能够调节参数观察效果,需要生成材质实例,重新赋予角色。调节参数,看下效果:

我们在角色身上就得到了一个变化的选区。

要注意的是这里的actor的位置不是网格体脚下的位置

实际上大家可以这样思考,actor位置是确定的,半径是确定的,那么哪些像素是发光的不就确定了吗?球内的为1,所以说离actor位置坐标的距离为wipeRadius的像素点都应该是球内的,都是发光的。

6、我们可以调整下选区的中心位置

只要让监测点actor位置在Z轴向上下降人体高度的一半就可以了。如图:

成功完成了选区的控制。

还有一种省事的调整选区中心的办法,感觉更好:

7、我们让选区控制擦除的范围

效果:

我们找了一个球放在原点,发现确实被擦除到了原点。

8、我们可以把(0,0,0)提升为变量用于控制擦除位置。

调整如下图:

效果如下图:

8、为了把擦除的隐藏,我们可以使用擦除的选区来做一下不透明度。

这里不透明度参数节点不可用,我们需要修改材质域为已遮罩。

相关推荐
RReality18 小时前
【Unity UGUI】Toggle / ToggleGroup 与 Dropdown
ui·unity·游戏引擎·图形渲染·材质
RReality2 天前
【Unity Shader URP】Matcap 材质捕捉实战教程
java·ui·unity·游戏引擎·图形渲染·材质
魔士于安2 天前
unity urp材质球大全
游戏·unity·游戏引擎·材质·贴图·模型
RReality3 天前
【Unity Shader URP】简易卡通着色(Simple Toon)实战教程
ui·unity·游戏引擎·图形渲染·材质
心前阳光7 天前
Unity之运行时标准材质半透明无效果
unity·游戏引擎·材质
小江村儿的文杰7 天前
解决Rider编译日志乱码的方法
ue4
星夜泊客8 天前
unity 海底海洋资源OceanEnviromentPackUrp材质丢失修正
unity·游戏引擎·材质
Yuk丶8 天前
UE4客户端开发技术问题汇总
面试·ue4·图形学·ue4客户端开发
邪修king10 天前
【UE4/UE5 萌新向】有C++基础如何快速入门虚幻引擎?超详细图文全揭秘!
c++·ue5·ue4
_李小白10 天前
【OSG学习笔记】Day 35: Material(材质)
笔记·学习·材质