首页 > 编程语言 > 解决unity3d导入模型贴图材质丢失的问题
2021
04-27

解决unity3d导入模型贴图材质丢失的问题

今天导入了一个模型,但是模型贴图丢失了,而且Inspector面板中处于不能编辑的状态

虽然可以通过重新创建材质来替换,但是这样会生成一个新的prefab,觉得不太好 做出如下更改,将对应材质填入即可

补充:Unity光照贴图丢失的坑

最近项目出版本的时候出现了部分建筑光照贴图不正常的情况,而且仅仅是部分模型,这部分模型都是有多个场景会用到的,所以都是单独出来打包的。

然后以为是模型上面的光照信息丢失了,通过测试,并没有丢失,可以通过获取模型上的MeshFilter打印出来,部分丢失的话,也与光照贴图没有关系,只可能是模型的UV2通道里面烘焙的数据错了,或者是模型通过依赖打包的Unity做了什么操作把依赖的模型的UV2通道删除了,后来问了下群里的小伙伴,有人说可能是

这个选项的锅,然后我把这个选项勾选掉之后光照就正常了,这个选项会把材质中没有用到的UV,Normal等通道自动的在打包的时候剔除,猜测可能是Unity认为被单独打包的模型没有用到UV2,就自动剔除了,没有管这个模型是否会在场景中使用,所以在打包的时候,当场景通过依赖进行合并模型时,这时候加载进来的单独打包的模型实际上他的UV2通道已经被剔除了,所以导致光照丢失。

大家可以在自己的项目中尽量不要勾选这个选项,据说会导致很多问题,还是自己手动剔除好点。

解决方法:

方法1: 取消勾选这个选项,这会导致包体变大60M。

方法2: 在模型导入的时候自动把模型的UV3,UV4,Tangent,等剔除。需要美术在MAX中提前生成UV2通道。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。

编程技巧