Unity3D 學習日記(六) 製作簡單的小地圖
在3D遊戲中常常使用小地圖來顯示自己角色所在的位置,之前專案遇到過用NGUI來製作一個簡單的小地圖的功能,嘗試製作一個簡單的小地圖功能,怎樣豐富小地圖的功能這個就要自己去慢慢摸索咯~
用UGUI製作一個簡單的小地圖的思路有很多,這裡簡單介紹一下思路再大體弄一個小Demo出來。
方法一:
利用兩個攝像機一個為角色的攝像機,另一個作為俯視全地圖的攝像機,然後用RenderTextrue以及RawImage渲染到需要的位置,然後再角色攝像機上方在新增一個3D UI來指示角色所在位置(PS:也可以將指向放到UGUI上去,這種方法就需要將角色轉動的偏向值傳到指向的UI上)。
然後俯視攝像機跟隨角色攝像機移動這樣地圖大體上實現出來了,但是要注意計算攝像機是否到了邊距位置。雖然這種方法很簡單,但是要用到兩個攝像機以及實時渲染這一方面,這樣就要考慮到記憶體問題,KGFMapSystem這個外掛大體上也是用這種方式來製作小地圖的。程式碼就自己去想想怎麼寫吧!大體的設定方向如圖所示:
接下來說一說第二種方法
方法二:
這種方法是不採用兩個攝像機的,直接用一張做好的圖片代替實時渲染的攝像機的圖片,然後通過計算模型與圖片的比例來計算角色攝像機所在地圖位置對映到小地圖上對應的位置,相對第一種方法來說這種方式的小地圖就較為繁瑣。
這裡我們要梳理一下需求:
1、要知道模型以及圖片大小,用來計算比例。
2、通過角色位置,利用模型與圖片的之間的比例,計算指標位置所在位置。
3、角色左右旋轉的角度傳到到UI指標的上來。
大體上也就是這兩個功能,但是也有可能因為小地圖過大需要重新計算它們之間的比例,因此我們根據專案需求來做。
這裡只提供思路,大體上的思路就有這些,由於時間問題我並沒有寫程式碼出來(PS:我也有可能找個時間去寫出來,也有可能不寫~一切看心情來定~)
——Begonia