提示: 使用参数模型功能需购买「FVS三维组件-场景孪生」功能点,详情请咨询销售顾问1. 概述
1.1 版本
| 报表服务器版本 | 插件版本 |
|---|---|
| 11.5.1 | V4.1.0 |
1.2 应用场景
在三维场景中,有时需要三维场景内的模型能够结合数据实时的反馈现实场景内对应实体的数量变化,该需求可通过参数模型实现。普通模型为三维场景内导入的模型,而参数模型是由数据驱动动态变化的模型。结合参数模型与「更新参数模型」事件,可实现在三维场景内实时生成某种三维模型,例如新增仓库 AGV 小车、运输轨道货箱等业务场景。
1.3 注意事项
为保证流畅渲染,建议整个场景中的总网格数控制在 3000 以内(单个模型的网格数 × 数据条数 = 参数模型总网格数)。
支持使用经纬度坐标、三维空间坐标或父物体坐标的点位坐标数据,适配真实地理映射、室内空间定位或相对参照定位的不同场景需求。
支持使用数据集或 WebSocket 的数据源,满足常规业务与秒级实时数据需求。
数据图层支持匹配参数模型生成的模型名称,匹配方式与普通模型保持一致。
参数模型支持设置显示隐藏。
参数模型不支持的效果:反射、模型动画及动画方案、线框风格、公共视角绑定、JS API。
2. 功能介绍
2.1 参数模型
参数模型是指三维场景内能通过数据进行变化的模型。
1)进入三维自定义场景组件编辑界面,在模型列表中选中模型,右键根节点模型,点击「转为参数模型」,可将普通模型转换成参数模型。如下图所示:

2)点击「转为参数模型」后,需进行数据来源、模型名称、模型位置设置。

具体说明如下表所示:
| 配置 | 说明 |
|---|---|
| 数据来源 | 用于绑定生成参数模型的数据
|
| 模型名称 | 定义三维场景内根据数据生成的模型名称
|
| 模型位置 | 定义模型生成的位置 需要先选择坐标类型,才能配置具体位置。支持「经纬度」、「空间坐标」、「父物体坐标」
|
3)「模型数据设置」配置完成后,返回模型列表,模型已转换为参数模型。
模型列表中不会呈现模型的子节点
参数模型仅支持显示隐藏、删除、重命名、组合操作
点击模型列表下方「数据设置」可再次进行模型数据配置

2.2 更新参数模型
更新参数模型是指,更新参数模型在三维场景里的生成、销毁状态。
1)进入三维自定义场景组件编辑界面,点击「模型>场景事件>更新参数模型」,再点击「添加更新参数模型」。

2)更新参数模型事件包括:事件名称、指定模型、数据来源、模型名称、模型位置五项设置。如下图所示:

具体说明如下表所示:
| 配置 | 说明 |
|---|---|
| 事件名称 | 默认名称为「更新参数模型x」 |
| 指定模型 | 用于指定当前场景内需要更新的模型,仅支持选择参数模型 |
| 数据来源 | 用于链接更新所需的数据来源,仅支持 WebSocket 的形式,需要配置数据源名称、ID、URL 注:WebSocket 推送数据格式要求可参见:三维数据来源
|
| 模型名称 | 输入数据来源中对应的 key 值,定义更新模型的名称
|
| 模型位置 | 根据参数模型配置时设置的模型坐标类型进行展示设置
|
3)更新规则
支持更新的操作包括:删除、生成参数模型
通过 opType 指定更新类型
不同更新类型的具体取值:
upsert:若数据已存在则更新,若不存在则新增
delete:删除匹配数据
若更新参数模型中数据出现重复,新增模型则不重复生成,删除模型始终执行,后者覆盖前者
注意:参数模型生成后会一直存在,如果需要在场景里删除生成后的参数模型,必须进行销毁,即需要指定更新类型为“delete”销毁模型。
JavaScript 示例如下:
[
{
"id": "更新参数模型1",
"data": [
{
"opType": "upsert",
"name": "小车001",
"position": "0,0,0"
},
{
"opType": "delete",
"name": "小车002",
"position": "0,0,0"
}
]
}
]
3. 示例1:参数模型
示例模板下载:参数模型示例.fvs
3.1 数据准备
数据字段要包含:生成的模型名称、模型位置。
此处以父物体坐标为示例,货箱位置为货箱生成位置的轨道模型名称。

3.2 添加模型
添加一个新的货箱模型到三维场景中,如下图所示:

3.3 转化为参数模型
选中货箱模型,鼠标右键选中「转为参数模型」,并且配置数据来源。

数据来源绑定「轨道货箱生成」数据集,模型名称选择「货箱名称」,模型位置选择「父物体坐标」,配置参照模型名称为「货箱位置」。

3.4 配置数据图层
为参数模型配置数据图层,点击「数据」Tab,数据来源绑定「轨道货箱生成」数据集,模型名称选择「货箱名称」。

添加一个「图层更新事件」,选择添加「数据标签」执行动作,配置完执行动作后点击「确定」即可。

3.5 最终效果
三维场景里自动在货箱位置处生成 3 个货箱,如下图所示:

4. 示例2:更新参数模型
实现货箱在轨道运输板上实时生成的效果。
4.1 参数模型设置
按照 3.3 节配置参数模型,可以将配置的数据来源设置为空表,这样就不会在编辑数据来源后三维场景里自动生成模型。

4.2 添加更新参数模型事件
在三维组件编辑界面,点击模型,选择右上角「场景事件>更新参数模型>添加更新参数模型」,配置对应的 Key 值。

注:不提供 websocket 数据源示例,需自行配置。
其中,WebSocket 数据示例如下:
id:事件名称
name:模型名称
opType:指定模型是生成/销毁
position:模型位置

4.3 预览效果
可以看到,下图中不同轨道板上货箱实时生成。

