当前位置: 首页 > news >正文

UE学习日志#12 Niagara特效大致了解(水文,主要是花时间读了读文档和文章)

1 核心组件(官方文档阅读)

一些介绍主要来自官方文档Niagara概述

1.1 Systems

官方文档中的描述:

        Niagara系统是一种容器,可以放入你要构建该效果的所有内容。在这个系统中,你可以搭建不同的构建块来实现总体效果。

        你可以修改一些系统级的行为,这些修改随后将应用到该效果中所有内容。

Niagara系统设置

        系统编辑器中的 时间轴(Timeline) 面板将显示系统中包含的发射器,并且可以用于管理这些发射器。

1.2 Emitters

官方文档中的描述:

        发射器可用来在Niagara系统中生成粒子。发射器将控制粒子的生成、粒子在生命周期中的遭遇,以及粒子的外观和行为。

        发射器位于堆栈中。在该堆栈中有几个组,而在组中可以放置用于实现各个任务的模块。 组如下所示。

发射器组

  1. 发射器生成(Emitter Spawn)

    此组将定义在CPU上首次创建发射器时将会发生什么。使用此组可以定义初始设置和默认值。

  2. 发射器更新(Emitter Update)

    此组将定义CPU上每一帧发生的发射器级模块。如果你希望粒子在每一帧上持续生成,可以使用此组来定义粒子的生成。

  3. 粒子生成(Particle Spawn)

    当粒子生成时,每个粒子将调用一次此组。此时你可能需要定义粒子的初始化细节,例如粒子的生成位置、粒子的颜色、大小和其他特征。

  4. 粒子更新(Particle Update)

    每一帧上的每个粒子都会调用此组。你需要在此处定义在粒子生命周期中将会逐帧更改的所有特征。例如,粒子的颜色会随着时间逐渐变化。或者,粒子受到各种力的影响,例如重力、旋度噪点或点吸引。你甚至可能需要让粒子随着时间改变大小。

  5. 事件处理器(Event Handler)

    在事件处理器组中,你可以在一个或多个用于定义特定数据的发射器中创建"生成"事件。然后,你可以在用于触发某个行为以响应该生成的事件的其他发射器中创建"侦听"事件。

  6. 渲染(Render)

    最后一个组是渲染组。你可以在此处定义粒子的显示,以及为粒子设置一个或多个渲染器。如果要定义3D模型作为粒子的基础以便在这个基础上应用材质,那么你可能需要使用网格体渲染器。或者,你可能需要使用Sprite渲染器并将粒子定义为2D Sprite。我们提供了很多不同的渲染器来供你选择和试用。

1.3 Modules

官方文档中的描述:

        模块是Niagara中效果的基础构建块。你可以将模块添加到组中来形成堆栈。模块按照自上而下的顺序处理。

发射器模块

        你可以将模块视为能够执行某些数学运算的容器。你需要将数据传送到模块中,然后在模块中对该数据执行一些数学运算,然后在模块结束时将该数据重新写出。

        模块是使用高级着色语言(HLSL)进行构建的,但是可以使用节点在图表中以可视方式进行构建。你可以创建函数(包括输入),或者写入到某个数值或参数贴图中。你甚至可以使用图表中的 CustomHLSL 节点,以内联方式编写HLSL代码。

        你可以双击Niagara中发射器内部的模块,以查看在模块内部发生的数学运算。你甚至可以复制和创建自己的模块。例如,双击"添加速度(Add Velocity)"模块来查看其内部,则可以看到数据流。

 

        脚本首先检索输入 - 速度输入和坐标空间。然后获取粒子的当前速度,以及输入的比例因子。然后,输入速度随之进行调整,变换到正确的坐标空间中,并添加到粒子的当前速度上。该工作完成后,新的粒子速度将会写出,以便于堆栈中其他需要速度信息的任何模块都可以检索该速度。

        所有模块都使用这种基础方法构建,但是部分模块的内部数学运算更加复杂。

1.4 Parameters

官方文档中的描述:

        参数 在Niagara模拟中,是一种数据的抽象化。系统会将参数 类型 分配给参数,以定义参数所表示的数据。参数分为四种类型:

  • 图元(Primitive) :这种类型的参数将定义具有各种精度和通道宽度的数值数据。
  • 枚举(Enum) :这种类型的参数将定义一组固定的指定值,并认定其中一个指定值。
  • 结构体(Struct) :这种类型的参数将定义一组合并的图元和枚举类型。
  • 数据接口(Data Interfaces) :这种类型的参数将定义能够从外部数据源提供数据的函数。此类参数可能是来自UE4其他部件的数据,或者是来自外部应用的数据。

参数

        点击 加号 图标 (+) 并选择 直接设置新参数或现有参数(Set new or existing parameter directly) ,可以将自定义参数模块添加到发射器。这会将 设置参数(Set Parameter) 模块添加到堆栈。点击 设置参数(Set Parameter) 模块上的 加号 图标 (+) 即可设置现有参数,点击 创建新参数(Create New Parameter) 即可设置新参数。

2 Niagara中的大世界坐标

参考官方文档:

Niagara中的大型世界坐标

http://www.lryc.cn/news/527345.html

相关文章:

  • 【数据结构】_链表经典算法OJ:合并两个有序数组
  • Mongodb副本集群为什么选择3个节点不选择4个节点
  • 基于 WEB 开发的手机销售管理系统设计与实现内容
  • LeetCode - Google 大模型校招10题 第1天 Attention 汇总 (3题)
  • Vue3 provide/inject用法总结
  • Linux——网络基础(1)
  • 【记录】日常|从零散记录到博客之星Top300的成长之路
  • 【二分查找】力扣373. 查找和最小的 K 对数字
  • 池化层Pooling Layer
  • 力扣算法题——11.盛最多水的容器
  • 自由学习记录(32)
  • VScode+Latex (Recipe terminated with fatal error: spawn xelatex ENOENT)
  • 「蓝桥杯题解」蜗牛(Java)
  • PHP EOF (Heredoc) 详解
  • pyautogui操控Acrobat DC pro万能PDF转Word,不丢任何PDF格式样式
  • Day32:字符串的复制
  • 基于Mybatis继承AbstractRoutingDataSource使用自定义注解实现动态数据源
  • ZooKeeper 数据模型
  • 【VUE】Vue2中Vue.extend方法
  • MaskGAE论文阅读
  • Mybatis-plus 更新 Null 的策略踩坑记
  • Oracle迁移DM数据库
  • HTML特殊符号的使用示例
  • 数据结构基础之《(15)—排序算法小结》
  • Linux系统下速通stm32的clion开发环境配置
  • 【2024年 CSDN博客之星】我的2024年创作之旅:从C语言到人工智能,个人成长与突破的全景回顾
  • Python 轻松扫描,快速检测:高效IP网段扫描工具全解析
  • go入门Windows环境搭建
  • 安装Ubuntu22.04
  • 对比OpenAI的AI智能体Operator和智谱的GLM-PC,它们有哪些不同?