UNITY简单传送效果的实现

在做项目的时候,想到要做一个简单的传送效果,大概类似于下图
在这里插入图片描述
简单的来说,效果可分为两个部分:

shader部分
代码部分

这种渐变的效果是通过动态改变材质颜色的透明度来实现的,所以需要的一个关键就是shader的渲染队列必须为Transparent,代码如下:

Tags{ "Queue" = "Transparent"  }

在unity面板上就是材质的_MainColor
在这里插入图片描述
知道以上的关键之后,代码的实现就比较简单了

GetComponent<Renderer>().material.color//获取材质的主颜色

由于材质颜色的透明度的只读的,所以我们只能通过修改颜色来达到修改透明度的效果,颜色的修改可以通过插值来做

Name.GetComponent<Renderer>().material.color = Color.Lerp(Name.GetComponent<Renderer>().material.color, new Color(1, 1, 1, 1), Time.deltaTime * Speed);

最后自己设定好触发的机制就可以了~

发布了8 篇原创文章 · 获赞 16 · 访问量 5731

猜你喜欢

转载自blog.csdn.net/JJJJJJJJJerry/article/details/90546983