2.1 大地图开发—如何创建新的地图

一、概述

骑砍2的大地图是每个mod不可或缺的一部分,如果你想在大地图编辑上省很多事,可以选择沿用native的地图,在上面做一些修修改改,因为定居点和触发都是现成的。如果你有足够的时间和精力,也可以选择创建全新地图。鉴于网上这类教学视频和文档非常少,这里在外网找到了一个文档,写的很详细,有英文阅读能力的可以尝试看一下,感谢这位大佬的总结。docs.google.com/document/d/...

二、前期准备

  1. 首先你需要在steam下载官方的编辑工具Mount & Blade II: Bannerlord - Modding Kit
  2. 官方的大地图文件路径为/Modules/SandBox/SceneObj/Main_map,如果你要用自己的地图,你需要在你的Mod目录下新建/SceneObj目录下建立一个同名目录Main_map,将你的地图保存进去,才能覆盖原本的卡拉迪亚地图,不过我建议在你的地图能运行之后再这样做,其他时候先用另外的名字。

三、开始开发大地图

  1. 启动mod编辑工具

  2. 打开一个新的场景,先选中inspector,然后点击右边inspector工具栏中的Properties,展开New Terrain Properties,这是新建新的大地图地形。 所有的场景都是由一个一个的网格节点组成的,这里有几个数值需要注意一下:

    • X和Y是每个2D轴上生成的节点数。
    • Single Node Size 是每个节点每条边的长度(节点是正方形)
    • Single Node Dimensions 表示每个节点每侧用于创建地形网格的顶点数

    这些是我根据1.1中提到的文档中翻译过来的,下面附上原文:

    All scenes are created on a grid of nodes, allowing different levels of detail (LODs) to be generated in surrounding nodes, optimising performance. X and Y are the number of nodes to be generated on each 2D axis. Single node size is the length of each side of a square node in metres (or game equivalent). Single Node Dimensions represents the number of vertices to be used on each side of each node to create your terrain mesh.

    关于这段的内容我是这么理解的,可以拿官方初始的例子来看 我们先按照卡拉迪亚的地图填数值,X和Y为16,Sing Node Size为52s,Sing Node Dim.为256,我们填好数值之后点击Generate Terrain生成地形。等待一会儿后地形会生成好,如下: 鼠标移上去可以看到地图的每条边有16个大红框级别的格子,这就是地图的X和Y,而256X256影响的是每个红框格子的大小,53代表的是每个Node代表的游戏中的米(metre),总之数值越大地图越大,具体可以再参考原文理解一下,我也理解的不是特别准确。

    3.记得在ScebeOptions中设置Water属性的Level,初始为-100,所以你看不到水,我的建议是至少设置为1(卡拉迪亚为1.8),这样以大海为初始蓝图,需要土地的地方就把该处升高即可。 接着可以保存地图了,保存在你的Mod目录下的SceneObj/Main_map文件下,然后勾选你的Mod进入游戏,你会发现开始游戏的话,游戏会崩溃,这是因为你的地图上缺少定居点以及其他一些素材,卡拉迪亚原始的世界地图涉及到一些硬编码的部分,因此这里建议还是复制官方的地图做为你的蓝本然后一点点的在此基础上修改。

相关推荐
SmalBox9 小时前
【节点】[SimpleNoise节点]原理解析与实际应用
unity3d·游戏开发·图形学
Yuk丶13 小时前
厌倦了假AI对话?本地 LLM 语音对话 + 口型同步系统 2.0(已开源!)
c++·人工智能·语言模型·开源·ue4·语音识别·游戏开发
SmalBox1 天前
【节点】[GradientNoise节点]原理解析与实际应用
unity3d·游戏开发·图形学
winlife_2 天前
全程用 AI 做一款商业级手游 · EP0 立项:能做到吗、怎么做、边界在哪
人工智能·unity·ai编程·游戏开发·商业化·mcp·funplay
SmalBox2 天前
【节点】[DynamicNoise节点]原理解析与实际应用
unity3d·游戏开发·图形学
晓杰'2 天前
从0到1实现Balatro游戏后端(7):Boss Blind与特殊规则实现
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
晓杰'2 天前
从0到1实现Balatro游戏后端(6):Blind关卡状态设计与回合推进实现
后端·websocket·typescript·游戏开发·项目实战·nestjs·状态管理
SmalBox3 天前
【节点】[Checkerboard节点]原理解析与实际应用
unity3d·游戏开发·图形学
avi91114 天前
Unity 商业插件之(五)课外2 - Zenject的一些小Tips(学习备忘)
unity·游戏开发·团结引擎
SmalBox4 天前
【节点】[TriangleWave节点]原理解析与实际应用
unity3d·游戏开发·图形学