虚幻引擎C++(UE C++)的架构非常庞大,图中只列出了常见的类型结构(似乎只有pc端才可以显示清除显示这张图)。
虚幻API由三部分组成,分别是Runtime, Developer utilitiew,和functionality for the Editor,大多数游戏性编程只使用运行时模块,最常见的三个是Corn、CornUObject和Engine。
Corn提供了通信架构,包括了一组标准类型,一个数学库,一个容器库,以及允许Unreal在多平台移植的硬件抽象(操作系统与硬件之间的接口)
基本类型(Basic Types)包括虚幻定义的一组数据类型
数学库(Math)包括FVector,FRotator,FMatrix等
容器(Containers)包括TArray,TList,TMap等
其中的UObject是所有被虚幻引擎管理对象的基类,其中一组宏UClass,UProperty,UFunction等可启动动态功能,如垃圾回收,序列化,网络复制和蓝图(虚幻引擎特有的蓝图编程,可与C++相配合使用)通信
使用宏:
蓝图界面:
Engine定义了与游戏相关联的功能,包含了游戏世界、演员、角色、物理和特效等。其中ACharacter继承于APawn继承于AActor,PlayerController/AIController继承于Controller。
Actor:可以放置到游戏场景中的对象的基本类
APawn:可以被控制的游戏物体,例如玩家角色和AI角色
Character:特殊的Pawn,用于双足类型的角色,并具备一些复杂功能如游泳
PlayerController/AIController:依附并控制对应的Pawn
UE5 C++原创教系列程随缘更新中 ---