大家好,感谢一直关注这个项目的朋友们。今晚我很高兴为大家带来我的项目World Explorer 3D最新版本的更新。
简单介绍一下背景:World Explorer 3D 是一个基于浏览器的3D世界,你可以选择地球上几乎任何地点,通过步行、驾驶、飞行、划船或使用无人机来探索。这个世界以真实地理数据为基础,包含道路、建筑、地形、水域和地点等信息,并通过程序化系统补充底层数据中缺失的细节。这个想法逐渐演变为将真实世界变成一个可玩的沙盒,而不仅仅是另一个可以查看的地图。
最近我花了很多时间处理那些不那么有趣但非常必要的内容,比如运行时问题、裁剪、加载序列、世界之间的过渡、碰撞、桥梁、隧道,以及尽量让所有不同系统之间不相互冲突。
我不是科班出身的开发者。我开始做这个,只是因为今年年初和儿子一起做别的事情时,我们无意中做出了这个。我在编码方面大量使用了AI,但随着项目越做越大,我意识到我不想一直让AI包办一切,而自己对底层实际发生的事情一无所知。
正因为如此,我最近在我们当地的社区大学报读了物理课程,并计划选修编程课,这样我就能更深入地理解这一切。目前我仍在学习,并享受"创造"这个世界的过程——尽管有一半时间我是在事后才学会我刚刚做出来的东西到底叫什么(哈哈)。
自上次发帖以来,我升级了角色模型和移动方式,现在你可以从账户页面选择男性或女性角色。我添加了我最喜欢的车,也是我以前日常开的车——1995年宝马E34,作为永久用户车辆。现在有可互动的NPC、交通车辆、应急车辆,以及其他你可以进入并驾驶的车辆。
我还升级了飞机系统,增加了跳伞/降落伞功能。机场现在变成了可玩的区域,有不同类型的飞机,你可以自己驾驶,也可以用来在当地或世界其他地方旅行。
现在还有更好的实时GPS模式,你可以像玩《宝可梦GO》一样拿着手机在真实街区走动,你的移动会反映在World Explorer中,同时进行实地活动并寻找程序化物品。
我还将马里兰州的GIS地块数据添加到了游戏的地产部分。马里兰州的房产现在可以使用实际的地块边界,更准确地将建筑和空地分组,而主世界仍然主要依赖OSM、Overture、地形数据和其他可用来源。显然,这些地产是虚拟的,并不代表真实产权归属。
我在海洋方面也做了很多工作。船只和大型船舶现在可以操控,港口和码头有更多活动,你可以钓鱼、潜水和探索水下。我努力让不同的旅行方式感觉像是同一个世界的一部分,而不是独立的模式。
还有一个野外日志和野外指南系统,包含野生动物、地质、摄影、钓鱼、追踪、收集、装备、伙伴和区域活动。此外还有多人在线功能,包括基于位置的房间、聊天、共享活动、持久化车辆和一个建筑系统,玩家可以在其中放置自己的方块。
太空方面也变得有点离谱了。你可以离开地球,探索月球、行星和太阳系的其他部分。我还在开发一个更长的星际远征系统,包括飞船、船员、资源、事件和行星任务。视觉上它还是较粗糙的部分之一,但底层系统已经存在,并与同一个玩家、背包和进度系统相连。
最近我一直在做的最重要的事情之一是让人们自己来改进真实世界的呈现。World Explorer中的建筑已经根据其测绘足迹和其他可用信息存在。通常外观是程序化生成的。
现在我有了一个贡献系统:用户可以选择一个真实测绘的建筑,在桌面端扫描二维码后在手机上继续操作,上传建筑照片,并使用编辑器将实际照片裁剪并定位到正确的外墙上。等我的测试完成后,我就会发布那个版本。我本人已经在我的社区对5栋建筑进行了测试,目前只有一次独立上传,所以我真的很想看看它对其他人来说效果如何。
用户可以预览结果并提交审核。一旦审核通过,那些拍摄到的表面就会成为World Explorer中那座特定建筑的一部分。任何尚未被贡献的侧面将继续使用程序化外观。
所以,某人不需要完美地扫描整栋建筑才能改进它。他们可以只添加店面、自家房屋正面、一个侧面,甚至是有用的材质样本,其余部分保持生成。
我先在自己的房子上完成了完整的桌面→二维码→手机→上传→编辑→审核→映射建筑的循环,现在已经有另一个人在不同设备上成功使用了这个工作流程。
我还试验了完整的摄影测量/三维重建。技术上它可行,可以重建建筑的多个侧面,但对照片的质量和覆盖度非常敏感。目前我倾向于使用更简单的手动立面系统作为主要的贡献方式,因为它成本低、可靠,而且普通人更容易使用。更复杂的重建功能以后可以作为另一个选项存在。
最终我希望这也能适用于室内场景,人们可以捕捉自己的房间或房产,默认保持私密,并选择允许谁参观。我在这一部分会更加谨慎,因为一旦涉及人们家中的照片,显然会有更多隐私、存储和安全问题。
还有很多我想改进的地方。建筑外观是我现在正在处理的主要视觉问题之一。底层的足迹和地理位置可能很好,但实际建筑看起来还是太重复,所以我在扩展外观资产、材质、窗户、门、店面、台阶、门廊和其他细节,同时不丢弃真实测绘的几何体。
用AI构建这个项目最奇怪的一点是,看着项目从"我想在地图上开车"逐渐发展成涉及GIS数据、Three.js/WebGL、Firebase、多人游戏、程序化生成、物理、摄影测量、隐私规则、资产管线、手机拍摄以及一大堆我刚开始时根本不知道的东西。
我当然不会假装这一切都是我自己手工写的。AI根据我的描述和规格说明完成了大量的实现工作。我的部分主要是决定我希望系统做什么、测试它们、找出它们在哪里出问题、决定它们应该如何配合,然后尽量理解正在发生的事情以便继续前进。
你可以在WorldExplorer3D.io找到这个项目,或者在GitHub上查看代码:
https://github.com/RRG314/WorldExplorer3D
我建议从马里兰州巴尔的摩或BWI机场开始,因为这些地方是我个人测试最多的地方。世界其他地方也存在,但我显然无法测试地球上的每一个地点(哈哈)。
我始终对反馈感兴趣。即使我不及时回复,我仍然会阅读评论,并在考虑接下来应该学习、修复或处理什么时加以参考。
感谢所有至今关注过这个项目的人。
评论 (0)