1. 程式人生 > >Unity3D 學習日記(六) 製作簡單的小地圖

Unity3D 學習日記(六) 製作簡單的小地圖

在3D遊戲中常常使用小地圖來顯示自己角色所在的位置,之前專案遇到過用NGUI來製作一個簡單的小地圖的功能,嘗試製作一個簡單的小地圖功能,怎樣豐富小地圖的功能這個就要自己去慢慢摸索咯~

用UGUI製作一個簡單的小地圖的思路有很多,這裡簡單介紹一下思路再大體弄一個小Demo出來。

方法一:

利用兩個攝像機一個為角色的攝像機,另一個作為俯視全地圖的攝像機,然後用RenderTextrue以及RawImage渲染到需要的位置,然後再角色攝像機上方在新增一個3D UI來指示角色所在位置(PS:也可以將指向放到UGUI上去,這種方法就需要將角色轉動的偏向值傳到指向的UI上)。

然後俯視攝像機跟隨角色攝像機移動這樣地圖大體上實現出來了,但是要注意計算攝像機是否到了邊距位置。雖然這種方法很簡單,但是要用到兩個攝像機以及實時渲染這一方面,這樣就要考慮到記憶體問題,KGFMapSystem這個外掛大體上也是用這種方式來製作小地圖的。程式碼就自己去想想怎麼寫吧!大體的設定方向如圖所示:


接下來說一說第二種方法

方法二:

這種方法是不採用兩個攝像機的,直接用一張做好的圖片代替實時渲染的攝像機的圖片,然後通過計算模型與圖片的比例來計算角色攝像機所在地圖位置對映到小地圖上對應的位置,相對第一種方法來說這種方式的小地圖就較為繁瑣。

這裡我們要梳理一下需求:

1、要知道模型以及圖片大小,用來計算比例。

2、通過角色位置,利用模型與圖片的之間的比例,計算指標位置所在位置。

3、角色左右旋轉的角度傳到到UI指標的上來。

大體上也就是這兩個功能,但是也有可能因為小地圖過大需要重新計算它們之間的比例,因此我們根據專案需求來做。

這裡只提供思路,大體上的思路就有這些,由於時間問題我並沒有寫程式碼出來(PS:我也有可能找個時間去寫出來,也有可能不寫~一切看心情來定~)

                                                                                                                                                                                                                                                                 ——Begonia

相關推薦

Unity3D 學習日記 製作簡單地圖

在3D遊戲中常常使用小地圖來顯示自己角色所在的位置,之前專案遇到過用NGUI來製作一個簡單的小地圖的功能,嘗試製作一個簡單的小地圖功能,怎樣豐富小地圖的功能這個就要自己去慢慢摸索咯~ 用UGUI製作一個簡單的小地圖的思路有很多,這裡簡單介紹一下思路再大體弄一個小Demo出來

Unity3D學習筆記3—— 製作簡單的太陽系

        這次要實現一個簡單的太陽系,太陽本身自帶光源,其他星球圍繞太陽的轉速不一樣(越遠的公轉越慢),且不在一個法平面上。         首先,在場景中建立1個太陽和9大行星,然後將它們分別命名。9大行星的排列順序是:水星、金星、地球、火星、木星、土星、天王星、海

3ds Max學習日記

曲面 try add 紋理 tps air 技術 face 分享圖片 ??到了周六就不想再忙實驗室的活了,於是玩了一下3ds max,第5和第6章每章都只有4個視頻,於是就一起弄完了,什麽網格建模,曲面建模啥的,nurbs啥的。 附上今日的勞動成果: ??叉子(用長方體,選

Unity3D——學習分享遊戲的釋出

前幾節做了一個簡單的立方體旋轉,就以它為例分享下游戲的釋出流程。 1. 遊戲場景做好後,Ctrl+S儲存場景並命名。把場景放在自己建立的Scene資料夾下。 2. 點選選單 File-Bulid Settings 會出現多個釋出平臺,一般釋出在PC平臺,當然如果你要想釋出在其它

python學習日記

        我好像拖得一次比一次嚴重了hhhh,其實這段時間也有學習,只不過很零碎,沒找到完整的時間上來更新學習筆記emmmm。這幾次學的是列表,和c語言的陣列有類似卻又有很大的差別。         

微信程式學習筆記----實現簡單的文章列表圖文列表效果

寫這個之前我在網上搜了一下,想要先找一個合適的樣例對著寫一下,這樣還簡單一些,但是找了找沒有找到我心裡面比較合適的,所以乾脆就直接自己寫一下,沒有做什麼過多的修飾,實現起來還是很簡單的。 首先來上一下效果圖: 基本就是這樣的簡單的圖文效果,程式碼也非常簡單,如果有標題

Unity3D學習日記 EasyMovieTexture視訊播放外掛使用淺談

這些天都在折騰公司的專案開發,這幾天剛好有點空就把前段時間研究的EasyMovieTexture外掛拿來寫寫部落格,這個外掛估計不少人用的挺多的吧。因為Unity3D可以用到移動端的視訊外掛在國內也就是那幾個而已,其中有MMTexture、AVI Player、以及EasyM

Unity3D學習日記貝塞爾曲線

這裡有很多小夥伴可能不知道啥事貝塞爾曲線是啥玩意,如果你用過PS的鋼筆功能就知道這是啥,如果還是不知道這是啥那麼說一個遊戲你就知道了“憤怒的小鳥”這個遊戲用到彈弓效果可以用這個貝塞爾曲線來實現。還不知道的話拿自己去百度谷歌,這個是遊戲很常用到的一個畫曲線的函式方式。 那麼我

MVC學習筆記---遇到的問題匯總

== rtti data- 成功 進行 都是 count htm family 一、MVC中Controller中返回兩個對象的寫法如下: return Json(new { code = 1, msg = "成功", user = user, userInfo = pe

Unity3D之Mecanim動畫系統學習筆記:使用腳本控制動畫

ont nim 復制代碼 info rip esc enter machine images 控制人物動畫播放 這裏我重新弄了一個簡單的場景和新的Animator Controller來作為示例。 下面先看看Animator Controller的配置: 人物在站

Python學習日記5簡單了解叠代器、生成器、裝飾器、上下文管理器

進行 strong 生成器 __next__ 後繼 with while 並且 本質 叠代器 叠代器只不過是一個實現了叠代器協議的容器對象。它基於以下兩個方法。 __ next __:返回容器的下一個元素。 __ iter __:返回叠代器本身。 實際上,叠代器表現了程序底

學習筆記預測貸款使用者是否會逾期資料分析的簡單處理

資料的簡單處理 學習筆記(六)資料分析的簡單處理 特徵工程初步的處理 1. 資料預覽 2. 資料型別的轉化    日期格式資料的處理    無關特徵

Unity3D——學習分享簡單程式碼控制主角移動

簡單的程式碼控制主角的移動 首先先分享個概念,方便大家對移動程式碼的理解 Time.deltaTime 它是系統變數,封裝在Time類中,含義是距離上一幀所經歷的時間(單位為秒)。它不受遊戲幀率的影響,我們有時需要主角移動以秒為單位而不是以幀為單位,乘以Time.deltaTim

Unity3D課程學習筆記

智慧巡邏兵 提交要求: 遊戲設計要求: 建立一個地圖和若干巡邏兵(使用動畫); 每個巡邏兵走一個3~5個邊的凸多邊型,位置資料是相對地址。即每次確定下一個目標位置,用自己當前位置為原點計算; 巡邏兵碰撞到障礙物,則會自動選下一個點為目標;

Linux裝置樹學習日記裝置樹簡單介紹

一、linux裝置樹簡介1.    裝置樹是一種描述硬體的資料結構,它起源於openfirmware,採用裝置樹後,許多硬體的細節可以直接通過它傳遞給linux,而不需要在核心中進行大量冗餘編碼。2.    裝置樹由一系列被命名的節點(Node)和屬性(property)組成

unity3d學習筆記--NGUI製作遊戲介面

本系列文章由Aimar_Johnny編寫,歡迎轉載,轉載請標明出處,謝謝。 http://blog.csdn.net/lzhq1982/article/details/12706199 有關NGUI的介紹我這裡就不多說了,由於unity3d自帶的介面繪製工具GUI效率低下

資料庫系統概論學習筆記:SQL的簡單應用之試檢視

資料邏輯獨立的一種解決方案 —— 檢視 “檢視”,可以視為關係資料庫模式結構中的外模式。其作用主要是: ①、簡化使用者的操作。DBA通過檢視,可以過濾掉與使用者無關的資訊,讓使用者更加專注於其工作的內容。 ②、使使用者能夠以多種角度看待同一資料。這一作

Unity3D C#學習小結[使用TrailRender做漂亮的特效]

      大家都知道在遊戲中很多很炫的技能,人物發出技能後,一道光過去了,是不是很有型?那怎麼做這個特效呢?   1、首先建立一個Sphere,然後選中這個Sphere,然後為它新增Componen

MySQL學習筆記—— MySQL自連接

概念 cor 子查詢 ron 表操作 例子 質量 _id order by 有的時候我們需要對同一表中的數據進行多次檢索,這個時候我們可以使用之前學習過的子查詢,先查詢出需要的數據,再進行一次檢索。 例如:一張products表,有產品id,供應商id(vend_

學習筆記

tde 監聽 文本 ren 頁面 define www 顯示 back BUG集錦:1. storage on 事件監聽必須兩個頁面同時打開,且處於服務器訪問狀態2. submit 和 button 不能套在 a 裏面,否則 submit 事件將消失3. 新建 Object