要访问 ArcGIS CityEngine 中的教程工程,请打开 CityEngine,然后在主菜单中单击帮助 > 下载教程和示例。 在选择教程或示例后,系统会自动下载工程并将其添加到 CityEngine 工作空间。
在此教程中,您将了解使用 CityEngine 时所需的必备技能,例如创建场景、选择对象和编辑规则。
创建工程
首先,您将创建 CityEngine 工程。
- 单击文件 > 新建 > CityEngine > CityEngine 工程以打开选择向导对话框。
- 单击 下一步。
- 在工程名称框中,输入 MyFirstCity。
- 单击 完成。
MyFirstCity 工程在 Navigator 中创建。
创建场景
接下来,您将创建场景。
- 单击文件 > 新建 > CityEngine > CityEngine 场景 或右键单击 \MyFirstCity\scenes\ 文件夹,然后选择新建 > CityEngine 场景以再次打开选择向导对话框。
- 单击下一步。
- 在文件名称框中,输入 myFirstCity_01.cej。
- 保持坐标系为空。
有关坐标系的详细信息,请参阅地理配准。
- 单击完成。
随即在 \MyFirstCity\scenes\ 文件夹中创建 MyFirstCity_01.cej 场景。
复制规则和资产
现在,您要从下载的 Tutorial_01_Essential_Skills 工程将文件复制到 MyFirstCity 工程。
- 单击 \Tutorial_01_Essential_Skills\rules\ 文件夹以将其展开。
- 选择文件夹中的内容然后按 Ctrl+C 或右键单击并选择 Copy 来复制内容。
- 单击 \MyFirstCity\rules\ 文件夹,然后按 Ctrl+V 或右键单击并选择粘贴以将内容粘贴至 \rules\ 文件夹。
- 对 \Tutorial_01_Essential_Skills\assets\ 文件夹重复相同的步骤。
MyFirstCity 工程中的 \assets\ 和 \rules\ 文件夹现在包含所需的 Tutorial_1_Essential_Skills 内容。
创建您的第一个街道布局
设置新的工程和场景后,您即可创建第一个街道布局。 要了解有关街道的更多信息,请参阅图形。
要创建街道网络,请执行以下操作:
探索 CityEngine 导航
在本部分中,您将了解如何在 CityEngine 中导航,包括平移、旋转和缩放。
要在 CityEngine 中导航,可以使用以下操作:
翻转或旋转场景。 |
|
向左、向右、向上或向下移动视图。 |
|
朝向或远离感兴趣点推动/缩放相机。 |
|
从当前相机位置旋转视图。 此操作有助于创建 360 VR 导出的书签。 |
|
有关完整操作的列表以及如何更改鼠标和导航设置,请参阅3D 导航基础知识。 |
选择对象
您可以使用选择工具 以选择和编辑场景中的对象并与之交互。 单击选择工具 (Q)。 您也可以在 CityEngine 主菜单中单击选择 > 选择工具以打开该工具。
使用下表中的选择操作:
单击 | 选择单个对象。 在一个已经选中的对象上选择组件(面、边或折点)。 |
双击 | 选择并框住单个对象。 |
从左到右选择矩形 | 选择对象或组件, 这些对象完全位于所选矩形中。 地图图层不会添加到选择中。 |
从右到左选择矩形 | 选择与选择矩形相交的对象。 地图图层不会添加到选择中。 |
注:
- 当有许多对象占据相同的空间时,从左到右的选择通常用于选择微小的对象,例如单个街道图形节点。
- 使用 F9 和 F12 键打开或关闭地图图层的可见性,图形段、形状和模型。 当您取消激活其他对象类型的可见性时,将有助于正确选择。
选择对象后,您可以右键单击并显示快捷菜单:
适应 (F) | 框选选择内容(如果所选内容为空,则框选整个场景)。 |
选择同一图层中的对象 | 将选择相同的一个或多个图层中的所有对象。 |
选择具有相同规则文件的对象 | 选择已分配源选择中存在的规则文件的所有对象。 |
选择具有相同初始规则的对象 | 选择源选择中存在的具有初始规则的所有对象。 |
生成包含规则的模型
CityEngine 是一个程序化建模应用程序,并且使用 CGA 规则。 计算机生成建筑 (CGA) 是用于生成建筑 3D 内容的唯一的编程语言。 在以下部分中,您将了解如何使用 CGA 规则生成模型。
- 在视窗中,选择一个块。
在检查器的块参数中,Subdivision Type 属性已设置为 Recursive Subdivision。
- 单击 Subdivision Type 属性下拉菜单并将其更改为 Offset Subdivision。
有块细分和动态城市布局的详细信息,请参阅教程 2:地形和动态城市布局。
- 选择一个块内的形状。
- 单击主菜单中的选择 > 选择同一组对象。
- 将 building.cga 规则文件拖动到所选形状上的 \rules\ 文件夹中。
将规则文件放置到形状上后,将应用规则,模型将自动生成。
在可见性设置 下,通过单击模型按钮或按 F12 以确保模型可见。
- 删除一个模型,并将其添加回场景。
- 选择一个建筑物,然后按删除或右键单击并选择删除。
此操作将移除模型。
- 再次选择覆盖区形状,然后单击工具栏上的生成工具 (Ctrl+G) 以再次根据覆盖区生成建筑物。
- 选择一个建筑物,然后按删除或右键单击并选择删除。
- 要查看建筑物高度的变化,请单击更新种子工具 (Ctrl+Shift+G) 以更改种子值。
下图显示了具有不同高度种子值的建筑物:
- 在检查器中,将高度属性更改为 60。
当您手动更改检查器中的属性时,属性将高亮显示并覆盖 CGA 规则中的定义。
- 要重置 building.cga 规则的属性,在检查器中将鼠标悬停在任意属性上,然后右键单击并选择重置用户属性。
打开 Essential_Skills_Part_4.cej 场景以查看完成的示例。
编辑规则
CGA 编辑器是一个工具,用于创建和修改从现代到当代、从古代到未来的所有城市类型的 3D 模型。 接下来,您将浏览 buidling.cga 规则。
- 要在 CGA 编辑器中打开 building.cga 规则,在导航器中右键单击 CGA 规则文件或单击检查器中的规则文件链接。
building.cga 规则将在 CGA 编辑器中打开。
- 检查 building.cga 规则。
height 属性已定义为 15 到 25 之间的随机值。
attr height = rand(15,25)
在下方示例中,建筑物的随机高度值为 18.35。
注:
由于 building.cga 规则会生成一个随机值,因此在您的场景中可能有所不同。
- 将随机高度最终值更改为 80。
attr height = rand(15,80)
height 属性现定义为 15 到 80 之间的随机值。
- 按 Ctrl+S 或右键单击规则文件,然后选择保存以保存编辑的规则。
- 通过单击更新种子工具 (Ctrl+Shift+G) 重新生成建筑物。
建筑物现在的随机高度值为 56.79。
注:
使用更新种子工具是因为高度是一个随机值,并且在重新生成建筑物时必须更新随机种子值。
- 通过向 building.cga 规则添加新的 Roof 规则,可创建屋顶几何。
- 编辑 Lot 规则,直到其与以下规则类似:
Lot --> case shapeType == "LotInner" : Lot. else : extrude(height) comp(f) { side : Facade | top: Roof }
- 添加 Roof 规则并将形状定义为角度为 22.5 的 roofHip。
Roof --> roofHip(22.5) Shape
- 保存规则。
- 编辑 Lot 规则,直到其与以下规则类似:
- 重新生成建筑物,但这一次单击生成模型工具 (Ctrl+G)。 此操作将是建筑物 height 保持 56.79。
Essential_Skills_Part_5.cej 场景显示完成的示例。
在本教程中,您学习了如何创建工程和场景,添加街道,导航和选择,生成模型以及编辑规则。
要继续学习 CityEngine,请参阅完整的 CityEngine 教程目录。