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 游戏开发技巧集锦之使用忍者飞镖创建粒子效果的更多相关文章

  1. Unity 游戏开发技巧集锦之材质的应用的创建反射材质

    Unity 游戏开发技巧集锦之材质的应用的创建反射材质 Unity中材质的应用 游戏中,大多数材质的应用都离不开纹理,而纹理本身是图片.所以,在学习本章时,最好在电脑上安装一个可以编辑图片的功能强大的 ...

  2. Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动

    Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...

  3. Unity 游戏开发技巧集锦之创建透明的材质

    Unity 游戏开发技巧集锦之创建透明的材质 Unity创建透明的材质 生活中不乏透明或者半透明的事物.例如,擦的十分干净的玻璃,看起来就是透明的:一些塑料卡片,看起来就是半透明的,如图3-23所示. ...

  4. Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

    Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...

  5. Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机

    Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现的 ...

  6. 喵的Unity游戏开发之路 - 轨道摄像机

    前言        很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3 ...

  7. Re:Unity游戏开发有哪些让你拍案叫绝的技巧?

    这是我在知乎一个问题: <Unity游戏开发有哪些让你拍案叫绝的技巧?> 下面的回答,觉得蛮有趣的,贴在这里和博客的朋友们分享下. ----- 分享一个比较好玩的内容吧. 大家都知道Uni ...

  8. 2017年Unity游戏开发视频教程(入门到精通)

    本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...

  9. 关于Unity游戏开发方向找工作方面的一些个人看法

     这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...

随机推荐

  1. 排序构造 GYM 101149 F - The Weakest Sith

    题目链接:http://codeforces.com/gym/101149/my 题目大意:给你n个人,他们有成绩a,b,c.一个人如果两门课比另外一个人高,那么这个人就比那个人厉害.问,是否存在一个 ...

  2. [转]C++中cin、cin.get()、cin.getline()、getline()函数的简单总结

    参考原文:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html,另外做了一些修改~ 1.cin 2.cin.get() 3 ...

  3. SpringCloud(四)服务发现与消费:以ribbon为例

    说明: ribbon是spring-cloud中作为服务消费者的一种角色,客户端可以通过它来对服务提供者的服务进行消费, 比如本例中是服务提供者注册到注册中心,服务提供者提供了一个服务接口,返回一个h ...

  4. IIS 网站日志分析

    最近由于ADSL代理总出问题,导致爬虫服务器总被目标网站封,由于请求内容总是空,前端APP获取不到想要的内容就一直刷新,导致爬虫服务器请求更加繁忙. 爬虫服务器每执行完一个流程,都会给统计服务器Pos ...

  5. 【51nod】1238 最小公倍数之和 V3 杜教筛

    [题意]给定n,求Σi=1~nΣj=1~n lcm(i,j),n<=10^10. [算法]杜教筛 [题解]就因为写了这个非常规写法,我折腾了3天…… $$ans=\sum_{i=1}^{n}\s ...

  6. 微信小程序开发(四)线程架构和开发步骤

    线程架构 从前面的章节我们可以知道,.js文件是页面逻辑处理层.我们可以按需在app.js和page.js中添加程序在生命周期的每个阶段相应的事件.如在页面的onLoad时进行数据的下载,onShow ...

  7. 快速入门react

    安装react npm install creat-react-app -g这里直接安装react的一个脚手架,里面包含了要用到的许多东西,帮助快速入门react 创建新项目 create-react ...

  8. 快速幂取模_C++

    一.题目背景 已知底数a,指数b,取模值mo 求ans = ab % mo 二.朴素算法(已知可跳过) ans = 1,循环从 i 到 b ,每次将 ans = ans * a % mo 时间复杂度O ...

  9. 35、def func(a,b=[]) 这种写法有什么坑?

    那我们先通过程序看看这个函数有什么坑吧! def func(a,b=[]): b.append(a) print(b) func(1) func(1) func(1) func(1) 看下结果 [1] ...

  10. 二叉树的层序遍历(levelordertraverse)

    数据结构关于二叉树的遍历还有一种层序遍历,按层次依次输出元素.最上层最先输出,同层中最左最先输出,使用队列这一结构来实现: int levelOrderTraverse(IDTree *pTree) ...