【群星mod制作】批处理物种肖像及注册 - 行业资讯 -

当前位置:首页  >  行业资讯  > 正文

【群星mod制作】批处理物种肖像及注册

【群星mod制作】批处理物种肖像及注册
2023-06-14 02:04:33 来源:哔哩哔哩

分享一下自制mod时遇到的一种批处理文件的问题,因为比较麻烦,就直接做了流程式方案,去解决批量注册肖像的问题。

素材准备

下载

只有三个要求:高清高清还是TMD高清(其实不一定,自己喜欢就完事了)


【资料图】

上面我瞎说的

图片集最好具有以下几点:高清,基本无背景(换言之,基本是透明背景,JPG格式的文件基本就要出问题了),大小最好超过1280×360。

如果说下载的文件有背景,或有大部分区域不是透明的,或是JPG文件,得酌情考虑扣一扣图。

PS处理

PS处理所要达到的目的,是将下载过来的图片,制成1280×360大小的png文件(当然,直接制成DDS文件应该也可以,但是直接储存为DDS文件,是不能够作为PS的动作,从而进行大量的文件批处理的,因此最好还是先制成PNG文件。)

去实现这个目的,过程相当简单,首先需要开启PS的动作功能,设置动作图层以及动作。

其次,只要将目标文件置于图层中间(大部分情况是这样,由于要用PS的动作实现图片批处理,所以过多的移动图层位置,有可能会导致批处理的时候有些文件错位,届时需要额外处理错位文件。当然,如果原图片集的位置就比较合适,那么批处理也就方便很多。)

然后就是需要进行画布大小的修改,直接再PS内部更改画布大小就行了,当然需要注意,要根据你的图片集的立绘位置,决定画布改变大小时的中心点在哪,这也就是为什么需要提前对立绘的位置进行调整。

最后储存文件。

请注意,上述操作全都在一个动作内。

完成动作录制之后,我们就可以通过PS的批处理,来处理图片集。

批处理成DDS文件

我们导出之后的图片集是PNG格式,但是群星mod要识别的,应该是DDS文件,我们的PS可以通过Novdia的插件,来实现DDS文件的导出,但是并不能作为动作进行批处理。(不要问我如何安装Novdia的插件,自己去找,大佬们写的群星模组教程内有。实在不行,可以试试看GIMP软件,免费使用的,但是操作起来没有PS顺手就是了。)

此时我想了一计阴招,虽然不知道合不合理,但是事实证明能用。既然能跑,你管他使用手跑的还是用头跑的呢()

我们需要找到导出的图片集位置(这个是你自己决定导出到哪的,我怎么可能知道你导出到哪去。当然我觉得应该没多少人会找不到

然后我们需要新建一个TXT文件,名字随意,在里面输入:

ren *.png* *.dds

然后保存,退出,将.txt文件的后缀改成.bat。

这样一个更改格式的批处理命令就做好了。

这个命令实现的是,像我们改txt文件为bat文件一样,将所有(也就是.png的.的含义)通通改为和原本一样的名字,但是是.dds后缀的文件。

但事实上png改成dds文件不应该这样操作,这种改后缀的方式就像windows提示的那样,可能会造成文件产生错误,可是除了这个办法,我也想不到其他的办法能够批量更改成dds。

如果PS有可供使用的接口,那应该还可以用代码实现这种功能,但是……我不会啊()

所以我说,这是一计阴招。

代码预处理

地址预处理

我们处理完图片集之后,得到的是DDS格式的图片集,然后我们最好提前将你的图片集归类(当然不归类也行),放入你的模组的/gfx/models/portraits/大类/小类内,这样方便后续操作。(大类并不是说你的文件夹的名字叫大类,小类同理,文件夹的名字都是自设的,但是最好不要或者都可以说一定不要是中文,不确定游戏是否能够正常读取中文文件。而且要注意 /gfx/models/portraits/ 不能更改,必须保持文件夹名字一致

再之后,我们将所有的图片选中,右键复制地址,然后同目录下新建一个TXT文件,将复制的地址粘贴进去。这样,我们就得到了所有图片的地址。

但是这样是不够的,除非你并不想要上传mod,否则是一定需要将图片集放在你的mod文件夹内,因此,一开始图片集的地址是不能使用的,而且导入idea的时候也是需要按照p社语言来注册的。

注册时的格式如下:

sniper_32_3= { textureFile= "gfx/models/portraits/*肖像大类*/*小类*/*.dds"}

而我们得到的地址,基本上都是C: D: E:等等磁盘下的格式,与注册时的代码有所区别。此时需要运用txt文件的查找替换功能(所以其实word也可以做到,但是一下用txt讲述),不过此时就能看出为什么要提前将图片集放入mod文件夹内了,不然你的地址文件都不包含/gfx/models/portraits/,这样后续操作会变得很麻烦。

我们找到文件编辑栏内的替换,或者按下 CTRL+R,选取任意一行的gfx/models/portraits/前面的所有内容,复制粘贴进替换的上面一栏,然后将:

= { textureFile= "

输入到替换栏下面一栏,点击全部替换。

同理,复制.dds 更改为 .dds"}按上述操作,应该就能够把你的所有地址改为:= { textureFile= "gfx/models/portraits/肖像大类/小类/ (图片名).dds "}形式。

导入EXCEL

谁都能发现,我们按照上述操作之后,地址文件缺少类似 sniper_32_3= 的内容。这是你注册肖像时,你个这一张立绘取的名字,你当然可以取你喜欢的名字,但是这不方便批处理,所以不建议使用。

要添加这一内容,我们可以通过excel实现。

因为我做的是舟的肖像处理,所以,我将肖像注册分成了职业干员编号立绘编号。

基于这种命名方式,我们新建一个excel文件,我们把第一列(A)、第二列(B)、第四列(D)分别作为职业、干员编号、立绘编号,第三列(C)填入。

然后在excel内导入你之前做好的地址文件的地址(获取地址很简单,在之前的模组文件夹内,右键你的地址文件夹,复制它的地址粘贴进excel文件即可)。

在设置列的时候,需要根据你自己的需求进行处理。

举个自己的例子。guard_11_1= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘_幽灵鲨_1.dds"}这是我的一张图片,你可以看到,职业为guard,干员编号为11,立绘编号为1

而我还有

guard_11_2= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘幽灵鲨_2.dds"} guard_11_3= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘幽灵鲨skin1.dds"} guard_12_1= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘羽毛笔_1.dds"}这三张图片

我要通过excel做到的是,区分干员的名字,每一行检测干员名字是否与上一行不同,不同则编号加一;相同则立绘编号加一。

那么我们的思路很清晰。

地址文件的内容基本上都是:= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘_羽毛笔_1.dds"}

那么excel设置列的时候,我们要在= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘_ 处,做出中断

这样以后再导入excel,我们应该能够得到在E列为= { textureFile= "gfx/models/portraits/rhodes_island/guard/立绘_

F列为羽毛笔_1.dds"}

这样,初步的设定就算完成了。

另外,中文的文件夹能不能识别我不知道,但是中文的图片文件居然可以识别是我没想到的,本来还以为需要对文件名称进行批处理,不需要真是万幸了。

公式运用

之前说过,我们需要根据图片名称设置干员编号以及立绘编号,这一点excel所具有的函数功能就能够实现。

虽然我不是很精通,但是可以用简单粗暴却不易维护的方式,提供一个大致思路。

我们把地址分成了E(通用地址),F(文件名+句末杂项),F列的开头是干员的名字,那么我们可以在B列写入

=IF(MID(Fn+1,1,2)=MID(Fn,1,2),Bn,Bn+1)//n为当前行数,n0为1

MID函数是取F(n)单元格的第1个字符到第2个字符,可能会产生错误的原因是,文件名字含有重复,比如,一个图片文件叫做玛丽,还有个加玛丽苏,所以MID函数的终止位置需要自己设定。

IF判断本行F列的前几个字符是否与上一行一致,如果一致,则本单元格延续上一格,不一致,则加一。

D列的内容与B列相似,就不过多赘述。

最后将公式拉至底端,就完成了神似:sniper_32_3= { textureFile= "gfx/models/portraits/肖像大类/小类/(图片名).dds"}的格式。

导出TXT文件并再次处理

最后,只需要选中文件另存为,选择更多格式,找到txt文件,然后随便命名,放在自己找得到的地方。

然后我们打开文件,照理来说,导出后因为我们导出了多列内容,不提前设定的话基本上是由tab的占位符的,这个很简单,只需要把占位符复制,替换成空值就行。

记得先不要关闭excel,后面有用!

写入编译器

肖像注册

完成上述操作之后,我们应该已经得到了全部文件的规范化注册代码。

之后就是要找到mod文件内的肖像注册文件(.txt文件,存放在/gfx/portraits/portrais内),写上:

portraits = {}

把你刚刚搞好的记事本内的注册代码复制进去就行了。

导入种族

最后,已经是收尾工作了!

种族需要定义,需要包含各种立绘。再在/gfx/portraits/portrais下创建一个txt,命名随意,但是一定要让自己看得懂这是啥文件。在里面输入:

portrait_groups={    "uva_caster"//种群的名称,比如我这个就是我的mod下的术士分支种族。    default = {}    game_setup = {}    species = {}    pop = {}    leader = {}    ruler = {}}

这一串代码,如果你是使用IDEA或者VSCode,那么可以直接创建这个格式,不用自己输入,但是如果不是,那你也可上wiki查找这一模板。

这里有些小麻烦,我们需要获得之前注册的内容,把他们全部放入肖像组内。

这样说可能有些抽象,但是意思就是说,excel文件内的ABCD列,我们将他们放入模板内的大部分区域。

这里不过这样也很简单,你直接复制abcd列,到之前的地址文件内,再做一次替换tab占位符就行,然后全部复制到模板内。

这样种群的肖像设定就完成了,至于如何制作自己的种群,b站上已经有很多内容了,建议自行查找。

标签:

(责任编辑:news01)
普元信息与浪潮科技启动战略合作 携手耕耘市场 全球速递

普元信息与浪潮科技启动战略合作 携手耕耘市场 全球速递

6月9日,浪潮科技与普元信息举行战略合作签约仪式,双方将围绕政府行业
06-11 11:51:58
游戏陪玩行业乱象调查:不少未成年接单,线下陪玩安全难保障 世界热门

游戏陪玩行业乱象调查:不少未成年接单,线下陪玩安全难保障 世界热门

“学生,陪玩游戏,周末接单”“线下陪玩,超短裙、黑丝,你想让我怎么
06-11 11:14:49
中信建投陈果:港股迎来年内最佳机会-热头条

中信建投陈果:港股迎来年内最佳机会-热头条

中信建投认为,港股将逐渐走出底部,迎来年内最佳机会。行业方面,预计
06-11 10:55:58
天津静海钢管产业如何破解“成长的烦恼”

天津静海钢管产业如何破解“成长的烦恼”

天津静海钢管产业如何破解“成长的烦恼”---不久前,瑞丰达在一次大型
06-11 10:12:15
自动驾驶的“奇点”时刻将近?余承东“剧透”这一时点

自动驾驶的“奇点”时刻将近?余承东“剧透”这一时点

《科创板日报》6月10日讯(编辑邱思雨)高阶自动驾驶技术的商业化进程
06-11 09:49:29
广州退休金最低标准多少钱?退休工资计算跟职位有关系吗?-每日头条

广州退休金最低标准多少钱?退休工资计算跟职位有关系吗?-每日头条

2000元“广州的最低退休工资是2000元。养老金的计算公式:每月养老金数
06-11 09:23:58
惊艳绝伦!三星堆文物,再次实现跨坑“拼合” 每日焦点

惊艳绝伦!三星堆文物,再次实现跨坑“拼合” 每日焦点

随着三星堆遗址祭祀区野外工作的全面结束,新祭祀坑出土文物的室内整理
06-11 09:17:39
什么人会真龙护体(真龙之气护体有多厉害)

什么人会真龙护体(真龙之气护体有多厉害)

真龙护体是什么意思1、遇佛佛。据九游网得知游戏大唐双龙传中李世民拥
06-11 09:02:00
全球视点!锦龙股份再抛定增计划,公司实控人杨志茂拟以现金全额认购2.64亿股

全球视点!锦龙股份再抛定增计划,公司实控人杨志茂拟以现金全额认购2.64亿股

锦龙股份的定增计划又迎来新变化。6月9日晚,锦龙股份发布了第九届监事
06-11 08:32:50
广州退休金与佛山退休金区别大吗?退休待遇怎么样? 微资讯

广州退休金与佛山退休金区别大吗?退休待遇怎么样? 微资讯

广州退休与佛山退休金区别大吗?退休待遇怎么样?随社保网小编来看看。
06-11 07:51:23
白落梅简介出生(白落梅简介)

白落梅简介出生(白落梅简介)

1、白落梅,原名胥智慧。2、栖居江南,文字清淡。3、简单自持,心似兰
06-11 07:28:30
“2B铅笔”的“B”到底是什么意思?

“2B铅笔”的“B”到底是什么意思?

高考刚刚过去,大家知道作答时用到的笔用英语怎么表达吗?考试作答时会
06-11 06:54:11
蛋糕与葡萄酒如何搭配才最好?

蛋糕与葡萄酒如何搭配才最好?

葡萄酒遇到它,才知道什么是绝配,一口又一口根本停不下来4年一度的世
06-11 06:38:03
讯息:刘亚仁涉嫌吸食8种以上毒品 被移送至检察机关

讯息:刘亚仁涉嫌吸食8种以上毒品 被移送至检察机关

刘亚仁涉嫌吸食8种以上毒品被移送至检察机关
06-11 06:14:48
天天新资讯:择一业终老 遇一人白首 广铁集团工会怀化文化宫举办百名单身青年联谊活动

天天新资讯:择一业终老 遇一人白首 广铁集团工会怀化文化宫举办百名单身青年联谊活动

择一业终老遇一人白首广铁集团工会怀化文化宫举办百名单身青年联谊活动
06-11 04:52:23
220件文物讲述汉字源远流长 成博新展带你走进“汉字中国”丨文化和自然遗产日

220件文物讲述汉字源远流长 成博新展带你走进“汉字中国”丨文化和自然遗产日

6月10日,作为2023年文化和自然遗产日重要配套活动,汉字中国方正之间
06-11 04:35:13
胰腺炎严重会引起什么后果_胰腺炎严重 环球短讯

胰腺炎严重会引起什么后果_胰腺炎严重 环球短讯

1、胰腺炎临床上出现腹痛、腹胀、恶心、呕吐、发热等症状。2、可分为单
06-11 04:24:40
【新视野】零度战姬第三季会出吗(零度战姬第三季)

【新视野】零度战姬第三季会出吗(零度战姬第三季)

1、还没有。2、才第二季还没有出吧官方没有公布。3、再等等吧会有的
06-11 03:26:02
柳岩的衣服真“挤”,一袭抹胸连衣裙高级时髦,大方展现曼妙身姿

柳岩的衣服真“挤”,一袭抹胸连衣裙高级时髦,大方展现曼妙身姿

1 6新鲜的东西总是更容易引起我们的注意,所以与众不同的设计才能赢得
06-11 02:43:00
大运会火炬手邹敬园:希望全世界大学生感受到成都的文化 全球头条

大运会火炬手邹敬园:希望全世界大学生感受到成都的文化 全球头条

今日,成都大运会火炬“蓉火”传递正式在首站城市——北京开启。奥运冠
06-11 02:30:10
鄞州区民政局婚姻登记处上班时间_鄞州区民政局_动态焦点

鄞州区民政局婚姻登记处上班时间_鄞州区民政局_动态焦点

1、鄞州区民政局地址:宁波市鄞州新城区惠风东路225号邮政编码:315100
06-11 02:13:43
全民体育健身(全民体育)_头条

全民体育健身(全民体育)_头条

来为大家解答以上的问题。全民体育健身,全民体育这个很多人还不知道,
06-11 02:06:19
探访安徽巢湖“美容师” 义务守护巢湖水清岸绿

探访安徽巢湖“美容师” 义务守护巢湖水清岸绿

(高博  夏海霞)头戴草帽,脚蹬胶鞋,手握长竿,竿头的网兜在水
06-11 01:22:55
【热闻】汽车底盘的作用是什么(汽车底盘的作用是什么?)

【热闻】汽车底盘的作用是什么(汽车底盘的作用是什么?)

汽车底盘的作用是什么?汽车底盘作用是支承、安装汽车发动机及其各部件
06-11 00:42:54
环球消息!四川锂矿资源储量占全国总量57% 具备采矿权锂矿储量达1.58亿吨

环球消息!四川锂矿资源储量占全国总量57% 具备采矿权锂矿储量达1.58亿吨

四川省内现已具备锂矿开采能力近155万吨,基础锂盐产能54万吨
06-11 00:19:07
【天天播资讯】金融赋能高质量发展 第12届金交会参展机构争亮“成绩单”

【天天播资讯】金融赋能高质量发展 第12届金交会参展机构争亮“成绩单”

中新网广州6月10日电(记者郭军)第12届中国(广州)国际金融交易·博览会(
06-10 23:49:18
北青:国安新帅苏亚雷斯风格强硬训练魔鬼,预计两三天内到北京

北青:国安新帅苏亚雷斯风格强硬训练魔鬼,预计两三天内到北京

直播吧6月10日讯据“北青体育”报道,国安主帅斯坦利下课已成定局,49
06-10 23:49:08
天天快报!千名爱好者 秀“功夫”

天天快报!千名爱好者 秀“功夫”

6月9日,千名健身气功爱好者在活动现场进行交流展示。当天,全国百城千
06-10 23:24:36
AI前哨 | OpenAI联合创始人Sam Altman:安全性很重要 不会很快有GPT-5 环球最资讯

AI前哨 | OpenAI联合创始人Sam Altman:安全性很重要 不会很快有GPT-5 环球最资讯

凤凰网科技讯《AI前哨》6月10日消息,在2023北京智源大会上,智源研究
06-10 22:44:33
中国国际丝绸博览会在杭州举办

中国国际丝绸博览会在杭州举办

每经AI快讯,今天(6月10日)上午,中国国际丝绸博览会在杭州开展。本
06-10 22:01:44

为您推荐

精彩推送