一个前端的三维可视化开发心路历程

前言:我公司是做资讯平台的,每天用户不少,作为一个只有一年工作经验的前端开发工作者,临危受命要做可视化大屏,就是那种放在显眼区域实时能看到动态数据的大屏,要酷炫要抗造耐用。怎么办?网上各种找渠道啊,各种问啊,幸好本人没少混前端技术交流群。经打听,我了解到了ThingJS。可谓是救我于水火之中呀~

这是一个神奇的平台,此处使用官方介绍:

ThingJS 是物联网可视化PaaS开发平台,帮助物联网开发商轻松集成 3D 可视化界面。ThingJS 名称源于

物联网Internetof Things(IoT)中的 Thing (物),ThingJS 使用当今最热门的 Javascript语言进行开发。不仅可以针对单栋或多栋建筑组成的园区场景进行可视化开发,搭载丰富插件后,也可以针对地图级别场景进行开发。广泛应用于数据中心、仓储、学校、医院、安防、预案等多种领域。

物联网分为感知层、网络层、应用层。应用层涉及到 3D 界面的开发,对大部分企业来说都有一定挑战。ThingJS 可以极大降低 3D 界面开发的成本。下图清晰的反映了ThingJS 在物联网领域中的定位:

ThingJS 基于 HTML5 和 WebGL 技术,可方便地在主流浏览器上进行浏览和调试,支持 PC 和移动设备。ThingJS 为可视化应用提供了简单、丰富的功能,只需要具有基本的Javascript 开发经验即可上手。

ThingJS 提供了场景加载、分层级浏览,对象访问、搜索、以及对象的多种控制方式和丰富的效果展示,可以通过绑定事件进行各种交互操作,还提供了摄像机视角控制、点线面效果、温湿度云图、界面数据展示、粒子效果等各种可视化功能。

ThingJS提供如下相关组件和工具供用户使用:

CityBuilder:聚焦城市的 3D 地图搭建工具,打造你的 3D 城市地图。

CamBuilder:简单、好用、免费的 3D 场景搭建工具。

ThingPano:全景图制作工具,轻松制作并开发全景图应用,实现 3D 宏观场景和全景微观场景的无缝融合。

ThingDepot:上万种模型,数十个行业,自主挑选,一次制作多次复用。

作品展示https://www.thingjs.com/pp/d932401d3cb32087b04dbb60

过程很爽,就像过关斩将一般。幸好有ThingJS开发文档护体,使用之前在开始使用 ThingJS 之前,需要先了解JavaScript,我们假设您已经掌握JS。

创建项目

创建项目之前需登录ThingJS账号,如果您尚未登录账号或页面出现“登录已过期,请重新登录!”的提示,为保证项目的正确保存及运行,请您在账号登录之后再创建项目。您可通过以下三种方式创建项目:

选择菜单区域的“文件 - 新建项目”选项

点击工具栏“新建”图标,图标如右图所示:

使用快捷键“Ctrl+P”

编辑项目

在线开发为用户提供了相应的快捷代码和官方示例,如果你正在用ThingJS在线开发页面,可以通过以下两种方式来编辑项目:

点击在线开发页面菜单区域的快捷代码选项中的子项,编辑区将自动插入相应代码

选择在线开发官方示例中的其中任意一个示例,点击相应示例,编辑区将显示相应代码

后续操作详见在线开发 - 应用开发 - 在线开发

保存项目

可通过以下四种方式保存项目:

选择菜单区域的“文件 - 保存”选项

点击工具栏“保存”图标,图标如右图所示:

使用快捷键“Ctrl+S”

运行项目

在线开发环境提供了以下几种方式运行项目:

使用快捷方式“Ctrl+R/Enter”或点击工具栏中的“运行”图标,3d容器区域将运行编辑器相应的代码。图标如右图所示:

选择菜单区域的“工具 - 设置”选型,出现的设置面板,点击开启“自动保存执行”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191226A0ERU000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券