简单的将Particle System 的参数在Inspector上进行修改就能实现,火焰,爆炸,等这种于一中心点进行线性播放的粒子特效,效果图和参数图如下:
爆炸:

火焰(因为没有太匹配的火焰材质这里用心形图片来代替实现火焰颜色的上升大小的变化):

对于一些需要粒子进行特殊排布的粒子特效我们就需要进行代码编写来进行规律排布了。
例如:圆形彩光圈的实现流程。
首先创建Particle System,进行一些必要设置(例如:是否循环播放之类的),
粒子的产生就用代码控制,控制的本质就是位置(也就是旋转角度和旋转半径)

代码直接奉上:

using UnityEngine;
using System.Collections;public class particleSettings
{public float angle { get; set; }public float radius { get; set; }public float speed { get; set; }public particleSettings(float r){this.radius = r;this.angle = Random.value * 2 * Mathf.PI;this.speed = Random.value * Mathf.Sqrt(radius);}public Vector3 getPosition(){return radius * new Vector3(Mathf.Cos(angle), 0, Mathf.Sin(angle));}public void rotate(){this.angle += Time.deltaTime * speed / 10;if (this.angle > 2 * Mathf.PI)this.angle -= 2 * Mathf.PI;this.radius += Random.value * 0.2f - 0.1f;if (this.radius > ParticleSea.MaxRadius)this.radius = ParticleSea.MaxRadius;if (this.radius < ParticleSea.MinRadius)this.radius = ParticleSea.MinRadius;}
}
using UnityEngine;
using System.Collections;
public class ParticleSea : MonoBehaviour
{public new ParticleSystem particleSystem;private ParticleSystem.Particle[] particlesArray;private particleSettings[] psetting;public int seaResolution = 25;public static float MaxRadius = 120f;public static float MinRadius = 50f;public float radius = 100.0f;public Gradient colorGradient;void Start(){particlesArray = new ParticleSystem.Particle[seaResolution * seaResolution];psetting = new particleSettings[seaResolution * seaResolution];particleSystem.maxParticles = seaResolution * seaResolution;particleSystem.Emit(seaResolution * seaResolution);particleSystem.GetParticles(particlesArray);setInitialPosition();}void Update(){RotateParticles();changeColor();particleSystem.SetParticles(particlesArray, particlesArray.Length);}//控制粒子旋转void RotateParticles(){for (int i = 0; i < seaResolution; i++){for (int j = 0; j < seaResolution; j++){psetting[i * seaResolution + j].rotate();particlesArray[i * seaResolution + j].position = psetting[i * seaResolution + j].getPosition();}}}void setInitialPosition(){for (int i = 0; i < seaResolution; i++){for (int j = 0; j < seaResolution; j++){psetting[i * seaResolution + j] = new particleSettings(radius);particlesArray[i * seaResolution + j].position = psetting[i * seaResolution + j].getPosition();}}particleSystem.SetParticles(particlesArray, particlesArray.Length);}void changeColor(){for (int i = 0; i < seaResolution; i++){for (int j = 0; j < seaResolution; j++){float value = (Time.realtimeSinceStartup - Mathf.Floor(Time.realtimeSinceStartup));value += psetting[i * seaResolution + j].angle / 2 / Mathf.PI;while (value > 1)value--;particlesArray[i * seaResolution + j].color = colorGradient.Evaluate(value);//particlesArray [i * seaResolution + j].color = colorGradient.Evaluate (Random.value);}}}
}

效果图如下:

Unity_粒子特效相关推荐

  1. Unity_粒子特效_序列帧

    由上一篇中不难看出,简单的粒子特效就是对产生的粒子进行材质的更换以及颜色的间断变化,由此我们可以发挥想象如果对材质进行规律替换是否可以实现更绚丽的粒子特效呢? 先展示特效效果: 配置信息以及序列动画材 ...

  2. 【IOS-COCOS2D游戏开发之十】添加粒子系统特效并解决粒子特效与LAYER之间的坐标问题;...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/472.html ...

  3. Shader相关Mask裁切UI粒子特效或者3D模型

    转载自:http://www.xuanyusong.com/archives/3518 原理就是把Mask的裁切区域传给粒子特效Shader,当超出这个区域那么直接让它完全透明即可.粒子特效的源生sh ...

  4. Silverlight 解谜游戏 之四 粒子特效

    前几篇一直在Blend中工作没体现出开发者的作用,本篇将为订书器(Stapler)添加自定义粒子效果,当订书器被点击时产生更好的视觉效果.其中将使用到nerdplusart 的Silverlight ...

  5. yanobox nodes 3 Mac新一代点线粒子特效运动图形插件

    Yanobox Nodes 3.0.3 for Mac版是一款适用于Mac操作系统的粒子特效插件,可直接使用于fcpx和ae软件.打开Final Cut Pro X,在已经安装好的[发生器]中,你会看 ...

  6. 使用particles.js实现网页背景粒子特效

    得知途径 B3log提供了两套博客系统,一个是用Java开发的,叫做Solo,我也是在网上搜索Java博客系统时发现了它,之后才了解了B3log:还有一个是用Go语言开发的,叫做Pipe.其中Solo ...

  7. 看教程学虚幻四——粒子特效之魔法阵

    粒子特效之魔法阵  上一篇我们已经跟随教程简单了解粒子特效,同时我们制作出一个和教程一样的大佬尿尿动画,如果你全看了并且是自己跟着做了一遍,那这个粒子魔法阵基本也是小case.开始吧! 准备点图片[手 ...

  8. Unity ParticleSystem 之 简单的电子自旋 Electrons ParticleSystem 粒子特效

    Unity ParticleSystem 之 简单的电子自旋 Electrons ParticleSystem 粒子特效 目录 Unity ParticleSystem 之 简单的电子自旋 Elect ...

  9. Android OpenGL ES 3.0 粒子特效

    1.粒子特效 粒子特效:Particles Effect,粒子特效本质上是通过一次或者多次渲染绘制出大量位置.形状或者颜色不同的物体(粒子),形成大量粒子运动的视觉效果.所以,粒子特效天然适合用Ope ...

最新文章

  1. Flex/Silverlight的技术比较转
  2. ajax请求的步骤,ajax请求的五个步骤
  3. VS2019中在源文件中如何使用自己写的头文件(保姆级教程)
  4. Flask框架(flask中的数据库SQLAlchemy(python3),配置、模型类、创建表)
  5. Three Strings CodeForces - 1301A
  6. 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换
  7. tess4j 注意事项
  8. 信息学奥赛C++语言: 统计闰年
  9. 7-10 求数字个数 (20 分)
  10. 简单介绍分析一下JSP所生成的Servlet代码
  11. IE下打开ClearType后透明字体问题解决
  12. 清除博科光纤交换机所有配置信息
  13. Cortex-M0和Cortex-M0+的异常类型
  14. CSS3重复渐变(线性和径向渐变)
  15. 马云为何学计算机,IT大佬高考:李彦宏是状元 马云数学仅1分
  16. APISpace 二维码生成器API
  17. 在线生成ascii字符画网站字符图案在线生成工具
  18. 7-55 查询水果价格 (15分)
  19. 深度学习基础-经典模型总结
  20. 五笔字典序列编码(腾讯面试)

热门文章

  1. 货币金融学(1): 货币/ 信用/ 金融机构
  2. java迭代法求圆周率用梯形_常用的圆周率计算公式
  3. 基于jws发布webservice服务
  4. 专业范儿的图表,打造专业范儿的技术人PPT
  5. 阿里云域名解析和记录值
  6. / ./ ../的区别
  7. 电脑可以连接别的手机热点,唯独连接不上某个手机热点怎么办法?
  8. 唯美雪景雪花飘落代码,附效果演示
  9. 深入浅出SpringBoot的核心原理
  10. 上海莉莉丝、米哈游、B站、小红书、得物等互联网公司前端面试总结