学习Cascade粒子系统:观察内容示例所展示的特性
目标
内容示例中有展示粒子特效的场景:
目标是观察场景中几个范例想要展示的是粒子系统的哪个功能,并尝试了解如何操作。需要注意的是:由于并没有实际用资源复现一遍,所以很可能有疏漏之处,即有些效果的实现还需要做其他操作。本篇的目标并不是完全学会操作实现这些功能,而是使自己对这些功能有个大致的印象,我相信这有助于后续对更复杂粒子系统的学习。
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 与蓝图交互
粒子的启动由蓝图控制(蓝图中的逻辑是用一个随机的时间来启动粒子系统)
使用
其中Effect
是ParticleSystemComponent
。
1.7 从骨骼发射粒子
使用
添加模块:
编辑参数:
需要注意的是Skel Mesh Actor Param Name
是BoneSocketActor
,这个参数将帮助粒子系统和实际场景中的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》。
使用
首先,粒子的材质中需要有动态参数的节点,例如这里的参数名分别为temperature
、Param2
、Param3
、Param4
(后三个是为了测试而增加的,不影响实际效果):
粒子系统中添加模块:
然后编辑参数的变化,例如temperature
:
2.4 事件驱动的出生
粒子的死亡触发了另外发射器的粒子的出生
特性
可以通过Event Generator
来定义一些事件,之后通过EventReceiver Spawn
来接收这个事件来生成粒子。关于事件的模块详见《事件模块 | Unreal Engine Documentation》
使用
添加事件生成模块:
编辑参数,例如这里事件类型是Death
,而事件名是First
随后,可以添加事件接收并生成的模块:
在属性中指定事件的类型和名字:
例如,这里实现的逻辑就是:第一个发射器的粒子的死亡触发了第二个发射器粒子的出生,而第二个发射器粒子的死亡触发了第三个发射器粒子的出生:
2.5 带状拖尾
拖尾效果
特性
详见《条带类型数据 | Unreal Engine Documentation》
使用
首先将“类型数据”变为Ribbon
随后可以添加模块:
在这个模块中指定源头的发射器是哪个:
随后可以添加模块:
这将基于“距离”(默认是基于“时间”)来生成粒子,在做类似轨迹的效果中很有用。
2.6 粒子受光
粒子会受到光照的效果。
不过和材质的Shading Model
有关,至少不能是Unlit
,Default Lit
可以。
关于粒子的受光,应该还和很多方面有牵连,之后应该需要更详细的研究。
2.7 粒子用作光源
粒子可以作为光源
特性
详见《粒子光源 | Unreal Engine Documentation》。不过只能用在CPU粒子上。另外要注意的是——性能成本。
使用
添加模块:
2.8 光束
使用光束种类的发射器,并且使用“噪声”形成一种电流激变的效果。
特性
详见《光束类型数据 | Unreal Engine Documentation》
使用
首先将“类型数据”变为Beam
随后可以添加光束相关的模块:
Source
和Target
分别指定了光束的头与尾
而Noise
提供一种噪声的效果。
学习Cascade粒子系统:观察内容示例所展示的特性相关推荐
- JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- python用方括号提取字符中的数值_Python使用re模块正则提取字符串中括号内的内容示例...
Python使用re模块正则提取字符串中括号内的内容示例 本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作.分享给大家供大家参考,具体如下: 直接上代码吧: # -*- codi ...
- sql子查询示例_学习SQL:SQL查询示例
sql子查询示例 In the previous article we've practiced SQL, and today, we'll continue with a few more SQL ...
- Flutter学习笔记 —— 完成一个简单的新闻展示页
Flutter学习笔记 -- 完成一个简单的新闻展示页 前言 思路分析 案例代码 结束语 上图 前言 刚学Flutter不久,今天我们来看看如何使用 Container & ListView实 ...
- 数据挖掘课程学习——序列模式发现相关内容调研
数据挖掘课程学习--序列模式发现相关内容调研 本次实验完成"序列模式发现"的相关内容调研,主要内容包括:什么是序列模式发现:应用在哪些领域:经典的算法有哪些:应用在怎样的数据上:得 ...
- Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性
Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性 鼠标悬停时:@mouseenter 鼠标离开时:@mouseleave 利用以上来绑定相应方法,例如: <div @mouseleav ...
- js动态改变下拉菜单内容示例 .
<HTML><HEAD><TITLE>动态改变下拉菜单内容示例</TITLE></HEAD><SCRIPT LANGUAGE=java ...
- 安卓学习笔记36:内容提供者
文章目录 一.内容提供者 (一)概述 (二)作用 二.案例演示 - 显示系统联系人 (一)运行效果 (二)涉及知识点 (三)实现步骤 1.创建安卓应用[DisplayContacts] 2.将背景图片 ...
- python爬去新浪微博_Python爬虫爬取新浪微博内容示例【基于代理IP】
Python爬虫爬取新浪微博内容示例[基于代理IP] 发布时间:2020-09-07 10:08:14 来源:脚本之家 阅读:120 本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参 ...
最新文章
- mysql 数据库的同步问题
- Mybatis中mapper文件中的两层循环
- Mysql数据库表复制操作语句
- 从零开始学JavaScript三(变量)
- python基础教程-Python基础教程,Python入门教程(非常详细)
- 《沟通的技术——让交流、会议与演讲更有效》一第一部分 建导准备
- synchronized的实现原理用法详解
- FS2116C输入3.7V输出12V2.2A高效升压IC芯片
- riscv-gnu-toolchain下载安装
- VCC,GND,VSS,VDD的理解
- ios睡眠分析 卧床 睡眠_iPhone睡眠模式:教你设置追踪睡眠排程与提升睡眠品质...
- Harmony OS har包生成和使用技巧
- 早上空腹喝酸奶好吗?
- 笔记本不显示计算机储存盘,电脑开机黑屏只有鼠标箭头的解决办法 电脑硬盘无法分区怎么办...
- 这几本值得你一看再看的程序员素养必备好书
- 基于PHP+MySQL的美容会所企业资产管理系统
- IMP-00017: following statement failed with ORACLE error 20005:(表统计信息被锁)
- 【论文】论文整体结构(以项目干系人管理为例)
- 房价必然增长的十个原因
- 在Wifi网络中嗅探明文密码(HTTP POST请求、POP等)