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. HDU 2239 polya计数 欧拉函数

    这题模数是9937还不是素数,求逆元还得手动求. 项链翻转一样的算一种相当于就是一种类型的置换,那么在n长度内,对于每个i其循环节数为(i,n),但是由于n<=2^32,肯定不能直接枚举,所有考 ...

  2. Linux高级编程--02.gcc和动态库

    在Linux环境下,我们通常用gcc将C代码编译成可执行文件,如下就是一个简单的例子: 小实验:hello.c #include <stdlib.h> #include <stdio ...

  3. 初学者必看:.NET 中的静态与非静态的异同

    对于初学者来说,.NET 的静态和非静态一直比较难掌握,这里做一个总结,介绍静态类和普通类,静态方法和实例方法,静态构造函数和实例构造函数,静态字段和非静态字段的区别. 静态类 vs 普通类 静态类与 ...

  4. 【leetcode 简单】第四十二题 阶乘后的零

    给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 ...

  5. 2017ACM暑期多校联合训练 - Team 2 1001 HDU 6045 Is Derek lying? (模拟)

    题目链接 Problem Description Derek and Alfia are good friends.Derek is Chinese,and Alfia is Austrian.Thi ...

  6. 多进程Process

    多进程旧式写法 from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': p = Pool(5) ...

  7. Hibernate总结之Hello,World

    1. 引入相关maven依赖: <dependency> <groupId>org.hibernate</groupId> <artifactId>hi ...

  8. php常用函数——数组函数

    php常用函数——数组函数

  9. VideoJS 与 Framework7 中 fastclick 冲突问题

    Framework7 由于自动启用  fastclick,会导致在 移动端下使用 video.js,控制条上的 播放和音量按钮 点击的时候会触发两次. 解决办法: 1. 全局禁用 fastclick, ...

  10. RTC

    RTC的英文全称是Real-Time Clock,翻译过来是实时时钟芯片. RTC是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲主板上的晶振及相关电路组成的时钟电路的生成脉冲,,RTC经过825 ...