
虚幻粒子Niagara
文章平均质量分 75
虚幻引擎粒子相关内容
Claude的羽毛
新晋勇者,目标是成为恶龙
展开
-
Niagara_Advanced内容示例 4.2 Export Particle Data to Blueprint
粒子效果从模拟位置不断地向外发射小球,当小球与地板发生碰撞时,会在屏幕坐上角相应地显示出一串文字,显示的是碰撞位置,此外,文字的颜色也各有不同。Niagara蓝图部分本例展示的是从粒子中获取数据拿到蓝图中使用,所以会有一个Actor蓝图负责处理Niagara System中传出的数据,以及一个Niagara System蓝图负责生成粒子、产生数据。可以看到两个蓝图中都伴有非常详尽的注释,先看向Actor类蓝图。Actor类中,主要实现两个函数:Begin Play和Receive Particl.原创 2021-07-02 18:21:35 · 947 阅读 · 1 评论 -
Niagara_Advanced内容示例 4.3 Bind Niagara Curves to Sprite Materials
粒子效果场景中只有一个粒子,其材质呈现出以模拟位置为中心的颜色渐变效果。Niagara蓝图本例的粒子源是发射器,所以可以看到存在操作的阶段主要是EmitterSpawn和EmitterUpdate。其内部的操作主要是对几个参数进行配置。本例设置的目的是展现从Niagara系统传递曲线到材质(Sprite Material)中,这里也指出了目前该特性只支持Sprite Renderer,因为本质上还是传递参数到材质中,对于其他几个渲染器应该是存在一些优化方面的问题。效果实现分析先从配置的几个参.原创 2021-06-23 19:07:35 · 479 阅读 · 2 评论 -
Niagara_Advanced内容示例 4.1 Component Renderer
粒子效果场景中应该有两个粒子发射器,一个负责上半部Sprite粒子运动,另外一个负责下面人形粒子的生成。仔细观察可以得到更多的细节:上半部的粒子发射器似乎发射的也是一个个的粒子系统,因为每个粒子上粒子都有相对独立的运动模式;下半部的人形粒子在生成和湮灭之间,会以一定速率播放挥手的动画,且每个人形粒子的挥手动画速率也有微弱区别。Niagara蓝图部分蓝图中正如我们预料的,有两个发射器,左侧对应上半部Sprite粒子发射器,右侧对应人形粒子发射器。其发射器内部相对较为简单,没有用到Simulation .原创 2021-06-22 20:13:48 · 831 阅读 · 1 评论 -
Niagara_Advanced内容示例 3.1 Color Copy by Cell
Neighbor Grid 3d结合Particle Attribute Reader的应用原创 2021-06-17 20:06:09 · 1048 阅读 · 3 评论 -
Niagara_Advanced内容示例 2.3 Spawn Particles From Another Emitter
粒子效果粒子从原点向四面八方射出(颜色不同),同时其运动的轨迹由一系列的粒子记录下来,随后这些粒子随着时间逐渐缩小、消失。Niagara蓝图部分蓝图中包含两个主要的Emitte——Leaders和Followers,两者都是GPU粒子(当然,我们要讨论的Particle Attribute Reader在CPU粒子和GPU粒子上都适用)。Leaders负责生成牵引粒子,Followers生成跟屁虫粒子。而本例中要介绍的主要就是Followers中的两个模块——Spawn Particles from.原创 2021-06-16 19:43:10 · 846 阅读 · 0 评论 -
Niagara_Advanced内容示例 2.2 Follow The Leader
粒子效果场景中有着多团的粒子,每团粒子中有一个红色大粒子位于粒子团的中心,周边是一些细碎的绿色粒子。每一团的粒子共享着相同的运动规律。Niagara蓝图部分蓝图中主要包含两个部分:Leader红色的引导者,Followers绿色的跟屁虫。两者都是GPU粒子。Emitter里大体的结构和前一例的类似。效果实现分析Leaders——其中的粒子负责生成主运动,从而带动其他Emitter的粒子运动该发射器中的模块都是一些简单的力的仿真模块,只需要额外注意,在Emitter Properties模块里.原创 2021-06-15 18:16:06 · 435 阅读 · 0 评论 -
Niagara_Advanced内容示例 2.1 Particle Attribute Reader
粒子效果这个例子中包含两个例子系统:上部的一团粒子和下部的圆环状粒子。上部的粒子中,左侧的较大的Sprite和右侧的一团粒子颜色会同时发生改变;下部的粒子中,有一个粒子沿着圆环在运动,并且在运动满一周后随机改变颜色,同时,其经过的每个粒子都会相应得转变位运动粒子的颜色。Niagara蓝图部分本例的主要目的是展现Particle Attribute Reader的作用。其中,又有两个Niagara System——一个是GPU粒子,一个是CPU粒子。表明该特性在GPU和CPU粒子上都适用。上部分表现.原创 2021-06-15 18:13:44 · 1115 阅读 · 0 评论 -
Niagara_Advanced内容示例 1.5 Skeletal Mesh Reproduction
粒子效果中心是一个人物模型,似乎也是由粒子贴片而成的。此外还有一些发光粒子,在无规则运动,不时会撞击到模型上,导致模型裂开成一些粒子。这些散落的粒子被撞击裂开后,会逐渐恢复原先在模型上的位置。Niagara蓝图部分蓝图部分给出了两种实现方案:基于GPU粒子的和基于CPU粒子的。本文将会着重解析基于GPU粒子的实现方案。GPU粒子的实现方案里又有两个粒子发射器,一左一右分别对应无规则运动的发光粒子和组成人物骨骼模型网格的粒子。其中右边的粒子发射器中明显集中了比较多的自定义操作,这也会是我们分析的重点.原创 2021-06-15 18:11:19 · 1361 阅读 · 0 评论 -
Niagara_Advanced内容示例 1.4 Sample GBuffer Attributes
粒子效果球状粒子从模型表面生成(模型的各个位置),拥有与最近模型表面相同的颜色、金属度和粗糙度;生成的一段时间后,开始受到重力影响,下坠,与地面产生碰撞。Niagara蓝图部分蓝图部分可以粗略提供的信息有:首先这是一个GPU粒子系统;创建了一个变量暴露给Niagara系统外;有三个新的模块——Skeletal Mesh Location,Sample GBuffer Attributes和Camera Offset,从字面上理解分别是依照骨架网格体位置作为粒子的位置,获取GBuffer中存储的属性值.原创 2021-06-04 18:24:45 · 1122 阅读 · 1 评论 -
Niagara_Advanced内容示例 1.3 Communicate with External Render Targets
粒子效果场景中有一个纹理和一个模型(应用了Unreal Engine 4的logo),但是没有Niagara粒子的标识符。这次展示出来的是一个Actor蓝图类,里面包含了两个组件,UNiagaraComponent和StaticMeshComponent,分别对应了我们看见的纹理和模型。Actor蓝图类的构造脚本(Construction Script)里,首先创建Render Target 2D(256*256),然后将这个返回值设置为Niagara中一个变量(Variable)的引用,这个变量名.原创 2021-06-03 19:02:56 · 1162 阅读 · 0 评论 -
Niagara_Advanced内容示例 1.2 Advect Grid 2D Collection
粒子效果这个例子主要由三部分组成:上边悬于空中、始终面向相机的Unreal Engine 4的黑白Logo,它还会受到某种噪声的影响向四周扭曲;地面上贴着的两张纹理图片,左侧类似于一张迷宫图,但是斜着的线条会动态的改变位置,右侧是一张颜色流动的纹理,上面各种颜色呈现出液体的性质,在互相扩散和浸染。Niagara蓝图部分本例的蓝图包含三个粒子发射器Emitter,对应我们看到的三张效果纹理图。从发射器内的结构来看,跟前面一个章节没有太大的差别,主要是多了一些Simulation Stage。此外这里.原创 2021-06-01 19:46:20 · 1743 阅读 · 1 评论 -
Niagara_Advanced内容示例 1.1 Simulation Stage Fill Render Target
粒子效果空间中的Unreal Engine 4的一张纹理图片,始终面向Camera。Niagara蓝图部分该蓝图主要是为了引入Simulation Stage。该功能是GPU粒子的一项功能,如果使用CPU粒子的话,引擎会自动报错。Simulation Stage,译作模拟阶段,作循环迭代使用,可以理解为在单独一帧上可以多次运行,它的迭代源,可以是粒子,也可以是其他的数据接口。它的用途很多,我们也将在接下来的多个例子中对他进行发掘。从本例的蓝图中可以发现:在发射器内多了之前没有过的两个stage.原创 2021-05-31 19:46:06 · 1871 阅读 · 0 评论 -
Niagara内容示例 4.3 Mesh Orientation vs. Rotational Force
粒子效果有三竖列的粒子,都在绕某个轴进行旋转。根据下面的文本提示来看,应该是每堆粒子的旋转操作的赋予方式不同,分别是直接操作网格体朝向(Mesh Orientation),操作旋转的速度(Rotational Velocity),操作发起旋转的力(Rotational Force)。(理科生可能会比较好懂,其实就是分别操作位置,速度以及加速度,如果你脑中有公式的话,其实这三者做的是同一件事,。)Niagara蓝图部分蓝图中包含了三个发射器(对应三种模式),并配文做出相应的解释。左上角是操作Mesh朝.原创 2021-05-28 20:18:35 · 2826 阅读 · 0 评论 -
Niagara内容示例 4.2 Sprite Renderer With No Particles
粒子效果仅有一片Sprite粒子,随着时间变换切换着大小和颜色。Niagara蓝图部分大段的文字。我在这里总结一下:当我们只需要一个Sprite Particle时候该怎么办呢?这个例子就是为了最小化这个时候的性能消耗。它的做法也很直观,就是让Emitter(发射器)直接接管粒子,所有的sprite粒子属性由Emitter的属性代替(没法代替的置零)。这样的话,就可以去掉大量冗余的脚本(主要是粒子的),从而提升性能。效果实现分析没啥可以分析的。主要是Sprite Renderer这里的sou.原创 2021-05-28 20:15:48 · 225 阅读 · 0 评论 -
Niagara内容示例 4.1 Play Audio Per Paticle
粒子效果中间的圆环粒子旋转,同时伴有音效,音效和旋转速度有着一定的关联。同时会不时得发射出一些sprite粒子,有红蓝两种颜色。红色粒子不受重力,但是受到明显的阻力影响,当期运动速度小到一定程度后(或者和速度没有关系而是一段时间后),会爆裂成更多更细小的粒子,并伴有爆裂的音效(参考烟花);蓝色粒子受重力,并且会与其他模型产生碰撞,碰撞后碎裂成功更多更细小的粒子,并伴有碎裂的音效。Niagara蓝图部分这是我们至今为止遇到的发射器(Emitter)最多的一个Niagara系统,但是无须担心,在我们的拆.原创 2021-05-28 20:12:24 · 1059 阅读 · 2 评论 -
Niagara内容示例 3.4 Texture Sampling
粒子效果粒子生成时聚集表现出虚幻标志的样子,以及“UNREAL ENGINE 4”字样,随后运动,扭曲,直至消失。Niagara蓝图部分蓝图表明,本例使用的核心技术即是GPU的纹理采样功能(仅支持GPU),即从已有纹理图片中进行数据采样传递给粒子进行表现。而采样过程,可以简单对应到UV采样过程,即在粒子形成的网格中,每个粒子拥有一个对应位置,即其在UV坐标系中的对应位置,以该位置对Texture来进行采样操作。效果实现分析粒子生成。这里使用了Spawn Particle in Grid搭配Gr.原创 2021-05-27 18:51:39 · 1086 阅读 · 0 评论 -
Niagara内容示例 3.3 Visibility Tag
粒子效果能看到有多种不同网格体的Mesh粒子,甚至还有Sprite粒子,他们拥有一定的速度和方向,并且会随着时间动态的变化。此外,在右侧那堆粒子中,每个粒子单位会在不同的Mesh以及Sprite上切换,即同一个粒子在不同时间会表现出不同的样子(可能是四面体,圆环,圆片,或是陀螺的样子),似乎是有一个切换按钮在不同的Renderer间进行切换。Niagara蓝图部分蓝图内包含两个发射器,分别对应左右两堆粒子。其差别主要是体现在决定可见性的逻辑上——左侧是在粒子出生阶段随机决定由哪种渲染器渲染,而右侧则.原创 2021-05-27 18:49:25 · 699 阅读 · 0 评论 -
Niagara内容示例 3.2 Renderer Overrides
粒子效果粒子箭头(Mesh)在以随机的初始方向在球面上运动,同时还有粒子圆片(Sprite)随之运动,但是位置却和箭头模型有一定的偏差。Niagara蓝图部分文本部分对渲染器的绑定配置界面(Binding)进行了进一步的说明。主要意思是这些参数的绑定虽然有默认值,但是并不是不能修改和配置的。我们可以根据需要对不同的渲染器、不同的参数使用不同的配置,比如说本例中使用了自己设定的属性参数来作为Position Binding。效果实现分析球面上的运动——以球面为例子生成位置,再加一个涡流速度。速.原创 2021-05-26 20:04:55 · 391 阅读 · 0 评论 -
Niagara内容示例 3.1 Static Mesh Sampling
粒子效果粒子箭头(以网格体渲染的)从球体出生,然后运动吸附到另一个模型表面,位置、方向、法线都似乎是从另一个模型上的点得到的。当我移动模型(模型并不在粒子系统内)时,粒子的运动轨迹也会随之发生改变。Niagara蓝图部分蓝图部分的文档介绍了一种新的命名空间——OUTPUT。这是也是一种用来存储临时数据的变量,他们可以很方便得拿来用,但是不会写入到粒子负载中。同时,他们也不能够在帧与帧之间留存,也不能跨阶段,但是通过其他的方式,如手动写入粒子属性,而实现跨阶段的保存。效果实现分析首先依旧设置了一.原创 2021-05-26 20:02:29 · 1220 阅读 · 0 评论 -
Niagara内容示例 2.5 Expressions
粒子效果粒子有多种不同的颜色,以某种规律在上下起伏,可以看出受到了某种类似潮汐力的作用。充满了很多的随机性。Niagara蓝图部分我最讨厌的蓝图来了…各种参数传递与计算,却没有很明确的过程说明,简直就像是中学时候写理科题目只摆公式和结果,完全不写推导过程,或者是现在的只码代码,不写注释的一些同事们。不过对这个例子,我还是会仔细得将中间的过程分析出来,以便看清它里面到底发生了什么。效果实现分析下面就是数学课了:在Emitter下新建两个新属性:InitialPosition和ZOffset。I.原创 2021-05-25 18:25:50 · 498 阅读 · 0 评论 -
Niagara内容示例 2.4 Location Events
粒子效果从中心点向上发射粒子,粒子的运动有向上的初速度以及向下的重力,同时粒子运动伴随着拖尾效果和以该运动中的粒子为中心的粒子迸发效果,像是一颗燃烧着的带着尾巴的流星划过。Niagara蓝图部分本例的核心——Niagara中的事件系统(Events)。虽说是目前仅支持CPU粒子,但是以Niagara发展的趋势来看,可见的将来GPU中的替代方案也很快会被完善起来。回到Events这里,事件需要有发出者和接收者(即文档中的Event Generators和Event Receivers)。简单来讲,就是.原创 2021-05-25 18:24:04 · 1439 阅读 · 0 评论 -
Niagara内容示例 2.3 Multiple Renderers
粒子效果整体上看,像是卫星在绕着行星运动。可见的,粒子由三部分构成——精灵图片Sprite(绿色圆片),网格体(红色箭头),以及拖尾(蓝色条带)。箭头指向运动方向(速度方向),拖尾似乎又不完全代表粒子的轨迹,说是动态轨迹(似乎是运动的参考轴之类的在发生动态变化)似乎是更加合适,具体需要去到Niagara粒子蓝图中分析实现的方法。Niagara蓝图部分最显眼的要看渲染器部分,本例中将Sprite Renderer、Mesh Renderer和Ribbon Renderer同时进行了渲染,但是对其某些属.原创 2021-05-25 18:22:24 · 445 阅读 · 0 评论 -
Niagara入门笔记(内含TP眼位)
Niagara从入门到出家。记录笔者Niagara之路。原创 2021-05-21 20:09:42 · 1612 阅读 · 3 评论 -
Niagara内容示例 2.2 Dynamic Beam
粒子效果从向着一个方向生成条带,条带沿着某个轴在旋转,类似于舞蹈演员表演的条带舞。Niagara蓝图部分蓝图中文字介绍少了很多…不过起码说清了一件事,就是Ribbon Renderer条带渲染器不支持GPU,只能在CPU粒子的情况下运行。从结构上来看,和之前的Static Beam也没有太大差别(实际上是有的,主要体现在Update Beam,后面会分析到),可见“动态”二字更多的是反映到了参数的获取和传递上。效果实现分析首先来看看Beam Emitter Setup。之前没有细看,遗漏了一个.原创 2021-05-21 19:51:12 · 984 阅读 · 0 评论 -
Niagara内容示例 2.1 Static Beam
粒子效果从中心点向四周随机发散条带光线,每条光线上可以看到明显的粒子,可见条带是将粒子串联了起来,同时条带上有明显的波动,并且颜色与距离中心点的距离有着明显的关系。Niagara蓝图部分这个蓝图展示了Beam(光束?光线?条带?)的制作方法,本质上还是利用粒子,在生成每个粒子时,给定一个RibbonID,然后根据这个值去将粒子进行串联然后渲染条带(Ribbon)效果实现分析那么条带是怎么生成的呢?前面介绍过一个模块——Spawn Burst Instantaneous,可以瞬间生成一定数目的粒.原创 2021-05-21 19:49:07 · 664 阅读 · 0 评论 -
Niagara内容示例 1.5 Blend Attributes by Value
粒子效果从中心点向各个方向发散出粒子,同时粒子仿佛受到原点牵引力的影响而逐渐减速,颜色和大小都和距离原点的位置有着比较明确的关系。在减速到0后,会逐渐向原点加速运动。Niagara蓝图部分虽然是1系列的最后一个粒子示例,这个例子还是非常简单的,没有涉及到很多复杂的计算。主要就是介绍了TRANSIENT这个命名空间下的参数特性。Transient本意“临时的”。在这里他确实就是像一个临时工一样,没有太多的权限(局限在给定的栈内,并且每帧会重新计算,不会在帧与帧之间保存他的数据),但是相应的,工资(消耗.原创 2021-05-21 17:50:53 · 339 阅读 · 0 评论 -
Niagara内容示例 1.4 Sprite Facing
粒子效果粒子在球体表面无规则运动,同时粒子不再始终面向相机,其法向量指向球体中心,并且法向量会随着时间而发生变化,即粒子面片的方向也会发生变化,但是他们的变化是同一时间进行的,即有可能其使用的参数是一个发射器级别以上的而不是粒子级别的参数。Niagara蓝图部分蓝图中首先说明了所使用的参数SineWave是一个发射器级别的参数,所以粒子的旋转是统一时间进行的;同时补充到,发射器和系统这种非逐粒子的参数是会产生同时改变这一效果的。效果实现分析注意到,虽然依旧是以一个区域去生成粒子,但是本例的粒子.原创 2021-05-21 17:46:36 · 663 阅读 · 0 评论 -
Niagara内容示例 1.3 Simple GPU Emitter
粒子效果大量粒子在原点附近一个区域内生成,粒子的运动呈现很大的随机性,随时间不同,其速度大小、方向、颜色等均在改变,总体的轨迹仿佛是海面上的浪花。Niagara蓝图部分这个Niagara System中引入了GPU粒子,意味着可以以较高的性能随意把玩千到十万级别的粒子了(中等配置电脑)。系统和发射器级别的脚本还是运行在GPU上的,而粒子级别的操作则都是由GPU完成的,所以如距离场、纹理采样等操作,都只能在粒子级别(Particle spawn,Particle update)的操作上才可以进行。.原创 2021-05-21 17:42:43 · 653 阅读 · 0 评论 -
Niagara内容示例 1.2 Simple Mesh Emitter
粒子效果粒子从原点生成,随时间不同,其速度方向、朝向等均在变换,总体的轨迹类似一条运动的彩带,粒子到一定距离后湮灭。同时,粒子不是一个简单的sprite,而是某种网格体。Niagara蓝图部分这个Niagara System中正式介绍了Attribute属性这一个概念。这些属性是伴随着各种脚本的一些存储的数据,他们有不同的层级(system,emitter,particle),意味着他们能够共享的程度不同。可以在参数面板,点击“+”号来自定义属性。效果实现分析引入新的Emitter Attr.原创 2021-05-21 17:12:59 · 524 阅读 · 0 评论 -
Niagara示例内容 1.1 Simple Sprite Emitter
粒子效果粒子从原点生成,向上匀速运动,到一定距离后湮灭,同时在每个粒子的生命周期内,其大小和透明度有着明显的变化,可以初步估计,大小和透明度跟粒子当前所处的生命周期内的位置有关。Niagara蓝图部分这个Niagara System是一个入门的Niagara粒子系统,其中布满了官方书写的注释帮助使用者理解其中的各个部分:左侧的蓝色系统脚本控制粒子系统的生命周期,是最外面一个层级的粒子控制脚本。其中的很多属性可以在后面的模块里进行重写。同时这部分创建出来的属性变量,可以在后续由该系统内的发射器和粒子去.原创 2021-05-21 17:04:57 · 855 阅读 · 2 评论 -
Cascade和Niagara的优劣势比较及转换插件
Cascade和Niagara都是虚幻引擎的粒子系统。相比较而言,Cascade的存在时间更长,而Niagara之前一直是以插件形式使用,后来随着功能越来越丰富、技术越来越成熟,在引擎内的集成程度也越来越高,从版本4.25(或者4.24,记不太清了)开始这个插件就默认启用了。现在Niagara也是虚幻主推的粒子系统。原创 2021-05-19 16:06:25 · 4211 阅读 · 0 评论