天天看點

[Unity3d]使用錄影機制作實時顯示小地圖

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

[Unity3d]使用錄影機制作實時顯示小地圖

開始制作,步驟1:建立一個camera及一個plane。對齊位置,将camera改名為camera_UI。旋轉plane,使之在camera_UI中顯示為豎直狀态。效果如下圖:

[Unity3d]使用錄影機制作實時顯示小地圖

其中,camera_UI及plane設定如圖。position位置,在tank前方并在視野範圍内能看到即可。

步驟2:為場景中物體添加Layer,以保證後面步驟中的camera正确顯示。

分别為terrain及UI。分别選中terrain及UI,調整inspector視窗的Layer,設定terrain的Layer為terrain,plane的Layer為UI。

[Unity3d]使用錄影機制作實時顯示小地圖
[Unity3d]使用錄影機制作實時顯示小地圖

此時場景中有兩個camera,game視窗中的顯示會出現混亂。那麼此時需要調整camera的Culling Mask。

步驟3:調整camera的Culling Mask。

将tank下面的camera的Culling Mask屬性更改,此時為選中everything狀态,點選UI選項,使其不選中UI。

[Unity3d]使用錄影機制作實時顯示小地圖

設定camera_UI的Culling Mask隻選中UI,同時,将camera_UI的Clear Flags改為Don‘t Clear。

[Unity3d]使用錄影機制作實時顯示小地圖

此時,即可正确顯示出地形、坦克及plane。plane将用作實時顯示地圖。

步驟4:再建立一個camera,改名為camera_map,此camera将用作顯示地圖的camera。選中camera_map,在inspector中找到Target Texture,此時為空。

在project界面建立一個Render Texture,出現一個New Render Texture。

[Unity3d]使用錄影機制作實時顯示小地圖

将New Render Texture賦給camera_map的Target Texture,此時camera_map所照攝到的範圍即New Render Texture的顯示。

[Unity3d]使用錄影機制作實時顯示小地圖
[Unity3d]使用錄影機制作實時顯示小地圖

步驟5:回到plane,為plane添加一個material,Shader類型為Self—Illumin/VertexLit(即自發光),選擇Base,為Base賦上New Render Texture。

[Unity3d]使用錄影機制作實時顯示小地圖

此時,game視窗中顯示如圖:

[Unity3d]使用錄影機制作實時顯示小地圖

此時已完成的差不多了,但是發現右上角的小地圖是倒的,對camera_map調節,旋轉使小地圖變成正的。若在運作過程中,小地圖會被樹擋住,則選中Camera_UI調節inspector面闆中Camera下的Clipping Planes的Near屬性即可。

[Unity3d]使用錄影機制作實時顯示小地圖

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

本文轉蓬萊仙羽51CTO部落格,原文連結:http://blog.51cto.com/dingxiaowei/1366152,如需轉載請自行聯系原作者

繼續閱讀