UE4 GamePlay架构总结 学习笔记
游戏世界,万物皆Actor,Actor再通过Component组装Actor所拥有的功能,Actor再通过UChildActorComponent实现Actor之间的父子嵌套。Actor又通过UChildActorComponent实现Actor之间的父子嵌套众多的Actor由组装成了Level,Level就是用于装载Actor的容器一个个Level又组成一个World而当World进行切换时,就
游戏世界,万物皆Actor,Actor再通过Component组装Actor所拥有的功能,Actor再通过UChildActorComponent实现Actor之间的父子嵌套。
Actor又通过UChildActorComponent实现Actor之间的父子嵌套
众多的Actor由组装成了Level,Level就是用于装载Actor的容器
一个个Level又组成一个World
而当World进行切换时,就用WorldContext来保存切换的过程信息
玩家在切换PersistentWorld的时候,实际上就相当于切换了一个World
整个游戏唯一的GameInstance由Engine对象管理着
GameInstance不光保存World同时要保存以各种方式进入World中开始游戏的Player
Player有着LocalPlayer用于存储本地玩家,也有NetConnection当作远端的连接
玩家利用Player对象接入World之后,就可以开始控制Pawn和PlayerController的生成,有了附身的对象和摄像的眼睛。最后在Engine的Tick心跳脉搏驱动下开始一帧帧的逻辑更新和渲染。
AController是用来控制APawn的一个特殊的AActor
AController同时也根据用法和使用对象的不同分化出:玩家本地的控制器PlayerController,和AI的控制器AIController,而数据配套就是PlayerState
在Level的切换,GameMode也负责协调Actor的迁移。
World构建好了,该玩家进来了,但游戏的方式多样,玩家的接入方式也多样,抽象出了UPlayer实体来实际上控制游戏中的玩家PlayerController的生成数量和方式
所有的数据和逻辑汇集到一起就形成了,UGameInstance对象,代表着游戏的开始和结束。同时为了方便开发者进行玩家存档,提供USaveGame进行全局数据的配套
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)