二维项目制作和私有化部署全流程免费,无水印,不限制数量 点击下载

3. 水面淹没效果与数据绑定

视频介绍

山海鲸水的设置系列教程:平面水由数据控制的水面淹没效果
大家好,欢迎大家回到山海鲸水的设置系列教程,今天是第三课。今天这节课,我们一起来看一下,对于我们的平面水来说,如何去设置由数据控制的水面淹没效果。

在真实的场景当中,一般来说,像这种水面我们会有一些传感器,而传感器可能会设置在不同的地方。例如,在这个地方可能会有个传感器,在那个地方也会有传感器,用来识别不同地方的水面深度。但是这一节课,我们先把整个问题简化一下,假设我们只有一个传感器。比如说这个湖面,它整个是平的,我们有一个传感器能识别到这个湖面的整个深度。那么,如何将这个传感器的数据孪生在我们的虚拟场景当中呢?今天我们就带大家一起来看一下。

首先,我们先准备好相关数据。在真实场景中,我们从传感器读取数据,要么需要从物联网设备中直接读取,要么需要用HTTP API的形式接入进来。这两种形式,对于我们测试的时候都不是很方便。因此,山海鲸单独提供了一个将静态数据转成动态数据的方案。今天,我们正好来看一下,如何用Excel的数据来把它转化成一个实时获取的水深数据。

首先,我们手动去做一下数据准备。其实很简单,我们可以自己写一个时间字段,表示在什么时间点采到的数据,再写一个水深字段,比如10米、12米、15米、17米等。假设我们有这两个数据之后,首先把这个数据接入到山海鲸当中。我们点击Excel,这里再强调一下,实际上最终的真实数据是需要通过API来添加的,当然我们也可以用WebSocket这类实时的数据去添加,而真实的数据是要直接去到设备里面去读取的。今天我们既是为了带大家演示这样的一个效果,也是带大家看一下,当没有实时数据,只有静态数据的时候,该怎么用静态数据去测试实时数据的功能。

我们导入数据之后,可以看一下,这就是我们刚刚看到的数据。那这个数据我们该怎么去测试整个由静态转成动态的过程呢?在这里,我们叫“开启数据逐条轮播”,我们点击它,然后可以选择循环次数。这里有个小问题,因为数据是循环的,如果最后是15米,它可能会回跳到开头。如果大家只想看一遍就不循环了,这里为了演示方便,我们就点循环。这样,每几秒就会拨一条数据。也就是说,当我们开启了数据逐条轮播之后,一个历史的数据列表就变成了一个实时数据。比如,这一秒可能是13点,水深是10米,下一秒就变成了14点,水深是12米。这样,我们通过这个字段就可以控制它的深度。

讲完了数据的自动设置项,我们再来看一下,怎么把这个数据绑定到我们的水面上去。首先,我们点击平面,在平面的这个地方有个“位置”选项,这就是我们的x、y、z坐标。我们看一下,y坐标直接去控制水面的高度,就会有这样的一个效果。那我们只需要把刚刚的那个水深绑定到y上就可以了。

首先,我们在这里点击生成数据字段,然后把刚刚的水深填上去。当我们拉上去的那一刻,一般来说大家自己设置的时候可能会遇到问题,因为这里要单独设一个数据微处理。这里因为我刚刚设置过,它记住了,所以我们先把整个的删掉,先看一下大家如果直接设置的时候会是个什么样的样子。我们拉上去之后,看到数据字段当中这个水深只是一个数据,只有一个深度值,比如16米、15米等,大家可以看到它现在已经在轮播了。但是我们刚刚生成的这个位置实际上是x、y、z三个坐标,那我们怎么把这个一维的数据绑到一个三维的数据上呢?我们点击这里有一个叫“数据微处理”的选项,可以看到这里默认是关闭的。我们点击开始之后,会看到它会给你3个x、y、z坐标。这里面,冒号花括号加冒号value,代表它原来的数据值,也就是我们在这边手动设置的那个数据值;而花括号冒号data,代表着我们绑定进来的这个数据值。因此,比如说我们希望把这个data绑定在y上,那么x和z就直接写花括号冒号,注意中英文千万不要写错了,一定是英文的冒号。那这样子这两个值就代表我们不想动它,它就是原来我们手动设置的那两个值,因为我们手动会先调好,而这里我们是需要给它一个data。这样设好了之后,我们可以看到,每3秒这个数据就已经绑定上来了,它每3秒都会变化一下。

大家可以看到这个效果,但这个时候大家可能会说,这个变化也太生硬了,能不能让它有一个过渡呢?那这个也是可以的。我们在这里有个叫“开启补间动画”的选项。但是这里我要提醒大家一下,因为我们默认的开启补间动画是一个路径动画,它会随着这个角度而旋转,但这个时候我们不希望它随着旋转,比如说我们这种直上直下的变化。大家一定要先提前点击平面,然后到这里,把这个“跟随路径旋转”关掉。首先到了4.6.0版本之后,我们的平面默认就不会有这个设置了,但如果是4.6.0之前的版本,同学们记得一定要在这里把“跟随路径旋转”先关掉。然后到这里,数据这里点击开启补间动画。大家可以稍等一下,我们到岸边来看一下,可以看到这个时候,它

相关课程

1 2 3