首页 > 软件开发 > 编程语言 >

使用 ThingJS在有限空间内体现上千个可视化对象

来源:互联网 2023-03-17 00:12:10 版权归原作者所有,如有侵权,请联系我们

在物联网可视化系统的场景中,摄像头、门禁、对讲、报警等对象少到上千,多达上万个,在 3D 可视化中即要展示每个对象所处的空间位置,也要对每个对象进行操作。在可视化展示中无法较好地展示。3VC办公区 - 实用经验教程分享!

工具/原料

  • 电脑,独立显卡
  • ThingJS开发工具

方法/步骤

  • 1

    以往的经验,在设备上方创建贴在屏幕上的 UI,就有了下面这种效果。这是一种错误示例。这样的一种展示方式不能看到对象所处的位置,很难辨别对象类型,也不能体现3D的可视美观性,同时在场景转动时更难定位对象的准确位置。3VC办公区 - 实用经验教程分享!

    使用 ThingJS在有限空间内体现上千个可视化对象3VC办公区 - 实用经验教程分享!

  • 2

    基于以上问题,我们尝试不使用图标标识位置的方案,采用一种新的位置定位可视化模式。将场景中的建筑虚化展示,每个管理对象增加对应的效果,这样在建筑外还是在单一楼层处都能够看到每一类型对象。3VC办公区 - 实用经验教程分享!

    使用 ThingJS在有限空间内体现上千个可视化对象3VC办公区 - 实用经验教程分享!

  • 2本页面未经许可获取自百度经验
  • 3

    代码实现其实很简单,以下代码片段接口可参考ThingJS官方API文档3VC办公区 - 实用经验教程分享!

    首先需要替换建筑材质3VC办公区 - 实用经验教程分享!

    app.buildings.forEach(build=>{3VC办公区 - 实用经验教程分享!

    varfloors=build.floors;//得到建筑所有楼层3VC办公区 - 实用经验教程分享!

    floors.forEach(floor=>{3VC办公区 - 实用经验教程分享!

    floor.plan.style.setMaterial({3VC办公区 - 实用经验教程分享!

    image:'/blue1.jpg',//设置一张贴图样式3VC办公区 - 实用经验教程分享!

    wrap:THING.WrapType.Repeat,//设置重复度3VC办公区 - 实用经验教程分享!

    DoubleSide:true,//设置对象双面贴图3VC办公区 - 实用经验教程分享!

    });3VC办公区 - 实用经验教程分享!

    //更换墙体的材质3VC办公区 - 实用经验教程分享!

    floor.wall.style.setMaterial({3VC办公区 - 实用经验教程分享!

    image:'/gray.png',3VC办公区 - 实用经验教程分享!

    wrap:THING.WrapType.Repeat,3VC办公区 - 实用经验教程分享!

    transparent:true,3VC办公区 - 实用经验教程分享!

    });3VC办公区 - 实用经验教程分享!

    })3VC办公区 - 实用经验教程分享!

    });3VC办公区 - 实用经验教程分享!

    使用 ThingJS在有限空间内体现上千个可视化对象3VC办公区 - 实用经验教程分享!

  • 4

    然后是设置每个对象outline颜色3VC办公区 - 实用经验教程分享!

    3VC办公区 - 实用经验教程分享!

    app.query('.Thing').forEach(thing=>{3VC办公区 - 实用经验教程分享!

    thing.style.outlineColor='#00FF00';//设置对象轮廓线颜色3VC办公区 - 实用经验教程分享!

    })3VC办公区 - 实用经验教程分享!

    3VC办公区 - 实用经验教程分享!

    3VC办公区 - 实用经验教程分享!

    使用 ThingJS在有限空间内体现上千个可视化对象3VC办公区 - 实用经验教程分享!

  • 注意事项

    • 根据上面处理模式,我们可以设置更多的对象效果,包括闪烁、播放对象动画、颜色、放大缩小等等

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!3VC办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号