2024.02.01
网盘链接已补,压缩包解压密码见文件名
目前导入一些没有骨骼的资产小部件会报错(比如弹药、弓矢、建筑模型),正在处理中。
已解决不能导入无骨骼的资产模型的问题,现在所有mod3应该都可以导入导出了。
导出8wt权重还有点问题,正在修复ing。。。
已经修复导出8wt的丢失权重的小问题,如想导入导出8wt权重的网格,请选择后两种权重分割模式。
修复了权重分割模式的代码会跑到标准模式执行的bug。
导出apose的骨架目前会有问题,请默认按照tpose制作mod,目前修复ing。。。
添加了对apose以及其他任何姿态的支持,现在可以使用apose制作mod了。
修复了应用变换后再导出mod3时网格会缩小的问题。
已经更新的内容(2024.02.01):
1.调整导入后的视距,防止三视图时模型破面。
2.导入后自动缩放0.01对齐崛起的骨架(也方便未来和wild的模型互相移植),导出时也自动识别无需放大。
3.修改骨骼名和顶点组名的后缀,从“.”改为“_”,避免同名骨骼id向后排。
有的人可能更喜欢“.”显示,这样骨骼同名时会自动向后排序号,那么想改也很简单, 在插件下图路径中找到这两个文本文档。
然后打开它们,用文档自带的批量搜索替换功能将“bonefunction_”替换为“bonefunction.”即可。
4.增加了自动清除无对应bonefunction id骨骼的子级约束的功能。
MHW MOD3文件的导入导出插件一般是指AsteriskAmpersand编写的插件,做世界的模型类mod肯定离不开它。
但这个插件由于MOD3文件的某些结构限制,在使用时会有一定的麻烦,所以我在原版插件的基础上针对一些麻烦的点进行了魔改,让这个插件变得更为方便,更为直观,下面进行简单说明。
原版插件地址:https://github.com/AsteriskAmpersand/Mod3-MHW-Importer
推荐使用blender版本:3.0(其他新旧版本的兼容性需要自己测试,不推荐2.93或以下版本)
一.
原版:默认按照空物体组导入导出,虽然也可以按照标准骨架导入,但无法导出。这造成了一个blender窗口只能放置一个空物体组,否则其他空物体的名称数字会往后排列,与网格顶点组名称对应不上。
如下图所示,当同时存在一个以上的空物体组时,相同结构的空物体名会往后排列。
魔改版:按照标准骨架导入导出,那么一个blender窗口就可以放置任意多的标准骨架,且不用担心顶点组名与骨骼名不对应。同时导入时模型网格会自动与骨架形成父子级关系,更便于结构展示。
如下图所示,导入时会自动组成父子级结构,且有骨架修改器,姿态模式骨骼可操纵模型网格运动。(仅限standard weight format)
二.
原版:导出时默认读取当前blender场景中的所有对象,如果有多个对象在一个窗口中,而我又不想全部导出,这就会造成一定的麻烦。
如下图所示,即便我什么都不选,而且隐藏了002模型网格,导出时仍然会读取这些模型网格。
魔改版:导出时读取你选中的标准骨架+模型网格,你选哪些就导出哪些,配合第一条可以在一个窗口中放置多个组并分别选中导出。
如下图所示,我只选中了第一个组,那么插件只会导出第一个组。
当然,如果你什么都不选/只选中了模型网格/只选中了标准骨架/选中了超过1个标准骨架,那么插件会自动报错,告诉你必须选中模型网格和一个骨架来导出mod3。
三.
原版:导入时以Bone.xxx来展示空物体/骨骼/顶点组的名称,这些名称顺序仅是对MOD3文件中bone数据项顺序的映射,而bonefunction是另一个重要参数。
这就导致Bone.xxx与bonefunction并不对应,那么当你添加物理骨骼时既要命名Bone.xxx又要修改bonefunction的值,而且对应关系不明确也会造成一定的麻烦。
如下图所示,某根物理骨骼的骨骼id与其bonefunction id并不匹配。
魔改版:导入时以bonefunction.xxx来展示骨骼和顶点组的名称,骨骼名的后缀数字就是该骨骼的bonefunction id,那么不同MOD3文件的骨骼名就可以固定下来,让对应关系一目了然。
如下图所示,骨骼名id即为该骨骼的bonefunction id。
bonefunction id对应的骨骼属性可以在这个链接里查看:https://github.com/Ezekial711/MonsterHunterWorldModding/wiki/3d-Model-Bone-Function-Tables
同时删掉了每个骨骼其自定义属性中的bonefunction属性,减少了修改的麻烦,只需给骨骼按function命名即可,导出时插件会自动识别bonefunction。
另外每个骨骼其自定义属性中的child属性即为原版空物体的子级约束,现在同样直接按照骨骼名后缀进行约束。
如下图所示,14是左大腿骨,child id是18,也就是右大腿骨,两根骨骼呈轴对称。
如果你添加物理骨骼但并不需要为其添加子级约束,那么删掉物理骨骼的child属性即可。
魔改后的好处在于骨骼名可以固定下来了,直接对应bonefunction id,骨骼属性一目了然。
除此之外,我后面还会制作mod作者用批量插件,对于世界来说应当包含批量吸附骨骼位置的功能,尤其对制作mmd模型的mod来说,这个功能可以节省大量的工程时间。
骨骼名固定下来对于插件的编写是非常有利的,如果魔改版插件没什么大问题的话,之后的批量插件也会以这个魔改版的插件为基础进行编写。
不过我个人测试能力有限,还需要更多的测试样本,如果有什么bug或者反馈,可以联系我。
另外mmd专用的CATS插件在3.0版本的blender上,点击fix model功能按钮时会加载相当长的时间(一个1mb的模型加载了1分钟),我也进行了修复,根据模型的大小不同一般是10-20秒左右。修复后的CATS插件我也会放到链接里,以供不是2.93以下版本的作者使用。
若对mod安装和制作有任何疑问,可以加俺滴扣扣群640945651,群里面都是做mod的大佬,一个个说话超好听的,超喜欢在里面的。
mod定制加我扣扣2239389326。