(转)让我们一起UDK (2): UDK目录结构解析
如果之前你有Unreal Mod的开发经验的话, 对UDK的目录结构应该不陌生. 如果这是你第一次接触Unreal引擎, 也不要担心, 阅读完这篇文章相信你开始对UDK有更多的了解.
毫无疑问Unreal引擎是复杂的, 但就目录结构来说, UDK的目录还是很简洁明了的. 这里我们以UDK-2009-11-BETA-2版本为例进行讲解, 这是UDK的第二个Beta版本, 或许你看到这篇文章的时候UDK已经有更新的版本, 但主要目录应该不会有什么大的变动.
在安装完UDK后, 你会看到四个目录:
其中:
- - Binaries
这里放的是UDK的执行文件, 及相关的第三方工具. - - Development
这里主要存放Unrealscript的源文件 - - Engine
这里放的是Unreal引擎的核心文件, 除非有非常特殊的需求, 不要改动这个目录的任何文件. - - UTGame
不要被UTGame这个名字给迷惑了. 确实在这个目录里你会发现许多随UDK捆绑的UT3 Demo的很多资源, 但你的游戏内容同样可以放在这个目录下, 而epic也希望你这么干.
接下来我们先看看Binaries目录:
- - ActorX: 这里放的是ActorX对应Max、Maya、XSI的插件。
- - FaceFXPlugins: 这里放的是FaceFX插件。
- - InstallData: UDK安装过程所需要的文件。
- - SpeedTreeModeler: SpeedTree Modeler 5.0.1, 这个版本不同于Eval版本,但也不是完整版本,你无法导出Mesh,但可以编译做的树在UDK内使用,可以理解为UDK的特制版本。
- - Win32: 这里放的UDK真正的执行文件及所需要的库文件。
- - Win64 : 64位版本的UnrealLightmass。
- - Windows : 该目录下最重要的文件是UE3Redist.exe,这是Unreal引擎所需的运行库安装文件。
Development目录下则比较简单:
所有UDK自带的UnrealScript源文件都放在Src目录下。你的UnrealScript源文件也应该放在这里。图上的最后一个目录MyGame是我后加的。
之前说过,Engine目录下放的是Unreal引擎的核心文件:
- - Config: Unreal引擎的配置文件。UTGame下的配置文件就是继承自这里的配置文件。
- - Content: Unreal引擎所需的内容包,主要供Unreal Editor使用。
- - EditorResources: 正如名字所提示的, 这里放的是Unreal Editor使用的资源文件。
- - Localization: 本地化文件。不同的语言都有自己的目录。在这里有个有趣的文件:INT下的EditorTips.int, 放的是所有的Tips of day的文本,建议至少阅读一遍,非常有用。如果你想看中文的话,也可以在CHT下找editortips.CHT,不过这里的中文翻译得实在很错愕。
- - Shaders: Shader源文件。
- - Stats: 用来生成开发统计信息的模板文件。
接下来让我们看看UTGame目录,这个目录也是我们经常需要打交道的地方:
- - Build: 目前这里只有一个文件CookerSync_Game.xml,推测应该是Cooker用到的配置文件。
- - Config: 游戏中用到的配置文件,我们后面会更详细的查看这个目录。
- - Content: 游戏中用到的内容包,包括所有关卡。缺省带的是UT3的demo。有一点要留意的是,如果你要开发自己的商业游戏的话,是不允许使用这个目录下自带内容包里的文件的。
- - Localization: 这里放置你在游戏中使用的本地化文件。
- - Logs: 所有的Log文件和Crash report。
- - Movies: 用来放置游戏中用到的Bink影片。根据UDK授权信息,你的游戏必须包含UE3_logo.bik这段影片。顺便说一下,UDK自带的Bink播放集成在显示Bink影片的时候,后有Bink的水印。如果你要去掉这个水印的话,需要向Radtools支付每款游戏$295.00的授权费用。
- - Script: 这里放的是编译好的UnrealScript包。
- - Splash: 启动游戏或Unreal Editor时先出现的Splash图片。根据epic在论坛中透露的信息,你可以自由地更改里头的Splash图片以适应你的游戏需要,前提是你的图片中必须包括UDK的标志。相信不久之后epic应该会有专门的media kit发布。
UTGame下的Config目录非常重要,也容易让入门者困扰,我们仔细看看:
在你第一次运行UDK之前,你看到的是一些以Default开头的配置文件。这些配置文件用来生成你游戏中使用的真正配置文件。UDK会在运行的时候,根据Defaut系列文件,生成以UT开头的配置文件。
而后,UDK会读取UT系列配置文件,而忽略对Default的改动。了解这点很重要,当你对Default系列配置文件进行修改后,你需要删除这个目录下的UT开头的文件,这样UDK就会再次读取Deafult系列配置文件来重新生成UT***文件。
最后我们看一下UTGame下的Content目录:
Content目录下的子目录可以根据你的需要进行组织,或按内容的用途,或按关卡流程进行组织,都是你的自由。
理论上,既然这个目录下放的是UT3 demo用到的内容包,我们应该可以删除这里的所有文件,然后用自己的模型/贴图/...等内容取而代之。这个理论是正确的,但事实上当你这么干的时候会发现udk再也无法正常启动。这是因为在UTGame\Config下的配置文件中,仍有不少指向UTGame\Content下内容包的配置。同样,在预编译好的UnrealScript包中也还包括许多对UTGame\Content的引用。在删除UDK自带的UTGame\Content下所有内容之前,还需要进行点小手术,我们会在今后的教学中再讲解这部分内容。
总结:
Unreal引擎对自己的目录结构有相对固定的规则,当同时也可以通过配置文件进行灵活的定制。在你迫不及待开始新游戏的开发之前,花少许时间熟悉一下UDK的目录结构,试图理解一下Unreal引擎的思考方式,或许对你今后的开发会有些帮助。