公司最近开了一个关于UE4的兴趣小组,旨在每天半小时,一个月学习使用UE4,开篇笔记记录下学习的路径。
2020.03.11 Day1
1. 安装UE4 + VS2017
因为公司是新机子,9400f + gtx1650 + win10,依赖都比较全,前几天一遍装完开发环境,没遇到些奇奇怪怪的问题。
2.了解基本概念
UObject类
UObject类是所有Object对象的父类。提供元数据、反射、GC、序列化、编辑器可见(啥意思?)、Class Default Object等。
Actor类
可放入关卡中的对象都是Actor,Actor类是所有Actor的基类。需要挂载组件才需要继承自Actor类,否则就实现一个普通的纯c++类。
Component组件
组件是可以添加到Actor的一项功能,不能独立存在,挂载到Actor上后,Actor可以访问组件的功能。
Pawn 人形体
Pawn继承自Actor,类似一个木偶,被玩家或者游戏AI以非玩家角色(NPC)控制。是玩家或者AI实体在游戏世界中的物理象征,相当于肉体。
控制器和Pawn默认是一对一的关系。
Character 角色
Character继承自Pawn,代表垂直站立的玩家,适用于两组行走的游戏角色,在某些情况下可以直接用简单的Pawn,没必要使用Character。
可以启用骨骼、碰撞。
Controller控制器
分为玩家控制器、AI控制器,玩家控制器处理玩家和游戏的交互,AI控制器不需要人类玩家的意见。
Level 关卡
用户定义的游戏区域,保存为.umap文件,类似于地图。
World 世界
世界场景包含载入的关卡列表,处理关卡流和动态Actor生成。
GameMode 游戏模式
每个关卡只有一个游戏模式,代表执行的游戏规则。
GameState 游戏状态
表示每个联网玩家的游戏状态。包含要复制到游戏中的每个客户端的信息。不追踪玩家特有内容,保存一些和所有人相关的信息。GameMode存在于服务器上,而Game State存在于服务器上并会被复制到所有客户端,保持游戏进程更新。
PlayerState玩家状态
保存玩家自己特有的信息,比如得分之类的。非玩家AI不会拥有玩家状态。
GameInstance
直接继承自UObject,可以根据一个Class直接动态创建出具体的GameInstance子类。单例,只有一个,作为一个Manager。
是UE之下的唯一代言人,可以管理World切换之类的。控制UI,改变全局的配置。
TODO:
C++的一些概念有点忘了,还得翻一下c++的书。
看一下官方一小时入门的教程,看一下编辑器的基本操作。