1. 概述
适用场景:安装了「FineVis数据可视化」插件的用户,可参考本文了解 FineVis 的相关功能。
1.1 版本
报表服务器版本 | 插件版本 | 功能变动 |
---|---|---|
11.0.22 | V2.10.0 |
|
1.2 应用场景
在三维自定义场景中,若模型带有动画方案或设置了线框动画,可以为三维场景添加模型动画。效果如下图所示:
模型动画可与其他组件实现联动效果,具体请参见 FVS三维模型动画应用实例 。本文档仅介绍模型动画的设置。
2. 功能介绍
若模型中带有动画方案,可通过以下三种方式添加动画:
自定义模型组件编辑页面:「模型>模型动画管理」
标题等组件:添加「交互>鼠标点击事件>三维模型动画」事件
标题等组件:添加「交互>鼠标点击事件>JavaScript」事件
注:若动画方案中涉及的动画对象因 glb 文件/导入模型被删除而删除,对应的动画方案不删除,仅设置内动画对象显示为动画不存在。
2.1 模型动画管理
1)在「模型」配置面板中,点击「模型动画管理」,再点击「添加动画方案」。
注1:V2.10.0 之前版本,需要先勾选「开启模型动画」,再添加动画方案。详情请参见 V2.10.0更新日志。
注2:当三维场景内无动画对象时,添加动画方案按钮灰化,鼠标悬浮提示「当前无动画对象可配置」。
2)动画方案的设置项包括:
方案名称:自定义动画方案名称,默认名称为空。不支持为空、不支持多个动画方案重名
动画对象:支持选择当前三维组件内的模型动画和线框动画,支持多选
播放命令:仅支持选择开始播放
命令时机:支持立即播放动画、延迟播放动画。支持自定义延迟时间,默认为 1000 毫秒
播放方式:支持设置循环播放和单次播放,默认为单次播放
注:「方案名称」和「播放命令」为 V2.10.0 版本新增。
3)动画方案设置完成后,模型动画管理界面支持对动画方案进行编辑、删除、是否开启的操作
2.2 三维模型动画事件
所有支持点击事件的组件,均支持设置三维模型动画事件。
选中组件后,点击「交互」,点击「添加事件>鼠标点击」,选择「三维模型动画」。
执行动作设置项包括:
动作名称:自定义动画方案名称,默认名称为空。
动画对象:支持选择当前三维组件内的模型动画和线框动画,支持多选
播放命令:支持开始播放、暂停播放和退出播放
命令时机:支持立即播放动画、延迟播放动画。支持自定义延迟时间,默认为 1000 毫秒
播放方式:支持设置循环播放和单次播放,默认为单次播放
注1:「播放命令」和「播放方式」为 V2.10.0 版本新增。
注2:「命令时机」和「播放方式」仅在「播放命令」设置为开始播放时支持设置。
注3:同一个三维模型动画内不允许创建多个动画效果,即基于不同动画对象定义不同的播放命令、命令时机、播放方式。
2.3 JavaScript事件
所有支持点击事件的组件,均支持设置 JavaScript 事件。
选中组件后,点击「交互」,点击「添加事件>鼠标点击」,选择「JavaScript」。如下图所示:
通过 getAnimationByName 获取模型的动画,JS 代码如下:
const animation = duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").getAnimationByName("具体动画名称")
支持设置模型动画开始播放、暂停播放和结束播放。
开始播放的代码如下:
animation.play({
// 是否重新开始播放
isRestart: false,
// 是否循环播放
isLoop: false,
// 播放结束是否恢复起始状态
isInitialOnPlayStop: false,
// 播放结束回调函数
onAnimationPlayStop: () => {}
})
暂停播放的代码如下:
animation.pause()
结束播放的代码如下:
animation.stop(true)
注:true为动画退出,并恢复为动画播放前的状态;false为动画退出,保持在当前动画帧。