The versatility of the CGA Rules and the fact that every detail can be processed by hand makes CityEngine a rapid and effective tool for game development.
成功案例
损毁的城市
项目目标:程序化游戏关卡设计
Christian Holzer 为了演示其论文围绕计算机游戏中建筑物程序化生成的实际应用,他和一个由五位学生组成的团队决定开发一个 3D 动作角色扮演计算机游戏。 在项目过程中,他们很快意识到,他们想要创建一个阴郁的后世界末日中欧城市环境作为主要游戏关卡。 他们设置了以下生成要求:
- 由于团队规模较小,因此必须在有限的时间内对整个城市环境进行建模
- 损毁的建筑物以及损毁资产的批量分发
- 保持在有限的面预算内
解决方案:使用 CityEngine 进行过程建模
显然,Holzer 和他的团队想要实现的特定环境需要一个大型中欧城市,短时间内可在该城市中创建的面数较少。 此外,他们需要采用一种有效的方式对损毁进行建模,因为如果不是全部损毁,则超过 60% 的城市应该显示部分损毁。 Holzer 能够以某种方式使用 CGA 形状语法,通过这种方式,他能够按程序实施建筑物损毁。
“在为房屋和公园创建规则之前,我们只是对块进行拉伸以研究架构的效果。 对于我们的项目,重要的是在狭窄的街道区域以及开放的空间或公园之间设计一个良好的平衡。 玩家应具有自由探索整个游戏关卡的能力;但仍需要具有街道、街区和重要建筑物的特殊布局,以引导您进入更具竞争性的游戏区域。 CGA 规则非常多样化,不仅用于生成建筑物和街道,而且还用于植被随机分布的样本公园。 虽然经过的练习较少,但是节省的时间将变得非常明显,尤其是与其他方法相比更是如此。”
应用的生产工作流
在由五位开发人员组成的团队中,Christian Holzer 是首席关卡和环境艺术家。 他使用了 CityEngine 和 CGA 规则对建筑物、公园和街道进行过程建模,并分发其余模型。 将使用 Autodesk® Maya® 来创建所有游戏资产并使其具有纹理特征。 其工作流如下所示:
- 在 Adobe® Illustrator® 中创建了基础建筑物和街道布局的概念图,其中包含街道作为矢量路径。
- 已将街道矢量导入到 CityEngine 中并将其用作主要街道网络,然后使用街道和地块编辑工具来生成较小的道路和分区。
- 加载了障碍物地图以分配无法行走的区域
- 可以使用 CGA 规则生成建筑物和街道,例如根据街道长度改变街道纹理。
- 随机自动分配路灯垃圾桶和其他资产。
- 使用“按材料合并”从 CityEngine 以 FBX® 格式导出的城市模型。 将模型导入到 Maya® 中以进行微调(请参见图片)。
CityEngine 用于生成整个游戏关卡以及分配所有资产。 还使用了在 CityEngine 中编写的 CGA 规则实施建筑物的参数损毁。 最后,从 Maya® 中导出了最终游戏关卡,以与 Ogre3D-Engine 配合使用。
制作概况
- 使用的软件:CityEngine®、Maya®、Photoshop®
- 全部包含在内的程序化制作时间:200 人/小时
- CityEngine 中整个区域的程序化生成时间:~25 秒
- 按程序生成的面积:10km2
- 最终生成的程序化面的总数:300K
- terrain 中建筑物和单个要素的数量:~50
制作者名单
程序化建模:Christian Holzer
团队:Stefan Grassberger、Ivo Brunnbauer、Lukas Meindl、Nico Harather 和 Christian Holzer
项目:Bachelor Thesis、Dark Realm Game、FH Hagenberg