YYKA 地图编辑器 - 一键生成 3D 游戏地图(程序化地形 + 导航寻路)

一款面向 Cocos Creator 3.8 的 3D 地图程序化生成插件。在编辑器面板里选风格、调参数、点一下,几十毫秒到几秒内生成完整可用的 3D 地图——地形、水面、植被、小地图、导航寻路一应俱全,一键保存为 Prefab 直接进项目。

✨ 功能特性

🗺️ 8 种地图风格

  • 大陆 / 群岛 / 沙漠 / 雪原 / 火山 / 世界 / 峡谷 / 地牢,全部程序化生成,每种风格内置独立的生态配色、地形起伏与细节规则
  • 地牢风格自动生成房间与走廊布局、砖块墙面地面贴图、竖墙立面展开

🌆 区域融合(2~4 域混搭)

  • 一张地图划分 2~4 个区域,每区域随机一种风格(如大陆+峡谷+群岛),交界自然平滑过渡,无生硬接缝
  • 各区域独立配置侵蚀/河流/道路,再按权重融合归一化

🏞️ 完整地形要素

  • 种子驱动,同一参数必出同一张图,🎲 随机种子 + 自动换种子
  • 尺寸可选 256 / 512 / 1024 格,海平面、地形高度、噪声频率均可调
  • 水力侵蚀(山脊沟壑)、河流、道路三大系统独立开关与密度调节
  • 水面支持普通半透明与顶点色特效(波浪动画 / 浅滩泡沫 / 深水渐变),纯平基准面与地形自然相交

🌳 植被散布与自定义模型

  • 树、岩石、草按生态规则自动散布,密度可调
  • 支持拖入自定义树/岩模型(可多个混种,按坐标哈希分配变体)

🧭 自研导航系统(零依赖)

  • Rust WASM 计算可行走网格:坡度阈值、水面排除、智能体半径收缩,与地形数据同源最准确
  • 8 向 A* 寻路 + 视线拉直平滑,连通块标注保证寻路必成功
  • 运行时组件随 Prefab 自动附带:
    • YYKANav:挂地图根节点,解码导航数据、贴地高度采样
    • YYKANavAgent:挂角色,moveTo() 自动寻路 + RVO 动态避障(近邻分离 + 侧向绕行),默认自动巡逻
    • YYKAThirdPerson:挂主相机,第三人称跟随、右键旋转视角、滚轮缩放、WASD/方向键移动(导航贴地+滑墙阻挡)
  • 面板「测试寻路」一键在场景里画路径标记(红=起点 蓝=终点 绿=途经)
  • 💡 选用建议:内置导航开箱即用、与地形数据同源,满足常规寻路与少量单位避障;如需标准 NavMesh 烘焙、大规模人群模拟(Crowd)、动态障碍物等进阶能力,推荐搭配第三方 NavMesh 导航插件使用——本插件的导航数据(可行走区/高度场)可作为其烘焙参考,两者并不冲突。

🖼️ 其他

  • 俯视小地图 PNG(生态配色 + 坡向光照 + 水深渐变)随产物输出
  • 生成结果实时预览到当前场景(__YYKA_MAP_PREVIEW__ 节点),满意再保存
  • 内置「推荐插件」页:浏览官方插件市场并一键跳转商城

📋 使用说明

  1. 安装:解压后把 yyka-map-editor 文件夹放入项目 extensions/ 目录,在 Cocos Creator「扩展管理器」中启用
  2. 生成:菜单打开插件面板 → 顶部页签「地图生成」→ 选风格、调参数 → 点「生成地图」,当前场景出现预览节点
  3. 导航:在「更多参数」中打开「导航寻路」,生成后点「测试寻路」查看路径标记
  4. 入库:点「保存为 Prefab」,产物写入 assets/mapgen_out/<地图名>/(Prefab + GLB 分块 + 材质 + nav.json + 运行时组件 + 小地图),可直接拖入游戏场景
  5. 游戏中使用导航:地图根节点挂 YYKANav 并拖入 nav.json → 角色挂 YYKANavAgent → 主相机挂 YYKAThirdPerson,运行即可 WASD 操作角色;代码控制用 agent.moveTo(new Vec3(x, 0, z))
  6. 区域融合:勾选「区域融合」并选 2~4 域(地牢风格不支持),风格自动随机分配

⚙️ 引擎与环境要求

  • Cocos Creator 3.8.x(3.8.0 ~ 3.8.6+ 实测可用)
  • Windows 10/11 或 macOS 编辑器环境
  • 生成计算由 Rust 编译的 WASM 完成,无第三方运行时依赖;导航组件为纯 TypeScript,不依赖物理模块
  • 1024 尺寸生成约需数秒,建议开发机内存 ≥ 8GB

🖥️ 平台支持情况

环境 支持情况
Windows 编辑器 ✅ 支持
macOS 编辑器 ✅ 支持
Web / WebGL ✅ 生成产物与运行时组件均支持
原生(Android / iOS / 鸿蒙) ✅ 支持(运行时组件为纯 TS,自包含 base64 解码)
微信小游戏 ✅ 支持(无 atob / 无物理依赖)

📜 更新日志

v1.0.0

  • 首发:8 种地图风格程序化生成
  • 区域融合(2~4 域,交界自然过渡)
  • 水力侵蚀 / 河流 / 道路 / 植被散布 / 自定义树岩模型
  • 水面普通与特效两种模式,顶点色水深(泡沫/渐变)
  • 自研导航:可行走网格 + A* 寻路 + RVO 动态避障
  • 运行时组件 YYKANav / YYKANavAgent / YYKAThirdPerson 随 Prefab 自动附带
  • 第三人称相机:跟随、右键旋转、滚轮缩放、WASD 移动
  • 俯视小地图输出、编辑器内实时预览、一键保存 Prefab
  • 内置推荐插件页

❓ 常见问题 FAQ

Q:生成后水面高度不合适怎么调?
A:面板「水面」区有高度滑块,普通与融合模式都实时生效;勾选特效后波浪/泡沫由 shader 与顶点色驱动,不受基准面影响。

Q:区域融合下水面高度滑块无效?
A:v1.0.0 已修复,融合模式海平面同样响应滑块。

Q:角色挂了 YYKANavAgent 不动?
A:确认三件事:① 地图根节点挂了 YYKANav 且 navData 已拖入 nav.json;② 相机挂了 YYKAThirdPerson;③ 是在游戏运行预览里按键。控制台会有 [YYKAThirdPerson] / [YYKANav] 前缀的明确提示,按提示补齐即可。

Q:保存 Prefab 后找不到导航脚本?
A:导航开关打开并重新生成后,再点「保存为 Prefab」,YYKANav.ts / YYKANavAgent.ts / YYKAThirdPerson.ts 会自动出现在 assets/mapgen_out/<地图名>/,Cocos 会自动编译。

Q:为什么生成前要重启编辑器?
A:插件 WASM 模块在编辑器启动时加载进内存,涉及生成核心的更新需重启编辑器才生效;仅面板样式类更新重新加载扩展即可。

Q:内置导航和第三方 NavMesh 插件怎么选?
A:常规 RPG/休闲玩法(角色寻路、少量单位互相避让)用内置导航即可,零依赖、生成即用;需要标准 NavMesh 烘焙资产、几十上百单位的人群模拟、运行时动态障碍等能力时,建议购买并搭配第三方 NavMesh 插件,两者可并存使用。

Q:支持自定义风格或更多散布物吗?
A:可联系作者定制,见文末联系方式。

Q:哪里能看到使用教程和更新动态?
A:关注微信公众号「智能运营咖」,定期发布插件教程、生成技巧与新版本预告;更多游戏开发工具也在公众号持续更新,欢迎关注不迷路。

⚠️ 购买须知

本产品为付费虚拟插件商品,一经购买成功概不退款,请支付前谨慎确认购买内容。

购买后获得对应版本授权,仅限授权范围内使用;
插件仅支持标注的 Cocos Creator 版本,请确认引擎版本符合要求再下单;
不包含定制开发服务,如有定制需求可单独咨询;
严禁二次分发、转售、反编译本插件。

📞 联系我们

如遇问题、有定制需求或希望增加动画 / 功能,欢迎联系作者:

官网:https://www.yyka.cn
邮箱:yykacn@qq.com
公众号:智能运营咖

💡 欢迎关注微信公众号「智能运营咖」:插件使用教程、地图生成技巧、新版本功能预告第一时间在公众号发布,后续更多 Cocos 开发工具也会陆续上线,关注一下,更新不迷路!

关键词

Cocos Creator、地图编辑器、程序化生成、3D 地形、导航寻路、NavMesh、A* 寻路、动态避障、第三人称相机、区域融合、水面特效、植被散布、地牢生成、小地图、WASM、Rust、Prefab、RVO 避障、游戏开发工具、YYKA

感谢用户的内容

感谢每一位购买与反馈的用户——你们的使用报告让大陆的海岸线更自然、水面更真实、寻路更聪明。祝你的游戏世界越来越大。