粒子系统 -- 专门做粒子特效的
1.通过粒子系统创建特效是制作特效比较常用的一种方法
创建粒子系统的步骤,effects(效果),particle system(粒子系统),particle system force field(粒子系统立场),trail(拖尾),line(线)
创建一个粒子系统之后,就会在场景中出现这个面板:
顶上三个分别是 暂停,重新开始和结束
接着下面从下往上分别是:回放速度,回放时间,粒子,速度范围,模拟层,重新模拟,显示边界,仅显示已选择
然后是重头戏 --- 创建一个粒子游戏物体后,这个游戏物体中除了基础的transform组件以外,还有一个最重要的组件 --- 粒子系统组件
duration : 持续时间 --- 整个粒子系统能够生成粒子的总时间,loop:循环播放
prewarm : 预热 --- 选中这个选项后,粒子生成时从无到最大生成数的这个过程将会被直接跳过,我们可以直接看到粒子达到最大生成数时的效果
start delay : 启动延迟 给这个设定参数a后,我们点击生成粒子的话将会在等待a秒后才开始生成粒子
start lifetime : 粒子声明周期 : 一个粒子从出现到消失这个过程的时间
start speed : 起始速度 : 粒子的移动速度
3d起始大小和3d起始旋转 : 这两个分别管理粒子的大小和旋转
这样的一个个粒子看似是个球体,其实只是一个个平面而已,只不过我们的视觉效果看起来像球
flip rotation : 翻转旋转 : 所谓的翻转旋转就是与正常的旋转方向相反,这个选项的参数范围是从0到1,当参数等于1的时候,100%的粒子旋转方向都与设定的旋转方向相反,等于0.5的时候就是50%
start clolor : 起始颜色 -- 每一个粒子的颜色
gravity modifier : 重力修改器,这个重力修改器的参数决定了粒子是否具有重力
simulation space : 模拟空间 : 每一个生成的粒子都可以看作是粒子系统游戏物体的子物体,如果模拟看见选择的是local的话,当我们移动粒子系统游戏物体时,粒子系统的生成的粒子会跟随父物体移动。
如果选择world(世界)的话,当我们移动粒子系统游戏物体时,粒子系统的生成的粒子不会跟随父物体移动。(customer(自定义)可以让我们自定义粒子的跟随等等,暂时不用管)
emission -- 发射
从上到下分别是随单位时间产生的粒子数和随单位距离产生的粒子数
bursts : 突发 -- 把粒子系统游戏物体添加到这的时候将会将粒子的生成方式从连续生成改为喷发的形式生成
bursts下面的参数从左往右分别是:时间,数量,周期,间隔,概率
粒子其实是从一个发射器中发射出来的,下面这个是发射器的原始形状,然后我们可以在参数列表中对这个形状进行修改
这个是粒子系统的渲染器参数,在这里我们可以去修改粒子系统的渲染模式和材质等等
线条与拖尾
如果要在游戏画面中画线的话,我们需要一个组件 --- 线段渲染器
画线步骤:1.创建一个空游戏物体,然后在它上面挂载线段渲染器组件
上面这个就是组件的所有参数设置了
从上往下分别是:
scene tools : 场景工具
simplify preview :简化浏览
tolerance:容差
simplify:简化
conner vertices : 角顶点
end cap vertices : 末端顶点
alignment:对齐(框框里的是View视图)
shadow bias:阴影偏离
generate lighting Data:生成照明数据
cast shadows : 投射阴影
receive shadows : 接受阴影
probes :探测器
additional setting :其他设置
motion vectors : 运动矢量
dynamic occlusion :动态遮挡
sorting layer : 排序图层
order in layer :图层顺序
我们挂载了线段渲染器组件的游戏物体会变成这样,此时我们需要在组件的material材质处为线段添加显示材质
然后通过线段渲染器生成的线段的位置是不能够通过transform组件来修改的,而是要通过渲染器自带的位置来设置
这里面是组成线段的点的坐标,目前是两个点组成一条线段,线段的起点是(0,0,0)终点是(0,0,1),而画下面这样的一条线段的画则需要两步:
1.在点位置处增加一个点 --- 因为这条线段由三个点来确定分别是
如果我们想让线段的顶角(拐角处)变得圆滑的话,我们可以调节 conner vertices : 角顶点这个参数,这个参数越大,线段的顶角处就越圆滑
如果想让线段的两个末端都变的圆滑的话,我们可以调节end cap vertices : 末端顶点 这个参数,同样,这个参数越大,末端的顶角处就越圆滑
如果我们想让线段的头部和尾部自动相连的话,我们可以勾选loop循环这个选项
场景工具中当我们选中第一个工具后,我们场景的线段就会将我们设置的线段节点显示出来(包括顶端点和末端点)
这些节点都是能够移动和拖拽的
选择+号之后,我们在场景中点一下就可以为线段直接添加一个节点
这个位置上下拖动就可以修改线的宽度,然后我们可以在这个宽度线条中添加一个key(节点),然后拖动key将线段的宽度变为逐渐变窄等等(这些细节到时可以上网搜)
除了上面一些列手动加点的操作之外,我们也可以通过写脚本的方式来实现自动加点
1.创建一个新的脚本,并将脚本挂载到 --- 挂载了线段渲染器的游戏物体上
2.在脚本中声明一个线段渲染器对象,并在获取当前游戏物体身上挂载的线段渲染器后赋值给我们声明的线段渲染器对象
上面这一行代码是在设置我们要画的线段的节点数(通过承接了线段渲染器的线段渲染器对象来调用这个属性)
(最少要有两个点,一个顶端点,一个末端点)
创建好的每个点都会被放在一个点数组中并被赋予默认坐标,如果我们要自己去设置这些点的坐标的话有两个设置方法:
第一个方法是一个点一个点设置,第二个方法是直接将一个数组的点都进行设置,这里我们选择第一种方法:
传两个参数 --- 第一个是我们要设置的点在点数组中的索引(从0,1,2...开始排起),第二个是我们要给点设置的坐标值
如何给一个游戏物体绘制拖尾呢?
拖尾效果也有对应的组件 -- 拖尾渲染器组件(trail render)
参数方面和线段渲染器很像
这几个是拖尾渲染器组件相对于线段渲染器组件的特有参数
拖尾会在游戏物体运动的时候自动生成
上面的第一个参数:时间:是指拖尾从产生到消失这一段过程的总时间
第二个参数:最小顶点距离:这个参数是指当我们的游戏物体一次移动最少要移动多远才会产生拖尾
第三个参数:自动销毁:如果我们勾选了这个的话,我们的游戏物体会在生成拖尾之后自动消失
第四个参数:正在发射:就是指当前拖尾渲染器正在执行当中