粒子系统_unity粒子系统 - CSDN
精华内容
参与话题
  • 3d学习笔记(七)——粒子系统

    千次阅读 2018-05-29 09:46:28
    粒子系统 作业要求 这周的作业是在已有的资源的基础上,根据上课所了解的粒子系统,制作自己的粒子系统,并通过代码控制,实现自定义的粒子在不同场景中的效果。 作业资源 话不多说,先上传一下作业最终的版本...

    粒子系统

    作业要求

    这周的作业是在已有的资源的基础上,根据上课所了解的粒子系统,制作自己的粒子系统,并通过代码控制,实现自定义的粒子在不同场景中的效果。

    作业资源

    话不多说,先上传一下作业最终的版本跟效果视频

    理解粒子系统

    尽管该次作业有老师提供的博客参考,不过由于unity版本的不同,粒子系统上的参数设置也是很不一样,最后还是需要自己学习理解每一个参数究竟是干嘛的,最终才能实现自定义的粒子

    particle主控

    这里写图片描述

    • Duration:粒子发射周期,如图的意思就是在发射3.32秒以后进入下一个粒子发射周期。如果没有勾选looping的话,0.6秒之后粒子会停止发射。
    • Looping:粒子按照周期循环发射。
    • Prewarm:预热系统,比如说我有一个空间大小的粒子系统,但是粒子发射速度有限,我想在最开始的时候让粒子充满空间,此时就应该勾选Prewarm。
    • StartDelay:粒子延时发射,勾选后,延长一段时间才开始发射。
    • StartLifeTime:粒子从发生到消失的时间长短。
    • StartSpeed:粒子初始发生时候的速度。
    • 3DStartSize:这个属性是当你需要把粒子在某一个方向上扩大的时候使用。
    • StartSize:粒子初始的大小。
    • 3DStartRotation:需要在一个方向旋转了子的时候可以使用。
    • StartRotation:粒子初始旋转。
    • RandomizeRotation:随机旋转粒子方向,感觉在3D粒子的情况下,尤其是圆形的没什么用。
    • StartColor:粒子初始颜色,可以调整加上渐变色。
    • GravityModifier:重力修正。
    • SimulationSpace:a.Local,此时粒子会跟随父级物体移动。b.World,此时粒子不会跟随父级移动。c.Custom,粒子会跟着指定的物体移动。
    • SimulationSpeed:根据Update模拟的速度。
    • DeltaTime:一版的DeltaTime都是1,如果需要用到Sacled是在游戏需要暂停的时候,根据TimeManager来定。如果选择UnScale的话,就会忽略时间的影响。
    • ScalingMode:Local:粒子系统的缩放和自己Transform的一样会忽略父级的缩放。Hierarchy:粒子缩放跟随父级。Shape:将粒子系统跟随初始位置,但是不会影响粒子系统的大小。
    • EmitterVelocity:
    • MaxParticles:粒子系统可以同时存在的最大粒子数量。如果粒子书数量超过最大值粒子系统会销毁一部分粒子。
    • AutonRandomSeed:随机种子,如果勾选会生成完全不同不重复的粒子效果,如果勾选即为可重复。

    Emission

    这里写图片描述

    • RateOverTime:随单位时间生成粒子的数量。
    • RateOverDistance:随着移动距离产生的粒子数量。只有当粒子系统移动时,才发射粒子。
    • Bursts:
      • Time:从第几秒开始。
      • Min:最小粒子数量。
      • Max:最大的粒子数量,粒子的数量会在Min和Max之间随机。
      • Cycles:在一个周期中循环的次数。
      • Interval:两次两次Cycles的间隔时间。

    Shape

    这里写图片描述

    • Shape:规定了粒子初始位置的形状
    • 下面就是调整一下该形状的参数

    Color over Lifetime

    这里写图片描述
    这里写图片描述

    • 颜色渐变器:即粒子从产生到消失的颜色变化,左边是开始,右边是消失,中间是存在时的颜色

    Textures Sheet Animation

    这里写图片描述

    • Mode:
      • Grid:用网格来实现。
      • Sprite:通过相同尺寸的Sprite实现粒子动画。
    • Tiles:网格的行列数。
    • Animation:
      • WholeSheet:动画作用于整个表格。
      • SingleRow:动画只用于单独一行。有一个随机的选项可以选择或者是选择单独的一行来做动画。
    • FrameOverTime:根据时间来播放帧,横坐标是1s,纵坐标是帧数。
    • StartFrame:开始的帧是哪一帧。
    • Cycles:在1秒之内循环播放的次数。
    • FlipU:翻转U。
    • FlipV:翻转V。
    • EnabledUVChannels:

    Renderer

    这里写图片描述

    • RenderMode:
      • Billboard:粒子总是面对相机。
      • StretchedBillboard:伸展板,可以根据相机,速度,长度来调节粒子的缩放。
      • HorizontalBillboard:粒子平面平行于Floor平面。
      • VerticalBillboard:粒子平面平行于世界坐标的Y轴,但是面向相机。
      • Mesh:将粒子渲染到网格上去。
    • TrailMaterial:需要使用拖尾效果的时候,才附材质。
    • Material:用于渲染粒子的材质。
    • SortMode:
      • ByDistance:根据粒子离相机的距离渲染。
      • OldestInFront:先渲染出来的在最上层。
      • YoungestInFront:后渲染出来的在最上层。
    • SortingFudge:排序容差,仅影响整个系统在场景中出现的位置。Sorting值越小,就越容易粒子系统在其它透明的GameObjects上绘制的机会。
    • Pivot:修改粒子渲染的轴点。
    • VisualizePivot:可视化轴点。
    • Masking:
    • CustomVertexStreams:在材质的顶点着色器中配置哪些粒子属性可用。
    • CastShadows:使用阴影。
    • ReceiveShadows:规定阴影是否可以投射到粒子上,只有Opaque(不透明)的材质可以接受阴影。
    • MotionVectors:

    作业实践

    未控制的粒子

    粒子包括三个部分:

    • 中间光的模拟
    • 光晕的模拟
    • 周围星光的模拟

    具体设置的参数如下:

    • 中间光的模拟
      这里写图片描述
      这里写图片描述

    • 光晕的模拟
      这里写图片描述
      这里写图片描述

    • 周围星光的模拟
      这里写图片描述
      这里写图片描述

    • 注意的是三者都是创建在空对象的下面

    代码控制的粒子

    模拟下矿洞,或者调入深渊中,头上的太阳模拟

    • 控制光的代码
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class change2 : MonoBehaviour
    {
    
        ParticleSystem exhaust;
        float size = 1.7f;
    
        // Use this for initialization
        void Start()
        {
            exhaust = GetComponent<ParticleSystem>();
        }
    
        // Update is called once per frame
        void Update()
        {
            size = size * 0.999f;
            var main = exhaust.main;
            main.startSize = size;
        }
    }
    • 控制光晕的代码
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class change : MonoBehaviour {
    
        ParticleSystem exhaust;
        float size = 5f;
    
        // Use this for initialization
        void Start () {
            exhaust = GetComponent<ParticleSystem>();
        }
    
        // Update is called once per frame
        void Update () {
            size = size * 0.999f;
            var main = exhaust.main;
            main.startSize  = size;
        }
    }
    
    • PS:由于不知道怎么把startsize的属性赋值到float上,所以只能笨拙的在代码中先行输入了大小

    遇到的问题

    主要是在texture模块中,关于一个有多个帧的图片,怎么去切割,以及怎么去规定从哪一帧开始,一秒多少帧的问题。这个大概花去了我做这个作业的一半时间。具体也不多说了,还是得自己去理解,上面有参数的说明,可以尝试自己理解后制作。

    展开全文
  • OpenGL实现的烟花粒子系统(VC)

    热门讨论 2020-07-24 23:33:46
    OpenGL实现的烟花粒子系统,非常漂亮,欢迎大家交流。还有一个android平台实现的,在我的资源列表里可以找到。
  • Unity 特效:Particle System(粒子系统

    万次阅读 多人点赞 2019-05-14 10:36:02
    创建粒子: 方法一:为空物体添加Particle System组件。 方法二:在Hierarchy视图右击 ---> Effects --->Particle System Initial(初始化模块) 此模块为固有模块,无法将其删除或禁用。 该模块...

    创建粒子:

    方法一:为空物体添加Particle System组件。

    方法二:在Hierarchy视图右击 ---> Effects ---> Particle System

          

    Initial(初始化模块)

    此模块为固有模块,无法将其删除或禁用。

    该模块定义了粒子初始化时的一系列基本参数。 

       

                                                                                                      参数说明
    Duration 持续时间 发射粒子的时间长度。如果系统正在循环,则该长度表示一个生命周期的长度。
    Looping 循环播放 如果为true,则在持续时间之后重复发射周期。
    Prewarm 预热 播放时,预热系统将处于一种好像其已经发出了一个循环周期的状态。只能在系统循环时使用。
    Start Delay 启动延迟 在发射粒子之前等待的延迟时间(以秒为单位)。不能与预热循环系统共用。
    Start Lifetime 起始生命周期 以秒为单位开始生命周期,粒子将在其生命周期达到0时消亡。即存活时间。
    Start Speed 起始速度 在起始方向施加的粒子的起始速度。
    3D Start Size 3D开始大小 如果启用,可以分别控制每个轴的大小。
    Start Size 起始大小 粒子的起始大小。
    3D Start Rotation 3D开始旋转 如果启用,可以分别控制每个轴的旋转。
    Start Rotation 开始旋转 粒子的起始旋转度数。
    Flip Rotation 翻转旋转 导致某些粒子朝反方向翻转。(设置在0和1之间,值越大,翻转越多)
    Start Color 起始颜色 粒子的起始颜色
    Gravity Modifier 重力修改器 缩放“物理管理器“中定义的重力。修改重力值会影响粒子发射时所受重力影响的状态。
    Simulation Space 模拟空间

    使粒子位置在世界、本地或自定义空间中模拟。在本地空间中,粒子会保持与其自身的“转换”相对,而在自定义空间中,粒子会保持与自定义“转换”相对。

    模拟坐标系,粒子系统的坐标是在世界坐标系还是自身坐标系。

    Simulation Speed 模拟速度 缩放粒子系统的播放速度。
    Delta Time 时间差 使用“增量时间”或“未缩放的增量时间”。对暂停时的播放效果很有用。
    Scaling Mode 缩放模式

    仅在此局部粒子节点中使用我们整个层次结构中的组合缩放,或仅将缩放应用于形状模块。

    • Hierarchy:受自身的缩放影响,也受父级的缩放影响。
    • Local:只受自身的缩放影响。
    • Shape:不受缩放影响。
    Play On Awake 唤醒时播放

    如果启用,系统将自动开始播放。请注意,此设置在当前粒子效果中的所有“粒子系统”之间共享。

    不影响Start Delay的效果。

    Emitter Velocity 发射器速度 粒子系统正在移动时,我们应该使用其“转换/transform”或“刚体组件”来计算它的速度。
    Max Particles 最大粒子 系统中粒子数量受此数量的限制,达到此数量后,将暂时停止发射。
    Auto Random Seed 自动随机种子 每次播放效果时都会做不同模拟。
    Stop Action 停止行动 当粒子系统停止且所有粒子都已经消亡后,游戏对象会自动禁用或销毁自身吗?
    Culling Mode 剔除模式
    Ring Buffer Mode

     

    Constant 常量
    Random Between two Constants 双常量间随机
    Curve 曲线
    Random Between two Curves 双曲线间随机
    Color 颜色
    Gradient 渐变
    Random Between two Colors 双颜色间随机
    Random Between two Gradients 双渐变间随机
    Random Color 随机颜色

    Emission(发射模块)

    在粒子的发射时间内,可实现在某个特定的时间生成大量粒子的效果,这对于模拟爆炸等需要产生大量粒子的情形非常有用。

       

    Time 时间 突发触发的时间
    Count 数量 要发射的粒子数
    Cycles 周期 发射突发多少次
    Interval 间隔 每N秒重复一次突发
    Probability   (0-1)突发的可能性

    Shape(形状模块)

    定义粒子发射器的形状,可提供沿着该形状表面法线或随机方向的初始力,并控制粒子的发射位置及方向。

       

    Shape 形状  

    定义粒子发射体的形状以及初始速度的方向

    • Sphere:球体
    • Hemisphere:半球
    • Cone:锥体
    • Donut:甜甜圈
    • Box:盒子
    • Mesh:网格
    • Mesh Renderer:网格渲染器
    • Skinned Mesh Renderer:蒙皮网格渲染器
    • Sprite:精灵
    • Sprite Renderer:精灵渲染器
    • Circle:圆形
    • Edge:边缘
    • Rectangle:矩形
    Radius 半径

    使用于:

    球体

    半球

    锥体

    甜甜圈

    圆形

    (边缘) 

     

    形状的半径
    Radius Thickness 半径厚度

    使用于:

    球体

    半球

    锥体

    甜甜圈 

    圆形 

    控制生成体积的厚度
    Arc 圆弧

    使用于:

    球体

    半球

    锥体

    甜甜圈

    圆形 

    (边缘)

    在圆弧周围产生了新的粒子

    Mode:模式,控制粒子围绕圆弧生成的模式

    • Random:随机
    • Loop:循环
    • Ping-Pong:乒乓
    • Burst Spread:突发扩张

    Spread:传播,只在弧的特定角度产生粒子(0-禁用)

    Angle 角度

    使用于:

    锥体

    锥体角度
    Length 长度

    使用于:

    锥体

    锥的长度
    Emit from: 发射于:

    使用于:

    锥体

    盒子

    指定粒子的发射位置

    • Base:基础
    • Volume:音量/容量/体积
    • Shell:壳
    • Edge:边缘
    Dount Radius 甜甜圈半径

    使用于:

    甜甜圈

    该半径用于控制甜甜圈的厚度
    Box Thickness 盒子厚度

    使用于:

    盒子

    使用Shell/Edge模式时,控制生成卷的厚度,范围为0-1
    Type 类型

    使用于:

    网格

    网格渲染器 

    蒙皮网格渲染器 

    精灵 

    精灵渲染器 

    Vertex:顶点

    Edge:边缘

    Triangle:三角形

    Mesh 网格

    使用于:

    网格

    网格渲染器 

    蒙皮网格渲染器 

    发射粒子系统的网格
    Single Material 单一材料

    使用于:

    网格

    网格渲染器 

    蒙皮网格渲染器 

    仅从网格的特定材质发射
    Use Mesh Colors 使用网格颜色

    使用于:

    网格

    网格渲染器 

    蒙皮网格渲染器 

    使用网格顶点颜色调整粒子颜色;如果没有网格顶点,请使用材质中的着色器颜色属性,“Color”或者“_TintColor”。请勿读取纹理颜色。
    Normal Offset 法线偏移

    使用于:

    网格

    网格渲染器 

    蒙皮网格渲染器 

    精灵 

    精灵渲染器 

    沿网格法线偏移的粒子生成位置
    Sprite 精灵

    使用于:

    精灵

    精灵渲染器 

    发射粒子系统的精灵/精灵渲染器
           
    Texture 纹理

    使用于:

    全部

    粒子用来从中对颜色采样的纹理
    Position 位置

    使用于:

    全部

    转换发射形状
    Rotation 旋转

    使用于:

    全部

    旋转发射形状
    Scale 缩放

    使用于:

    全部

    缩放发射形状
    Align To Direction 方向对齐

    使用于:

    全部

    根据初始行进方向自动对齐粒子
    Randomize Direction 随机化方向

    使用于:

    全部

    用随机方向覆盖初始行进方向
    Spherize Direction 球面化方向

    使用于:

    全部

    用从“形状转换”中心向外投射粒子的方向覆盖初始行进方向
    Randomize Position 随机化位置

    使用于:

    全部

    随机移动起始位置至此最大值

     

    Shape gizmo editing mode

    形状线框编辑模式

    使用于:

    全部

     

    Shape transform  position editing mode

    形状变换位置编辑模式

    使用于:

    全部

     

     

    Shape transform  rotation editing mode

    形状变换旋转编辑模式

    使用于:

    全部

     

    Shape transform  scale editing mode

    形状变换缩放编辑模式

    使用于:

    全部

     

    Velocity over Lifetime(生命周期内速度)

     控制生命周期内每一个粒子的速度,对于那些物理行为复杂的粒子,效果更明显,但对于那些具有简单视觉行为效果的粒子(如烟雾飘散效果)以及与物理世界几乎没有互动行为的粒子,此模块的作用就不明显了。

       

    Linear 线性 将线速度应用于粒子
    Space 空间

    指定速度值是在本地空间(使用转换旋转)还是世界空间

    • Local:本地
    • World:世界
    Orbital 轨道 将轨道速度应用于粒子,使其围绕系统中心旋转
    Offset 偏移

    将偏移应用于旋转中心

    Radial:射线,将粒子径向速度应用于粒子,使其从系统中心投射出来

    Speed Modifier 速度修改器 将粒子速度乘以该值

    Limit Velocity over Lifetime(生命周期内速度限制)

    控制粒子在生命周期内的速度限制及速度衰减,可以模拟类似拖动的效果。若粒子的速度超过设置的限定值,则粒子速度值会被锁定到该限制值。

       

    Separate Axes 分离轴 如果启用,可以分别控制每个轴的速度限制
    Speed 速度

    粒子在粒子生存期内的速度限制

    Dampen:抑制,控制超过速度限制的速度应该受到的抑制,值为0.5将使超出速度减小50%

    Drag 阻力

    控制在每个粒子的生命周期中施加的拖拽力

    Multiply by Size:乘以大小,根据粒子的大小调整阻力

    Multiply by Velocity:乘以速度,根据粒子的速度调整阻力

    Inherit Velocity(继承速度)

       

    Mode 模式

    指定当粒子出生时,发射器速度是否继承为一次性、是否始终使用当前发射器速度,还是在粒子出生时使用发射器速度。

    • Initial:初始
    • Current:当前
    Multiplier 乘数 控制每个粒子生命周期中继承的发射器速度的量

    Force over Lifetime(生命周期内受力)

    控制粒子在其生命周期内的受力情况。

        

    Space 空间

    指定力值是在本地空间(使用转换旋转)还是在世界空间中

    • Local:本地
    • World:世界
    Randomize 随机化 随机强制每帧。仅在两个常数或两个曲线之间使用随机时可用

    Color over Lifetime(生命周期内颜色)

    控制每一个粒子在其生命周期内的颜色变化。

        

    单击颜色,进入设置界面,上边的键控制透明度,下边的键控制颜色

      

    Mode 模式
    • Blend:混合,颜色有渐变效果
    • Fixed:已修复,颜色无渐变效果
    Color 颜色 当前位置的颜色
    Location 位置 当前生命周期运行到的位置
    Presets 预设

    将设置好的效果保存为预设,方便重复使用

    • Grid:网格
    • List:列表
    • Default:默认库
    • Create New Library…:创建新库
    • Reveal Current Library Location:显示当前库位置

    Color by Speed(颜色的速度控制)

    让每个粒子的颜色依照其自身的速度变化而变化。

       

    Color 颜色 根据速度控制每个粒子的颜色
    Speed Range 速度范围 将定义范围内的速度重新映射为颜色

    Size over Lifetime(生命周期内大小)

     控制每一个粒子在其生命周期内的大小变化。

        

    Separate Axes 分离轴 如果启用,可以对各个轴的角速率限制进行单独控制
    Size 大小 控制每个粒子在其生命周期中的大小

    单击大小, 设置线条

      

    在两条曲线间随机

      

    Optimize 优化 单击优化曲线。优化曲线的定义是最多有三个键,两端各有一个键,且不支持循环或乒乓包裹
    Remove 移除 移除选定的曲线
    设置
    • Loop:循环
    • PingPong:乒乓
    • Clamp:钳制

    Size by Speed(粒子大小的速度控制)

     可让每个粒子的大小依照其自身的速度变化而变化。

        

    Separate Axes 分离轴 如果启用,可以对各个轴的角速率限制进行单独控制
    Size 大小 根据速度控制每个粒子的大小
    Speed Range 速度范围 将定义范围内的速度重新映射为颜色

    Rotation over Lifetime(生命周期内旋转)

      控制每一个粒子在其生命周期内的旋转速度变化。

       

    Separate Axes 分离轴 如果启用,可以对各个轴的角速率限制进行单独控制
    Angular Velocity 角速率 控制每个粒子在其生命周期内的角速度

    Rotation by Speed(旋转的速度控制)

     可让每个粒子的旋转速度依照其自身的速度变化而变化。

        

    Separate Axes 分离轴 如果启用,可以对各个轴的角速率限制进行单独控制
    Angular Velocity 角速率 控制每个粒子在其生命周期内的角速度
    Speed Range 速度范围 使用其中一种曲线模式时,将速度映射到曲线上的一个值

    External Forces(外部作用力)

    可控制风域的倍增系数。

        

    Multiplier 乘数 用于缩放作用于此粒子系统的力
    Influence Filter 影响过滤

    使用LayerMask或列表,决定哪种力场影响粒子系统

    Influence Mask

    • Nothing
    • Everything
    • 等……

    List:列表

    Noise(噪音)

       

    Separate Axes 分离轴 如果启用,可以分别控制每个轴的噪声
    Strength 强度 整体噪音效果有多强
    Frequency 频率 低值会产生柔和、平滑的噪音,而高值会产生快速变化的噪音
    Scroll Speed 滚动速度 在粒子系统上滚动噪声图
    Damping 阻尼 如果启用,强度将会与频率成比例
    Octaves 倍率 结合起来产生最终噪声的噪声层(添加倍率会大大增加性能成本)
    Octaves Multiplier 倍率乘数 合并各个倍率时,按此数量缩放强度
    Octaves Scale 倍率缩放 合并各个倍率时,按此数量放大
    Quality 质量 生成1D、2D或3D噪音
    Remap 重新映射 将最终噪声值重新映射到一个新范围
    Remap Curve 重新映射曲线  
    Position Amount 位置数量 将多大比例的噪声施加到粒子位置
    Rotation Amount 旋转量 将多大比例的噪声施加到粒子旋转(以度/秒为单位)
    Size Amount 尺寸量 将粒子大小乘以噪音比例

    Collision(碰撞)

     为粒子系统建立碰撞效果。

       

    Type 类型  

    与一系列“平面”或“物理世界”发生碰撞

    • Planes:平面
    • World:世界
    Planes 平面 使用于:平面 通过为转换分配引用来定义平面。此转换可以是场景中的任何转换,且可以设置动画。可以使用多个平面。注意:Y轴被用作平面法线
    Visualization 可视化 使用于:平面 仅用于平面的可视化:Wireframe或“实体”
    Scale Plane 缩放平面 使用于:平面 调整可视化平面的大小
    移动平面编辑模式 使用于:平面  
    旋转平面编辑模式 使用于:平面  
    Dampen 抑制

    使用于:平面

    世界

    粒子发生碰撞时,它会失去这部分速度。除非将其设置为0.0,否则粒子在碰撞后会变慢
    Bounce 反弹

    使用于:平面

    世界

    粒子发生碰撞时,反弹将使用此值进行缩放。反弹是平面法线方向上的向上运动
    Lifetime Loss 生存期损失

    使用于:平面

    世界

    粒子发生碰撞时,它将失去其“开始粒子的生命周期”中的这一部分
    Min Kill Speed 最小消亡速度

    使用于:平面

    世界

    当粒子发生碰撞且其速度低于此值时,粒子会被销毁
    Max Kill Speed 最大消亡速度

    使用于:平面

    世界

    当粒子发生碰撞且其速度高于此值时,粒子会被销毁
    Radius Scale 半径缩放

    使用于:平面

    世界

    缩放该数量的粒子边界以便获得更精确的碰撞
    Send Collision Messages 发送碰撞消息

    使用于:平面

    世界

    发送碰撞回调消息
    Visualize Bounds 可视化边界

    使用于:平面

    世界

    渲染粒子的碰撞边界
    Mode 模式 使用于:世界 使用3D物理或2D物理
    Collision Quality 碰撞质量 使用于:世界

    世界碰撞的质量。中等质量和低质量很相似,可能会泄露颗粒

    • High:高
      • Collides With:碰撞对象,将粒子与包含在layermask中的碰撞器进行碰撞
      • Max Collision Shapes:最大碰撞形状,粒子碰撞可以考虑多少个碰撞形状,多余的形状将被忽略,地形优先
      • Enable Dynamic Colliders:启用动态碰撞器,粒子是否应该与动态物体碰撞
    • Medium(Static Colliders):中等(静态碰撞器)
      • Collides With:碰撞对象
      • Max Collision Shapes:最大碰撞形状
      • Voxel Size:体索大小,冲突缓存中的体索大小。较小的值可提高准确性,但需要使用更高的内存且效率较低
    • Low(Static Colliders):低(静态碰撞体)
      • Collides With:碰撞对象
      • Max Collision Shapes:最大碰撞形状
      • Voxel Size:体索大小
    Collider Force 碰撞器力度

    使用于:

    世界

    控制碰撞器上粒子力的强度

    Multiply by Collision Angle:乘以碰撞角,力应该与粒子碰撞角度成比例吗,直接沿着碰撞法线的粒子碰撞会产生所有指定的力,而远离碰撞法线的碰撞则会产生较小的力

    Multiply by Particle Speed:乘以粒子速度,力应该与粒子速度成比例吗

    Multiply by Particle Size:乘以粒子大小,力应该与粒子大小成比例吗

    Triggers(触发器)

       

    Colliders 碰撞器 用于触发器的碰撞形状列表
    Inside 内部

    如何处理碰撞体内的粒子

    • Ignore :忽略
    • Kill:杀掉
    • Callback:回调
    Outside 外部

    如何处理碰撞体外的粒子

    • Ignore :忽略
    • Kill:杀掉
    • Callback:回调
    Enter 进入

    当粒子进入碰撞体时触发一次

    • Ignore :忽略
    • Kill:杀掉
    • Callback:回调
    Exit 退出

    当粒子离开碰撞体时触发一次

    • Ignore :忽略
    • Kill:杀掉
    • Callback:回调
    Radius Scale 半径缩放 缩放该数量的粒子边界以便获得更精确的碰撞
    Visualize Bounds 可视化边界 渲染粒子的碰撞边界

    Sub Emitters(子发射器)

    粒子的子发射器。可使粒子在出生、消亡、碰撞等三个时刻生成其他的粒子。

       

    Birth 出生
    Collision 碰撞
    Death 死亡
    Trigger 触发器
    Manual 用户手册
    Inherit 继承
    Emit Probability 发射概率

    Texture Sheet Animation(序列帧动画纹理模块)

    可对粒子在其生命周期内的UV坐标产生变化,生成粒子的UV动画。可以将纹理划分成网格,在每一格存放动画的每一帧。同时也可以将纹理划分为几行,每一行是一个独立的动画。

        

    Mode 模式

    动画帧可以在常规网格纹理上指定,也可以在精灵列表中指定

    Grid:网格

    Sprites:精灵

    Tiles 瓦片 定义纹理的平铺
    Animation 动画

    指定动画类型:“整页”或“单行”,“整页”将从左到右、从上到下为整个纹理板绘制动画,“单行”则将从左到右为工作表中的单行绘制动画

    Whole Sheet:整张工作表

    Single Row:单行

    Row Mode 行模式

    Custom:自定义   

    • Row:行

    Random:随机

    Mesh Index

    Time Mode 时间模式

    LifeTime:生存期

    Speed:速度

    FPS

    Frame over Time 随时间推移的帧 控制每个粒子在其生命周期内的uv动画帧。水平轴上显示了粒子的生命周期,纵轴上有工作表索引
    Speed Range 速度范围  
    Start Frame 开始帧 对动画进行相位调整,使其从一个帧开始,而非从0开始
    Cycles 周期 指定动画在粒子生命周期中循环的次数
    Affected UV Channels 受影响的UV通道 指定要绘制动画的uv通道

    Lights(光线)

       

    Light 灯光 用于产生粒子光线的光照预制件
    Ratio 比例 附着有光源的粒子数量
    Random Distribution 随机分布 随机发射光线或定期发射光线
    Use Particle Color 使用粒子颜色 检查粒子颜色乘以浅色选项。否则使用光的颜色
    Size Affects Range 大小影响范围 将光线范围乘以粒子大小
    Alpha Affects Intensity Alpha影响强度 将光的强度乘以粒子的alpha
    Range Multiplier 范围乘数 将自定义倍增器应用于灯光范围
    Intensity Multiplier 强度乘数 将自定义倍增器应用于灯光强度
    Maximum Lights 最大灯光数量 限制系统可以创建的灯光数量。使用该模块可以很容易地创建大量灯光,这可能会降低性能

    Trails(拖尾)

       

    Mode 模式

    选择如何在粒子上生成拖尾

    • Particles:粒子
    • Ribbon:条带
    Ratio 比例 选择粒子接收拖尾的比例
    LifeTime 生存期 相对于粒子的寿命,每个拖尾持续多久
    Minimum Vertex Distance 最小顶点距离 添加新顶点之前每条拖尾可以移动的最小距离
    World Space 世界空间 即使粒子在局部空间中模拟,拖尾点也会在世界空间中被丢弃
    Die with Particles 随粒子消失 当其所属的粒子消亡时,拖尾就会消失
    Ribbon Count 条带数 选择要在粒子系统中渲染的条带数量
    Split Sub Emitter Ribbons 分割子发射器色带 在子发射器上使用时,条带将独立连接来自每个父粒子的粒子
    Attach Ribbons to Transform    
    Texture Mode 纹理模式

    U坐标应该被拉伸还是平铺

    • Stretch:伸展
    • Tile:平铺
    • DistributePerSegment:
    • RepeatPerSegment:
    Size affects Width 大小会影响宽度 拖尾会使用粒子大小来控制其宽度
    Size affects LifeTime 大小会影响生命周期 拖尾会使用粒子大小来控制其生存期
    Inherit Particle Color 继承粒子颜色 拖尾会使用粒子颜色作为其基色
    Color over LifeTime 生命周期内颜色 附着的粒子的生存期内拖尾的颜色
    Width over Trail 拖尾宽度 为拖尾选择一个从开始顶点到结束顶点的宽度
    Color over Trail 拖尾颜色 为拖尾选择一个从开始顶点到结束顶点的颜色
    Generate Lighting Data 生成照明数据 切换切线和切线数据的生成,以便在点亮的着色器中使用
    Shadow Bias Shadow Bias  

    Custom Data(自定义数据)

       

    Mode 模式
    Disable 已禁用
    Vector 矢量
    Number of Components 组件数量
    Color 颜色

    Renderer(渲染器)

    显示粒子系统渲染相关的属性。即使此模块被添加或移除,也不影响粒子的其他属性。

    动画所使用的纹理需要在Renderer下的Material属性中指定。

      

    Render Mode 渲染模式

    定义粒子渲染器的渲染模式

    • Billboard:广告牌
    • Stretched Billboard:伸展广告牌
    • Horizontal Billboard:水平广告牌
    • Vertical Billboard:垂直广告牌
    • Mesh:网格
    • None:无
    Camera Scale 摄像机缩放 确定粒子拉伸时,相机速度的影响程度
    Speed Scale 速度比例 定义与自身速度比较的粒子的长度
    Length Scale 长度比例 定义与自身宽度比较的粒子的长度
    Normal Direction 法线方向 值在0.0和1.0之间,如果使用1.0,法线将指向摄像机。如果使用0.0,法线将向外指向粒子的角落方向
    Material 材质 定义用于渲染粒子的材料
    Trail Material 拖尾材质 定义用于渲染粒子轨迹的材料
    Sort Mode 排序模式

    粒子的绘制顺序可以按距离排序,可以把最老的放到最前面或者把最新的放到最前面

    • None:无
    • By Distance:通过距离
    • Oldest in Front:最旧的放前面
    • Youngest in Front:最新的放在最前面
    Sorting Fudge 排序校正 降低数值,这些粒子大部分将出现在其他透明对象面前,包括其他粒子
    Min Particle Size 最小粒子大小 屏幕上最小允许有多小的粒子,1为整个视区,0.5为半个视区
    Max Particle Size 最大粒子大小 屏幕上最大允许有多大的粒子,1为整个视区,0.5为半个视区
    Render Alignment 渲染对齐 

    指定粒子是面向相机、与世界轴对齐,还是保持系统转换的局部

    • View:视图
    • World:世界
    • Local:局部
    • Facing:面对
    • Velocity:速度
    Flip 翻转  
    Allow Roll    
    Pivot 轴心 对粒子中心应用偏移,作为其大小的乘数
    Visualize Pivot 可视化枢轴 渲染粒子的枢轴位置
    Masking 遮罩

    定义粒子的遮罩行为

    • No Masking:无遮罩
    • Visible Inside Mask:遮罩中可见
    • Visible Outside Mask:遮罩外可见
    Apply Active Color Space 应用当前颜色空间 使用“线性渲染”时,粒子颜色将在传递到GPU之前进行适当转换
    Custom Vertex Streams 自定义顶点流 选择是否将自定义粒子数据发送到着色器
    Cast Shadows 投射阴影

    只有不透明材料投射阴影

    • Off:关闭
    • On:开启
    • Two Sided:双面
    • Shadows Only:只有阴影
    Receive Shadows 接受阴影 只有不透明材料接受阴影,使用延迟渲染时,所有不透明对象都会接受阴影
    Shadow Bias    
    Motion Vectors 运动矢量

    指定粒子系统是否将“每个对象运动”、“相机运动”或“无运动”矢量渲染到“相机运动矢量纹理”。注意“Per-Particle运动”没有内置支持

    • Camera Motion Only:仅摄像机运动
    • Per Object Motion:每对象运动
    • Force No Motion:强制无动作
    Sorting Layer 排序图层 渲染器排序层的名称
    Order in Layer 图层顺序 渲染器在排序层中的顺序
    Light Probes 光照探测器

    指定“光照探测器”如何处理光照和遮挡的插值。如果对象设置为“静态光照贴图”,则禁用该选项

    • Off:关闭
    • Blend Probes:混合探测器
    • Use Proxy Volume:使用代理体
    • Custom Provided:提供自定义
    Reflection Probes 反射探测器

    指定对象是否或如何受“场景”中反射的影响。在延迟渲染模式下无法禁用此属性

    • Off:关闭
    • Blend Probes:混合探测器
    • Blend Probes And Skybox:混合探测器与天空盒
    • Simple:简单

    Particle Effect(粒子效果面板)

     

    展开全文
  • 基于GPU的粒子系统

    千次阅读 2015-08-07 21:40:01
    粒子系统通常要随着时间的推移来发射和销毁粒子。从表面上看,这一工作应该用动态顶点缓冲区来实现,并在CPU上生成和销毁粒子。然后,用当前存活的粒子来填充顶点缓冲区,并对其进行绘制。不过,我们在上一节讲过,...

    粒子系统通常要随着时间的推移来发射和销毁粒子。从表面上看,这一工作应该用动态顶点缓冲区来实现,并在CPU上生成和销毁粒子。然后,用当前存活的粒子来填充顶点缓冲区,并对其进行绘制。不过,我们在上一节讲过,一个独立的仅有流输出的pass完全可以在GPU上控制一生成、销毁更新循环。这样做是为了提高效率——无论何时CPU向GPU更新数据都要占用时间和资源;而且,把原来属于CPU的工作转移到GPU上,可以腾出时间让CPU去完成人工智能或物理方面的工作。在本节中,我们讲解了粒子系统框架的实现细节。

    20.6.1 粒子效果

    特定粒子系统的行为方式由特定的effect文件来实现。也就是,我们为每个粒子系统(例如,雨景、火焰、烟雾等)定义一个不同的(但又相似的)effect文件。由于粒子的发射、销毁和渲染方式会随着特定的粒子系统而变化,所以这些细节被编写在了相应的effect文件中。例如:

    1.当一个雨点粒子触及地面时,我们会销毁该粒子;而火焰粒子会通过倒计时的方式来进行销毁。

    2.烟雾粒子的颜色会随时间而减淡,而雨点粒子的颜色不会改变。同样,烟雾粒子的尺寸会随时间而增大,而雨点粒子的尺寸不会改变。

    3.直线图元通常适合于模拟雨景,而广告牌四边形适合于模拟火焰和烟雾。通过为不同的粒子系统定义不同的effect文件,我们可以在几何着色器中生成最为适宜的图元。当模拟雨景时,几何着色器将点扩展为直线;当模拟火焰和烟雾时,几何着色器将点扩展为四边形。

    4.雨点粒子和烟雾粒子的初始位置和初始速度明显不同。

    我们再次强调,这些粒子系统的特定细节会实现在特定的effect文件中,我们用着色器代码来处理粒子的创建、更新和销毁。这是一种非常实用的设计方式,因为我们只需要在一个新的effect文件中描述粒子系统的行为,就可以添加一个新的粒子系统。

    20.6.2 粒子系统类

    下面的类用于在C++代码中创建、更新和绘制粒子系统。这些代码构成了一个通用框架,它将用于我们创建的所有粒子系统。

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    class ParticleSystem
    {
    public:
         
        ParticleSystem();
        ~ParticleSystem();
     
        // 自重置粒子系统后经过的时间.
        float GetAge()const;
     
        void SetEyePos(const XMFLOAT3& eyePosW);
        void SetEmitPos(const XMFLOAT3& emitPosW);
        void SetEmitDir(const XMFLOAT3& emitDirW);
     
        void Init(ID3D11Device* device, ParticleEffect* fx,
            ID3D11ShaderResourceView* texArraySRV,
            ID3D11ShaderResourceView* randomTexSRV,
            UINT maxParticles);
     
        void Reset();
        void Update(float dt, float gameTime);
        void Draw(ID3D11DeviceContext* dc, const Camera& cam);
     
    private:
        void BuildVB(ID3D11Device* device);
     
        ParticleSystem(const ParticleSystem& rhs);
        ParticleSystem& operator=(const ParticleSystem& rhs);
      
    private:
      
        UINT mMaxParticles;
        bool mFirstRun;
     
        float mGameTime;
        float mTimeStep;
        float mAge;
     
        XMFLOAT3 mEyePosW;
        XMFLOAT3 mEmitPosW;
        XMFLOAT3 mEmitDirW;
     
        ParticleEffect* mFX;
     
        ID3D11Buffer* mInitVB; 
        ID3D11Buffer* mDrawVB;
        ID3D11Buffer* mStreamOutVB;
      
        ID3D11ShaderResourceView* mTexArraySRV;
        ID3D11ShaderResourceView* mRandomTexSRV;
    };

    除了draw方法外,粒子系统类的所有方法实现起来都很简单(例如、创建顶点缓冲区等);所以,我们不再赘述(请直接参见本章源代码)。

    注意:我们在对粒子进行纹理映射时使用了一个纹理数组。这样做的原因是我们不希望所有的粒子看上去完全相同。例如,当实现一个烟雾效果时,我们希望使用多个烟雾纹理添加一些视觉上的变化;我们可以在像素着色器中使用图元ID来交替地使用纹理数组中的烟雾纹理。

    20.6.3 发射器粒子

    因为几何着色器负责创建和销毁粒子,所以我们必须定义一个或多个特殊的发射器粒子(emitter particle)。发射器粒子可以被渲染出来,也可以不被渲染出来。例如,当你希望隐藏发射器粒子时,只需要让几何着色器屏蔽该粒子的输出即可。发射器粒子的行为与其他粒子不同,因为它可以生成其他粒子。例如,发射器粒子可以跟踪已经逝去的时间,当到达某个时间点时,它发射一个新粒子。通过这一方式,新粒子就可以随着时间的推移而不断生成。我们使用Vertex:: Particle结构体的Type成员指定发射器粒子。另外,通过调整发射器粒子可以控制其他粒子的发射方式。例如,我们可以很容易地通过一个发射器粒子来控制每帧创建的粒子数量。几何着色器至少要输出一个发射器粒子来维持粒子系统的运行,当一个粒子系统中一个发射器粒子都没有时,该粒子系统将随之消失;不过,对于某些粒子系统来说,这也许正是想要得到的结果。

    本书演示程序中的粒子系统只使用一个发射器粒子来控制粒子系统的生命周期。不过, 我们可以对粒子系统框架进行扩展,使它支持多个发射器粒子。另外,其他的粒子也可以发射粒子。例如,SDK中的ParticlesGS示例有一个发射器粒子(用于生成弹壳粒子的隐形粒子)和一些炮弹粒子(未爆炸的烟花,它会在几秒之后爆炸为多个新的烟花粒子,其中的一些还会再次爆炸为多个新的烟花粒子,形成二次爆炸的效果)。也就是说,发射器粒子可以生成其他的发射器粒子。练习1要求读者研究这一示例。

    20.6.4 初始化顶点缓冲区

    在我们的粒子系统中有一个特殊的初始化顶点缓冲区,它只包含一个单个发射器粒子。我们通过绘制该顶点缓冲区来启动粒子系统。该发射器粒子会在随后的帧中生成其他粒子。注意,初始化顶点缓冲区只被绘制一次(当重置粒子系统时除外)。在完成粒子系统的初始化之后,我们将按照互换方式使用两个流输出顶点缓冲区,维持粒子系统的运行。

    当我们需要重新启动粒子系统时,也可使用初始化顶点缓冲区。我们使用如下代码重新启动粒子系统:

    ?
    1
    2
    3
    4
    5
    void ParticleSystem::Reset()
    {
        mFirstRun = true;
        mAge      = 0.0f;
    }

    mFirstRun设为true,指示粒子系统在下次调用draw方法时绘制初始化顶点缓冲区,从而使用一个单个发射器粒子来重新启动粒子系统。

    20.6.5 Update/Draw 方法

    前面讲过,我们需要在GPU上使用两个technique来渲染粒子系统:

    1.一个technique用于更新粒子系统。

    2.一个technique 用于绘制粒子系统。

    下面的代码用于完成一工作,并实现了两个顶点缓冲区的互换机制:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    void ParticleSystem::Draw(ID3D11DeviceContext* dc, const Camera& cam)
    {
        XMMATRIX VP = cam.ViewProj();
     
        //
        // 设置常量缓冲.
        //
        mFX->SetViewProj(VP);
        mFX->SetGameTime(mGameTime);
        mFX->SetTimeStep(mTimeStep);
        mFX->SetEyePosW(mEyePosW);
        mFX->SetEmitPosW(mEmitPosW);
        mFX->SetEmitDirW(mEmitDirW);
        mFX->SetTexArray(mTexArraySRV);
        mFX->SetRandomTex(mRandomTexSRV);
     
        //
        // 设置IA阶段.
        //
        dc->IASetInputLayout(InputLayouts::Particle);
        dc->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTLIST);
     
        UINT stride = sizeof(Vertex::Particle);
        UINT offset = 0;
     
        // 如果是第一个pass,则使用初始化的VB.
        // 否则,使用包含当前粒子列表的VB.
        if( mFirstRun )
            dc->IASetVertexBuffers(0, 1, &mInitVB, &stride, &offset);
        else
            dc->IASetVertexBuffers(0, 1, &mDrawVB, &stride, &offset);
     
        //
        // 只使用流输出更新粒子列表,更新后的顶点通过流输出到目标VB.
        //
        dc->SOSetTargets(1, &mStreamOutVB, &offset);
     
        D3DX11_TECHNIQUE_DESC techDesc;
        mFX->StreamOutTech->GetDesc( &techDesc );
        for(UINT p = 0; p < techDesc.Passes; ++p)
        {
            mFX->StreamOutTech->GetPassByIndex( p )->Apply(0, dc);
             
            if( mFirstRun )
            {
                dc->Draw(1, 0);
                mFirstRun = false;
            }
            else
            {
                dc->DrawAuto();
            }
        }
     
        // 流输出完毕后,解除与SO阶段的绑定
        ID3D11Buffer* bufferArray[1] = {0};
        dc->SOSetTargets(1, bufferArray, &offset);
     
        // 切换顶点缓冲
        std::swap(mDrawVB, mStreamOutVB);
     
        //
        // 绘制流输出的更新过的粒子系统.
        //
        dc->IASetVertexBuffers(0, 1, &mDrawVB, &stride, &offset);
     
        mFX->DrawTech->GetDesc( &techDesc );
        for(UINT p = 0; p < techDesc.Passes; ++p)
        {
            mFX->DrawTech->GetPassByIndex( p )->Apply(0, dc);
             
            dc->DrawAuto();
        }
    }
    展开全文
  • 粒子系统

    2019-11-09 23:18:11
    粒子系统简单粒子制作1.1、粒子制作 简单粒子制作 按参考资源要求,制作一个粒子系统,参考资源 使用 3.3 节介绍,用代码控制使之在不同场景下效果不一样 1.1、粒子制作 本次作业是有光晕和星光这两种Particle ...

    简单粒子制作

    • 按参考资源要求,制作一个粒子系统,参考资源
    • 使用 3.3 节介绍,用代码控制使之在不同场景下效果不一样

    1.1、粒子制作

    本次作业是有光晕和星光这两种Particle System。
    先新建一个Particle System,将粒子的shape设置为Sphere,颜色设置为光晕的黄色,速度设置为0。
    Color over Lifetime:
    在这里插入图片描述
    效果如下:
    在这里插入图片描述
    再新建一个子粒子,作为星光,将该粒子保存为预制。
    在这里插入图片描述
    再添加代码,代码详见Github。
    Github代码

    展开全文
  • Unity粒子系统详解

    万次阅读 多人点赞 2017-07-24 16:28:30
    接下来的图片就是Unity2017.1.0f3 编辑器中的粒子系统模块。 了解粒子系统,必须先了解每一个属性都代表了什么,之后才能根据这些原理来调整出自己满意的效果。 主面板ParticleSystem: - Duration:粒子发射...
  • Unity粒子系统

    千次阅读 2018-10-11 17:24:04
    一、粒子系统主界面: 二、粒子系统下各个子模块: Main module//主要模块 Emission//发射 Shape//形状 Velocity Over Lifetime//粒子在生命周期内的速度 Limit Velocity Over Lifetime//粒子在生命周期内的...
  • Unity3D:粒子系统Particle System

    万次阅读 2015-07-31 00:19:38
    1. GameObject → Create Other → Particle System。 2. 选中 Particle System,可看到下列屬性:   3.Particle System:   Duration: 粒子发射时间(设定为5秒,每5秒发射一
  • 对象绘制之粒子效果

    万次阅读 2019-06-25 09:27:07
    粒子系统简介 粒子系统是三维计算机图形学中模拟一些特定的模糊显现的技术,而这些现象用其它传统的渲染技术难以表现出其真实感。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、...
  • 火焰和烟雾粒子系统制作

    万次阅读 2015-07-03 19:02:07
    今天开始进军粒子系统。。。。。。。。。。。制作一个火焰粒子系统和烟雾粒子系统特效。。。。 第一步建立一个材质球命名也为fire 然后给其选择shader如图: 然后给其选择预先准备好的火焰材质 ...
  • 在带有粒子系统的根对象中加入组件ParticleAutoDestruction.cs即可,其中ParticleAutoDestruction组件代码如下: using UnityEngine; using System.Collections; public class ParticleAutoDestruction : ...
  • Unity粒子系统参数解析(一)

    千次阅读 2015-09-16 22:20:33
    Duration(粒子持续时间):粒子系统发射粒子的持续时间,如果开启了粒子循环,则持续时间为粒子一整次的循环时间。 Looping(粒子循环):粒子系统是否循环播放。 Prewarm(粒子预热):若开启粒子预热,则粒子系统...
  • unity新粒子系统的碰撞和触发

    万次阅读 2018-06-02 15:16:42
    unity中新的粒子系统中碰撞: 首先勾选粒子系统属性面板上的collision,然后勾选send collision messages,就可以从代码中检测粒子的碰撞了; 这里捡几个重要的属性说明一下: dampen 抑制 取值范围0-1,当为1时...
  • 改进粒子系统-粒子拖尾

    万次阅读 2006-06-11 20:55:00
    改进粒子系统-粒子拖尾最近美术要求粒子可以拖尾,实现类似于《鬼武者》中的吸魂、烟花等效果。大概思路是将粒子经过的路径记录下来,形成一条面向摄像机的三角链。截图:参考:Ogre的BillboardChain, ...
  • cocos2dx之粒子系统

    千次阅读 2014-01-20 14:48:22
    如果按照粒子系统的维数来区分,粒子系统可以分为二维粒子系统与三维粒子系统两种。  Cocos2d-x为我们提供的粒子系统由CCParticleSystem类实现。与其他的粒子引擎一样,CCParticleSystem实现了对粒
  • Unity3D 新版Particle System(粒子系统

    万次阅读 2016-07-14 10:29:11
    Unity新版粒子特效
  • Unity中的粒子系统使用起来还是比较方便的。不过在实际过程中遇到这样的一个问题:需要动态的来控制一个粒子系统组件所能产生的最大粒子数。看doc上说是有maxParticles来控制,但实际上却没有这个开放的参数,只能...
  • unity 粒子系统 跟随gameobject旋转

    千次阅读 2014-07-23 16:17:46
    Renderer 项里选择 Strect
  • unity3D游戏开发十之粒子系统

    万次阅读 2014-04-09 22:18:38
    Shuriken粒子系统是Unity3.5版本新推出的粒子系统
  • Unity粒子系统 粒子系统部件通过产生和场景中的动画大量小的2D图像模拟流体实体,如液体,烟雾,云和火焰。 官网点击这里!!Main module//主要模块Emission//发射Shape//形状Velocity Over Lifetime//粒子在生命...
1 2 3 4 5 ... 20
收藏数 31,039
精华内容 12,415
关键字:

粒子系统