转载===UDKcn===【跟着楼主做游戏之】《第一章:第一节 建立一个空工程-上》用UDK做游戏
2010-05-05 19:34
363 查看
【跟着楼主做游戏之】《第一章:第一节 建立一个空工程-上》[2010-01-29修改版]
第一步: 首先,我们从http://www.udk.com主页下载最新版(此文以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,键入以下内容 class do_not_delete extends object; defaultproperties { } 复制代码 创建此文件的目的是因为让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,键入以下内容 class KWInfo extends GameInfo; DefaultProperties { //设置角色控制类 PlayerControllerClass=class'KWGame.KWPlayerController' } 复制代码 4.创建一个KWPlayerController.uc,键入以下内容 class KWPlayerController extends GamePlayerController; DefaultProperties { } 复制代码 第五步 我们已完成了创建了我们自己的初始化函数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) [Engine.Engine] ConsoleClassName=Engine.Console EditorEngine=UTEditor.UTEditorEngine UnrealEdEngine=UTEditor.UTUnrealEdEngine DefaultOnlineSubsystemName=OnlineSubsystemPC.OnlineSubsystemPC UseStreaming=True ScoutClassName=Engine.Scout GameViewportClientClassName=Engine.GameViewportClient ;DefaultPostProcessName=FX_HitEffects.UTPostProcess bOnScreenKismetWarnings=true TimeBetweenPurgingPendingKillObjects=30 TinyFontName=EngineFonts.TinyFont MediumFontName=MultiFont'UI_Fonts_Final.HUD.MF_Medium' LargeFontName=MultiFont'UI_Fonts_Final.HUD..MF_Large' SubtitleFontName=MultiFont'UI_Fonts_Final.HUD.MF_Medium' AllowShadowVolumes=False LocalPlayerClassName=Engine.LocalPlayer MaxParticleResize=1024 MaxParticleResizeWarn=10240 ;DemoRecordingDevice=Engine.DemoRecDriver bEnableColorClear=TRUE 复制代码 (例如ConsoleClassName=UTGame.UTConsole改为ConsoleClassName=Engine.UTConsole) 6.4.2.找到[Engine.DataStoreClient]部分删除节点所有文件,新增一行 +PlayerDataStoreClassNames=Engine.UIDataStore_OnlinePlayerData 如下: [Engine.DataStoreClient] +PlayerDataStoreClassNames=Engine.UIDataStore_OnlinePlayerData 复制代码 6.4.3.找到[Engine.UIDataStore_OnlinePlayerData]改为如下(其实就是吧UTGame改成Engine,并且去掉前缀UT) [Engine.UIDataStore_OnlinePlayerData] ProfileSettingsClassName=Engine.OnlineProfileSettings FriendMessagesProviderClassName=Engine.UIDataProvider_OnlineFriendMessages FriendsProviderClassName=Engine.UIDataProvider_OnlineFriends 复制代码 6.4.4.找到[Engine.StartupPackages]改为如下 [Engine.StartupPackages] bSerializeStartupPackagesFromMemory=TRUE bFullyCompressStartupPackages=FALSE Package=DefaultUISkin Package=EngineMaterials Package=EngineSounds Package=EngineFonts Package=EngineBuildings -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,最好使用vs2008,vs2003是不可以的,因为有个脚本调试插件,他只能在vs2008或者vs2005中运行) 另外本文的大部分内容,阅读者最好有一定的编程基础,多以代码为例讲解。 |
相关文章推荐
- 转载===UDKcn===【跟着楼主做游戏之】《第一章:第二节 建立一个空工程-下》用UDK做游戏
- 第一章 建立一个WPF/E工程
- 第五十七篇:VS2015建立一个完整的c++工程:头文件.h 源文件.cpp,自动生成类
- QuartusII13.0使用教程详解(一个完整的工程建立)
- 1.建立一个MFC Application工程,编译好的exe文件在其他的电脑直接运行而不需要安装任何其他的package
- 建立一个主游戏循环
- unity2D 摸索建立一个塔防游戏(一)
- 如何成为一个游戏制作人——第一章:如何选择你的路线(编程)
- 如何建立一个maven工程导入myeclipse
- 用Quartus II 建立一个工程模板,以后新建工程时无需再配置参数
- STM32如何建立一个工程模板(一)
- 如何建立一个完整的游戏AI
- struts2讲义----建立一个struts2工程
- eclipse 建立一个maven web 工程
- 基于MFC框架的C++游戏开发(二)建立工程、调整窗口
- 为C6713建立一个简单的工程
- 第二个成功的struts(不断的弹出各种错误,于是我卸掉tomcat和eclipse重装,删除以前的软件ok)(中间建立了一个工程还是会弹出错误,让后我就重做工程)(很多知识点需要温习)
- quick cocos2d-x 实战:做一个手机横版格斗游戏1:创建工程
- 在MDK上建立一个C++的STM32开发工程
- 使用C++与SFML编写一个简单的撞球游戏Part1——新建工程以及设置