常见问题

大家在平时开发中会有的一些小问题,在这里会列举部分供大家参考。

基本问题

基本概念

  • 对象的定义

    ThingJS 平台的对象是指一个使用 ThingJS 提供的各种类创建的物体实例,不同类的对象实例具有不同接口和功能,比如我们在场景里创建一个园区,园区就是一个对象,园区里的建筑和物体都是对象。

  • 模型的定义

    ThingJS 平台的模型是指可复用的 3D 资源包,有些对象实例创建时指定模型资源的路径。

    ThingJS 提供了具有丰富资源的模型库(ThingDepot)。

  • 场景的定义

    启动 ThingJS 后,ThingJS 就会创建一个三维空间,整个三维空间我们称之为“场景”(scene),在场景内我们可以创建对象,比如园区,楼宇,车辆,传感器等等。

  • 园区的定义

    通过 CamBuilder 可编辑并输出一个园区,该园区可在 ThingJS 场景中加载。

  • 项目的定义

    ThingJS 平台的项目是指一个场景加上一个交互脚本。脚本使用 JavaScript 语言开发。例如 Demo 里的粮仓管理,交互功能包括点击仓库可以显示信息牌,点击屋顶可以开盖。

坐标系

  • 坐标系概念

    以场景原点为中心的直角坐标系称为世界坐标。

    在 ThingJS 中所有的物体的 position 值均为世界坐标,排列为 [x,y,z] 。

  • 世界坐标系

    当在场景中创建了园区,在园区下我们放置一个模型,模型是园区的子物体,我们想在园区的坐标系下,设置模型的位置,这时使用的园区的坐标系,就是模型的父物体坐标系。

  • 父物体坐标系

    启动 ThingJS 后,ThingJS 就会创建一个三维空间,整个三维空间我们称之为“场景”(scene),在场景内我们可以创建对象,比如园区,楼宇,车辆,传感器等等。

  • 自身坐标系

    某对象向前移动 2 米,就是在自身坐标系下设置坐标 [0,0,2](Z轴正向朝向我们的方向)。

配置和部署

  • 系统运行硬件的要求

    ThingJS 的 3D 可视化应用是 B/S 架构的,3D 场景是运行在客户端的浏览器中。3D 场景渲染展示对客户端设备要求较高,特别是显卡,一般必须是独立显卡

    推荐使用 Chrome 浏览器进行开发和演示。

    客户端:

    • 系统:Windows 7 及以上
    • CPU:双核 CPU2.8GHz及以上
    • 内存:8G 及以上
    • 显卡:最低 GTX650,推荐 GTX960 及以上,显存 2G 及以上
    • 硬盘:300GB 及以上
  • ThingJS 若是离线部署,需要部署到服务器端,ThingJS 对服务器端的要求并不高

    服务器端:

    • 系统:Windows Server 2003 及以上
    • CPU:双核 CPU2.8GHz 及以上
    • 内存:8G 及以上
    • 硬盘:500GB及以上
    • 软件环境:JDK 1.6 及以上
  • 部署方式

    支持项目 托管部署 和 离线部包部署 两种方式。

收费方式

  • 开发者收费方式

    个人开发者免费,适用于验证 3D 开发流程,制作 Demo 项目。

    商业开发者按年收费,商业开发者适用于开发/测试物联网 3D 项目。

  • 项目收费方式

    ThingJS 平台按项目数量计费。

    托管项目按一个项目一年授权的方式收费。

    离线部署包按项目收费。

    具体详情可点击 此处 进行了解查看。

项目托管

开发者使用项目托管,通过在线开发调试代码,在测试完成后,可一键发布,并且在有效期内可随时更新。

离线部署包

开发者在开发完成后可申请离线部署包一个月试用。试用期内可随时更新场景和代码。 测试完成后,购买永久授权码。使用永久授权码最终交付项目。而且永久授权脚本可以随时更新,更新后不需要新授权码。但是永久授权更新场景需提交审核,变动不超过 50%,1工作日内发放新授权码。

数据对接

对接的数据不用经过 ThingJS 平台,可以通过 Ajax 请求或者 WebSocket 方式获取服务器端的数据。

性能问题

网速问题

在开发过程中出现加载慢等问题时,用户可先自行检测自己的网络是否正常,我们将会提供测试页面供用户检测。如果用户在正常时间范围内未打开测试页面,那么可能是由于用户网络的问题。

场景过大

每个用户搭建的场景不同,场景内的的物体数量也不确定,当场景内物体过多时也有可能会导致场景加载缓慢,卡顿。建议采用分批次加载,分室内外加载,动态加载等方式。

运行卡

场景内物体数量过多、开启了屏幕后期特效、请求后台数据频繁都可能造成性能损耗;代码脚本出现逻辑问题、客户端机器配置低等情况也会造成场景运行卡顿。

代码逻辑问题可通过log或者debuger进行检查。

客户端配置

客户端显卡设置

目前大部分笔记本出于节电考虑,将显卡设置在集成显卡或核心显卡状态下,无法完全发挥独立显卡的优势,影响演示效果,故特此说明如何将显卡的性能调优(以NVIDIA显卡为例)。

进入NVIDIA显卡的设置界面,如下图所示:

  1. 选择“管理3D设置”中的“全局设置”,并将其设置为“高性能NVDIA处理器”;
  2. 在具体细节设置中,调整两项指标:

    各向异性过滤:调到最高(此操作主要是为了提高显卡的抗锯齿能力)

    电源管理模式:调整为“最高性能优先”(避免因为节电模式造成整机性能下降)

  3. 点击“程序设置”后,找到“Chrome”,如下图所示:
  4. 把Chrome程序所用图形处理器设置为“高性能NVDIA处理器”

VIP账号以及托管开通流程

商业开发者

在 ThingJS 开发过程中,为了享受更多的特权。我们提供了 VIP(商业开发者)特权。

  1. ThingJS 网站登录需要升级的账号;
  2. 点击跳转至“价格”页面。可查看商业开发者享受的特权,点击“立即购买”即可成为商业开发者。

项目部署

项目有两种发布方式。1.在线部署。 2.离线部署,

在线部署,是指在ThingJS平台上托管,所有的资源都放在ThingJS平台。

  1. ThingJS网站登录需要升级的账号;
  2. 点击跳转至“价格”页面。可查看项目部署对比,点击“立即购买”即可购买在线部署服务。

离线部署,是指在用户自己的服务器上进行部署。所有的资源都会下载到用户的服务器。进行离线部署,必须成为 VIP(商业开发者)

  1. ThingJS 网站登录需要升级的账号;
  2. 点击跳转至“价格”页面。可查看离线部署享受的特权,可点击联系我们,进行更多了解
  3. 也可直接点击前往控制台,找到需要进行操作的项目,点击操作,选择离线部署
  4. 在弹出框中选择“重新打包下载”,进行打包下载前,要求完整填写公司名、职位、手机、至少1项互联网联系方式(微信、QQ、邮箱),完成后点击确认下载
  5. 下载后的文件进行解压,内置离线部署包使用说明,可按照说明书进行后续相关操作。点击查看离线部署说明书
在线咨询
QQ交流群
微信公众号