1、CityEngine软件,绿色版打开即用(mac只有试用版本)
2、某城市SHP数据
打开淘宝搜索,有很多相关店铺,买过几家的,有的特别贵有的很便宜。
当时海淀区建筑数据就是买但这一家,数据质量还不错,而且便宜。
1、打开CityEngine,新建个空场景
选择保存位置,命名
选择坐标系,但我们只是为了导出模型,随便选也没事,但还是建议选84坐标
2、文件 -> 导入 -> 选择Shapefile导入 -> 浏览数据 -> 完成准备好的数据 -> 然后数据就加好了
注:还有一个方法是直接把数据拖到data文件夹里,然后再把拖进去的数据里的shp文件拖到视图里
3、文件 -> 新建 -> CGA规则文件
cga规则文件就是以代码形式写一些规则,然后程序根据这些规则来建模,下图为cityengine自带的官方的规则文件
拾取高度写法:
attr floor = 0
Lot-->
extrude(floor)
注意:floor这个字段必须和SHP写有高度字段相同,而且是分大小写的。
随机高度写法:
attr gao = rand(2,100)
Lot-->
extrude(gao)
注意:gao是变量,rand是函数,挤出2-100的高度
更高级一点的写法:
@Group("Building")
attr floors=0 //获取对象属性 floors,对象属性无值时取默认值 0
@Group("Building")
attr GroundFloor_hei=4.5 //定义建筑底层高度,可在 inspector 面板中调整
Floor_hei=case floors<7:3
else:2.8
//自定义函数中间楼层的高度,当楼层数小于 7 时中间楼层的高度为 3 米,大于 6 时为 2.8 米
Lot-->
extrude(GroundFloor_hei+(floors-1)*Floor_hei)
comp(f){top:TopFacade | side:SideFacade}
//Lot 规则按照建筑的楼层数和楼层高度把建筑底面拉伸成一定高度,同时把建筑拆分为立面 和顶面
4、选中想要定义的建筑(可以全选也可以按区域选),把规则文件拖上去,生成建筑
上图我定义了规则,把建筑顶面与立面用不同颜色拆分开来了,规则后面加一段
comp(f){side:color("#fff000") SplitModel. | top:color("#000fff") TopFacade}
5、导出模型,常用FBX,然后就可以把这些模型放入项目了
网上有个7万人在学的教程,还原风格比较单一的欧洲城市(一个人一百多,知识的力量啊)
https://www.bilibili.com/video/BV1ZJ411C7eS?from=search&seid=2643061965787233858
文章
10.79W+人气
19粉丝
1关注
©Copyrights 2016-2022 杭州易知微科技有限公司 浙ICP备2021017017号-3 浙公网安备33011002011932号
互联网信息服务业务 合字B2-20220090