UNITY简单传送效果的实现

    xiaoxiao2023-10-19  170

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

    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);

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

    最新回复(0)