第14章 基础案例
14.1 案例一:创建基础粒子效果
14.1.1 效果描述
创建一个基础的粒子效果,模拟火焰、烟雾、水花等常见的粒子效果,掌握Niagara粒子系统的基本使用方法。
14.1.2 实现步骤
- 创建Niagara系统
- 打开UE5编辑器,进入内容浏览器
- 右键点击空白处,选择"FX" -> "Niagara System"
- 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
-
点击"OK",输入名称"BasicParticleEffect",点击"Save"
-
配置发射器
- 双击打开"BasicParticleEffect",进入Niagara编辑器
- 点击"Emitter Update"选项卡,配置发射器的基本属性
- 设置"Spawn Rate"为100,每秒生成100个粒子
-
设置"Max Particles"为1000,最大粒子数量为1000
-
配置粒子初始化
- 点击"Emitter Spawn"选项卡,配置粒子的初始属性
- 添加"Initialize Particle Position"模块,设置粒子的初始位置
- 设置"Position"为(0, 0, 0),粒子从原点开始生成
- 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
-
设置"Velocity"为(0, 0, 500),粒子向上运动
-
配置粒子更新
- 点击"Particle Update"选项卡,配置粒子的更新属性
- 添加"Update Particle Velocity"模块,设置粒子的速度更新
- 设置"Gravity Scale"为0.5,粒子受到重力影响
- 添加"Update Particle Life"模块,设置粒子的生命周期
-
设置"Life Span"为2.0,粒子生命周期为2秒
-
配置粒子渲染
- 点击"Particle Render"选项卡,配置粒子的渲染属性
- 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
- 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
- 设置"Sprite Size"为50,粒子大小为50
-
设置"Color"为(1, 0, 0, 1),粒子颜色为红色
-
测试预览
- 点击Niagara编辑器的"Play"按钮,预览粒子效果
- 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
- 点击"Save"按钮,保存Niagara系统
14.1.3 扩展与优化
- 添加随机属性
- 添加"Random Range"模块,为粒子的速度、大小、颜色等添加随机值
- 设置"Velocity"的随机范围为(-50, 50),粒子速度在X和Y方向有随机变化
- 设置"Sprite Size"的随机范围为(20, 80),粒子大小有随机变化
-
设置"Color"的随机范围为(0.5, 1.0),粒子颜色有随机变化
-
添加物理模拟
- 添加"Apply Force"模块,为粒子添加力场效果
- 设置"Force"为(100, 0, 0),粒子受到X方向的力场影响
- 添加"Turbulence Force"模块,为粒子添加湍流效果
-
设置"Strength"为200,湍流强度为200
-
优化性能
- 减少"Spawn Rate"和"Max Particles",降低粒子数量
- 简化材质,减少材质的复杂度
- 使用"GPU Particles"选项,将粒子计算从CPU转移到GPU
14.2 案例二:创建环境粒子效果
14.2.1 效果描述
创建一个环境粒子效果,模拟雨滴、雪花、落叶等自然现象,掌握Niagara粒子系统在环境效果中的应用。
14.2.2 实现步骤
- 创建Niagara系统
- 打开UE5编辑器,进入内容浏览器
- 右键点击空白处,选择"FX" -> "Niagara System"
- 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
-
点击"OK",输入名称"EnvironmentParticleEffect",点击"Save"
-
配置发射器
- 双击打开"EnvironmentParticleEffect",进入Niagara编辑器
- 点击"Emitter Update"选项卡,配置发射器的基本属性
- 设置"Spawn Rate"为500,每秒生成500个粒子
-
设置"Max Particles"为5000,最大粒子数量为5000
-
配置粒子初始化
- 点击"Emitter Spawn"选项卡,配置粒子的初始属性
- 添加"Initialize Particle Position"模块,设置粒子的初始位置
- 设置"Position"为(0, 0, 1000),粒子从高处开始生成
- 设置"Position Range"为(1000, 1000, 0),粒子在X和Y方向有随机分布
- 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
- 设置"Velocity"为(0, 0, -500),粒子向下运动
-
设置"Velocity Range"为(100, 100, 50),粒子速度有随机变化
-
配置粒子更新
- 点击"Particle Update"选项卡,配置粒子的更新属性
- 添加"Update Particle Velocity"模块,设置粒子的速度更新
- 设置"Gravity Scale"为1.0,粒子受到重力影响
- 添加"Update Particle Life"模块,设置粒子的生命周期
- 设置"Life Span"为5.0,粒子生命周期为5秒
- 添加"Apply Force"模块,为粒子添加风力效果
-
设置"Force"为(200, 0, 0),粒子受到X方向的风力影响
-
配置粒子渲染
- 点击"Particle Render"选项卡,配置粒子的渲染属性
- 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
- 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
- 设置"Sprite Size"为20,粒子大小为20
-
设置"Color"为(0.5, 0.7, 1.0, 0.8),粒子颜色为浅蓝色
-
测试预览
- 点击Niagara编辑器的"Play"按钮,预览粒子效果
- 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
- 点击"Save"按钮,保存Niagara系统
14.2.3 扩展与优化
- 添加碰撞检测
- 添加"Particle Collision"模块,设置粒子与场景的碰撞
- 设置"Collision Mode"为"Bounce",粒子碰撞后反弹
- 设置"Bounce Coefficient"为0.5,反弹系数为0.5
-
设置"Friction"为0.3,摩擦系数为0.3
-
添加动态效果
- 添加"Update Particle Rotation"模块,设置粒子的旋转
- 设置"Angular Velocity"为180,粒子旋转速度为每秒180度
- 添加"Update Particle Size"模块,设置粒子的大小变化
-
设置"Size Scale"为0.5,粒子大小随时间减小
-
优化性能
- 使用"GPU Particles"选项,将粒子计算从CPU转移到GPU
- 减少"Spawn Rate"和"Max Particles",根据设备性能调整粒子数量
- 使用"LOD"技术,根据距离调整粒子数量
14.3 案例三:创建UI粒子效果
14.3.1 效果描述
创建一个UI粒子效果,模拟按钮点击特效、进度条特效等UI元素的粒子效果,掌握Niagara粒子系统在UI中的应用。
14.3.2 实现步骤
- 创建Niagara系统
- 打开UE5编辑器,进入内容浏览器
- 右键点击空白处,选择"FX" -> "Niagara System"
- 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
-
点击"OK",输入名称"UIParticleEffect",点击"Save"
-
配置发射器
- 双击打开"UIParticleEffect",进入Niagara编辑器
- 点击"Emitter Update"选项卡,配置发射器的基本属性
- 设置"Spawn Rate"为200,每秒生成200个粒子
-
设置"Max Particles"为2000,最大粒子数量为2000
-
配置粒子初始化
- 点击"Emitter Spawn"选项卡,配置粒子的初始属性
- 添加"Initialize Particle Position"模块,设置粒子的初始位置
- 设置"Position"为(0, 0, 0),粒子从原点开始生成
- 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
- 设置"Velocity"为(0, 0, 0),粒子初始速度为0
- 添加"Random Cone Velocity"模块,设置粒子的随机速度
- 设置"Velocity"为200,粒子随机速度大小为200
-
设置"Angle"为360,粒子向各个方向运动
-
配置粒子更新
- 点击"Particle Update"选项卡,配置粒子的更新属性
- 添加"Update Particle Velocity"模块,设置粒子的速度更新
- 设置"Damping"为0.95,粒子速度逐渐减小
- 添加"Update Particle Life"模块,设置粒子的生命周期
-
设置"Life Span"为1.0,粒子生命周期为1秒
-
配置粒子渲染
- 点击"Particle Render"选项卡,配置粒子的渲染属性
- 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
- 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
- 设置"Sprite Size"为10,粒子大小为10
-
设置"Color"为(1, 0, 0, 1),粒子颜色为红色
-
测试预览
- 点击Niagara编辑器的"Play"按钮,预览粒子效果
- 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
- 点击"Save"按钮,保存Niagara系统
14.3.3 扩展与优化
- 添加颜色渐变
- 添加"Update Particle Color"模块,设置粒子的颜色变化
- 设置"Color Curve"为从红色到透明,粒子颜色随时间变化
-
点击"Color Curve"右侧的按钮,编辑颜色渐变
-
添加大小变化
- 添加"Update Particle Size"模块,设置粒子的大小变化
- 设置"Size Curve"为从大到小,粒子大小随时间变化
-
点击"Size Curve"右侧的按钮,编辑大小渐变
-
优化性能
- 减少"Spawn Rate"和"Max Particles",根据UI元素的大小调整粒子数量
- 使用"CPU Particles"选项,对于少量的UI粒子,使用CPU粒子更高效
- 简化材质,使用最简单的材质
14.4 案例四:创建武器特效
14.4.1 效果描述
创建一个武器特效,模拟射击特效、爆炸特效等武器相关的粒子效果,掌握Niagara粒子系统在武器特效中的应用。
14.4.2 实现步骤
- 创建Niagara系统
- 打开UE5编辑器,进入内容浏览器
- 右键点击空白处,选择"FX" -> "Niagara System"
- 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
-
点击"OK",输入名称"WeaponParticleEffect",点击"Save"
-
配置发射器
- 双击打开"WeaponParticleEffect",进入Niagara编辑器
- 点击"Emitter Update"选项卡,配置发射器的基本属性
- 设置"Spawn Rate"为500,每秒生成500个粒子
-
设置"Max Particles"为5000,最大粒子数量为5000
-
配置粒子初始化
- 点击"Emitter Spawn"选项卡,配置粒子的初始属性
- 添加"Initialize Particle Position"模块,设置粒子的初始位置
- 设置"Position"为(0, 0, 0),粒子从原点开始生成
- 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
- 设置"Velocity"为(1000, 0, 0),粒子向前运动
-
设置"Velocity Range"为(50, 50, 50),粒子速度有随机变化
-
配置粒子更新
- 点击"Particle Update"选项卡,配置粒子的更新属性
- 添加"Update Particle Velocity"模块,设置粒子的速度更新
- 设置"Drag"为0.01,粒子受到空气阻力影响
- 添加"Update Particle Life"模块,设置粒子的生命周期
-
设置"Life Span"为2.0,粒子生命周期为2秒
-
配置粒子渲染
- 点击"Particle Render"选项卡,配置粒子的渲染属性
- 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
- 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
- 设置"Sprite Size"为50,粒子大小为50
-
设置"Color"为(1, 0.5, 0, 1),粒子颜色为橙红色
-
测试预览
- 点击Niagara编辑器的"Play"按钮,预览粒子效果
- 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
- 点击"Save"按钮,保存Niagara系统
14.4.3 扩展与优化
- 添加碰撞检测
- 添加"Particle Collision"模块,设置粒子与场景的碰撞
- 设置"Collision Mode"为"Destroy",粒子碰撞后销毁
-
设置"Collision Events"为"On Collision",碰撞时触发事件
-
添加爆炸效果
- 添加"Spawn Burst Event"模块,设置爆炸时生成额外的粒子
- 设置"Spawn Count"为100,爆炸时生成100个粒子
-
设置"Event Name"为"OnCollision",在碰撞事件时触发
-
优化性能
- 使用"GPU Particles"选项,将粒子计算从CPU转移到GPU
- 减少"Spawn Rate"和"Max Particles",根据武器类型调整粒子数量
- 使用"Distance Culling"技术,根据距离剔除粒子
本章小结
本章介绍了四个基础案例,包括创建基础粒子效果、环境粒子效果、UI粒子效果和武器特效,通过这些案例,读者可以掌握Niagara粒子系统的基本使用方法和应用场景。每个案例都包含详细的实现步骤和扩展优化建议,帮助读者进一步巩固所学的知识和技能。
下一章将介绍进阶案例,包括创建动态粒子效果、交互式粒子效果、高级渲染效果和性能优化案例等内容。