准备工作

注意使用Photoshop生成DDS文件作为游戏图标,去英伟达官网下载一个DDS插件,图标也可以在游戏目录中找到,具体操作流程:

先导入准备好的素材,然后选择尺寸,从大到小:256-128-80-50-38-32

另存为DDS文件,

压缩方式选择8.8.8.8 ARGB 32bpp 无符号,选无MIP贴图,保存

可以使用Hemmelfort大佬制作的mod辅助工具简化这些步骤,制作不同尺寸的照片:

设置名称,图标代码也可以写好:

领袖界面(建议):

要做的准备概览:

开始制作

1.导入图标和图片

打开ModBuddy新建一个空白模板,打开工具栏上的Asset Editor

在Asset Editor左上角点击File——New,选择XLP

在XLP CLASS这里选择UI Texture,上面Packagename随便取个名字

点击添加按钮,再点击+Add Source File… 把所有图像导入进来(除了外交界面的前景图),再点import即可

点击菜单栏另存为,保存这些XLP文件到XLPs目录下,文件名建议与刚才的Package Name一致

2.准备基础文件

原理如下:

目前要用的XML文件是这几个,前面文件名可以随便取

在ModBuddy的空模板下一个一个创建这些文件

在教程(2)中制作的单位可以原代码复制到xxx_Units.xml中,但由于是特色单位,在Units标签后面还要加上Trait_Type:

3.制做特色建筑

参照游戏中建筑来写,在\Base\Assets\Gameplay\Data\Buildings.xml中找到实例,和上一个教程中制作人物差不多

先定义一个建筑,变量名以Building_开头

再设置参数

4.制作领袖

以\Base\Assets\Gameplay\Data\Leaders.xml中的为例,也是一样的方法,官方怎么写怎么抄:

5.创建文明

创建巫师文明,这是新建一个文明需要的基本信息:

点开xxx_Civilization.xml,其中Types标签下的三行,第一行定义了巫师文明的变量名,一般以CIVILIZATION_开头 加上文明的名称

第二行和第三行是特色单位和建筑 即之前的TraitType定义的

注意:最新报错,这里最好再加上一行文明的TRAIT

Civilizations标签下是基本参数

  • Name是名称,Description是描述文本

  • StartingCivilizationLevelType指的是是一个国家而不是城邦,具体数值:CIVILIZATION_LEVEL_TRIBE(部落,野蛮人)CIVILIZATION_LEVEL_CITY_STATE(城邦)CIVILIZATION_LEVEL_FULL_CIV(完整国家)

  • RandomCityNameDepth默认为10

  • Ethnicity指的是种族,具体数值:ETHNICITY_ASIAN(亚洲)ETHNICITY_AFRICAN(非洲)ETHNICITY_MEDIT(地中海)ETHNICITY_SOUTHAM(南美)ETHNICITY_EURO(欧洲)

CivilizationLeaders标签指定文明的领袖,其中LeaderType填领袖,CapitalName是首都名称:

接下来是TraitType的定义,文本没有格式要求,CivilizationTraits使TraitType成为这个文明的专属对象

接下来是城市名和市民的名字,城市名最好多一点

接下来是颜色,分为主要颜色和次要颜色,四个数字分别是红/绿/蓝/透明度,大小从0-255,也可以使用游戏自带的颜色(如COLOR_PLAYER_WHITE_TEXT)

后面是定义加载界面和外交界面的图(这里不是外交界面的前景图)

6.修改配置文件

打开xxx_Config.xml,这个文件定义了这个文明在文明选择界面显示的内容,可以参考DLC中阿兹特克文明的写法:\DLC\Aztec_Montezuma\Data\Aztec_Montezuma_ConfigData.xml

第一行<?xml …….>是xml文件的标准形式

第二行GameInfo和GameData一样,次级标签是Players和PlayerItems

先看Players标签,里面有两个Row标签,唯一不同的是第二个标签多了一个Domain说明这个Mod支持用于DLC《迭起兴衰》中,如果没有Domain或者Domain为StandardPlayers说明这个Mod支持原版游戏,其中内容解释如下:

接下来是PlayerItems,是特殊单位的预览,想写几项都可以

7.定义文本

打开xxx_Text.xml,把刚才所有的文本,也就是LOC_开头的变量全部添加到定义文本的文件中 ,大致如下写:

8.定义图标/图片/背景音乐

同样是xxx_Text.xml,使用自定义图标必须先建立一个画册(图画集),可以用Hemmelfort大佬制作的工具快速生成

先新建一个Arfdefs文件夹:

接下来导入做好的模型

模型名字必须与游戏原名字一致,比如单位是Units.artdef 特色建筑是Buildings.artdeft

人物模型参考(2),接下来做建筑模型

打开AssetEditor 点击左上角File——New 新建一个ArtDef

在模板中选Buildings模板

鼠标右键选择添加Add Element,相当于添加一个新建筑

名字随便写一个等会改,点击保存 目录为Artdefs文件夹,文件名必须是Buildings

接着在ModBuddy中导入

接下来和(2)的方法一样,以竞技场的模型为例,打开游戏源文件,找到竞技场的部分(BUILDING_ARENA)往上折叠m_ChildCollections和m_Fileds,复制竞技场所在的Element标签

粘贴到自己的文件对应的地方,再把名字改为你的建筑的变量名即可

外交界面前景图无法通关XLM文件修改,但是可以通过artdef和xlp文件来定义

现在AssetEditor中新建xlp

XLP Class为:LeaderFallback

Package Name为:LeaderFallbacks

然后选外交前景图点import

保存为LeaderFallbacks.xlp

然后再创建一个artdef文件

选择的模板是LeaderFallback,添加一个Element,名字改为我们的领袖的变量名

在下面子项Animations新建元素(如果不弹出BLP Entry,就再添加一项并删除),将其名字设为DEFAULT,在BLP Entry中选择我们的图片,如果这里没有我们的图片那就暂时选别的领袖

最后保存文件为FallbackLeaders.artdef

在ModBuddy中的Artdefs那里导入,将里面这个EntryName设置成我们图片的名字

游戏背景音乐可以通过artdef来实现,新建artdef文件,然后选择模板Civilizations,新建元素,把名称改为文明变量名,下面的Audio也新建一个元素,名字设为Entry,XrefName设为Egypt(以埃及的音乐为例,如果要用其他文明的音乐,可以参考\Base\ArtDefs\Civilizations.artdef),然后将这个文件保存为Civilizations.artdef,最后导入到工程里即可

9.编写ModArt文件

这个文件记录了所有artdef文件和xlp文件的信息

使用工具点击第三项,点击打开MOD目录(就是项目名称的那个目录),软件就会自动获取项目相关资料包括名称ID,点击生成,自动生成一个ModArt文件(同时备份先前的)

10.设置分阶段加载

回到ModBuddy,右键工程,点击属性(Properties),选择FrontEnd Actions,现在设置进游戏就加载配置文件config,点击Add Action

后面的ID是用来记录在游戏日志中的(如果MOD出错就可以查看日志看看哪一步出问题了)

Type类型选择UpdateDatabase

然后Add,选择xxx_Config.xml

然后是文本文件,Type选择UpdateText,点Add,选择xxx_Text.xml

然后是图标文件,Type选UpdateIcons,操作同上,后面art也一样(但是点Add后要选择Mod Art Dependency File)

接下来的In-Game Actions也差不多,唯一不同的是更新数据库的部分,按照下图依次加载文明、领袖、单位、建筑即可

image-20240717134527959

其他三个和上面一样(注意是选择xxx_Text等,而不是Artdefs下面的),按照下图

最后Rebuild即可