zoukankan      html  css  js  c++  java
  • 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人!

  • 相关阅读:
    apache、php隐藏http头部版本信息的实现方法
    CentOs 设置静态IP 方法
    PHP如何判断远程图片文件是否存在
    linux删除乱码文件
    Linux基础学习1
    C#——继承
    解决简体输出乱码问题
    简单的Tuple声明和输出
    懒汉式与饿汉式的区别
    Java 反射
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/4794992.html
Copyright © 2011-2022 走看看