Unity 中导入的VRM模型渲染为VRoid风格
按照前篇Unity VRoid+Blender+Unity 3D人物模型导入使用-CSDN博客 导入到Unity之后,可以按需调整模型在场景中的渲染表现, 但是按照教程中完成的情况, 整个模型没有进行材质区分, 仅用一个材质表现整个模型, 导致不能给不同部位进行渲染调整.
这里我希望能够在Unity中获得跟VRoid一致的渲染结果
- 首先是进行模型材质分类
前篇教程中, 在Blender进行材质纹理整合时就可以进行分组, 方式是手动将贴图碎片进行1~4号分组, 因为此导出插件最多只能分4组, 如图位置
然后 Save Atlas to..,成功后会发现材质已经被分4组, 此时再按照前篇教程一样导入FBX格式到Unity中.
- 从VRM模型中提取材质球
Unity中, 点开导入的模型, 可查看模型下Body的信息, 可以发现Indices下有已经分好的4个submeshes. 将模型拖到场景中, 接下来就是制作材质并赋到模型上让其表现得跟VRoid中相似了.
说相似是因为VRoid中是对诸多碎片部位进行材质渲染的,但这里我们只有四个材质球肯定不能覆盖所有的表现. 首先按照前篇教程已经安装好UniVRM插件, 这里使用菜单中VRM0->Import VRM 0.x...导入之前处理的VRM模型作为预制体被生成到资源文件夹中. 将其拖入场景可以看到其已经是渲染后的表现.
点开VRM的预制体, 查看 .Materials 后缀的文件夹(图中1),会展开所有渲染部位的材质球
我们可以根据分组的部位从材质列表中选择对应部位的材质(列如图中2是皮肤的材质),复制一份提供给新的FBX模型, 只需要修改图中4的纹理贴图,换成之前整合的贴图即可. 值得一提的是图中3的着色器是VRoid的卡通风格着色器,非常实用.
- 重复上面的步骤为FBX模型的4组部分选定材质后即可.