用途
Diorama-dither 用于制作像素风格的等距迷你场景(diorama),画面尺寸为 360×280,通过最近邻算法放大以保持像素感。场景包含地面、建筑、人物和动态元素,强调硬阴影和自然材质表现。
主要能力
- 固定内核:像素内核位于
skills/diorama-pixel/kit/pixel.js,提供场景构建的基础能力。 - 材质预设:通过
Dither.mat(name)调用预设材质(如草地、泥土、石头、木材、布料、水面等),每种材质自带纹理和颜色层级。 - 辅助构件:提供墙、门、人物、树木、灌木、围栏、路灯、船体、屋顶、转子、遮阳篷等辅助函数,可快速搭建场景。
- 动态与交互:支持人物循环动作(通过函数 q 匹配 0 和 1)和点击切换一个状态(如灯笼亮灭)。
- 硬阴影:通过
Dither.sun(45, elevation, turn)设置太阳角度,产生硬阴影并投射到屏幕右侧。 - 大小控制:场景文件需 ≤260 行,构建后页面 ≤70KB(71680 字节)。使用
node scripts/validate.mjs验证页面大小,node scripts/build.mjs构建并输出字节数。
使用方式
- 在
skills/diorama-dither/examples/下创建场景文件(如<name>.js),使用Pixel.scene({ ... })定义场景。 - 场景描述需用一句话(≤140 字符)说明。
- 参考示例文件(如
examples/forge.js)的写法,使用Dither辅助函数构建场景。 - 运行
node scripts/validate.mjs <scene.js>检查页面大小,若超过限制需按指引裁剪内容。 - 运行
node scripts/build.mjs <scene.js>构建页面,输出路径和字节数。
适用场景
适用于创作像素风格的等距小场景,如庭院、港口、沙漠绿洲、火车站等,强调手工感和材质细节。
限制
- 不支持光晕效果(glow),否则会破坏像素感。
- 场景大小严格受限,需精心裁剪以确保页面不超过 71680 字节。
- 人物高度和比例需遵循推荐范围,过小会难以辨认。
- 动态元素需满足支撑检查(support),否则验证失败。
- 部分细节(如烟囱帽、门)可能因大小限制被裁剪。
- 未提供音频和分数系统。
- 未提供收费、平台兼容性等具体信息。