《堕落星球 免费游玩》前端开发日志
《堕落星球》免费游玩!Unity客户端开发日志揭秘:角色重建、世界导入、战斗系统上线,废土世界焕新重生。点击了解最新进展!
大家好,
上次我介绍了《堕落星球》服务器端的开发进展。在本期开发日志中,我想将视角转向项目的另一侧,向大家展示我们正在构建的全新 Unity 客户端。
早期的大部分客户端工作在截图中并不直观。在考虑游戏画面表现之前,我们必须先找到一种可靠的方法来读取原始内容、重建角色、加载世界区域,并使所有组件协同工作。
目前,这些系统已经开始初步构建起《堕落星球》的可游玩片段。
导入废土世界
《堕落星球》的内容存储在 30 多种自定义文件格式中。它们总共包含超过 30,000 个纹理、数以千计的模型和动画、约 1,000 个世界区域,以及用于地形、光照、碰撞和物理的数据。
Unity 无法直接识别这些格式,因此团队编写了一系列导入工具来自动读取并转换它们。
这一流程为我们将《堕落星球》内容直接导入新客户端提供了可重复的方法。如果导入器有任何改动,我们可以重新处理内容,而无需美工手动修复数以千计的独立资产。

最初的一个重大难题是原引擎与 Unity 使用了不同的坐标系。它们对于“前方”的方向或物体在 3D 空间中的朝向定义并不一致。
如果我们不经转换直接应用原始数据,模型就会出现镜像,角色朝向错误,动画也会发生错位。
这种修正必须在资产的每一部分保持一致。否则,角色模型看起来可能正常,但控制它的骨骼却是反转的,一旦播放动画,就会产生非常“壮观”的效果。
在模型、动画、地形、碰撞和角色骨骼层面解决这一问题,是让导入的世界表现正常化的关键一步。
重建角色
角色外观呈现出了不同的挑战。
客户端必须获取现有角色的存储外观数据,并重新构建出正确的头部、身体、发型、面部特征及自定义选项的组合。
其中一些信息存储在紧凑格式中,在正确解读前需要进行大量的研究。微小的错误就可能导致特征选错、位置偏移,或者让重组后的角色看起来与原版毫无相似之处。
现在,新客户端已经能够根据现有的外观数据重建角色,并在角色选择界面和游戏世界中正确显示出来。
虽然视觉效果上还有待改进,但看到熟悉的角色在新客户端中正确呈现,是一个重要的里程碑。
进入游戏世界
目前,各个独立的客户端系统已经能够协同工作,足以支撑基础的进入流程。
我们可以登录、显示角色选择界面、选择角色、加载导入区域,并在环境中移动。
进入世界不仅仅是显示地形。客户端还需要正确放置角色、维持移动和摄像机行为、加载周边内容,并在玩家在线时处理接收到的信息。
这一流程现在已经运作良好,为后续的游戏性开发奠定了基础。
构建天空
我们还在开发用于导入地形上方的新环境系统。
新客户端拥有程序化的天空,包括移动的太阳和月亮、数以千计的可见星辰、云层覆盖以及多变的天气。这些元素会随时间推移而移动和变化,而非呈现为静态背景。
《堕落星球》一直非常依赖环境来营造废土氛围,因此让天空、光照和地形和谐共存,是团队的一个重要视觉目标。

首个游戏性片段
在游戏世界中,玩家移动、摄像机控制、目标锁定以及战斗的首个部分现在已经可以协同运作。
这为我们提供了一个早期的垂直切片,可用于测试从选择角色到与游戏内目标交互的全路径。
战斗系统仍处于积极开发中。当前的实现为我们提供了连接和测试更多独立行为所需的结构。
每一个额外加入的系统,都能让我们更容易发现那些只有在所有组件同时运行时才会出现的问题。

重建界面
《堕落星球》包含大约 50 个界面屏幕,涵盖背包、地图、角色信息、聊天、任务、交易和公会功能。
团队没有将每个屏幕作为独立的个体去开发,而是创建了一个共享的界面工具包。窗口、按钮、标签页、列表和物品槽等通用元素可以组装并复用于整个客户端。
这不仅保持了界面的统一性,还允许对共享组件的改进同步应用到多个屏幕上。
目前该框架的大部分工作已经完成,随着相关游戏系统的上线,各个独立的界面屏幕也正在逐步接入。
我们还在测试重制原始图标素材的方法,以确保其在现代高分辨率显示器上依然清晰。相关细节我将留到未来的开发日志中再做介绍。

当前进展
新客户端现在已经能够完成从登录到进入导入世界区域的基础流程。现有的角色外观数据可以正确重建,环境系统正在运行,首批移动、目标锁定、战斗和界面组件也已协同工作。
下一阶段的重点是通过连接更多的游戏系统、完成额外的界面屏幕,并持续优化导入内容来扩展这个可游玩片段。
前方仍有许多工作要做,但目前我们已经进入了可以让工作成果更容易展示的阶段。随着各个系统达到可以进行详细展示的状态,我们将继续分享针对性的开发日志。
感谢大家,
Matt


