先上效果
最开始的思路上是想通过一张贴图来做Mask遮罩,然后移动这张图来实现擦除效果.要做贴图就要有UV.
在开始动手后,才发现Text Mesh的UV几乎是乱序的.也就是不能使用字体的默认UV去映射Mask.见下图.
既然默认的不能用,咋整,就创建一个新的UV来映射Mask吧.
U和V考虑的是不同的创建方法:
U = lerp(0, 0.3 , i.posWorld.x+_EraseTex_ST.z) *_EraseTex_ST.x
通过顶点的世界坐标,再以2个参数配置调出U的Tiling和offset.
V的思路比较麻烦,因为文字其实总共有三行,U很粗暴的把三行文字的位置和缩放一次对齐配置了.但每行字的高度不同就不能简单的用世界高度坐标来做.所以经过漫长的思考是这么做的
i.posWorld.y-i.objPos.y