香港中文大学《汉语多功能字库》说明:“雨”的甲骨字形上部表现天或云,下方表现雨点,古字存在多种写法。本游戏重新绘制了横线与雨点的教学示意,让这个形状在空间里随风落下。它不是某件甲骨拓片的精确摹本,也不是唯一标准字形。
“木”的早期字形取树木之形,上方树枝、下方树根。这里以 Blender 制作有圆润树干、分枝、根系与少量叶片的三维木雕。它是古字启发的游戏造型,不是出土文字的复制品。点击树,可以对照今天的“木”来认识这个字。
原有滑梯场景左侧加入了 Blender 制作的房子和柿子树:橙红果实带四萼和果柄,房屋轮廓借鉴“宀”的屋顶与两墙结构。它是原创游戏建筑,不把现代“房”字冒称甲骨文字例。认字弹窗中的“宀”和“柿”是今天的字形。
沿用已制作的模型,在浏览器中使用三阶光照材质;这与 Blender 离线渲染并非逐像素一致。小院陈列用的高底座未装入游戏,房子和树干加入地面避障。滑梯乐园中点击房子仍为走到屋前认字;机械小院另有齿轮平台与开门入屋互动。
主入口进入机械小院:山在房子背后,池塘在房子前面,柿子树和成片的草花分布在两侧。原来的滑梯、攀爬、游泳和钓鱼保留在“滑梯乐园”。
房子固定在 36 齿大齿轮平台上,12 齿小齿轮驱动它反向转动,角位移比为 3:1。女孩站在平台上时与平台一起移动。齿形为简化示意,传动使用确定的角度约束,不是齿面接触的力学求解。
门扇、横档和把手共同绕固定门轴旋转。拖动门边的黄铜摇柄,12 齿小轮带动 24 齿门轴轮,门连续开合。没有“按一下开门”的替代按钮;键盘 O / C 是持续转动的无障碍操作。
蹦床演示压缩储能、回弹与落地缓冲。离开软垫后按简化重力轨迹移动,落点和起跳能量由游戏设定;不是儿童实际弹跳高度或设施安全参数。房子转动后会先对齐接落平台。
夜晚柿子发出暖光。女孩可以从树上摘一颗,使用分叉树枝提柄携带;同一颗果实从树上隐藏,手里的灯跟随真实手部骨骼。白天果实恢复普通材质,已摘的灯保留在手中。
建筑与女孩仍是三维模型,通过 Toon 材质的三段明暗、淡墨轮廓、表面噪声和宣纸颗粒形成平涂淡彩效果。它是程序化水墨质感,不是手绘水墨贴图。减少金属高光和硬阴影,保留柿子灯的暖橙色。
Three.js Toon 材质与渐变贴图 · 材质着色器扩展接口
点实际地面即可自由走动,WASD、方向键和摇杆也可控制。山路的通行范围从模型的楼板和踏步提取,桥未接通时不会跨过去。辅助按钮收在说明中。
第二段旅程把转桥、配重升降台和折叠楼梯连接起来。转桥绕中心轴对齐道路;吊台上升时,连廊外侧井道中的配重下降;两段竖直绳长之和不变,绳子分别接在吊台后侧吊耳和配重吊环上。护栏关好后才移动,到层停稳才打开;固定楼板切出井道净空。升降架去掉亭子顶,保留木质导轨、横梁和滑轮。折梯绕底部铰链展开。女孩提灯走到最高处,再拖动门边摇柄开门。这些是简化的教学动画,未实现绳索受力、接触碰撞或《纪念碑谷》式不可能空间。
小院与山路均支持拖动旋转和俯仰、滚轮或双指缩放、俯看和跟随女孩。点“正面”可恢复初始视角。
1200 片草叶、160 朵小花分别通过实例化网格绘制,复用几何体和材质,避免逐株增加完整场景对象。草叶顶端在顶点着色器里轻微摆动,根部保持固定。花朵使用五片花瓣、花心和茎,颜色与大小按固定种子变化;道路、齿轮和池塘水面保持空出。
Three.js 官方 InstancedMesh 文档 · 官方动态实例化示例。实现使用项目内已有 Three.js,未引入远程运行依赖。
我们研究了 Processing / p5.js 粒子系统的做法:每个粒子记录位置、速度和寿命,受风影响,出界后回收。游戏的文字雨代码为重新实现,使用现有 Three.js 的实例化网格,不额外开启一套 p5.js 渲染器。纹理只绘制一次,雨字落在水字池内时生成涟漪。
移动端减少文字雨数量;系统启用“减少动态效果”时暂停粒子移动。雨字不参与设施点击拾取,不阻挡滑梯、水面和树的操作。
细砂地面与全景云纹理使用内置 imagegen 生成,并通过材质染色配合天气与昼夜变化。查看生成提示词