[Unity-14] Unity3d中使用攝像機制作實時顯示小地圖

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屬性即可。

至此,小地圖實時顯示製作完成。


PS:這種方法有一個較大的缺點就是十分消耗資源,所以大部分遊戲都採用畫一張縮略圖然後通過計算位置來實現小地圖。

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