美文网首页unity粒子
Unity的粒子系统(二)

Unity的粒子系统(二)

作者: Calabash_Boy | 来源:发表于2019-11-29 16:00 被阅读0次

    欢迎来到第二篇文章,我们继续看粒子系统剩下的选项.

    3. Shape(形状模块)

    顾名思义,该模块可以设置粒子发射器的形状,从而控制粒子的发射位置和发射方向.

    Shape模块的默认设置
    因为每种Shape下对应的Editor界面不太一致,因此我们分批次来说明.
    3.1 Shape:Sphere(圆形)和Hemisphere(半圆)

    这两种形状下的界面板基本一致,因此我们放到一起来说明.

    Sphere和Hemisphere的编辑器界面
    Sphere
    Hemisphere
    • Radius: 球体半径的大小,单位是米.
    • Radius Thickness: 发射半径厚度.球体中发射粒子的壳的厚度,从最外层向里计算,值为0 ~ 1,当值为0时,只有最外层的球面发射粒子,当为1时,从圆心到球面的整个球体发射粒子,我们来看当值为0.5时的形状:
      Radius Thickness = 0.5
      可以看到从内部的球面到外部的球面形成了一个壳体,粒子从这个壳体的范围发射出来.
    • Arc:圆形发射器的有效弧度,一周是360°,我们把这个值设置为180°看下效果:
      Arc = 180°
      可以看到发射器的有效范围变为了180°的圆弧.
      该属性下还有其他的设置:
      • Mode: 粒子喷嘴(自己起的名字,可以理解为喷出粒子的位置)在有效范围内的移动方式.
        • Random: 喷嘴在壳内的有效位置随机出现并喷出粒子.
        • Loop: 喷嘴在壳内沿着一个圆的轨迹不停运动并喷射粒子.


          Loop Mode
        • Ping-Pong: 喷嘴按照乒乓的模式运动,可以理解为先顺时针运动一周后再逆时针返回,然后循环.


          Ping-Pong Mode
        • Burst Spread: 这个功能主要是配合 Emission 模块中的 Bursts 功能,如果设置了 Bursts ,那么设置这个模式的话可以使爆发的粒子均匀沿着壳面喷出.
          Burst Spread
      • Spread: 散射角度. 取值为0 ~ 1,含义为每隔多少度来发射粒子,间隔角度 = Arc * spread的值,比如Arc是360°, Spread设置为0.1, 那么每隔36°发射粒子,我还是用上面的例子,当设置了 Bursts 并设置为 Burst Spread Mode, 效果如下:
        Spread = 0.1
        其他模式下也是同样的意思,请大家自行测试.
      • Speed: 在 Loop ModePing-Pong Mode 下出现的配置,表示喷嘴在圆形轨迹上的移动速度.
    • Texture: 纹理,在粒子系统形状表面贴上图片纹理,被影响的粒子会复制对应位置纹理的颜色.同时可以使用该属性配合下面几个属性来裁剪粒子发射区域.
    • Clip Channel: 裁剪通道,使用哪种通道来对上面设置的Texture进行裁剪.有RGBA四个选项.
    • Clip Threshold: 裁剪阈值.取值范围是0 ~ 1,如果 Clip Channel 选择了 Red, 这个值设置为了0.3, 意思是设置的 Texture 上颜色值的Red分类大于等于0.3的位置才能发射粒子.
    • Color affects Particles: 颜色影响粒子,勾选后经过该 Texture 位置发射的粒子颜色会使用该位置纹理的颜色.
    • Alpha affects Particles: 透明度影响粒子,勾选后经过该 Texture 位置发射的粒子透明度会使用该位置纹理的透明度.
    • Bilinear Filtering: 双线过滤. 对像素比较少的纹理进行优化.关于此概念的理解可以查阅这里:
      纹理的过滤方式
    • Position: 把shape当做粒子系统的子物体,设置shape的位置.
    • Rotation: 设置shape的旋转.
    • Scale: 设置shape的缩放.
    • Align To Direction: 方向对齐,当选择了该设置后,可以看到所有粒子的Z轴都与自己的初始速度方向保持一致,当有需求需要从物体表面垂直喷出粒子效果时,可以使用该选项,并且可以与 Start Rotation 一起来设置.
      设置Align To Direction .
    • Randomize Direction: 使粒子的初始运动方向随机化,当值为0的时候不随机,粒子的运动方向有一定的趋势,这个趋势跟发射器的形状有关系,比如当是圆形的时候,更多的是方向是沿着球面的法线方向,当是Cone的时候,更多的是贴着内壁,而当该值为1的时候,运动方向完全随机.
    • Spherize Direction: 球面化方向,在球形发射器下很难观察到,可以把形状切换为 Box 后设置该项的值,当为0的时候没有作用,值为1的时候,粒子的发射方向会以 Shape 的中心为圆心,向虚拟球面的法线方向发射,类似于 Sphere 形状下的粒子发射方向.
    • Randomize Position: 随机化位置.距离原有发射点的位置随机化,随机范围是原有位置到最大喷射位置,该值控制随机化的权重,当为1的时候所有粒子的初始位置都会随机.
    3.2 Shape:Cone(圆锥体)

    我们先来看 Cone 形状的编辑器界面.

    Cone Shape Editor
    可以看到其中有些属性我们已经说明过,如果没有特别含义的话就不再写出了.
    Cone
    Cone Geometry
    作图水平有限,希望可以让大家看懂.
    • Angle: 上图的α角度,值越大,锥顶的半径比锥底越大,取值范围是0° ~ 90°, 其他值会被强制修改到此范围.
    • Radius: 锥底的半径大小.
    • Radius Thickness: 图中所示的壳体厚度.
    • Arc属性同上.
    • Length: 椎体的高度,只有在 Volume 发射模式下才能使用.
    • Emit from:粒子的发射位置.
      • Base: 只从锥底发射.
      • Volume: 从锥底与锥顶之间的整个椎体发射.

    其余属性同上.

    3.3 Shape:Donut(甜甜圈)
    Donut Editor
    Donut Geometry
    • Radius: 大圆的半径.
    • Donut Radius: 小圆的半径.
    • Texture: 分布在小圆的横截面上.

    其他属性同上.

    3.4 Shape:Box(盒型)
    Box Editor
    Box Geometry
    • Emit from:粒子的发射位置.
      • Volume: 整个体积内发射粒子.
      • Shell: 从6个面发射粒子.
      • Edge: 从12个边发射粒子.
    • Box Thickness: 当选择 Shell 或者 Edge 的时候出现该选项.设置了XYZ三个轴分量.
      这个厚度并不是如表面意思一般,当为0的时候,粒子几乎可以均匀的从各边和各面发射,当为1的时候,会集中在粒子发射系统各个轴反向的边和面进行发射.

    其余属性同上.

    3.5 Mesh(网格), Mesh Renderer(网格渲染),Skinned Mesh Renderer(骨骼网格渲染).

    把这三个合在一起说明,是因为三中Shape的选项设置基本都是一样的.


    Mesh系列 Editor
    • Mesh: 对应不同的Shape可以设置一个Mesh,Mesh Renderer或者Skinned Mesh Renderer.
    • Type: 发射样式,跟前面所述的 Emit from 有些类似:
      • Vetex: 只在 Mesh 的顶点发射.
      • Edge: 只在 Mesh 的边缘线发射.
      • Triangle: 在模型的三角面上进行发射.
    • Single Material: 独立材质.一个Mesh可能有多个材质,选中该项后需要输入一个材质编号,那么粒子只会从该材质的位置发射.
    • Use Mesh Color: 使用网格顶点颜色调整粒子颜色,如果没有网格顶点,默认使用材质中的着色器属性 Color 或者 TintColor. 并不是很理解这个属性与 Color affects Particles 的区别,请知道到的小伙伴留言指导一下.
    • Normal Offset: 法线偏移,粒子生成位置距离原有位置在法线上偏移的距离.
    • UV channel: 可以让图片使用指定的UV通道显示.

    其他属性同上.

    3.6 Sprite(精灵),Sprite Renderer(精灵渲染器)
    Sprite系列 Editor
    • Sprite: 可以设置一个 Sprite 或者 Sprite Renderer,粒子会从 Type 指定的位置发射.

    其余属性同上.

    3.7 Circle(圆形)
    Circle Animation
    Circle Geometry
    Circle Editor
    其实 CircleCone 很像, 只不过 Circle 只是一个底部平面,而且粒子的发射趋势是沿着圆面的法线方向,如果设置 Texture 的话,会直接贴在圆面上,其余属性跟 Cone 基本一致.
    3.8 Edge(单线形)
    Edge Editor
    Edge Geometry
    • Radius: 发射线的长度.

    发射器的形状是一条线, 其余属性同上.

    3.9 Rectangle(矩形)
    Rectangle Editor
    Rectangle Geometry

    发射器的形状是矩形,粒子的发射方向趋于Z轴正方向.其余属性同上.

    终于结束了 Shape 的说明,这次请多多休息,然后继续向下一篇挣扎.

    相关文章

      网友评论

        本文标题:Unity的粒子系统(二)

        本文链接:https://www.haomeiwen.com/subject/zrepwctx.html