“CityEngine”的版本间的差异

来自Wiki.Citydatum
跳转至: 导航搜索
上手
第15行: 第15行:
 
=== 用户界面 ===
 
=== 用户界面 ===
 
* '''主要窗口类型''':导航栏、场景编辑器、CGA规则编辑器、三维视窗、平面图(顶视图的三维视窗)、监视窗口、控制台输出、消息记录
 
* '''主要窗口类型''':导航栏、场景编辑器、CGA规则编辑器、三维视窗、平面图(顶视图的三维视窗)、监视窗口、控制台输出、消息记录
=== 基本建模流程 ===
+
=== 基本流程 ===
 
* '''新建场景''':在创建CityEngine项目之后,可创建新的场景(scene);
 
* '''新建场景''':在创建CityEngine项目之后,可创建新的场景(scene);
 
* '''创建布局''':城市布局(layout)由街道(street)、街坊(block)、地块(lot)构成,最简便的创建城市布局的方法,是使用Graph菜单下的“街道生成向导”(Street Creation Wizard);也可导入由[[AutoCAD]]导出的[[DXF]]文件、由[[OpenStreetMap]]导出的[[OSM]]文件来生成街道网络;
 
* '''创建布局''':城市布局(layout)由街道(street)、街坊(block)、地块(lot)构成,最简便的创建城市布局的方法,是使用Graph菜单下的“街道生成向导”(Street Creation Wizard);也可导入由[[AutoCAD]]导出的[[DXF]]文件、由[[OpenStreetMap]]导出的[[OSM]]文件来生成街道网络;
第32行: 第32行:
 
| 后续模型处理 || 导出标准工业格式的模型文件
 
| 后续模型处理 || 导出标准工业格式的模型文件
 
|}
 
|}
=== CGA规则 ===
+
=== CGA规则语法 ===
* '''CGA形状语法'''(CGA Shape Grammar Language):CGA(computer generated architecture)规则可在整个城市的尺度上,控制大量的几何形、比例、建筑或街道风貌肌理。
+
CGA(computer generated architecture)规则可在整个城市的尺度上,控制大量的几何形、比例、建筑或街道风貌肌理。规则文件由规则、属性、自定义函数以及注释等构成的集合。
* '''形状'''(Shape):形状是CGA形状语法的核心元素,形状的名字被称为“形状符号”(shape symbol),由几何体构成,并具有被称“范围”(scope)的包围盒(oriented bounding box)。
+
* '''形状'''(Shape):形状是CGA规则语法的核心要素,形状的名字被称为“模型标识”(shape symbol),由几何体构成,并具有被称“范围”(scope)的包围盒(oriented bounding box)。
* '''基本思路''':用由一系列形状组成的形状符号,来替代原始形状,即 <code>PredecessorShape --> Successor</code>
+
* '''规则(函数)'''
* '''常用函数''':
+
{| class="wikitable"
 +
|-
 +
! 规则类型 !! 形式 !! 特点
 +
|-
 +
| style="width: 7%;" | 标准规则 || style="width: 38%;" | <pre>PredecessorShape -->
 +
    Successor</pre> || style="width: 55%;" | 与无参函数比较类似,其结果返回给模型标识
 +
|-
 +
| 带参规则 || <pre>PredecessorShape(Parameters) -->  
 +
    Successor</pre> || 与有参函数比较类似,根据需要传递改变后继模型外观的信息
 +
|-
 +
| 随机规则 || <pre>PredecessorShape -->
 +
    percentage%: Successor1
 +
    percentage%: Successor2
 +
    ...
 +
    else: SuccessorN</pre> || 用以随机生成不同外观的模型
 +
|-
 +
| 条件规则 || <pre>PredecessorShape -->
 +
    case condition1: Successor1
 +
    case condition2: Successor2
 +
    ...
 +
    else: SuccessorN</pre> || 与函数中的条件语句比较类似,条件规则的关键字是case、else,根据不同的条件生成不同外观的模型
 +
|-
 +
| 递归规则 || <pre>PredecessorShape -->
 +
    case condition1: Operations PredecessorShape
 +
    case condition2: Successor2
 +
    ...
 +
    else: SuccessorN</pre> || 与函数中的循环语句比较类似,适用于满足一定条件时重复执行相同的操作
 +
|}
 +
=== 常用函数 ===
 
** <code>t(x,y,z)</code>:移动(复制),Translate?;
 
** <code>t(x,y,z)</code>:移动(复制),Translate?;
 
** <code>t(x,y,z)</code>:缩放,Scale?;
 
** <code>t(x,y,z)</code>:缩放,Scale?;

2018年6月14日 (四) 06:40的版本

TODO
提示:该页面仍需进一步完善,欢迎加入我们

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文件来生成街道网络;
操作 数据形式
前期数据准备 地理或控制地图,属性图层(图像)
街道网络创建与编辑 街道网络,graph图形(中线)
基本的地块/街道机和编辑及街块细分 地块与街道,shape形状(二维多义面)
用形状语法进行几何体生成 三维城市,模型(带贴图的三维体块mesh)
后续模型处理 导出标准工业格式的模型文件

CGA规则语法

CGA(computer generated architecture)规则可在整个城市的尺度上,控制大量的几何形、比例、建筑或街道风貌肌理。规则文件由规则、属性、自定义函数以及注释等构成的集合。

  • 形状(Shape):形状是CGA规则语法的核心要素,形状的名字被称为“模型标识”(shape symbol),由几何体构成,并具有被称“范围”(scope)的包围盒(oriented bounding box)。
  • 规则(函数)
规则类型 形式 特点
标准规则
PredecessorShape -->
    Successor
与无参函数比较类似,其结果返回给模型标识
带参规则
PredecessorShape(Parameters) --> 
    Successor
与有参函数比较类似,根据需要传递改变后继模型外观的信息
随机规则
PredecessorShape --> 
    percentage%: Successor1 
    percentage%: Successor2
    ...
    else: SuccessorN
用以随机生成不同外观的模型
条件规则
PredecessorShape --> 
    case condition1: Successor1 
    case condition2: Successor2
    ...
    else: SuccessorN
与函数中的条件语句比较类似,条件规则的关键字是case、else,根据不同的条件生成不同外观的模型
递归规则
PredecessorShape --> 
    case condition1: Operations PredecessorShape 
    case condition2: Successor2
    ...
    else: SuccessorN
与函数中的循环语句比较类似,适用于满足一定条件时重复执行相同的操作

常用函数

    • t(x,y,z):移动(复制),Translate?;
    • t(x,y,z):缩放,Scale?;
    • i("example.obj"):插入(替换),Insert?,;

参考链接