以帮助文档“构建3D园区监控场景”为例,
1、是否能通过点击仓库或者生产车间模型直接调整视角参数,而不用新建页面来调整视角参数,因为如果模型多的话得每个模型都创建一个页面了;
2、一个仓库里有几个平面,现在想对仓库门这个平面添加点击事件。因为目前只找到了对整个模型的点击事件并没有看到对模型内某个平面的点击事件。
答案:可以,但需要权衡效果与性能
实现方案:
直接调整模型参数
在3D组件编辑界面中,选中模型后通过位移工具调整(x,y,z)坐标
通过JS脚本动态修改
为模型添加点击事件,在事件中调用FR.Msg.alert弹出参数输入框
使用component.setCameraPosition(x,y,z)接口动态修改视角
局限性:
直接调整参数会导致视角突变,无法实现平滑过渡效果
复杂场景下性能可能低于多分页方案
当前限制:FineVis暂不支持直接对模型子部件(如门、窗)添加独立事件,只能对整个模型添加交互
变通方案:
拆分模型文件
将仓库门单独导出为独立模型
导入后作为独立组件设置点击事件
透明按钮覆盖
在仓库门位置添加透明标题组件
通过精确定位实现"伪平面点击"效果
坐标判断法
// 点击事件中判断点击坐标是否在门区域内if(x>100 && x<200 && y>50 && y<150){FR.Msg.toast("检测到仓库门点击");}
建议:如需精确到部件级交互,建议在3D建模阶段将可交互部件分离为独立对象。
FVS点击切换三维自定义视角
FVS三维组件可以通过点击事件调整视角参数。在V2.2.0版本中,新增的「相机视角」功能允许视角绑定模型,用户可以点击模型切换自定义视角。此外,在V2.3.1版本中,新增的「三维自定义视角」点击事件使得用户可以通过点击其他组件来切换三维组件的自定义视角
。
至于对上传模型的某个平面添加点击事件,您可以在三维自定义场景组件中设置相应的交互事件,以实现对特定模型的显示或隐藏等操作