教你如何导入新的发型至上古卷轴5
首先准备3dsmax和nif插件,还有nifskope。
找到一个发型模型导入到3dsmax中。
接着再导入原版的头部模型,我这里以女性头部模型femalehead.nif为例。记得顺便勾选导入骨骼。
调整新的发型模型,使其各适合天际的头部模型。一般从老滚4里的头发,只要缩放为108%,绝对坐标编移设为:x:0 y:-2.5 z:117.049 即可。
接下来删除头部模型。
选中新发型,打开蒙皮修改器,开始蒙皮。
原版中提供了4个骨骼用来决定头发的动作,不过如果头发比较短,或者为了省事,只要绑定一个NPC Head [Head]骨骼就够了。但要注意,在以后用nifskope复制数据的时候要修改NiTriShapeBSDismemberSkinInstance下的Num Bones为实际用到的骨骼数,Bones下的列表为具体用到的骨骼序号。
先添加骨骼NPC Head [Head],再添加NPC Spine2 [Spn2]脊椎,NPC L Clavicle [LClv]左锁骨和NPC R Clavicle [RClv]右锁骨。
左右锁骨影响跟肩部较近的头发的运动,脊椎影响身后长发的运动,头部Head则影响大部分头发的运动。
完成蒙皮工作。
我这里只用到两个骨骼,NPC Head [Head]和NPC Spine2 [Spn2],像长发这种,如果你偷懒只用一个骨骼会造成头发插入身体的现象。
选择BSDismemberSkin Modifier修改器,选中Torso,单击下面的sel Unused按钮。
导出为nif,注意选项如下设置。
我这里保存为tkwleehair01.nif
做到这里可以关闭3dsmax了。
双开nifskope。准备好原版的头发nif文件一份,分别在两个nifskope窗口里打开。
我这里选用了hair18.nif为例。
ps:如果此处没有勾选Generate Strips则下面就不需要多一步把strip转为shape了。
在tkwleehair01.nif窗口里的NiTriStrips上右击->Mesh->Triangulate,好了,现在NiTriStrips变成NiTriShape了。
点击NiNode,在下方表格的Name上右击选择Edit String Index,输入原nif的名字,这里为Hair18.nif。同样修改NiTriShape上的Name为Hair18。这里如果不修改一致,下面的复制数据是会失败的。
接下来就是复制数据。先在tkwleehair18.nif窗口里选中NiTriShapeData,右击->Block->Copy,再在Hair18.nif中选中NiTriShapeData右击->Block->paste over。
按同样的方法,复制BSDismemberSkinInstance下的NiSkinData和NiSkinPartition。
点中hair18.nif窗口中的BSDismemberSkinInstance项,在下面的表中修改Num Bones为实际使用的骨骼数,这里设为2。
展开Bones列表,在不需要的Bones上把值清掉,然后,在Bones上右击->Array->Update,更新数据。
这里还有一个需要注意的地方,Bones列表里骨骼的顺序要和你蒙皮的时候骨骼的顺序一样!
修改BSLightingShaderProperty下的BSShaderTextureSet下的表项,设置好所用到的贴图的地址。
接下来的一步也很重要,如果想让头发能调整发色,就需要设定NitriShapeData下的has vertex Colors为yes,此外下面的vertex Colors也要详细设定。
保存hair18.nif完成。
hairline18.nif中为发根,修改方法与hair18.nif相同。