Niagara内容范例

概述内容范例项目中提供的Niagara粒子系统范例。

Windows
MacOS
Linux

NiagaraHoudini Niagara 贴图包含粒子系统的数个视觉效果和范例,展示Niagara粒子系统的部分功能。

此类贴图展示如何创建移动粒子、发生碰撞并生成其他粒子的粒子,以及如何对关卡中的网格体采样等。

Niagara贴图

Niagara 贴图展示基础、中级和高级的粒子系统集。

在内容浏览器的 Maps 文件夹访问内容范例项目中的此贴图。

NiagaraCE.png

范例

展示内容

简单粒子系统

1.1 简单Sprite发射器(Simple Sprite Emitter)

使用Niagara粒子系统的简单sprite发射器范例。

1.2 简单网格体发射器(Simple Mesh Emitter)

使用Niagara粒子系统的简单网格体发射器范例。

1.3 简单GPU发射器(Simple GPU Emitter)

使用Niagara粒子系统的简单GPU发射器范例。

1.4 Sprite朝向(Sprite Facing)

Sprite朝向粒子系统的范例。其展示可朝向摄像机或可朝向任意向量的sprite。在本范例中,向量位于系统中心与粒子自身之间。该向量之后基于发射器的年龄创建旋转sprite。

1.5 按值混合属性(Blend Attribute by Value)

本范例使用动态值来控制粒子与发射器原点之间的距离,以混合各个属性(如颜色、比例、旋转和其他参数)。

中级粒子系统

2.1 静态光束(Static Beams)

本范例展示如何使用静态光束,此类光束通过静态起点和终点生成,而非逐帧动态更新。与级联不同,各光束分段均为模拟粒子,将深受力或其他效果的影响。

2.2 动态光束(Dynamic Beams)

本范例展示具有终点和切线的动态光束,将每帧重新计算此类终点和切线。使用 运行(Play)模拟(Simulate) 查看终点和切线的实时更新。

2.3 多个渲染器(Multiple Renderers)

本范例展示模拟时可用于驱动多个渲染器的Niagara粒子系统。此范例展示驱动sprite、网格体和条带渲染器的单点模拟。

2.4 位置事件(Location Events)

本范例展示使用先导粒子发射器的位置事件,该发射器将其位置作为事件发送到该粒子系统中的其他两个发射器,使之生成该位置。解算粒子的位置和速度后,在帧的最后发送事件。

2.5 表达式(Expressions)

表达式是HLSL的小片段,可用于在堆栈中,无需新建模块的情况下,排队创建微观行为。本范例未使用模块来影响模拟,仅使用和表达式及动态输入结合的变量直接设置。

2.6 碰撞(Collision)

本范例展示如何处理要发送到不同发射器的碰撞事件,其将生成粒子以响应该碰撞事件。通过CPU上的线条追踪或者GPU上的深度缓冲/距离场检查完成碰撞查询。将保存查询结果,并供后续模块使用。

高级粒子系统

3.1 静态网格体采样(Static Mesh Sampling)

本范例使用放置在场景中的静态网格体,可由粒子系统进行采样。此设置包括对其属性采样,例如法线、UV、顶点颜色、样本位置和Actor速度。

3.2 渲染器覆盖(Renderer Overrides)

在本范例中,渲染器使用的各默认属性都可被模拟中的任意数据覆盖。此处使用的sprite渲染器被给予新位置,作为箭头网格体位置处的偏移量,并由不同于箭头网格体的颜色属性驱动。两者都是相同单个射器的一部分。

3.3 骨架网格体复制(Skeletal Mesh Reproduction)

本范例使用单个粒子系统,使用逐粒子累积多个影响的方法进行基于sprite的网格体复制。事件系统和后期解算混合允许其在不同行为模式之间插值。

3.4 纹理采样(Texture Sampling)

本范例演示通过将纹理映射到场景中粒子的网格,在GPU粒子系统中引用纹理的方式。

Houdini Niagara贴图

Houdini Niagara 贴图演示使用Houdini应用程序创建复杂的过程属性(可用于Niagara粒子系统)的数个范例。

在内容浏览器的 Maps 文件夹访问内容范例项目中的此贴图。

Houdini_NiagaraCE.png

范例

展示内容

1.Houdini数组中生成(Spawn From Houdini Array)

本范例展示在Houdini数组生成粒子所需的最少模块集。在发射器更新部分中,在阵列播放中生成粒子(Spawn Particles From Array Playback) 控制逐tick生成的粒子数量。在粒子生成部分中,处理生成的Houdini粒子(Handle Spawned Houdini Particles) 将在Houdini命名空间中设置粒子和其他Houdini属性的初始位置。

2.按类型生成(Spawn by Type)

类似于 1.Houdini数组中生成(Spawn From Houdini Array) 范例,粒子生成部分中模块的变更将处理 按类型生成的Houdini粒子(Spawned Houdini Particles by Type) 以杀死与类型属性不匹配的粒子。

3.简单事件(Simple Event)

本范例类似于 1.Houdini数组中生成(Spawn From Houdini Array) 范例,但有两处较大的差异:1,已添加名为 User.MasterCSV 的系统参数,使多个模块能够共享同一CSV资源,并且2,共有两个发射器,而非一个。首个发射器读取Houdini数组数据,并发送位置事件。第二个发射器读取位置事件。此为根据Houdini数组提供的数据所生成更复杂粒子系统的基础。

4.创建自定义事件(Creating Custom Events)

本范例基于上一范例 3.简单事件(Simple Event) 构建,用于在Houdini数组中访问自定义数据。需创建自定义事件和事件接收器模块。它还需要结构体以保存事件发送和接收的数据。

5.内插数组(Interpolate Array)

本范例基于 3.简单事件(Simple Event)4.创建自定义事件(Creating Custom Events) 构建。若Houdini数组同时拥有 ID生命(Life) 属性,系统可通过粒子更新部分中名为 UpdatePosFromHoudiniArray 的额外模块内插位置。自定义事件用于将CSV索引(ID)传递到条带ID,以便第二个发射器在本演示中创建各字母的条带。

Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见