界面合集
Dusk 面板套件 — 标题栏面板与按钮
暮紫的界面素材18个:标题栏九宫格面板、提示框、标题条、分隔线、标签片与十二个直角按钮状态。

关于这个合集
给依然想要一个正经菜单的像素游戏用的硬边套件,标题栏是内建在面板里而不是外挂上去的。任何地方都没有圆角和抗锯齿:每条边框都是一整行平的像素,而当玩家在4K显示器上以3x运行时,面板保住形状的办法只有这一个。紫色够冷,因此琥珀不靠红色也能读作警报。
两块nine-slice面板——一块带标题栏的窗口框,圆角16 px;一块内凹的内框,圆角12 px——几乎覆盖菜单需要的所有方框:对话框、背包网格、列表底、提示框和数值面板。标题带内建在面板顶部,因此对话框的抬头既不需要第二张精灵图,也不需要手工对齐。两者都能干净地拉伸到任意尺寸,因为四角从不缩放,中央是平涂填充。
面板之上是十二张直角按钮素材:常态、悬停、按下与禁用,每种都画了三遍——标准的96×32长条、正方形的直角图标按钮,以及用于工具栏和行内操作的紧凑按钮。三个尺寸是分开的文件而不是一张缩放图,因为画法依赖尺寸:在32px上算出的倒角,到小尺寸是重新计算而不是缩小。按下态把面下沉两像素并去掉顶部高光,而不只是压暗——正是这一点让按钮感觉是被按下了,而不是换了个颜色。
四个小件补上了菜单在面板之间需要的东西:带尖角的提示框、贴在面板上沿的标题条、中间带记号的分区线,以及用于计数和状态的标签片。它们都不是换个尺寸的窗口面板——九宫格本来就能拉到任意大小,所以另存一份不同宽度的文件只是凑数,不是组件。
所有东西都提供两份。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


