整理 / 王丹
在近日舉辦的 2023 遊戲開發者大會(Game Developers Conference)上,騰訊 AI Lab 發表了題爲《AI Enhanced Procedural City Generation》的演講,提出自研的 3D 虛拟場景自動生成解決方案,幫助遊戲開發者以更低成本創造風格多樣、貼近現實的虛拟城市,提升 3D 虛拟場景的生産效率。
《AI Enhanced Procedural City Generation》效果展示
會上,騰訊展示了使用 AI 從零開始迅速搭建一座 3D 虛拟城市的過程,所建虛拟城市面積達到 25 平方公裏,包含 130 千米路網、 4416 棟建築以及超過 38 萬個室内映射。這樣一座大規模城市的 " 構建 ",過去往往需要多名美術師以年爲單位的時間才能完成,而結合 AI 隻需要數周。
團隊重點分享了城市布局生成、建築外觀生成、室内映射生成三大核心能力,以下爲具體介紹。
01
城市布局生成
城市布局的真實感與多樣化,主要來源于兩方面:道路布局和建築布局。
第一步,創造真實感的道路布局。現實中的城市路網複雜多樣,布局疏密彎曲,且不少城市獨具風格。傳統程序化生成的路網通常橫平豎直、風格單一,要實現不同城市風格必須手動設計和反複修改,耗時至少一周。
騰訊 AI Lab 的解決方案,是讓 AI 學習現實世界路網,再自動創造新道路,不僅生成結果更貼近現實,且操作簡便高效:用戶隻需要輸入城市主幹道和海岸線,模型在 1 分鍾内即可填充合理、多樣的路網細節。同時,工具支持實時修改輸入,快速生成不同變體;也可在生成結果上進行細節微調,得到更符合需求的路網。整個過程僅需不到 30 分鍾,相比手動設計效率提升近 100 倍。
調整輸入(左)快速生成不同路網(右)
具體到技術實現,首先是數據的準備,包括數據的提取、篩選、裁剪及繪制。然後,訓練一個擴散模型來學習這些數據的規律,得到不同城市風格的路網生成模型,最後将該模型嵌入到路網生産管線中。
路網生成模型
第二步,在路網基礎上實現多樣化的建築布局。現有的程序化生成技術,同樣隻能生成風格有限的建築輪廓,且建築排布規律單一,實現多樣性仍要依賴手工設計。
爲解決以上問題,騰訊 AI Lab 基于大量真實建築的輪廓數據及建築排布信息,通過生成技術學習數據中的規律,從而生成大量真實多樣且符合現實世界規律的建築輪廓及建築排布,最後把這些生成的建築單元填充到路網中,從而完成建築布局的制作。以演講展示的 demo 爲例,操作者在路網基礎上,用 10 分鍾就完成了這一過程。
多樣化建築布局
02
建築外觀生成
完成城市布局生成後,下一步是給建築設計獨特的外觀。目前常用的程序化生成管線包含以下步驟:收集圖片、定義建築拆解組合方式、準備 3D 素材庫、參考照片制作獨特建築、已有建築随機組合出更多變體、增加裝飾。其中主要效率瓶頸在于參考照片制作單個獨特建築,所以通常隻會制作少量獨特建築,而依賴随機組合産生的多樣性較爲有限,容易讓生成的場景産生重複感。
騰訊 AI Lab 的解決方案将 AI 與程序化生成結合,加速了 2D 照片到 3D 建築的制作過程,将單個獨特建築的制作時間降低至 17.5 分鍾,使低成本、高效率生成大量多樣化建築外觀成爲可能。同時,借助自研的圖像生成能力,批量生成大量外觀獨特的 2D 建築照片,提升了建築外觀的豐富度。
靜态圖爲 AI 生成的 2D 照片,動态圖爲基于照片生成的 3D 建築
通過單張 2D 照片生成 3D 建築,其難點是對 3D 信息的準确估計。結合建築的結構特點,騰訊 AI Lab 創新地提出合理的先驗假設,有效解決了從 2D 照片提取 3D 信息的難題,較好地實現了從單張照片提取 3D 建築的立面結構和表觀細節(如凸起的陽台、牆面凹凸等)。
從輸入照片中提取建築立面結構和表觀細節
然後,将照片中檢測到的各個單元,如窗戶和陽台,自動映射到預先準備好的 3D 素材,以及将牆面映射到預先準備好的材質。以上提取的信息接入程序化管線即可完成圖片到 3D 建築的生成。
将照片中檢測到的單元映射到 3D 素材
對于圖像中不可見的部分(如房頂)和易遮擋的部分(如底層),騰訊 AI Lab 通過程序化管線補全得到了完整建築。基于以上管線他們制作了 157 棟獨特建築,借助這些豐富的建築立面資産,即可變化出數以千計的建築外觀。
批量生成建築立面
03
室内映射生成
爲了讓城市更具真實感,通常會增加建築窗戶上的室内效果。實現的第一步是構建虛拟房間,騰訊 AI Lab 的方法是将現實中的房間拍照重建。相比于傳統美術建模,可以直接獲取現實房間的豐富内容和細節,提高制作效率。
具體步驟包括,給一個房間拍攝多張連續照片,估計相機位姿,訓練 NeRF 模型,合成新視角圖片作爲後續材質制作的輸入。
室内映射生成步驟
考慮遊戲運行性能,騰訊 AI Lab 基于 NeRF 輸出的給定視角的顔色圖和深度圖,制作内部映射材質實現僞三維效果。相比于業内常見的兩視圖方案(下圖左),騰訊 AI Lab 采用三視圖方案(下圖右),顯著減少渲染效果中的拖影,同時兼顧性能。
最後,用程序化 UV 計算,将這些 " 僞 3D" 房間填充到之前生成好的建築外牆上,城市裏即充滿了各式各樣的房間。
程序化 UV 計算步驟
增加室内映射後的建築效果
基于以上技術,真實感虛拟城市所需要的多樣化城市布局、多風格城市建築等核心要素已基本具備。然後,借助程序化生成,完成路面、植被等标準元素,再把所有元素轉移至遊戲引擎中,增加動态變化天氣、車流與行人等,一個活靈活現的虛拟城市輕松落成。
騰訊 AI Lab 表示,團隊已在 AI 與遊戲應用的結合上取得多項成果,包括運用 AI 進行遊戲平衡性測試、遊戲新手教學、關卡生成等。未來面向遊戲行業,騰訊 AI Lab 将聚焦 AI Bot 與 AIGC 兩大方向,探索 AI 與遊戲産業的深度融合,覆蓋從遊戲研發到運營的全鏈路 AI 解決方案,助力遊戲産業發展。
遊戲葡萄招聘内容編輯,