UE4 “Level” 的组成关系及详讲 (随记系列2_Level)

时间:2024-04-04 10:27:28

UE4 “Level” 的组成关系及详讲 (随记系列2_Level)

本次专项讲解UE4里每个关卡Level的组织构成 。通过分析关卡Level的组织构成,了解掌握创建一个新关卡Level时,应该创建哪些配备 。


” Level 、LevelBlueprint 、*Mode 、*State ” 关系介绍

“Level 、LevelBlueprint 、*Mode 、*State” 互相搭配构成了整个关卡Level的控制结构 。


Level 介绍

“Level” 就是你创建的场景 。在主菜单里或Content里右键创建出的”New Level”,就是个容器(就当它是个包装袋、包装盒) 。

UE4 “Level” 的组成关系及详讲 (随记系列2_Level)

建好后,双击打开它 。

UE4 “Level” 的组成关系及详讲 (随记系列2_Level)


LevelBlueprint 介绍

“LevelBlueprint”就是关卡Level的主脚本,是整个关卡的全局事件图表,通过事件触发它的逻辑 。它主要负责游戏运行时的逻辑控制 。默认情况下,每个地图有一个”LevelBlueprint”,可以在编辑器里打开编辑 。(可参见UE4官方文档 “LevelBlueprint”)
可在通过工具栏”Blueprints->Open Level Blueprint”打开
UE4 “Level” 的组成关系及详讲 (随记系列2_Level)


*Mode 介绍

“*Mode”是自定义的,继承自GameModeBase或GameMode的Mode 。
自定义的”*Mode”负责关卡Level运行前的规则逻辑设置 。(Mode是什么?就是”逻辑”。详见”随记系列1”)

UE4 “Level” 的组成关系及详讲 (随记系列2_Level)


*State 介绍

“*State”是自定义的,继承自GameStateBase或GameState的State 。
State是什么?就是”数据” 。自定义的”*State”负责记录关卡Level的全局数据 。

UE4 “Level” 的组成关系及详讲 (随记系列2_Level)


*Mode 和 LevelBlueprint 的区别

  • “*Mode”更像是构造函数,更多在游戏运行前设置规则逻辑 。
  • “LevelBlueprint”主要负责游戏运行时的逻辑控制 。让关卡中的对象通过触发它的事件进而执行对应规则逻辑 。(最直接的,在”LevelBlueprint”里可以添加键盘事件,”*Mode”里不能添加 。)

” Level 、LevelBlueprint 、*Mode 、*State ” 如何组成

创建一个关卡Level后,LevelBlueprint会自动生成 。在关卡Level的”World Setting”中把*Mode和*State设置添加即可 。(具体添加,请看”随记系列3”)