Unity3d升级2017后Lightmap错乱问题

Q:我来分享下Unity项目中可能会引起光照图错乱的问题及其处理方式。

近期项目使用Unity 2017 版本升级后,团队中某些人的机器光照图总是不正确,而有的人是正确的。

我们一开始怀疑模型资源的问题,检查了下资源和导出设置,是有些问题但不是引起错乱的原因,后来看到光照图错乱和正确的机器上,同一个模型的UV确实完全不一样。

后来终于确认原因并且可以复现:Unity导入模型会做顶点优化,顶点数并不是和Max 中一致但是面数绝对一致,重点是不同Unity 版本即使同一个模型优化过的顶点数也不一致(应该是算法不同的问题),顶点数不同自然光照图 UV 分布生成的也不同。所以比如在Unity 2017.3中导入一个模型并生成光照图,导出成Package并导入到 Unity 2017.4或者其它版本,会发现光照图 UV 错乱,因为重新导入的模型顶点和光照图 UV 都不同了。所以同一个团队中的美术同学一定要和开发人员使用相同版本。

这里有一个更隐蔽的情况:大家都使用同一个Unity版本,但是不同的机器依然会出现某些人光照图错乱的问题。表现正常的机器是由于使用低版本的Unity烘焙完光照图或者更新了别人烘焙完的光照图后,然后直接用高版本的Unity 打开这样是不存在问题的;如果同一个项目删掉Library后,再用高版本的 Unity 重新打开这时候就不对了。究其原因是因为不删除Library升级项目每个模型不会被重新导入,顶点数维持在老版本导入的结果,一旦删除Unity就会重新按照新版本来导入并生成顶点数,当然其实你在新版本中修改模型的设置,也会导致按照新版本来重新导入模型而发生光照图错乱。

以上就是所有原因,并可以轻松复现,结论就是:

1)建议团队中所有人使用同版本的Unity开发;

2)升级过程中需要删除本地的 Library 然后再用新版本Unity打开。

3)使用老版本的写的自定义Shader有可能导致阴影显示不出来,可用Legacy Shader/Diffuse替换来测试.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值