反馈已提交

网络繁忙

三维场景模型动画

  • 文档创建者:Tracy.Wang
  • 历史版本:4
  • 最近更新:Tracy.Wang 于 2024-10-11
  • 1. 概述

    适用场景:安装了「FineVis数据可视化」插件的用户,可参考本文了解 FineVis 的相关功能。

    1.1 版本

    报表服务器版本插件版本功能变动
    11.0.22V2.10.0
    • 取消「开启模型动画」总开关按钮

    • 动画方案设置中新增「方案名称」和「播放命令」,详情见 2.1 节

    • 交互事件>三维模型动画设置中新增「播放命令」和「播放方式」,详情见 2.2 节

    1.2 应用场景

    在三维自定义场景中,若模型带有动画方案或设置了线框动画,可以为三维场景添加模型动画。效果如下图所示:

    913-1515.gif

    模型动画可与其他组件实现联动效果,具体请参见 FVS三维模型动画应用实例本文档仅介绍模型动画的设置。

    2. 功能介绍

    若模型中带有动画方案,可通过以下三种方式添加动画:

    • 自定义模型组件编辑页面:「模型>模型动画管理」

    • 标题等组件:添加「交互>鼠标点击事件>三维模型动画」事件

    • 标题等组件:添加「交互>鼠标点击事件>JavaScript」事件

    注:若动画方案中涉及的动画对象因 glb 文件/导入模型被删除而删除,对应的动画方案不删除,仅设置内动画对象显示为动画不存在。

    2.1 模型动画管理

    1)在「模型」配置面板中,点击「模型动画管理」,再点击「添加动画方案」。

    注1:V2.10.0 之前版本,需要先勾选「开启模型动画」,再添加动画方案。详情请参见 V2.10.0更新日志

    注2:当三维场景内无动画对象时,添加动画方案按钮灰化,鼠标悬浮提示「当前无动画对象可配置」。

    910-1633.png

    2)动画方案的设置项包括:

    • 方案名称:自定义动画方案名称,默认名称为空。不支持为空、不支持多个动画方案重名

    • 动画对象:支持选择当前三维组件内的模型动画和线框动画,支持多选

    • 播放命令:仅支持选择开始播放

    • 命令时机:支持立即播放动画、延迟播放动画。支持自定义延迟时间,默认为 1000 毫秒

    • 播放方式:支持设置循环播放和单次播放,默认为单次播放

    注:「方案名称」和「播放命令」为 V2.10.0 版本新增。

    910-1656.png

    3)动画方案设置完成后,模型动画管理界面支持对动画方案进行编辑、删除、是否开启的操作

    910-1707.png

    2.2 三维模型动画事件

    所有支持点击事件的组件,均支持设置三维模型动画事件。

    选中组件后,点击「交互」,点击「添加事件>鼠标点击」,选择「三维模型动画」。

    执行动作设置项包括:

    • 动作名称:自定义动画方案名称,默认名称为空。

    • 动画对象:支持选择当前三维组件内的模型动画和线框动画,支持多选

    • 播放命令:支持开始播放、暂停播放和退出播放

    • 命令时机:支持立即播放动画、延迟播放动画。支持自定义延迟时间,默认为 1000 毫秒

    • 播放方式:支持设置循环播放和单次播放,默认为单次播放

    注1:「播放命令」和「播放方式」为 V2.10.0 版本新增。

    注2:「命令时机」和「播放方式」仅在「播放命令」设置为开始播放时支持设置。

    注3:同一个三维模型动画内不允许创建多个动画效果,即基于不同动画对象定义不同的播放命令、命令时机、播放方式。

    910-1737.png

    2.3 JavaScript事件

    所有支持点击事件的组件,均支持设置 JavaScript 事件。

    选中组件后,点击「交互」,点击「添加事件>鼠标点击」,选择「JavaScript」。如下图所示:

    920-1337.png

    通过 getAnimationByName 获取模型的动画,JS 代码如下:

    const animation = duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").getAnimationByName("具体动画名称")

    支持设置模型动画开始播放、暂停播放和结束播放。

    开始播放的代码如下:

    animation.play({
      // 是否重新开始播放
      isRestart: false,
      // 是否循环播放
      isLoop: false,
      // 播放结束是否恢复起始状态
      isInitialOnPlayStop: false,
      // 播放结束回调函数
      onAnimationPlayStop: () => {}
    })

    暂停播放的代码如下:

    animation.pause()

    结束播放的代码如下:


    animation.stop(true)

    注:true为动画退出,并恢复为动画播放前的状态;false为动画退出,保持在当前动画帧。

    附件列表


    主题: FineVis数据可视化
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持