Niagara_Advanced内容示例 1.1 Simulation Stage Fill Render Target

在这里插入图片描述

粒子效果

空间中的Unreal Engine 4的一张纹理图片,始终面向Camera。

Niagara蓝图部分

该蓝图主要是为了引入Simulation Stage。

该功能是GPU粒子的一项功能,如果使用CPU粒子的话,引擎会自动报错。

Simulation Stage,译作模拟阶段,作循环迭代使用,可以理解为在单独一帧上可以多次运行,它的迭代源,可以是粒子,也可以是其他的数据接口。它的用途很多,我们也将在接下来的多个例子中对他进行发掘。

从本例的蓝图中可以发现:在发射器内多了之前没有过的两个stage(阶段,即后面有“+”号的,可添加模块的部分):Fill Render Target和Add Simulation Stage。可以断定这二者是由Simulation Stage激活所带来的;另外,所有使用的参数都是Emitter级别的参数,且Particle Spawn和Particle Update内没有任何内容,说明该粒子使用的是Emitter接管Particle的属性,即用Emitter的属性渲染单个粒子,其最外显的特点,就是Sprite Renderer渲染器部分的Source Mode是Emitter而不是Particles。(参考Niagara场景中的4.2粒子系统)

在这里插入图片描述

在这里插入图片描述

效果实现分析

首先,检查几个关键设置——GPU粒子,Enable Simulation Stage。

在这里插入图片描述

Emitter属性参数(1):创建位置Position,缩放SpriteSize。分别绑定在Sprite Renderer里的Position Binding和Sprite Size Binding上,用以控制位置和缩放。

在这里插入图片描述

在这里插入图片描述

Emitter属性参数(2):创建纹理采样Texture Sample,渲染目标Render Target 2D。Texture Sample表示对纹理的采样行为并不保存采样结果,相当于是粒子访问纹理的入口(读取纹理数据)。Render Target 2D定义了一个2D的渲染目标,可以简单理解为一个用于纹理显示的工具(显示纹理数据)。

在这里插入图片描述

进入今天的主角——Simulation Stage。参考下图流程,可以知道这个Fill Render Target其实还是由Add Simulation Stage 创建而来的(其命名是在模块内自行定义的)

在这里插入图片描述

在这里插入图片描述

这里Simulation Stage里的Iteration Source,迭代源,即对哪个数据进行迭代运算。这里设置的是Data Interface,因为我们要对Render Target 2D进行逐像素的采样赋值运算。这里的Iterations迭代次数我还没有太理解,不过对于本例来说影响不大,我们暂时搁置。

后面的一个模块是一个自定义的模块(Scratch Module),有两个前面做了初始化的输入参数:Render Target 2D,Texture Sample。双击模块进入。

在这里插入图片描述

Map Get是从外部拿到参数(拿到了外部定义好的Render Target 2D和Texture Sample),然后从纹理上采样到RGBA的值赋予Render Target 2D相应位置的Texel上。在下面计算采样UV的部分里,Execution Index是需要重点理解的概念(默认情况下Execution Index返回的是正在执行的粒子的Index,但是本例中没有粒子particle,所以它是什么呢,联系上下文我判断它是纹素Texel的索引,因为本例的Iteration source是Render Target 2D,所以这里也做了相应的调整)。计算UV的过程是逐Texel(根据Execution Index得到Texel的横纵索引)分别除以横纵宽度(相当于归一化)。

在这里插入图片描述

最后,就是要把得到的Render Target 2D显示出来。这时候肯定要去看渲染器绑定的情况。这里它采用了通过材质参数的方法,即将Niagara的变量和材质中的参数进行绑定。

在这里插入图片描述

来到材质蓝图,找到对应材质参数FillRT,是一个TextureObjectParameter,即Niagara通过影响这个纹理参数来显示其采样得到的纹理。
在这里插入图片描述

简化一下,大致结果相同。(以后可能会出材质的相关笔记,这里不展开讨论)

在这里插入图片描述

总结

作为Niagara Advanced(高级Niagara)的第一个例子,看似比较简单,但是将其理解着实花费了我不少功夫,主要是针对SimulationStage和ScratchModule等这些的用法、流程和原理并不是特别得熟悉(当然主要我还是不想对着个分析半天自己却还一知半解)。不过万变不离其宗,凭借对一些基础概念的扎实理解(迭代,采样,UV,材质参数等),还是能够最终将这篇解读文章顺利完成。

### 回答1: 《niagara_4_developercourse_labexercises.pdf》是一份关于Niagara 4开发者课程实验练习的PDF文件。Niagara 4是特尔斯控制系统公司开发的一款用于建筑自动化的软件平台,旨在提供集成管理各种设备和技术的解决方案。这份文件可能包含了一系列实验练习,旨在帮助学习者掌握Niagara 4的开发和配置技巧。 这些实验练习可能涉及不同的主题,包括系统架构、设备配置、图形界面设计、数据收集与分析等。学习者可能需要按照指导进行一系列的实验任务,通过实践来熟悉Niagara 4的各项功能和工具。这些实验练习可以帮助学习者了解如何使用Niagara 4平台来创建自定义的控制策略、设置定时任务、监视和控制设备,以及收集和分析数据等。 通过完成这些实验练习,学习者可以获得对Niagara 4开发和配置过程的实际经验,并加深对系统的理解。这份文件可能包含了实验指南、示例代码、实验结果分析等各种信息,以便学习者能够按照指导顺利完成实验任务。 总之,《niagara_4_developercourse_labexercises.pdf》是一份提供Niagara 4开发者课程实验练习的文件,通过完成其中的实验任务,学习者可以提高他们在Niagara 4平台上开发和配置的能力。 ### 回答2: niagara_4_developercourse_labexercises.pdf 是一份开发者课程实验练习的文档。 这份文档主要是针对Niagara 4开发者课程中的实验练习而编写的。Niagara 4是一种基于Tridium公司的框架和平台,用于建立和管理建筑自动化系统。开发者课程旨在帮助开发人员深入了解Niagara 4的功能和特性,并提供实践的机会来掌握其开发技术。 在这份文档中,会列出一系列的实验练习,帮助开发者逐步学习和实践Niagara 4的开发过程。每个实验练习都会有详细的步骤和指导,包括设置环境、创建项目、编写代码等等。开发者需要按照文档的指示一步步地完成每个实验,同时还需要理解实验的目的和背景。 这份文档的目的是帮助开发者通过实践加深对Niagara 4的理解和掌握。通过每个实验的完成,开发者可以逐步提升其在Niagara 4开发方面的技能。实验的内容涵盖了不同的主题和技术,包括系统建模、设备接入、数据处理等等。 总之,niagara_4_developercourse_labexercises.pdf 是一份Niagara 4开发者课程的实验练习文档,通过实践完成每个实验,开发者可以逐步提升其在Niagara 4开发方面的能力和技术。 ### 回答3: "niagara_4_developercourse_labexercises.pdf" 是一个文件名,可能是一个包含关于 Niagara 4 开发者课程实验练习的 PDF 文件。 在这个文件中可能包含了一些与 Niagara 4 开发相关的实验练习,供开发人员使用。该 PDF 可能包含了一些说明、指导或教程,以帮助开发人员学习和实践 Niagara 4 系统的开发技术。这些实验练习可能涉及到创建和配置 Niagara 4 网络、开发自定义应用程序、编写 Niagara 4 控制程序等。 对于想要学习并使用 Niagara 4 技术的开发人员来说,这个文件应该是一个很有用的资源。通过完成其中的实验练习,开发人员可以加深对 Niagara 4 系统的理解,掌握相关的开发技能,并在实际项目中应用这些技能。 需要注意的是,为了更好地利用这个文件,开发人员可能需要先了解基本的 Niagara 4 系统知识和开发概念。此外,建议开发人员按照文件中的顺序逐个完成实验练习,以获得更好的学习效果。 总而言之,“niagara_4_developercourse_labexercises.pdf” 是一个帮助开发人员学习 Niagara 4 系统开发技术的实验练习文件,对于想要学习并应用 Niagara 4 的开发人员来说是一份有价值的资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Claude的羽毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值