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

embedded/2025/2/6 1:42:42/

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


http://www.ppmy.cn/embedded/159896.html

相关文章

基于 YOLOv8+PyQt5 的无人机红外目标检测系统:开启智能监测新时代

基于 YOLOv8PyQt5 的无人机红外目标检测系统:开启智能监测新时代 【毕业与课程大作业参考】基于yolov8pyqt5界面自适应的无人机红外目标检测系统demo.zip资源-CSDN文库 在科技飞速发展的今天,无人机技术在各个领域的应用越来越广泛。为了提升无人机在复杂…

node模块查找策略

在路径 Y 中引入 X 模块: 如果 X 是核心模块 a. 返回核心模块 b. 停止 如果 X 以 / 开头 a. 将 Y 设置为文件系统根目录 如果 X 以 ./ 或 / 或 ../ 开头 a. LOAD_AS_FILE(Y X) b. LOAD_AS_DIRECTORY(Y X) c. THROW “not found” 如果 X 以 # 开头 a. LOAD_PAC…

linux 进程补充

环境变量 基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪 里,但是照样可以链接成功&#…

基于python的体育新闻数据可视化及分析

项目 :北京冬奥会体育新闻数据可视化及分析 摘 要 随着社会的不断进步与发展,新时代下的网络媒体获取的信息也更加庞大和繁杂,相比于传统信息来源更加难以分析和辨别,造成了新时代媒体从业者撰写新闻的难度。在此背景下&#xff…

Mac电脑上好用的免费截图软件

在Mac电脑上,有许多免费且功能强大的截图软件可供选择。以下是几款备受推荐的免费截图工具: iShot 功能:iShot是一款免费的截图工具,支持多种截图方式,包括长截图、延时截图、滚动截图、窗口截图、区域截图等。此外&am…

应对现代电子商务的网络威胁—全面安全战略

在当今高度数字化的世界,电子商务企业面临的网络威胁比以往任何时候都更复杂和全球化。不再仅仅是简单的恶意软件或DDoS攻击,如今的威胁来源于复杂的黑客组织、精心设计的定向攻击,甚至是国家支持的网络犯罪活动。企业级电商平台,…

2025-2-3-sklearn学习(50) (51) 完结篇 零落成泥碾作尘,只有香如故。

文章目录 sklearn学习(50) & (51) 完结篇sklearn学习(50) 选择正确的评估器(estimator)sklearn学习(51) 外部资源,视频和谈话51.1 Scientific Python 的新手?51.2 外部教程51.3 视频 sklearn学习(50) & (51) 完结篇 文章参考网站: h…

5 长度和距离计算模块(length.rs)

这段代码定义了一个泛型结构体 Length<T, Unit>&#xff0c;用于表示一维长度&#xff0c;其中 T 表示长度的数值类型&#xff0c;而 Unit 是一个编译时检查单位一致性的占位符类型&#xff0c;不会用于运行时表示长度的值。这个设计允许开发者在编译阶段确保不同单位之间…