关于3DMAX模型导出到Unity中的模型材质的失真问题

为什么3DMAX里面看模型跟动漫一样,导入到unity中却失真了?如下图所示,模型导出来变得很不好看,特别是皮肤,衣服颜色,都变了

首先Unity不支持VRay的材质,所谓材质 = shader(GPU程序)+数据(包括贴图、混合百分比、颜色和各种调节参数),而具体的视觉表现 = 材质 + 光照
Unity 只支持它自己的材质和光照,你也可以自己写 shader 来扩展 Unity 的材质,除非 VRay 的制作商给 Unity 写了 shader,否则 Unity 是不能支持 VRay 的。
但是 VRay 的渲染后效果还是可以在 Unity 里表现的,就是用烘培贴图的方法。
首先备份一份你的 .max 文件。
在工作 .max 里,把模型塌成可编辑多边形,这是为了容易导出 fbx。导入 Unity 最好用标准交换模型 fbx 或 collada(虽然它也支持 .max 但最好不要用)。然后在 Max 里烘培光照贴图(render to texture),这个网上的视频教程很多,你可以把光照(包括阴影在内)全部烘培到漫反射贴图里(另外一种方法烘培一张漫反射贴图 + 一张高光贴图,对应Unity里的漫反射+高光材质)。烘培完先在 Max 里用普通光照和标准材质测试一下(你可以把原来的VRay材质删了,新建个标准材质,把烘培后贴图载入漫反射通道),应该和用VRay的相差不大。然后导出 fbx 和贴图(不用把贴图嵌入 fbx)。

最后把 fbx 和包含光照的漫反射贴图全部导入 Unity 里,Unity 里也用普通的漫反射材质,然后把漫反射贴图拖到给材质的Texture框里就可以了。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答