效果預覽
注:Cube上附着的綠色是我添加的粒子效果。
軟件環境
NGUI 3.9.x
Unity 5.1 x64
相關知識
RenderTexture
RenderTexture是一種特殊的紋理,它是在運行時創建和更新。
文檔:http://www.ceeger.com/Components/class-RenderTexture.html
ScrollView
ngui的一個滑動組件
UITexture
ngui顯示貼圖組件
原理
用一個相機單獨照射3D模型和粒子 ——> 把相機的圖形映射到RenderTexture上 ——> 把RenderTexture的圖形UITexture ——>通過NGUI的Clip對UITexture進行裁剪
步驟
1、創建一個RenderTexture,命名為ModelTexture
2、創建一個新的場景,添加NGUI的2D UI
3、修改場景中的渲染模型的Camera名為:3DCamera,並把ModelTexure賦給它的Target Texture
4、添加模型和粒子,我這兒以原型替代,把它排成一橫排
5、修改3DCamera的size,調整模型根節點的位置,直到Camera中能全部顯示出場景中的模型和粒子,我這兒把3DCamera改為2D鏡頭
6、在UI中創建一個ScrollView和UITexture,UIPanel的的裁剪區域,根據需要調整到合適值。
7、把步驟1創建的ModelTexture,拖給UITexture,並修改Texture的Size為1000x1000,同時給UITexture添加BoxCollider和Drag ScrollView
8、同時修改ModelTexture的size也修改為1000x1000
9、運行,調整視覺效果
整體結構
注意點
根據需要調整RenderTexture的Size和Camera的Size,達到最佳視覺效果。
源碼
附件:http://files.cnblogs.com/files/zhaoqingqing/ClipModel.zip 需要手動導入NGUI3.9.x,基於Unity5.1