本文专注于介绍UIS的基本框架与基本内容,可作为初级使用者指南帮助参考。

UIS基础知识

第一步:对皮肤文件的处理

Malody的皮肤文件后缀为.msz,将其后缀改为.zip后,再解压至文件夹,就可以进行进一步的操作。
相反之,需要对该皮肤文件夹内的所有物件全选(Ctrl+A),并右键压缩为.zip,再更改它的后缀为.msz,就可以把皮肤文件打包成msz文件。(注意:这里不要对文件夹去压缩,否则在后续解压时会多出一层文件夹,导致皮肤文件无法正常读取。)

第二步:对皮肤文件内部组成结构的认识

在进行过上一步中,解压的操作后,可以在文件夹中看见一堆文件与资源。这些文件资源可以被分成以下3类:
①mui文件
②素材贴图(xxx.png)
③plist文件

第三步:认识mui文件

mui文件是 “负责把皮肤文件中的那些资源和素材,调用、调整并布置到游戏中” 的一个诠释性的文件。
其中,mui文件可被分为以下2类:
①系统默认能读取的mui(至少有1个)
例如:script_slide.mui或者script_taiko.mui或script-key-6K.mui 。
这种是系统默认对应的mui名称,也是系统只会读取的mui文件名称。
②自己设计添加的mui(可以没有)
例如:base.mui,xxxx.mui等。
这种mui不会被系统直接读取,需要在默认能读取的mui里去引用,可随意命名,通常用以节省重复代码。

第四步:认识plist文件

要认识plist文件,首先需要从皮肤文件中的素材贴图资源的分类开始说起。
皮肤文件中的素材贴图,可分为:
①单个素材贴图(类似xxx.png)(不需要plist文件去诠释它们)
②多个贴图组成的打包整合图(必须有相应的plist文件来诠释打包的整合图)
那么很明显,单个的素材会直接被mui调去游戏中,而打包的整合素材贴图会经过plist文件的诠释,再被mui调去游戏中。

问:为什么要打包素材?这不是节外生枝搞了个plist出来吗?
答:这是因为一方面打包素材可以降低系统的性能损耗,减少IO口。另一方面,可以使皮肤文件内部更加干净。所以打包素材很重要!干净又卫生,一定要打包!
P.S. 相关打包软件为:TexturePacker

第五步:一些闲话

相信经过上述四步,你已经对皮肤文件的内部非常熟悉了!
那么如何修改皮肤呢?首先要提示3点。
1.如果只是想看上去不一样,基本游玩方式不改变的话,那么建议是只用学好PS,直接对非整合的素材贴图进行修改,这样子是最快的。
2.不建议把自己魔改的半成品皮肤文件到处传播!很重要。
3.新手上路,修改一两步就最好调试一下,会有不少意想不到的冲突导致崩溃。
(可以查看文件目录下log文件夹内的崩溃日志寻找错误原因)

那么接着让我们开始介绍皮肤文件如何修改编辑吧!

第六步:编辑皮肤文件的准备

【移动端设备】
需要你有:
①安卓的设备
②MT管理器(用以编辑mui文件(文本编辑可打开))
③PhotoEditor (用以修改制作贴图素材)
优点:修改完mui数据可以直接切后台到malody查看效果,短时间内可以进行多次微调。
(但在更换贴图后,还是需要重启Malody才能生效)
缺点:手机上的图片素材不方便ps,且打包素材比较麻烦,不直观。
【电脑设备】
需要你有:
①支持自动换行的写字板(来编辑mui文件)
当然VScode/ python之类的也都可以ww
②Photoshop(用来修改制作贴图素材)
③TexturePacker(用来打包整合图片素材)

第七步:认识mui文件内部结构

用VS Code打开mui文件,你可以在mui内部,看到一堆ABCD,不要慌。
首先你可以看见它们是一段一段的,都是一个元件名称,紧跟着这个元件的属性和属性值(前面会有空格或者Tab来区分它们)
类似下面这种:

1
2
3
4
5
6
7
8
9
10
note
tex=素材图片文件
anchor=锚定位
zindex=图层高度
size=长度,高度
pos=横坐标,纵坐标
.......
(具体属性可以查看wiki手册,每个不同的默认元件都有着不同的属性需要。)
_ZiDingYiYuanJian
(自定义元件也是有着一堆属性,不同的是,它是根据type类型的不同,从而有着不同的属性需要。)

那么通过观察,相信聪明的你可以判断出,mui本质上就是定义了一堆元件的一堆属性,像摆拼图一样,把各式各样拥有不同属性的元件拼在屏幕上,组成了皮肤整体。
那么就要讲到元件的区分了,元件可以分为默认元件和自定义元件两类。
其中,默认元件都是固定存在的(当然你也可以不去调用它),具体有note、key、hit、press、judge、score一家子、progress、musicbar、hit-fast/slow、pause、touch、bar等等,这些都是有着固定的一系列属性设定的默认元件。
那么自定义元件顾名思义就是自己定义的元件了,它经常被分为图片、文字、纯色、动画这几类,默认元件无法满足的设定,就会交给自定义元件去完成。(特点:自定义元件的名称前面一定有一个下划线符号)
关于,到底有哪些元件,它们又都有哪些属性,属性值都该如何去输入,这就需要你去看wiki的UIS手册慢慢查找了。
总结:总之mui里就是有着一堆属性的一堆元件就是了。

第八步:后续学习方法

经过上述7步,相信你已经初步对Malody的UIS皮肤结构有了一定的认识与了解,那么你接下来要做的就是以下几条:
1.翻看学习官网上大佬们写的皮肤,学习并思考他们的写法。
2.不停地翻看UIS wiki 手册,反复看反复用。
3.遇到问题时,冷静地带逻辑地去思考自己到底是哪一步出了问题。
4.多看优秀的美化设计,培养自己的艺术美感,不做丑陋皮肤。
5.多交流多学习多思考,多看多问多听,总之就是积累经验。
6.把灵感记下来,说不定以后会用上。
7.大胆假设,小心求证。
8.坚持并热爱,不断地学习并保持初心。