大型3D遊戲是如何將地圖做得很大卻避免讀條的?

比如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的工作了呢?

TAG:遊戲開發 | 單機遊戲 | Unity遊戲引擎 | CC | 虛幻引擎 |