原文见www.udkcn/bbs/viewthread.php?tid=5
第一步:
首先,我们从www.udk主页下载最新版(此文以UDK-2010-01版为例)
安装完成后,我们到UDK-2010-01文件夹,对其复制粘贴创建一个副本,将目录名改成你喜欢的名字,比如我创建为KingdomWorld,以后文章都以KingdomWorld为例。
(以下步骤将对其进行大量修改,创建副本的目的是为了保留原版)

第二步
2.1.进入KingdomWorld\Development\Src目录,到UTGameContent文件夹将其全部删除。
2.2.进入KingdomWorld\Development\Src\UTGame目录,删除UTStats.uci以及Classes文件夹下面的所有文件,但是保留Classes文件夹。
2.3.进入KingdomWorld\Development\Src\UTGame\Classes目录,创建一个do_not_delete.uc,键入以下内容
1. class do_not_delete extends object;
2. defaultproperties
3. {
4. }
复制代码
创建此文件的目的是因为让UTGame目录顺利编译成UTGame.u文件,因为UDK免费版的原因,启动编辑器和游戏他会自动寻UTGame.u文件,所以此包无法全部删除(除非你有源代码级授权,就可以修改UTGame目录指向)

第三步
进入KingdomWorld\UTGame\Content目录,删除所有文件
KingdomWorld\UTGame\Content\Maps\EnvyEntry.udk 文件和KingdomWorld\UTGame\Content\UI\UI_Fonts_Final.upk文件除外,这两个是系统需要的底层pak 包,字体和空场景,最好别删。


第四步
由于我们已经删除了所有关于原始的UTGame的资源和代码文件,现在的文件夹已经相对于来说是非常干净的了,那么,我们需要重新制作一个类似于c++里面的main函数,因为UTGame目录已经被我们咔嚓掉了。他的引用不到。
4.1.来到KingdomWorld\Development\Src目录,创建文件夹KWGame,在其创建Classes文件夹
4.2.进入KingdomWorld\Development\Src\KWGame\Classes目录

4.3.创建一个KWInfo.uc,键入以下内容
1. class KWInfo extends GameInfo;
2. DefaultProperties
3. {
4.       //设置角控制类
5.       PlayerControllerClass=class'KWGame.KWPlayerController'
6. }
复制代码
4.创建一个KWPlayerController.uc,键入以下内容
1. class KWPlayerController extends GamePlayerController;
2. DefaultProperties
3. {
4. }
复制代码
第五步
我们已完成了创建了我们自己的初始化函数KWInfo和控制类函数KWPlayerController,那么
我们需要吧编辑器的引用指向他们。
5.1.进入KingdomWorld\UTGame\Config目录。

5.2.打开DefaultGame.ini文件。到[Engine.GameInfo]中的
5.2.1.DefaultGame并修改成DefaultGame=KWGame.KWInfo
5.2.2.DefaultServerGame并修改成DefaultServerGame=KWGame.KWInfo
5.2.3.PlayerControllerClassName并修改成PlayerControllerClassName=KWGame.KWPlayerController

第六步
在这里,我们基本完成了整个目录的精简,只留下我们需要的部分了,最后,我们需要对整个工程进行优化,去掉不存在和不需要的包的引用。加入我们的引用目录。
6.1.进入KingdomWorld\UTGame\Config目录。

6.2.打开DefaultEngine.ini文件。到[UnrealEd.EditorEngine]中的
6.2.1.ModEditPackages并修改成ModEditPackages=KWGame(ModEditPackages最前面的;去掉)
6.2.2.删除+EditPackages=UTGameContent这句
6.2.3.[Windows.StandardUser]中的MyDocumentsSubDirName并修改成MyDocumentsSubDirName=KWGame

========2010-01-29修改新增==============
6.3.打开DefaultUI.ini文件。到[Engine.UIInteraction]中的
6.3.1.UISkinName并修改为UISkinName=DefaultUISkin.DefaultSkin

6.4.打开DefaultEngine.ini文件。到[Engine.Engine]部分。
6.4.1.[Engine.Engine]部分改为如下(其实就是吧UTGame改成Engine,并且去掉前缀UT)
1. [Engine.Engine]
2. ConsoleClassName=Engine.Console
3. EditorEngine=UTEditor.UTEditorEngine
4. UnrealEdEngine=UTEditor.UTUnrealEdEngine
5. DefaultOnlineSubsystemName=OnlineSubsystemPC.OnlineSubsystemPC
6. UseStreaming=True
7. ScoutClassName=Engine.Scout
8. GameViewportClientClassName=Engine.GameViewportClient
9. ;DefaultPostProcessName=FX_HitEffects.UTPostProcess
10. bOnScreenKismetWarnings=true
11. TimeBetweenPurgingPendingKillObjects=30
12. TinyFontName=EngineFonts.TinyFont
13. MediumFontName=MultiFont'UI_Fonts_Final.HUD.MF_Medium'
14. LargeFontName=MultiFont'UI_Fonts_Final.HUD..MF_Large'
15. SubtitleFontName=MultiFont'UI_Fonts_Final.HUD.MF_Medium'
16. AllowShadowVolumes=False
17. LocalPlayerClassName=Engine.LocalPlayer
18. MaxParticleResize=1024
19. MaxParticleResizeWarn=10240
20. ;DemoRecordingDevice=Engine.DemoRecDriver
21. bEnableColorClear=TRUE
复制代码
(例如ConsoleClassName=UTGame.UTConsole改为ConsoleClassName=Engine.UTConsole)


6.4.2.[Engine.DataStoreClient]部分删除节点所有文件,新增一行 +PlayerDataStoreClassNames=Engine.UIDataStore_OnlinePlayerData
如下:
1. [Engine.DataStoreClient]
2. +PlayerDataStoreClassNames=Engine.UIDataStore_OnlinePlayerData
复制代码


6.4.3.[Engine.UIDataStore_OnlinePlayerData]改为如下(其实就是吧UTGame改成Engine,并且去掉前缀UT)
1. [Engine.UIDataStore_OnlinePlayerData]
2. ProfileSettingsClassName=Engine.OnlineProfileSettings
3. FriendMessagesProviderClassName=Engine.UIDataProvider_OnlineFriendMessages
4. FriendsProviderClassName=Engine.UIDataProvider_OnlineFriends
复制代码


6.4.4.[Engine.StartupPackages]改为如下
1. [Engine.StartupPackages]
2. bSerializeStartupPackagesFromMemory=TRUE
3. bFullyCompressStartupPackages=FALSE
4. Package=DefaultUISkin
5. Package=EngineMaterials
6. Package=EngineSounds
7. Package=EngineFonts
8. Package=EngineBuildings
9. -Package=SoundClassesAndModes
复制代码


6.4.5.[Engine.PackagesToForceCookPerMap]去除所有节点。

6.5.打开DefaultGame.ini文件。到[Engine.WorldInfo]部分。
6.5.1.EmitterPoolClassPath并修改为EmitterPoolClassPath="Engine.EmitterPool"
6.5.2.DecalManagerClassPath并修改为DecalManagerClassPath="Engine.DecalManager"


7.删除KingdomWorld\UTGame\Config下所有UT开头的ini文件,并且重新进入编辑器,就会自动生成UT开头的ini
========2010-01-29修改新增==============


总结:
至此,你已经完成UDK目录的精简,并且删除了UTGame的全部内容,在接下来的章节,我会一步步介绍如何在这个精简工程中,全部制作属于自己的东西
这时候你打开UDK编辑器,可能需要等待一会的时间,因为他在重新编译一些东西,耐心等待一下就可以了。

下一章节预告【跟着楼主做游戏之】《建立一个空工程-下》建立一个空的VS工程,并且调试KWGame项目。
(请大家提前安装vs2008或者vs2005,最好使用vs2008vs2003是不可以的,因为有个
脚本调试插件,他只能在vs2008或者vs2005中运行)
另外本文的大部分内容,阅读者最好有一定的编程基础,多以代码为例讲解。
  如果你确定看完了《建立一个空工程-上》这篇,并且没有问题,那么接着和我学习把。

第一步:
首先确保机器已经安装vs2008(或者vs2005,以后文章都以vs2008为例),然后安装nFringe
(nFringe的最新版wiki.pixelminegames/index.php?title=Tools:UnrealScript_Studio:Releases可以在这里到,目前附件传的是nFringeSetup-1.0.24573.0.msi也是截止发帖时候的最新版,此插件有30天使用限制,我先看大家的下载次数吧,至少30天内我暂时不会公开破解补丁)


第二步:
2.1.打开VS2008,选择左上角菜单中的【文件】--【新建】--【项目】
2.2.选择UnrealEngine 3 Licensees Project
2.3.检查【创建解决方案的目录】的勾是否已被去掉。
2.4.位置填写为 安装目录:\KingdomWorld\Development\Src\KWGame
2.5.名称为KWGame(注意大小写),点击确定.
2.6.打开目录KingdomWorld\Development\Src\KWGame\KWGame将其所有文件剪切至KingdomWorld\Development\Src\KWGame
2.7.打开目录KingdomWorld\Development\Src\KWGame删除KWGame文件夹(此时里面那个文件夹应该没有文件,都被你剪切到上面了)
2.8.打开目录KingdomWorld\Development\Src\KWGame使用vs2008打开KWGame.sln工程

第三步:
3.1.选择左上角菜单中的【项目】--【KWGame 属性】
3.2.设置如下参数。

General中
Game中的Target Game为UnrealEngine 3 Mod
UCC Path为 安装目录:\KingdomWorld\
Reference Source Path为 安装目录:\KingdomWorld\Development\Src
Build中
Script Outputs中的Manually set UCC output directory为 安装目录:\KingdomWorld\UTGame\Script
Debug中
Start Action中的Start Game Executable为 安装目录:\KingdomWorld\
Load map at startup为你的地图文件名,如我们为默认上次没删的EnvyEntry.udk则填写为EnvyEntry
Start with speacified game为KWGame.KWInfo
勾上Enable unpublished mods
勾上Open log window at postions并且设置为0 Left,0 Top




第四步:
4.1.进入目录KingdomWorld\Development\Src\KWGame,将Classes文件夹改名为Classes1
4.2.在vs2008里选中KWGame工程点击右键,选择【添加】--【新建文件夹】




4.3.讲其文件夹名命名为Classes
4.4.关闭vs2008,进入目录KingdomWorld\Development\Src\KWGame,删除Classes文件夹,将Classes1改名回Classes
(因为在上篇文章里这个文件夹下有2个文件,先改名是为了防止vs2008里创建同名文件夹失败)
4.5.打开目录KingdomWorld\Development\Src\KWGame使用vs2008打开KWGame.sln工

4.6.在vs2008里选中KWGame工程中,选中Classes目录,点击右键,选择【添加】--【添加现有项】
选择KingdomWorld\Development\Src\KWGame\Classes目录下的KWInfo.uc和KWPlayerController.uc(上篇教程中创建)




4.7.在vs2008里选中KWGame工程(选择工程路径不是Classes文件夹)点击右键,选择【添加】--【添加现有项】
选择KingdomWorld\UTGame\Config目录下的DefaultEngine.ini和DefaultGame.iniphp好看主页源码(特别注意添加文件的时候,在窗体那里添加按钮旁边有个小三角,选择添加为链接)





总结:
至此,你可以在VS2008中调试你的UDK项目了,在下面章节中,我们将会对这个工程继续讲解。来做一个类似大菠萝的视角的游戏。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。