UE4 “Level” 的组成关系及详讲 (随记系列2_Level)
本次专项讲解UE4里每个关卡Level的组织构成 。通过分析关卡Level的组织构成,了解掌握创建一个新关卡Level时,应该创建哪些配备 。
” Level 、LevelBlueprint 、*Mode 、*State ” 关系介绍
“Level 、LevelBlueprint 、*Mode 、*State” 互相搭配构成了整个关卡Level的控制结构 。
Level 介绍
“Level” 就是你创建的场景 。在主菜单里或Content里右键创建出的”New Level”,就是个容器(就当它是个包装袋、包装盒) 。
建好后,双击打开它 。
LevelBlueprint 介绍
“LevelBlueprint”就是关卡Level的主脚本,是整个关卡的全局事件图表,通过事件触发它的逻辑 。它主要负责游戏运行时的逻辑控制 。默认情况下,每个地图有一个”LevelBlueprint”,可以在编辑器里打开编辑 。(可参见UE4官方文档 “LevelBlueprint”)
可在通过工具栏”Blueprints->Open Level Blueprint”打开
*Mode 介绍
“*Mode”是自定义的,继承自GameModeBase或GameMode的Mode 。
自定义的”*Mode”负责关卡Level运行前的规则逻辑设置 。(Mode是什么?就是”逻辑”。详见”随记系列1”)
*State 介绍
“*State”是自定义的,继承自GameStateBase或GameState的State 。
State是什么?就是”数据” 。自定义的”*State”负责记录关卡Level的全局数据 。
*Mode 和 LevelBlueprint 的区别
- “*Mode”更像是构造函数,更多在游戏运行前设置规则逻辑 。
- “LevelBlueprint”主要负责游戏运行时的逻辑控制 。让关卡中的对象通过触发它的事件进而执行对应规则逻辑 。(最直接的,在”LevelBlueprint”里可以添加键盘事件,”*Mode”里不能添加 。)
” Level 、LevelBlueprint 、*Mode 、*State ” 如何组成
创建一个关卡Level后,LevelBlueprint会自动生成 。在关卡Level的”World Setting”中把*Mode和*State设置添加即可 。(具体添加,请看”随记系列3”)