Unity3d中使用錄影機制作實時顯示小地圖,以之前的tank為例。開始制作之前場景中物體如圖。

開始制作,步驟1:建立一個camera及一個plane。對齊位置,将camera改名為camera_UI。旋轉plane,使之在camera_UI中顯示為豎直狀态。效果如下圖:
其中,camera_UI及plane設定如圖。position位置,在tank前方并在視野範圍内能看到即可。
步驟2:為場景中物體添加Layer,以保證後面步驟中的camera正确顯示。
分别為terrain及UI。分别選中terrain及UI,調整inspector視窗的Layer,設定terrain的Layer為terrain,plane的Layer為UI。
此時場景中有兩個camera,game視窗中的顯示會出現混亂。那麼此時需要調整camera的Culling Mask。
步驟3:調整camera的Culling Mask。
将tank下面的camera的Culling Mask屬性更改,此時為選中everything狀态,點選UI選項,使其不選中UI。
設定camera_UI的Culling Mask隻選中UI,同時,将camera_UI的Clear Flags改為Don‘t Clear。
此時,即可正确顯示出地形、坦克及plane。plane将用作實時顯示地圖。
步驟4:再建立一個camera,改名為camera_map,此camera将用作顯示地圖的camera。選中camera_map,在inspector中找到Target Texture,此時為空。
在project界面建立一個Render Texture,出現一個New Render Texture。
将New Render Texture賦給camera_map的Target Texture,此時camera_map所照攝到的範圍即New Render Texture的顯示。
步驟5:回到plane,為plane添加一個material,Shader類型為Self—Illumin/VertexLit(即自發光),選擇Base,為Base賦上New Render Texture。
此時,game視窗中顯示如圖:
此時已完成的差不多了,但是發現右上角的小地圖是倒的,對camera_map調節,旋轉使小地圖變成正的。若在運作過程中,小地圖會被樹擋住,則選中Camera_UI調節inspector面闆中Camera下的Clipping Planes的Near屬性即可。
至此,小地圖實時顯示制作完成。
本文轉蓬萊仙羽51CTO部落格,原文連結:http://blog.51cto.com/dingxiaowei/1366152,如需轉載請自行聯系原作者