UE4使用Visual Studio编译配置详解

本文详细解析了虚幻引擎的编译配置,包括State和Target两部分,阐述了不同选项如Debug、DebugGame、Development和Shipping等的作用及应用场景。特别强调了在Development环境下的调试限制和如何切换至Debug环境进行有效的调试。同时,文章提供了打包游戏的步骤,包括手动Cook资源、使用编辑器打包以及VS中指定执行文件的方法。最后,分享了UE4编译过程中的耗时和空间占用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自百度UDK吧风之神韵。
加一句话:如果需要在Development Editor编译出来的虚幻里打包游戏,需要把源码配置为Development然后再生成一次,不是重新生成,之后进入虚幻的Editor中,先烘培一遍再打包。还有,下文中说的资源不需要cook是指不用手动cook,是editor在你打包的时候自动烘培。


通常我们按照官网文档或者教程,在第一次编译UE4的时候都会让我们选择编译Development Editor。但是你又没有想过除了这个选项之外还有很多选项,他们是干什么的。其实当时太急于想知道他们的含义没有太大必要,因为这些选项是会随着我们之后的开发过程中慢慢领悟的。

当我的游戏代码出现问题需要调试的时候,发现查看变量内存值都是???或者乱码,这是因为我们在Development环境下,此时的代码运行已经被优化,调试内存值是有偏差的,需要Debug环境。所以我们切换到Debug选项,但是Debug又分好几种,一时也搞不清楚,于是就开始各种查各种问各种实验。

下面就介绍下我的研究结果,并没有包含所有的选项,比如Servet,Client,因为这些选项我确实用不到,自然也就没去关心它。对于初学者来说下面的解释也已经足够。

编译配置分为两部分:
State 和 Target

State包括:
Debug、DebugGame、Development、Shipping

Target包括:
空、Client、Editor、Server

任意组合将出现如下列表:
Debug 游戏和引擎全都可以调试,无优化,速度慢,没有Editor相关代码功能,资源需要Cook。

Debug Client

Debug Editor 游戏和引擎全部可以调试,无优化,可以使用Editor相关代码功能,资源不需要Cook,可直接启动编辑器。

Debug Server
DebugGame 游戏代码可调试无优化,Editor相关代码功能不可使用,引擎不可调试,资源需要Cook。
DebugGame Client

DebugGame Editor 游戏代码可调试无优化,可以使用Editor相关代码功能,引擎不可调试,资源不需要Cook。

DebugGame Server

Development 游戏、编辑器、引擎都不可调试,Editor相关代码功能不可使用,资源需要Cook。

Development Client

Development Editor 游戏、编辑器、引擎都不可调试,Editor相关代码功能可使用,资源不需要Cook。

Development Server
Shipping
Shipping Client
Shipping Editor
Shipping Server
Test
Test Client
Test Server

通常打包可以输出3中版本:
DebugGame、Development、Shipping

调试的时候Debug、DebugGame、Development是不可以直接在VS中启动的,首先会提示资源需要Cook,然而Cook之后会发现路径不对。
这时候需要我们手动指定执行的Exe程序:

1.通过编辑器打包游戏,比如DebugGame,然后打包输出到E:\UE4Cooked\WindowsNoEditor\FSGame\Binaries\Win64\FSGame-Win64-DebugGame.exe

2.拷贝工程下编译生成的exe程序比如:
FSGame.exe
FSGame-Win64-Debug.exe
FSGame-Win64-DebugGame.exe
其中任意一个替换拷贝至打包好的路径。

3.VS右键工程属性

UE4的编译是个漫长过程,上面介绍的任意一个版本都得编译1小时左右,我的是40分钟。而且,并且,占用空间非常大,我的UE4编译过四五个版本,占用了快100G的硬盘,所以上述研究成果耗费了大量的人力物力还有时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值