MMD模型的退化材质用于游戏。
如果你按照上一篇文章把网格按照材质分开,那么你的材质数就等于网格数。导入Unity后,每个网格都会有一个SkinMeshRender;即使不分离网格,每个材质也意味着至少有一个渲染颜色的DrawCall,甚至可能有更多(比如ShadowCasterPass,DepthOnlyPass等。).
当我们做NPR渲染时,我们还应该考虑每个材质所引用的资源。
等等,总而言之,这么一堆资料不方便,得想办法把资料简化到游戏能用的程度。
MMD模型是最容易得到的,你可以随便找到很多。在这里,我用的是模具屋的原神模型。
原神官方发布的模型,好处是模型的材质和质感已经很工整了。相比之前修改建模过的其他模型,纹理重复,看起来很乱,需要很长时间整理。
我用的版本是Blender2.92,和以前一样用mmd_tools插件。注意改变缩放比例:
正如你在属性编辑器中看到的,这个模型有25种材质。
我打算把模型分成头发+眼睛,脸和身体三个部分。材料过多的危害上面已经提到了,我们之所以不都补一种材料,是因为有些部分的着色模型不一样,我们只是把能统一着色模型的部分放在一起。
因为我们打算分成三种材质,为了方便操作和烘焙,我们先把生成的材质对应的格子分开。
根据前面的提示,选择头发+,头发,头饰,头饰_金属,按p,将选中的物品分开。
同样的,把身体和脸分开。
因为纹理需要重新烘焙,UV需要重新分配,我们需要在原来的UV条件下烘焙,所以需要准备第二套UV。
在属性栏中找到UV贴图并添加UV:
创建一个烘焙目标,我称之为bake_body:
为了验证烘焙结果,复制模型,选择首选节点,Shift+G,选择场景集中的子节点,这样当前节点的所有子节点都可以选择,然后按住Ctrl选择父节点,再Shift+D复制。
点击辛有渠的身体,点亮第二个UV相机:
您可以看到结果是相似的:
如果斗篷丢失,请从材质属性的背面移除它:
上面的小网格小到几乎看不出来,占用的像素很少,渲染结果模糊也不奇怪。这时候就要把模型的UV整理出来了。