查看“CityEngine”的源代码
←
CityEngine
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{提示|该页面仍需进一步完善,欢迎加入我们}} CityEngine是一款[[Esri]]苏黎世研发中心(原Procedural公司)开发的三维建模软件应用,特别适合于三维城市环境的生成。利用程序化建模(procedural modeling)方法,CityEngine可支持细节丰富、大尺度三维城市模型的创建。 == 概述 == * '''基于规则批量建模编辑''':规则定义了一系列的几何和纹理特征决定了模型如何生成。基于规则的建模的思想是定义规则,反复优化设计,以创造更多的细节。当有大量的模型创造和设计时,基于规则建模可以节省大量的时间和成本。最初,它需要更多的时间来写规则文件,但一旦做到这一点,创造更多的模型或不同的设计方案,比传统的手工建模更快。 * '''与ArcGIS集成编辑''':CityEngine提升了ArcGIS三维建模能力,充分使用GIS数据快速创建3D内容,为ArcGIS三维数据的获取提供保障,使得ArcGIS三维解决方案更加完善。 == 应用 == * '''城市规划与城市设计''': * '''城市研究''': * '''电影制作''':疯狂动物城、超能陆战队均利用CityEngine来构建大尺度的城市模型; * '''游戏开发''': == 上手 == === 用户界面 === * '''主要窗口类型''':导航栏、场景编辑器、CGA规则编辑器、三维视窗、平面图(顶视图的三维视窗)、监视窗口、控制台输出、消息记录 === 基本流程 === * '''新建场景''':在创建CityEngine项目之后,可创建新的场景(scene); * '''创建布局''':城市布局(layout)由街道(street)、街坊(block)、地块(lot)构成,最简便的创建城市布局的方法,是使用Graph菜单下的“街道生成向导”(Street Creation Wizard);也可导入由[[AutoCAD]]导出的[[DXF]]文件、由[[OpenStreetMap]]导出的[[OSM]]文件来生成街道网络; {| class="wikitable" |- ! 操作 !! 数据形式 |- | 前期数据准备 || 地理或控制地图,属性图层(图像) |- | 街道网络创建与编辑 || 街道网络,graph图形(中线) |- | 基本的地块/街道机和编辑及街块细分 || 地块与街道,shape形状(二维多义面) |- | 用形状语法进行几何体生成 || 三维城市,模型(带贴图的三维体块mesh) |- | 后续模型处理 || 导出标准工业格式的模型文件 |} === CGA规则语法 === CGA(computer generated architecture)规则可在整个城市的尺度上,控制大量的几何形、比例、建筑或街道风貌肌理。规则文件由规则、属性、自定义函数以及注释等构成的集合。 * '''形状'''(Shape):形状是CGA规则语法的核心要素,形状的名字被称为“模型标识”(shape symbol),由几何体构成,并具有被称“范围”(scope)的包围盒(oriented bounding box)。 * '''规则(函数)''' {| class="wikitable" |- ! 类型 !! 特点 !! 形式 !! 示例 |- valign="top" | style="width: 5%;" | 标准规则 || style="width: 16%;" | 与无参函数比较类似,其结果返回给模型标识 || stylpe="width: 32%;" | <pre>PredecessorShape --> Successor</pre> || stylpe="width: 45%;" | <pre>Lot --> extrude(10) CompModel</pre> |- valign="top" | 带参规则 || 与有参函数比较类似,根据需要传递改变后继模型外观的信息 || <pre>PredecessorShape(Parameters) --> Successor</pre> || <pre>Lot --> color(1,0,0) Footprint(20) Footprint(height) --> extrude(height) Envelope</pre> |- valign="top" | 随机规则 || 用以随机生成不同外观的模型 || <pre>PredecessorShape --> percentage%: Successor1 percentage%: Successor2 ... else: SuccessorN</pre> || <pre>Lot --> 60%:color(1,0,0) Footprint(20) 30%:color(0,1,0) Footprint(30) else:color(0,0,1) Footprint(50) Footprint(height) --> extrude(height) Envelope</pre> |- valign="top" | 条件规则 || 与函数中的条件语句比较类似,条件规则的关键字是case、else,根据不同的条件生成不同外观的模型 || <pre>PredecessorShape --> case condition1: Successor1 case condition2: Successor2 ... else: SuccessorN</pre> || <pre>Lot --> case geometry.area<400:color(1,0,0) Footprint(20) case geometry.area>1000:color(0,1,0) Footprint(30) else:color(0,0,1) Footprint(50) Footprint(height) --> extrude(height) Envelope</pre> |- valign="top" | 递归规则 || 与函数中的循环语句比较类似,适用于满足一定条件时重复执行相同的操作 || <pre>PredecessorShape --> case condition1: Operations PredecessorShape case condition2: Successor2 ... else: SuccessorN</pre> || <pre>Lot --> extrude(10) color(1,0,0) comp(f){side:SideFacade | top:Recursive} Recursive --> case geometry.area > 100: X s('0.8,'0.8,'1) extrude(3) center(xz) comp(f){side:SideFacade|top:Recursive} else: X </pre> |} === 常用函数 === ** <code>t(x,y,z)</code>:移动(复制),Translate?; ** <code>t(x,y,z)</code>:缩放,Scale?; ** <code>i("example.obj")</code>:插入(替换),Insert?,; == 参考链接 == * [http://www.esri.com/software/cityengine/ 官方网站] * [https://en.wikipedia.org/wiki/CityEngine Wikipedia: CityEngine] * [https://baike.baidu.com/item/Esri%20CityEngine 百度百科:Esri CityEngine]
该页面使用的模板:
模板:提示
(
查看源代码
)
返回至
CityEngine
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
分类索引
最近更改
随机页面
用户指南
编辑助手
工具
链入页面
相关更改
特殊页面
页面信息