CityEngine中动态水的实现

地址:http://pan.baidu.com/share/link?shareid=3871210059&uk=3492170216
密码:am5b 在今年Esri全球用户大会和Esri中国用户大会的主体大会上都能看到动态水在Web端的身影,如下面这幅图就是Esri中国用户大会上展示的高铁中的动态水效果:


像上面这幅动态水的效果只需要修改图层的名字或者一句简单的规则如下:

WaterWave2-->
    set(material.name,"water__waterparams_30_50")
    X.

然后将该规则赋给矢量的面片就可以得到上面的效果。那么这其中又有什么样的区别呢?其中的制作流程又是怎样的呢?下面将从动态水制作、场景导出和发布两个方面来做一下阐述。

动态水制作

通过修改图层(要素)名字制作动态水

下面的字符串能够在Web查看器中触发动态水效果的显示:

1.    <something>__water<something>(默认水波参数,流速为:10,波浪高点与低点的差为:7)

2.    <something>__waterquiet<something>(较慢的流速:5,较小的波浪:2)

3.    <something>__waterstormy<something> (较快的流速:30,较大的波浪:15)

说明:此部分指当图层或形状(要素)的名字满足“*__water*”时,在导出成WebSecene时就会渲染为动态水的效果。其中图层的名字满足这种形式时,该图层下的所有对象都会被渲染成动态水的效果,当形状(要素)的名字满足这种形式时只有该形状会在web端渲染出动态水的效果。其中的连接符为英文状态下的双下划杠“__”。

通过规则制作动态水(流速/波浪可调整)

在默认流速的情况下操作相对比较简单,我们只需要更改图层或要素的名字就可以触发动态水的显示效果。如果需要自定义水流的速度、波浪的大小就需要编写规则。直接通过定义材质的名称就可以了,形式如下:

set(material.name,<something>__waterparams__<wavesize>__ <wavespeed>)

参数说明:

1.    <something>__waterparams__<wavesize>__<wavespeed>是一段字符串;

2.    <something>是任意字符,<wavesize>是数值型参数(浮点型和整形都可以)指波浪高点与低点的差,<wavespeed>是数值型指流速;

3.    中间的连接符为为英文状态下的双下划杠“__”。

示例代码如下:

WaterWave2-->
    set(material.name,"water__waterparams_30_50")
    X.

场景导出

1.    选择要导出的模型/形状;

2.    通过菜单File → Export Models...打开Choose format formodel export窗口,并在此窗口中选择CityEngine Web Scene并点击下一步如下图:

3.    在弹出的窗口中选择默认并下一步;

4.    在弹出窗口中点击finish即完成场景的导出。


导出完成后,在文件导航窗口刷新工程下的models文件夹就会看到新生成的场景文件。

场景预览和发布

在文件导航窗口右键选择并选择3D WebScene Viewer/(offline)就可以进行预览。

预览会发现并不会出现动态水的效果,这是因为CityEngine2012自带的Web Viewer里面并不支持动态水的效果(CityEngine 2013会支持),在这里给大家准备了最新的webviewer只需要要把原文件夹中的工作空间下的“…/ce.lib/webviewer”文件夹及里面的内容删掉,把新webviewer文件夹拷到相应的目录即可实现在CityEngine中的预览。

如果需要把web scene部署到自己的IIS端,可以参考博文《CityEngine Web Scene如何在IIS下部署》,同样需要用新webviewer替换原有的webviewer。

另外在arcgis online有很多资源(http://www.arcgis.com/features/),可以帮助我了解国外的朋友是如何利用CityEngine建模、如何利用CityEngine解决实际问题的(如:波特兰市城市污染物分析等)。推荐online的几个组,里面有很多很好的web scene场景:

1.CityEngine UserGenerated Web Scenes :http://www.arcgis.com/home/group.html?owner=CityEngine&title=CityEngine%20User%20Generated%20Web%20Scenes

2.CityEngine WebScenes:http://www.arcgis.com/home/group.html?owner=CityEngine&title=CityEngine%20Web%20Scenes

3.3D GIS CityModel-featured Web Scenes:http://www.arcgis.com/home/group.html?owner=cybercity3dinc&title=3D%20GIS%20City%20Model-featured%20Web%20Scenes

如果你有比较有创意/漂亮的作品想与国外的同行进行分享,只需要注册个online帐号就可以发布了。

此外如果想在组织内部对我们成果做共享,portal for ArcGIS也是一个不错的选择。想要了解相关内容请关注ArcGIS产品与技术专栏——云计算

原文地址:https://www.cnblogs.com/keanuyaoo/p/3424206.html