Skip to main content

UE5开发

1 min 176 words

Unreal Engine 5(UE5)开发涉及蓝图交互、编辑器扩展、资源导入、媒体播放等多个方向。本页汇总相关实践经验。

蓝图交互制作

在UE5中使用蓝图制作交互时,核心流程包括:

  • 使用 FrameController 和 ParameterController 管理场景参数
  • 基于 Plane 组件尺寸动态调整 lining_W / lining_H,联动后续 Set 节点
  • 通过蓝图函数拆分逻辑,保持上下文连贯性

命名约定检查器(Naming Validator)

激活UE5命名约定检查器(Naming Validator)用于确保资产命名符合项目规范。可在 Editor Preferences 中启用。

在蓝图间跨引用变量(如 Mat Group Name、Mat Name)时,需确保变量设置为 公开(Public),通过蓝图引用获取实例后赋值。

自定义编辑器工具

UE5 提供两种主要的编辑器扩展方式:

EUC(Editor Utility Component)

  • 创建自定义编辑器工具组件,将方法暴露到细节面板(Details Panel)
  • 在编辑器模式下通过点击调用,适用于自动化流程、批量操作

EUA(Editor Utility Actor)

  • 可放置在场景中的编辑器工具 Actor
  • 作为编辑时单例工具使用,支持交互式操作

注意:UE5 没有官方预制体(Prefab)概念。可通过蓝图或自定义 C++ Actor 组件的方式,将静态网格体、灯光、碰撞体等组合为可复用对象。

导入外部内容文件

将外部导出的 Content 文件夹导入 UE5 空白项目:

  1. 直接将文件夹复制到项目 Content 目录下
  2. 重新打开项目,UE5 会自动扫描并导入资源

使用 Datasmith 导入资源时,烘焙流程中的关键点:

  • 确保模型在 3D 建模软件(3ds Max / Blender / SketchUp)中具备至少两套 UV 映射
  • 第一套 UV 用于材质贴图,第二套专门优化用于光照烘焙(Lightmap)
  • 导入后在 Static Mesh Editor 中确认 UV 通道设置

Electra 媒体播放器循环播放

UE5 的 Electra Media Player 实现视频循环播放:

  • 调用 MediaPlayer 的 SetLooping 方法并勾选 Looping 参数
  • Electra 内部通过 Seek 实现循环,因此 不会触发 On End Reached 事件
  • 不同主机上表现可能不一致

检测循环开始的方案:

  1. 使用 Event Tick 每帧获取播放时间(Get Time)
  2. 检测时间回退(当前时间 < 上一帧时间)判断循环发生
  3. 循环发生时打印日志或执行回调

相关页面