基于规则的建模

在 CityEngine 中,通过 CGA 规则描述建筑物模型。 CGA 规则文件由定义如何创建实际的建筑物几何的多个规则组成。 将 CGA 规则文件分配给形状后,就可以开始从该形状开始生成建筑物模型。

创建和编写新规则文件

可以通过单击以下命令来创建新的 CGA 形状语法规则文件:

新建... > CityEngine > CGA 规则文件

在工程的 rules/ 目录中创建新的 CGA 文件,然后打开 CGA 编辑器。 在 CGA 编辑器中,可以通过定义建筑物参数来开始语法创作:因此,最小和最大建筑物高度被定义为规则属性。 这些值之后可以在检查器中方便地更改为单个建筑物。

attr minheight = 10
attr maxheight = 30

每个形状(地块或街道形状)都有特定的初始规则,该规则会触发规则文件中的规则。 例如,默认情况下,CityEngine 中生成的地块具有初始规则地块。 选择一个地块并查看检查器以查看当前的初始规则。

所选形状的检查器视图
所选形状的检查器视图。

初始规则定义了从规则集触发的第一条规则。 因此,您可以按照以下步骤编写建筑物的开始规则:

Lot --> extrude ( rand ( minheight, maxheight )) Envelope

地块将被挤压到 minheightmaxheight 之间的任意高度。

注:

CGA 编辑器中按 Ctrl + 空格触发代码完成功能。 可能的命令及其参数将作为建议列出,这样可以更加轻松地使用代码编辑 CGA,无需在参考中查找命令。

分配规则和生成

必须将生成的规则分配给相应的形状(以上的地块示例中):

  1. 场景编辑器中选择地块图层 Lots
  2. 在主菜单中单击形状分配规则文件...
  3. 从规则目录中选择文件 CGA 文件。
  4. 单击确定

    现在,所选地块已分配了规则文件。

  5. 视窗中选择地块。
  6. 在工具条中单击生成以生成建筑物。

    您可以在 CGA 文件中使用简单的拉伸规则在生成的建筑物下方看到偏差。

    生成的拉伸模型
    生成的拉伸模型。