2024年4月7日发(作者:)

UDK入门教程--第一章:第一节 建立一个空工程-上

第一步:

首先,我们从主页下载最新版(此文以UDK-2010-01版为例)

安装完成后,我们找到UDK-2010-01文件夹,对其复制粘贴创建一个副本,将目录名改成你喜欢的名字,比如我创建

为KingdomWorld,以后文章都以KingdomWorld为例。

(以下步骤将对其进行大量修改,创建副本的目的是为了保留原版)

第二步

2.1.进入KingdomWorldDevelopmentSrc目录,找到UTGameContent文件夹将其全部删除。

2.2.进入KingdomWorldDevelopmentSrcUTGame目录,删除以及Classes文件夹下面的所有文件,但

是保留Classes文件夹。

2.3.进入KingdomWorldDevelopmentSrcUTGameClasses目录,创建一个do_not_,键入以下内容

1.

class do_not_delete extends object;

2. defaultproperties

3. {

4. }

复制代码

创建此文件的目的是因为让UTGame目录顺利编译成UTGame.u文件,因为UDK免费版的原因,启动编辑器和游戏

他会自动寻找UTGame.u文件,所以此包无法全部删除(除非你有源代码级授权,就可以修改UTGame目录指向)

第三步

进入KingdomWorldUTGameContent目录,删除所有文件

文件和

KingdomWorldUTGameContentUIUI_Fonts_文件除外,这两个是系统需要的底层pak 包,字体和空

场景,最好别删。

第四步

由于我们已经删除了所有关于原始的UTGame的资源和代码文件,现在的文件夹已经相对于来说是非常干净的了,那

么,我们需要重新制作一个类似于c++里面的main函数,因为UTGame目录已经被我们咔嚓掉了。他的引用不到。

4.1.来到KingdomWorldDevelopmentSrc目录,创建文件夹KWGame,在其创建Classes文件夹

4.2.进入KingdomWorldDevelopmentSrcKWGameClasses目录

4.3.创建一个,键入以下内容

1.

class KWInfo extends GameInfo;

2.

3.

4.

5.

6.

DefaultProperties

{

//设置角色控制类

PlayerControllerClass=class'erController'

}

复制代码

4.创建一个,键入以下内容

1.

class KWPlayerController extends GamePlayerController;

2. DefaultProperties

3. {

4. }

复制代码

第五步

我们已完成了创建了我们自己的初始化函数KWInfo和控制类函数KWPlayerController,那么我们需要吧编辑器的引用

指向他们。

5.1.进入KingdomWorldUTGameConfig目录。

5.2.打开文件。找到[fo]中的

tGame并修改成DefaultGame=

tServerGame并修改成DefaultServerGame=

ControllerClassName并修改成PlayerControllerClassName=erController

第六步

在这里,我们基本完成了整个目录的精简,只留下我们需要的部分了,最后,我们需要对整个工程进行优化,去掉不

存在和不需要的包的引用。加入我们的引用目录。

6.1.进入KingdomWorldUTGameConfig目录。

6.2.打开文件。找到[Engine]中的

tPackages并修改成ModEditPackages=KWGame(吧ModEditPackages最前面的;去掉)

6.2.2.删除+EditPackages=UTGameContent这句

6.2.3.找到[rdUser]中的MyDocumentsSubDirName并修改成MyDocumentsSubDirName=KWGame

========2010-01-29修改新增==============

6.3.打开文件。找到[raction]中的

Name并修改为UISkinName=tSkin

6.4.打开文件。找到[]部分。

6.4.1.将[]部分改为如下(其实就是吧UTGame改成Engine,并且去掉前缀UT)

1.

[]

2. ConsoleClassName=e

3. EditorEngine=orEngine

4. UnrealEdEngine=alEdEngine

5. DefaultOnlineSubsystemName=SubsystemPC

6. UseStreaming=True

7. ScoutClassName=

8. GameViewportClientClassName=ewportClient

9. ;DefaultPostProcessName=FX_Process

10. bOnScreenKismetWarnings=true

11. TimeBetweenPurgingPendingKillObjects=30

12. TinyFontName=nt

13. MediumFontName=MultiFont'UI_Fonts__Medium'

14. LargeFontName=MultiFont'UI_Fonts_..MF_Large'

15. SubtitleFontName=MultiFont'UI_Fonts__Medium'

16. AllowShadowVolumes=False

17. LocalPlayerClassName=layer

18. MaxParticleResize=1024

19. MaxParticleResizeWarn=10240

20. ;DemoRecordingDevice=cDriver

21. bEnableColorClear=TRUE

复制代码

(例如ConsoleClassName=ole改为ConsoleClassName=ole)

6.4.2.找到[oreClient]部分删除节点所有文件,新增一行

+PlayerDataStoreClassNames=Store_OnlinePlayerData

如下:

1.

[oreClient]

2. +PlayerDataStoreClassNames=Store_OnlinePlayerData

复制代码

6.4.3.找到[Store_OnlinePlayerData]改为如下(其实就是吧UTGame改成Engine,并且去掉前缀UT)

1.

[Store_OnlinePlayerData]

2. ProfileSettingsClassName=ProfileSettings