
本教程将引导模组制作者完成图标和领袖图像的创建与实现,重点在于实现部分。需要使用Modbuddy。 简介 本教程假设你已了解创建模组的基础知识。这并非教授如何制作领袖或文明的教程,而是侧重于图标和领袖美术资源的制作与实现。 本教程使用“->”表示上下文菜单中的选项,例如右键菜单或下拉列表中的选项。 在项目中工作时,请定期按Ctrl+Shift+S保存所有内容。 对于与前面步骤相似或完全相同的步骤,将大量省略图片。 本指南中添加领袖图标的方法可用于添加游戏中大多数其他元素的图标,例如文明或单位图标。文中多次提到SDK资源文件夹,其路径为steamapps common Sid Meier's Civilization VI SDK Assets Civ6 pantry Textures。 准备工作:重命名Art.xml文件,创建文件夹 充分的准备工作意味着未来出现损坏图标或克利奥帕特拉领袖图像的情况会更少——希望能杜绝此类问题。 首先,在解决方案资源管理器中右键点击Art.xml文件 -> 重命名,将所有下划线改为空格(除非你的项目名称中确实包含下划线)。否则,稍后使用资源编辑器(Asset Editor)时会出现问题。暂时不要启动资源编辑器。

让我们在这个项目中添加一些文件夹。右键点击项目名称 -> 添加 -> 新建文件夹。我们需要在根目录下创建以下文件夹:Artdefs、Icons、XLPs。


准备工作:项目文件 图标:右键点击“Icons”文件夹 -> 添加 -> 新建项。创建一个“Icons.xml”文件。

配置文件 如果您还没有配置文件:重复上一步,这次右键点击您的项目名称(上图中的“Icons and Leader Art Tutorial”)。将新文件命名为Config.sql。 美术定义文件 现在,是时候启动大名鼎鼎的资源编辑器了。从顶部工具栏中,依次点击工具 -> 启动资源编辑器... Leaders.artdef 打开资源编辑器后,依次点击文件 -> 新建 -> 美术定义文件。现在,您应该会看到类似这样的界面:

从模板下拉菜单中选择“领袖”。按Ctrl+S将其保存到项目的Artdefs文件夹中,命名为“Leaders”,但暂时不要关闭它。 现在右键点击你的artdef中的“领袖”条目,选择“添加元素”,此时会出现一个带有绿点的元素。

点击该元素可在右侧面板中显示其详细信息。

将“名称”字段更改为数据库中定义的领袖领袖类型。以我为例,是LEADER_SAILOR_SKELLYTON。将“音频”字段更改为你希望领袖使用其音乐的文明。我选择了克里,因为我自讨苦吃。按Ctrl+S保存,按Ctrl+W关闭。 LeaderFallbacks.artdef与上述类似。文件->新建->Artdef。从模板下拉菜单中选择“LeaderFallback”。按Ctrl+S,将其保存到项目的Artdefs文件夹中,命名为LeaderFallbacks,但暂时不要关闭它。 现在在你的artdef中右键点击“领袖”条目->添加元素,应该会出现一个带绿点的元素。点击该元素,在右侧面板中显示其详细信息。将“名称”字段更改为数据库中定义的领袖领袖类型。以我为例,是LEADER_SAILOR_SKELLYTON。现在右键点击“动画”->“添加元素”,右侧面板中会出现新的一行。想要添加根据领袖心情变化的肖像吗?如果是,请查看下方的额外步骤。否则:按Ctrl+S保存,按Ctrl+W关闭。我们稍后再回到这里。继续查看下方的“XLPs”部分。 仅当你要为领袖添加多种心情肖像时才参考此部分。你需要重复右键点击“动画”->“添加元素”的操作,直到出现23行。使用以下列表填写“名称”列中的条目。每个新条目用逗号分隔:AI宣战、人类宣战、默认、失败、激怒、初次相遇、开心、开心闲置、开心负面、开心正面、赞许、中立、中立问候、中立正面、中立转开心、中立转不开心、不开心、不开心闲置、不开心负面、不开心正面、不开心转中立、警告。 BLP条目列将包含你要用于这些情绪的文件名称,但我们会在实际导入文件后再回到这一步。现在,你的artdef应如下图所示。按Ctrl+S保存。按Ctrl+W关闭。

XLPsAtlas.xlp仍在资源编辑器中,文件->新建->XLP会显示此内容:

从 XLP 类下拉菜单中选择“UITexture”。在“包名称”字段中输入“UI/Icons”。

按下Ctrl+S,将文件另存为“Atlas”并保存到您的XLPs文件夹中。按下Ctrl+W关闭窗口。 UILeaders.xlp文件 -> 新建 -> XLP。从XLP类别下拉菜单中选择“UITexture”。在“包名称”字段中输入“UILeaders”。

按下Ctrl+S保存为UILeaders并放入您的XLPs文件夹中。按下Ctrl+W关闭。LeaderFallbacks.xlp文件->新建->XLP。从XLP类别下拉菜单中选择LeaderFallback。在包名称字段中输入LeaderFallbacks。

按下Ctrl+S,将文件另存为“LeaderFallbacks”并保存到您的XLPs文件夹中。按下Ctrl+W关闭窗口。 Art.xml您在此处添加的内容很大程度上取决于您的模组要实现的功能——例如领袖、文明、单位、区域等。我将具体说明领袖图标和美术资源需要添加的内容。如果您的情况不同,或者希望使用自动化方法,建议跳过此部分,在本教程的最后,即构建解决方案之前,使用thecrazyscot的模组美术生成器[forums.civfanatics.com]。 仍在资源编辑器中:文件->打开Art.xml->选择您项目的Art.xml文件。您的屏幕应大致如下所示:

艺术消费者 - 领袖 在“艺术消费者”框中滚动项目列表,找到“领袖”并选择它。现在,在右侧“包”旁边,点击“添加...”按钮。从那里,选择你的领袖artdef文件。

美术资源库 - LeaderFallback 在“资源库”框中滚动项目列表,找到“LeaderFallback”并选择它。现在,在右侧的“包”旁边,点击“添加...”按钮。从那里选择你的LeaderFallbacks XLP文件。* * 参见本节末尾。 资源库 - UITexture 在“资源库”框中滚动项目列表,找到“UITexture”并选择它。现在,在右侧的“ArtDefs”旁边,点击“添加...”按钮。从那里选择你的Atlas和UIleaders XLP文件。之后应该显示如下:

库 - LeaderFallback在“库”框中滚动项目列表,找到“LeaderFallback”并选择它。现在,在右侧的“包”旁边,点击“添加...”按钮。从那里,选择你的LeaderFallbacks XLP文件。 按Ctrl+S保存。按Ctrl+W关闭。 现在,从资源编辑器切换回你的Modbuddy项目。在解决方案资源管理器中,右键点击“Artdefs”文件夹 -> 添加 -> 现有项...,然后选择你创建的两个artdef文件。接下来,右键点击“XLPs”文件夹 -> 添加 -> 现有项...,然后选择你创建的三个xlp文件。你的解决方案资源管理器可能不止这些文件夹和文件,但至少应包含这些文件夹和文件:

在Modbuddy中打开你的Art.xml文件。按Ctrl+F在当前文档中搜索“Leaders.artdef”。将其修改为<Element text="Leaders.artdef"/>,并移除文件夹路径。对LeaderFallbacks.artdef执行相同操作,将其修改为<Element text="LeaderFallbacks.artdef"/>。按Ctrl+S保存。

准备工作:操作步骤 从顶部菜单栏点击“项目”->“YourProjectHere 属性...”,你应该会看到类似如下界面:

图标操作:切换至前端操作选项卡。 现在点击“添加操作”按钮。默认情况下,这将添加一个“更新数据库”操作。 点击该操作,它会向右展开,显示ID、类型、自定义属性和文件。 将ID字段从“NewAction”更改为“Icons”。 点击显示为“UpdateDatabase”的类型下拉菜单,选择“UpdateIcons”。 在“文件”框的右侧,点击“添加”。会出现一个带有“文件”和“优先级”选项的提示框。从下拉菜单中选择“Icons/Icons.xml”。优先级留空。点击“确定”。

点击“游戏内操作”选项卡并重复之前的操作说明。 模组美术操作切换至“前端操作”选项卡。 现在点击“添加操作”按钮。默认情况下,这将添加一个“UpdateDatabase”操作。 点击该操作,它会向右展开,显示ID、类型、自定义属性和文件。 将ID字段从“NewAction”更改为“Art”。 点击显示为“UpdateDatabase”的类型下拉菜单,选择“UpdateArt”。 在“文件”框右侧,点击“添加”。会出现一个带有“文件”和“优先级”选项的提示框。从下拉菜单中选择“(模组美术依赖文件)”。优先级留空。点击“确定”。

点击“游戏内操作”选项卡并重复之前的操作说明。 配置操作:如果尚未拥有配置文件。 切换到“前端操作”选项卡。 现在点击“添加操作”按钮。默认情况下,这将添加一个“UpdateDatabase”操作。 点击该操作,它会向右展开,显示ID、类型、自定义属性和文件。 将ID字段从“NewAction”更改为“Config”。 在“文件”框的右侧,点击“添加”。会出现一个带有“文件”和“优先级”选项的提示框。从下拉菜单中选择“Config.sql”(或你的配置文件)。优先级留空。点击“确定”。 准备工作:SQL 外交信息:移除所有插入“DiplomacyInfo”表的数据。一些文明和领袖指南会使用此表,这与此指南存在冲突。 加载信息:“LoadingInfo”表用于处理加载界面。按如下方式进行设置,将LEADER_SAILOR_SKELETON替换为你的领袖的领袖类型。 INSERT INTO LoadingInfo (LeaderType, BackgroundImage, ForegroundImage, PlayDawnOfManAudio) VALUES('LEADER_SAILOR_SKELETON', 'LEADER_SAILOR_SKELETON_BACKGROUND', 'LEADER_SAILOR_SKELETON_NEUTRAL', 0);提示:你可以将BackgroundImage列更改为现有领袖使用的背景,例如LEADER_GORGO_BACKGROUND为红色。更多信息请见下方“图像创建”的“领袖背景”部分。 配置:在你的配置文件中,Players表有多个与显示领袖和文明图像相关的列。这仅影响领袖选择界面。请注意,以下列表仅涉及本教程相关的列。肖像:通常情况下不会使用,除非你正在使用专门用于领袖选择的自定义肖像(见下文“图像创建”)。 肖像背景:领袖的背景。通常使用与加载时相同的背景,但可以自定义。(LEADER_SAILOR_SKELETON_BACKGROUND) 领袖图标、领袖能力图标:不带尺寸的领袖肖像图标。这两个条目通常是相同的。(ICON_LEADER_SAILOR_SKELLYTON) 文明图标、文明能力图标:文明图标的阿尔法图像(白色背景透明)。同样的逻辑也适用于“玩家物品图标”列。 图像创建 充分的准备工作是确保一切顺利进行的关键。创建图像时,只需使用GIMP、Photoshop或其他替代软件即可。学习如何使用任何图像编辑软件不在本教程的范围内。 不用担心保存为.dds格式。你不再需要这样做了,所以不值得费力。只用.png格式。.png才是规范的。保存前应合并所有图像图层(仅保留一个图层!)。否则,当你的作品出现问题时,可别抱怨。 领袖肖像图标尺寸(正方形):256、80、64、55、50、45、32 在256x256的图像上,你的肖像图标每边应留有约10像素的空白边距。实现此效果的一种方法是:先将肖像制作成235x235的图像,完成后将画布尺寸增大到256x256,并将肖像居中放置在新画布上。 命名规则: ICON_领袖类型_尺寸.png 例如:ICON_LEADER_SAILOR_SKELLYTON_256.png示例:

领袖备用图尺寸:825x1024 领袖应靠左对齐,完全位于图像框内,图像约40%为空。这能在相关界面中为领袖提供一些边距。若你想要更多边距,可调整宽度。 命名规范(保存两份副本): FALLBACK_NEUTRAL_领袖类型.png 例如:FALLBACK_NEUTRAL_LEADER_SAILOR_SKELLYTON.png 领袖类型_NEUTRAL.png 例如:LEADER_SAILOR_SKELLYTON_NEUTRAL.png 仅在为领袖添加多种情绪肖像时参考此部分。通常,静态领袖肖像使用FALLBACK_NEUTRAL。但如果你已按照之前的准备步骤在LeaderFallbacks.artdef中设置了多幅肖像,则可根据“名称”列中的情绪数量创建相应数量的不同肖像。对于每张图片,请将文件名中的“NEUTRAL”更改为你希望使用该肖像的情绪。例如: FALLBACK_NEUTRAL_LEADER_SAILOR_SKELLYTON FALLBACK_ANGRY_LEADER_SAILOR_SKELLYTON FALLBACK_POSITIVE_LEADER_SAILOR_SKELLYTON 示例肖像:

领袖背景 加载界面

尺寸:1920x960 命名规则: LeaderType_BACKGROUND.png 示例:LEADER_SAILOR_SKELLYTON_BACKGROUND.png 提示:你可以通过将LoadingInfo表中的BackgroundImage列更改为某个文明领袖使用的背景(例如使用LEADER_GORGO_BACKGROUND以获得红色背景),来跳过此步骤(以及所有与_BACKGROUND.png相关的后续步骤)。Leugi制作了一张方便的参考图片,他友好地允许我在此处使用。

外交背景 这包含两张独立的图像,一张叠加在另一张之上。第一张(1)是领袖外交场景的背景图。第二张(4)是覆盖背景大部分区域的风格化边框。 我已在此处上传了风格化边框(4)[i.imgur.com],但通常你可以在SDK资源文件夹中找到它。该边框通常会应用一种颜色。

尺寸:1920x1010 命名规则: 背景图:从LeaderType_1.png中移除“LEADER” 示例:LeaderType LEADER_SAILOR_SKELLYTON 变为 SAILOR_SKELLYTON_1.png 框架:从LeaderType_4.png中移除“LEADER” 示例:LeaderType LEADER_SAILOR_SKELLYTON 变为 SAILOR_SKELLYTON_4.png 提示:如果你的领袖角色体型较宽,在领袖选择界面中显示效果不佳,除了_NEUTRAL.png外,你还可以创建一个定制的LEADER_SAILOR_SKELLYTON_SELECT.png,并通过在玩家数据表的“Portrait”列中插入LEADER_SAILOR_SKELLYTON_SELECT,将其添加到配置文件中。 提示:想知道_1和_4之间发生了什么吗?有些领袖拥有出现在_4图层下方的道具或图层,这些元素会移动以产生更丰富的视差效果。你可以在SDK资源文件夹中找到示例,如果你愿意,可以通过使用既定的命名规则并使用文件名以_1、_2和_3结尾的图片来添加自己的内容。 准备就绪 你的文件列表现在应该大致如下:

导入图像 现在该将这些素材导入资源编辑器了。工具 -> 启动资源编辑器... 打开资源编辑器后,文件 -> 打开XLP。打开图集、领袖备用图和UI领袖图。

Atlas.xlp点击“条目”面板中的第二个文件夹图标(按照上方红色箭头指示),会弹出一个提示窗口。点击“添加源文件...”->选择所有ICON_图像。现在,在同一个提示窗口中,将“导出类别”更改为“用户界面”,然后点击“应用到所选项目”。点击右下角的“导入”。按Ctrl+S保存,按Ctrl+W关闭。


点击“条目”面板中的第二个文件夹图标,会弹出一个提示框。点击“添加源文件...”->选择所有FALLBACK_NEUTRAL_LEADER图像。在同一个提示框中,点击“应用到所选项目”。点击右下角的“导入”。按Ctrl+S保存,按Ctrl+W关闭。


点击“条目”面板中的第二个文件夹图标,会弹出一个提示框。点击“添加源文件...”->选择你的LEADER_X_NEUTRAL图像、LEADER_X_BACKGROUND图像以及_1和_4图像。现在,在同一个提示框中,将“导出类别”更改为“用户界面”,然后点击“应用到所选项目”。点击右下角的“导入”。按Ctrl+S保存,按Ctrl+W关闭。


LeaderFallbacks.artdefFile -> 打开Art Def -> LeaderFallbacks.artdef。展开文件夹和LEADER_元素,以查看“动画”(Animations)条目。选择“动画”。在右侧窗格中,将“名称”(Name)字段更改为DEFAULT,并将“BLP条目”(BLP Entry)字段更改为你的FALLBACK_NEUTRAL_LEADER_文件名称(不带扩展名)。要为领袖添加多个情绪肖像?请跳至下方的额外步骤。否则:按Ctrl+S保存,按Ctrl+W关闭。

仅当你为领袖添加多个情绪肖像时,才需参考本部分。对于BLP条目列中的每个值,你需要添加希望游戏在该领袖状态下使用的领袖情绪肖像名称。例如,你可能希望在“HAPPY”行使用“FALLBACK_POSITIVE_LEADER_SAILOR_SKELLYTON”。完成后,你的artdef应类似于下方图片。按Ctrl+S保存,按Ctrl+W关闭。

关闭资产编辑器。 Icons.xml 将以下内容复制粘贴到你的Icons.xml文件中。然后找到并替换LEADER_SAILOR_SKELLYTON为你的领袖的LeaderType。 <GameInfo> <IconTextureAtlases> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="32" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_32.dds"/> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="45" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_45.dds"/> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="50" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_50.dds"/> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="55" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_55.<dds"/> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="64" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_64.dds"/> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="80" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_80.dds"/> <Row Name="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" IconSize="256" IconsPerRow="1" IconsPerColumn="1" Filename="ICON_LEADER_SAILOR_SKELLYTON_256.dds"/> </IconTextureAtlases> <IconDefinitions> <Row Name="ICON_LEADER_SAILOR_SKELLYTON" Atlas="ICON_ATLAS_LEADER_SAILOR_SKELLYTON" Index="0"/> </IconDefinitions> </GameInfo> IconDefinitions(图标定义)用于告知Modbuddy(模组伙伴)为你的领袖图标应查看哪个纹理图集。IconTextureAtlases 会告诉 Modbuddy 这些文件是什么以及在何处查找。这可能比看起来更复杂,但请保持简单(K.I.S.S.)。 完成 提示:如果你决定使用 thecrazyscot 的 Mod Art Generator,现在正是时候。按下 Ctrl+Shift+S,生成或重新生成你的解决方案。就是这么简单。


如果你需要帮助、想要帮助他人,或者只是想参与模组社区,欢迎加入《文明6》模组帮助热线Discord[discord.gg] 补充:只有图标? 假设你要添加不需要美术定义文件的内容,比如自然保护区区域的新项目,并且你的项目中没有其他需要编译的美术定义文件。这时你会遇到Modbuddy无法生成BLP文件的问题。为解决此问题,创建一个名为UserInterface.artdef的美术定义文件。将以下内容复制粘贴到该文件中,将“Project Name Here”替换为你的Modbuddy项目名称(即解决方案中的项目名称,也是你的Art.xml文件的名称)。<AssetObjects::ArtDefSet> <m_Version> <major>3</major> <minor>0</minor> <build>215</build> <revision>207</revision> </m_Version> <m_TemplateName text="UserInterfaceBLPs"/> <m_RootCollections/> <m_BLPReferences> <Element> <xlpFile text="Atlas.xlp"/> <blpPackage text="Project Name Here.blp"/> <xlpClass text="UITexture"/> </Element> </m_BLPReferences> </AssetObjects::ArtDefSet>
