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