阿赵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系统拖动到场景里面使用了:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】Attention is all you need

摘要 主要的序列转换模型是基于复杂的循环或卷积神经网络,其中包括一个编码器和一个解码器。性能最好的模型还通过一种注意力机制将编码器和解码器连接起来。我们提出了一种新的简单的网络架构,Transformer,完全基于注意机制,完全…

杜牧是唐朝最风流的诗人

杜牧,有“杜紫薇”之称,是宰相杜佑的孙子。李白、杜甫是“大李杜”。杜牧、李商隐是“小李杜”。 杜牧23岁写了《阿房宫赋》,一朝成名天下知。 唐朝晚年,科举和仕途没有出路,杜牧寄情享乐。杜牧怀才不遇,…

C语言--函数递归

目录 1、什么是递归? 1.1 递归的思想 1.2 递归的限制条件 2. 递归举例 2.1 举例1:求n的阶乘 2.2 举例2:顺序打印⼀个整数的每⼀位 3. 递归与迭代 扩展学习: 早上好,下午好,晚上好 1、什么是递归&…

Ubuntu 22.04.4安装Docker引擎

正文共:1024 字 13 图,预估阅读时间:1 分钟 我们前面安装了几次Ubuntu的操作系统(Ubuntu 23.10通过APT安装Open vSwitch),在开始之前,我还是简单提醒一下,从Ubuntu下载页面&#xff…

因式分解技巧1-----一次提净

什么是因式分解? 在小学,我们都学过质因数分解。就比如:,然而我们可以发现!4此时还没有被分解完,于是: 则: 这是小学的质因数分解。那么我们一起看看初中的因式分解。 例1&…

SpringBoot3 函数式web 小记

前言:函数式web是spring5.2之后的一个新特性,Spring Boot 3 进一步优化了这一模型,为开发现代 Web 应用提供了更加灵活、简洁的方法; 函数式web的四大核心对象 - RouterFunction:定义路由信息 - RequestPredicates&am…

深度解析 Spring 源码:三级缓存机制探究

文章目录 一、 三级缓存的概述二、 三级缓存的实现原理2.1 创建Bean流程图2.2 getBean()2.3 doGetBean()2.4 createBean()2.5 doCreateBean()2.4 getSingleton() 三、 三级缓存的使用场景与注意事项3.1 在实际开发中如何使用三级缓存3.2 三级缓存可能出现的问题及解决方法 一、…

检索算法和技术的本质回顾

目录 一、数据结构和存储特点对检索效率的重大影响总结 二、数组和链表的线性结构检索 (一)基本分析 (二)使用二分查找提升数组检索效率 (三)灵活改造链表提升检索效率 问题背景 解决方案 歌曲块链…

循序渐进丨使用 Python 向 MogDB 数据库批量操作数据的方法

当我们有时候需要向数据库里批量插入数据,或者批量导出数据时,除了使用传统的gsql copy命令,也可以通过Python的驱动psycopg2进行批量操作。本文介绍了使用psycopg2里的executemany、copy_from、copy_to、copy_expert等方式来批量操作 MogDB …

[C++][算法基础]求a的b次方模p的值(快速幂)

给定 n 组 ,对于每组数据,求出 的值。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含三个整数 。 输出格式 对于每组数据,输出一个结果,表示 的值。 每个结果占一行。 数据范围 1≤n≤100000, 1≤≤2 …

移动Web学习09-响应式布局bootstrap案例开发

3、综合案例-AlloyTeam移动全端 准备工作 HTML 结构 <title>腾讯全端</title> <link rel"shortcut icon" href"favicon.ico" type"image/x-icon"> <!-- 层叠性&#xff1a;咱们的css 要 层叠 框架的 --> <link rel&…

匿名函数与gorm中的Transaction事务方法

整理下go中的匿名函数&#xff0c;项目中很多地方都在用。 1、函数类型的变量 Go中&#xff0c;函数也是一种数据类型。定义一个函数&#xff0c;把这个函数赋值给一个变量&#xff0c;这个变量就是函数类型的变量&#xff0c;用这个变量等价于直接调函数&#xff1a; packa…

数字阅览室解决方案

一、方案概述 “数字阅览室”概念一经提出&#xff0c;就得到了广泛的关注&#xff0c;纷纷组织力量进行探讨、研究和开发&#xff0c;进行各种模型的试验。随着数字地球概念、技术、应用领域的发展&#xff0c;数字阅览室已成为数字地球家庭的成员&#xff0c;为信息高速公路…

高频前端面试题汇总之JavaScript篇(上)

一、数据类型 1. JavaScript有哪些数据类型&#xff0c;它们的区别&#xff1f; JavaScript共有八种数据类型&#xff0c;分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。 其中 Symbol 和 BigInt 是ES6 中新增的数据类型&#xff1a; Symbol 代…

如何免费申请长期HTTPS证书?

长期HTTPS证书申请步骤&#xff1a; 第一步&#xff1a;确定证书类型 根据你的网站需求&#xff0c;选一种适合的HTTPS证书。一般有这几种&#xff1a; - 域名型&#xff08;DV&#xff09;证书&#xff1a;最基础&#xff0c;验证你对域名的所有权&#xff0c;适合个人网站或…

构建有序链表,有序链表的归并,反转链表

本次将对于构建有序链表&#xff0c;有序链表的归并&#xff0c;反转链表&#xff0c;进行一一介绍和代码分享。 首先是一些链表中的基本的函数&#xff1a; Node* creatList() {Node* headNode (Node*)malloc(sizeof(Node));assert(headNode);headNode->next NULL;retu…

海信电视:中国游戏的影像“黑神话”

【潮汐商业评论/文】 《西游记》最后一难中&#xff0c;通天河老鼋回唐三藏“何时才能修成正果”&#xff0c;《黑神话&#xff1a;悟空》也曾面临这个拷问&#xff0c;如今海信电视与它正在共同回答这个命题。 自2020年发布预告片震动行业后&#xff0c;这部游戏就承载着太多…

Shader 渐变屏幕

渐变 前置工作&#xff0c;创建缓冲&#xff0c;对顶点着色器传递顶点数据 function main() {var canvas document.getElementById(webgl);var gl getWebGLContext(canvas);if (!initShaders(gl, VSHADER_SOURCE, FSHADER_SOURCE)) returnvar n initVertexBuffers(gl); }fu…

HBM 发展史与前景(持续更新)

主页&#xff1a; 元存储博客 文章目录 前言1. JEDEC 规范2. HBM 发展历程3. HBM 应用场景4. HBM 市场前景5. 发展挑战 翻译自&#xff1a; https://namu.wiki/w/HBM 前言 NVIDIA H2 上的 HBM100e。 1. JEDEC 规范 2. HBM 发展历程 HBM技术曾被视为一种噱头&#xff0c;因为它…