联机可用仅本地可见附加模组安装使用教程

联机可用仅本地可见附加模组安装使用教程

联机可用仅本地可见附加模组安装使用教程
本文全部内容均翻译自TruckersMP团队Add-On经理Forerunner的文章Local Only Addon Hookups - How to (advanced),一切解释权归其所有
译者:晨曦俱乐部-Edmund
本地配件在TruckersMP是被禁止的,然而本地的附加连接器则鲜为人知,且基于规则是被允许的。然而,现在才第一次向公众解释本地附加挂件,本教程将会向您展示如何制作并使用本地模组。此教程面向于有足够经验的存档编辑者/模组制作人,如果您对模组制作很生疏,我建议您不要尝试将此用于您的第一个修改模组。
此教程不会教您如何3D建模,而仅仅于如何将其投入使用。这项教程面向人员需要对ETS/ATS游戏存档加载进程及Blender软件有一个最基本的认知
通过此教程,将会把下图的依维柯卡车
改成下图的依维柯卡车
这项教程中,您需要准备如下几个软件:
1.      Blender 软件(https://store.steampowered.com/app/365670/Blender/)
2.      SCS存档解密工具,如:SII_Decrypt.exe
3.      文档编辑工具,本人建议Notepad++(https://notepad-plus-plus.org/
5.      Converter_PIX (https://github.com/mwl4/ConverterPIX)
6.      Converter_PIX_Wrapper  (https://github.com/simon50keda/ConverterPIXWrapper)(可选,我将会使用)或者解压完的base.scs
第一部分:Blender准备工作
如果您的个性化模型只是一个个性化灯具,喇叭或其他相似物,您可以直接跳到第四部分
对于类似于灯条,侧裙之类的模型,您需要去改变模型的原始位置。通常一个个性化的防撞条需要搭载到一个名字为“f_grill”的位于卡车的定位器,然而在这里最好的搭载位置则是在“b_grill”的一个位置。这个意思是此模型需要重新定位。
您需要导入两个模型,分别为:
·         您的部件需要搭载的卡车
·         您的部件所需搭载的卡车配件
第1步:导入卡车模型
和往常一样导入卡车模型,隐藏所有其余物品,仅显示根部
第2步:展示正确的变量
利用所选的卡车根部,使用“object”菜单中“SCS Variants”部分,去解除隐藏那些与您所使用的变量相关的部分。例如,如果您要制作4x2底盘的连接器,请解除”chs_4x2”变量的隐藏。此步骤请用于驾驶室和底盘的变量。
第3步:隐藏不必要的物品
在工具栏中使用SCS工具版面,隐藏所有物品,除了“model objects” 和“model locators”。然后将看起来和下图类似
第4步:定位3D光标
To speed up the process of importing the accessory, select the appropriate locator (b_grill for example) and, using the 3D view side bar (Opened with the “n” key by default) copy its Location coordinates to the 3D Cursor coordinates, as below (b_grill is selected in this case):
以加速导入卡车配件的进程,选择恰当的定位器(例如b_grill)以及使用3D浏览侧板(默认N键开启)复制其位置坐标于3D光标坐标上,如下(此所选的为b_grill):
第5步:导入配件模型
像通常一样导入配件模型,因为我们重新定位了3D光标,他将自动置于游戏内中显现出来的定位器处
(可选)第5a步:旋转配件模型
莫些情况下,卡车上的配件定位器会被旋转(蓝色箭头不指向前方且/或不水平)。在这些时候,设置定位器的旋转模式(Rotational Mode)于“XYZ Euler”(和前面3D光标的位置数据位于同一个侧板)并复制其值到配件的根部(root)对象。检查可视性(visuality)让其于您在游戏里通常所看见的相匹配。
第6步:隐藏不必要的对象
使用在工具栏SCS工具面板,隐藏所有的物品,除去“model objects”和“model locators”。和第3步相同,将看起来和下面类似
第二部分:您的个性化配件
对于这部分,假设您已经准备好了您的同于ETS2和ATS的个性化配件。教程中我将不会包括这类操作——我只会去展示如何让其在TruckersMP上面使用
这是我所使用的模型,一个假的6x2额外车轴,是轮子于提升位,用于效仿长款6x2
第1步:导入您的个性化部件
如果您的个性化部件不在Blender中,现在需要去导入/打开它,并将其定位到它在游戏里所需的位置。如果您转换的是f_grill,将其置于f_grill定位器上。
第2步:做一个新的根基
最好的方法去做新的根基便是去直接去把一个已经存在的定位器改变成根基。选择一个配件上的位置定位器,它应该名为“slot_##”,其中#是一个一位数字,并滚动至“properties”区域的对象版面最底部。你需要将对象形式(Object Type)改成根基对象(Root Object)。下面就是操作前后的样子
之前:
,之后:
注意位置的名称,例如“slot_0”是您后面所需要的!!!
(可选)第2a步:配置新的根基
如果您的新部件含有多个变量,编辑新根基的设置去于已经存在的一个匹配。下面所展示的所有东西需要在您的新根基和已存在的根基中相同(可以和我的不一样,但您的全部之间都要一样)
第3步:将全部东西移至新的根基
选择所有的补足您的配件的模型和定位器,不要选择任何其他的东西,并最后选择新的根基——所有的都要在3D窗口下可视
在3D窗口中,输入Ctrl+P选择“Object (Keep Transform)”,如果正确,这里应该不会有视觉改变。然而如果去检查等级排布(hierachy),您会看见用于您的配件的模型/定位器现在已经和新的根基关联。
第4步:导出您的新部件
我建议重命名新的根基对象,以区分开原始的根基对象,以防您还想再次修改。
这个不见需要被导出至/home目录内的正确文件夹中。我将会导出我的模型至“<scs_project_path>/home/local_mods/fake_axle_iveco”并且它将会命名为“fake_axle.pim”
只要您已经把它导出至这个文件夹中,您可以运行转换助手去将部件转换成游戏格式。我建议不要导出到mod文件夹。
第三部分:文件结构与编辑
既然您已经导出了您的部件,您就不仅仅需要去复制/移动文件至正确位置
第1步:模型文件(.pmg和.pmd)
对于模型文件,您需要复制/移动并编辑它们。找到你的导出模组,复制文件至“我的文档/Euro Truck Simulator 2”(欧洲卡车模拟二)或者“我的文档/American Truck Simulator”(美国卡车模拟),在我的情况下,路径改成如下:
移动 <exported_mod>/home/local_mods
Documents/Euro Truck Simulator 2/local_mods
*.pmd文件也需要编辑,就像它好像需要基础游戏之外的材料,这些材料将也会在“/home”的某处,意味着*.pmd的路径需要被转变。
我发现最容易的方法去做这个就是使用Hex Editor或者Notepad++打开*.pmd进行查找/替换工作去发现“/automat/”并替换它至“/home/am/”。这个可以使用因为它们为同等数量的字符,如果文件尺寸改变,您需要去改变更多,这将不在本教程的范畴之内
第2步:材料文件(.mat)
这些文件只需要被移动,如果您是遵循这部分的步骤1,您所需要的只是在“我的文档/Euro Truck Simulator 2”(欧洲卡车模拟二)或者“我的文档/American Truck Simulator”(美国卡车模拟)目录创建一个新文件夹“am”并将所有的子文件夹粘贴过来。在我的情况下路径如下改变:
“<exported_mod>/automat”的子文件夹
移动至: “Documents/Euro Truck Simulator 2/am”
第四部分:编辑存档
附加连接器与其他的配件不同,因为它们并不通过文件路径读取,意味着简单的把他们放到vehicle_accessory目录下是不会起作用的,与之相替,您需要在游戏中得到一个新的单元并将其引用至正确的vehicle_addon_accessory目录之下。有很多方法您可以在存档中得到一个新的单元,但是很多都会导致间歇性或持续性的崩溃。确保做这项之前将您的存档格式(save_format)改成2。
第1步:找到一个作为新单元的亲本单元
游戏存档中的单元有等级制度,依次往上,直至存档最上级的“economy”单元,为了使一个单元可以加载,它必须在这个等级制度之内否则将无法加载。您需要去重新定向一个值,使此模组工作。
我所倾向的去编辑的单元是“mail_ctrl”,用于游戏内的邮件系统-这个系统最初是用作为银行消息和相似的东西,不过后来很少使用。如果有些需要在模组安装上之后使用它,您可以去 a)编辑存档去标注它已读并忽略或者b)卸载模组并在读取消息之后重新安装。在邮件菜单输入已安装的模组会导致游戏崩溃
一个存档中只有一个这个单元,所以只需要搜索“mail_ctrl”便可以找到它。我的是这样的,您的应该也差不多
第2步:修改这个单元
为了加入您的个性化部件,您需要去把它们作为这个单元的子类。理由是这个单元工作是因为这是“inbox”组数,这里我们可以添加模组。我建议去把您的单元命名为一些比较能记住的或者东西并且它们绝对不能以“.”或者“_nameless.”开头
我将会添加两个个性化部件,是个在整个教程所看见的个性化模型也是一个连接器,可以将“bonfire”爆闪灯添加到车顶横条上,以证明已存在的模型可以被使用。
在初始编辑完成后,我的看起来是这样的
请注意:每一个单元名记号的最大值为12个字符,由“.”分隔开——第一个和最后一个也有同样的限制,所以我才用“spec_beac”而不是“special_beacon”因为单词太长了
第3步:添加新单元
这一步比较简单,仅涉及在存档中添加新的单元。在大多数情况,它们将会在“accessory_hookup_data”中,然而作为个性化汽笛(其他的声音也行),它们将会在“accessory_horn_hookup_data”中,伴随“sound_data”单元(查看已经存在的喇叭挂件便可显示它们怎么被设置的)
在大多数中,您所需要的便是给“model”添加一个值,然而一些您制作的模型可能需要变量“variant”以及“look”已被定义。“electric_type”在这个灯上也需要被使用。然而大多数情况下,爆闪灯已被包含,使用aux_light作为它的值
下面就是这两个卡车个性化部件被定义的:
请注意:单元名要与我们在“mail_ctrl”单元中所放入的一致,并且这个“个性化”爆闪灯是使用默认部件的模型——对于那些想使用本地的LED灯置于车灯下方的,就可以这样做
放入一个名字,图标或相似的东西都有可能这个单元将不会在菜单中加载所以永远不可视
第3步:将新部件放到您的卡车上
大多数的存档编辑者应该对这个比较熟悉。添加一个新的“slot_name”和“slot_hookup”置于正确的“vehicle_addon_accessory”单元之中便完成了。“slot_name”的值需要是上面所提到的定位器的名称(应该是“slot_”加上个数字)并且“slot_hookup”值需要是您的个性化部件的单元名
下面就是这个卡车的配件
如果您所有步骤都做对了的话,您应该可以看到一个个性化部件所安装上的新卡车
相关信息:
·         如果您使用了个性化纹理和*.tobj文件,这些必须在SCS项目文件夹的“/home”子目录下并且和模型文件一样复制
·         个性化“涂装”可以通过拥有一个将原始涂装“包裹”住的个性化模型来达成
·         这个可以在已购买挂车上使用,用于后保险杠上的灯具位置
2021-06-29
0 0