Related Posts Plugin for WordPress, Blogger...

6-20 Advanced Render System

接著介紹插件『Advanced Render System』。這款插件能將物件的Render壓縮成一張貼圖,依照攝影機的角度模擬真實的3D畫面,可以根據距離決定較近的物件要替換成原本的3D,較遠的物件用一張貼圖代替。效果很真實,看不太出破綻。

以下為原作者提供的教學影片。



接著來試驗看看吧,首先在Tools/NGSTools/AdvancedRenderSystem。

場景中會自動建立GameObject名為AdvancedRenderSystem。

在Inspector視窗中指定Camera為我們遊戲用的Main Camera,然後按下Open Manager Window。

然後可以使用Add Selection將場景中選取起來的物件,加入Advanced Render System中。此處我選擇使用Add Selection As Group,Group的概念是將此3D物件(比如說一棟房屋)一同壓縮成一片貼圖的模樣。

要特別注意的是這個選項Add All Static Objects,使用這個選項有可能把一棟房屋分解成許多細小的部分,然後再壓縮成貼圖,所以反而會大量產生Draw Calll。

按下Show Selected Objects後,可以看見有加入到Advanced Render System中的物件。

實際執行時,離玩家比較遠的物件會如下圖,變成被壓扁的貼圖的模樣。

當主角靠近到特定距離後。

會再替換回正常的3D物件,以免被看出破綻。

接著來進行比較,下圖為開啟Advanced Render System後的效果,可見遠方的村莊幾乎看不出破綻。Batches為99,FPS為47.5,Tris為104.1k。

下圖為未開啟狀態,Batches為115,FPS為49.2,Tris為118.1k。

從上述實驗來看,Batches與Tris都有顯著下降,尤其當村莊的房屋夠多夠大的時候,效能提升的幅度會更明顯。FPS沒有差異太大,應是量不夠多無法引發質變

另外提供上述所說的特殊情形,誤用Add All Static Objects選項時,有可能造成如下情形,房屋被細分成許多塊,導致Batches大量增加到300以上。

正常情形應如下圖,貼圖應為完整的房屋。這部分要特別注意。

留言