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、为了把擦除的隐藏,我们可以使用擦除的选区来做一下不透明度。

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

相关推荐
王源骏2 天前
使用反转法线材质球,实现切换天空盒相同的功能,优点:包体变小
材质
Thomas_YXQ4 天前
Unity3D RectTransform.rect属性详解
unity·编辑器·游戏引擎·材质
梨轻巧5 天前
Maya绑定:渲染编辑器Hypershade简单使用,给小球添加材质纹理
材质·maya
vonlycn8 天前
UE5 性能优化(1) 模型合并,材质合并
ue5·材质
小江村儿的文杰10 天前
UE4 UAT 的六大流程 build cook stage pacakge archive deploy 与UAT的参数
ue4
小江村儿的文杰10 天前
UE4 Rider调试时添加自定义命令行参数
ue4
小江村儿的文杰12 天前
UE4 Mac构建编译报错 no template named “is_void_v” in namespace “std”
macos·ue4
小江村儿的文杰12 天前
理解UE4中C++17的...符号及enable_if_t的用法及SFINAE思想
数据结构·c++·ue4
小江村儿的文杰12 天前
UE4 Mac构建编译报错 no member named “disjunction” in namespace “std”
ue4
小江村儿的文杰13 天前
UE4 Rider如何直接调试PC DebugGame
ue4