胎教级别的mod教程

这是一期胎教级别的mod教程

因为是第一次做这种教学,请多担待。这里是pdf版本的下载链接:pdf版。

蓝奏云不支持超100mb的上传,所以没法上传word版本

首先,我们先去下载blender,4.5版本的,因为下面有一个插件不支持5.0及更高的版本(MatCombiner插件),如果你不用mmd模型则可以下载最新版本


我觉得安装应该不用教了吧。。

然后是Paint,net





接着我们去安装ssmt4,这个我会放链接。因为新版本提取方式变了.密码是4pz7

ssmt4

然后我们再去搜索theherta3


点击第一个链接,进入这个界面,然后再点击圈起来的链接


按我的箭头标识来按顺序打开


我们直接下载zip

接着我们再去下载一个mmd-tools


打开这个页面,然后选择获取附加组件,然后选择从磁盘安装



最后下载一个MatCombiner插件




现在你应该已经下完了这些东西了,且blender和ssmt4已经安装了


那么我们来安装插件,首先打开blender


然后插件挨个拖进去即可

然后我们打开xxmi,应该都有吧。。把启用调试打上勾


打开ssmt4,点击efmi将他添加上,然后回到主页面,然后把鼠标移动过去


选择游戏设置


然后对你的路径进行设置





设置完成后,用xxmi来启动游戏

进到游戏后,进入编队界面,因为这里的ib比较少,方便一点。然后按小键盘0进入dump界面,接着按shift+F11获得帧转储数据(好像叫这个名字吧。。)接着你的电脑会卡一下



然后我们打开ssmt4,进入工作台,先点箭头1的地方,自己写一个名字,然后再点2创建工作空间,例如秋栗就写秋栗,当然不写也没什么问题


那么我们就有一个秋栗的工作空间了,接着我们点击使用最新FrameAnalysis文件夹就会自动选择了


回到游戏中

我们按小键盘8来进行ib选择,当选到某一个ib值导致模型消失的时候,那么这个模型的ib值就是他了,这时我们选择小键盘的数字9来复制这个ib值


然后回到ssmt4,DrawIB就是你刚刚复制的值,别名可写可不写,但建议写,以防你不知道这个ib值是什么模型


那接下来就是重复性工作了,因为我个人不喜欢改脸头发以及尾巴,所以我并没有提取这些模型,只提取部分模型来修改

接着我们选择提取模型


回到blender,点击theherta3,再点击ssmt4Alpha测试,再点击一键导入当前工作空间内容



你能看到当前模型已经出来了。然后我们去模之屋去找一个喜欢的模型


下载解压完成后,我们会得到这么一个东西


将我框选的这个拖到blender里面,选择导入模型文件



好了,模型也导入进来了,接下来就是漫长的对齐

将MMD模型通过缩放【S】,移动【G】,旋转【R】,对准游戏内模型的姿态。

对准姿态要求:

1,MMD模型的肩膀与高度要与游戏内模型一致

2,腿部对其游戏内模型

3,胳膊与手指对齐游戏内模型

4,进行移动,缩放,旋转MMD模型的时候,必须是场景合集内点击,不要出现模型动了,但是骨骼留在了原地。

5.两侧对称的模型只需要对准一侧即可,后续会通过插件对齐另一侧。

对齐技巧

进行变换的时候,按下XYZ可以锁定当前轴,双击XYZ可以以法线方向锁定轴

如果不能确定,则选择右上角的透视来进行对齐



肩膀对齐后,再对齐手和脚,姿态模式位置如图,通过移动【G】,缩放【S】,将位置对准。


完成对齐后,鼠标左键拉长选中骨骼,然右键翻转姿态


然后我们回到物体模式,选择模型,选择数据,选择下箭头,然后应用全部




选择修改器,下箭头,选择应用



选中骨骼,Ctrl+A,选择全部变换,然后X删除骨骼,此时mmd模型就会完全固定了



我们只留下模型,另外一个删掉,选择他然后右键删除层级



接着我们选择模型,进入编辑模式右键分离,按材质


我们能看到被分成了很多块模型,我们删除一些不想要的


如果出现这种情况



那么我们进入到编辑模式和透视模式,选择一部分不要的模型,然后按ctrl+l,如果还有不要的就手动选择然后删除即可,为了方便管理,建议建一个集合,把模型放进去




我们回到秋栗的模型,接下来就是删除一些对主体没什么影响的模型,例如

最后的结果和对比

接着我们来分块,因为模型没有头饰,所以我们需要分开,首先进入编辑模式,先将要分开的框选,接着右键拆分,再右键分离,选中项





因为终末地游戏模型的原因,所以接着就是按同样的思路去拆分mmd模型了


因为前面我们拆分了mmd模型来方便删除一些东西,所以我们需要将mmd模型再度合并一个,然后再进行2次拆分,首先全选模型,然后CTRL+J合并模型



二次拆分的结果



接下来就是删除mmd模型的顶点组和修改uv及属性名称


这个是官方模型的uv贴图名称以及属性


这是我们拆分的


你可以发现uv贴图名称以及属性有一些是不一样的,不一样的要改成和游戏模型一样

这是结果


另一个同理

然后我们就来到权重了,首先,皮肤我们官方是多了一块,所以要先把他拆出来



然后选中另外一个,再选中我们对应的mmd模型,因为是教学我就懒得去整那么细致,你们应该懂我意思,最理想的情况是两个模型完全一致,接着我们选择左上角的权重绘制,点击权重,点击传递权重







上面那个选择最近的面插值,下面那个选择按名称

另外两个模型权重传递同理,因为权重有点复杂,所以后面我应该会再出一期来详细说一下,简单的说进入权重模式后,如果看到有奇怪的权重以及一部分在左手,另一部分在右手,那么就要删除掉奇怪的权重,按其他顶点组的权重来删除左手或者右手。0就是完全不控制,1就是完全控制(也就是只要角色动了,就会影响到)。刷权重的时候需要有过度,不能完全刷成一个色

现在我们权重以及顶点组都传递好了,然后我们发现在透视的情况下模型有一些一圈圈的东西,所以我们进入编辑模式,选择圈和他周围的皮肤,右键合并顶点按距离






可以看到圈和上图对比已经没了,接下来就是将mmd贴图合并原始贴图了,打开MatCombiner插件,如图按顺序选择。因为我没有选择手部贴图,所以手需要手动去调整,如果和身体一起导出会出现问题


接着就是进入blender进行贴图调整了,身体如图



手如图:


首先,我们看手上的贴图情况如下


那么我们只需要把原本的贴图全删了,然后把前面的dds贴图放上去缩小对齐即可




同时为了防止模型有色差,我们需要把露出来的皮肤也用这张贴图



然后我这里有一个原来的模型,所以我需要合并他们的uv。打开ssmt4,找到对应模型的名字



下面这个纯数字的选择倒数第2个选项,往下拉能够看到三个标记,如果没有标记则需要你手动标记名称,D开头的是模型贴图,L开头的是光照贴图,N开头的是法线贴图,我们选择应用标记,再生成风格贴图





我们把贴图和我们mmd贴图合并到一块,然后同理



现在4个模型的uv均是同一张。


下一步为:将模型名字修改一下,例如图中,原来模型的名称为809f7872-114840-0.身体,那我们自己替换的模型也要改成一样的名字,后缀会自动生成,你要记住你自己的模型名字,不然导出错了就要重新导一遍





皮肤同理




接着发现,脖子有缝隙,我们选择模型身体,进入编辑模式,选取上面一块。按o进入衰减编辑,按G的同时向前滚动你的鼠标滚轮,然后你就能看到一个圈,缩小到一定程度后再移动









ok了,现在我们进入蓝图界面,然后缩小他,接着全选你要导出的模型(哪怕是不需要的官方模型也要导出,例如我这里有一个不要的装饰,因为ssmt的原理,他只会修改你导出的模型,也就是如果你不导出他就是默认,如果你选择导出,那么可以有一些小手段来直接屏蔽掉他)。右键ssmt蓝图架构,添加到主节点







这时候我们看到的应该是这个样子的


这里需要选择添加雨水效果vb3


接着我们右键,添加,高级功能,跨ib节点

我来详细讲一下这个怎么用,首先,我们有一个身体,一个皮肤的模型对吧?跨ib节点就是把身体跨ib到皮肤上,终末地的mod如果不跨ib就会出现一些奇怪的油光,当然,如果你很强,说我直接在皮肤上建模,我的皮肤就是身体,并且把权重什么的重刷一遍,那就可以省去这个步骤了。我这里的皮肤特指暴露在外的.我们需要把身体和皮肤都连接到跨ib上面。源填写你要跨ib的模型中间的那串数字,目标就是皮肤模型中间那串数字





然后回到我前面说的有一个不要的装饰,右键新建一个toggle key,把默认开启关掉即可。如果你要做很多个切换,那么我建议你用另一个方法,等会我会说。然后导出mod












ok,现在导出了。我们新建一个文件夹,取名字为Texture,接着把前面的那三张贴图扔进去,如图




接着我们打开前面制作的那一张贴图把模型贴图覆盖掉,选BC7(SRGB,DX11+)




接着,我们打开另外两张贴图,将他们改为纯色,保存覆盖,这两张图片的格式要选BC7(线性,DX11+)




接下来就是改名字,我个人习惯这样改了



下面的操作均需要RabbitFX,香蕉网可以下载

接着打开秋栗的ini,在最底下加上

[Resource- Skin -NormalMap]

filename = Texture\Skin-NormalMap.dds

[Resource-Skin-DiffuseMap]

filename = Texture\Skin-DiffuseMap.dds

[Resource-Skin-LightMap]

filename = Texture\Skin-LightMap.dds


往上面拉,因为前面跨了ib,所以用的是最后跨ib的地方的贴图。我是身体002跨到了皮肤上,所以身体用的是皮肤的贴图。因为皮肤没有光照贴图,所以不需要引用光照贴图,在对应位置加上下面的代码

Resource\RabbitFx\Diffuse = ref Resource-Skin-DiffuseMap

Resource\RabbitFx\NormalMap = ref Resource-Skin-NormalMap

run = CommandList\RabbitFx\SetTextures


最后我们再去找身体001,因为身体001没有跨ib,所以需要在他的位置也加上贴图引用



保存即可。如果你的贴图名字不一样,那就去修改


例如Texture里的贴图名字为:Skirt-XXXXMap的,那就要改为


[Resource- Skirt -NormalMap]

filename = Texture\Skirt-NormalMap.dds

[Resource-Skirt-DiffuseMap]

filename = Texture\Skirt-DiffuseMap.dds

[Resource-Skirt-LightMap]

filename = Texture\Skirt-LightMap.dds

和上面的

Resource\RabbitFx\Diffuse = ref Resource- Skirt -DiffuseMap

Resource\RabbitFx\LightMap = ref Resource- Skirt-LightMap

Resource\RabbitFx\NormalMap = ref Resource-Skirt -NormalMap

run = CommandList\RabbitFx\SetTexture。就可以了,最后看一下成品


说到屏蔽方式的第二种

; *** 新增:屏蔽 IB af7cb109 的装饰 ***

; 根据日志,该装饰的索引数量为 14958

[TextureOverride_af7cb109_14958_0]

hash = af7cb109

match_first_index = 0

match_index_count = 14958

handling = skip

match_priority = 9999   ; 强制优先处理,避免被其他节覆盖

这是洛茜的,洛茜的披风上的装饰ib为:af7cb109,索引为:14958。

所以同理,如果我要屏蔽掉29f01156-315-0.装饰

就修改为:

[TextureOverride_29f01156_315_0]

hash = 29f01156

match_first_index = 0

match_index_count = 315

handling = skip

match_priority = 9999 

如果不行,那问一下ai吧,或者按第一种方法来。问就是我菜

代码放的位置如图



最后,关于为什么不是主控距离远一点就会失效的问题,这需要你去做lod的mod,也就是要做两个(或者你等theherta4做完吧,theherta4只需要做一个mod就可以了),推荐进入金币副本或者技能材料本去获取对应的ib值,相对较少,如果发现有更合适的地方希望可以分享一下(群友告诉我葫芦洞ib更少,我懒得再去截图了,边敲边做花了大半天时间手都要残了)




by remake · 来自踩蘑菇PC端 更新于 2026-04-21
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新
1