五、创建Mod的图标与立绘
本章节会详细演示通过Asset Editor创建我们所需要的图标与领袖立绘。
Last updated
Was this helpful?
本章节会详细演示通过Asset Editor创建我们所需要的图标与领袖立绘。
Last updated
Was this helpful?
如果你想导入一个资源,你就需要一素材,在这里,我会演示如何使用大佬工具1.5来生成DDS文件。
DDS是一种图片格式,是DirectDraw Surface的缩写,它是DirectX纹理压缩(DirectX Texture Compression,简称DXTC)的产物。由NVIDIA公司开发。
以上来自百度百科,现在你应该知道了,游戏是不能随便加载Jpg或者是Png的,你必须制作正确的格式,然而《文明6》对于图标贴图又需要多种分辨率大小,通过Photoshop手动保存将会是一个噩梦,所以,我会一一讲解,如何最快生成大量的游戏素材。
如果你想下载Photoshop的DDS插件,请访问:https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop(该文章不讲解这个工具的疑难问题和安装过程,百度有大量相关教程。)
友情提示,如果PS的DDS插件装不上,可能和如下情况有关:32位与64位,PS版本。
文明6大多数图标都是圆形的,他们大多数的最大分辨率是256像素*256像素,但实际的图像内容并不是占满整个256*256的,如果你想了解什么内容,请翻查Sid Meier's Civilization VI SDK Assets,如果你忘记这个东西是什么,请看第一章:
该文件夹里包含着大量的文明6原始数据,在2018年8月最近的更新中,补齐了资料片的素材,若你不知道图标的具体大小和尺寸,请访问该资源包来获得信息,若你不太明白其中的内容,请先看完本章节,你将会了解贴图色彩问题和多个素材拼合在一张图片上的问题,而如何挖掘官方素材的信息,我将会单独打开一章节。
对于领袖图标,你需要注意的是:
合理的尺寸,要求和官方提供的素材一致。
背景,若背景为透明即为透明。
当你完成后,请将该文件存为png格式,我们用大佬工具1.5来生成各个分辨率的dds。
由于文明6有相对引用,例如背景等等,所以一些Id错误的格式会导致游戏引入失败,表现状况为:黑色贴图。
ID请尽量起的比较特殊,比如查理曼,该文明存在于场景包的情景模式中,同名ID冲突可能会造成资源引入错误,表现状况为:图标存在,但不是你所关联的。
Ps在某些情况下保存后的贴图被大佬工具1.5生成后格式错乱,请保存为png再通过大佬工具1.5生成,如果仍然花屏,请用画图工具打开你的png文件并重新存储一下,如果还花屏,请换个图片工具打开并重新存储。
上图是重点
接下来将一一讲解:
打开或者拖入:顾名思义,第一步先打开你所需要生成的图标文件。
Keep Resolution:你的图标将会被生成多个尺寸,在这个下拉框里,请选择你所需要的合适的图标。例如领袖,就请选择Icons_Leaders,后么的输入框会变成可编辑状态,其中的每一个数,都是对应会生成的图标分辨率。
每行数量/每列数量:《文明6》可以在一大张图片上拜访多个图标,用于节省显存/内存索引,加快游戏读取速度,这一部分内容请百度雪碧图(Sprite),该内容是进阶内容,实际上做Mod并不需要太考虑该问题,默认1/1。
输出列表:最终生成的文件名称,请检查是否正确并符合你的标准。
铅笔图标:为最终生成的文件的名称添加固定的前缀或者后缀。
文件夹图标:打开图标所在目录。
齿轮图标:DDS生成所需要的配置,大多数情况不需要修改。
ATLAS:生成所需要的XML数据,点击这个按钮会打开新的编辑框,再点击右下侧的生成画册按钮生成XML数据(重要)。
转换:转换图片并输出到图标所在的目录中。
尺寸的来源是通过分析官方文件数据得到的,如果你不知道或者你想手动通过PS保存各个尺寸,请查阅相关信息来了解,大佬工具1.5内置这些尺寸,不同引用的尺寸是不一样的,例如:文明图标需要44号而领袖不需要。
文明图标的45号被用于初始领袖选择界面时加载,这是在风起云涌版本之前的情况。
如你所见,当我们打开文件并选择图标生成尺寸类型(刚才提到的:Keep Resolution)之后,这就是常规情况下的样子,这时候,我们可以点击转换。
不要关掉大佬工具1.5!这时候,我们通过右下角的文件夹图标打开生成目录。
你可以通过PS打开后来检查一下:
OK,接下来我们回到大佬工具1,5,点击右下角的ATLAS按钮。
将这些内容复制出来,在你的ModBuddy里新建一个xml,这个xml将专注于存储你的图标数据:
该元素通过<Row>来记录数据,Row有如下属性:
Name:元素的名称,这个名称用于绑定<IconDefinitions>还有将不同尺寸的相同内容归为一个集合。
IconSize:图标的大小,请和实际文件匹配。
IconsPerRow:图标的行,请和实际文件匹配。
IconsPerColumn:图标的列,请和实际文件匹配。
Filename:Asset Editor中的文件实际名称。(扩展名可以无)
该元素同样通过<Row>来记录数据,Row有如下属性:
Name:实际游戏中调用的名称。
Atlas:图标贴图册的名称,通过引用<IconTextureAtlases>中实际存在的名称来将图标的各种尺寸引用到游戏里。
Index:图标的位置,这个位置和<IconTextureAtlases>中的每一行元素的<IconsPer>系列有关系,假设<IconsPerRow>和<IconsPerColumn>都是3,意味着这张图片是一个3*3的雪碧图(Sprites)(不懂请百度),其中包含着9个图标位置,如果此时index是4,那么该图标定义引入的就是这个图标贴图册的第二行第一个图标。
以上就是文明6图标是如何从外部引入到游戏内部的流程,大体上是将图标的各种尺寸都定义成一个集合,再将这个集合引入到游戏里起个游戏能够识别的Id,如果你不太明白,并不影响后面的制作,你只需要跟着我的步骤就能够成功。
图标的开头均为ICON_
领袖贴图命名为ICON_领袖ID,例如教程Mod领袖ID为LEADER_FSN_ARCHER_EMIYA,那么名称即为ICON_LEADER_FSN_ARCHER_EMIYA(先不考虑后缀名),该图标会被相对加载到部分领袖图标上。
文明名称开头为ICON_,然后同上,是文明的ID,例如ICON_CIVILIZATION_CHARLEMAGNE_SABER_FRANCIA。
背景为领袖ID加上_BACKGROUND,例如LEADER_FSN_ARCHER_EMIYA_BACKGROUND,该文件名称作为ID时,选择对应领袖会被自动加载。
FALLBACK_NETURAL_FSN_ARCHER_EMIYA,该名称为FallBackLeader使用,用于游戏中外交界面的2D领袖贴图,命名为去掉LEADER_后的领袖ID前加上FALLBACK_NETURAL。(实际引用则根据Artdef而变化)。
好了,现在你会做图标了,这里我也要讲一下文明的图标怎么做:
标记图标实际上是一个纯白色的标志,背景透明,置入在图像中,游戏通过内部的颜色系统为标志上色,从而实现一个图标多次使用。
与上方流程相同,将图标存储为所需要的图标尺寸后等待导入Asset Editor进行进一步处理。
除去图标以外,背景图,领袖图等等都是一单张DDS,他们的尺寸是固定的,你可以参考官方素材文件夹里,或者使用我提供的办法(我提供的并不准确)。
宽768,高1024,整体图像请偏左一些。
岁数大了……每次做都忘记这个尺寸,你可以查查别人的……或者告诉我一下正常尺寸。
宽1280,高1000
宽1920,高1080
超过这个尺寸,载入图边缘的一层蒙版会消失,这个尺寸也应该是文明6最大载入贴图尺寸。
载入领袖图:
宽1024,高1024
这张图片载入的时候,底部会与屏幕贴紧,所以不管大小如何,请保证底部是存在的,否则会断层。
上下左右若有不连贯地方可以考虑使用羽化。
没有太多要求。
以上就是所有的图片大致情况了,将这些图片根据上面给的命名规则或者你所知道的名字保存为DDS后,我们进行下一步工作。
文明6的Mod的资源是需要被打包才能够被游戏载入的,这里就需要使用Asset Editor这个工具,通过该工具,我们可以把多媒体资源打包并入Mod中。
当你打开后,你就可以看到一个框框,正在加载,请稍等片刻。
注:笔者写该章节日期于2019年8月,该工具受到了大幅度的更新,界面有变化并且修复了几个Bug。
文明6的贴图会被打包入Xlp形成一个集合,并为集合附上正确的类,例如:图标的类是UITexure,若把该类型的Xlp写在错误的加载区域,是不能被游戏读取的,所以,正确的类标记和是Xlp打包的关键,首先,让我们先认识一下如何新建一个文件:
本章节只介绍ArtDef和Xlp两个部分。
这里,我们选择Xlp,并点击OK,于是得到一个新的文件编辑窗口:
首先,我们来介绍一下这几个内容的意思:
Module Name:不需要考虑。
Package Name:包的名称,该名称为Mod打包后存放在Platforms中的文件的名称于结构,例如UI\Icons,那么打包后,这个Xlp会被转换为Blp,并存放在 Mod文件夹\Platforms\平台\Blps\UI\Icons.blp。不需要扩展名,每一个反斜杠代表一个文件夹层次,请不要输入生僻字符或者可能会造成错误的字符,例如空格,问号等等……
Xlp Class:Xlp的类标记,点击后可以看到下拉列表中的内容,根据素材内容,为每一个Xlp选择正确的类标记。
一排多选框:该素材的编译平台,每个平台的Mod素材格式是不一样的,你所选择的平台会在Mod编译时生成,用于适配该平台。
Entries:你所有的素材都会被添加在这个地方,每个素材都会有Id对应他们的文件内容,一个文件可以有多个Id,但一个Id只能有一个文件,文件名不能重复,Id不能重复。
关于ID别名:文明6里有大量的相对引用,例如领袖ID_BACKGROUND,该Id用于显示领袖选择界面的领袖背景层,若想要一张图片在多个领袖下适配,就需要为该贴图起一个ID别名,例如LEADER_1_BACKGROUND,LEADER_2_BACKGROUND,但是他们实际引用的是同一张图片。
我们点击第二个按钮,弹出一个框框:
我们首先点击+ Add Source File... 添加源文件,弹出文件选择菜单,我们选择需要添加的贴图,然后点击打开,这里我添加的只有刚刚制作的领袖图标数据。
在这个界面修改原始图像,(演示路径:F:\Mods\CIV\2019\RESOURCE\FATE_EMIYA)中已经导入的文件,游戏会自动刷新,或者你可以按reimport刷新。
该功能用于检阅官方的素材,因为官方的素材都是这种格式。
Tex文件保存的是每个图片的数据源信息,以及这些图片的类型,标签,还有特殊的格式资料,一般情况下不需要修改。
通过导入Xlp文件就会自动生成Tex。
点击左上角File菜单下的Save,即可保存,保存之前请在Package Name写上名称,这里我写的与XLP Class一致。
现在,我们把加载背景,加载立绘,游戏背景,选择界面背景,还有刚刚已经添加的领袖图标都放入UITexture类的Class中。
如果你想要更方便的调试(Debug)你的素材,你可以给Package Name起一个有标志性的名字,比如,我现在改成了EmiyaUITexutre。
当你在log中查阅素材加载情况的时候,你可以快速搜索EmiyaUITexture来获取信息。
完成这一步,我们还需要单独为游戏的领袖立绘新建一个Xlp,这个Xlp的Xlp Class为:LeaderFallback
是不是很简单?现在请你编译一下Mod,然后看一看这两个Xlp是否成功被加入到了编译后的Mod中。
下一步,我们需要学习ArtDef相关的知识与内容。
当你有了素材之后,你还需要通过Artdef为这些素材建立关系,顾名思义,ArtDef是Art Define(艺术定义,应该是这么拼写),比如单位的模型在游戏中的大小,一个单位里在视觉上有多少个步兵,领袖在游戏中的二维贴图等等,都是通过该功能来实现的。
这一章节,我们只介绍如何为领袖绑定LeaderFallback,也就是如何为领袖绑定游戏外交界面的贴图立绘。
首先,我们新建一个Artdef。
这里的工具发生了Bug,需要再添加一个新的节点,然后删除,才能显示所有的属性。
如果你已经正确添加但是没有找到你的领袖立绘,请关闭Asset Editor并重新打开该工具刷新即可找到。
如果还没有,请先做完下方的Art.xml部分,再来做这一块。
如果还没有,请直接在外层复制粘贴你添加在Xlp文件中的ID
保存这个文件,然后,我们完成了游戏外交界面领袖立绘的绑定。
你以为刚才就完成了吗?并不!文明6还需要把Artdef和Xlp写在Art.xml中,该步骤用于游戏在正确的区块加载正确的数据文件,举个例子,如果这局游戏需要单位素材的话,文明6会加载单位的数据,如果不需要单位素材,文明6就不会加载任何单位素材,而如何细分哪些Xlp是单位素材,哪些Artdef是单位素材,就是通过Art.xml来实现的。
这里我们讲解一下这几块内容:
ID:Art.xml有个Id,必须要和Mod的UUID一致。
Art Consumers:Artdef的引用,你需要在左侧正确的标签中添加我们制作的Artdef。
Libraries:Xlp的引用,你需要在左侧的标签中也添加我们制作的Xlp。
Dependencies:依赖项目,这是指什么Art艺术文件会被关联到该Art.xml中用于加载。(如果你需要资料片的素材,你就需要关联资料片的内容)。
该文件编译后,后缀名会变为 .d e p(请无视空格,gitbook对这个词有特殊感情),本质还是个Xml。
这一部分,你可以使用大佬工具1.5来制作,你也可以使用我的方式来制作。
你已经了解Art.xml了,那么我们的任务有两个部分:1.引用正确的Artdef,2.引用正确的Xlp。
我们刚才的制作,一共创建了两个Xlp,一个Artdef,我们需要把这三个文件添加进去。
和刚才的套路一样,我们继续再Packages部分点击Add..找到我们的Xlp文件:
然后我们还需要添加UITexture:
终于,我们完成了这一部分:
以下部分可做参考:
如果你的Mod只需要原版游戏素材数据的话,你也可以去修改最底下的Dependencies,让Mod的兼容性原版游戏:
进阶Modder注意:这一部分很迷,似乎可以为每一种依赖添加不同的资源引用
现在我们保存这个文件,它可能会弹出这个窗口:
现在你可以编译一遍,然后我们会得到dep和artdef还有xlp
如果都存在,就证明你没有做错。
大佬工具还在测试可能有问题,所以不是很建议
把生成后的文件替换原来的art.xml(图中的例子是Fate_Stay_Night__Emiya.Art.xml)
很好,你现在已经完成了素材的部分,现在你需要重新修改我们之前再第四章做的一些数据,如果你忘了一些内容,建议你返回查阅:
我的分辨率是2K,所以加载界面有很多地方比较诡异……(不过游戏本身做的就很诡异)
好了,现在开始下一章节。