第14章 基础案例

14.1 案例一:创建基础粒子效果

14.1.1 效果描述

创建一个基础的粒子效果,模拟火焰、烟雾、水花等常见的粒子效果,掌握Niagara粒子系统的基本使用方法。

14.1.2 实现步骤

  1. 创建Niagara系统
  2. 打开UE5编辑器,进入内容浏览器
  3. 右键点击空白处,选择"FX" -> "Niagara System"
  4. 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
  5. 点击"OK",输入名称"BasicParticleEffect",点击"Save"

  6. 配置发射器

  7. 双击打开"BasicParticleEffect",进入Niagara编辑器
  8. 点击"Emitter Update"选项卡,配置发射器的基本属性
  9. 设置"Spawn Rate"为100,每秒生成100个粒子
  10. 设置"Max Particles"为1000,最大粒子数量为1000

  11. 配置粒子初始化

  12. 点击"Emitter Spawn"选项卡,配置粒子的初始属性
  13. 添加"Initialize Particle Position"模块,设置粒子的初始位置
  14. 设置"Position"为(0, 0, 0),粒子从原点开始生成
  15. 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
  16. 设置"Velocity"为(0, 0, 500),粒子向上运动

  17. 配置粒子更新

  18. 点击"Particle Update"选项卡,配置粒子的更新属性
  19. 添加"Update Particle Velocity"模块,设置粒子的速度更新
  20. 设置"Gravity Scale"为0.5,粒子受到重力影响
  21. 添加"Update Particle Life"模块,设置粒子的生命周期
  22. 设置"Life Span"为2.0,粒子生命周期为2秒

  23. 配置粒子渲染

  24. 点击"Particle Render"选项卡,配置粒子的渲染属性
  25. 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
  26. 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
  27. 设置"Sprite Size"为50,粒子大小为50
  28. 设置"Color"为(1, 0, 0, 1),粒子颜色为红色

  29. 测试预览

  30. 点击Niagara编辑器的"Play"按钮,预览粒子效果
  31. 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
  32. 点击"Save"按钮,保存Niagara系统

14.1.3 扩展与优化

  1. 添加随机属性
  2. 添加"Random Range"模块,为粒子的速度、大小、颜色等添加随机值
  3. 设置"Velocity"的随机范围为(-50, 50),粒子速度在X和Y方向有随机变化
  4. 设置"Sprite Size"的随机范围为(20, 80),粒子大小有随机变化
  5. 设置"Color"的随机范围为(0.5, 1.0),粒子颜色有随机变化

  6. 添加物理模拟

  7. 添加"Apply Force"模块,为粒子添加力场效果
  8. 设置"Force"为(100, 0, 0),粒子受到X方向的力场影响
  9. 添加"Turbulence Force"模块,为粒子添加湍流效果
  10. 设置"Strength"为200,湍流强度为200

  11. 优化性能

  12. 减少"Spawn Rate"和"Max Particles",降低粒子数量
  13. 简化材质,减少材质的复杂度
  14. 使用"GPU Particles"选项,将粒子计算从CPU转移到GPU

14.2 案例二:创建环境粒子效果

14.2.1 效果描述

创建一个环境粒子效果,模拟雨滴、雪花、落叶等自然现象,掌握Niagara粒子系统在环境效果中的应用。

14.2.2 实现步骤

  1. 创建Niagara系统
  2. 打开UE5编辑器,进入内容浏览器
  3. 右键点击空白处,选择"FX" -> "Niagara System"
  4. 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
  5. 点击"OK",输入名称"EnvironmentParticleEffect",点击"Save"

  6. 配置发射器

  7. 双击打开"EnvironmentParticleEffect",进入Niagara编辑器
  8. 点击"Emitter Update"选项卡,配置发射器的基本属性
  9. 设置"Spawn Rate"为500,每秒生成500个粒子
  10. 设置"Max Particles"为5000,最大粒子数量为5000

  11. 配置粒子初始化

  12. 点击"Emitter Spawn"选项卡,配置粒子的初始属性
  13. 添加"Initialize Particle Position"模块,设置粒子的初始位置
  14. 设置"Position"为(0, 0, 1000),粒子从高处开始生成
  15. 设置"Position Range"为(1000, 1000, 0),粒子在X和Y方向有随机分布
  16. 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
  17. 设置"Velocity"为(0, 0, -500),粒子向下运动
  18. 设置"Velocity Range"为(100, 100, 50),粒子速度有随机变化

  19. 配置粒子更新

  20. 点击"Particle Update"选项卡,配置粒子的更新属性
  21. 添加"Update Particle Velocity"模块,设置粒子的速度更新
  22. 设置"Gravity Scale"为1.0,粒子受到重力影响
  23. 添加"Update Particle Life"模块,设置粒子的生命周期
  24. 设置"Life Span"为5.0,粒子生命周期为5秒
  25. 添加"Apply Force"模块,为粒子添加风力效果
  26. 设置"Force"为(200, 0, 0),粒子受到X方向的风力影响

  27. 配置粒子渲染

  28. 点击"Particle Render"选项卡,配置粒子的渲染属性
  29. 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
  30. 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
  31. 设置"Sprite Size"为20,粒子大小为20
  32. 设置"Color"为(0.5, 0.7, 1.0, 0.8),粒子颜色为浅蓝色

  33. 测试预览

  34. 点击Niagara编辑器的"Play"按钮,预览粒子效果
  35. 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
  36. 点击"Save"按钮,保存Niagara系统

14.2.3 扩展与优化

  1. 添加碰撞检测
  2. 添加"Particle Collision"模块,设置粒子与场景的碰撞
  3. 设置"Collision Mode"为"Bounce",粒子碰撞后反弹
  4. 设置"Bounce Coefficient"为0.5,反弹系数为0.5
  5. 设置"Friction"为0.3,摩擦系数为0.3

  6. 添加动态效果

  7. 添加"Update Particle Rotation"模块,设置粒子的旋转
  8. 设置"Angular Velocity"为180,粒子旋转速度为每秒180度
  9. 添加"Update Particle Size"模块,设置粒子的大小变化
  10. 设置"Size Scale"为0.5,粒子大小随时间减小

  11. 优化性能

  12. 使用"GPU Particles"选项,将粒子计算从CPU转移到GPU
  13. 减少"Spawn Rate"和"Max Particles",根据设备性能调整粒子数量
  14. 使用"LOD"技术,根据距离调整粒子数量

14.3 案例三:创建UI粒子效果

14.3.1 效果描述

创建一个UI粒子效果,模拟按钮点击特效、进度条特效等UI元素的粒子效果,掌握Niagara粒子系统在UI中的应用。

14.3.2 实现步骤

  1. 创建Niagara系统
  2. 打开UE5编辑器,进入内容浏览器
  3. 右键点击空白处,选择"FX" -> "Niagara System"
  4. 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
  5. 点击"OK",输入名称"UIParticleEffect",点击"Save"

  6. 配置发射器

  7. 双击打开"UIParticleEffect",进入Niagara编辑器
  8. 点击"Emitter Update"选项卡,配置发射器的基本属性
  9. 设置"Spawn Rate"为200,每秒生成200个粒子
  10. 设置"Max Particles"为2000,最大粒子数量为2000

  11. 配置粒子初始化

  12. 点击"Emitter Spawn"选项卡,配置粒子的初始属性
  13. 添加"Initialize Particle Position"模块,设置粒子的初始位置
  14. 设置"Position"为(0, 0, 0),粒子从原点开始生成
  15. 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
  16. 设置"Velocity"为(0, 0, 0),粒子初始速度为0
  17. 添加"Random Cone Velocity"模块,设置粒子的随机速度
  18. 设置"Velocity"为200,粒子随机速度大小为200
  19. 设置"Angle"为360,粒子向各个方向运动

  20. 配置粒子更新

  21. 点击"Particle Update"选项卡,配置粒子的更新属性
  22. 添加"Update Particle Velocity"模块,设置粒子的速度更新
  23. 设置"Damping"为0.95,粒子速度逐渐减小
  24. 添加"Update Particle Life"模块,设置粒子的生命周期
  25. 设置"Life Span"为1.0,粒子生命周期为1秒

  26. 配置粒子渲染

  27. 点击"Particle Render"选项卡,配置粒子的渲染属性
  28. 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
  29. 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
  30. 设置"Sprite Size"为10,粒子大小为10
  31. 设置"Color"为(1, 0, 0, 1),粒子颜色为红色

  32. 测试预览

  33. 点击Niagara编辑器的"Play"按钮,预览粒子效果
  34. 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
  35. 点击"Save"按钮,保存Niagara系统

14.3.3 扩展与优化

  1. 添加颜色渐变
  2. 添加"Update Particle Color"模块,设置粒子的颜色变化
  3. 设置"Color Curve"为从红色到透明,粒子颜色随时间变化
  4. 点击"Color Curve"右侧的按钮,编辑颜色渐变

  5. 添加大小变化

  6. 添加"Update Particle Size"模块,设置粒子的大小变化
  7. 设置"Size Curve"为从大到小,粒子大小随时间变化
  8. 点击"Size Curve"右侧的按钮,编辑大小渐变

  9. 优化性能

  10. 减少"Spawn Rate"和"Max Particles",根据UI元素的大小调整粒子数量
  11. 使用"CPU Particles"选项,对于少量的UI粒子,使用CPU粒子更高效
  12. 简化材质,使用最简单的材质

14.4 案例四:创建武器特效

14.4.1 效果描述

创建一个武器特效,模拟射击特效、爆炸特效等武器相关的粒子效果,掌握Niagara粒子系统在武器特效中的应用。

14.4.2 实现步骤

  1. 创建Niagara系统
  2. 打开UE5编辑器,进入内容浏览器
  3. 右键点击空白处,选择"FX" -> "Niagara System"
  4. 在弹出的"Create Niagara System"对话框中,选择"New System from Scratch"
  5. 点击"OK",输入名称"WeaponParticleEffect",点击"Save"

  6. 配置发射器

  7. 双击打开"WeaponParticleEffect",进入Niagara编辑器
  8. 点击"Emitter Update"选项卡,配置发射器的基本属性
  9. 设置"Spawn Rate"为500,每秒生成500个粒子
  10. 设置"Max Particles"为5000,最大粒子数量为5000

  11. 配置粒子初始化

  12. 点击"Emitter Spawn"选项卡,配置粒子的初始属性
  13. 添加"Initialize Particle Position"模块,设置粒子的初始位置
  14. 设置"Position"为(0, 0, 0),粒子从原点开始生成
  15. 添加"Initialize Particle Velocity"模块,设置粒子的初始速度
  16. 设置"Velocity"为(1000, 0, 0),粒子向前运动
  17. 设置"Velocity Range"为(50, 50, 50),粒子速度有随机变化

  18. 配置粒子更新

  19. 点击"Particle Update"选项卡,配置粒子的更新属性
  20. 添加"Update Particle Velocity"模块,设置粒子的速度更新
  21. 设置"Drag"为0.01,粒子受到空气阻力影响
  22. 添加"Update Particle Life"模块,设置粒子的生命周期
  23. 设置"Life Span"为2.0,粒子生命周期为2秒

  24. 配置粒子渲染

  25. 点击"Particle Render"选项卡,配置粒子的渲染属性
  26. 添加"Render Particle Sprite"模块,设置粒子的渲染类型为精灵
  27. 设置"Material"为"DefaultSpriteMaterial",使用默认的精灵材质
  28. 设置"Sprite Size"为50,粒子大小为50
  29. 设置"Color"为(1, 0.5, 0, 1),粒子颜色为橙红色

  30. 测试预览

  31. 点击Niagara编辑器的"Play"按钮,预览粒子效果
  32. 调整粒子的属性,如速度、生命周期、颜色等,观察效果变化
  33. 点击"Save"按钮,保存Niagara系统

14.4.3 扩展与优化

  1. 添加碰撞检测
  2. 添加"Particle Collision"模块,设置粒子与场景的碰撞
  3. 设置"Collision Mode"为"Destroy",粒子碰撞后销毁
  4. 设置"Collision Events"为"On Collision",碰撞时触发事件

  5. 添加爆炸效果

  6. 添加"Spawn Burst Event"模块,设置爆炸时生成额外的粒子
  7. 设置"Spawn Count"为100,爆炸时生成100个粒子
  8. 设置"Event Name"为"OnCollision",在碰撞事件时触发

  9. 优化性能

  10. 使用"GPU Particles"选项,将粒子计算从CPU转移到GPU
  11. 减少"Spawn Rate"和"Max Particles",根据武器类型调整粒子数量
  12. 使用"Distance Culling"技术,根据距离剔除粒子

本章小结

本章介绍了四个基础案例,包括创建基础粒子效果、环境粒子效果、UI粒子效果和武器特效,通过这些案例,读者可以掌握Niagara粒子系统的基本使用方法和应用场景。每个案例都包含详细的实现步骤和扩展优化建议,帮助读者进一步巩固所学的知识和技能。

下一章将介绍进阶案例,包括创建动态粒子效果、交互式粒子效果、高级渲染效果和性能优化案例等内容。