添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

要访问 ArcGIS CityEngine 中的教程工程,请打开 CityEngine ,然后在主菜单中单击 帮助 > 下载教程和示例 。 在选择教程或示例后,系统会自动下载工程并将其添加到 CityEngine 工作空间。

具有随机高度值的建筑物

在此教程中,您将了解使用 CityEngine 时所需的必备技能,例如创建场景、选择对象和编辑规则。

创建工程

首先,您将创建 CityEngine 工程。

  1. 单击 文件 > 新建 > CityEngine > CityEngine 工程 以打开 选择向导 对话框。

    新建工程

  2. 单击 下一步
  3. 工程名称 框中,输入 MyFirstCity

    工程名称 MyFirstCity。

  4. 单击 完成

    MyFirstCity 工程在 导航器 中创建。

    导航器中的 MyFirstCity

创建场景

接下来,您将创建场景。

  1. 单击 文件 > 新建 > CityEngine > CityEngine 场景 或右键单击 /MyFirstCity/scenes 文件夹,然后选择 新建 > CityEngine 场景 以再次打开 选择向导 对话框。

    新建 CityEngine 场景

  2. 单击 下一步
  3. 文件名称 框中,输入 myFirstCity_01.cej

    场景名称 MyFirstCity_01.cej

  4. 保持 坐标系 为空。

    有关坐标系的详细信息,请参阅 地理配准

  5. 单击 完成

    随即在 /MyFirstCity/scenes 文件夹中创建 MyFirstCity_01.cej 场景。

    导航器中的 MyFirstCity_01.cej

复制规则和资产

现在,您要从下载的 Tutorial_01_Essential_Skills 工程将文件复制到 MyFirstCity 工程。

  1. 导航器 中展开 Tutorial_01_Essential_Skills 教程文件夹。
  2. 选择 rules 文件夹中的内容然后按 Ctrl+C 或右键单击并选择 复制 来复制内容。

    从教程文件夹复制的规则

  3. 单击 /MyFirstCity/rules 文件夹,然后按 Ctrl+V 或右键单击并选择 粘贴 以将内容粘贴至 rules 文件夹。

    在 MyFirstCity 中粘贴文件

  4. /Tutorial_01_Essential_Skills/assets 文件夹重复相同的步骤。

    MyFirstCity 工程中的 assets rules 文件夹现在包含所需的 Tutorial_1_Essential_Skills 内容。

创建您的第一个街道布局

设置新的工程和场景后,您即可创建第一个街道布局。 要了解有关街道的更多信息,请参阅 图形

要创建街道网络,请执行以下操作:

  1. 单击 视窗 ,以使其成为活动窗口。
  2. 单击 图形 > 生成街道 以打开 生成街道 对话框。

    “生成街道”基本设置对话框

  3. 保留默认设置,然后单击 应用
  4. 单击 关闭 以关闭对话框。

    现在,您已创建约 500 个街道。

  5. A 或单击 CityEngine 工具栏中的 框选视窗 工具 框选视窗 以将街道框选在 视窗 中。

    所生成街道的视窗透视图显示

  6. 场景编辑器 中单击新的 Streetnetwork 图层以展开图层。

    Streetnetwork 图层包含一个具有块、图形段和形状的网络。

    Streetnetwork 图层已展开的场景编辑器

    Tutorial_01_Essential_Skills 工程文件夹中,打开 Essential_Skills_Part_2.cej 场景以查看完成的示例。

探索 CityEngine 导航

在本部分中,您将了解如何在 CityEngine 中导航,包括平移、旋转和缩放。

要在 CityEngine 中导航,可以使用以下操作:

翻转或旋转场景。

  • 单击 翻转/旋转 工具 旋转
  • Alt + 单击

向左、向右、向上或向下移动视图。

  • 单击 平移/追踪 工具 平移
  • Alt + 单击滚轮按钮
  • 箭头键

朝向或远离感兴趣点推动/缩放相机。

  • 单击 推动/缩放 工具 缩放
  • 按 Alt 并右键单击。

从当前相机位置旋转视图。 此操作有助于创建 360 VR 导出的书签

  • 单击 环视 工具 环视
  • B + 单击

有关完整操作的列表以及如何更改鼠标和导航设置,请参阅 3D 导航基础知识

选择对象

您可以使用 选择 工具 选择工具 以选择和编辑场景中的对象并与之交互。 单击 选择 工具 “选择”工具 ( Q )。 您也可以在 CityEngine 主菜单中单击 选择 > 选择工具 以打开该工具。

使用下表中的选择操作:

单击

选择单个对象。 在一个已经选中的对象上选择组件(面、边或折点)。

双击

选择并框住单个对象。

从左到右选择矩形

选择对象或组件, 这些对象完全位于所选矩形中。 地图图层不会添加到选择中。

从右到左选择矩形

选择与选择矩形相交的对象。 地图图层不会添加到选择中。

注:
  • 当有许多对象占据相同的空间时,从左到右的选择通常用于选择微小的对象,例如单个街道图形节点。
  • 使用 F9 F12 键打开或关闭 地图图层 的可见性, 图形段 形状 模型 。 当您取消激活其他对象类型的可见性时,将有助于正确选择。

选择对象后,您可以右键单击并显示快捷菜单:

选择快捷菜单

适应 (F)

框选选择内容(如果所选内容为空,则框选整个场景)。

选择同一图层中的对象

将选择相同的一个或多个图层中的所有对象。

选择具有相同规则文件的对象

选择已分配源选择中存在的规则文件的所有对象。

选择具有相同初始规则的对象

选择源选择中存在的具有初始规则的所有对象。

生成包含规则的模型

CityEngine 是一个程序化建模应用程序,并且使用 CGA 规则 。 计算机生成建筑 (CGA) 是用于生成建筑 3D 内容的唯一的编程语言。 在以下部分中,您将了解如何使用 CGA 规则生成模型。

模型生成图

  1. 视窗 中,选择一个块。

    检查器 块参数 中, Subdivision Type 属性已设置为 Recursive Subdivision

    检查器的“块参数”对话框

  2. 单击 Subdivision Type 属性下拉菜单并将其更改为 Offset Subdivision

    更改为“偏移细分”

    有块细分和动态城市布局的详细信息,请参阅 教程 2:地形和动态城市布局

  3. 选择一个块内的形状。
  4. 单击主菜单中的 选择 > 选择同一组对象

    块中的形状已选中

  5. building.cga 规则文件拖动到所选形状上的 rules 文件夹中。

    分配规则文件

    将规则文件放置到形状上后,将应用规则,模型将自动生成。

    形状上的规则应用后所生成建筑物的视窗透视图显示

    可见性设置 可见性设置 下,通过单击 模型 按钮或按 F12 以确保模型可见。

    模型可见性

  6. 删除一个模型,并将其添加回场景。
    1. 选择一个建筑物,然后按 删除 或右键单击并选择 删除

      此操作将移除模型。

      已移除建筑物

    2. 再次选择覆盖区形状,然后单击工具栏上的 生成 工具 生成 ( Ctrl+G ) 以再次根据覆盖区生成建筑物。
  7. 要查看建筑物高度的变化,请单击 更新种子 工具 更新种子 ( Ctrl+Shift+G ) 以更改种子值。

    下图显示了具有不同高度种子值的建筑物:

    不同高度种子值的示例

  8. 检查器 中,将 高度 属性更改为 60
    检查器规则高度参数已设置为 60

    当您手动更改 检查器 中的属性时,属性将高亮显示并覆盖 CGA 规则中的定义。

  9. 要重置 building.cga 规则的属性,在 检查器 中将鼠标悬停在任意属性上,然后右键单击并选择 重置用户属性

    重置用户属性

    打开 Essential_Skills_Part_4.cej 场景以查看完成的示例。

编辑规则

CGA 编辑器 是一个工具,用于创建和修改从现代到当代、从古代到未来的所有城市类型的 3D 模型。 接下来,您将浏览 buidling.cga 规则。

  1. 要在 CGA 编辑器 中打开 building.cga 规则,在 导航器 中右键单击 CGA 规则文件或单击 检查器 中的 规则文件 链接。
    检查器调整规则文件 building.cga

    building.cga 规则将在 CGA 编辑器 中打开。

    规则编辑器中的 Building.cga 规则

  2. 检查 building.cga 规则。

    height 属性已定义为 15 到 25 之间的随机值。

    attr height = rand(15,25)

    在下方示例中,建筑物的随机高度值为 18.35。

    随机高度值为 18.35 的建筑物

    注:

    由于 building.cga 规则会生成一个随机值,因此在您的场景中可能有所不同。

  3. 将随机高度最终值更改为 80
    attr height = rand(15,80)

    height 属性现定义为 15 到 80 之间的随机值。

    1. Ctrl+S 或右键单击规则文件,然后选择 保存 以保存编辑的规则。
    2. 通过单击 更新种子 工具 更新种子 ( Ctrl+Shift+G ) 重新生成建筑物。
      随机高度值为 56.79 的建筑物

      建筑物现在的随机高度值为 56.79。

      注:

      使用 更新种子 工具是因为高度是一个随机值,并且在重新生成建筑物时必须更新随机种子值。

  4. 通过向 building.cga 规则添加新的 Roof 规则,可创建屋顶几何。
    1. 编辑 Lot 规则,直到其与以下规则类似:
      Lot -->
       	case shapeType == "LotInner" : 
       	else :
       	  extrude(height) comp(f) { side :  Facade | top:  Roof }
    2. 添加 Roof 规则并将形状定义为角度为 22.5 roofHip
      Roof --> roofHip(22.5) Shape
    3. 保存规则。
  5. 重新生成建筑物,但这一次单击 生成模型 工具 生成 ( Ctrl+G )。 此操作将是建筑物 height 保持 56.79

    带 roofHip 屋顶的随机高度值为 56.79 的建筑物

    Essential_Skills_Part_5.cej 场景显示完成的示例。

在本教程中,您学习了如何创建工程和场景,添加街道,导航和选择,生成模型以及编辑规则。

要继续学习 CityEngine ,请参阅完整的 CityEngine 教程目录