目标


内容示例中有展示粒子特效的场景:

目标是观察场景中几个范例想要展示的是粒子系统的哪个功能,并尝试了解如何操作。需要注意的是:由于并没有实际用资源复现一遍,所以很可能有疏漏之处,即有些效果的实现还需要做其他操作。本篇的目标并不是完全学会操作实现这些功能,而是使自己对这些功能有个大致的印象,我相信这有助于后续对更复杂粒子系统的学习。

1.1 GPU粒子


展示了GPU粒子可以比CPU支持更多的粒子数目。

特性

详见《GPUSprites类型数据 | Unreal Engine Documentation》
概括讲:GPU粒子可以支持更多的粒子数目(能高效地模拟和渲染数十万颗粒子)。然而不支持传统CPU粒子的所有功能。

使用


如果模块有GPU粒子所不支持的,则会有错误提示:

1.2 圆锥形速度分布模块


图中的粒子将朝着一个圆锥方向的速度发射。

特性

Velocity Cone模块是一种速度方面的模块,它定义了一种圆锥形状的速度分布,其他速度方面的模块见
《Velocity 模块 | Unreal Engine Documentation》

使用

添加模块:

随后在细节面板里编辑属性:

1.3 使用发射器位置作为初始位置


图中小型粒子的发射位置将由大球粒子的位置决定。

特性

用一个发射器中的粒子作为另一个发射器中粒子的初始位置。更多关于位置的模块详见《Location 模块 | Unreal Engine Documentation》

使用

添加模块:

编辑Emitter Initial Location模块的属性,将目标发射器的名字写到Emiiter Name中。

1.4 点状引力


图中粒子将受到引力

特性

Point Gravity让粒子受一个“中心点”吸引。更多关于吸引力的模块详见《Attractor 模块 | Unreal Engine Documentation》(GPU粒子的吸引力模块似乎只有一个Point Attractor

使用

添加模块:

编辑属性:

1.5 碰撞


图中的粒子将会与场景中的其他物体有碰撞。

特性

更多碰撞相关的模块详见《Collision 模块 | Unreal Engine Documentation》

使用

添加模块:

编辑参数:

1.6 与蓝图交互


粒子的启动由蓝图控制(蓝图中的逻辑是用一个随机的时间来启动粒子系统)

使用


其中EffectParticleSystemComponent

1.7 从骨骼发射粒子

使用

添加模块:

编辑参数:

需要注意的是Skel Mesh Actor Param NameBoneSocketActor,这个参数将帮助粒子系统和实际场景中的Actor联系起来。
在发射器Actor的细节面板,可以看到Instance Parameters参数,添加一项,将名字设置为BoneSocketActor,类型是Actor,随后选择场景中想联系的Actor。

1.8 粒子的影子

使用

发射器Actor的Cast Shadow必须是true。

除此之外粒子的材质中也有相关参数需要调整

关于粒子的阴影相关的内容,应该还和很多方面有牵连,之后应该需要更详细的研究。

2.1 局部向量场


向量场将施加一个“力”来影响粒子的运动。

特性

除效率之外,GPU粒子最有趣的特性是向量场。向量场是一个由影响粒子运动的向量组成的统一网格。关于向量场的介绍见《向量场 | Unreal Engine Documentation》。

使用

添加模块:

随后编辑这个模块的属性,包括向量场资源是什么:

关于向量场资源如何制作,有待后续研究。

2.2 全局向量场

使用

添加模块:

编辑属性:

不过这里只是一个全局向量场影响的缩放值。真正向量场的数据在场景的Actor中:

参数中指定了向量场资源是什么,同时Actor自身的位置也表示了向量场的位置。

2.3 动态改变材质中的参数


随着火焰的生命时间的前进,动态地改变了材质中“温度”参数,而它又影响了最终材质的效果。

特点

材质中可以添加“动态”参数,随后粒子系统可以改变这些“动态”参数的值。详见《Parameter 模块 | Unreal Engine Documentation》。

使用

首先,粒子的材质中需要有动态参数的节点,例如这里的参数名分别为temperatureParam2Param3Param4(后三个是为了测试而增加的,不影响实际效果):

粒子系统中添加模块:

然后编辑参数的变化,例如temperature

2.4 事件驱动的出生


粒子的死亡触发了另外发射器的粒子的出生

特性

可以通过Event Generator来定义一些事件,之后通过EventReceiver Spawn来接收这个事件来生成粒子。关于事件的模块详见《事件模块 | Unreal Engine Documentation》

使用

添加事件生成模块:

编辑参数,例如这里事件类型是Death,而事件名是First

随后,可以添加事件接收并生成的模块:

在属性中指定事件的类型和名字:

例如,这里实现的逻辑就是:第一个发射器的粒子的死亡触发了第二个发射器粒子的出生,而第二个发射器粒子的死亡触发了第三个发射器粒子的出生:

2.5 带状拖尾


拖尾效果

特性

详见《条带类型数据 | Unreal Engine Documentation》

使用

首先将“类型数据”变为Ribbon

随后可以添加模块:

在这个模块中指定源头的发射器是哪个:

随后可以添加模块:

这将基于“距离”(默认是基于“时间”)来生成粒子,在做类似轨迹的效果中很有用。

2.6 粒子受光


粒子会受到光照的效果。
不过和材质的Shading Model有关,至少不能是UnlitDefault Lit可以。

关于粒子的受光,应该还和很多方面有牵连,之后应该需要更详细的研究。

2.7 粒子用作光源


粒子可以作为光源

特性

详见《粒子光源 | Unreal Engine Documentation》。不过只能用在CPU粒子上。另外要注意的是——性能成本。

使用

添加模块:

2.8 光束


使用光束种类的发射器,并且使用“噪声”形成一种电流激变的效果。

特性

详见《光束类型数据 | Unreal Engine Documentation》

使用

首先将“类型数据”变为Beam

随后可以添加光束相关的模块:

SourceTarget分别指定了光束的头与尾
Noise提供一种噪声的效果。

学习Cascade粒子系统:观察内容示例所展示的特性相关推荐

  1. JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  2. python用方括号提取字符中的数值_Python使用re模块正则提取字符串中括号内的内容示例...

    Python使用re模块正则提取字符串中括号内的内容示例 本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作.分享给大家供大家参考,具体如下: 直接上代码吧: # -*- codi ...

  3. sql子查询示例_学习SQL:SQL查询示例

    sql子查询示例 In the previous article we've practiced SQL, and today, we'll continue with a few more SQL ...

  4. Flutter学习笔记 —— 完成一个简单的新闻展示页

    Flutter学习笔记 -- 完成一个简单的新闻展示页 前言 思路分析 案例代码 结束语 上图 前言 刚学Flutter不久,今天我们来看看如何使用 Container & ListView实 ...

  5. 数据挖掘课程学习——序列模式发现相关内容调研

    数据挖掘课程学习--序列模式发现相关内容调研 本次实验完成"序列模式发现"的相关内容调研,主要内容包括:什么是序列模式发现:应用在哪些领域:经典的算法有哪些:应用在怎样的数据上:得 ...

  6. Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性

    Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性 鼠标悬停时:@mouseenter 鼠标离开时:@mouseleave 利用以上来绑定相应方法,例如: <div @mouseleav ...

  7. js动态改变下拉菜单内容示例 .

    <HTML><HEAD><TITLE>动态改变下拉菜单内容示例</TITLE></HEAD><SCRIPT LANGUAGE=java ...

  8. 安卓学习笔记36:内容提供者

    文章目录 一.内容提供者 (一)概述 (二)作用 二.案例演示 - 显示系统联系人 (一)运行效果 (二)涉及知识点 (三)实现步骤 1.创建安卓应用[DisplayContacts] 2.将背景图片 ...

  9. python爬去新浪微博_Python爬虫爬取新浪微博内容示例【基于代理IP】

    Python爬虫爬取新浪微博内容示例[基于代理IP] 发布时间:2020-09-07 10:08:14 来源:脚本之家 阅读:120 本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参 ...

最新文章

  1. mysql 数据库的同步问题
  2. Mybatis中mapper文件中的两层循环
  3. Mysql数据库表复制操作语句
  4. 从零开始学JavaScript三(变量)
  5. python基础教程-Python基础教程,Python入门教程(非常详细)
  6. 《沟通的技术——让交流、会议与演讲更有效》一第一部分 建导准备
  7. synchronized的实现原理用法详解
  8. FS2116C输入3.7V输出12V2.2A高效升压IC芯片
  9. riscv-gnu-toolchain下载安装
  10. VCC,GND,VSS,VDD的理解
  11. ios睡眠分析 卧床 睡眠_iPhone睡眠模式:教你设置追踪睡眠排程与提升睡眠品质...
  12. Harmony OS har包生成和使用技巧
  13. 早上空腹喝酸奶好吗?
  14. 笔记本不显示计算机储存盘,电脑开机黑屏只有鼠标箭头的解决办法 电脑硬盘无法分区怎么办...
  15. 这几本值得你一看再看的程序员素养必备好书
  16. 基于PHP+MySQL的美容会所企业资产管理系统
  17. IMP-00017: following statement failed with ORACLE error 20005:(表统计信息被锁)
  18. 【论文】论文整体结构(以项目干系人管理为例)
  19. 房价必然增长的十个原因
  20. 在Wifi网络中嗅探明文密码(HTTP POST请求、POP等)

热门文章

  1. 从VB与C语言的插入算法代码的不同看逻辑运算的差别
  2. 独立音源采样器下载-Magix Independence Pro Software Suite 3.2
  3. vimplus快捷键
  4. Vue 定时器实现轮询接口
  5. SWFupload上传插件案例及头像的截取
  6. 让Mac OS X的终端多姿多彩
  7. listView显示保存在服务器的图片,不是网页上的图片
  8. 零基础-在window系统中通过VMware安装centos 7
  9. 重学网络系列之(Ping与网关)
  10. Math Problem