Unity3D如何構造小地圖

第一步 再構造camera和plane,此前已經有一個Maincamera了

那麼這個camera的任務就是爲了將小地圖中在plane中顯示,並且需要調整好

plane在相機中的位置。


第二步:將plane的layer設爲UI,而原來terrain的layer設爲terrain,這樣做的目的是爲了區分開相機所顯示的內容,

可以通過設置相機的顯示層來讓顯示某一層的內容。那麼新建的camera就直接只顯示UI層的內容,而maincamera顯示其它層的。


第三步:在assert窗口中構建新的一個紋理,再新建一個camera,這個camera主要是從場景頂上往下攝像整個場景,

並設置渲染的紋理爲相機的渲染紋理,這樣相機照射到的畫面就畫到了紋理上。


第四步:在第一步構建的pane新的材質,將其渲染方式設置爲自發光,將紋理設置爲新構建的紋理。

那麼第三步構建的camera就可以渲染到材質,也就是在plane中顯示了小地圖。


注意事項:

1.必須現在project 視圖中建立新的資源,才能拖動到hierarch中

2.通過設置相機的深度來使得不同相機的顯示不一樣,使得小地圖不被遮蔽,深度越深越後渲染,就不會被遮擋。


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

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





發佈了60 篇原創文章 · 獲贊 33 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章