大型3D遊戲是如何將地圖做得很大卻避免讀條的?
01-15
比如GTA5,刺客信條等。該採用什麼技術才能使地圖能根據角色位置來實時載入?
對於俠客風雲傳和模擬人生4這種俯視視角的遊戲,有什麼方法可以進行優化,使得減少讀條時間,或者去除讀條?模擬人生3沒有讀條,一次載入整個場景,但是遊戲人物太多,性能表現比較糟糕,如何對此進行優化?
1.預載入。2.LOD。
3.緩衝池。
4.動態載入。5.遮擋剔除。。。。馬里奧也不是走到屏幕邊緣才能看到下面的場景啊。
反正就是用另一個線程預載入場景內容就是了。
個人不是學遊戲的對於遊戲引擎不了解,說說思路。
假如 原本是- 一次載入顯示 【一個】 【3*3】的地圖,
- 等玩家走到邊界切換時,再load下一個【3*3】的地圖。
現在改用
- 一次載入顯示【9個】 【1*1】的地圖,
- 等玩家走到旁邊一塊【1*1】的地圖時,在以當前地圖為中心再load 【&< 5個】【1*1】地圖,因為有之前load 的可重用內容,所以第二次必然小於5張,
- load 完成之後再將以玩家心所在位置的【九宮格以外的地圖資源】釋放。
這樣只要玩家移動到邊界的速度小於載入地圖的速度就不會有發覺load過程。
當然立體3D的就不是【九宮格】方式了,而是應該像 【魔方】一下樣,以27為基準。場景之間通過管道連接,當玩家處於管道場景中時,就預載入或緩存前方場景,可以在前後場景中設置重疊場景當做管道,如果下一場景較大,管道就會加長,需要取捨,當玩家處於下一個場景中時,在對上一個場景進行逐步釋放,在遊戲引擎架構這本書中有描述
區塊載入和緩衝,然後限定死你的移動速度
從最早的開發者訪談上來看,山口山是第一批採用分區域載入地形的,打個比方,大地圖是16x16的方格,你人物周圍地形是3x3的方格,當你移動的時候會將你所要去的位置周圍地形載入,而其他地形將會被剔除掉,所以消耗的資源都是3x3的,回去補圖
實時載入必然會卡,這是IO瓶頸!預載入同樣會卡,這是IO瓶頸!
推薦閱讀:
※在Unity 舉行的VISION SUMMIT 2016大會上主要宣布哪些新技術呢?
※未來的手遊行業使用虛幻四引擎會更加有利嗎?
※Unity3D剛體受力情況如何取得?
※如何用unity做出磁體相互吸引和排斥的效果?
※為什麼手游現在普遍是996的工作了呢?