位置: 编程技术 - 正文
推荐整理分享VectorField2D,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
这篇来说移植自Flash的2D向量场粒子效果
静态效果可能不太明显,动态效果就好多了,简单说就是有点像AE的粒子特效插件那种感觉了
视频演示
点击打开链接Unity工程创建,版本4.6.4f1,平台Windows 7 位,dx9版本新建两个Quad
一个命名为Canvas,设置如图
另一个命名为NoiseMap,设置如图
新建3个材质,其中两个为Unity3D的类型为Unlit/Texture的材质,分别叫MatNoise和MatCanvas,分别赋给相对名称的Quad对象
另一个材质命名为MatShaderImageFade,使用自定义的淡出shader,ImageFade
建立Resources目录,导入我们准备好的noise贴图属性同上节Read/Write Enable打勾,Non Power of 2 选择None,为了让效果更好建议用Flash的perlinnoise生成,当然你也可以在ps中手动画,然后注意在过度处模糊一下效果比较好
这张图乍一看完全不明白要搞什么飞机,实际上我们要把他的颜色信息作为方向向量,这样这张彩色的rgb图就成了一张3D的向量场图,但是我们这个例子只用他的2D信息,只要其中两个方向,我使用rg两个通道
实际向量场图类下面这张图
让我们把VectorField2D脚本先挂到相机上,设置如图,这里我们用x的分辨率
代码部分比较简单,初始化之后每帧调用更新粒子函数updateAllParticles。updateAllParticles遍历所有粒子,并且按粒子当前坐标位置找到对应noise贴图中像素,把这个相素转成加速度,注意0-是负,-是正,然后乘上一些缩放系数,更新粒子坐标,做一个屏幕wrap,超出屏幕的粒子会从另一边转回屏幕中
最后把粒子坐标写入一个canvasData这个Texture2D贴图中,也就是当前帧粒子的渲染图。
之后对canvasData做一个淡出效果shader只是不断的减弱透明度而已,略这时我们已经得到一个带有拖尾效果的向量场粒子效果了
此时效果还不是特别炫,想要更炫还要加些后处理特效,发挥你的想象,我这里给相机加了个Glow效果,参数设置如图
最后你可以根据自己机器配置调节粒子数量和Glow程度,我的笔记本大概能跑粒子,数量越多效果越好
工程下载
百度网盘,Unity3D>Experiment>VectorField2D
点击打开链接
【Unity3d】System.IO.FileInfo Create 和 Delte方法找不到错误 System.IO.FileInfoCreate和Delte方法找不到错误解决方法!今天写着写着,好端端的文件,突然冒出这么个错误,我的天!查了下MSDN,发现没错!最后发现是平
Unity3d NGUI的使用(九)(UIScrollView制作滑动列表) 转载自:UIScrollView制作滑动列表,可横向,竖直展示一些列表在固定可视范围内UIScrollVIew只是一个可滑动的UI组件如果需要制作复杂的可视区域UI需要配
NGUI之UIScrollView对齐 转载自:
标签: VectorField2D
本文链接地址:https://www.jiuchutong.com/biancheng/378720.html 转载请保留说明!上一篇:unity3d在线更新资源(2)(unity3d最新api)
下一篇:【Unity3d】System.IO.FileInfo Create 和 Delte方法找不到错误(unity system)
友情链接: 武汉网站建设