界面合集
Dusk 面板套件 — 标题栏面板与按钮
暮紫的标题栏nine-slice面板、内凹列表框与四态直角按钮,SVG与PNG 1x/2x/4x。

关于这个合集
给依然想要一个正经菜单的像素游戏用的硬边套件,标题栏是内建在面板里而不是外挂上去的。任何地方都没有圆角和抗锯齿:每条边框都是一整行平的像素,而当玩家在4K显示器上以3x运行时,面板保住形状的办法只有这一个。紫色够冷,因此琥珀不靠红色也能读作警报。
两块nine-slice面板——一块带标题栏的窗口框,圆角16 px;一块内凹的内框,圆角12 px——几乎覆盖菜单需要的所有方框:对话框、背包网格、列表底、提示框和数值面板。标题带内建在面板顶部,因此对话框的抬头既不需要第二张精灵图,也不需要手工对齐。两者都能干净地拉伸到任意尺寸,因为四角从不缩放,中央是平涂填充。
面板之上是四种直角按钮状态:常态、悬停、按下与禁用。它们画在同一块96×32的基底上,圆角8 px,因此你只要在一个按钮控件上换纹理,就能拿到整套交互循环,而不用挪动任何一个矩形。按下态会把面下沉两个像素并去掉顶部高光,而不是只是变暗,正是这一点让按钮有被按下的手感,而不只是被换了颜色。
所有东西都提供两份。SVG源文件就是这套套件当初绘制所用的文件——打开它们,改掉六个夜紫色调或那一个琥珀点缀,再导出一次即可。PNG导出是平面的、透明的,并已按1x、2x与4x预先缩放,面向想要位图的引擎,没有预乘alpha,也没有溢出精灵图边界的烤死阴影。
怎么用
- 在Unity中导入PNG,把Texture Type设为Sprite(2D and UI),边框在窗口面板设为16, 16, 16, 16,按钮设为8, 8, 8, 8;再把界面组件的Image Type设为Sliced。
- 在Godot 4中用NinePatchRect,把补丁边距设成同样的数字;或者直接把SVG拖进去,让Godot按导入选项里的倍率栅格化。
- 在Unreal中以Texture2D导入,创建Draw As设为Box的Slate Brush,边距按纹理尺寸的比例填写——80 px的面板填0.2,96 px的按钮填0.08333。
- 界面倍率不是整数时,请用2x或4x的PNG,而不要放大1x;或者把SVG源交给引擎,让它按最终尺寸栅格化。
- 每条边都落在整数像素上,任何地方都没有抗锯齿,因此请把1x的PNG按Point(Unity)、Nearest(Godot)或Nearest-Neighbour(Unreal)过滤方式导入,并只按整数倍缩放。
许可
可复制的署名文字
"Dusk 面板套件 — 标题栏面板与按钮" by Oğuzhan Girgin, licensed under CC BY 4.0 — https://www.colorosse.com/assets/2d/ui/dusk-panel-ui-kit


