- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CityEngine中文实例
Tutorial_06_Basic_Shape_Grammar__2011_1
1.构建简单建筑物;2.为简单建筑物贴纹理;3.添加LOD;4.建筑物属性随机变化。
构建简单建筑物
本节学习最终要构建一个如下图的建筑物,该建筑物有地面一楼和其他楼层,一楼的正面有一个入口的门,其他窗口都使用的是一个提前做好的OBJ模型。
下面开始创建规则进行建模:
??? 为了更好的理解规则,我们自己创建一个新的规则,按照教程中的语句进行规则的书写。
1.????在规则文件的最开始处定义建筑的属性(也可以放在规则文件的其他位置)。在CGA文件中,这些属性将对整个规则文件产生作用。这些属性将显示在属性查看器(Inspector)中,可通过属性查看器修改这些属性。
attr groundfloor_height = 4 //地面一楼的高度
attr floor_height = 3.5 //其他楼层的高度
attr tile_width = 3 //将楼面按块划分的宽度
attr height = 11 //楼高
attr wallColor = #fefefe //墙面颜色
2.????教程中构建的窗户是使用的一个已经建好的窗户模型window.obj,这个文件存放在assets文件夹中,使用之前也要先定义出来。
window_asset = facades/window.obj //指定obj文件
?
3.????下面我们定义第一条规则为Lot.?在属性检查器中,该规则被指定为开始规则。大量的模型是使用拉伸操作创建而来的:
//对shape使用height中定义的高度进行拉伸,并命名为Building
Lot --
extrude(height) Building
拉伸之后如下图:
????
4.????可以通过应用comp()将Building分解为多个面, 生成了正面(FrontFacade)、多个侧面(SideFacade)和一个顶面(Roof)
Building--
comp(f){ front : FrontFacade | side : SideFacade | top: Roof}
5.????分解完成之后,就开始开始对这些面进行外观造型。典型的外观造型流程如下:1,将面分解为楼层(Floors)。2,将楼层分解为块(Tile),每一块通常由墙面和窗口构成。这样的细分过程在CGA要素语法的实现过程如下图:
?
//下面的FrontFacade规则将正面沿y轴方向,分割为两大部分,第一部分高度为groundfloor_height的地面一层Groundfloor,剩余的以floor_height高度进行重复分割(以*符号标记),分割为多个Floor。FrontFacade --
split(y){ groundfloor_height : Groundfloor | { ~floor_height: Floor }* }
正面分割之后如下图:
?
6.???? 细分侧面:
SideFacade --
split(y){ groundfloor_height: Floor | { ~floor_height: Floor }* }
SideFacade规则将侧面沿y轴方向分割也分为两大部分,这两部分使用的都是是相同的Floor对象,因此侧面这两大部分看起来都应该是一样的。只有高度不一样,高度不一样主要是为了与正前面的楼层高度保持一致。
侧面分割之后如下图,三个侧面都是一致的:
?7.?????继续对Floor对象进行细化:
//先给每层楼在x轴方向的两端画出宽度为1的墙面(Wall),剩余的部分以tile_width为宽度重复分割(Tile)Floor --
split(x){ 1: Wall
| { ~tile_width: Tile }*
| 1 : Wall }
如下图:
8.?????最后对正面的地面一楼进行细化:
//同样先在x轴方向的两端画出宽度为1的墙面(Wall),按照tile_width划分为多个Tile,并按照tile_width划分出一个入口EntranceTile。
Groundfloor --split(x){ 1: Wall |{ ~tile_width: Tile }* | ~ til
您可能关注的文档
- 系统数据库设计2.docx
- 某超管理信息系统详细设计.doc
- 新译林版四上Project 1 My profile教案.doc
- Cintas反恐审核-Chinese WORD FILE Security Profile Questionnaire.doc
- GRE作文--杜绝第一反应词和幼稚词汇.doc
- 解决win7 user profile service failed.docx
- mongo profile性能调优.doc
- 背诵任务16-17.docx
- 12-10天津卷书面表达.doc
- 基础英语第一册 练习2.doc
- 浙江国企招聘-2025年温州市国有资本投资运营有限公司招聘16人备考题库(第二批)精编答案详解.docx
- 九年级语文上册:《敬业与乐业》说课(人教版).doc
- 浙江国企招聘-2025年温州市国有资本投资运营有限公司招聘16人备考题库(第二批)带答案详解.docx
- 浙江国企招聘-2025年温州市国有资本投资运营有限公司招聘16人备考题库(第二批)附答案详解.docx
- 基础强化苏科版八年级物理下册《物质的物理属性》单元测试试题(含详解).docx
- 师德师风安全培训会课件.pptx
- 浙江国企招聘-2025年温州市国有资本投资运营有限公司招聘16人备考题库(第二批)有答案详解.docx
- 浙江国企招聘-2025年温州市国有资本投资运营有限公司招聘16人备考题库(第二批)完整参考答案详解.docx
- 2024-2025学年人教版八年级上册物理《长度和时间的测量》定向测试练习题(详解).docx
- 【同步课件】《明朝的科技、建筑与文学》.pptx
最近下载
- 电子技术课程设计报告---- 峰值检测系统.doc VIP
- GZ072 飞机维修赛项A模块评分标准A3(后台评分表)-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
- GZ072 飞机维修赛项A模块评分标准A3(现场评分表)-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
- 新生儿颅内出血护理查房.pptx VIP
- 文职文印员考试题及答案.doc VIP
- 文职文印员考试题及答案.doc VIP
- 课件:消防系统培训 (最全).ppt VIP
- 日立MCA(CA9)乘客电梯安装调试手册.pdf VIP
- GZ072 飞机维修赛项正式赛卷B2’查询记录单答案-2023年全国职业院校技能大赛赛项正式赛卷.docx VIP
- 脑血管搭桥术后的护理查房.pptx VIP
原创力文档


文档评论(0)