[]
在3D场景中可以配置动画,让3D场景的表现更加丰富。下图是数据预警的动画,当数据达到阈值时,绑定数据的物体会运行预警动画
在开始介绍如何创建、使用动画之前,我们先了解一下3D场景中有关动画的一些基本概念
在3D场景设计器左边,打开动画面板,在这里你可以查看、新建、复制、删除动画。
新建动画
复制动画
删除动画
禁用动画或启用动画
3D场景支持3种动画类型:
模型内置动画
模型节点动画
数据图层动画
每一种动画都可以定义执行的时机,支持场景加载完成后立即执行,也可以基于实时数据进行判别执行。节点动画和数据图层动画支持动画的目标来自实时的数据绑定,例如移动动画,可以移动到某一个绑定的实时数据。
模型内置动画是通过设定相关配置,运行3D模型自带的动画。
添加内置动画
操作步骤 | |
---|---|
打开动画面板 添加一个模型内置动画 打开3D场景设计器右侧的属性设置面板, 配置动画的相关设置 |
设置选项
设置 | 描述 |
---|---|
动画名称 | 设定动画的名字,该名字在整个3D场景中唯一不可重复。 |
内置动画 | 选择要运行的某个模型的一个动画 内置动画列表会显示当前3D模型的内置动画,如果没有无法构建内置动画。 |
循环模式 | (详见 动画循环模式) |
延迟执行(秒) | 在满足执行时机后,等待设置的时长(秒)后才运行动画 |
执行时机 | 支持三种时机:场景加载完成、满足设置的条件以及手动触发(详见 动画执行时机设置) |
模型节点动画是给3D场景中某一个具体的节点设置动画
设置选项
设置 | 描述 |
---|---|
动画名称 | 设定动画的名字,该名字在整个3D场景中唯一不可重复。 |
节点名称 | 输入要运行动画的节点名字 |
动画类型 | (详见 动画类型) |
循环模式 | (详见 动画循环模式) |
执行时长(秒) | 整个动画执行多久(秒) |
延迟执行(秒) | 在满足执行时机后,等待设置的时长(秒)后才运行动画 |
执行时机 | 支持三种时机:场景加载完成,满足设置的条件以及手动触发(详见 动画执行时机设置) |
数据图层动画 会在该数据图层所有满足条件的模型节点上运行设定的动画
设置选项
设置 | 描述 |
---|---|
动画名称 | |
数据图层 | 选择一个已经存在的数据图层 |
动画类型 | (详见 动画类型) 在8.0版本,数据图层动画的动画类型不支持移动和旋转 |
循环模式 | (详见 动画循环模式) |
执行时长(秒) | 整个动画执行多久(秒) |
延迟执行(秒) | 在满足执行时机后,等待设置的时长(秒)后才运行动画 |
执行时机 | 支持三种时机:场景加载完成,满足设置的条件以及手动触发(详见 动画执行时机设置) |
3D 场景中的动画一共有3种循环模式:
循环模式 | 描述 |
---|---|
单次 | 在到达动画结束值(目标值)时,停止动画。 单次模式还可以配置以下设置,是否保留结束时状态
|
重复 | 在到达动画结束值时,立即从初始状态重新启动动画 |
循环 | 在到达动画结束值时,将反转其方向到初始值,而不是从头开始 |
示例
物体从 A 点 移动到 B 点,动画时长都设置为4秒
动画类型 | 描述 | 目标值是否支持数据绑定 | |
---|---|---|---|
改变颜色 | 改变节点蒙层颜色 | 否 | |
隐藏 | 隐藏节点 | 否 | |
移动 | 移动节点到指定位置 | 是 | |
移动(偏移) | 根据设定的偏移量移动节点 | 是 | |
旋转 | 旋转节点到指定角度 | 是 | |
缩放 | 根据设定的缩放倍数缩放该节点 | 是 |
某些动画类型的目标值支持两种数据设定:固定值和动态数据。
对于不同的动画类型,动态数据的来源设置也不一样:
模型节点动画:可以自由选择数据模型和字段
数据图层动画:只能选择在该数据图层中已经绑定好的数据字段
示例:设置一个节点(小车)通过实时数据进行移动
步骤 | 描述 | |
---|---|---|
1 | 创建一个数据图层,设置关联的数据集 (例如小车位置实时数据) | |
2 | 设置数据集自动刷新为定时刷新或实时刷新 | |
3 | 添加一个模型节点动画 | |
4 | 设置节点名称:输入想要移动的物体名称,例如“小车” | |
5 | 设置循环模式:单次 | |
6 | 设置保存结束时状态:是 | |
7 | 动画类型:移动 | |
8 | 位移:动态数据 在弹出的对话框里设置动态数据 | 如果x/y/z 某个移动方向没有设置数据绑定,则在该方向,会使用节点当前值。 例如:小车只在x方向移动,只需要设置 x 字段,y和z无需设置。 |
9 | 点击确定保存动态数据设置 | |
10 | 切换到预览模式,现在小车就会根据每次收到的数据移动到对应的位置。 |
动画支持三种执行时机
场景加载完成:在运行时,当场景加载完成后,立即执行该动画
满足条件:当满足设置的条件时,执行该动画,通常会选择绑定的实时数据
手动触发:在仪表板中通过组件的命令来触发动画
场景模型加载完成后,立即执行该动画。
满足特定的数据条件,来执行动画。
设置 | 描述 |
---|---|
执行时机 选择 满足条件 | |
点击按钮切换到条件设置页面 | |
设置数据字段 | 该设置会弹出动态数据设置对话框,模型节点动画 和 数据图层动画 的动态数据设置是不同的 模型节点 数据图层 |
数据字段类型 | 根据数据字段返回数据的数据类型不一样,对应的条件设置也不一样。有以下返回数据类型
|
文本 | 文本类型字段的条件设定: 匹配规则 匹配值,支持固定值或动态数据 |
数字 | 数字类型字段的条件设定: 条件 单值条件 双值条件 相比于:支持固定值 动态数据 |
日期 | 日期类型字段的条件设定: 条件 单值条件 双值条件 相比于:支持固定值或动态数据 |
布尔 | 类型字段的条件设定: 条件 相比于:支持固定值或动态数据 |
在3D场景中,为指定节点添加一个动画,并选择执行时机为手动触发
在仪表板中使用该3D场景,添加另外一个组件,通过该组件的命令来控制动画的执行,比如,我们添加一个按钮组件
设置组件的左键选项为命令
在命令设置窗口,指定绑定的命令等信息
命令:选择3D场景动画
3D场景:选择需要控制动画的3D场景
动画名称:选择绑定的3D场景中的动画
动画动作:根据需要选择动画的动作,来控制动画的执行或停止
预览该仪表板,通过点击按钮来观察3D场景动画的执行。