前言
2月主要在推進(jìn)UE與Unity自帶SSAO方案之間的性能和效果差異分析懒浮,只跑到一半,最快也得在3月才能總結(jié)成文识藤,加之春節(jié)長假回老家放浪形貉庵(吃睡躺),實(shí)在是慚愧于沒有什么“長篇大論”值得分享痴昧,倒是年前在幫助某項(xiàng)目組分析升級Unity版本后各種詭異現(xiàn)象時(shí)捕捉到了一個(gè)粒子系統(tǒng)的差異稽穆,可能對某些需要“卡點(diǎn)對齊”的美術(shù)特效有重大影響,故此分享出來赶撰。
問題現(xiàn)象
更新2022版Unity引擎后Timeline播放出現(xiàn)特效播放效果與原版引擎(2021.3)不一致舌镶,從而導(dǎo)致部分Timeline畫面元素間無法按原始需求對齊。
真機(jī)對比表現(xiàn)
2022新版播放raditz@aoyi01_e Timeline豪娜,在第94幀處可得如下播放效果
對比2021舊版同樣位置處的效果(下圖)
分析
通過對特效面片逐幀播放檢查餐胀,發(fā)現(xiàn)在老版本(2021.3.34之前),編輯如下圖Particle System Curves時(shí)瘤载,使用線性節(jié)點(diǎn)(創(chuàng)建節(jié)點(diǎn)時(shí)勾選了面板中的Both Tangents -> Linear選項(xiàng))存著異常否灾。
用2021版引擎實(shí)際運(yùn)行上述粒子系統(tǒng),發(fā)現(xiàn)對Curve的重建結(jié)果存在問題鸣奔,觀察下圖
在預(yù)計(jì)完成縮放的0.09時(shí)間點(diǎn)之后墨技,x縮放仍然在進(jìn)行惩阶!
原因推測
如下圖所示,舊版Unity的Particle System Curves沒有正確使用線性重建算法扣汪,使用了類似貝塞爾曲線的平滑算法實(shí)時(shí)計(jì)算渲染面片的軸向縮放断楷。
該問題在2022.1.0 beta版本中修復(fù),推測可能得修復(fù)日志如下:
結(jié)論
美術(shù)同學(xué)在舊版Unity中基于錯(cuò)誤的粒子系統(tǒng)曲線節(jié)點(diǎn)編輯效果(獲得對齊的畫面)崭别,新版本修復(fù)了原有的重建算法問題脐嫂,使得Linear效果恢復(fù)正確,但是會(huì)導(dǎo)致之前編輯的關(guān)鍵節(jié)點(diǎn)數(shù)據(jù)失效(出現(xiàn)對不齊的情況)紊遵。該問題影響范圍可能涉及全部Particle system。建議的修正方案是排查和重建部分效果錯(cuò)位的特效關(guān)鍵幀數(shù)據(jù)侥蒙。