装甲纷争吧 关注:1,078贴子:3,675
  • 8回复贴,共1

【DIY技术教程】DIY载具换头教程

只看楼主收藏回复

●前言:
各位哆啦星DIY人在创作的过程中,总会遇到各种重复的制作工作。为了减轻各位DIY人的重复工作,作者在曲折中摸索出一套DIY移植的技术,虽然这项技术在很久之前就有大佬掌握的,但一直缺乏一篇系统性的教程(也许是我没找着)。因此,这篇教程来力!希望能在DIY移植这方面帮到各位。


IP属地:广东1楼2023-07-27 12:53回复
    ●在进行DIY移植工作之前,需要找到DIY存档文件的所在地
    安卓:Android\data\com.ShanghaiWindy.PanzerWarDEM\files\saves\vehicles\
    电脑:盘符:前面文件夹[1]\SteamLibrary\steamapps\common\PanzerWar-DE\dlc\PanzerWar-DE\saves\vehicles


    IP属地:广东2楼2023-07-27 12:54
    回复
      ●在找到了DIY存档文件之后,移植工作就可以开始了。
      装甲纷争决定版的DIY存档文件大体由两部分组成
      第一部分[2]:
      rules:
      - ruleGuid[3]:
      itemGuid[4]:
      isMain[5]:
      parentRuleGuid[6]: ''
      targetSlotIndex[7]:
      scaleSize[8]:
      x:
      y:
      z:
      deltaPos:
      x:
      y:
      z:
      localEulerAngles:
      x:
      y:
      z:
      customPropertiesJson[9]: '{"Rank":{"isEnabled":false,"value":},"HP":{"isEnabled":false,"value":},"isInternalModuleEnabled":{"isEnabled":true,"value":false},"isHitBoxEnabled":{"isEnabled":false,"value":false},"hullVisiblity":{"isEnabled":false,"value":false},"engineTorque":{"isEnabled":true,"value":},"reversingEngineTorque":{"isEnabled":true,"value":},"brakeTorque":{"isEnabled":false,"value":},"maxSpeed":{"isEnabled":true,"value":},"minSpeed":{"isEnabled":true,"value":},"steerTorque":{"isEnabled":true,"value":},"maxAngularVelocity":{"isEnabled":true,"value":}}'
      当然,这只是一个物体的json表达,他可以是方块,也可以是斜坡,啥都能是,所以第一部分往往会非常长,因为DIY载具的零件数通常也很多,这里只列了一个,因为第一部分太长了,列不完,这只是一个示例。
      第二部分看起来像是这样
      customPropertiesJson[10]: ''
      isApplyParentScale[11]:
      isRankOverride[12]:
      overrideRank:
      isHPOverride[13]:
      overrideHP:
      isNationOverride[14]:
      overrideNation:
      definedName[15]: "
      extraInfos:[16]
      - itemGuid :
      itemName:
      这是你具体信息和零件列表,它会写出该DIY的具体信息和所用零件。
      第一部分中的零件代码开头有俩ID:ruleGuid和itemGuid,每个物体都有独特的ruleGuid,而相同的物体则有相同itemGuid。
      修改的第一步就是把你需要移动的物体[17]在第一部分对应的文本复制到移植对象的存档文件里面。在这之后就是第二部分的复制,很简单,比对炮塔上有而身体中没有的零件,把没有的部分从移植物体的存档文件的第二部分中复制下来,粘贴到移植对象的存档文件的第二部分末尾就行
      注意:移植之后记得用移植对象的ruleGuid替换掉移植物体的物体的parentRuleGuid[18]


      IP属地:广东3楼2023-07-27 12:55
      回复
        3楼


        IP属地:江西来自Android客户端4楼2023-07-27 12:56
        回复
          ●具体实例
          一。常规炮塔移植
          这里以Epoch炮塔移植到BMP-2车体作为例子

          第一步,找到移植物体和移植对象的yaml存档文件[19]

          第二步,将移植物体的文本复制到移植对象的存档里面[20]


          IP属地:广东5楼2023-07-27 12:59
          回复
            第三步,将移植对象存档文件中缺少的组件itemGuid复制过去[21]

            第四步,查找移植物体的父物体id[22]

            第五步,用移植对象的父物体ruleGuid替换掉移植对象的parentRuleGuid[23]
            第六步,保存文档
            移植完成


            IP属地:广东6楼2023-07-27 13:01
            回复
              ●注释:
              [1] 如果有的话,取决于你steam游戏的安装位置
              [2] 这只是一个例子,具体文本取决于存档
              [3] ruleGuid:这个物体在这个存档里面的代称,类似于身份证,相同物体有不同的ruleGuid
              [4] itemGuid:物体的id
              [5] isMain:是否为主要部件
              [6] parentRuleGuid:父物体id
              [7] targetSlotIndex:插槽位置
              [8] scaleSize,deltaPos,localEulerAngles:这三个则是用来管理比例,位置,旋转
              [9] customPropertiesJson:对物件自定义数据的代码,例如生命值,等级,是否启用内部模块/外部装甲
              [10] customPropertiesJson:载具自定义属性的json
              [11] isApplyParentScale:是否启用子随父
              [12] isRankOverride:是否修改等级。修改的等级在下方overrideRank处填写。
              [13] isHPOverride&overrideHP同上,只不过在这里是血量
              [14] isNationOverride& overrideNation同上,只不过在这里是国籍
              [15] definedName:载具名称
              [16] 在此处会标出物件的名称以及物件的ruleGuid,物件名称后面会有括号,里面标明了类别,目前的类别有:Hull(车体),Turret(炮塔),Gun(武器),Item(杂项)
              [17] 查找需要移动的物体的文本是一件极其枯燥的工作,这里推荐将移植物体DIY中的干扰物件删除后再进行移植
              [18] 这里以炮塔移植举例,假设A炮塔绑定的父物体id即parentRuleGuid为甲,那么在移植到乙车体上时需要将父物体id更换为乙。注意:只用将炮塔的父物体id更换为乙,而不是炮塔上的零件的父物体id更换为乙,因为炮塔上零件的父物体id是炮塔的ruleGuid
              [19] 找到需要移植和被移植的载具的yaml存档文件有三种方法:1.在退出游戏前保存一遍载具,在文件夹中寻找最新修改文件;2.对照DIY封面文件的名字寻找;3.一个个点开来看
              [20] 关于复制文本,这里推荐复制到目标存档文件第一部分的最底下,这样方便查找和修改
              [21] 关于复制缺少的itemGuid,这里推荐将需要移植的载具文档里面的itemGuid全部复制过去,方便增改
              [22] 如果是移植炮塔,只需要查找移植物体的车体ruleGuid。如果是其他物件,则需要查找那个物件绑定的父物体ruleGuid
              [23] 这里推荐把所有需要移植的物体绑在一个炮塔上进行制作,这样在移植的时候方便查找父物体


              IP属地:广东8楼2023-07-27 13:05
              回复
                未经许可,谢绝转载


                IP属地:广东10楼2023-07-27 13:07
                回复
                  又做BMP-2M是吧


                  IP属地:广东来自Android客户端11楼2023-07-27 13:11
                  回复