CGA 规则建模
Cityengine 建模系统的核心就在于 CGA 规则的编写与实现过程,通过用 CGA 规则定义道路、建筑物、植物等模型的形态和位置等信息来创建三维模型。其原理是简单化、具体化、细节化的将三维立体模型结构单独拆开再逐个的详细分解,对其执行循环和迭等操作,最终实现整体建模。
3.1 CGA 规则建模原理
CGA 规则中包含所有建模过程中用到的函数,是一个非常全的代码库。它最基本的用途是将客观存在的物体进行简单化,通过迭代等语法编写将物体进行细节化处理,方便用户去
解决相关的问题。CGA 的执行过程是从代表原始模型的字母名
称开始,由代表原始模型的字母名称开始向规则执行之后代表
的生成模型的字母名称运行,程序运行结束,原始模型的字母
名称失效。同时,在相同的规则文件后面不可以再出现同样的
模型名称。CGA 规则执行的模式是在原有的二维平面地块基础
上,通过拉伸和切割操作创造出基础的建筑框架,然后通过切
割、替换、缩放等函数进行模型的精细化操作最后用纹理函数、
投影设置函数等对建筑物进行纹理贴图,在多种语言规则函数
的变换与共同作用下,生成最终的三维模型。
3.2 建筑物建模
建筑物的规则建模要通过重点分析不同种类的建筑物外
形特点和结构特征,来明确自己的编写思路。整个规则编写的
过程大致分为以下几步:
(1)基础框架的构造,主要用到拉伸(extrude)函 数 、分 离
(comp)函数、切割(split)函数等使其成为一个建筑体。
(2) 模型的精细化,主要是对模型进行细化切割,用切割
(split)函数把窗户、门等细节部分单独切割出来。
(3) 纹理贴图,常用到纹理 (texture) 函数、投影设置
(setupProjection)函数和 UV 投影(projectUV)函数。
除去这些对建筑物整体的规则建模以外,还有对屋顶模型
的编写。在 city engine 中,屋顶主要有四种样式,分别是单坡式
屋顶(roofShed)、双坡式屋顶(roofGable)、四坡式屋顶(roofHip)和
金字塔式屋顶(roofPyramid)。如果在建模的时候想要看到所编
写规则的切割情况是否正确,可以通过打开 3D View 窗口中的
Wireframe on Shaded/textured(模型线框显示)来查看。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。