要访问 CityEngine 中的教程,请单击帮助 > 下载教程和示例。 在选择教程或示例后,系统会自动下载工程并将其添加到工作空间。
探索 Desert City 场景文件
- 双击位于场景文件夹中的 Desert City 场景文件。
- 在打开的第一个对话框中单击生成。
此操作将启动所有元素的模型生成。
- 导航该场景并探索建筑物、街道和植被。
您将注意到,默认仅生成所有建筑物的一小部分。 这将节省内存资源。
- 编辑一些规则参数,例如 Building_Height、Building_Usage 或 Level of Detail。
- 再选择一些建筑物覆盖区或街道形状(单击或绘制选择矩形)。
注:
如果您使用选择矩形从左到右选择或从右到左选择,则将出现不同的行为。
- 单击工具栏中的生成按钮或按 Ctrl+G 以启动新选定形状的模型生成。
重新创建完整场景
完整的 Desert City 场景由 GIS 数据和规则集组成。 GIS 数据包括属性化的覆盖区形状、街道中心线、植被标记、墙壁线和电力线。 所有这些数据都包含在地理数据库文件 (GDB) 中。 由于使用了不同的数据类型(线、面、点),因此每个对象类型都将存储在不同的图层中。
- 打开 Desert_City_terrain_only 场景文件。
导入 GIS 数据
- 在导航器窗口中,定位该数据文件夹。 从该数据文件夹中,将 DesertCityGDB.gdb 直接拖动到 3D 视窗中。
文件地理数据库导入对话框随即显示。
- 取消选中 TerrainExtent 图层。
- 单击下一步,在以下设置中,激活合并距离值为 2 的合并节点选项,然后单击完成。
将导入的 GIS 数据与地形对齐
在“场景编辑器”中,您将看到已经创建所有图层,但由于所有元素都位于 0 高程处,因此所有内容均不可见。 您必须将其投影至正确的高度并相应地重新对齐地形:
- 隐藏 PowerLines、Structures 和 Vegetation 图层。
- 请使用较大的选择矩形来选择视窗中的所有可见内容。
- 单击图形菜单 > 将图形与地形对齐。
- 投影到地形,偏移值为 0.4 米。
- 单击形状菜单 > 将形状与地形对齐。
- 单击形状最大值,然后将偏移设置为 0.2 米
注:
平移将保持形状水平和平坦。
- 单击图层菜单 > 将图形与地形对齐...
- 使用值 +- 250 米对齐地形。
- 反转所有图层的可见性,因此之前隐藏的图层现在可见,反之亦然。
- 对于即将进行的对齐,将地形保持为当前状态。
- 使用偏移值 –0.5 米投影图形(墙和电力线)。
- 使用偏移值 –0.5 米将形状(结构和植被标记)平移至形状的最大值。
CGA 规则分配
现在,将相应的 CGA 规则分配给每种特定的对象类型。 为此,依次激活每个图层的可见性以便为规则分配选择所有形状。
以下是最常见的分配规则的方式:
- 将规则从“导航器”直接拖动到视窗中的所选形状上。
- 使用检查器窗口中的分配按钮。
- 右键单击图层。
由于标记形状(结构和植被)非常小,因此难以通过拖放分配规则。 请改为右键单击那些图层并选择同一图层中的所有对象,然后在“导航器”中分配规则。
Streets | > Desert_City_Streets.cga |
PowerLines | > Desert_City_Powerlines.cga |
Walls | > Desert_City_Walls.cga |
Buildings | > Desert_City_Buildings.cga |
Structures | > Desert_City_Structures.cga |
植被 | > Desert_City_Vegetation.cga |
增大城市中心的纹理分辨率
CityEngine 将用于 3D 显示的所有纹理(栅格图像)存储在显卡的视频内存中,因此建议所有纹理文件使用的最大分辨率为 4000x4000 像素,这对于较大区域来说可能不够详细。 (请参阅 Esri 社区文章纹理 - 栅格文件:CityEngine-ArcGIS 中的概念)。
为了局部提高建筑物下方的地形纹理质量,需要激活动态街区细分,并将新的地块形状用作建筑物下方的地面。 在附加地面上,您将映射更高分辨率的纹理。
- 首先,隐藏除 Street 图层之外的所有图层。
- 通过左-右矩形选择来选择一些街区。 在“检查器”中,单击街区选项卡,将 shapeCreation 参数更改为 true,然后将 lotAreaMin 和 Max 设置为 2’000 和 4’000。
- 在每个街区中,选择一个形状,右键单击,然后选择同一组中的所有形状。 选择后,分配名为 Desert_City_ParcelTexturing.cga 的规则。
- 单击生成。
规划新学校
用于本章的 .gbd 文件在数据文件夹中为 DesertCity_Intervention.gdb。 如果您对手动创建该数据不感兴趣,请跳过本节。
接下来,您将重新创建一个现实世界的重点干预。 在市中心附近的以下街区中,您计划在以下选定城市街区中新建一所带有足球场的学校。
- 在 ArcMap 中打开数据集。
- 在 ArcMap 中创建空白地图,然后将示例数据集中的要素类导入为图层。
- 新建 .gdb 文件,将其命名为 MyIntervention.gdb,然后将其保存到硬盘上工程的数据文件夹。
- 创建以下要素类:
- 面要素,名为 Intervention_Buildings
添加以下属性:
- Building_Height (浮点型)
- Building_Usage (文本型)
- 面要素,名为 Intervention_Soccer_Field
不添加任何属性:
- 点要素,名为 Intervention_Vegetation
添加以下属性:
- Size(类型为浮点型)
- 线要素,名为 Intervention_Walls
添加以下属性:
- width(必须为小写,类型为浮点型)
- 面要素,名为 Intervention_Buildings
- 绘制一个或多个具有真实高度(以米为单位)的学校建筑物,并将 Building_Usage 属性设置为学校。
- 创建一些墙作为折线,将 width 设置为 0.4 米。
将直接映射 width 值。
- 创建一个矩形的足球场。
- 分布一些植被点,并将其 Size 属性设置为介于 2 到 15 米之间的真实值。
- 单击保存。
- 如果未在工程的数据文件夹中创建 .gdb 文件,则将其移动或复制到此处。
- 要刷新工作空间,单击文件 > 刷新工作空间。
导入干预数据
如上所述,将新的 .gdb 文件拖动到 3D 视窗中以开始导入。 当然,您可以选择自己创建的 .gdb 文件,或示例随附的文件 DesertCity_Intervention.gdb。
- 将形状和图形与地形对齐。
- 分配规则。
还有一个用于足球场的规则。
- 如果在错误的方向创建足球场,请将属性 Orientation_Change 设置为 true。