绑骨骼教程 | 蒙皮(skin)参考文件
哪些模型需要绑骨?如果只是静态模型,就不需要绑骨骼,如果是人物这种模型,就需要绑骨骼。假如小于10000面的静态模型不需要绑骨骼,大于10000面的模型必须要绑骨骼才会在游戏显示。注意,就算是绑骨骼,帝国3最大能读取7万面模型,大概在72000-74000之间,超过了就会卡死不动。渣配置电脑不推荐使用超过10000面的模型。
【dablive:
2024新增补充 决定版的单个模型面数上限在大概54000左右 超过就会破面 超太多了会无法显示 目前导入正常的模型面数最高可达54178】
绑骨骼与蒙皮有什么区别?没有区别,绑骨骼=蒙皮。
Nepgear.rar
附件的模型是超次元游戏-海王星游戏里面的Planeptune女神候补生涅普姬雅(NepGear),一开始是从别人的博客搬源码过来,用作网站live2d看板娘,后面找了个模型,直接导进游戏了。压缩包附带gr2、xml、wav语音、max、ddt贴图等文件,至于max文件里面骨骼,你可以自行参考里面的权重信息,然后去导入其他模型,仿照这个max对其他模型进行绑骨骼。
不过右手肩膀附近的权重细节一直没搞好,自己看下面的图片吧;感觉不怎么合理,若你很在意,请自行研究并调整。
由于是直接导入SMD文件是附带贴图的,所以要修改贴图文件的话,请按shift+T。目前贴图文件的绝对路径"D:\art\HyperdimensionNeptunia\Nepgear\images\",若你打开max文件看不见贴图,将压缩包里面的文件按照路径放到D盘即可。
省略导入以及添加贴图步骤(请打开压缩包里面的max文件,除了骨骼外全部删掉,然后再导入其他模型)
将模型缩放+移动调整到骨骼合适位置,
点击Edit Envelope,然后选中Vertices就能编辑骨骼权重了
点击Add添加骨骼,具体添加哪些请看下图
选择所有点,默认是勾选Normalize的,建议勾选上,当你修改权重后,会自动纠正权重,例如一个骨骼从0.6变成1,另一个骨骼就会从0.4变成0。(如果怎样改都没变化,解决办法很简单,你全部点选项,然后Bip01 Head全调1.0权重,再选择其他骨骼就能调整了。)
点击扳手按钮能调出权重编辑器,自己体会。
最后就是选中骨骼,分配权重了;具体请参考压缩包中的max模型文件,可以仿照这个模型分配权重。
注:仅供参考。
关于绑骨骼后缩放模型大小:
由于绑定骨骼后,无论你怎样缩放模型还是骨骼,都无法改变游戏中的模型大小,会被帝国3的动作强制缩放回去,这时候你只能创建一个新骨骼作为主xml文件,然后通过attach的形式将模型attach到骨骼中。
1.新建一个3dsmax文件,点击最右边的两个齿轮
然后点击Bones,随便拉一个骨骼
保留Bone01,删掉Bone02
将骨骼缩放成你想要的数值,72就是72%(缩小),200就是200%(放大)
2023.09.10补充:本步骤可以省略,可省略部分已用删除线标出,请直接转到下面导出gr2文件
因为我是模仿大佬的骨骼文件,所以制作了其他几个骨骼,然后将整体位置调整到与模型大小一样(至于是否要这样做,我也不清楚,你可以自己试一下,若不需要请省略此步骤,我懒得自己去测试。)
这个是将模型z缩放到108高度计算出来的结果
----------------------------------------------------------------------------------------------------------------------------
选中所有骨骼,然后按顶部的Group->Group,将模型成组,名称默认Group01就行
设定只影响轴,然后将Group01的轴坐标移动回原点X0 Y0 Z0
2023.09.10补充:可以省略上述删除线内容
导出gr2(建议你先保存模型,因为win10电脑运行3dsmax有bug,点错了就会炸,只能重新画一遍)
双击Meshes,将Bone01的Included取消掉(原本为yes)。然后按Export导出就行。
ATTACHPOINT最后复制一份xml,作为骨骼xml,然后引用单位xml,不过要注意,要将无用的武器附件删掉,如果不删掉会导致攻击时处出现武器。简单来说就是裙子底下出现了一把武器。
压缩包里面Nepgear.xml是骨骼xml,用来调用缩放模型大小的骨骼。Nepgear2.xml是最初的单位xml,用来调用单位模型。
打开Nepgear.xml,你会看见将人物xml定义成附件,就像是骑兵的马将骑手定义成附件那样,然后再将骑手attach上去
<attachment>
RiderAttachment
<include>HyperdimensionNeptunia\Nepgear\Nepgear2.xml</include>
</attachment>
Nepgear.xml调用的gr2是骨骼文件,然后在骨骼那里将人物模型attach上去
<normal>
<assetreference type="GrannyModel">
<file>HyperdimensionNeptunia\Nepgear\boneNepgear</file>
<attach a="LearySparkles" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</assetreference>
<attach a="RiderAttachment" frombone="ATTACHPOINT" tobone="Bone01" syncanims="1"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>HyperdimensionNeptunia\Nepgear\boneNepgear</file>
<attach a="LearySparkles" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</assetreference>
</lowpoly>
最后,这是缩放骨骼的max文件样本:
boneNepgear.max
分割线
这是以前弄的高精度模型视频以及一部分图例,仅供参考:
注意视频里面使用shell,原因是法线问题,导致模型在游戏不显示,所以需要加壳来解决该问题,实际上有更好的办法,建议使用dablive大佬的
反转法线教程。
为什么不推荐用壳?因为壳命令会导致模型面数翻倍,影响游戏运行流畅度。
像这种高精度模型,最麻烦的应该是裙子,然后是肩膀,其他部位动作有断裂缝(例如蹲下时膝盖断裂),还算比较好修复,在断裂缝周围两个骨骼平分一部分权重

红色权重1.0,橙色权重0.5,黄色权重0.25,蓝色0.1