整理 / 王丹
在近日举办的 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 只需要数周。
路网生成模型
第二步,在路网基础上实现多样化的建筑布局。现有的程序化生成技术,同样只能生成风格有限的建筑轮廓,且建筑排布规律单一,实现多样性仍要依赖手工设计。
为解决以上问题,腾讯 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" 房间填充到之前生成好的建筑外墙上,城市里即充满了各式各样的房间。
腾讯 AI Lab 表示,团队已在 AI 与游戏应用的结合上取得多项成果,包括运用 AI 进行游戏平衡性测试、游戏新手教学、关卡生成等。未来面向游戏行业,腾讯 AI Lab 将聚焦 AI Bot 与 AIGC 两大方向,探索 AI 与游戏产业的深度融合,覆盖从游戏研发到运营的全链路 AI 解决方案,助力游戏产业发展。 游戏葡萄招聘内容编辑,