这门课在补什么缺口
如果只用 CityEngine 的手动建模工具,你可能会陷入一个尴尬:模型改一次就要重做一次,或者遇到大量重复建筑时,只能一个个复制粘贴。CityEngine 真正的价值在于用规则驱动生成,而规则的核心就是 CGA 脚本。这门课讲的是 CGA 脚本开发的最底层——建筑规则文件怎么写、怎么让一个初始形状(Shape)通过规则变成有模有样的建筑体量。
它不涉及复杂的程序逻辑、不涉及多地块联动,只聚焦在“初级”这个阶段:如何声明规则、如何调用基本命令、如何让规则按顺序执行。如果你之前看过 CityEngine 的界面操作,但一打开 .cga 文件就发懵,或者照着教程抄了一遍却不知道每一行在做什么,那这门课就是来补这个缺口的。它把“形状语法”这个概念拆成四个连续的小段,让你从零开始建立对规则文件的直觉。
建议怎么学
四个视频是严格递进的,不要跳着看。第一个视频先解决“规则文件长什么样、怎么挂到模型上”,这是后续一切的前提。第二个和第三个视频开始引入具体的生成命令,比如通过挤出(extrude)和切分(split)来改变形状,这是 CGA 里最常用的两个动作。第四个视频会把这些命令组合起来,形成一个能跑通的完整小案例。
学的时候不要只当视频看。每看完一个片段,就打开 CityEngine 新建一个规则文件,照着敲一遍,然后故意改几个参数,看模型怎么变。比如把挤出的高度从 10 改成 20,或者把切分的比例换一下,观察结果。这种“改一个数看一次结果”的练习,比反复看视频更能把语法刻进脑子里。如果某个命令的效果和预期不符,先别急着往后看,把那个命令单独拎出来试,直到你理解它为什么这么表现。
学完能独立做什么
完成这一系列后,你应该能独立写出一个简单的建筑生成规则:给定一个矩形地块,通过 CGA 规则自动生成一个有基本体量的建筑,包括若干层楼、每层有窗洞或者立面分格。你不需要再依赖模板文件,能自己从空的 .cga 开始搭结构,知道规则从上到下怎么执行、哪些参数决定形状。
更重要的是,你具备了读别人的规则文件的能力。以后再看到复杂的 CGA 代码,你能认出哪些是基础命令、哪些是条件分支,而不是整篇当作天书。这份能力是继续学进阶脚本、做程序化城市建模的起点。资料包里只有这一组初级视频,没有配套工程文件,所以练习时你需要在 CityEngine 里自建一个简单地块,把视频里演示的规则敲进去,反复调参直到跑通。做完这一步,你才算真正掌握了 CGA 的基本形状语法。
课程目录
1 脚本开发基础之建筑规则文件cga编写初级 (05:43) 2 脚本开发基础之建筑规则文件cga编写初级2 (05:09) 3 脚本开发基础之建筑规则文件cga编写初级3 (07:36) 4 脚本开发基础之建筑规则文件cga编写初级4 (07:04)





