纳金网
标题:
unity开发经验之用材质贴图模拟流体特效
[打印本页]
作者:
铁锹
时间:
2018-11-24 16:57
标题:
unity开发经验之用材质贴图模拟流体特效
如果我们没有流体插件的时候怎么办,非商业项目不一定要花钱是吧,也不想自己写,
所以 ltheonel 就来个调皮的用材质贴图模拟流体特效:
鸣谢作者:ltheonel
前两天做项目时(unity版本5.3),被一个水泥的流体特效难着了,找了好几个插件,调出的效果都不理想,还花费了好多时间。最后解决的方法是调材质贴图,利用材质贴图的帧动画实现。
2018-11-24 16:54 上传
下载附件
(349.34 KB)
我使用了240张贴图,实现的动画挺不错的,接下来说下怎么实现:
首先添加一个新版粒子特效,start Speed设置为0,在Render中render Mode设为Mesh,mesh设为Plane(也可以弄成自己的片型形状),接下来就是材质了。
调材质材质shader为默认rendering Mode调为 CutOut 贴图那里为第一张贴图(其实无所谓),然后用代码实现材质贴图的帧动画,我的做法是把所有图片都加载进来然后每隔0.04s改变一帧(我用resources加载),接下来帧动画代码,挺简单的:
2018-11-24 16:54 上传
下载附件
(414.28 KB)
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
如果你也曾经 “调皮” 过,来分享一下~
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5