下载 App
开发者日志 02|地形不该吃掉一只鸡:地图生成与图层系统重构
修改于前天 05:447 浏览
第二次迭代集中解决地图显示和地形生成问题。 早期版本使用规则网格拼接地形,草地、森林和沙地之间容易出现明显的方块分界。连续草地也会因为每格纹理和亮度不同,形成棋盘状接缝。海岸线则有过多锯齿,看起来更像随机像素块,而不是自然大陆。 我们重新调整了地图生成方式:
- 降低边缘变化频率,避免每个格子都产生尖锐转折。
- 合并连续同类地块的纹理表现,减少明显分隔线。
- 在不同地形交界处加入过渡形状,让草地、沙滩、森林和海洋自然拼接。
- 增加生成两到三块、被海洋分隔的大陆布局。
- 保留一定随机性,但限制过度细碎的孤立地块。
- 让全屏和窗口模式使用同一套地图比例及摄像机计算。 这一阶段最严重的问题,是新地形会覆盖已有物体。例如鸡站在草地上时,如果该位置后来生成森林,鸡可能直接消失。问题并不是鸡被移走,而是地形和物体使用了错误的显示层级,部分生成逻辑还把“替换地块”误当成了“清空格子”。 现在地图按照以下顺序绘制: 地形底层 → 地面投影 → 道具与建筑 → 人类和动物 → 动作特效 → 界面。 地形变化只修改底层地块,不再删除格子上的鸡、人类、资源或建筑。森林等新地形会生成在原有道具下方。我们也为地图物体增加了独立投影层,投影只覆盖地形,不会压住人物、动物或其他道具。 生态生成同样增加了地形限制。鱼不会生成在陆地,陆生动物不会出现在深海,不适合寒冷地区的生物也不会出现在雪地。UFO、油田等特殊内容则拥有各自的地形判定。 测试时,我们反复在有鸡、动物和资源的格子上生成森林及其他地形,确认原物体不会消失;同时分别检查了窗口、全屏和不同缩放比例下的显示效果。 地图终于从“由方格组成的棋盘”,逐渐变成了可以承载文明演化的世界。










