欢迎光临散文网 会员登陆 & 注册

坦克世界通用模型加载器(UML) 玩家手册

2020-07-17 13:47 作者:atacms  | 我要投稿

这是面向游戏玩家的坦克世界通用模型加载器(UML)使用说明。基于加载器的模组创作请参照加载器发布包内的英文txt文件。

a. 什么是通用模型加载器

图中有两辆59,只有玩家驾驶的变成了挑战者2的模型。

    最初的目的是只替换玩家所开坦克的视觉模型而不影响其它队友或敌人坦克模型,来解决使用改模型最大的弊端:难以射击同样被改了模型的敌方坦克的弱点部位。除了mod模型之外后来也支持使用游戏内坦克模型官方3D涂装(3D风格)

    后续为了能实现某些模型的独特动画功能,比如风扇,雷达,抛壳,火炮驻锄,而加入了大量python脚本,成了为坦克世界第三方改模型提供底层动画支持的功能模组。使用此动画支持创作的模组主要是我个人导入的一批战雷模型,以及TheFalkonett野心勃勃的试图为所有WoT坦克加入动画的UUP模组。(该模组已断更,但已发布内容除了T34重坦以外都仍可以使用)

    一些动画示例:

带射界定义的多炮塔

由停车/行车/开火触发的动画序列
HSTV-L的(伪)抛壳动画


    此外还根据个人游玩的需求加入了一些杂七杂八的小功能,例如涡轮发动机音效,按名单屏蔽车标,本地强制显示击杀环,按敌军/友军替换模型(录像用)。


b. 如何下载与安装

重要:由于一些技术原因,不支持美系复合悬挂重坦(所有类似M-III-Y的坦克),液力悬挂的无炮塔坦克,无论是模型提供者还是模型接收者。倾斜炮塔座圈的坦克(昆泽试验车)虽然可以换,但会出现车库内炮塔角度错位的异常。部分支持4履带坦克,轮式车辆,双管坦克。其中轮式车辆的互换只支持车轮数相同的车辆/改模型之间互换。比如ebr75是8轮,只可以使用其他游戏内的8轮车辆(ebr105),或同样是8轮的改模型(半人马,M1128MGS)。

  1. 国服版本的加载器比给国际服准备的多了车标反和谐。国际服客户端用这个当然也可以,只是下载的文件稍微大了一点点。[1.23.1.0]通用模型加载器_B240125   下载地址 https://wwcy.lanzouq.com/i1qhg1m84t3i

  2. 如果因为某些原因导致B站文摘无法编辑而无法更新国服版的下载链接时,请使用下面的EU论坛UML主题帖中的国内网盘下载链接(目前用的是蓝奏云),里面同样是国服版加载器。

  3. 面向国际服的发布地点在EU论坛的UML主题帖,国际服玩家可以从这里下载最新版加载器。不想要车标反和谐的国服玩家也可以来这里下载国际服版本的加载器。注意此发布帖中的国内网盘下载链接仍然指向带有车标反和谐的国服版加载器。(http://forum.worldofTanks.eu/index.php?/topic/457839-1911universal-model-loader-uml-change-only-the-appearance-of-your-own-Tank/)

  4. UML尽量保持较强的跨版本兼容性,所以新版WoT经常可以继续使用以前的UML,这会导致你下载的‘最新版’UML压缩包里面很可能是一个更老版本的文件夹。将rar中版本号文件夹下的所有文件解压缩至   res_mods/最新版本号/  下。

  5. 安装完成。此时的加载器没有配置,不会有替换模型的效果,但动画支持功能已经起效。此时大概是这个样子(截图时的国服是1.9.0.0, 请根据阅读时的最新版本号自行理解)


c. 配置 - 如何获取车辆的标准名

    配置过程中常常要使用到坦克的标准名,所以这里单独列一节出来解释。

  • 方法一,观察回放文件名。比如你的一个59回放文件名是20200616_1350_china-Ch01_Type59_07_lakeville.wotreplay。这个夹在国家名地图序号之间的Ch01_Type59就是59的标准名

  • 方法二,当UML已经安装时,从python.log中直接查询车库当前车辆的标准名。比如车库里选中5级棺材88运载车,用记事本打开游戏根目录的python.log,翻到最后一页看到一行记录  2020-07-15 21:18:36.811: INFO: hangar view:g76_pz_sfl_ivc

  • 方法三,直接使用UML在车库右下角提供的图形界面。详情参见后面关于图形界面的章节(此章节仍在施工中)

  • 方法四,查找scripts.pkg可以找到所有坦克的标准名,尤其是你没有的坦克。用winrar之类的解压缩工具强行打开res/packages/scripts.pkg,进入其中的scripts/item_defs/vehicles/国家名/ 之下,可以看到一系列车辆定义xml,这些文件的文件名就是标准名

  • 方法五,查找坦克模型资源pkg里的模型目录。相对于上一方法的好处是pkg本身已经按照等级分开了,方便迅速定位到你想找的车。缺点是无法找到使用了同一资源路径名的套牌车,比如无法找到齐天大圣那辆特殊坦克。比如找10级车酋长,用winrar打开res/packages/vehicles_level_10.pkg,进入vehicles/british/,看到有个文件夹叫GB84_Chieftain_Mk6,这就是酋长的标准名

d. 配置 - 替换时调用游戏内车辆(基础)

    由于使用游戏自带模型,不需要额外的“安装模型”步骤,直接开始配置即可。

     

1.  在已安装最新版加载器的情况下,启动游戏,进入车库

2.  在车库按F5刷新,若成功则右下角消息栏会出现一个刷新成功的提示。此过程能确认加载器是否正常工作,并生成配置文件(如果是首次使用的话)

3.  用任意纯文本编辑器(推荐ultraedit, notepad++, 当然使用记事本也不是不行)打开配置文件  res_mods/x.x.x.x/scripts/client/mods/ownModel.xml   这文件前半段是一些零碎的功能开关,后半段主体是许多预制的改模型配置头。为了调用游戏内坦克模型我们需要依葫芦画瓢的仿制一个类似的配置头插入到这个列表中。

4.  例如想让自己驾驶的59调用游戏内酋长坦克的模型,首先需要知道59和酋长各自的标准名。用上一节的方法得知酋长的标准名是GB84_Chieftain_Mk6,59的标准名是Ch01_Type59。在ownModel.xml中插入以下数据节:

<GB84_Chieftain_Mk6>
    <enabled> true</enabled>
    <swapNPC> false </swapNPC>
    <useWhitelist> true </useWhitelist>
    <whitelist> Ch01_Type59,
    dummyTankName2 </whitelist>
</GB84_Chieftain_Mk6>

其中:
[*]  主节点名是想要使用的模型名,这里是酋长的标准名GB84_Chieftain_Mk6

[*]  <enabled> 设为true启用这个模型
                         如果设为false则关闭这个模型替换

[*]  <swapNPC>设为false,禁止替换非玩家车辆(友军或者敌军车辆)
                           如果设为true,则其他玩家开的车辆也可以被替换

[*]  <useWhitelist>设为true按照白名单来替换。当自己驾驶的坦克是白名单中的一个时进行替换
                              如果设为false,则无论开什么坦克都将被替换

[*]  <whitelist>  当<useWhitelist>为true时,这里设定将要被替换的车型列表。必须使用标准名,用逗号进行分隔

5.  保存配置文件。回到车库按F5刷新,令新的配置更改生效。若上一步骤插入的数据节有语法错误则整个配置文件会被重置,错误的配置会被抛弃以防止游戏崩溃。

最后配置文件大概会变成这个样子。注意插入的部分处于</models>之前,与其他结构类似的配置头同级别。

e. 配置 - 替换时调用游戏内车辆(进阶)

  • 当所调用的WoT官方坦克模型有多个零件可选(银币车)时加载器会默认加载零件序列号最大的零件。这通常代表该车的完全体,但也有例外。此时可用可选的配置节<configString>进行指定,所用数值为4位数字,分别是轮组/车体/炮塔/炮管的零件序列号,初始序号为1. 例如<configString>2127</configString>代表第2条履带,第1个车体,第2个炮塔,第7个炮管。若此处放入的序号超过了实际可用的零件总数则自动变成可用零件中序列号最高者,所以可以放心填入任何4位数字进行试验。

  • 有些官方坦克拥有多套模型,也就是WG销售的所谓3D皮肤。它们没有自己独有的标准名而是以style的方式寄居于母车之中。此时可用可选的配置节<styleSet>进行指定。其中填入3D涂装标准名或者序号。由于目前出现了3D涂装标准名和3D涂装文件夹名不一致的情况(意大利8金野牛的3D涂装),获取3D涂装标准名变得比较困难,今后推荐全都使用序号。序号1就是属于这辆车的第一套3D涂装,序号2就是第二套。输入的序号不在有效区间时会自动回退到最接近的有效序号,所以大家可以直接填入1然后进车库F5看是否是你想要的3D涂装。如果不是就填入2,以此类推。比如想调用查找查涤纶25t的3D皮肤,可以填入<styleSet> 1 </styleSet>

  • 这会导致配置文件中出现多个基于同一个母车的不同模型配置头。由于配置头的名字必须唯一,此时可将配置头的名字使用自定义名称而不是母车标准名,然后用可选的配置节<parent>将其链接回母车

使用了这些可选配置节的配置头的示例文件,参见
res_mods/x.x.x.x/scripts/client/mods/@example.xml

其中

  • 第一个例子是保时捷虎王(白板炮塔+88炮)只使用了<configString>来指定零件

  • 第二个例子是百夫长mk1,同样使用了<configString>来调用GB23_Centurion的白板形态。由于使用了自定义名称 Centurion_Mk1 以示分别所以也使用了<parent>

  • 第三个例子是战锤40K这个3D皮肤的BDR G1B,并指定白板形态,使用了所有三个可选配置节。这个例子文件做得比较早,styleSet仍然使用了3D涂装标准名,实际上仍然推荐使用序号1,还请注意。

f. 配置 - 替换时调用独立模型(UML适配的第三方模型mod)

相对于 配置 - 替换时调用游戏内车辆(基础),区别是在配置和启用之前必须先安装相关的模型资源文件,否则空引用必然造成游戏崩溃。以及不再需要从无到有的写入配置头而是直接修改已经预制好的配置头

1.  安装想要使用的独立模型。典型来源是:

  • 最好是有个国内的mod站,但目前还没有出现。

  • WG的官方mod站点wgmods.net上我的作品集,会相对较少,发布速度也会因为审查机制而慢上两天到两周,通常下载速度较快,但毕竟用了CDN偶尔会被国情误伤变得很慢。注意勾选‘所有版本’,因为独立模型有极强的跨版本兼容性 https://wgmods.net/search/?owner=48363

  • UML的EU发布贴中所附的独立模型资源,存储于mediafire,少量mega,国内下载较慢   http://forum.worldofTanks.eu/index.php?/topic/457839-1911universal-model-loader-uml-change-only-the-appearance-of-your-own-Tank/

  • WG的EU论坛涂装板块的涂装发布总贴。更新速度最快,但无序管理,要翻查发布较早的特定资源基本得自己一页页找  http://forum.worldofTanks.eu/index.php?/topic/421524-remodelling-reposts-public-storage/

2.  在已安装最新版加载器的情况下,启动游戏,进入车库

3.  在车库按F5刷新,若成功则右下角消息栏会出现一个刷新成功的提示。此过程能确认加载器是否正常工作,并生成配置文件(如果是首次使用的话)。此步骤同时会识别刚安装好的wotmod格式模型包并注入预制的配置头

4.  用任意纯文本编辑器(推荐ultraedit, notepad++, 当然使用记事本也不是不行)打开配置文件  res_mods/x.x.x.x/scripts/client/mods/ownModel.xml   这文件前半段是一些零碎的功能开关,后半段主体是许多预制的改模型配置头。新安装的改模型配置头通常位于该文件的末尾。

5.  例如想让自己驾驶的59调用M60A1RISE的模型,之前已经于步骤1下载安装了模型资源(https://wgmods.net/2230/)用之前的方法得知59的标准名是Ch01_Type59,所用模型M60A1RISE的配置头名称是N16_M60A1_RISE。在ownModel.xml中查找已经预制好的<N16_M60A1_RISE>配置头,然后进行修改,最后大概是这么个样子:

<N16_M60A1_RISE>
    <enabled> true</enabled>
    <swapNPC> false </swapNPC>
    <useWhitelist> true </useWhitelist>
    <whitelist> Ch01_Type59,
    dummyTankName2 </whitelist>
</N16_M60A1_RISE>

其中:
[*]  主节点名是想要使用的模型名,这里是所下载独立模型的配置名N16_M60A1_RISE

[*]  <enabled> 设为true启用这个模型
                         如果设为false则关闭这个模型替换

[*]  <swapNPC>设为false,禁止替换非玩家车辆(友军或者敌军车辆)
                           如果设为true,则其他玩家开的车辆也可以被替换

[*]  <useWhitelist>设为true按照白名单来替换。当自己驾驶的坦克是白名单中的一个时进行替换
                              如果设为false,则无论开什么坦克都将被替换

[*]  <whitelist>  当<useWhitelist>为true时,这里设定将要被替换的车型列表。必须使用标准名,用逗号进行分隔


6.  保存配置文件。回到车库按F5刷新,令新的配置更改生效。若上一步骤插入的数据节有语法错误则整个配置文件会被重置,错误的配置会被抛弃以防止游戏崩溃。



g. 支持的快捷键

  • F5                -- 车库刷新,将修改后的配置文件刷入游戏中

  • \ 或 退格键   --  副炮开火(如果模型支持)

  • INSERT       --  自定义动画启动(如果模型支持) -- 比如开舱门

  • DELETE      -- 自定义动画归位(如果模型支持) -- 比如关舱门

h. 模型mod资源

*  我在EU官方论坛的模型发布合集帖。以后大概会在B站文摘区弄一个镜像。国内玩家尽量使用其中的国内网盘链接。
    http://forum.worldoftanks.eu/index.php?/topic/777745-atacms-remodel-repository/
在WGmods.net也有个发布页,但因为上传非常困难所以内容不齐
    https://wgmods.net/search/?owner=48363


*  在WGmods.net官方模组站搜关键词replaceAnyTank会找到我和其他一些EU作者发布的UML适配的模型。注意一定要在过滤选项里选‘所有版本’和‘所有语言’,否则会什么也看不到。
    https://wgmods.net/search/?title=replaceanytank


*  在WGmods.net官方模组站搜关键词[uml]会找到A_SaltyFish_WoTs和cnhkdd(璀璨星光)发布的UML适配的模型。A_SaltyFish_WoTs的模型以WT导入模型为主,数量多种类齐,苏系居多,有少量和我的发布重叠的模型。璀璨星光发布的主要是基于WoT原车的带动画的魔改。注意一定要在过滤选项里选‘所有版本’和‘所有语言’,否则会什么也看不到。
    https://wgmods.net/search/?title=[uml]


*  前文提到过的TheFalkonett 的旨在为WoT自有坦克添加动画元素的UUP项目(已停更)。已发布内容除了T34重坦以外都仍可以使用。
    http://forum.worldoftanks.eu/index.php?/topic/644772-1301-thefalkonetts-uup-uml-utilization-project/


i. 常见问题

Q:找不到res_mods/x.x.x.x/scripts/client/mods/ownModel.xml,并没有这个文件。
A:全新安装加载器时,需要至少启动一次游戏客户端后才会有这个文件。

Q: 安装后车库按F5,右下角消息栏没有变化
A: 加载器安装路径错误,加载器与最新版WoT不兼容,或加载器与其他已安装MOD相冲突。注意加载器是安装在res_mods目录的最新版本目录下,不是一般wotmod格式的模组所使用的mods目录

Q: 安装后无限加载车库
A: 随机bug,按F5

Q: 战斗结束后卡死
A: 随机bug,按F5

Q:我设置了替换,在车库中没有任何效果,但战斗中的确有效
A:当useWhitelist为false,处于无条件替换模式时,为了防止车库所有的车都变成一个模型造成困扰,车库的坦克不会进行替换。

Q:我设置了whitelist替换,但在车库中预览那辆车时没有任何变化
A:为了防止与车库装甲查看器模组相冲突,即使是whitelist替换也只对实际拥有的坦克有效,预览未购买车辆时不生效

Q:我找到了一个很好看的模型(比如https://wgmods.net/3892/ 战雷导入的挑战者2),能不能把它应用于加载器上
A:理论上可以,尤其是A_SaltyFish(https://wgmods.net/search/?owner=162024)或者mirukii(https://wgmods.net/search/?owner=1893)模型本质上已经是独立模型了,但缺少一个给加载器准备的配置文件(UMLprofile)。mirukii的很多模型我已经预制了配置头,大体可以安装模型包,找到相对应的配置头然后启用,但A_SaltyFish的并没有,需要他或者我或者玩家自己构造一个配套的UMLprofile。 UMLprofile的示例和安装位置在res_mods/x.x.x.x/scripts/client/mods/UMLprofile/之下。


i.更新日志

v1.662 build 20240125
*更新内嵌的modsListAPI至v1.4.6
*修正部分损坏的splineTrack和physicalTrack的季节变种机制
*内嵌为limpidStickersV2.14制作的随机卡车库补丁。补丁给WG的缓存机制多加了一层例外处理,并不依赖于是否安装了limpidStickers

v1.661 build 20231230
*添加装填锁功能(装填时炮管会提升并锁定在特定的装填角度,装填结束后还原。需要模型端制作时使用此功能)
*修正非玩家车辆无法启动某些动画元素的bug

v1.660 build 20231218

*修正由于和官方新引入的自定义元素ID段冲突而导致的新年偷菜界面打不开的问题
*UML自带车标ID段整体增加3000。模型作者今后在制作模型时如果使用了这些素材请直接使用车标的字符串标识名而不是数字ID,以防止以后再有此类事情。
*比如使用<emblemId> ODS_Vsmall </emblemId> 而不是<emblemId> 16010 </emblemId>

v1.659 build 20231022
* 可以兼容万圣节模式了(大概)
* 修正一些过时的老函数,提高整体稳定性

v1.658
* 修正1.22.1.0下炮弹命中时没有火光和音效的问题* 重新激活了UML音效模块
* 其实是因为1.22.1.0实际上是回滚到了活动之前的1.22.0.0客户端,所以为1.22.0.1和1.22.0.2所作的修正反而在当前版本下造成了新的冲突。

v1.657
* 修正特定条件下迷彩色调异常的问题
* 重新激活了UML音效模块

v1.656
* 修正1.22.0.1下炮弹命中时没有火光和音效的问题
* 在UML音效包能更新到新格式之前,暂时禁用了UML音效模块
* 新的英国轮式线可以被调用了(模型接收者和提供者车轮数相同的情况下)

v1.652 build 20230507
*  修正当挂有迷彩/2D涂装的坦克使用游戏内的无炮塔TD模型时,游戏卡住的问题

v1.651 build 20230506a
*  修正亚服玩家使用加载器会立刻崩掉的问题。

v1.650 build 20230506
*  修正兼容WoT V1.20.1.0
*  修正一些早期模型上部分2D涂装在炮塔和炮管上显示异常的bug

制作UMLprofile时各个零件里的<density>和<aoTextureSize>节点将被忽略,转而从<tiling>参数自动计算出来。根camouflage节点中的这两个节点继续有效。
*  新增了在UMLprofile或者改模型的文件夹中注册模型主色调的功能,以修正游戏内迷彩/油漆/2D涂装。具体细节参见内附文档instruction_on_registering_base_colour.txt

坦克世界通用模型加载器(UML) 玩家手册的评论 (共 条)

分享到微博请遵守国家法律