要访问Arcgis CityEngine的教程项目,请打开CityEngine,然后单击 “帮助” >在主菜单中下载教程和示例。选择教程或示例后,该项目将自动下载并添加到您的 CityEngine Workspace中。
通常,当您开始使用CityEngine场景时,您会首先创建地形 。可以从简单的图像文件或数字高程模型(DEM)中创建地形,例如支持地理标准信息的Geotiff文件。
在本教程中,您将了解创建和对齐地形;不断发展的街道,清理街道,以及动态城市布局的基本面。
创建一个地形
要创建地形,请执行以下操作:
- 在导航器窗口中展开tutorial_02_terrain_and_dynamic_city_city_layout_layout教程文件夹。
- 在场景文件夹中打开part_1_start.cej场景。
- 打开地图文件夹,然后将“高程”图像拖动到视口窗口中以打开导入对话框。
- 选择地形导入,然后单击下一步。
- 在纹理文件下,单击“浏览”以在地图文件夹中 选择topo.png纹理文件。
- 单击 打开。
- 将频道属性设置为亮度。
- 将最大高度值设置为150。
- 在界限下,编辑尺寸和位置值以看起来像以下图像:
笔记:
如果您在没有地理信息信息的情况下加载图像,则将其像素分辨率设置为地形尺寸。
- 选择 “保持比率” 按钮
,并确保将对齐按钮
设置为中心。
- 点击 完成。
- 单击场景编辑器窗口中的图层以探索“检查器”窗口中的属性。
笔记:
目前,CityEngine仅支持基于图像的地形(灰度高度图);它不支持3D网格。如果您只有3D网格或任何其他数据类型,则需要将其转换为高度图。
种植街道
在教程1:基本技能中,您学会了如何在不存在的情况下在平坦的网格上种植街道。现在,您将使用 种植的街道工具和算法直接使街道适应实际的地形高程。
用高度图种植街道
要使用高度图种植街道,请执行以下操作
- 单击part_2_start.cej 文件以打开场景。
- 单击 图形>种植街道… 在主菜单中打开“ 成长街 对话框”。
- 扩展 环境设置部分。
- 在高度图旁边,单击下拉菜单,然后选择地形高程。
- 点击应用。
街网层被添加到场景编辑窗口中。
街道自动与地形保持一致。
- 单击关闭以查看视口窗口中的街道。
用障碍地图种植街道
您可能已经注意到, 种植街 工具随机生长街道。这包括您可能不想要街道的区域。您可以创建一个障碍物地图,以使您可以将这些区域保持空,并最大程度地减少手动清理过程。障碍图是黑白图像,亮度在其中定义了街道可以增长的区域。
要添加障碍图,请执行以下操作:
- 右键单击 “场景编辑器” 窗口,然后选择 新的映射层 以打开新的地图层对话框。
- 单击障碍物。
- 单击下一步。
- 单击“浏览” ,然后在地图文件夹中选择“障碍物”文件。
- 保持 通道属性设置为亮度。
- 将障碍阈值设置 为0.5。
障碍阈值定义 了区分障碍物和非凸进的图像亮度。
- 在界限下,将价值设置为您的地形范围。
- 点击完成。
新的障碍图层是在场景编辑器窗口中创建的。
- 在“检查器”窗口中展开 图层属性部分:
attr obstacle = brightness < 0.5
代码确定属性映射,在这种情况下为布尔值(true/false)。
- 要在种植街道时应用障碍图,请首先关闭场景编辑窗口中新障碍层的可见性框。
- 单击“视口窗口”中,以取消选择“场景编辑器”窗口中的新障碍层。
- 单击 图形>种植街道… 再次在主菜单中。
- 扩展环境设置部分。
- 在InstacleMap旁边 ,单击下拉菜单,然后选择新的障碍物来分配障碍物地图。
- 点击应用。
成长的街道工具在障碍地图的白色区域中创建街道,而在黑色区域则没有。
您的场景应该看起来像 part_2_end.cej场景。
笔记:
种植街工具还允许您使用参数自动创建街道图案。有关更多信息,请参见街道图案示例。
清理街道
有时,街道网络有相互矛盾的图段,需要清理。当无法创建适当的形状时,这些错误将以红色突出显示。使用清理图工具 清理街道网络问题。
- 打开 part_3_start.cej场景。
- 缩放到以红色标记的矛盾图段。
- 使用SELECT工具选择冲突段周围的区域
。
- 单击 工具栏上的“清理图”工具
(C )或选择图形>清理图…在主菜单中以打开“清理图”对话框。
- 保留默认设置。
有关更多信息,请参见清理街道。
- 点击完成。
将您的场景与part_3_end.cej场景进行比较。
对齐地形
创建的街道通常遵循地形或建筑物的位置。通常,在场景中创建的对象不正确地与地形保持一致,例如导入2D GIS数据时。
下表列出了可以使街道和形状与地形相结合的工具:
对齐图与地形 |
将街头的细分市场投射到地形。 |
将形状与地形保持一致 |
项目静态形状到地形*。 |
对齐地形与形状 |
将地形与静态和/或动态形状保持一致。 |
笔记:
*手动绘制或导入的形状称为静态形状。关于一致性,动态的城市布局工具会创建动态形状,而动态形状无法与对齐工具保持一致。由于动态形状是作为(动态)块的孩子创建的(对于街道是正确的),因此块细分参数包含对齐对齐的特定参数。有关更多信息,请参见块参数。
将图与地形对齐
首先,您将图形与地形对齐。
- 打开part_4_start.cej场景。
- 在场景中选择一些形状。
- 单击 “对齐图”到工具栏上的地形 工具 ,或在主菜单中选择图形>对地形的图形>对齐图。
- 在高度图旁边,单击下拉菜单,然后选择地形高程。
有关更多信息,请参见Align街道到地形。
- 将偏移值设置为0.2。
- 点击 完成。
笔记:
更改不是很明显。为了提高效果,请更改最大高度值。
对齐地形与形状
接下来,您将使地形与场景中的动态形状保持一致。
- 再次在场景中选择一些形状。
- 单击 对齐的地形以形成
工具栏上的工具,或选择地形>对齐地形到形状…在主菜单中,以打开对齐地形到形状对话框。
有关更多信息,请参见对齐地形至形状。 - 保留默认设置,然后单击“应用”。
笔记:
由于您的街道已经与地形保持一致,因此有很小的变化。
- 单击关闭。
- 单击场景编辑器窗口中的地形高程层。
- 在检查员窗口的“高程部分”下 , 与下拉菜单进行交替禁用并启用应用对齐设置。
地形在未对准和对齐状态之间来回切换。这意味着对齐数据或 高程数据属性被存储为文件。
- 展开图层属性部分,以查看“高程”属性如何有助于定义 高程属性。
attr elevation = map_01(brightness, minHeight, maxHeight) + elevationDelta + elevationOffset
- 保存您的场景。
- 单击文件>刷新工作空间以刷新教程项目工作区。
数据文件夹现在包含part_4_start.cej文件夹中的高程增量文件。
确保您第一次对齐地形后保存场景。
- 要从顶视图查看高程文件,请单击主菜单中的窗口>新视口>顶部视图来创建一个新的视口。
- 将hevation_delta 文件拖到顶部视图视频。
动态的城市布局
动态城市布局是一组工具和功能,可让您快速创建城市布局。结果是一系列形状,可以与CGA规则一起创建3D模型。主要要素是街道和街区。如果街道中心线物理封闭了一个区域(并且网络连接干净连接),则会创建块。用虚线表示块,您可以选择。
街道细分市场和街区都有各个参数,这些参数驱动了孩子的创建,即动态形状。
对象类型
当您探索已经种植的街道时,您会发现有三种可选的对象类型的参数驱动并影响形状创建:段,节点,块。
段参数 |
![]() ![]() |
节点参数 |
![]() ![]() |
块参数 |
![]() ![]() |
创建形状参数 对于所有三种对象类型都是共同的,可以启用或禁用形状几何创建。例如,您可能需要为街道创建形状,而不是街区中的细分。
可以随意使用不同物体类型的参数,例如调整街道和人行道的宽度;创建一些回旋处并编辑其半径;或创建一些CUL-DE-SAC。
块细分类型
接下来,您将使用块细分。在场景中选择一个块,然后更改细分类型参数。每个细分算法都有其自己的参数,并创建一个特定的模式。
递归细分 |
![]() |
骨架细分 |
![]() |
偏移细分 |
![]() |
没有细分 |
![]() |
现在,您对动态形状创建过程有了更好的了解。在下一个部分中,您将探索街道绘画,编辑街道和曲线,并产生街道模型。
与街道一起工作
在前面的部分中,您使用了动态的城市布局工具来创建街道网络,练习清理街道,并与Terrain Allains合作。现在,您将学习一些与街道一起工作的常见工作流程。
手动画街道
首先,您将使用多边形街道创建和徒手街道创建工具探索绘画街道。
弯曲段
接下来,您将练习将街头细分市场从直线变为弯曲,反之亦然。
- 选择一些街道。
- 播放图形>设置曲线直接,图形> “设置曲线”在主菜单中平滑工具。
笔记:
请记住,弯曲的街道会产生许多多边形,因此建议您将它们保持至少。
- 编辑您创建的弯曲街道的细分市场数量的精度。
- 选择街道,然后单击“检查员”窗口中的精度参数。
精度参数值已设置为。5
- 将值更改为.25。
- 选择街道,然后单击“检查员”窗口中的精度参数。
编辑街道
继续,您将使用编辑街道/曲线工具编辑街道和曲线。
- 单击 工具栏上的编辑街道/曲线 工具
(C )。
有关更多信息,请参见编辑街和曲线。
- 使用手柄,编辑街道和人行道的宽度。
- 编辑切线手柄。
根据视角,要编辑的水平或垂直切线手柄显示。
生成街道模型
最后,您将通过使用Simple Street Construction.CGA规则生成街道模型来结束。
- 扩展路线网层,然后右键单击网络子层。
- 右键单击选择对象。
这仅选择街道而不是街区。
- 将街道构造简单拖到选定的形状上。
街道模型和3D对象是由规则生成的。
笔记:
您可以编辑街道,包括长度,宽度和曲线,并随时进行再生模型。
- 选择街道形状,然后单击“检查员”窗口中的“起始规则”链接。
这使您可以在CGA编辑器中探索规则。
下图显示了按彩色的恒星和相应的街道形状。
笔记:
您可以通过将color_street -shapes.cga规则应用于街道来探索更多颜色形状。
打开part_5_end.cej场景以查看完成的场景。
要了解进口街道,请参见教程4:进口街道。
在本教程中,您了解了以下内容:
- 如何进口地形,自动种植街道,清理街道并对齐地形。
- 动态的城市布局如何创建形状,例如街区和街道,这些形状已准备好与CGA规则一起使用。
- 如何绘制街道,编辑它们并产生街道模型。
要继续使用CityEngine学习,请参阅完整的CityEngine教程目录。
评论(0)