|
通常我们按照官网文档或者教程,在第一次编译UE4的时候都会让我们选择编译Development Editor。但是你又没有想过除了这个选项之外还有很多选项,他们是干什么的。其实当时太急于想知道他们的含义没有太大必要,因为这些选项是会随着我们之后的开发过程中慢慢领悟的。
当我的游戏代码出现问题需要调试的时候,发现查看变量内存值都是???或者乱码,这是因为我们在Development环境下,此时的代码运行已经被优化,调试内存值是有偏差的,需要Debug环境。所以我们切换到Debug选项,但是Debug又分好几种,一时也搞不清楚,于是就开始各种查各种问各种实验。
下面就介绍下我的研究结果,并没有包含所有的选项,比如Servet,Client,因为这些选项我确实用不到,自然也就没去关心它。对于初学者来说下面的解释也已经足够。
编译配置分为两部分:State 和 Target
State包括:Debug、DebugGame、Development、ShippingTarget包括:空、Client、Editor、Server
任意组合将出现如下列表:Debug 游戏和引擎全都可以调试,无优化,速度慢,没有Editor相关代码功能,资源需要Cook。Debug Client Debug Editor 游戏和引擎全部可以调试,无优化,可以使用Editor相关代码功能,资源不需要Cook,可直接启动编辑器。Debug ServerDebugGame 游戏代码可调试无优化,Editor相关代码功能不可使用,引擎不可调试,资源需要Cook。DebugGame ClientDebugGame Editor 游戏代码可调试无优化,可以使用Editor相关代码功能,引擎不可调试,资源不需要Cook。DebugGame ServerDevelopment 游戏、编辑器、引擎都不可调试,Editor相关代码功能不可使用,资源需要Cook。Development ClientDevelopment Editor 游戏、编辑器、引擎都不可调试,Editor相关代码功能可使用,资源不需要Cook。Development ServerShippingShipping ClientShipping EditorShipping ServerTestTest ClientTest Server
通常打包可以输出3中版本:DebugGame、Development、Shipping
调试的时候Debug、DebugGame、Development是不可以直接在VS中启动的,首先会提示资源需要Cook,然而Cook之后会发现路径不对。这时候需要我们手动指定执行的Exe程序:
1.通过编辑器打包游戏,比如DebugGame,然后打包输出到E:\UE4Cooked\WindowsNoEditor\FSGame\Binaries\Win64\FSGame-Win64-DebugGame.exe2.拷贝工程下编译生成的exe程序比如:FSGame.exeFSGame-Win64-Debug.exeFSGame-Win64-DebugGame.exe其中任意一个替换拷贝至打包好的路径。3.VS右键工程属性
UE4的编译是个漫长过程,上面介绍的任意一个版本都得编译1小时左右,我的是40分钟。而且,并且,占用空间非常大,我的UE4编译过四五个版本,占用了快100G的硬盘,所以上述研究成果耗费了大量的人力物力还有时间,如果仍有不明白的问题可以微信回复我。
微信订阅号搜索“风之神韵”,关注随时获取更多教学信息。
http://i.youku.com/u/UMTE5MzA2NDA0
风大大,请问怎样才能编译一个UE,让他同时能够打包Win64,Win32,安卓,IOS和HTML5这几个版本呢?如果编译完Win64,再继续选择Win32编译,不会把刚编译的64位给覆盖了吗?
SmartRui 发表于 2014-10-28 22:30
风大大,请问怎样才能编译一个UE,让他同时能够打包Win64,Win32,安卓,IOS和HTML5这几个版本呢?如果编译 ...
不会覆盖,他会分别放到不同的文件夹里。
微信订阅号搜索“风之神韵”,关注随时获取更多教学信息。
http://i.youku.com/u/UMTE5MzA2NDA0
Shipping版本和Development版本最主要区别是去除了性能分析模块,因为当你需要测试性能时,分析模块是必须要有的。所以Shipping是不可能有Editor版本的,因为编辑器内置各类分析功能。
|
|