unity3d实现场景右下角人物小地图(可显示出地图上人物的位置以及boss或者其他重要坐标的小图标)
看題目就能大概知道這個教程主要說的是什么了。
下面貼幾張效果圖吧。
效果截圖:
可以看到,右下角的小地圖有一個黃色的小點,代表主角的坐標位置,當然你可以換成主角專屬的小圖標,可以更加明顯的看到主角的位置,這些都是可以實現的,我這里由于資源問題我就沒有替換。(boss以及其他的小圖標都可以在小地圖上顯示)
那么接下來就是教程步驟了
1) 新建實驗項目Test01
2) 保存當前場景為Game,File/Save Scene
3) 導入標準資源包。
4) 創建一個Terrain作為地面。(當然你用其他地形或者平面也是可以的)
5) 設置Terrain的紋理和細節。
6) 在場景中一個創建TPSController預制體的實例。(這里的TPSController預制體指的就是主角)
7) 將cameras中的MultipurposeCameraRig預制體拖入場景創建實例。(這里的MultipurposeCameraRig預制體就是一個跟隨主角的攝像機)
8) 在Main Camera中添加子對象,3dGameObject里面的一個plane,用來作為小地圖。
9) 將plane移動并且旋轉,使之在其父對象Main Camera攝像機中豎立起來,并且正面朝向攝像機。
10) 將plane的layer設為UI。
11) 修改plane的父攝像機,在Inspector面板中改變Culling mask為UI,讓其只顯示目前的plane,將clear flags設為Don’t clear。
12) 修改我們的MultipurposeCameraRig中的攝像機,使之Culling mask,不勾選ui,勾選其中,使之看不到plane。
13) 創建一個Render Texture,命名smallmap_tex.
14) 添加一個攝像機,從空中俯視全地形,高度自行設置。
15) 將smallmap_tex拖入該攝像機的Target Texture。
16) 創建新的材質,命名smallmap_mat。
17) 設置Shader類型為Self—Illumin/VertexLit,見圖。
18) 將smallmap_tex拖入該材質base屬性。
19) 將smallmap_mat材質賦給plane。
20) 若在運行過程中,小地圖會地形擋住,則選中其父對象Camera調節inspector面板中Camera下的Clipping Planes的Near屬性即可
如果需要Standard Assets資源包,可以上網找一下資源,應該是有的,實在找不到就私信我找我發網盤鏈接吧。
如果需要添加主角或者boss等小圖標,那么可以在主角下創建一個子物體來存放想要在小地圖顯示的圖片,然后記得記得把尺寸調大,要是太小了小地圖可能會看不到。我這里是直接給了一個發黃色光的圖片來顯示主角的位置,你可以替換成主角的小圖標。實現之后你會發現小地圖中主角的小圖標會跟著主角的移動而移動,旋轉也會跟著旋轉。
總結
以上是生活随笔為你收集整理的unity3d实现场景右下角人物小地图(可显示出地图上人物的位置以及boss或者其他重要坐标的小图标)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习(十四)——scp远程拷贝
- 下一篇: qmake:变量手册