神奇的粒子海洋参考链接:
http://www.manew.com/thread-47123-1-1.html
当时我看到神奇的粒子海洋的效果的时候,真的很惊讶,觉得效果超级好。
根据参考链接,简单介绍我们要实现的内容:
1.创建粒子系统和数组(因为粒子海洋是多个粒子构成的)
2.分配粒子位置并创建柏林噪声
3.使所有元素能很好地流畅的循环运动
4.设置颜色
开始啦!
新建游戏对象并将它放在原点。这是粒子海洋的基准点。接下来创建一个C#脚本并命名为ParticleSea ,把脚本拖给这个对象。然后通过点击Components->Effects->Particle System给我们的对象添加Particle System组件。
那么刚刚创建完Particle System之后就可能出现一个非常尴尬的坑,当时我没发现这个坑,问了老师才知道的QAQ。
我们用Default-Particle就好了
如果你加了Particle System之后的效果是这样:
那么说明你没有给粒子的material属性设置具体material,它那个时候为null。
老师上课的时候说,我们仿制别人的粒子系统或者自己调试粒子系统,从底向上的顺序配置有助于了解效果,因为假如你不设置Renderer属性的Material,像上面说的,只能看到粉红色的粒子,那么你改变很多具体其他属性,不能够很好的反映在Scene、Game等场景中,那么等到你改变了很多属性之后,才修改Material,结果发现效果和自己预想的大相径庭,这时候很可能找不出哪一个属性没设置好了。所以从底向上配置,能够在每一步配置后都看到相应变化,这样才是好的设计方法,提高效率。
我们可以在Scene场景中观看粒子特效,通过Particle Effect来控制粒子特效的开始和停止,设置粒子个数等参数。
有一个属性,循环(Looping):粒子系统是否循环,如果不勾选,在Scene中观看的粒子特效只会播放一次。
根据参考教程,除粒子系统外还要为粒子创建一个数组。因为我们是粒子海洋,所以需要很多个粒子,所以创建数组。打开刚刚创建的ParticleSea脚本并粘贴以下代码。
不要用注释掉的代码,因为particleSystem.maxParticles已经过时了。
其实联想到我们之前学习U3d经常遇见的一个过时的就是获取组件的函数,应该用Getcomponent<>来获取组件。
using UnityEngine;
using System.Collections;