这门课要解决什么问题
城市建模与程序化生成里,最麻烦的不是把整块地块拉起来,而是把一个几何体按规则切开、退线、再往里塞东西。很多人能写基础 extrude,但一遇到沿轴线等分、按面积切分、沿边界偏移就卡壳,最后还是回 Maya 手动切。这门课只讲 CE 函数库里和几何体拆分相关的那一撮:comp、split、offset、setback、shapeLUO、scatter。它不教你怎么建一栋楼,而是教你怎么用函数把体量拆成可控的零件,再决定每块放什么。适合已经能跑通基础 CGA 脚本、但写复杂规则时经常报数组越界或切分结果不可控的人。如果你连 comp 函数都没用过,建议先补基础语法再看这门。
建议先看哪几块,怎么配合资料练
别按目录顺序一节节刷,按问题类型分组看更快。第一组是 comp 和 split,这是拆分的主轴,先看这两块,搞清楚 comp 是按面取零件、split 是按轴或尺寸切分,两者经常嵌套用。第二组是 offset 和 setback,处理退线和内缩,重点看 offset 后几何体拓扑会不会变、setback 在不规则地块上怎么按比例退。第三组是 shapeLUO 和 scatter,偏散布和形状派生,scatter 那两节时长最长,因为散布涉及密度控制、随机种子、碰撞剔除,坑最多。练习时不要光看视频,每看完一个函数,拿资料里的示例规则文件改一个参数:比如把 split 的切分次数从三改成五,看结果怎么变;把 scatter 的密度调高,看会不会重叠。改完报错了再回去看对应那节,这样比顺序刷记得牢。资料里的规则文件是用来改着玩的,不是用来背的,别整段抄。
学完能独立做什么
学完你应该能独立写一套拆分规则:给定一个地块,先 setback 退红线,再 offset 做内部道路或绿地,接着 split 按进深切分出若干建筑单元,最后用 scatter 在剩余面里散布小品或植被。具体说,你能回答这几个问题:comp 的 front、back、side 索引在旋转后的几何体上会不会变;split 用绝对尺寸切分时最后一块不够大怎么办;offset 负值偏移后如果几何体自交,结果会是什么;setback 和 offset 在处理不规则凹多边形地块时行为有什么差别;scatter 的随机种子怎么固定才能保证同一地块每次生成一致。如果这几个问题答不上来,说明对应那节没吃透,回去重看。这门课不保证你立刻能做大型城市项目,但拆分这一关过了,后面写复杂规则就不至于一改就崩。
课程目录
1 comp函数01 (07:10) 2 comp函数02 (05:08) 3 split函数01 (09:35) 4 split02 (13:27) 5 split03函数03 (11:41) 6 offset函数01 (02:39) 7 offset函数02 (06:39) 8 setback函数01 (03:25) 9 setback函数02 (07:34) 10 shapeLUO函数01 (04:03) 11 shapeLUO函数02 (05:08) 12 scatter函数01 (08:47) 13 scatter函数02 (16:12)





