如何在遊戲中模擬一片沙漠?
01-05
據說水面和沙漠的模擬是遊戲設計對技術要求比較高的工作。
像《神秘海域》或是《風之旅人》里的很真實的沙漠是如何模擬出來的呢?這兩個遊戲裡面的沙漠似乎是基於物理模擬的,因為玩家踩在沙子上會凹陷等等,就和現實中的沙漠一樣。模擬一片沙漠需要用到什麼樣的技術或是演算法?
這兩個遊戲裡面的沙漠似乎是基於物理模擬的,因為玩家踩在沙子上會凹陷等等,就和現實中的沙漠一樣。
不是的,只能算是一種視覺特效。
沙漠和其他地表不同的地方在於它的形狀會受風動態地改變,以我所知現時沒有遊戲做到這樣變化。一般遊戲里的沙漠都是採用一般地形的方式建模(通常是高度場)。在渲染效果上需要特別設計的著色器(見 錢康來的回答)。
對於用程序生成沙漠地形的方法,我找到一個 terragen2 的教程 Dunes sandwaves tutorial。
我倒是看過Journey里關於沙子效果的一個slides,渲染效果上可以參考下 http://advances.realtimerendering.com/s2012/thatgamecompany/SandRenderingInJourney_thatgamecompany.pptx
至於你說的踩上去會凹這種交互,我用Bump Map做過一個unity的demo玩過 Unity下帶法向的Bump Mapping
發散思維...還想起一篇是蝙蝠俠里模擬雪地的也挺有名,貌似是關於mipmap來著,等我再找找- -update: 感謝評論區 @Claire的錢包 Deformable Snow Rendering in Batman?: Arkham OriginsJourney 的 sand renderinghttp://www.gdcvault.com/play/1017742/Sand-Rendering-in
不過並沒有說物理
推薦閱讀:
※如何從零開始寫一個簡單的遊戲引擎?
※為什麼遊戲裡面人物的動作那麼的僵硬?
※使一個3D引擎實現基於物理渲染(PBR)的材質的流程是怎樣的?
※MOBA類遊戲是如何解決網路延遲同步的?
※怎麼做硬核用戶方向的單機遊戲媒體?