CityEngine2012实现模型的优化

0
分享 2015-03-05
冗余的节点和面会影响三维场景运行的流畅度,CityEngine2012新增的cleanupGeometry规则和Cleanup Shape功能可以快速方便的对模型进行优化。下面结合外部导入的模型来分别看一下这两种方式在CityEngine2012中如何使用。
1 cleanupGeometry规则 首先简要介绍一下:cleanupGeometry(componentSelector, tol)
该规则能够对模型进行优化以减少模型的节点和面数,其中componentSelector是优化的要素有四个可选值:vertices,edges,faces,all(包含点、线、面);tol 为容差值。
利用规则把模型导入到CityEngine中,导入模型的规则如下:
attr model="exportdae/tempdae.dae"
Lot-->
i(model) //引入外部模型

该原始模型在3ds Max和CityEngine中的统计信息:

图为dae格式的模型导入到max里,模型效果与节点、面片数信息(758个面片、2182个节点)

dae格式模型导入到CityEngine里的效果与面片数信息(756个面)
然后利用cleanupGeometry对模型进行优化,其规则如下:
attr model="exportdae/tempdae.dae"
Lot-->
i(model)
cleanupGeometry(all,0.2) //模型优化操作,对所有要素进行优化其容差为0.2

经过优化之后的模型在CityEngine和3ds Max中的统计信息如下:

dae格式模型导入到CityEngine里进行优化之后的效果与面片数信息(300个面)

图为模型优化后在max里显示的相关信息(300个面片、806个节点)。
从上面的对比信息中可以看到通过cleanupGeometry规则有效地减少了节点和面的数量。

2 Cleanup Shape功能 在按照第一种方式导入模型的基础之上,还可以利用Cleanup Shape功能对模型进行优化。下面看一下如何利用Cleanup Shape功能进行优化.
2.1 把模型转换为形状(convert models to shapes) 首先选中要转换的模型,右键单击在弹出的列表中选择Convert Models to Shapes就可以把模型转换为形状。

此外,还可以通过菜单Shapes菜单调用Convert Models to Shapes。

2.2 模型优化 选中转换为形状的数据,右击选择Cleanup Shapes弹出如下对话框:

调整Distance Tolerance(容差值)为0.2,其它默认点击Finish就完成模型的优化。

利用Cleanup Shapes对模型进行优化后,CityEngine的面片数为297。

优化后的模型导入到3ds Max中显示的信息,点832,面片297。

3 总结 通过上面的操作和对比可以发现这两种方式都能实现模型的优化,不同的是cleanupGeometry优化的对象是模型,优化之后CityEnegine默认的类型仍然是模型;Cleanup Shapes针对的是形状,优化之后CityEngine默认的类型还是形状。这两种方式处理的结果都可以通过导出方式得到我们所需要格式的模型。在具体的应用时可以根据实际需求选用其一。
文章来源:http://blog.csdn.net/arcgis_all/article/details/8363743

0 个评论

要回复文章请先登录注册