那我们接着往下学习本系列教程。本期要讲的是什么呢?Motherling Tutorial: Two Road Tree Repressor。也就是说,这是一个可以将原版游戏中的道路树木替换掉的模组。这个模组有一个特色,就是它可以替换掉原生的游戏自带的道路树木,并且和我们上一个模组一样,它也使用了 Mad Pros 这样的工具来浏览地图上的许多道具。
首先,第一步是我们要去浏览一下,并且修改道路树木的预制内容,使用我们的 Mother Tours 这个模组来查看。最简单的方法就是使用 Tours Control。所以,我们先安装这个模组,去创意工坊里找 Mother Tools。找到之后,建议将其加入收藏并订阅。
订阅完成后,我们就可以启动游戏了。在游戏主界面,点击内容管理,选择模组,确认打上了 Mother Tools 的勾,然后启动游戏并加载模组。
现在我们进入了游戏画面,接下来我们要找到 Tours Control 工具。这个工具控制器怎么打开呢?首先,点击环境美化,然后往下看,看到了很多树木。好,现在我们选择一棵树,比如说这棵
大红杉树。点选它,然后按下 Ctrl + Shift 键,叫出 Mother Tours,并打开 Tour Control,再点开 Tree Control。关于竖的工具,右边是关于树的属性。选中的这棵树的名字存储在右边的属性中,找到了吗?就是这个属性,m Pre Faber,它就是这棵树的名字。如果我们选择别的树,这个名字就会改变,对吧?选择一个比较高的树,我们选这棵树。
然后在这个地方点击复制,复制这个模型或者说样板的引用,它在内存中的引用。我们先复制它,因为后面会用到。复制完成后,我们选择道路,选择带有竖的道路,然后在 Tour Control 中改成 Nether Tour。这是关于道路的工具。道路的名字在哪里呢?在第一行,就是它的名字,也存在这个地方。m profib,这是它的名字。如果我们选择别的道路,这个名字也会跟着改变,对吧?现在我们就选这个。
现在,这一步就比较复杂了,就是我们要去寻找它的子层级。点开 mlans 这个矩阵,点击加号展开来,在 0 的地方,点击左边的加号再展开来,然后展开 MLNS Promise,再展开,直到到达 m purpose 这个地方。
我们看第四个下面,这个地方有一个 m final three。正好,为了做个对照,我们先在这个地方铺上道路,比如说在这里铺一条路。拉近看一下,这个树长这样子。然后我们把它改变一下,用 Final Tree。在这个地方,我们点击 Paste,就是把刚刚选择的竖的引用贴上去。看到没有?神奇的事情发生了,这个树立马变大了。再往下拉一点,m final three 也是一样,点击 Paste,这样就把这个道路数给改变了。
这就是能够把道路数加以取代的一个方法。你看,这个树真的被我们取代了吧?原本是矮的树,现在变成高的树了。这就是用 Matters 来改变这个道路数的方法。
我们说行道数吧。行道数的方法是怎么样用代码、用程序的方式让它自动地改变呢?好,这就是我们下一步要讨论的。
接下来,我们来做第二步,就是建立一个新的项目。打开 Future Studio 2019,创建新的项目,选择 C#。然后在项目名称这里,我们直接复制粘贴,位置就是在我的文档里面。
然后选择创建,点选创建。好的,然后我们之前把之前做好的一个笔记,就是每次开启一个新的项目、新的模组都会用到的这个内容,重复内容。好,我们要引用 4 个 API。添加项目的引用,主要就是这 4 个。1234,好,添加,按确定。
这部分代码复制粘贴上去,没有错误,很好。然后我们最好把这个重新命名一下,就是用它的 class 名称来做它的档名吧。很好,我们再往下看。他告诉我们快速创建一个新的 C# 档案,在这边建立一个新的需下的档案。好,把下面内容复制粘贴上去。好的,没有错误信息。
编译之前,我们要先把这个生成事件的部分的命令行贴上去。项目名称,右键属性,生成事件的命令行,然后 Ctrl + S 保存,来做一次编译。好,好的,确实我们每个就多了个模组,load tree represser,多了这个模组。编译没问题,我们大概看一下代码在写什么。
Public press,就是宣告这个类的名字对吧,它的继承是 Loading Is Tension Base 这个积累。然后要复写这些方法,这个是由这个 Is Tension Base 所定义的,我们要去 override,要去复写它。当这个关卡地图一被载入的时候,要执行这些程序内容。
就是这个道路的名字,net info 就是道路的名称。而 tree 就是 info 这个树的名字。这个可能我们得改成刚才我们看到的那样的一个树的名字。如果没有这样的一个,那天 work 的时候他会报错。如果没有这样一个数的话,他也会报错。如果这个道路的阵列是空的话,就返回,就不继续了。如果不是的话,就执行一段程序,就是他走个回圈,然后把竖取代成 m three,还有 final three,这两个值用刚刚看到的这两个值把它取代成我们这个 three three five。然后 look in placement successful。
所以关键是什么呢?关键就是这两个名称要写对。就是刚刚我们看到的那两个名称是什么呢?我们把它记录下来。好的,本期教程的内容就先分享到这里。