您的位置:首页 > 产品设计 > UI/UE

UDK-用VS来制作一个简单的Game Mod

2012-09-09 18:56 435 查看
http://blog.csdn.net/sunlovesusu/article/details/4927073

 

摘要:使用VS建立UnrealScript工程,用此工程来修改和编译script文件(即是生成一个game mod)。不需使用unreal frontend软件就可以编译.u文件。

开发环境:XP 64bit;VS 2008;UDK beta2;

其他需求:1. 安装了nFringe。可参考
这里 。

2. 如果要用自制的UDK地图。可参考
这里 。

实现:

首先用VS新建一个UnrealScript工程,名字可随意(这里叫MyFirstGame,如有更改,在稍后配置时自行做相应修改),但是路径必须是如下图(否则有可能出现编译后文件丢失的问题,具体后述)。同时去掉"Create directory for solution"的勾。



然后开始配置MyFirstGame的属性,具体如下:

General的配置:

Target Game: 选UE3 Mod。

UCC Path: C:/UDK/UDK-2009-11-2/Binaries/UDK.exe

Reference Source Path: C:/UDK/UDK-2009-11-2/Development/Src



Build Events不用配置,默认就行。

Build的配置:

勾上全部的勾,路径设置:C:/UDK/UDK-2009-11-2/UTGame/Script(如果不放这里,游戏启动后就无法读取我们修改的mod,这个是默认路径,暂时还不知道如何改)。



Debug的配置(懒得写了,见图吧):

说明几点:

Load map at startup选项,输入的是地图名字,而地图位置默认是自动读取C:/UDK/UDK-2009-11-2/UTGame/Content/Maps下的文件。这个TestMap是之前一片bolg建立crowd system时创建的地图,也可以使用任何在前述文件夹下游戏自带的地图。

禁用声音和禁用开头动画选项可以不勾(我是嫌声音太吵)。

Start with specified game type选项,这里就是指定游戏要载入我们修改的这个mod(这个mod稍后建立)。



完成以上的属性配置后,保存工程,关闭再重新载入。这样做的目的是让工程载入我们设定的Reference。这时Reference Source前面应该就有+号,可以展开。此时,在MyFirstGame的根目录下新建一个文件夹,命名为Classes(必须是这个名),在此文件夹里面新建一个UnrealScript文件,命名为GameInfo.uc。大概就是下面这个样子(你的Reference Source下应该没有CluOne,因为这是另一个mod):



现在我们添加UTEngine.ini到Classes文件夹下(如上图所示)。右键选Add-> Existing Item,位置在C:/UDK/UDK-2009-11-2/UTGame/Config/UTEngine.ini。注意要以link的方式添加。打开UTEngine.ini,找到ModEditPackages(用查找),把它前面的;去掉,把=后面改成MyFirstGame。就是这个样子:



这样做就是表示我们要使用的game mod是MyFirstGame。当编译时,就会把MyFirstGame下Classes文件夹下的uc文件一起编译。

好了,最后一步就是修改GameInfo.uc文件。把原来的程序全部删掉,改成以下:

class
GameInfo extends
UTDeathmatch ;

//
这里就是一个开始 Deathmatch
的函数,即当我们启动游戏以后就会自动开始一个 Deathmatch


function
StartMatch ()

{

    super (UTGame ).StartMatch ();

    TestFunction ();

}

//
使用 `log
()函数把一句话输入到控制台

function
TestFunction ()

{

    `log("This is my first mod game!" );

}

现在,我们已经完成了全部的编码和配置工作。选
Build->Build MyFirstGame 。

稍等片刻,便显示编译成功。此时会生成一个MyFirstGame.u文件:


我在这里遇到一个很奇怪的问题,就是无论如何配置Build的输出路径,在运行Build后显示的输出路径都是以上(即是工程保存的路径),而实际上你在那个文件夹下是找不到MyFirstGame.u这个文件的。真实输出的路径则为:

C:/UDK/UDK-2009-11-2/UTGame/Script(即便我在build选项里面设置别的路径也如此)。

注:这个问题,或者说类似的情况,在UDK论坛上也有很多人遇到,但是具体的原因和解决方法暂时还没有发现。如果你也不幸出现了这种情况,则去C:/UDK/UDK-2009-11-2/UTGame/Script查看是否有MyFirstGame.u生成,如果有,就表示编译成功。目前不少人都能成功得到MyFirstGame.u的办法是在建立工程时位置一定要是我建立工程用的路径。如果无法解决,可能只能使用unreal frontend来编译了。

好了, 现在可以测试我们的mod了。点击start debugging按钮(F5)游戏就会启动,在控制窗口中,就会出现我们输入的log:



而游戏窗口如下,可以看到我们设置的crowd在自动生成。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息