unity开发经验之用材质贴图模拟流体特效

前两天做项目时(unity版本5.3),被一个水泥的流体特效难着了,找了好几个插件,调出的效果都不理想,还花费了好多时间。最后解决的方法是调材质贴图,利用材质贴图的帧动画实现。


我使用了240张贴图,实现的动画挺不错的,接下来说下怎么实现:

首先添加一个新版粒子特效,start Speed设置为0,在Render中render Mode设为Mesh,mesh设为Plane(也可以弄成自己的片型形状),接下来就是材质了。

调材质材质shader为默认rendering Mode调为  CutOut  贴图那里为第一张贴图(其实无所谓),然后用代码实现材质贴图的帧动画,我的做法是把所有图片都加载进来然后每隔0.04s改变一帧(我用resources加载),接下来帧动画代码,挺简单的:


cementEffect.mainTexture = centerTextures[num];
        interVal -= Time.deltaTime;
        if (interVal <= 0)
        {
            if (num >= centerTextures.Length - 1)
            {
                StartCoroutine(WiatForSeconds(1, UIName.UISceneDefault));
                return;
            }
            num++;
            interVal = 0.04f;
        }

ps:cementEffect为材质,centerTextures为存储图片的数组,num开始时为0

ps2:动画实现用InvokeRepeating也行,再在判断里CancleInvoke


评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值