【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)


3楼猫 发布时间:2023-10-28 13:10:38 作者:stain Language

上一篇:合并&导出篇下

经过前两篇,我们终于将多件衣服合并成一件,并且成功的导出覆盖了原版的服装

现在我们只剩下最后一步了

因为我们合并了

多件具有smp物理的部件,而每件都有单独的物理文件(以下简称.xml文件),那么我们要做的就是把这些.xml文件也一起合并了。

首先要确定你的模型用的.xml文件是哪个:

用Nifskope打开你合并完的.nif,展开左侧的部件一栏就能看到这个文件

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第0张

可以看到我的这个用的是arm.xml

如果没有的话,那就打开原服装mod的.nif,挑一个复制上去(最好用的是和你这个碰撞区块所在的同一个.xml)

既然知道了我们所用的.xml(后称主.xml),那就找到另外的.xml(副.xml)并把它们合并起来就行了

.xml文件一般所在的位置:服装mod文件夹——meshes——依次打开

就能看到多个.xml了

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第1张

我这里有三个,我们合并模型的时候都用到了他们的物理部件


在这里我的主.xml就是上图看到的arm.xml了,先打开它(主.xml),再打开另一个skirt.xml,剩下的low.xml我们最后再合并

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第2张

左‘主.xml',右'副.xml'

是不是感到眼花缭乱?

别急,这里面什么意思你都不需要弄懂,只要跟着我学会把它们分开,然后复制粘贴一部分就行了

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第3张

下面正式开始操作:


1通用声明(一般不管):

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第4张

首先是最开头的这一部分,相当于是编程语言的头文件,

下半部分是对于身体骨骼的声明,主副.xml都是一个样子,弃之。


2碰撞箱声明(替换):

一般的格式为:

以<per-triangle-shape name ="xxx">作为开头

······

以<per-triangle-shape>作为结尾

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第5张

上图这一部分是对.nif里的碰撞箱,也就是第一篇说的’碰撞区块‘的声明(在第一篇我们说了尽量留下体积最大的碰撞箱,这样对于所有smp物理部件都能起到效果)

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第6张

可以在.nif里查看,一般碰撞箱的名字都会带'box'或者'collision'

碰撞箱的声明只能有一个,主.xml里的碰撞箱一定要跟.nif里的是同一个,如果不是,那就替换掉

但是我们主.xml里自带的就是’boxarm‘,和.nif里用的是同一个,所以这里我就不需要操作了


3物理骨骼声明(添加):

下一部分的骨骼声明分成多组,除了第一组,格式一般为下图


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第7张

框起来的为一组


在开始之前,还记得上一篇为了解决裙子和手臂的骨骼冲突,而把裙子的骨骼名字将‘coco’改成'c‘了吗,那么在复制粘贴这些骨骼之前我们先把这些名字也改了

快捷键ctrl+F——选择替换——打上要替换的名字——全部替换


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第8张

全部替换

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第9张

替换后的骨骼名

之后就可以开始复制粘贴了

操作如下:

将副.xml里的这些后面带数字比如'01'的骨骼,全部复制到主.xml同样是'01'骨骼的后面,

如图


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第10张

从副部件到主部件


然后重复,直到把所有骨骼都复制到主.xml中带有相同数字的骨骼后面

假设:如果副.xml的骨骼最高数字比主.xml的高,比如副.xml有'15'而主部件最高只有'14',那么就要把整个骨骼声明复制到主部件


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第11张

把整组’15'复制到主.xml的'14'后面

4骨骼间限制声明(添加):

接下来这部分处理方法跟前面的骨骼声明类似,但是更直接更简单粗暴

骨骼间限制的代码有两种,一种是'lnB’,一种是'lnLerp'。

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第12张

这一大堆就是骨骼限制说明了,只是看着很唬人

骨骼限制代码分两种,一种是上图的‘lnB’,一种是‘lnLerp’,如下图

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第13张

’lnB‘

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第14张

'lnB'后接着的一般就是‘lnLerp’了


而一个.xml文件可以存在多个'lnB'和多个'lnLerp',所以我们只要把'lnB‘这一整串复制到主.xml的’lnB‘后面就行了,’lnLerp‘也是同样操作。

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第15张

对’lnLerp‘同操作

5smp部件模型声明(添加):

这个更加的简单粗暴


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第16张

上面这一堆以<per-vertex-shape name = xxxx>开头的就是模型声明了

因为一个.xml可以有很多个,我们直接把所有<per ~~~ "xxxx">一起复制到最后就行了


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第17张

一直复制到</per-vertex-shape>,也就是</system>的上面

然后粘贴到主.xml的相同位置,也就是最后</system>上方就行了

那么不出意外的话.xml就这么改完了,但是我们有三个.xml,所以把剩下的也按同一个套路的做一遍。

(剩下的这个没改过他的骨骼名字,直接复制就行了)


6smp部件和碰撞箱的连接:

我们刚刚添加的smp部件没有经过修改还不能跟当前碰撞箱产生物理碰撞。

先回到主文件开头查看一下我们碰撞箱的标签


【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第18张

上图可以看到,碰撞箱标签为aa2,第二个红框中的意思是可以与标签为bb2的物理部件产生碰撞。

下图就是原本就存在的物理部件,可以看到它的标签正好是bb2,可以与aa2产生碰撞

那我们对其余的物理部件照着改就行了


最后记得保存退出,文件位置也不用动(.nif里的就是目前的路径)。

进游戏看看效果

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第19张

所有物理部件都有效果了

NICE!!


我们第一个服装替换就这样完成了

总结一下这几篇教程的内容吧

准备:制作一个空mod,用BAE打开meshes0.bsa并把里面的服装meshes并解压到空mod中

第一步:将多个.nif文件拖入outfitstudio中进行合并

第二步:将所有模型的部位(partitions)改成替换的原版服装部位

第三步:导入参照、映射所有

第四步:导出,导出时记得输出文件名和文件夹跟要替换的原版服装对应(其他的为了方便重新打开项目作修改,可以选择同一个shapeDataFolder和sliderset)

第五步:打开导出的.nif看看有没有骨骼错位, 如果有,先在副.nif中重命名这些骨骼,然后再拖入主.nif,修改完后替换掉原来的.nif,再用outfit studio拖入其他部件进行合并

第六步:将多个.xml文件合并,如果前面哪个部件改过了骨骼名,记得重新替换一下骨骼名再合并文件

第七步:打开Bodyslide,找到你的这个替换服装名字,点击建立(build)

最后:进游戏看看效果

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第20张

再补充几点:

        前面我们替换的只是人物穿上的模型,但是在背包里或者掉落物模型还是原版的,那么我们就也把原版服装对应的gnd也替换掉就行了(可以用OS像前面一样创建一个新项目,或者直接把mod服装的gnd拖进meshes文件夹里覆盖掉就行了,如果mod服装没有gnd,那随便一个部件的.nif也是可以用来替换的)

         至于第一人称手模,如果服装mod里也有1stXXXXXXX.nif,那跟gnd一样直接替换掉原版就行了,如果没有那只能将就一下了:)(因为我大部分时间都是第三人称,所以对这个不挑,如果想要的人多我可以试着学一下,重新发个补充贴)

        如果替换完服装后打开游戏直接闪退的话,这是个很正常的事情,我就遇到过两种情况

如何排查闪退:很麻烦但是也很管用,那就是在outfitstudio中一个一个的删部件,刷完bs进游戏。直到删掉哪个部件就不闪退了。一种情况是带发光材质合并完后会导致闪退,我们只要用.nifskope打开他然后删掉发光的材质就行了。另一种情况是某个碰撞箱,我不知道什么原理,删掉它就行了。

【老滚5mod进阶】手把手教你自制原版服装替换(xml物理篇&总结)-第21张

删掉这个BSLightingShaderProperty,一般在下方能看到他的颜色是很亮的

那么我们的教程到这里就结束。

如果有什么这方面的问题想问的可以来找我,或者有什么服装想要合并+替换的,也可以找我试着帮忙,但是鉴于本人还是在读学生,因为时间原因可能不能处理掉所有请求,但是我会记录下来后面再发个补充贴之类的。

点点关注+收藏,说不定你就是下一个mod大神


指路:

准备篇/合并&替换篇上/合并&替换篇下


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com