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 让玩家数据(如血量、进度、道具)在游戏重启后保持不变!🚀

相关推荐
HaiQinyanAN32 分钟前
【学习笔记】锁+死锁+gdb调试死锁
c++·笔记·学习
无名小猴38 分钟前
Chapter15 cross-origin resource sharing
学习
旧物有情1 小时前
Unity2D 街机风太空射击游戏 学习记录 #12环射道具的引入
学习·游戏
Code季风1 小时前
深入实战 —— Protobuf 的序列化与反序列化详解(Go + Java 示例)
java·后端·学习·rpc·golang·go
xx24061 小时前
React Native学习笔记
笔记·学习·react native
致Great1 小时前
机器翻译与跨语言学习数据集综述
人工智能·学习·机器翻译
Chef_Chen2 小时前
从0开始学习R语言--Day25--A/B测试 vs 多臂老虎机
学习
q188101461672 小时前
8年java开发从零学习人工智能(深度学习)--pp飞桨(百度自研开源框架)
人工智能·深度学习·学习
小狗祈祷诗2 小时前
day43-硬件学习之ARM基础知识
arm开发·学习·嵌入式
最爱干饭了2 小时前
Memory Repair (八)
学习·memory·dft·repair