目前解決方式是用畫二次的做法,在角色的RenderQueue之前直接使用RenderSystem裡的_render函式來進行繪製(記得要透出來的場景遮擋物件,需要在之前就畫好),比較麻煩的是直接使用_render沒辦法自動更新Shader constant,因此手動做Shader Binding,可以參考相關Ogre討論區的的文章…
至於效能部份,雖說是畫二次,但是第一次Render時有做setDepthWriteEnabled(false),所以在沒有擋住時,是不會通過Depth Check,所以應該還好,而動作、Mesh及矩陣都是共用的,所以應該沒什麼影響。
以下是相關測試影片…
相關網站參考資料:
夢想還在持續中…
沒有留言:
張貼留言