关于3DMAX模型导出到Unity中的模型材质的失真问题 20
为什么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框里就可以了。
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框里就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询