UE4基础引擎架构

UE4基础引擎架构
引擎概括:
UnrealEngine:这是引擎的基础,他会和操作系统相结合,如果想对系统进行操作必须通过他
UGameInstance:这个是UEngine下的大总管,他负责对游戏引擎进行世界分配,他会见识这个世界的工作情况,并可以随时终止或者启动世界
UWorld:UGameInstance启动对应世界(UEditorWorld,uWorld),世界会管理他地下的所有演员,相当于UE4的导演
ULevel和AActor:ULevel是在UWorld之下,他主要的责任就是对AActor的属集合关系的确认,每个UWorld下必须有存在一个主Level。
AActor的创建形式有两种:
第一种通过一个Level进行预先装载,提前在编辑器中的一个Level下创建出来的AActor,这个Actor会跟着Level进行自动创建。
第二种动态创建AActor,通过Uworld来完成,在创建过程中我们可以通过SpawnActor的参数设定Actor与Level。
Actor可以在他从属的ULeve下找到,也可以从UwWorld下找到,UWorld才是Actor的真正的拥有者。
关于组件式架构
UE4引擎为了自己的通用和复用性采用了组件式架构,引擎的各个部件都是分离工作,为了能让你的游戏对象,或者对象中的功能能通知到引擎内部结构,UE4采用了类工厂化的设计模式,
类工厂设计模式下统一的基类UObject,内存管理可以通知CG内存管理器,进行内存的申请释放。提供了基础的创建和消亡的过程,让你子类可以继承后工作,他提供对当前类型进行序列化的特点,这样可以方便网络进行复制化操作,他提供了类,类型匹配的功能能,可以让你明确到他到底是什么类对象
组件式
一种是作为容器来用的AActor,他就是基础来自于UObject的一个游戏对象容器,他能够容纳组件,让组件替他工作,它同时可以决定组件的生死
他本身也是一个可以自我工作的游戏对象,不一定非要有组件
UActorcomponent组件式依附于AActor的,不能独立存在,他的产生和消亡都是由AActor来决定的
他的分支USceneComponent在组件的基础上增加了三维坐标系的变换功能,并且提供了组件与组件之间的依附黏贴功能,他是一个很重要的分支组件
UPrimitiveComponent这个组件主要是用来提供渲染的,物理特性的组件
架构的类对象的创建过程AActor他的出现于世界有关,所以需要通过世界来实现,我们可以再UObject基类中获取函数GetWorld()函数,他就是你当前正在云翔世界实例对象,
Getworld()->SpawnActor<继承于来自一个AActor的类型>(FSpawnActorParam)
UActorComponent组件出现的方式有两种一种是静态出现,一种是动态出现,当AActor出现时这个组件就存在,这样的组件叫静态组件。动态组件,当游戏运行起来的时候根据我们的需求出现在组件叫动态组件。
有两种出现的方式,一种是静态出现,在当前AActor类的构造函数中创建。一种是动态的出现,出现的地方在BeginPlay或Tick中产生,创建方式NewObject<继承来自于UActorComponent的类的类型>(UObject*Owern);

你可能感兴趣的:(ue4)