UE4 初始化流程

http://blog.csdn.net/flushthink/article/details/40295495


自古以来所有的游戏引擎都分为三个大阶段:Init,Loop,Exit。UE4也不例外。

首先找到带有入口函数的文件:Runtime/Launch/Private/XXXX/LaunchXXXX.cpp。Windows平台就将XXXX替换成Windows。

这个文件,实现一个GuardedMainWrapper函数,顾名思义,这个函数是对GuardedMain的包装,将GuardedMain用try\catch包装起来。

GuardedMain位于:Runtime/Launch/Private/Launch.cpp。将整个引擎分为了四个大阶段:引擎预初始(EnginePreInit),引擎初始(EngineInit),引擎循环(EngineLoop),引擎退出(EngineExit)。

通过FEngineLoop对象的PreInit,Init,Tick,Exit来实现,参见Runtime/Launch/Private/LaunchEngineLoop.cpp。

在PreInit阶段主要做了:日志功能的启动,线程池的启动,加载了预初始相关的模块,应用程序层面的初始化(ini配置的缓冲的加载,TaskGraph的启动),RHI初始化,异步IO系统初始化,平台特征模块初始化,游戏物理的初始化,流管理初始化,Slate应用程序的创建,启动渲染线程,加载启动模块。

在Init阶段主要做了:引擎的对象的构造,引擎的命令行控制字处理,时间初始化,引擎的具体初始化。

在Tick节点主要做了:开始帧(请求渲染线程的BeginFrame命令、更新时间以及处理最大更新率、更新FPS图表),重启延迟更新(请求渲染线程的ResetDeferredUpdates、消息泵,引擎的具体循环、Shader的异步编译处理),结束帧(请求渲染线程的EndFrame命令)。

在Exit里主要做了:应用程序预退出(线程池的销毁、Shader编译管理的关闭、在线子系统的关闭、结束游戏物理,粒子顶点工厂池释放,运动模糊释放,停止渲染线程,RHI退出,关闭所有的模块,TaskGraph关闭,流管理关闭,异步IO系统关闭。

最终还会调用一个AppExit,AppExit里主要做了:ini配置缓冲的退出,Log的退出。

Epic Games今天宣布,正式发布“虚幻引擎4”(Unreal Engine 4/UE4),相关所有资源也一并放出。# h9 u6 O( p! y& D) q4 K7 P9 ~# N   只要每个月花19美元,你就能到全部资源,包括拿过来就能用的虚幻编辑器(Unreal Editor),GitHub上的完整C++源代码(支持微软Visual Studio/苹果Xcode),还有完整的生态系统:论坛、维基、问答、协作。8 t8 q& _* ?7 K. D) S6 W 一大波新游戏要来了 虚幻4引擎正式发布, s! f+ v' w9 M j3 y: ^   而在虚幻引擎4游戏的销售中,Epic将抽取5%的毛收入提升,也就是你的游戏赚了100万美元,就要交给Epic 5万美元。   回到技术方面,Epic号称虚幻引擎4是他们多年来心血的结晶,而且现在只是第一版,才刚刚开始。C++代码里你可以看到大量的创新,比如说支持虚拟立体偷窥Oculus VR,支持Linux操作系统,以及支持Valve SteamWorks、StreamBox,而且还可以通过HTML5在网页浏览器内开发游戏(页游)。   平台支持PC、PS4、Xbox One、iOS、Google等等。   虚幻引擎4基于DirectX 11,拥有新的材料流水线、蓝图视觉化脚本、直观蓝图调试、内容浏览器、人物动画、Matinee影院级工具集、全新地形和植被、后期处理效果、热重载(Hot Reload)、模拟与沉浸式视角、即时游戏预览、AI人工智能、音频、中间件集成等一系列全新特性。   虚幻引擎4现已开始提供授权。 现在提供网盘下载地址,毕竟到官方下载很麻烦,还要$,呵呵,10分很值得,代码风格很好,注释很爽!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值