首页/ CityEngine/ CityEngine中动态水效果的控制

CityEngine中动态水效果的控制

作者:dreamsong 2019-10-31 19:26:46 CityEngine

1384412062_7217.gif

两种方法可以实现动态水体效果



一、动态水体效果规则写法


Water->

    set(material.name,"water__waterparams_10_20")

    X.

 

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


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

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

1.    __water(默认水波参数,流速为:10,波浪高点与低点的差为:7)
2.    __waterquiet(较慢的流速:5,较小的波浪:2)
3.    __waterstormy (较快的流速:30,较大的波浪:15)

微信截图_20191031193233.png

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


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

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

set(material.name,__waterparams____ )

参数说明:

1.    __waterparams____是一段字符串;

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

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

微信截图_20191031193244.png


示例代码如下:


Water->

    set(material.name,"water__waterparams_30_50")

    X.


阅读:57