UE5 制作游戏框架的部分经验积累(持续更新)

一.顶层 GameInstance

可以使用GameInstance,作为掌控全局的管理者。它首先有着绝对长的声明周期,也就意味着它能随时起作用。

1.我们通常会把它用来存储 核心的数据,这样既方便保存读取,也方便随时初始化加载。

2.它可以管理不同的关卡LeveL。也就是不同的Map,和GameMode。每个关卡有自己的GameMode游戏规则。关卡消失了,它也不会消失。

3.初始化,游戏最开始的时候需要的 配置表之类的。它的生命周期开始的非常早,最大限度的减少了游戏等待资源加载的时间。

二. 第二层 GameMode

它用来存储 每个关卡具体的 游戏逻辑,游戏规则,并存着临时的数据。这些临时数据随时会存到GameInstance的全局数据库里,也会从里面读来用来初始化,或者其他用途。

对于每个关卡,都会有的功能,可以抽象出来一个父类。来让框架更清晰。

三.UI

UI共同的功能,也可以抽象为一个基类。并且基类里都有GameIns 和 音效。由于几乎每个关卡都需要UI,所以可以放到对应每个关卡的GameMode里,有的多有的少。

相关推荐
我一身正气怎能输17 小时前
游戏大厂A*寻路优化秘籍:流畅不卡顿
人工智能·游戏
点金石游戏出海1 天前
玩家为何退出、不付费?读懂这些关键的“行为数据”,解锁增长密码!
游戏·数据分析·用户分析·游戏运营
我一身正气怎能输1 天前
游戏导航网格地图如何自动切割成多边形区域——技术详解大白话长文
游戏
深海潜水员1 天前
【MonoGame游戏开发】| 牧场物语实现 第一卷 : 农场基础实现 (下)
vscode·游戏·c#·.net·monogame
有一个好名字2 天前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
Coder-coco2 天前
游戏助手|游戏攻略|基于SprinBoot+vue的游戏攻略系统小程序(源码+数据库+文档)
java·vue.js·spring boot·游戏·小程序·论文·游戏助手
5***o5003 天前
PHP在电商中的支付集成
sql·ue5·rizomuv
S***42803 天前
C++在游戏中的动画系统
游戏
7***n753 天前
C++在游戏中的Cocos2d-x
游戏·游戏引擎·cocos2d
A***07173 天前
C++在游戏中的阴影渲染
开发语言·c++·游戏