要访问 CityEngine 中的教程,请单击帮助 > 下载教程和示例...。 在选择教程或示例后,系统会自动下载工程并将其添加到工作空间。
设置新工程
创建新工程和场景
首先,您将创建新的 CityEngine 工程。
- 单击文件 > 新建 > CityEngine > CityEngine 工程。
将显示选择向导对话框。
- 单击下一步,将您的工程命名为 MyFirstCity,然后单击完成。
创建一个新工程,该工程显示在导航器中(默认情况下,位于 CityEngine 窗口的左上角)。 存储工程数据(例如资产、规则和场景)的默认文件夹已经存在,只是为空。
接下来,您将创建一个新场景。
- 单击文件 > 新建 > CityEngine > CityEngine 场景。
随即显示 CityEngine 场景对话框。 将场景命名为 myFirstCity_01.cej。
复制规则和资产
在本教程的后面,您将需要规则文件和资产来生成建筑模型。 您可以从主要“教程 1:基本技能”工程复制这些文件,您应该已经将该工程链接到工作空间。
现在,您需要将所有必要的文件从已下载的“教程 1”工程中复制到新工程中。
- 在键盘上或从鼠标右键快捷菜单中使用复制/粘贴(在键盘上按 Ctrl-C 和 Ctrl-V)。
- 复制资产和规则文件夹的内容。
您的导航器应类似于以下屏幕截图:
第一个街道布局
随机街道生成
设置了新工程后,您就可以开始在新创建的场景中创建第一个街道布局了。
首先,您将创建街道网络。
- 单击视口以使其成为活动窗口。
- 单击图形 > 生成街道。
将显示生成街道对话框。对话框
- 现在保留默认设置。
- 单击应用,然后关闭对话框。
大约创建了 500 条街道,但是直到您构建该视图时,您才能看到其所有内容。
- 按 A 键构建视口中的所有对象。 您的视口应类似于以下屏幕截图:
导航和选择
导航
在视口中导航是 CityEngine 用户必须学习的最基本的技能之一。 本部分介绍了可用的不同导航方案。
- 单击编辑 > 首选项 > 常规 > 导航设备 > 鼠标。
注:
对于拥有 3D Connexion 3D 鼠标 (https://www.3dconnexion.com/) 的用户,有一些特定首选项。
您将关注默认的导航方案。 下表中显示了这些选项:
导航命令 | 键盘快捷键 |
---|---|
翻转视图 | Alt + 鼠标左键 |
平移视图 | Alt + 鼠标中键 |
缩放 | Alt + 鼠标右键(或使用鼠标滚轮) |
提示:
- 为了在经常使用框架键 F 时进行有效导航,请使用视口工具条中的框架按钮。
- 尽早使用基于滚动/平移/缩放的导航。 几分钟后,这对您来说将会变得很自然。
选择
要与场景中的对象交互并进行编辑,您需要选择它们。 使用鼠标键启动选择工具或按 Q。 通过在视口中单击来选择对象。
注:
F9–F12 键可切换四种主要对象类型的可见性:地图图层、图表段、形状和模型。 停用其他对象类型的可见性通常会简化进行正确选择的过程。
选择类型
下表描述了选择类型:
选择类型 | 结果 |
---|---|
单击 | 选择单个对象 |
从右到左的矩形选择 | 选择内部的所有对象或触摸选择矩形 |
从左到右的矩形选择 | 选择完全位于选择矩形内的所有对象 |
当有许多对象占据相同的空间时,从左到右的矩形选择通常用于选择微小的对象,例如单个街道图形节点。
修饰键
在选择工具处于活动状态时,按 Ctrl 和 Shift 可以从选择中进行添加或减少。 这些模式也列在工具条的选择工具子菜单中。
选择快捷菜单
选择后,鼠标右键快捷菜单包含条目,您可以使用这些条目选择其他元素。
下表描述了选择项目:
选择模式 | 选择元素 |
---|---|
选择同一类型的对象 | 类型:形状、图形节点 |
选择同一组对象: | 在相同的块/街道中 |
选择具有相同规则文件的对象 | 相同的规则文件已分配(在所有可见图层上) |
选择具有相同初始规则的对象: | 相同初始规则(在所有可见图层上) |
使用规则的模型生成
3D 模型生成
CityEngine 是一种程序化建模应用程序。 这意味着 CityEngine 使用规则来生成 3D 模型。
分配规则
在本教程中,已经提供了规则。 您现在即可使用它们。
- 选择一个块,然后在检查器中将其细分参数从递归细分更改为偏移细分,如下所示:
有块细分和动态城市布局的详细信息,请参阅教程 2:地形和动态城市布局。
- 在块中选择一种形状,然后使用快捷菜单选择同一组对象。
- 将 building.cga 规则文件拖放到选定的形状上(突出显示的橙色)。
将规则放到形状上后,将自动开始模型生成。 您的第一个建筑物将出现。 确保通过切换 F12 激活模型的可见性。
也可以在鼠标右键快捷菜单中删除生成的模型。
- 再次选择覆盖区形状,然后单击 Ctrl+G 或使用工具条上的生成按钮 以在所选形状上生成模型。
可以通过更改种子值来创建建筑物的新变体。
- 使用工具条上的更新种子按钮 ,或单击 Ctrl+Shift+G。
下图显示了高度的不同种子值的示例:
- 在检查器中手动编辑规则的建筑物高度参数:
在检查器中手动更改属性后,它将变为粗体并覆盖规则的定义。
- 通过在检查器中右键单击属性旁边的箭头,然后选择重置用户属性building.cga,将属性重置为 规则定义。
规则编辑
探索规则文件
CityEngine 的规则系统使用 CGA 代码,这是 CityEngine 独特的专用脚本语言。 由于 CGA 是一种脚本语言,因此它为您提供了一种通用且灵活的工具来为所有类型的城市创建 3D 模型。 从现代到当代,从古代到未来,一切皆有可能。
探索到目前为止您一直在使用的已提供的规则。
- 通过在导航器中双击 CGA 规则文件或使用检查器中的规则文件链接,在规则编辑器中打开 building.cga 规则。
- 开始在规则编辑器中编辑 building.cga 规则。
编辑规则文件
- 检查 building.cga 规则。高度定义为介于 15 到 25 之间的随机值。
attr height = rand(15,25)
建筑物的随机高度值为 22.82。
- 在规则编辑器中更改随机高度值。
attr height = rand(15,80)
高度现在定义为介于 15 到 80 之间的随机值。
- 保存规则。
- 通过单击更新种子或按键盘上的 Ctrl + Shift + G 来重新生成建筑物。
建筑物的随机高度值为 51.27。
注:
使用更新种子的原因是因为高度是一个随机值,并且在重新生成建筑物时需要更新随机种子值。
- 通过将名为屋顶的新规则添加到 building.cga 规则中来添加屋顶几何。 为此,需要执行以下操作:
- 编辑地块规则,使其如下所示:
Lot --> case shapeType == "LotInner" : Lot. else : extrude(height) comp(f) { side : Facade | top: Roof }
- 添加屋顶规则,并将形状定义为 roofHip,其角度为 22.5 度。
Roof --> roofHip(22.5) Shape
- 保存规则。
- 编辑地块规则,使其如下所示:
- 重新生成建筑物,但这一次,单击生成模型按钮 或按键盘上的 Cntrl +G。 这样,您会将建筑物高度保持在 51.27,并看到新的屋顶几何。