粒子特效

粒子特效的原理是将若干粒子无规则的组合在一起。来模拟火焰,爆炸。水滴,雾气等效果。

要使用粒子特效首先要创建,在hierarchy视图中点击create——particle system就可以

粒子发射器

粒子发射器是用于设定粒子的发射属性,比方说粒子的大小,数量和速度等。在创建完粒子对象后。在右側inspector视图中便能够看到全部的粒子属性:

emit:是否是使用粒子发射器。

min size:粒子最小尺寸。

max size:粒子最大尺寸。

min energy:粒子的最小生命周期,单位秒,表示N秒后粒子消失。

max energy:粒子的最大生命周期,单位秒。表示N秒后粒子消失。

min emission:粒子每秒生成的最小数量。

max emission:粒子每秒生成的最大数量。

world velocity:粒子在3D世界中各轴的速度。

local velocity:粒子自身坐标系中各个轴的移动速度。

rnd velocity:各个轴粒子的随机速度。

emitter velocity scale:粒子继承发射的速度。

tangent velocity:粒子发射切线的速度。

angular velocity:粒子发射的角速度。

rnd angular velocity:粒子的随机角速度。

rnd rotation:粒子是否随机旋转。

simulate in worldspace:是否在世界坐标中模拟粒子。

one shot:选择后,粒子仅仅发送一次,否则粒子将连续发送。

ellipsoid:粒子产生的全部轴的位置。

min emitter range:设定粒子之间的间隙。

粒子动画

粒子动画用于设定粒子渲染中的动画效果,首先简单的介绍粒子动画中各个属性:

does animate color:是否开启粒子动画的颜色。颜色将依据自身的生命周期改变。

color animation[ n ]:设置动画渐变数组中的颜色。这个数组长5。也就是说粒子的颜色发生改变时,循环这5个颜色。

world rotation axis:粒子环绕世界坐标轴旋转。

local rotation axis:粒子环绕着本地空间轴旋转。

size grow:粒子成长的生命周期。

rnd force:粒子执行时。每经过一帧就在粒子上加一个随机的力。

force:粒子执行是,每经过一帧就在粒子上加一个固定的力。

damping:阻力,用于减慢粒子。

autodestruct:自己主动销毁粒子动画对象。

粒子渲染器

粒子渲染器主要用于粒子的渲染,如:渲染模式。粒子的缩放,粒子的尺寸等

cast shadows:是否投射粒子的阴影。

receive shadows:是否接受粒子的阴影。

materials:粒子显示的材质。

camera velocity scale:相机缩放的速度。

stretch particles:粒子的显示状态,如横向或纵向。

length scale:粒子缩放的长度。

velocity scale:粒子缩放的速度。

max particle size:粒子最大的尺寸。

uv animation:设置粒子动画水平方向上的数量与垂直方向上的数量以及播放贴图动画。

粒子效果实例

unity为粒子提供了非常不错的标准包。在project视图右键弹出import package——particles。导入粒子标准包,里面有非常多现成的粒子材质。

using UnityEngine;
using System.Collections; public class Script_06_11 : MonoBehaviour
{ //粒子对象
GameObject particle = null;
//粒子X轴方向速度
float velocity_x = 0.0f;
//粒子Y轴方向速度
float velocity_y = 0.0f;
//粒子Z轴方向速度
float velocity_z = 0.0f; void Start ()
{
//获得粒子对象
particle = GameObject.Find("ParticleSystem"); } void OnGUI()
{
//拖动设置粒子的最大尺寸
GUILayout.Label("粒子最大尺寸");
particle.particleEmitter.maxSize = GUILayout.HorizontalSlider (particle.particleEmitter.maxSize, 0.0f, 10.0f,GUILayout.Width(150)); //拖动设置粒子的最大消失时间
GUILayout.Label("粒子消失时间");
particle.particleEmitter.maxEnergy = GUILayout.HorizontalSlider (particle.particleEmitter.maxEnergy, 0.0f, 10.0f,GUILayout.Width(150)); //拖动设置粒子的最大生成数量
GUILayout.Label("粒子的最大生成数量");
particle.particleEmitter.maxEmission = GUILayout.HorizontalSlider (particle.particleEmitter.maxEmission, 0.0f, 100.0f,GUILayout.Width(150)); //拖动设置粒子X轴的移动速度
GUILayout.Label("粒子x轴的移动速度");
velocity_x= GUILayout.HorizontalSlider (velocity_x, 0.0f, 10.0f,GUILayout.Width(150));
particle.particleEmitter.worldVelocity = new Vector3(velocity_x, particle.particleEmitter.worldVelocity.y, particle.particleEmitter.worldVelocity.z); //拖动设置粒子Y轴的移动速度
GUILayout.Label("粒子y轴的移动速度");
velocity_y= GUILayout.HorizontalSlider (velocity_y, 0.0f, 10.0f,GUILayout.Width(150));
particle.particleEmitter.worldVelocity = new Vector3( particle.particleEmitter.worldVelocity.x,velocity_y, particle.particleEmitter.worldVelocity.z); //拖动设置粒子Z轴的移动速度
GUILayout.Label("粒子z轴的移动速度");
velocity_z= GUILayout.HorizontalSlider (velocity_z, 0.0f, 10.0f,GUILayout.Width(150));
particle.particleEmitter.worldVelocity = new Vector3( particle.particleEmitter.worldVelocity.x, particle.particleEmitter.worldVelocity.y,velocity_z); }
}

执行:

【Unity 3D】学习笔记四十二:粒子特效的更多相关文章

  1. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

  2. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  3. Binder学习笔记(十二)—— binder_transaction(...)都干了什么?

    binder_open(...)都干了什么? 在回答binder_transaction(...)之前,还有一些基础设施要去探究,比如binder_open(...),binder_mmap(...) ...

  4. Android学习笔记(十二)——实战:制作一个聊天界面

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...

  5. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  6. Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件

    上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...

  7. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. ASP.NET Core 2 学习笔记(十二)REST-Like API

    Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...

  9. 如鹏网学习笔记(十二)HTML5

    一.HTML5简介 HTML5是HTML语言第五次修改产生的新的HTML语言版本 改进主要包括: 增加新的HTML标签或者属性.新的CSS样式属性.新的JavaScript API等.同时删除了一些过 ...

随机推荐

  1. 解决NVidia显卡最大化和最小化窗口时的卡顿问题

    最近因为做一个3D的项目,换上了一块Nvidia的显卡.然而,在使用的过程中,发现最大化和最小化窗口时的动画有卡顿现象,并且一般出现一次后便不会再出现, 可是等一会又会出现同样问题. 我以前使用i7的 ...

  2. maven项目中的GroupId和ArtifactId分别是什么含义

    转自 创建maven项目是其中的group id和artifact id怎么填写 groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓 ...

  3. What is Mocking?

    Mocking is primarily used in unit testing. An object under test may have dependencies on other (comp ...

  4. Windows路由表配置:双网卡路由分流

    一.windows 路由表解释 route print - ====================================================================== ...

  5. c++类型所占的字节和表示范围

    一:数值类型的大杂烩 (1)short.int 和 long 类型都表示整型值.存储空间的大小不同 一般, short 类型为半个机器字长,int 类型为一个机器字长,而 long 类型为一个或两个机 ...

  6. JSP Response Set Status

    JSP Response Set Status In this tutorial you will learn about how to set the HTTP status code in JSP ...

  7. log4j教程 4、配置

    上一章介绍log4j的核心组件.本章介绍如何使用配置文件来配置这些核心组件.配置log4j涉及分配级别,定义追加程序,并在配置文件中指定布局的对象. log4j.properties文件是一个键 - ...

  8. 微信小程序 - 如何通过button按钮实现分享(转发)功能

    小程序官方API https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html#%E9%A1%B5% ...

  9. maven生成jar包

    改了部分cas源码,想重新生成jar包,只好试着脱离eclipse,学了一下maven打jar包的命令,记录如下: 1.首先下载maven (请注意自己的jdk版本,如果使用maven2建议使用jdk ...

  10. Nginx 限制单个IP的并发连接数及对每个连接速度(限速)

    使用Nginx限制单个IP的并发连接数能够减少一些采集程序或者DDOS的攻击. 再lnmp的nginx配置中已经添加了部分代码,但是是注释掉的,可以编辑/usr/local/nginx/conf/ng ...