Bootstrap

UE5 蓝图学习计划 - Day 11:材质与特效

在游戏开发中,材质(Material)与特效(VFX) 是提升视觉体验的关键元素。Unreal Engine 5 提供了强大的 材质系统 和 粒子系统(Niagara),让开发者可以通过蓝图控制 动态材质、光效变化、物体交互特效 等视觉效果。本篇文章将学习如何使用 动态材质(Dynamic Material) 和 粒子特效(Niagara),并结合蓝图实现交互式的视觉效果。

理论学习

  1. 材质系统(Material System)
    材质(Material) 定义了物体的外观,包括颜色、纹理、光照反射等。在 UE5 中,材质可以结合蓝图 动态修改,实现诸如:
    • 颜色变化(如角色受伤时变红)
    • 透明度渐变(如物体逐渐消失)
    • 自发光特效(如科幻门禁系统)
  2. 动态材质(Dynamic Material)
    动态材质实例(Dynamic Material Instance) 允许在游戏运行时修改材质参数,而不影响原始材质:
    • 使用 Create Dynamic Material Instance 创建动态材质实例。
    • 通过 Set Scalar Parameter Value 或 Set Vector Parameter Value 修改材质参数。
  3. 粒子系统(Niagara)
    Niagara 是 UE5 新一代粒子特效系统,能够创建 火焰、烟雾、能量爆炸 等高级特效,并可通过蓝图触发或控制:
    • 在场景中特定位置播放特效。
    • 角色受击时触发火花特效。
    • 武器攻击时生成能量波动。

实践任务:动态材质 + 交互特效

目标

  1. 创建一个动态材质
    • 让物体靠近时变亮(自发光效果)。
  2. 使用蓝图控制材质
    • 通过 Trigger Box 触发材质颜色变化。
  3. 添加粒子特效
    • 在角色触碰物体时触发 闪电粒子效果。

步骤 1:创建动态材质

  1. 创建基本材质

    1. 在 Content Browser 中,右键 Material > Material,命名为 M_GlowingObject。
    2. 双击打开材质编辑器,进行以下操作:
      • 添加一个颜色参数:
        • Vector Parameter(命名为 Color)。
        • 连接到 Base Color 输入。
      • 添加一个自发光参数:
        • Scalar Parameter(命名为 GlowIntensity)。
        • 连接到 Emissive Color 输入。
    3. 保存材质,返回主界面。
      在这里插入图片描述
  2. 在蓝图中创建动态材质

    1. 在 Content Browser 创建一个 Actor 蓝图,命名为 BP_GlowObject。
    2. 添加以下组件:
      • Static Mesh(设置为立方体或球体)。
      • Box Collision(作为触发区域)。
        在这里插入图片描述
  3. 初始化动态材质

    1. 在 Event Begin Play 事件中:
      • 创建动态材质实例:
      • 存储材质变量,以便在后续修改颜色。
        在这里插入图片描述

步骤 2:使用蓝图触发材质变化

  1. 进入触发区域变亮

    1. 在 BP_GlowObject 中,添加 OnActorBeginOverlap(触发事件)。
    2. 修改材质颜色:
      在这里插入图片描述
  2. 离开触发区域恢复

    1. 在 BP_GlowObject 中,添加 OnActorEndOverlap(触发事件)。
    2. 修改材质颜色:
      在这里插入图片描述
  3. 测试效果

    1. 在场景中放置 BP_GlowObject。
    2. 运行游戏,控制角色进入和离开触发区域,观察物体是否变亮和恢复。
      在这里插入图片描述

步骤 3:添加 Niagara 粒子特效

  1. 创建 Niagara 系统

    1. 在 Content Browser,右键 Niagara System,创建 NS_ElectricSpark。
      在这里插入图片描述

    2. 选择 New system from selected emitter(s),点击下一步,选择Fountain,点击加号,点击Finish。
      在这里插入图片描述
      在这里插入图片描述

  2. 在蓝图中播放特效

    1. 在 BP_GlowObject 的 OnActorBeginOverlap 事件中:
      • 添加 Spawn System at Location:
      • 这样,当角色靠近时,物体会变亮并触发特效。
        在这里插入图片描述
  3. 测试效果

    1. 运行游戏,角色进入触发区域,观察 动态材质 + 粒子特效 的组合效果。
      在这里插入图片描述

学习收获

通过今天的学习,你掌握了:

  1. 如何创建动态材质 并使用蓝图控制它的颜色和光效。
  2. 如何结合 Trigger Box 触发材质变化,让物体在角色靠近时发光。
  3. 如何使用 Niagara 粒子系统,在交互事件中播放特效。

下一步学习计划

接下来,我们将学习 存储与加载系统,探索如何使用 SaveGame 让玩家数据(如血量、进度、道具)在游戏重启后保持不变!🚀

;