UE4学习笔记(1)——简单框架

前言

纪录自己的UE4学习之路

UE4的简单框架

UE创世,万物皆UObject,接着有Actor 。

继承关系

Uobject

Uobject是UE4中最基础的类,具有 元数据、反射生成、GC垃圾回收、序列化、编辑器可见,Class Default Object等功能。

Actor

Actor是UE4中最基本的场景元素,与Unity3D的gameobject相似,本身是一个容器,但是与unity不同的是,Actor没有任何可视化属性,甚至连位置属性也没有。但是也是与Unity相似,可以挂在多个可视化的组件( Component),以达到各种功能,Actor也可以有子Actor。

Actor继承至Uobject,多了 Replication(网络复制),Spawn(生生死死),Tick(有了心跳)等功能。

组件(Component)

组件挂在Actor身上发挥功能,例如位置组件,Actor的最终位置来至于他的根组件。组件也可以有根组件。

Pawn

Pawn是可以被控制的物体,相当于有controller的大脑,他可以是交通工具,鱼等,可以默认为生物的基类。

Character

Character是人形的Actor,继承于Pawn, 默认拥有一个用于碰撞的胶囊体组件(CapsuleComponent)和运动相关的组件(CharacterMoveMentComponent),并具有一些动画相关的功能。可以认为是人性动物的基类。

控制器(Controller)

控制器用于控制Pawn的行为, 一般分为AIController和PlayerController。控制器也是从Actor派生的,因此也可以加入到场景中。

PlayerController

玩家控制器。是Pawn和控制其的玩家之间的桥梁,PlayerController代表了人类玩家的意愿。

AIController

用于控制NPC的控制器,决定了NPC如何与玩家互动。

显示

HUD

UI, 显示玩家的名字,血条,得分等信息。

相机

每个PlayerConroller都有一个PlayerCameraManager,代表了玩家的视角。

游戏规则和状态

GameMode

游戏模式。处理游戏的规则,只存在与服务器端,因此客户端相关的逻辑不能存放在GameMode中。

GameState

游戏状态, 记录游戏的数据,比如当前游戏的进度,世界任务的完成状态等,会自动同步到各个客户端。

PlayerState

玩家状态。记录玩家个人的数据,比如名字分数等,会自动同步到各个客户端。

总结

GamePlay框架使用了MVC架构,其中Pawn是视图,PlayerState是数据模型,PlayerController是控制器。

一个游戏由游戏规则(GameMode)和游戏状态组成(GameState);玩家在游戏里的化身是Pawn,玩家通过PlayerConroller控制着自己的化身,通过PlayerCameraManager观察世界,PlayerState记录了玩家的数据,HUD显示了这些状态;NPC则由AIConroller去控制,与玩家进行互动。

GameFramework

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2021 Opda
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信