Unity特效渲染

Unity特效渲染

##1、 粒子系统数据库

++1.1、粒子系统概述编程

++++粒子系统是Unity3.5版本新推出的粒子系统,它采用模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创造出各类缤纷复杂的粒子效果。设计模式

++++粒子在Unity中是用来制造烟雾,蒸汽,火及其它气体的效果。粒子在三维空间中渲染的二维图像,粒子系统经过屡次使用一或两个纹理并屡次绘制它们,以创造一个混沌的效果。网络

++++Unity中一个典型的粒子系统是一个对象,它包含了一个粒子发射器,一个粒子动画和一个粒子渲染器。粒子发射器产生粒子,粒子动画器则随时间移动粒子,粒子渲染器则将它们渲染到屏幕中。dom

++1.2、建立粒子系统编辑器

++++首先在层级视图当中建立空白对象,而后给其添加组件【Component=>Effects=>Particle System】,粒子系统的属性面板如图所示:ide


++1.3、初始化模块模块化

++++此模块为固有模块,不可删除或者禁用。该模块定义了粒子初始化时的持续时间、循环方式、发射速度、大小等一些列基本的参数。oop


++++Duration(粒子持续时间): 粒子系统的周期。学习

++++Looping(粒子循环): 粒子发射是否循环,一个周期接着一个周期。

++++Prewarm(粒子预热): 粒子是否预热,开始播放的时候为一个周期以后的状态。

++++Start Delay(粒子开始延迟): 游戏开始运行起来多久后才发射粒子。在开启粒子预热时没法使用此项。

++++Start LifeTime(生命周期): 粒子的存活时间。

++++Start Speed(初始速度): 粒子发射时的速度。

++++Start Size(粒子初始大小) :粒子发射时的初始大小。

++++Start Rotation(初始旋转): 粒子发射时的旋转角度。

++++Start Color(初始颜色): 粒子发射时的初始颜色。

++++Gravity Multiplier(重力倍增系数): 修改重力值会影响到粒子发射时所受到的重力影响。

++++Inherit Velocity(粒子速度继承): 对于运动中的粒子系统,将其移动速度应用到新生产的粒子上。

++++Simulation Space(模拟坐标系): 粒子系统的坐标是世界坐标仍是自己坐标。

++++Play On Awake(唤醒时播放): 开始此项系统在游戏运行时会自动播放粒子。

++++Max Particles(最大粒子数): 粒子系统发射粒子的最大数量。

++++在每一个参数后面都有一个箭头,点击后会出现如右图弹框:

--Constant :设定一个具体数值。

--Curve :利用曲线编辑器设定数值。

--Random Between Two Constants :在两个数值之间随机选择一个数值,可以让粒子效果更加真实。

--Random Between Two Curves :在两条曲线之间的范围随机选择一个数值。


++1.4、发射模块

++++控制粒子的发射速率,在粒子持续时间内,可实现某个特定时间生成大量粒子的效果,可模拟爆炸效果生成一大堆的粒子。


++++Rate over Time :每秒发射多少粒子。

++++Rate over Distance :每一个距离单位发射多少粒子。

++++Bursts :粒子爆发,在粒子持续时间内的指定时刻额外增长大量的粒子。

++1.5、形状模块

++++定义粒子发射器的形状,可提供沿形状表面法线或随机方向的初始力,并控制粒子的发射位置以及方向。


++++Shape :粒子发射器的形状。

++++Emit from : 粒子从粒子何处发射出来。

++++Randomize Direction : 粒子是在随机方向仍是沿着球体表面法线方向发射。

++++Align To Direction : 将粒子按其速度方向对齐。

++++Spherize Direction : 球面方向。

++1.6、生命周期模块

++++生命周期内每个粒子的速度,对有着物理行为的粒子效果更明显。对应哪些与物理世界几乎没有互动行为,该模块做用不大。


++++X,Y,Z :调节粒子在xyz方向的速度。

++++Space : 本地坐标系仍是世界坐标系。

++1.7、生命周期速度限制模块

++++控制粒子在生命周期内速度限制以及速度衰减,能够模拟相似拖动的效果。若是粒子速度超过设定值,则粒子速度会被限制在设定值。

 

++++Separate Axes : 分离轴,控制每一个坐标轴向上的速度。

++++Speed : 能够经过常量值或曲线来限定全部方向轴的速度。

++++Dampen : 速度衰减时的阻尼系数(取值范围为0-1

++1.8、受力模块

++++控制粒子在生命周期内的受力状况。

 

++++X,Y,Z :使用常量或曲线来控制做用于粒子不一样轴向上的受力状况。

++++Space : 受力轴向参考的坐标系。Local表示本地坐标系,World表示世界坐标系。

++++Randomize : 每帧做用在粒子上面的力都是随机的。

++1.9、生命周期颜色模块

++++控制粒子在生命周期内的颜色。粒子存活的时间越短变化得越快。

 

++++Color : 生命周期内的颜色变换。

--Gradient : 表示粒子颜色在生命周期内按照颜色渐变条进行变换。

--Random Between Two Gradients : 表示粒子颜色在生命周期内按照两条颜色渐变条中任意一个值。

++1.10、颜色速度模块

++++该模块控制粒子在生命周期内根据速度的变化而变化。

 

++++Color : 用于指定的颜色,能够使用渐变色来指定各类颜色。

++++Speed Range minmax值用于定义颜色范围。

++1.11、大小速度模块

++++该模块控制粒子在生命周期内的大小随着速度的变化而变化。

 

++++Separate Axes : 生命周期内控制每个轴向上的大小。

++++Size : 能够经过曲线,两个数值之间的随机值或两条曲线之间随机值来控制粒子生命周期内的大小变化。

++++Speed Range minmax能够用来定义速度大小范围。

++1.12、生命周期旋转模块

++++该模块控制粒子在生命周期内的旋转。

 

++++Separate Axes : 分离轴向上每个轴向上的旋转角度。

++++Angular Velocity : 旋转的角速度。

++1.13、旋转速度模块

++++该模块控制粒子在生命周期内的旋转随着速度的变化而变化。

 

++++Separate Axes :分离轴向上每个轴向上的旋转角度。

++++Angular Velocity : 旋转的角速度。

++++Speed Range : 生命周期内的速度范围。

++1.14、外部做用力模块

++++该模块控制粒子在生命周期内受到的外部做用力。

 

++++Multiplier : 此模块可控制风域的倍增系数。

++1.15、碰撞模块

++++碰撞模块能够为每颗粒子创建碰撞效果,目前只支持平面碰撞,该碰撞对于简单的碰撞检测效率很是高。

 

++++Planes :指定的引用,若是做为多个面被引用,Y轴为平面法线。

++++Dampen : 碰撞的阻尼系数。

++++Bounce : 碰撞的反弹系数。

++++Lifetime Loss : 每次碰撞以后生命减弱的比例,0表明碰撞后粒子正常死亡,1表明碰撞后当即死亡。

++++Min/Max Kill Speed :最小/最大清除速度。

++++Radius Scale :半径比例,用于调整粒子碰撞球体的半径。

++++Send Collision Message : 发送碰撞信息,跟该方法有关void OnParticleCollision(GameObject other)

++1.16、触发模块

++++碰撞模块能够为每颗粒子创建碰撞效果,目前只支持平面碰撞,该碰撞对于简单的碰撞检测效果很是高。

 

++++Colliders : 指定引用的触发器。

++++Inside : 粒子触发器内部作如何处理。

++++Outside : 粒子触发器外部如何处理。

++++Enter : 刚进入粒子触发器作如何处理。

++++Radius Scale : 触发器半径比例。

++++Visualize Bounds : 是否显示粒子碰撞体。

++1.17、子发射器模块

++++此模块能够控制粒子在出生,消亡,碰撞等三个时刻生成其余粒子。

 

++++Birth : 粒子在出生的时刻生成其余粒子,可选择继承颜色,尺寸,旋转。

++++Collision : 粒子在碰撞的时刻生成其余粒子,一样可选择继承颜色,大小,旋转。

++++Death : 粒子在消亡的时刻生成其余粒子,一样可选择继承颜色,大小,旋转。

++1.18、序列帧动画纹理模块

++++此模块能够对粒子在其生命周期内的UV坐标产生变化,生成粒子的UV动画。

 

++++Tiles : 定义纹理的平铺。

++++Animation : 指定动画类型。

++++Frame over Time : 时间帧。

++++Start Frame : 从第几帧开始。

++++Cycles : 周期,指的是动画速度。

++++Enable UV Channels : 使能UV通道。

++1.19、灯光模块

++++此模块能够对粒子在其生命周期内的UV坐标产生变化,生成粒子的UV动画。

 

++++Light : 引用的灯光。

++++Ratio : 比例。

++++Random Distribution : 是否随机分配。

++++Use Affects Range : 尺寸是否影响范围。

++++Size Affects Range : 尺寸是否影响范围。

++++Alpha Affects Intensity alpha通道是否影响光照强度。

++++Range Multiplier : 范围系数。

++++Intensity Multiplier : 光照系数。

++++Maximum Lights : 最大灯光数。

++++Sorting Layer : 属于哪一层。

++++Order in Layer : 在layer层当中的顺序。

++++Light probes : 灯光探测器。

++++Reflection Probes : 反射探针模式。

++++Anchor Override : 定位替代。


##2、 拖尾渲染

++2.1、拖尾效果预览

++++如图所示,在游戏或动画当中常常能够看到拖尾效果,好比小球飞速运动,飞机引擎尾气等等,在Unity当中,使用拖尾渲染器能够制做跟在场景中的物体后面的拖尾效果来代替它们处处移动。

++2.2TrailRenderer

++++拖尾渲染组件属于特效当中的一种,给一个物体添加拖尾渲染组件的方式如图:



++++Cast Shadows : 是否投射阴影。

++++Reveive Shadows : 是否接收阴影。

++++Motion Vectors : 运动矢量。

++++Time : 拖尾特效的存活时间。

++++Min Vertex Distance : 最小顶点距离。

++++Autodestruct : 拖尾渲染器的GameObject是否自动销毁。

++++Width : 拖尾的宽度。

++++Color : 拖尾特效的颜色。

++++Corner Vertices : 角顶点的数量。

++++End Cap Vertices : 后顶点的数量。

++++Alignment : 对齐方式。

++++Texture Mode : 贴图模式。

++++Light Probes : 光探测器的状态。

++++Reflection Probes : 反射探测器的状态。


##3、 线性渲染

++3.1、线性效果预览

++++线性效果在Unity当中一般用于在场景当中渲染射线,或者在屏幕当中实现划线功能,线性渲染常常应用于制做游戏当中的激光效果。


++3.2LineRenderer


++++Cast Shadows :是否投射阴影。

++++Receive Shadows : 是否接受阴影。

++++Motion Vectors : 运动矢量。

++++Positions : 线条的顶点位置。

++++use World Space : 是否使用世界坐标系。

++++Width : 宽度。

++++Color : 特效的颜色。

++++Corner Vertices : 角顶点的数量。

++++End Cap Vertices : 后顶点的数量。

++++Alignment : 线性渲染的材质。

++++Texture Mode : 应用的贴图模式。

++++Light Probes : 光探测器状态。

++++Reflection Probes : 反射探测器状态。

++3.3LineRenderer经常使用方法

++++SetColors : 设置颜色。

++++SetPosition : 设置点的位置。

++++SetVertexCount : 设置顶点个数。

++++SetWidth : 设置线性特效的宽度。



#立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++立钻哥哥推荐的拓展学习连接(Link_Url

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++Unity引擎基础http://www.noobyard.com/article/p-ggcuedyq-ka.html

++++Unity面向组件开发http://www.noobyard.com/article/p-eiunlkzw-dt.html

++++Unity物理系统http://www.noobyard.com/article/p-mcqnwufb-kd.html

++++Unity2D平台开发http://www.noobyard.com/article/p-brjbvtac-hs.html

++++UGUI基础http://www.noobyard.com/article/p-nvzrvath-mc.html

++++UGUI进阶http://www.noobyard.com/article/p-tpspjolu-gt.html

++++UGUI综合http://www.noobyard.com/article/p-nfgrebqx-gg.html

++++Unity动画系统基础http://www.noobyard.com/article/p-otjpnbzz-dq.html

++++Unity动画系统进阶http://www.noobyard.com/article/p-hxghrtgb-bp.html

++++Navigation导航系统http://www.noobyard.com/article/p-skpvrobt-t.html

++++Unity特效渲染http://www.noobyard.com/article/p-sudpqrhk-bp.html

++++Unity数据存储http://www.noobyard.com/article/p-ybvcceul-m.html

++++Unity中Sqlite数据库http://www.noobyard.com/article/p-vxpuqxev-ca.html

++++WWW类和协程http://www.noobyard.com/article/p-alggjlwu-cy.html

++++Unity网络http://www.noobyard.com/article/p-bjvfgzwg-dw.html

++++C#事件http://www.noobyard.com/article/p-dietpjzv-gm.html

++++C#委托http://www.noobyard.com/article/p-oiohmxtc-gh.html

++++C#集合http://www.noobyard.com/article/p-vdfpislb-ex.html

++++C#泛型http://www.noobyard.com/article/p-vujvnprk-ee.html

++++C#接口http://www.noobyard.com/article/p-emexlwmu-dm.html

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类http://www.noobyard.com/article/p-uchiaxzw-cq.html

++++C#数据类型http://www.noobyard.com/article/p-kqtbvoyq-ba.html

++++Unity3D默认的快捷键http://www.noobyard.com/article/p-gbllyjbs-s.html

++++游戏相关缩写http://www.noobyard.com/article/p-pzpxsztf-gm.html

++++设计模式简单整理http://www.noobyard.com/article/p-scmbzocc-hg.html

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++UML类图http://www.noobyard.com/article/p-aakurcwi-bm.html

++++Unity知识点0001http://www.noobyard.com/article/p-bqmetnys-ep.html

++++U3D_Shader编程(第一篇:快速入门篇)http://www.noobyard.com/article/p-ptwlpwbc-gz.html

++++U3D_Shader编程(第二篇:基础夯实篇)http://www.noobyard.com/article/p-dadqpvvp-hv.html

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/


--_--VRunSoft : Lovezuanzuan--_--