AX 爱鲜报

Tiny World Builder 微型世界建造器

一款运行在浏览器中的自包含 3D 体素世界编辑器,可搭建、雕刻、飞行浏览并分享微缩世界,基于 Three.js 与原生 JavaScript 实现。

爱鲜报评分

0.0

0 人评分

1.6k

星数

否

中文

JavaScript

主语言

是

活跃

13

贡献者

人工分析

EDITORIAL

推荐理由

Tiny World Builder 把「我的世界」式的体素建造体验压缩进单个网页,无需安装客户端即可在浏览器里搭地形、放房屋、种庄稼、养动物。它内置地形雕刻、车辆 AI 路网、天气与时间等系统,还支持导出与分享,非常适合做创意原型、教学演示或轻量沙盒游戏。代码为单文件原生 JS,架构清晰,是研究浏览器 3D 编辑器实现的好素材。

适用场景

  • 浏览器内 3D 体素沙盒建造与地形雕刻
  • 微缩世界创意原型与教学演示
  • 体素/Three.js 渲染与邻接规则学习
  • 路网与车辆 AI 仿真压力测试
  • 静态站点部署的在线小游戏或互动展示

优点

  • 纯浏览器运行,无需安装,打开网页即可建造
  • 功能丰富:地形雕刻、道具放置、车辆 AI、天气时间系统
  • Three.js 自托管,部署不依赖运行时 CDN
  • 支持本地存档、导出、分享与种子化可复现地图
  • 单文件原生 JS 架构,模型与渲染分离,便于阅读改造

缺点

  • 核心代码约 2.9 万行单文件,阅读与二次开发门槛较高
  • AGPL-3.0 许可证对商业闭源使用有较强约束
  • 账号登录依赖 Netlify Identity 与钱包会话,自部署需额外配置
  • 缺少中文文档,界面与说明以英文为主
上手难度 进阶

Tiny World Builder 微型世界建造器

Tiny World Builder 是一个完全运行在浏览器中的 3D 体素世界编辑器:你可以在网页里搭建地形、放置房屋与动物、雕刻山川河流,还能切换相机模式自由飞行浏览,最后把作品保存、导出或分享给他人。

项目基于 Three.js 与原生 JavaScript 实现,无需安装客户端,打开网页即可开始建造。

核心功能

  • 建造(Build):放置地形、道具、房屋、道路、庄稼与动物。
  • 雕刻(Sculpt):抬升、下沉、上色地表,塑造悬崖与河流。
  • 飞行(Fly):切换等距 / 柔和 / 透视相机,从任意角度探索世界。
  • 分享(Share):保存、二次创作、导出,并把世界开放给真实玩家。

工具与规则

内置工具覆盖 Grass、Path、Water、Stone、Lava、Sand、Snow 等地形,以及 House、Tree、Fence、Bridge、Crop、Cow、Sheep 等对象。

渲染器会对地形与对象做归一化处理:

  • 庄稼会自动在下方生成泥土;
  • 桥梁会强制生成水面;
  • 普通物体不会漂浮在水面上;
  • 道路、海岸线、桥梁、栅栏、房屋、岩石都具备邻接感知,放置相邻方块时会自动重绘周边,使道路衔接、河流生成河岸、栅栏连成墙、房屋组合成 L/T/+/方形建筑。

操作方式(节选)

操作 输入
放置 点击格子
擦除 按 E 后点击,或选择橡皮擦
旋转视角 拖拽
缩放 滚轮
抬升 / 下沉地形 悬停格子上按 R / F
切换工具 1–9 及工具栏字母快捷键
返回选择模式 Esc
切换相机 P 或 I
清空为草地 C

车辆运行时(Road AI)

项目内置了一套可复现的路网与车辆 AI 演示,通过 URL 参数即可加载:

http://localhost:3000/tiny-world-builder?demo=vehicles&seed=tide-ridge-428

大规模路网压力测试支持 size、cars 等参数,车辆只在 path 或桥面格子上行驶;若在道路上放置岩石、树木等物体,会形成实时交通阻塞,车辆会绕行或在无替代路径时停下。

架构概览

项目为单个 <script> 块、约 2.9 万行原生 JS,按段落注释组织,模型划分清晰:

  • world[x][z]:每个格子的意图数据 { terrain, kind, floors }。
  • cellMeshes['x,z']:每个格子对应的 Three.js 渲染组。
  • setCell(x, z, opts):唯一的变更入口,负责更新数据、重建网格并重绘受邻接影响的邻居。

房屋集群使用 BFS 与 tryComposite / trySquare 判断是否合并为统一结构。此外还有预览板、AI 生成、本地存档槽、天气时间云层、命令面板,以及可选的 Mesh Terrain 体素地形雕刻器等系统,均通过同一套契约接入。

部署方式

应用可作为静态站点部署到 Vercel 或 Netlify,构建脚本会生成 dist/ 目录;Three.js r185 及其加载器、解码器自托管于 vendor/three/,部署不依赖运行时 CDN。

注意:项目采用 AGPL-3.0 许可证,商业闭源使用需谨慎评估;账号登录依赖 Netlify Identity 与钱包会话,自部署时需配置相应环境变量。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。