阿赵UE学习笔记——28、粒子系统Niagara简介

阿赵UE学习笔记目录

  大家好,我是阿赵。
  继续学习虚幻引擎的使用。这次开始学习粒子系统的使用。

一、Cascade系统

  在介绍UE5的Niagara系统之前,必须先介绍一下旧版本的粒子系统。
  在UE4的时候,虚幻引擎的粒子系统叫做Cascade,然而在UE5之后,粒子系统进行了改进,现在的粒子系统叫做Niagara。
  虽然Cascade系统已经被Niagara取代了,但UE5还是支持Cascade系统,原因很简单,兼容旧项目。很多旧项目升级到UE5,它的特效还是用Cascade做的,如果一下子Cascade不能用,估计就会乱套。而我们学习虚幻引擎,Cascade也是有必要学习的,我们有可能去到一个还在用UE4的项目组,也需要懂得怎样去操作Cascade。
  在UE5里面创建Cascade系统,要在“其他”里面找到:
在这里插入图片描述

  如果在创建项目的时候勾选了包含StarterContent,那么在项目里面也可以找到用Cascade做的粒子特效的例子:
在这里插入图片描述

  Cascade粒子系统做的特效文件,是可以直接拖动到场景里面的:
在这里插入图片描述

  双击打开一个Cascade粒子系统文件,会看到编辑器是这个样子的:
在这里插入图片描述

  布局如上图所示。操作也比较直观,可以同时添加多个发射器在一个Cascade系统里面,然后根据需要设置每个发射器里面的堆栈组件
在这里插入图片描述

  在必须里面,会有这个发射器使用的材质球设置,还有发射器的一些属性。
  然后下面的模块是可以根据自己的需要添加和删除的:
在这里插入图片描述
在这里插入图片描述

  由于这一篇并不是主要介绍Cascade系统,所以细节可以自己去StarterContent文件夹里面找到相应的例子打开来分析。

二、Niagara系统

  作为新的粒子系统,Niagara在整个粒子结构上面做了一些修改。
  首先,在创建的时候,会看到Niagara的发射器和Niagara系统,是分开创建的。
在这里插入图片描述

  之前看Cascade系统的时候,会发现一个Cascade粒子系统里面,也是可以创建很多个粒子发射器,但这些发射器都是内嵌在Cascade粒子系统里面的。但Niagara粒子系统的发射器是单独的。这意味着,我们可以创建一个发射器,并且重复使用在多个不同的Niagara系统里面。

1、创建Niagara发射器

  在选择了创建Niagara发射器后,会有一个选择框弹出,让我们选择怎样创建发射器:
在这里插入图片描述

  第一个选项是可以从一个现成的模板上面创建发射器:
在这里插入图片描述

  UE自带了很多Niagara发射器的模板,如果我们想创建的效果和这些模板相近,可以直接选择模板创建,然后做细节的修改。当然这些模板也可以当做学习资料,供我们分析和学习Niagara发射器应该怎样设置。
  比如我随便选择了一个模板创建,然后双击打开文件,就能看到里面已经有设置好了的发射器堆栈和各种模块。Niagara发射器的编辑界面,和Cascade也很类似,只是它这里只会出现一个发射器的编辑。
在这里插入图片描述

  第二个选项是从一个现有的Niagara发射器里面复制出来一个新的发射器。
  第三个选项,是创建一个完全空白的发射器。
  这里我就尝试从完全空白的发射器创建,看看怎样添加堆栈模块的。

2、编辑Niagara发射器

  这是一个空白的Niagara发射器:
在这里插入图片描述

  可以看到,现在发射器上面是什么模块都没有,所以左上角的预览窗口也不会有粒子显示。
  点击这些阶段堆栈右边的加号,可以在对应的阶段里面添加模块:

在这里插入图片描述
  接下来我添加一些比较基础的模块,让这个粒子有东西出现:
在这里插入图片描述

1.发射器更新:

这个堆栈里面的内容,都是发射器本身的一些属性,我添加了两个模块:
Emitter State:这个是控制生命周期的
Spawn Rate:这个是控制粒子生成频率的

2.粒子生成

这个堆栈里面的内容,是通知粒子生成阶段的属性,我添加了两个模块:
Initialze Particle:初始化粒子,控制粒子创建时的颜色、位置、大小等
Shape Localtion:这是控制粒子发射器的形状

3.粒子更新

这个堆栈里面的内容,是控制粒子在生命周期里面的变化的,我添加了一个模块:
Particle State:控制粒子生命周期状态的,可以删除生命周期结束的粒子

4.渲染

这个堆栈里面的内容是控制粒子表现的,比如粒子用什么方式渲染(精灵、网格、拖尾等),用什么材质球等,这里我添加了一个模块:
Sprite渲染器:通过Sprite的方式去渲染粒子。
添加了这些基本的模块,然后在Spawn Rate里面设置一下发射频率,这时候预览窗口就看到有粒子出现了:
在这里插入图片描述

  接下来在初始化粒子模块里面调节一下粒子的一些属性,比如颜色、大小等:
在这里插入图片描述

  粒子的大小和颜色发生了改变:
在这里插入图片描述

  我想让粒子动起来,所以在粒子生成里面添加了Add Velocity,然后在粒子更新里面添加了Solve Forces and Velocity:
在这里插入图片描述

  然后设置一下Add Velocity里面的力的方向:
在这里插入图片描述
在这里插入图片描述

  现在粒子就开始往上飘动了:
在这里插入图片描述

  然后我再在粒子更新阶段加一个Gravity Force:
在这里插入图片描述

  这个时候,粒子就变成了喷漆了:
在这里插入图片描述

  如果在粒子更新里面再加一个Scale Color,然后调个渐变色,会发现变成彩色喷泉了,粒子会根据生命周期改变颜色:
在这里插入图片描述
在这里插入图片描述

3、创建Niagara系统

  如果我们想将刚才做好的粒子发射器拖到场景里面用,会发现是不行的。
在这里插入图片描述

  这是因为Niagara粒子的发射器,需要嵌套在Niagara系统里面,才能在场景里面使用,所以需要创建一个Niagara系统:
在这里插入图片描述

  创建的时候同样有多个选项,可以选择从什么情况下创建:
在这里插入图片描述

  如果我们很明确想使用哪个发射器来创建,也可以直接在发射器上面鼠标右键来创建Niagara系统。
在这里插入图片描述

  如果我们创建一个空白的Niagara系统,也可以直接把发射器拖动到里面:
在这里插入图片描述
在这里插入图片描述

  默认在Niagara系统的编辑器里面,粒子是不会播放的,所以需要点击下面的三角按钮来播放:
在这里插入图片描述

  也可以拖动多个发射器进来:
在这里插入图片描述

  然后需要哪个发射器播放,可以通过打钩控制:
在这里插入图片描述

  这个时候,就可以把Niagara系统拖动到场景里面使用了:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/549668.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【iOS】——SDWebImage源码学习

文章目录 一、SDWebIamge简介二、SDWebImage的调用流程SDWebImage源码分析1.UIImageViewWebCache层2.UIViewWebCache层3.SDWebManager层4.SDWebCache层5.SDWebImageDownloader层 一、SDWebIamge简介 SDWebImage是iOS中提供图片加载的第三方库,可以给UIKit框架中的控…

思维导图ai生成软件分享5款好用的!

思维导图ai生成软件分享5款好用的! 在快节奏的信息时代,思维导图作为一种有效的思维整理工具,越来越受到人们的青睐。它能够将复杂的思维过程可视化,帮助我们更好地梳理思路、规划工作。近年来,随着人工智能技术的飞速…

整数运算超越存储单元表示范围:上溢出、下溢出、回绕

示例&#xff1a; /*** brief how about integer-underflow-overflow? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <std…

408数据结构,怎么练习算法大题?

其实考研的数据结构算法题是有得分技巧的 得分要点 会写结构定义&#xff08;没有就自己写上&#xff09;写清楚解题的算法思想描述清楚算法实现最后写出时间和空间复杂度 以上这四步是完成一道算法题的基本步骤&#xff0c;也是其中得分的主要地方就是后面两步。但是前面两…

java-spring 图灵 04

在Spring框架中&#xff0c;可以使用org.springframework.core.io.support.ResourcePatternResolver接口的resolveBasePackage方法来将指定的基础包解析为用于包搜索路径的模式规范。 例如&#xff0c;如果基础包是com.example.app&#xff0c;则可以使用resolveBasePackage方法…

【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵,网络攻击,流量异常【3】

之前用NSL-KDD数据集做入侵检测的项目是&#xff1a; 【1】https://qq742971636.blog.csdn.net/article/details/137082925 【2】https://qq742971636.blog.csdn.net/article/details/137170933 有人问我是不是可以改代码&#xff0c;我说可以。 训练 我将NSL_KDD_Final_1.i…

Open3D 无效点滤波(32)

Open3D 无效点滤波(32) 一、算法介绍二、算法实现1.代码2.效果一、算法介绍 这个算法的目标是从点云数据中去除无效的点,这些无效点可能是由于坐标值为无穷大(inf)或者不是数字(NaN)而产生的。这些无效点可能会导致后续处理步骤出现错误或异常,因此在处理点云数据时需…

品深茶创始人是谁?

据说&#xff0c;品深茶的创始人之前是一个程序员&#xff0c;他在软件行业工作十多年&#xff0c;由于常年熬夜加班再加上抽烟喝酒等不良习惯&#xff0c;导致在一次体检中被查出患上了肾癌&#xff0c;对他来说&#xff0c;期待的财务自由还没实现&#xff0c;身体就已经完蛋…

java(网络编程)

什么是网络编程? 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景&#xff1a;即时通信、网游对战、金融证券、国际贸易、邮件、等等 不管是什么场景&#xff0c;都是计算机跟计算机之间通过网络进行数据传输 Java中可以使用ja…

CSS基础:width,height尺寸属性详解

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。云桃桃&#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web…

vue脚手架CLI的简单使用

目录 初始化脚手架说明具体步骤模板项目的结构main.js入口文件app.vuemain.jsrender main.js 修改默认配置 初始化脚手架 说明 Vue 脚手架是 Vue 官方提供的标准化开发工具&#xff08;开发平台&#xff09;。最新的版本是 4.x。文档: https://cli.vuejs.org/zh/。 具体步骤 …

QFS [VLDB‘13] 论文阅读笔记

原论文&#xff1a;The Quantcast File System (VLDB’13) QFS简介及技术要点 QFS&#xff08;Quantcast File System&#xff09;是由Quantcast开发的一个高效、可扩展的分布式文件系统&#xff0c;旨在提供与Hadoop分布式文件系统&#xff08;HDFS&#xff09;兼容的替代方案…

allure2教程-1-环境搭建

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 自动化测试执行完成后我们需要展示给其他人看&#xff0c;这就要有自动化测试报告了。复杂的测试报告当然可以自己代码实现&#xff0c;但用pytest-html或allure基本也能满足我们生成测试报告的要求了。本小节介绍…

如何基于香橙派AIpro将开源框架模型转换为昇腾模型

在前面的介绍中&#xff0c;我们知道了如何基于香橙派AIpro开发AI推理应用&#xff0c;也大致了解到在推理之前&#xff0c;需要把原始网络模型 (可能是 PyTorch 的、TensorFlow&#xff0c;可能是Caffe的等等) 转换成 .om 模型&#xff0c;然后才能调用昇腾的aclmdlExecute 等…

深度学习 Lecture 8 决策树

一、决策树模型&#xff08;Decision Tree Model) 椭圆形代表决策节点&#xff08;decison nodes)&#xff0c;矩形节点代表叶节点&#xff08;leaf nodes)&#xff0c;方向上的值代表属性的值&#xff0c; 构建决策树的学习过程&#xff1a; 第一步&#xff1a;决定在根节点…

Blender3.3 下载地址及安装教程

Blender是一款开源的3D计算机图形软件&#xff0c;广泛应用于动画制作、游戏开发、建模、渲染等领域。它提供了一套强大的工具和功能&#xff0c;让用户能够进行三维建模、动画制作和视觉效果的创作。 Blender支持多种文件格式的导入和导出&#xff0c;使用户能够与其他软件进…

微博聚类文本分析和可视化

本文使用python抓取微博数据并对微博文本分析和可视化&#xff0c;LDA&#xff08;树图&#xff09;、关系图、词云、时间趋势&#xff08;折线图&#xff09;、热度地图、词典情感分析&#xff08;饼图和3D柱状图&#xff09;、词向量神经网络情感分析、tfidf聚类、词向量聚类…

家居网购项目(手写分页)

文章目录 1.后台管理—分页显示1.程序框架图2.编写数据模型Page.java 3.编写dao层1.修改FurnDao增加方法 2.修改FurnDaoImpl增加方法 3.单元测试FurnDaoTest 4.编写service层1.修改FurnService增加方法 2.修改FurnServiceImpl增加方法3.单元测试FurnServiceTest 5.编写DataUtil…

新版AndroidStudio使用switch-case语句时出现Constant expression required错误

原因: 在新版的Android Studio中使用JDK17以上版本&#xff0c;会出现switch语句报错"Constant expression required"的问题&#xff0c;这是因为在JDK17中switch语句的条件表达式支持使用枚举类型&#xff0c;而这个特性还没有被支持。 解决方法: ①在gradle.prope…

pytorch 今日小知识3——nn.MaxPool3d 、nn.AdaptiveAvgPool3d、nn.ModuleList

MaxPool3d — PyTorch 2.2 documentation 假设输入维度&#xff08;1,2,3,4,4&#xff09; maxpool torch.nn.MaxPool3d(kernel_size(2, 2, 2), stride(2, 2, 2), padding(1, 0, 0))F 维的 kernel_size 为 2&#xff0c;说明在 F 维的覆盖的 frame 数为 2&#xff0c;也就是…