跳到正文
文档
本页内容

皮肤

角色的身体是一个由格子组成的网格,皮肤决定每个格子画什么:一个形状和皮肤的一种颜色。皮肤还可以关闭眼睛、手、影子和特效。在主菜单的角色中用现成的形状、调色板和网格编辑器组合皮肤,或者手写文件

皮肤只改变外观。碰撞箱、速度和碰撞箱圆环对所有皮肤都一样

角色中心

主菜单中的角色打开一个单独的界面。你的角色在左侧走动,面板占据右半边。左下角的机器人把角色交给你操控,这样你可以在移动中试用皮肤,旁边的伤害滑块显示皮肤在生命值下降时如何失去格子。面板顶部的栏可以跳转到各个部分:

部分作用
形状现成的形状,连同它们自带的眼睛和手一起画出。点击会把形状放到你的皮肤上,并保留你的颜色。圆形和多边形的形状带眼睛,带图案的形状不带。第一张卡片是经典角色:穿戴时连同颜色整套换上
颜色身体颜色和眼睛。先选目标,再选颜色。手、拖尾和冲刺色调会自动跟随你的颜色
身体部件每个按钮开启或关闭角色的一个部分
编辑器网格本身:它的大小、格子里的部件,每个部件的形状、颜色、旋转、镜像和缩放,以及你自己的形状

右上角的随机给你的皮肤一个随机的形状和随机的颜色。穿着经典角色时这个按钮不可用。旁边的我的皮肤列出你的皮肤文件:点击其中一个就会穿上它,按钮可以导出、删除、导入和复制。创建皮肤用一个随机形状和随机颜色创建新皮肤。游戏无法读取的文件也可以在那里删除

每次修改都会立即保存。对经典角色的第一次修改会创建一个新的皮肤文件,之后你穿戴的就是这个文件

编辑器

  1. 绘制把选中的部件放进格子,擦除把格子清空。在网格上拖动可以一次处理多个格子
  2. 部件列出格子可以画的内容。+复制选中的部件,-删除它,它的格子改用第一个部件
  3. 选中的部件使用一个内置形状或皮肤自己的形状。新建网格画一个新形状:先放置点,再把其中三个点连成一个三角形
  4. 列和行调整网格大小。格子是正方形的,所以高大于宽的网格会做出一个瘦高的身体
  5. 向左旋转和向右旋转把整个皮肤旋转四分之一圈:网格和每个部件都随之转动

皮肤的上方就是它的正面:角色会转向,让正面朝着移动的方向

破坏身体的修改(格子太少,或者格子分成了两块)不会保存。原因会显示在网格下方,直到你修正为止

皮肤保存在哪里

在数据文件夹中的skins文件夹里(安装)。一个皮肤就是一个.json文件。旁边的selection.json记住你穿戴的是哪个皮肤

  • 在电脑上,打开文件夹会打开该文件夹
  • 在手机上,使用导入和导出:它们会打开系统的文件选择器

皮肤会随个人资料迁移和Steam Cloud一起转移。更多:转移档案

文件

这是一个导出的皮肤(有删节):

{"g":3,"v":{
  "id":"9b2f0d64-1c3a-4e8b-8f21-6a0c5d7e9f13",
  "name":"Hex knight",
  "size":1.0,
  "columns":5,"rows":5,
  "mask":60651675406,
  "cells":[0,0,0,0,1,1,1,0,0,1,2,1,0,0,1,1,1,0,0,0,0],
  "parts":[
    {"shape":"00000000-0000-0000-0000-000000016000","color":0},
    {"shape":"00000000-0000-0000-0000-000000001000","color":1,"scale":0.9},
    {"shape":"4d1f6c2a-7b3e-4f10-9a55-2c8e01b7d001","color":2,"rotation":90.0,"mirror":true}
  ],
  "colors":[[0,{"r":0.51,"g":0.76,"b":0.96,"a":1.0}],[0,{"r":0.2,"g":0.4,"b":0.9,"a":1.0}],[0,{"r":1.0,"g":1.0,"b":1.0,"a":1.0}]],
  "meshes":[{"id":"4d1f6c2a-7b3e-4f10-9a55-2c8e01b7d001","vts":[[0,{"x":-0.5,"y":-0.5}],[0,{"x":0.5,"y":-0.5}],[0,{"x":0.0,"y":0.5}]],"idxs":[0,1,2]}],
  "elements":125
}}

g是文件格式的代,v中是皮肤本身。最简单的开始方式是导出一个皮肤并编辑副本

键含义
id皮肤的身份:它自己的GUID。游戏用它给文件命名,但按这个键查找皮肤,所以文件名无关紧要
name列表中显示的名称
size身体画多大,是经典角色的0.6到1.25倍。碰撞箱不变
columns, rows网格的宽和高,从3到8。格子是正方形的:较长的一边撑满整个身体
mask哪些格子被填充,用一个64位数字表示:第x列、第y行的格子是第y * 8 + x位,第0行在最下面。无论columns是多少,每行总是8位宽
cells每个填充的格子画的部件,是parts中的索引,按位从低到高的顺序排列。留空则每个格子都画部件0
parts格子画什么:shape(内置形状的id,或皮肤某个meshes的id)、color(colors中的索引)、rotation(角度)、mirror和scale(格子的0.2到1.0)
colors身体颜色,1到8种。颜色写作[0,{"r":…,"g":…,"b":…,"a":…}],每个通道从0到1
meshes最多32个皮肤自己的形状:一个id(任何不属于内置形状的GUID)、位于-0.5到0.5方框内的点vts和三角形idxs,每个三角形三个点
elements画出角色的哪些部分,用以下数值之和表示:眼睛为1、手为2、影子为4、拖尾为8、冲刺拖尾为16、受击特效为32、冲刺色调为64。127画出全部。新皮肤从125开始,即除了手以外的全部。网格总是会画出
eyes, hands, shadow, move_effect, dash_effect, damage_effect, dash_body角色其余部分的颜色,写法与colors相同。在elements中关闭的部分会保留其颜色

省略的键使用经典角色的值。内置形状的id最容易从导出的皮肤中复制:形状中带图案的现成形状只使用内置形状。手写的文件可以省略id,导入会给它一个

皮肤必须遵守的规则

  • columns和rows为3到8,并且mask不填充这个范围之外的格子
  • 至少填充5个格子,并且它们都通过边相互接触:身体是一整块
  • cells为空,或者为每个填充的格子恰好提供一个部件
  • 最多64个部件,并且每个部件的形状和颜色都存在
  • 身体和影子的不透明度至少为0.5

违反规则的皮肤在我的皮肤中显示为灰色并注明原因,无法穿戴。具有相同id的第二个文件也是如此。如果穿戴中的皮肤损坏,会画出经典角色,而你的选择会被保留。由更新版本的游戏写入的皮肤会显示需要更新版本的游戏

生命值

生命值只由填充的格子显示。失去的格子从边缘到中心留作暗色残影,只要还剩一点生命值,最后一个格子就会保持亮着。填充的格子越少,每个格子代表的生命值就越多。更多:伤害与生命