Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果
Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果
使用忍者飞镖创建粒子效果
游戏中,诸如烟、火、水滴、落叶等粒子效果,都可以使用粒子系统(particle system)来实现。例如,《明朝传奇》中的篝火,如图2-32所示。粒子系统的最新版本也被称做忍者飞镖(Shuriken),因为场景中添加的粒子系统酷似忍者飞镖,如图2-33所示。

图2-32 游戏中的篝火 图2-33 粒子系统,也被称为忍者飞镖
unity中粒子基本属性
在使用粒子系统前,先了解一下它的基本属性:
- q Energy:表示粒子的生命周期,也就是从生成到销毁的时间。
- q Looping:决定是否在所有粒子的生命周期结束以后,重新生成这些粒子。
- q Speed,direction,and rotation:每个粒子都有transform组件,因此它们的移动方向、朝向,甚至是大小都可以是不同的。
unity中粒子的值
给每个粒子赋予的值可以分为以下四类:
- q Constant(常量):表示给所有粒子赋予的值都是一样的,如图2-34所示。

图2-34 给粒子赋予Constant类型的值 图2-35 给粒子赋予Curve类型的值
- q Curve(曲线):给粒子赋予的值随时间变化而变化,具体的值将依据时间而赋予曲线上的值,如图2-35所示。
- q Random Between Two Constants(两个常量范围内的随机值):给粒子赋予的值随时间变化而变化,但赋予的值仅限于两个常量的范围内。如图2-36所示。

图2-36 给粒子赋予Random Between Two Constants类型的值图2-37 给粒子赋予Random Between Two Curves类型的值
- q Random Between Two Curves(两个曲线范围内的随机值):给粒子赋予的值随时间变化而变化,但赋予的值仅限于两个曲线的范围内。如图2-37所示。
unity创建粒子效果
创建粒子效果的方式有两种:
- q 在Unity里,单击GameObject|Create Other|Particle System命令,在游戏场景中添加Particle System(粒子系统)这个游戏对象。
- q 在Unity里,单击GameObject|Create Empty命令,在游戏场景中添加空游戏对象。选中它,再单击Component|Effects|Particle System命令,为空游戏对象添加Particle System(粒子系统)组件。
Scene视图和Game视图里所看到的粒子效果如图2-38所示。

图2-38 Scene视图和Game视图里的粒子效果
了解粒子系统的初始化模块
Shuriken(忍者飞镖)粒子系统,是采用模块化来管理的,由于有个性化的粒子模块,再配合上粒子曲线编辑器,会使得开发者更容易创作出缤纷复杂的粒子效果。Shuriken粒子系统有多达17个模块,选中Scene视图里的粒子系统,然后在Inspector视图里就可以查看这17个模块,如图2-39所示。

图2-39 Shuriken粒子系统的17个模块 图2-40 粒子效果面板
除此以外,选中Scene视图里的粒子系统时,Scene视图里还会出现Particle Effect(粒子效果)面板,如图2-40所示。面板中各控件的功能描述如下:
- q Pause(暂停):单击此按钮,可暂停播放当前的粒子。再次单击此按钮,则继续播放。
- q Stop(停止):单击此按钮,可停止粒子的播放。
- q Playback Speed(回放速度):可改变粒子的播放速度,数值越大,播放速度越快。
- q Playback Time(回放时间):设置播放哪一时刻的粒子效果。
点击Inspector视图里的Particle System模块,即可展开此模块,如图2-41所示,同理于其它模块,此模块可以设置粒子系统初始化时的状态。

图2-41 设置粒子系统初始化状态的模块 图2-42 Start Size值的4个类型
接下来将以初始化时,设置Start Size的值为例,说明设置方法。单击此属性最右边的,会弹出4个类型值的选择项,如图2-42所示。
- q 默认选择的是Constant,设置Start Size的值为常量,即粒子播放的过程中,所有粒子的大小都是一样的,如图2-43所示。

图2-43 Start Size为Constant类型的值时,粒子播放的效果
- q 选择Curve时,即可在曲线编辑器中,编辑曲线的形状,设置Start Size的值为曲线上的值,粒子播放的效果如图2-44所示。随着时间的变化,粒子越来越大。

图2-44 Start Size为Curve类型的值时,粒子播放的效果
- q 选择Random Between Two Constants时,设置Start Size的值为两个常量间的任意值,粒子播放的效果如图2-45所示。在任意时刻,粒子总是有大有小。

图2-45 Start Size为Random Between Two Constants类型的值时,粒子播放的效果
- q 选择Random Between Two Curves时,即可在曲线编辑器中,编辑两条曲线的形状,设置Start Size的值为曲线范围内的任意值,粒子播放的效果如图2-46所示。任意时刻粒子都是有大有小的,但是随着时间的变化,所有粒子都会越来越大。

图2-46 Start Size为Random Between Two Curves类型的值时,粒子播放的效果
本文选自:Unity 游戏开发技巧集锦大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果的更多相关文章
- Unity 游戏开发技巧集锦之材质的应用的创建反射材质
Unity 游戏开发技巧集锦之材质的应用的创建反射材质 Unity中材质的应用 游戏中,大多数材质的应用都离不开纹理,而纹理本身是图片.所以,在学习本章时,最好在电脑上安装一个可以编辑图片的功能强大的 ...
- Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动
Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...
- Unity 游戏开发技巧集锦之创建透明的材质
Unity 游戏开发技巧集锦之创建透明的材质 Unity创建透明的材质 生活中不乏透明或者半透明的事物.例如,擦的十分干净的玻璃,看起来就是透明的:一些塑料卡片,看起来就是半透明的,如图3-23所示. ...
- Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质
Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...
- Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机
Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现的 ...
- 喵的Unity游戏开发之路 - 轨道摄像机
前言 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3 ...
- Re:Unity游戏开发有哪些让你拍案叫绝的技巧?
这是我在知乎一个问题: <Unity游戏开发有哪些让你拍案叫绝的技巧?> 下面的回答,觉得蛮有趣的,贴在这里和博客的朋友们分享下. ----- 分享一个比较好玩的内容吧. 大家都知道Uni ...
- 2017年Unity游戏开发视频教程(入门到精通)
本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...
- 关于Unity游戏开发方向找工作方面的一些个人看法
这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...
随机推荐
- HDU 2827 高斯消元
模板的高斯消元.... /** @Date : 2017-09-26 18:05:03 * @FileName: HDU 2827 高斯消元.cpp * @Platform: Windows * @A ...
- Python进行数据分析(一)初步学习 对时区进行计数
time_zones[:10] Out[19]: [u'America/New_York', u'America/Denver', u'America/New_York', u'America/Sao ...
- errno错误号含义
errno0 : Success errno1 : Operation not permitted errno2 : No such file or directory errno3 : No suc ...
- .net core 中 identity server 4 之Topic --定义Client
客户端指能够从id4获取Token的角色. 客户端的共性: a unique client ID a secret if needed the allowed interactions with th ...
- 【acmm】一道简单的数学题
emm卡常 我本来写成了这个样子: #include<bits/stdc++.h> using namespace std; typedef long long LL; ; struct ...
- Java面试中常问的Spring方面问题(涵盖七大方向共55道题,含答案)
1.一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? VersionFeatureSpring 2.5发布于 2007 年.这是第一个支持注解的版本.Spring 3 ...
- 在Unity中实现屏幕空间反射Screen Space Reflection(2)
traceRay函数 在上一篇中,我们有如下签名的traceRay函数 bool traceRay(float3 start, float3 direction, out float2 hitPixe ...
- Python中的raw_input()和input()
raw_input()和input()都是python中的内建函数,用于读取控制台用户的输入,但有所区别: [nr@localhost conf]$ python Python 2.7.5 (defa ...
- Nginx源码分析--数组(转)
原文地址:http://blog.csdn.net/marcky/article/details/5747431 备注:以下关于Nginx源码的分析基于淘宝开源项目Tengine. Nginx中对数组 ...
- [ python ] 变量及基础的数据类型
python2 和 python3 不同的编码方式 python2 默认编码方式是 ascii码 python3 默认编码方式是 utf-8 具体表现为:当 python3 和 python2 在打印 ...