小地圖的基本概念
眾所周知世蔗,小地圖(或雷達)是用于顯示周圍環(huán)境信息的萧锉。首先珊随,小地圖是以主角為中心的。其次柿隙,小地圖上應該用圖標來代替真實的人物模型叶洞,因為小地圖通常很小,玩家可能無法看清真實的模型禀崖。
大多數(shù)小地圖都是圓形的衩辟,所以本文也將創(chuàng)建圓形小地圖。通常小地圖周圍還會有一些按鈕和標簽波附,本文也會介紹艺晴。
創(chuàng)建場景
新建場景,導入Unity Chan模型作為玩家掸屡,導入兩個機器人作為敵人封寞。
游戲視圖
添加一個新的相機。依次點擊菜單項GameObject?-> Camera新建相機并命名為Minimap Camera仅财。然后將該相機設為Unity Chan的子對象狈究,并將其坐標設為Unity Chan上方10個單位,把相機對準Unity Chan模型盏求。
設置Minimap Camera
為了達到更好的效果抖锥,將position設為(0, 10, 0),rotation設為(90, 0, 0)∷榉#現(xiàn)在相機顯示效果如下:
但這還不是小地圖“醴希現(xiàn)在運行場景,你可以看到只有上圖中的內(nèi)容顯示出來魂莫。我們必須把小地圖做成一個UI元素还蹲。
渲染到UI層
這里需要用到Render Texture來實現(xiàn)。依次點擊菜單項Assets -> Create -> Render Texture新建Render Texture并命名為Minimap Render Texture耙考。
選中Minimap Camera后在檢視面板將Target Texture字段設為Minimap Render Texture。
現(xiàn)在運行場景會發(fā)現(xiàn)Minimap Camera中的內(nèi)容不見了潭兽,這是因為它被顯示到了新建的Render Texture中倦始。
下面新建Canvas來添加UI元素。依次點擊菜單項GameObject -> UI -> Canvas來新建Canvas山卦。
這里需要使用Raw Image在Canvas中顯示Render Texture的內(nèi)容鞋邑。依次點擊菜單項GameObject -> UI -> Raw Image新建Raw Image诵次,然后命名為Minimap Image,在檢視面板中將Texture字段設為Minimap Render Texture枚碗。
現(xiàn)在Minimap Camera相機中的內(nèi)容可以作為UI來顯示了逾一!
下面將小地圖變?yōu)閳A形。這里需要用到一張簡單的遮罩紋理:
新建Image并為其添加Mask組件肮雨,將Image的Source Image字段設為上面的遮罩圖片遵堵,并將Minimap Image設為Mask的子對象。
注意:為了達到更好的視覺效果怨规,記得禁用遮罩紋理的Mipmap陌宿。
現(xiàn)在小地圖顯示效果如下:
小地圖的白色背景看起來不太美觀,給它加一個邊框:
為了讓整個小地圖移動起來更方便波丰,新建一個空的GameObject命名為Minimap壳坪,并將所有對象設為Minimap子對象。
最后將小地圖移至屏幕右上角掰烟。
效果不錯吧爽蝴?但這還不是真正意義上的小地圖,只是相機從頂部取景的圖像而已纫骑。接下來通過Layer來做一些設置霜瘪!
設置Layer
這里需要新建一個Layer。依次點擊菜單項Edit -> Project Settings -> Tags and Layers新建Layer命名為Minimap惧磺。
然后新建三個球體颖对。一個設為藍色代表Unity Chan。將該球體設為Unity Chan的子對象磨隘,并將其Layer設為Minimap缤底。
對兩個機器人進行同樣的操作,將球體改為紅色番捂。
現(xiàn)在最關鍵的一步來了个唧!選中Main Camera并確保其Culling Mask中不包括Minimap這一層。
然后選中Minimap Camera讓其Culling Mask只包括Minimap這一層设预。
現(xiàn)在這個小地圖看起來就比較完善了徙歼!
最后步驟
還可以做一些調(diào)整。首先將Minimap Camera的Clear Flags設為Solid Color并將其顏色改為淺灰色鳖枕,以便讓小地圖背景與小球的對比度更強魄梯。
還可以添加一些UI元素來操作小地圖。這里使用標簽作為示例宾符,最后結(jié)果如下:
當角色或機器人移動時酿秸,小地圖上的小球也會即時更新位置。
到此整個制作小地圖的教程就結(jié)束了魏烫,如有任何問題辣苏,歡迎來下方評論區(qū)留言肝箱!
本文來源于:http://blog.theknightsofunity.com ? 作者:Piotr Korzuszek