官方AnimationInstancing功能使用小結

AnimationInstancing插件是官方推出用來處理GPU渲染骨骼動畫的一個插件。具體不表。

由於項目需要,目前需要有同屏將近200個單位同時上場戰鬥,每個單位都使用了骨骼動畫。由於傳統的SkinnedMeshrenderer組件是不能合批的。如果使用傳統的方式,勢必會有draw call過高的影響。因此經過評估後,使用官方推出的AnimationInstancing插件。

在使用的過程中,踩了一些坑。

1.在2018.3版本中,如果材質和shader沒有打在同一個AssetBundle中,在手機上會渲染不出物體。究其原因是如果分開打包,shader的GPU Instance會失效。當把材質和Shader打在同一個AB包中時,問題解決。

2.使用插件時出現了所有的戰鬥單位渲染時採用了同樣的一個mesh作爲形象,究其原因是因爲AnimationInstancing是以SkinnedMeshRender組件所在的gameobject的名字作爲一個單位的唯一標識符。而項目中所有單位的skinnedMeshRenderer組件所在的gameobject都是同名的。。因此修改了插件源碼,使用父物體的名稱作爲唯一標識符。該問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章