当前位置: 首页 > news >正文

【UE】游戏运行流程的简单理解

流程图

官方的游戏流程图:

        一般顺序为初始化引擎、创建并初始化 GameInstance、加载关卡,最后开始游戏。

总的来说就是:

        开始游戏-》游戏实例-》关卡-》游戏模式-》玩家控制器-》Pawn、玩家状态、HUD、UMG(可有可无)

1 游戏实例

        负责保存和共享游戏的全局数据和状态。 比如上一个关卡的信息需要在下一个关卡使用时,可以将这些临时数据保存在GameInstance中。(假如需要持久保存数据需要用SaveGame,也就是将数据存储到磁盘中)

        游戏实例中的所有东西(如:函数、宏、变量等)可以随时调用

游戏实例的创建

可以在项目设置中创建一个新的游戏实例

重载函数“初始”是引擎启动后第一个执行的函数

游戏实例的应用举例

        ·初始化基础数据

        ·判断玩家的设备

        ·检查玩家存档

2 关卡

        关卡是Actor的容器,可作为玩家的活动场景。在游戏中,玩家看到的所有对象,交互的所有对象,都保存在一个世界中。这个世界我们称之为 关卡(Level)。在虚幻引擎中,关卡由静态网格体(Static Mesh)、体积(Volume)、光源(Light)、蓝图(Blueprint)等内容构成。

3 游戏模式

        每个关卡对应一个游戏模式,如果关卡没有创建对应的游戏模式,那么引擎将使用自带的游戏模式“GameModeBase”。 

        在联机模式下只有主机才会存在游戏模式实例。

4 玩家控制器

        PlayerController(玩家控制器) 是Pawn和控制它的人类玩家间的接口。PlayerController本质上代表了人类玩家的意愿。

        当您设置PlayerController时,您需要考虑的一个事情就是您想在PlayerController中包含哪些功能及内容。您可以在 Pawn 中处理所有输入, 尤其是不太复杂的情况下。但是,如果您的需求非常复杂,比如在一个游戏客户端上的多玩家、或实时地动态修改角色的功能,那么最好 PlayerController中处理输入。在这种情况中,PlayerController决定要干什么,然后将命令(比如"开始蹲伏"、"跳跃")发布给Pawn。

        同时,某些情况下,则必须把输入处理或其他功能放到PlayerController中。PlayerController在整个游戏在过程中都是一直存在的,但是Pawn可能是临时存在的。 比如,在死亡竞技模式的游戏中,您可能死了又重生,所以您将获得一个新的Pawn,但是您的PlayerController都是一样的。在这个示例中,如果您将分数保存到您的Pawn上, 那么分数将会重置,但是如果您将分数保存到PlayerController上,它将不会重置。

        一个游戏模式可以包含多个玩家控制器,通常单人游戏只有一个玩家控制器,多人游戏有多个玩家控制器。

http://www.lryc.cn/news/297897.html

相关文章:

  • 【数据分析】Excel中的常用函数公式总结
  • ESLint prettier 配置代码风格
  • 涤生大数据实战:基于Flink+ODPS历史累计计算项目分析与优化(上)
  • jvm一级缓存
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Web组件
  • 【Linux】学习-深入了解文件的读与写
  • java实战:销售订单30分钟未支付自动取消
  • 一、西瓜书——绪论
  • 如何连接ChatGPT?无需科学上网,使用官方GPT教程
  • qt学习:串口
  • 145. 二叉树的后序遍历
  • Postgresql 的编译安装与包管理安装, 全发行版 Linux 通用
  • 【Java EE初阶十】多线程进阶二(CAS等)
  • 与AI对话:编写高效Prompt的指南
  • QML用ListView实现带section的GridView
  • docker之程序镜像的制作
  • Git - 每次 git pull/push 时需要账号和密码解决方案
  • C语言中在main函数之后运行的函数
  • pytorch训练指标记录之tensoboard,wandb
  • C语言——oj刷题——实现字符串逆序
  • 空气质量预测 | Matlab实现基于SVR支持向量机回归的空气质量预测模型
  • Vue中的请求拦截器
  • Java奠基】对象数组练习
  • 排序算法---快速排序
  • 算法||实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度
  • 【蓝桥杯冲冲冲】Invasion of the Milkweed G
  • 【JAVA WEB】 百度热榜实现 新闻页面 Chrome 调试工具
  • Linux——动静态库
  • Vulnhub靶机:hacksudo-search
  • Leetcode 188 买卖股票的最佳时机 IV