1正文
近日看到一個ue4城市生成外掛,而自己曾經做過類似的東西,正好輪到我發文,就正好聊聊我的一些想法和思考。
2城市生成工具現狀
目前的市場來看,移動遊戲市場必然不可能放棄,大規模現代城市場景對移動平臺的效能壓力很大,考慮到移動平臺的硬體限制,城市規模一般都很小,差不多控制在10平方公里左右。
在如此小規模的場景中要表現出大城市的視覺效果,必然需要種種特殊的規劃設計,因此城市佈局多是需要策劃詳細設定,所以一般來說現在遊戲專案主要圍繞著單體建築做文章,最需要的是建築編輯器。
以育碧為代表的現代遊戲工作室往往都在建築生成編輯上做了很多工作,常規流程是先在引擎中透過曲線工具製作出符合概念設計或者策劃需求的建築白盒,然後透過預製配置表替換為單獨的模組,接著進行場景拆分,模組合併,生成HLod等一整套操作。以現有資訊來看基本都是這個流程,沒看見使用退火模擬,機器學習,波函式之類的騷操作。可以從影片中看到這個外掛也是按照這個基本流程來做。
確定街道佈局
生成建築白盒
單體建築透過預製件配置替換為模組拼接
生成整體建築
有幸見識過某廠內部引擎的建築生成編輯工具,確實很完善,不愧是業內先驅。例如建築白盒這一階段就採用了曲線拼接的方式,對異形建築的支援就很好。
到這建築工具就算完成了?當然沒有這麼簡單。
後續根據需求還需要執行室內外場景的拆分,室內外模組的合併,室內外佈局載入解除安裝的策略,異形建築的支援,地塊切分,道路分割等等非常多的功能。
整體來講這就是城市生成或者說是建築生成工具在現有實際遊戲中的應用,經受了多個專案的考驗,幾乎是城市建築的最主流的做法。
3GPU版城市生成工具
我本科就和建築相關,很早就在做建築生成之類的東西,在引擎中實現過類似影片中的編輯生成功能,也用過houdini生成過一些建築,但一直比較喜歡cityengine,也嘗試在ue4中實現過類似的功能。
最終我的開發方向轉為製作gpu版的城市生成工具。核心思路是透過gpu幾何分割形成建築街區,然後解析類似cga的形式語法以實現高速並行生成城市。與上文常規流程有些許不同,白盒與最終模型都是同類建築的不同描述模式,沒有所謂的切分替換。
之所以採用文字式而不是節點式的生成方案,是因為文字式更容易抽象,提取規則,當面對遠大於10平方公里的城市生成以及風格更多樣的建築時優勢明顯。而恰如前文所說,一般現有專案城市面積也就10平方公里左右,所以這個gpu城市生成工具的開發和之前的gpu植被工具一樣純屬自嗨,其實我還一直在做gpu地形生成工具呢,堅持將自嗨貫徹到底!奧力給!!
4總結
我之前寫過文章聊了聊對虛擬世界,ugc生成的一些看法。現代人多數生成在城市中,那麼未來的虛擬世界中必然少不了城市,以ugc的形式編輯生成虛擬城市的計算量是非常大的,這時需要極大的加速生成編輯的速度,以保證面向ugc平臺的執行時效率。所以我個人認為利用gpu的並行能力完成海量建築道路的更新生成才是未來的發展方向。
猜你喜歡
- 2021-12-13北京四合院見證歷史變遷,也是專屬於北京城的市井民居
- 2021-12-12歷史記憶,走進中國最著名的十座博物館
- 2021-06-05金枝玉葉這樣養,葉片翠綠玲瓏,枝幹蒼勁古樸,一年養成盆景老樁
- 2021-04-24網友用AI創作從零開始真人版,我個人感覺挺醜的,有點毀動漫
- 2021-04-13發現一種猴子已學會使用石器,這能代表它們進入“石器時代”了嗎