虚幻UE 特效-Niagara特效初识

虚幻的Niagara特效系统特别的强大,可以为开发者提供丰富的视觉效果!
本篇笔记对Niagara系统进行初步的学习探索

文章目录

  • 前言
  • 一、Niagara四大核心组件
  • 二、粒子发射器和粒子系统
    • 1、粒子发射器的创建
    • 2、粒子系统的创建
    • 3、Niagara系统的使用
  • 总结


前言

在我们开发游戏等程序时,往往会面临需要好看的视觉效果。
而这些视觉效果往往需要特效来实现,如人物的技能,场景的特效(瀑布、下雪、下雨)等。
学好特效可以让我们程序的视觉效果得到提升。
本篇笔记将对Niagara特效进行简单的介绍。


一、Niagara四大核心组件

Niagara四大核心组件:
1、System(系统)
2、Emitter(发射器)
3、Module(模块)
4、Parameter(参数)

系统System负责全局管理和控制粒子系统,
发射器Emitter负责生成和管理粒子,
模块Module用于定义粒子的属性和行为,
参数Parameter则用于控制粒子的变化。

在这里插入图片描述


二、粒子发射器和粒子系统

首先需要说明的是粒子系统和粒子发射器是 一对多 的关系
一个粒子系统可以对多个粒子发射器

1、粒子发射器的创建

在这里插入图片描述
一般使用第一个–》新建发射器
在这里插入图片描述
父发射器可以使用自己写好的发射器作为父类来继承
在这里插入图片描述
完成后的界面:
在这里插入图片描述
根据上面的结束我们已经知道了四大件:系统、发射器、模块和参数。
我们近一步去了解发射器生成、发射器更新和粒子生成、粒子更新的区别:
发射器生成(Emitter Spawn)
发射器更新(Emitter Update)
粒子生成(Particle Spawn)
粒子更新(Particle Update)
是Niagara系统中的四个不同的阶段,
它们在粒子系统的生命周期中扮演着不同的角色。

发射器生成(Emitter Spawn):这是粒子系统的起始阶段,主要负责设置发射器的初始参数和属性。
这个阶段定义了首次创建发射器时会发生什么,包括粒子的生成位置、速度、方向等基本属性。

发射器更新(Emitter Update):这个阶段发生在每一帧,用于更新发射器的状态和属性。
通过这个阶段,可以动态地改变粒子的生成速率、生命周期、速度等属性,以实现更丰富的视觉效果和行为。

粒子生成(Particle Spawn):这个阶段负责在发射器的作用范围内生成新的粒子。
在这个阶段,可以根据发射器的属性和规则,创建出具有特定外观和行为的粒子。

粒子更新(Particle Update):这个阶段发生在每一帧,用于更新粒子的状态和属性。
通过这个阶段,可以控制粒子的运动轨迹、颜色、纹理等属性,以实现动态和逼真的视觉效果。

2、粒子系统的创建

在这里插入图片描述
一般选取第一个 --》来自所选发射器的新系统
在这里插入图片描述
这样可以根据第一步生成的特效发射器或者模板去叠加使用
在这里插入图片描述
完成后也可以进行发射器的叠加:
在这里插入图片描述
有人会问为什么单独使用Niagara发射器不就可以了,为什么还需要增加一个Niagara系统?
因为Niagara发射器仅仅负责生成和管理粒子,
但还有很多其它的功能需要Niagara系统去控制。
Niagara发射器只能控制一种粒子,
而Niagara系统可以对多个发射器进行控制,
也就可以对多个粒子进行控制。
所以说Niagara系统是全面的控制,可以和其他模块一起叠加使用。

3、Niagara系统的使用

1、直接拖进场景内:
在这里插入图片描述

注意:Niagara发射器无发直接使用,一定要Niagara系统才行:

2、运行时生成
在这里插入图片描述在这里插入图片描述


总结

今天主要对Niagara模块的初步了解。
主要是四大组件核心组件及其功能:

系统System负责全局管理和控制粒子系统,
发射器Emitter负责生成和管理粒子,  
模块Module用于定义粒子的属性和行为,
参数Parameter则用于控制粒子的变化。

Niagara系统的生命周期:

发射器生成(Emitter Spawn):这是粒子系统的起始阶段,主要负责设置发射器的初始参数和属性。
 这个阶段定义了首次创建发射器时会发生什么,包括粒子的生成位置、速度、方向等基本属性。

发射器更新(Emitter Update):这个阶段发生在每一帧,用于更新发射器的状态和属性。
 通过这个阶段,可以动态地改变粒子的生成速率、生命周期、速度等属性,以实现更丰富的视觉效果和行为。

粒子生成(Particle Spawn):这个阶段负责在发射器的作用范围内生成新的粒子。
 在这个阶段,可以根据发射器的属性和规则,创建出具有特定外观和行为的粒子。

粒子更新(Particle Update):这个阶段发生在每一帧,用于更新粒子的状态和属性。 
通过这个阶段,可以控制粒子的运动轨迹、颜色、纹理等属性,以实现动态和逼真的视觉效果。

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

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

相关文章

【SSM框架】初识Spring

初识Spring Spring家族 Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若千个项目,每个项目用于完成特定的功能 ✅Spring Framework(底层框架)Spring Boot(提高开发速度)Spring Cloud&#xf…

C# 图解教程 第5版 —— 第24章 预处理指令

文章目录 24.1 什么是预处理指令24.2 基本规则24.3 符号指令(#define、#undef )24.4 条件编译(#if、#else、#elif、#endif)24.5 条件编译结构24.6 诊断指令(#warning、#error)24.7 行号指令(#li…

最新域名群站开源系统:打造强大网站矩阵,引领SEO优化新潮流!

搭建步骤 第一步:安装PHP和MYSQL服务器环境 对于想要深入了解网站建设的人来说,自己动手安装PHP和MYSQL服务器环境是必不可少的步骤。这将使你能够更好地理解网站的运行机制,同时为后续的网站开发和优化打下坚实基础。 第二步:…

迅腾文化用网络集成化生态系统助力品牌之路的坚实后盾

商业竞争激烈,品牌不仅是企业的标志和形象,更是其核心价值和竞争力的体现。然而,企业在品牌推广过程中面临着诸多如缺乏有效的渠道管理、品牌形象模糊以及竞争激烈的市场环境等。这些阻碍着企业的品牌发展和市场占有率的提升。本文将通过企业…

[GN] nodejs16.13.0版本完美解决node-sass和sass-loader版本冲突问题

项目场景: npm install 运行vue项目时候 问题描述 项目场景:sass-loader ,node-sass出错 ! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: smoore-mes-web1.4.0 npm ERR! Found: webpack3.12.0 npm ER…

【计算机组成原理】高速缓冲存储器 Cache 的写策略(Writing Policy)

写策略 Writing Policy 缓存的写策略指的是确定何时将数据写入缓存或主存的策略。 写命中 Write Hit 全写法 Write Through 在全写法策略中,每次发生写操作时都会将数据同时写入缓存和主存。这样可以保证数据的一致性,但会增加主存的写入操作&#xf…

ubuntu连接xshell怎么连接

在网上找了好多办法都不行 例如 太久没打开Ubuntu可能输入命令查不到IP地址,解决办法也比较简单,首先第一步 确定自己能不能进入管理员root权限(输入命令su),如果没有的话得重新配置,如下图 这是因为当前Ub…

黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(1)准备工作、部门管理

一、准备工作 1.明确需求 根据产品经理绘制的页面原型,对部门和员工进行相应的增删改查操作。 2.环境搭建 将使用相同配置的不同项目作为Module放入同一Project,以提高相同配置的复用性。 准备数据库表(dept, emp) 资料中包含…

[Linux 进程(三)] 进程优先级,进程间切换,main函数参数,环境变量

文章目录 1、进程优先级1.1 Linux下查看进程优先级1.2 Linux 进程优先级的修改PRI and NItop命令配合操作更改优先级 1.3 竞争 独立 并行 并发 2、进程间切换3、Linux2.6内核进程调度队列3.1 活跃进程3.2 过期进程 4 main函数参数 — 命令行参数4.1 利用main函数的参数实现一个…

golang实现rpc方法二:使用jsonrpc库【跨平台】

首先在golang实现rpc方法一net/rpc库中实现了RPC方法,但是那个方法不是跨平台的,没法在其他语言中调用这个实现的RPC方法,接下来我们可以通过jsonroc库实现跨语言的RPC方法。俩种实现方式的代码其实也是差不多的,大差不差&#xf…

Spark---累加器

1.累加器实现原理 累加器用来把 Executor 端变量信息聚合到 Driver 端。在 Driver 程序中定义的变量,在Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。 //建立与Spark框架…

wpf使用Popup封装数据筛选框

(关注博主后,在“粉丝专栏”,可免费阅读此文) 类似于DevExpress控件的功能 这是DevExpress的winform筛选样式,如下: 这是DevExpress的wpf筛选样式,如下: 这是Excel的筛选样式,如下: 先看效果 本案例使用wpf原生控件封装,功能基本上都满足,只是颜色样式没有写…

扫描电镜技术在材料科学中的应用及发展趋势

在材料科学领域,扫描电镜技术扮演着极为重要的角色,广泛应用于多种材料形态结构、界面状况、损伤机制和材料性能预测的研究。本文将深入探讨扫描电镜技术的结构、主要性能、工作原理、试样制备技术以及在不同领域的应用。 第一部分:扫描电镜…

【现代密码学】笔记4--消息认证码与抗碰撞哈希函数《introduction to modern cryphtography》

【现代密码学】笔记4--消息认证码与抗碰撞哈希函数《introduction to modern cryphtography》 写在最前面4 消息认证码与抗碰撞哈希函数MAC概念回顾(是的,我忘记这些缩写是什么了。。)MAC的定义适应性CMA(Chosen Message Attack&a…

Android json功能解析

1. 简介 JAVAScript Object Notation是一种轻量级的数据交换格式具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持)。  JSON采用兼容性很高的文本格式&#xf…

Python | 四、链表

为什么需要链表 在Python中,引入链表这一结构没有像C等语言那样有很多好处,因为Python里的列表和字符串结构已经十分灵活且大小可变,仍保留的好处如下: 列表、字符串等结构是连续存储的,因此如果有一块较小的内存区域…

QuEra 10,000个物理量子位和100个逻辑量子位的量子计算机2026

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

mongoose6.0版以上操作mongodb数据库的基本使用

1、介绍 Mongoose 是一个对象文档模型库,官网 http://www.mongoosejs.net/ 2、作用 方便使用代码操作 mongodb 数据库 3、使用流程 3.1、链接数据库 //1. 安装 mongoose---> npm install mongoose --save//2. 导入 mongoose const mongoose require(&quo…

网络安全B模块(笔记详解)- 网络渗透测试

LAND网络渗透测试 1.进入虚拟机操作系统:BT5中的/root目录,完善该目录下的land.py文件,填写该文件当中空缺的Flag1字符串,将该字符串作为Flag值(形式:Flag1字符串)提交;(land.py脚本功能见该任务第6题) 输入flag sendp(packet) Flag:sendp(packet) 2.进入虚拟机操作…

鸿蒙Harmony-PersistentStorage--持久化存储UI状态储详解

用简单的心境,对待复杂的人生,方能看淡得失,从容入世,潇洒自如,心变得简单了,世界也就简单了 目录 一,定义 二,限制条件 三,使用 一,定义 LocalStorage和App…