Niagara_Advanced内容示例 1.5 Skeletal Mesh Reproduction

本文详细解析了一款游戏中基于GPU粒子的特效实现,涉及自发光粒子的规则模拟和骨架网格体粒子的交互计算,展示了复杂参数如何影响粒子行为及效果的动态调整过程。

在这里插入图片描述

粒子效果

中心是一个人物模型,似乎也是由粒子贴片而成的。此外还有一些发光粒子,在无规则运动,不时会撞击到模型上,导致模型裂开成一些粒子。这些散落的粒子被撞击裂开后,会逐渐恢复原先在模型上的位置。

Niagara蓝图部分

蓝图部分给出了两种实现方案:基于GPU粒子的和基于CPU粒子的。本文将会着重解析基于GPU粒子的实现方案。

GPU粒子的实现方案里又有两个粒子发射器,一左一右分别对应无规则运动的发光粒子和组成人物骨骼模型网格的粒子。其中右边的粒子发射器中明显集中了比较多的自定义操作,这也会是我们分析的重点。

在这里插入图片描述

此外,另一个需要提前提到的点,就是System Spawn里设置了一个System级别的参数Influencers,顾名思义,就是会对其他粒子产生影响的粒子,这里需要填入该粒子所在的粒子发射器的名字(填了第一个也就是自发光粒子发射器的名字)

在这里插入图片描述

效果实现分析

自发光无规则粒子

这个粒子发射器是一个比较常规的粒子发射器。这里做了对每两个Tick间的时间间隔做了一个限制,即防止因为帧与帧的延迟导致的模拟上的问题。这里取了1/60,意味着模拟的是60帧以上的情况,当游戏降到60帧以下时,会采用60帧来进行模拟。

在这里插入图片描述

另外可以注意到,这个发射器在粒子里写入了一个属性(SecondSkeletalMeshInfluencerSpriteScale),而这个属性在这个发射器上并没有被用到,不过由它的名字可以知道,它是会作用在其他的发射器的粒子上。

在这里插入图片描述

骨架网格体粒子

来到骨架网格体粒子,全称应该是用来重建骨架网格体的sprite粒子。下图可以看出,一下就拿出了3w个粒子来“重建reproduction”这个skeletal mesh。

在这里插入图片描述

将粒子拼成骨架网格体的这个模块,就是Initialize Mesh Reproduction Sprite。用User命名空间的属性拿到外部SkeletalMesh,拿到模块里进行采样。勾选Overwrite Intrinsic Variables可以重写Particles里的一些属性。到这里,我们就拿到了一个完全由Sprite粒子组成的小白人。

在这里插入图片描述

下面进入让粒子产生交互的部分。

Iterate Over Influencers Inline

Iterate Over Influencers Inline主要是对三个参数和两个属性进行了读写:Transient.CompositedInfluencerVelocity,Transient.NumberofEffectiveInfluencers,Transient.TotalInfluence以及System.Influencers和Particles.Position。其中,那三个Transient变量是不会在帧与帧之间进行传递的,他们的主要作用是在同一帧不同模块间传递信息。

在这里插入图片描述

这一模块的脚本蓝图相当之长,其引入的一个新的节点是Map For。前面我们已经接触过Map Get和Map Set,分别是用来获取参数和设置参数的。Map For和Map Set的最大差别在于,Map For是一个循环结构,即它会进行自我循环迭代(相当于代码里的for循环,范围是到上一个Map Set,如果没有的话,则从入口开始循环)(此外,Iteration Count是迭代的总数,至于当前迭代的索引,应该是写在了底层代码里)。我这里做一个拆分,主要是依据Map For里迭代的这些变量,看他们是如何变化的。

在这里插入图片描述

Iteration Count代表了总的迭代数,它的取值是直接取到施加影响的发射器中的粒子个数。

Iteration是当前的迭代索引(局部变量),用来记录迭代的进程。

Number of Effective Influencers字面意思是有效影响者的数量,整形;Composited Influencer Velocity字面意思组合影响者的速度,向量;Total Influence意思是总的影响,浮点数。他们三个的值的赋予是通过一个条件判断。

在这里插入图片描述

这个条件判断(if语句)的条件如下图。其操作是通过Iteration作为索引取出Influencers中对应索引的粒子中的Position位置和Velocity速度属性,两者分别返回两个布尔值代表是否

### 回答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 的开发人员来说是一份有价值的资源。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Claude的羽毛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值