CityEngine 演示

本教程与 Houseal Lavigne Associates 的 Devin Lavigne 合作创建。

CityEngine 是一款先进的 3D 建模软件,可在比传统建模技术更短的时间内创建交互式和沉浸式城市环境。 您使用 CityEngine 创建的城市和场景可以基于真实世界 GIS 数据,也可以展示过去、现在或未来的虚构城市。 本教程将介绍 ArcGIS CityEngine,其中提供其一些主要特性和功能的演示。 在此 CityEngine 演示中,您将探索用于可视化、设计和修改 3D 模型的关键界面元素、导航和工具。

演示概览

CityEngine 演示基于一个真实的项目,该项目使用了 CityEngine 来协助华盛顿州林伍德市。 林伍德是斯诺霍米什县的第四大城市,位于西雅图以北 16 英里(26 千米)处。 林伍德是西雅图的郊区卧室社区,是大量零售企业的所在地。 与类似的郊区社区一样,林伍德以汽车为导向,拥有大量的大型箱式和条状商业零售中心。

市中心分区规划

2007 年,林伍德市通过了市中心分区规划,为城市的关键区域提供了指导性愿景。 该规划的目标是创建一个紧凑、密集、充满活力的市中心,并将该地区转变为一个充满活力的商业中心以及一个具有吸引力的生活、工作和娱乐场所。 其中存在大量已完成或正在进行的项目,包括林伍德轻轨延伸线,该项目将在南斯诺霍米什县和华盛顿大学、西雅图市中心、东区、西雅图-塔科马机场等之间提供快速、频繁和可靠的轻轨交通服务。

鉴于西雅图和埃弗雷特之间的快速交通,林伍德市中心的地块正面临着巨大的增长压力。 已经开发了多个项目,开发商的提议将包括新的公共空间和公园、增加住房、改善文化景点、创造行人友好的环境,并进一步提高林伍德市中心的宜居性。 为了帮助预测新开发项目的影响,林伍德使用了 CityEngine 来探索潜在的体量和视觉影响场景,并计算潜在的住房单元、工作岗位以及办公和零售空间的平方英尺。

导航演示

本演示围绕多个章节构建,可帮助您跳过模型以探索场景。 该演示还在图层中进行组织,每章使用不同的图层。 可以使用视口上方工具栏中的书签菜单 书签菜单 以及通过在场景编辑器中打开和关闭图层来导航至每个章节。

书签
设置可见性

 

手动绘图

手动绘图

本教程的第一部分是有关如何使用 CityEngine 手动绘图工具的演示。 毫无疑问,实现 CityEngine 全部潜力的关键在于它能够通过 CGA 代码和规则文件以程序方式生成 3D 模型。 然而,有时信息或形状不存在,或者有时规则文件无法精确或快速地生成所需 3D 建筑物。 幸运的是,CityEngine 允许您使用手动绘图工具在 CityEngine 内绘制图形和 3D 几何。

这个完全开发的场景包含使用 CityEngine 手动绘图工具创建的 4 个建筑物 - 林伍德公共图书馆、市政中心、会议中心和 Destination 61+(一个针对不同年龄段的多户住宅开发项目)。 演示的第一部分将引导您根据建筑物的初始覆盖区草图创建 Destination 61+ 建筑物。

要开始此部分教程,请在书签下拉菜单 书签菜单 中选择 Manual Drawing。 在场景编辑器中关闭 Overall 图层的可见性,然后打开 Manual Drawing 图层的可见性。

追踪覆盖区

追踪覆盖区

来自 GIS 数据的建筑物覆盖区有点过时,或者需要绘制新建筑物作为城市规划和设计过程的一部分是很常见的。 在此部分教程中,您将根据“粘”在航空图像上的草图来构建 Destinations 61+,这是林伍德的一个最新开发项目。

要开始追踪建筑物,请确保 Destinations 61+ 图层处于选中状态,然后单击面形状创建工具 面形状创建工具 或按 S 键。 您也可以在主菜单中单击形状 > 面形状创建

工具激活后,从建筑物的一角开始绘制,如下所示。

手动绘图中的面形状创建

工具选项 工具选项窗口中激活捕捉选项后,CityEngine 将提供捕捉点和参考线以帮助绘制 90 度角、平行线、线的延长线以及线中点。

围绕建筑物进行追踪

继续围绕建筑物进行追踪。 完成该形状后,您应得到如下图所示的覆盖区。

轮廓线

使用推拉工具拉伸建筑物的中心

下一步是拉伸建筑物。 推拉工具 推拉工具 用于拉伸 2D 形状并修改现有 3D 拉伸。 选择推拉工具 推拉工具,将鼠标悬停在覆盖区上,随即将出现一个橙色控点。 单击此控点,然后向上拖动或“拉动”覆盖区。 您可以将建筑物向上拉动到所需的任何高度,CityEngine 也允许您指定精确距离。 在向上拉动建筑物之前,通过单击 CityEngine 主菜单中的窗口 > 工具选项打开 工具选项 工具选项窗口。 工具选项 工具选项窗口包含距离 (m) 对话框,该对话框可向您提供有关推动或拉动面或边的距离的反馈,并能够指定和锁定精确距离。

要创建建筑物的第一层,请在距离 (m) 对话框中输入 5,然后按 Enter 键或单击锁以锁定该距离。 现在,单击并向上拉动中心形状以创建底层楼层。

推拉工具

要创建第二层,请在距离 (m) 对话框中输入 3,然后按 Enter 键或单击锁以锁定该距离。 这次,在单击面并向上拖动时,请按住 Ctrl 以强制 CityEngine 创建一条新边。

向建筑物添加故事

请注意,如果未按住 Ctrl,则其将不会添加另一条边,并且仅在底层楼层上添加 3 米。

针对建筑物的同一部分再重复五次。 完成后,您将得到一座六层的塔楼。

将颜色应用到建筑物

通过在场景编辑器中为 Destinations 61+ 图层指定颜色,可以将颜色应用到建筑物。 选中设置颜色复选框以打开窗口颜色选取器。

场景编辑器
颜色选取器

要与城市规划者所使用的典型颜色保持一致,请为多户住宅选择棕色。

针对城市规划应用棕色

 

CGA 模型和检查器

在场景编辑器中,关闭 Manual Drawing 图层的可见性,然后打开 CGA Model Inspector 图层的可见性。 接下来,打开书签菜单,选择 CGA Model Inspector,您的视图将重新聚焦到林伍德市中心,这是本教程的下一部分。

CGA 模型和检查器

CityEngine 的计算机生成建筑 (CGA) 形状语法是一种独特的编程语言,您可以指定它来生成建筑 3D 内容。 实际上,将 CGA 规则分配给或应用于形状时,将创建 3D 模型。 3D 模型的复杂程序取决于规则和其中的说明。 CityEngine 是一款程序建模应用程序,这意味着形状将经过一系列用于创建 3D 模型的程序(CGA 规则文件)。

程序式建模

使用检查器

选择左侧林伍德建筑物的城市中心的建筑物覆盖区,然后在检查器(如果未显示,则为窗口 > 检查器)中检查其属性。 检查器窗口将提供有关形状的信息,包括其名称、规则文件和初始规则。 由于尚未为覆盖区分配规则,因此该字段为空。

使用检查器

应用规则

将规则应用于形状非常简单。 首先,选择覆盖区形状。 在检查器中,单击规则部分中的分配按钮。 随即出现一个对话框,默认情况下,将显示工程的规则子目录内容。 选择 Tour-Massing.cga,然后单击打开。 随即分配规则,最后一步是通过单击工具栏上的生成按钮 生成 或转至形状 > 生成模型来生成模型。 您也可以通过将 CGA 文件从导航器直接拖到形状上来分配规则。

应用规则

应为覆盖区生成 3D 模型,在检查器中选择建筑物后,现在将存在由 Tour-Massing.cga 规则文件提供的属性列表,您可以使用这些属性来修改您的 3D 模型 - 包括 UnitsBuildingHeightLandUse 以及不同土地利用的颜色。

修改高度

首先,请选择 BuildingHeight 属性并移动滑块。 您可以看到建筑物响应滑块的方式,随着滑块左右移动而增加和减少高度。

修改高度

要指定特定高度,可以单击该值并输入一个数值。 单击数值并将值更改为 30。 假设您尚未更改任何其他值,则您应该刚刚创建了一个 10 层的建筑物(每层 3 米)。 默认情况下,此规则将与 CityEngine 一样,使用公制单位。 但是,CGA 功能强大,可以对规则进行编码和自定义以执行许多功能。 例如,已对此规则进行编程以用于指定英尺。 尝试将单位值更改为英尺。 您的 10 层建筑物现在将变成 3 层建筑物,反映了典型楼层高度 10 英尺。

修改土地利用

选择 LandUse 属性并将建筑物的用途更改为 Office。 我们的规则会将建筑物的颜色更改为蓝色,即 Office_Color 下方属性中指定的颜色。 这些颜色也是可以修改的属性。 可以输入十六进制颜色代码,也可以单击并打开操作系统的颜色选取器。 在检查器中更改颜色时,场景中的颜色也会发生变化。

使用控点

另一种修改和操作模型及其属性的方式是使用控点。 已对 Tour-Massing.cga 规则进行编码以提供建筑物高度的控点。 控点用于在场景中修改属性。 选择建筑物后,可以单击并拖动建筑物左侧的控点以修改建筑物的高度。 随着上下拖动控点,建筑物将上下移动,并且右侧 BuildingHeight 属性也会发生变化。

使用高度控点

 

仪表盘

本部分将介绍 CityEngine 仪表盘。 当 CGA 规则生成 3D 模型时,可以对其进行编程以报告驱动仪表盘的信息和数据。 要开始本部分教程,请在场景编辑器中关闭 CGA Model & Inspector 图层的可见性,然后打开 Dashboards 图层的可见性。 接下来,打开书签菜单,选择 Dashbaords,您的视图将重新聚焦到林伍德市中心内的街区,您将使用检查器和控点对其进行修改,以查看在仪表盘中立即报告对模型进行更改的方式。 首先,选择所有图形(选择 > 全选或按 Ctrl+A),然后单击生成 生成 或按 Ctrl+G

仪表盘

打开仪表盘窗口

CityEngine 默认布局不包含仪表盘窗口;要将其打开,您需要转至菜单并打开窗口 > 仪表盘。 仪表盘窗口的默认位置位于界面右侧,但 CityEngine 用户界面 (UI) 具有多个窗口,可以对其进行重新定位并调整其大小以满足您的需要。 对于本教程,您希望将仪表盘窗口放置在底部。 要移动该窗口,请单击并拖动该窗口,然后,您将看到一个黑色边框,该窗口将放置在其中。 拖动鼠标,使其延伸到整个屏幕的底部,然后释放鼠标按钮。

打开仪表盘窗口

仪表盘窗口

探索控点

选择开发街区中的任何建筑物,可以注意到其用途将报告在仪表盘的 Selection Only 属性中。 现在,使用控点修改建筑物的高度,查看仪表盘响应您的操作的方式。 随着建筑物越来越高,所有饼图/圆环图中的办公空间建筑面积都会增加,员工人数也会增加。

使用控点修改仪表盘

 

在检查器中更改值

现在,选择另一个建筑物,然后使用检查器更改一些属性。 在以下示例中,LandUse 属性已设置为 Multi-FamilyBuildingHeight 已设置为 60BuildingShape 已设置为 L-Shape

继续探索

选择全部或部分重新开发,然后继续探索对模型的更改(通过控点或在检查器中)影响仪表盘的方式。

 

可见性分析

本部分将概述林伍德市中心完整重新开发概念的 CityEngine 可见性和视域分析功能,并探索 3 座建筑物的可见性:林伍德会议中心(蓝绿色建筑)、林伍德市中心(来自书签 2 的三角形建筑)以及 Destinations 61+(来自手动绘图部分的建筑物)。

要开始本部分教程,可以关闭或最小化仪表盘窗口,然后在场景编辑器中关闭 Dashboards 图层的可见性,并打开 Visibility Analysis 图层的可见性。 接下来,打开书签菜单,选择 Visibility Analysis,您的视图将重新聚焦。 如果尚未生成模型,请选择所有图形(选择 > 全选或按 Ctrl+A),然后单击生成 生成 或按 Ctrl+G

可见性分析

创建视域

通过在 CityEngine 中创建视域,可以进行可见性分析,指示从特定有利位置可以看到或看不到的内容,突出显示可见或隐藏的表面和结构。 单击视域创建工具 视域创建工具 并在林伍德市中心建筑物的上层选择一个点并将其拖动到林伍德会议中心的另一侧,如下图所示,然后释放鼠标按钮以创建视域。

创建视域

创建视域后,CityEngine 将显示可见性分析。 每个以绿色高亮显示的表面都可以从建筑物上的点的视域内看到。 所有红色表面均被阻碍并且不可见。

视域结果

添加另一个视域

通过单击视域创建工具 视域创建工具 或转至菜单中的分析 > 视域创建,将第二个视域添加到场景中,并在其他 Destinations 61+(其他多户建筑物)的高楼层上找到一个点,然后将其也穿过会议中心。

添加视域

释放鼠标按钮后,将创建第二个视域。 如果匹配了方向,则应在会议中心建筑物上看到黄色表面 - 这些表面是从两个有利位置均可见的表面。

多个视域

修改视域

通过使用视口中的不同控点,可以调整或更改视域的位置或角度。 原点处的控点可以更改有利位置的位置,而其他橙色控点可以更改视图的方向和角度。

 

导出模型

以下部分将提供使用 CityEngine 导出功能将 3D 模型导入其他程序的演示。 要开始本部分演示,请在场景编辑器中关闭 Visibility Analysis 图层的可见性,然后打开 Export Models 图层的可见性。 接下来,打开书签菜单,选择 Export Models,您的视图将重新聚焦。 同样,如果尚未生成模型,请选择所有图形(选择 > 全选或按 Ctrl+A),然后单击生成 生成 或按 Ctrl+G

导出模型

选择模型

CityEngine 导出功能仅导出在执行命令时选择的模型,由此为用户提供更多控制。 在本教程中,您将选择所有模型。 可以通过菜单(选择 > 全选或按 Ctrl+A)完成此操作。 您还可以使用鼠标在所有模型周围绘制一个选择框。

选择模型

导出模型

选择模型后,请从菜单中选择文件 > 导出模型或按 Ctrl+E。 由此将打开一个导出对话框,您可以在其中指定要导出的程序和文件格式。

导出模型菜单

导出至 Unreal Engine

Unreal Engine (DATASMITH) 导出器提供从 CityEngine 到 Unreal Engine 编辑器的高效数据传输。 此导出器的主要目的是用于建筑和设计可视化工作流,但也可以用于游戏和其他任务。

如果您选择 Unreal Engine 并单击下一步,则将出现另一个窗口,您可以在其中指定导出选项。

与 GIS 不同,大多数 3D 程序使用局部坐标系,而非全球坐标系。 这意味着其中心为 0,0。 通过单击全局偏移选项中的居中,可以将模型移动到 Unreal Engine 坐标的中心。 如果您想更改或了解有关任何其他设置的详细信息,请参阅导出 Datasmith

Unreal Engine 导出器

导出场景图层包

Esri 场景图层包 (SLPK) 一种经过 web 优化的自定义格式,可以在 ArcGIS Online 上共享并使用场景查看器进行查看。 由于 SLPK 用于 GIS 中,因此,您的模型将导出至其全局坐标。

导出格式

SLPK 导出器

如果您想更改或了解有关任何其他设置的详细信息,请参阅导出 SLPK

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