CityEngine
来自Wiki.Citydatum
CityEngine是一款Esri苏黎世研发中心(原Procedural公司)开发的三维建模软件应用,特别适合于三维城市环境的生成。利用程序化建模(procedural modeling)方法,CityEngine可支持细节丰富、大尺度三维城市模型的创建。
概述
- 基于规则批量建模编辑:规则定义了一系列的几何和纹理特征决定了模型如何生成。基于规则的建模的思想是定义规则,反复优化设计,以创造更多的细节。当有大量的模型创造和设计时,基于规则建模可以节省大量的时间和成本。最初,它需要更多的时间来写规则文件,但一旦做到这一点,创造更多的模型或不同的设计方案,比传统的手工建模更快。
- 与ArcGIS集成编辑:CityEngine提升了ArcGIS三维建模能力,充分使用GIS数据快速创建3D内容,为ArcGIS三维数据的获取提供保障,使得ArcGIS三维解决方案更加完善。
应用
- 城市规划与城市设计:
- 城市研究:
- 电影制作:疯狂动物城、超能陆战队均利用CityEngine来构建大尺度的城市模型;
- 游戏开发:
上手
用户界面
- 主要窗口类型:导航栏、场景编辑器、CGA规则编辑器、三维视窗、平面图(顶视图的三维视窗)、监视窗口、控制台输出、消息记录
CGA规则
- CGA形状语法(CGA Shape Grammar Language):CGA(computer generated architecture)规则可在整个城市的尺度上,控制大量的几何形、比例、建筑或街道风貌肌理。一个简单的CGA规则文件示例如下:
/** * File: building_01.cga * Created: 31 Oct 2008 10:47:50 GMT * Author: andi */ attr minheight = 10 attr maxheight = 30 attr floorheight = 3 attr windowwidth = 2 Lot --> extrude(rand(minheight,maxheight)) Components Components --> comp(f){top : Roof. | side : Facade} Facade --> split(y){~floorheight : Floor}* Floor --> split(x){~windowwidth : Window}* Window --> i("modern_window.obj")