返回博客
Tutorial1 分钟阅读

FiveM地图开发与YMAP:自定义MLO基础

使用 YMAP 文件创建自定义 FiveM 地图。工具、工作流程、MLO 基础知识、流媒体文件夹及避免冲突和剔除问题的技巧。

Agency Scripts

Agency Scripts 创始人兼首席开发者

什么是 YMAP 文件?

YMAP 文件是 GTA V 和 FiveM 用于定义游戏世界中物体、建筑和道具位置的地图放置格式。当您为 FiveM 创建自定义室内或地图修改时,实际上是在创建一个 YMAP 文件,告诉引擎放置哪些 3D 模型、位置和方向。与运行时生成物体的简单道具放置脚本不同,YMAP 文件作为游戏世界的一部分在流式加载时加载,这意味着它们受益于引擎内置的细节层次系统、遮挡剔除和内存管理。这使得 YMAP 成为创建需要在多玩家服务器上高效运行的永久地图新增内容的首选方法。

地图开发工具

创建FiveM地图的主要工具是CodeWalker,这是一款免费社区开发的应用程序,允许您浏览、编辑和导出GTA V地图数据。使用CodeWalker,您可以从游戏内置库放置道具,使用坐标和旋转值精确定位,并导出为可流式传输的YMAP文件。对于更高级的工作,使用带Sollumz插件的Blender可以创建完全自定义的3D模型,并导出FiveM所需格式。许多地图开发者还使用游戏内工具如Spooner或自定义道具放置脚本进行初步布局,然后导出为YMAP格式。工作流程通常包括游戏内粗略放置、CodeWalker精细调整和最终导出用于生产。

创建自定义室内设计

自定义室内是封闭空间,如公寓、办公室、商店或地下设施,玩家可以进入并互动。创建逼真室内需要关注碰撞几何、照明和道具密度。首先使用合适的墙壁、地板和天花板模型定义室内外壳,然后添加家具、装饰和功能元素。碰撞文件(YBNF)必须与视觉几何匹配,防止玩家穿墙或穿地。室内照明通过烘焙光探针和YMAP中定义的动态光源组合处理。通过走遍每个角落,检查视觉接缝、碰撞缝隙和摄像机穿透几何的区域,彻底测试室内。

流媒体和性能

自定义地图随着玩家接近位置而流式加载,这意味着文件大小和复杂度直接影响加载时间和客户端性能。保持YMAP文件聚焦于合理区域,而非在单一资源中跨整个地图散布道具。大型室内应拆分为多个独立加载的YMAP文件,并使用合适的LOD距离,防止远处道具消耗渲染资源。 fxmanifest.lua 地图资源需要包含您的 YMAP 和 YTYP 文件作为 data_file 带有正确类型声明的条目。使用FiveM内置分析器监控客户端性能,确保您的自定义地图不会导致帧率下降,尤其是在大量玩家同时聚集的区域。

道具库与最佳实践

GTA V自带数千个内置道具,您可以在地图中使用这些道具而无需添加任何额外的流媒体内容。了解道具命名规则有助于您快速找到合适的物体。以...为前缀的道具 prop_ 是通用物品, v_ 带前缀的项目是室内家具,且 hei_ 物品来自抢劫相关内容。放置道具时,将其对齐到一致的网格以避免漂浮物体和重叠几何体。将相关道具逻辑分组,并为您的YMAP文件使用描述性名称,以便其他开发者理解地图结构。始终在默认游戏光照和天气条件下测试地图,因为道具在不同光照场景下外观差异很大。

准备好开始了吗?

在我们的商店获取脚本,或加入 Discord 获取支持、更新以及新功能预告。