自定义脚本

百度数据可视化 SUGAR

  • 数据库新增授权IP的说明
  • 更新日志
  • 联系我们
  • 常见问题
  • 私有部署
    • 私有部署的安装
    • 私有部署的升级
    • 私有部署的费用
    • 私有部署安装常见问题
    • 开启智能问数
    • 开启跨源查询功能
    • 开启自助取数功能
    • 私有部署的试用与购买
    • 自定义访问路径前缀
    • ARM架构镜像
    • License升级
    • 什么是私有部署
    • 开启自定义消息通知
    • 外观主题设置
    • 开启智能预测功能
    • openAPI
      • 概述
      • V2
        • 图表API服务
        • 权限审计
        • 数据模型服务
        • 角色管理
        • 智能问数
        • 可视化页面
          • 大屏
          • 报表
        • 访问统计
          • 组织访问统计
          • 空间访问统计
      • V1
        • 空间用户和权限设置
          • 用户管理
          • 角色管理
        • 组织管理
          • 用户管理
          • 空间管理
        • 可视化页面
          • 过滤组件配置
          • 数据源
          • 数据模型
          • 定时推送
          • 数据筛选
          • 报表
          • 图表配置
    • 数据服务
      • 图表API服务
      • 数据模型服务
  • 产品介绍
    • 概念介绍
    • 产品简介
  • 快速入门
    • 开通服务
    • 制作报表
      • 连接数据源
      • 制作报表
      • 创建数据模型
      • 预览和分享
      • 概述
    • 制作数据填报
      • 制作数据填报
      • 查看数据和数据分析
      • 预览和发布
      • 概述
    • 制作可视化大屏
      • 制作大屏
      • 连接数据源
      • 创建数据模型
      • 预览和分享
      • 概述
    • 制作三维场景
      • 基础操作
      • 嵌入到大屏中
      • 概述
  • 典型实践
    • 问卷数据收集、分析与展现
    • 业务自助BI分析
    • 数据监控与预警
    • 实时滚动地图大屏
    • 固定报表
    • 工业零部件3D大屏
    • 高阶应用
      • 图表联动时地图范围动态变化
      • 下钻中地图范围动态变化
      • 大屏的各种轮播效果汇总
      • 轮播同步图表联动
      • 按数据条件设置颜色
      • 全国和各省份的销售下钻分析
  • 操作指南
    • 历史版本
    • 群机器人
    • 数据门户
    • 数据预警
    • 回收站
    • 宏定义变量
    • 数据血缘
    • 制作可视化页面
      • 组件模板
      • 报表编辑界面
      • 大屏编辑界面
      • 自定义图表主题
      • 图表组件操作
      • 智能图表
      • 页面模板
      • 高级图表
        • 气泡图
        • 矩形树图
        • 河流图
        • 3D饼图
        • 坐标热力图
        • 甘特图
        • 日历热力图
        • 旭日图
        • 自定义组件
        • 3D散点图
        • 桑基图
        • k线图
        • 瀑布图
        • 新拓扑图
        • 3D柱图
        • 拓扑图
      • 地图
        • 地图区域的动态变化
        • 平面地图(色彩、气泡、热力)
        • 自定义GeoJSON
        • 百度地图(散点、热力)
        • 多层地图
        • 平面地图飞线图
        • 3D飞线地图
        • 3D柱状地图
        • 3D区域色彩地图
        • 百度地图路径
      • 交互组件
        • 标签页组件
        • Tab控件
        • 全屏按钮
        • 语音交互组件
        • AI问答组件
      • 媒体
        • 里程碑
        • 图片
        • 视频、直播
        • 音频
        • 文本、跑马灯
        • 字符云
        • 评论
        • 3D词云
        • 富文本
        • 实时时间
        • 图片轮播
        • iframe
        • 天气
      • 基础图表
        • 表格
        • 饼图、环形饼图、轮播饼图
        • 交叉透视表
        • 倒计时
        • 数字翻牌器、百分比指标
        • 山峰柱图
        • 仪表盘
        • 柱状图、横向柱图
        • 指标看板、指标卡片
        • 树形表格
        • 象形柱图
        • 留存报表
        • 直方图
        • 指标拆解树
        • 属性表格
        • 排行榜
        • 水球图
        • 轮播表格
        • 漏斗图
        • 散点图
        • 嵌套饼图
        • 折线图、线柱混搭
        • 核心指标
        • 进度条、环形进度条
        • 雷达图
        • 圆形柱状图
      • 素材
        • 边框
        • 形状
        • 小图标
    • 移动端适配
      • 移动端配置
      • 移动端过滤条件组配置
    • 其它方式绑定数据
      • 静态JSON
      • SQL建模
        • 数据自动补全
        • SQL中嵌入日期宏定义
        • OpenTSDB数据源
        • 数据值映射
        • Mongo数据源
        • ElasticSearch数据源
        • SQL字段展示名称的动态化
        • SQL中关联过滤条件
        • 大屏制作入门
        • 报表制作入门
        • 过滤组件的级联
        • SQL关联联动参数
        • Redis数据源
        • SQL中嵌入用户邮箱
        • InfluxDB数据源
        • 概述和创建数据源
        • SQL模型
        • SQL中行转列
        • SQL中关联下钻参数
        • Graphite数据源
        • SQL中嵌入URL参数
        • 数据缓存
        • Prometheus数据源
        • SQL方式绑定图表数据
          • 气泡图
          • 里程碑
          • 表格
          • 饼图、环形饼图、轮播饼图
          • 数字翻牌器、百分比指标
          • 仪表盘
          • 矩形树图
          • 柱状图、横向柱图
          • 指标看板、指标卡片
          • 字符云
          • 树形表格
          • 河流图
          • 富文本
          • 3D饼图
          • 坐标热力图
          • 平面地图(色彩、气泡、热力)
          • 甘特图
          • 属性表格
          • 排行榜
          • 日历热力图
          • 旭日图
          • 漏斗图
          • 散点图
          • 多层地图
          • 图片轮播
          • 3D散点图
          • 桑基图
          • K线图
          • 平面地图飞线图
          • 瀑布图
          • 3D飞线地图
          • 3D柱状地图
          • 折线图、线柱混搭
          • 核心指标
          • 百度地图(散点、热力)
          • 3D柱图
          • 拓扑图
          • 雷达图
          • 3D区域色彩地图
          • 百度地图路径
          • 圆形柱状图
      • API
        • API认证
        • API后端获取过滤条件参数
        • API的安全机制
        • 各种过滤组件的API格式要求
        • API后端获取当前登录用户
        • API后端获取联动参数
        • API高级配置
        • 各种图表的API格式要求
        • API后端获取下钻参数
        • API后端获取URL额外参数
        • 概述
    • 数据填报
      • 数字类型表单
      • 选择类型表单
      • 日期类型表单
      • 数据填报管理
      • 文本类型表单
      • 数据填报编辑
    • 平台管理
      • 报表和大屏的导入导出
      • 访问统计
      • 智能报表
      • 智能大屏
      • 操作审计
      • 数据探索
      • 空间管理
        • 什么是空间
        • 创建空间
        • 更改空间信息
        • 空间中的用户和管理员
        • 删除空间
        • 空间就是数据门户
      • 组织管理
        • 管理组织中的用户
        • 什么是组织
        • 访问统计
        • 组织的创建和切换
        • 组织的VIP用户
        • 更改组织信息和管理员
        • 操作审计
      • 权限管理
        • 行级别权限管理
        • 用户管理
        • 权限审计
        • 细粒度权限
        • 角色管理
        • 概述
      • 个人中心
        • 个人信息更改
        • 收藏报表和大屏
        • 个人中心是什么
    • 三维场景
      • 场景交互
      • 场景调色
      • 自定义脚本
    • 智能问数
      • 创建及使用智能问数
      • 前期数据准备
      • 智能问数问答模板管理
      • 报表和大屏页面使用智能问数
      • 问数模型配置
      • 智能问数最佳实践
      • 问数权限管理
      • 系统集成
      • 系统集成技术接入指引
      • 使用智能问数
      • 如何优化我的问答效果
      • 概述
    • 智能问数--旧版待下线
      • 创建及使用智能问数
      • 前期数据准备
      • 报表和大屏页面使用智能问数
      • 智能问数最佳实践
      • 概述
    • 智能分析
      • 自动分析
      • 异常分析
      • 波动分析
    • 连接数据源
      • Kerberos 认证
      • API
      • 上传Excel文件
      • 云上VPC内数据源
      • 数据库
      • 内网隧道
      • 静态JSON
      • 云上RDS数据源
      • 概述
    • 分享和订阅
      • 分享页Token参数签名校验
      • 分享页强制用户登录
      • 公开和加密分享
      • 分享页通过URL参数标识用户
      • 多页面轮播
      • 桌面全屏客户端
      • 移动端全屏
      • 空间内多人浏览
      • 定时推送
    • 可视化分析
      • 数据自动补全
      • 图表联动
      • 单个图表的过滤条件
      • 动态的维度和度量分析
      • 数据筛选
      • 数据排序
      • 数据对比
      • 条件格式
      • 关联URL参数
      • 日期时间数据聚合
      • 图表评论
      • 数据缓存
      • 图表下钻
      • 图表标注
      • 过滤组件
        • 时间轴组件
        • 多选组件
        • 时间范围组件
        • 过滤条件宽度占比
        • 时间组件
        • 查询Key值
        • 多重逻辑组件
        • 日期范围组件
        • 输入框组件
        • 时间粒度组件
        • 日期组件
        • 大屏中过滤条件展示为图标
        • 树形选择组件
        • 过滤条件组
        • 过滤组件关联图表
        • 过滤组件的级联、依赖
        • 单选组件
      • 计算字段
        • 数据桶
        • SQL表达式
        • 分组
        • 记录数
        • 表计算
        • 概述
    • 自助取数
      • 创建自助取数
      • 管理自助取数
      • 概述
    • 创建数据模型
      • 数据脱敏
      • 数据格式化和单位
      • 数据值映射
      • 数据类型转换
      • 自定义SQL视图
      • 字段展示名称的动态化
      • 数据模型
      • 跨源交叉分析
    • 智能预测
      • 离线预测
      • 时序预测
      • 模型训练
      • 预测服务
    • 自助探索与AI问答
      • AI问答
      • 自助探索
    • 报表AI能力
      • 报表AI助手
      • 报表AI功能的数据准备
      • 报表AI助手权限管理
      • 报表AI洞察与AI预测
      • 如何优化我的问答效果
      • 概述
    • 微信与钉钉集成
      • 私有部署版
        • 钉钉集成
        • 企业微信集成
        • 飞书集成
        • 如流集成
      • 云上SaaS在线版
        • 企业微信集成
        • 微信集成
  • 视频专区
    • 产品介绍
    • 平台功能
      • 自助取数操作指导
      • 数据预警配置操作指导
      • 数据填报操作指导
      • 数据血缘操作指导
      • 系统管理操作指导
    • 基础功能
      • 图表标注操作指导
      • 连接数据源操作指导
      • 表格组件操作指导
      • 创建数据模型操作指导
      • 三维场景操作指导
      • 报表制作操作指导
      • 数据值映射操作指导
      • 可视化大屏制作操作指导
    • 智能分析
      • 智能图表操作指导
      • 异常分析操作指导
      • 自动分析操作指导
      • AI问答和探索操作指导
      • 波动分析操作指导
    • 操作指南
      • 数据填报
      • AI问答与探索
      • 分享和订阅
      • 连接数据源
      • 智能分析
      • 数据门户
      • 可视化分析
      • 三维场景
      • 制作可视化页面
      • 创建数据模型
      • 平台管理
      • 自助取数
      • 数据预警
      • 数据血缘
    • 交互功能
      • 大屏Tab控件操作指导
      • 报表和图表过滤操作指导
      • 多页面轮播操作指导
      • 数据门户操作指导
      • 标签页组件操作指导
      • 图表下钻操作指导
      • 图表联动操作指导
    • 产品说明
      • 文档使用建议
      • 产品介绍
  • 产品定价
    • 私有部署版定价
    • SaaS在线版定价
    • 免费试用说明
所有文档
menu
没有找到结果,请重新输入

百度数据可视化 SUGAR

  • 数据库新增授权IP的说明
  • 更新日志
  • 联系我们
  • 常见问题
  • 私有部署
    • 私有部署的安装
    • 私有部署的升级
    • 私有部署的费用
    • 私有部署安装常见问题
    • 开启智能问数
    • 开启跨源查询功能
    • 开启自助取数功能
    • 私有部署的试用与购买
    • 自定义访问路径前缀
    • ARM架构镜像
    • License升级
    • 什么是私有部署
    • 开启自定义消息通知
    • 外观主题设置
    • 开启智能预测功能
    • openAPI
      • 概述
      • V2
        • 图表API服务
        • 权限审计
        • 数据模型服务
        • 角色管理
        • 智能问数
        • 可视化页面
          • 大屏
          • 报表
        • 访问统计
          • 组织访问统计
          • 空间访问统计
      • V1
        • 空间用户和权限设置
          • 用户管理
          • 角色管理
        • 组织管理
          • 用户管理
          • 空间管理
        • 可视化页面
          • 过滤组件配置
          • 数据源
          • 数据模型
          • 定时推送
          • 数据筛选
          • 报表
          • 图表配置
    • 数据服务
      • 图表API服务
      • 数据模型服务
  • 产品介绍
    • 概念介绍
    • 产品简介
  • 快速入门
    • 开通服务
    • 制作报表
      • 连接数据源
      • 制作报表
      • 创建数据模型
      • 预览和分享
      • 概述
    • 制作数据填报
      • 制作数据填报
      • 查看数据和数据分析
      • 预览和发布
      • 概述
    • 制作可视化大屏
      • 制作大屏
      • 连接数据源
      • 创建数据模型
      • 预览和分享
      • 概述
    • 制作三维场景
      • 基础操作
      • 嵌入到大屏中
      • 概述
  • 典型实践
    • 问卷数据收集、分析与展现
    • 业务自助BI分析
    • 数据监控与预警
    • 实时滚动地图大屏
    • 固定报表
    • 工业零部件3D大屏
    • 高阶应用
      • 图表联动时地图范围动态变化
      • 下钻中地图范围动态变化
      • 大屏的各种轮播效果汇总
      • 轮播同步图表联动
      • 按数据条件设置颜色
      • 全国和各省份的销售下钻分析
  • 操作指南
    • 历史版本
    • 群机器人
    • 数据门户
    • 数据预警
    • 回收站
    • 宏定义变量
    • 数据血缘
    • 制作可视化页面
      • 组件模板
      • 报表编辑界面
      • 大屏编辑界面
      • 自定义图表主题
      • 图表组件操作
      • 智能图表
      • 页面模板
      • 高级图表
        • 气泡图
        • 矩形树图
        • 河流图
        • 3D饼图
        • 坐标热力图
        • 甘特图
        • 日历热力图
        • 旭日图
        • 自定义组件
        • 3D散点图
        • 桑基图
        • k线图
        • 瀑布图
        • 新拓扑图
        • 3D柱图
        • 拓扑图
      • 地图
        • 地图区域的动态变化
        • 平面地图(色彩、气泡、热力)
        • 自定义GeoJSON
        • 百度地图(散点、热力)
        • 多层地图
        • 平面地图飞线图
        • 3D飞线地图
        • 3D柱状地图
        • 3D区域色彩地图
        • 百度地图路径
      • 交互组件
        • 标签页组件
        • Tab控件
        • 全屏按钮
        • 语音交互组件
        • AI问答组件
      • 媒体
        • 里程碑
        • 图片
        • 视频、直播
        • 音频
        • 文本、跑马灯
        • 字符云
        • 评论
        • 3D词云
        • 富文本
        • 实时时间
        • 图片轮播
        • iframe
        • 天气
      • 基础图表
        • 表格
        • 饼图、环形饼图、轮播饼图
        • 交叉透视表
        • 倒计时
        • 数字翻牌器、百分比指标
        • 山峰柱图
        • 仪表盘
        • 柱状图、横向柱图
        • 指标看板、指标卡片
        • 树形表格
        • 象形柱图
        • 留存报表
        • 直方图
        • 指标拆解树
        • 属性表格
        • 排行榜
        • 水球图
        • 轮播表格
        • 漏斗图
        • 散点图
        • 嵌套饼图
        • 折线图、线柱混搭
        • 核心指标
        • 进度条、环形进度条
        • 雷达图
        • 圆形柱状图
      • 素材
        • 边框
        • 形状
        • 小图标
    • 移动端适配
      • 移动端配置
      • 移动端过滤条件组配置
    • 其它方式绑定数据
      • 静态JSON
      • SQL建模
        • 数据自动补全
        • SQL中嵌入日期宏定义
        • OpenTSDB数据源
        • 数据值映射
        • Mongo数据源
        • ElasticSearch数据源
        • SQL字段展示名称的动态化
        • SQL中关联过滤条件
        • 大屏制作入门
        • 报表制作入门
        • 过滤组件的级联
        • SQL关联联动参数
        • Redis数据源
        • SQL中嵌入用户邮箱
        • InfluxDB数据源
        • 概述和创建数据源
        • SQL模型
        • SQL中行转列
        • SQL中关联下钻参数
        • Graphite数据源
        • SQL中嵌入URL参数
        • 数据缓存
        • Prometheus数据源
        • SQL方式绑定图表数据
          • 气泡图
          • 里程碑
          • 表格
          • 饼图、环形饼图、轮播饼图
          • 数字翻牌器、百分比指标
          • 仪表盘
          • 矩形树图
          • 柱状图、横向柱图
          • 指标看板、指标卡片
          • 字符云
          • 树形表格
          • 河流图
          • 富文本
          • 3D饼图
          • 坐标热力图
          • 平面地图(色彩、气泡、热力)
          • 甘特图
          • 属性表格
          • 排行榜
          • 日历热力图
          • 旭日图
          • 漏斗图
          • 散点图
          • 多层地图
          • 图片轮播
          • 3D散点图
          • 桑基图
          • K线图
          • 平面地图飞线图
          • 瀑布图
          • 3D飞线地图
          • 3D柱状地图
          • 折线图、线柱混搭
          • 核心指标
          • 百度地图(散点、热力)
          • 3D柱图
          • 拓扑图
          • 雷达图
          • 3D区域色彩地图
          • 百度地图路径
          • 圆形柱状图
      • API
        • API认证
        • API后端获取过滤条件参数
        • API的安全机制
        • 各种过滤组件的API格式要求
        • API后端获取当前登录用户
        • API后端获取联动参数
        • API高级配置
        • 各种图表的API格式要求
        • API后端获取下钻参数
        • API后端获取URL额外参数
        • 概述
    • 数据填报
      • 数字类型表单
      • 选择类型表单
      • 日期类型表单
      • 数据填报管理
      • 文本类型表单
      • 数据填报编辑
    • 平台管理
      • 报表和大屏的导入导出
      • 访问统计
      • 智能报表
      • 智能大屏
      • 操作审计
      • 数据探索
      • 空间管理
        • 什么是空间
        • 创建空间
        • 更改空间信息
        • 空间中的用户和管理员
        • 删除空间
        • 空间就是数据门户
      • 组织管理
        • 管理组织中的用户
        • 什么是组织
        • 访问统计
        • 组织的创建和切换
        • 组织的VIP用户
        • 更改组织信息和管理员
        • 操作审计
      • 权限管理
        • 行级别权限管理
        • 用户管理
        • 权限审计
        • 细粒度权限
        • 角色管理
        • 概述
      • 个人中心
        • 个人信息更改
        • 收藏报表和大屏
        • 个人中心是什么
    • 三维场景
      • 场景交互
      • 场景调色
      • 自定义脚本
    • 智能问数
      • 创建及使用智能问数
      • 前期数据准备
      • 智能问数问答模板管理
      • 报表和大屏页面使用智能问数
      • 问数模型配置
      • 智能问数最佳实践
      • 问数权限管理
      • 系统集成
      • 系统集成技术接入指引
      • 使用智能问数
      • 如何优化我的问答效果
      • 概述
    • 智能问数--旧版待下线
      • 创建及使用智能问数
      • 前期数据准备
      • 报表和大屏页面使用智能问数
      • 智能问数最佳实践
      • 概述
    • 智能分析
      • 自动分析
      • 异常分析
      • 波动分析
    • 连接数据源
      • Kerberos 认证
      • API
      • 上传Excel文件
      • 云上VPC内数据源
      • 数据库
      • 内网隧道
      • 静态JSON
      • 云上RDS数据源
      • 概述
    • 分享和订阅
      • 分享页Token参数签名校验
      • 分享页强制用户登录
      • 公开和加密分享
      • 分享页通过URL参数标识用户
      • 多页面轮播
      • 桌面全屏客户端
      • 移动端全屏
      • 空间内多人浏览
      • 定时推送
    • 可视化分析
      • 数据自动补全
      • 图表联动
      • 单个图表的过滤条件
      • 动态的维度和度量分析
      • 数据筛选
      • 数据排序
      • 数据对比
      • 条件格式
      • 关联URL参数
      • 日期时间数据聚合
      • 图表评论
      • 数据缓存
      • 图表下钻
      • 图表标注
      • 过滤组件
        • 时间轴组件
        • 多选组件
        • 时间范围组件
        • 过滤条件宽度占比
        • 时间组件
        • 查询Key值
        • 多重逻辑组件
        • 日期范围组件
        • 输入框组件
        • 时间粒度组件
        • 日期组件
        • 大屏中过滤条件展示为图标
        • 树形选择组件
        • 过滤条件组
        • 过滤组件关联图表
        • 过滤组件的级联、依赖
        • 单选组件
      • 计算字段
        • 数据桶
        • SQL表达式
        • 分组
        • 记录数
        • 表计算
        • 概述
    • 自助取数
      • 创建自助取数
      • 管理自助取数
      • 概述
    • 创建数据模型
      • 数据脱敏
      • 数据格式化和单位
      • 数据值映射
      • 数据类型转换
      • 自定义SQL视图
      • 字段展示名称的动态化
      • 数据模型
      • 跨源交叉分析
    • 智能预测
      • 离线预测
      • 时序预测
      • 模型训练
      • 预测服务
    • 自助探索与AI问答
      • AI问答
      • 自助探索
    • 报表AI能力
      • 报表AI助手
      • 报表AI功能的数据准备
      • 报表AI助手权限管理
      • 报表AI洞察与AI预测
      • 如何优化我的问答效果
      • 概述
    • 微信与钉钉集成
      • 私有部署版
        • 钉钉集成
        • 企业微信集成
        • 飞书集成
        • 如流集成
      • 云上SaaS在线版
        • 企业微信集成
        • 微信集成
  • 视频专区
    • 产品介绍
    • 平台功能
      • 自助取数操作指导
      • 数据预警配置操作指导
      • 数据填报操作指导
      • 数据血缘操作指导
      • 系统管理操作指导
    • 基础功能
      • 图表标注操作指导
      • 连接数据源操作指导
      • 表格组件操作指导
      • 创建数据模型操作指导
      • 三维场景操作指导
      • 报表制作操作指导
      • 数据值映射操作指导
      • 可视化大屏制作操作指导
    • 智能分析
      • 智能图表操作指导
      • 异常分析操作指导
      • 自动分析操作指导
      • AI问答和探索操作指导
      • 波动分析操作指导
    • 操作指南
      • 数据填报
      • AI问答与探索
      • 分享和订阅
      • 连接数据源
      • 智能分析
      • 数据门户
      • 可视化分析
      • 三维场景
      • 制作可视化页面
      • 创建数据模型
      • 平台管理
      • 自助取数
      • 数据预警
      • 数据血缘
    • 交互功能
      • 大屏Tab控件操作指导
      • 报表和图表过滤操作指导
      • 多页面轮播操作指导
      • 数据门户操作指导
      • 标签页组件操作指导
      • 图表下钻操作指导
      • 图表联动操作指导
    • 产品说明
      • 文档使用建议
      • 产品介绍
  • 产品定价
    • 私有部署版定价
    • SaaS在线版定价
    • 免费试用说明
  • 文档中心
  • arrow
  • 百度数据可视化SUGAR
  • arrow
  • 操作指南
  • arrow
  • 三维场景
  • arrow
  • 自定义脚本
本页目录
  • 场景脚本
  • 基本使用方法
  • 获取页面中的元素
  • 获取场景中的光源
  • 获取默认相机
  • 内置函数

自定义脚本

更新时间:2025-08-22

自定义脚本可以让您完全控制场景中的一切,实现各种定制功能,Sugar BI 的三维场景功能是基于 Babylon.js 框架开发的,需要对这个引擎有了解。

场景脚本

在「场景设置」的「脚本」tab 里。

图片

基本使用方法

最简单的示例如:

Javascript
1return {
2  // 场景初始化时调用
3  init: (scene, BABYLON, utils) => {
4    utils.log('场景初始化');
5  },
6  // 点击某个三维节点时
7  onPick: (mesh, rootMesh, scene, BABYLON, utils) => {
8    mesh.material.albedoColor = BABYLON.Color3.FromHexString('#BB474B');
9  },
10  // 点击背景时
11  onPickBackground: (background, scene, BABYLON, utils) => {}
12};
  • init 函数只会在初始化的时候调用一次
  • onPick 会在点击到某个三维组件的时候调用一次,上面代码实现的功能是在点击的时候将颜色设置为红色。
  • onPickBackground 点击背景的时候调用,本文最后有基于它实现取消联动的例子

在 return 语句之前可以定义内部变量,比如下面的例子实现了点击别的物体时恢复之前物体的颜色:

Javascript
1let lastMesh;
2let lastColor;
3return {
4  init: (scene, BABYLON, utils) => {
5    utils.log('场景初始化');
6  },
7  onPick: (mesh, rootMesh, scene, BABYLON, utils) => {
8    // 用于点击别的物体时恢复之前的颜色
9    if (lastMesh && lastMesh != mesh) {
10      lastMesh.material.albedoColor = lastColor;
11    }
12    lastColor = mesh.material.albedoColor;
13    lastMesh = mesh;
14    mesh.material.albedoColor = BABYLON.Color3.FromHexString('#BB474B');
15  }
16};

获取页面中的元素

对于场景中的元素,点击选中该元素后在右侧属性面板最下面会出现「内部 ID」的提示,如下:

图片

然后在 init 方法里就能通过如下代码获取到这个元素:

Javascript
1return {
2  init: (scene, BABYLON, utils) => {
3    let mesh = scene.getMeshById('xxx');
4  }
5};

另一种方式是通过名称,这个名称就是右侧属性面板里的名称,这种方式主要用于获取导入模型的内部子节点,这个名称对应的是三维软件内部的名称,也可以在场景编辑器中点击具体的位置来得知,比如下面的例子是一个导入的 gltf 模型,其中有三个三维物体,点击了其中的球体后就会在下方显示它的名称:

图片

在场景代码中可以通过这个名称来查找到这个球体,如下代码

Javascript
1return {
2  init: (scene, BABYLON, utils) => {
3    let mesh = scene.getMeshByName('Sphere');
4  }
5};

获取场景中的光源

光源的获取方法和前面的元素类似,在右侧属性面板中也有「内部 ID」,知道这个 ID 就能通过如下方式获取到对应的光源:

Javascript
1return {
2  init: (scene, BABYLON, utils) => {
3    let light = scene.getLightById('xxx');
4  }
5};

获取默认相机

目前场景中只有一个播放相机,获取方式是:

Javascript
1return {
2  init: (scene, BABYLON, utils) => {
3    let camera = scene.getCameraById('default-camera');
4  }
5};

内置函数

为了安全考虑,在脚本不能获取到页面中的全局变量,所以类似 alert、console、document 等函数和对象都是无法使用的,只能使用 utils 中提供的函数,目前有这些:

Javascript
1log(); // 和 console.log 一致
2fireDependence(clickParam); // 触发下级图表联动,下面会有示例
3cancelDependence(); // 取消联动
4fireDrillDown(clickParam);
5openURL(url, isBlank); // 其中 url 必须是 http 或 https 开头,isBlank 如果是 true 的话将新窗口打开

联动功能需要先在大屏中添加场景才能测试,请参考 图表联动,具体实现可以参考下面代码示例:

Javascript
1return {
2  onPick: (mesh, rootMesh, scene, BABYLON, utils) => {
3    // _sugar_dd_default_ 是默认参数的 key,这里将节点的 id 作为值传递给下级联动的图表
4    utils.fireDependence({
5      _sugar_dd_default_: mesh.id
6    });
7  },
8  onPickBackground: (background, scene, BABYLON, utils) => {
9    // 点击背景的时候取消联动
10    utils.cancelDependence();
11  }
12};

基础的联动功能已经在 场景交互 中有简单的实现,传递的是物体的名称,如果需要传递更多的参数,您依旧可以使用上面的自定义脚本方式传递。

上一篇
场景调色
下一篇
智能问数