关于 Unity 版本升级后可能会引起偶发光照图错乱的问题
近期項(xiàng)目遇到一個(gè)奇怪的問(wèn)題,使用 Unity 2017 版本升級(jí)后,團(tuán)隊(duì)中某些人的機(jī)器光照?qǐng)D總是不正確,而有的人是正確的,一直不知道為什么。
為了查到這個(gè)奇怪問(wèn)題的原因,首先查看了美術(shù)的在 Max 中的導(dǎo)出設(shè)置,雖然不是特別規(guī)范,但也沒(méi)啥特別的問(wèn)題,且聲稱(chēng)以前也是這樣導(dǎo)出,但是沒(méi)有遇到過(guò)這樣的問(wèn)題;然后查看了美術(shù)使用的版本,美術(shù)果然沒(méi)有升級(jí),還是用舊版本的 Unity 生成光照?qǐng)D,然后把相關(guān)的場(chǎng)景資源全部到導(dǎo)出成 Package,然后再導(dǎo)入主干的工程并簽入,那么這個(gè)過(guò)程就比較值得懷疑。
還有一點(diǎn),如果兩臺(tái)機(jī)器的光照?qǐng)D不一致,那么他們的光照?qǐng)D UV 肯定是不一樣的,用肉眼也能看出來(lái)。但是有個(gè)問(wèn)題是我的電腦得下來(lái)總是對(duì)的,想看錯(cuò)誤的復(fù)現(xiàn)也不容易,好在美術(shù)找到了一個(gè)之前的 Package 我導(dǎo)入后如愿出錯(cuò),然后其本機(jī)是正確的,出現(xiàn)了問(wèn)題這樣就比較好查了。于是拿出之前寫(xiě)的一個(gè) 光照?qǐng)D查看工具,在我本機(jī)和美術(shù)的機(jī)器上查看,果然出錯(cuò)模型的光照?qǐng)D的 UV 分布明顯不一致。
后來(lái)終于確認(rèn)原因并且可以復(fù)現(xiàn):Unity 導(dǎo)入模型會(huì)做頂點(diǎn)優(yōu)化,頂點(diǎn)數(shù)并不是和 Max 中一致,重點(diǎn)是不同 Unity 版本即使同一個(gè)模型優(yōu)化過(guò)的頂點(diǎn)數(shù)也不一致(應(yīng)該是算法不同的問(wèn)題),頂點(diǎn)數(shù)不同自然光照?qǐng)D UV 分布生成的也不同。所以比如在 Unity2017.3 中導(dǎo)入一個(gè)模型并生成光照?qǐng)D,導(dǎo)出成 Package 并導(dǎo)入到 Unity2017.4 或者其它版本,會(huì)發(fā)現(xiàn)光照?qǐng)D UV 錯(cuò)亂,因?yàn)橹匦聦?dǎo)入的模型頂點(diǎn)和光照?qǐng)D UV 都不同了。所以同一個(gè) Team 中的美術(shù)同學(xué)一定要和開(kāi)發(fā)人員使用相同版本。
這里有一個(gè)更隱蔽的情況:大家都使用同一個(gè) Unity 版本,但是不同的機(jī)器依然會(huì)出現(xiàn)某些人光照?qǐng)D錯(cuò)亂的問(wèn)題。表現(xiàn)正常的機(jī)器是由于使用低版本的 Unity 烘焙完光照?qǐng)D或者更新了別人烘焙完的光照?qǐng)D后,然后直接用高版本的 Unity 打開(kāi)這樣是不存在問(wèn)題的;如果同一個(gè)項(xiàng)目刪掉 Library 后,再用高版本的 Unity 重新打開(kāi)這時(shí)候就不對(duì)了。究其原因是因?yàn)椴粍h除 Library 升級(jí)項(xiàng)目每個(gè)模型不會(huì)被重新導(dǎo)入,頂點(diǎn)數(shù)維持在老版本導(dǎo)入的結(jié)果,一旦刪除 Unity 就會(huì)重新按照新版本來(lái)導(dǎo)入并生成頂點(diǎn)數(shù),當(dāng)然其實(shí)你在新版本中修改模型的設(shè)置,也會(huì)導(dǎo)致按照新版本來(lái)重新導(dǎo)入模型而發(fā)生光照?qǐng)D錯(cuò)亂。
以上就是所有原因,并可以輕松復(fù)現(xiàn),結(jié)論就是:1.Team 中所有人必須要保證使用同版本的 Unity 開(kāi)發(fā);2.升級(jí)過(guò)程中需要?jiǎng)h除本地的 Library 然后再用新版本 Unity 打開(kāi)。
轉(zhuǎn)載于:https://www.cnblogs.com/yaukey/p/unity_upgrade_lightmap_uv_wrong.html
總結(jié)
以上是生活随笔為你收集整理的关于 Unity 版本升级后可能会引起偶发光照图错乱的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JS的介绍
- 下一篇: PHP 数据库连接池实现(转)